/*!

JSZip v3.2.1 - A JavaScript class for generating and reading zip files
<http://stuartk.com/jszip>

(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.

JSZip uses the library pako released under the MIT license :
https://github.com/nodeca/pako/blob/master/LICENSE
*/

!function (t) { if ("object" == typeof exports && "undefined" != typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else { ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = t() } }(function () { return function s(a, o, h) { function u(r, t) { if (!o[r]) { if (!a[r]) { var e = "function" == typeof require && require; if (!t && e) return e(r, !0); if (l) return l(r, !0); var i = new Error("Cannot find module '" + r + "'"); throw i.code = "MODULE_NOT_FOUND", i } var n = o[r] = { exports: {} }; a[r][0].call(n.exports, function (t) { var e = a[r][1][t]; return u(e || t) }, n, n.exports, s, a, o, h) } return o[r].exports } for (var l = "function" == typeof require && require, t = 0; t < h.length; t++)u(h[t]); return u }({ 1: [function (t, e, r) { "use strict"; var c = t("./utils"), d = t("./support"), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; r.encode = function (t) { for (var e, r, i, n, s, a, o, h = [], u = 0, l = t.length, f = l, d = "string" !== c.getTypeOf(t); u < t.length;)f = l - u, i = d ? (e = t[u++], r = u < l ? t[u++] : 0, u < l ? t[u++] : 0) : (e = t.charCodeAt(u++), r = u < l ? t.charCodeAt(u++) : 0, u < l ? t.charCodeAt(u++) : 0), n = e >> 2, s = (3 & e) << 4 | r >> 4, a = 1 < f ? (15 & r) << 2 | i >> 6 : 64, o = 2 < f ? 63 & i : 64, h.push(p.charAt(n) + p.charAt(s) + p.charAt(a) + p.charAt(o)); return h.join("") }, r.decode = function (t) { var e, r, i, n, s, a, o = 0, h = 0, u = "data:"; if (t.substr(0, u.length) === u) throw new Error("Invalid base64 input, it looks like a data url."); var l, f = 3 * (t = t.replace(/[^A-Za-z0-9\+\/\=]/g, "")).length / 4; if (t.charAt(t.length - 1) === p.charAt(64) && f-- , t.charAt(t.length - 2) === p.charAt(64) && f-- , f % 1 != 0) throw new Error("Invalid base64 input, bad content length."); for (l = d.uint8array ? new Uint8Array(0 | f) : new Array(0 | f); o < t.length;)e = p.indexOf(t.charAt(o++)) << 2 | (n = p.indexOf(t.charAt(o++))) >> 4, r = (15 & n) << 4 | (s = p.indexOf(t.charAt(o++))) >> 2, i = (3 & s) << 6 | (a = p.indexOf(t.charAt(o++))), l[h++] = e, 64 !== s && (l[h++] = r), 64 !== a && (l[h++] = i); return l } }, { "./support": 30, "./utils": 32 }], 2: [function (t, e, r) { "use strict"; var i = t("./external"), n = t("./stream/DataWorker"), s = t("./stream/DataLengthProbe"), a = t("./stream/Crc32Probe"); s = t("./stream/DataLengthProbe"); function o(t, e, r, i, n) { this.compressedSize = t, this.uncompressedSize = e, this.crc32 = r, this.compression = i, this.compressedContent = n } o.prototype = { getContentWorker: function () { var t = new n(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")), e = this; return t.on("end", function () { if (this.streamInfo.data_length !== e.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch") }), t }, getCompressedWorker: function () { return new n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression) } }, o.createWorkerFrom = function (t, e, r) { return t.pipe(new a).pipe(new s("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new s("compressedSize")).withStreamInfo("compression", e) }, e.exports = o }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 }], 3: [function (t, e, r) { "use strict"; var i = t("./stream/GenericWorker"); r.STORE = { magic: "\0\0", compressWorker: function (t) { return new i("STORE compression") }, uncompressWorker: function () { return new i("STORE decompression") } }, r.DEFLATE = t("./flate") }, { "./flate": 7, "./stream/GenericWorker": 28 }], 4: [function (t, e, r) { "use strict"; var i = t("./utils"); var o = function () { for (var t, e = [], r = 0; r < 256; r++) { t = r; for (var i = 0; i < 8; i++)t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; e[r] = t } return e }(); e.exports = function (t, e) { return void 0 !== t && t.length ? "string" !== i.getTypeOf(t) ? function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; a < s; a++)t = t >>> 8 ^ n[255 & (t ^ e[a])]; return -1 ^ t }(0 | e, t, t.length, 0) : function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; a < s; a++)t = t >>> 8 ^ n[255 & (t ^ e.charCodeAt(a))]; return -1 ^ t }(0 | e, t, t.length, 0) : 0 } }, { "./utils": 32 }], 5: [function (t, e, r) { "use strict"; r.base64 = !1, r.binary = !1, r.dir = !1, r.createFolders = !0, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null }, {}], 6: [function (t, e, r) { "use strict"; var i = null; i = "undefined" != typeof Promise ? Promise : t("lie"), e.exports = { Promise: i } }, { lie: 37 }], 7: [function (t, e, r) { "use strict"; var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, n = t("pako"), s = t("./utils"), a = t("./stream/GenericWorker"), o = i ? "uint8array" : "array"; function h(t, e) { a.call(this, "FlateWorker/" + t), this._pako = null, this._pakoAction = t, this._pakoOptions = e, this.meta = {} } r.magic = "\b\0", s.inherits(h, a), h.prototype.processChunk = function (t) { this.meta = t.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(o, t.data), !1) }, h.prototype.flush = function () { a.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], !0) }, h.prototype.cleanUp = function () { a.prototype.cleanUp.call(this), this._pako = null }, h.prototype._createPako = function () { this._pako = new n[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 }); var e = this; this._pako.onData = function (t) { e.push({ data: t, meta: e.meta }) } }, r.compressWorker = function (t) { return new h("Deflate", t) }, r.uncompressWorker = function () { return new h("Inflate", {}) } }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 38 }], 8: [function (t, e, r) { "use strict"; function A(t, e) { var r, i = ""; for (r = 0; r < e; r++)i += String.fromCharCode(255 & t), t >>>= 8; return i } function i(t, e, r, i, n, s) { var a, o, h = t.file, u = t.compression, l = s !== O.utf8encode, f = I.transformTo("string", s(h.name)), d = I.transformTo("string", O.utf8encode(h.name)), c = h.comment, p = I.transformTo("string", s(c)), m = I.transformTo("string", O.utf8encode(c)), _ = d.length !== h.name.length, g = m.length !== c.length, b = "", v = "", y = "", w = h.dir, k = h.date, x = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; e && !r || (x.crc32 = t.crc32, x.compressedSize = t.compressedSize, x.uncompressedSize = t.uncompressedSize); var S = 0; e && (S |= 8), l || !_ && !g || (S |= 2048); var z = 0, C = 0; w && (z |= 16), "UNIX" === n ? (C = 798, z |= function (t, e) { var r = t; return t || (r = e ? 16893 : 33204), (65535 & r) << 16 }(h.unixPermissions, w)) : (C = 20, z |= function (t) { return 63 & (t || 0) }(h.dosPermissions)), a = k.getUTCHours(), a <<= 6, a |= k.getUTCMinutes(), a <<= 5, a |= k.getUTCSeconds() / 2, o = k.getUTCFullYear() - 1980, o <<= 4, o |= k.getUTCMonth() + 1, o <<= 5, o |= k.getUTCDate(), _ && (v = A(1, 1) + A(B(f), 4) + d, b += "up" + A(v.length, 2) + v), g && (y = A(1, 1) + A(B(p), 4) + m, b += "uc" + A(y.length, 2) + y); var E = ""; return E += "\n\0", E += A(S, 2), E += u.magic, E += A(a, 2), E += A(o, 2), E += A(x.crc32, 4), E += A(x.compressedSize, 4), E += A(x.uncompressedSize, 4), E += A(f.length, 2), E += A(b.length, 2), { fileRecord: R.LOCAL_FILE_HEADER + E + f + b, dirRecord: R.CENTRAL_FILE_HEADER + A(C, 2) + E + A(p.length, 2) + "\0\0\0\0" + A(z, 4) + A(i, 4) + f + b + p } } var I = t("../utils"), n = t("../stream/GenericWorker"), O = t("../utf8"), B = t("../crc32"), R = t("../signature"); function s(t, e, r, i) { n.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = e, this.zipPlatform = r, this.encodeFileName = i, this.streamFiles = t, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = [] } I.inherits(s, n), s.prototype.push = function (t) { var e = t.meta.percent || 0, r = this.entriesCount, i = this._sources.length; this.accumulate ? this.contentBuffer.push(t) : (this.bytesWritten += t.data.length, n.prototype.push.call(this, { data: t.data, meta: { currentFile: this.currentFile, percent: r ? (e + 100 * (r - i - 1)) / r : 100 } })) }, s.prototype.openedSource = function (t) { this.currentSourceOffset = this.bytesWritten, this.currentFile = t.file.name; var e = this.streamFiles && !t.file.dir; if (e) { var r = i(t, e, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); this.push({ data: r.fileRecord, meta: { percent: 0 } }) } else this.accumulate = !0 }, s.prototype.closedSource = function (t) { this.accumulate = !1; var e = this.streamFiles && !t.file.dir, r = i(t, e, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); if (this.dirRecords.push(r.dirRecord), e) this.push({ data: function (t) { return R.DATA_DESCRIPTOR + A(t.crc32, 4) + A(t.compressedSize, 4) + A(t.uncompressedSize, 4) }(t), meta: { percent: 100 } }); else for (this.push({ data: r.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length;)this.push(this.contentBuffer.shift()); this.currentFile = null }, s.prototype.flush = function () { for (var t = this.bytesWritten, e = 0; e < this.dirRecords.length; e++)this.push({ data: this.dirRecords[e], meta: { percent: 100 } }); var r = this.bytesWritten - t, i = function (t, e, r, i, n) { var s = I.transformTo("string", n(i)); return R.CENTRAL_DIRECTORY_END + "\0\0\0\0" + A(t, 2) + A(t, 2) + A(e, 4) + A(r, 4) + A(s.length, 2) + s }(this.dirRecords.length, r, t, this.zipComment, this.encodeFileName); this.push({ data: i, meta: { percent: 100 } }) }, s.prototype.prepareNextSource = function () { this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume() }, s.prototype.registerPrevious = function (t) { this._sources.push(t); var e = this; return t.on("data", function (t) { e.processChunk(t) }), t.on("end", function () { e.closedSource(e.previous.streamInfo), e._sources.length ? e.prepareNextSource() : e.end() }), t.on("error", function (t) { e.error(t) }), this }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0)) }, s.prototype.error = function (t) { var e = this._sources; if (!n.prototype.error.call(this, t)) return !1; for (var r = 0; r < e.length; r++)try { e[r].error(t) } catch (t) { } return !0 }, s.prototype.lock = function () { n.prototype.lock.call(this); for (var t = this._sources, e = 0; e < t.length; e++)t[e].lock() }, e.exports = s }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 }], 9: [function (t, e, r) { "use strict"; var u = t("../compressions"), i = t("./ZipFileWorker"); r.generateWorker = function (t, a, e) { var o = new i(a.streamFiles, e, a.platform, a.encodeFileName), h = 0; try { t.forEach(function (t, e) { h++; var r = function (t, e) { var r = t || e, i = u[r]; if (!i) throw new Error(r + " is not a valid compression method !"); return i }(e.options.compression, a.compression), i = e.options.compressionOptions || a.compressionOptions || {}, n = e.dir, s = e.date; e._compressWorker(r, i).withStreamInfo("file", { name: t, dir: n, date: s, comment: e.comment || "", unixPermissions: e.unixPermissions, dosPermissions: e.dosPermissions }).pipe(o) }), o.entriesCount = h } catch (t) { o.error(t) } return o } }, { "../compressions": 3, "./ZipFileWorker": 8 }], 10: [function (t, e, r) { "use strict"; function i() { if (!(this instanceof i)) return new i; if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); this.files = {}, this.comment = null, this.root = "", this.clone = function () { var t = new i; for (var e in this) "function" != typeof this[e] && (t[e] = this[e]); return t } } (i.prototype = t("./object")).loadAsync = t("./load"), i.support = t("./support"), i.defaults = t("./defaults"), i.version = "3.2.0", i.loadAsync = function (t, e) { return (new i).loadAsync(t, e) }, i.external = t("./external"), e.exports = i }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 }], 11: [function (t, e, r) { "use strict"; var i = t("./utils"), n = t("./external"), o = t("./utf8"), h = (i = t("./utils"), t("./zipEntries")), s = t("./stream/Crc32Probe"), u = t("./nodejsUtils"); function l(i) { return new n.Promise(function (t, e) { var r = i.decompressed.getContentWorker().pipe(new s); r.on("error", function (t) { e(t) }).on("end", function () { r.streamInfo.crc32 !== i.decompressed.crc32 ? e(new Error("Corrupted zip : CRC32 mismatch")) : t() }).resume() }) } e.exports = function (t, s) { var a = this; return s = i.extend(s || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: o.utf8decode }), u.isNode && u.isStream(t) ? n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : i.prepareContent("the loaded zip file", t, !0, s.optimizedBinaryString, s.base64).then(function (t) { var e = new h(s); return e.load(t), e }).then(function (t) { var e = [n.Promise.resolve(t)], r = t.files; if (s.checkCRC32) for (var i = 0; i < r.length; i++)e.push(l(r[i])); return n.Promise.all(e) }).then(function (t) { for (var e = t.shift(), r = e.files, i = 0; i < r.length; i++) { var n = r[i]; a.file(n.fileNameStr, n.decompressed, { binary: !0, optimizedBinaryString: !0, date: n.date, dir: n.dir, comment: n.fileCommentStr.length ? n.fileCommentStr : null, unixPermissions: n.unixPermissions, dosPermissions: n.dosPermissions, createFolders: s.createFolders }) } return e.zipComment.length && (a.comment = e.zipComment), a }) } }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 }], 12: [function (t, e, r) { "use strict"; var i = t("../utils"), n = t("../stream/GenericWorker"); function s(t, e) { n.call(this, "Nodejs stream input adapter for " + t), this._upstreamEnded = !1, this._bindStream(e) } i.inherits(s, n), s.prototype._bindStream = function (t) { var e = this; (this._stream = t).pause(), t.on("data", function (t) { e.push({ data: t, meta: { percent: 0 } }) }).on("error", function (t) { e.isPaused ? this.generatedError = t : e.error(t) }).on("end", function () { e.isPaused ? e._upstreamEnded = !0 : e.end() }) }, s.prototype.pause = function () { return !!n.prototype.pause.call(this) && (this._stream.pause(), !0) }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0) }, e.exports = s }, { "../stream/GenericWorker": 28, "../utils": 32 }], 13: [function (t, e, r) { "use strict"; var n = t("readable-stream").Readable; function i(t, e, r) { n.call(this, e), this._helper = t; var i = this; t.on("data", function (t, e) { i.push(t) || i._helper.pause(), r && r(e) }).on("error", function (t) { i.emit("error", t) }).on("end", function () { i.push(null) }) } t("../utils").inherits(i, n), i.prototype._read = function () { this._helper.resume() }, e.exports = i }, { "../utils": 32, "readable-stream": 16 }], 14: [function (t, e, r) { "use strict"; e.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function (t, e) { if (Buffer.from && Buffer.from !== Uint8Array.from) return Buffer.from(t, e); if ("number" == typeof t) throw new Error('The "data" argument must not be a number'); return new Buffer(t, e) }, allocBuffer: function (t) { if (Buffer.alloc) return Buffer.alloc(t); var e = new Buffer(t); return e.fill(0), e }, isBuffer: function (t) { return Buffer.isBuffer(t) }, isStream: function (t) { return t && "function" == typeof t.on && "function" == typeof t.pause && "function" == typeof t.resume } } }, {}], 15: [function (t, e, r) { "use strict"; function s(t, e, r) { var i, n = u.getTypeOf(e), s = u.extend(r || {}, f); s.date = s.date || new Date, null !== s.compression && (s.compression = s.compression.toUpperCase()), "string" == typeof s.unixPermissions && (s.unixPermissions = parseInt(s.unixPermissions, 8)), s.unixPermissions && 16384 & s.unixPermissions && (s.dir = !0), s.dosPermissions && 16 & s.dosPermissions && (s.dir = !0), s.dir && (t = g(t)), s.createFolders && (i = _(t)) && b.call(this, i, !0); var a = "string" === n && !1 === s.binary && !1 === s.base64; r && void 0 !== r.binary || (s.binary = !a), (e instanceof d && 0 === e.uncompressedSize || s.dir || !e || 0 === e.length) && (s.base64 = !1, s.binary = !0, e = "", s.compression = "STORE", n = "string"); var o = null; o = e instanceof d || e instanceof l ? e : p.isNode && p.isStream(e) ? new m(t, e) : u.prepareContent(t, e, s.binary, s.optimizedBinaryString, s.base64); var h = new c(t, o, s); this.files[t] = h } var n = t("./utf8"), u = t("./utils"), l = t("./stream/GenericWorker"), a = t("./stream/StreamHelper"), f = t("./defaults"), d = t("./compressedObject"), c = t("./zipObject"), o = t("./generate"), p = t("./nodejsUtils"), m = t("./nodejs/NodejsStreamInputAdapter"), _ = function (t) { "/" === t.slice(-1) && (t = t.substring(0, t.length - 1)); var e = t.lastIndexOf("/"); return 0 < e ? t.substring(0, e) : "" }, g = function (t) { return "/" !== t.slice(-1) && (t += "/"), t }, b = function (t, e) { return e = void 0 !== e ? e : f.createFolders, t = g(t), this.files[t] || s.call(this, t, null, { dir: !0, createFolders: e }), this.files[t] }; function h(t) { return "[object RegExp]" === Object.prototype.toString.call(t) } var i = { load: function () { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, forEach: function (t) { var e, r, i; for (e in this.files) this.files.hasOwnProperty(e) && (i = this.files[e], (r = e.slice(this.root.length, e.length)) && e.slice(0, this.root.length) === this.root && t(r, i)) }, filter: function (r) { var i = []; return this.forEach(function (t, e) { r(t, e) && i.push(e) }), i }, file: function (t, e, r) { if (1 !== arguments.length) return t = this.root + t, s.call(this, t, e, r), this; if (h(t)) { var i = t; return this.filter(function (t, e) { return !e.dir && i.test(t) }) } var n = this.files[this.root + t]; return n && !n.dir ? n : null }, folder: function (r) { if (!r) return this; if (h(r)) return this.filter(function (t, e) { return e.dir && r.test(t) }); var t = this.root + r, e = b.call(this, t), i = this.clone(); return i.root = e.name, i }, remove: function (r) { r = this.root + r; var t = this.files[r]; if (t || ("/" !== r.slice(-1) && (r += "/"), t = this.files[r]), t && !t.dir) delete this.files[r]; else for (var e = this.filter(function (t, e) { return e.name.slice(0, r.length) === r }), i = 0; i < e.length; i++)delete this.files[e[i].name]; return this }, generate: function (t) { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, generateInternalStream: function (t) { var e, r = {}; try { if ((r = u.extend(t || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: n.utf8encode })).type = r.type.toLowerCase(), r.compression = r.compression.toUpperCase(), "binarystring" === r.type && (r.type = "string"), !r.type) throw new Error("No output type specified."); u.checkSupport(r.type), "darwin" !== r.platform && "freebsd" !== r.platform && "linux" !== r.platform && "sunos" !== r.platform || (r.platform = "UNIX"), "win32" === r.platform && (r.platform = "DOS"); var i = r.comment || this.comment || ""; e = o.generateWorker(this, r, i) } catch (t) { (e = new l("error")).error(t) } return new a(e, r.type || "string", r.mimeType) }, generateAsync: function (t, e) { return this.generateInternalStream(t).accumulate(e) }, generateNodeStream: function (t, e) { return (t = t || {}).type || (t.type = "nodebuffer"), this.generateInternalStream(t).toNodejsStream(e) } }; e.exports = i }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 }], 16: [function (t, e, r) { e.exports = t("stream") }, { stream: void 0 }], 17: [function (t, e, r) { "use strict"; var i = t("./DataReader"); function n(t) { i.call(this, t); for (var e = 0; e < this.data.length; e++)t[e] = 255 & t[e] } t("../utils").inherits(n, i), n.prototype.byteAt = function (t) { return this.data[this.zero + t] }, n.prototype.lastIndexOfSignature = function (t) { for (var e = t.charCodeAt(0), r = t.charCodeAt(1), i = t.charCodeAt(2), n = t.charCodeAt(3), s = this.length - 4; 0 <= s; --s)if (this.data[s] === e && this.data[s + 1] === r && this.data[s + 2] === i && this.data[s + 3] === n) return s - this.zero; return -1 }, n.prototype.readAndCheckSignature = function (t) { var e = t.charCodeAt(0), r = t.charCodeAt(1), i = t.charCodeAt(2), n = t.charCodeAt(3), s = this.readData(4); return e === s[0] && r === s[1] && i === s[2] && n === s[3] }, n.prototype.readData = function (t) { if (this.checkOffset(t), 0 === t) return []; var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./DataReader": 18 }], 18: [function (t, e, r) { "use strict"; var i = t("../utils"); function n(t) { this.data = t, this.length = t.length, this.index = 0, this.zero = 0 } n.prototype = { checkOffset: function (t) { this.checkIndex(this.index + t) }, checkIndex: function (t) { if (this.length < this.zero + t || t < 0) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + t + "). Corrupted zip ?") }, setIndex: function (t) { this.checkIndex(t), this.index = t }, skip: function (t) { this.setIndex(this.index + t) }, byteAt: function (t) { }, readInt: function (t) { var e, r = 0; for (this.checkOffset(t), e = this.index + t - 1; e >= this.index; e--)r = (r << 8) + this.byteAt(e); return this.index += t, r }, readString: function (t) { return i.transformTo("string", this.readData(t)) }, readData: function (t) { }, lastIndexOfSignature: function (t) { }, readAndCheckSignature: function (t) { }, readDate: function () { var t = this.readInt(4); return new Date(Date.UTC(1980 + (t >> 25 & 127), (t >> 21 & 15) - 1, t >> 16 & 31, t >> 11 & 31, t >> 5 & 63, (31 & t) << 1)) } }, e.exports = n }, { "../utils": 32 }], 19: [function (t, e, r) { "use strict"; var i = t("./Uint8ArrayReader"); function n(t) { i.call(this, t) } t("../utils").inherits(n, i), n.prototype.readData = function (t) { this.checkOffset(t); var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./Uint8ArrayReader": 21 }], 20: [function (t, e, r) { "use strict"; var i = t("./DataReader"); function n(t) { i.call(this, t) } t("../utils").inherits(n, i), n.prototype.byteAt = function (t) { return this.data.charCodeAt(this.zero + t) }, n.prototype.lastIndexOfSignature = function (t) { return this.data.lastIndexOf(t) - this.zero }, n.prototype.readAndCheckSignature = function (t) { return t === this.readData(4) }, n.prototype.readData = function (t) { this.checkOffset(t); var e = this.data.slice(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./DataReader": 18 }], 21: [function (t, e, r) { "use strict"; var i = t("./ArrayReader"); function n(t) { i.call(this, t) } t("../utils").inherits(n, i), n.prototype.readData = function (t) { if (this.checkOffset(t), 0 === t) return new Uint8Array(0); var e = this.data.subarray(this.zero + this.index, this.zero + this.index + t); return this.index += t, e }, e.exports = n }, { "../utils": 32, "./ArrayReader": 17 }], 22: [function (t, e, r) { "use strict"; var i = t("../utils"), n = t("../support"), s = t("./ArrayReader"), a = t("./StringReader"), o = t("./NodeBufferReader"), h = t("./Uint8ArrayReader"); e.exports = function (t) { var e = i.getTypeOf(t); return i.checkSupport(e), "string" !== e || n.uint8array ? "nodebuffer" === e ? new o(t) : n.uint8array ? new h(i.transformTo("uint8array", t)) : new s(i.transformTo("array", t)) : new a(t) } }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 }], 23: [function (t, e, r) { "use strict"; r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\b" }, {}], 24: [function (t, e, r) { "use strict"; var i = t("./GenericWorker"), n = t("../utils"); function s(t) { i.call(this, "ConvertWorker to " + t), this.destType = t } n.inherits(s, i), s.prototype.processChunk = function (t) { this.push({ data: n.transformTo(this.destType, t.data), meta: t.meta }) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 25: [function (t, e, r) { "use strict"; var i = t("./GenericWorker"), n = t("../crc32"); function s() { i.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0) } t("../utils").inherits(s, i), s.prototype.processChunk = function (t) { this.streamInfo.crc32 = n(t.data, this.streamInfo.crc32 || 0), this.push(t) }, e.exports = s }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 }], 26: [function (t, e, r) { "use strict"; var i = t("../utils"), n = t("./GenericWorker"); function s(t) { n.call(this, "DataLengthProbe for " + t), this.propName = t, this.withStreamInfo(t, 0) } i.inherits(s, n), s.prototype.processChunk = function (t) { if (t) { var e = this.streamInfo[this.propName] || 0; this.streamInfo[this.propName] = e + t.data.length } n.prototype.processChunk.call(this, t) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 27: [function (t, e, r) { "use strict"; var i = t("../utils"), n = t("./GenericWorker"); function s(t) { n.call(this, "DataWorker"); var e = this; this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, t.then(function (t) { e.dataIsReady = !0, e.data = t, e.max = t && t.length || 0, e.type = i.getTypeOf(t), e.isPaused || e._tickAndRepeat() }, function (t) { e.error(t) }) } i.inherits(s, n), s.prototype.cleanUp = function () { n.prototype.cleanUp.call(this), this.data = null }, s.prototype.resume = function () { return !!n.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, i.delay(this._tickAndRepeat, [], this)), !0) }, s.prototype._tickAndRepeat = function () { this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (i.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0)) }, s.prototype._tick = function () { if (this.isPaused || this.isFinished) return !1; var t = null, e = Math.min(this.max, this.index + 16384); if (this.index >= this.max) return this.end(); switch (this.type) { case "string": t = this.data.substring(this.index, e); break; case "uint8array": t = this.data.subarray(this.index, e); break; case "array": case "nodebuffer": t = this.data.slice(this.index, e) }return this.index = e, this.push({ data: t, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }) }, e.exports = s }, { "../utils": 32, "./GenericWorker": 28 }], 28: [function (t, e, r) { "use strict"; function i(t) { this.name = t || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { data: [], end: [], error: [] }, this.previous = null } i.prototype = { push: function (t) { this.emit("data", t) }, end: function () { if (this.isFinished) return !1; this.flush(); try { this.emit("end"), this.cleanUp(), this.isFinished = !0 } catch (t) { this.emit("error", t) } return !0 }, error: function (t) { return !this.isFinished && (this.isPaused ? this.generatedError = t : (this.isFinished = !0, this.emit("error", t), this.previous && this.previous.error(t), this.cleanUp()), !0) }, on: function (t, e) { return this._listeners[t].push(e), this }, cleanUp: function () { this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = [] }, emit: function (t, e) { if (this._listeners[t]) for (var r = 0; r < this._listeners[t].length; r++)this._listeners[t][r].call(this, e) }, pipe: function (t) { return t.registerPrevious(this) }, registerPrevious: function (t) { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.streamInfo = t.streamInfo, this.mergeStreamInfo(), this.previous = t; var e = this; return t.on("data", function (t) { e.processChunk(t) }), t.on("end", function () { e.end() }), t.on("error", function (t) { e.error(t) }), this }, pause: function () { return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0) }, resume: function () { if (!this.isPaused || this.isFinished) return !1; var t = this.isPaused = !1; return this.generatedError && (this.error(this.generatedError), t = !0), this.previous && this.previous.resume(), !t }, flush: function () { }, processChunk: function (t) { this.push(t) }, withStreamInfo: function (t, e) { return this.extraStreamInfo[t] = e, this.mergeStreamInfo(), this }, mergeStreamInfo: function () { for (var t in this.extraStreamInfo) this.extraStreamInfo.hasOwnProperty(t) && (this.streamInfo[t] = this.extraStreamInfo[t]) }, lock: function () { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.isLocked = !0, this.previous && this.previous.lock() }, toString: function () { var t = "Worker " + this.name; return this.previous ? this.previous + " -> " + t : t } }, e.exports = i }, {}], 29: [function (t, e, r) { "use strict"; var h = t("../utils"), n = t("./ConvertWorker"), s = t("./GenericWorker"), u = t("../base64"), i = t("../support"), a = t("../external"), o = null; if (i.nodestream) try { o = t("../nodejs/NodejsStreamOutputAdapter") } catch (t) { } function l(t, o) { return new a.Promise(function (e, r) { var i = [], n = t._internalType, s = t._outputType, a = t._mimeType; t.on("data", function (t, e) { i.push(t), o && o(e) }).on("error", function (t) { i = [], r(t) }).on("end", function () { try { var t = function (t, e, r) { switch (t) { case "blob": return h.newBlob(h.transformTo("arraybuffer", e), r); case "base64": return u.encode(e); default: return h.transformTo(t, e) } }(s, function (t, e) { var r, i = 0, n = null, s = 0; for (r = 0; r < e.length; r++)s += e[r].length; switch (t) { case "string": return e.join(""); case "array": return Array.prototype.concat.apply([], e); case "uint8array": for (n = new Uint8Array(s), r = 0; r < e.length; r++)n.set(e[r], i), i += e[r].length; return n; case "nodebuffer": return Buffer.concat(e); default: throw new Error("concat : unsupported type '" + t + "'") } }(n, i), a); e(t) } catch (t) { r(t) } i = [] }).resume() }) } function f(t, e, r) { var i = e; switch (e) { case "blob": case "arraybuffer": i = "uint8array"; break; case "base64": i = "string" }try { this._internalType = i, this._outputType = e, this._mimeType = r, h.checkSupport(i), this._worker = t.pipe(new n(i)), t.lock() } catch (t) { this._worker = new s("error"), this._worker.error(t) } } f.prototype = { accumulate: function (t) { return l(this, t) }, on: function (t, e) { var r = this; return "data" === t ? this._worker.on(t, function (t) { e.call(r, t.data, t.meta) }) : this._worker.on(t, function () { h.delay(e, arguments, r) }), this }, resume: function () { return h.delay(this._worker.resume, [], this._worker), this }, pause: function () { return this._worker.pause(), this }, toNodejsStream: function (t) { if (h.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); return new o(this, { objectMode: "nodebuffer" !== this._outputType }, t) } }, e.exports = f }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 }], 30: [function (t, e, r) { "use strict"; if (r.base64 = !0, r.array = !0, r.string = !0, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = !1; else { var i = new ArrayBuffer(0); try { r.blob = 0 === new Blob([i], { type: "application/zip" }).size } catch (t) { try { var n = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); n.append(i), r.blob = 0 === n.getBlob("application/zip").size } catch (t) { r.blob = !1 } } } try { r.nodestream = !!t("readable-stream").Readable } catch (t) { r.nodestream = !1 } }, { "readable-stream": 16 }], 31: [function (t, e, s) { "use strict"; for (var o = t("./utils"), h = t("./support"), r = t("./nodejsUtils"), i = t("./stream/GenericWorker"), u = new Array(256), n = 0; n < 256; n++)u[n] = 252 <= n ? 6 : 248 <= n ? 5 : 240 <= n ? 4 : 224 <= n ? 3 : 192 <= n ? 2 : 1; u[254] = u[254] = 1; function a() { i.call(this, "utf-8 decode"), this.leftOver = null } function l() { i.call(this, "utf-8 encode") } s.utf8encode = function (t) { return h.nodebuffer ? r.newBufferFrom(t, "utf-8") : function (t) { var e, r, i, n, s, a = t.length, o = 0; for (n = 0; n < a; n++)55296 == (64512 & (r = t.charCodeAt(n))) && n + 1 < a && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; for (e = h.uint8array ? new Uint8Array(o) : new Array(o), n = s = 0; s < o; n++)55296 == (64512 & (r = t.charCodeAt(n))) && n + 1 < a && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), r < 128 ? e[s++] = r : (r < 2048 ? e[s++] = 192 | r >>> 6 : (r < 65536 ? e[s++] = 224 | r >>> 12 : (e[s++] = 240 | r >>> 18, e[s++] = 128 | r >>> 12 & 63), e[s++] = 128 | r >>> 6 & 63), e[s++] = 128 | 63 & r); return e }(t) }, s.utf8decode = function (t) { return h.nodebuffer ? o.transformTo("nodebuffer", t).toString("utf-8") : function (t) { var e, r, i, n, s = t.length, a = new Array(2 * s); for (e = r = 0; e < s;)if ((i = t[e++]) < 128) a[r++] = i; else if (4 < (n = u[i])) a[r++] = 65533, e += n - 1; else { for (i &= 2 === n ? 31 : 3 === n ? 15 : 7; 1 < n && e < s;)i = i << 6 | 63 & t[e++], n--; 1 < n ? a[r++] = 65533 : i < 65536 ? a[r++] = i : (i -= 65536, a[r++] = 55296 | i >> 10 & 1023, a[r++] = 56320 | 1023 & i) } return a.length !== r && (a.subarray ? a = a.subarray(0, r) : a.length = r), o.applyFromCharCode(a) }(t = o.transformTo(h.uint8array ? "uint8array" : "array", t)) }, o.inherits(a, i), a.prototype.processChunk = function (t) { var e = o.transformTo(h.uint8array ? "uint8array" : "array", t.data); if (this.leftOver && this.leftOver.length) { if (h.uint8array) { var r = e; (e = new Uint8Array(r.length + this.leftOver.length)).set(this.leftOver, 0), e.set(r, this.leftOver.length) } else e = this.leftOver.concat(e); this.leftOver = null } var i = function (t, e) { var r; for ((e = e || t.length) > t.length && (e = t.length), r = e - 1; 0 <= r && 128 == (192 & t[r]);)r--; return r < 0 ? e : 0 === r ? e : r + u[t[r]] > e ? r : e }(e), n = e; i !== e.length && (h.uint8array ? (n = e.subarray(0, i), this.leftOver = e.subarray(i, e.length)) : (n = e.slice(0, i), this.leftOver = e.slice(i, e.length))), this.push({ data: s.utf8decode(n), meta: t.meta }) }, a.prototype.flush = function () { this.leftOver && this.leftOver.length && (this.push({ data: s.utf8decode(this.leftOver), meta: {} }), this.leftOver = null) }, s.Utf8DecodeWorker = a, o.inherits(l, i), l.prototype.processChunk = function (t) { this.push({ data: s.utf8encode(t.data), meta: t.meta }) }, s.Utf8EncodeWorker = l }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 }], 32: [function (t, e, a) { "use strict"; var o = t("./support"), h = t("./base64"), r = t("./nodejsUtils"), i = t("set-immediate-shim"), u = t("./external"); function n(t) { return t } function l(t, e) { for (var r = 0; r < t.length; ++r)e[r] = 255 & t.charCodeAt(r); return e } a.newBlob = function (e, r) { a.checkSupport("blob"); try { return new Blob([e], { type: r }) } catch (t) { try { var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder); return i.append(e), i.getBlob(r) } catch (t) { throw new Error("Bug : can't construct the Blob.") } } }; var s = { stringifyByChunk: function (t, e, r) { var i = [], n = 0, s = t.length; if (s <= r) return String.fromCharCode.apply(null, t); for (; n < s;)"array" === e || "nodebuffer" === e ? i.push(String.fromCharCode.apply(null, t.slice(n, Math.min(n + r, s)))) : i.push(String.fromCharCode.apply(null, t.subarray(n, Math.min(n + r, s)))), n += r; return i.join("") }, stringifyByChar: function (t) { for (var e = "", r = 0; r < t.length; r++)e += String.fromCharCode(t[r]); return e }, applyCanBeUsed: { uint8array: function () { try { return o.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length } catch (t) { return !1 } }(), nodebuffer: function () { try { return o.nodebuffer && 1 === String.fromCharCode.apply(null, r.allocBuffer(1)).length } catch (t) { return !1 } }() } }; function f(t) { var e = 65536, r = a.getTypeOf(t), i = !0; if ("uint8array" === r ? i = s.applyCanBeUsed.uint8array : "nodebuffer" === r && (i = s.applyCanBeUsed.nodebuffer), i) for (; 1 < e;)try { return s.stringifyByChunk(t, r, e) } catch (t) { e = Math.floor(e / 2) } return s.stringifyByChar(t) } function d(t, e) { for (var r = 0; r < t.length; r++)e[r] = t[r]; return e } a.applyFromCharCode = f; var c = {}; c.string = { string: n, array: function (t) { return l(t, new Array(t.length)) }, arraybuffer: function (t) { return c.string.uint8array(t).buffer }, uint8array: function (t) { return l(t, new Uint8Array(t.length)) }, nodebuffer: function (t) { return l(t, r.allocBuffer(t.length)) } }, c.array = { string: f, array: n, arraybuffer: function (t) { return new Uint8Array(t).buffer }, uint8array: function (t) { return new Uint8Array(t) }, nodebuffer: function (t) { return r.newBufferFrom(t) } }, c.arraybuffer = { string: function (t) { return f(new Uint8Array(t)) }, array: function (t) { return d(new Uint8Array(t), new Array(t.byteLength)) }, arraybuffer: n, uint8array: function (t) { return new Uint8Array(t) }, nodebuffer: function (t) { return r.newBufferFrom(new Uint8Array(t)) } }, c.uint8array = { string: f, array: function (t) { return d(t, new Array(t.length)) }, arraybuffer: function (t) { return t.buffer }, uint8array: n, nodebuffer: function (t) { return r.newBufferFrom(t) } }, c.nodebuffer = { string: f, array: function (t) { return d(t, new Array(t.length)) }, arraybuffer: function (t) { return c.nodebuffer.uint8array(t).buffer }, uint8array: function (t) { return d(t, new Uint8Array(t.length)) }, nodebuffer: n }, a.transformTo = function (t, e) { if (e = e || "", !t) return e; a.checkSupport(t); var r = a.getTypeOf(e); return c[r][t](e) }, a.getTypeOf = function (t) { return "string" == typeof t ? "string" : "[object Array]" === Object.prototype.toString.call(t) ? "array" : o.nodebuffer && r.isBuffer(t) ? "nodebuffer" : o.uint8array && t instanceof Uint8Array ? "uint8array" : o.arraybuffer && t instanceof ArrayBuffer ? "arraybuffer" : void 0 }, a.checkSupport = function (t) { if (!o[t.toLowerCase()]) throw new Error(t + " is not supported by this platform") }, a.MAX_VALUE_16BITS = 65535, a.MAX_VALUE_32BITS = -1, a.pretty = function (t) { var e, r, i = ""; for (r = 0; r < (t || "").length; r++)i += "\\x" + ((e = t.charCodeAt(r)) < 16 ? "0" : "") + e.toString(16).toUpperCase(); return i }, a.delay = function (t, e, r) { i(function () { t.apply(r || null, e || []) }) }, a.inherits = function (t, e) { function r() { } r.prototype = e.prototype, t.prototype = new r }, a.extend = function () { var t, e, r = {}; for (t = 0; t < arguments.length; t++)for (e in arguments[t]) arguments[t].hasOwnProperty(e) && void 0 === r[e] && (r[e] = arguments[t][e]); return r }, a.prepareContent = function (r, t, i, n, s) { return u.Promise.resolve(t).then(function (i) { return o.blob && (i instanceof Blob || -1 !== ["[object File]", "[object Blob]"].indexOf(Object.prototype.toString.call(i))) && "undefined" != typeof FileReader ? new u.Promise(function (e, r) { var t = new FileReader; t.onload = function (t) { e(t.target.result) }, t.onerror = function (t) { r(t.target.error) }, t.readAsArrayBuffer(i) }) : i }).then(function (t) { var e = a.getTypeOf(t); return e ? ("arraybuffer" === e ? t = a.transformTo("uint8array", t) : "string" === e && (s ? t = h.decode(t) : i && !0 !== n && (t = function (t) { return l(t, o.uint8array ? new Uint8Array(t.length) : new Array(t.length)) }(t))), t) : u.Promise.reject(new Error("Can't read the data of '" + r + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")) }) } }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, "set-immediate-shim": 54 }], 33: [function (t, e, r) { "use strict"; var i = t("./reader/readerFor"), n = t("./utils"), s = t("./signature"), a = t("./zipEntry"), o = (t("./utf8"), t("./support")); function h(t) { this.files = [], this.loadOptions = t } h.prototype = { checkSignature: function (t) { if (!this.reader.readAndCheckSignature(t)) { this.reader.index -= 4; var e = this.reader.readString(4); throw new Error("Corrupted zip or bug: unexpected signature (" + n.pretty(e) + ", expected " + n.pretty(t) + ")") } }, isSignature: function (t, e) { var r = this.reader.index; this.reader.setIndex(t); var i = this.reader.readString(4) === e; return this.reader.setIndex(r), i }, readBlockEndOfCentral: function () { this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); var t = this.reader.readData(this.zipCommentLength), e = o.uint8array ? "uint8array" : "array", r = n.transformTo(e, t); this.zipComment = this.loadOptions.decodeFileName(r) }, readBlockZip64EndOfCentral: function () { this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; for (var t, e, r, i = this.zip64EndOfCentralSize - 44; 0 < i;)t = this.reader.readInt(2), e = this.reader.readInt(4), r = this.reader.readData(e), this.zip64ExtensibleData[t] = { id: t, length: e, value: r } }, readBlockZip64EndOfCentralLocator: function () { if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), 1 < this.disksCount) throw new Error("Multi-volumes zip are not supported") }, readLocalFiles: function () { var t, e; for (t = 0; t < this.files.length; t++)e = this.files[t], this.reader.setIndex(e.localHeaderOffset), this.checkSignature(s.LOCAL_FILE_HEADER), e.readLocalPart(this.reader), e.handleUTF8(), e.processAttributes() }, readCentralDir: function () { var t; for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(t = new a({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(t); if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length) }, readEndOfCentral: function () { var t = this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END); if (t < 0) throw !this.isSignature(0, s.LOCAL_FILE_HEADER) ? new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html") : new Error("Corrupted zip: can't find end of central directory"); this.reader.setIndex(t); var e = t; if (this.checkSignature(s.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === n.MAX_VALUE_16BITS || this.diskWithCentralDirStart === n.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === n.MAX_VALUE_16BITS || this.centralDirRecords === n.MAX_VALUE_16BITS || this.centralDirSize === n.MAX_VALUE_32BITS || this.centralDirOffset === n.MAX_VALUE_32BITS) { if (this.zip64 = !0, (t = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR)) < 0) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); if (this.reader.setIndex(t), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, s.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral() } var r = this.centralDirOffset + this.centralDirSize; this.zip64 && (r += 20, r += 12 + this.zip64EndOfCentralSize); var i = e - r; if (0 < i) this.isSignature(e, s.CENTRAL_FILE_HEADER) || (this.reader.zero = i); else if (i < 0) throw new Error("Corrupted zip: missing " + Math.abs(i) + " bytes.") }, prepareReader: function (t) { this.reader = i(t) }, load: function (t) { this.prepareReader(t), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles() } }, e.exports = h }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utf8": 31, "./utils": 32, "./zipEntry": 34 }], 34: [function (t, e, r) { "use strict"; var i = t("./reader/readerFor"), s = t("./utils"), n = t("./compressedObject"), a = t("./crc32"), o = t("./utf8"), h = t("./compressions"), u = t("./support"); function l(t, e) { this.options = t, this.loadOptions = e } l.prototype = { isEncrypted: function () { return 1 == (1 & this.bitFlag) }, useUTF8: function () { return 2048 == (2048 & this.bitFlag) }, readLocalPart: function (t) { var e, r; if (t.skip(22), this.fileNameLength = t.readInt(2), r = t.readInt(2), this.fileName = t.readData(this.fileNameLength), t.skip(r), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)"); if (null === (e = function (t) { for (var e in h) if (h.hasOwnProperty(e) && h[e].magic === t) return h[e]; return null }(this.compressionMethod))) throw new Error("Corrupted zip : compression " + s.pretty(this.compressionMethod) + " unknown (inner file : " + s.transformTo("string", this.fileName) + ")"); this.decompressed = new n(this.compressedSize, this.uncompressedSize, this.crc32, e, t.readData(this.compressedSize)) }, readCentralPart: function (t) { this.versionMadeBy = t.readInt(2), t.skip(2), this.bitFlag = t.readInt(2), this.compressionMethod = t.readString(2), this.date = t.readDate(), this.crc32 = t.readInt(4), this.compressedSize = t.readInt(4), this.uncompressedSize = t.readInt(4); var e = t.readInt(2); if (this.extraFieldsLength = t.readInt(2), this.fileCommentLength = t.readInt(2), this.diskNumberStart = t.readInt(2), this.internalFileAttributes = t.readInt(2), this.externalFileAttributes = t.readInt(4), this.localHeaderOffset = t.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); t.skip(e), this.readExtraFields(t), this.parseZIP64ExtraField(t), this.fileComment = t.readData(this.fileCommentLength) }, processAttributes: function () { this.unixPermissions = null, this.dosPermissions = null; var t = this.versionMadeBy >> 8; this.dir = !!(16 & this.externalFileAttributes), 0 == t && (this.dosPermissions = 63 & this.externalFileAttributes), 3 == t && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0) }, parseZIP64ExtraField: function (t) { if (this.extraFields[1]) { var e = i(this.extraFields[1].value); this.uncompressedSize === s.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), this.compressedSize === s.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), this.localHeaderOffset === s.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), this.diskNumberStart === s.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)) } }, readExtraFields: function (t) { var e, r, i, n = t.index + this.extraFieldsLength; for (this.extraFields || (this.extraFields = {}); t.index < n;)e = t.readInt(2), r = t.readInt(2), i = t.readData(r), this.extraFields[e] = { id: e, length: r, value: i } }, handleUTF8: function () { var t = u.uint8array ? "uint8array" : "array"; if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); else { var e = this.findExtraFieldUnicodePath(); if (null !== e) this.fileNameStr = e; else { var r = s.transformTo(t, this.fileName); this.fileNameStr = this.loadOptions.decodeFileName(r) } var i = this.findExtraFieldUnicodeComment(); if (null !== i) this.fileCommentStr = i; else { var n = s.transformTo(t, this.fileComment); this.fileCommentStr = this.loadOptions.decodeFileName(n) } } }, findExtraFieldUnicodePath: function () { var t = this.extraFields[28789]; if (t) { var e = i(t.value); return 1 !== e.readInt(1) ? null : a(this.fileName) !== e.readInt(4) ? null : o.utf8decode(e.readData(t.length - 5)) } return null }, findExtraFieldUnicodeComment: function () { var t = this.extraFields[25461]; if (t) { var e = i(t.value); return 1 !== e.readInt(1) ? null : a(this.fileComment) !== e.readInt(4) ? null : o.utf8decode(e.readData(t.length - 5)) } return null } }, e.exports = l }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 }], 35: [function (t, e, r) { "use strict"; function i(t, e, r) { this.name = t, this.dir = r.dir, this.date = r.date, this.comment = r.comment, this.unixPermissions = r.unixPermissions, this.dosPermissions = r.dosPermissions, this._data = e, this._dataBinary = r.binary, this.options = { compression: r.compression, compressionOptions: r.compressionOptions } } var s = t("./stream/StreamHelper"), n = t("./stream/DataWorker"), a = t("./utf8"), o = t("./compressedObject"), h = t("./stream/GenericWorker"); i.prototype = { internalStream: function (t) { var e = null, r = "string"; try { if (!t) throw new Error("No output type specified."); var i = "string" === (r = t.toLowerCase()) || "text" === r; "binarystring" !== r && "text" !== r || (r = "string"), e = this._decompressWorker(); var n = !this._dataBinary; n && !i && (e = e.pipe(new a.Utf8EncodeWorker)), !n && i && (e = e.pipe(new a.Utf8DecodeWorker)) } catch (t) { (e = new h("error")).error(t) } return new s(e, r, "") }, async: function (t, e) { return this.internalStream(t).accumulate(e) }, nodeStream: function (t, e) { return this.internalStream(t || "nodebuffer").toNodejsStream(e) }, _compressWorker: function (t, e) { if (this._data instanceof o && this._data.compression.magic === t.magic) return this._data.getCompressedWorker(); var r = this._decompressWorker(); return this._dataBinary || (r = r.pipe(new a.Utf8EncodeWorker)), o.createWorkerFrom(r, t, e) }, _decompressWorker: function () { return this._data instanceof o ? this._data.getContentWorker() : this._data instanceof h ? this._data : new n(this._data) } }; for (var u = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"], l = function () { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.") }, f = 0; f < u.length; f++)i.prototype[u[f]] = l; e.exports = i }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 }], 36: [function (t, l, e) { (function (e) { "use strict"; var r, i, t = e.MutationObserver || e.WebKitMutationObserver; if (t) { var n = 0, s = new t(u), a = e.document.createTextNode(""); s.observe(a, { characterData: !0 }), r = function () { a.data = n = ++n % 2 } } else if (e.setImmediate || void 0 === e.MessageChannel) r = "document" in e && "onreadystatechange" in e.document.createElement("script") ? function () { var t = e.document.createElement("script"); t.onreadystatechange = function () { u(), t.onreadystatechange = null, t.parentNode.removeChild(t), t = null }, e.document.documentElement.appendChild(t) } : function () { setTimeout(u, 0) }; else { var o = new e.MessageChannel; o.port1.onmessage = u, r = function () { o.port2.postMessage(0) } } var h = []; function u() { var t, e; i = !0; for (var r = h.length; r;) { for (e = h, h = [], t = -1; ++t < r;)e[t](); r = h.length } i = !1 } l.exports = function (t) { 1 !== h.push(t) || i || r() } }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}) }, {}], 37: [function (t, e, r) { "use strict"; var n = t("immediate"); function u() { } var l = {}, s = ["REJECTED"], a = ["FULFILLED"], i = ["PENDING"]; function o(t) { if ("function" != typeof t) throw new TypeError("resolver must be a function"); this.state = i, this.queue = [], this.outcome = void 0, t !== u && c(this, t) } function h(t, e, r) { this.promise = t, "function" == typeof e && (this.onFulfilled = e, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r && (this.onRejected = r, this.callRejected = this.otherCallRejected) } function f(e, r, i) { n(function () { var t; try { t = r(i) } catch (t) { return l.reject(e, t) } t === e ? l.reject(e, new TypeError("Cannot resolve promise with itself")) : l.resolve(e, t) }) } function d(t) { var e = t && t.then; if (t && ("object" == typeof t || "function" == typeof t) && "function" == typeof e) return function () { e.apply(t, arguments) } } function c(e, t) { var r = !1; function i(t) { r || (r = !0, l.reject(e, t)) } function n(t) { r || (r = !0, l.resolve(e, t)) } var s = p(function () { t(n, i) }); "error" === s.status && i(s.value) } function p(t, e) { var r = {}; try { r.value = t(e), r.status = "success" } catch (t) { r.status = "error", r.value = t } return r } (e.exports = o).prototype.finally = function (e) { if ("function" != typeof e) return this; var r = this.constructor; return this.then(function (t) { return r.resolve(e()).then(function () { return t }) }, function (t) { return r.resolve(e()).then(function () { throw t }) }) }, o.prototype.catch = function (t) { return this.then(null, t) }, o.prototype.then = function (t, e) { if ("function" != typeof t && this.state === a || "function" != typeof e && this.state === s) return this; var r = new this.constructor(u); this.state !== i ? f(r, this.state === a ? t : e, this.outcome) : this.queue.push(new h(r, t, e)); return r }, h.prototype.callFulfilled = function (t) { l.resolve(this.promise, t) }, h.prototype.otherCallFulfilled = function (t) { f(this.promise, this.onFulfilled, t) }, h.prototype.callRejected = function (t) { l.reject(this.promise, t) }, h.prototype.otherCallRejected = function (t) { f(this.promise, this.onRejected, t) }, l.resolve = function (t, e) { var r = p(d, e); if ("error" === r.status) return l.reject(t, r.value); var i = r.value; if (i) c(t, i); else { t.state = a, t.outcome = e; for (var n = -1, s = t.queue.length; ++n < s;)t.queue[n].callFulfilled(e) } return t }, l.reject = function (t, e) { t.state = s, t.outcome = e; for (var r = -1, i = t.queue.length; ++r < i;)t.queue[r].callRejected(e); return t }, o.resolve = function (t) { if (t instanceof this) return t; return l.resolve(new this(u), t) }, o.reject = function (t) { var e = new this(u); return l.reject(e, t) }, o.all = function (t) { var r = this; if ("[object Array]" !== Object.prototype.toString.call(t)) return this.reject(new TypeError("must be an array")); var i = t.length, n = !1; if (!i) return this.resolve([]); var s = new Array(i), a = 0, e = -1, o = new this(u); for (; ++e < i;)h(t[e], e); return o; function h(t, e) { r.resolve(t).then(function (t) { s[e] = t, ++a !== i || n || (n = !0, l.resolve(o, s)) }, function (t) { n || (n = !0, l.reject(o, t)) }) } }, o.race = function (t) { var e = this; if ("[object Array]" !== Object.prototype.toString.call(t)) return this.reject(new TypeError("must be an array")); var r = t.length, i = !1; if (!r) return this.resolve([]); var n = -1, s = new this(u); for (; ++n < r;)a = t[n], e.resolve(a).then(function (t) { i || (i = !0, l.resolve(s, t)) }, function (t) { i || (i = !0, l.reject(s, t)) }); var a; return s } }, { immediate: 36 }], 38: [function (t, e, r) { "use strict"; var i = {}; (0, t("./lib/utils/common").assign)(i, t("./lib/deflate"), t("./lib/inflate"), t("./lib/zlib/constants")), e.exports = i }, { "./lib/deflate": 39, "./lib/inflate": 40, "./lib/utils/common": 41, "./lib/zlib/constants": 44 }], 39: [function (t, e, r) { "use strict"; var a = t("./zlib/deflate"), o = t("./utils/common"), h = t("./utils/strings"), n = t("./zlib/messages"), s = t("./zlib/zstream"), u = Object.prototype.toString, l = 0, f = -1, d = 0, c = 8; function p(t) { if (!(this instanceof p)) return new p(t); this.options = o.assign({ level: f, method: c, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: d, to: "" }, t || {}); var e = this.options; e.raw && 0 < e.windowBits ? e.windowBits = -e.windowBits : e.gzip && 0 < e.windowBits && e.windowBits < 16 && (e.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new s, this.strm.avail_out = 0; var r = a.deflateInit2(this.strm, e.level, e.method, e.windowBits, e.memLevel, e.strategy); if (r !== l) throw new Error(n[r]); if (e.header && a.deflateSetHeader(this.strm, e.header), e.dictionary) { var i; if (i = "string" == typeof e.dictionary ? h.string2buf(e.dictionary) : "[object ArrayBuffer]" === u.call(e.dictionary) ? new Uint8Array(e.dictionary) : e.dictionary, (r = a.deflateSetDictionary(this.strm, i)) !== l) throw new Error(n[r]); this._dict_set = !0 } } function i(t, e) { var r = new p(e); if (r.push(t, !0), r.err) throw r.msg || n[r.err]; return r.result } p.prototype.push = function (t, e) { var r, i, n = this.strm, s = this.options.chunkSize; if (this.ended) return !1; i = e === ~~e ? e : !0 === e ? 4 : 0, "string" == typeof t ? n.input = h.string2buf(t) : "[object ArrayBuffer]" === u.call(t) ? n.input = new Uint8Array(t) : n.input = t, n.next_in = 0, n.avail_in = n.input.length; do { if (0 === n.avail_out && (n.output = new o.Buf8(s), n.next_out = 0, n.avail_out = s), 1 !== (r = a.deflate(n, i)) && r !== l) return this.onEnd(r), !(this.ended = !0); 0 !== n.avail_out && (0 !== n.avail_in || 4 !== i && 2 !== i) || ("string" === this.options.to ? this.onData(h.buf2binstring(o.shrinkBuf(n.output, n.next_out))) : this.onData(o.shrinkBuf(n.output, n.next_out))) } while ((0 < n.avail_in || 0 === n.avail_out) && 1 !== r); return 4 === i ? (r = a.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === l) : 2 !== i || (this.onEnd(l), !(n.avail_out = 0)) }, p.prototype.onData = function (t) { this.chunks.push(t) }, p.prototype.onEnd = function (t) { t === l && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = o.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg }, r.Deflate = p, r.deflate = i, r.deflateRaw = function (t, e) { return (e = e || {}).raw = !0, i(t, e) }, r.gzip = function (t, e) { return (e = e || {}).gzip = !0, i(t, e) } }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/deflate": 46, "./zlib/messages": 51, "./zlib/zstream": 53 }], 40: [function (t, e, r) { "use strict"; var d = t("./zlib/inflate"), c = t("./utils/common"), p = t("./utils/strings"), m = t("./zlib/constants"), i = t("./zlib/messages"), n = t("./zlib/zstream"), s = t("./zlib/gzheader"), _ = Object.prototype.toString; function a(t) { if (!(this instanceof a)) return new a(t); this.options = c.assign({ chunkSize: 16384, windowBits: 0, to: "" }, t || {}); var e = this.options; e.raw && 0 <= e.windowBits && e.windowBits < 16 && (e.windowBits = -e.windowBits, 0 === e.windowBits && (e.windowBits = -15)), !(0 <= e.windowBits && e.windowBits < 16) || t && t.windowBits || (e.windowBits += 32), 15 < e.windowBits && e.windowBits < 48 && 0 == (15 & e.windowBits) && (e.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new n, this.strm.avail_out = 0; var r = d.inflateInit2(this.strm, e.windowBits); if (r !== m.Z_OK) throw new Error(i[r]); this.header = new s, d.inflateGetHeader(this.strm, this.header) } function o(t, e) { var r = new a(e); if (r.push(t, !0), r.err) throw r.msg || i[r.err]; return r.result } a.prototype.push = function (t, e) { var r, i, n, s, a, o, h = this.strm, u = this.options.chunkSize, l = this.options.dictionary, f = !1; if (this.ended) return !1; i = e === ~~e ? e : !0 === e ? m.Z_FINISH : m.Z_NO_FLUSH, "string" == typeof t ? h.input = p.binstring2buf(t) : "[object ArrayBuffer]" === _.call(t) ? h.input = new Uint8Array(t) : h.input = t, h.next_in = 0, h.avail_in = h.input.length; do { if (0 === h.avail_out && (h.output = new c.Buf8(u), h.next_out = 0, h.avail_out = u), (r = d.inflate(h, m.Z_NO_FLUSH)) === m.Z_NEED_DICT && l && (o = "string" == typeof l ? p.string2buf(l) : "[object ArrayBuffer]" === _.call(l) ? new Uint8Array(l) : l, r = d.inflateSetDictionary(this.strm, o)), r === m.Z_BUF_ERROR && !0 === f && (r = m.Z_OK, f = !1), r !== m.Z_STREAM_END && r !== m.Z_OK) return this.onEnd(r), !(this.ended = !0); h.next_out && (0 !== h.avail_out && r !== m.Z_STREAM_END && (0 !== h.avail_in || i !== m.Z_FINISH && i !== m.Z_SYNC_FLUSH) || ("string" === this.options.to ? (n = p.utf8border(h.output, h.next_out), s = h.next_out - n, a = p.buf2string(h.output, n), h.next_out = s, h.avail_out = u - s, s && c.arraySet(h.output, h.output, n, s, 0), this.onData(a)) : this.onData(c.shrinkBuf(h.output, h.next_out)))), 0 === h.avail_in && 0 === h.avail_out && (f = !0) } while ((0 < h.avail_in || 0 === h.avail_out) && r !== m.Z_STREAM_END); return r === m.Z_STREAM_END && (i = m.Z_FINISH), i === m.Z_FINISH ? (r = d.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === m.Z_OK) : i !== m.Z_SYNC_FLUSH || (this.onEnd(m.Z_OK), !(h.avail_out = 0)) }, a.prototype.onData = function (t) { this.chunks.push(t) }, a.prototype.onEnd = function (t) { t === m.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = c.flattenChunks(this.chunks)), this.chunks = [], this.err = t, this.msg = this.strm.msg }, r.Inflate = a, r.inflate = o, r.inflateRaw = function (t, e) { return (e = e || {}).raw = !0, o(t, e) }, r.ungzip = o }, { "./utils/common": 41, "./utils/strings": 42, "./zlib/constants": 44, "./zlib/gzheader": 47, "./zlib/inflate": 49, "./zlib/messages": 51, "./zlib/zstream": 53 }], 41: [function (t, e, r) { "use strict"; var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; r.assign = function (t) { for (var e = Array.prototype.slice.call(arguments, 1); e.length;) { var r = e.shift(); if (r) { if ("object" != typeof r) throw new TypeError(r + "must be non-object"); for (var i in r) r.hasOwnProperty(i) && (t[i] = r[i]) } } return t }, r.shrinkBuf = function (t, e) { return t.length === e ? t : t.subarray ? t.subarray(0, e) : (t.length = e, t) }; var n = { arraySet: function (t, e, r, i, n) { if (e.subarray && t.subarray) t.set(e.subarray(r, r + i), n); else for (var s = 0; s < i; s++)t[n + s] = e[r + s] }, flattenChunks: function (t) { var e, r, i, n, s, a; for (e = i = 0, r = t.length; e < r; e++)i += t[e].length; for (a = new Uint8Array(i), e = n = 0, r = t.length; e < r; e++)s = t[e], a.set(s, n), n += s.length; return a } }, s = { arraySet: function (t, e, r, i, n) { for (var s = 0; s < i; s++)t[n + s] = e[r + s] }, flattenChunks: function (t) { return [].concat.apply([], t) } }; r.setTyped = function (t) { t ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, n)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, s)) }, r.setTyped(i) }, {}], 42: [function (t, e, r) { "use strict"; var h = t("./common"), n = !0, s = !0; try { String.fromCharCode.apply(null, [0]) } catch (t) { n = !1 } try { String.fromCharCode.apply(null, new Uint8Array(1)) } catch (t) { s = !1 } for (var u = new h.Buf8(256), i = 0; i < 256; i++)u[i] = 252 <= i ? 6 : 248 <= i ? 5 : 240 <= i ? 4 : 224 <= i ? 3 : 192 <= i ? 2 : 1; function l(t, e) { if (e < 65537 && (t.subarray && s || !t.subarray && n)) return String.fromCharCode.apply(null, h.shrinkBuf(t, e)); for (var r = "", i = 0; i < e; i++)r += String.fromCharCode(t[i]); return r } u[254] = u[254] = 1, r.string2buf = function (t) { var e, r, i, n, s, a = t.length, o = 0; for (n = 0; n < a; n++)55296 == (64512 & (r = t.charCodeAt(n))) && n + 1 < a && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), o += r < 128 ? 1 : r < 2048 ? 2 : r < 65536 ? 3 : 4; for (e = new h.Buf8(o), n = s = 0; s < o; n++)55296 == (64512 & (r = t.charCodeAt(n))) && n + 1 < a && 56320 == (64512 & (i = t.charCodeAt(n + 1))) && (r = 65536 + (r - 55296 << 10) + (i - 56320), n++), r < 128 ? e[s++] = r : (r < 2048 ? e[s++] = 192 | r >>> 6 : (r < 65536 ? e[s++] = 224 | r >>> 12 : (e[s++] = 240 | r >>> 18, e[s++] = 128 | r >>> 12 & 63), e[s++] = 128 | r >>> 6 & 63), e[s++] = 128 | 63 & r); return e }, r.buf2binstring = function (t) { return l(t, t.length) }, r.binstring2buf = function (t) { for (var e = new h.Buf8(t.length), r = 0, i = e.length; r < i; r++)e[r] = t.charCodeAt(r); return e }, r.buf2string = function (t, e) { var r, i, n, s, a = e || t.length, o = new Array(2 * a); for (r = i = 0; r < a;)if ((n = t[r++]) < 128) o[i++] = n; else if (4 < (s = u[n])) o[i++] = 65533, r += s - 1; else { for (n &= 2 === s ? 31 : 3 === s ? 15 : 7; 1 < s && r < a;)n = n << 6 | 63 & t[r++], s--; 1 < s ? o[i++] = 65533 : n < 65536 ? o[i++] = n : (n -= 65536, o[i++] = 55296 | n >> 10 & 1023, o[i++] = 56320 | 1023 & n) } return l(o, i) }, r.utf8border = function (t, e) { var r; for ((e = e || t.length) > t.length && (e = t.length), r = e - 1; 0 <= r && 128 == (192 & t[r]);)r--; return r < 0 ? e : 0 === r ? e : r + u[t[r]] > e ? r : e } }, { "./common": 41 }], 43: [function (t, e, r) { "use strict"; e.exports = function (t, e, r, i) { for (var n = 65535 & t | 0, s = t >>> 16 & 65535 | 0, a = 0; 0 !== r;) { for (r -= a = 2e3 < r ? 2e3 : r; s = s + (n = n + e[i++] | 0) | 0, --a;); n %= 65521, s %= 65521 } return n | s << 16 | 0 } }, {}], 44: [function (t, e, r) { "use strict"; e.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 } }, {}], 45: [function (t, e, r) { "use strict"; var o = function () { for (var t, e = [], r = 0; r < 256; r++) { t = r; for (var i = 0; i < 8; i++)t = 1 & t ? 3988292384 ^ t >>> 1 : t >>> 1; e[r] = t } return e }(); e.exports = function (t, e, r, i) { var n = o, s = i + r; t ^= -1; for (var a = i; a < s; a++)t = t >>> 8 ^ n[255 & (t ^ e[a])]; return -1 ^ t } }, {}], 46: [function (t, e, r) { "use strict"; var h, d = t("../utils/common"), u = t("./trees"), c = t("./adler32"), p = t("./crc32"), i = t("./messages"), l = 0, f = 4, m = 0, _ = -2, g = -1, b = 4, n = 2, v = 8, y = 9, s = 286, a = 30, o = 19, w = 2 * s + 1, k = 15, x = 3, S = 258, z = S + x + 1, C = 42, E = 113, A = 1, I = 2, O = 3, B = 4; function R(t, e) { return t.msg = i[e], e } function T(t) { return (t << 1) - (4 < t ? 9 : 0) } function D(t) { for (var e = t.length; 0 <= --e;)t[e] = 0 } function F(t) { var e = t.state, r = e.pending; r > t.avail_out && (r = t.avail_out), 0 !== r && (d.arraySet(t.output, e.pending_buf, e.pending_out, r, t.next_out), t.next_out += r, e.pending_out += r, t.total_out += r, t.avail_out -= r, e.pending -= r, 0 === e.pending && (e.pending_out = 0)) } function N(t, e) { u._tr_flush_block(t, 0 <= t.block_start ? t.block_start : -1, t.strstart - t.block_start, e), t.block_start = t.strstart, F(t.strm) } function U(t, e) { t.pending_buf[t.pending++] = e } function P(t, e) { t.pending_buf[t.pending++] = e >>> 8 & 255, t.pending_buf[t.pending++] = 255 & e } function L(t, e) { var r, i, n = t.max_chain_length, s = t.strstart, a = t.prev_length, o = t.nice_match, h = t.strstart > t.w_size - z ? t.strstart - (t.w_size - z) : 0, u = t.window, l = t.w_mask, f = t.prev, d = t.strstart + S, c = u[s + a - 1], p = u[s + a]; t.prev_length >= t.good_match && (n >>= 2), o > t.lookahead && (o = t.lookahead); do { if (u[(r = e) + a] === p && u[r + a - 1] === c && u[r] === u[s] && u[++r] === u[s + 1]) { s += 2, r++; do { } while (u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && u[++s] === u[++r] && s < d); if (i = S - (d - s), s = d - S, a < i) { if (t.match_start = e, o <= (a = i)) break; c = u[s + a - 1], p = u[s + a] } } } while ((e = f[e & l]) > h && 0 != --n); return a <= t.lookahead ? a : t.lookahead } function j(t) { var e, r, i, n, s, a, o, h, u, l, f = t.w_size; do { if (n = t.window_size - t.lookahead - t.strstart, t.strstart >= f + (f - z)) { for (d.arraySet(t.window, t.window, f, f, 0), t.match_start -= f, t.strstart -= f, t.block_start -= f, e = r = t.hash_size; i = t.head[--e], t.head[e] = f <= i ? i - f : 0, --r;); for (e = r = f; i = t.prev[--e], t.prev[e] = f <= i ? i - f : 0, --r;); n += f } if (0 === t.strm.avail_in) break; if (a = t.strm, o = t.window, h = t.strstart + t.lookahead, u = n, l = void 0, l = a.avail_in, u < l && (l = u), r = 0 === l ? 0 : (a.avail_in -= l, d.arraySet(o, a.input, a.next_in, l, h), 1 === a.state.wrap ? a.adler = c(a.adler, o, l, h) : 2 === a.state.wrap && (a.adler = p(a.adler, o, l, h)), a.next_in += l, a.total_in += l, l), t.lookahead += r, t.lookahead + t.insert >= x) for (s = t.strstart - t.insert, t.ins_h = t.window[s], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[s + 1]) & t.hash_mask; t.insert && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[s + x - 1]) & t.hash_mask, t.prev[s & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = s, s++ , t.insert-- , !(t.lookahead + t.insert < x));); } while (t.lookahead < z && 0 !== t.strm.avail_in) } function Z(t, e) { for (var r, i; ;) { if (t.lookahead < z) { if (j(t), t.lookahead < z && e === l) return A; if (0 === t.lookahead) break } if (r = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 !== r && t.strstart - r <= t.w_size - z && (t.match_length = L(t, r)), t.match_length >= x) if (i = u._tr_tally(t, t.strstart - t.match_start, t.match_length - x), t.lookahead -= t.match_length, t.match_length <= t.max_lazy_match && t.lookahead >= x) { for (t.match_length--; t.strstart++ , t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart, 0 != --t.match_length;); t.strstart++ } else t.strstart += t.match_length, t.match_length = 0, t.ins_h = t.window[t.strstart], t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + 1]) & t.hash_mask; else i = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead-- , t.strstart++; if (i && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I } function W(t, e) { for (var r, i, n; ;) { if (t.lookahead < z) { if (j(t), t.lookahead < z && e === l) return A; if (0 === t.lookahead) break } if (r = 0, t.lookahead >= x && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), t.prev_length = t.match_length, t.prev_match = t.match_start, t.match_length = x - 1, 0 !== r && t.prev_length < t.max_lazy_match && t.strstart - r <= t.w_size - z && (t.match_length = L(t, r), t.match_length <= 5 && (1 === t.strategy || t.match_length === x && 4096 < t.strstart - t.match_start) && (t.match_length = x - 1)), t.prev_length >= x && t.match_length <= t.prev_length) { for (n = t.strstart + t.lookahead - x, i = u._tr_tally(t, t.strstart - 1 - t.prev_match, t.prev_length - x), t.lookahead -= t.prev_length - 1, t.prev_length -= 2; ++t.strstart <= n && (t.ins_h = (t.ins_h << t.hash_shift ^ t.window[t.strstart + x - 1]) & t.hash_mask, r = t.prev[t.strstart & t.w_mask] = t.head[t.ins_h], t.head[t.ins_h] = t.strstart), 0 != --t.prev_length;); if (t.match_available = 0, t.match_length = x - 1, t.strstart++ , i && (N(t, !1), 0 === t.strm.avail_out)) return A } else if (t.match_available) { if ((i = u._tr_tally(t, 0, t.window[t.strstart - 1])) && N(t, !1), t.strstart++ , t.lookahead-- , 0 === t.strm.avail_out) return A } else t.match_available = 1, t.strstart++ , t.lookahead-- } return t.match_available && (i = u._tr_tally(t, 0, t.window[t.strstart - 1]), t.match_available = 0), t.insert = t.strstart < x - 1 ? t.strstart : x - 1, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I } function M(t, e, r, i, n) { this.good_length = t, this.max_lazy = e, this.nice_length = r, this.max_chain = i, this.func = n } function H() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = v, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new d.Buf16(2 * w), this.dyn_dtree = new d.Buf16(2 * (2 * a + 1)), this.bl_tree = new d.Buf16(2 * (2 * o + 1)), D(this.dyn_ltree), D(this.dyn_dtree), D(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new d.Buf16(k + 1), this.heap = new d.Buf16(2 * s + 1), D(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new d.Buf16(2 * s + 1), D(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0 } function G(t) { var e; return t && t.state ? (t.total_in = t.total_out = 0, t.data_type = n, (e = t.state).pending = 0, e.pending_out = 0, e.wrap < 0 && (e.wrap = -e.wrap), e.status = e.wrap ? C : E, t.adler = 2 === e.wrap ? 0 : 1, e.last_flush = l, u._tr_init(e), m) : R(t, _) } function K(t) { var e = G(t); return e === m && function (t) { t.window_size = 2 * t.w_size, D(t.head), t.max_lazy_match = h[t.level].max_lazy, t.good_match = h[t.level].good_length, t.nice_match = h[t.level].nice_length, t.max_chain_length = h[t.level].max_chain, t.strstart = 0, t.block_start = 0, t.lookahead = 0, t.insert = 0, t.match_length = t.prev_length = x - 1, t.match_available = 0, t.ins_h = 0 }(t.state), e } function Y(t, e, r, i, n, s) { if (!t) return _; var a = 1; if (e === g && (e = 6), i < 0 ? (a = 0, i = -i) : 15 < i && (a = 2, i -= 16), n < 1 || y < n || r !== v || i < 8 || 15 < i || e < 0 || 9 < e || s < 0 || b < s) return R(t, _); 8 === i && (i = 9); var o = new H; return (t.state = o).strm = t, o.wrap = a, o.gzhead = null, o.w_bits = i, o.w_size = 1 << o.w_bits, o.w_mask = o.w_size - 1, o.hash_bits = n + 7, o.hash_size = 1 << o.hash_bits, o.hash_mask = o.hash_size - 1, o.hash_shift = ~~((o.hash_bits + x - 1) / x), o.window = new d.Buf8(2 * o.w_size), o.head = new d.Buf16(o.hash_size), o.prev = new d.Buf16(o.w_size), o.lit_bufsize = 1 << n + 6, o.pending_buf_size = 4 * o.lit_bufsize, o.pending_buf = new d.Buf8(o.pending_buf_size), o.d_buf = 1 * o.lit_bufsize, o.l_buf = 3 * o.lit_bufsize, o.level = e, o.strategy = s, o.method = r, K(t) } h = [new M(0, 0, 0, 0, function (t, e) { var r = 65535; for (r > t.pending_buf_size - 5 && (r = t.pending_buf_size - 5); ;) { if (t.lookahead <= 1) { if (j(t), 0 === t.lookahead && e === l) return A; if (0 === t.lookahead) break } t.strstart += t.lookahead, t.lookahead = 0; var i = t.block_start + r; if ((0 === t.strstart || t.strstart >= i) && (t.lookahead = t.strstart - i, t.strstart = i, N(t, !1), 0 === t.strm.avail_out)) return A; if (t.strstart - t.block_start >= t.w_size - z && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : (t.strstart > t.block_start && (N(t, !1), t.strm.avail_out), A) }), new M(4, 4, 8, 4, Z), new M(4, 5, 16, 8, Z), new M(4, 6, 32, 32, Z), new M(4, 4, 16, 16, W), new M(8, 16, 32, 32, W), new M(8, 16, 128, 128, W), new M(8, 32, 128, 256, W), new M(32, 128, 258, 1024, W), new M(32, 258, 258, 4096, W)], r.deflateInit = function (t, e) { return Y(t, e, v, 15, 8, 0) }, r.deflateInit2 = Y, r.deflateReset = K, r.deflateResetKeep = G, r.deflateSetHeader = function (t, e) { return t && t.state ? 2 !== t.state.wrap ? _ : (t.state.gzhead = e, m) : _ }, r.deflate = function (t, e) { var r, i, n, s; if (!t || !t.state || 5 < e || e < 0) return t ? R(t, _) : _; if (i = t.state, !t.output || !t.input && 0 !== t.avail_in || 666 === i.status && e !== f) return R(t, 0 === t.avail_out ? -5 : _); if (i.strm = t, r = i.last_flush, i.last_flush = e, i.status === C) if (2 === i.wrap) t.adler = 0, U(i, 31), U(i, 139), U(i, 8), i.gzhead ? (U(i, (i.gzhead.text ? 1 : 0) + (i.gzhead.hcrc ? 2 : 0) + (i.gzhead.extra ? 4 : 0) + (i.gzhead.name ? 8 : 0) + (i.gzhead.comment ? 16 : 0)), U(i, 255 & i.gzhead.time), U(i, i.gzhead.time >> 8 & 255), U(i, i.gzhead.time >> 16 & 255), U(i, i.gzhead.time >> 24 & 255), U(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), U(i, 255 & i.gzhead.os), i.gzhead.extra && i.gzhead.extra.length && (U(i, 255 & i.gzhead.extra.length), U(i, i.gzhead.extra.length >> 8 & 255)), i.gzhead.hcrc && (t.adler = p(t.adler, i.pending_buf, i.pending, 0)), i.gzindex = 0, i.status = 69) : (U(i, 0), U(i, 0), U(i, 0), U(i, 0), U(i, 0), U(i, 9 === i.level ? 2 : 2 <= i.strategy || i.level < 2 ? 4 : 0), U(i, 3), i.status = E); else { var a = v + (i.w_bits - 8 << 4) << 8; a |= (2 <= i.strategy || i.level < 2 ? 0 : i.level < 6 ? 1 : 6 === i.level ? 2 : 3) << 6, 0 !== i.strstart && (a |= 32), a += 31 - a % 31, i.status = E, P(i, a), 0 !== i.strstart && (P(i, t.adler >>> 16), P(i, 65535 & t.adler)), t.adler = 1 } if (69 === i.status) if (i.gzhead.extra) { for (n = i.pending; i.gzindex < (65535 & i.gzhead.extra.length) && (i.pending !== i.pending_buf_size || (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending !== i.pending_buf_size));)U(i, 255 & i.gzhead.extra[i.gzindex]), i.gzindex++; i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), i.gzindex === i.gzhead.extra.length && (i.gzindex = 0, i.status = 73) } else i.status = 73; if (73 === i.status) if (i.gzhead.name) { n = i.pending; do { if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending === i.pending_buf_size)) { s = 1; break } s = i.gzindex < i.gzhead.name.length ? 255 & i.gzhead.name.charCodeAt(i.gzindex++) : 0, U(i, s) } while (0 !== s); i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), 0 === s && (i.gzindex = 0, i.status = 91) } else i.status = 91; if (91 === i.status) if (i.gzhead.comment) { n = i.pending; do { if (i.pending === i.pending_buf_size && (i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), F(t), n = i.pending, i.pending === i.pending_buf_size)) { s = 1; break } s = i.gzindex < i.gzhead.comment.length ? 255 & i.gzhead.comment.charCodeAt(i.gzindex++) : 0, U(i, s) } while (0 !== s); i.gzhead.hcrc && i.pending > n && (t.adler = p(t.adler, i.pending_buf, i.pending - n, n)), 0 === s && (i.status = 103) } else i.status = 103; if (103 === i.status && (i.gzhead.hcrc ? (i.pending + 2 > i.pending_buf_size && F(t), i.pending + 2 <= i.pending_buf_size && (U(i, 255 & t.adler), U(i, t.adler >> 8 & 255), t.adler = 0, i.status = E)) : i.status = E), 0 !== i.pending) { if (F(t), 0 === t.avail_out) return i.last_flush = -1, m } else if (0 === t.avail_in && T(e) <= T(r) && e !== f) return R(t, -5); if (666 === i.status && 0 !== t.avail_in) return R(t, -5); if (0 !== t.avail_in || 0 !== i.lookahead || e !== l && 666 !== i.status) { var o = 2 === i.strategy ? function (t, e) { for (var r; ;) { if (0 === t.lookahead && (j(t), 0 === t.lookahead)) { if (e === l) return A; break } if (t.match_length = 0, r = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead-- , t.strstart++ , r && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I }(i, e) : 3 === i.strategy ? function (t, e) { for (var r, i, n, s, a = t.window; ;) { if (t.lookahead <= S) { if (j(t), t.lookahead <= S && e === l) return A; if (0 === t.lookahead) break } if (t.match_length = 0, t.lookahead >= x && 0 < t.strstart && (i = a[n = t.strstart - 1]) === a[++n] && i === a[++n] && i === a[++n]) { s = t.strstart + S; do { } while (i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && i === a[++n] && n < s); t.match_length = S - (s - n), t.match_length > t.lookahead && (t.match_length = t.lookahead) } if (t.match_length >= x ? (r = u._tr_tally(t, 1, t.match_length - x), t.lookahead -= t.match_length, t.strstart += t.match_length, t.match_length = 0) : (r = u._tr_tally(t, 0, t.window[t.strstart]), t.lookahead-- , t.strstart++), r && (N(t, !1), 0 === t.strm.avail_out)) return A } return t.insert = 0, e === f ? (N(t, !0), 0 === t.strm.avail_out ? O : B) : t.last_lit && (N(t, !1), 0 === t.strm.avail_out) ? A : I }(i, e) : h[i.level].func(i, e); if (o !== O && o !== B || (i.status = 666), o === A || o === O) return 0 === t.avail_out && (i.last_flush = -1), m; if (o === I && (1 === e ? u._tr_align(i) : 5 !== e && (u._tr_stored_block(i, 0, 0, !1), 3 === e && (D(i.head), 0 === i.lookahead && (i.strstart = 0, i.block_start = 0, i.insert = 0))), F(t), 0 === t.avail_out)) return i.last_flush = -1, m } return e !== f ? m : i.wrap <= 0 ? 1 : (2 === i.wrap ? (U(i, 255 & t.adler), U(i, t.adler >> 8 & 255), U(i, t.adler >> 16 & 255), U(i, t.adler >> 24 & 255), U(i, 255 & t.total_in), U(i, t.total_in >> 8 & 255), U(i, t.total_in >> 16 & 255), U(i, t.total_in >> 24 & 255)) : (P(i, t.adler >>> 16), P(i, 65535 & t.adler)), F(t), 0 < i.wrap && (i.wrap = -i.wrap), 0 !== i.pending ? m : 1) }, r.deflateEnd = function (t) { var e; return t && t.state ? (e = t.state.status) !== C && 69 !== e && 73 !== e && 91 !== e && 103 !== e && e !== E && 666 !== e ? R(t, _) : (t.state = null, e === E ? R(t, -3) : m) : _ }, r.deflateSetDictionary = function (t, e) { var r, i, n, s, a, o, h, u, l = e.length; if (!t || !t.state) return _; if (2 === (s = (r = t.state).wrap) || 1 === s && r.status !== C || r.lookahead) return _; for (1 === s && (t.adler = c(t.adler, e, l, 0)), r.wrap = 0, l >= r.w_size && (0 === s && (D(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0), u = new d.Buf8(r.w_size), d.arraySet(u, e, l - r.w_size, r.w_size, 0), e = u, l = r.w_size), a = t.avail_in, o = t.next_in, h = t.input, t.avail_in = l, t.next_in = 0, t.input = e, j(r); r.lookahead >= x;) { for (i = r.strstart, n = r.lookahead - (x - 1); r.ins_h = (r.ins_h << r.hash_shift ^ r.window[i + x - 1]) & r.hash_mask, r.prev[i & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = i, i++ , --n;); r.strstart = i, r.lookahead = x - 1, j(r) } return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = x - 1, r.match_available = 0, t.next_in = o, t.input = h, t.avail_in = a, r.wrap = s, m }, r.deflateInfo = "pako deflate (from Nodeca project)" }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./messages": 51, "./trees": 52 }], 47: [function (t, e, r) { "use strict"; e.exports = function () { this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1 } }, {}], 48: [function (t, e, r) { "use strict"; e.exports = function (t, e) { var r, i, n, s, a, o, h, u, l, f, d, c, p, m, _, g, b, v, y, w, k, x, S, z, C; r = t.state, i = t.next_in, z = t.input, n = i + (t.avail_in - 5), s = t.next_out, C = t.output, a = s - (e - t.avail_out), o = s + (t.avail_out - 257), h = r.dmax, u = r.wsize, l = r.whave, f = r.wnext, d = r.window, c = r.hold, p = r.bits, m = r.lencode, _ = r.distcode, g = (1 << r.lenbits) - 1, b = (1 << r.distbits) - 1; t: do { p < 15 && (c += z[i++] << p, p += 8, c += z[i++] << p, p += 8), v = m[c & g]; e: for (; ;) { if (c >>>= y = v >>> 24, p -= y, 0 === (y = v >>> 16 & 255)) C[s++] = 65535 & v; else { if (!(16 & y)) { if (0 == (64 & y)) { v = m[(65535 & v) + (c & (1 << y) - 1)]; continue e } if (32 & y) { r.mode = 12; break t } t.msg = "invalid literal/length code", r.mode = 30; break t } w = 65535 & v, (y &= 15) && (p < y && (c += z[i++] << p, p += 8), w += c & (1 << y) - 1, c >>>= y, p -= y), p < 15 && (c += z[i++] << p, p += 8, c += z[i++] << p, p += 8), v = _[c & b]; r: for (; ;) { if (c >>>= y = v >>> 24, p -= y, !(16 & (y = v >>> 16 & 255))) { if (0 == (64 & y)) { v = _[(65535 & v) + (c & (1 << y) - 1)]; continue r } t.msg = "invalid distance code", r.mode = 30; break t } if (k = 65535 & v, p < (y &= 15) && (c += z[i++] << p, (p += 8) < y && (c += z[i++] << p, p += 8)), h < (k += c & (1 << y) - 1)) { t.msg = "invalid distance too far back", r.mode = 30; break t } if (c >>>= y, p -= y, (y = s - a) < k) { if (l < (y = k - y) && r.sane) { t.msg = "invalid distance too far back", r.mode = 30; break t } if (S = d, (x = 0) === f) { if (x += u - y, y < w) { for (w -= y; C[s++] = d[x++], --y;); x = s - k, S = C } } else if (f < y) { if (x += u + f - y, (y -= f) < w) { for (w -= y; C[s++] = d[x++], --y;); if (x = 0, f < w) { for (w -= y = f; C[s++] = d[x++], --y;); x = s - k, S = C } } } else if (x += f - y, y < w) { for (w -= y; C[s++] = d[x++], --y;); x = s - k, S = C } for (; 2 < w;)C[s++] = S[x++], C[s++] = S[x++], C[s++] = S[x++], w -= 3; w && (C[s++] = S[x++], 1 < w && (C[s++] = S[x++])) } else { for (x = s - k; C[s++] = C[x++], C[s++] = C[x++], C[s++] = C[x++], 2 < (w -= 3);); w && (C[s++] = C[x++], 1 < w && (C[s++] = C[x++])) } break } } break } } while (i < n && s < o); i -= w = p >> 3, c &= (1 << (p -= w << 3)) - 1, t.next_in = i, t.next_out = s, t.avail_in = i < n ? n - i + 5 : 5 - (i - n), t.avail_out = s < o ? o - s + 257 : 257 - (s - o), r.hold = c, r.bits = p } }, {}], 49: [function (t, e, r) { "use strict"; var I = t("../utils/common"), O = t("./adler32"), B = t("./crc32"), R = t("./inffast"), T = t("./inftrees"), D = 1, F = 2, N = 0, U = -2, P = 1, i = 852, n = 592; function L(t) { return (t >>> 24 & 255) + (t >>> 8 & 65280) + ((65280 & t) << 8) + ((255 & t) << 24) } function s() { this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new I.Buf16(320), this.work = new I.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0 } function a(t) { var e; return t && t.state ? (e = t.state, t.total_in = t.total_out = e.total = 0, t.msg = "", e.wrap && (t.adler = 1 & e.wrap), e.mode = P, e.last = 0, e.havedict = 0, e.dmax = 32768, e.head = null, e.hold = 0, e.bits = 0, e.lencode = e.lendyn = new I.Buf32(i), e.distcode = e.distdyn = new I.Buf32(n), e.sane = 1, e.back = -1, N) : U } function o(t) { var e; return t && t.state ? ((e = t.state).wsize = 0, e.whave = 0, e.wnext = 0, a(t)) : U } function h(t, e) { var r, i; return t && t.state ? (i = t.state, e < 0 ? (r = 0, e = -e) : (r = 1 + (e >> 4), e < 48 && (e &= 15)), e && (e < 8 || 15 < e) ? U : (null !== i.window && i.wbits !== e && (i.window = null), i.wrap = r, i.wbits = e, o(t))) : U } function u(t, e) { var r, i; return t ? (i = new s, (t.state = i).window = null, (r = h(t, e)) !== N && (t.state = null), r) : U } var l, f, d = !0; function j(t) { if (d) { var e; for (l = new I.Buf32(512), f = new I.Buf32(32), e = 0; e < 144;)t.lens[e++] = 8; for (; e < 256;)t.lens[e++] = 9; for (; e < 280;)t.lens[e++] = 7; for (; e < 288;)t.lens[e++] = 8; for (T(D, t.lens, 0, 288, l, 0, t.work, { bits: 9 }), e = 0; e < 32;)t.lens[e++] = 5; T(F, t.lens, 0, 32, f, 0, t.work, { bits: 5 }), d = !1 } t.lencode = l, t.lenbits = 9, t.distcode = f, t.distbits = 5 } function Z(t, e, r, i) { var n, s = t.state; return null === s.window && (s.wsize = 1 << s.wbits, s.wnext = 0, s.whave = 0, s.window = new I.Buf8(s.wsize)), i >= s.wsize ? (I.arraySet(s.window, e, r - s.wsize, s.wsize, 0), s.wnext = 0, s.whave = s.wsize) : (i < (n = s.wsize - s.wnext) && (n = i), I.arraySet(s.window, e, r - i, n, s.wnext), (i -= n) ? (I.arraySet(s.window, e, r - i, i, 0), s.wnext = i, s.whave = s.wsize) : (s.wnext += n, s.wnext === s.wsize && (s.wnext = 0), s.whave < s.wsize && (s.whave += n))), 0 } r.inflateReset = o, r.inflateReset2 = h, r.inflateResetKeep = a, r.inflateInit = function (t) { return u(t, 15) }, r.inflateInit2 = u, r.inflate = function (t, e) { var r, i, n, s, a, o, h, u, l, f, d, c, p, m, _, g, b, v, y, w, k, x, S, z, C = 0, E = new I.Buf8(4), A = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; if (!t || !t.state || !t.output || !t.input && 0 !== t.avail_in) return U; 12 === (r = t.state).mode && (r.mode = 13), a = t.next_out, n = t.output, h = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, u = r.hold, l = r.bits, f = o, d = h, x = N; t: for (; ;)switch (r.mode) { case P: if (0 === r.wrap) { r.mode = 13; break } for (; l < 16;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (2 & r.wrap && 35615 === u) { E[r.check = 0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0), l = u = 0, r.mode = 2; break } if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & u) << 8) + (u >> 8)) % 31) { t.msg = "incorrect header check", r.mode = 30; break } if (8 != (15 & u)) { t.msg = "unknown compression method", r.mode = 30; break } if (l -= 4, k = 8 + (15 & (u >>>= 4)), 0 === r.wbits) r.wbits = k; else if (k > r.wbits) { t.msg = "invalid window size", r.mode = 30; break } r.dmax = 1 << k, t.adler = r.check = 1, r.mode = 512 & u ? 10 : 12, l = u = 0; break; case 2: for (; l < 16;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (r.flags = u, 8 != (255 & r.flags)) { t.msg = "unknown compression method", r.mode = 30; break } if (57344 & r.flags) { t.msg = "unknown header flags set", r.mode = 30; break } r.head && (r.head.text = u >> 8 & 1), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 3; case 3: for (; l < 32;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.head && (r.head.time = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, E[2] = u >>> 16 & 255, E[3] = u >>> 24 & 255, r.check = B(r.check, E, 4, 0)), l = u = 0, r.mode = 4; case 4: for (; l < 16;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.head && (r.head.xflags = 255 & u, r.head.os = u >> 8), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0, r.mode = 5; case 5: if (1024 & r.flags) { for (; l < 16;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.length = u, r.head && (r.head.extra_len = u), 512 & r.flags && (E[0] = 255 & u, E[1] = u >>> 8 & 255, r.check = B(r.check, E, 2, 0)), l = u = 0 } else r.head && (r.head.extra = null); r.mode = 6; case 6: if (1024 & r.flags && (o < (c = r.length) && (c = o), c && (r.head && (k = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), I.arraySet(r.head.extra, i, s, c, k)), 512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, r.length -= c), r.length)) break t; r.length = 0, r.mode = 7; case 7: if (2048 & r.flags) { if (0 === o) break t; for (c = 0; k = i[s + c++], r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k)), k && c < o;); if (512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, k) break t } else r.head && (r.head.name = null); r.length = 0, r.mode = 8; case 8: if (4096 & r.flags) { if (0 === o) break t; for (c = 0; k = i[s + c++], r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k)), k && c < o;); if (512 & r.flags && (r.check = B(r.check, i, c, s)), o -= c, s += c, k) break t } else r.head && (r.head.comment = null); r.mode = 9; case 9: if (512 & r.flags) { for (; l < 16;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (u !== (65535 & r.check)) { t.msg = "header crc mismatch", r.mode = 30; break } l = u = 0 } r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), t.adler = r.check = 0, r.mode = 12; break; case 10: for (; l < 32;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } t.adler = r.check = L(u), l = u = 0, r.mode = 11; case 11: if (0 === r.havedict) return t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, 2; t.adler = r.check = 1, r.mode = 12; case 12: if (5 === e || 6 === e) break t; case 13: if (r.last) { u >>>= 7 & l, l -= 7 & l, r.mode = 27; break } for (; l < 3;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } switch (r.last = 1 & u, l -= 1, 3 & (u >>>= 1)) { case 0: r.mode = 14; break; case 1: if (j(r), r.mode = 20, 6 !== e) break; u >>>= 2, l -= 2; break t; case 2: r.mode = 17; break; case 3: t.msg = "invalid block type", r.mode = 30 }u >>>= 2, l -= 2; break; case 14: for (u >>>= 7 & l, l -= 7 & l; l < 32;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if ((65535 & u) != (u >>> 16 ^ 65535)) { t.msg = "invalid stored block lengths", r.mode = 30; break } if (r.length = 65535 & u, l = u = 0, r.mode = 15, 6 === e) break t; case 15: r.mode = 16; case 16: if (c = r.length) { if (o < c && (c = o), h < c && (c = h), 0 === c) break t; I.arraySet(n, i, s, c, a), o -= c, s += c, h -= c, a += c, r.length -= c; break } r.mode = 12; break; case 17: for (; l < 14;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (r.nlen = 257 + (31 & u), u >>>= 5, l -= 5, r.ndist = 1 + (31 & u), u >>>= 5, l -= 5, r.ncode = 4 + (15 & u), u >>>= 4, l -= 4, 286 < r.nlen || 30 < r.ndist) { t.msg = "too many length or distance symbols", r.mode = 30; break } r.have = 0, r.mode = 18; case 18: for (; r.have < r.ncode;) { for (; l < 3;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.lens[A[r.have++]] = 7 & u, u >>>= 3, l -= 3 } for (; r.have < 19;)r.lens[A[r.have++]] = 0; if (r.lencode = r.lendyn, r.lenbits = 7, S = { bits: r.lenbits }, x = T(0, r.lens, 0, 19, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { t.msg = "invalid code lengths set", r.mode = 30; break } r.have = 0, r.mode = 19; case 19: for (; r.have < r.nlen + r.ndist;) { for (; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (b < 16) u >>>= _, l -= _, r.lens[r.have++] = b; else { if (16 === b) { for (z = _ + 2; l < z;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (u >>>= _, l -= _, 0 === r.have) { t.msg = "invalid bit length repeat", r.mode = 30; break } k = r.lens[r.have - 1], c = 3 + (3 & u), u >>>= 2, l -= 2 } else if (17 === b) { for (z = _ + 3; l < z;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } l -= _, k = 0, c = 3 + (7 & (u >>>= _)), u >>>= 3, l -= 3 } else { for (z = _ + 7; l < z;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } l -= _, k = 0, c = 11 + (127 & (u >>>= _)), u >>>= 7, l -= 7 } if (r.have + c > r.nlen + r.ndist) { t.msg = "invalid bit length repeat", r.mode = 30; break } for (; c--;)r.lens[r.have++] = k } } if (30 === r.mode) break; if (0 === r.lens[256]) { t.msg = "invalid code -- missing end-of-block", r.mode = 30; break } if (r.lenbits = 9, S = { bits: r.lenbits }, x = T(D, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), r.lenbits = S.bits, x) { t.msg = "invalid literal/lengths set", r.mode = 30; break } if (r.distbits = 6, r.distcode = r.distdyn, S = { bits: r.distbits }, x = T(F, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), r.distbits = S.bits, x) { t.msg = "invalid distances set", r.mode = 30; break } if (r.mode = 20, 6 === e) break t; case 20: r.mode = 21; case 21: if (6 <= o && 258 <= h) { t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, R(t, d), a = t.next_out, n = t.output, h = t.avail_out, s = t.next_in, i = t.input, o = t.avail_in, u = r.hold, l = r.bits, 12 === r.mode && (r.back = -1); break } for (r.back = 0; g = (C = r.lencode[u & (1 << r.lenbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (g && 0 == (240 & g)) { for (v = _, y = g, w = b; g = (C = r.lencode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } u >>>= v, l -= v, r.back += v } if (u >>>= _, l -= _, r.back += _, r.length = b, 0 === g) { r.mode = 26; break } if (32 & g) { r.back = -1, r.mode = 12; break } if (64 & g) { t.msg = "invalid literal/length code", r.mode = 30; break } r.extra = 15 & g, r.mode = 22; case 22: if (r.extra) { for (z = r.extra; l < z;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.length += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra } r.was = r.length, r.mode = 23; case 23: for (; g = (C = r.distcode[u & (1 << r.distbits) - 1]) >>> 16 & 255, b = 65535 & C, !((_ = C >>> 24) <= l);) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (0 == (240 & g)) { for (v = _, y = g, w = b; g = (C = r.distcode[w + ((u & (1 << v + y) - 1) >> v)]) >>> 16 & 255, b = 65535 & C, !(v + (_ = C >>> 24) <= l);) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } u >>>= v, l -= v, r.back += v } if (u >>>= _, l -= _, r.back += _, 64 & g) { t.msg = "invalid distance code", r.mode = 30; break } r.offset = b, r.extra = 15 & g, r.mode = 24; case 24: if (r.extra) { for (z = r.extra; l < z;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } r.offset += u & (1 << r.extra) - 1, u >>>= r.extra, l -= r.extra, r.back += r.extra } if (r.offset > r.dmax) { t.msg = "invalid distance too far back", r.mode = 30; break } r.mode = 25; case 25: if (0 === h) break t; if (c = d - h, r.offset > c) { if ((c = r.offset - c) > r.whave && r.sane) { t.msg = "invalid distance too far back", r.mode = 30; break } p = c > r.wnext ? (c -= r.wnext, r.wsize - c) : r.wnext - c, c > r.length && (c = r.length), m = r.window } else m = n, p = a - r.offset, c = r.length; for (h < c && (c = h), h -= c, r.length -= c; n[a++] = m[p++], --c;); 0 === r.length && (r.mode = 21); break; case 26: if (0 === h) break t; n[a++] = r.length, h-- , r.mode = 21; break; case 27: if (r.wrap) { for (; l < 32;) { if (0 === o) break t; o-- , u |= i[s++] << l, l += 8 } if (d -= h, t.total_out += d, r.total += d, d && (t.adler = r.check = r.flags ? B(r.check, n, d, a - d) : O(r.check, n, d, a - d)), d = h, (r.flags ? u : L(u)) !== r.check) { t.msg = "incorrect data check", r.mode = 30; break } l = u = 0 } r.mode = 28; case 28: if (r.wrap && r.flags) { for (; l < 32;) { if (0 === o) break t; o-- , u += i[s++] << l, l += 8 } if (u !== (4294967295 & r.total)) { t.msg = "incorrect length check", r.mode = 30; break } l = u = 0 } r.mode = 29; case 29: x = 1; break t; case 30: x = -3; break t; case 31: return -4; case 32: default: return U }return t.next_out = a, t.avail_out = h, t.next_in = s, t.avail_in = o, r.hold = u, r.bits = l, (r.wsize || d !== t.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== e)) && Z(t, t.output, t.next_out, d - t.avail_out) ? (r.mode = 31, -4) : (f -= t.avail_in, d -= t.avail_out, t.total_in += f, t.total_out += d, r.total += d, r.wrap && d && (t.adler = r.check = r.flags ? B(r.check, n, d, t.next_out - d) : O(r.check, n, d, t.next_out - d)), t.data_type = r.bits + (r.last ? 64 : 0) + (12 === r.mode ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), (0 == f && 0 === d || 4 === e) && x === N && (x = -5), x) }, r.inflateEnd = function (t) { if (!t || !t.state) return U; var e = t.state; return e.window && (e.window = null), t.state = null, N }, r.inflateGetHeader = function (t, e) { var r; return t && t.state ? 0 == (2 & (r = t.state).wrap) ? U : ((r.head = e).done = !1, N) : U }, r.inflateSetDictionary = function (t, e) { var r, i = e.length; return t && t.state ? 0 !== (r = t.state).wrap && 11 !== r.mode ? U : 11 === r.mode && O(1, e, i, 0) !== r.check ? -3 : Z(t, e, i, i) ? (r.mode = 31, -4) : (r.havedict = 1, N) : U }, r.inflateInfo = "pako inflate (from Nodeca project)" }, { "../utils/common": 41, "./adler32": 43, "./crc32": 45, "./inffast": 48, "./inftrees": 50 }], 50: [function (t, e, r) { "use strict"; var D = t("../utils/common"), F = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0], N = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78], U = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0], P = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]; e.exports = function (t, e, r, i, n, s, a, o) { var h, u, l, f, d, c, p, m, _, g = o.bits, b = 0, v = 0, y = 0, w = 0, k = 0, x = 0, S = 0, z = 0, C = 0, E = 0, A = null, I = 0, O = new D.Buf16(16), B = new D.Buf16(16), R = null, T = 0; for (b = 0; b <= 15; b++)O[b] = 0; for (v = 0; v < i; v++)O[e[r + v]]++; for (k = g, w = 15; 1 <= w && 0 === O[w]; w--); if (w < k && (k = w), 0 === w) return n[s++] = 20971520, n[s++] = 20971520, o.bits = 1, 0; for (y = 1; y < w && 0 === O[y]; y++); for (k < y && (k = y), b = z = 1; b <= 15; b++)if (z <<= 1, (z -= O[b]) < 0) return -1; if (0 < z && (0 === t || 1 !== w)) return -1; for (B[1] = 0, b = 1; b < 15; b++)B[b + 1] = B[b] + O[b]; for (v = 0; v < i; v++)0 !== e[r + v] && (a[B[e[r + v]]++] = v); if (c = 0 === t ? (A = R = a, 19) : 1 === t ? (A = F, I -= 257, R = N, T -= 257, 256) : (A = U, R = P, -1), b = y, d = s, S = v = E = 0, l = -1, f = (C = 1 << (x = k)) - 1, 1 === t && 852 < C || 2 === t && 592 < C) return 1; for (; ;) { for (p = b - S, _ = a[v] < c ? (m = 0, a[v]) : a[v] > c ? (m = R[T + a[v]], A[I + a[v]]) : (m = 96, 0), h = 1 << b - S, y = u = 1 << x; n[d + (E >> S) + (u -= h)] = p << 24 | m << 16 | _ | 0, 0 !== u;); for (h = 1 << b - 1; E & h;)h >>= 1; if (0 !== h ? (E &= h - 1, E += h) : E = 0, v++ , 0 == --O[b]) { if (b === w) break; b = e[r + a[v]] } if (k < b && (E & f) !== l) { for (0 === S && (S = k), d += y, z = 1 << (x = b - S); x + S < w && !((z -= O[x + S]) <= 0);)x++ , z <<= 1; if (C += 1 << x, 1 === t && 852 < C || 2 === t && 592 < C) return 1; n[l = E & f] = k << 24 | x << 16 | d - s | 0 } } return 0 !== E && (n[d + E] = b - S << 24 | 64 << 16 | 0), o.bits = k, 0 } }, { "../utils/common": 41 }], 51: [function (t, e, r) { "use strict"; e.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" } }, {}], 52: [function (t, e, r) { "use strict"; var n = t("../utils/common"), o = 0, h = 1; function i(t) { for (var e = t.length; 0 <= --e;)t[e] = 0 } var s = 0, a = 29, u = 256, l = u + 1 + a, f = 30, d = 19, _ = 2 * l + 1, g = 15, c = 16, p = 7, m = 256, b = 16, v = 17, y = 18, w = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0], k = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], S = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], z = new Array(2 * (l + 2)); i(z); var C = new Array(2 * f); i(C); var E = new Array(512); i(E); var A = new Array(256); i(A); var I = new Array(a); i(I); var O, B, R, T = new Array(f); function D(t, e, r, i, n) { this.static_tree = t, this.extra_bits = e, this.extra_base = r, this.elems = i, this.max_length = n, this.has_stree = t && t.length } function F(t, e) { this.dyn_tree = t, this.max_code = 0, this.stat_desc = e } function N(t) { return t < 256 ? E[t] : E[256 + (t >>> 7)] } function U(t, e) { t.pending_buf[t.pending++] = 255 & e, t.pending_buf[t.pending++] = e >>> 8 & 255 } function P(t, e, r) { t.bi_valid > c - r ? (t.bi_buf |= e << t.bi_valid & 65535, U(t, t.bi_buf), t.bi_buf = e >> c - t.bi_valid, t.bi_valid += r - c) : (t.bi_buf |= e << t.bi_valid & 65535, t.bi_valid += r) } function L(t, e, r) { P(t, r[2 * e], r[2 * e + 1]) } function j(t, e) { for (var r = 0; r |= 1 & t, t >>>= 1, r <<= 1, 0 < --e;); return r >>> 1 } function Z(t, e, r) { var i, n, s = new Array(g + 1), a = 0; for (i = 1; i <= g; i++)s[i] = a = a + r[i - 1] << 1; for (n = 0; n <= e; n++) { var o = t[2 * n + 1]; 0 !== o && (t[2 * n] = j(s[o]++, o)) } } function W(t) { var e; for (e = 0; e < l; e++)t.dyn_ltree[2 * e] = 0; for (e = 0; e < f; e++)t.dyn_dtree[2 * e] = 0; for (e = 0; e < d; e++)t.bl_tree[2 * e] = 0; t.dyn_ltree[2 * m] = 1, t.opt_len = t.static_len = 0, t.last_lit = t.matches = 0 } function M(t) { 8 < t.bi_valid ? U(t, t.bi_buf) : 0 < t.bi_valid && (t.pending_buf[t.pending++] = t.bi_buf), t.bi_buf = 0, t.bi_valid = 0 } function H(t, e, r, i) { var n = 2 * e, s = 2 * r; return t[n] < t[s] || t[n] === t[s] && i[e] <= i[r] } function G(t, e, r) { for (var i = t.heap[r], n = r << 1; n <= t.heap_len && (n < t.heap_len && H(e, t.heap[n + 1], t.heap[n], t.depth) && n++ , !H(e, i, t.heap[n], t.depth));)t.heap[r] = t.heap[n], r = n, n <<= 1; t.heap[r] = i } function K(t, e, r) { var i, n, s, a, o = 0; if (0 !== t.last_lit) for (; i = t.pending_buf[t.d_buf + 2 * o] << 8 | t.pending_buf[t.d_buf + 2 * o + 1], n = t.pending_buf[t.l_buf + o], o++ , 0 === i ? L(t, n, e) : (L(t, (s = A[n]) + u + 1, e), 0 !== (a = w[s]) && P(t, n -= I[s], a), L(t, s = N(--i), r), 0 !== (a = k[s]) && P(t, i -= T[s], a)), o < t.last_lit;); L(t, m, e) } function Y(t, e) { var r, i, n, s = e.dyn_tree, a = e.stat_desc.static_tree, o = e.stat_desc.has_stree, h = e.stat_desc.elems, u = -1; for (t.heap_len = 0, t.heap_max = _, r = 0; r < h; r++)0 !== s[2 * r] ? (t.heap[++t.heap_len] = u = r, t.depth[r] = 0) : s[2 * r + 1] = 0; for (; t.heap_len < 2;)s[2 * (n = t.heap[++t.heap_len] = u < 2 ? ++u : 0)] = 1, t.depth[n] = 0, t.opt_len-- , o && (t.static_len -= a[2 * n + 1]); for (e.max_code = u, r = t.heap_len >> 1; 1 <= r; r--)G(t, s, r); for (n = h; r = t.heap[1], t.heap[1] = t.heap[t.heap_len--], G(t, s, 1), i = t.heap[1], t.heap[--t.heap_max] = r, t.heap[--t.heap_max] = i, s[2 * n] = s[2 * r] + s[2 * i], t.depth[n] = (t.depth[r] >= t.depth[i] ? t.depth[r] : t.depth[i]) + 1, s[2 * r + 1] = s[2 * i + 1] = n, t.heap[1] = n++ , G(t, s, 1), 2 <= t.heap_len;); t.heap[--t.heap_max] = t.heap[1], function (t, e) { var r, i, n, s, a, o, h = e.dyn_tree, u = e.max_code, l = e.stat_desc.static_tree, f = e.stat_desc.has_stree, d = e.stat_desc.extra_bits, c = e.stat_desc.extra_base, p = e.stat_desc.max_length, m = 0; for (s = 0; s <= g; s++)t.bl_count[s] = 0; for (h[2 * t.heap[t.heap_max] + 1] = 0, r = t.heap_max + 1; r < _; r++)p < (s = h[2 * h[2 * (i = t.heap[r]) + 1] + 1] + 1) && (s = p, m++), h[2 * i + 1] = s, u < i || (t.bl_count[s]++ , a = 0, c <= i && (a = d[i - c]), o = h[2 * i], t.opt_len += o * (s + a), f && (t.static_len += o * (l[2 * i + 1] + a))); if (0 !== m) { do { for (s = p - 1; 0 === t.bl_count[s];)s--; t.bl_count[s]-- , t.bl_count[s + 1] += 2, t.bl_count[p]-- , m -= 2 } while (0 < m); for (s = p; 0 !== s; s--)for (i = t.bl_count[s]; 0 !== i;)u < (n = t.heap[--r]) || (h[2 * n + 1] !== s && (t.opt_len += (s - h[2 * n + 1]) * h[2 * n], h[2 * n + 1] = s), i--) } }(t, e), Z(s, u, t.bl_count) } function X(t, e, r) { var i, n, s = -1, a = e[1], o = 0, h = 7, u = 4; for (0 === a && (h = 138, u = 3), e[2 * (r + 1) + 1] = 65535, i = 0; i <= r; i++)n = a, a = e[2 * (i + 1) + 1], ++o < h && n === a || (o < u ? t.bl_tree[2 * n] += o : 0 !== n ? (n !== s && t.bl_tree[2 * n]++ , t.bl_tree[2 * b]++) : o <= 10 ? t.bl_tree[2 * v]++ : t.bl_tree[2 * y]++ , s = n, u = (o = 0) === a ? (h = 138, 3) : n === a ? (h = 6, 3) : (h = 7, 4)) } function V(t, e, r) { var i, n, s = -1, a = e[1], o = 0, h = 7, u = 4; for (0 === a && (h = 138, u = 3), i = 0; i <= r; i++)if (n = a, a = e[2 * (i + 1) + 1], !(++o < h && n === a)) { if (o < u) for (; L(t, n, t.bl_tree), 0 != --o;); else 0 !== n ? (n !== s && (L(t, n, t.bl_tree), o--), L(t, b, t.bl_tree), P(t, o - 3, 2)) : o <= 10 ? (L(t, v, t.bl_tree), P(t, o - 3, 3)) : (L(t, y, t.bl_tree), P(t, o - 11, 7)); s = n, u = (o = 0) === a ? (h = 138, 3) : n === a ? (h = 6, 3) : (h = 7, 4) } } i(T); var q = !1; function J(t, e, r, i) { P(t, (s << 1) + (i ? 1 : 0), 3), function (t, e, r, i) { M(t), i && (U(t, r), U(t, ~r)), n.arraySet(t.pending_buf, t.window, e, r, t.pending), t.pending += r }(t, e, r, !0) } r._tr_init = function (t) { q || (function () { var t, e, r, i, n, s = new Array(g + 1); for (i = r = 0; i < a - 1; i++)for (I[i] = r, t = 0; t < 1 << w[i]; t++)A[r++] = i; for (A[r - 1] = i, i = n = 0; i < 16; i++)for (T[i] = n, t = 0; t < 1 << k[i]; t++)E[n++] = i; for (n >>= 7; i < f; i++)for (T[i] = n << 7, t = 0; t < 1 << k[i] - 7; t++)E[256 + n++] = i; for (e = 0; e <= g; e++)s[e] = 0; for (t = 0; t <= 143;)z[2 * t + 1] = 8, t++ , s[8]++; for (; t <= 255;)z[2 * t + 1] = 9, t++ , s[9]++; for (; t <= 279;)z[2 * t + 1] = 7, t++ , s[7]++; for (; t <= 287;)z[2 * t + 1] = 8, t++ , s[8]++; for (Z(z, l + 1, s), t = 0; t < f; t++)C[2 * t + 1] = 5, C[2 * t] = j(t, 5); O = new D(z, w, u + 1, l, g), B = new D(C, k, 0, f, g), R = new D(new Array(0), x, 0, d, p) }(), q = !0), t.l_desc = new F(t.dyn_ltree, O), t.d_desc = new F(t.dyn_dtree, B), t.bl_desc = new F(t.bl_tree, R), t.bi_buf = 0, t.bi_valid = 0, W(t) }, r._tr_stored_block = J, r._tr_flush_block = function (t, e, r, i) { var n, s, a = 0; 0 < t.level ? (2 === t.strm.data_type && (t.strm.data_type = function (t) { var e, r = 4093624447; for (e = 0; e <= 31; e++ , r >>>= 1)if (1 & r && 0 !== t.dyn_ltree[2 * e]) return o; if (0 !== t.dyn_ltree[18] || 0 !== t.dyn_ltree[20] || 0 !== t.dyn_ltree[26]) return h; for (e = 32; e < u; e++)if (0 !== t.dyn_ltree[2 * e]) return h; return o }(t)), Y(t, t.l_desc), Y(t, t.d_desc), a = function (t) { var e; for (X(t, t.dyn_ltree, t.l_desc.max_code), X(t, t.dyn_dtree, t.d_desc.max_code), Y(t, t.bl_desc), e = d - 1; 3 <= e && 0 === t.bl_tree[2 * S[e] + 1]; e--); return t.opt_len += 3 * (e + 1) + 5 + 5 + 4, e }(t), n = t.opt_len + 3 + 7 >>> 3, (s = t.static_len + 3 + 7 >>> 3) <= n && (n = s)) : n = s = r + 5, r + 4 <= n && -1 !== e ? J(t, e, r, i) : 4 === t.strategy || s === n ? (P(t, 2 + (i ? 1 : 0), 3), K(t, z, C)) : (P(t, 4 + (i ? 1 : 0), 3), function (t, e, r, i) { var n; for (P(t, e - 257, 5), P(t, r - 1, 5), P(t, i - 4, 4), n = 0; n < i; n++)P(t, t.bl_tree[2 * S[n] + 1], 3); V(t, t.dyn_ltree, e - 1), V(t, t.dyn_dtree, r - 1) }(t, t.l_desc.max_code + 1, t.d_desc.max_code + 1, a + 1), K(t, t.dyn_ltree, t.dyn_dtree)), W(t), i && M(t) }, r._tr_tally = function (t, e, r) { return t.pending_buf[t.d_buf + 2 * t.last_lit] = e >>> 8 & 255, t.pending_buf[t.d_buf + 2 * t.last_lit + 1] = 255 & e, t.pending_buf[t.l_buf + t.last_lit] = 255 & r, t.last_lit++ , 0 === e ? t.dyn_ltree[2 * r]++ : (t.matches++ , e-- , t.dyn_ltree[2 * (A[r] + u + 1)]++ , t.dyn_dtree[2 * N(e)]++), t.last_lit === t.lit_bufsize - 1 }, r._tr_align = function (t) { P(t, 2, 3), L(t, m, z), function (t) { 16 === t.bi_valid ? (U(t, t.bi_buf), t.bi_buf = 0, t.bi_valid = 0) : 8 <= t.bi_valid && (t.pending_buf[t.pending++] = 255 & t.bi_buf, t.bi_buf >>= 8, t.bi_valid -= 8) }(t) } }, { "../utils/common": 41 }], 53: [function (t, e, r) { "use strict"; e.exports = function () { this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0 } }, {}], 54: [function (t, e, r) { "use strict"; e.exports = "function" == typeof setImmediate ? setImmediate : function () { var t = [].slice.apply(arguments); t.splice(1, 0, 0), setTimeout.apply(null, t) } }, {}] }, {}, [10])(10) });
!function (e) { var t = {}; function n(i) { if (t[i]) return t[i].exports; var a = t[i] = { i: i, l: !1, exports: {} }; return e[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports } n.m = e, n.c = t, n.d = function (e, t, i) { n.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i }) }, n.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n.t = function (e, t) { if (1 & t && (e = n(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var i = Object.create(null); if (n.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var a in e) n.d(i, a, function (t) { return e[t] }.bind(null, a)); return i }, n.n = function (e) { var t = e && e.__esModule ? function () { return e.default } : function () { return e }; return n.d(t, "a", t), t }, n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, n.p = "", n(n.s = 245) }([function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.isEvent = t.type = t.isDeferred = t.isPromise = t.isRenderer = t.isWindow = t.isPrimitive = t.isPlainObject = t.isEmptyObject = t.isObject = t.isNumeric = t.isString = t.isFunction = t.isDefined = t.isDate = t.isExponential = t.isBoolean = void 0; var a = { "[object Array]": "array", "[object Date]": "date", "[object Object]": "object", "[object String]": "string", "[object Null]": "null" }, o = function (e) { var t = Object.prototype.toString.call(e); return "object" === i(e) ? a[t] || "object" : i(e) }; t.type = o; t.isBoolean = function (e) { return "boolean" == typeof e }; t.isExponential = function (e) { return r(e) && -1 !== e.toString().indexOf("e") }; t.isDate = function (e) { return "date" === o(e) }; t.isDefined = function (e) { return null != e }; var s = function (e) { return "function" == typeof e }; t.isFunction = s; t.isString = function (e) { return "string" == typeof e }; var r = function (e) { return "number" == typeof e && isFinite(e) || !isNaN(e - parseFloat(e)) }; t.isNumeric = r; t.isObject = function (e) { return "object" === o(e) }; t.isEmptyObject = function (e) { var t; for (t in e) return !1; return !0 }; t.isPlainObject = function (e) { if (!e || "[object Object]" !== Object.prototype.toString.call(e)) return !1; var t = Object.getPrototypeOf(e), n = Object.hasOwnProperty.call(t, "constructor") && t.constructor; return "function" == typeof n && Object.toString.call(n) === Object.toString.call(Object) }; t.isPrimitive = function (e) { return -1 === ["object", "array", "function"].indexOf(o(e)) }; t.isWindow = function (e) { return null != e && e === e.window }; t.isRenderer = function (e) { return !(!e.jquery && !e.dxRenderer) }; t.isPromise = function (e) { return e && s(e.then) }; t.isDeferred = function (e) { return e && s(e.done) && s(e.fail) }; t.isEvent = function (e) { return !(!e || !e.preventDefault) } }, function (e, t, n) { "use strict"; t.extend = t.extendFromObject = void 0; var i = n(0); t.extendFromObject = function (e, t, n) { for (var i in e = e || {}, t) if (Object.prototype.hasOwnProperty.call(t, i)) { var a = t[i]; i in e && !n || (e[i] = a) } return e }; t.extend = function e(t) { var n = 1, a = !1; for ("boolean" == typeof (t = t || {}) && (a = t, t = arguments[1] || {}, n++); n < arguments.length; n++) { var o = arguments[n]; if (null != o) for (var s in o) { var r = t[s], l = o[s], d = !1, c = void 0; "__proto__" !== s && t !== l && (a && l && ((0, i.isPlainObject)(l) || (d = Array.isArray(l))) ? (c = d ? r && Array.isArray(r) ? r : [] : r && (0, i.isPlainObject)(r) ? r : {}, t[s] = e(a, c, l)) : void 0 !== l && (t[s] = l)) } } return t } }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(170)) && i.__esModule ? i : { default: i }).default.get(); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.reverseEach = t.each = t.map = void 0; t.map = function (e, t) { if (Array.isArray(e)) return e.map(t); var n = []; for (var i in e) n.push(t(e[i], i)); return n }; t.each = function (e, t) { if (e) { if ("length" in e) for (var n = 0; n < e.length && !1 !== t.call(e[n], n, e[n]); n++); else for (var i in e) if (!1 === t.call(e[i], i, e[i])) break; return e } }; t.reverseEach = function (e, t) { if (e && "length" in e && 0 !== e.length) for (var n = e.length - 1; n >= 0 && !1 !== t.call(e[n], n, e[n]); n--); } }, function (e, t, n) { "use strict"; t.equalByValue = t.grep = t.asyncNoop = t.noop = t.applyServerDecimalSeparator = t.escapeRegExp = t.getKeyHash = t.pairToObject = t.denormalizeKey = t.normalizeKey = t.splitPair = t.findBestMatches = t.deferUpdater = t.deferRenderer = t.deferUpdate = t.deferRender = t.executeAsync = t.ensureDefined = void 0; var i = d(n(27)), a = d(n(36)), o = n(6), s = n(20), r = n(3), l = n(0); function d(e) { return e && e.__esModule ? e : { default: e } } t.ensureDefined = function (e, t) { return (0, l.isDefined)(e) ? e : t }; t.executeAsync = function (e, t) { var n = new o.Deferred, i = t || this, a = { promise: n.promise(), abort: function () { clearTimeout(r), n.rejectWith(i) } }, s = function () { var t = e.call(i); t && t.done && (0, l.isFunction)(t.done) ? t.done((function () { n.resolveWith(i) })) : n.resolveWith(i) }, r = (arguments[2] || setTimeout)(s, "number" == typeof t ? t : 0); return a }; var c, u = [], h = [], f = [], p = function (e, t, n) { if (c && c !== e) return u.push(t), h.push(e), n = n || new o.Deferred, f.push(n), n; var i = c, a = f.length; c = e; var s = t(); return s || (f.length > a ? s = o.when.apply(this, f.slice(a)) : n && n.resolve()), c = i, n && s && s.done && s.done(n.resolve).fail(n.reject), !c && u.length && ("render" === h.shift() ? g : m)(u.shift(), f.shift()), s || (0, o.when)() }, g = function (e, t) { return p("render", e, t) }; t.deferRender = g; var m = function (e, t) { return p("update", e, t) }; t.deferUpdate = m; t.deferRenderer = function (e) { return function () { var t = this; return p("render", (function () { return e.call(t) })) } }; t.deferUpdater = function (e) { return function () { var t = this; return p("update", (function () { return e.call(t) })) } }; t.findBestMatches = function (e, t, n) { var i = [], a = 0; return (0, r.each)(t, (function (t, o) { var s = 0, l = n ? n(o) : o; (0, r.each)(e, (function (e, t) { var n = l[e]; if (void 0 !== n) { if (!_(n, t)) return s = -1, !1; s++ } })), s < a || (s > a && (i.length = 0, a = s), i.push(o)) })), i }; var _ = function (e, t) { if (Array.isArray(e) && Array.isArray(t)) { var n = !1; return (0, r.each)(e, (function (e, i) { if (i !== t[e]) return n = !0, !1 })), !n } return e === t }, v = function (e) { var t, n; switch ((0, l.type)(e)) { case "string": return e.split(/\s+/, 2); case "object": return [null !== (t = e.x) && void 0 !== t ? t : e.h, null !== (n = e.y) && void 0 !== n ? n : e.v]; case "number": return [e]; case "array": return e; default: return null } }; t.splitPair = v; t.normalizeKey = function (e) { var t = (0, l.isString)(e) ? e : e.toString(), n = t.match(/[^a-zA-Z0-9_]/g); return n && (0, r.each)(n, (function (e, n) { t = t.replace(n, "__" + n.charCodeAt() + "__") })), t }; t.denormalizeKey = function (e) { var t = e.match(/__\d+__/g); return t && t.forEach((function (t) { var n = parseInt(t.replace("__", "")); e = e.replace(t, String.fromCharCode(n)) })), e }; t.pairToObject = function (e, t) { var n = v(e), i = t ? parseFloat(n && n[0]) : parseInt(n && n[0], 10), a = t ? parseFloat(n && n[1]) : parseInt(n && n[1], 10); return isFinite(i) || (i = 0), isFinite(a) || (a = i), { h: i, v: a } }; t.getKeyHash = function (e) { if (e instanceof a.default) return e.toString(); if ((0, l.isObject)(e) || Array.isArray(e)) try { var t = JSON.stringify(e); return "{}" === t ? e : t } catch (t) { return e } return e }; t.escapeRegExp = function (e) { return e.replace(/[[\]{}\-()*+?.\\^$|\s]/g, "\\$&") }; t.applyServerDecimalSeparator = function (e) { var t = (0, i.default)().serverDecimalSeparator; return (0, l.isDefined)(e) && (e = e.toString().replace(".", t)), e }; t.noop = function () { }; t.asyncNoop = function () { return (new o.Deferred).resolve().promise() }; t.grep = function (e, t, n) { for (var i = [], a = !n, o = 0; o < e.length; o++)!!t(e[o], o) === a && i.push(e[o]); return i }; var y = function (e, t, n) { if (e.length !== t.length) return !1; for (var i = 0; i < e.length; i++)if (!x(e[i], t[i], n + 1)) return !1; return !0 }, w = function (e, t, n, i) { for (var a in e) if (Object.prototype.hasOwnProperty.call(e, a) && !x(e[a], t[a], n + 1, i)) return !1; for (var o in t) if (!(o in e)) return !1; return !0 }, x = function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, i = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3]; e = (0, s.toComparable)(e, !0), t = (0, s.toComparable)(t, !0); var a = i ? e === t : e == t; return !!(a || n >= 3) || ((0, l.isObject)(e) && (0, l.isObject)(t) ? w(e, t, n, i) : !(!Array.isArray(e) || !Array.isArray(t)) && y(e, t, n)) }; t.equalByValue = x }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(141)), a = n(1), o = p(n(9)), s = n(7), r = p(n(48)), l = n(0), d = p(n(26)), c = p(n(21)), u = p(n(140)), h = p(n(171)), f = p(n(56)); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e) { return (g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var m = (0, s.getWindow)(), _ = { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, v = { focusin: "focus", focusout: "blur" }, y = ["blur", "focus", "load"], w = ["touchmove", "wheel", "mousewheel", "touchstart"]; function x(e, t) { return !(0, l.isWindow)(e) && "#document" !== e.nodeName && o.default.elementMatches(e, t) } var b, C, k, I = new u.default, S = 0, E = (C = {}, i.default.add((function (e, t) { C[e] = t })), { getField: function (e, t) { return C[e] && C[e][t] }, callMethod: function (e, t, n, i) { return C[e] && C[e][t] && C[e][t].apply(n, i) } }), D = (0, r.default)({ on: A(P(F((function (e, t, n, i, a) { B(e, t).addHandler(a, n, i) })))), one: A(P((function (e, t, n, i, a) { D.on(e, t, n, i, (function i() { D.off(e, t, n, i), a.apply(this, arguments) })) }))), off: A((k = F((function (e, t, n, i) { B(e, t).removeHandler(i, n) })), function (e, t, n, i) { "function" == typeof n && (i = n, n = void 0), k(e, t, n, i) })), trigger: A(R((function (e, t, n) { var i = t.type, o = B(e, t.type); if (E.callMethod(i, "trigger", e, [t, n]), o.callHandlers(t, n), !(E.getField(i, "noBubble") || t.isPropagationStopped() || -1 !== y.indexOf(i))) { var s = []; !function e(t) { var n = t.parentNode; n && (s.push(n), e(n)) }(e), s.push(m); for (var r = 0; s[r] && !t.isPropagationStopped();) { B(s[r], t.type).callHandlers((0, a.extend)(t, { currentTarget: s[r] }), n), r++ } } (e.nodeType || (0, l.isWindow)(e)) && (E.callMethod(i, "_default", e, [t, n]), function (e, t) { var n = v[e] || e; if (function (e, t) { return "click" === e && "a" === t.localName }(e, t)) return; (0, l.isFunction)(t[n]) && (b = e, t[n](), b = void 0) }(i, e)) }))), triggerHandler: A(R((function (e, t, n) { B(e, t.type).callHandlers(t, n) }))) }); function T(e, t) { var n = e[0]; if (n) if (o.default.isNode(n) || (0, l.isWindow)(n)) t.apply(D, e); else { if ((0, l.isString)(n) || !("length" in n)) throw c.default.Error("E0025"); var i = Array.prototype.slice.call(e, 0); Array.prototype.forEach.call(n, (function (e) { i[0] = e, T(i, t) })) } } function A(e) { return function () { T(arguments, e) } } var O = (0, f.default)((function () { var e = !1; try { var t = Object.defineProperty({}, "passive", { get: function () { return e = !0, !0 } }); m.addEventListener("test", null, t) } catch (e) { } return e })); function B(e, t) { var n = I.get(e), i = (t = t || "").split("."), a = i.slice(1), s = !!i[0]; t = i[0] || "dxEmptyEventType", n || (n = {}, I.set(e, n)), n[t] || (n[t] = { handleObjects: [], nativeHandler: null }); var r = n[t]; return { addHandler: function (n, i, d) { var c = function (i, a) { var o, s, r = [i], c = i.currentTarget, u = i.relatedTarget; t in _ && (o = u && c && (u === c || function e(t, n) { return (0, l.isWindow)(t) ? e(t.document, n) : t.contains ? t.contains(n) : !!(n.compareDocumentPosition(t) & n.DOCUMENT_POSITION_CONTAINS) }(c, u))), void 0 !== a && r.push(a), E.callMethod(t, "handle", e, [i, d]), o || (s = n.apply(c, r)), !1 === s && (i.preventDefault(), i.stopPropagation()) }, u = { handler: n, wrappedHandler: function (t, n) { if (!b || t.type !== b) if (t.data = d, t.delegateTarget = e, i) for (var a = t.target; a && a !== e;)x(a, i) && (t.currentTarget = a, c(t, n)), a = a.parentNode; else t.currentTarget = t.delegateTarget || t.target, c(t, n) }, selector: i, type: t, data: d, namespace: a.join("."), namespaces: a, guid: ++S }; r.handleObjects.push(u); var h, f, p = 1 === r.handleObjects.length && s; p && (p = !E.callMethod(t, "setup", e, [d, a, n])), p && (r.nativeHandler = (f = t, function (e, t) { var n = B(this, f); e = D.Event(e), n.callHandlers(e, t) }), O() && w.indexOf(t) > -1 && (h = { passive: !1 }), r.removeListener = o.default.listen(e, _[t] || t, r.nativeHandler, h)), E.callMethod(t, "add", e, [u]) }, removeHandler: function (i, o) { var r = function (t) { var s, r = n[t]; r.handleObjects.length ? (r.handleObjects = r.handleObjects.filter((function (n) { var r = a.length && !M(n.namespaces, a) || i && n.handler !== i || o && n.selector !== o; return r || (s = n.handler, E.callMethod(t, "remove", e, [n])), r })), !r.handleObjects.length && "dxEmptyEventType" !== t && (E.callMethod(t, "teardown", e, [a, s]), r.nativeHandler && r.removeListener(), delete n[t])) : delete n[t] }; if (s) r(t); else for (var l in n) r(l); 0 === Object.keys(n).length && I.delete(e) }, callHandlers: function (e, t) { var i = !1, o = function (n) { i || a.length && !M(n.namespaces, a) || (n.wrappedHandler(e, t), i = e.isImmediatePropagationStopped()) }; r.handleObjects.forEach(o), a.length && n.dxEmptyEventType && n.dxEmptyEventType.handleObjects.forEach(o) } } } function M(e, t) { for (var n = 0; n < t.length; n++)if (e.indexOf(t[n]) < 0) return !1; return !0 } function P(e) { return function (t, n, i, a, o) { o || (o = a, a = void 0), "string" != typeof i && (a = i, i = void 0), o || "string" != typeof n || (o = a || i, i = void 0, a = void 0), e(t, n, i, a, o) } } function R(e) { return function (t, n, i) { "string" == typeof n && (n = { type: n }), n.target || (n.target = t), n.currentTarget = t, n.delegateTarget || (n.delegateTarget = t), !n.type && n.originalEvent && (n.type = n.originalEvent.type), e(t, n instanceof D.Event ? n : D.Event(n), i) } } function F(e) { var t = function (t, n) { if (n && n.indexOf(" ") > -1) { var i = Array.prototype.slice.call(arguments, 0); n.split(" ").forEach((function (t) { i[1] = t, e.apply(this, i) })) } else e.apply(this, arguments) }; return function (e, n) { if ("object" === g(n)) { var i = Array.prototype.slice.call(arguments, 0); for (var a in n) i[1] = a, i[i.length - 1] = n[a], t.apply(this, i) } else t.apply(this, arguments) } } function V(e) { if (function (e) { return null == e.which && 0 === e.type.indexOf("key") }(e)) return null != e.charCode ? e.charCode : e.keyCode; if (function (e) { return !e.which && void 0 !== e.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(e.type) }(e)) { return { 1: 1, 2: 3, 3: 1, 4: 2 }[e.button] } return e.which } function q(e) { e && (D.Event = e, D.Event.prototype = e.prototype) } function L(e, t, n) { Object.defineProperty(n || D.Event.prototype, e, { enumerable: !0, configurable: !0, get: function () { return this.originalEvent && t(this.originalEvent) }, set: function (t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) } }) } q(function (e) { return function (t, n) { if (!(this instanceof D.Event)) return new D.Event(t, n); t || (t = {}), "string" == typeof t && (t = { type: t }), n || (n = {}), e.call(this, t, n) } }((function (e, t) { var n = this, i = !1, o = !1, r = !1; (0, a.extend)(n, e), (e instanceof D.Event || (0, s.hasWindow)() && e instanceof m.Event) && (n.originalEvent = e, n.currentTarget = void 0), e instanceof D.Event || (0, a.extend)(n, { isPropagationStopped: function () { return !!(i || n.originalEvent && n.originalEvent.propagationStopped) }, stopPropagation: function () { i = !0, n.originalEvent && n.originalEvent.stopPropagation() }, isImmediatePropagationStopped: function () { return o }, stopImmediatePropagation: function () { this.stopPropagation(), o = !0, n.originalEvent && n.originalEvent.stopImmediatePropagation() }, isDefaultPrevented: function () { return !!(r || n.originalEvent && n.originalEvent.defaultPrevented) }, preventDefault: function () { r = !0, n.originalEvent && n.originalEvent.preventDefault() } }), L("which", V, n), 0 === e.type.indexOf("touch") && (delete t.pageX, delete t.pageY), (0, a.extend)(n, t), n.guid = ++S }))), (0, h.default)(L); var H = (0, d.default)(), z = (0, d.default)(); D.set = function (e) { H.fire(), D.inject(e), q(e.Event), z.fire() }, D.subscribeGlobal = function () { T(arguments, P((function () { var e = arguments; D.on.apply(this, e), H.add((function () { var t = Array.prototype.slice.call(e, 0); t.splice(3, 1), D.off.apply(this, t) })), z.add((function () { D.on.apply(this, e) })) }))) }, D.forcePassiveFalseEventNames = w, D.passiveEventHandlersSupported = O; var N = D; t.default = N, e.exports = t.default }, function (e, t, n) { "use strict"; t.fromPromise = d, t.setStrategy = function (e) { l = e.Deferred, c = e.when }, t.Deferred = function () { return new l }, t.when = function () { return c.apply(this, arguments) }; var i, a = n(0), o = n(1), s = (i = n(26)) && i.__esModule ? i : { default: i }; var r = [{ method: "resolve", handler: "done", state: "resolved" }, { method: "reject", handler: "fail", state: "rejected" }, { method: "notify", handler: "progress" }], l = function () { var e = this; this._state = "pending", this._promise = {}, r.forEach(function (t) { var n = t.method; this[n + "Callbacks"] = new s.default, this[n] = function () { return this[n + "With"](this._promise, arguments) }.bind(this), this._promise[t.handler] = function (t) { if (!t) return this; var i = e[n + "Callbacks"]; return i.fired() ? t.apply(e[n + "Context"], e[n + "Args"]) : i.add(function (e, n) { t.apply(e, n) }.bind(this)), this } }.bind(this)), this._promise.always = function (e) { return this.done(e).fail(e) }, this._promise.catch = function (e) { return this.then(null, e) }, this._promise.then = function (e, t) { var n = new l; return ["done", "fail"].forEach(function (i) { var o = "done" === i ? e : t; this[i]((function () { if (o) { var e = o && o.apply(this, arguments); (0, a.isDeferred)(e) ? e.done(n.resolve).fail(n.reject) : (0, a.isPromise)(e) ? e.then(n.resolve, n.reject) : n.resolve.apply(this, (0, a.isDefined)(e) ? [e] : arguments) } else n["done" === i ? "resolve" : "reject"].apply(this, arguments) })) }.bind(this)), n.promise() }, this._promise.state = function () { return e._state }, this._promise.promise = function (t) { return t ? (0, o.extend)(t, e._promise) : e._promise }, this._promise.promise(this) }; function d(e, t) { if ((0, a.isDeferred)(e)) return e; if ((0, a.isPromise)(e)) { var n = new l; return e.then((function () { n.resolveWith.apply(n, [t].concat([[].slice.call(arguments)])) }), (function () { n.rejectWith.apply(n, [t].concat([[].slice.call(arguments)])) })), n } return (new l).resolveWith(t, [e]) } r.forEach((function (e) { var t = e.method, n = e.state; l.prototype[t + "With"] = function (e, i) { var a = this[t + "Callbacks"]; return "pending" === this.state() && (this[t + "Args"] = i, this[t + "Context"] = e, n && (this._state = n), a.fire(e, i)), this } })); var c = function () { if (1 === arguments.length) return d(arguments[0]); for (var e = [].slice.call(arguments), t = [], n = 0, i = new l, o = function (a) { return function (o) { t[a] = this, e[a] = arguments.length > 1 ? [].slice.call(arguments) : o, ++n === e.length && i.resolveWith(t, e) } }, s = 0; s < e.length; s++)(0, a.isDeferred)(e[s]) ? e[s].promise().done(o(s)).fail(i.reject) : n++; return n === e.length && i.resolveWith(t, e), i.promise() } }, function (e, t, n) { "use strict"; t.getNavigator = t.getCurrentScreenFactor = t.defaultScreenFactorFunc = t.hasProperty = t.getWindow = t.hasWindow = void 0; var i, a = (i = n(9)) && i.__esModule ? i : { default: i }; var o = function () { return "undefined" != typeof window }; t.hasWindow = o; var s = o() && window; s || ((s = {}).window = s); t.getWindow = function () { return s }; t.hasProperty = function (e) { return o() && e in s }; var r = function (e) { return e < 768 ? "xs" : e < 992 ? "sm" : e < 1200 ? "md" : "lg" }; t.defaultScreenFactorFunc = r; t.getCurrentScreenFactor = function (e) { return (e || r)(a.default.getDocumentElement().clientWidth) }; t.getNavigator = function () { return o() ? s.navigator : { userAgent: "" } } }, function (e, t, n) { "use strict"; t.isCommandKeyPressed = t.addNamespace = t.getChar = t.normalizeKeyName = t.fireEvent = t.createEvent = t.setEventFixMethod = t.needSkipEvent = t.stopEventsSkipping = t.forceSkipEvents = t.hasTouches = t.eventDelta = t.eventData = t.isFakeClickEvent = t.isKeyboardEvent = t.isTouchEvent = t.isDxMouseWheelEvent = t.isMouseEvent = t.isPointerEvent = t.eventSource = void 0; var i = d(n(2)), a = d(n(278)), o = d(n(5)), s = n(3), r = n(1), l = n(51); function d(e) { return e && e.__esModule ? e : { default: e } } var c = { backspace: "backspace", tab: "tab", enter: "enter", escape: "escape", pageup: "pageUp", pagedown: "pageDown", end: "end", home: "home", arrowleft: "leftArrow", arrowup: "upArrow", arrowright: "rightArrow", arrowdown: "downArrow", delete: "del", " ": "space", f: "F", a: "A", "*": "asterisk", "-": "minus", alt: "alt", control: "control", shift: "shift", left: "leftArrow", up: "upArrow", right: "rightArrow", down: "downArrow", multiply: "asterisk", spacebar: "space", del: "del", subtract: "minus", esc: "escape" }, u = { 8: "backspace", 9: "tab", 13: "enter", 27: "escape", 33: "pageUp", 34: "pageDown", 35: "end", 36: "home", 37: "leftArrow", 38: "upArrow", 39: "rightArrow", 40: "downArrow", 46: "del", 32: "space", 70: "F", 65: "A", 106: "asterisk", 109: "minus", 189: "minus", 173: "minus", 16: "shift", 17: "control", 18: "alt" }, h = { dx: /^dx/i, mouse: /(mouse|wheel)/i, touch: /^touch/i, keyboard: /^key/i, pointer: /^(ms)?pointer/i }, f = function (e) { return e }, p = function (e) { return "dx" === m(e) }, g = function (e) { return "touch" === m(e) }, m = function (e) { var t = e.type, n = "other"; return (0, s.each)(h, (function (e) { if (this.test(t)) return n = e, !1 })), n }; t.eventSource = m; var _ = function (e) { return "pointer" === m(e) }; t.isPointerEvent = _; var v = function (e) { return function (e) { return "mouse" === m(e) }(e) || (_(e) || p(e)) && "mouse" === e.pointerType }; t.isMouseEvent = v; var y = function (e) { return e && "dxmousewheel" === e.type }; t.isDxMouseWheelEvent = y; var w = function (e) { return g(e) || (_(e) || p(e)) && "touch" === e.pointerType }; t.isTouchEvent = w; t.isKeyboardEvent = function (e) { return "keyboard" === m(e) }; t.isFakeClickEvent = function (e) { var t = e.screenX, n = e.offsetX, i = e.pageX; return 0 === t && !n && 0 === i }; t.eventData = function (e) { return { x: e.pageX, y: e.pageY, time: e.timeStamp } }; t.eventDelta = function (e, t) { return { x: t.x - e.x, y: t.y - e.y, time: t.time - e.time || 1 } }; t.hasTouches = function (e) { var t = e.originalEvent, n = e.pointers; return g(e) ? (t.touches || []).length : p(e) ? (n || []).length : 0 }; var x = !1; t.forceSkipEvents = function () { return x = !0 }; t.stopEventsSkipping = function () { return x = !1 }; t.needSkipEvent = function (e) { if (x) return !0; var t = e.target, n = (0, i.default)(t), a = n.is("input, textarea, select"); return !!n.is(".dx-skip-gesture-event *, .dx-skip-gesture-event") || (y(e) ? (!n.is("textarea") || !n.hasClass("dx-texteditor-input")) && (!t.isContentEditable && !t.hasAttribute("contenteditable") && (n.is("input[type='number'], textarea, select") && n.is(":focus"))) : v(e) ? a || e.which > 1 : w(e) ? a && (0, l.focused)(n) : void 0) }; t.setEventFixMethod = function (e) { return f = e }; var b = function (e, t) { var n = function (e) { return f(o.default.Event(e, e), e) }(e); return t && (0, r.extend)(n, t), n }; t.createEvent = b; t.fireEvent = function (e) { var t = e.originalEvent, n = e.delegateTarget, i = b(t, e); return o.default.trigger(n || i.target, i), i }; t.normalizeKeyName = function (e) { var t = e.key, n = e.which, i = !!t; if (t = i ? t : n) return t = i ? c[t.toLowerCase()] || t : u[t] || String.fromCharCode(t) }; t.getChar = function (e) { var t = e.key, n = e.which; return t || String.fromCharCode(n) }; var C = a.default; t.addNamespace = C; t.isCommandKeyPressed = function (e) { var t = e.ctrlKey, n = e.metaKey; return t || n } }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(48)) && i.__esModule ? i : { default: i }, o = n(4); function s(e) { return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var r = { querySelectorAll: function (e, t) { return e.querySelectorAll(t) }, elementMatches: function (e, t) { var n = this; return (e.matches || e.matchesSelector || e.mozMatchesSelector || e.msMatchesSelector || e.oMatchesSelector || e.webkitMatchesSelector || function (t) { var i = e.document || e.ownerDocument; if (!i) return !1; for (var a = n.querySelectorAll(i, t), o = 0; o < a.length; o++)if (a[o] === e) return !0 }).call(e, t) }, createElement: function (e, t) { return (t = t || this._document).createElement(e) }, createElementNS: function (e, t, n) { return (n = n || this._document).createElementNS(e, t) }, createTextNode: function (e, t) { return (t = t || this._document).createTextNode(e) }, isNode: function (e) { return "object" === s(e) && "nodeType" in e }, isElementNode: function (e) { return e && 1 === e.nodeType }, isTextNode: function (e) { return e && 3 === e.nodeType }, isDocument: function (e) { return e && 9 === e.nodeType }, removeElement: function (e) { var t = e && e.parentNode; t && t.removeChild(e) }, insertElement: function (e, t, n) { e && t && e !== t && (n ? e.insertBefore(t, n) : e.appendChild(t)) }, getAttribute: function (e, t) { return e.getAttribute(t) }, setAttribute: function (e, t, n) { e.setAttribute(t, n) }, removeAttribute: function (e, t) { e.removeAttribute(t) }, setProperty: function (e, t, n) { e[t] = n }, setText: function (e, t) { e && (e.textContent = t) }, setClass: function (e, t, n) { if (1 === e.nodeType && t) if (e.classList) n ? e.classList.add(t) : e.classList.remove(t); else { var i, a = "string" == typeof e.className, o = a ? e.className : this.getAttribute(e, "class") || "", s = o.split(" "), r = s.indexOf(t); n && r < 0 && (i = o ? o + " " + t : t), !n && r >= 0 && (s.splice(r, 1), i = s.join(" ")), void 0 !== i && (a ? e.className = i : this.setAttribute(e, "class", i)) } }, setStyle: function (e, t, n) { e.style[t] = n || "" }, _document: "undefined" == typeof document ? void 0 : document, getDocument: function () { return this._document }, getActiveElement: function () { return this._document.activeElement }, getBody: function () { return this._document.body }, createDocumentFragment: function () { return this._document.createDocumentFragment() }, getDocumentElement: function () { return this._document.documentElement }, getLocation: function () { return this._document.location }, getSelection: function () { return this._document.selection }, getReadyState: function () { return this._document.readyState }, getHead: function () { return this._document.head }, hasDocumentProperty: function (e) { return e in this._document }, listen: function (e, t, n, i) { return e && "addEventListener" in e ? (e.addEventListener(t, n, i), function () { e.removeEventListener(t, n) }) : o.noop } }, l = (0, a.default)(r); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(48)), o = n(1), s = n(3), r = n(31), l = n(43), d = u(n(65)), c = u(n(264)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, o.extend)(!0, {}, c.default), f = {}, p = (0, a.default)({ engine: function () { return "base" }, _dictionary: h, load: function (e) { (0, o.extend)(!0, this._dictionary, e) }, _localizablePrefix: "@", setup: function (e) { this._localizablePrefix = e }, localizeString: function (e) { var t = this, n = new RegExp("(^|[^a-zA-Z_0-9" + t._localizablePrefix + "-]+)(" + t._localizablePrefix + "{1,2})([a-zA-Z_0-9-]+)", "g"), i = t._localizablePrefix + t._localizablePrefix; return e.replace(n, (function (e, n, a, o) { var s, r = t._localizablePrefix + o; return a !== i && (s = t.format(o)), s || (f[o] = (0, l.humanize)(o)), n + (s || r) })) }, localizeNode: function (e) { var t = this; (0, i.default)(e).each((function (e, n) { n.nodeType && (3 === n.nodeType ? n.nodeValue = t.localizeString(n.nodeValue) : (0, i.default)(n).is("iframe") || ((0, s.each)(n.attributes || [], (function (e, n) { if ("string" == typeof n.value) { var i = t.localizeString(n.value); n.value !== i && (n.value = i) } })), (0, i.default)(n).contents().each((function (e, n) { t.localizeNode(n) })))) })) }, getMessagesByLocales: function () { return this._dictionary }, getDictionary: function (e) { return e ? f : (0, o.extend)({}, f, this.getMessagesByLocales()[d.default.locale()]) }, getFormatter: function (e) { return this._getFormatterBase(e) || this._getFormatterBase(e, "en") }, _getFormatterBase: function (e, t) { var n = this, i = d.default.getValueByClosestLocale((function (t) { return function (e, t) { return e[t] || {} }(n._dictionary, t)[e] })); if (i) return function () { var e = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0); return e.unshift(i), r.format.apply(this, e) } }, format: function (e) { var t = this.getFormatter(e), n = Array.prototype.slice.call(arguments, 1); return t && t.apply(this, n) || "" } }); t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(2)), a = r(n(187)), o = r(n(21)), s = n(99); function r(e) { return e && e.__esModule ? e : { default: e } } a.default.add((function (e, t) { i.default.fn[e] = function (n) { var i, a = "string" == typeof n; if (a) { var s = n, r = [].slice.call(arguments).slice(1); this.each((function () { var n = t.getInstance(this); if (!n) throw o.default.Error("E0009", e); var a = n[s].apply(n, r); void 0 === i && (i = a) })) } else this.each((function () { var e = t.getInstance(this); e ? e.option(n) : new t(this, n) })), i = this; return i } })); var l = function (e, t, n) { n ? t[e] = n : n = t, (0, s.name)(n, e), a.default.fire(e, n) }; t.default = l, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = n(7), o = n(1), s = n(0), r = n(3), l = m(n(21)), d = m(n(26)), c = m(n(45)), u = m(n(118)), h = n(90), f = n(185), p = n(74), g = m(n(27)); function m(e) { return e && e.__esModule ? e : { default: e } } function _(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var v = (0, a.getNavigator)(), y = (0, a.getWindow)(), w = { iPhone: "iPhone", iPhone5: "iPhone", iPhone6: "iPhone", iPhone6plus: "iPhone", iPad: "iPad", iPadMini: "iPad Mini", androidPhone: "Android Mobile", androidTablet: "Android", msSurface: "Windows ARM Tablet PC", desktop: "desktop" }, x = { deviceType: "desktop", platform: "generic", version: [], phone: !1, tablet: !1, android: !1, ios: !1, generic: !0, grade: "A", mac: !1 }, b = { generic: function (e) { var t = /windows phone/i.test(e) || e.match(/WPDesktop/), n = !t && /Windows(.*)arm(.*)Tablet PC/i.test(e), i = !t && !n && /msapphost/i.test(e), a = /((intel|ppc) mac os x)/.test(e.toLowerCase()); if (t || n || i || a) return { deviceType: t ? "phone" : n ? "tablet" : "desktop", platform: "generic", version: [], grade: "A", mac: a } }, ios: function (e) { if (/ip(hone|od|ad)/i.test(e)) { var t = /ip(hone|od)/i.test(e), n = e.match(/os (\d+)_(\d+)_?(\d+)?/i); return { deviceType: t ? "phone" : "tablet", platform: "ios", version: n ? [parseInt(n[1], 10), parseInt(n[2], 10), parseInt(n[3] || 0, 10)] : [], grade: 480 === y.screen.height ? "B" : "A" } } }, android: function (e) { if (/android|htc_|silk/i.test(e)) { var t = /mobile/i.test(e), n = e.match(/android (\d+)\.?(\d+)?\.?(\d+)?/i), i = n ? [parseInt(n[1], 10), parseInt(n[2] || 0, 10), parseInt(n[3] || 0, 10)] : []; return { deviceType: t ? "phone" : "tablet", platform: "android", version: i, grade: i.length > 1 && (i[0] < 4 || 4 === i[0] && i[1] < 4) ? "B" : "A" } } } }, C = new (function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._window = (null == t ? void 0 : t.window) || y, this._realDevice = this._getDevice(), this._currentDevice = void 0, this._currentOrientation = void 0, this._eventsStrategy = new h.EventsStrategy(this), this.changed = (0, d.default)(), (0, a.hasWindow)() && (c.default.add(this._recalculateOrientation.bind(this)), u.default.add(this._recalculateOrientation.bind(this))) } var t, n, p; return t = e, (n = [{ key: "current", value: function (e) { if (e) return this._currentDevice = this._getDevice(e), this._forced = !0, void this.changed.fire(); if (!this._currentDevice) { e = void 0; try { e = this._getDeviceOrNameFromWindowScope() } catch (t) { e = this._getDeviceNameFromSessionStorage() } finally { e || (e = this._getDeviceNameFromSessionStorage()), e && (this._forced = !0) } this._currentDevice = this._getDevice(e) } return this._currentDevice } }, { key: "real", value: function (e) { return (0, o.extend)({}, this._realDevice) } }, { key: "orientation", value: function () { return this._currentOrientation } }, { key: "isForced", value: function () { return this._forced } }, { key: "isRippleEmulator", value: function () { return !!this._window.tinyHippos } }, { key: "_getCssClasses", value: function (e) { var t = [], n = this._realDevice; return (e = e || this.current()).deviceType && (t.push("dx-device-".concat(e.deviceType)), "desktop" !== e.deviceType && t.push("dx-device-mobile")), t.push("dx-device-".concat(n.platform)), n.version && n.version.length && t.push("dx-device-".concat(n.platform, "-").concat(n.version[0])), this.isSimulator() && t.push("dx-simulator"), (0, g.default)().rtlEnabled && t.push("dx-rtl"), t } }, { key: "attachCssClasses", value: function (e, t) { this._deviceClasses = this._getCssClasses(t).join(" "), (0, i.default)(e).addClass(this._deviceClasses) } }, { key: "detachCssClasses", value: function (e) { (0, i.default)(e).removeClass(this._deviceClasses) } }, { key: "isSimulator", value: function () { try { return this._isSimulator || (0, a.hasWindow)() && this._window.top !== this._window.self && this._window.top["dx-force-device"] || this.isRippleEmulator() } catch (e) { return !1 } } }, { key: "forceSimulator", value: function () { this._isSimulator = !0 } }, { key: "_getDevice", value: function (e) { if ("genericPhone" === e && (e = { deviceType: "phone", platform: "generic", generic: !0 }), (0, s.isPlainObject)(e)) return this._fromConfig(e); var t; if (e) { if (!(t = w[e])) throw l.default.Error("E0005") } else t = v.userAgent; return this._fromUA(t) } }, { key: "_getDeviceOrNameFromWindowScope", value: function () { var e; return (0, a.hasWindow)() && (this._window.top["dx-force-device-object"] || this._window.top["dx-force-device"]) && (e = this._window.top["dx-force-device-object"] || this._window.top["dx-force-device"]), e } }, { key: "_getDeviceNameFromSessionStorage", value: function () { var e = (0, f.sessionStorage)(); if (e) { var t = e.getItem("dx-force-device"); try { return JSON.parse(t) } catch (e) { return t } } } }, { key: "_fromConfig", value: function (e) { var t = (0, o.extend)({}, x, this._currentDevice, e), n = { phone: "phone" === t.deviceType, tablet: "tablet" === t.deviceType, android: "android" === t.platform, ios: "ios" === t.platform, generic: "generic" === t.platform }; return (0, o.extend)(t, n) } }, { key: "_fromUA", value: function (e) { var t; return (0, r.each)(b, (function (n, i) { return !(t = i(e)) })), t ? this._fromConfig(t) : x } }, { key: "_changeOrientation", value: function () { var e = (0, i.default)(this._window), t = e.height() > e.width() ? "portrait" : "landscape"; this._currentOrientation !== t && (this._currentOrientation = t, this._eventsStrategy.fireEvent("orientationChanged", [{ orientation: t }])) } }, { key: "_recalculateOrientation", value: function () { var e = (0, i.default)(this._window).width(); this._currentWidth !== e && (this._currentWidth = e, this._changeOrientation()) } }, { key: "on", value: function (e, t) { return this._eventsStrategy.on(e, t), this } }, { key: "off", value: function (e, t) { return this._eventsStrategy.off(e, t), this } }]) && _(t.prototype, n), p && _(t, p), e }()); p.changeCallback.add((function (e, t) { C.detachCssClasses(t), C.attachCssClasses(e) })); var k = C; t.default = k, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(21)) && i.__esModule ? i : { default: i }, o = n(0); var s, r = function (e, t, n) { return function () { var i = this.callBase; this.callBase = e[t]; try { return n.apply(this, arguments) } finally { this.callBase = i } } }, l = function (e) { var t, n, i; if (!e) return this; for (n in e) i = e[n], t = "function" == typeof this.prototype[n] && "function" == typeof i, this.prototype[n] = t ? r(this.parent.prototype, n, i) : i; return this }, d = function () { var e, t, n, i = this, a = Object.prototype.hasOwnProperty.bind(i), o = !a("_includedCtors") && !a("_includedPostCtors"); for (o && (i._includedCtors = i._includedCtors.slice(0), i._includedPostCtors = i._includedPostCtors.slice(0)), n = 0; n < arguments.length; n++)for (t in (e = arguments[n]).ctor && i._includedCtors.push(e.ctor), e.postCtor && i._includedPostCtors.push(e.postCtor), e) "ctor" !== t && "postCtor" !== t && (i.prototype[t] = e[t]); return i }, c = function (e) { if (!Object.prototype.hasOwnProperty.bind(this)("parent") && this.parent) { var t = Object.getPrototypeOf(this); return t === e || t.subclassOf(e) } return this.parent === e || !(!this.parent || !this.parent.subclassOf) && this.parent.subclassOf(e) }, u = function () { throw a.default.Error("E0001") }, h = (s = Object.prototype.hasOwnProperty, function (e, t) { for (var n in e) { if (!s.call(e, n)) return; t[n] = e[n] } }), f = function () { }; f.inherit = function (e) { var t = function () { if (!this || (0, o.isWindow)(this) || "function" != typeof this.constructor) throw a.default.Error("E0003"); var e, t = this, n = t.ctor, i = t.constructor._includedCtors, s = t.constructor._includedPostCtors; for (e = 0; e < i.length; e++)i[e].call(t); for (n && n.apply(t, arguments), e = 0; e < s.length; e++)s[e].call(t) }; return t.prototype = function (e) { var t = function () { }; return t.prototype = e.prototype, new t }(this), h(this, t), t.inherit = this.inherit, t.abstract = u, t.redefine = l, t.include = d, t.subclassOf = c, t.parent = this, t._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [], t._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [], t.prototype.constructor = t, t.redefine(e), t }, f.abstract = u; var p = f; t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.groupBy = t.find = t.merge = t.normalizeIndexes = t.removeDuplicates = t.intersection = t.inArray = t.wrapToArray = t.isEmpty = void 0; var i, a = n(0), o = n(3), s = n(95), r = (i = n(27)) && i.__esModule ? i : { default: i }; function l(e) { return function (e) { if (Array.isArray(e)) return d(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return d(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return d(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function d(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function c(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, i) } return n } function u(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? c(Object(n), !0).forEach((function (t) { h(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : c(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function h(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } t.isEmpty = function (e) { return Array.isArray(e) && !e.length }; t.wrapToArray = function (e) { return Array.isArray(e) ? e : [e] }; var f = function (e, t) { return t ? (Array.isArray(t) ? t : t.toArray()).indexOf(e) : -1 }; t.inArray = f; t.intersection = function (e, t) { if (!Array.isArray(e) || 0 === e.length || !Array.isArray(t) || 0 === t.length) return []; var n = []; return (0, o.each)(e, (function (e, i) { -1 !== f(i, t) && n.push(i) })), n }; t.removeDuplicates = function (e, t) { if (!Array.isArray(e) || 0 === e.length) return []; if (!Array.isArray(t) || 0 === t.length) return e.slice(); var n = []; return (0, o.each)(e, (function (e, i) { -1 === f(i, t) && n.push(i) })), n }; t.normalizeIndexes = function (e, t, n, i) { var l = {}, d = 0, c = (0, r.default)().useLegacyVisibleIndex; return (0, o.each)(e, (function (e, i) { (e = i[t]) >= 0 ? (l[e] = l[e] || [], i === n ? l[e].unshift(i) : l[e].push(i)) : i[t] = void 0 })), c || (0, o.each)(e, (function () { if (!(0, a.isDefined)(this[t]) && (!i || i(this))) { for (; l[d];)d++; l[d] = [this], d++ } })), d = 0, (0, s.orderEach)(l, (function (e, n) { (0, o.each)(n, (function () { e >= 0 && (this[t] = d++) })) })), c && (0, o.each)(e, (function () { (0, a.isDefined)(this[t]) || i && !i(this) || (this[t] = d++) })), d }; t.merge = function (e, t) { for (var n = 0; n < t.length; n++)e[e.length] = t[n]; return e }; t.find = function (e, t) { for (var n = 0; n < e.length; n++)if (t(e[n])) return e[n] }; t.groupBy = function (e, t) { return e.reduce((function (e, n) { return u(u({}, e), {}, h({}, t(n), [].concat(l(e[t(n)] || []), [n]))) }), {}) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = (0, n(7).getNavigator)(), o = /(webkit)[ /]([\w.]+)/, s = /(msie) (\d{1,2}\.\d)/, r = /(trident).*rv:(\d{1,2}\.\d)/, l = /(edge)\/((\d+)?[\w.]+)/, d = /(mozilla)(?:.*? rv:([\w.]+))/, c = function (e) { e = e.toLowerCase(); var t = {}, n = s.exec(e) || r.exec(e) || l.exec(e) || e.indexOf("compatible") < 0 && d.exec(e) || o.exec(e) || [], i = n[1], a = n[2]; return "webkit" === i && (t.webkit = !0, e.indexOf("chrome") >= 0 || e.indexOf("crios") >= 0 ? (i = "chrome", a = (a = /(?:chrome|crios)\/(\d+\.\d+)/.exec(e)) && a[1]) : e.indexOf("fxios") >= 0 ? (i = "mozilla", a = (a = /fxios\/(\d+\.\d+)/.exec(e)) && a[1]) : e.indexOf("safari") >= 0 && /version|phantomjs/.test(e) ? (i = "safari", a = (a = /(?:version|phantomjs)\/([0-9.]+)/.exec(e)) && a[1]) : (i = "unknown", a = (a = /applewebkit\/([0-9.]+)/.exec(e)) && a[1])), "trident" !== i && "edge" !== i || (i = "msie"), i && (t[i] = !0, t.version = a), t }, u = (0, i.extend)({ _fromUA: c }, c(a.userAgent)); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(1), o = (i = n(24)) && i.__esModule ? i : { default: i }; var s = (0, a.extend)({}, o.default, { modules: [], foreachNodes: function (e, t) { for (var n = 0; n < e.length; n++)!1 !== t(e[n]) && e[n].hasChildren && e[n].children.length && this.foreachNodes(e[n].children, t) } }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(115)), a = o(n(21)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = (0, i.default)(a.default.ERROR_MESSAGES, { E1001: "Module '{0}'. Controller '{1}' is already registered", E1002: "Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller", E1003: "Module '{0}'. View '{1}' is already registered", E1004: "Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View", E1005: "Public method '{0}' is already registered", E1006: "Public method '{0}.{1}' does not exist", E1007: "State storing cannot be provided due to the restrictions of the browser", E1010: "The template does not contain the TextBox widget", E1011: 'Items cannot be deleted from the List. Implement the "remove" function in the data store', E1012: "Editing type '{0}' with the name '{1}' is unsupported", E1016: "Unexpected type of data source is provided for a lookup column", E1018: "The 'collapseAll' method cannot be called if you use a remote data source", E1019: "Search mode '{0}' is unavailable", E1020: "The type cannot be changed after initialization", E1021: "{0} '{1}' you are trying to remove does not exist", E1022: 'The "markers" option is given an invalid value. Assign an array instead', E1023: 'The "routes" option is given an invalid value. Assign an array instead', E1025: "This layout is too complex to render", E1026: 'The "calculateCustomSummary" function is missing from a field whose "summaryType" option is set to "custom"', E1030: "Unknown ScrollView refresh strategy: '{0}'", E1031: "Unknown subscription in the Scheduler widget: '{0}'", E1032: "Unknown start date in an appointment: '{0}'", E1033: "Unknown step in the date navigator: '{0}'", E1034: "The browser does not implement an API for saving files", E1035: "The editor cannot be created because of an internal error: {0}", E1037: "Invalid structure of grouped data", E1038: "The browser does not support local storages for local web pages", E1039: "A cell's position cannot be calculated", E1040: "The '{0}' key value is not unique within the data array", E1041: "The '{0}' script is referenced after the DevExtreme scripts or not referenced at all", E1042: "{0} requires the key field to be specified", E1043: "Changes cannot be processed due to the incorrectly set key", E1044: "The key field specified by the keyExpr option does not match the key field specified in the data store", E1045: "Editing requires the key field to be specified in the data store", E1046: "The '{0}' key field is not found in data objects", E1047: 'The "{0}" field is not found in the fields array', E1048: 'The "{0}" operation is not found in the filterOperations array', E1049: "Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified", E1050: "The validationRules option does not apply to third-party editors defined in the editCellTemplate", E1051: 'HtmlEditor\'s valueType is "{0}", but the {0} converter was not imported.', E1052: '{0} should have the "dataSource" option specified', E1053: 'The "buttons" option accepts an array that contains only objects or string values', E1054: "All text editor buttons must have names", E1055: 'One or several text editor buttons have invalid or non-unique "name" values', E1056: 'The {0} widget does not support buttons of the "{1}" type', E1058: 'The "startDayHour" must be earlier than the "endDayHour"', E1059: "The following column names are not unique: {0}", E1060: "All editable columns must have names", W1001: 'The "key" option cannot be modified after initialization', W1002: "An item with the key '{0}' does not exist", W1003: "A group with the key '{0}' in which you are trying to select items does not exist", W1004: "The item '{0}' you are trying to select in the group '{1}' does not exist", W1005: "Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.", W1006: "The map service returned the following error: '{0}'", W1007: "No item with key {0} was found in the data source, but this key was used as the parent key for item {1}", W1008: "Cannot scroll to the '{0}' date because it does not exist on the current view", W1009: "Searching works only if data is specified using the dataSource option", W1010: "The capability to select all items works with source data of plain structure only", W1011: 'The "keyExpr" option is not applied when dataSource is not an array', W1012: "The '{0}' key field is not found in data objects", W1013: 'The "message" field in the dialog component was renamed to "messageHtml". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure', W1014: "The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.", W1015: 'The "cellDuration" should divide the range from the "startDayHour" to the "endDayHour" into even intervals' }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.getPublicElement = function (e) { return i(e) }, t.setPublicElementWrapper = function (e) { i = e }; var i = function (e) { return e && e.get(0) } }, function (e, t, n) { "use strict"; t.name = void 0; var i = g(n(2)), a = g(n(5)), o = g(n(12)), s = g(n(9)), r = n(28), l = n(103), d = n(8), c = n(289), u = g(n(23)), h = g(n(105)), f = g(n(76)), p = n(67); function g(e) { return e && e.__esModule ? e : { default: e } } t.name = "dxclick"; var m = Math.abs, _ = function (e) { return (0, i.default)(e).is("input, textarea, select, button ,:focus, :focus *") }, v = { requestAnimationFrame: l.requestAnimationFrame, cancelAnimationFrame: l.cancelAnimationFrame }, y = h.default.inherit({ ctor: function (e) { this.callBase(e), this._makeElementClickable((0, i.default)(e)) }, _makeElementClickable: function (e) { e.attr("onclick") || e.attr("onclick", "void(0)") }, start: function (e) { this._blurPrevented = e.isDefaultPrevented(), this._startTarget = e.target, this._startEventData = (0, d.eventData)(e) }, end: function (e) { this._eventOutOfElement(e, this.getElement().get(0)) || e.type === u.default.cancel ? this._cancel(e) : (_(e.target) || this._blurPrevented || (0, r.resetActiveElement)(), this._accept(e), this._clickAnimationFrame = v.requestAnimationFrame(function () { this._fireClickEvent(e) }.bind(this))) }, _eventOutOfElement: function (e, t) { var n = e.target, i = !(0, r.contains)(t, n) && t !== n, a = (0, d.eventDelta)((0, d.eventData)(e), this._startEventData), o = m(a.x) > 10 || m(a.y) > 10; return i || o }, _fireClickEvent: function (e) { this._fireEvent("dxclick", e, { target: (0, r.closestCommonParent)(this._startTarget, e.target) }) }, dispose: function () { v.cancelAnimationFrame(this._clickAnimationFrame) } }), w = o.default.real(), x = w.generic || w.ios && (0, p.compare)(w.version, [9, 3]) >= 0 || w.android && (0, p.compare)(w.version, [5]) >= 0; !function () { var e = function (e) { return x || (0, i.default)(e).closest(".dx-native-click").length }, t = null, n = null; function o() { n = null } var s = function (i) { var a = i.originalEvent, s = n === a || a && a.DXCLICK_FIRED; (!i.which || 1 === i.which) && !t && e(i.target) && !s && (a && (a.DXCLICK_FIRED = !0), (0, c.unsubscribeNodesDisposing)(n, o), n = a, (0, c.subscribeNodesDisposing)(n, o), (0, d.fireEvent)({ type: "dxclick", originalEvent: i })) }; y = y.inherit({ _makeElementClickable: function (t) { e(t) || this.callBase(t), a.default.on(t, "click", s) }, configure: function (e) { this.callBase(e), e.useNative && this.getElement().addClass("dx-native-click") }, start: function (n) { t = null, e(n.target) || this.callBase(n) }, end: function (t) { e(t.target) || this.callBase(t) }, cancel: function () { t = !0 }, dispose: function () { this.callBase(), a.default.off(this.getElement(), "click", s) } }) }(), function () { if (!o.default.real().generic) { var e = null, t = !1, n = s.default.getDocument(); a.default.subscribeGlobal(n, (0, d.addNamespace)(u.default.down, "NATIVE_CLICK_FIXER"), (function (n) { e = n.target, t = n.isDefaultPrevented() })), a.default.subscribeGlobal(n, (0, d.addNamespace)("click", "NATIVE_CLICK_FIXER"), (function (n) { var a = (0, i.default)(n.target); t || !e || a.is(e) || (0, i.default)(e).is("label") || !_(a) || (0, r.resetActiveElement)(), e = null, t = !1 })) } }(), (0, f.default)({ emitter: y, bubble: !0, events: ["dxclick"] }) }, function (e, t, n) { "use strict"; t.toComparable = t.compileSetter = t.compileGetter = void 0; var i = d(n(21)), a = d(n(13)), o = n(95), s = n(0), r = n(3), l = d(n(73)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = l.default.unwrap, u = l.default.isWrapped, h = l.default.assign, f = function (e) { return e.replace(/\[/g, ".").replace(/\]/g, "") }, p = function (e, t, n, a) { if ("this" === t) throw new i.default.Error("E4016"); var o = e[t]; a.unwrapObservables && u(o) ? h(o, n) : e[t] = n }, g = function (e) { return (e = e || {}).unwrapObservables = void 0 === e.unwrapObservables || e.unwrapObservables, e }; function m(e, t) { return t.unwrapObservables ? c(e) : e } var _ = function (e) { if (arguments.length > 1 && (e = [].slice.call(arguments)), !e || "this" === e) return function (e) { return e }; if ("string" == typeof e) { var t = (e = f(e)).split("."); return function (e, n) { for (var i = (n = g(n)).functionsAsIs, a = ("defaultValue" in n), o = m(e, n), r = 0; r < t.length; r++) { if (!o) { if (null == o && a) return n.defaultValue; break } var l = t[r]; if (a && (0, s.isObject)(o) && !(l in o)) return n.defaultValue; var d = m(o[l], n); !i && (0, s.isFunction)(d) && (d = d.call(o)), o = d } return o } } return Array.isArray(e) ? v(e) : (0, s.isFunction)(e) ? e : void 0 }; function v(e) { for (var t = {}, n = 0, i = e.length; n < i; n++) { var a = e[n]; t[a] = _(a) } return function (e, n) { var i; return (0, r.each)(t, (function (t) { var a = this(e, n); if (void 0 !== a) { for (var o = i || (i = {}), s = t.split("."), r = s.length - 1, l = 0; l < r; l++) { var d = s[l]; d in o || (o[d] = {}), o = o[d] } o[s[r]] = a } })), i } } t.compileGetter = _; var y = function (e, t, n, i) { if ((0, s.isDefined)(n)) return n; var a = {}; return p(e, t, a, i), a }; t.compileSetter = function (e) { var t = (e = f(e || "this").split(".")).length - 1; return function (n, i, a) { var r = m(n, a = g(a)); e.forEach((function (e, n) { var l = function (e, t, n) { return n = n || {}, m("this" === t ? e : e[t], n) }(r, e, a), d = !a.functionsAsIs && (0, s.isFunction)(l) && !u(l); n === t ? a.merge && (0, s.isPlainObject)(i) && (!(0, s.isDefined)(l) || (0, s.isPlainObject)(l)) ? (l = y(r, e, l, a), (0, o.deepExtendArraySafe)(l, i, !1, !0)) : d ? r[e](i) : p(r, e, i, a) : (l = y(r, e, l, a), d && (l = l.call(r)), r = l) })) } }; t.toComparable = function (e, t) { return e instanceof Date ? e.getTime() : e && e instanceof a.default && e.valueOf ? e.valueOf() : t || "string" != typeof e ? e : e.toLowerCase() } }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = (0, ((i = n(115)) && i.__esModule ? i : { default: i }).default)({ E0001: "Method is not implemented", E0002: "Member name collision: {0}", E0003: "A class must be instantiated using the 'new' keyword", E0004: "The NAME property of the component is not specified", E0005: "Unknown device", E0006: "Unknown endpoint key is requested", E0007: "'Invalidate' method is called outside the update transaction", E0008: "Type of the option name is not appropriate to create an action", E0009: "Component '{0}' has not been initialized for an element", E0010: "Animation configuration with the '{0}' type requires '{1}' configuration as {2}", E0011: "Unknown animation type '{0}'", E0012: "jQuery version is too old. Please upgrade jQuery to 1.10.0 or later", E0013: "KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later", E0014: "The 'release' method shouldn't be called for an unlocked Lock object", E0015: "Queued task returned an unexpected result", E0017: "Event namespace is not defined", E0018: "DevExpress.ui.DevExpressPopup widget is required", E0020: "Template engine '{0}' is not supported", E0021: "Unknown theme is set: {0}", E0022: "LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts", E0023: "Template name is not specified", E0024: "DevExtreme bundle already included", E0025: "Unexpected argument type", E0100: "Unknown validation type is detected", E0101: "Misconfigured range validation rule is detected", E0102: "Misconfigured comparison validation rule is detected", E0103: "validationCallback of an asynchronous rule should return a jQuery or a native promise", E0110: "Unknown validation group is detected", E0120: "Adapter for a DevExpressValidator component cannot be configured", E0121: "The 'customItem' field of the 'onCustomItemCreating' function's parameter should contain a custom item or Promise that is resolved after the item is created.", W0000: "'{0}' is deprecated in {1}. {2}", W0001: "{0} - '{1}' option is deprecated in {2}. {3}", W0002: "{0} - '{1}' method is deprecated in {2}. {3}", W0003: "{0} - '{1}' property is deprecated in {2}. {3}", W0004: "Timeout for theme loading is over: {0}", W0005: "'{0}' event is deprecated in {1}. {2}", W0006: "Invalid recurrence rule: '{0}'", W0007: "'{0}' Globalize culture is not defined", W0008: "Invalid view name: '{0}'", W0009: "Invalid time zone name: '{0}'", W0010: "{0} is deprecated in {1}. {2}", W0011: "Number parsing is invoked while the parser is not defined", W0012: "Date parsing is invoked while the parser is not defined", W0013: "'{0}' file is deprecated in {1}. {2}", W0014: "{0} - '{1}' type is deprecated in {2}. {3}", W0015: "Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.", W0016: 'The "{0}" option does not accept the "{1}" value since v.{2}. {3}.' }); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = n(0), o = n(6), s = v(n(109)), r = n(31), l = n(3), d = n(1), c = n(25), u = n(20), h = n(4), f = v(n(152)), p = v(n(42)), g = v(n(104)), m = n(7), _ = v(n(5)); function v(e) { return e && e.__esModule ? e : { default: e } } var y = { year: function (e) { return e && e.getFullYear() }, month: function (e) { return e && e.getMonth() + 1 }, day: function (e) { return e && e.getDate() }, quarter: function (e) { return e && Math.floor(e.getMonth() / 3) + 1 }, hour: function (e) { return e && e.getHours() }, minute: function (e) { return e && e.getMinutes() }, second: function (e) { return e && e.getSeconds() } }, w = function () { var e = arguments[1], t = this.calculateCellValue(e); if (!(0, a.isDefined)(t)) return null; if (x(this.dataType)) { var n = arguments[0]; return y[n](t) } if ("number" === this.dataType) { var i = arguments[0]; return Math.floor(Number(t) / i) * i } }; function x(e) { return "date" === e || "datetime" === e } var b = function (e) { e.get(0).textContent = " " }, C = function (e) { e = e || []; for (var t = p.default.normalizeSortingInfo(e), n = 0; n < e.length; n++)e && e[n] && void 0 !== e[n].isExpanded && (t[n].isExpanded = e[n].isExpanded), e && e[n] && void 0 !== e[n].groupInterval && (t[n].groupInterval = e[n].groupInterval); return t }, k = function (e, t) { var n = g.default.format(e, t.format) || e && e.toString() || "", i = { value: e, valueText: t.getDisplayFormat ? t.getDisplayFormat(n) : n, target: t.target || "row", groupInterval: t.groupInterval }; return t.customizeText ? t.customizeText.call(t, i) : i.valueText }, I = function (e, t) { var n = e.displayFormat || e.columnCaption && t[e.summaryType + "OtherColumn"] || t[e.summaryType]; return k(e.value, { format: e.valueFormat, getDisplayFormat: function (t) { return n ? (0, r.format)(n, t, e.columnCaption) : t }, customizeText: e.customizeText }) }, S = function (e) { var t = e.data && e.data(), n = t && t.dxComponents, i = n && n[0]; return i && t[i] }, E = { renderNoDataText: function (e) { if (e = e || this.element()) { var t = this.addWidgetPrefix("nodata"), n = e.find("." + t).last(), a = this._dataController.isEmpty(), o = this._dataController.isLoading(); n.length || (n = (0, i.default)("<span>").addClass(t).appendTo(e)), a && !o ? n.removeClass("dx-hidden").text(this._getNoDataText()) : n.addClass("dx-hidden") } }, renderLoadPanel: function (e, t, n) { var a; this._loadPanel && this._loadPanel.$element().remove(), (a = this.option("loadPanel")) && ("auto" === a.enabled ? !n : a.enabled) ? (a = (0, d.extend)({ shading: !1, message: a.text, position: function () { var t = (0, i.default)((0, m.getWindow)()); return e.height() > t.height() ? { of: t, boundary: e, collision: "fit" } : { of: e } }, container: t }, a), this._loadPanel = this._createComponent((0, i.default)("<div>").appendTo(t), f.default, a)) : this._loadPanel = null }, getIndexByKey: function (e, t, n) { var i = -1; if (void 0 !== e && Array.isArray(t)) { n = arguments.length <= 2 ? "key" : n; for (var o = 0; o < t.length; o++) { var s = (0, a.isDefined)(n) ? t[o][n] : t[o]; if ((0, h.equalByValue)(e, s)) { i = o; break } } } return i }, combineFilters: function (e, t) { var n = []; t = t || "and"; for (var i = 0; i < e.length; i++)e[i] && (n.length && n.push(t), n.push(e[i])); if (1 === n.length && (n = n[0]), n.length) return n }, checkChanges: function (e, t) { for (var n = 0, i = 0; i < t.length; i++)e[t[i]] && n++; return e.length && e.length === n }, equalFilterParameters: function e(t, n) { if (Array.isArray(t) && Array.isArray(n)) { if (t.length !== n.length) return !1; for (var i = 0; i < t.length; i++)if (!e(t[i], n[i])) return !1; return !0 } return (0, a.isFunction)(t) && t.columnIndex >= 0 && (0, a.isFunction)(n) && n.columnIndex >= 0 ? t.columnIndex === n.columnIndex && (0, u.toComparable)(t.filterValue) === (0, u.toComparable)(n.filterValue) : (0, u.toComparable)(t) == (0, u.toComparable)(n) }, proxyMethod: function (e, t, n) { e[t] || (e[t] = function () { var e = this._dataSource; return e ? e[t].apply(e, arguments) : n }) }, formatValue: k, getFormatOptionsByColumn: function (e, t) { return { format: e.format, getDisplayFormat: e.getDisplayFormat, customizeText: e.customizeText, target: t, trueText: e.trueText, falseText: e.falseText } }, getDisplayValue: function (e, t, n, i) { return e.displayValueMap && void 0 !== e.displayValueMap[t] ? e.displayValueMap[t] : e.calculateDisplayValue && n && "group" !== i ? e.calculateDisplayValue(n) : !e.lookup || "group" === i && (e.calculateGroupValue || e.calculateDisplayValue) ? t : e.lookup.calculateCellValue(t) }, getGroupRowSummaryText: function (e, t) { for (var n = "(", i = 0; i < e.length; i++) { var a = e[i]; n += (i > 0 ? ", " : "") + I(a, t) } return n + ")" }, getSummaryText: I, normalizeSortingInfo: C, getFormatByDataType: function (e) { switch (e) { case "date": return "shortDate"; case "datetime": return "shortDateShortTime" } }, getHeaderFilterGroupParameters: function (e, t) { var n = [], i = e.dataField || e.name, a = s.default.getGroupInterval(e); return a ? ((0, l.each)(a, (function (o, s) { n.push(t ? { selector: i, groupInterval: s, isExpanded: o < a.length - 1 } : w.bind(e, s)) })), n) : (t ? n = [{ selector: i, isExpanded: !1 }] : (n = function (t) { var n = e.calculateCellValue(t); return void 0 !== n && "" !== n || (n = null), n }, e.sortingMethod && (n = [{ selector: n, compare: e.sortingMethod.bind(e) }])), n) }, equalSortParameters: function (e, t, n) { if (e = C(e), t = C(t), Array.isArray(e) && Array.isArray(t)) { if (e.length !== t.length) return !1; for (var i = 0; i < e.length; i++)if (o = e[i].selector, s = t[i].selector, !((0, a.isFunction)(o) && (0, a.isFunction)(s) && o.originalCallback && s.originalCallback ? o.originalCallback === s.originalCallback && o.columnIndex === s.columnIndex : o === s) || e[i].desc !== t[i].desc || e[i].groupInterval !== t[i].groupInterval || !n && Boolean(e[i].isExpanded) !== Boolean(t[i].isExpanded)) return !1; return !0 } return (!e || !e.length) == (!t || !t.length); var o, s }, getPointsByColumns: function (e, t, n, i) { for (var a, o, s, r = e.length, l = !1, d = i || 0, u = [], h = 0; h <= r; h++) { h < r && (o = (a = e.eq(h)).offset(), s = "rtl" === a.css("direction")); var f = { index: d, x: o ? o.left + (!n && s ^ h === r ? (0, c.getBoundingRect)(a[0]).width : 0) : 0, y: o ? o.top + (n && h === r ? (0, c.getBoundingRect)(a[0]).height : 0) : 0, columnIndex: d }; if (!n && h > 0) { var p = e.eq(h - 1).offset(); p.top < f.y && (f.y = p.top) } t && (l = t(f)), l || u.push(f), d++ } return u }, getExpandCellTemplate: function () { return { allowRenderToDetachedContainer: !0, render: function (e, t) { var n = (0, i.default)(e); if (!(0, a.isDefined)(t.value) || t.data && t.data.isContinuation || t.row.isNewRow) b(n); else { var o = t.component.getView("rowsView"); n.addClass("dx-datagrid-expand").addClass("dx-selection-disabled"), (0, i.default)("<div>").addClass(t.value ? "dx-datagrid-group-opened" : "dx-datagrid-group-closed").appendTo(n), o.setAria("label", t.value ? o.localize("dxDataGrid-ariaCollapse") : o.localize("dxDataGrid-ariaExpand"), n) } } } }, setEmptyText: b, isDateType: x, getSelectionRange: function (e) { try { if (e) return { selectionStart: e.selectionStart, selectionEnd: e.selectionEnd } } catch (e) { } return {} }, setSelectionRange: function (e, t) { try { e && e.setSelectionRange && e.setSelectionRange(t.selectionStart, t.selectionEnd) } catch (e) { } }, focusAndSelectElement: function (e, t) { _.default.trigger(t, "focus"); var n = e.option("editing.selectTextOnEditStart"), i = e.getController("keyboardNavigation"), a = i && i._isFastEditingStarted(), s = t.get(0); if (n && !a && t.is(".dx-texteditor-input") && !t.is("[readonly]")) { var r = S(t.closest(".dx-texteditor")); (0, o.when)(r && r._loadItemDeferred).done((function () { s.select() })) } }, getWidgetInstance: S, getLastResizableColumnIndex: function (e, t) { var n, i = e.some((function (e) { return e && !e.command && !e.fixed && !1 !== e.allowResizing })); for (n = e.length - 1; e[n]; n--) { var a = e[n], o = t && t[n], s = !i || !1 !== a.allowResizing; if (!a.command && !a.fixed && "adaptiveHidden" !== o && s) break } return n }, isElementInCurrentGrid: function (e, t) { return !(!t || !t.length) && t.closest("." + e.getWidgetContainerClass()).parent().is(e.component.$element()) } }; t.default = E, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = p(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(41)), o = n(3), s = f(n(15)), r = f(n(12)), l = f(n(58)), d = f(n(192)), c = f(n(290)), u = f(n(194)), h = f(n(291)); function f(e) { return e && e.__esModule ? e : { default: e } } function p() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return p = function () { return e }, e } var g = function (e, t, n) { if (e.pointerEvents && n.msie) return c.default; var i = t.tablet, a = t.phone; return !e.touch || i || a ? e.touch ? d.default : u.default : h.default }(a, r.default.real(), s.default); (0, o.each)(g.map, (function (e, t) { (0, l.default)(e, new g(e, t)) })); var m = { down: "dxpointerdown", up: "dxpointerup", move: "dxpointermove", cancel: "dxpointercancel", enter: "dxpointerenter", leave: "dxpointerleave", over: "dxpointerover", out: "dxpointerout" }; t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(5)), o = p(n(13)), s = p(n(26)), r = n(4), l = n(0), d = n(14), c = n(3), u = p(n(17)), h = p(n(10)), f = n(7); function p(e) { return e && e.__esModule ? e : { default: e } } var g = o.default.inherit({ _endUpdateCore: function () { }, ctor: function (e) { var t = this; t._updateLockCount = 0, t.component = e, t._actions = {}, t._actionConfigs = {}, (0, c.each)(this.callbackNames() || [], (function (e, n) { var i = t.callbackFlags(n) || {}; i.unique = !0, i.syncStrategy = !0, t[this] = (0, s.default)(i) })) }, init: function () { }, callbackNames: function () { }, callbackFlags: function () { }, publicMethods: function () { }, beginUpdate: function () { this._updateLockCount++ }, endUpdate: function () { this._updateLockCount > 0 && (this._updateLockCount--, this._updateLockCount || this._endUpdateCore()) }, option: function (e) { var t = this.component, n = t._optionCache; return 1 === arguments.length && n ? (e in n || (n[e] = t.option(e)), n[e]) : t.option.apply(t, arguments) }, _silentOption: function (e, t) { var n = this.component, i = n._optionCache; return i && (i[e] = t), n._setOptionWithoutOptionChange(e, t) }, localize: function (e) { var t = this.component._optionCache; return t ? (e in t || (t[e] = h.default.format(e)), t[e]) : h.default.format(e) }, on: function () { return this.component.on.apply(this.component, arguments) }, off: function () { return this.component.off.apply(this.component, arguments) }, optionChanged: function (e) { e.name in this._actions && (this.createAction(e.name, this._actionConfigs[e.name]), e.handled = !0) }, getAction: function (e) { return this._actions[e] }, setAria: function (e, t, n) { var i = n.get(0), a = "role" !== e && "id" !== e ? "aria-" : ""; i.setAttribute ? i.setAttribute(a + e, t) : n.attr(a + e, t) }, _createComponent: function () { return this.component._createComponent.apply(this.component, arguments) }, getController: function (e) { return this.component._controllers[e] }, createAction: function (e, t) { if ((0, l.isFunction)(e)) { var n = this.component._createAction(e.bind(this), t); return function (e) { n({ event: e }) } } this._actions[e] = this.component._createActionByOption(e, t), this._actionConfigs[e] = t }, executeAction: function (e, t) { var n = this._actions[e]; return n && n(t) }, dispose: function () { var e = this; (0, c.each)(e.callbackNames() || [], (function () { e[this].empty() })) }, addWidgetPrefix: function (e) { return "dx-" + this.component.NAME.slice(2).toLowerCase() + (e ? "-" + e : "") }, getWidgetContainerClass: function () { var e = "dxDataGrid" === this.component.NAME ? null : "container"; return this.addWidgetPrefix(e) } }), m = g, _ = m.inherit({ getView: function (e) { return this.component._views[e] }, getViews: function () { return this.component._views } }), v = g.inherit({ _isReady: function () { return this.component.isReady() }, _endUpdateCore: function () { this.callBase(), !this._isReady() && this._requireReady && (this._requireRender = !1, this.component._requireResize = !1), this._requireRender && (this._requireRender = !1, this.render(this._$parent)) }, _invalidate: function (e, t) { this._requireRender = !0, this.component._requireResize = (0, f.hasWindow)() && (this.component._requireResize || e), this._requireReady = this._requireReady || t }, _renderCore: function () { }, _resizeCore: function () { }, _afterRender: function () { }, _parentElement: function () { return this._$parent }, ctor: function (e) { this.callBase(e), this.renderCompleted = (0, s.default)(), this.resizeCompleted = (0, s.default)() }, element: function () { return this._$element }, getElementHeight: function () { var e = this.element(); if (!e) return 0; var t = parseFloat(e.css("marginTop")) || 0, n = parseFloat(e.css("marginBottom")) || 0; return e.get(0).offsetHeight + t + n }, isVisible: function () { return !0 }, getTemplate: function (e) { return this.component._getTemplate(e) }, render: function (e, t) { var n = this._$element, a = this.isVisible(); (n || e) && (this._requireReady = !1, n || (n = this._$element = (0, i.default)("<div>").appendTo(e), this._$parent = e), n.toggleClass("dx-hidden", !a), a && (this.component._optionCache = {}, this._renderCore(t), this.component._optionCache = void 0, this._afterRender(e), this.renderCompleted.fire(t))) }, resize: function () { this.isResizing = !0, this._resizeCore(), this.resizeCompleted.fire(), this.isResizing = !1 }, focus: function () { a.default.trigger(this.element(), "focus") } }), y = { modules: [], View: v, ViewController: _, Controller: m, registerModule: function (e, t) { for (var n = this.modules, i = 0; i < n.length; i++)if (n[i].name === e) return; t.name = e, n.push(t), delete this.controllerTypes, delete this.viewTypes }, registerModulesOrder: function (e) { this.modulesOrder = e }, unregisterModule: function (e) { this.modules = (0, r.grep)(this.modules, (function (t) { return t.name !== e })), delete this.controllerTypes, delete this.viewTypes }, processModules: function (e, t) { var n = t.modules, i = t.modulesOrder, a = t.controllerTypes || {}, o = t.viewTypes || {}; t.controllerTypes || (i && n.sort((function (e, t) { var n = (0, d.inArray)(e.name, i), a = (0, d.inArray)(t.name, i); return n < 0 && (n = 1e6), a < 0 && (a = 1e6), n - a })), (0, c.each)(n, (function () { var e = this.controllers, t = this.name, n = this.views; e && (0, c.each)(e, (function (e, n) { if (a[e]) throw u.default.Error("E1001", t, e); if (!(n && n.subclassOf && n.subclassOf(m))) throw n.subclassOf(m), u.default.Error("E1002", t, e); a[e] = n })), n && (0, c.each)(n, (function (e, n) { if (o[e]) throw u.default.Error("E1003", t, e); if (!(n && n.subclassOf && n.subclassOf(v))) throw u.default.Error("E1004", t, e); o[e] = n })) })), (0, c.each)(n, (function () { var e = this.extenders; e && (e.controllers && (0, c.each)(e.controllers, (function (e, t) { a[e] && (a[e] = a[e].inherit(t)) })), e.views && (0, c.each)(e.views, (function (e, t) { o[e] && (o[e] = o[e].inherit(t)) }))) })), t.controllerTypes = a, t.viewTypes = o); var s = function (t) { var n = {}; return (0, c.each)(t, (function (t, i) { var a = new i(e); a.name = t, function (e, t, n) { var i = n.publicMethods(); i && (0, c.each)(i, (function (i, a) { if (!n[a]) throw u.default.Error("E1006", t, a); if (e[a]) throw u.default.Error("E1005", a); e[a] = function () { return n[a].apply(n, arguments) } })) }(e, t, a), n[t] = a })), n }; e._controllers = s(a), e._views = s(o) }, callModuleItemsMethod: function (e, t, n) { n = n || [], e._controllers && (0, c.each)(e._controllers, (function () { this[t] && this[t].apply(this, n) })), e._views && (0, c.each)(e._views, (function () { this[t] && this[t].apply(this, n) })) } }; t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.getDefaultAlignment = t.getBoundingRect = void 0; var i, a = (i = n(27)) && i.__esModule ? i : { default: i }, o = n(0); t.getDefaultAlignment = function (e) { return (null != e ? e : (0, a.default)().rtlEnabled) ? "right" : "left" }; t.getBoundingRect = function (e) { if ((0, o.isWindow)(e)) return { width: e.outerWidth, height: e.outerHeight }; var t; try { t = e.getBoundingClientRect() } catch (e) { t = { width: 0, height: 0, bottom: 0, top: 0, left: 0, right: 0 } } return t } }, function (e, t, n) { "use strict"; t.default = void 0; var i = function (e) { this._options = e || {}, this._list = [], this._queue = [], this._firing = !1, this._fired = !1, this._firingIndexes = [] }; i.prototype._fireCore = function (e, t) { var n = this._firingIndexes, i = this._list, a = this._options.stopOnFalse, o = n.length; for (n[o] = 0; n[o] < i.length; n[o]++) { if (!1 === i[n[o]].apply(e, t) && a) break } n.pop() }, i.prototype.add = function (e) { return "function" != typeof e || this._options.unique && this.has(e) || this._list.push(e), this }, i.prototype.remove = function (e) { var t = this._list, n = this._firingIndexes, i = t.indexOf(e); if (i > -1 && (t.splice(i, 1), this._firing && n.length)) for (var a = 0; a < n.length; a++)i <= n[a] && n[a]--; return this }, i.prototype.has = function (e) { var t = this._list; return e ? t.indexOf(e) > -1 : !!t.length }, i.prototype.empty = function (e) { return this._list = [], this }, i.prototype.fireWith = function (e, t) { var n = this._queue; if (t = (t = t || []).slice ? t.slice() : t, this._options.syncStrategy) this._firing = !0, this._fireCore(e, t); else { if (n.push([e, t]), this._firing) return; for (this._firing = !0; n.length;) { var i = n.shift(); this._fireCore(i[0], i[1]) } } return this._firing = !1, this._fired = !0, this }, i.prototype.fire = function () { this.fireWith(this, arguments) }, i.prototype.fired = function () { return this._fired }; var a = function (e) { return new i(e) }; t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(1), o = (i = n(21)) && i.__esModule ? i : { default: i }; var s = { rtlEnabled: !1, defaultCurrency: "USD", oDataFilterToLower: !0, serverDecimalSeparator: ".", decimalSeparator: ".", thousandsSeparator: ",", forceIsoDateParsing: !0, wrapActionsBeforeExecute: !0, useLegacyStoreResult: !1, useJQuery: void 0, editorStylingMode: void 0, useLegacyVisibleIndex: !1, floatingActionButtonConfig: { icon: "add", closeIcon: "close", label: "", position: { at: "right bottom", my: "right bottom", offset: { x: -16, y: -16 } }, maxSpeedDialActionCount: 5, shading: !1, direction: "auto" }, optionsParser: function (e) { "{" !== e.trim().charAt(0) && (e = "{" + e + "}"); try { return new Function("return " + e)() } catch (t) { throw o.default.Error("E3018", t, e) } } }, r = ["decimalSeparator", "thousandsSeparator"], l = function () { if (!arguments.length) return s; var e = arguments.length <= 0 ? void 0 : arguments[0]; r.forEach((function (t) { if (e[t]) { var n = "Now, the ".concat(t, " is selected based on the specified locale."); o.default.log("W0003", "config", t, "19.2", n) } })), (0, a.extend)(s, e) }; "undefined" != typeof DevExpress && DevExpress.config && l(DevExpress.config); var d = l; t.default = d, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.createTextElementHiddenCopy = t.contains = t.clipboardText = t.normalizeTemplateElement = t.extractTemplateMarkup = t.closestCommonParent = t.clearSelection = t.resetActiveElement = void 0; var i = s(n(9)), a = s(n(2)), o = n(0); function s(e) { return e && e.__esModule ? e : { default: e } } var r = (0, n(7).getWindow)(); t.resetActiveElement = function () { var e = i.default.getActiveElement(), t = i.default.getBody(); if (e && e !== t && e.blur) try { e.blur() } catch (e) { t.blur() } }; t.clearSelection = function () { var e = r.getSelection(); if (e && "Caret" !== e.type) if (e.empty) e.empty(); else if (e.removeAllRanges) try { e.removeAllRanges() } catch (e) { } }; t.closestCommonParent = function (e, t) { var n = (0, a.default)(e), i = (0, a.default)(t); if (n[0] === i[0]) return n[0]; for (var o = n.parents(), s = i.parents(), r = -Math.min(o.length, s.length); r < 0; r++)if (o.get(r) === s.get(r)) return o.get(r) }; t.extractTemplateMarkup = function (e) { var t = (e = (0, a.default)(e)).length && e.filter((function () { var e = (0, a.default)(this); return e.is("script[type]") && e.attr("type").indexOf("script") < 0 })); return t.length ? t.eq(0).html() : (e = (0, a.default)("<div>").append(e)).html() }; t.normalizeTemplateElement = function e(t) { var n = (0, o.isDefined)(t) && (t.nodeType || (0, o.isRenderer)(t)) ? (0, a.default)(t) : (0, a.default)("<div>").html(t).contents(); return 1 === n.length && (n.is("script") ? n = e(n.html().trim()) : n.is("table") && (n = n.children("tbody").contents())), n }; t.clipboardText = function (e, t) { var n = e.originalEvent && e.originalEvent.clipboardData || r.clipboardData; if (1 === arguments.length) return n && n.getData("Text"); n && n.setData("Text", t) }; t.contains = function e(t, n) { return !!n && (i.default.isTextNode(n) && (n = n.parentNode), i.default.isDocument(t) ? t.documentElement.contains(n) : (0, o.isWindow)(t) ? e(t.document, n) : t.contains ? t.contains(n) : !!(n.compareDocumentPosition(t) & n.DOCUMENT_POSITION_CONTAINS)) }; t.createTextElementHiddenCopy = function (e, t, n) { var i = r.getComputedStyle((0, a.default)(e).get(0)), o = n && n.includePaddings; return (0, a.default)("<div>").text(t).css({ fontStyle: i.fontStyle, fontVariant: i.fontVariant, fontWeight: i.fontWeight, fontSize: i.fontSize, fontFamily: i.fontFamily, letterSpacing: i.letterSpacing, border: i.border, paddingTop: o ? i.paddingTop : "", paddingRight: o ? i.paddingRight : "", paddingBottom: o ? i.paddingBottom : "", paddingLeft: o ? i.paddingLeft : "", visibility: "hidden", whiteSpace: "pre", position: "absolute", float: "left" }) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(98)), o = p(n(57)), s = n(102), r = n(4), l = n(3), d = n(1), c = n(51), u = n(14), h = n(8), f = n(0); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e, t, n) { e = "role" === e || "id" === e ? e : "aria-".concat(e), t = (0, f.isDefined)(t) ? t.toString() : null, n.attr(e, t) } n(19), n(127), n(107); var m = o.default.inherit({ _feedbackHideTimeout: 400, _feedbackShowTimeout: 30, _supportedKeys: function () { return {} }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { hoveredElement: null, isActive: !1, disabled: !1, visible: !0, hint: void 0, activeStateEnabled: !1, onContentReady: null, hoverStateEnabled: !1, focusStateEnabled: !1, tabIndex: 0, accessKey: null, onFocusIn: null, onFocusOut: null, onKeyboardHandled: null, ignoreParentReadOnly: !1 }) }, _init: function () { this.callBase(), this._initContentReadyAction() }, _innerWidgetOptionChanged: function (e, t) { var n = m.getOptionsFromContainer(t); e && e.option(n), this._options.cache(t.name, n) }, _bindInnerWidgetOptions: function (e, t) { var n = this, i = function () { return n._options.silent(t, (0, d.extend)({}, e.option())) }; i(), e.on("optionChanged", i) }, _getAriaTarget: function () { return this._focusTarget() }, _initContentReadyAction: function () { this._contentReadyAction = this._createActionByOption("onContentReady", { excludeValidators: ["disabled", "readOnly"] }) }, _initMarkup: function () { var e = this.option(), t = e.disabled, n = e.visible; this.$element().addClass("dx-widget"), this._toggleDisabledState(t), this._toggleVisibility(n), this._renderHint(), this._isFocusable() && this._renderFocusTarget(), this.callBase() }, _render: function () { this.callBase(), this._renderContent(), this._renderFocusState(), this._attachFeedbackEvents(), this._attachHoverEvents(), this._toggleIndependentState() }, _renderHint: function () { var e = this.option().hint; this.$element().attr("title", e || null) }, _renderContent: function () { var e = this; (0, r.deferRender)((function () { return e._disposed ? void 0 : e._renderContentImpl() })).done((function () { return e._disposed ? void 0 : e._fireContentReadyAction() })) }, _renderContentImpl: r.noop, _fireContentReadyAction: (0, r.deferRenderer)((function () { return this._contentReadyAction() })), _dispose: function () { this._contentReadyAction = null, this._detachKeyboardEvents(), this.callBase() }, _resetActiveState: function () { this._toggleActiveState(this._eventBindingTarget(), !1) }, _clean: function () { this._cleanFocusState(), this._resetActiveState(), this.callBase(), this.$element().empty() }, _toggleVisibility: function (e) { this.$element().toggleClass("dx-state-invisible", !e), this.setAria("hidden", !e || void 0) }, _renderFocusState: function () { this._attachKeyboardEvents(), this._isFocusable() && (this._renderFocusTarget(), this._attachFocusEvents(), this._renderAccessKey()) }, _renderAccessKey: function () { var e = this, t = this._focusTarget(), n = this.option().accessKey; t.attr("accesskey", n), s.dxClick.off(t, { namespace: "UIFeedback" }), n && s.dxClick.on(t, (function (t) { (0, h.isFakeClickEvent)(t) && (t.stopImmediatePropagation(), e.focus()) }), { namespace: "UIFeedback" }) }, _isFocusable: function () { var e = this.option(), t = e.focusStateEnabled, n = e.disabled; return t && !n }, _eventBindingTarget: function () { return this.$element() }, _focusTarget: function () { return this._getActiveElement() }, _getActiveElement: function () { var e = this._eventBindingTarget(); return this._activeStateUnit ? e.find(this._activeStateUnit).not(".dx-state-disabled") : e }, _renderFocusTarget: function () { var e = this.option().tabIndex; this._focusTarget().attr("tabIndex", e) }, _keyboardEventBindingTarget: function () { return this._eventBindingTarget() }, _refreshFocusEvent: function () { this._detachFocusEvents(), this._attachFocusEvents() }, _focusEventTarget: function () { return this._focusTarget() }, _focusInHandler: function (e) { var t = this; e.isDefaultPrevented() || this._createActionByOption("onFocusIn", { beforeExecute: function () { return t._updateFocusState(e, !0) }, excludeValidators: ["readOnly"] })({ event: e }) }, _focusOutHandler: function (e) { var t = this; e.isDefaultPrevented() || this._createActionByOption("onFocusOut", { beforeExecute: function () { return t._updateFocusState(e, !1) }, excludeValidators: ["readOnly", "disabled"] })({ event: e }) }, _updateFocusState: function (e, t) { var n = e.target; -1 !== (0, u.inArray)(n, this._focusTarget()) && this._toggleFocusClass(t, (0, i.default)(n)) }, _toggleFocusClass: function (e, t) { (t && t.length ? t : this._focusTarget()).toggleClass("dx-state-focused", e) }, _hasFocusClass: function (e) { return (0, i.default)(e || this._focusTarget()).hasClass("dx-state-focused") }, _isFocused: function () { return this._hasFocusClass() }, _getKeyboardListeners: function () { return [] }, _attachKeyboardEvents: function () { var e = this; this._detachKeyboardEvents(); var t = this.option(), n = t.focusStateEnabled, i = t.onKeyboardHandled, a = this._getKeyboardListeners().length; (n || a || !!i) && (this._keyboardListenerId = s.keyboard.on(this._keyboardEventBindingTarget(), this._focusTarget(), (function (t) { return e._keyboardHandler(t) }))) }, _keyboardHandler: function (e, t) { if (!t) { var n = e.originalEvent, i = e.keyName, a = e.which, o = this._supportedKeys(n), s = o[i] || o[a]; if (void 0 !== s) if (!s.bind(this)(n, e)) return !1 } var r = this._getKeyboardListeners(), l = this.option().onKeyboardHandled; return r.forEach((function (t) { return t && t._keyboardHandler(e) })), l && l(e), !0 }, _refreshFocusState: function () { this._cleanFocusState(), this._renderFocusState() }, _cleanFocusState: function () { this._focusTarget().removeAttr("tabIndex"), this._toggleFocusClass(!1), this._detachFocusEvents(), this._detachKeyboardEvents() }, _detachKeyboardEvents: function () { s.keyboard.off(this._keyboardListenerId), this._keyboardListenerId = null }, _attachHoverEvents: function () { var e = this, t = this.option().hoverStateEnabled, n = this._activeStateUnit, o = this._eventBindingTarget(); s.hover.off(o, { selector: n, namespace: "UIFeedback" }), t && s.hover.on(o, new a.default((function (t) { var n = t.event, a = t.element; e._hoverStartHandler(n), e.option("hoveredElement", (0, i.default)(a)) }), { excludeValidators: ["readOnly"] }), (function (t) { e.option("hoveredElement", null), e._hoverEndHandler(t) }), { selector: n, namespace: "UIFeedback" }) }, _attachFeedbackEvents: function () { var e = this, t = this.option().activeStateEnabled, n = this._activeStateUnit, o = this._eventBindingTarget(); s.active.off(o, { namespace: "UIFeedback", selector: n }), t && s.active.on(o, new a.default((function (t) { var n = t.event, a = t.element; return e._toggleActiveState((0, i.default)(a), !0, n) })), new a.default((function (t) { var n = t.event, a = t.element; return e._toggleActiveState((0, i.default)(a), !1, n) }), { excludeValidators: ["disabled", "readOnly"] }), { showTimeout: this._feedbackShowTimeout, hideTimeout: this._feedbackHideTimeout, selector: n, namespace: "UIFeedback" }) }, _detachFocusEvents: function () { var e = this._focusEventTarget(); s.focus.off(e, { namespace: "".concat(this.NAME, "Focus") }) }, _attachFocusEvents: function () { var e = this, t = this._focusEventTarget(); s.focus.on(t, (function (t) { return e._focusInHandler(t) }), (function (t) { return e._focusOutHandler(t) }), { namespace: "".concat(this.NAME, "Focus"), isFocusable: function (e, t) { return (0, i.default)(t).is(c.focusable) } }) }, _hoverStartHandler: r.noop, _hoverEndHandler: r.noop, _toggleActiveState: function (e, t) { this.option("isActive", t), e.toggleClass("dx-state-active", t) }, _updatedHover: function () { var e = this._options.silent("hoveredElement"); this._hover(e, e) }, _findHoverTarget: function (e) { return e && e.closest(this._activeStateUnit || this._eventBindingTarget()) }, _hover: function (e, t) { var n = this.option(), i = n.hoverStateEnabled, a = n.disabled, o = n.isActive; if ((t = this._findHoverTarget(t)) && t.toggleClass("dx-state-hover", !1), e && i && !a && !o) { var s = this._findHoverTarget(e); s && s.toggleClass("dx-state-hover", !0) } }, _toggleDisabledState: function (e) { this.$element().toggleClass("dx-state-disabled", Boolean(e)), this.setAria("disabled", e || void 0) }, _toggleIndependentState: function () { this.$element().toggleClass("dx-state-independent", this.option("ignoreParentReadOnly")) }, _setWidgetOption: function (e, t) { var n = this; if (this[e]) if ((0, f.isPlainObject)(t[0])) (0, l.each)(t[0], (function (t, i) { return n._setWidgetOption(e, [t, i]) })); else { var i = t[0], a = t[1]; 1 === t.length && (a = this.option(i)); var o = this["".concat(e, "OptionMap")]; this[e].option(o ? o(i) : i, a) } }, _optionChanged: function (e) { var t = e.name, n = e.value, i = e.previousValue; switch (t) { case "disabled": this._toggleDisabledState(n), this._updatedHover(), this._refreshFocusState(); break; case "hint": this._renderHint(); break; case "ignoreParentReadOnly": this._toggleIndependentState(); break; case "activeStateEnabled": this._attachFeedbackEvents(); break; case "hoverStateEnabled": this._attachHoverEvents(), this._updatedHover(); break; case "tabIndex": case "focusStateEnabled": this._refreshFocusState(); break; case "onFocusIn": case "onFocusOut": break; case "accessKey": this._renderAccessKey(); break; case "hoveredElement": this._hover(n, i); break; case "isActive": this._updatedHover(); break; case "visible": this._toggleVisibility(n), this._isVisibilityChangeSupported() && this._checkVisibilityChanged(n ? "shown" : "hiding"); break; case "onKeyboardHandled": this._attachKeyboardEvents(); break; case "onContentReady": this._initContentReadyAction(); break; default: this.callBase(e) } }, _isVisible: function () { var e = this.option().visible; return this.callBase() && e }, beginUpdate: function () { this._ready(!1), this.callBase() }, endUpdate: function () { this.callBase(), this._initialized && this._ready(!0) }, _ready: function (e) { if (0 === arguments.length) return this._isReady; this._isReady = e }, setAria: function () { if ((0, f.isPlainObject)(arguments.length <= 0 ? void 0 : arguments[0])) { var e = (arguments.length <= 1 ? void 0 : arguments[1]) || this._getAriaTarget(); (0, l.each)(arguments.length <= 0 ? void 0 : arguments[0], (function (t, n) { return g(t, n, e) })) } else g(arguments.length <= 0 ? void 0 : arguments[0], arguments.length <= 1 ? void 0 : arguments[1], (arguments.length <= 2 ? void 0 : arguments[2]) || this._getAriaTarget()) }, isReady: function () { return this._ready() }, repaint: function () { this._refresh() }, focus: function () { s.focus.trigger(this._focusTarget()) }, registerKeyHandler: function (e, t) { var n = this._supportedKeys(); this._supportedKeys = function () { return (0, d.extend)(n, function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }({}, e, t)) } } }); m.getOptionsFromContainer = function (e) { var t = e.name, n = e.fullName, i = e.value, a = {}; t === n ? a = i : a[n.split(".").pop()] = i; return a }; var _ = m; t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; t.parseTranslate = t.resetPosition = t.move = t.getTranslate = t.getTranslateCss = t.clearCache = t.locate = void 0; var i = n(39), a = n(0), o = /matrix(3d)?\((.+?)\)/, s = /translate(?:3d)?\((.+?)\)/; function r(e) { return "string" === (0, a.type)(e) && "%" === e[e.length - 1] } function l(e, t) { e.length && (0, i.data)(e.get(0), "dxTranslator", t) } t.locate = function (e) { var t = u(e); return { left: t.x, top: t.y } }; var d = function (e) { e.length && (0, i.removeData)(e.get(0), "dxTranslator") }; t.clearCache = d; var c = function (e) { return e.x = e.x || 0, e.y = e.y || 0, "translate(" + (r(e.x) ? e.x : e.x + "px") + ", " + (r(e.y) ? e.y : e.y + "px") + ")" }; t.getTranslateCss = c; var u = function (e) { var t = e.length ? (0, i.data)(e.get(0), "dxTranslator") : null; if (!t) { var n = (e.css("transform") || c({ x: 0, y: 0 })).match(o), a = n && n[1]; n ? (n = n[2].split(","), "3d" === a ? n = n.slice(12, 15) : (n.push(0), n = n.slice(4, 7))) : n = [0, 0, 0], l(e, t = { x: parseFloat(n[0]), y: parseFloat(n[1]), z: parseFloat(n[2]) }) } return t }; t.getTranslate = u; t.move = function (e, t) { var n, i = t.left, a = t.top; void 0 === i ? (n = u(e)).y = a || 0 : void 0 === a ? (n = u(e)).x = i || 0 : l(e, n = { x: i || 0, y: a || 0, z: 0 }), e.css({ transform: c(n) }), (r(i) || r(a)) && d(e) }; t.resetPosition = function (e, t) { var n, i = { left: 0, top: 0, transform: "none" }; t && (n = e.css("transition"), i.transition = "none"), e.css(i), d(e), t && (e.get(0).offsetHeight, e.css("transition", n)) }; t.parseTranslate = function (e) { var t = e.match(s); if (t && t[1]) return t = t[1].split(","), t = { x: parseFloat(t[0]), y: parseFloat(t[1]), z: parseFloat(t[2]) } } }, function (e, t, n) { "use strict"; t.isEmpty = t.replaceAll = t.format = t.quadToObject = t.encodeHtml = void 0; var i = n(0); function a(e) { return (a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var o, s = (o = [new RegExp("&", "g"), new RegExp('"', "g"), new RegExp("'", "g"), new RegExp("<", "g"), new RegExp(">", "g")], function (e) { return String(e).replace(o[0], "&amp;").replace(o[1], "&quot;").replace(o[2], "&#39;").replace(o[3], "&lt;").replace(o[4], "&gt;") }); t.encodeHtml = s; t.quadToObject = function (e) { var t = function (e) { switch (a(e)) { case "string": return e.split(/\s+/, 4); case "object": return [e.x || e.h || e.left, e.y || e.v || e.top, e.x || e.h || e.right, e.y || e.v || e.bottom]; case "number": return [e]; default: return e } }(e), n = parseInt(t && t[0], 10), i = parseInt(t && t[1], 10), o = parseInt(t && t[2], 10), s = parseInt(t && t[3], 10); return isFinite(n) || (n = 0), isFinite(i) || (i = n), isFinite(o) || (o = n), isFinite(s) || (s = i), { top: i, right: o, bottom: s, left: n } }; t.format = function () { var e, t, n, a = arguments[0], o = [].slice.call(arguments).slice(1); if ((0, i.isFunction)(a)) return a.apply(this, o); for (var s = 0; s < o.length; s++)t = new RegExp("\\{" + s + "\\}", "gm"), n = o[s], "string" === (0, i.type)(n) && n.indexOf("$") >= 0 && (e = "$".replace("$", "$$").length, n = n.replace("$", 1 === e ? "$$$$" : "$$")), a = a.replace(t, n); return a }; var r = function (e, t, n) { return e.replace(new RegExp("(" + (t + "").replace(/([+*?.[^\]$(){}><|=!:])/g, "\\$1") + ")", "gi"), n) }; t.replaceAll = r; var l, d = (l = /\s/g, function (e) { return !e || !e.replace(l, "") }); t.isEmpty = d }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(48)), a = n(0), o = n(3), s = n(14), r = m(n(21)), l = n(177), d = n(116), c = n(144), u = m(n(178)), h = m(n(252)), f = m(n(65)), p = m(n(40)), g = m(n(253)); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = "undefined" != typeof Intl, v = { shortdate: "M/d/y", shorttime: "h:mm a", longdate: "EEEE, MMMM d, y", longtime: "h:mm:ss a", monthandday: "MMMM d", monthandyear: "MMMM y", quarterandyear: "QQQ y", day: "d", year: "y", shortdateshorttime: "M/d/y, h:mm a", longdatelongtime: "EEEE, MMMM d, y, h:mm:ss a", month: "LLLL", shortyear: "yy", dayofweek: "EEEE", quarter: "QQQ", hour: "HH", minute: "mm", second: "ss", millisecond: "SSS", "datetime-local": "yyyy-MM-ddTHH':'mm':'ss" }, y = { year: ["y", "yy", "yyyy"], day: ["d", "dd"], month: ["M", "MM", "MMM", "MMMM"], hours: ["H", "HH", "h", "hh", "ah"], minutes: ["m", "mm"], seconds: ["s", "ss"], milliseconds: ["S", "SS", "SSS"] }, w = (0, i.default)({ engine: function () { return "base" }, _getPatternByFormat: function (e) { return v[e.toLowerCase()] }, _expandPattern: function (e) { return this._getPatternByFormat(e) || e }, formatUsesMonthName: function (e) { return -1 !== this._expandPattern(e).indexOf("MMMM") }, formatUsesDayName: function (e) { return -1 !== this._expandPattern(e).indexOf("EEEE") }, getFormatParts: function (e) { var t = this._getPatternByFormat(e) || e, n = []; return (0, o.each)(t.split(/\W+/), (function (e, t) { (0, o.each)(y, (function (e, i) { (0, s.inArray)(t, i) > -1 && n.push(e) })) })), n }, getMonthNames: function (e) { return u.default.getMonthNames(e) }, getDayNames: function (e) { return u.default.getDayNames(e) }, getQuarterNames: function (e) { return u.default.getQuarterNames(e) }, getPeriodNames: function (e) { return u.default.getPeriodNames(e) }, getTimeSeparator: function () { return ":" }, is24HourFormat: function (e) { for (var t = new Date(2017, 0, 20, 11, 0, 0, 0), n = new Date(2017, 0, 20, 23, 0, 0, 0), i = this.format(t, e), a = this.format(n, e), o = 0; o < i.length; o++)if (i[o] !== a[o]) return !isNaN(parseInt(i[o])) }, format: function (e, t) { if (e) { if (!t) return e; var n; if ("function" == typeof t) n = t; else if (t.formatter) n = t.formatter; else if (t = t.type || t, (0, a.isString)(t)) return t = v[t.toLowerCase()] || t, p.default.convertDigits((0, l.getFormatter)(t, this)(e)); if (n) return n(e) } }, parse: function (e, t) { var n, i, a = this; if (e) { if (!t) return this.parse(e, "shortdate"); if (t.parser) return t.parser(e); if ("string" != typeof t || v[t.toLowerCase()]) { i = function (e) { var n = a.format(e, t); return p.default.convertDigits(n, !0) }; try { n = (0, d.getFormat)(i) } catch (e) { } } else n = t; if (n) return e = p.default.convertDigits(e, !0), (0, c.getParser)(n, this)(e); r.default.log("W0012"); var o = new Date(e); if (o && !isNaN(o.getTime())) return o } }, firstDayOfWeekIndex: function () { var e = f.default.getValueByClosestLocale((function (e) { return h.default[e] })); return void 0 === e ? 0 : e } }); _ && w.inject(g.default); var x = w; t.default = x, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(115)), a = o(n(21)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = {}, r = (0, i.default)(a.default.ERROR_MESSAGES, { E4000: "[DevExpress.data]: {0}", E4001: "Unknown aggregating function is detected: '{0}'", E4002: "Unsupported OData protocol version is used", E4003: "Unknown filter operation is used: {0}", E4004: "The thenby() method is called before the sortby() method", E4005: "Store requires a key expression for this operation", E4006: "ArrayStore 'data' option must be an array", E4007: "Compound keys cannot be auto-generated", E4008: "Attempt to insert an item with a duplicated key", E4009: "Data item cannot be found", E4010: "CustomStore does not support creating queries", E4011: "Custom Store method is not implemented or is not a function: {0}", E4012: "Custom Store method returns an invalid value: {0}", E4013: "Local Store requires the 'name' configuration option is specified", E4014: "Unknown data type is specified for ODataStore: {0}", E4015: "Unknown entity name or alias is used: {0}", E4016: "The compileSetter(expr) method is called with 'self' passed as a parameter", E4017: "Keys cannot be modified", E4018: "The server has returned a non-numeric value in a response to an item count request", E4019: "Mixing of group operators inside a single group of filter expression is not allowed", E4020: "Unknown store type is detected: {0}", E4021: "The server response does not provide the totalCount value", E4022: "The server response does not provide the groupCount value", E4023: "Could not parse the following XML: {0}", E4024: "String function {0} cannot be used with the data field {1} of type {2}.", W4000: "Data returned from the server has an incorrect structure", W4001: 'The {0} field is listed in both "keyType" and "fieldTypes". The value of "fieldTypes" is used.', W4002: "Data loading has failed for some cells due to the following error: {0}" }); var l = s = { errors: r, errorHandler: null, _errorHandler: function (e) { s.errorHandler && s.errorHandler(e) } }; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.waitForThemeLoad = T, t.init = B, t.current = M, t.attachCssClasses = P, t.detachCssClasses = R, t.isMaterial = q, t.isGeneric = L, t.isDark = H, t.isWebFontLoaded = z, t.waitWebFont = N, t.ready = F, t.resetTheme = $, t.initialized = j, t.setDefaultTimeout = K, t.default = void 0; var i = g(n(12)), a = g(n(9)), o = g(n(96)), s = g(n(2)), r = n(6), l = n(172), d = n(3), c = g(n(45)), u = n(74), h = n(7), f = n(195), p = g(n(17)); function g(e) { return e && e.__esModule ? e : { default: e } } var m, _, v, y, w, x, b = (0, h.getWindow)(), C = c.default.add, k = u.value, I = u.changeCallback, S = new r.Deferred, E = 15e3; function D() { if (!(0, h.hasWindow)()) return null; var e, t = (0, s.default)("<div>", m).addClass("dx-theme-marker").appendTo(m.documentElement); try { return (e = t.css("fontFamily")) ? "dx." !== (e = e.replace(/["']/g, "")).substr(0, "dx.".length) ? null : e.substr("dx.".length) : null } finally { t.remove() } } function T(e) { var t, n, i = !0; function a() { w = null, clearInterval(n), i = !0, f.themeReadyCallback.fire(), f.themeReadyCallback.empty(), S.resolve() } if (w = e, A() || !E) a(); else { if (!i) return void (w && (w = e)); t = Date.now(), i = !1, n = setInterval((function () { var e = A(), n = !e && Date.now() - t > E; n && p.default.log("W0004", w), (e || n) && a() }), 10) } } function A() { if (!w) return !0; var e = "any" === w; if ("resolved" === S.state() && e) return !0; var t = D(); return !(!t || !e) || t === w } function O(e) { var t = e ? e.split(".") : [], n = null; if (v) { if (e in v) return e; (0, d.each)(v, (function (e, i) { var a = e.split("."); if (!(t[0] && a[0] !== t[0] || t[1] && t[1] !== a[1] || t[2] && t[2] !== a[2])) return n && !i.isActive || (n = e), !i.isActive && void 0 })) } return n } function B(e) { var t; (function (e) { try { e !== m && (v = null) } catch (e) { v = null } m = e }((e = e || {}).context || a.default.getDocument()), m) && ((t = (0, s.default)("link[rel=dx-theme]", m)).length && (v = {}, _ = (0, s.default)((0, l.parseHTML)("<link rel=stylesheet>"), m), t.each((function () { var e = (0, s.default)(this, m), t = e.attr("data-theme"), n = e.attr("href"), i = "true" === e.attr("data-active"); v[t] = { url: n, isActive: i } })), t.last().after(_), t.remove()), y = void 0, M(e)) } function M(e) { if (!arguments.length) return y = y || D(); R(k()), "string" == typeof (e = e || {}) && (e = { theme: e }); var t, n = e._autoInit, i = e.loadCallback; if ((y = O(e.theme || y)) && (t = v[y]), i && f.themeReadyCallback.add(i), t) _.attr("href", v[y].url), (f.themeReadyCallback.has() || "resolved" !== S.state() || e._forceTimeout) && T(y); else { if (!n) throw p.default.Error("E0021", y); T("any"), f.themeReadyCallback.fire(), f.themeReadyCallback.empty() } S.done((function () { return P((0, u.originalViewPort)(), y) })) } function P(e, t) { x = function (e) { var t = [], n = (e = e || M()) && e.split("."); return n && (t.push("dx-theme-" + n[0], "dx-theme-" + n[0] + "-typography"), n.length > 1 && t.push("dx-color-scheme-" + n[1] + (q(e) ? "-" + n[2] : ""))), t }(t).join(" "), (0, s.default)(e).addClass(x); !function () { var t = (0, h.hasWindow)() && b.devicePixelRatio; if (t && !(t < 2)) { var n = (0, s.default)("<div>"); n.css("border", ".5px solid transparent"), (0, s.default)("body").append(n), 1 === n.outerHeight() && ((0, s.default)(e).addClass("dx-hairlines"), x += " dx-hairlines"), n.remove() } }() } function R(e) { (0, s.default)(e).removeClass(x) } function F(e) { f.themeReadyCallback.add(e) } function V(e, t) { return t || (t = y || D()), new RegExp(e).test(t) } function q(e) { return V("material", e) } function L(e) { return V("generic", e) } function H(e) { return V("dark", e) } function z(e, t) { var n = a.default.getDocument(), i = n.createElement("span"); i.style.position = "absolute", i.style.top = "-9999px", i.style.left = "-9999px", i.style.visibility = "hidden", i.style.fontFamily = "Arial", i.style.fontSize = "250px", i.style.fontWeight = t, i.innerHTML = e, n.body.appendChild(i); var o = i.offsetWidth; i.style.fontFamily = "Roboto, RobotoFallback, Arial"; var s = i.offsetWidth; return i.parentNode.removeChild(i), o !== s } function N(e, t) { return new o.default((function (n) { var i = function () { clearInterval(a), clearTimeout(o), n() }, a = setInterval((function () { z(e, t) && i() }), 15), o = setTimeout(i, 2e3) })) } function W() { if (B({ _autoInit: !0, _forceTimeout: !0 }), (0, s.default)("link[rel=dx-theme]", m).length) throw p.default.Error("E0022") } function $() { _ && _.attr("href", "about:blank"), y = null, w = null, S = new r.Deferred } function j(e) { S.done(e) } function K(e) { E = e } (0, h.hasWindow)() ? W() : C(W), I.add((function (e, t) { S.done((function () { R(t), P(e) })) })), i.default.changed.add((function () { B({ _autoInit: !0 }) })); var G = { setDefaultTimeout: K, initialized: j, resetTheme: $, ready: F, waitWebFont: N, isWebFontLoaded: z, isDark: H, isGeneric: L, isMaterial: q, detachCssClasses: R, attachCssClasses: P, current: M, waitForThemeLoad: T }; t.default = G, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = _(n(2)), o = _(n(12)), s = n(81), r = _(n(11)), l = n(34), d = _(n(98)), c = _(n(82)), u = _(n(29)), h = n(102), f = n(1), p = n(119), g = n(83), m = n(18); function _(e) { return e && e.__esModule ? e : { default: e } } function v(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function y(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function w(e, t, n) { return (w = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = k(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function x(e, t) { return (x = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function b(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = k(e); if (t) { var a = k(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return C(this, n) } } function C(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function k(e) { return (k = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var I = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && x(e, t) }(u, e); var t, n, i, r = b(u); function u() { var e; v(this, u); for (var t = arguments.length, n = new Array(t), i = 0; i < t; i++)n[i] = arguments[i]; return (e = r.call.apply(r, [this].concat(n)))._feedbackHideTimeout = 100, e } return t = u, (n = [{ key: "_$content", value: function () { return this.$element().find(".dx-button-content") } }, { key: "_$submitInput", value: function () { return this.$element().find(".dx-button-submit-input") } }, { key: "_attachActiveEvents", value: function (e, t) { var n = this._eventBindingTarget(), i = this._activeStateUnit; h.active.off(n, { namespace: "inkRipple", selector: i }), h.active.on(n, new d.default(e), new d.default(t, { excludeValidators: ["disabled", "readOnly"] }), { showTimeout: this._feedbackShowTimeout, hideTimeout: this._feedbackHideTimeout, selector: i, namespace: "inkRipple" }) } }, { key: "_defaultOptionsRules", value: function () { return w(k(u.prototype), "_defaultOptionsRules", this).call(this).concat([{ device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: function () { return (0, l.isMaterial)((0, l.current)()) }, options: { useInkRipple: !0 } }]) } }, { key: "_executeClickAction", value: function (e) { this._clickAction({ validationGroup: this._validationGroupConfig, event: e }) } }, { key: "_findGroup", value: function () { var e = this.$element(), t = this._modelByElement(e); return this.option().validationGroup || c.default.findGroup(e, t) } }, { key: "_getContentData", value: function () { var e = this.option(), t = e.icon, n = e.text, i = e.type, a = e._templateData; return (0, f.extend)({ icon: "back" !== i || t ? t : "back", text: n }, a) } }, { key: "_getDefaultOptions", value: function () { return (0, f.extend)(w(k(u.prototype), "_getDefaultOptions", this).call(this), { hoverStateEnabled: !0, onClick: null, type: "normal", text: "", icon: "", iconPosition: "left", validationGroup: void 0, activeStateEnabled: !0, template: "content", useSubmitBehavior: !1, useInkRipple: !1, _templateData: {}, stylingMode: "contained" }) } }, { key: "_getSubmitAction", value: function () { var e = this, t = !0, n = "valid"; return this._createAction((function (i) { var a = i.event; if (t) { var o = e._validationGroupConfig; if (o) { var s = o.validate(), r = s.status, l = s.complete; n = r, "pending" === r && (t = !1, e.option("disabled", !0), l.then((function (i) { var a = i.status; e.option("disabled", !1), "valid" === (n = a) && e._submitInput().click(), t = !0 }))) } } "valid" !== n && a.preventDefault(), a.stopPropagation() })) } }, { key: "_initMarkup", value: function () { this.$element().addClass("dx-button"), this._renderType(), this._renderStylingMode(), this._renderInkRipple(), this._renderClick(), this._updateAriaLabel(), w(k(u.prototype), "_initMarkup", this).call(this), this._updateContent(), this.setAria("role", "button") } }, { key: "_getAnonymousTemplateName", value: function () { return "content" } }, { key: "_initTemplates", value: function () { var e = this; this._templateManager.addDefaultTemplates({ content: new p.FunctionTemplate((function (t) { var n = t.model, i = void 0 === n ? {} : n, o = t.container, s = i.text, r = i.icon, l = e.option().iconPosition, d = (0, g.getImageContainer)(r), c = s && (0, a.default)("<span>").text(s).addClass("dx-button-text"), u = (0, a.default)(o); u.append(c), "left" === l ? u.prepend(d) : (d.addClass("dx-icon-right"), u.append(d)) })) }), w(k(u.prototype), "_initTemplates", this).call(this) } }, { key: "_optionChanged", value: function (e) { var t = e.name, n = e.previousValue; switch (t) { case "onClick": this._updateClick(); break; case "icon": case "text": this._updateContent(), this._updateAriaLabel(); break; case "type": this._updateType(n), this._updateContent(); break; case "_templateData": break; case "template": case "iconPosition": this._updateContent(); break; case "stylingMode": this._updateStylingMode(); break; case "useSubmitBehavior": this._updateSubmitInput(); break; case "useInkRipple": this._invalidate(); break; default: w(k(u.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_renderClick", value: function () { var e = this, t = this.$element(); h.dxClick.off(t, { namespace: this.NAME }), h.dxClick.on(t, (function (t) { return e._executeClickAction(t) }), { namespace: this.NAME }), this._updateClick() } }, { key: "_renderInkRipple", value: function () { var e = this, t = this.option(), n = t.text, i = t.icon, a = t.type; if (t.useInkRipple) { var o = !n && i || "back" === a, r = (0, s.render)(o ? { waveSizeCoefficient: 1, useHoldAnimation: !1, isCentered: !0 } : {}), l = function (t, n) { var i = e.option(), a = i.activeStateEnabled; if (i.useInkRipple && a && !e._disposed) { var o = { element: e._$content(), event: t }; n ? r.showWave(o) : r.hideWave(o) } }; this._attachActiveEvents((function (e) { var t = e.event; return l(t, !0) }), (function (e) { var t = e.event; return l(t) })) } } }, { key: "_renderStylingMode", value: function () { var e = this.$element(), t = this.option().stylingMode; -1 === ["contained", "text", "outlined"].indexOf(t) && (t = this._getDefaultOptions().stylingMode), e.addClass("dx-button-mode-".concat(t)) } }, { key: "_renderSubmitInput", value: function () { if (this.option().useSubmitBehavior) { var e = this._getSubmitAction(), t = this._$content(); (0, a.default)("<input>").attr("type", "submit").attr("tabindex", -1).addClass("dx-button-submit-input").appendTo(t), h.click.on(this._$submitInput(), (function (t) { return e({ event: t }) })) } } }, { key: "_renderType", value: function () { var e = this.option().type, t = this.$element(); e && t.addClass("dx-button-".concat(e)) } }, { key: "_submitInput", value: function () { return this._$submitInput().get(0) } }, { key: "_supportedKeys", value: function () { var e = this, t = function (t) { t.preventDefault(), e._executeClickAction(t) }; return (0, f.extend)(w(k(u.prototype), "_supportedKeys", this).call(this), { space: t, enter: t }) } }, { key: "_updateAriaLabel", value: function () { var e = this._getAriaTarget(), t = this.option(), n = t.icon, i = t.text; i || ("image" === (0, g.getImageSourceType)(n) && (n = -1 === n.indexOf("base64") ? n.replace(/.+\/([^.]+)\..+$/, "$1") : "Base64"), i = n || ""), e.attr("aria-label", i || null) } }, { key: "_updateClick", value: function () { var e = this; this._clickAction = this._createActionByOption("onClick", { excludeValidators: ["readOnly"], afterExecute: function () { e.option().useSubmitBehavior && setTimeout((function () { return e._submitInput().click() })) } }) } }, { key: "_updateContent", value: function () { var e = this.$element(), t = this._$content(), n = this._getContentData(), i = this.option(), o = i.template, s = i.iconPosition, r = n.icon, l = n.text; t.length ? t.empty() : t = (0, a.default)("<div>").addClass("dx-button-content").appendTo(e), e.toggleClass("dx-button-has-icon", !!r).toggleClass("dx-button-icon-right", !!r && "left" !== s).toggleClass("dx-button-has-text", !!l); var d = (0, a.default)(this._getTemplateByOption("template").render({ model: n, container: (0, m.getPublicElement)(t), transclude: this._templateManager.anonymousTemplateName === o })); d.hasClass("dx-template-wrapper") && (d.addClass("dx-button-content"), t.replaceWith(d)), this._updateSubmitInput() } }, { key: "_updateSubmitInput", value: function () { var e = this.option().useSubmitBehavior, t = this._$submitInput(); !e && t.length ? t.remove() : e && !t.length && this._renderSubmitInput() } }, { key: "_updateStylingMode", value: function () { var e = this.$element();["contained", "text", "outlined"].map((function (e) { return "dx-button-mode-".concat(e) })).forEach(e.removeClass.bind(e)), this._renderStylingMode() } }, { key: "_updateType", value: function (e) { var t = this.$element();[e, "back", "danger", "default", "normal", "success"].map((function (e) { return "dx-button-".concat(e) })).forEach(t.removeClass.bind(t)), this._renderType() } }, { key: "_validationGroupConfig", get: function () { return c.default.getGroupConfig(this._findGroup()) } }]) && y(t.prototype, n), i && y(t, i), u }(u.default); (0, r.default)("dxButton", I); var S = I; t.default = S, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(13)) && i.__esModule ? i : { default: i }).default.inherit({ ctor: function (e) { e && (e = String(e)), this._value = this._normalize(e || this._generate()) }, _normalize: function (e) { for (e = e.replace(/[^a-f0-9]/gi, "").toLowerCase(); e.length < 32;)e += "0"; return [e.substr(0, 8), e.substr(8, 4), e.substr(12, 4), e.substr(16, 4), e.substr(20, 12)].join("-") }, _generate: function () { for (var e = "", t = 0; t < 32; t++)e += Math.round(15 * Math.random()).toString(16); return e }, toString: function () { return this._value }, valueOf: function () { return this._value }, toJSON: function () { return this._value } }); t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.adjust = function (e, t) { var n, s = o(t || 0) + 2, r = e.toString().split("."), l = e, d = Math.abs(e), c = (0, i.isExponential)(e), u = d > 1 ? 10 : 0; if (1 === r.length) return e; c || ((0, i.isExponential)(t) && (s = r[0].length + a(t)), e = (e = d) - Math.floor(e) + u); if (s = function () { return "0.000300" !== 3e-4.toPrecision(3) }() && a(e) > 6 || s > 7 ? 15 : 7, !c && (n = parseFloat(e.toPrecision(s)).toString().split("."))[0] === u.toString()) return parseFloat(r[0] + "." + n[1]); return parseFloat(l.toPrecision(s)) }, t.getPrecision = o, t.getExponent = a, t.getRoot = s, t.solveCubicEquation = function (e, t, n, i) { if (Math.abs(e) < 1e-8) { if (e = t, t = n, n = i, Math.abs(e) < 1e-8) return e = t, t = n, Math.abs(e) < 1e-8 ? [] : [-t / e]; var a = t * t - 4 * e * n; return Math.abs(a) < 1e-8 ? [-t / (2 * e)] : a > 0 ? [(-t + Math.sqrt(a)) / (2 * e), (-t - Math.sqrt(a)) / (2 * e)] : [] } var o, r, l = (3 * e * n - t * t) / (3 * e * e), d = (2 * t * t * t - 9 * e * t * n + 27 * e * e * i) / (27 * e * e * e); if (Math.abs(l) < 1e-8) o = [s(-d, 3)]; else if (Math.abs(d) < 1e-8) o = [0].concat(l < 0 ? [Math.sqrt(-l), -Math.sqrt(-l)] : []); else { var c = d * d / 4 + l * l * l / 27; if (Math.abs(c) < 1e-8) o = [-1.5 * d / l, 3 * d / l]; else if (c > 0) r = s(-d / 2 - Math.sqrt(c), 3), o = [r - l / (3 * r)]; else { r = 2 * Math.sqrt(-l / 3); var u = Math.acos(3 * d / l / r) / 3, h = 2 * Math.PI / 3; o = [r * Math.cos(u), r * Math.cos(u - h), r * Math.cos(u - 2 * h)] } } for (var f = 0; f < o.length; f++)o[f] -= t / (3 * e); return o }, t.trunc = function (e) { return Math.trunc ? Math.trunc(e) : e > 0 ? Math.floor(e) : Math.ceil(e) }, t.roundFloatPart = r, t.getExponentLength = function (e) { var t, n = e.toString(); return (null === (t = n.split(".")[1]) || void 0 === t ? void 0 : t.length) || parseInt(n.split("e-")[1]) || 0 }, t.getRemainderByDivision = function (e, t, n) { if (t === parseInt(t)) return e % t; var i = r(e / t, n); return (i - parseInt(i)) * t }, t.inRange = t.fitIntoRange = t.sign = void 0; var i = n(0); t.sign = function (e) { return 0 === e ? 0 : e / Math.abs(e) }; t.fitIntoRange = function (e, t, n) { var i = !t && 0 !== t, a = !n && 0 !== n; return i && (t = a ? e : Math.min(e, n)), a && (n = i ? e : Math.max(e, t)), Math.min(Math.max(e, t), n) }; function a(e) { return Math.abs(parseInt(e.toExponential().split("e")[1])) } function o(e) { var t = e.toString(); if (t.indexOf(".") < 0) return 0; var n = t.split("."), i = n[1].indexOf("e"); return i >= 0 ? i : n[1].length } function s(e, t) { if (e < 0 && t % 2 != 1) return NaN; var n = Math.pow(Math.abs(e), 1 / t); return t % 2 == 1 && e < 0 ? -n : n } function r(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return parseFloat(e.toFixed(t)) } t.inRange = function (e, t, n) { return e >= t && e <= n } }, function (e, t, n) { "use strict"; t.default = void 0; var i = w(n(2)), a = n(7), o = w(n(5)), s = w(n(21)), r = n(18), l = n(1), d = n(0), c = n(3), u = n(30), h = n(191), f = n(103), p = n(41), g = w(n(60)), m = w(n(100)), _ = n(8), v = n(6), y = n(4); function w(e) { return e && e.__esModule ? e : { default: e } } function x(e) { return (x = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var b = (0, a.getWindow)(), C = (0, _.addNamespace)(m.default, "dxFX"), k = /^([+-])=(.*)/i, I = { initAnimation: function (e, t) { e.css({ transitionProperty: "none" }), "string" == typeof t.from ? e.addClass(t.from) : K(e, t.from); var n = this, i = new v.Deferred, a = t.cleanupWhen; t.transitionAnimation = { deferred: i, finish: function () { n._finishTransition(e), a ? (0, v.when)(i, a).always((function () { n._cleanup(e, t) })) : n._cleanup(e, t), i.resolveWith(e, [t, e]) } }, this._completeAnimationCallback(e, t).done((function () { t.transitionAnimation.finish() })).fail((function () { i.rejectWith(e, [t, e]) })), t.duration || t.transitionAnimation.finish(), e.css("transform") }, animate: function (e, t) { return this._startAnimation(e, t), t.transitionAnimation.deferred.promise() }, _completeAnimationCallback: function (e, t) { var n, i = this, a = Date.now() + t.delay, s = new v.Deferred, r = new v.Deferred, l = new v.Deferred, d = (0, p.transitionEndEventName)() + ".dxFX"; t.transitionAnimation.cleanup = function () { clearTimeout(n), clearTimeout(c), o.default.off(e, d), o.default.off(e, C) }, o.default.one(e, d, (function () { Date.now() - a >= t.duration && r.reject() })), o.default.off(e, C), o.default.on(e, C, (function () { i.stop(e, t), s.reject() })); var c = setTimeout((function () { n = setTimeout((function () { l.reject() }), t.duration + t.delay + G._simulatedTransitionEndDelay), (0, v.when)(r, l).fail(function () { s.resolve() }.bind(this)) })); return s.promise() }, _startAnimation: function (e, t) { e.css({ transitionProperty: "all", transitionDelay: t.delay + "ms", transitionDuration: t.duration + "ms", transitionTimingFunction: t.easing }), "string" == typeof t.to ? e[0].className += " " + t.to : t.to && K(e, t.to) }, _finishTransition: function (e) { e.css("transition", "none") }, _cleanup: function (e, t) { t.transitionAnimation.cleanup(), "string" == typeof t.from && (e.removeClass(t.from), e.removeClass(t.to)) }, stop: function (e, t, n) { t && (n ? t.transitionAnimation.finish() : ((0, d.isPlainObject)(t.to) && (0, c.each)(t.to, (function (t) { e.css(t, e.css(t)) })), this._finishTransition(e), this._cleanup(e, t))) } }, S = { initAnimation: function (e, t) { K(e, t.from) }, animate: function (e, t) { var n = new v.Deferred, i = this; return t ? ((0, c.each)(t.to, (function (n) { void 0 === t.from[n] && (t.from[n] = i._normalizeValue(e.css(n))) })), t.to.transform && (t.from.transform = i._parseTransform(t.from.transform), t.to.transform = i._parseTransform(t.to.transform)), t.frameAnimation = { to: t.to, from: t.from, currentValue: t.from, easing: (0, h.convertTransitionTimingFuncToEasing)(t.easing), duration: t.duration, startTime: (new Date).valueOf(), finish: function () { this.currentValue = this.to, this.draw(), (0, f.cancelAnimationFrame)(t.frameAnimation.animationFrameId), n.resolve() }, draw: function () { if (t.draw) t.draw(this.currentValue); else { var n = (0, l.extend)({}, this.currentValue); n.transform && (n.transform = (0, c.map)(n.transform, (function (e, t) { return "translate" === t ? (0, u.getTranslateCss)(e) : "scale" === t ? "scale(" + e + ")" : "rotate" === t.substr(0, t.length - 1) ? t + "(" + e + "deg)" : void 0 })).join(" ")), e.css(n) } } }, t.delay ? (t.frameAnimation.startTime += t.delay, t.frameAnimation.delayTimeout = setTimeout((function () { i._startAnimation(e, t) }), t.delay)) : i._startAnimation(e, t), n.promise()) : n.reject().promise() }, _startAnimation: function (e, t) { o.default.off(e, C), o.default.on(e, C, (function () { t.frameAnimation && (0, f.cancelAnimationFrame)(t.frameAnimation.animationFrameId) })), this._animationStep(e, t) }, _parseTransform: function (e) { var t = {}; return (0, c.each)(e.match(/(\w|\d)+\([^)]*\)\s*/g), (function (e, n) { var i = (0, u.parseTranslate)(n), a = n.match(/scale\((.+?)\)/), o = n.match(/(rotate.)\((.+)deg\)/); i && (t.translate = i), a && a[1] && (t.scale = parseFloat(a[1])), o && o[1] && (t[o[1]] = parseFloat(o[2])) })), t }, stop: function (e, t, n) { var i = t && t.frameAnimation; i && ((0, f.cancelAnimationFrame)(i.animationFrameId), clearTimeout(i.delayTimeout), n && i.finish(), delete t.frameAnimation) }, _animationStep: function (e, t) { var n = t && t.frameAnimation; if (n) { var i = (new Date).valueOf(); if (i >= n.startTime + n.duration) n.finish(); else { n.currentValue = this._calcStepValue(n, i - n.startTime), n.draw(); var a = this; n.animationFrameId = (0, f.requestAnimationFrame)((function () { a._animationStep(e, t) })) } } }, _calcStepValue: function (e, t) { return function n(i, a) { var o = Array.isArray(a) ? [] : {}; return (0, c.each)(a, (function (s, r) { if ("string" == typeof r && !1 === parseFloat(r, 10)) return !0; o[s] = "object" === x(r) ? n(i[s], r) : function (n) { var o = t / e.duration, s = t, r = 1 * i[n], l = a[n] - i[n], d = e.duration; return (0, h.getEasing)(e.easing)(o, s, r, l, d) }(s) })), o }(e.from, e.to) }, _normalizeValue: function (e) { var t = parseFloat(e, 10); return !1 === t ? e : t } }, E = { initAnimation: function () { }, animate: function () { return (new v.Deferred).resolve().promise() }, stop: y.noop, isSynchronous: !0 }, D = function (e, t, n, i) { (0, c.each)(["from", "to"], (function () { if (!n(e[this])) throw s.default.Error("E0010", t, this, i) })) }, T = function (e, t) { return D(e, t, (function (e) { return (0, d.isPlainObject)(e) }), "a plain object") }, A = { top: { my: "bottom center", at: "top center" }, bottom: { my: "top center", at: "bottom center" }, right: { my: "left center", at: "right center" }, left: { my: "right center", at: "left center" } }, O = { validateConfig: function (e) { T(e, "slide") }, setup: function (e, t) { var n = (0, u.locate)(e); if ("slide" !== t.type) { var i = "slideIn" === t.type ? t.from : t.to; i.position = (0, l.extend)({ of: b }, A[t.direction]), j(e, i) } this._setUpConfig(n, t.from), this._setUpConfig(n, t.to), (0, u.clearCache)(e) }, _setUpConfig: function (e, t) { t.left = "left" in t ? t.left : "+=0", t.top = "top" in t ? t.top : "+=0", this._initNewPosition(e, t) }, _initNewPosition: function (e, t) { var n = { left: t.left, top: t.top }; delete t.left, delete t.top; var i = this._getRelativeValue(n.left); void 0 !== i ? n.left = i + e.left : t.left = 0, void 0 !== (i = this._getRelativeValue(n.top)) ? n.top = i + e.top : t.top = 0, t.transform = (0, u.getTranslateCss)({ x: n.left, y: n.top }) }, _getRelativeValue: function (e) { var t; if ("string" == typeof e && (t = k.exec(e))) return parseInt(t[1] + "1") * t[2] } }, B = { setup: function (e, t) { var n, i = t.from, a = (0, d.isPlainObject)(i) ? t.skipElementInitialStyles ? 0 : e.css("opacity") : String(i); switch (t.type) { case "fadeIn": n = 1; break; case "fadeOut": n = 0; break; default: n = String(t.to) }t.from = { visibility: "visible", opacity: a }, t.to = { opacity: n } } }, M = { custom: { setup: function () { } }, slide: O, slideIn: O, slideOut: O, fade: B, fadeIn: B, fadeOut: B, pop: { validateConfig: function (e) { T(e, "pop") }, setup: function (e, t) { var n = t.from, i = t.to, a = "opacity" in n ? n.opacity : e.css("opacity"), o = "opacity" in i ? i.opacity : 1, s = "scale" in n ? n.scale : 0, r = "scale" in i ? i.scale : 1; t.from = { opacity: a }; var l = (0, u.getTranslate)(e); t.from.transform = this._getCssTransform(l, s), t.to = { opacity: o }, t.to.transform = this._getCssTransform(l, r) }, _getCssTransform: function (e, t) { return (0, u.getTranslateCss)(e) + "scale(" + t + ")" } }, css: { validateConfig: function (e) { !function (e, t) { D(e, t, (function (e) { return "string" == typeof e }), "a string") }(e, "css") }, setup: function () { } } }, P = { type: "custom", from: {}, to: {}, duration: 400, start: y.noop, complete: y.noop, easing: "ease", delay: 0 }, R = { duration: 400, easing: "ease", delay: 0 }; function F() { var e = this.element, t = this.config; if (j(e, t.from), j(e, t.to), this.configurator.setup(e, t), e.data("dxAnimData", this), G.off && (t.duration = 0, t.delay = 0), this.strategy.initAnimation(e, t), t.start) { var n = (0, r.getPublicElement)(e); t.start.apply(this, [n, t]) } } var V = function () { var e = this, t = e.element, n = e.config; return e.isStarted = !0, e.strategy.animate(t, n).done((function () { !function (e) { var t = e.element, n = e.config; if (t.removeData("dxAnimData"), n.complete) { var i = (0, r.getPublicElement)(t); n.complete.apply(this, [i, n]) } e.deferred.resolveWith(this, [t, n]) }(e) })).fail((function () { e.deferred.rejectWith(this, [t, n]) })) }, q = function (e) { var t = this.element, n = this.config; clearTimeout(this.startTimeout), this.isStarted || this.start(), this.strategy.stop(t, n, e) }, L = (0, _.addNamespace)(m.default, "dxFXStartAnimation"), H = function (e, t) { var n = "css" === t.type ? R : P, a = (0, l.extend)(!0, {}, n, t), r = function (e) { var t = M[e.type]; if (!t) throw s.default.Error("E0011", e.type); return t }(a), c = function (e) { e = e || {}; var t = { transition: (0, p.transition)() ? I : S, frame: S, noAnimation: E }, n = e.strategy || "transition"; return "css" !== e.type || (0, p.transition)() || (n = "noAnimation"), t[n] }(a), u = { element: (0, i.default)(e), config: a, configurator: r, strategy: c, isSynchronous: c.isSynchronous, setup: F, start: V, stop: q, deferred: new v.Deferred }; return (0, d.isFunction)(r.validateConfig) && r.validateConfig(a), function (e) { o.default.off(e.element, L), o.default.on(e.element, L, (function () { G.stop(e.element) })), e.deferred.always((function () { o.default.off(e.element, L) })) }(u), u }; function z(e) { return e.data("dxAnimQueue") || [] } var N = function (e) { e.removeData("dxAnimQueue") }; function W(e) { return !!e.data("dxAnimData") } function $(e, t) { if ((t = z(e)).length) { var n = t.shift(); 0 === t.length && N(e), function (e) { e.setup(), G.off || e.isSynchronous ? e.start() : e.startTimeout = setTimeout((function () { e.start() })); return e.deferred.promise() }(n).done((function () { W(e) || $(e) })) } } function j(e, t) { if (t && t.position) { var n = (0, i.default)(b), a = 0, o = 0, s = g.default.calculate(e, t.position), r = e.offset(), d = e.position(); d.top > r.top && (o = n.scrollTop()), d.left > r.left && (a = n.scrollLeft()), (0, l.extend)(t, { left: s.h.location - r.left + d.left - a, top: s.v.location - r.top + d.top - o }), delete t.position } } function K(e, t) { (0, c.each)(t, (function (t, n) { try { e.css(t, (0, d.isFunction)(n) ? n() : n) } catch (e) { } })) } var G = { off: !1, animationTypes: M, animate: function (e, t) { var n = (0, i.default)(e); if (!n.length) return (new v.Deferred).resolve().promise(); var a = H(n, t); return function (e, t) { var n = z(e); (function (e, t) { e.data("dxAnimQueue", t) })(e, n), n.push(t), W(e) || $(e, n) }(n, a), a.deferred.promise() }, createAnimation: H, isAnimating: W, stop: function (e, t) { var n = (0, i.default)(e), a = z(n); (0, c.each)(a, (function (e, t) { t.config.delay = 0, t.config.duration = 0, t.isSynchronous = !0 })), W(n) || $(n, a); var o = n.data("dxAnimData"); o && o.stop(t), n.removeData("dxAnimData"), N(n) }, _simulatedTransitionEndDelay: 100 }, U = G; t.default = U, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.getDataStrategy = function () { return l }, t.data = function () { return l.data.apply(this, arguments) }, t.beforeCleanData = function (e) { u = e }, t.afterCleanData = function (e) { h = e }, t.cleanData = function (e) { return l.cleanData.call(this, e) }, t.removeData = function (e, t) { return l.removeData.call(this, e, t) }, t.cleanDataRecursive = function (e, t) { if (!a.default.isElementNode(e)) return; var n = e.getElementsByTagName("*"); l.cleanData(n), t && l.cleanData([e]) }, t.setDataStrategy = t.strategyChanging = void 0; var i = r(n(140)), a = r(n(9)), o = r(n(5)), s = r(n(142)); function r(e) { return e && e.__esModule ? e : { default: e } } var l, d = new i.default, c = new s.default; t.strategyChanging = c; var u = function () { }, h = function () { }, f = function (e) { c.fire(e); var t = (l = e).cleanData; l.cleanData = function (e) { u(e); var n = t.call(this, e); return h(e), n } }; t.setDataStrategy = f, f({ data: function () { var e = arguments[0], t = arguments[1], n = arguments[2]; if (e) { var i = d.get(e); return i || (i = {}, d.set(e, i)), void 0 === t ? i : 2 === arguments.length ? i[t] : (i[t] = n, n) } }, removeData: function (e, t) { if (e) if (void 0 === t) d.delete(e); else { var n = d.get(e); n && delete n[t] } }, cleanData: function (e) { for (var t = 0; t < e.length; t++)o.default.off(e[t]), d.delete(e[t]) } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(48)), a = n(14), o = n(4), s = n(3), r = n(0), l = n(174), d = p(n(27)), c = p(n(21)), u = n(175), h = p(n(88)), f = p(n(248)); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], i = !0, a = !1, o = void 0; try { for (var s, r = e[Symbol.iterator](); !(i = (s = r.next()).done) && (n.push(s.value), !t || n.length !== t); i = !0); } catch (e) { a = !0, o = e } finally { try { i || null == r.return || r.return() } finally { if (a) throw o } } return n }(e, t) || function (e, t) { if (!e) return; if ("string" == typeof e) return m(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return m(e, t) }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function m(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var _ = "undefined" != typeof Intl, v = ["currency", "fixedpoint", "exponential", "percent", "decimal"], y = { 1: "K", 2: "M", 3: "B", 4: "T" }, w = { largenumber: "auto", thousands: 1, millions: 2, billions: 3, trillions: 4 }, x = (0, i.default)({ engine: function () { return "base" }, numericFormats: v, defaultLargeNumberFormatPostfixes: y, _parseNumberFormatString: function (e) { var t = {}; if (e && "string" == typeof e) { var n = e.toLowerCase().split(" "); return (0, s.each)(n, (function (e, n) { (0, a.inArray)(n, v) > -1 ? t.formatType = n : n in w && (t.power = w[n]) })), t.power && !t.formatType && (t.formatType = "fixedpoint"), t.formatType ? t : void 0 } }, _calculateNumberPower: function (e, t, n, i) { var a = Math.abs(e), o = 0; if (a > 1) for (; a && a >= t && (void 0 === i || o < i);)o++, a /= t; else if (a > 0 && a < 1) for (; a < 1 && (void 0 === n || o > n);)o--, a *= t; return o }, _getNumberByPower: function (e, t, n) { for (var i = e; t > 0;)i /= n, t--; for (; t < 0;)i *= n, t++; return i }, _formatNumber: function (e, t, n) { "auto" === t.power && (t.power = this._calculateNumberPower(e, 1e3, 0, 4)), t.power && (e = this._getNumberByPower(e, t.power, 1e3)); var i = this.defaultLargeNumberFormatPostfixes[t.power] || "", a = this._formatNumberCore(e, t.formatType, n); return a = a.replace(/(\d|.$)(\D*)$/, "$1" + i + "$2") }, _formatNumberExponential: function (e, t) { var n = this._calculateNumberPower(e, 10), i = this._getNumberByPower(e, n, 10); void 0 === t.precision && (t.precision = 1), i.toFixed(t.precision || 0) >= 10 && (n++, i /= 10); var a = (n >= 0 ? "+" : "") + n.toString(); return this._formatNumberCore(i, "fixedpoint", t) + "E" + a }, _addZeroes: function (e, t) { for (var n = Math.pow(10, t), i = e < 0 ? "-" : "", a = (e = (Math.abs(e) * n >>> 0) / n).toString(); a.length < t;)a = "0" + a; return i + a }, _addGroupSeparators: function (e) { var t = e.toString().split("."); return t[0].replace(/\B(?=(\d{3})+(?!\d))/g, (0, d.default)().thousandsSeparator) + (t[1] ? (0, d.default)().decimalSeparator + t[1] : "") }, _formatNumberCore: function (e, t, n) { return "exponential" === t ? this._formatNumberExponential(e, n) : ("decimal" !== t && null !== n.precision && (n.precision = n.precision || 0), "percent" === t && (e *= 100), void 0 !== n.precision && (e = "decimal" === t ? this._addZeroes(e, n.precision) : null === n.precision ? e.toPrecision() : (0, u.toFixed)(e, n.precision)), e = "decimal" !== t ? this._addGroupSeparators(e) : e.toString().replace(".", (0, d.default)().decimalSeparator), "percent" === t && (e += "%"), e) }, _normalizeFormat: function (e) { return e ? "function" == typeof e ? e : ((0, r.isPlainObject)(e) || (e = { type: e }), e) : {} }, _getSeparators: function () { return { decimalSeparator: this.getDecimalSeparator(), thousandsSeparator: this.getThousandsSeparator() } }, getThousandsSeparator: function () { return this.format(1e4, "fixedPoint")[2] }, getDecimalSeparator: function () { return this.format(1.2, { type: "fixedPoint", precision: 1 })[1] }, convertDigits: function (e, t) { var n = this.format(90, "decimal"); if ("string" != typeof e || "0" === n[1]) return e; var i = t ? n[1] : "0", a = t ? "0" : n[1], o = t ? n[0] : "9", s = new RegExp("[" + i + "-" + o + "]", "g"); return e.replace(s, (function (e) { return String.fromCharCode(e.charCodeAt(0) + (a.charCodeAt(0) - i.charCodeAt(0))) })) }, getNegativeEtalonRegExp: function (e) { var t = this._getSeparators(), n = new RegExp("[0-9" + (0, o.escapeRegExp)(t.decimalSeparator + t.thousandsSeparator) + "]+", "g"), i = this.format(-1, e).replace(n, "1"); return ["\\", "(", ")", "[", "]", "*", "+", "$", "^", "?", "|", "{", "}"].forEach((function (e) { i = i.replace(e, "\\".concat(e)) })), i = (i = i.replace(" ", "\\s")).replace("1", ".+"), new RegExp(i, "g") }, getSign: function (e, t) { if ("-" === e.replace(/[^0-9-]/g, "").charAt(0)) return -1; if (!t) return 1; var n = this.getNegativeEtalonRegExp(t); return e.match(n) ? -1 : 1 }, format: function (e, t) { if ("number" != typeof e) return e; if ("number" == typeof t) return e; if ("function" == typeof (t = t && t.formatter || t)) return t(e); (t = this._normalizeFormat(t)).type || (t.type = "decimal"); var n = this._parseNumberFormatString(t.type); if (!n) { var i = this._getSeparators(); return i.unlimitedIntegerDigits = t.unlimitedIntegerDigits, this.convertDigits((0, l.getFormatter)(t.type, i)(e)) } return this._formatNumber(e, n, t) }, parse: function (e, t) { if (e) { if (t && t.parser) return t.parser(e); e = this.convertDigits(e, !0), t && "string" != typeof t && c.default.log("W0011"); var n = this.getDecimalSeparator(), i = new RegExp("[^0-9" + (0, o.escapeRegExp)(n) + "]", "g"), s = e.replace(i, "").replace(n, ".").replace(/\.$/g, ""); if ("." === s || "" === s) return null; if (this._calcSignificantDigits(s) > 15) return NaN; var r = +s * this.getSign(e, t); t = this._normalizeFormat(t); var l = this._parseNumberFormatString(t.type), d = null == l ? void 0 : l.power; if (d) { if ("auto" === d) { var u = e.match(/\d(K|M|B|T)/); u && (d = (0, a.find)(Object.keys(y), (function (e) { return y[e] === u[1] }))) } r *= Math.pow(10, 3 * d) } return "percent" === (null == l ? void 0 : l.formatType) && (r /= 100), r } }, _calcSignificantDigits: function (e) { var t = g(e.split("."), 2), n = t[0], i = t[1], a = function (e) { for (var t = -1, n = 0; n < e.length; n++)if ("0" !== e[n]) { t = n; break } return t > -1 ? e.length - t : 0 }, o = 0; return n && (o += a(n.split(""))), i && (o += a(i.split("").reverse())), o } }); x.inject(h.default), _ && x.inject(f.default); var b = x; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; Object.defineProperty(t, "stylePropPrefix", { enumerable: !0, get: function () { return d.stylePropPrefix } }), Object.defineProperty(t, "styleProp", { enumerable: !0, get: function () { return d.styleProp } }), t.nativeScrolling = t.animation = t.transitionEndEventName = t.transition = t.touch = t.inputType = t.supportProp = t.pointerEvents = t.touchEvents = void 0; var i = n(14), a = c(n(9)), o = n(4), s = c(n(56)), r = n(7), l = c(n(12)), d = n(64); function c(e) { return e && e.__esModule ? e : { default: e } } var u = (0, r.getNavigator)(), h = u.maxTouchPoints, f = u.msMaxTouchPoints, p = u.pointerEnabled, g = { webkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd", msTransition: "MsTransitionEnd", transition: "transitionend" }, m = function (e) { return !!(0, d.styleProp)(e) }; t.supportProp = m; t.inputType = function (e) { if ("text" === e) return !0; var t = a.default.createElement("input"); try { return t.setAttribute("type", e), t.value = "wrongValue", !t.value } catch (e) { return !1 } }; var _ = function (e, t) { return (e("ontouchstart") || !!t) && !e("callPhantom") }(r.hasProperty, h); t.touchEvents = _; var v = function (e, t) { var n = (0, o.ensureDefined)(t, !0), i = (0, o.ensureDefined)(t, !1); return e("PointerEvent") && n || i }(r.hasProperty, p); t.pointerEvents = v; var y = _ || v && (!!h || !!f); t.touch = y; var w = (0, s.default)((function () { return m("transition") })); t.transition = w; var x = (0, s.default)((function () { return g[(0, d.styleProp)("transition")] })); t.transitionEndEventName = x; var b = (0, s.default)((function () { return m("animation") })); t.animation = b; var C, k, I, S, E = (C = l.default.real(), k = C.platform, I = C.version, S = C.mac, !(I && I[0] < 4 && "android" === k) && (0, i.inArray)(k, ["ios", "android"]) > -1 || S); t.nativeScrolling = E }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = c(n(9)), o = c(n(45)), s = n(7), r = n(3), l = n(6), d = n(4); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e) { return function (e) { if (Array.isArray(e)) return h(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return h(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return h(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function h(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var f, p, g, m, _ = o.default.add, v = (p = { timeout: "Network connection timeout", error: "Unspecified network error", parsererror: "Unexpected server response" }, _((function () { var e = (0, s.getWindow)(); a.default.listen(e, "beforeunload", (function () { f = !0 })) })), function (e, t) { return f ? "DEVEXTREME_XHR_ERROR_UNLOAD" : e.status < 400 ? function (e) { var t = p[e]; return t || e }(t) : e.statusText }), y = (m = 0, { obtain: function () { 0 === m && (g = new l.Deferred), m++ }, release: function () { --m < 1 && g.resolve() }, promise: function () { return (0 === m ? (new l.Deferred).resolve() : g).promise() }, reset: function () { m = 0, g && g.resolve() } }); var w = { XHR_ERROR_UNLOAD: "DEVEXTREME_XHR_ERROR_UNLOAD", normalizeBinaryCriterion: function (e) { return [e[0], e.length < 3 ? "=" : String(e[1]).toLowerCase(), e.length < 2 || e[e.length - 1]] }, normalizeSortingInfo: function (e) { return Array.isArray(e) || (e = [e]), (0, r.map)(e, (function (e) { var t = { selector: (0, i.isFunction)(e) || "string" == typeof e ? e : e.getter || e.field || e.selector, desc: !(!e.desc && "d" !== String(e.dir).charAt(0).toLowerCase()) }; return e.compare && (t.compare = e.compare), t })) }, errorMessageFromXhr: v, aggregators: { count: { seed: 0, step: function (e) { return 1 + e } }, sum: { seed: 0, step: function (e, t) { return e + t } }, min: { step: function (e, t) { return t < e ? t : e } }, max: { step: function (e, t) { return t > e ? t : e } }, avg: { seed: [0, 0], step: function (e, t) { return [e[0] + t, e[1] + 1] }, finalize: function (e) { return e[1] ? e[0] / e[1] : NaN } } }, keysEqual: function (e, t, n) { if (Array.isArray(e)) { for (var i, a = (0, r.map)(t, (function (e, t) { return t })), o = 0; o < a.length; o++)if (i = a[o], !(0, d.equalByValue)(t[i], n[i], 0, !1)) return !1; return !0 } return (0, d.equalByValue)(t, n, 0, !1) }, throttleChanges: function (e, t) { var n = [], a = function (e, t) { var n, a; return function () { var o = this; return a = arguments, n || (n = setTimeout((function () { n = void 0, a && e.call(o, a) }), (0, i.isFunction)(t) ? t() : t)), n } }((function () { e.call(this, n), n = [] }), t); return function (e) { var t; Array.isArray(e) && (t = n).push.apply(t, u(e)); return a.call(this, n) } }, trivialPromise: function () { var e = new l.Deferred; return e.resolve.apply(e, arguments).promise() }, rejectedPromise: function () { var e = new l.Deferred; return e.reject.apply(e, arguments).promise() }, isDisjunctiveOperator: function (e) { return /^(or|\|\||\|)$/i.test(e) }, isConjunctiveOperator: function (e) { return /^(and|&&|&)$/i.test(e) }, processRequestResultLock: y, isUnaryOperation: function (e) { return "!" === e[0] && Array.isArray(e[1]) }, isGroupCriterion: function (e) { var t, n = e[0], a = e[1]; return !!Array.isArray(n) || !(!(0, i.isFunction)(n) || !Array.isArray(a) && !(0, i.isFunction)(a) && "and" !== (t = a) && "or" !== t) }, base64_encode: function (e) { Array.isArray(e) || (e = function (e) { var t, n, i = []; for (n = 0; n < e.length; n++)(t = e.charCodeAt(n)) < 128 ? i.push(t) : t < 2048 ? i.push(192 + (t >> 6), 128 + (63 & t)) : t < 65536 ? i.push(224 + (t >> 12), 128 + (t >> 6 & 63), 128 + (63 & t)) : t < 2097152 && i.push(240 + (t >> 18), 128 + (t >> 12 & 63), 128 + (t >> 6 & 63), 128 + (63 & t)); return i }(String(e))); var t = ""; function n(e) { return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e) } for (var i = 0; i < e.length; i += 3) { var a = e[i], o = e[i + 1], s = e[i + 2]; t += (0, r.map)([a >> 2, (3 & a) << 4 | o >> 4, isNaN(o) ? 64 : (15 & o) << 2 | s >> 6, isNaN(s) ? 64 : 63 & s], n).join("") } return t } }; t.default = w, e.exports = t.default }, function (e, t, n) { "use strict"; t.captionize = t.titleize = t.humanize = t.camelize = t.underscore = t.dasherize = void 0; var i = n(3), a = function (e) { return null == e ? "" : String(e) }, o = function (e) { return a(e).charAt(0).toUpperCase() + e.substr(1) }, s = function (e) { return a(e).replace(/([a-z\d])([A-Z])/g, "$1 $2").split(/[\s_-]+/) }, r = function (e) { return (0, i.map)(s(e), (function (e) { return e.toLowerCase() })).join("-") }; t.dasherize = r; t.underscore = function (e) { return r(e).replace(/-/g, "_") }; t.camelize = function (e, t) { return (0, i.map)(s(e), (function (e, n) { return e = e.toLowerCase(), (t || n > 0) && (e = o(e)), e })).join("") }; t.humanize = function (e) { return o(r(e).replace(/-/g, " ")) }; t.titleize = function (e) { return (0, i.map)(s(e), (function (e) { return o(e.toLowerCase()) })).join(" ") }; var l = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; t.captionize = function (e) { var t, n, i = [], a = !1, o = !1; for (t = 0; t < e.length; t++)o = (n = e.charAt(t)) === n.toUpperCase() && "-" !== n && ")" !== n && "/" !== n || n in l, "_" === n || "." === n ? (n = " ", o = !0) : 0 === t ? (n = n.toUpperCase(), o = !0) : !a && o && i.length > 0 && i.push(" "), i.push(n), a = o; return i.join("") } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(188), a = function () { var e = Array.isArray(arguments[0]) ? "array" : "remote"; return i.queryImpl[e].apply(this, arguments) }; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(9)), a = r(n(48)), o = n(7), s = r(n(56)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = [], d = (0, s.default)((function () { var e = i.default.listen(i.default.getDocument(), "DOMContentLoaded", (function () { c.fire(), e() })) })), c = { add: function (e) { var t = (0, o.hasWindow)(); t && ("complete" === i.default.getReadyState() || "loading" !== i.default.getReadyState() && !i.default.getDocumentElement().doScroll) ? e() : (l.push(e), t && d()) }, fire: function () { l.forEach((function (e) { return e() })), l = [] } }, u = (0, a.default)(c); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.sendRequest = function (e) { return a.default.sendRequest(e) }, t.findField = function (e, t) { if (e && (0, i.isDefined)(t)) for (var n = 0; n < e.length; n++) { var a = e[n]; if (a.name === t || a.caption === t || a.dataField === t || a.index === t) return n } return -1 }, t.formatValue = function (e, t) { var n = e == e && d.default.format(e, t.format), i = { value: e, valueText: n || "" }; return t.customizeText ? t.customizeText.call(t, i) : i.valueText }, t.getCompareFunction = function (e) { return function (t, n) { var a = 0, o = e(t), s = e(n), r = (0, i.isDefined)(o), l = (0, i.isDefined)(s); return r && l && (o > s ? a = 1 : o < s && (a = -1)), r && !l && (a = 1), !r && l && (a = -1), a } }, t.createPath = function (e) { for (var t = [], n = e.length - 1; n >= 0; n--)t.push(e[n].key || e[n].value); return t }, t.foreachDataLevel = function e(t, n, i, a) { i = i || 0, a = a || "children", t.length && n(t, i); for (var o = 0; o < t.length; o++) { var s = t[o]; s[a] && s[a].length && e(s[a], n, i + 1, a) } }, t.mergeArraysByMaxValue = function (e, t) { for (var n = [], i = 0; i < e.length; i++)n.push(Math.max(e[i] || 0, t[i] || 0)); return n }, t.getExpandedLevel = function (e, t) { var n = e[t], i = 0, a = ("columns" === t ? e.columnExpandedPaths : e.rowExpandedPaths) || []; e.headerName === t ? i = e.path.length : e.headerName && e.headerName !== t && e.oppositePath ? i = e.oppositePath.length : (0, s.each)(a, (function (e, t) { i = Math.max(i, t.length) })); for (; n[i + 1] && n[i].expanded;)i++; return i }, t.discoverObjectFields = function (e, t) { var n = y(t); return function e(t, n, a, l) { var d = []; return Object.keys(n || []).forEach((function (c) { if (!c || 0 !== c.indexOf("__")) { for (var u, h, f = 1, p = a.length ? a + "." + c : c, g = l[p], m = (0, o.compileGetter)(p), _ = n[c]; !(0, i.isDefined)(_) && t[f];)_ = m(t[f]), f++; !g && (0, i.isDefined)(_) && (g = (0, i.type)(_)), u = [{ dataField: p, dataType: g, groupName: "date" === g ? c : void 0, groupInterval: void 0, displayFolder: a }], "date" === g ? u = u.concat((h = u[0], (0, s.map)(["year", "quarter", "month"], (function (e, t) { return (0, r.extend)({}, h, { groupInterval: e, groupIndex: t }) })))) : "object" === g && (u = e(t, _, p, l)), d.push.apply(d, u) } })), d }(e, e[0], "", n) }, t.getFieldsDataType = y, t.setDefaultFieldValueFormatting = function (e) { if ("date" === e.dataType) e.format || p(e, "format", w[e.groupInterval]); else if ("number" === e.dataType) { var t = (0, i.isNumeric)(e.groupInterval) && e.groupInterval > 0 && e.groupInterval; t && !e.customizeText && p(e, "customizeText", (function (n) { var i = n.value + t, a = d.default.format(i, e.format); return n.valueText && a ? n.valueText + " - " + a : "" })) } }, t.getFiltersByPath = function (e, t) { var n = []; t = t || []; for (var i = 0; i < t.length; i++)n.push((0, r.extend)({}, e[i], { groupIndex: null, groupName: null, filterType: "include", filterValues: [t[i]] })); return n }, t.capitalizeFirstLetter = function (e) { return e.charAt(0).toUpperCase() + e.slice(1) }, t.storeDrillDownMixin = t.foreachTreeAsync = t.foreachTree = t.setFieldProperty = void 0; var i = n(0), a = f(n(89)), o = n(20), s = n(3), r = n(1), l = f(n(32)), d = f(n(104)), c = n(52), u = f(n(54)), h = n(6); function f(e) { return e && e.__esModule ? e : { default: e } } var p = function (e, t, n, i) { var a = e._initProperties = e._initProperties || {}, o = i ? n : e[t]; Object.prototype.hasOwnProperty.call(a, t) && !i || (a[t] = o), e[t] = n }; t.setFieldProperty = p; var g = new Date; function m(e) { return function t(n, i, a, o, s, r) { var l, d; function c(e, s, r) { (0, h.when)(t(n, i, a, o, s, r)).done(e.resolve) } for (o = o || [], n = n || [], l = s = s || 0; l < n.length; l++) { if (e && l > s && l % 1e4 == 0 && new Date - g >= 300) return g = new Date, d = new h.Deferred, setTimeout(c(d, l, !1), 0), d; var u = n[l]; if (!r) { if (o.unshift(u), a && !1 === i(o, l)) return; if (u.children) { var f = t(u.children, i, a, o); if (e && f) return d = new h.Deferred, f.done(c(d, l, !0)), d } } if (r = !1, !a && !1 === i(o, l)) return; o.shift(), n[l] !== u && l-- } } } var _ = m(!1); t.foreachTree = _; var v = m(!0); function y(e) { var t = {}; return (0, s.each)(e, (function (e, n) { t[n.dataField] = t[n.dataField] || n.dataType })), t } t.foreachTreeAsync = v; var w = { month: function (e) { return l.default.getMonthNames()[e - 1] }, quarter: function (e) { return l.default.format(new Date(2e3, 3 * e - 1), "quarter") }, dayOfWeek: function (e) { return l.default.getDayNames()[e] } }; var x = { createDrillDownDataSource: function (e, t) { var n = this.getDrillDownItems(e, t); function i(e) { return function (t) { var i; return i = new h.Deferred, (0, h.when)(n).done((function (n) { new u.default(n)[e](t).done(i.resolve).fail(i.reject) })).fail(i.reject), i } } return new c.DataSource({ load: i("load"), totalCount: i("totalCount"), key: this.key() }) } }; t.storeDrillDownMixin = x }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(30), a = I(n(11)), o = I(n(12)), s = n(18), r = I(n(2)), l = n(101), d = n(14), c = I(n(15)), u = n(4), h = n(1), f = n(43), p = n(3), g = n(143), m = n(25), _ = n(0), v = n(67), y = n(7), w = n(59), x = I(n(10)), b = I(n(35)), C = I(n(69)), k = n(34); function I(e) { return e && e.__esModule ? e : { default: e } } n(205); var S = (0, y.getWindow)(), E = ["cancel", "clear", "done"], D = c.default.msie && 11 === parseInt(c.default.version), T = c.default.safari && (0, v.compare)(c.default.version, [11]) < 0, A = { static: "", inherit: "dx-popup-inherit-height", flex: "dx-popup-flex-height" }, O = C.default.inherit({ _getDefaultOptions: function () { return (0, h.extend)(this.callBase(), { fullScreen: !1, title: "", showTitle: !0, titleTemplate: "title", onTitleRendered: null, dragEnabled: !1, toolbarItems: [], showCloseButton: !1, bottomTemplate: "bottom", useDefaultToolbarButtons: !1, useFlatToolbarButtons: !1, autoResizeEnabled: !0 }) }, _defaultOptionsRules: function () { var e = (0, k.current)(); return this.callBase().concat([{ device: { platform: "ios" }, options: { animation: this._iosAnimation } }, { device: { platform: "android" }, options: { animation: this._androidAnimation } }, { device: { platform: "generic" }, options: { showCloseButton: !0 } }, { device: function (e) { return "desktop" === o.default.real().deviceType && "generic" === e.platform }, options: { dragEnabled: !0 } }, { device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: function () { return (0, k.isMaterial)(e) }, options: { useDefaultToolbarButtons: !0, useFlatToolbarButtons: !0 } }]) }, _iosAnimation: { show: { type: "slide", duration: 400, from: { position: { my: "top", at: "bottom" } }, to: { position: { my: "center", at: "center" } } }, hide: { type: "slide", duration: 400, from: { opacity: 1, position: { my: "center", at: "center" } }, to: { opacity: 1, position: { my: "top", at: "bottom" } } } }, _androidAnimation: function () { return this.option("fullScreen") ? { show: { type: "slide", duration: 300, from: { top: "30%", opacity: 0 }, to: { top: 0, opacity: 1 } }, hide: { type: "slide", duration: 300, from: { top: 0, opacity: 1 }, to: { top: "30%", opacity: 0 } } } : { show: { type: "fade", duration: 400, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } } }, _init: function () { this.callBase(), this.$element().addClass("dx-popup"), this._wrapper().addClass("dx-popup-wrapper"), this._$popupContent = this._$content.wrapInner((0, r.default)("<div>").addClass("dx-popup-content")).children().eq(0) }, _render: function () { var e = this.option("fullScreen"); this._toggleFullScreenClass(e), this.callBase() }, _toggleFullScreenClass: function (e) { this._$content.toggleClass("dx-popup-fullscreen", e).toggleClass("dx-popup-normal", !e) }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ title: new l.EmptyTemplate, bottom: new l.EmptyTemplate }) }, _renderContentImpl: function () { this._renderTitle(), this.callBase(), this._renderBottom() }, _renderTitle: function () { var e = this._getToolbarItems("top"), t = this.option("title"), n = this.option("showTitle"); if (n && t && e.unshift({ location: o.default.current().ios ? "center" : "before", text: t }), n || e.length > 0) { this._$title && this._$title.remove(); var i = (0, r.default)("<div>").addClass("dx-popup-title").insertBefore(this.$content()); this._$title = this._renderTemplateByType("titleTemplate", e, i).addClass("dx-popup-title"), this._renderDrag(), this._executeTitleRenderAction(this._$title) } else this._$title && this._$title.detach() }, _renderTemplateByType: function (e, t, n, i) { var a = this._getTemplateByOption(e); if (a instanceof l.EmptyTemplate) { var o = (0, h.extend)({}, this.option("integrationOptions"), { skipTemplates: ["content", "title"] }), d = (0, h.extend)(i, { items: t, rtlEnabled: this.option("rtlEnabled"), useDefaultButtons: this.option("useDefaultToolbarButtons"), useFlatButtons: this.option("useFlatToolbarButtons"), integrationOptions: o }); this._getTemplate("dx-polymorph-widget").render({ container: n, model: { widget: "dxToolbarBase", options: d } }); var c = n.children("div"); return n.replaceWith(c), c } var u = (0, r.default)(a.render({ container: (0, s.getPublicElement)(n) })); return u.hasClass("dx-template-wrapper") && (n.replaceWith(u), n = u), n }, _executeTitleRenderAction: function (e) { this._getTitleRenderAction()({ titleElement: (0, s.getPublicElement)(e) }) }, _getTitleRenderAction: function () { return this._titleRenderAction || this._createTitleRenderAction() }, _createTitleRenderAction: function () { return this._titleRenderAction = this._createActionByOption("onTitleRendered", { element: this.element(), excludeValidators: ["disabled", "readOnly"] }) }, _getCloseButton: function () { return { toolbar: "top", location: "after", template: this._getCloseButtonRenderer() } }, _getCloseButtonRenderer: function () { var e = this; return function (t, n, i) { var a = (0, r.default)("<div>").addClass("dx-closebutton"); e._createComponent(a, b.default, { icon: "close", onClick: e._createToolbarItemAction(void 0), integrationOptions: {} }), (0, r.default)(i).append(a) } }, _getToolbarItems: function (e) { var t = this, n = this.option("toolbarItems"), i = []; this._toolbarItemClasses = []; var a = o.default.current().platform, s = 0; return (0, p.each)(n, (function (n, r) { var l = (0, _.isDefined)(r.shortcut), d = l ? function (e) { var t = o.default.current(), n = t.platform, i = "bottom", a = "before"; if ("ios" === n) switch (e) { case "cancel": i = "top"; break; case "clear": i = "top", a = "after"; break; case "done": a = "after" } else if ("android" === n && t.version && parseInt(t.version[0]) > 4) switch (e) { case "cancel": a = "after"; break; case "done": a = "after" } else "android" === n && (a = "center"); return { toolbar: i, location: a } }(r.shortcut) : r; if (l && "ios" === a && s < 2 && (d.toolbar = "top", s++), d.toolbar = r.toolbar || d.toolbar || "top", d && d.toolbar === e) { l && (0, h.extend)(d, { location: r.location }, t._getToolbarItemByAlias(r)); var c = "generic" === a; "done" === r.shortcut && c || "cancel" === r.shortcut && !c ? i.unshift(d) : i.push(d) } })), "top" === e && this.option("showCloseButton") && this.option("showTitle") && i.push(this._getCloseButton()), i }, _getLocalizationKey: function (e) { return "done" === e.toLowerCase() ? "OK" : (0, f.camelize)(e, !0) }, _getToolbarItemByAlias: function (e) { var t = this, n = e.shortcut; if ((0, d.inArray)(n, E) < 0) return !1; var i = (0, h.extend)({ text: x.default.format(this._getLocalizationKey(n)), onClick: this._createToolbarItemAction(e.onClick), integrationOptions: {}, type: t.option("useDefaultToolbarButtons") ? "default" : "normal", stylingMode: t.option("useFlatToolbarButtons") ? "text" : "contained" }, e.options || {}), a = "dx-popup-" + n; return this._toolbarItemClasses.push(a), { template: function (e, n, o) { var s = (0, r.default)("<div>").addClass(a).appendTo(o); t._createComponent(s, b.default, i) } } }, _createToolbarItemAction: function (e) { return this._createAction(e, { afterExecute: function (e) { e.component.hide() } }) }, _renderBottom: function () { var e = this._getToolbarItems("bottom"); if (e.length) { this._$bottom && this._$bottom.remove(); var t = (0, r.default)("<div>").addClass("dx-popup-bottom").insertAfter(this.$content()); this._$bottom = this._renderTemplateByType("bottomTemplate", e, t, { compactMode: !0 }).addClass("dx-popup-bottom"), this._toggleClasses() } else this._$bottom && this._$bottom.detach() }, _toggleClasses: function () { var e = this, t = E; (0, p.each)(t, (function (t, n) { var i = "dx-popup-" + n; (0, d.inArray)(i, e._toolbarItemClasses) >= 0 ? (e._wrapper().addClass(i + "-visible"), e._$bottom.addClass(i)) : (e._wrapper().removeClass(i + "-visible"), e._$bottom.removeClass(i)) })) }, _getContainer: function () { return this.option("fullScreen") ? (0, r.default)(S) : this.callBase() }, _getDragTarget: function () { return this.topToolbar() }, _renderGeometryImpl: function (e) { e || this._resetContentHeight(), this.callBase.apply(this, arguments), this._setContentHeight() }, _resetContentHeight: function () { this._$popupContent.css({ height: "auto", maxHeight: "none" }) }, _renderDrag: function () { this.callBase(), this._$content.toggleClass("dx-popup-draggable", this.option("dragEnabled")) }, _renderResize: function () { this.callBase(), this._resizable.option("onResize", function () { this._setContentHeight(), this._actions.onResize(arguments) }.bind(this)) }, _setContentHeight: function () { (this.option("forceApplyBindings") || u.noop)(); var e = this.overlayContent().get(0), t = this._chooseHeightStrategy(e); this.$content().css(this._getHeightCssStyles(t, e)), this._setHeightClasses(this.overlayContent(), t) }, _heightStrategyChangeOffset: function (e, t) { return e === A.flex ? -t : 0 }, _chooseHeightStrategy: function (e) { var t = "auto" === e.style.width || "" === e.style.width, n = A.static; return this._isAutoHeight() && this.option("autoResizeEnabled") && (t || T ? D || (n = A.inherit) : n = A.flex), n }, _getHeightCssStyles: function (e, t) { var n = {}, i = this._getOptionValue("maxHeight", t), a = this._getOptionValue("minHeight", t), o = this._splitPopupHeight(), s = o.header + o.footer + o.contentVerticalOffsets + o.popupVerticalOffsets + this._heightStrategyChangeOffset(e, o.popupVerticalPaddings); if (e === A.static) { if (!this._isAutoHeight() || i || a) { var l = (this.option("fullScreen") ? Math.min((0, m.getBoundingRect)(t).height, (0, y.getWindow)().innerHeight) : (0, m.getBoundingRect)(t).height) - s; n = { height: Math.max(0, l), minHeight: "auto", maxHeight: "auto" } } } else { var d = (0, r.default)(this._getContainer()).get(0), c = (0, g.addOffsetToMaxHeight)(i, -s, d); n = { height: "auto", minHeight: (0, g.addOffsetToMinHeight)(a, -s, d), maxHeight: c } } return n }, _setHeightClasses: function (e, t) { var n = ""; for (var i in A) A[i] !== t && (n += " " + A[i]); e.removeClass(n).addClass(t) }, _isAutoHeight: function () { return "auto" === this.overlayContent().get(0).style.height }, _splitPopupHeight: function () { var e = this.topToolbar(), t = this.bottomToolbar(); return { header: (0, g.getVisibleHeight)(e && e.get(0)), footer: (0, g.getVisibleHeight)(t && t.get(0)), contentVerticalOffsets: (0, g.getVerticalOffsets)(this.overlayContent().get(0), !0), popupVerticalOffsets: (0, g.getVerticalOffsets)(this.$content().get(0), !0), popupVerticalPaddings: (0, g.getVerticalOffsets)(this.$content().get(0), !1) } }, _shouldFixBodyPosition: function () { return this.callBase() || this.option("fullScreen") }, _toggleSafariFullScreen: function (e) { this._shouldFixBodyPosition() && e && !this._isShown ? this._bodyScrollTop = e ? S.pageYOffset : void 0 : this._toggleSafariScrolling(!e) }, _renderDimensions: function () { this.option("fullScreen") ? this._$content.css({ width: "100%", height: "100%", minWidth: "", maxWidth: "", minHeight: "", maxHeight: "" }) : this.callBase.apply(this, arguments), (0, y.hasWindow)() && this._renderFullscreenWidthClass() }, _renderFullscreenWidthClass: function () { this.overlayContent().toggleClass("dx-popup-fullscreen-width", this.overlayContent().outerWidth() === (0, r.default)(S).width()) }, refreshPosition: function () { this._renderPosition() }, _renderPosition: function () { if (!this.option("fullScreen")) return (this.option("forceApplyBindings") || u.noop)(), this.callBase.apply(this, arguments); (0, i.move)(this._$content, { top: 0, left: 0 }) }, _optionChanged: function (e) { switch (e.name) { case "showTitle": case "title": case "titleTemplate": this._renderTitle(), this._renderGeometry(), (0, w.triggerResizeEvent)(this._$content); break; case "bottomTemplate": this._renderBottom(), this._renderGeometry(), (0, w.triggerResizeEvent)(this._$content); break; case "onTitleRendered": this._createTitleRenderAction(e.value); break; case "toolbarItems": case "useDefaultToolbarButtons": case "useFlatToolbarButtons": var t = !e.fullName.match(/^toolbarItems((\[\d+\])(\.(options|visible).*)?)?$/); this._renderTitle(), this._renderBottom(), t && (this._renderGeometry(), (0, w.triggerResizeEvent)(this._$content)); break; case "dragEnabled": this._renderDrag(); break; case "autoResizeEnabled": this._renderGeometry(), (0, w.triggerResizeEvent)(this._$content); break; case "fullScreen": this._toggleFullScreenClass(e.value), this._toggleSafariFullScreen(e.value), this._renderGeometry(), (0, w.triggerResizeEvent)(this._$content); break; case "showCloseButton": this._renderTitle(); break; default: this.callBase(e) } }, bottomToolbar: function () { return this._$bottom }, topToolbar: function () { return this._$title }, $content: function () { return this._$popupContent }, content: function () { return (0, s.getPublicElement)(this._$popupContent) }, overlayContent: function () { return this._$content } }); (0, a.default)("dxPopup", O); var B = O; t.default = B, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = function (e) { var t = r.default.inherit(e), n = t, i = new n(e), l = {}, d = function (t, n) { (0, s.each)(t, (function (t) { (0, o.isFunction)(i[t]) ? !n && e[t] || (e[t] = function () { return i[t].apply(e, arguments) }) : (n && (l[t] = e[t]), e[t] = i[t]) })) }; return d(e, !0), e.inject = function (e) { n = n.inherit(e), i = new n, d(e) }, e.resetInjection = function () { (0, a.extend)(e, l), n = t, i = new t }, e }; var i, a = n(1), o = n(0), s = n(3), r = (i = n(13)) && i.__esModule ? i : { default: i }; e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(0), o = n(37), s = n(3), r = n(43), l = (i = n(15)) && i.__esModule ? i : { default: i }; function d(e, t, n) { return (d = c() ? Reflect.construct : function (e, t, n) { var i = [null]; i.push.apply(i, t); var a = new (Function.bind.apply(e, i)); return n && u(a, n.prototype), a }).apply(null, arguments) } function c() { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } } function u(e, t) { return (u = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } var h = l.default.msie && parseInt(l.default.version) <= 11, f = ["millisecond", "second", "minute", "hour", "day", "week", "month", "quarter", "year"], p = function e(t) { switch (t) { case "millisecond": return 1; case "second": return 1e3 * e("millisecond"); case "minute": return 60 * e("second"); case "hour": return 60 * e("minute"); case "day": return 24 * e("hour"); case "week": return 7 * e("day"); case "month": return 30 * e("day"); case "quarter": return 3 * e("month"); case "year": return 365 * e("day"); default: return 0 } }, g = function (e) { var t, n, i, a = ["millisecond", "second", "minute", "hour", "day", "month", "year"], o = {}; for (t = a.length - 1; t >= 0; t--)i = a[t], (n = Math.floor(e / p(i))) > 0 && (o[i + "s"] = n, e -= m(i, n)); return o }; function m(e, t) { return p(e) * t } function _(e) { var t, n = -1; return (0, a.isString)(e) ? e : (0, a.isObject)(e) ? ((0, s.each)(e, (function (e, i) { for (t = 0; t < f.length; t++)i && (e === f[t] + "s" || e === f[t]) && n < t && (n = t) })), f[n]) : "" } var v = { millisecond: "millisecond", second: "longtime", minute: "shorttime", hour: "shorttime", day: "day", week: "day", month: "month", quarter: "quarter", year: "year" }; var y = function (e) { return Math.floor(e / 3) }, w = function (e) { return 3 * y(e) }; function x(e, t, n, i) { e = new Date(e.getTime()); var a, o, s = new Date(e.getTime()), r = _(t); switch (r) { case "second": e = new Date(1e3 * Math.floor(s.getTime() / 1e3)); break; case "minute": e = new Date(6e4 * Math.floor(s.getTime() / 6e4)); break; case "hour": e = new Date(36e5 * Math.floor(s.getTime() / 36e5)); break; case "year": e.setMonth(0); case "month": e.setDate(1); case "day": e.setHours(0, 0, 0, 0); break; case "week": (e = O(e, i || 0)).setHours(0, 0, 0, 0); break; case "quarter": a = w(e.getMonth()), o = e.getMonth(), e.setDate(1), e.setHours(0, 0, 0, 0), o !== a && e.setMonth(a) }return n && "hour" !== r && "minute" !== r && "second" !== r && M(s, e), e } function b(e) { return x(e, "day") } function C(e, t, n) { var i = new Date(e.getTime()), o = (0, a.isString)(t) ? S(t.toLowerCase()) : (0, a.isNumeric)(t) ? g(t) : t; return o.years && i.setFullYear(i.getFullYear() + o.years * n), o.quarters && i.setMonth(i.getMonth() + 3 * o.quarters * n), o.months && i.setMonth(i.getMonth() + o.months * n), o.weeks && i.setDate(i.getDate() + 7 * o.weeks * n), o.days && i.setDate(i.getDate() + o.days * n), o.hours && i.setTime(i.getTime() + 36e5 * o.hours * n), o.minutes && i.setTime(i.getTime() + 6e4 * o.minutes * n), o.seconds && i.setTime(i.getTime() + 1e3 * o.seconds * n), o.milliseconds && i.setTime(i.getTime() + o.milliseconds * n), i } var k = function (e, t, n) { var i = n ? -1 : 1; return (0, a.isDate)(e) ? C(e, t, i) : (0, o.adjust)(e + t * i, t) }; function I(e) { return R(e.getFullYear(), e.getMonth() + 1, 0).getDate() } function S(e) { var t = {}; switch (e) { case "year": t.years = 1; break; case "month": t.months = 1; break; case "quarter": t.months = 3; break; case "week": t.weeks = 1; break; case "day": t.days = 1; break; case "hour": t.hours = 1; break; case "minute": t.minutes = 1; break; case "second": t.seconds = 1; break; case "millisecond": t.milliseconds = 1 }return t } function E(e, t) { return D(e, t) && e.getMonth() === t.getMonth() } function D(e, t) { return e && t && e.getFullYear() === t.getFullYear() } function T(e) { return e && e.getFullYear() - e.getFullYear() % 100 } function A(e) { return e && e.getFullYear() - e.getFullYear() % 10 } function O(e, t) { var n = (e.getDay() - t + 7) % 7, i = new Date(e); return i.setDate(e.getDate() - n), i } function B(e, t, n) { var i = e; return (0, a.isDefined)(e) ? ((0, a.isDefined)(t) && e < t && (i = t), (0, a.isDefined)(n) && e > n && (i = n), i) : e } function M(e, t) { if ((0, a.isDefined)(e)) { var n = t.getHours() - e.getHours(); if (0 !== n) { var i = 1 === n || -23 === n ? -1 : 1, o = new Date(t.getTime() + 36e5 * i); (i > 0 || o.getDate() === t.getDate()) && t.setTime(o.getTime()) } } } function P(e, t) { return 60 * (t.getTimezoneOffset() - e.getTimezoneOffset()) * 1e3 } var R = function (e) { var t = d(Date, Array.prototype.slice.call(arguments)); return t.setFullYear(e), t }, F = { dateUnitIntervals: f, convertMillisecondsToDateUnits: g, dateToMilliseconds: function (e) { var t = 0; return (0, a.isObject)(e) && (0, s.each)(e, (function (e, n) { t += m(e.substr(0, e.length - 1), n) })), (0, a.isString)(e) && (t = m(e, 1)), t }, getNextDateUnit: function (e, t) { switch (_(e)) { case "millisecond": return "second"; case "second": return "minute"; case "minute": return "hour"; case "hour": return "day"; case "day": return t ? "week" : "month"; case "week": return "month"; case "month": return "quarter"; case "quarter": case "year": return "year"; default: return 0 } }, convertDateUnitToMilliseconds: m, getDateUnitInterval: _, getDateFormatByTickInterval: function (e) { return v[_(e)] || "" }, getDatesDifferences: function (e, t) { var n = 0, i = { year: e.getFullYear() !== t.getFullYear(), month: e.getMonth() !== t.getMonth(), day: e.getDate() !== t.getDate(), hour: e.getHours() !== t.getHours(), minute: e.getMinutes() !== t.getMinutes(), second: e.getSeconds() !== t.getSeconds(), millisecond: e.getMilliseconds() !== t.getMilliseconds() }; return (0, s.each)(i, (function (e, t) { t && n++ })), 0 === n && 0 !== P(e, t) && (i.hour = !0, n++), i.count = n, i }, correctDateWithUnitBeginning: x, trimTime: b, setToDayEnd: function (e) { var t = b(e); return t.setDate(t.getDate() + 1), new Date(t.getTime() - 1) }, roundDateByStartDayHour: function (e, t) { var n = this.dateTimeFromDecimal(t), i = new Date(e); return (e.getHours() === n.hours && e.getMinutes() < n.minutes || e.getHours() < n.hours) && i.setHours(n.hours, n.minutes, 0, 0), i }, dateTimeFromDecimal: function (e) { return { hours: Math.floor(e), minutes: e % 1 * 60 } }, addDateInterval: C, addInterval: k, getSequenceByInterval: function (e, t, n) { var i, o = []; for (o.push((0, a.isDate)(e) ? new Date(e.getTime()) : e), i = e; i < t;)i = k(i, n), o.push(i); return o }, getDateIntervalByString: S, sameDate: function (e, t) { return E(e, t) && e.getDate() === t.getDate() }, sameMonthAndYear: E, sameMonth: E, sameYear: D, sameDecade: function (e, t) { if ((0, a.isDefined)(e) && (0, a.isDefined)(t)) { var n = e.getFullYear() - e.getFullYear() % 10, i = t.getFullYear() - t.getFullYear() % 10; return e && t && n === i } }, sameCentury: function (e, t) { if ((0, a.isDefined)(e) && (0, a.isDefined)(t)) { var n = e.getFullYear() - e.getFullYear() % 100, i = t.getFullYear() - t.getFullYear() % 100; return e && t && n === i } }, getDifferenceInMonth: function (e) { var t = 1; return "year" === e && (t = 12), "decade" === e && (t = 120), "century" === e && (t = 1200), t }, getDifferenceInMonthForCells: function (e) { var t = 1; return "decade" === e && (t = 12), "century" === e && (t = 120), t }, getFirstYearInDecade: A, getFirstDecadeInCentury: T, getShortDateFormat: function () { return "yyyy/MM/dd" }, getViewFirstCellDate: function (e, t) { return "month" === e ? R(t.getFullYear(), t.getMonth(), 1) : "year" === e ? R(t.getFullYear(), 0, t.getDate()) : "decade" === e ? R(A(t), t.getMonth(), t.getDate()) : "century" === e ? R(T(t), t.getMonth(), t.getDate()) : void 0 }, getViewLastCellDate: function (e, t) { return "month" === e ? R(t.getFullYear(), t.getMonth(), I(t)) : "year" === e ? R(t.getFullYear(), 11, t.getDate()) : "decade" === e ? R(A(t) + 9, t.getMonth(), t.getDate()) : "century" === e ? R(T(t) + 90, t.getMonth(), t.getDate()) : void 0 }, getViewDown: function (e) { switch (e) { case "century": return "decade"; case "decade": return "year"; case "year": return "month" } }, getViewUp: function (e) { switch (e) { case "month": return "year"; case "year": return "decade"; case "decade": return "century" } }, getLastMonthDay: I, getLastMonthDate: function (e) { if ((0, a.isDefined)(e)) return R(e.getFullYear(), e.getMonth() + 1, 0) }, getFirstMonthDate: function (e) { if ((0, a.isDefined)(e)) return R(e.getFullYear(), e.getMonth(), 1) }, getFirstWeekDate: O, normalizeDateByWeek: function (e, t) { var n = F.getDatesInterval(e, t, "day"), i = new Date(e); return n >= 6 && (i = new Date(i.setDate(i.getDate() + 7))), i }, getQuarter: y, getFirstQuarterMonth: w, dateInRange: function (e, t, n, i) { return "date" === i && (t = t && F.correctDateWithUnitBeginning(t, "day"), n = n && F.correctDateWithUnitBeginning(n, "day"), e = e && F.correctDateWithUnitBeginning(e, "day")), B(e, t, n) === e }, roundToHour: function (e) { return e.setHours(e.getHours() + 1), e.setMinutes(0), e }, normalizeDate: B, getViewMinBoundaryDate: function (e, t) { var n = R(t.getFullYear(), t.getMonth(), 1); return "month" === e ? n : (n.setMonth(0), "year" === e ? n : ("decade" === e && n.setFullYear(A(t)), "century" === e && n.setFullYear(T(t)), n)) }, getViewMaxBoundaryDate: function (e, t) { var n = new Date(t); return n.setDate(I(t)), "month" === e ? n : (n.setMonth(11), n.setDate(I(n)), "year" === e ? n : ("decade" === e && n.setFullYear(A(t) + 9), "century" === e && n.setFullYear(T(t) + 99), n)) }, fixTimezoneGap: M, getTimezonesDifference: P, makeDate: function (e) { return new Date(e) }, getDatesInterval: function (e, t, n) { var i = t.getTime() - e.getTime(), a = p(n) || 1; return Math.floor(i / a) }, getDatesOfInterval: function (e, t, n) { for (var i = [], a = new Date(e.getTime()); a < t;)i.push(new Date(a.getTime())), a = this.addInterval(a, n); return i }, createDate: function (e) { return new Date(h && (0, a.isDate)(e) ? e.getTime() : e) }, createDateWithFullYear: R, sameView: function (e, t, n) { return F[(0, r.camelize)("same " + e)](t, n) } }, V = F; t.default = V, e.exports = t.default }, function (e, t) { e.exports = window.jQuery }, function (e, t, n) { "use strict"; t.focused = t.tabbable = t.focusable = void 0; var i = o(n(2)), a = o(n(9)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = function (e, t) { if (!function (e) { var t = (0, i.default)(e); return t.is(":visible") && "hidden" !== t.css("visibility") && "hidden" !== t.parents().css("visibility") }(e)) return !1; var n = e.nodeName.toLowerCase(), a = !isNaN(t), o = e.disabled, s = /^(input|select|textarea|button|object|iframe)$/.test(n), r = "a" === n, l = e.isContentEditable; return s || l ? !o : r && e.href || a }; t.focusable = function (e, t) { return s(t, (0, i.default)(t).attr("tabIndex")) }; t.tabbable = function (e, t) { var n = (0, i.default)(t).attr("tabIndex"); return (isNaN(n) || n >= 0) && s(t, n) }; t.focused = function (e) { var t = (0, i.default)(e).get(0); return a.default.getActiveElement() === t } }, function (e, t, n) { "use strict"; t.DataSource = void 0; var i = v(n(13)), a = n(1), o = n(4), s = n(3), r = n(0), l = v(n(42)), d = n(62), c = v(n(108)), u = n(90), h = v(n(33)), f = n(14), p = n(189), g = n(6), m = v(n(309)), _ = n(53); function v(e) { return e && e.__esModule ? e : { default: e } } var y = i.default.inherit({ ctor: function (e) { var t, n = this; e = (0, _.normalizeDataSourceOptions)(e), this._eventsStrategy = new u.EventsStrategy(this); var i = 0 !== e.pushAggregationTimeout ? l.default.throttleChanges(this._onPush, (function () { return void 0 === e.pushAggregationTimeout ? 5 * n._changedTime : e.pushAggregationTimeout })) : this._onPush; this._changedTime = 0, this._onPushHandler = function (e) { n._aggregationTimeoutId = i.call(n, e) }, this._store = e.store, this._store.on("push", this._onPushHandler), this._storeLoadOptions = this._extractLoadOptions(e), this._mapFunc = e.map, this._postProcessFunc = e.postProcess, this._pageIndex = void 0 !== e.pageIndex ? e.pageIndex : 0, this._pageSize = void 0 !== e.pageSize ? e.pageSize : 20, this._loadingCount = 0, this._loadQueue = this._createLoadQueue(), this._searchValue = "searchValue" in e ? e.searchValue : null, this._searchOperation = e.searchOperation || "contains", this._searchExpr = e.searchExpr, this._paginate = e.paginate, this._reshapeOnPush = null !== (t = e.reshapeOnPush) && void 0 !== t && t, (0, s.each)(["onChanged", "onLoadError", "onLoadingChanged", "onCustomizeLoadResult", "onCustomizeStoreLoadOptions"], (function (t, i) { i in e && n.on(i.substr(2, 1).toLowerCase() + i.substr(3), e[i]) })), this._operationManager = new m.default, this._init() }, _init: function () { this._items = [], this._userData = {}, this._totalCount = -1, this._isLoaded = !1, (0, r.isDefined)(this._paginate) || (this._paginate = !this.group()), this._isLastPage = !this._paginate }, dispose: function () { var e; this._store.off("push", this._onPushHandler), this._eventsStrategy.dispose(), clearTimeout(this._aggregationTimeoutId), delete this._store, null === (e = this._delayedLoadTask) || void 0 === e || e.abort(), this._operationManager.cancelAll(), this._disposed = !0 }, _extractLoadOptions: function (e) { var t = {}, n = ["sort", "filter", "select", "group", "requireTotalCount"], i = this._store._customLoadOptions(); return i && (n = n.concat(i)), (0, s.each)(n, (function () { t[this] = e[this] })), t }, loadOptions: function () { return this._storeLoadOptions }, items: function () { return this._items }, pageIndex: function (e) { if (!(0, r.isNumeric)(e)) return this._pageIndex; this._pageIndex = e, this._isLastPage = !this._paginate }, paginate: function (e) { if (!(0, r.isBoolean)(e)) return this._paginate; this._paginate !== e && (this._paginate = e, this.pageIndex(0)) }, pageSize: function (e) { if (!(0, r.isNumeric)(e)) return this._pageSize; this._pageSize = e }, isLastPage: function () { return this._isLastPage }, generateStoreLoadOptionAccessor: function (e) { var t = this; return function (n) { var i = (0, _.normalizeStoreLoadOptionAccessorArguments)(n); if (void 0 === i) return t._storeLoadOptions[e]; t._storeLoadOptions[e] = i } }, sort: function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return this.generateStoreLoadOptionAccessor("sort")(t) }, filter: function () { var e = (0, _.normalizeStoreLoadOptionAccessorArguments)(arguments); if (void 0 === e) return this._storeLoadOptions.filter; this._storeLoadOptions.filter = e, this.pageIndex(0) }, group: function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return this.generateStoreLoadOptionAccessor("group")(t) }, select: function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return this.generateStoreLoadOptionAccessor("select")(t) }, requireTotalCount: function (e) { if (!(0, r.isBoolean)(e)) return this._storeLoadOptions.requireTotalCount; this._storeLoadOptions.requireTotalCount = e }, searchValue: function (e) { if (arguments.length < 1) return this._searchValue; this._searchValue = e, this.pageIndex(0) }, searchOperation: function (e) { if (!(0, r.isString)(e)) return this._searchOperation; this._searchOperation = e, this.pageIndex(0) }, searchExpr: function (e) { var t = arguments.length; if (0 === t) return this._searchExpr; t > 1 && (e = [].slice.call(arguments)), this._searchExpr = e, this.pageIndex(0) }, store: function () { return this._store }, key: function () { var e; return null === (e = this._store) || void 0 === e ? void 0 : e.key() }, totalCount: function () { return this._totalCount }, isLoaded: function () { return this._isLoaded }, isLoading: function () { return this._loadingCount > 0 }, beginLoading: function () { this._changeLoadingCount(1) }, endLoading: function () { this._changeLoadingCount(-1) }, _createLoadQueue: function () { return (0, p.create)() }, _changeLoadingCount: function (e) { var t = this.isLoading(); this._loadingCount += e; var n = this.isLoading(); t ^ n && this._eventsStrategy.fireEvent("loadingChanged", [n]) }, _scheduleLoadCallbacks: function (e) { var t = this; this.beginLoading(), e.always((function () { t.endLoading() })) }, _scheduleFailCallbacks: function (e) { var t = this; e.fail((function () { for (var e = arguments.length, n = new Array(e), i = 0; i < e; i++)n[i] = arguments[i]; n[0] !== _.CANCELED_TOKEN && t._eventsStrategy.fireEvent("loadError", n) })) }, _fireChanged: function (e) { var t = new Date; this._eventsStrategy.fireEvent("changed", e), this._changedTime = new Date - t }, _scheduleChangedCallbacks: function (e) { var t = this; e.done((function () { return t._fireChanged() })) }, loadSingle: function (e, t) { var n = this, i = new g.Deferred, a = this.key(), o = this._store, s = this._createStoreLoadOptions(), l = function (e) { !(0, r.isDefined)(e) || (0, f.isEmpty)(e) ? i.reject(new h.default.errors.Error("E4009")) : (Array.isArray(e) || (e = [e]), i.resolve(n._applyMapFunction(e)[0])) }; this._scheduleFailCallbacks(i), arguments.length < 2 && (t = e, e = a), delete s.skip, delete s.group, delete s.refresh, delete s.pageIndex, delete s.searchString; var d = function () { return o instanceof c.default && !o._byKeyViaLoad() }; return (e === a || d() ? o.byKey(t, s) : (s.take = 1, s.filter = s.filter ? [s.filter, [e, t]] : [e, t], o.load(s))).fail(i.reject).done(l), i.promise() }, load: function () { var e = this, t = new g.Deferred, n = function () { if (!e._disposed && (0, _.isPending)(t)) return e._loadFromStore(i, t) }; this._scheduleLoadCallbacks(t), this._scheduleFailCallbacks(t), this._scheduleChangedCallbacks(t); var i = this._createLoadOperation(t); return this._eventsStrategy.fireEvent("customizeStoreLoadOptions", [i]), this._loadQueue.add((function () { return "number" == typeof i.delay ? e._delayedLoadTask = (0, o.executeAsync)(n, i.delay) : n(), t.promise() })), t.promise({ operationId: i.operationId }) }, _onPush: function (e) { var t = this; if (this._reshapeOnPush) this.load(); else { this._eventsStrategy.fireEvent("changing", [{ changes: e }]); var n = this.group(), i = this.items(), a = 0, o = this.paginate() || n ? e.filter((function (e) { return "update" === e.type })) : e; n && (a = Array.isArray(n) ? n.length : 1), this._mapFunc && o.forEach((function (e) { "insert" === e.type && (e.data = t._mapFunc(e.data)) })), (0, d.applyBatch)({ keyInfo: this.store(), data: i, changes: o, groupCount: a, useInsertIndex: !0 }), this._fireChanged([{ changes: e }]) } }, _createLoadOperation: function (e) { var t = this, n = this._operationManager.add(e), i = this._createStoreLoadOptions(); return e.always((function () { return t._operationManager.remove(n) })), { operationId: n, storeLoadOptions: i } }, reload: function () { var e = this.store(); return e instanceof c.default && e.clearRawDataCache(), this._init(), this.load() }, cancel: function (e) { return this._operationManager.cancel(e) }, cancelAll: function () { return this._operationManager.cancelAll() }, _addSearchOptions: function (e) { this._disposed || (this.store()._useDefaultSearch ? this._addSearchFilter(e) : (e.searchOperation = this._searchOperation, e.searchValue = this._searchValue, e.searchExpr = this._searchExpr)) }, _createStoreLoadOptions: function () { var e = (0, a.extend)({}, this._storeLoadOptions); return this._addSearchOptions(e), this._paginate && this._pageSize && (e.skip = this._pageIndex * this._pageSize, e.take = this._pageSize), e.userData = this._userData, e }, _addSearchFilter: function (e) { var t = this._searchValue, n = this._searchOperation, i = this._searchExpr, a = []; t && (i || (i = "this"), Array.isArray(i) || (i = [i]), (0, s.each)(i, (function (e, i) { a.length && a.push("or"), a.push([i, n, t]) })), e.filter ? e.filter = [a, e.filter] : e.filter = a) }, _loadFromStore: function (e, t) { var n = this, i = function (i, o) { if (!n._disposed && (0, _.isPending)(t)) { var s = (0, a.extend)((0, _.normalizeLoadResult)(i, o), e); n._eventsStrategy.fireEvent("customizeLoadResult", [s]), (0, g.when)(s.data).done((function (e) { s.data = e, n._processStoreLoadResult(s, t) })).fail(t.reject) } }; return e.data ? (new g.Deferred).resolve(e.data).done(i) : this.store().load(e.storeLoadOptions).done(i).fail(t.reject) }, _processStoreLoadResult: function (e, t) { var n = this, i = e.data, a = e.extra, o = e.storeLoadOptions, s = function () { return n._isLoaded = !0, n._totalCount = isFinite(a.totalCount) ? a.totalCount : -1, t.resolve(i, a) }; this._disposed || (i = this._applyPostProcessFunction(this._applyMapFunction(i)), (0, r.isPlainObject)(a) || (a = {}), this._items = i, (!i.length || !this._paginate || this._pageSize && i.length < this._pageSize) && (this._isLastPage = !0), o.requireTotalCount && !isFinite(a.totalCount) ? n.store().totalCount(o).done((function (e) { a.totalCount = e, s() })).fail(t.reject) : s()) }, _applyMapFunction: function (e) { return this._mapFunc ? (0, _.mapDataRespectingGrouping)(e, this._mapFunc, this.group()) : e }, _applyPostProcessFunction: function (e) { return this._postProcessFunc ? this._postProcessFunc(e) : e }, on: function (e, t) { return this._eventsStrategy.on(e, t), this }, off: function (e, t) { return this._eventsStrategy.off(e, t), this } }); t.DataSource = y }, function (e, t, n) { "use strict"; t.normalizeDataSourceOptions = t.normalizeLoadResult = t.mapDataRespectingGrouping = t.normalizeStoreLoadOptionAccessorArguments = t.isPending = t.CANCELED_TOKEN = void 0; var i = u(n(89)), a = u(n(78)), o = u(n(54)), s = n(3), r = u(n(108)), l = n(1), d = n(0), c = u(n(42)); function u(e) { return e && e.__esModule ? e : { default: e } } function h(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, i) } return n } function f(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? h(Object(n), !0).forEach((function (t) { p(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : h(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function p(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function g(e, t) { if (null == e) return {}; var n, i, a = function (e, t) { if (null == e) return {}; var n, i, a = {}, o = Object.keys(e); for (i = 0; i < o.length; i++)n = o[i], t.indexOf(n) >= 0 || (a[n] = e[n]); return a }(e, t); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); for (i = 0; i < o.length; i++)n = o[i], t.indexOf(n) >= 0 || Object.prototype.propertyIsEnumerable.call(e, n) && (a[n] = e[n]) } return a } t.CANCELED_TOKEN = "canceled"; t.isPending = function (e) { return "pending" === e.state() }; t.normalizeStoreLoadOptionAccessorArguments = function (e) { switch (e.length) { case 0: return; case 1: return e[0] }return [].slice.call(e) }; var m = function (e, t, n) { return Array.isArray(e) ? t ? function (e, t, n) { return (0, s.map)(e, (function (e) { return f(f({}, (e.items, g(e, ["items"]))), {}, { items: m(e.items, t - 1, n) }) })) }(e, t, n) : (0, s.map)(e, n) : e }; t.mapDataRespectingGrouping = function (e, t, n) { var i = n ? c.default.normalizeSortingInfo(n).length : 0; return m(e, i, t) }; t.normalizeLoadResult = function (e, t) { var n; return null !== (n = e) && void 0 !== n && n.data && (t = e, e = e.data), Array.isArray(e) || (e = [e]), { data: e, extra: t } }; var _ = function (e, t) { return new r.default({ load: function () { return i.default.sendRequest({ url: e, dataType: "json" }) }, loadMode: null == t ? void 0 : t.fromUrlLoadMode }) }; t.normalizeDataSourceOptions = function (e, t) { var n, i, c; return "string" == typeof e && (e = { paginate: !1, store: _(e, t) }), void 0 === e && (e = []), void 0 === (e = Array.isArray(e) || e instanceof a.default ? { store: e } : (0, l.extend)({}, e)).store && (e.store = []), n = e.store, "load" in e ? n = function (e) { var t = {}; return (0, s.each)(["useDefaultSearch", "key", "load", "loadMode", "cacheRawData", "byKey", "lookup", "totalCount", "insert", "update", "remove"], (function () { t[this] = e[this], delete e[this] })), new r.default(t) }(e) : Array.isArray(n) ? n = new o.default(n) : (0, d.isPlainObject)(n) && (i = (0, l.extend)({}, n), c = i.type, delete i.type, n = a.default.create(c, i)), e.store = n, e } }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(42)), a = l(n(44)), o = l(n(33)), s = l(n(78)), r = n(62); function l(e) { return e && e.__esModule ? e : { default: e } } var d = s.default.inherit({ ctor: function (e) { e = Array.isArray(e) ? { data: e } : e || {}, this.callBase(e); var t = e.data; if (t && !Array.isArray(t)) throw o.default.errors.Error("E4006"); this._array = t || [] }, createQuery: function () { return (0, a.default)(this._array, { errorHandler: this._errorHandler }) }, _byKeyImpl: function (e) { var t = (0, r.indexByKey)(this, this._array, e); return -1 === t ? i.default.rejectedPromise(o.default.errors.Error("E4009")) : i.default.trivialPromise(this._array[t]) }, _insertImpl: function (e) { return (0, r.insert)(this, this._array, e) }, _pushImpl: function (e) { (0, r.applyBatch)({ keyInfo: this, data: this._array, changes: e }) }, _updateImpl: function (e, t) { return (0, r.update)(this, this._array, e, t) }, _removeImpl: function (e) { return (0, r.remove)(this, this._array, e) }, clear: function () { this._eventsStrategy.fireEvent("modifying"), this._array = [], this._eventsStrategy.fireEvent("modified") } }, "array"); t.default = d, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(27)), a = n(177), o = l(n(178)), s = n(0), r = l(n(15)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = /^(\d{4,})(-)?(\d{2})(-)?(\d{2})(?:T(\d{2})(:)?(\d{2})?(:)?(\d{2}(?:\.(\d{1,3})\d*)?)?)?(Z|([+-])(\d{2})(:)?(\d{2})?)?$/, c = /^(\d{2}):(\d{2})(:(\d{2}))?$/, u = ["", "yyyy", "", "MM", "", "dd", "THH", "", "mm", "", "ss", ".SSS"], h = /^(\d{4})\/(\d{2})\/(\d{2})$/, f = r.default.msie && parseInt(r.default.version) <= 11, p = function (e, t) { var n; return (0, s.isString)(e) && !t && (n = function (e) { var t = e.match(d); if (!t) return (t = e.match(c)) ? new Date(0, 0, 0, g(t[1]), g(t[2]), g(t[4])) : void 0; var n = t[1], i = --t[3], a = t[5], o = 0, s = 0; o = g(t[14]), s = g(t[16]), "-" === t[13] && (o = -o, s = -s); var r = g(t[6]) - o, l = g(t[8]) - s, u = g(t[10]), h = (f = t[11], g(f = f || "") * Math.pow(10, 3 - f.length)); var f; if (t[12]) return new Date(Date.UTC(n, i, a, r, l, u, h)); return new Date(n, i, a, r, l, u, h) }(e)), n || function (e) { var t = "yyyy/MM/dd" === m(e), n = !(0, s.isDate)(e) && Date.parse(e); if ((!n || f) && t) { var i = e.match(h); if (i) { var a = new Date(g(i[1]), g(i[2]), g(i[3])); return a.setFullYear(g(i[1])), a.setMonth(g(i[2]) - 1), a.setDate(g(i[3])), a } } return (0, s.isNumeric)(n) ? new Date(n) : e }(e) }; function g(e) { return +e || 0 } var m = function (e) { return "number" == typeof e ? "number" : (0, s.isString)(e) ? ((0, i.default)().forceIsoDateParsing && (t = function (e, t) { var n = e.match(d), i = ""; if (!n) return (n = e.match(c)) ? n[3] ? "HH:mm:ss" : "HH:mm" : void 0; for (var a = 1; a < u.length; a++)n[a] && (i += u[a] || n[a]); return "Z" === n[12] && (i += "'Z'"), n[14] && (n[15] ? i += "xxx" : n[16] ? i += "xx" : i += "x"), i }(e)), t || (e.indexOf(":") >= 0 ? "yyyy/MM/dd HH:mm:ss" : "yyyy/MM/dd")) : e ? null : void 0; var t }, _ = { dateParser: p, deserializeDate: function (e) { return "number" == typeof e ? new Date(e) : p(e, !(0, i.default)().forceIsoDateParsing) }, serializeDate: function (e, t) { return t ? (0, s.isDate)(e) ? "number" === t ? e && e.valueOf ? e.valueOf() : null : (0, a.getFormatter)(t, o.default)(e) : null : e }, getDateSerializationFormat: m }; t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = function (e) { var t, n = function () { return t = e.apply(this, arguments), n = function () { return t }, t }; return function () { return n.apply(this, arguments) } }; t.default = i, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = y(n(2)), a = y(n(27)), o = y(n(21)), s = y(n(118)), r = y(n(97)), l = n(274), d = n(99), c = n(39), u = n(3), h = n(1), f = n(18), p = n(4), g = n(14), m = n(0), _ = n(7), v = n(102); function y(e) { return e && e.__esModule ? e : { default: e } } var w = r.default.abstract, x = r.default.inherit({ _getDefaultOptions: function () { return (0, h.extend)(this.callBase(), { width: void 0, height: void 0, rtlEnabled: (0, a.default)().rtlEnabled, elementAttr: {}, disabled: !1, integrationOptions: {} }, this._useTemplates() ? l.TemplateManager.createDefaultOptions() : {}) }, ctor: function (e, t) { this._createElement(e), (0, d.attachInstanceToElement)(this._$element, this, this._dispose), this.callBase(t) }, _createElement: function (e) { this._$element = (0, i.default)(e) }, _getSynchronizableOptionsForCreateComponent: function () { return ["rtlEnabled", "disabled", "templatesRenderAsynchronously"] }, _visibilityChanged: w, _dimensionChanged: w, _init: function () { this.callBase(), this._attachWindowResizeCallback(), this._initTemplateManager() }, _setOptionsByDevice: function (e) { this.callBase([].concat(this.constructor._classCustomRules || [], e || [])) }, _isInitialOptionValue: function (e) { return !(this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), e)) && this.callBase(e) }, _attachWindowResizeCallback: function () { if (this._isDimensionChangeSupported()) { var e = this._windowResizeCallBack = this._dimensionChanged.bind(this); s.default.add(e) } }, _isDimensionChangeSupported: function () { return this._dimensionChanged !== w }, _renderComponent: function () { this._initMarkup(), (0, _.hasWindow)() && this._render() }, _initMarkup: function () { var e = (this.option() || {}).rtlEnabled; this._renderElementAttributes(), this._toggleRTLDirection(e), this._renderVisibilityChange(), this._renderDimensions() }, _render: function () { this._attachVisibilityChangeHandlers() }, _renderElementAttributes: function () { var e = (this.option() || {}).elementAttr, t = (0, h.extend)({}, e), n = t.class; delete t.class, this.$element().attr(t).addClass(n) }, _renderVisibilityChange: function () { (this._isDimensionChangeSupported() && this._attachDimensionChangeHandlers(), this._isVisibilityChangeSupported()) && this.$element().addClass("dx-visibility-change-handler") }, _renderDimensions: function () { var e = this.$element(), t = e.get(0), n = this._getOptionValue("width", t), i = this._getOptionValue("height", t); this._isCssUpdateRequired(t, i, n) && e.css({ width: null === n ? "" : n, height: null === i ? "" : i }) }, _isCssUpdateRequired: function (e, t, n) { return !!((0, m.isDefined)(n) || (0, m.isDefined)(t) || e.style.width || e.style.height) }, _attachDimensionChangeHandlers: function () { var e = this, t = this.$element(), n = "".concat(this.NAME, "VisibilityChange"); v.resize.off(t, { namespace: n }), v.resize.on(t, (function () { return e._dimensionChanged() }), { namespace: n }) }, _attachVisibilityChangeHandlers: function () { var e = this; if (this._isVisibilityChangeSupported()) { var t = this.$element(), n = "".concat(this.NAME, "VisibilityChange"); this._isHidden = !this._isVisible(), v.visibility.off(t, { namespace: n }), v.visibility.on(t, (function () { return e._checkVisibilityChanged("shown") }), (function () { return e._checkVisibilityChanged("hiding") }), { namespace: n }) } }, _isVisible: function () { return this.$element().is(":visible") }, _checkVisibilityChanged: function (e) { this._isVisible() && ("hiding" !== e || this._isHidden ? "shown" === e && this._isHidden && (this._isHidden = !1, this._visibilityChanged(!0)) : (this._visibilityChanged(!1), this._isHidden = !0)) }, _isVisibilityChangeSupported: function () { return this._visibilityChanged !== w && (0, _.hasWindow)() }, _clean: p.noop, _modelByElement: function () { var e = this.option().modelByElement, t = this.$element(); return e ? e(t) : void 0 }, _invalidate: function () { if (this._isUpdateAllowed()) throw o.default.Error("E0007"); this._requireRefresh = !0 }, _refresh: function () { this._clean(), this._renderComponent() }, _dispose: function () { this._templateManager && this._templateManager.dispose(), this.callBase(), this._clean(), this._detachWindowResizeCallback() }, _detachWindowResizeCallback: function () { this._isDimensionChangeSupported() && s.default.remove(this._windowResizeCallBack) }, _toggleRTLDirection: function (e) { this.$element().toggleClass("dx-rtl", e) }, _createComponent: function (e, t) { var n = this, a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, o = (0, p.grep)(this._getSynchronizableOptionsForCreateComponent(), (function (e) { return !(e in a) })), s = this.option(), r = s.integrationOptions, l = this.option(), d = l.nestedComponentOptions; d = d || p.noop; var c = (0, h.extend)({ integrationOptions: r }, d(this)); o.forEach((function (e) { return c[e] = n.option(e) })), this._extendConfig(a, c); var u = void 0; if ((0, m.isString)(t)) { var f = (0, i.default)(e)[t](a); u = f[t]("instance") } else e && ((u = t.getInstance(e)) ? u.option(a) : u = new t(e, a)); if (u) { var _ = function (e) { var t = e.name, n = e.value; (0, g.inArray)(t, o) >= 0 && u.option(t, n) }; this.on("optionChanged", _), u.on("disposing", (function () { return n.off("optionChanged", _) })) } return u }, _extendConfig: function (e, t) { (0, u.each)(t, (function (t, n) { !Object.prototype.hasOwnProperty.call(e, t) && (e[t] = n) })) }, _defaultActionConfig: function () { var e = this.$element(), t = this._modelByElement(e); return (0, h.extend)(this.callBase(), { context: t }) }, _defaultActionArgs: function () { var e = this.$element(), t = this._modelByElement(e), n = this.element(); return (0, h.extend)(this.callBase(), { element: n, model: t }) }, _optionChanged: function (e) { switch (e.name) { case "width": case "height": this._renderDimensions(); break; case "rtlEnabled": this._invalidate(); break; case "elementAttr": this._renderElementAttributes(); break; case "disabled": case "integrationOptions": break; default: this.callBase(e) } }, _removeAttributes: function (e) { for (var t = e.attributes, n = t.length - 1; n >= 0; n--) { var i = t[n]; if (i) { var a = i.name; a.indexOf("aria-") && -1 === a.indexOf("dx-") && "role" !== a && "style" !== a && "tabindex" !== a || e.removeAttribute(a) } } }, _removeClasses: function (e) { e.className = e.className.split(" ").filter((function (e) { return 0 !== e.lastIndexOf("dx-", 0) })).join(" ") }, _updateDOMComponent: function (e) { e ? this._renderComponent() : this._requireRefresh && (this._requireRefresh = !1, this._refresh()) }, endUpdate: function () { var e = this._isInitializingRequired(); this.callBase(), this._isUpdateAllowed() && this._updateDOMComponent(e) }, $element: function () { return this._$element }, element: function () { var e = this.$element(); return (0, f.getPublicElement)(e) }, dispose: function () { var e = this.$element().get(0); (0, c.cleanDataRecursive)(e, !0), e.textContent = "", this._removeAttributes(e), this._removeClasses(e) }, resetOption: function (e) { if (this.callBase(e), "width" === e || "height" === e) { var t = this.initialOption(e); !(0, m.isDefined)(t) && this.$element().css(e, "") } }, _getAnonymousTemplateName: function () { }, _initTemplateManager: function () { if (!this._templateManager && this._useTemplates()) { var e = this.option().integrationOptions, t = (void 0 === e ? {} : e).createTemplate; this._templateManager = new l.TemplateManager(t, this._getAnonymousTemplateName()), this._initTemplates() } }, _initTemplates: function () { var e = this, t = this._templateManager.extractTemplates(this.$element()), n = t.templates, i = t.anonymousTemplateMeta, a = this.option("integrationOptions.templates.".concat(i.name)); n.forEach((function (t) { var n = t.name, i = t.template; e._options.silent("integrationOptions.templates.".concat(n), i) })), i.name && !a && (this._options.silent("integrationOptions.templates.".concat(i.name), i.template), this._options.silent("_hasAnonymousTemplateContent", !0)) }, _getTemplateByOption: function (e) { return this._getTemplate(this.option(e)) }, _getTemplate: function (e) { var t = this.option("integrationOptions.templates"), n = this.option("templatesRenderAsynchronously"), i = this.option("integrationOptions.skipTemplates"); return this._templateManager.getTemplate(e, t, { isAsyncTemplate: n, skipTemplates: i }, this) }, _saveTemplate: function (e, t) { this._setOptionWithoutOptionChange("integrationOptions.templates." + e, this._templateManager._createTemplate(t)) }, _useTemplates: function () { return !0 } }); x.getInstance = function (e) { return (0, d.getInstanceByElement)((0, i.default)(e), this) }, x.defaultOptions = function (e) { this._classCustomRules = this._classCustomRules || [], this._classCustomRules.push(e) }; var b = x; t.default = b, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(3), o = (i = n(141)) && i.__esModule ? i : { default: i }; var s = function (e, t) { var n = {}; "noBubble" in t && (n.noBubble = t.noBubble), "bindType" in t && (n.bindType = t.bindType), "delegateType" in t && (n.delegateType = t.delegateType), (0, a.each)(["setup", "teardown", "add", "remove", "trigger", "handle", "_default", "dispose"], (function (e, i) { t[i] && (n[i] = function () { var e = [].slice.call(arguments); return e.unshift(this), t[i].apply(t, e) }) })), o.default.fire(e, n) }; s.callbacks = o.default; var r = s; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.triggerResizeEvent = t.triggerHidingEvent = t.triggerShownEvent = void 0; var i = o(n(2)), a = o(n(5)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = function (e) { return function (t) { for (var n = (0, i.default)(t || "body"), o = n.filter(".dx-visibility-change-handler").add(n.find(".dx-visibility-change-handler")), s = 0; s < o.length; s++)a.default.triggerHandler(o[s], e) } }, r = s("dxshown"); t.triggerShownEvent = r; var l = s("dxhiding"); t.triggerHidingEvent = l; var d = s("dxresize"); t.triggerResizeEvent = d }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = n(4), o = n(3), s = n(7), r = g(n(9)), l = n(0), d = n(1), c = n(25), u = g(n(15)), h = n(30), f = n(41), p = g(n(12)); function g(e) { return e && e.__esModule ? e : { default: e } } var m, _ = (0, s.getWindow)(), v = /left|right/, y = /top|bottom/, w = /fit|flip|none/, x = /scale(.+)/, b = u.default.safari, C = function (e) { var t = { h: "center", v: "center" }, n = (0, a.splitPair)(e); return n && (0, o.each)(n, (function () { var e = String(this).toLowerCase(); v.test(e) ? t.h = e : y.test(e) && (t.v = e) })), t }, k = function (e) { return (0, a.pairToObject)(e) }, I = function (e) { switch (e) { case "center": return .5; case "right": case "bottom": return 1; default: return 0 } }, S = function (e) { switch (e) { case "left": return "right"; case "right": return "left"; case "top": return "bottom"; case "bottom": return "top"; default: return e } }, E = function (e, t) { var n = 0; return e.myLocation < t.min && (n += t.min - e.myLocation), e.myLocation > t.max && (n += e.myLocation - t.max), n }, D = function (e, t, n) { return t.myLocation < n.min ? "h" === e ? "left" : "top" : t.myLocation > n.max ? "h" === e ? "right" : "bottom" : "none" }, T = function (e) { e.myLocation = e.atLocation + I(e.atAlign) * e.atSize - I(e.myAlign) * e.mySize + e.offset }, A = { fit: function (e, t) { var n = !1; e.myLocation > t.max && (e.myLocation = t.max, n = !0), e.myLocation < t.min && (e.myLocation = t.min, n = !0), e.fit = n }, flip: function (e, t) { if (e.flip = !1, ("center" !== e.myAlign || "center" !== e.atAlign) && (e.myLocation < t.min || e.myLocation > t.max)) { var n = (0, d.extend)({}, e, { myAlign: S(e.myAlign), atAlign: S(e.atAlign), offset: -e.offset }); T(n), n.oversize = E(n, t), (n.myLocation >= t.min && n.myLocation <= t.max || e.oversize > n.oversize) && (e.myLocation = n.myLocation, e.oversize = n.oversize, e.flip = !0) } }, flipfit: function (e, t) { this.flip(e, t), this.fit(e, t) }, none: function (e) { e.oversize = 0 } }, O = function () { var e = (0, i.default)("<div>").css({ width: 100, height: 100, overflow: "scroll", position: "absolute", top: -9999 }).appendTo((0, i.default)("body")), t = e.get(0).offsetWidth - e.get(0).clientWidth; e.remove(), m = t }, B = { h: { location: 0, flip: !1, fit: !1, oversize: 0 }, v: { location: 0, flip: !1, fit: !1, oversize: 0 } }, M = function (e, t) { var n = (0, i.default)(e), o = n.offset(), s = (0, d.extend)(!0, {}, B, { h: { location: o.left }, v: { location: o.top } }); if (!t) return s; var u = C(t.my), h = C(t.at), g = (0, i.default)(t.of).length && t.of || _, v = k(t.offset), y = function (e) { var t = (0, a.splitPair)(e), n = String(t && t[0]).toLowerCase(), i = String(t && t[1]).toLowerCase(); return w.test(n) || (n = "none"), w.test(i) || (i = n), { h: n, v: i } }(t.collision), x = t.boundary, I = k(t.boundaryOffset), S = { mySize: n.outerWidth(), myAlign: u.h, atAlign: h.h, offset: v.h, collision: y.h, boundaryOffset: I.h }, M = { mySize: n.outerHeight(), myAlign: u.v, atAlign: h.v, offset: v.v, collision: y.v, boundaryOffset: I.v }; if (g.preventDefault) S.atLocation = g.pageX, M.atLocation = g.pageY, S.atSize = 0, M.atSize = 0; else if (g = (0, i.default)(g), (0, l.isWindow)(g[0])) S.atLocation = g.scrollLeft(), M.atLocation = g.scrollTop(), "phone" === p.default.real().deviceType && g[0].visualViewport ? (S.atLocation = Math.max(S.atLocation, g[0].visualViewport.offsetLeft), M.atLocation = Math.max(M.atLocation, g[0].visualViewport.offsetTop), S.atSize = g[0].visualViewport.width, M.atSize = g[0].visualViewport.height) : (S.atSize = g[0].innerWidth > g[0].outerWidth ? g[0].innerWidth : g.width(), M.atSize = g[0].innerHeight > g[0].outerHeight || b ? g[0].innerHeight : g.height()); else if (9 === g[0].nodeType) S.atLocation = 0, M.atLocation = 0, S.atSize = g.width(), M.atSize = g.height(); else { var R = (0, c.getBoundingRect)(g.get(0)), F = P(g); S.atLocation = F.left, M.atLocation = F.top, S.atSize = Math.max(R.width, g.outerWidth()), M.atSize = Math.max(R.height, g.outerHeight()) } T(S), T(M); var V = function () { var e = (0, i.default)(_), t = e.width(), n = e.height(), a = e.scrollLeft(), o = e.scrollTop(), s = r.default.getDocumentElement(), l = f.touch ? s.clientWidth / t : 1, d = f.touch ? s.clientHeight / n : 1; void 0 === m && O(); var c = t, u = n; if (x) { var h = (0, i.default)(x), p = h.offset(); a = p.left, o = p.top, c = h.width(), u = h.height() } return { h: { min: a + S.boundaryOffset, max: a + c / l - S.mySize - S.boundaryOffset }, v: { min: o + M.boundaryOffset, max: o + u / d - M.mySize - M.boundaryOffset } } }(); S.oversize = E(S, V.h), M.oversize = E(M, V.v), S.collisionSide = D("h", S, V.h), M.collisionSide = D("v", M, V.v), A[S.collision] && A[S.collision](S, V.h), A[M.collision] && A[M.collision](M, V.v); var q = function (e) { return t.precise ? e : Math.round(e) }; return (0, d.extend)(!0, s, { h: { location: q(S.myLocation), oversize: q(S.oversize), fit: S.fit, flip: S.flip, collisionSide: S.collisionSide }, v: { location: q(M.myLocation), oversize: q(M.oversize), fit: M.fit, flip: M.flip, collisionSide: M.collisionSide }, precise: t.precise }), s }, P = function e(t) { var n, i, a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t, o = a.get(0); if (!o) return t.offset(); var s, r = (null === (n = o.getAttribute) || void 0 === n ? void 0 : n.call(o, "style")) || "", l = null === (i = r.match(x)) || void 0 === i ? void 0 : i[0]; return l ? (o.setAttribute("style", r.replace(l, "")), s = e(t, a.parent()), o.setAttribute("style", r)) : s = e(t, a.parent()), s }, R = function (e, t) { var n = (0, i.default)(e); if (!t) return n.offset(); (0, h.resetPosition)(n, !0); var a = P(n), o = t.h && t.v ? t : M(n, t), s = function (e) { return t.precise ? e : Math.round(e) }; return (0, h.move)(n, { left: o.h.location - s(a.left), top: o.v.location - s(a.top) }), o }; R.inverseAlign || (R.inverseAlign = S), R.normalizeAlign || (R.normalizeAlign = C); var F = { calculateScrollbarWidth: O, calculate: M, setup: R, offset: function (e) { return e = (0, i.default)(e).get(0), (0, l.isWindow)(e) ? null : e && "pageY" in e && "pageX" in e ? { top: e.pageY, left: e.pageX } : (0, i.default)(e).offset() } }; t.default = F, e.exports = t.default }, function (e, t) { e.exports = window.Globalize }, function (e, t, n) { "use strict"; t.applyBatch = _, t.createObjectWithChanges = m, t.update = y, t.insert = w, t.remove = x, t.indexByKey = b, t.applyChanges = function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = n.keyExpr, a = void 0 === i ? "id" : i, o = n.immutable, s = void 0 === o || o, r = (0, d.compileGetter)(a), l = { key: function () { return a }, keyOf: function (e) { return r(e) } }; return _({ keyInfo: l, data: e, changes: t, immutable: s, disableCache: !0, logError: !0 }) }; var i = n(0), a = u(n(27)), o = u(n(36)), s = n(1), r = u(n(33)), l = n(95), d = n(20), c = u(n(42)); function u(e) { return e && e.__esModule ? e : { default: e } } function h(e) { return (h = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function f(e) { return function (e) { if (Array.isArray(e)) return p(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return p(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return p(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function p(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function g(e, t, n, i) { return i ? function e(t, n, i, a) { var o; if (a) { for (var s = 0; s < n.length; s++)if (o = e(t, n[s].items || n[s].collapsedItems || [] || [], i, a - 1)) return o } else if (b(t, n, i) >= 0) return n }(e, t, n, i) || [] : t } function m(e, t) { var n = e ? Object.create(Object.getPrototypeOf(e)) : {}, i = (0, s.extendFromObject)({}, e); return (0, l.deepExtendArraySafe)(n, i, !0, !0), (0, l.deepExtendArraySafe)(n, t, !0, !0) } function _(e) { var t = e.keyInfo, n = e.data, a = e.changes, o = e.groupCount, s = e.useInsertIndex, r = e.immutable, l = e.disableCache, d = e.logError, c = !0 === r ? f(n) : n; return a.forEach((function (e) { var n = "insert" === e.type ? c : g(t, c, e.key, o); switch (!l && function (e, t) { if (e.key() && (!t._dataByKeyMap || t._dataByKeyMapLength !== t.length)) { for (var n = {}, i = t.length, a = 0; a < i; a++)n[JSON.stringify(e.keyOf(t[a]))] = t[a]; t._dataByKeyMap = n, t._dataByKeyMapLength = i } }(t, n), e.type) { case "update": y(t, n, e.key, e.data, !0, r, d); break; case "insert": w(t, n, e.data, s && (0, i.isDefined)(e.index) ? e.index : -1, !0, d); break; case "remove": x(t, n, e.key, !0, d) } })), c } function v(e, t, n) { return e ? t && r.default.errors.log(n) : c.default.rejectedPromise(r.default.errors.Error(n)) } function y(e, t, n, o, s, r, d) { var u, h = e.key(); if (h) { if (function (e, t) { for (var n = "string" == typeof t ? t.split() : t.slice(); n.length;)if (n.shift() in e) return !0; return !1 }(o, h) && !c.default.keysEqual(h, n, e.keyOf(o))) return v(s, d, "E4017"); if (!(u = function (e, t) { if (e._dataByKeyMap) return e._dataByKeyMap[JSON.stringify(t)] }(t, n))) { var f = b(e, t, n); if (f < 0) return v(s, d, "E4009"); if (u = t[f], !0 === r && (0, i.isDefined)(u)) { var p = m(u, o); return t[f] = p, !s && c.default.trivialPromise(p, n) } } } else u = n; if ((0, l.deepExtendArraySafe)(u, o, !0), !s) return (0, a.default)().useLegacyStoreResult ? c.default.trivialPromise(n, o) : c.default.trivialPromise(u, n) } function w(e, t, n, l, d, u) { var f, p = e.key(), g = (0, i.isPlainObject)(n) ? (0, s.extend)({}, n) : n; if (p) { if (void 0 === (f = e.keyOf(g)) || "object" === h(f) && (0, i.isEmptyObject)(f)) { if (Array.isArray(p)) throw r.default.errors.Error("E4007"); f = g[p] = String(new o.default) } else if (void 0 !== t[b(e, t, f)]) return v(d, u, "E4008") } else f = g; if (l >= 0 ? t.splice(l, 0, g) : t.push(g), function (e, t, n) { e._dataByKeyMap && (e._dataByKeyMap[JSON.stringify(t)] = n) }(t, f, g), !d) return c.default.trivialPromise((0, a.default)().useLegacyStoreResult ? n : g, f) } function x(e, t, n, i, a) { var o = b(e, t, n); return o > -1 && t.splice(o, 1), i ? o < 0 ? v(i, a, "E4009") : void 0 : c.default.trivialPromise(n) } function b(e, t, n) { var i = e.key(); if (!function (e, t) { return !e._dataByKeyMap || e._dataByKeyMap[JSON.stringify(t)] }(t, n)) return -1; for (var a = 0, o = t.length; a < o; a++)if (c.default.keysEqual(i, e.keyOf(t[a]), n)) return a; return -1 } }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = n(7), o = n(41), s = n(34), r = n(1), l = u(n(12)), d = u(n(11)), c = u(n(29)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, a.getNavigator)(), f = c.default.inherit({ _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { indicatorSrc: "", activeStateEnabled: !1, hoverStateEnabled: !1, _animatingSegmentCount: 1, _animatingSegmentInner: !1 }) }, _defaultOptionsRules: function () { var e = (0, s.current)(); return this.callBase().concat([{ device: function () { return "android" === l.default.real().platform && !/chrome/i.test(h.userAgent) }, options: { viaImage: !0 } }, { device: function () { return (0, s.isMaterial)(e) }, options: { _animatingSegmentCount: 2, _animatingSegmentInner: !0 } }, { device: function () { return (0, s.isGeneric)(e) }, options: { _animatingSegmentCount: 7 } }]) }, _init: function () { this.callBase(), this.$element().addClass("dx-loadindicator") }, _initMarkup: function () { this.callBase(), this._renderWrapper(), this._renderIndicatorContent(), this._renderMarkup() }, _renderWrapper: function () { this._$wrapper = (0, i.default)("<div>").addClass("dx-loadindicator-wrapper"), this.$element().append(this._$wrapper) }, _renderIndicatorContent: function () { this._$content = (0, i.default)("<div>").addClass("dx-loadindicator-content"), this._$wrapper.append(this._$content) }, _renderMarkup: function () { !(0, o.animation)() || this.option("viaImage") || this.option("indicatorSrc") ? this._renderMarkupForImage() : this._renderMarkupForAnimation() }, _renderMarkupForAnimation: function () { var e = this.option("_animatingSegmentInner"); this._$indicator = (0, i.default)("<div>").addClass("dx-loadindicator-icon"), this._$content.append(this._$indicator); for (var t = this.option("_animatingSegmentCount"); t >= 0; --t) { var n = (0, i.default)("<div>").addClass("dx-loadindicator-segment").addClass("dx-loadindicator-segment" + t); e && n.append((0, i.default)("<div>").addClass("dx-loadindicator-segment-inner")), this._$indicator.append(n) } }, _renderMarkupForImage: function () { var e = this.option("indicatorSrc"); this._$wrapper.addClass("dx-loadindicator-image"), e && this._$wrapper.css("backgroundImage", "url(" + e + ")") }, _renderDimensions: function () { this.callBase(), this._updateContentSizeForAnimation() }, _updateContentSizeForAnimation: function () { if (this._$indicator) { var e = this.option("width"), t = this.option("height"); if (e || t) { e = this.$element().width(), t = this.$element().height(); var n = Math.min(t, e); this._$wrapper.css({ height: n, width: n, fontSize: n }) } } }, _clean: function () { this.callBase(), this._removeMarkupForAnimation(), this._removeMarkupForImage() }, _removeMarkupForAnimation: function () { this._$indicator && (this._$indicator.remove(), delete this._$indicator) }, _removeMarkupForImage: function () { this._$wrapper.css("backgroundImage", "none") }, _optionChanged: function (e) { switch (e.name) { case "_animatingSegmentCount": case "_animatingSegmentInner": case "indicatorSrc": this._invalidate(); break; default: this.callBase(e) } } }); (0, d.default)("dxLoadIndicator", f); var p = f; t.default = p, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.setHeight = t.setWidth = t.normalizeStyleProp = t.stylePropPrefix = t.styleProp = void 0; var i = n(43), a = r(n(56)), o = n(0), s = r(n(9)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = ["", "Webkit", "Moz", "O", "Ms"], d = { "": "", Webkit: "-webkit-", Moz: "-moz-", O: "-o-", ms: "-ms-" }, c = (0, a.default)((function () { return s.default.createElement("dx").style })); t.styleProp = function (e) { if (e in c()) return e; var t = e; e = e.charAt(0).toUpperCase() + e.substr(1); for (var n = 1; n < l.length; n++) { var i = l[n].toLowerCase() + e; if (i in c()) return i } return t }; t.stylePropPrefix = function (e) { return function (e, t) { var n; e = (0, i.camelize)(e, !0); for (var a = 0, o = l.length; a < o; a++) { var s = l[a], r = s + e; if (void 0 === (n = t((0, i.camelize)(r), s)) && (n = t(r, s)), void 0 !== n) break } return n || "" }(e, (function (e, t) { if (e in c()) return d[t] })) }; var u = ["fillOpacity", "columnCount", "flexGrow", "flexShrink", "fontWeight", "lineHeight", "opacity", "zIndex", "zoom"]; t.normalizeStyleProp = function (e, t) { return (0, o.isNumeric)(t) && -1 === u.indexOf(e) && (t += "px"), t }; var h = function (e, t, n) { if (e) { n = (0, o.isNumeric)(n) ? n += "px" : n; for (var i = 0; i < e.length; ++i)e[i].style[t] = n } }; t.setWidth = function (e, t) { h(e, "width", t) }; t.setHeight = function (e, t) { h(e, "height", t) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(48)), a = s(n(249)), o = s(n(250)); function s(e) { return e && e.__esModule ? e : { default: e } } var r, l = (0, i.default)({ locale: (r = "en", function (e) { if (!e) return r; r = e }), getValueByClosestLocale: function (e) { for (var t, n = this.locale(), i = e(n); !i && !t;)(n = (0, o.default)(a.default, n)) ? i = e(n) : t = !0; return void 0 === i && "en" !== n ? e("en") : i } }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = { toXml: function (e, t, n) { var a = ["<", e]; for (var o in t) { var s = t[o]; (0, i.isDefined)(s) && a.push(" ", o, '="', s, '"') } return (0, i.isDefined)(n) && "" !== n ? a.push(">", n, "</", e, ">") : a.push(" />"), a.join("") } }; t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.compare = function (e, t, n) { function i(e) { return "string" == typeof e ? e.split(".") : "number" == typeof e ? [e] : e } e = i(e), t = i(t); var a = Math.max(e.length, t.length); isFinite(n) && (a = Math.min(a, n)); for (var o = 0; o < a; o++) { var s = parseInt(e[o] || 0, 10), r = parseInt(t[o] || 0, 10); if (s < r) return -1; if (s > r) return 1 } return 0 } }, function (e, t, n) { "use strict"; t.default = function () { return i.default && (0, a.default)().useJQuery }; var i = o(n(50)), a = o(n(27)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = (0, a.default)().useJQuery; i.default && !1 !== s && (0, a.default)({ useJQuery: !0 }), e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(322)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.BindableTemplate = void 0; var a = d(n(2)), o = n(75), s = d(n(5)), r = d(n(100)), l = n(0); function d(e) { return e && e.__esModule ? e : { default: e } } function c(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function u(e, t) { return (u = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function h(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = p(e); if (t) { var a = p(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return f(this, n) } } function f(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function p(e) { return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var g = function (e, t, n, i, a) { var o, s = function (e, t, n) { return t((function () { return e }), n) }(e, t, (function (e) { o && o(), (0, l.isPrimitive)(e) ? a(e) : o = function (e, t, n, i, a) { var o = {}, s = n.slice(), r = n.map((function (n) { var r = i[n]; return t(r ? function () { return r(e) } : function () { return e[n] }, (function (e) { if (o[n] = e, s.length) { var t = s.indexOf(n); t >= 0 && s.splice(t, 1) } s.length || a(o) })) })); return function () { r.forEach((function (e) { return e() })) } }(e, t, n, i, a) })); return function () { o && o(), s && s() } }, m = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && u(e, t) }(l, e); var t, n, i, o = h(l); function l(e, t, n, i) { var a; return function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, l), (a = o.call(this))._render = e, a._fields = t, a._fieldsMap = i || {}, a._watchMethod = n, a } return t = l, (n = [{ key: "_renderCore", value: function (e) { var t = this, n = (0, a.default)(e.container), i = g(e.model, this._watchMethod, this._fields, this._fieldsMap, (function (i) { n.empty(), t._render(n, i, e.model) })); return s.default.on(n, r.default, i), n.contents() } }]) && c(t.prototype, n), i && c(t, i), l }(o.TemplateBase); t.BindableTemplate = m }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = n(39), o = p(n(26)), s = n(7), r = n(8), l = n(1), d = p(n(29)), c = p(n(82)), u = p(n(5)), h = p(n(345)), f = p(n(36)); function p(e) { return e && e.__esModule ? e : { default: e } } var g = { validationMessageMode: "mode", validationMessageOffset: "offset", validationBoundary: "boundary" }, m = d.default.inherit({ ctor: function () { this.showValidationMessageTimeout = null, this.validationRequest = (0, o.default)(), this.callBase.apply(this, arguments) }, _createElement: function (e) { this.callBase(e); var t = this.$element(); t && (0, a.data)(t[0], "dx-validation-target", this) }, _initOptions: function (e) { this.callBase.apply(this, arguments), this.option(c.default.initValidationOptions(e)) }, _init: function () { this.callBase(), this._options.cache("validationTooltipOptions", this.option("validationTooltipOptions")), this.$element().addClass("dx-show-invalid-badge") }, _getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { value: null, name: "", onValueChanged: null, readOnly: !1, isValid: !0, validationError: null, validationErrors: null, validationStatus: "valid", validationMessageMode: "auto", validationBoundary: void 0, validationMessageOffset: { h: 0, v: 0 }, validationTooltipOptions: {} }) }, _attachKeyboardEvents: function () { this.option("readOnly") || this.callBase() }, _setOptionsByReference: function () { this.callBase(), (0, l.extend)(this._optionsByReference, { validationError: !0 }) }, _createValueChangeAction: function () { this._valueChangeAction = this._createActionByOption("onValueChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _suppressValueChangeAction: function () { this._valueChangeActionSuppressed = !0 }, _resumeValueChangeAction: function () { this._valueChangeActionSuppressed = !1 }, _initMarkup: function () { this._toggleReadOnlyState(), this._setSubmitElementName(this.option("name")), this.callBase(), this._renderValidationState() }, _raiseValueChangeAction: function (e, t) { this._valueChangeAction || this._createValueChangeAction(), this._valueChangeAction(this._valueChangeArgs(e, t)) }, _valueChangeArgs: function (e, t) { return { value: e, previousValue: t, event: this._valueChangeEventInstance } }, _saveValueChangeEvent: function (e) { this._valueChangeEventInstance = e }, _focusInHandler: function (e) { var t = "auto" === this.option("validationMessageMode"); if (this._canValueBeChangedByClick() && t) { var n, i = null === (n = this._validationMessage) || void 0 === n ? void 0 : n._wrapper(); null == i || i.removeClass("dx-invalid-message-auto"), clearTimeout(this.showValidationMessageTimeout), this.showValidationMessageTimeout = setTimeout((function () { return null == i ? void 0 : i.addClass("dx-invalid-message-auto") }), 150) } return this.callBase(e) }, _canValueBeChangedByClick: function () { return !1 }, _getValidationErrors: function () { var e = this.option("validationErrors"); return !e && this.option("validationError") && (e = [this.option("validationError")]), e }, _disposeValidationMessage: function () { this._$validationMessage && (this._$validationMessage.remove(), this.setAria("describedby", null), this._$validationMessage = null) }, _toggleValidationClasses: function (e) { this.$element().toggleClass("dx-invalid", e), this.setAria("invalid", e || void 0) }, _renderValidationState: function () { var e = this.option("isValid") && "invalid" !== this.option("validationStatus"), t = this._getValidationErrors(), n = this.$element(); this._toggleValidationClasses(!e), (0, s.hasWindow)() && (this._disposeValidationMessage(), !e && t && (this._$validationMessage = (0, i.default)("<div>").appendTo(n), this.setAria("describedby", "dx-" + new f.default), this._validationMessage = new h.default(this._$validationMessage, (0, l.extend)({ validationErrors: t, target: this._getValidationMessageTarget(), container: n, mode: this.option("validationMessageMode"), positionRequest: "below", offset: this.option("validationMessageOffset"), boundary: this.option("validationBoundary"), rtlEnabled: this.option("rtlEnabled") }, this._options.cache("validationTooltipOptions"))), this._bindInnerWidgetOptions(this._validationMessage, "validationTooltipOptions"))) }, _getValidationMessageTarget: function () { return this.$element() }, _toggleReadOnlyState: function () { var e = this.option("readOnly"); this._toggleBackspaceHandler(e), this.$element().toggleClass("dx-state-readonly", !!e), this.setAria("readonly", e || void 0) }, _toggleBackspaceHandler: function (e) { var t = this._keyboardEventBindingTarget(), n = (0, r.addNamespace)("keydown", "editorReadOnly"); u.default.off(t, n), e && u.default.on(t, n, (function (e) { "backspace" === (0, r.normalizeKeyName)(e) && e.preventDefault() })) }, _dispose: function () { var e = this.$element()[0]; (0, a.data)(e, "dx-validation-target", null), clearTimeout(this.showValidationMessageTimeout), this.callBase() }, _setSubmitElementName: function (e) { var t = this._getSubmitElement(); t && (e.length > 0 ? t.attr("name", e) : t.removeAttr("name")) }, _getSubmitElement: function () { return null }, _setValidationMessageOption: function (e) { var t, n = e.name, i = e.value, a = g[n] ? g[n] : n; null === (t = this._validationMessage) || void 0 === t || t.option(a, i) }, _optionChanged: function (e) { var t; switch (e.name) { case "onValueChanged": this._createValueChangeAction(); break; case "readOnly": this._toggleReadOnlyState(), this._refreshFocusState(); break; case "value": e.value != e.previousValue && this.validationRequest.fire({ value: e.value, editor: this }), this._valueChangeActionSuppressed || (this._raiseValueChangeAction(e.value, e.previousValue), this._saveValueChangeEvent(void 0)); break; case "width": this.callBase(e), null === (t = this._validationMessage) || void 0 === t || t.updateMaxWidth(); break; case "name": this._setSubmitElementName(e.value); break; case "isValid": case "validationError": case "validationErrors": case "validationStatus": this.option(c.default.synchronizeValidationOptions(e, this.option())), this._renderValidationState(); break; case "validationBoundary": case "validationMessageMode": case "validationMessageOffset": this._setValidationMessageOption(e); break; case "rtlEnabled": this._setValidationMessageOption(e), this.callBase(e); break; case "validationTooltipOptions": this._innerWidgetOptionChanged(this._validationMessage, e); break; default: this.callBase(e) } }, reset: function () { var e = this._getDefaultOptions(); this.option("value", e.value) } }); t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; t.register = function (e, t, n) { var o = a, s = {}; s[e] = o[e] ? o[e] : {}, s[e][t] = n, o = (0, i.extend)(o, s) }, t.registry = void 0; var i = n(1), a = {}; t.registry = a }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(94); var o = (0, ((i = n(48)) && i.__esModule ? i : { default: i }).default)({ isWrapped: function () { return !1 }, isWritableWrapped: function () { return !1 }, wrap: function (e) { return e }, unwrap: function (e) { return e }, assign: function () { a.logger.error("Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.") } }); t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.originalViewPort = function () { return c }, t.changeCallback = t.value = void 0; var i = s(n(2)), a = s(n(45)), o = s(n(26)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = a.default.add, l = (0, o.default)(); t.changeCallback = l; var d, c = (0, i.default)(), u = function (e) { if (!arguments.length) return d; var t = (0, i.default)(e); c = t; var n = !!t.length, a = u(); d = n ? t : (0, i.default)("body"), l.fire(n ? u() : (0, i.default)(), a) }; t.value = u, r((function () { u(".dx-viewport") })) }, function (e, t, n) { "use strict"; t.TemplateBase = t.renderedCallbacks = void 0; var i = d(n(2)), a = d(n(9)), o = d(n(26)), s = n(28), r = n(59), l = d(n(21)); function d(e) { return e && e.__esModule ? e : { default: e } } function c(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var u = (0, o.default)({ syncStrategy: !0 }); t.renderedCallbacks = u; var h = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e) } var t, n, o; return t = e, (n = [{ key: "render", value: function (e) { var t = (e = e || {}).onRendered; delete e.onRendered; var n = this._renderCore(e); return this._ensureResultInContainer(n, e.container), u.fire(n, e.container), t && t(), n } }, { key: "_ensureResultInContainer", value: function (e, t) { if (t) { var n = (0, i.default)(t), o = (0, s.contains)(n.get(0), e.get(0)); n.append(e), o || a.default.getBody().contains(n.get(0)) && (0, r.triggerShownEvent)(e) } } }, { key: "_renderCore", value: function () { throw l.default.Error("E0001") } }]) && c(t.prototype, n), o && c(t, o), e }(); t.TemplateBase = h }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = m(n(45)), o = m(n(9)), s = m(n(5)), r = n(39), l = m(n(13)), d = n(1), c = n(14), u = n(3), h = m(n(58)), f = n(8), p = m(n(23)), g = n(150); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = new (l.default.inherit({ ctor: function () { this._attachHandlers(), this.reset(), this._proxiedCancelHandler = this._cancelHandler.bind(this), this._proxiedAcceptHandler = this._acceptHandler.bind(this) }, _attachHandlers: function () { a.default.add(function () { var e = o.default.getDocument(); s.default.subscribeGlobal(e, (0, f.addNamespace)(p.default.down, "dxEventManager"), this._pointerDownHandler.bind(this)), s.default.subscribeGlobal(e, (0, f.addNamespace)(p.default.move, "dxEventManager"), this._pointerMoveHandler.bind(this)), s.default.subscribeGlobal(e, (0, f.addNamespace)([p.default.up, p.default.cancel].join(" "), "dxEventManager"), this._pointerUpHandler.bind(this)), s.default.subscribeGlobal(e, (0, f.addNamespace)(g.name, "dxEventManager"), this._mouseWheelHandler.bind(this)) }.bind(this)) }, _eachEmitter: function (e) { for (var t = this._activeEmitters || [], n = 0; t.length > n;) { var i = t[n]; if (!1 === e(i)) break; t[n] === i && n++ } }, _applyToEmitters: function (e, t) { this._eachEmitter((function (n) { n[e].call(n, t) })) }, reset: function () { this._eachEmitter(this._proxiedCancelHandler), this._activeEmitters = [] }, resetEmitter: function (e) { this._proxiedCancelHandler(e) }, _pointerDownHandler: function (e) { (0, f.isMouseEvent)(e) && e.which > 1 || this._updateEmitters(e) }, _updateEmitters: function (e) { this._isSetChanged(e) && (this._cleanEmitters(e), this._fetchEmitters(e)) }, _isSetChanged: function (e) { var t = this._closestEmitter(e), n = this._emittersSet || [], i = t.length !== n.length; return (0, u.each)(t, (function (e, t) { return !(i = i || n[e] !== t) })), this._emittersSet = t, i }, _closestEmitter: function (e) { var t = this, n = [], a = (0, i.default)(e.target); function o(i, a) { a && a.validatePointers(e) && a.validate(e) && (a.addCancelCallback(t._proxiedCancelHandler), a.addAcceptCallback(t._proxiedAcceptHandler), n.push(a)) } for (; a.length;) { var s = (0, r.data)(a.get(0), "dxEmitter") || []; (0, u.each)(s, o), a = a.parent() } return n }, _acceptHandler: function (e, t) { var n = this; this._eachEmitter((function (i) { i !== e && n._cancelEmitter(i, t) })) }, _cancelHandler: function (e, t) { this._cancelEmitter(e, t) }, _cancelEmitter: function (e, t) { var n = this._activeEmitters; t ? e.cancel(t) : e.reset(), e.removeCancelCallback(), e.removeAcceptCallback(); var i = (0, c.inArray)(e, n); i > -1 && n.splice(i, 1) }, _cleanEmitters: function (e) { this._applyToEmitters("end", e), this.reset(e) }, _fetchEmitters: function (e) { this._activeEmitters = this._emittersSet.slice(), this._applyToEmitters("start", e) }, _pointerMoveHandler: function (e) { this._applyToEmitters("move", e) }, _pointerUpHandler: function (e) { this._updateEmitters(e) }, _mouseWheelHandler: function (e) { this._allowInterruptionByMouseWheel() && (e.pointers = [null], this._pointerDownHandler(e), this._adjustWheelEvent(e), this._pointerMoveHandler(e), e.pointers = [], this._pointerUpHandler(e)) }, _allowInterruptionByMouseWheel: function () { var e = !0; return this._eachEmitter((function (t) { return e = t.allowInterruptionByMouseWheel() && e })), e }, _adjustWheelEvent: function (e) { var t = null; if (this._eachEmitter((function (n) { if (n.gesture) { var i = n.getDirection(e); return "horizontal" !== i && !e.shiftKey || "vertical" !== i && e.shiftKey ? (t = n, !1) : void 0 } })), t) { var n = t.getDirection(e), i = "both" === n && !e.shiftKey || "vertical" === n; e[i ? "pageY" : "pageX"] += e.delta } }, isActive: function (e) { var t = !1; return this._eachEmitter((function (n) { t = t || n.getElement().is(e) })), t } })), v = function (e) { var t = e.emitter, n = e.events[0], i = e.events; (0, u.each)(i, (function (a, o) { (0, h.default)(o, { noBubble: !e.bubble, setup: function (e) { var i = (0, r.data)(e, "dxEmitterSubscription") || {}, a = (0, r.data)(e, "dxEmitter") || {}, s = a[n] || new t(e); i[o] = !0, a[n] = s, (0, r.data)(e, "dxEmitter", a), (0, r.data)(e, "dxEmitterSubscription", i) }, add: function (e, t) { (0, r.data)(e, "dxEmitter")[n].configure((0, d.extend)({ delegateSelector: t.selector }, t.data), t.type) }, teardown: function (e) { var t = (0, r.data)(e, "dxEmitterSubscription"), a = (0, r.data)(e, "dxEmitter"), s = a[n]; delete t[o]; var l = !0; (0, u.each)(i, (function (e, n) { return l = l && !t[n] })), l && (_.isActive(e) && _.resetEmitter(s), s && s.dispose(), delete a[n]) } }) })) }; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(8), a = s(n(105)), o = s(n(76)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = Math.abs, l = a.default.inherit({ start: function (e) { this._startEventData = (0, i.eventData)(e), this._startTimer(e) }, _startTimer: function (e) { var t = "timeout" in this ? this.timeout : 750; this._holdTimer = setTimeout(function () { this._requestAccept(e), this._fireEvent("dxhold", e, { target: e.target }), this._forgetAccept() }.bind(this), t) }, move: function (e) { this._touchWasMoved(e) && this._cancel(e) }, _touchWasMoved: function (e) { var t = (0, i.eventDelta)(this._startEventData, (0, i.eventData)(e)); return r(t.x) > 5 || r(t.y) > 5 }, end: function () { this._stopTimer() }, _stopTimer: function () { clearTimeout(this._holdTimer) }, cancel: function () { this._stopTimer() }, dispose: function () { this._stopTimer() } }); (0, o.default)({ emitter: l, bubble: !0, events: ["dxhold"] }); var d = { name: "dxhold" }; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(13)), a = n(90), o = n(3), s = h(n(33)), r = h(n(42)), l = n(20), d = h(n(79)), c = n(6), u = n(4); function h(e) { return e && e.__esModule ? e : { default: e } } var f, p = i.default.abstract, g = d.default.queryByOptions, m = {}, _ = i.default.inherit({ ctor: function (e) { var t = this; e = e || {}, this._eventsStrategy = new a.EventsStrategy(this), (0, o.each)(["onLoaded", "onLoading", "onInserted", "onInserting", "onUpdated", "onUpdating", "onPush", "onRemoved", "onRemoving", "onModified", "onModifying"], (function (n, i) { i in e && t.on(i.slice(2).toLowerCase(), e[i]) })), this._key = e.key, this._errorHandler = e.errorHandler, this._useDefaultSearch = !0 }, _customLoadOptions: function () { return null }, key: function () { return this._key }, keyOf: function (e) { return this._keyGetter || (this._keyGetter = (0, l.compileGetter)(this.key())), this._keyGetter(e) }, _requireKey: function () { if (!this.key()) throw s.default.errors.Error("E4005") }, load: function (e) { var t = this; return e = e || {}, this._eventsStrategy.fireEvent("loading", [e]), this._withLock(this._loadImpl(e)).done((function (n) { t._eventsStrategy.fireEvent("loaded", [n, e]) })) }, _loadImpl: function (e) { return g(this.createQuery(e), e).enumerate() }, _withLock: function (e) { var t = new c.Deferred; return e.done((function () { var e = this, n = arguments; r.default.processRequestResultLock.promise().done((function () { t.resolveWith(e, n) })) })).fail((function () { t.rejectWith(this, arguments) })), t }, createQuery: p, totalCount: function (e) { return this._totalCountImpl(e) }, _totalCountImpl: function (e) { return g(this.createQuery(e), e, !0).count() }, byKey: function (e, t) { return this._addFailHandlers(this._withLock(this._byKeyImpl(e, t))) }, _byKeyImpl: p, insert: function (e) { var t = this; return t._eventsStrategy.fireEvent("modifying"), t._eventsStrategy.fireEvent("inserting", [e]), t._addFailHandlers(t._insertImpl(e).done((function (e, n) { t._eventsStrategy.fireEvent("inserted", [e, n]), t._eventsStrategy.fireEvent("modified") }))) }, _insertImpl: p, update: function (e, t) { var n = this; return n._eventsStrategy.fireEvent("modifying"), n._eventsStrategy.fireEvent("updating", [e, t]), n._addFailHandlers(n._updateImpl(e, t).done((function () { n._eventsStrategy.fireEvent("updated", [e, t]), n._eventsStrategy.fireEvent("modified") }))) }, _updateImpl: p, push: function (e) { this._pushImpl(e), this._eventsStrategy.fireEvent("push", [e]) }, _pushImpl: u.noop, remove: function (e) { var t = this; return t._eventsStrategy.fireEvent("modifying"), t._eventsStrategy.fireEvent("removing", [e]), t._addFailHandlers(t._removeImpl(e).done((function (e) { t._eventsStrategy.fireEvent("removed", [e]), t._eventsStrategy.fireEvent("modified") }))) }, _removeImpl: p, _addFailHandlers: function (e) { return e.fail(this._errorHandler).fail(s.default._errorHandler) }, on: function (e, t) { return this._eventsStrategy.on(e, t), this }, off: function (e, t) { return this._eventsStrategy.off(e, t), this } }); _.create = function (e, t) { if (!(e in m)) throw s.default.errors.Error("E4020", e); return new m[e](t) }, _.registerClass = function (e, t) { return t && (m[t] = e), e }, _.inherit = (f = _.inherit, function (e, t) { var n = f.apply(this, [e]); return _.registerClass(n, t), n }); var v = _; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(4), a = n(1), o = n(3), s = l(n(121)), r = l(n(42)); function l(e) { return e && e.__esModule ? e : { default: e } } function d(e, t) { return e = e.groupBy(t[0].selector), t.length > 1 && (e = e.select((function (e) { return (0, a.extend)({}, e, { items: d((0, s.default)(e.items), t.slice(1)).toArray() }) }))), e } function c(e, t) { var n = []; return (0, o.each)(e, (function (e, a) { (0, i.grep)(t, (function (e) { return a.selector === e.selector })).length < 1 && n.push(a) })), n.concat(t) } var u = { multiLevelGroup: d, arrangeSortingInfo: c, queryByOptions: function (e, t, n) { var i = (t = t || {}).filter; if (i && (e = e.filter(i)), n) return e; var a = t.sort, s = t.select, l = t.group, u = t.skip, h = t.take; return l && ((l = r.default.normalizeSortingInfo(l)).keepInitialKeyOrder = !!t.group.keepInitialKeyOrder), (a || l) && (a = r.default.normalizeSortingInfo(a || []), l && !l.keepInitialKeyOrder && (a = c(l, a)), (0, o.each)(a, (function (t) { e = e[t ? "thenBy" : "sortBy"](this.selector, this.desc, this.compare) }))), s && (e = e.select(s)), l && (e = d(e, l)), (h || u) && (e = e.slice(u || 0, h)), e } }; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.escapeServiceOperationParams = t.formatFunctionInvocationUrl = t.generateExpand = t.generateSelect = t.convertPrimitiveValue = t.keyConverters = t.serializeKey = t.serializeValue = t.serializePropName = t.EdmLiteral = t.sendRequest = void 0; var i = p(n(13)), a = n(1), o = n(0), s = n(3), r = p(n(89)), l = p(n(36)), d = n(4), c = n(6), u = p(n(33)), h = p(n(42)), f = n(31); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e) { return (g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var m = /^(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})$/, _ = /^\/Date\((-?\d+)((\+|-)?(\d+)?)\)\/$/, v = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]{1}\d{2}(:?)(\d{2})?)?$/, y = "application/json;odata=verbose", w = function (e) { return "string" === (0, o.type)(e) ? e.split() : e }, x = function (e) { return /\./.test(e) }, b = function (e, t, n) { for (e = String(e); e.length < t;)e = n ? "".concat(e, "0") : "0".concat(e); return e }, C = function (e, t, n) { var i = [], a = function (e) { return b(e, 2) }; return i.push(e.getFullYear()), i.push("-"), i.push(a(e.getMonth() + 1)), i.push("-"), i.push(a(e.getDate())), t && e.getHours() + e.getMinutes() + e.getSeconds() + e.getMilliseconds() < 1 || (i.push("T"), i.push(a(e.getHours())), i.push(":"), i.push(a(e.getMinutes())), i.push(":"), i.push(a(e.getSeconds())), e.getMilliseconds() && (i.push("."), i.push(b(e.getMilliseconds(), 3))), n || i.push("Z")), i.join("") }, k = function (e) { var t = new Date(60 * new Date(0).getTimezoneOffset() * 1e3), n = e.replace("Z", "").split("T"), i = /(\d{4})-(\d{2})-(\d{2})/.exec(n[0]), a = /(\d{2}):(\d{2}):(\d{2})\.?(\d{0,7})?/.exec(n[1]); if (t.setFullYear(Number(i[1])), t.setMonth(Number(i[2]) - 1), t.setDate(Number(i[3])), Array.isArray(a) && a.length) { t.setHours(Number(a[1])), t.setMinutes(Number(a[2])), t.setSeconds(Number(a[3])); var o = (a[4] || "").slice(0, 3); o = b(o, 3, !0), t.setMilliseconds(Number(o)) } return t }, I = function (e) { var t = []; for (var n in e) t.push(n + "=" + e[n]); return t.join("&") }; t.sendRequest = function e(t, n, i) { var o = i.deserializeDates, s = i.fieldTypes, l = i.countOnly, d = i.isPaged, f = new c.Deferred, p = function (e, t) { var n, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, o = function (t) { return JSON.stringify(t, (function (t, n) { if (!(this[t] instanceof Date)) return n; switch (n = C(this[t]), e) { case 2: return n.substr(0, n.length - 1); case 3: case 4: return n; default: throw u.default.errors.Error("E4002") } })) }; t = (0, a.extend)({ async: !0, method: "get", url: "", params: {}, payload: null, headers: {}, timeout: 3e4 }, t), null === (n = i.beforeSend) || void 0 === n || n.call(i, t); var s = t, r = s.async, l = s.timeout, d = s.headers, c = t, h = c.url, f = c.method, p = i.jsonp, g = i.withCredentials, m = "get" === (f = (f || "get").toLowerCase()), _ = m && p, v = (0, a.extend)({}, t.params), w = m ? v : o(t.payload), x = !m && I(v), b = !m && y; return x && (h += (h.indexOf("?") > -1 ? "&" : "?") + x), _ && (w.$format = "json"), { url: h, data: w, dataType: _ ? "jsonp" : "json", jsonp: _ && "$callback", method: f, async: r, timeout: l, headers: d, contentType: b, accepts: { json: [y, "text/plain"].join() }, xhrFields: { withCredentials: g } } }(t, n, i); return r.default.sendRequest(p).always((function (n, a) { var r = S(n, a, { deserializeDates: o, fieldTypes: s }, p), c = r.error, g = r.data, m = r.count, _ = r.nextUrl; if (c) c.message !== h.default.XHR_ERROR_UNLOAD && f.reject(c); else if (l) isFinite(m) ? f.resolve(m) : f.reject(new u.default.errors.Error("E4018")); else if (_ && !d) /^(?:[a-z]+:)?\/\//i.test(_) || (_ = function (e, t) { var n, i, a, o = (i = e, a = i.indexOf("?"), a > -1 ? i.substr(0, a) : i).split("/"), s = t.split("/"); for (o.pop(); s.length;)".." === (n = s.shift()) ? o.pop() : o.push(n); return o.join("/") }(p.url, _)), e(t, { url: _ }, i).fail(f.reject).done((function (e) { return f.resolve(g.concat(e)) })); else { var v = isFinite(m) ? { totalCount: m } : void 0; f.resolve(g, v) } })), f.promise() }; var S = function (e, t, n, i) { var s = function (e, t, n) { var i, o, s, r; if ("nocontent" === t) return null; var l = "Unknown error", d = e, c = 200, u = { requestOptions: n }; if ("success" !== t) { var f = e.status, p = e.responseText; c = f, l = h.default.errorMessageFromXhr(e, t); try { d = JSON.parse(p) } catch (e) { } } var g = (null === (i = d) || void 0 === i ? void 0 : i.then) || (null === (o = d) || void 0 === o ? void 0 : o.error) || (null === (s = d) || void 0 === s ? void 0 : s["odata.error"]) || (null === (r = d) || void 0 === r ? void 0 : r["@odata.error"]); if (g) { l = function (e) { var t, n, i = e; "message" in e && (t = (null === (n = e.message) || void 0 === n ? void 0 : n.value) || e.message); for (; (i = i.innererror || i.internalexception) && (t = i.message, !i.internalexception || -1 !== t.indexOf("inner exception"));); return t }(g) || l, u.errorDetails = g, 200 === c && (c = 500); var m = Number(g.code); isFinite(m) && m >= 400 && (c = m) } return c >= 400 || 0 === c ? (u.httpStatus = c, (0, a.extend)(Error(l), u)) : null }(e, t, i); if (s) return { error: s }; if (!(0, o.isPlainObject)(e)) return { data: e }; var r = "d" in e && (Array.isArray(e.d) || (0, o.isObject)(e.d)) ? E(e, t) : D(e, t); return A(r, n), r }, E = function (e) { var t, n = e.d; return (0, o.isDefined)(n) ? { data: null !== (t = n.results) && void 0 !== t ? t : n, nextUrl: n.__next, count: parseInt(n.__count, 10) } : { error: Error("Malformed or unsupported JSON response received") } }, D = function (e) { var t; return { data: null !== (t = e.value) && void 0 !== t ? t : e, nextUrl: e["@odata.nextLink"], count: parseInt(e["@odata.count"], 10) } }, T = i.default.inherit({ ctor: function (e) { this._value = e }, valueOf: function () { return this._value } }); t.EdmLiteral = T; var A = function e(t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; (0, s.each)(t, (function (i, a) { if (null !== a && "object" === g(a)) "results" in a && (t[i] = a.results), e(t[i], n); else if ("string" == typeof a) { var o = n.fieldTypes, s = n.deserializeDates; if ((!o || "String" !== o[i]) && m.test(a) && (t[i] = new l.default(a)), !1 !== s) if (a.match(_)) { var r = new Date(Number(RegExp.$1) + 60 * RegExp.$2 * 1e3); t[i] = new Date(r.valueOf() + 60 * r.getTimezoneOffset() * 1e3) } else v.test(a) && (t[i] = new Date(k(t[i]).valueOf())) } })) }, O = function (e) { return e instanceof T ? e.valueOf() : e.replace(/\./g, "/") }; t.serializePropName = O; var B = function (e) { return e instanceof Date ? "datetime'".concat(C(e, !0, !0), "'") : e instanceof l.default ? "guid'".concat(e, "'") : e instanceof T ? e.valueOf() : "string" == typeof e ? function (e) { return "'".concat(e.replace(/'/g, "''"), "'") }(e) : String(e) }, M = function (e, t) { switch (t) { case 2: case 3: return B(e); case 4: return function e(t) { return t instanceof Date ? C(t, !1, !1) : t instanceof l.default ? t.valueOf() : Array.isArray(t) ? "[".concat(t.map((function (t) { return e(t) })).join(","), "]") : B(t) }(e); default: throw u.default.errors.Error("E4002") } }; t.serializeValue = M; t.serializeKey = function (e, t) { if ((0, o.isPlainObject)(e)) { var n = []; return (0, s.each)(e, (function (e, i) { return n.push("".concat(O(e), "=").concat(M(i, t))) })), n.join() } return M(e, t) }; var P = { String: function (e) { return "".concat(e) }, Int32: function (e) { return Math.floor(e) }, Int64: function (e) { return e instanceof T ? e : new T("".concat(e, "L")) }, Guid: function (e) { return e instanceof l.default ? e : new l.default(e) }, Boolean: function (e) { return !!e }, Single: function (e) { return e instanceof T ? e : new T(e + "f") }, Decimal: function (e) { return e instanceof T ? e : new T(e + "m") } }; t.keyConverters = P; t.convertPrimitiveValue = function (e, t) { if (null === t) return null; var n = P[e]; if (!n) throw u.default.errors.Error("E4014", e); return n(t) }; t.generateSelect = function (e, t) { if (t) return e < 4 ? O(t.join()) : (0, d.grep)(t, x, !0).join() }; var R = function (e) { var t = []; return (0, s.each)(e, (function (e, n) { return t.push("".concat(e).concat(function e(t) { var n = "", i = [], a = []; return (0, s.each)(t, (function (t, n) { Array.isArray(n) && [].push.apply(i, n), (0, o.isPlainObject)(n) && a.push("".concat(t).concat(e(n))) })), (i.length || a.length) && (n += "(", i.length && (n += "$select=".concat((0, s.map)(i, O).join())), a.length && (i.length && (n += ";"), n += "$expand=".concat((0, s.map)(a, O).join())), n += ")"), n }(n))) })), t.join() }, F = function (e, t, n) { return (0, s.each)(e, (function (e, i) { return function e(t, n, i) { var a = i(n, t.shift(), t); !1 !== a && e(t, a, i) }(i.split("."), t, n) })) }; t.generateExpand = function (e, t, n) { return e < 4 ? function (e, t) { var n = {}; return e && (0, s.each)(w(e), (function () { n[O(this)] = 1 })), t && (0, s.each)(w(t), (function () { var e = this.split("."); e.length < 2 || (e.pop(), n[O(e.join("."))] = 1) })), (0, s.map)(n, (function (e, t) { return t })).join() }(t, n) : function (e, t) { var n = {}; if (e || t) return e && F(w(e), n, (function (e, t, n) { return e[t] = e[t] || {}, !!n.length && e[t] })), t && F((0, d.grep)(w(t), x), n, (function (e, t, n) { return n.length ? e[t] = e[t] || {} : (e[t] = e[t] || [], e[t].push(t), !1) })), R(n) }(t, n) }; t.formatFunctionInvocationUrl = function (e, t) { return (0, f.format)("{0}({1})", e, (0, s.map)(t || {}, (function (e, t) { return (0, f.format)("{0}={1}", t, e) })).join(",")) }; t.escapeServiceOperationParams = function (e, t) { if (!e) return e; var n = {}; return (0, s.each)(e, (function (e, i) { n[e] = M(i, t) })), n } }, function (e, t, n) { "use strict"; t.showWave = r, t.hideWave = u, t.render = t.initConfig = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }; var o = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = e.useHoldAnimation, n = e.waveSizeCoefficient, i = e.isCentered, a = e.wavesNumber; return { waveSizeCoefficient: n || 2, isCentered: i || !1, wavesNumber: a || 1, durations: d(null == t || t) } }; t.initConfig = o; t.render = function (e) { var t = o(e); return { showWave: r.bind(this, t), hideWave: u.bind(this, t) } }; var s = function (e, t) { for (var n = function (e) { var t = e.children(".dx-inkripple"); return 0 === t.length && (t = (0, a.default)("<div>").addClass("dx-inkripple").appendTo(e)), t }((0, a.default)(e)), i = n.children(".dx-inkripple-wave").toArray(), o = i.length; o < t; o++) { var s = (0, a.default)("<div>").appendTo(n).addClass("dx-inkripple-wave"); i.push(s[0]) } return (0, a.default)(i) }; function r(e, t) { var n = s(t.element, e.wavesNumber).eq(t.wave || 0); e.hidingTimeout && clearTimeout(e.hidingTimeout), c(n), n.css(function (e, t) { var n, i, o = (0, a.default)(t.element), s = o.outerWidth(), r = o.outerHeight(), l = parseInt(Math.sqrt(s * s + r * r)), d = Math.min(4e3, parseInt(l * e.waveSizeCoefficient)); if (e.isCentered) n = (s - d) / 2, i = (r - d) / 2; else { var c = t.event, u = o.offset(); n = c.pageX - u.left - d / 2, i = c.pageY - u.top - d / 2 } return { left: n, top: i, height: d, width: d } }(e, t)), e.showingTimeout = setTimeout(l.bind(this, e, n), 0) } function l(e, t) { var n = e.durations.showingScale + "ms"; t.addClass("dx-inkripple-showing").css("transitionDuration", n) } function d(e) { return { showingScale: e ? 1e3 : 300, hidingScale: 300, hidingOpacity: 300 } } function c(e) { e.removeClass("dx-inkripple-hiding").css("transitionDuration", "") } function u(e, t) { e.showingTimeout && clearTimeout(e.showingTimeout); var n = s(t.element, t.wavesNumber).eq(t.wave || 0), i = e.durations, a = i.hidingScale + "ms, " + i.hidingOpacity + "ms"; n.addClass("dx-inkripple-hiding").removeClass("dx-inkripple-showing").css("transitionDuration", a); var o = Math.max(i.hidingScale, i.hidingOpacity); e.hidingTimeout = setTimeout(c.bind(this, n), o) } }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = m(n(13)), o = n(1), s = n(14), r = n(3), l = n(90), d = m(n(21)), c = n(4), u = n(0), h = m(n(40)), f = m(n(10)), p = m(n(96)), g = n(6); function m(e) { return e && e.__esModule ? e : { default: e } } function _(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && v(e, t) } function v(e, t) { return (v = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function y(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = x(e); if (t) { var a = x(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return w(this, n) } } function w(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function x(e) { return (x = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function b(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function C(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function k(e, t, n) { return t && C(e.prototype, t), n && C(e, n), e } var I = "valid", S = "invalid", E = "pending", D = function () { function e() { b(this, e), this.NAME = "base" } return k(e, [{ key: "defaultMessage", value: function (e) { return f.default.getFormatter("validation-".concat(this.NAME))(e) } }, { key: "defaultFormattedMessage", value: function (e) { return f.default.getFormatter("validation-".concat(this.NAME, "-formatted"))(e) } }, { key: "_isValueEmpty", value: function (e) { return !q.required.validate(e, {}) } }, { key: "validate", value: function (e, t) { var n = this, i = Array.isArray(e) ? e : [e], a = !0; return i.length ? i.every((function (e) { return a = n._validate(e, t) })) : a = this._validate(null, t), a } }]), e }(), T = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "required", e } return k(n, [{ key: "_validate", value: function (e, t) { return !!(0, u.isDefined)(e) && (!1 !== e && (e = String(e), !t.trim && (0, u.isDefined)(t.trim) || (e = e.trim()), "" !== e)) } }]), n }(D), A = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "numeric", e } return k(n, [{ key: "_validate", value: function (e, t) { return !(!1 === t.ignoreEmptyValue || !this._isValueEmpty(e)) || (t.useCultureSettings && (0, u.isString)(e) ? !isNaN(h.default.parse(e)) : (0, u.isNumeric)(e)) } }]), n }(D), O = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "range", e } return k(n, [{ key: "_validate", value: function (e, t) { if (!1 !== t.ignoreEmptyValue && this._isValueEmpty(e)) return !0; var n = q.numeric.validate(e, t), i = (0, u.isDefined)(e) && "" !== e, a = n ? parseFloat(e) : i && e.valueOf(), o = t.min, s = t.max; if (!n && !(0, u.isDate)(e) && !i) return !1; if ((0, u.isDefined)(o)) return (0, u.isDefined)(s) ? a >= o && a <= s : a >= o; if ((0, u.isDefined)(s)) return a <= s; throw d.default.Error("E0101") } }]), n }(D), B = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "stringLength", e } return k(n, [{ key: "_validate", value: function (e, t) { return e = (0, u.isDefined)(e) ? String(e) : "", !t.trim && (0, u.isDefined)(t.trim) || (e = e.trim()), !(!t.ignoreEmptyValue || !this._isValueEmpty(e)) || q.range.validate(e.length, (0, o.extend)({}, t)) } }]), n }(D), M = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "custom", e } return k(n, [{ key: "validate", value: function (e, t) { if (t.ignoreEmptyValue && this._isValueEmpty(e)) return !0; var n = t.validator, i = n && (0, u.isFunction)(n.option) && n.option("dataGetter"), a = (0, u.isFunction)(i) && i(), s = { value: e, validator: n, rule: t }; return a && (0, o.extend)(s, a), t.validationCallback(s) } }]), n }(D), P = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "async", e } return k(n, [{ key: "validate", value: function (e, t) { if ((0, u.isDefined)(t.reevaluate) || (0, o.extend)(t, { reevaluate: !0 }), t.ignoreEmptyValue && this._isValueEmpty(e)) return !0; var n = t.validator, i = n && (0, u.isFunction)(n.option) && n.option("dataGetter"), a = (0, u.isFunction)(i) && i(), s = { value: e, validator: n, rule: t }; a && (0, o.extend)(s, a); var r = t.validationCallback(s); if (!(0, u.isPromise)(r)) throw d.default.Error("E0103"); return this._getWrappedPromise((0, g.fromPromise)(r).promise()) } }, { key: "_getWrappedPromise", value: function (e) { var t = new g.Deferred; return e.then((function (e) { t.resolve(e) }), (function (e) { var n = { isValid: !1 }; (0, u.isDefined)(e) && ((0, u.isString)(e) ? n.message = e : (0, u.isObject)(e) && (0, u.isDefined)(e.message) && (0, u.isString)(e.message) && (n.message = e.message)), t.resolve(n) })), t.promise() } }]), n }(M), R = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "compare", e } return k(n, [{ key: "_validate", value: function (e, t) { if (!t.comparisonTarget) throw d.default.Error("E0102"); if (t.ignoreEmptyValue && this._isValueEmpty(e)) return !0; (0, o.extend)(t, { reevaluate: !0 }); var n = t.comparisonTarget(); switch (t.comparisonType || "==") { case "==": return e == n; case "!=": return e != n; case "===": return e === n; case "!==": return e !== n; case ">": return e > n; case ">=": return e >= n; case "<": return e < n; case "<=": return e <= n } } }]), n }(D), F = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "pattern", e } return k(n, [{ key: "_validate", value: function (e, t) { if (!1 !== t.ignoreEmptyValue && this._isValueEmpty(e)) return !0; var n = t.pattern; return (0, u.isString)(n) && (n = new RegExp(n)), n.test(e) } }]), n }(D), V = function (e) { _(n, e); var t = y(n); function n() { var e; return b(this, n), (e = t.call(this)).NAME = "email", e } return k(n, [{ key: "_validate", value: function (e, t) { return !(!1 === t.ignoreEmptyValue || !this._isValueEmpty(e)) || q.pattern.validate(e, (0, o.extend)({}, t, { pattern: /^[\d\w._-]+@([\d\w._-]+\.)+[\w]+$/i })) } }]), n }(D), q = { required: new T, numeric: new A, range: new O, stringLength: new B, custom: new M, async: new P, compare: new R, pattern: new F, email: new V }, L = a.default.inherit({ ctor: function (e) { this.group = e, this.validators = [], this._pendingValidators = [], this._onValidatorStatusChanged = this._onValidatorStatusChanged.bind(this), this._resetValidationInfo(), this._eventsStrategy = new l.EventsStrategy(this) }, validate: function () { var e = this, t = { isValid: !0, brokenRules: [], validators: [], status: I, complete: null }; return this._unsubscribeFromAllChangeEvents(), this._pendingValidators = [], this._resetValidationInfo(), (0, r.each)(this.validators, (function (n, i) { var a = i.validate(); t.isValid = t.isValid && a.isValid, a.brokenRules && (t.brokenRules = t.brokenRules.concat(a.brokenRules)), t.validators.push(i), a.status === E && e._addPendingValidator(i), e._subscribeToChangeEvents(i) })), this._pendingValidators.length ? t.status = E : (t.status = t.isValid ? I : S, this._unsubscribeFromAllChangeEvents(), this._raiseValidatedEvent(t)), this._updateValidationInfo(t), (0, o.extend)({}, this._validationInfo.result) }, _subscribeToChangeEvents: function (e) { e.on("validating", this._onValidatorStatusChanged), e.on("validated", this._onValidatorStatusChanged) }, _unsubscribeFromChangeEvents: function (e) { e.off("validating", this._onValidatorStatusChanged), e.off("validated", this._onValidatorStatusChanged) }, _unsubscribeFromAllChangeEvents: function () { var e = this; (0, r.each)(this.validators, (function (t, n) { e._unsubscribeFromChangeEvents(n) })) }, _updateValidationInfo: function (e) { this._validationInfo.result = e, e.status === E && (this._validationInfo.deferred || (this._validationInfo.deferred = new g.Deferred, this._validationInfo.result.complete = this._validationInfo.deferred.promise())) }, _addPendingValidator: function (e) { (0, c.grep)(this._pendingValidators, (function (t) { return t === e }))[0] || this._pendingValidators.push(e) }, _removePendingValidator: function (e) { var t = (0, s.inArray)(e, this._pendingValidators); t >= 0 && this._pendingValidators.splice(t, 1) }, _orderBrokenRules: function (e) { var t = []; return (0, r.each)(this.validators, (function (n, i) { var a = (0, c.grep)(e, (function (e) { return e.validator === i })); a.length && (t = t.concat(a)) })), t }, _updateBrokenRules: function (e) { if (this._validationInfo.result) { var t = this._validationInfo.result.brokenRules, n = (0, c.grep)(t, (function (t) { return t.validator !== e.validator })); e.brokenRules && (t = n.concat(e.brokenRules)), this._validationInfo.result.brokenRules = this._orderBrokenRules(t) } }, _onValidatorStatusChanged: function (e) { e.status !== E ? this._resolveIfComplete(e) : this._addPendingValidator(e.validator) }, _resolveIfComplete: function (e) { if (this._removePendingValidator(e.validator), this._updateBrokenRules(e), !this._pendingValidators.length) { if (this._unsubscribeFromAllChangeEvents(), !this._validationInfo.result) return; this._validationInfo.result.status = 0 === this._validationInfo.result.brokenRules.length ? I : S, this._validationInfo.result.isValid = this._validationInfo.result.status === I; var t = (0, o.extend)({}, this._validationInfo.result, { complete: null }), n = this._validationInfo.deferred; this._resetValidationInfo(), this._raiseValidatedEvent(t), n && setTimeout((function () { n.resolve(t) })) } }, _raiseValidatedEvent: function (e) { this._eventsStrategy.fireEvent("validated", [e]) }, _resetValidationInfo: function () { this._validationInfo = { result: null, deferred: null } }, _synchronizeValidationInfo: function () { this._validationInfo.result && (this._validationInfo.result.validators = this.validators) }, removeRegisteredValidator: function (e) { var t = (0, s.inArray)(e, this.validators); t > -1 && (this.validators.splice(t, 1), this._synchronizeValidationInfo(), this._resolveIfComplete({ validator: e })) }, registerValidator: function (e) { (0, s.inArray)(e, this.validators) < 0 && (this.validators.push(e), this._synchronizeValidationInfo()) }, reset: function () { (0, r.each)(this.validators, (function (e, t) { t.reset() })), this._pendingValidators = [], this._resetValidationInfo() }, on: function (e, t) { return this._eventsStrategy.on(e, t), this }, off: function (e, t) { return this._eventsStrategy.off(e, t), this } }), H = { groups: [], getGroupConfig: function (e) { var t = (0, c.grep)(this.groups, (function (t) { return t.group === e })); if (t.length) return t[0] }, findGroup: function (e, t) { var n = e.parents(".dx-validationgroup").first(); return n.length ? n.dxValidationGroup("instance") : t }, initGroups: function () { this.groups = [], this.addGroup() }, addGroup: function (e) { var t = this.getGroupConfig(e); return t || (t = new L(e), this.groups.push(t)), t }, removeGroup: function (e) { var t = this.getGroupConfig(e), n = (0, s.inArray)(t, this.groups); return n > -1 && this.groups.splice(n, 1), t }, _setDefaultMessage: function (e) { var t = e.rule, n = e.validator, i = e.name; (0, u.isDefined)(t.message) || (n.defaultFormattedMessage && (0, u.isDefined)(i) ? t.message = n.defaultFormattedMessage(i) : t.message = n.defaultMessage()) }, _addBrokenRule: function (e) { var t = e.result, n = e.rule; t.brokenRule || (t.brokenRule = n), t.brokenRules || (t.brokenRules = []), t.brokenRules.push(n) }, validate: function (e, t, n) { var i = this, a = { name: n, value: e, brokenRule: null, brokenRules: null, isValid: !0, validationRules: t, pendingRules: null, status: I, complete: null }, o = []; return (0, r.each)(t || [], (function (t, s) { var r, l = q[s.type]; if (!l) throw d.default.Error("E0100"); return (0, u.isDefined)(s.isValid) && s.value === e && !s.reevaluate ? !!s.isValid || (a.isValid = !1, i._addBrokenRule({ result: a, rule: s }), !1) : (s.value = e, "async" === s.type ? (o.push({ rule: s, ruleValidator: l }), !0) : (r = l.validate(e, s), s.isValid = r, r || (a.isValid = !1, i._setDefaultMessage({ rule: s, validator: l, name: n }), i._addBrokenRule({ result: a, rule: s })), !!s.isValid && void 0)) })), a.isValid && !a.brokenRules && o.length && (a = this._validateAsyncRules({ value: e, items: o, result: a, name: n })), a.status = a.pendingRules ? E : a.isValid ? I : S, a }, _validateAsyncRules: function (e) { var t = this, n = e.result, i = e.value, a = e.items, o = e.name, s = []; return (0, r.each)(a, (function (e, a) { var r = a.ruleValidator.validate(i, a.rule); if ((0, u.isPromise)(r)) { n.pendingRules || (n.pendingRules = []), n.pendingRules.push(a.rule); var l = r.then((function (e) { var n = t._getPatchedRuleResult(e); return t._updateRuleConfig({ rule: a.rule, ruleResult: n, validator: a.ruleValidator, name: o }), n })); s.push(l) } else t._updateRuleConfig({ rule: a.rule, ruleResult: t._getPatchedRuleResult(r), validator: a.ruleValidator, name: o }) })), s.length && (n.complete = p.default.all(s).then((function (e) { return t._getAsyncRulesResult({ result: n, values: e }) }))), n }, _updateRuleConfig: function (e) { var t = e.rule, n = e.ruleResult, i = e.validator, a = e.name; t.isValid = n.isValid, n.isValid || ((0, u.isDefined)(n.message) && (0, u.isString)(n.message) && n.message.length ? t.message = n.message : this._setDefaultMessage({ rule: t, validator: i, name: a })) }, _getPatchedRuleResult: function (e) { var t; return (0, u.isObject)(e) ? (t = (0, o.extend)({}, e), (0, u.isDefined)(t.isValid) || (t.isValid = !0)) : t = { isValid: !(0, u.isBoolean)(e) || e }, t }, _getAsyncRulesResult: function (e) { var t = this, n = e.values, i = e.result; return (0, r.each)(n, (function (e, n) { if (!1 === n.isValid) { i.isValid = n.isValid; var a = i.pendingRules[e]; t._addBrokenRule({ result: i, rule: a }) } })), i.pendingRules = null, i.complete = null, i.status = i.isValid ? I : S, i }, registerValidatorInGroup: function (e, t) { var n = H.addGroup(e); n.registerValidator.call(n, t) }, _shouldRemoveGroup: function (e, t) { var n = void 0 === e, i = e && "dxValidationGroup" === e.NAME; return !n && !i && !t.length }, removeRegisteredValidator: function (e, t) { var n = H.getGroupConfig(e); if (n) { n.removeRegisteredValidator.call(n, t); var i = n.validators; this._shouldRemoveGroup(e, i) && this.removeGroup(e) } }, initValidationOptions: function (e) { var t = this, n = {}; if (e) { ["isValid", "validationStatus", "validationError", "validationErrors"].forEach((function (i) { i in e && (0, o.extend)(n, t.synchronizeValidationOptions({ name: i, value: e[i] }, e)) })) } return n }, synchronizeValidationOptions: function (e, t) { var n = e.name, i = e.value; switch (n) { case "validationStatus": var a = i === I || i === E; return t.isValid !== a ? { isValid: a } : {}; case "isValid": var o = t.validationStatus, s = o; return i && o === S ? s = I : i || o === S || (s = S), s !== o ? { validationStatus: s } : {}; case "validationErrors": var r = i && i.length ? i[0] : null; return t.validationError !== r ? { validationError: r } : {}; case "validationError": var l = t.validationErrors; if (!i && l) return { validationErrors: null }; if (i && !l) return { validationErrors: [i] }; if (i && l && i !== l[0]) return l[0] = i, { validationErrors: l.slice() } }return {} }, validateGroup: function (e) { var t = H.getGroupConfig(e); if (!t) throw d.default.Error("E0110"); return t.validate() }, resetGroup: function (e) { var t = H.getGroupConfig(e); if (!t) throw d.default.Error("E0110"); return t.reset() } }; H.initGroups(); var z = H; t.default = z, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.getImageContainer = t.getImageSourceType = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }; var o = function (e) { return !(!e || "string" != typeof e) && (/^\s*<svg[^>]*>(.|\r\n|\r|\n)*?<\/svg>\s*$/i.test(e) ? "svg" : /data:.*base64|\.|[^<\s]\//.test(e) ? "image" : /^[\w-_]+$/.test(e) ? "dxIcon" : !!/^\s?([\w-_]\s?)+$/.test(e) && "fontIcon") }; t.getImageSourceType = o; t.getImageContainer = function (e) { switch (o(e)) { case "image": return (0, a.default)("<img>").attr("src", e).addClass("dx-icon"); case "fontIcon": return (0, a.default)("<i>").addClass("".concat("dx-icon", " ").concat(e)); case "dxIcon": return (0, a.default)("<i>").addClass("".concat("dx-icon", " ").concat("dx-icon", "-").concat(e)); case "svg": return (0, a.default)("<i>").addClass("".concat("dx-icon", " ").concat("dx-svg-icon")).append(e); default: return null } } }, function (e, t, n) { "use strict"; t.default = void 0; var i = _(n(2)), a = _(n(5)), o = _(n(335)), s = _(n(17)), r = n(1), l = n(3), d = n(4), c = n(0), u = _(n(156)), h = n(20), f = n(52), p = n(53), g = _(n(206)), m = n(6); function _(e) { return e && e.__esModule ? e : { default: e } } function v(e) { return function (e) { if (Array.isArray(e)) return y(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return y(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return y(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function y(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var w = function (e) { return -1 !== e }, x = o.default.inherit({ _setOptionsByReference: function () { this.callBase(), (0, r.extend)(this._optionsByReference, { selectedItem: !0 }) }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { selectionMode: "none", selectionRequired: !1, selectionByClick: !0, selectedItems: [], selectedItemKeys: [], maxFilterLengthInRequest: 1500, keyExpr: null, selectedIndex: -1, selectedItem: null, onSelectionChanged: null, onItemReordered: null, onItemDeleting: null, onItemDeleted: null }) }, ctor: function (e, t) { this._userOptions = t || {}, this.callBase(e, t) }, _init: function () { this._initEditStrategy(), this.callBase(), this._initKeyGetter(), this._initSelectionModule() }, _initKeyGetter: function () { this._keyGetter = (0, h.compileGetter)(this.option("keyExpr")) }, _getKeysByItems: function (e) { return this._editStrategy.getKeysByItems(e) }, _getItemsByKeys: function (e, t) { return this._editStrategy.getItemsByKeys(e, t) }, _getKeyByIndex: function (e) { return this._editStrategy.getKeyByIndex(e) }, _getIndexByKey: function (e) { return this._editStrategy.getIndexByKey(e) }, _getIndexByItemData: function (e) { return this._editStrategy.getIndexByItemData(e) }, _isKeySpecified: function () { return !(!this._dataSource || !this._dataSource.key()) }, _getCombinedFilter: function () { return this._dataSource && this._dataSource.filter() }, key: function () { return this.option("keyExpr") ? this.option("keyExpr") : this._dataSource && this._dataSource.key() }, keyOf: function (e) { var t = e, n = this._dataSource && this._dataSource.store(); return this.option("keyExpr") ? t = this._keyGetter(e) : n && (t = n.keyOf(e)), t }, _nullValueSelectionSupported: function () { return !1 }, _initSelectionModule: function () { var e = this, t = e._editStrategy.itemsGetter; this._selection = new g.default({ allowNullValue: this._nullValueSelectionSupported(), mode: this.option("selectionMode"), maxFilterLengthInRequest: this.option("maxFilterLengthInRequest"), equalByReference: !this._isKeySpecified(), onSelectionChanged: function (t) { (t.addedItemKeys.length || t.removedItemKeys.length) && (e.option("selectedItems", e._getItemsByKeys(t.selectedItemKeys, t.selectedItems)), e._updateSelectedItems(t)) }, filter: e._getCombinedFilter.bind(e), totalCount: function () { var t = e.option("items"), n = e._dataSource; return n && n.totalCount() >= 0 ? n.totalCount() : t.length }, key: e.key.bind(e), keyOf: e.keyOf.bind(e), load: function (t) { if (e._dataSource) { var n = e._dataSource.loadOptions(); t.customQueryParams = n.customQueryParams, t.userData = e._dataSource._userData } var i = e._dataSource && e._dataSource.store(); return i ? i.load(t).done((function (t) { if (!e._disposed) { var n = (0, p.normalizeLoadResult)(t).data; e._dataSource._applyMapFunction(n) } })) : (new m.Deferred).resolve(this.plainItems()) }, dataFields: function () { return e._dataSource && e._dataSource.select() }, plainItems: t.bind(e._editStrategy) }) }, _initEditStrategy: function () { var e = u.default; this._editStrategy = new e(this) }, _getSelectedItemIndices: function (e) { var t = this, n = []; return e = e || this._selection.getSelectedItemKeys(), t._editStrategy.beginCache(), (0, l.each)(e, (function (e, i) { var a = t._getIndexByKey(i); w(a) && n.push(a) })), t._editStrategy.endCache(), n }, _initMarkup: function () { var e = this; this._rendering = !0, this._dataSource && this._dataSource.isLoading() || this._syncSelectionOptions().done((function () { return e._normalizeSelectedItems() })), this.callBase() }, _render: function () { this.callBase(), this._rendering = !1 }, _fireContentReadyAction: function () { this._rendering = !1, this._rendered = !0, this.callBase.apply(this, arguments) }, _syncSelectionOptions: function (e) { var t, n, i, a; switch (e = e || this._chooseSelectOption()) { case "selectedIndex": t = this._editStrategy.getItemDataByIndex(this.option("selectedIndex")), (0, c.isDefined)(t) ? (this._setOptionWithoutOptionChange("selectedItems", [t]), this._setOptionWithoutOptionChange("selectedItem", t), this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems([t]))) : (this._setOptionWithoutOptionChange("selectedItems", []), this._setOptionWithoutOptionChange("selectedItemKeys", []), this._setOptionWithoutOptionChange("selectedItem", null)); break; case "selectedItems": if (n = (a = this.option("selectedItems") || []).length ? this._editStrategy.getIndexByItemData(a[0]) : -1, this.option("selectionRequired") && !w(n)) return this._syncSelectionOptions("selectedIndex"); this._setOptionWithoutOptionChange("selectedItem", a[0]), this._setOptionWithoutOptionChange("selectedIndex", n), this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems(a)); break; case "selectedItem": if (t = this.option("selectedItem"), n = this._editStrategy.getIndexByItemData(t), this.option("selectionRequired") && !w(n)) return this._syncSelectionOptions("selectedIndex"); (0, c.isDefined)(t) ? (this._setOptionWithoutOptionChange("selectedItems", [t]), this._setOptionWithoutOptionChange("selectedIndex", n), this._setOptionWithoutOptionChange("selectedItemKeys", this._editStrategy.getKeysByItems([t]))) : (this._setOptionWithoutOptionChange("selectedItems", []), this._setOptionWithoutOptionChange("selectedItemKeys", []), this._setOptionWithoutOptionChange("selectedIndex", -1)); break; case "selectedItemKeys": if (i = this.option("selectedItemKeys"), this.option("selectionRequired")) { var o = this._getIndexByKey(i[0]); if (!w(o)) return this._syncSelectionOptions("selectedIndex") } return this._selection.setSelection(i) }return (new m.Deferred).resolve().promise() }, _chooseSelectOption: function () { var e = "selectedIndex", t = function (e) { var t = this.option(e); return (0, c.isDefined)(t) && t.length || e in this._userOptions }.bind(this); return t("selectedItems") ? e = "selectedItems" : t("selectedItem") ? e = "selectedItem" : t("selectedItemKeys") && (e = "selectedItemKeys"), e }, _compareKeys: function (e, t) { if (e.length !== t.length) return !1; for (var n = 0; n < t.length; n++)if (e[n] !== t[n]) return !1; return !0 }, _normalizeSelectedItems: function () { if ("none" === this.option("selectionMode")) this._setOptionWithoutOptionChange("selectedItems", []), this._syncSelectionOptions("selectedItems"); else if ("single" === this.option("selectionMode")) { var e = this.option("selectedItems"); if (e.length > 1 || !e.length && this.option("selectionRequired") && this.option("items") && this.option("items").length) { var t = this._selection.getSelectedItems(), n = void 0 === e[0] ? t[0] : e[0]; return void 0 === n && (n = this._editStrategy.itemsGetter()[0]), this.option("grouped") && n && n.items && (n.items = [n.items[0]]), this._selection.setSelection(this._getKeysByItems([n])), this._setOptionWithoutOptionChange("selectedItems", [n]), this._syncSelectionOptions("selectedItems") } this._selection.setSelection(this._getKeysByItems(e)) } else { var i = this._getKeysByItems(this.option("selectedItems")), a = this._selection.getSelectedItemKeys(); this._compareKeys(a, i) || this._selection.setSelection(i) } return (new m.Deferred).resolve().promise() }, _itemClickHandler: function (e) { this._createAction(function (e) { this._itemSelectHandler(e.event) }.bind(this), { validatingTargetName: "itemElement" })({ itemElement: (0, i.default)(e.currentTarget), event: e }), this.callBase.apply(this, arguments) }, _itemSelectHandler: function (e) { if (this.option("selectionByClick")) { var t = e.currentTarget; this.isItemSelected(t) ? this.unselectItem(e.currentTarget) : this.selectItem(e.currentTarget) } }, _selectedItemElement: function (e) { return this._itemElements().eq(e) }, _postprocessRenderItem: function (e) { if ("none" !== this.option("selectionMode")) { var t = (0, i.default)(e.itemElement), n = this._editStrategy.getNormalizedIndex(t), a = this._isItemSelected(n); this._processSelectableItem(t, a) } }, _processSelectableItem: function (e, t) { e.toggleClass(this._selectedItemClass(), t), this._setAriaSelected(e, String(t)) }, _updateSelectedItems: function (e) { var t = this, n = e.addedItemKeys, i = e.removedItemKeys; if (t._rendered && (n.length || i.length)) { var a = t._selectionChangePromise; if (!t._rendering) { var o, s = [], r = []; t._editStrategy.beginCache(); for (var l = 0; l < n.length; l++)o = t._getIndexByKey(n[l]), s.push(o), t._addSelection(o); for (var d = 0; d < i.length; d++)o = t._getIndexByKey(i[d]), r.push(o), t._removeSelection(o); t._editStrategy.endCache(), t._updateSelection(s, r) } (0, m.when)(a).done((function () { t._fireSelectionChangeEvent(e.addedItems, e.removedItems) })) } }, _fireSelectionChangeEvent: function (e, t) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })({ addedItems: e, removedItems: t }) }, _updateSelection: d.noop, _setAriaSelected: function (e, t) { this.setAria("selected", t, e) }, _removeSelection: function (e) { var t = this._editStrategy.getItemElement(e); w(e) && (this._processSelectableItem(t, !1), a.default.triggerHandler(t, "stateChanged", !1)) }, _addSelection: function (e) { var t = this._editStrategy.getItemElement(e); w(e) && (this._processSelectableItem(t, !0), a.default.triggerHandler(t, "stateChanged", !0)) }, _isItemSelected: function (e) { var t = this._getKeyByIndex(e); return this._selection.isItemSelected(t) }, _optionChanged: function (e) { var t = this; switch (e.name) { case "selectionMode": this._invalidate(); break; case "dataSource": (!e.value || Array.isArray(e.value) && !e.value.length) && this.option("selectedItemKeys", []), this.callBase(e); break; case "selectedIndex": case "selectedItem": case "selectedItems": case "selectedItemKeys": this._syncSelectionOptions(e.name).done((function () { return t._normalizeSelectedItems() })); break; case "keyExpr": this._initKeyGetter(); break; case "selectionRequired": this._normalizeSelectedItems(); break; case "selectionByClick": case "onSelectionChanged": case "onItemDeleting": case "onItemDeleted": case "onItemReordered": case "maxFilterLengthInRequest": break; default: this.callBase(e) } }, _clearSelectedItems: function () { this._setOptionWithoutOptionChange("selectedItems", []), this._syncSelectionOptions("selectedItems") }, _waitDeletingPrepare: function (e) { if (e.data("dxItemDeleting")) return (new m.Deferred).resolve().promise(); e.data("dxItemDeleting", !0); var t = new m.Deferred, n = { cancel: !1 }, i = this._itemEventHandler(e, "onItemDeleting", n, { excludeValidators: ["disabled", "readOnly"] }); return (0, m.when)(i).always(function (a) { var o = !i, s = !o && "resolved" === i.state(), r = !!arguments.length, l = o || s && !r || s && a; (0, m.when)((0, m.fromPromise)(n.cancel)).always((function () { e.data("dxItemDeleting", !1) })).done((function (e) { l && !e ? t.resolve() : t.reject() })).fail(t.reject) }.bind(this)), t.promise() }, _deleteItemFromDS: function (e) { if (!this._dataSource) return (new m.Deferred).resolve().promise(); var t = new m.Deferred, n = this.option("disabled"), i = this._dataSource.store(); if (this.option("disabled", !0), !i.remove) throw s.default.Error("E1011"); return i.remove(i.keyOf(this._getItemData(e))).done((function (e) { void 0 !== e ? t.resolve() : t.reject() })).fail((function () { t.reject() })), t.always(function () { this.option("disabled", n) }.bind(this)), t }, _tryRefreshLastPage: function () { var e = new m.Deferred; return this._isLastPage() || this.option("grouped") ? e.resolve() : this._refreshLastPage().done((function () { e.resolve() })), e.promise() }, _refreshLastPage: function () { return this._expectLastItemLoading(), this._dataSource.load() }, _updateSelectionAfterDelete: function (e) { var t = this._getKeyByIndex(e); this._selection.deselect([t]) }, _updateIndicesAfterIndex: function (e) { for (var t = this._itemElements(), n = e + 1; n < t.length; n++)(0, i.default)(t[n]).data(this._itemIndexKey(), n - 1) }, _simulateOptionChange: function (e) { var t = this.option(e); t instanceof f.DataSource || this._optionChangedAction({ name: e, fullName: e, value: t }) }, isItemSelected: function (e) { return this._isItemSelected(this._editStrategy.getNormalizedIndex(e)) }, selectItem: function (e) { if ("none" !== this.option("selectionMode")) { var t = this._editStrategy.getNormalizedIndex(e); if (w(t)) { var n = this._getKeyByIndex(t); if (!this._selection.isItemSelected(n)) if ("single" === this.option("selectionMode")) this._selection.setSelection([n]); else { var i = this.option("selectedItemKeys") || []; this._selection.setSelection([].concat(v(i), [n])) } } } }, unselectItem: function (e) { var t = this._editStrategy.getNormalizedIndex(e); if (w(t)) { var n = this._selection.getSelectedItemKeys(); if (!(this.option("selectionRequired") && n.length <= 1)) { var i = this._getKeyByIndex(t); this._selection.isItemSelected(i) && this._selection.deselect([i]) } } }, _deleteItemElementByIndex: function (e) { this._updateSelectionAfterDelete(e), this._updateIndicesAfterIndex(e), this._editStrategy.deleteItemAtIndex(e) }, _afterItemElementDeleted: function (e, t) { var n = this._dataSource ? "dataSource" : "items"; this._simulateOptionChange(n), this._itemEventHandler(e, "onItemDeleted", t, { beforeExecute: function () { e.remove() }, excludeValidators: ["disabled", "readOnly"] }), this._renderEmptyMessage() }, deleteItem: function (e) { var t = this, n = new m.Deferred, i = this._editStrategy.getItemElement(e), a = this._editStrategy.getNormalizedIndex(e), o = this._itemResponseWaitClass(); return w(a) ? this._waitDeletingPrepare(i).done((function () { i.addClass(o); var e = t._extendActionArgs(i); t._deleteItemFromDS(i).done((function () { t._deleteItemElementByIndex(a), t._afterItemElementDeleted(i, e), t._tryRefreshLastPage().done((function () { n.resolveWith(t) })) })).fail((function () { i.removeClass(o), n.rejectWith(t) })) })).fail((function () { n.rejectWith(t) })) : n.rejectWith(t), n.promise() }, reorderItem: function (e, t) { var n = new m.Deferred, i = this, a = this._editStrategy, o = a.getItemElement(e), s = a.getItemElement(t), r = a.getNormalizedIndex(e), l = a.getNormalizedIndex(t), d = this._dataSource ? "dataSource" : "items"; return w(r) && w(l) && r !== l ? n.resolveWith(this) : n.rejectWith(this), n.promise().done((function () { s[a.itemPlacementFunc(r, l)](o), a.moveItemAtIndexToIndex(r, l), this._updateIndicesAfterIndex(r), i.option("selectedItems", i._getItemsByKeys(i._selection.getSelectedItemKeys(), i._selection.getSelectedItems())), "items" === d && i._simulateOptionChange(d), i._itemEventHandler(o, "onItemReordered", { fromIndex: a.getIndex(r), toIndex: a.getIndex(l) }, { excludeValidators: ["disabled", "readOnly"] }) })) } }); t.default = x, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = C(n(2)), a = C(n(5)), o = n(41), s = C(n(15)), r = n(4), l = n(0), d = n(1), c = n(18), u = n(7), h = C(n(9)), f = C(n(12)), p = C(n(11)), g = C(n(57)), m = n(51), _ = n(8), v = C(n(354)), y = n(214), w = C(n(159)), x = n(217), b = n(6); function C(e) { return e && e.__esModule ? e : { default: e } } var k = "dxScrollable", I = "vertical", S = g.default.inherit({ _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { disabled: !1, onScroll: null, direction: I, showScrollbar: "onScroll", useNative: !0, bounceEnabled: !0, scrollByContent: !0, scrollByThumb: !1, onUpdated: null, onStart: null, onEnd: null, onBounce: null, onStop: null, useSimulatedScrollbar: !1, useKeyboard: !0, inertiaEnabled: !0, pushBackValue: 0, updateManually: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat((0, x.deviceDependentOptions)(), [{ device: function () { return o.nativeScrolling && "android" === f.default.real().platform && !s.default.mozilla }, options: { useSimulatedScrollbar: !0 } }, { device: function () { return "ios" === f.default.real().platform }, options: { pushBackValue: 1 } }]) }, _initOptions: function (e) { this.callBase(e), "useSimulatedScrollbar" in e || this._setUseSimulatedScrollbar() }, _setUseSimulatedScrollbar: function () { this.initialOption("useSimulatedScrollbar") || this.option("useSimulatedScrollbar", !this.option("useNative")) }, _init: function () { this.callBase(), this._initScrollableMarkup(), this._locked = !1 }, _getWindowDevicePixelRatio: function () { return (0, u.hasWindow)() ? (0, u.getWindow)().devicePixelRatio : 1 }, _visibilityChanged: function (e) { e ? (this.update(), this._updateRtlPosition(), this._savedScrollOffset && this.scrollTo(this._savedScrollOffset), delete this._savedScrollOffset) : this._savedScrollOffset = this.scrollOffset() }, _initScrollableMarkup: function () { var e = this.$element().addClass("dx-scrollable"), t = this._$container = (0, i.default)("<div>").addClass("dx-scrollable-container"), n = this._$wrapper = (0, i.default)("<div>").addClass("dx-scrollable-wrapper"), o = this._$content = (0, i.default)("<div>").addClass("dx-scrollable-content"); h.default.hasDocumentProperty("onbeforeactivate") && s.default.msie && s.default.version < 12 && a.default.on(e, (0, _.addNamespace)("beforeactivate", k), (function (e) { (0, i.default)(e.target).is(m.focusable) || e.preventDefault() })), o.append(e.contents()).appendTo(t), t.appendTo(n), n.appendTo(e) }, _dimensionChanged: function () { this.update(), this._updateRtlPosition() }, _initMarkup: function () { this.callBase(), this._renderDirection() }, _render: function () { this._renderStrategy(), this._attachEventHandlers(), this._renderDisabledState(), this._createActions(), this.update(), this.callBase(), this._rtlConfig = { scrollRight: 0, clientWidth: this._container().get(0).clientWidth, windowPixelRatio: this._getWindowDevicePixelRatio() }, this._updateRtlPosition() }, _isHorizontalAndRtlEnabled: function () { return this.option("rtlEnabled") && this.option("direction") !== I }, _updateRtlPosition: function () { var e = this; this._updateBounds(), this._isHorizontalAndRtlEnabled() && (0, r.deferUpdate)((function () { var t = e._getMaxOffset().left - e._rtlConfig.scrollRight; t <= 0 && (t = 0, e._rtlConfig.scrollRight = e._getMaxOffset().left), (0, r.deferRender)((function () { e.scrollLeft() !== t && (e._rtlConfig.skipUpdating = !0, e.scrollTo({ left: t }), e._rtlConfig.skipUpdating = !1) })) })) }, _getMaxOffset: function () { var e = this._container().get(0); return { left: e.scrollWidth - e.clientWidth, top: e.scrollHeight - e.clientHeight } }, _updateBounds: function () { this._strategy.updateBounds() }, _attachEventHandlers: function () { var e = this._strategy, t = { getDirection: e.getDirection.bind(e), validate: this._validate.bind(this), isNative: this.option("useNative"), scrollTarget: this._$container }; a.default.off(this._$wrapper, "." + k), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.init, k), t, this._initHandler.bind(this)), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.start, k), e.handleStart.bind(e)), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.move, k), e.handleMove.bind(e)), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.end, k), e.handleEnd.bind(e)), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.cancel, k), e.handleCancel.bind(e)), a.default.on(this._$wrapper, (0, _.addNamespace)(v.default.stop, k), e.handleStop.bind(e)), a.default.off(this._$container, "." + k), a.default.on(this._$container, (0, _.addNamespace)("scroll", k), e.handleScroll.bind(e)) }, _updateRtlConfig: function () { if (this._isHorizontalAndRtlEnabled() && !this._rtlConfig.skipUpdating) { var e = this._container().get(0), t = e.clientWidth, n = e.scrollLeft, i = this._getWindowDevicePixelRatio(); this._rtlConfig.windowPixelRatio === i && this._rtlConfig.clientWidth === t && (this._rtlConfig.scrollRight = this._getMaxOffset().left - n), this._rtlConfig.clientWidth = t, this._rtlConfig.windowPixelRatio = i } }, _validate: function (e) { return !this._isLocked() && (this._updateIfNeed(), this._strategy.validate(e)) }, _initHandler: function () { var e = this._strategy; e.handleInit.apply(e, arguments) }, _renderDisabledState: function () { this.$element().toggleClass("dx-scrollable-disabled", this.option("disabled")), this.option("disabled") ? this._lock() : this._unlock() }, _renderDirection: function () { this.$element().removeClass("dx-scrollable-horizontal").removeClass("dx-scrollable-vertical").removeClass("dx-scrollable-both").addClass("dx-scrollable-" + this.option("direction")) }, _renderStrategy: function () { this._createStrategy(), this._strategy.render(), this.$element().data("dxScrollableStrategy", this._strategy) }, _createStrategy: function () { this._strategy = this.option("useNative") ? new w.default(this) : new y.SimulatedStrategy(this) }, _createActions: function () { this._strategy && this._strategy.createActions() }, _clean: function () { this._strategy && this._strategy.dispose() }, _optionChanged: function (e) { switch (e.name) { case "onStart": case "onEnd": case "onStop": case "onUpdated": case "onScroll": case "onBounce": this._createActions(); break; case "direction": this._resetInactiveDirection(), this._invalidate(); break; case "useNative": this._setUseSimulatedScrollbar(), this._invalidate(); break; case "inertiaEnabled": case "scrollByContent": case "scrollByThumb": case "bounceEnabled": case "useKeyboard": case "showScrollbar": case "useSimulatedScrollbar": case "pushBackValue": this._invalidate(); break; case "disabled": this._renderDisabledState(), this._strategy && this._strategy.disabledChanged(); break; case "updateManually": break; case "width": this.callBase(e), this._updateRtlPosition(); break; default: this.callBase(e) } }, _resetInactiveDirection: function () { var e = this._getInactiveProp(); if (e && (0, u.hasWindow)()) { var t = this.scrollOffset(); t[e] = 0, this.scrollTo(t) } }, _getInactiveProp: function () { var e = this.option("direction"); return e === I ? "left" : "horizontal" === e ? "top" : void 0 }, _location: function () { return this._strategy.location() }, _normalizeLocation: function (e) { if ((0, l.isPlainObject)(e)) { var t = (0, r.ensureDefined)(e.left, e.x), n = (0, r.ensureDefined)(e.top, e.y); return { left: (0, l.isDefined)(t) ? -t : void 0, top: (0, l.isDefined)(n) ? -n : void 0 } } var i = this.option("direction"); return { left: i !== I ? -e : void 0, top: "horizontal" !== i ? -e : void 0 } }, _isLocked: function () { return this._locked }, _lock: function () { this._locked = !0 }, _unlock: function () { this.option("disabled") || (this._locked = !1) }, _isDirection: function (e) { var t = this.option("direction"); return e === I ? "horizontal" !== t : "horizontal" === e ? t !== I : t === e }, _updateAllowedDirection: function () { var e = this._strategy._allowedDirections(); this._isDirection("both") && e.vertical && e.horizontal ? this._allowedDirectionValue = "both" : this._isDirection("horizontal") && e.horizontal ? this._allowedDirectionValue = "horizontal" : this._isDirection(I) && e.vertical ? this._allowedDirectionValue = I : this._allowedDirectionValue = null }, _allowedDirection: function () { return this._allowedDirectionValue }, _container: function () { return this._$container }, $content: function () { return this._$content }, content: function () { return (0, c.getPublicElement)(this._$content) }, scrollOffset: function () { return this._getScrollOffset() }, _getScrollOffset: function () { return { top: -this._location().top, left: -this._location().left } }, scrollTop: function () { return this.scrollOffset().top }, scrollLeft: function () { return this.scrollOffset().left }, clientHeight: function () { return this._$container.height() }, scrollHeight: function () { return this.$content().outerHeight() - 2 * this._strategy.verticalOffset() }, clientWidth: function () { return this._$container.width() }, scrollWidth: function () { return this.$content().outerWidth() }, update: function () { if (this._strategy) return (0, b.when)(this._strategy.update()).done(function () { this._updateAllowedDirection() }.bind(this)) }, scrollBy: function (e) { ((e = this._normalizeLocation(e)).top || e.left) && (this._updateIfNeed(), this._strategy.scrollBy(e), this._updateRtlConfig()) }, scrollTo: function (e) { e = this._normalizeLocation(e), this._updateIfNeed(); var t = this._location(); this.option("useNative") || (e = this._strategy._applyScaleRatio(e), t = this._strategy._applyScaleRatio(t)); var n = this._normalizeLocation({ left: t.left - (0, r.ensureDefined)(e.left, t.left), top: t.top - (0, r.ensureDefined)(e.top, t.top) }); (n.top || n.left) && (this._strategy.scrollBy(n), this._updateRtlConfig()) }, scrollToElement: function (e, t) { var n = (0, i.default)(e), a = this.$content().find(e).length, o = n.parents(".dx-scrollable").length - n.parents(".dx-scrollable-content").length == 0; if (a && o) { var s = { top: 0, left: 0 }, r = this.option("direction"); r !== I && (s.left = this.getScrollElementPosition(n, "horizontal", t)), "horizontal" !== r && (s.top = this.getScrollElementPosition(n, I, t)), this.scrollTo(s) } }, scrollToElementTopLeft: function (e) { var t = (0, i.default)(e), n = this.$content().find(e).length, a = t.parents(".dx-scrollable").length - t.parents(".dx-scrollable-content").length == 0; if (n && a) { var o = { top: 0, left: 0 }, s = this.option("direction"); if (s !== I) { var r = this._elementPositionRelativeToContent(t, "left"); o.left = !0 === this.option("rtlEnabled") ? r + t.width() - this.clientWidth() : r } "horizontal" !== s && (o.top = this._elementPositionRelativeToContent(t, "top")), this.scrollTo(o) } }, getScrollElementPosition: function (e, t, n) { n = n || {}; var i = t === I, a = (i ? n.top : n.left) || 0, o = (i ? n.bottom : n.right) || 0, s = i ? this._strategy.verticalOffset() : 0, r = this._elementPositionRelativeToContent(e, i ? "top" : "left") - s, l = e[i ? "outerHeight" : "outerWidth"](), d = i ? this.scrollTop() : this.scrollLeft(), c = d - r + a, u = d - r - l + this._container().get(0)[i ? "clientHeight" : "clientWidth"] - o; return c <= 0 && u >= 0 ? d : d - (Math.abs(c) > Math.abs(u) ? u : c) }, _elementPositionRelativeToContent: function (e, t) { for (var n = 0; this._hasScrollContent(e);)n += e.position()[t], e = e.offsetParent(); return n }, _hasScrollContent: function (e) { var t = this.$content(); return e.closest(t).length && !e.is(t) }, _updateIfNeed: function () { this.option("updateManually") || this.update() }, _useTemplates: function () { return !1 } }); (0, p.default)(k, S); var E = S; t.default = E, e.exports = t.default }, function (e, t, n) { "use strict"; t.subscribeVisibilityChange = function () { a.default.on(r.default.getDocument(), "visibilitychange", v) }, t.unsubscribeVisibilityChange = function () { a.default.off(r.default.getDocument(), "visibilitychange", v) }, t.hiddenFocus = function (e) { p = !0, e.focus(), p = !1 }, t.registerKeyboardAction = function (e, t, n, r, d, c) { if (t.option("useLegacyKeyboardNavigation")) return l.noop; var u = (0, i.default)(t.element()), h = function (n) { return function (e, t, n, a, r, l) { if (function (e, t, n) { var i = { event: t, handled: !1 }; n ? n(i) : e._createActionByOption("onKeyDown")(i); return i.handled }(t, n.originalEvent, l)) return; var d = (0, o.normalizeKeyName)(n); "enter" === d || "space" === d ? (!function (e, t) { var n = (0, i.default)(e), a = n.attr("aria-label"), o = m(a, t.element()).index(n); g = (0, s.extend)({}, { ariaLabel: a, index: o }, { viewInstance: t }) }(n.target, t), a && a({ event: n })) : "tab" === d ? r.addClass("dx-state-focused") : y(e, t, n) }(e, t, n, d, u, c) }, _ = function () { f = !0, u.removeClass("dx-state-focused") }, v = function () { !f && !p && u.addClass("dx-state-focused"), f = !1 }; return a.default.on(n, "keydown", r, h), a.default.on(n, "mousedown", r, _), a.default.on(n, "focusin", r, v), function () { a.default.off(n, "keydown", r, h), a.default.off(n, "mousedown", r, _), a.default.off(n, "focusin", r, v) } }, t.restoreFocus = function (e) { if (!e.option("useLegacyKeyboardNavigation") && g) { var t = g.viewInstance; if (t) { var n = m(g.ariaLabel, t.element()).eq(g.index); g = null, a.default.trigger(n, "focus") } } }, t.selectView = y, t.setTabIndex = function (e, t) { e.option("useLegacyKeyboardnavigation") || t.attr("tabindex", e.option("tabindex") || 0) }; var i = d(n(2)), a = d(n(5)), o = n(8), s = n(1), r = d(n(9)), l = n(4); function d(e) { return e && e.__esModule ? e : { default: e } } var c = "".concat(".dx-datagrid-rowsview .dx-row", " > td"), u = "".concat(".dx-treelist-rowsview .dx-row", " > td"), h = { groupPanel: [".dx-datagrid-group-panel .dx-group-panel-item[tabindex]"], columnHeaders: [".dx-datagrid-headers .dx-header-row > td.dx-datagrid-action", ".dx-treelist-headers .dx-header-row > td.dx-treelist-action"], filterRow: [".dx-datagrid-headers .dx-datagrid-filter-row .dx-editor-cell .dx-texteditor-input", ".dx-treelist-headers .dx-treelist-filter-row .dx-editor-cell .dx-texteditor-input"], rowsView: ["".concat(".dx-row-focused"), "".concat(".dx-datagrid-rowsview .dx-row", "[tabindex]"), "".concat(c, "[tabindex]"), "".concat(c), "".concat(".dx-treelist-rowsview .dx-row", "[tabindex]"), "".concat(u, "[tabindex]"), "".concat(u)], footer: [".dx-datagrid-total-footer .dx-datagrid-summary-item", ".dx-treelist-total-footer .dx-treelist-summary-item"], filterPanel: [".dx-datagrid-filter-panel .dx-icon-filter", ".dx-treelist-filter-panel .dx-icon-filter"], pager: [".dx-datagrid-pager [tabindex]", ".dx-treelist-pager [tabindex]"] }, f = !1, p = !1, g = null; function m(e, t) { var n = (0, i.default)(t); return e ? n.find('[aria-label="'.concat(e, '"][tabindex]')) : n.find("[tabindex]") } function _(e) { for (var t in e) { var n = e[t], a = (0, i.default)(n).first(); if (a.length) return a } } function v() { p = "visible" === r.default.getDocument().visibilityState } function y(e, t, n) { var i = (0, o.normalizeKeyName)(n); if (n.ctrlKey && ("upArrow" === i || "downArrow" === i)) for (var s = Object.keys(h), r = s.indexOf(e); r >= 0 && r < s.length;) { var l = s[r = "upArrow" === i ? --r : ++r], d = _(h[l]); if (d && d.length) { d.attr("tabindex", t.option("tabindex") || 0), a.default.trigger(d, "focus"), d.removeClass("dx-cell-focus-disabled"); break } } } }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(55)), o = n(0), s = n(3), r = l(n(32)); function l(e) { return e && e.__esModule ? e : { default: e } } function d(e) { return (d = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var c, u = { SUPPORTED_FORMATS: ["date", "time", "datetime"], DATE_COMPONENT_TEXT_FORMATTER: function (e, t) { var n = (0, i.default)("<div>").addClass("dx-dateview-formatter-container"); return (0, i.default)("<span>").text(e).addClass("dx-dateview-value-formatter").appendTo(n), (0, i.default)("<span>").text(t).addClass("dx-dateview-name-formatter").appendTo(n), n }, ONE_MINUTE: 6e4, ONE_DAY: 864e5, ONE_YEAR: 31536e6, MIN_DATEVIEW_DEFAULT_DATE: new Date(1900, 0, 1), MAX_DATEVIEW_DEFAULT_DATE: (c = new Date, new Date(c.getFullYear() + 50, c.getMonth(), c.getDate(), 23, 59, 59)), FORMATS_INFO: { date: { getStandardPattern: function () { return "yyyy-MM-dd" }, components: ["year", "day", "month", "day"] }, time: { getStandardPattern: function () { return "HH:mm" }, components: ["hours", "minutes", "seconds", "milliseconds"] }, datetime: { getStandardPattern: function () { var e, t; return (t = (0, i.default)("<input>").attr("type", "datetime")).val("2000-01-01T01:01Z"), t.val() && (e = "yyyy-MM-ddTHH:mmZ"), e || (e = "yyyy-MM-ddTHH:mm:ssZ"), u.FORMATS_INFO.datetime.getStandardPattern = function () { return e }, e }, components: ["year", "day", "month", "day"].concat(["hours", "minutes", "seconds", "milliseconds"]) }, "datetime-local": { getStandardPattern: function () { return "yyyy-MM-ddTHH:mm:ss" }, components: ["year", "day", "month", "day"].concat(["hours", "minutes", "seconds"]) } }, FORMATS_MAP: { date: "shortdate", time: "shorttime", datetime: "shortdateshorttime" }, SUBMIT_FORMATS_MAP: { date: "date", time: "time", datetime: "datetime-local" }, toStandardDateFormat: function (e, t) { var n = u.FORMATS_INFO[t].getStandardPattern(); return a.default.serializeDate(e, n) }, fromStandardDateFormat: function (e) { var t = a.default.dateParser(e); return (0, o.isDate)(t) ? t : void 0 }, getMaxMonthDay: function (e, t) { return new Date(e, t + 1, 0).getDate() }, mergeDates: function (e, t, n) { if (!t) return t || null; if (!e || isNaN(e.getTime())) { var i = new Date(null); e = new Date(i.getFullYear(), i.getMonth(), i.getDate()) } var a = new Date(e.valueOf()), o = u.FORMATS_INFO[n]; return (0, s.each)(o.components, (function () { var e = u.DATE_COMPONENTS_INFO[this]; a[e.setter](t[e.getter]()) })), a }, getLongestCaptionIndex: function (e) { var t, n = 0, i = 0; for (t = 0; t < e.length; ++t)e[t].length > i && (n = t, i = e[t].length); return n }, formatUsesMonthName: function (e) { return r.default.formatUsesMonthName(e) }, formatUsesDayName: function (e) { return r.default.formatUsesDayName(e) }, getLongestDate: function (e, t, n) { var i = function (e) { var t = d(e); return "string" === t ? "format" : "object" === t && void 0 !== e.type ? e.type : null }(e), a = 9; i && !u.formatUsesMonthName(i) || (a = u.getLongestCaptionIndex(t)); var o = new Date(1888, a, 21, 23, 59, 59, 999); if (!i || u.formatUsesDayName(i)) { var s = o.getDate() - o.getDay() + u.getLongestCaptionIndex(n); o.setDate(s) } return o }, normalizeTime: function (e) { e.setSeconds(0), e.setMilliseconds(0) } }; u.DATE_COMPONENTS_INFO = { year: { getter: "getFullYear", setter: "setFullYear", formatter: function (e, t) { var n = new Date(t.getTime()); return n.setFullYear(e), r.default.format(n, "yyyy") }, startValue: void 0, endValue: void 0 }, day: { getter: "getDate", setter: "setDate", formatter: function (e, t) { var n = new Date(t.getTime()); return n.setDate(e), r.default.format(n, "d") }, startValue: 1, endValue: void 0 }, month: { getter: "getMonth", setter: "setMonth", formatter: function (e) { return r.default.getMonthNames()[e] }, startValue: 0, endValue: 11 }, hours: { getter: "getHours", setter: "setHours", formatter: function (e) { return r.default.format(new Date(0, 0, 0, e), "hour") }, startValue: 0, endValue: 23 }, minutes: { getter: "getMinutes", setter: "setMinutes", formatter: function (e) { return r.default.format(new Date(0, 0, 0, 0, e), "minute") }, startValue: 0, endValue: 59 }, seconds: { getter: "getSeconds", setter: "setSeconds", formatter: function (e) { return r.default.format(new Date(0, 0, 0, 0, 0, e), "second") }, startValue: 0, endValue: 59 }, milliseconds: { getter: "getMilliseconds", setter: "setMilliseconds", formatter: function (e) { return r.default.format(new Date(0, 0, 0, 0, 0, 0, e), "millisecond") }, startValue: 0, endValue: 999 } }; var h = u; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = { _formatNumberCore: function (e, t, n) { if ("currency" === t) { n.precision = n.precision || 0; var a = this.format(e, (0, i.extend)({}, n, { type: "fixedpoint" })), o = this.getCurrencySymbol().symbol.replace("$", "$$$$"); return a = a.replace(/^(\D*)(\d.*)/, "$1" + o + "$2") } return this.callBase.apply(this, arguments) }, getCurrencySymbol: function () { return { symbol: "$" } }, getOpenXmlCurrencyFormat: function () { return "$#,##0{0}_);\\($#,##0{0}\\)" } }; t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(6), a = u(n(9)), o = u(n(260)), s = n(7), r = n(1), l = n(0), d = u(n(96)), c = u(n(48)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, s.getWindow)(), f = function (e) { var t = a.default.createElement("script"); for (var n in e) t[n] = e[n]; return t }, p = function (e) { e.parentNode.removeChild(e) }, g = function (e) { return a.default.getHead().appendChild(e) }, m = function (e) { var t = f({ text: e }); g(t), p(t) }, _ = function (e, t) { var n = e.data, i = "string" == typeof n, a = e.url || h.location.href; return i || e.cache || ((n = n || {})._ = Date.now()), n && !e.upload && (i || (n = function (e) { var t = []; for (var n in e) { var i = e[n]; void 0 !== i && (null === i && (i = ""), "function" == typeof i && (i = i()), t.push(encodeURIComponent(n) + "=" + encodeURIComponent(i))) } return t.join("&") }(n)), "GET" === v(e) ? ("" !== n && (a += (a.indexOf("?") > -1 ? "&" : "?") + n), n = null) : t["Content-Type"] && t["Content-Type"].indexOf("application/x-www-form-urlencoded") > -1 && (n = n.replace(/%20/g, "+"))), { url: a, parameters: n } }; function v(e) { return (e.method || "GET").toUpperCase() } var y = function (e) { var t = e.headers || {}; return t["Content-Type"] = t["Content-Type"] || function (e) { var t; return e.data && !e.upload && "GET" !== v(e) && (t = "application/x-www-form-urlencoded;charset=utf-8"), e.contentType || t }(e), t.Accept = t.Accept || function (e) { var t = e.dataType || "*", n = "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript", i = { "*": "*/*", text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript", jsonp: n, script: n }; return (0, r.extendFromObject)(i, e.accepts, !0), i[t] ? i[t] + ("*" !== t ? ", */*; q=0.01" : "") : i["*"] }(e), e.crossDomain || t["X-Requested-With"] || (t["X-Requested-With"] = "XMLHttpRequest"), t }, w = (0, c.default)({ sendRequest: function (e) { var t, n = o.default.getXhr(), r = new i.Deferred, c = r.promise(), u = !(0, l.isDefined)(e.async) || e.async, w = e.dataType, x = e.timeout || 0; e.crossDomain = function (e) { if (!(0, s.hasWindow)()) return !0; var t = !1, n = a.default.createElement("a"), i = a.default.createElement("a"); n.href = h.location.href; try { i.href = e, i.href = i.href, t = n.protocol + "//" + n.host != i.protocol + "//" + i.host } catch (e) { t = !0 } return t }(e.url); var b = "jsonp" === w || "script" === w; void 0 === e.cache && (e.cache = !b); var C = function (e) { if ("jsonp" === e.dataType) { var t = Math.random().toString().replace(/\D/g, ""), n = e.jsonpCallback || "dxCallback" + Date.now() + "_" + t, i = e.jsonp || "callback"; return e.data = e.data || {}, e.data[i] = n, n } }(e), k = y(e), I = _(e, k), S = I.url, E = I.parameters; if (C && (h[C] = function (e) { r.resolve(e, "success", n) }), e.crossDomain && b) { return function (e) { var t = f({ src: e }); return new d.default((function (e, n) { var i = { load: e, error: n }, o = function (e) { i[e.type](), p(t) }; for (var s in i) a.default.listen(t, s, o); g(t) })) }(S).then((function () { "jsonp" !== w && r.resolve(null, "success", n) }), (function () { r.reject(n, "error") })), c } if (e.crossDomain && !("withCredentials" in n)) return r.reject(n, "error"), c; if (n.open(v(e), S, u, e.username, e.password), u && (n.timeout = x, t = function (e, t) { return e && setTimeout((function () { t.customStatus = "timeout", t.abort() }), e) }(x, n)), n.onreadystatechange = function (e) { var i; 4 === n.readyState && (clearTimeout(t), 200 <= (i = n.status) && i < 300 ? function (e) { return 204 !== e }(n.status) ? function (e, t, n) { var i = function (e) { return e.responseType && "text" !== e.responseType || "string" != typeof e.responseText ? e.response : e.responseText }(t); switch (n) { case "jsonp": m(i); break; case "script": m(i), e.resolve(i, "success", t); break; case "json": try { e.resolve(JSON.parse(i), "success", t) } catch (n) { e.reject(t, "parsererror", n) } break; default: e.resolve(i, "success", t) } }(r, n, w) : r.resolve(null, "nocontent", n) : r.reject(n, n.customStatus || "error")) }, e.upload && (n.upload.onprogress = e.upload.onprogress, n.upload.onloadstart = e.upload.onloadstart, n.upload.onabort = e.upload.onabort), e.xhrFields) for (var D in e.xhrFields) n[D] = e.xhrFields[D]; for (var T in "arraybuffer" === e.responseType && (n.responseType = e.responseType), k) Object.prototype.hasOwnProperty.call(k, T) && (0, l.isDefined)(k[T]) && n.setRequestHeader(T, k[T]); return e.beforeSend && e.beforeSend(n), n.send(E), c.abort = function () { n.abort() }, c } }); t.default = w, e.exports = t.default }, function (e, t, n) { "use strict"; t.EventsStrategy = void 0; var i, a = (i = n(26)) && i.__esModule ? i : { default: i }, o = n(3), s = n(0); function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var l = function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._events = {}, this._owner = t } var t, n, i; return t = e, i = [{ key: "create", value: function (t, n) { return n ? (0, s.isFunction)(n) ? n(t) : n : new e(t) } }], (n = [{ key: "hasEvent", value: function (e) { var t = this._events[e]; return !!t && t.has() } }, { key: "fireEvent", value: function (e, t) { var n = this._events[e]; return n && n.fireWith(this._owner, t), this._owner } }, { key: "on", value: function (e, t) { var n = this; if ((0, s.isPlainObject)(e)) (0, o.each)(e, (function (e, t) { n.on(e, t) })); else { var i = this._events[e]; i || (i = (0, a.default)(), this._events[e] = i), (i.originalAdd || i.add).call(i, t) } } }, { key: "off", value: function (e, t) { var n = this._events[e]; n && ((0, s.isFunction)(t) ? n.remove(t) : n.empty()) } }, { key: "dispose", value: function () { (0, o.each)(this._events, (function (e, t) { t.empty() })) } }]) && r(t.prototype, n), i && r(t, i), e }(); t.EventsStrategy = l }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.drop = t.leave = t.enter = t.end = t.start = t.move = void 0; var a = p(n(2)), o = n(39), s = n(14), r = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = f(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(3)), l = n(28), d = p(n(58)), c = n(8), u = p(n(123)), h = p(n(76)); function f() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return f = function () { return e }, e } function p(e) { return e && e.__esModule ? e : { default: e } } t.start = "dxdragstart"; t.move = "dxdrag"; t.end = "dxdragend"; var g = "dxdragenter"; t.enter = g; var m = "dxdragleave"; t.leave = m; var _ = "dxdrop"; t.drop = _; var v = [], y = [], w = [], x = { setup: function (e, t) { -1 !== (0, s.inArray)(e, v) || (v.push(e), y.push([]), w.push(t || {})) }, add: function (e, t) { var n = (0, s.inArray)(e, v); this.updateEventsCounter(e, t.type, 1); var i = t.selector; -1 === (0, s.inArray)(i, y[n]) && y[n].push(i) }, updateEventsCounter: function (e, t, n) { if ([g, m, _].indexOf(t) > -1) { var i = (0, o.data)(e, "dxDragEventsCount") || 0; (0, o.data)(e, "dxDragEventsCount", Math.max(0, i + n)) } }, remove: function (e, t) { this.updateEventsCounter(e, t.type, -1) }, teardown: function (e) { if (!(0, o.data)(e, "dxDragEventsCount")) { var t = (0, s.inArray)(e, v); v.splice(t, 1), y.splice(t, 1), w.splice(t, 1), (0, o.removeData)(e, "dxDragEventsCount") } } }; (0, d.default)(g, x), (0, d.default)(m, x), (0, d.default)(_, x); var b = u.default.inherit({ ctor: function (e) { this.callBase(e), this.direction = "both" }, _init: function (e) { this._initEvent = e }, _start: function (e) { e = this._fireEvent("dxdragstart", this._initEvent), this._maxLeftOffset = e.maxLeftOffset, this._maxRightOffset = e.maxRightOffset, this._maxTopOffset = e.maxTopOffset, this._maxBottomOffset = e.maxBottomOffset; var t = (0, s.wrapToArray)(e.targetElements || (null === e.targetElements ? [] : v)); this._dropTargets = r.map(t, (function (e) { return (0, a.default)(e).get(0) })) }, _move: function (e) { var t = (0, c.eventData)(e), n = this._calculateOffset(t); e = this._fireEvent("dxdrag", e, { offset: n }), this._processDropTargets(e), e._cancelPreventDefault || e.preventDefault() }, _calculateOffset: function (e) { return { x: this._calculateXOffset(e), y: this._calculateYOffset(e) } }, _calculateXOffset: function (e) { if ("vertical" !== this.direction) { var t = e.x - this._startEventData.x; return this._fitOffset(t, this._maxLeftOffset, this._maxRightOffset) } return 0 }, _calculateYOffset: function (e) { if ("horizontal" !== this.direction) { var t = e.y - this._startEventData.y; return this._fitOffset(t, this._maxTopOffset, this._maxBottomOffset) } return 0 }, _fitOffset: function (e, t, n) { return null != t && (e = Math.max(e, -t)), null != n && (e = Math.min(e, n)), e }, _processDropTargets: function (e) { var t = this._findDropTarget(e); t === this._currentDropTarget || (this._fireDropTargetEvent(e, m), this._currentDropTarget = t, this._fireDropTargetEvent(e, g)) }, _fireDropTargetEvent: function (e, t) { if (this._currentDropTarget) { var n = { type: t, originalEvent: e, draggingElement: this._$element.get(0), target: this._currentDropTarget }; (0, c.fireEvent)(n) } }, _findDropTarget: function (e) { var t, n = this; return r.each(v, (function (i, o) { if (n._checkDropTargetActive(o)) { var l, d, c, u, h = (0, a.default)(o); r.each((l = h, d = (0, s.inArray)(l.get(0), v), c = y[d].filter((function (e) { return e })), u = l.find(c.join(", ")), -1 !== (0, s.inArray)(void 0, y[d]) && (u = u.add(l)), u), (function (i, o) { var r = (0, a.default)(o); n._checkDropTarget(function (e) { var t = (0, s.inArray)(e.get(0), v); return w[t] }(h), r, (0, a.default)(t), e) && (t = o) })) } })), t }, _checkDropTargetActive: function (e) { var t = !1; return r.each(this._dropTargets, (function (n, i) { return !(t = t || i === e || (0, l.contains)(i, e)) })), t }, _checkDropTarget: function (e, t, n, i) { if (t.get(0) === (0, a.default)(i.target).get(0)) return !1; var o, s, r = (s = t, (o = e).itemPositionFunc ? o.itemPositionFunc(s) : s.offset()); if (i.pageX < r.left) return !1; if (i.pageY < r.top) return !1; var l = function (e, t) { return e.itemSizeFunc ? e.itemSizeFunc(t) : { width: t.get(0).getBoundingClientRect().width, height: t.get(0).getBoundingClientRect().height } }(e, t); return !(i.pageX > r.left + l.width) && (!(i.pageY > r.top + l.height) && ((!n.length || !n.closest(t).length) && (!(e.checkDropTarget && !e.checkDropTarget(t, i)) && t))) }, _end: function (e) { var t = (0, c.eventData)(e); this._fireEvent("dxdragend", e, { offset: this._calculateOffset(t) }), this._fireDropTargetEvent(e, _), delete this._currentDropTarget } }); (0, h.default)({ emitter: b, events: ["dxdragstart", "dxdrag", "dxdragend"] }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(2)), a = r(n(13)), o = n(3), s = n(99); function r(e) { return e && e.__esModule ? e : { default: e } } var l = a.default.inherit({ ctor: function (e, t, n) { this._$element = e, this._options = t, this._rawData = n, (0, s.attachInstanceToElement)(e, this, this._dispose), this._render() }, _render: function () { var e = (0, i.default)("<div>").addClass("dx-item-content-placeholder"); this._$element.append(e), this._watchers = [], this._renderWatchers() }, _renderWatchers: function () { this._startWatcher("disabled", this._renderDisabled.bind(this)), this._startWatcher("visible", this._renderVisible.bind(this)) }, _startWatcher: function (e, t) { var n = this._rawData, i = this._options.fieldGetter(e), a = function (e, t, n) { var i, a = function (e) { i !== e && (n(e, i), i = e) }; return { dispose: e(t, a), force: function () { a(t()) } } }(this._options.watchMethod(), (function () { return i(n) }), function (e, n) { this._dirty = !0, t(e, n) }.bind(this)); this._watchers.push(a) }, setDataField: function () { if (this._dirty = !1, (0, o.each)(this._watchers, (function (e, t) { t.force() })), this._dirty) return !0 }, _renderDisabled: function (e, t) { this._$element.toggleClass("dx-state-disabled", !!e), this._updateOwnerFocus(e) }, _updateOwnerFocus: function (e) { var t = this._options.owner; t && e && t._resetItemFocus(this._$element) }, _renderVisible: function (e, t) { this._$element.toggleClass("dx-state-invisible", void 0 !== e && !e) }, _dispose: function () { (0, o.each)(this._watchers, (function (e, t) { t.dispose() })) } }); l.getInstance = function (e) { return (0, s.getInstanceByElement)(e, this) }; var d = l; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(5)), o = n(4), s = d(n(13)), r = n(125), l = n(8); function d(e) { return e && e.__esModule ? e : { default: e } } var c = (0, l.addNamespace)(r.start, "dxListEditDecorator"), u = (0, l.addNamespace)(r.swipe, "dxListEditDecorator"), h = (0, l.addNamespace)(r.end, "dxListEditDecorator"), f = s.default.inherit({ ctor: function (e) { this._list = e, this._init() }, _init: o.noop, _shouldHandleSwipe: !1, _attachSwipeEvent: function (e) { var t = { itemSizeFunc: function () { return this._clearSwipeCache && (this._itemWidthCache = this._list.$element().width(), this._clearSwipeCache = !1), this._itemWidthCache }.bind(this) }; a.default.on(e.$itemElement, c, t, this._itemSwipeStartHandler.bind(this)), a.default.on(e.$itemElement, u, this._itemSwipeUpdateHandler.bind(this)), a.default.on(e.$itemElement, h, this._itemSwipeEndHandler.bind(this)) }, _itemSwipeStartHandler: function (e) { var t = (0, i.default)(e.currentTarget); t.is(".dx-state-disabled, .dx-state-disabled *") ? e.cancel = !0 : (clearTimeout(this._list._inkRippleTimer), this._swipeStartHandler(t, e)) }, _itemSwipeUpdateHandler: function (e) { var t = (0, i.default)(e.currentTarget); this._swipeUpdateHandler(t, e) }, _itemSwipeEndHandler: function (e) { var t = (0, i.default)(e.currentTarget); this._swipeEndHandler(t, e), this._clearSwipeCache = !0 }, beforeBag: o.noop, afterBag: o.noop, _commonOptions: function () { return { activeStateEnabled: this._list.option("activeStateEnabled"), hoverStateEnabled: this._list.option("hoverStateEnabled"), focusStateEnabled: this._list.option("focusStateEnabled") } }, modifyElement: function (e) { this._shouldHandleSwipe && (this._attachSwipeEvent(e), this._clearSwipeCache = !0) }, afterRender: o.noop, handleClick: o.noop, handleKeyboardEvents: o.noop, handleEnterPressing: o.noop, handleContextMenu: o.noop, _swipeStartHandler: o.noop, _swipeUpdateHandler: o.noop, _swipeEndHandler: o.noop, visibilityChange: o.noop, getExcludedSelectors: o.noop, dispose: o.noop }); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.debug = t.logger = void 0; var i = n(0), a = function () { }, o = function (e) { return "undefined" != typeof console && (0, i.isFunction)(console[e]) ? console[e].bind(console) : a }, s = { info: o("info"), warn: o("warn"), error: o("error") }; t.logger = s; var r = function () { function e(e, t) { if (!e) throw new Error(t) } return { assert: e, assertParam: function (t, n) { e(null != t, n) } } }(); t.debug = r }, function (e, t, n) { "use strict"; t.deepExtendArraySafe = t.orderEach = t.clone = void 0; var i, a = n(0), o = (i = n(73)) && i.__esModule ? i : { default: i }; var s = function () { function e() { } return function (t) { return e.prototype = t, new e } }(); t.clone = s; t.orderEach = function (e, t) { var n, i, o = []; for (n in e) Object.prototype.hasOwnProperty.call(e, n) && o.push(n); for (o.sort((function (e, t) { var n = (0, a.isNumeric)(e), i = (0, a.isNumeric)(t); return n && i ? e - t : n && !i ? -1 : !n && i ? 1 : e < t ? -1 : e > t ? 1 : 0 })), i = 0; i < o.length; i++)t(n = o[i], e[n]) }; var r = function (e, t, n, i) { !i && o.default.isWrapped(e[t]) ? o.default.assign(e[t], n) : e[t] = n }; t.deepExtendArraySafe = function e(t, n, i, o) { var s, l; for (var d in n) if (s = t[d], l = n[d], "__proto__" !== d && t !== l) { if ((0, a.isPlainObject)(l)) l = e((i ? (0, a.isObject)(s) : (0, a.isPlainObject)(s)) ? s : {}, l, i, o); void 0 !== l && s !== l && r(t, d, l, o) } return t } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(6), a = n(7), o = (0, a.hasWindow)() ? (0, a.getWindow)().Promise : Promise; o || ((o = function (e) { var t = new i.Deferred; return e(t.resolve.bind(this), t.reject.bind(this)), t.promise() }).resolve = function (e) { return (new i.Deferred).resolve(e).promise() }, o.reject = function (e) { return (new i.Deferred).reject(e).promise() }, o.all = function (e) { return i.when.apply(this, e).then((function () { return [].slice.call(arguments) })) }); var s = o; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(27)), a = n(1), o = n(270), s = n(146), r = m(n(13)), l = m(n(98)), d = m(n(21)), c = m(n(26)), u = n(90), h = n(99), f = n(273), p = n(0), g = n(4); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = function (e) { return e.charAt(2).toLowerCase() + e.substr(3) }, v = r.default.inherit({ _setDeprecatedOptions: function () { this._deprecatedOptions = {} }, _getDeprecatedOptions: function () { return this._deprecatedOptions }, _getDefaultOptions: function () { return { onInitialized: null, onOptionChanged: null, onDisposing: null, defaultOptionsRules: null } }, _defaultOptionsRules: function () { return [] }, _setOptionsByDevice: function (e) { this._options.applyRules(e) }, _convertRulesToOptions: function (e) { return (0, s.convertRulesToOptions)(e) }, _isInitialOptionValue: function (e) { return this._options.isInitial(e) }, _setOptionsByReference: function () { this._optionsByReference = {} }, _getOptionsByReference: function () { return this._optionsByReference }, ctor: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = e._optionChangedCallbacks, n = e._disposingCallbacks; this.NAME = (0, h.name)(this.constructor), this._eventsStrategy = u.EventsStrategy.create(this, e.eventsStrategy), this._updateLockCount = 0, this._optionChangedCallbacks = t || (0, c.default)(), this._disposingCallbacks = n || (0, c.default)(), this.postponedOperations = new f.PostponedOperations, this._createOptions(e) }, _createOptions: function (e) { var t = this; this.beginUpdate(); try { this._setOptionsByReference(), this._setDeprecatedOptions(), this._options = new o.Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions()), this._options.onChanging((function (e, n, i) { return t._initialized && t._optionChanging(e, n, i) })), this._options.onDeprecated((function (e, n) { return t._logDeprecatedOptionWarning(e, n) })), this._options.onChanged((function (e, n, i) { return t._notifyOptionChanged(e, n, i) })), this._options.onStartChange((function () { return t.beginUpdate() })), this._options.onEndChange((function () { return t.endUpdate() })), this._options.addRules(this._defaultOptionsRules()), e && e.onInitializing && e.onInitializing.apply(this, [e]), this._setOptionsByDevice(e.defaultOptionsRules), this._initOptions(e) } finally { this.endUpdate() } }, _initOptions: function (e) { this.option(e) }, _init: function () { var e = this; this._createOptionChangedAction(), this.on("disposing", (function (t) { e._disposingCallbacks.fireWith(e, [t]) })) }, _logDeprecatedOptionWarning: function (e, t) { var n = t.message || "Use the '".concat(t.alias, "' option instead"); d.default.log("W0001", this.NAME, e, t.since, n) }, _logDeprecatedComponentWarning: function (e, t) { d.default.log("W0000", this.NAME, e, "Use the '".concat(t, "' widget instead")) }, _createOptionChangedAction: function () { this._optionChangedAction = this._createActionByOption("onOptionChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _createDisposingAction: function () { this._disposingAction = this._createActionByOption("onDisposing", { excludeValidators: ["disabled", "readOnly"] }) }, _optionChanged: function (e) { switch (e.name) { case "onDisposing": case "onInitialized": break; case "onOptionChanged": this._createOptionChangedAction() } }, _dispose: function () { this._optionChangedCallbacks.empty(), this._createDisposingAction(), this._disposingAction(), this._eventsStrategy.dispose(), this._options.dispose(), this._disposed = !0 }, _lockUpdate: function () { this._updateLockCount++ }, _unlockUpdate: function () { this._updateLockCount = Math.max(this._updateLockCount - 1, 0) }, _isUpdateAllowed: function () { return 0 === this._updateLockCount }, _isInitializingRequired: function () { return !this._initializing && !this._initialized }, _commitUpdate: function () { this.postponedOperations.callPostponedOperations(), this._isInitializingRequired() && this._initializeComponent() }, _initializeComponent: function () { this._initializing = !0; try { this._init() } finally { this._initializing = !1, this._lockUpdate(), this._createActionByOption("onInitialized", { excludeValidators: ["disabled", "readOnly"] })(), this._unlockUpdate(), this._initialized = !0 } }, instance: function () { return this }, beginUpdate: function () { this._lockUpdate() }, endUpdate: function () { this._unlockUpdate(), this._isUpdateAllowed() && this._commitUpdate() }, _optionChanging: g.noop, _notifyOptionChanged: function (e, t, n) { if (this._initialized) for (var i = [e].concat(this._options.getAliasesByName(e)), o = 0; o < i.length; o++) { var s = i[o], r = { name: s.split(/[.[]/)[0], fullName: s, value: t, previousValue: n }; 0 !== s.indexOf("_", 0) && (this._optionChangedCallbacks.fireWith(this, [(0, a.extend)(this._defaultActionArgs(), r)]), this._optionChangedAction((0, a.extend)({}, r))), this._disposed || this._cancelOptionChange === s || this._optionChanged(r) } }, initialOption: function (e) { return this._options.initial(e) }, _defaultActionConfig: function () { return { context: this, component: this } }, _defaultActionArgs: function () { return { component: this } }, _createAction: function (e, t) { var n, i = this; return function (o) { return (0, p.isDefined)(o) || (o = {}), (0, p.isPlainObject)(o) || (o = { actionValue: o }), (n = n || new l.default(e, (0, a.extend)(t, i._defaultActionConfig()))).execute.call(n, (0, a.extend)(o, i._defaultActionArgs())) } }, _createActionByOption: function (e, t) { var n, a, o, s = this, r = function () { if (!a) { if (t = t || {}, "string" != typeof e) throw d.default.Error("E0008"); 0 === e.indexOf("on") && (a = _(e)), o = s.option(e) } if (n || o || t.beforeExecute || t.afterExecute || s._eventsStrategy.hasEvent(a)) { if (!n) { var r = t.beforeExecute; t.beforeExecute = function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; r && r.apply(s, t), s._eventsStrategy.fireEvent(a, t[0].args) }, n = s._createAction(o, t) } for (var l = arguments.length, c = new Array(l), u = 0; u < l; u++)c[u] = arguments[u]; if ((0, i.default)().wrapActionsBeforeExecute) { var h = s.option("beforeActionExecute") || g.noop, f = h(s, n, t) || n; return f.apply(s, c) } return n.apply(s, c) } }; return (0, i.default)().wrapActionsBeforeExecute ? r : (this.option("onActionCreated") || g.noop)(this, r, t) || r }, on: function (e, t) { return this._eventsStrategy.on(e, t), this }, off: function (e, t) { return this._eventsStrategy.off(e, t), this }, hasActionSubscription: function (e) { return !!this._options.silent(e) || this._eventsStrategy.hasEvent(_(e)) }, isOptionDeprecated: function (e) { return this._options.isDeprecated(e) }, _setOptionWithoutOptionChange: function (e, t) { this._cancelOptionChange = e, this.option(e, t), this._cancelOptionChange = !1 }, _getOptionValue: function (e, t) { var n = this.option(e); return (0, p.isFunction)(n) ? n.bind(t)() : n }, option: function () { var e; return (e = this._options).option.apply(e, arguments) }, resetOption: function (e) { this.beginUpdate(), this._options.reset(e), this.endUpdate() } }); t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(7), s = n(0), r = n(3); function l(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var d = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), n = n || {}, this._action = t, this._context = n.context || (0, o.getWindow)(), this._beforeExecute = n.beforeExecute, this._afterExecute = n.afterExecute, this._component = n.component, this._validatingTargetName = n.validatingTargetName; var i = this._excludeValidators = {}; if (n.excludeValidators) for (var a = 0; a < n.excludeValidators.length; a++)i[n.excludeValidators[a]] = !0 } var t, n, i; return t = e, i = [{ key: "registerExecutor", value: function (t, n) { (0, s.isPlainObject)(t) ? (0, r.each)(t, e.registerExecutor) : e.executors[t] = n } }, { key: "unregisterExecutor", value: function () { for (var t = arguments.length, n = new Array(t), i = 0; i < t; i++)n[i] = arguments[i]; (0, r.each)(n, (function () { delete e.executors[this] })) } }], (n = [{ key: "execute", value: function () { var e = { action: this._action, args: Array.prototype.slice.call(arguments), context: this._context, component: this._component, validatingTargetName: this._validatingTargetName, cancel: !1, handled: !1 }, t = this._beforeExecute, n = this._afterExecute, i = e.args[0] || {}; if (this._validateAction(e) && (null == t || t.call(this._context, e), !e.cancel)) { var a = this._executeAction(e); if (!i.cancel) return null == n || n.call(this._context, e), a } } }, { key: "_validateAction", value: function (t) { var n = this._excludeValidators, i = e.executors; for (var a in i) if (!n[a]) { var o, s = i[a]; if (null === (o = s.validate) || void 0 === o || o.call(s, t), t.cancel) return !1 } return !0 } }, { key: "_executeAction", value: function (t) { var n, i = e.executors; for (var a in i) { var o, s = i[a]; if (null === (o = s.execute) || void 0 === o || o.call(s, t), t.handled) { n = t.result; break } } return n } }]) && l(t.prototype, n), i && l(t, i), e }(); t.default = d, d.executors = {}; var c = function (e) { return function (t) { if (t.args.length) { var n = t.args[0], i = n[t.validatingTargetName] || n.element; i && e((0, a.default)(i)) && (t.cancel = !0) } } }; d.registerExecutor({ disabled: { validate: c((function (e) { return e.is(".dx-state-disabled, .dx-state-disabled *") })) }, readOnly: { validate: c((function (e) { return e.is(".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)") })) }, undefined: { execute: function (e) { e.action || (e.result = void 0, e.handled = !0) } }, func: { execute: function (e) { (0, s.isFunction)(e.action) && (e.result = e.action.call(e.context, e.args[0]), e.handled = !0) } } }), e.exports = t.default }, function (e, t, n) { "use strict"; t.attachInstanceToElement = function (e, t, n) { var o = (0, i.data)(e.get(0)), s = u(t.constructor); o[s] = t, n && a.default.one(e, r.default, (function () { n.call(t) })); o.dxComponents || (o.dxComponents = []); o.dxComponents.push(s) }, t.getInstanceByElement = function (e, t) { var n = u(t); return (0, i.data)(e.get(0), n) }, t.name = void 0; var i = n(39), a = l(n(5)), o = l(n(140)), s = n(0), r = l(n(100)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = new o.default, c = 0, u = function (e, t) { if (!(0, s.isDefined)(t)) { if (!d.has(e)) { var n = "dxPrivateComponent" + c++; return d.set(e, n), n } return d.get(e) } d.set(e, t) }; t.name = u }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(2)), a = n(39), o = r(n(5)), s = r(n(58)); function r(e) { return e && e.__esModule ? e : { default: e } } (0, a.beforeCleanData)((function (e) { e = [].slice.call(e); for (var t = 0; t < e.length; t++) { var n = (0, i.default)(e[t]); n.prop("dxRemoveEvent") && (n[0].dxRemoveEvent = null, o.default.triggerHandler(n, "dxremove")) } })), (0, s.default)("dxremove", { noBubble: !0, setup: function (e) { (0, i.default)(e).prop("dxRemoveEvent", !0) } }); t.default = "dxremove", e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.EmptyTemplate = void 0; var a, o = (a = n(2)) && a.__esModule ? a : { default: a }; function s(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function l(e, t) { return (l = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function d(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = u(e); if (t) { var a = u(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return c(this, n) } } function c(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function u(e) { return (u = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var h = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && l(e, t) }(c, e); var t, n, i, a = d(c); function c() { return s(this, c), a.apply(this, arguments) } return t = c, (n = [{ key: "_renderCore", value: function () { return (0, o.default)() } }]) && r(t.prototype, n), i && r(t, i), c }(n(75).TemplateBase); t.EmptyTemplate = h }, function (e, t, n) { "use strict"; t.keyboard = t.click = t.dxClick = t.focus = t.visibility = t.hover = t.resize = t.active = void 0; var i = r(n(9)), a = r(n(5)), o = r(n(277)), s = n(8); function r(e) { return e && e.__esModule ? e : { default: e } } function l(e, t) { return t ? (0, s.addNamespace)(e, t) : e } function d(e, t) { return "function" == typeof e ? e(t) : e.execute(t) } var c = { on: function (e, t, n, i) { var o = i.selector, s = i.showTimeout, r = i.hideTimeout, c = i.namespace; a.default.on(e, l("dxactive", c), o, { timeout: s }, (function (e) { return d(t, { event: e, element: e.currentTarget }) })), a.default.on(e, l("dxinactive", c), o, { timeout: r }, (function (e) { return d(n, { event: e, element: e.currentTarget }) })) }, off: function (e, t) { var n = t.namespace, i = t.selector; a.default.off(e, l("dxactive", n), i), a.default.off(e, l("dxinactive", n), i) } }; t.active = c; var u = { on: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = n.namespace; a.default.on(e, l("dxresize", i), t) }, off: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.namespace; a.default.off(e, l("dxresize", n)) } }; t.resize = u; var h = { on: function (e, t, n, i) { var o = i.selector, s = i.namespace; a.default.on(e, l("dxhoverend", s), o, (function (e) { return n(e) })), a.default.on(e, l("dxhoverstart", s), o, (function (e) { return d(t, { element: e.target, event: e }) })) }, off: function (e, t) { var n = t.selector, i = t.namespace; a.default.off(e, l("dxhoverstart", i), n), a.default.off(e, l("dxhoverend", i), n) } }; t.hover = h; var f = { on: function (e, t, n, i) { var o = i.namespace; a.default.on(e, l("dxhiding", o), n), a.default.on(e, l("dxshown", o), t) }, off: function (e, t) { var n = t.namespace; a.default.off(e, l("dxhiding", n)), a.default.off(e, l("dxshown", n)) } }; t.visibility = f; var p = { on: function (e, t, n, o) { var s = o.namespace, r = o.isFocusable; a.default.on(e, l("focusin", s), t), a.default.on(e, l("focusout", s), n), i.default.hasDocumentProperty("onbeforeactivate") && a.default.on(e, l("beforeactivate", s), (function (e) { return r(null, e.target) || e.preventDefault() })) }, off: function (e, t) { var n = t.namespace; a.default.off(e, l("focusin", n)), a.default.off(e, l("focusout", n)), i.default.hasDocumentProperty("onbeforeactivate") && a.default.off(e, l("beforeactivate", n)) }, trigger: function (e) { return a.default.trigger(e, "focus") } }; t.focus = p; var g = { on: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = n.namespace; a.default.on(e, l("dxclick", i), t) }, off: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.namespace; a.default.off(e, l("dxclick", n)) } }; t.dxClick = g; var m = { on: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = n.namespace; a.default.on(e, l("click", i), t) }, off: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.namespace; a.default.off(e, l("click", n)) } }; t.click = m; var _ = 0, v = {}, y = { on: function (e, t, n) { var i = "keyboardProcessorId".concat(_++); return v[i] = new o.default({ element: e, focusTarget: t, handler: n }), i }, off: function (e) { e && v[e] && (v[e].dispose(), delete v[e]) }, _getProcessor: function (e) { return v[e] } }; t.keyboard = y }, function (e, t, n) { "use strict"; t.requestAnimationFrame = function () { return d(), r.apply(s, arguments) }, t.cancelAnimationFrame = function () { d(), l.apply(s, arguments) }; var i, a = n(7), o = (i = n(56)) && i.__esModule ? i : { default: i }; var s = (0, a.hasWindow)() ? (0, a.getWindow)() : {}, r = function (e) { return setTimeout(e, 1e3 / 60) }, l = function (e) { clearTimeout(e) }, d = (0, o.default)((function () { var e = s.requestAnimationFrame || s.webkitRequestAnimationFrame || s.mozRequestAnimationFrame || s.oRequestAnimationFrame || s.msRequestAnimationFrame, t = s.cancelAnimationFrame || s.webkitCancelAnimationFrame || s.mozCancelAnimationFrame || s.oCancelAnimationFrame || s.msCancelAnimationFrame; if (e && t && (r = e, l = t), e && !t) { var n = {}; r = function (t) { var i = e.call(s, (function () { try { if (i in n) return; t.apply(this, arguments) } finally { delete n[i] } })); return i }, l = function (e) { n[e] = !0 } } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = l(n(49)), o = l(n(40)), s = l(n(32)), r = l(n(48)); function l(e) { return e && e.__esModule ? e : { default: e } } n(88); var d = (0, r.default)({ format: function (e, t) { var n = (0, i.isString)(t) && "" !== t || (0, i.isPlainObject)(t) || (0, i.isFunction)(t), a = (0, i.isNumeric)(e) || (0, i.isDate)(e); return n && a ? (0, i.isFunction)(t) ? t(e) : ((0, i.isString)(t) && (t = { type: t }), (0, i.isNumeric)(e) ? o.default.format(e, t) : (0, i.isDate)(e) ? s.default.format(e, t) : void 0) : (0, i.isDefined)(e) ? e.toString() : "" }, getTimeFormat: function (e) { return e ? "longtime" : "shorttime" }, _normalizeFormat: function (e) { return Array.isArray(e) ? 1 === e.length ? e[0] : function (t) { return e.map((function (e) { return s.default.format(t, e) })).join(" ") } : e }, getDateFormatByDifferences: function (e, t) { var n = [], i = t && e.millisecond && !(e.year || e.month || e.day); if (i) { n.push((function (e) { return e.getSeconds() + e.getMilliseconds() / 1e3 + "s" })) } else e.millisecond && n.push("millisecond"); if ((e.hour || e.minute || !i && e.second) && n.unshift(this.getTimeFormat(e.second)), e.year && e.month && e.day) return t && "month" === t ? "monthandyear" : (n.unshift("shortdate"), this._normalizeFormat(n)); if (e.year && e.month) return "monthandyear"; if (e.year && e.quarter) return "quarterandyear"; if (e.year) return "year"; if (e.quarter) return "quarter"; if (e.month && e.day) { if (t) { n.unshift((function (e) { return s.default.getMonthNames("abbreviated")[e.getMonth()] + " " + s.default.format(e, "day") })) } else n.unshift("monthandday"); return this._normalizeFormat(n) } if (e.month) return "month"; if (e.day) { if (t) n.unshift("day"); else { n.unshift((function (e) { return s.default.format(e, "dayofweek") + ", " + s.default.format(e, "day") })) } return this._normalizeFormat(n) } return this._normalizeFormat(n) }, getDateFormatByTicks: function (e) { var t, n, i; if (e.length > 1) for (t = a.default.getDatesDifferences(e[0], e[1]), i = 1; i < e.length - 1; i++)n = a.default.getDatesDifferences(e[i], e[i + 1]), t.count < n.count && (t = n); else t = { year: !0, month: !0, day: !0, hour: e[0].getHours() > 0, minute: e[0].getMinutes() > 0, second: e[0].getSeconds() > 0, millisecond: e[0].getMilliseconds() > 0 }; return this.getDateFormatByDifferences(t) }, getDateFormatByTickInterval: function (e, t, n) { var o, s = function (e, t, n) { switch (t) { case "year": case "quarter": e.month = n; case "month": e.day = n; case "week": case "day": e.hour = n; case "hour": e.minute = n; case "minute": e.second = n; case "second": e.millisecond = n } }; n = (0, i.isString)(n) ? n.toLowerCase() : n; var r, l, d, c = a.default.getDatesDifferences(e, t); return e !== t && (r = c, l = e > t ? t : e, !(d = e > t ? e : t).getMilliseconds() && d.getSeconds() ? d.getSeconds() - l.getSeconds() == 1 && (r.millisecond = !0, r.second = !1) : !d.getSeconds() && d.getMinutes() ? d.getMinutes() - l.getMinutes() == 1 && (r.second = !0, r.minute = !1) : !d.getMinutes() && d.getHours() ? d.getHours() - l.getHours() == 1 && (r.minute = !0, r.hour = !1) : !d.getHours() && d.getDate() > 1 ? d.getDate() - l.getDate() == 1 && (r.hour = !0, r.day = !1) : 1 === d.getDate() && d.getMonth() ? d.getMonth() - l.getMonth() == 1 && (r.day = !0, r.month = !1) : !d.getMonth() && d.getFullYear() && d.getFullYear() - l.getFullYear() == 1 && (r.month = !0, r.year = !1)), s(c, o = a.default.getDateUnitInterval(c), !0), s(c, o = a.default.getDateUnitInterval(n || "second"), !1), c[{ week: "day" }[o] || o] = !0, this.getDateFormatByDifferences(c) } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = n(4), o = d(n(13)), s = d(n(26)), r = n(1), l = n(8); function d(e) { return e && e.__esModule ? e : { default: e } } var c = o.default.inherit({ ctor: function (e) { this._$element = (0, i.default)(e), this._cancelCallback = (0, s.default)(), this._acceptCallback = (0, s.default)() }, getElement: function () { return this._$element }, validate: function (e) { return !(0, l.isDxMouseWheelEvent)(e) }, validatePointers: function (e) { return 1 === (0, l.hasTouches)(e) }, allowInterruptionByMouseWheel: function () { return !0 }, configure: function (e) { (0, r.extend)(this, e) }, addCancelCallback: function (e) { this._cancelCallback.add(e) }, removeCancelCallback: function () { this._cancelCallback.empty() }, _cancel: function (e) { this._cancelCallback.fire(this, e) }, addAcceptCallback: function (e) { this._acceptCallback.add(e) }, removeAcceptCallback: function () { this._acceptCallback.empty() }, _accept: function (e) { this._acceptCallback.fire(this, e) }, _requestAccept: function (e) { this._acceptRequestEvent = e }, _forgetAccept: function () { this._accept(this._acceptRequestEvent), this._acceptRequestEvent = null }, start: a.noop, move: a.noop, end: a.noop, cancel: a.noop, reset: function () { this._acceptRequestEvent && this._accept(this._acceptRequestEvent) }, _fireEvent: function (e, t, n) { var i = (0, r.extend)({ type: e, originalEvent: t, target: this._getEmitterTarget(t), delegateTarget: this.getElement().get(0) }, n); return (t = (0, l.fireEvent)(i)).cancel && this._cancel(t), t }, _getEmitterTarget: function (e) { return (this.delegateSelector ? (0, i.default)(e.target).closest(this.delegateSelector) : this.getElement()).get(0) }, dispose: a.noop }); t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(61)), a = o(n(65)); function o(e) { return e && e.__esModule ? e : { default: e } } if (i.default && i.default.load) { i.default.locale() || (i.default.load({ supplemental: { version: { _cldrVersion: "28", _unicodeVersion: "8.0.0", _number: "$Revision: 11965 $" }, likelySubtags: { en: "en-Latn-US", de: "de-Latn-DE", ru: "ru-Cyrl-RU", ja: "ja-Jpan-JP" } } }), i.default.locale("en")), a.default.inject({ locale: function (e) { if (!e) return i.default.locale().locale; i.default.locale(e) } }) } }, function (e, t, n) { "use strict"; t.end = t.start = void 0; var i = c(n(5)), a = n(39), o = c(n(13)), s = c(n(12)), r = c(n(58)), l = n(8), d = c(n(23)); function c(e) { return e && e.__esModule ? e : { default: e } } t.start = "dxhoverstart"; var u = (0, l.addNamespace)(d.default.enter, "dxHoverStart"); t.end = "dxhoverend"; var h = (0, l.addNamespace)(d.default.leave, "dxHoverEnd"), f = o.default.inherit({ noBubble: !0, ctor: function () { this._handlerArrayKeyPath = this._eventNamespace + "_HandlerStore" }, setup: function (e) { (0, a.data)(e, this._handlerArrayKeyPath, {}) }, add: function (e, t) { var n = this, o = function (e) { n._handler(e) }; i.default.on(e, this._originalEventName, t.selector, o), (0, a.data)(e, this._handlerArrayKeyPath)[t.guid] = o }, _handler: function (e) { (0, l.isTouchEvent)(e) || s.default.isSimulator() || (0, l.fireEvent)({ type: this._eventName, originalEvent: e, delegateTarget: e.delegateTarget }) }, remove: function (e, t) { var n = (0, a.data)(e, this._handlerArrayKeyPath)[t.guid]; i.default.off(e, this._originalEventName, t.selector, n) }, teardown: function (e) { (0, a.removeData)(e, this._handlerArrayKeyPath) } }), p = f.inherit({ ctor: function () { this._eventNamespace = "dxHoverStart", this._eventName = "dxhoverstart", this._originalEventName = u, this.callBase() }, _handler: function (e) { (e.pointers || []).length || this.callBase(e) } }), g = f.inherit({ ctor: function () { this._eventNamespace = "dxHoverEnd", this._eventName = "dxhoverend", this._originalEventName = h, this.callBase() } }); (0, r.default)("dxhoverstart", new p), (0, r.default)("dxhoverend", new g) }, function (e, t, n) { "use strict"; t.default = void 0; var i = f(n(2)), a = f(n(42)), o = n(62), s = n(0), r = f(n(27)), l = f(n(33)), d = f(n(78)), c = f(n(121)), u = f(n(79)), h = n(6); function f(e) { return e && e.__esModule ? e : { default: e } } function p(e) { return e && (0, s.isFunction)(e.then) } function g(e) { return (new h.Deferred).resolve(e).promise() } function m(e, t) { if (!(0, s.isFunction)(t)) throw l.default.errors.Error("E4011", e) } function _(e) { throw l.default.errors.Error("E4012", e) } function v(e) { function t(e) { var t = e[0], n = e[1]; return t && t.getResponseHeader ? a.default.errorMessageFromXhr(t, n) : null } return function (n) { var i; (i = n instanceof Error ? n : new Error(t(arguments) || n && String(n) || "Unknown error")).message !== a.default.XHR_ERROR_UNLOAD && e.reject(i) } } function y(e, t) { var n, i = e._loadFunc; return m("load", i), n = i.apply(e, [t]), Array.isArray(n) ? n = g(n) : null == n ? n = g([]) : p(n) || _("load"), (0, h.fromPromise)(n) } function w(e, t, n, i) { if (t.__rawData) i(t.__rawData); else { var a = t.__rawDataPromise || y(t, n); t._cacheRawData && (t.__rawDataPromise = a), a.always((function () { delete t.__rawDataPromise })).done((function (e) { t._cacheRawData && (t.__rawData = e), i(e) })).fail(v(e)) } } function x(e, t, n, a) { var o = {}; "userData" in (n = n || {}) && (o.userData = n.userData), w(e, t, o, (function (o) { var s, r, l, d, f = (0, c.default)(o, { errorHandler: t._errorHandler }), p = []; a || ((s = u.default.queryByOptions(f, n)) === f ? l = o.slice(0) : p.push(s.enumerate().done((function (e) { l = e })))), (n.requireTotalCount || a) && ((r = u.default.queryByOptions(f, n, !0)) === f ? d = o.length : p.push(r.count().done((function (e) { d = e })))), h.when.apply(i.default, p).done((function () { a ? e.resolve(d) : n.requireTotalCount ? e.resolve(l, { totalCount: d }) : e.resolve(l) })).fail((function (t) { e.reject(t) })) })) } var b = d.default.inherit({ ctor: function (e) { e = e || {}, this.callBase(e), this._useDefaultSearch = !!e.useDefaultSearch || "raw" === e.loadMode, this._loadMode = e.loadMode, this._cacheRawData = !1 !== e.cacheRawData, this._loadFunc = e.load, this._totalCountFunc = e.totalCount, this._byKeyFunc = e.byKey, this._insertFunc = e.insert, this._updateFunc = e.update, this._removeFunc = e.remove }, createQuery: function () { throw l.default.errors.Error("E4010") }, clearRawDataCache: function () { delete this.__rawData }, _totalCountImpl: function (e) { var t = new h.Deferred; return "raw" !== this._loadMode || this._totalCountFunc ? (function (e, t) { var n, i = e._totalCountFunc; if (!(0, s.isFunction)(i)) throw l.default.errors.Error("E4021"); return p(n = i.apply(e, [t])) || (n = Number(n), isFinite(n) || _("totalCount"), n = g(n)), (0, h.fromPromise)(n) }(this, e).done((function (e) { t.resolve(Number(e)) })).fail(v(t)), t = this._addFailHandlers(t)) : x(t, this, e, !0), t.promise() }, _pushImpl: function (e) { this.__rawData && (0, o.applyBatch)({ keyInfo: this, data: this.__rawData, changes: e }) }, _loadImpl: function (e) { var t = new h.Deferred; return "raw" === this._loadMode ? x(t, this, e, !1) : (y(this, e).done((function (e, n) { t.resolve(e, n) })).fail(v(t)), t = this._addFailHandlers(t)), t.promise() }, _byKeyImpl: function (e, t) { var n = new h.Deferred; return this._byKeyViaLoad() ? (this._requireKey(), function (e, t, n) { w(e, t, {}, (function (i) { for (var o, s = t.key(), r = 0, d = i.length; r < d; r++)if (o = i[r], a.default.keysEqual(s, t.keyOf(i[r]), n)) return void e.resolve(o); e.reject(l.default.errors.Error("E4009")) })) }(n, this, e)) : function (e, t, n) { var i, a = e._byKeyFunc; return m("byKey", a), p(i = a.apply(e, [t, n])) || (i = g(i)), (0, h.fromPromise)(i) }(this, e, t).done((function (e) { n.resolve(e) })).fail(v(n)), n.promise() }, _byKeyViaLoad: function () { return "raw" === this._loadMode && !this._byKeyFunc }, _insertImpl: function (e) { var t, n = this, i = n._insertFunc, a = new h.Deferred; return m("insert", i), p(t = i.apply(n, [e])) || (t = g(t)), (0, h.fromPromise)(t).done((function (t) { (0, r.default)().useLegacyStoreResult ? a.resolve(e, t) : a.resolve(t || e, n.keyOf(t)) })).fail(v(a)), a.promise() }, _updateImpl: function (e, t) { var n, i = this._updateFunc, a = new h.Deferred; return m("update", i), p(n = i.apply(this, [e, t])) || (n = g(n)), (0, h.fromPromise)(n).done((function (n) { (0, r.default)().useLegacyStoreResult ? a.resolve(e, t) : a.resolve(n || t, e) })).fail(v(a)), a.promise() }, _removeImpl: function (e) { var t, n = this._removeFunc, i = new h.Deferred; return m("remove", n), p(t = n.apply(this, [e])) || (t = g()), (0, h.fromPromise)(t).done((function () { i.resolve(e) })).fail(v(i)), i.promise() } }); t.default = b, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a, o, s, r = n(0), l = n(14), d = n(3), c = ["year", "month", "day"], u = ["year", "month", "day", "hour", "minute"], h = function (e) { return "date" === e || "datetime" === e }, f = function (e) { var t, n = [], i = ["year", "month", "day", "hour", "minute", "second"], a = e.headerFilter && e.headerFilter.groupInterval, o = "quarter" === a ? "month" : a; return h(e.dataType) && null !== a ? (n = "datetime" === e.dataType ? u : c, (t = (0, l.inArray)(o, i)) >= 0 ? ((n = i.slice(0, t)).push(a), n) : n) : (0, r.isDefined)(a) ? Array.isArray(a) ? a : [a] : void 0 }, p = (i = function (e, t) { var n = e.dataField || e.selector; return "search" === t && (n = e.displayField || e.calculateDisplayValue || n), n }, a = function (e, t) { var n, a, o, s, l = i(this, t); if (Array.isArray(e) && (0, r.isDefined)(e[0]) && (0, r.isDefined)(e[1])) return a = [l, ">=", e[0]], o = [l, "<=", e[1]], h(this.dataType) && (s = e[1]).getHours() + s.getMinutes() + s.getSeconds() + s.getMilliseconds() < 1 && (n = new Date(e[1].getTime()), "date" === this.dataType && n.setDate(e[1].getDate() + 1), o = [l, "<", n]), [a, "and", o] }, o = function (e, t, n) { var a, o, s, l, c = (l = e, (0, r.isDate)(l) ? [l.getFullYear(), l.getMonth(), l.getDate(), l.getHours(), l.getMinutes(), l.getSeconds()] : (0, d.map)(("" + l).split("/"), (function (e, t) { return 1 === t ? Number(e) - 1 : Number(e) }))), u = i(this, n); switch ("headerFilter" === n ? s = f(this)[c.length - 1] : "datetime" === this.dataType && (s = "minute"), s) { case "year": a = new Date(c[0], 0, 1), o = new Date(c[0] + 1, 0, 1); break; case "month": a = new Date(c[0], c[1], 1), o = new Date(c[0], c[1] + 1, 1); break; case "quarter": a = new Date(c[0], 3 * c[1], 1), o = new Date(c[0], 3 * c[1] + 3, 1); break; case "hour": a = new Date(c[0], c[1], c[2], c[3]), o = new Date(c[0], c[1], c[2], c[3] + 1); break; case "minute": a = new Date(c[0], c[1], c[2], c[3], c[4]), o = new Date(c[0], c[1], c[2], c[3], c[4] + 1); break; case "second": a = new Date(c[0], c[1], c[2], c[3], c[4], c[5]), o = new Date(c[0], c[1], c[2], c[3], c[4], c[5] + 1); break; default: a = new Date(c[0], c[1], c[2]), o = new Date(c[0], c[1], c[2] + 1) }switch (t) { case "<": return [u, "<", a]; case "<=": return [u, "<", o]; case ">": return [u, ">=", o]; case ">=": return [u, ">=", a]; case "<>": return [[u, "<", a], "or", [u, ">=", o]]; default: return [[u, ">=", a], "and", [u, "<", o]] } }, s = function (e, t, n) { var a = i(this, n), o = f(this); if ("headerFilter" === n && o && (0, r.isDefined)(e)) { var s = ("" + e).split("/"), l = Number(s[s.length - 1]); return [[a, ">=", l], "and", [a, "<", l + o[s.length - 1]]] } return [a, t || "=", e] }, { defaultCalculateFilterExpression: function (e, t, n) { var l = this, d = i(l, n), c = l.calculateDisplayValue && "search" === n, u = c && l.lookup && l.lookup.dataType || l.dataType, f = null; if ("headerFilter" !== n && "filterBuilder" !== n || null !== e) if ("string" !== u || l.lookup && !c) { if ("between" === t) return a.apply(l, [e, n]); if (h(u) && (0, r.isDefined)(e)) return o.apply(l, arguments); if ("number" === u) return s.apply(l, arguments); "object" !== u && (f = [d, t || "=", e]) } else f = [d, t || "contains", e]; else f = [d, t || "=", null], "string" === u && (f = [f, "=" === t ? "or" : "and", [d, t || "=", ""]]); return f }, getGroupInterval: f }); t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(52), a = n(1), o = n(53), s = { postCtor: function () { this.on("disposing", function () { this._disposeDataSource() }.bind(this)) }, _refreshDataSource: function () { this._initDataSource(), this._loadDataSource() }, _initDataSource: function () { var e, t, n = "_getSpecificDataSourceOption" in this ? this._getSpecificDataSourceOption() : this.option("dataSource"); this._disposeDataSource(), n && (n instanceof i.DataSource ? (this._isSharedDataSource = !0, this._dataSource = n) : (e = "_dataSourceOptions" in this ? this._dataSourceOptions() : {}, t = this._dataSourceType ? this._dataSourceType() : i.DataSource, n = (0, o.normalizeDataSourceOptions)(n, { fromUrlLoadMode: "_dataSourceFromUrlLoadMode" in this && this._dataSourceFromUrlLoadMode() }), this._dataSource = new t((0, a.extend)(!0, {}, e, n))), "_normalizeDataSource" in this && (this._dataSource = this._normalizeDataSource(this._dataSource)), this._addDataSourceHandlers()) }, _addDataSourceHandlers: function () { "_dataSourceChangedHandler" in this && this._addDataSourceChangeHandler(), "_dataSourceLoadErrorHandler" in this && this._addDataSourceLoadErrorHandler(), "_dataSourceLoadingChangedHandler" in this && this._addDataSourceLoadingChangedHandler(), this._addReadyWatcher() }, _addReadyWatcher: function () { this._dataSource.on("loadingChanged", function (e) { this._ready && this._ready(!e) }.bind(this)) }, _addDataSourceChangeHandler: function () { var e = this._dataSource; this._proxiedDataSourceChangedHandler = function (t) { this._dataSourceChangedHandler(e.items(), t) }.bind(this), e.on("changed", this._proxiedDataSourceChangedHandler) }, _addDataSourceLoadErrorHandler: function () { this._proxiedDataSourceLoadErrorHandler = this._dataSourceLoadErrorHandler.bind(this), this._dataSource.on("loadError", this._proxiedDataSourceLoadErrorHandler) }, _addDataSourceLoadingChangedHandler: function () { this._proxiedDataSourceLoadingChangedHandler = this._dataSourceLoadingChangedHandler.bind(this), this._dataSource.on("loadingChanged", this._proxiedDataSourceLoadingChangedHandler) }, _loadDataSource: function () { if (this._dataSource) { var e = this._dataSource; e.isLoaded() ? this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler() : e.load() } }, _loadSingle: function (e, t) { return e = "this" === e ? this._dataSource.key() || "this" : e, this._dataSource.loadSingle(e, t) }, _isLastPage: function () { return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize }, _isDataSourceLoading: function () { return this._dataSource && this._dataSource.isLoading() }, _disposeDataSource: function () { this._dataSource && (this._isSharedDataSource ? (delete this._isSharedDataSource, this._proxiedDataSourceChangedHandler && this._dataSource.off("changed", this._proxiedDataSourceChangedHandler), this._proxiedDataSourceLoadErrorHandler && this._dataSource.off("loadError", this._proxiedDataSourceLoadErrorHandler), this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off("loadingChanged", this._proxiedDataSourceLoadingChangedHandler)) : this._dataSource.dispose(), delete this._dataSource, delete this._proxiedDataSourceChangedHandler, delete this._proxiedDataSourceLoadErrorHandler, delete this._proxiedDataSourceLoadingChangedHandler) }, getDataSource: function () { return this._dataSource || null } }; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(339)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = h(n(5)), o = h(n(12)), s = n(1), r = n(81), l = h(n(71)), d = h(n(11)), c = n(8), u = n(19); function h(e) { return e && e.__esModule ? e : { default: e } } var f = l.default.inherit({ _supportedKeys: function () { return (0, s.extend)(this.callBase(), { space: function (e) { e.preventDefault(), this._clickAction({ event: e }) } }) }, _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { hoverStateEnabled: !0, activeStateEnabled: !0, value: !1, text: "", useInkRipple: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }]) }, _canValueBeChangedByClick: function () { return !0 }, _feedbackHideTimeout: 100, _initMarkup: function () { this._renderSubmitElement(), this._$container = (0, i.default)("<div>").addClass("dx-checkbox-container"), this.setAria("role", "checkbox"), this.$element().addClass("dx-checkbox"), this._renderValue(), this._renderIcon(), this._renderText(), this.option("useInkRipple") && this._renderInkRipple(), this.$element().append(this._$container), this.callBase() }, _render: function () { this._renderClick(), this.callBase() }, _renderSubmitElement: function () { this._$submitElement = (0, i.default)("<input>").attr("type", "hidden").appendTo(this.$element()) }, _getSubmitElement: function () { return this._$submitElement }, _renderInkRipple: function () { this._inkRipple = (0, r.render)({ waveSizeCoefficient: 2.5, useHoldAnimation: !1, wavesNumber: 2, isCentered: !0 }) }, _renderInkWave: function (e, t, n, i) { if (this._inkRipple) { var a = { element: e, event: t, wave: i }; n ? this._inkRipple.showWave(a) : this._inkRipple.hideWave(a) } }, _updateFocusState: function (e, t) { this.callBase.apply(this, arguments), this._renderInkWave(this._$icon, e, t, 0) }, _toggleActiveState: function (e, t, n) { this.callBase.apply(this, arguments), this._renderInkWave(this._$icon, n, t, 1) }, _renderIcon: function () { this._$icon = (0, i.default)("<span>").addClass("dx-checkbox-icon").prependTo(this._$container) }, _renderText: function () { var e = this.option("text"); e ? (this._$text || (this._$text = (0, i.default)("<span>").addClass("dx-checkbox-text")), this._$text.text(e), this._$container.append(this._$text), this.$element().addClass("dx-checkbox-has-text")) : this._$text && (this._$text.remove(), this.$element().removeClass("dx-checkbox-has-text")) }, _renderClick: function () { var e = this, t = (0, c.addNamespace)(u.name, e.NAME); e._clickAction = e._createAction(e._clickHandler), a.default.off(e.$element(), t), a.default.on(e.$element(), t, (function (t) { e._clickAction({ event: t }) })) }, _clickHandler: function (e) { var t = e.component; t._saveValueChangeEvent(e.event), t.option("value", !t.option("value")) }, _renderValue: function () { var e = this.$element(), t = this.option("value"), n = void 0 === t; e.toggleClass("dx-checkbox-checked", Boolean(t)), e.toggleClass("dx-checkbox-indeterminate", n), this._getSubmitElement().val(t), this.setAria("checked", n ? "mixed" : t || "false") }, _optionChanged: function (e) { switch (e.name) { case "useInkRipple": this._invalidate(); break; case "value": this._renderValue(), this.callBase(e); break; case "text": this._renderText(), this._renderDimensions(); break; default: this.callBase(e) } }, _clean: function () { delete this._inkRipple, this.callBase() } }); (0, d.default)("dxCheckBox", f); var p = f; t.default = p, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(374)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i = n(7).getWindow(), a = i.DevExpress = i.DevExpress || {}, o = a.errors = n(21); if (a._DEVEXTREME_BUNDLE_INITIALIZED) throw o.Error("E0024"); a._DEVEXTREME_BUNDLE_INITIALIZED = !0, a.clientExporter = n(139), a.excelExporter = n(262), a.pdfExporter = n(267), a.VERSION = n(138), a.Class = n(13), a.DOMComponent = n(57), a.Component = n(97), a.registerComponent = n(11), a.devices = n(12), a.Color = n(117); var s = n(103); a.utils = {}, a.utils.requestAnimationFrame = s.requestAnimationFrame, a.utils.cancelAnimationFrame = s.cancelAnimationFrame, a.utils.initMobileViewport = n(279).initMobileViewport, a.utils.getTimeZones = n(280).getTimeZones, a.utils.extendFromObject = n(1).extendFromObject, a.utils.triggerShownEvent = n(59).triggerShownEvent, a.utils.triggerHidingEvent = n(59).triggerHidingEvent, a.utils.resetActiveElement = n(28).resetActiveElement, a.utils.findBestMatches = n(4).findBestMatches, a.createQueue = n(189).create, a.utils.dom = n(28), a.utils.common = n(4), a.utils.date = n(49), a.utils.browser = n(15), a.utils.inflector = n(43), a.utils.iterator = n(3), a.utils.readyCallbacks = n(45), a.utils.resizeCallbacks = n(118), a.utils.console = n(94), a.utils.string = n(31), a.utils.support = n(41), a.utils.ajax = n(89), a.viewPort = n(74).value, a.hideTopOverlay = n(286), a.formatHelper = n(104), a.config = n(27), a.animationPresets = n(149).presets, a.fx = n(38), a.TransitionExecutor = n(287).TransitionExecutor, a.AnimationPresetCollection = n(149).PresetCollection, a.events = n(288), a.events.click = n(19), a.events.utils = n(8), a.events.GestureEmitter = n(123), a.localization = n(292), a.templateRendered = n(75).renderedCallbacks, a.setTemplateEngine = n(147).setTemplateEngine, e.exports = a }, function (e, t, n) { "use strict"; t.default = function (e, t) { var n = { ERROR_MESSAGES: (0, a.extend)(t, e), Error: function () { return c([].slice.call(arguments)) }, log: function (e) { var t = "log"; /^E\d+$/.test(e) ? t = "error" : /^W\d+$/.test(e) && (t = "warn"), o.logger[t]("log" === t ? e : i([].slice.call(arguments))) } }; function i(e) { var t = e[0]; return d(t, l(t, e = e.slice(1))) } function l(e, t) { return t = [n.ERROR_MESSAGES[e]].concat(t), s.format.apply(this, t).replace(/\.*\s*?$/, "") } function d(e, t) { return s.format.apply(this, ["{0} - {1}. See:\n{2}", e, t, u(e)]) } function c(e) { var t = e[0], n = l(t, e = e.slice(1)), i = u(t), o = d(t, n); return (0, a.extend)(new Error(o), { __id: t, __details: n, url: i }) } function u(e) { return r + e } return n }; var i, a = n(1), o = n(94), s = n(31); var r = "http://js.devexpress.com/error/" + ((i = n(138)) && i.__esModule ? i : { default: i }).default.split(".").slice(0, 2).join("_") + "/"; e.exports = t.default }, function (e, t, n) { "use strict"; t.getFormat = void 0; var i, a = (i = n(40)) && i.__esModule ? i : { default: i }; var o = " .,:;/\\<>()-[]،", s = function (e) { var t = e && a.default.convertDigits(e, !1).charCodeAt(0), n = a.default.convertDigits("0", !1).charCodeAt(0); return n <= t && t < n + 10 }, r = function (e, t, n) { var i = e[t], a = e[t + 1]; if (!n) { if ("." === i || " " === i && ". m." === e.slice(t - 1, t + 3)) return !0; if ("-" === i && !s(a)) return !0 } return o.indexOf(i) < 0 && n === s(i) }, l = function (e, t) { if (!s(e[t])) for (; t > 0 && !s(e[t - 1]) && ("." === e[t - 1] || o.indexOf(e[t - 1]) < 0);)t--; return t }, d = function (e, t) { return Array.isArray(e) ? e.map((function (e) { return (t(e) || "").toString() })) : (t(e) || "").toString() }, c = /[a-zA-Z]/g; t.getFormat = function (e) { var t = [], n = d(new Date(2009, 8, 8, 6, 5, 4), e), i = n.split("").map((function (e, t) { return t })), a = n, o = {}, u = [{ date: new Date(2009, 8, 8, 6, 5, 4, 100), pattern: "S" }, { date: new Date(2009, 8, 8, 6, 5, 2), pattern: "s" }, { date: new Date(2009, 8, 8, 6, 2, 4), pattern: "m" }, { date: new Date(2009, 8, 8, 18, 5, 4), pattern: "H", isDigit: !0 }, { date: new Date(2009, 8, 8, 2, 5, 4), pattern: "h", isDigit: !0 }, { date: new Date(2009, 8, 8, 18, 5, 4), pattern: "a", isDigit: !1 }, { date: new Date(2009, 8, 1, 6, 5, 4), pattern: "d" }, { date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)], pattern: "E" }, { date: new Date(2009, 9, 6, 6, 5, 4), pattern: "M" }, { date: new Date(1998, 8, 8, 6, 5, 4), pattern: "y" }]; if (a) return u.forEach((function (c) { var u = function (e, t, n, i) { var a = 0, o = [], d = function (t) { return e[a] !== t[a] && (void 0 === i || s(e[a]) === i) }; for (Array.isArray(t) || (t = [t]), a = 0; a < e.length; a++)if (n.indexOf(a) < 0 && t.filter(d).length) { a = l(e, a); do { if (i = s(e[a]), !o.length && !i && s(t[0][a])) break; o.push(a), n.unshift(a), a++ } while (e[a] && r(e, a, i)); break } return 1 !== o.length || "0" !== e[n[0] - 1] && "٠" !== e[n[0] - 1] || n.unshift(n[0] - 1), o }(n, d(c.date, e), t, c.isDigit), h = "M" !== c.pattern || o.d ? c.pattern : "L"; a = function (e, t, n, i) { var a, o, r; if (!s(e[t[0]] || "0")) { for (var l = Math.max(t.length <= 3 ? 3 : 4, n.length); t.length > l;) { for (r = i[o = t.pop()], i[o] = -1, a = o + 1; a < i.length; a++)i[a]--; e = e.substr(0, r) + e.substr(r + 1) } for (r = (o = t[t.length - 1] + 1) < i.length ? i[o] : o; t.length < l;) { for (t.push(t[t.length - 1] + 1), a = o; a < i.length; a++)i[a]++; e = e.substr(0, r) + " " + e.substr(r) } } return e = function (e, t, n, i) { var a = t[0], o = a < i.length ? i[a] : a; return t.forEach((function (t, i) { e = e.substr(0, o + i) + (n.length > 1 ? n[i] : n) + e.substr(o + i + 1) })), 1 === t.length && (e = (e = e.replace("0" + n, n + n)).replace("٠" + n, n + n)), e }(e, t, n, i) }(a, u, h, i), o[h] = u.length })), a = function (e, t, n, i) { var a = t.split("").map((function (e, t) { return n.indexOf(t) < 0 && (e.match(c) || "'" === e) ? i[t] : -1 })); return e = e.split("").map((function (e, t) { var n = e, i = a.indexOf(t) >= 0, o = t > 0 && a.indexOf(t - 1) >= 0, s = a.indexOf(t + 1) >= 0; return i && (o || (n = "'" + n), s || (n += "'")), n })).join("") }(a, n, t, i), t.length ? a : void 0 } }, function (e, t, n) { "use strict"; t.default = void 0; var i = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgrey: "d3d3d3", lightgreen: "90ee90", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", rebeccapurple: "663399", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }, a = [{ re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function (e) { return [parseInt(e[1], 10), parseInt(e[2], 10), parseInt(e[3], 10)] } }, { re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d*\.*\d+)\)$/, process: function (e) { return [parseInt(e[1], 10), parseInt(e[2], 10), parseInt(e[3], 10), parseFloat(e[4])] } }, { re: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/, process: function (e) { return [parseInt(e[1], 16), parseInt(e[2], 16), parseInt(e[3], 16)] } }, { re: /^#([a-f0-9]{1})([a-f0-9]{1})([a-f0-9]{1})$/, process: function (e) { return [parseInt(e[1] + e[1], 16), parseInt(e[2] + e[2], 16), parseInt(e[3] + e[3], 16)] } }, { re: /^hsv\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function (e) { var t = parseInt(e[1], 10), n = parseInt(e[2], 10), i = parseInt(e[3], 10), a = l(t, n, i); return [a[0], a[1], a[2], 1, [t, n, i]] } }, { re: /^hsl\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, process: function (e) { var t = parseInt(e[1], 10), n = parseInt(e[2], 10), i = parseInt(e[3], 10), a = u(t, n, i); return [a[0], a[1], a[2], 1, null, [t, n, i]] } }], o = Math.round; function s(e) { var t; this.baseColor = e, e && (t = String(e).toLowerCase().replace(/ /g, ""), t = function (e) { if ("transparent" === e) return [0, 0, 0, 0]; for (var t, n = 0, i = a.length; n < i; ++n)if (t = a[n].re.exec(e)) return a[n].process(t); return null }(t = i[t] ? "#" + i[t] : t)), t || (this.colorIsInvalid = !0), t = t || {}, this.r = r(t[0]), this.g = r(t[1]), this.b = r(t[2]), this.a = r(t[3], 1, 1), t[4] ? this.hsv = { h: t[4][0], s: t[4][1], v: t[4][2] } : this.hsv = function (e, t, n) { var i, a, o = Math.max(e, t, n), s = Math.min(e, t, n), r = o - s, l = o; if (a = 0 === o ? 0 : 1 - s / o, o === s) i = 0; else switch (o) { case e: i = (t - n) / r * 60, t < n && (i += 360); break; case t: i = (n - e) / r * 60 + 120; break; case n: i = (e - t) / r * 60 + 240 }return a *= 100, l *= 100 / 255, { h: Math.round(i), s: Math.round(a), v: Math.round(l) } }(this.r, this.g, this.b), t[5] ? this.hsl = { h: t[5][0], s: t[5][1], l: t[5][2] } : this.hsl = function (e, t, n) { e = h(e, 255), t = h(t, 255), n = h(n, 255); var i, a, s = Math.max(e, t, n), r = Math.min(e, t, n), l = s + r, d = l / 2; if (s === r) i = a = 0; else { var c = s - r; a = d > .5 ? c / (2 - l) : c / l, i = function (e, t, n, i) { switch (Math.max(e, t, n)) { case e: return (t - n) / i + (t < n ? 6 : 0); case t: return (n - e) / i + 2; case n: return (e - t) / i + 4 } }(e, t, n, c), i /= 6 } return { h: o(360 * i), s: o(100 * a), l: o(100 * d) } }(this.r, this.g, this.b) } function r(e, t, n) { return t = t || 0, n = n || 255, e < 0 || isNaN(e) ? t : e > n ? n : e } function l(e, t, n) { var i, a, o, s = (100 - t) * n / 100, r = e % 60 / 60 * (n - s), l = s + r, d = n - r; switch (Math.floor(e % 360 / 60)) { case 0: i = n, a = l, o = s; break; case 1: i = d, a = n, o = s; break; case 2: i = s, a = n, o = l; break; case 3: i = s, a = d, o = n; break; case 4: i = l, a = s, o = n; break; case 5: i = n, a = s, o = d }return [Math.round(2.55 * i), Math.round(2.55 * a), Math.round(2.55 * o)] } function d(e, t) { var n = t; return "r" === e && (n = t + 1 / 3), "b" === e && (n = t - 1 / 3), n } function c(e, t, n) { return (n = function (e) { return e < 0 && (e += 1), e > 1 && (e -= 1), e }(n)) < 1 / 6 ? e + 6 * (t - e) * n : n < .5 ? t : n < 2 / 3 ? e + (t - e) * (2 / 3 - n) * 6 : e } function u(e, t, n) { var i, a, s; if (e = h(e, 360), t = h(t, 100), n = h(n, 100), 0 === t) i = a = s = n; else { var r = n < .5 ? n * (1 + t) : n + t - n * t, l = 2 * n - r; i = c(l, r, d("r", e)), a = c(l, r, d("g", e)), s = c(l, r, d("b", e)) } return [o(255 * i), o(255 * a), o(255 * s)] } function h(e, t) { return e = Math.min(t, Math.max(0, parseFloat(e))), Math.abs(e - t) < 1e-6 ? 1 : e % t / parseFloat(t) } function f(e, t, n) { return t = t || 0, n = n || 255, !(e % 1 != 0 || e < t || e > n || "number" != typeof e || isNaN(e)) } s.prototype = { constructor: s, highlight: function (e) { return e = e || 10, this.alter(e).toHex() }, darken: function (e) { return e = e || 10, this.alter(-e).toHex() }, alter: function (e) { var t = new s; return t.r = r(this.r + e), t.g = r(this.g + e), t.b = r(this.b + e), t }, blend: function (e, t) { var n = e instanceof s ? e : new s(e), i = new s; return i.r = r(o(this.r * (1 - t) + n.r * t)), i.g = r(o(this.g * (1 - t) + n.g * t)), i.b = r(o(this.b * (1 - t) + n.b * t)), i }, toHex: function () { return e = this.r, t = this.g, n = this.b, "#" + (16777216 | e << 16 | t << 8 | n).toString(16).slice(1); var e, t, n }, getPureColor: function () { return new s("rgb(" + l(this.hsv.h, 100, 100).join(",") + ")") }, isValidHex: function (e) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e) }, isValidRGB: function (e, t, n) { return !!(f(e) && f(t) && f(n)) }, isValidAlpha: function (e) { return !(isNaN(e) || e < 0 || e > 1 || "number" != typeof e) }, colorIsInvalid: !1, fromHSL: function (e) { var t = new s, n = u(e.h, e.s, e.l); return t.r = n[0], t.g = n[1], t.b = n[2], t } }; var p = s; t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(7), a = l(n(9)), o = l(n(26)), s = l(n(45)), r = l(n(56)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = function () { var e, t = (0, o.default)(), n = t.add, l = t.remove; if (!(0, i.hasWindow)()) return t; var d, c = function () { var e = (0, i.getWindow)(); return { width: e.innerWidth, height: e.innerHeight } }, u = function () { var n, i = c(); i.width === e.width && i.height === e.height || (i.width === e.width && (n = "height"), i.height === e.height && (n = "width"), e = i, t.fire(n)) }, h = (0, r.default)((function () { e = c() })); return t.add = function () { var e = n.apply(t, arguments); return h(), s.default.add((function () { !d && t.has() && (d = a.default.listen((0, i.getWindow)(), "resize", u)) })), e }, t.remove = function () { var e = l.apply(t, arguments); return !t.has() && d && (d(), d = void 0), e }, t }(); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.FunctionTemplate = void 0; var a = n(75), o = n(28); function s(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function r(e, t) { return (r = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function l(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = c(e); if (t) { var a = c(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return d(this, n) } } function d(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function c(e) { return (c = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var u = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && r(e, t) }(d, e); var t, n, i, a = l(d); function d(e) { var t; return function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, d), (t = a.call(this))._render = e, t } return t = d, (n = [{ key: "_renderCore", value: function (e) { return (0, o.normalizeTemplateElement)(this._render(e)) } }]) && s(t.prototype, n), i && s(t, i), d }(a.TemplateBase); t.FunctionTemplate = u }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function a(e, t) { return (a = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function o(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = r(e); if (t) { var a = r(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return s(this, n) } } function s(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function r(e) { return (r = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } t.ChildDefaultTemplate = void 0; var l = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && a(e, t) }(n, e); var t = o(n); function n(e) { var i; return function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, n), (i = t.call(this)).name = e, i } return n }(n(75).TemplateBase); t.ChildDefaultTemplate = l }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(13)), a = n(0), o = n(3), s = n(20), r = n(6), l = c(n(33)), d = c(n(42)); function c(e) { return e && e.__esModule ? e : { default: e } } var u = i.default.inherit({ toArray: function () { var e = []; for (this.reset(); this.next();)e.push(this.current()); return e }, countable: function () { return !1 } }), h = u.inherit({ ctor: function (e) { this.array = e, this.index = -1 }, next: function () { return this.index + 1 < this.array.length && (this.index++, !0) }, current: function () { return this.array[this.index] }, reset: function () { this.index = -1 }, toArray: function () { return this.array.slice(0) }, countable: function () { return !0 }, count: function () { return this.array.length } }), f = u.inherit({ ctor: function (e) { this.iter = e }, next: function () { return this.iter.next() }, current: function () { return this.iter.current() }, reset: function () { return this.iter.reset() } }), p = f.inherit({ ctor: function (e, t) { this.callBase(e), this.index = -1, this.mapper = t }, current: function () { return this.mapper(this.callBase(), this.index) }, next: function () { var e = this.callBase(); return e && this.index++, e } }), g = function (e, t) { return e = (0, s.toComparable)(e), t = (0, s.toComparable)(t), null === e && null !== t ? -1 : null !== e && null === t ? 1 : void 0 === e && void 0 !== t ? 1 : void 0 !== e && void 0 === t ? -1 : e < t ? -1 : e > t ? 1 : 0 }, m = u.inherit({ ctor: function (e, t, n, i) { e instanceof p || (e = new p(e, this._wrap)), this.iter = e, this.rules = [{ getter: t, desc: n, compare: i }] }, thenBy: function (e, t, n) { var i = new m(this.sortedIter || this.iter, e, t, n); return this.sortedIter || (i.rules = this.rules.concat(i.rules)), i }, next: function () { return this._ensureSorted(), this.sortedIter.next() }, current: function () { return this._ensureSorted(), this.sortedIter.current() }, reset: function () { delete this.sortedIter }, countable: function () { return this.sortedIter || this.iter.countable() }, count: function () { return this.sortedIter ? this.sortedIter.count() : this.iter.count() }, _ensureSorted: function () { var e = this; e.sortedIter || ((0, o.each)(e.rules, (function () { this.getter = (0, s.compileGetter)(this.getter) })), e.sortedIter = new p(new h(this.iter.toArray().sort((function (t, n) { return e._compare(t, n) }))), e._unwrap)) }, _wrap: function (e, t) { return { index: t, value: e } }, _unwrap: function (e) { return e.value }, _compare: function (e, t) { var n = e.index, i = t.index; if ((e = e.value) === (t = t.value)) return n - i; for (var a = 0, o = this.rules.length; a < o; a++) { var s = this.rules[a], r = s.getter(e), l = s.getter(t), d = (s.compare || g)(r, l); if (d) return s.desc ? -d : d } return n - i } }), _ = function () { var e = function (e) { return (0, a.isDefined)(e) ? e.toString() : "" }; function t(e, t, n) { return function (i) { i = (0, s.toComparable)(e(i)); var a = function (e) { return "" === e || 0 === e || !1 === e }(t) ? i === t : i == t; return n && (a = !a), a } } return function (n) { return (0, a.isFunction)(n) ? n : d.default.isGroupCriterion(n) ? function (e) { var t = [], n = !1, i = !1; return (0, o.each)(e, (function () { if (Array.isArray(this) || (0, a.isFunction)(this)) { if (t.length > 1 && n !== i) throw new l.default.errors.Error("E4019"); t.push(_(this)), n = i, i = !0 } else i = d.default.isConjunctiveOperator(this) })), function (e) { for (var i = n, a = 0; a < t.length; a++)if (t[a](e) !== n) { i = !n; break } return i } }(n) : d.default.isUnaryOperation(n) ? function (e) { var t = e[0], n = _(e[1]); if ("!" === t) return function (e) { return !n(e) }; throw l.default.errors.Error("E4003", t) }(n) : function (n) { n = d.default.normalizeBinaryCriterion(n); var i = (0, s.compileGetter)(n[0]), a = n[1], o = n[2]; switch (o = (0, s.toComparable)(o), a.toLowerCase()) { case "=": return t(i, o); case "<>": return t(i, o, !0); case ">": return function (e) { return (0, s.toComparable)(i(e)) > o }; case "<": return function (e) { return (0, s.toComparable)(i(e)) < o }; case ">=": return function (e) { return (0, s.toComparable)(i(e)) >= o }; case "<=": return function (e) { return (0, s.toComparable)(i(e)) <= o }; case "startswith": return function (t) { return 0 === (0, s.toComparable)(e(i(t))).indexOf(o) }; case "endswith": return function (t) { var n = (0, s.toComparable)(e(i(t))), a = e(o); return !(n.length < a.length) && n.lastIndexOf(o) === n.length - o.length }; case "contains": return function (t) { return (0, s.toComparable)(e(i(t))).indexOf(o) > -1 }; case "notcontains": return function (t) { return -1 === (0, s.toComparable)(e(i(t))).indexOf(o) } }throw l.default.errors.Error("E4003", a) }(n) } }(), v = f.inherit({ ctor: function (e, t) { this.callBase(e), this.criteria = _(t) }, next: function () { for (; this.iter.next();)if (this.criteria(this.current())) return !0; return !1 } }), y = u.inherit({ ctor: function (e, t) { this.iter = e, this.getter = t }, next: function () { return this._ensureGrouped(), this.groupedIter.next() }, current: function () { return this._ensureGrouped(), this.groupedIter.current() }, reset: function () { delete this.groupedIter }, countable: function () { return !!this.groupedIter }, count: function () { return this.groupedIter.count() }, _ensureGrouped: function () { if (!this.groupedIter) { var e = {}, t = [], n = this.iter, i = (0, s.compileGetter)(this.getter); for (n.reset(); n.next();) { var a = n.current(), r = i(a); r in e ? e[r].push(a) : (e[r] = [a], t.push(r)) } this.groupedIter = new h((0, o.map)(t, (function (t) { return { key: t, items: e[t] } }))) } } }), w = f.inherit({ ctor: function (e, t) { this.callBase(e), this.getter = (0, s.compileGetter)(t) }, current: function () { return this.getter(this.callBase()) }, countable: function () { return this.iter.countable() }, count: function () { return this.iter.count() } }), x = f.inherit({ ctor: function (e, t, n) { this.callBase(e), this.skip = Math.max(0, t), this.take = Math.max(0, n), this.pos = 0 }, next: function () { if (this.pos >= this.skip + this.take) return !1; for (; this.pos < this.skip && this.iter.next();)this.pos++; return this.pos++, this.iter.next() }, reset: function () { this.callBase(), this.pos = 0 }, countable: function () { return this.iter.countable() }, count: function () { return Math.min(this.iter.count() - this.skip, this.take) } }), b = function e(t, n) { n = n || {}, t instanceof u || (t = new h(t)); var i = function (e) { var t = n.errorHandler; t && t(e), l.default._errorHandler(e) }, o = function (e) { var n = (new r.Deferred).fail(i), a = e.step, o = e.finalize; try { t.reset(); for (var s = ("seed" in e ? e.seed : t.next() ? t.current() : NaN); t.next();)s = a(s, t.current()); n.resolve(o ? o(s) : s) } catch (e) { n.reject(e) } return n.promise() }, c = function (e) { return o(d.default.aggregators[e]) }, f = function (e) { return (0, a.isFunction)(e) || Array.isArray(e) || (e = [].slice.call(arguments)), g(new w(t, e)) }, p = function (e) { return f((0, s.compileGetter)(e)) }; function g(t) { return e(t, n) } return { toArray: function () { return t.toArray() }, enumerate: function () { var e = (new r.Deferred).fail(i); try { e.resolve(t.toArray()) } catch (t) { e.reject(t) } return e.promise() }, sortBy: function (e, n, i) { return g(new m(t, e, n, i)) }, thenBy: function (e, n, i) { if (t instanceof m) return g(t.thenBy(e, n, i)); throw l.default.errors.Error("E4004") }, filter: function (e) { return Array.isArray(e) || (e = [].slice.call(arguments)), g(new v(t, e)) }, slice: function (e, n) { return void 0 === n && (n = Number.MAX_VALUE), g(new x(t, e, n)) }, select: f, groupBy: function (e) { return g(new y(t, e)) }, aggregate: function (e, t, n) { return arguments.length < 2 ? o({ step: arguments[0] }) : o({ seed: e, step: t, finalize: n }) }, count: function () { if (t.countable()) { var e = (new r.Deferred).fail(i); try { e.resolve(t.count()) } catch (t) { e.reject(t) } return e.promise() } return c("count") }, sum: function (e) { return e ? p(e).sum() : c("sum") }, min: function (e) { return e ? p(e).min() : c("min") }, max: function (e) { return e ? p(e).max() : c("max") }, avg: function (e) { return e ? p(e).avg() : c("avg") } } }; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(5)), a = l(n(15)), o = l(n(9)), s = l(n(13)), r = n(8); function l(e) { return e && e.__esModule ? e : { default: e } } var d = s.default.inherit({ ctor: function (e, t) { this._eventName = e, this._originalEvents = (0, r.addNamespace)(t, "dxPointerEvents"), this._handlerCount = 0, this.noBubble = this._isNoBubble() }, _isNoBubble: function () { var e = this._eventName; return "dxpointerenter" === e || "dxpointerleave" === e }, _handler: function (e) { var t = this._getDelegateTarget(e); return this._fireEvent({ type: this._eventName, pointerType: e.pointerType || (0, r.eventSource)(e), originalEvent: e, delegateTarget: t, timeStamp: a.default.mozilla ? (new Date).getTime() : e.timeStamp }) }, _getDelegateTarget: function (e) { var t; return this.noBubble && (t = e.delegateTarget), t }, _fireEvent: function (e) { return (0, r.fireEvent)(e) }, _setSelector: function (e) { this._selector = this.noBubble && e ? e.selector : null }, _getSelector: function () { return this._selector }, setup: function () { return !0 }, add: function (e, t) { if (this._handlerCount <= 0 || this.noBubble) { e = this.noBubble ? e : o.default.getDocument(), this._setSelector(t); var n = this; i.default.on(e, this._originalEvents, this._getSelector(), (function (e) { n._handler(e) })) } this.noBubble || this._handlerCount++ }, remove: function (e) { this._setSelector(e), this.noBubble || this._handlerCount-- }, teardown: function (e) { this._handlerCount && !this.noBubble || (e = this.noBubble ? e : o.default.getDocument(), ".dxPointerEvents" !== this._originalEvents && i.default.off(e, this._originalEvents, this._getSelector())) }, dispose: function (e) { e = this.noBubble ? e : o.default.getDocument(), i.default.off(e, this._originalEvents) } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = g(n(5)), o = g(n(12)), s = n(64), r = g(n(56)), l = n(28), d = g(n(45)), c = n(37), u = n(4), h = n(0), f = n(8), p = g(n(105)); function g(e) { return e && e.__esModule ? e : { default: e } } var m = d.default.add, _ = Math.abs, v = 10, y = (0, r.default)((function () { var e = "desktop" === o.default.real().deviceType; if (!(0, s.styleProp)("pointer-events") || !e) return u.noop; var t = (0, i.default)("<div>").addClass("dx-gesture-cover").css("pointerEvents", "none"); return a.default.subscribeGlobal(t, "dxmousewheel", (function (e) { e.preventDefault() })), m((function () { t.appendTo("body") })), function (e, n) { t.css("pointerEvents", e ? "all" : "none"), e && t.css("cursor", n) } })), w = p.default.inherit({ gesture: !0, configure: function (e) { this.getElement().css("msTouchAction", e.immediate ? "pinch-zoom" : ""), this.callBase(e) }, allowInterruptionByMouseWheel: function () { return 2 !== this._stage }, getDirection: function () { return this.direction }, _cancel: function () { this.callBase.apply(this, arguments), this._toggleGestureCover(!1), this._stage = 0 }, start: function (e) { e._needSkipEvent || (0, f.needSkipEvent)(e) ? this._cancel(e) : (this._startEvent = (0, f.createEvent)(e), this._startEventData = (0, f.eventData)(e), this._stage = 1, this._init(e), this._setupImmediateTimer()) }, _setupImmediateTimer: function () { clearTimeout(this._immediateTimer), this._immediateAccepted = !1, this.immediate && (this._immediateTimer = setTimeout(function () { this._immediateAccepted = !0 }.bind(this), 180)) }, move: function (e) { if (1 === this._stage && this._directionConfirmed(e)) { if (this._stage = 2, this._resetActiveElement(), this._toggleGestureCover(!0), this._clearSelection(e), this._adjustStartEvent(e), this._start(this._startEvent), 0 === this._stage) return; this._requestAccept(e), this._move(e), this._forgetAccept() } else 2 === this._stage && (this._clearSelection(e), this._move(e)) }, _directionConfirmed: function (e) { var t = this._getTouchBoundary(e), n = (0, f.eventDelta)(this._startEventData, (0, f.eventData)(e)), i = _(n.x), a = _(n.y), o = this._validateMove(t, i, a), s = this._validateMove(t, a, i), r = this.getDirection(e); return "both" === r && (o || s) || "horizontal" === r && o || "vertical" === r && s || this._immediateAccepted }, _validateMove: function (e, t, n) { return t && t >= e && (!this.immediate || t >= n) }, _getTouchBoundary: function (e) { return this.immediate || (0, f.isDxMouseWheelEvent)(e) ? 0 : v }, _adjustStartEvent: function (e) { var t = this._getTouchBoundary(e), n = (0, f.eventDelta)(this._startEventData, (0, f.eventData)(e)); this._startEvent.pageX += (0, c.sign)(n.x) * t, this._startEvent.pageY += (0, c.sign)(n.y) * t }, _resetActiveElement: function () { "ios" === o.default.real().platform && this.getElement().find(":focus").length && (0, l.resetActiveElement)() }, _toggleGestureCover: function (e) { this._toggleGestureCoverImpl(e) }, _toggleGestureCoverImpl: function (e) { 2 === this._stage && function (e, t) { y()(e, t) }(e, this.getElement().css("cursor")) }, _clearSelection: function (e) { (0, f.isDxMouseWheelEvent)(e) || (0, f.isTouchEvent)(e) || (0, l.clearSelection)() }, end: function (e) { this._toggleGestureCover(!1), 2 === this._stage ? this._end(e) : 1 === this._stage && this._stop(e), this._stage = 0 }, dispose: function () { clearTimeout(this._immediateTimer), this.callBase.apply(this, arguments), this._toggleGestureCover(!1) }, _init: u.noop, _start: u.noop, _move: u.noop, _stop: u.noop, _end: u.noop }); w.initialTouchBoundary = v, w.touchBoundary = function (e) { if (!(0, h.isDefined)(e)) return v; v = e }; var x = w; t.default = x, e.exports = t.default }, function (e, t, n) { "use strict"; t.name = void 0; var i = c(n(5)), a = n(28), o = c(n(9)), s = c(n(13)), r = c(n(58)), l = n(19), d = n(8); function c(e) { return e && e.__esModule ? e : { default: e } } t.name = "dxdblclick"; var u = (0, d.addNamespace)(l.name, "dxDblClick"), h = s.default.inherit({ ctor: function () { this._handlerCount = 0, this._forgetLastClick() }, _forgetLastClick: function () { this._firstClickTarget = null, this._lastClickTimeStamp = -300 }, add: function () { this._handlerCount <= 0 && i.default.on(o.default.getDocument(), u, this._clickHandler.bind(this)), this._handlerCount++ }, _clickHandler: function (e) { var t = e.timeStamp || Date.now(), n = t - this._lastClickTimeStamp; !(n < 0) && n < 300 ? ((0, d.fireEvent)({ type: "dxdblclick", target: (0, a.closestCommonParent)(this._firstClickTarget, e.target), originalEvent: e }), this._forgetLastClick()) : (this._firstClickTarget = e.target, this._lastClickTimeStamp = t) }, remove: function () { this._handlerCount--, this._handlerCount <= 0 && (this._forgetLastClick(), i.default.off(o.default.getDocument(), u)) } }); (0, r.default)("dxdblclick", new h) }, function (e, t, n) { "use strict"; t.end = t.start = t.swipe = void 0; var i = n(8), a = s(n(123)), o = s(n(76)); function s(e) { return e && e.__esModule ? e : { default: e } } t.start = "dxswipestart"; t.swipe = "dxswipe"; t.end = "dxswipeend"; var r = { horizontal: { defaultItemSizeFunc: function () { return this.getElement().width() }, getBounds: function () { return [this._maxLeftOffset, this._maxRightOffset] }, calcOffsetRatio: function (e) { return ((0, i.eventData)(e).x - (this._savedEventData && this._savedEventData.x || 0)) / this._itemSizeFunc().call(this, e) }, isFastSwipe: function (e) { var t = (0, i.eventData)(e); return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(t.x - this._tickData.x) >= t.time - this._tickData.time } }, vertical: { defaultItemSizeFunc: function () { return this.getElement().height() }, getBounds: function () { return [this._maxTopOffset, this._maxBottomOffset] }, calcOffsetRatio: function (e) { return ((0, i.eventData)(e).y - (this._savedEventData && this._savedEventData.y || 0)) / this._itemSizeFunc().call(this, e) }, isFastSwipe: function (e) { var t = (0, i.eventData)(e); return this.FAST_SWIPE_SPEED_LIMIT * Math.abs(t.y - this._tickData.y) >= t.time - this._tickData.time } } }, l = a.default.inherit({ TICK_INTERVAL: 300, FAST_SWIPE_SPEED_LIMIT: 10, ctor: function (e) { this.callBase(e), this.direction = "horizontal", this.elastic = !0 }, _getStrategy: function () { return r[this.direction] }, _defaultItemSizeFunc: function () { return this._getStrategy().defaultItemSizeFunc.call(this) }, _itemSizeFunc: function () { return this.itemSizeFunc || this._defaultItemSizeFunc }, _init: function (e) { this._tickData = (0, i.eventData)(e) }, _start: function (e) { this._savedEventData = (0, i.eventData)(e), (e = this._fireEvent("dxswipestart", e)).cancel || (this._maxLeftOffset = e.maxLeftOffset, this._maxRightOffset = e.maxRightOffset, this._maxTopOffset = e.maxTopOffset, this._maxBottomOffset = e.maxBottomOffset) }, _move: function (e) { var t = this._getStrategy(), n = (0, i.eventData)(e), a = t.calcOffsetRatio.call(this, e); a = this._fitOffset(a, this.elastic), n.time - this._tickData.time > this.TICK_INTERVAL && (this._tickData = n), this._fireEvent("dxswipe", e, { offset: a }), e.preventDefault() }, _end: function (e) { var t = this._getStrategy(), n = t.calcOffsetRatio.call(this, e), i = t.isFastSwipe.call(this, e), a = n, o = this._calcTargetOffset(n, i); a = this._fitOffset(a, this.elastic), o = this._fitOffset(o, !1), this._fireEvent("dxswipeend", e, { offset: a, targetOffset: o }) }, _fitOffset: function (e, t) { var n = this._getStrategy().getBounds.call(this); return e < -n[0] ? t ? (-2 * n[0] + e) / 3 : -n[0] : e > n[1] ? t ? (2 * n[1] + e) / 3 : n[1] : e }, _calcTargetOffset: function (e, t) { var n; return t ? (n = Math.ceil(Math.abs(e)), e < 0 && (n = -n)) : n = Math.round(e), n } }); (0, o.default)({ emitter: l, events: ["dxswipestart", "dxswipe", "dxswipeend"] }) }, function (e, t, n) { "use strict"; t.odata = void 0; var i = n(0), a = n(3), o = u(n(27)), s = n(1), r = u(n(148)), l = n(80), d = u(n(33)), c = u(n(42)); function u(e) { return e && e.__esModule ? e : { default: e } } var h, f, p, g, m, _, v, y, w, x, b = ["contains", "notcontains", "startswith", "endswith"], C = (m = function (e, t) { return function (n, i) { var a = [e, "("]; return f && (n = -1 === n.indexOf("tolower(") ? "tolower(".concat(n, ")") : n, i = i.toLowerCase()), t ? a.push(i, ",", n) : a.push(n, ",", i), a.push(")"), a.join("") } }, _ = { "=": (g = function (e) { return function (t, n) { return "".concat(t, " ").concat(e, " ").concat(n) } })("eq"), "<>": g("ne"), ">": g("gt"), ">=": g("ge"), "<": g("lt"), "<=": g("le"), startswith: m("startswith"), endswith: m("endswith") }, v = (0, s.extend)({}, _, { contains: m("substringof", !0), notcontains: m("not substringof", !0) }), y = (0, s.extend)({}, _, { contains: m("contains"), notcontains: m("not contains") }), w = function (e) { var t, n, i = (e = c.default.normalizeBinaryCriterion(e))[1], a = e[0], o = p && p[a]; if (o && (n = i, b.some((function (e) { return e === n }))) && "String" !== o) throw new d.default.errors.Error("E4024", i, a, o); var s = (4 === h ? y : v)[i.toLowerCase()]; if (!s) throw d.default.errors.Error("E4003", i); var r = e[2]; return null !== (t = p) && void 0 !== t && t[a] && (r = (0, l.convertPrimitiveValue)(p[a], r)), s((0, l.serializePropName)(a), (0, l.serializeValue)(r, h)) }, x = function (e) { return Array.isArray(e[0]) ? function (e) { var t, n, i = []; return (0, a.each)(e, (function (e, a) { if (Array.isArray(a)) { if (i.length > 1 && t !== n) throw new d.default.errors.Error("E4019"); i.push("(".concat(x(a), ")")), t = n, n = "and" } else n = c.default.isConjunctiveOperator(this) ? "and" : "or" })), i.join(" ".concat(t, " ")) }(e) : c.default.isUnaryOperation(e) ? function (e) { var t = e[0], n = x(e[1]); if ("!" === t) return "not (".concat(n, ")"); throw d.default.errors.Error("E4003", t) }(e) : w(e) }, function (e, t, n, i) { return p = n, f = null != i ? i : (0, o.default)().oDataFilterToLower, h = t, x(e) }), k = function (e) { var t, n, a, o, r = [], d = [], c = e.expand, u = e.version || 2, h = function () { return n || void 0 !== a }, f = function e(t) { for (var n = 0; n < t.length; n++) { if ((0, i.isFunction)(t[n])) return !0; if (Array.isArray(t[n]) && e(t[n])) return !0 } return !1 }, p = function () { var i = {}; if (o || (r.length && (i.$orderby = r.join(",")), n && (i.$skip = n), void 0 !== a && (i.$top = a), i.$select = (0, l.generateSelect)(u, t) || void 0, i.$expand = (0, l.generateExpand)(u, c, t) || void 0), d.length) { var s = d.length < 2 ? d[0] : d, h = null == e ? void 0 : e.fieldTypes, f = null == e ? void 0 : e.filterToLower; i.$filter = C(s, u, h, f) } return o && (i.$top = 0), (e.requireTotalCount || o) && (4 !== u ? i.$inlinecount = "allpages" : i.$count = "true"), i }; return { optimize: function (e) { for (var t = -1, n = 0; n < e.length; n++)if ("select" === e[n].name) { t = n; break } if (!(t < 0) && (0, i.isFunction)(e[t].args[0])) { var a = e[1 + t]; a && "slice" === a.name && (e[1 + t] = e[t], e[t] = a) } }, exec: function (t) { return (0, l.sendRequest)(u, { url: t, params: (0, s.extend)(p(), null == e ? void 0 : e.params) }, { beforeSend: e.beforeSend, jsonp: e.jsonp, withCredentials: e.withCredentials, countOnly: o, deserializeDates: e.deserializeDates, fieldTypes: e.fieldTypes, isPaged: isFinite(a) }) }, multiSort: function (e) { var t; if (h()) return !1; for (var n = 0; n < e.length; n++) { var i = e[n][0], a = !!e[n][1], o = void 0; if ("string" != typeof i) return !1; o = (0, l.serializePropName)(i), a && (o += " desc"), (t = t || []).push(o) } r = t }, slice: function (e, t) { if (h()) return !1; n = e, a = t }, filter: function (e) { return !h() && (Array.isArray(e) || (e = [].slice.call(arguments)), !f(e) && (d.length && d.push("and"), void d.push(e))) }, select: function (e) { if (t || (0, i.isFunction)(e)) return !1; Array.isArray(e) || (e = [].slice.call(arguments)), t = e }, count: function () { return o = !0 } } }; r.default.odata = k; var I = k; t.odata = I }, function (e, t, n) { "use strict"; t.inactive = t.active = t.lock = void 0; var i = u(n(13)), a = n(4), o = n(28), s = u(n(12)), r = n(8), l = u(n(23)), d = u(n(105)), c = u(n(76)); function u(e) { return e && e.__esModule ? e : { default: e } } t.active = "dxactive"; t.inactive = "dxinactive"; var h, f = i.default.inherit({ ctor: function (e, t) { this._timeout = e, this._fire = t }, start: function () { var e = this; this._schedule((function () { e.force() })) }, _schedule: function (e) { this.stop(), this._timer = setTimeout(e, this._timeout) }, stop: function () { clearTimeout(this._timer) }, force: function () { this._fired || (this.stop(), this._fire(), this._fired = !0) }, fired: function () { return this._fired } }), p = d.default.inherit({ ctor: function () { this.callBase.apply(this, arguments), this._active = new f(0, a.noop), this._inactive = new f(0, a.noop) }, configure: function (e, t) { switch (t) { case "dxactive": e.activeTimeout = e.timeout; break; case "dxinactive": e.inactiveTimeout = e.timeout }this.callBase(e) }, start: function (e) { if (h) { var t = (0, o.contains)(this.getElement().get(0), h.getElement().get(0)), n = !h._active.fired(); if (t && n) return void this._cancel(); h._inactive.force() } h = this, this._initEvents(e), this._active.start() }, _initEvents: function (e) { var t = this, n = this._getEmitterTarget(e), i = (0, r.isMouseEvent)(e), o = s.default.isSimulator() || !i, l = (0, a.ensureDefined)(this.activeTimeout, 30), d = (0, a.ensureDefined)(this.inactiveTimeout, 400); this._active = new f(o ? l : 0, (function () { t._fireEvent("dxactive", e, { target: n }) })), this._inactive = new f(o ? d : 0, (function () { t._fireEvent("dxinactive", e, { target: n }), h = null })) }, cancel: function (e) { this.end(e) }, end: function (e) { var t = e.type !== l.default.up; t ? this._active.stop() : this._active.force(), this._inactive.start(), t && this._inactive.force() }, dispose: function () { this._active.stop(), this._inactive.stop(), h === this && (h = null), this.callBase() }, lockInactive: function () { return this._active.force(), this._inactive.stop(), h = null, this._cancel(), this._inactive.force.bind(this._inactive) } }); p.lock = function (e) { var t = h ? h.lockInactive() : a.noop; e.done(t) }, (0, c.default)({ emitter: p, events: ["dxactive", "dxinactive"] }); var g = p.lock; t.lock = g }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(340)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }; function o(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var s = function () { function e(t, n, i) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.instance = null, this.$container = null, this.$placeMarker = null, this.editor = n, this.name = t, this.options = i || {} } var t, n, i; return t = e, (n = [{ key: "_addPlaceMarker", value: function (e) { this.$placeMarker = (0, a.default)("<div>").appendTo(e) } }, { key: "_addToContainer", value: function (e) { var t = this.$placeMarker, n = this.$container; t ? t.replaceWith(e) : e.appendTo(n) } }, { key: "_attachEvents", value: function () { throw "Not implemented" } }, { key: "_create", value: function () { throw "Not implemented" } }, { key: "_isRendered", value: function () { return !!this.instance } }, { key: "_isVisible", value: function () { var e = this.editor; return this.options.visible || !e.option("readOnly") } }, { key: "_isDisabled", value: function () { throw "Not implemented" } }, { key: "_shouldRender", value: function () { return this._isVisible() && !this._isRendered() } }, { key: "dispose", value: function () { var e = this.instance, t = this.$placeMarker; e && (e.dispose ? e.dispose() : e.remove(), this.instance = null), t && t.remove() } }, { key: "render", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.$container; if (this.$container = e, this._isVisible()) { var t = this._create(), n = t.instance, i = t.$element; this.instance = n, this._attachEvents(n, i) } else this._addPlaceMarker(e) } }, { key: "update", value: function () { return this._shouldRender() && this.render(), !!this.instance } }]) && o(t.prototype, n), i && o(t, i), e }(); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = a(n(355)); function a(e) { return e && e.__esModule ? e : { default: e } } (0, a(n(11)).default)("dxList", i.default); var o = i.default; t.default = o, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.ColumnsView = void 0; var a = I(n(2)), o = I(n(9)), s = n(7), r = I(n(5)), l = n(39), d = I(n(23)), c = n(19), u = n(124), h = I(n(15)), f = n(4), p = n(64), g = n(18), m = n(0), _ = n(25), v = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = k(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(3)), y = n(1), w = I(n(24)), x = I(n(22)), b = I(n(224)), C = n(6); function k() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return k = function () { return e }, e } function I(e) { return e && e.__esModule ? e : { default: e } } var S = { render: function (e) { e.container.append(e.content) } }, E = function (e) { return "auto" === e ? "" : (0, m.isNumeric)(e) ? e + "px" : e }, D = function (e, t, n) { e.style.width = e.style.maxWidth = "auto" === t.width ? "" : n }, T = w.default.View.inherit(b.default).inherit({ _createScrollableOptions: function () { var e = this.option("scrolling"), t = this.option("scrolling.useNative"), n = (0, y.extend)({ pushBackValue: 0 }, e, { direction: "both", bounceEnabled: !1, useKeyboard: !1 }); return void 0 === t && (t = !0), "auto" === t ? (delete n.useNative, delete n.useSimulatedScrollbar) : (n.useNative = !!t, n.useSimulatedScrollbar = !t), n }, _updateCell: function (e, t) { t.rowType && this._cellPrepared(e, t) }, _createCell: function (e) { var t = e.column, n = t.alignment || (0, _.getDefaultAlignment)(this.option("rtlEnabled")), i = o.default.createElement("td"); i.style.textAlign = n; var s = (0, a.default)(i); return "data" === e.rowType && t.headerId && !t.type && this.component.option("showColumnHeaders") && this.setAria("describedby", t.headerId, s), t.cssClass && s.addClass(t.cssClass), "expand" === t.command && (s.addClass(t.cssClass), s.addClass(this.addWidgetPrefix("group-space"))), t.colspan > 1 ? s.attr("colSpan", t.colspan) : t.isBand || "auto" === t.visibleWidth || this.option("legacyRendering") || !this.option("columnAutoWidth") || ((t.width || t.minWidth) && (i.style.minWidth = E(t.minWidth || t.width)), t.width && D(i, t, E(t.width))), s }, _createRow: function (e) { var t = (0, a.default)("<tr>").addClass("dx-row"); return this.setAria("role", "row", t), t }, _isAltRow: function (e) { return e && e.dataIndex % 2 == 1 }, _createTable: function (e, t) { var n = this, i = (0, a.default)("<table>").addClass(n.addWidgetPrefix("table")).addClass(n.addWidgetPrefix("table-fixed")); if (e && !t ? (i.append(n._createColGroup(e)), h.default.safari && i.append((0, a.default)("<thead>").append("<tr>")), n.setAria("role", "presentation", i)) : n.setAria("hidden", !0, i), this.setAria("role", "presentation", (0, a.default)("<tbody>").appendTo(i)), t) return i; h.default.mozilla && r.default.on(i, "mousedown", "td", (function (e) { e.ctrlKey && e.preventDefault() })), n.option("cellHintEnabled") && r.default.on(i, "mousemove", ".dx-row > td", this.createAction((function (e) { var t = e.event, i = (0, a.default)(t.target), o = (0, a.default)(t.currentTarget), s = o.parent(), r = s.hasClass("dx-data-row"), l = s.hasClass("dx-header-row"), d = s.hasClass("dx-group-row"), c = s.hasClass("dx-master-detail-row"), u = s.hasClass(n.addWidgetPrefix("filter-row")), f = n._columnsController.getVisibleColumns(), p = s.data("options"), g = o.index(), _ = p && p.cells && p.cells[g], v = _ ? _.column : f[g], y = h.default.msie ? 1 : 0; c || u || r && (!r || !v || v.cellTemplate) || l && (!l || !v || v.headerCellTemplate) || d && (!d || !v || void 0 !== v.groupIndex && v.groupCellTemplate) || (i.data("dxCellHintVisible") && (i.removeAttr("title"), i.data("dxCellHintVisible", !1)), i[0].scrollWidth - i[0].clientWidth - y > 0 && !(0, m.isDefined)(i.attr("title")) && (i.attr("title", i.text()), i.data("dxCellHintVisible", !0))) }))); var o = function (e) { var t = (0, a.default)(e.currentTarget), i = (0, a.default)(e.target).closest(".dx-field-item-content"), o = t.parent().data("options"), s = o && o.cells && o.cells[t.index()]; if (t.closest("table").is(e.delegateTarget)) { var r = (0, y.extend)({}, s, { cellElement: (0, g.getPublicElement)(t), event: e, eventType: e.type }); if (i.length) { var l = i.data("dx-form-item"); l.column && (r.column = l.column, r.columnIndex = n._columnsController.getVisibleIndex(r.column.index)) } return r } }; return r.default.on(i, "mouseover", ".dx-row > td", (function (e) { var t = o(e); t && n.executeAction("onCellHoverChanged", t) })), r.default.on(i, "mouseout", ".dx-row > td", (function (e) { var t = o(e); t && n.executeAction("onCellHoverChanged", t) })), r.default.on(i, c.name, ".dx-row > td", (function (e) { var t = o(e); t && n.executeAction("onCellClick", t) })), r.default.on(i, u.name, ".dx-row > td", (function (e) { var t = o(e); t && n.executeAction("onCellDblClick", t) })), function (e, t) { var n, i, o; function s(e) { return setTimeout((function () { n = i = null }), e) } r.default.on(t, "touchstart touchend", ".dx-row", (function (e) { clearTimeout(o), "touchstart" === e.type ? (n = e.target, i = e.currentTarget, o = s(1e3)) : o = s() })), r.default.on(t, [c.name, u.name, d.default.down].join(" "), ".dx-row", { useNative: e._isNativeClick() }, e.createAction((function (t) { var o = t.event; n && (o.target = n, o.currentTarget = i), (0, a.default)(o.target).closest("a").length || (t.rowIndex = e.getRowIndex(o.currentTarget), t.rowIndex >= 0 && (t.rowElement = (0, g.getPublicElement)((0, a.default)(o.currentTarget)), t.columns = e.getColumns(), o.type === d.default.down ? e._rowPointerDown(t) : o.type === c.name ? e._rowClick(t) : e._rowDblClick(t))) }))) }(n, i), i }, _isNativeClick: f.noop, _rowPointerDown: f.noop, _rowClick: f.noop, _rowDblClick: f.noop, _createColGroup: function (e) { for (var t = (0, a.default)("<colgroup>"), n = 0; n < e.length; n++)for (var i = e[n].colspan || 1, o = 0; o < i; o++)t.append(this._createCol(e[n])); return t }, _createCol: function (e) { var t = e.visibleWidth || e.width; "adaptiveHidden" === t && (t = "0.0001px"); var n = (0, a.default)("<col>"); return (0, p.setWidth)(n, t), n }, renderDelayedTemplates: function () { var e = this._delayedTemplates, t = e.filter((function (e) { return !e.async })), n = e.filter((function (e) { return e.async })); this._delayedTemplates = [], this._renderDelayedTemplatesCore(t), this._renderDelayedTemplatesCoreAsync(n) }, _renderDelayedTemplatesCoreAsync: function (e) { var t = this; e.length && (0, s.getWindow)().setTimeout((function () { t._renderDelayedTemplatesCore(e, !0) })) }, _renderDelayedTemplatesCore: function (e, t) { for (var n = new Date; e.length;) { var i = e.shift(), s = i.options, r = o.default.getDocument(); if (t && !(0, a.default)(s.container).closest(r).length || i.template.render(s), t && new Date - n > 30) { this._renderDelayedTemplatesCoreAsync(e); break } } !e.length && this._delayedTemplates.length && this.renderDelayedTemplates() }, _processTemplate: function (e) { var t; if (e && e.render && !(0, m.isRenderer)(e)) t = { allowRenderToDetachedContainer: e.allowRenderToDetachedContainer, render: function (t) { e.render(t.container, t.model), t.deferred && t.deferred.resolve() } }; else if ((0, m.isFunction)(e)) t = { render: function (t) { var n = e((0, g.getPublicElement)(t.container), t.model); n && (n.nodeType || (0, m.isRenderer)(n)) && t.container.append(n), t.deferred && t.deferred.resolve() } }; else { var n = (0, m.isString)(e) ? e : (0, a.default)(e).attr("id"); n ? (this._templatesCache[n] || (this._templatesCache[n] = this.getTemplate(e)), t = this._templatesCache[n]) : t = this.getTemplate(e) } return t }, renderTemplate: function (e, t, n, i) { var a = this._processTemplate(t, n), o = n.column, s = "data" === n.rowType, r = new C.Deferred, l = { container: e, model: n, deferred: r, onRendered: function () { r.resolve() } }; if (a) { n.component = this.component; var d = o && (o.renderAsync && s || this.option("renderAsync") && (!1 !== o.renderAsync && (o.command || o.showEditorAlways) && s || "filter" === n.rowType)); !a.allowRenderToDetachedContainer && !i || d ? this._delayedTemplates.push({ template: a, options: l, async: d }) : a.render(l) } else r.reject(); return r.promise() }, _getBodies: function (e) { return (0, a.default)(e).children("tbody").not(".dx-header").not(".dx-footer") }, _wrapRowIfNeed: function (e, t) { var n = this.option("rowTemplate") && this._getBodies(this._tableElement || e); if (n && n.filter(".dx-row").length) { var i = (0, a.default)("<tbody>").addClass(t.attr("class")); return this.setAria("role", "presentation", i), i.append(t) } return t }, _appendRow: function (e, t, n) { (n = n || S).render({ content: t, container: e }) }, _resizeCore: function () { var e = this._scrollLeft; e >= 0 && (this._scrollLeft = 0, this.scrollTo({ left: e })) }, _renderCore: function (e) { var t = this.element().parent(); t && !t.parent().length || this.renderDelayedTemplates(e) }, _renderTable: function (e) { (e = e || {}).columns = this._columnsController.getVisibleColumns(); var t = e.change && e.change.changeType, n = this._createTable(e.columns, "append" === t || "prepend" === t || "update" === t); return this._renderRows(n, e), n }, _renderRows: function (e, t) { for (var n = this._getRows(t.change), i = t.change && t.change.columnIndices || [], a = t.change && t.change.changeTypes || [], o = 0; o < n.length; o++)this._renderRow(e, (0, y.extend)({ row: n[o], columnIndices: i[o], changeType: a[o] }, t)) }, _renderRow: function (e, t) { t.columnIndices || (t.row.cells = []); var n = this._createRow(t.row), i = this._wrapRowIfNeed(e, n); "remove" !== t.changeType && this._renderCells(n, t), this._appendRow(e, i); var a = (0, y.extend)({ columns: t.columns }, t.row); this._addWatchMethod(a, t.row), this._rowPrepared(i, a, t.row) }, _needRenderCell: function (e, t) { return !t || t.indexOf(e) >= 0 }, _renderCells: function (e, t) { for (var n = 0, i = t.row, a = t.columns, o = 0; o < a.length; o++)this._needRenderCell(o, t.columnIndices) && this._renderCell(e, (0, y.extend)({ column: a[o], columnIndex: n, value: i.values && i.values[n], oldValue: i.oldValues && i.oldValues[n] }, t)), a[o].colspan > 1 ? n += a[o].colspan : n++ }, _updateCells: function (e, t, n) { var i = e.children(), a = t.children(), o = this.option("highlightChanges"), s = this.addWidgetPrefix("cell-updated-animation"); n.forEach((function (e, t) { var n = i.eq(e), r = a.eq(t); n.replaceWith(r), o && !r.hasClass("dx-command-expand") && r.addClass(s) })), function (e, t) { if (e && t) { var n, i = e.attributes, a = t.attributes; for (n = 0; n < i.length; n++) { var o = i[n].nodeName; t.hasAttribute(o) || e.removeAttribute(o) } for (n = 0; n < a.length; n++)e.setAttribute(a[n].nodeName, a[n].nodeValue) } }(e.get(0), t.get(0)) }, _setCellAriaAttributes: function (e, t) { if ("freeSpace" !== t.rowType) { this.setAria("selected", !1, e), this.setAria("role", "gridcell", e); var n = this._columnsController.getColumnIndexOffset(), i = t.columnIndex + n + 1; this.setAria("colindex", i, e) } }, _renderCell: function (e, t) { var n = this._getCellOptions(t); t.columnIndices ? t.row.cells && (t.row.cells[n.columnIndex] = n) : t.row.cells.push(n); var i = this._createCell(n); return this._setCellAriaAttributes(i, n), this._renderCellContent(i, n), e.get(0).appendChild(i.get(0)), i }, _renderCellContent: function (e, t) { var n = this, i = this._getCellTemplate(t); (0, C.when)(!i || this.renderTemplate(e, i, t)).done((function () { n._updateCell(e, t) })) }, _getCellTemplate: function () { }, _getRows: function () { return [] }, _getCellOptions: function (e) { var t = { column: e.column, columnIndex: e.columnIndex, rowType: e.row.rowType, isAltRow: this._isAltRow(e.row) }; return this._addWatchMethod(t), t }, _addWatchMethod: function (e, t) { if (this.option("repaintChangesOnly")) { var n = []; return (t = t || e).watch = t.watch || function (e, i) { var a = e(t.data), o = function (n) { var o = e(t.data); JSON.stringify(a) !== JSON.stringify(o) && (n && i(o, a), a = o) }; n.push(o); return function () { var e = n.indexOf(o); e >= 0 && n.splice(e, 1) } }, t.update = t.update || function (t) { t && (this.data = e.data = t.data, this.rowIndex = e.rowIndex = t.rowIndex, this.dataIndex = e.dataIndex = t.dataIndex, this.isExpanded = e.isExpanded = t.isExpanded, e.row && (e.row = t)), n.forEach((function (e) { e(t) })) }, t !== e && (e.watch = t.watch.bind(t)), e } }, _cellPrepared: function (e, t) { t.cellElement = (0, g.getPublicElement)((0, a.default)(e)), this.executeAction("onCellPrepared", t) }, _rowPrepared: function (e, t) { (0, l.data)(e.get(0), "options", t), t.rowElement = (0, g.getPublicElement)(e), this.executeAction("onRowPrepared", t) }, _columnOptionChanged: function (e) { var t = e.optionNames; if (x.default.checkChanges(t, ["width", "visibleWidth"])) { var n = this._columnsController.getVisibleColumns(), i = v.map(n, (function (e) { var t = e.visibleWidth || e.width; return (0, m.isDefined)(t) ? t : "auto" })); this.setColumnWidths({ widths: i, optionNames: t }) } else this._requireReady || this.render() }, getCellIndex: function (e) { return e.length ? e[0].cellIndex : -1 }, getTableElements: function () { return this._tableElement || (0, a.default)() }, _getTableElement: function () { return this._tableElement }, _setTableElement: function (e) { this._tableElement = e }, optionChanged: function (e) { switch (this.callBase(e), e.name) { case "cellHintEnabled": case "onCellPrepared": case "onRowPrepared": case "onCellHoverChanged": this._invalidate(!0, !0), e.handled = !0 } }, init: function () { var e = this; e._scrollLeft = -1, e._columnsController = e.getController("columns"), e._dataController = e.getController("data"), e._delayedTemplates = [], e._templatesCache = {}, e.createAction("onCellClick"), e.createAction("onRowClick"), e.createAction("onCellDblClick"), e.createAction("onRowDblClick"), e.createAction("onCellHoverChanged", { excludeValidators: ["disabled", "readOnly"] }), e.createAction("onCellPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }), e.createAction("onRowPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering", afterExecute: function (t) { e._afterRowPrepared(t) } }), e._columnsController.columnsChanged.add(e._columnOptionChanged.bind(e)), e._dataController && e._dataController.changed.add(e._handleDataChanged.bind(e)) }, _afterRowPrepared: f.noop, _handleDataChanged: function () { }, callbackNames: function () { return ["scrollChanged"] }, scrollTo: function (e) { var t = this.element(), n = t && t.children("." + this.addWidgetPrefix("scroll-container")).not("." + this.addWidgetPrefix("content-fixed")); (0, m.isDefined)(e) && (0, m.isDefined)(e.left) && this._scrollLeft !== e.left && (this._scrollLeft = e.left, n && n.scrollLeft(e.left)) }, _wrapTableInScrollContainer: function (e) { var t = this, n = (0, a.default)("<div>"); return r.default.on(n, "scroll", (function () { var e = n.scrollLeft(); e !== t._scrollLeft && t.scrollChanged.fire({ left: e }, t.name) })), n.addClass(this.addWidgetPrefix("content")).addClass(this.addWidgetPrefix("scroll-container")).append(e).appendTo(this.element()), this.setAria("role", "presentation", n), n }, _updateContent: function (e) { this._setTableElement(e), this._wrapTableInScrollContainer(e) }, _findContentElement: f.noop, _getWidths: function (e) { var t, n = [], i = this.option("legacyRendering"); return e && v.each(e, (function (e, a) { if (t = a.offsetWidth, a.getBoundingClientRect) { var o = (0, _.getBoundingRect)(a); o.width > t - 1 && (t = i ? Math.ceil(o.width) : o.width) } n.push(t) })), n }, getColumnWidths: function (e) { var t, n, i = []; if ((this.option("forceApplyBindings") || f.noop)(), e = e || this._getTableElement()) { t = e.children("tbody").children(); for (var a = 0; a < t.length; a++) { var o = t.eq(a), s = "none" !== o.get(0).style.display && !o.hasClass("dx-state-invisible"); if (!o.is(".dx-group-row") && !o.is(".dx-master-detail-row") && s) { n = o.children("td"); break } } i = this._getWidths(n) } return i }, getVisibleColumnIndex: function (e, t) { return e }, setColumnWidths: function (e) { var t, n, i, a, o = e.widths, s = e.$tableElement, r = e.columns, l = e.fixed, d = this.option("columnAutoWidth"), c = this.option("legacyRendering"); if ((s = s || this._getTableElement()) && s.length && o) { a = 0, t = s.children("colgroup").children("col"), (0, p.setWidth)(t, "auto"), r = r || this.getColumns(null, s); for (var u = 0; u < r.length; u++) { if (!c && d && !l && (n = r[u].width) && !r[u].command) { n = r[u].visibleWidth || n, n = E(n), i = E(r[u].minWidth || n); for (var h = h || s.children().children(".dx-row").not(".dx-group-row").not(".dx-master-detail-row"), f = 0; f < h.length; f++) { var g = this.getVisibleColumnIndex(u, f), _ = h[f].cells[g]; _ && (D(_, r[u], n), _.style.minWidth = i) } } r[u].colspan ? a += r[u].colspan : ("adaptiveHidden" === (n = o[a]) && (n = "0.0001px"), "number" == typeof n && (n = n.toFixed(3) + "px"), (0, p.setWidth)(t.eq(a), (0, m.isDefined)(n) ? n : "auto"), a++) } } }, getCellElements: function (e) { return this._getCellElementsCore(e) }, _getCellElementsCore: function (e) { return this._getRowElements().eq(e).children() }, _getCellElement: function (e, t) { var n, i = this.getCellElements(e), a = this._getVisibleColumnIndex(i, e, t); if (i.length && a >= 0 && (n = i.eq(a)), n && n.length) return n }, _getRowElement: function (e) { var t = this, n = (0, a.default)(), i = t.getTableElements(); if (v.each(i, (function (i, o) { n = n.add(t._getRowElements((0, a.default)(o)).eq(e)) })), n.length) return n }, getCellElement: function (e, t) { return (0, g.getPublicElement)(this._getCellElement(e, t)) }, getRowElement: function (e) { var t = this._getRowElement(e), n = []; if (t && !(0, g.getPublicElement)(t).get) for (var i = 0; i < t.length; i++)n.push(t[i]); else n = t; return n }, _getVisibleColumnIndex: function (e, t, n) { if ((0, m.isString)(n)) { var i = this._columnsController.columnOption(n, "index"); return this._columnsController.getVisibleIndex(i) } return n }, getColumnElements: function () { }, getColumns: function (e) { return this._columnsController.getVisibleColumns(e) }, getCell: function (e, t) { var n, i = t || this._getRowElements(); if (i.length > 0 && e.rowIndex >= 0 && ("virtual" !== this.option("scrolling.mode") && (e.rowIndex = e.rowIndex < i.length ? e.rowIndex : i.length - 1), (n = this.getCellElements(e.rowIndex)) && n.length > 0)) return n.eq(n.length > e.columnIndex ? e.columnIndex : n.length - 1) }, getRowsCount: function () { var e = this._getTableElement(); return e && 1 === e.length ? e[0].rows.length : 0 }, _getRowElementsCore: function (e) { if (e = e || this._getTableElement()) { var t = this.option("rowTemplate") && e.find("> tbody.dx-row"); return t && t.length ? t : e.find("> tbody > .dx-row, > .dx-row") } return (0, a.default)() }, _getRowElements: function (e) { return this._getRowElementsCore(e) }, getRowIndex: function (e) { return this._getRowElements().index(e) }, getBoundingRect: function () { }, getName: function () { }, setScrollerSpacing: function (e) { var t = this.element(), n = this.option("rtlEnabled"); t && t.css({ paddingLeft: n ? e : "", paddingRight: n ? "" : e }) }, isScrollbarVisible: function (e) { var t = this.element(), n = this._tableElement; return !(!t || !n) && (e ? n.outerWidth() - t.width() > 0 : n.outerHeight() - t.height() > 0) } }); t.ColumnsView = T }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(422)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = n(4), o = n(0), s = n(1), r = n(14), l = n(3), d = n(6), c = n(18), u = v(n(21)), h = v(n(9)), f = n(81), p = v(n(10)), g = v(n(11)), m = v(n(428)), _ = n(8); function v(e) { return e && e.__esModule ? e : { default: e } } var y = m.default.inherit({ _supportedKeys: function () { var e = this, t = this.callBase(), n = function (e) { this._isEditable() ? this._valueSubstituted() && (this._preventFiltering = !0) : this.option("showClearButton") && (e.preventDefault(), this.reset()), this._savedTextRemoveEvent = e, this._preventSubstitution = !0 }, i = function () { e.option("searchEnabled") && e._valueSubstituted() && e._searchHandler() }; return (0, s.extend)({}, t, { tab: function () { this.option("opened") && "instantly" === this.option("applyValueMode") && this._cleanInputSelection(), this._wasSearch() && this._clearFilter(), this._wasTabPressed = !0, t.tab && t.tab.apply(this, arguments) }, upArrow: function (e) { if (t.upArrow && t.upArrow.apply(this, arguments)) return this.option("opened") || this._setNextValue(e), !0 }, downArrow: function (e) { if (t.downArrow && t.downArrow.apply(this, arguments)) return this.option("opened") || this._setNextValue(e), !0 }, leftArrow: function () { i(), t.leftArrow && t.leftArrow.apply(this, arguments) }, rightArrow: function () { i(), t.rightArrow && t.rightArrow.apply(this, arguments) }, home: function () { i(), t.home && t.home.apply(this, arguments) }, end: function () { i(), t.end && t.end.apply(this, arguments) }, escape: function () { var e = t.escape && t.escape.apply(this, arguments); return this._cancelEditing(), !(0, o.isDefined)(e) || e }, enter: function (e) { var n = this.option("opened"), i = this._input().val().trim(), a = i && this._list && !this._list.option("focusedElement"); if (!i && (0, o.isDefined)(this.option("value")) && this.option("allowClearing")) this.option({ selectedItem: null, value: null }), this.close(); else { if (this.option("acceptCustomValue")) return e.preventDefault(), a && (this._valueChangeEventHandler(e), n && this._toggleOpenState()), n; if (t.enter && t.enter.apply(this, arguments)) return n } }, space: function (e) { var t = this.option("opened"), n = this.option("searchEnabled"), i = this.option("acceptCustomValue"); if (t && !n && !i) return e.preventDefault(), this._valueChangeEventHandler(e), !0 }, backspace: n, del: n }) }, _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { placeholder: p.default.format("Select"), fieldTemplate: null, valueChangeEvent: "change", acceptCustomValue: !1, onCustomItemCreating: function (e) { (0, o.isDefined)(e.customItem) || (e.customItem = e.text) }, showSelectionControls: !1, allowClearing: !0, tooltipEnabled: !1, openOnFieldClick: !0, showDropDownButton: !0, displayCustomValue: !1, useInkRipple: !1, useHiddenSubmitElement: !0 }) }, _init: function () { this.callBase(), this._initCustomItemCreatingAction() }, _initMarkup: function () { this.$element().addClass("dx-selectbox"), this._renderTooltip(), this.option("useInkRipple") && this._renderInkRipple(), this.callBase(), this._$container.addClass("dx-selectbox-container") }, _renderInkRipple: function () { this._inkRipple = (0, f.render)() }, _toggleActiveState: function (e, t, n) { if (this.callBase.apply(this, arguments), this._inkRipple && !this._isEditable()) { var i = { element: this._inputWrapper(), event: n }; t ? this._inkRipple.showWave(i) : this._inkRipple.hideWave(i) } }, _createPopup: function () { this.callBase(), this._popup.$element().addClass("dx-selectbox-popup"), this._popup.overlayContent().attr("tabindex", -1) }, _popupWrapperClass: function () { return this.callBase() + " dx-selectbox-popup-wrapper" }, _cancelEditing: function () { !this.option("searchEnabled") && this._list && (this._focusListElement(null), this._updateField(this.option("selectedItem"))) }, _renderOpenedState: function () { this.callBase(), this.option("opened") && (this._scrollToSelectedItem(), this._focusSelectedElement()) }, _focusSelectedElement: function () { if (this._searchValue()) { var e = this._list._itemElements(), t = (0, r.inArray)(this.option("selectedItem"), this.option("items")), n = t >= 0 && !this._isCustomItemSelected() ? e.eq(t) : null; this._focusListElement(n) } else this._focusListElement(null) }, _renderFocusedElement: function () { if (this._list) if (this._searchValue() && !this.option("acceptCustomValue")) { var e = this._list._itemElements().not(".dx-state-disabled").eq(0); this._focusListElement(e) } else this._focusListElement(null) }, _focusListElement: function (e) { this._preventInputValueRender = !0, this._list.option("focusedElement", (0, c.getPublicElement)(e)), delete this._preventInputValueRender }, _scrollToSelectedItem: function () { this._list && this._list.scrollToItem(this._list.option("selectedItem")) }, _listContentReadyHandler: function () { this.callBase(), this._dataSource && this._dataSource.paginate() && this._needPopupRepaint() || this._scrollToSelectedItem() }, _renderValue: function () { return this._renderInputValue(), this._setSubmitValue(), (new d.Deferred).resolve() }, _renderInputValue: function () { return this.callBase().always(function () { this._renderInputValueAsync() }.bind(this)) }, _renderInputValueAsync: function () { this._renderTooltip(), this._renderInputValueImpl().always(function () { this._refreshSelected() }.bind(this)) }, _renderInputValueImpl: function () { return this._renderField(), (new d.Deferred).resolve() }, _setNextItem: function (e) { var t = this._calcNextItem(e), n = this._valueGetter(t); this._setValue(n) }, _setNextValue: function (e) { (this._dataSource.isLoaded() ? (new d.Deferred).resolve() : this._dataSource.load()).done(function () { var t = this._getSelectedIndex(), n = this._dataSource.pageSize(), i = this._dataSource.isLastPage(), a = t === this._items().length - 1; this._saveValueChangeEvent(e); var o = "downArrow" === (0, _.normalizeKeyName)(e) ? 1 : -1; n && !i && a && o > 0 ? (this._popup || this._createPopup(), this._dataSource.isLoading() || this._list._loadNextPage().done(this._setNextItem.bind(this, o))) : this._setNextItem(o) }.bind(this)) }, _setSelectedItem: function (e) { var t = !this._isCustomValueAllowed() && void 0 === e; this.callBase(t ? null : e), t || this._isEditable() && !this._isCustomItemSelected() || this._setListOption("selectedItem", this.option("selectedItem")) }, _isCustomValueAllowed: function () { return this.option("acceptCustomValue") || this.callBase() }, _displayValue: function (e) { return e = !(0, o.isDefined)(e) && this._isCustomValueAllowed() ? this.option("value") : e, this.callBase(e) }, _listConfig: function () { var e = (0, s.extend)(this.callBase(), { pageLoadMode: "scrollBottom", onSelectionChanged: this._getSelectionChangeHandler(), selectedItem: this.option("selectedItem"), onFocusedItemChanged: this._listFocusedItemChangeHandler.bind(this) }); return this.option("showSelectionControls") && (0, s.extend)(e, { showSelectionControls: !0, selectionByClick: !0 }), e }, _listFocusedItemChangeHandler: function (e) { if (!this._preventInputValueRender) { var t = e.component, n = (0, i.default)(t.option("focusedElement")), a = t._getItemData(n); this._updateField(a) } }, _updateField: function (e) { if (!this._getTemplateByOption("fieldTemplate") || !this.option("fieldTemplate")) { var t = this._displayGetter(e); return this.option("text", t), void this._renderDisplayText(t) } this._renderField() }, _getSelectionChangeHandler: function () { return this.option("showSelectionControls") ? this._selectionChangeHandler.bind(this) : a.noop }, _selectionChangeHandler: function (e) { (0, l.each)(e.addedItems || [], function (e, t) { this._setValue(this._valueGetter(t)) }.bind(this)) }, _getActualSearchValue: function () { return this._dataSource.searchValue() }, _toggleOpenState: function (e) { if (!this.option("disabled")) { if ((e = arguments.length ? e : !this.option("opened")) || this._restoreInputText(!0), this._wasSearch() && e) { this._wasSearch(!1); var t = this.option("showDataBeforeSearch") || 0 === this.option("minSearchLength"); if (t && this._dataSource) { if (this._searchTimer) return; var n = this._getActualSearchValue(); n && this._wasSearch(!0), this._filterDataSource(n || null) } else this._setListOption("items", []) } e && this._scrollToSelectedItem(), this.callBase(e) } }, _renderTooltip: function () { this.option("tooltipEnabled") && this.$element().attr("title", this.option("displayValue")) }, _renderDimensions: function () { this.callBase(), this._dimensionChanged() }, _isValueEqualInputText: function () { var e = this.option("selectedItem"), t = this._displayGetter(e); return (t ? String(t) : "") === this._searchValue() }, _popupHidingHandler: function () { this._isValueEqualInputText() && this._cancelEditing(), this.callBase() }, _restoreInputText: function (e) { this.option("readOnly") || this._loadItemDeferred && this._loadItemDeferred.always(function () { var t = this.option("selectedItem"); this.option("acceptCustomValue") ? e || (this._updateField(t), this._clearFilter()) : this.option("searchEnabled") && !this._searchValue() && this.option("allowClearing") ? this._clearTextValue() : this._isValueEqualInputText() || this._renderInputValue().always(function (e) { var n = (0, a.ensureDefined)(e, t); this._setSelectedItem(n), this._updateField(n), this._clearFilter() }.bind(this)) }.bind(this)) }, _focusOutHandler: function (e) { if (!this._preventNestedFocusEvent(e)) { var t = this._isOverlayNestedTarget(e.relatedTarget); t || (this._restoreInputText(), this._clearSearchTimer()); var n = this._wasSearch() && !this.option("acceptCustomValue") && this.option("searchEnabled") && (this.option("opened") || this._wasTabPressed) && !t; this._wasTabPressed = void 0, n && this._searchCanceled() } e.target = this._input().get(0), this.callBase(e) }, _isOverlayNestedTarget: function (e) { return !!(0, i.default)(e).closest(".".concat("dx-selectbox-popup-wrapper")).length }, _clearTextValue: function () { this.option("selectedItem") && (this._savedTextRemoveEvent && this._saveValueChangeEvent(this._savedTextRemoveEvent), this.option("value", null)), delete this._savedTextRemoveEvent }, _shouldOpenPopup: function () { return this._needPassDataSourceToList() }, _isFocused: function () { var e = h.default.getActiveElement(); return this.callBase() && (0, i.default)(e).closest(this._input()).length > 0 }, _renderValueChangeEvent: function () { this._isEditable() && this.callBase() }, _isEditable: function () { return this.option("acceptCustomValue") || this.option("searchEnabled") }, _fieldRenderData: function () { var e = this._list && this.option("opened") && (0, i.default)(this._list.option("focusedElement")); return e && e.length ? this._list._getItemData(e) : this.option("selectedItem") }, _readOnlyPropValue: function () { return !this._isEditable() || this.option("readOnly") }, _isSelectedValue: function (e) { return this._isValueEquals(e, this.option("value")) }, _shouldCloseOnItemClick: function () { return !(this.option("showSelectionControls") && "single" !== this.option("selectionMode")) }, _listItemClickHandler: function (e) { var t = this._getCurrentValue(); this._focusListElement((0, i.default)(e.itemElement)), this._saveValueChangeEvent(e.event), this._shouldClearFilter() && this._clearFilter(), this._completeSelection(this._valueGetter(e.itemData)), this._shouldCloseOnItemClick() && this.option("opened", !1), this.option("searchEnabled") && t === this._valueGetter(e.itemData) && this._updateField(e.itemData) }, _shouldClearFilter: function () { return this._wasSearch() }, _completeSelection: function (e) { this._setValue(e) }, _loadItem: function (e, t) { var n = this, i = new d.Deferred; return this.callBase(e, t).done(function (e) { i.resolve(e) }.bind(this)).fail(function () { var t = n.option("selectedItem"); n.option("acceptCustomValue") && e === n._valueGetter(t) ? i.resolve(t) : i.reject() }.bind(this)), i.promise() }, _loadInputValue: function (e, t) { return this._loadItemDeferred = this._loadItem(e).always(t), this._loadItemDeferred }, _isCustomItemSelected: function () { var e = this.option("selectedItem"), t = this._searchValue(), n = this._displayGetter(e); return !n || t !== n.toString() }, _valueChangeEventHandler: function (e) { this.option("acceptCustomValue") && this._isCustomItemSelected() && !this._isValueChanging && (this._isValueChanging = !0, this._customItemAddedHandler(e), this._isValueChanging = !1) }, _initCustomItemCreatingAction: function () { this._customItemCreatingAction = this._createActionByOption("onCustomItemCreating") }, _createCustomItem: function (e) { var t = { text: e }, n = this._customItemCreatingAction(t), i = (0, a.ensureDefined)(n, t.customItem); return (0, o.isDefined)(n) && u.default.log("W0015", "onCustomItemCreating", "customItem"), i }, _customItemAddedHandler: function (e) { var t = this._searchValue(), n = this._createCustomItem(t); if (this._saveValueChangeEvent(e), void 0 === n) throw this._renderValue(), u.default.Error("E0121"); (0, o.isPromise)(n) ? (0, d.fromPromise)(n).done(this._setCustomItem.bind(this)).fail(this._setCustomItem.bind(this, null)) : this._setCustomItem(n) }, _setCustomItem: function (e) { this._disposed || (e = e || null, this.option("selectedItem", e), this._shouldClearFilter() && this._filterDataSource(null), this._setValue(this._valueGetter(e)), this._renderDisplayText(this._displayGetter(e))) }, _clearValueHandler: function (e) { return this.callBase(e), !1 }, _wasSearch: function (e) { if (!arguments.length) return this._wasSearchValue; this._wasSearchValue = e }, _searchHandler: function (e) { this._preventFiltering ? delete this._preventFiltering : (this._needPassDataSourceToList() && this._wasSearch(!0), this.callBase(e)) }, _dataSourceFiltered: function (e) { this.callBase(), null !== e && (this._renderInputSubstitution(), this._renderFocusedElement()) }, _valueSubstituted: function () { var e = this._input().get(0), t = 0 === e.selectionStart && e.selectionEnd === this._searchValue().length, n = e.selectionStart !== e.selectionEnd; return this._wasSearch() && n && !t }, _shouldSubstitutionBeRendered: function () { return !this._preventSubstitution && this.option("searchEnabled") && !this.option("acceptCustomValue") && "startswith" === this.option("searchMode") }, _renderInputSubstitution: function () { if (this._shouldSubstitutionBeRendered()) { var e = this._list && this._getPlainItems(this._list.option("items"))[0]; if (e) { var t = this._input(), n = t.val().length; if (0 !== n) { var i = t.get(0), a = this._displayGetter(e).toString(); i.value = a, this._caret({ start: n, end: a.length }) } } } else delete this._preventSubstitution }, _cleanInputSelection: function () { var e = this._input().get(0), t = e.value.length; e.selectionStart = t, e.selectionEnd = t }, _dispose: function () { this._renderInputValueAsync = a.noop, delete this._loadItemDeferred, this.callBase() }, _optionChanged: function (e) { switch (e.name) { case "onCustomItemCreating": this._initCustomItemCreatingAction(); break; case "tooltipEnabled": this._renderTooltip(); break; case "displayCustomValue": case "acceptCustomValue": case "showSelectionControls": case "useInkRipple": this._invalidate(); break; case "allowClearing": break; default: this.callBase(e) } }, _clean: function () { delete this._inkRipple, this.callBase() } }); (0, g.default)("dxSelectBox", y); var w = y; t.default = w, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(5)), o = n(4), s = l(n(13)), r = l(n(32)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = s.default.abstract, c = s.default.inherit({ ctor: function (e) { this.dateBox = e }, widgetOption: function () { return this._widget && this._widget.option.apply(this._widget, arguments) }, _renderWidget: function (e) { e = e || (0, i.default)("<div>"), this._widget = this._createWidget(e), this._widget.$element().appendTo(this._getWidgetContainer()) }, _createWidget: function (e) { var t = this._getWidgetName(), n = this._getWidgetOptions(); return this.dateBox._createComponent(e, t, n) }, _getWidgetOptions: d, _getWidgetName: d, getDefaultOptions: function () { return { mode: "text" } }, getDisplayFormat: d, supportedKeys: o.noop, getKeyboardListener: o.noop, customizeButtons: o.noop, getParsedText: function (e, t) { var n = r.default.parse(e, t); return n || r.default.parse(e) }, renderInputMinMax: o.noop, renderOpenedState: function () { this._updateValue() }, popupConfig: d, _dimensionChanged: function () { var e; null === (e = this._getPopup()) || void 0 === e || e.repaint() }, renderPopupContent: function () { var e = this._getPopup(); this._renderWidget(); var t = e.$content().parent(); a.default.off(t, "mousedown"), a.default.on(t, "mousedown", this._preventFocusOnPopup.bind(this)) }, getFirstPopupElement: o.noop, getLastPopupElement: o.noop, _preventFocusOnPopup: function (e) { e.preventDefault() }, _getWidgetContainer: function () { return this._getPopup().$content() }, _getPopup: function () { return this.dateBox._popup }, popupShowingHandler: o.noop, popupHiddenHandler: o.noop, _updateValue: function () { this._widget && this._widget.option("value", this.dateBoxValue()) }, useCurrentDateByDefault: o.noop, getDefaultDate: function () { return new Date }, textChangedHandler: o.noop, renderValue: function () { this.dateBox.option("opened") && this._updateValue() }, getValue: function () { return this._widget.option("value") }, isAdaptivityChanged: function () { return !1 }, dispose: function () { var e = this._getPopup(); e && e.$content().empty() }, dateBoxValue: function () { return arguments.length ? this.dateBox.dateValue.apply(this.dateBox, arguments) : this.dateBox.dateOption.apply(this.dateBox, ["value"]) } }); t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.getGroupCriteria = C, t.setGroupValue = function (e, t) { !function (e, t) { !function (e) { return -1 !== e.indexOf("!") }(t) ? b(e) && function (e) { var t = C(e); e.length = 0, [].push.apply(e, t) }(e) : b(e) || function (e) { var t = e.slice(0); e.length = 0, e.push("!", t) }(e) }(e, t); var n, i = C(e); return t = function (e) { return -1 === e.indexOf("!") ? e : e.substring(1) }(t), function (e, t) { for (n = 0; n < e.length; n++)Array.isArray(e[n]) || (e[n] = t) }(i, t), e }, t.getGroupMenuItem = function (e, t) { var n = I(e); return t.filter((function (e) { return e.value === n }))[0] }, t.getGroupValue = I, t.getFilterOperations = S, t.getCaptionByOperation = E, t.getOperationFromAvailable = function (e, t) { for (var n = 0; n < t.length; n++)if (t[n].value === e) return t[n]; throw new l.default.Error("E1048", e) }, t.getCustomOperation = D, t.getAvailableOperations = function (e, t, n) { var i = S(e), a = !!e.lookup; return n.forEach((function (t) { if (!e.filterOperations && -1 === i.indexOf(t.name)) { var n = t && t.dataTypes; !(!!a && !!t.notForLookup) && n && n.indexOf(e.dataType || "string") >= 0 && i.push(t.name) } })), i.map((function (e) { var i = D(n, e); return i ? { icon: i.icon || "icon-none", text: i.caption || (0, h.captionize)(i.name), value: i.name, isCustom: !0 } : { icon: m.default.getIconByFilterOperation(e) || "icon-none", text: E(e, t), value: e } })) }, t.getDefaultOperation = T, t.createCondition = function (e, t) { var n = [e.dataField, "", ""], i = T(e); return G(n, i, t), n }, t.removeItem = A, t.createEmptyGroup = function (e) { return -1 !== e.indexOf("not") ? ["!", [e.substring(3).toLowerCase()]] : [e] }, t.isEmptyGroup = function (e) { var t = C(e); if (M(t)) return !1; return !t.some((function (e) { return M(e) })) }, t.addItem = function (e, t) { var n = C(t), i = I(n); return 1 === n.length ? n.unshift(e) : n.push(e, i), t }, t.getField = O, t.isGroup = B, t.isCondition = M, t.convertToInnerStructure = F, t.getNormalizedFields = function (e) { return e.reduce((function (e, t) { if ((0, s.isDefined)(t.dataField)) { var n = {}; for (var i in t) t[i] && x.indexOf(i) > -1 && (n[i] = t[i]); n.defaultCalculateFilterExpression = d.default.defaultCalculateFilterExpression, (0, s.isDefined)(n.dataType) || (n.dataType = "string"), (0, s.isDefined)(n.trueText) || (n.trueText = p.default.format("dxDataGrid-trueText")), (0, s.isDefined)(n.falseText) || (n.falseText = p.default.format("dxDataGrid-falseText")), e.push(n) } return e }), []) }, t.getFilterExpression = function e(t, n, i, a) { if (!(0, s.isDefined)(t)) return null; if (b(t)) { return ["!", e(t[1], n, i, a)] } var o = C(t); if (M(o)) return V(o, n, i, a) || null; for (var r, l = [], d = I(o), c = 0; c < o.length; c++)B(o[c]) ? (r = e(o[c], n, i, a)) && (c && l.push(d), l.push(r)) : M(o[c]) && (r = V(o[c], n, i, a)) && (l.length && l.push(d), l.push(r)); return 1 === l.length && (l = l[0]), l.length ? l : null }, t.getNormalizedFilter = function e(t) { var n, i = C(t); if (0 === i.length) return null; var a = []; for (n = 0; n < i.length; n++)if (B(i[n])) { var o = e(i[n]); o ? i[n] = o : a.push(i[n]) } else M(i[n]) && (U(i[n]) || a.push(i[n])); for (n = 0; n < a.length; n++)A(i, a[n]); if (1 === i.length) return null; i.splice(i.length - 1, 1), 1 === i.length && (t = function (e, t) { b(e) ? e[1] = t : e = t; return e }(t, i[0])); if (0 === t.length) return null; return t }, t.getCurrentLookupValueText = function (e, t, n) { if ("" === t) return void n(""); var i = e.lookup; if (i.items) n(i.calculateCellValue(t) || ""); else { var a = (0, s.isFunction)(i.dataSource) ? i.dataSource({}) : i.dataSource; new g.DataSource(a).loadSingle(i.valueExpr, t).done((function (e) { n(e ? i.displayExpr ? (0, r.compileGetter)(i.displayExpr)(e) : e : "") })).fail((function () { n("") })) } }, t.getCurrentValueText = function (e, t, n) { var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : "filterBuilder"; if (H(t)) return ""; if (Array.isArray(t)) { var o = new a.Deferred; return a.when.apply(this, L(e, t, n, i)).done((function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; var i = t.some((function (e) { return !H(e) })) ? t.map((function (e) { return H(e) ? "?" : e })) : ""; o.resolve(i) })), o } return q(e, t, n, i) }, t.getItems = $, t.getCaptionWithParents = function e(t, n) { if (j(t.dataField)) for (var i = K(t.dataField), a = 0; a < n.length; a++)if (n[a].dataField === i) return e(n[a], n) + "." + t.caption; return t.caption }, t.updateConditionByOperation = G, t.getOperationValue = function (e) { var t; t = null === e[2] ? "=" === e[1] ? "isblank" : "isnotblank" : e[1]; return t }, t.isValidCondition = U, t.getMergedOperations = function (e, t, n) { var i = (0, u.extend)(!0, [], e), a = -1; i.some((function (e, t) { if ("between" === e.name) return a = t, !0 })), -1 !== a ? i[a] = (0, u.extend)((0, f.getConfig)(t, n), i[a]) : i.unshift((0, f.getConfig)(t, n)); return i }, t.removeFieldConditionsFromFilter = function (e, t) { if (!e || 0 === e.length) return null; return M(e) ? Y(e, t) ? null : e : X(e, [t], !1) }, t.syncFilters = function (e, t) { if (null === e || 0 === e.length) return t; if (M(e)) return Y(e, t[0]) ? t : [e, "and", t]; if ("and" !== I(e)) return [t, "and", e]; return X(e, t, !0) }, t.getMatchedConditions = function (e, t) { if (null === e || 0 === e.length) return []; if (M(e)) return Y(e, t) ? [e] : []; if ("and" !== I(e)) return []; return e.filter((function (e) { return M(e) && Y(e, t) })) }, t.filterHasField = function e(t, n) { if (null === t || 0 === t.length) return !1; if (M(t)) return t[0] === n; return t.some((function (t) { return (M(t) || B(t)) && e(t, n) })) }, t.renderValueText = void 0; var i = _(n(2)), a = n(6), o = _(n(33)), s = n(0), r = n(20), l = _(n(17)), d = _(n(109)), c = _(n(104)), u = n(1), h = n(43), f = n(478), p = _(n(10)), g = n(52), m = _(n(479)); function _(e) { return e && e.__esModule ? e : { default: e } } var v = { number: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], string: ["contains", "notcontains", "startswith", "endswith", "=", "<>", "isblank", "isnotblank"], date: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], datetime: ["=", "<>", "<", ">", "<=", ">=", "isblank", "isnotblank"], boolean: ["=", "<>", "isblank", "isnotblank"], object: ["isblank", "isnotblank"] }, y = { date: "shortDate", datetime: "shortDateShortTime" }, w = ["=", "<>", "isblank", "isnotblank"], x = ["caption", "customizeText", "dataField", "dataType", "editorTemplate", "falseText", "editorOptions", "filterOperations", "format", "lookup", "trueText", "calculateFilterExpression", "name"]; function b(e) { return e && e.length > 1 && "!" === e[0] && !M(e) } function C(e) { return b(e) ? e[1] : e } function k(e) { if (M(e)) return "and"; for (var t = "", n = 0; n < e.length; n++) { var i = e[n]; if (!Array.isArray(i)) { if (t && t !== i) throw new o.default.errors.Error("E4019"); "!" !== i && (t = i) } } return t } function I(e) { var t = C(e), n = k(t); return n || (n = "and"), t !== e && (n = "!" + n), n } function S(e) { var t, n = (t = e.filterOperations, Array.isArray(t) && t.length ? e.filterOperations : function (e) { return e.lookup && w || v[e.dataType || "string"] }(e)); return (0, u.extend)([], n) } function E(e, t) { var n = m.default.getNameByFilterOperation(e); return t && t[n] ? t[n] : n } function D(e, t) { var n = e.filter((function (e) { return e.name === t })); return n.length ? n[0] : null } function T(e) { return e.defaultFilterOperation || S(e)[0] } function A(e, t) { var n = C(e), i = n.indexOf(t); return n.splice(i, 1), 1 !== n.length && n.splice(i, 1), e } function O(e, t) { for (var n = 0; n < t.length; n++) { if (t[n].name === e) return t[n]; if (t[n].dataField.toLowerCase() === e.toLowerCase()) return t[n] } var i = $(t, !0).filter((function (t) { return t.dataField.toLowerCase() === e.toLowerCase() })); if (i.length > 0) return i[0]; throw new l.default.Error("E1047", e) } function B(e) { return !!Array.isArray(e) && (e.length < 2 || Array.isArray(e[0]) || Array.isArray(e[1])) } function M(e) { return !!Array.isArray(e) && (e.length > 1 && !Array.isArray(e[0]) && !Array.isArray(e[1])) } function P(e, t) { for (var n = k(e).toLowerCase() || "and", i = [], a = 0; a < e.length; a++)B(e[a]) ? (i.push(F(e[a], t)), i.push(n)) : M(e[a]) && (i.push(R(e[a], t)), i.push(n)); return 0 === i.length && i.push(n), i } function R(e, t) { return function (e, t) { var n = D(t, e[1]); return n && n.name === e[1] }(e, t) ? e : (e.length < 3 && (e[2] = e[1], e[1] = "="), e) } function F(e, t) { return e ? M(e = (0, u.extend)(!0, [], e)) ? [R(e, t), "and"] : b(e) ? ["!", M(e[1]) ? [R(e[1], t), "and"] : b(e[1]) ? [F(e[1], t), "and"] : P(e[1], t)] : P(e, t) : ["and"] } function V(e, t, n, i) { var a = O(e[0], t), o = R(e, n), s = n.length && D(n, o[1]); return s && s.calculateFilterExpression ? s.calculateFilterExpression.apply(s, [o[2], a, t]) : a.createFilterExpression ? a.createFilterExpression.apply(a, [o[2], o[1], i]) : a.calculateFilterExpression ? a.calculateFilterExpression.apply(a, [o[2], o[1], i]) : a.defaultCalculateFilterExpression.apply(a, [o[2], o[1], i]) } function q(e, t, n, i) { var a; return a = !0 === t ? e.trueText || p.default.format("dxDataGrid-trueText") : !1 === t ? e.falseText || p.default.format("dxDataGrid-falseText") : function (e, t) { var n = e.format || y[e.dataType]; return c.default.format(t, n) }(e, t), e.customizeText && (a = e.customizeText.call(e, { value: t, valueText: a, target: i })), n && n.customizeText && (a = n.customizeText.call(n, { value: t, valueText: a, field: e, target: i })), a } function L(e, t, n, i) { return t.map((function (t) { return q(e, t, n, i) })) } function H(e) { return "" === e || null === e } function z(e, t) { return e.some((function (e) { return e.dataField === t })) } function N(e, t, n) { var i = n.dataField; j(i) && (n.parentId = K(i), z(t, n.parentId) || z(e, n.parentId) || N(e, t, { id: n.parentId, dataType: "object", dataField: n.parentId, caption: W(n.parentId, !0), filterOperations: ["isblank", "isnotblank"] })), t.push(n) } function W(e, t) { var n = ""; if (t) e = e.substring(e.lastIndexOf(".") + 1); else if (j(e)) return e.split(".").forEach((function (e, t, i) { n += (0, h.captionize)(e), t !== i.length - 1 && (n += ".") })), n; return (0, h.captionize)(e) } function $(e, t) { for (var n = [], i = 0; i < e.length; i++) { var a = (0, u.extend)(!0, { caption: W(e[i].dataField, t) }, e[i]); a.id = a.name || a.dataField, t ? N(e, n, a) : n.push(a) } return n } function j(e) { return -1 !== e.lastIndexOf(".") } function K(e) { return e.substring(0, e.lastIndexOf(".")) } function G(e, t, n) { var i = D(n, t); return i ? (!1 === i.hasValue ? (e[1] = t, e.length = 2) : (e[1] = t, e[2] = ""), e) : ("isblank" === t ? (e[1] = "=", e[2] = null) : "isnotblank" === t ? (e[1] = "<>", e[2] = null) : (((i = D(n, e[1])) || 2 === e.length || null === e[2]) && (e[2] = ""), e[1] = t), e) } function U(e) { return "" !== e[2] } function Y(e, t) { return e[0] === t } function X(e, t, n) { var i = []; return e.forEach((function (e) { M(e) ? Y(e, t[0]) ? n ? (i.push(t), n = !1) : i.splice(i.length - 1, 1) : i.push(e) : (i.length || B(e)) && i.push(e) })), 0 === i.length ? null : (n && (i.push("and"), i.push(t)), 1 === i.length ? i[0] : i) } t.renderValueText = function (e, t, n) { if (Array.isArray(t)) { var a = t.length - 1; e.empty(), t.forEach((function (t, o) { (0, i.default)("<span>").addClass("dx-filterbuilder-text-part").text(t).appendTo(e), o !== a && (0, i.default)("<span>").addClass("dx-filterbuilder-text-separator").text(n && n.valueSeparator ? n.valueSeparator : "|").addClass("dx-filterbuilder-text-separator-empty").appendTo(e) })) } else t ? e.text(t) : e.text(p.default.format("dxFilterBuilder-enterValueText")) } }, function (e, t, n) { "use strict"; t.getTheme = m, t.currentTheme = y, t.registerTheme = function (e, t) { var n = (0, s.normalizeEnum)(e && e.name); n && (e.isDefault && (i = n), function (e, t) { var n = function (e, t) { var n = e.indexOf(t); return n > 0 ? { name: e.substring(0, n), scheme: e.substring(n + 1) } : null }(e, ".") || { name: e }, i = n.name, a = n.scheme; a ? (d[i] = d[i] || t, d[i + "." + a] = t) : d[i] = t }(n, n), l[n] = u(!0, {}, m(t), function (e) { return w((e = u(!0, { loadingIndicator: { font: {} }, export: { font: {} }, legend: { font: {}, border: {} }, title: { font: {} }, tooltip: { font: {} }, "chart:common": {}, "chart:common:axis": { grid: {}, minorGrid: {}, tick: {}, minorTick: {}, title: { font: {} }, label: { font: {} } }, "chart:common:annotation": { font: {}, border: {} }, chart: { commonSeriesSettings: { candlestick: {} } }, pie: {}, polar: {}, gauge: { scale: { tick: {}, minorTick: {}, label: { font: {} } } }, barGauge: {}, funnel: {}, sankey: {}, map: { background: {} }, treeMap: { tile: { selectionStyle: { border: {} } }, group: { border: {}, selectionStyle: { border: {} }, label: { font: {} } } }, rangeSelector: { scale: { tick: {}, minorTick: {}, label: { font: {} } }, chart: {} }, sparkline: {}, bullet: {} }, e)).loadingIndicator, "backgroundColor", e), w(e.chart.commonSeriesSettings.candlestick, "innerColor", null, e.backgroundColor), w(e.map.background, "color", null, e.backgroundColor), w(e.title.font, "color", null, e.primaryTitleColor), x(e.title, "subtitle", null, e.title), w(e.legend.font, "color", null, e.secondaryTitleColor), w(e.legend.border, "color", null, e.gridColor), function (e) { var t = e["chart:common:axis"]; h([t.grid, t.minorGrid], (function (t, n) { w(n, "color", null, e.gridColor) })), h([t, t.tick, t.minorTick, t.label.font], (function (t, n) { w(n, "color", null, e.axisColor) })), w(t.title.font, "color", null, e.secondaryTitleColor), w(e.gauge.scale.label.font, "color", null, e.axisColor), w(e.gauge.scale.tick, "color", null, e.backgroundColor), w(e.gauge.scale.minorTick, "color", null, e.backgroundColor), w(e.rangeSelector.scale.label.font, "color", null, e.axisColor) }(e), h(["chart", "pie", "polar", "gauge", "barGauge", "map", "treeMap", "funnel", "rangeSelector", "sparkline", "bullet", "sankey"], (function (t, n) { w(e[n], "redrawOnResize", e), w(e[n], "containerBackgroundColor", null, e.backgroundColor), x(e[n], "tooltip", e), x(e[n], "export", e) })), h(["chart", "pie", "polar", "gauge", "barGauge", "map", "treeMap", "funnel", "rangeSelector", "sankey"], (function (t, n) { x(e[n], "loadingIndicator", e), x(e[n], "legend", e), x(e[n], "title", e) })), h(["chart", "pie", "polar"], (function (t, n) { x(e, n, null, e["chart:common"]) })), h(["chart", "polar"], (function (t, n) { e[n] = e[n] || {}, x(e[n], "commonAxisSettings", null, e["chart:common:axis"]) })), h(["chart", "polar", "map", "pie"], (function (t, n) { e[n] = e[n] || {}, x(e[n], "commonAnnotationSettings", null, e["chart:common:annotation"]) })), x(e.rangeSelector.chart, "commonSeriesSettings", e.chart), x(e.rangeSelector.chart, "dataPrepareSettings", e.chart), w(e.treeMap.group.border, "color", null, e.gridColor), w(e.treeMap.tile.selectionStyle.border, "color", null, e.primaryTitleColor), w(e.treeMap.group.selectionStyle.border, "color", null, e.primaryTitleColor), w(e.map.legend, "backgroundColor", e), function (e) { var t = e.map; h(["area", "line", "marker"], (function (e, n) { x(t, "layer:" + n, null, t.layer) })), h(["dot", "bubble", "pie", "image"], (function (e, n) { x(t, "layer:marker:" + n, null, t["layer:marker"]) })) }(e), e }(e))) }, t.registerThemeSchemeAlias = function (e, t) { c[e] = t }, t.addCacheItem = function (e) { var t = ++p; e._cache = t, g[t] = e }, t.removeCacheItem = function (e) { delete g[e._cache] }, t.refreshTheme = function () { return h(g, (function () { this.refresh() })), this }; var i, a = n(1), o = n(3), s = n(167), r = n(34), l = {}, d = {}, c = {}, u = a.extend, h = o.each, f = null, p = 0, g = {}; function m(e) { var t = (0, s.normalizeEnum)(e); return l[t] || l[d[t] || y()] } function _(e, t) { return d[e + "." + t] || c[e + "." + t] || d[e] } function v(e, t, n) { return _(e + t, n) || _(e, n) } function y(e, t) { if (!arguments.length) return f || _((0, r.current)()) || i; var n = (0, s.normalizeEnum)(t); return f = (e && e.platform ? v((0, s.normalizeEnum)(e.platform), e.version, n) : _((0, s.normalizeEnum)(e), n)) || f, this } function w(e, t, n, i) { var a = n ? n[t] : i; void 0 !== a && void 0 === e[t] && (e[t] = a) } function x(e, t, n, i) { var a = n ? n[t] : i; void 0 !== a && (e[t] = u(!0, {}, a, e[t])) } }, function (e, t, n) { "use strict"; t.currentPalette = g, t.generateColors = function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : { keepLastColorInEnd: !1 }; return n.type = n.baseColorSet, n.extensionMode = n.paletteExtensionMode, x(e, n).generateColors(t) }, t.getPalette = m, t.registerPalette = function (e, t) { var n, i = {}; f(t) ? i.simpleSet = t.slice(0) : t && (i.simpleSet = f(t.simpleSet) ? t.simpleSet.slice(0) : void 0, i.indicatingSet = f(t.indicatingSet) ? t.indicatingSet.slice(0) : void 0, i.gradientSet = f(t.gradientSet) ? t.gradientSet.slice(0) : void 0, i.accentColor = t.accentColor); i.accentColor || (i.accentColor = i.simpleSet && i.simpleSet[0]); (i.simpleSet || i.indicatingSet || i.gradientSet) && (n = (0, o.normalizeEnum)(e), (0, s.extend)(p[n] = p[n] || {}, i)) }, t.getAccentColor = function (e, t) { return (e = m(e, { themeDefault: t })).accentColor || e[0] }, t.createPalette = x, t.getDiscretePalette = function (e, t, n) { var i = t > 0 ? function (e, t) { var n, i = t - 1, a = e.length - 1, o = [], s = []; function l(e) { var t = a * e, n = u(t), i = h(t); s.push(o[n].blend(o[i], t - n).toHex()) } for (n = 0; n <= a; ++n)o.push(new r.default(e[n])); if (i > 0) for (n = 0; n <= i; ++n)l(n / i); else l(.5); return s }(m(e, { type: "gradientSet", themeDefault: n }), t) : []; return { getColor: function (e) { return i[e] || null } } }, t.getGradientPalette = function (e, t) { var n = m(e, { type: "gradientSet", themeDefault: t }), i = new r.default(n[0]), a = new r.default(n[1]); return { getColor: function (e) { return 0 <= e && e <= 1 ? i.blend(a, e).toHex() : null } } }; var i, a, o = n(167), s = n(1), r = (i = n(117)) && i.__esModule ? i : { default: i }, l = n(0); function d(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var c, u = Math.floor, h = Math.ceil, f = Array.isArray, p = (d(a = {}, "material", { simpleSet: ["#1db2f5", "#f5564a", "#97c95c", "#ffc720", "#eb3573", "#a63db8"], indicatingSet: ["#97c95c", "#ffc720", "#f5564a"], gradientSet: ["#1db2f5", "#97c95c"], accentColor: "#1db2f5" }), d(a, "office", { simpleSet: ["#5f8b95", "#ba4d51", "#af8a53", "#955f71", "#859666", "#7e688c"], indicatingSet: ["#a3b97c", "#e1b676", "#ec7f83"], gradientSet: ["#5f8b95", "#ba4d51"], accentColor: "#ba4d51" }), d(a, "harmony light", { simpleSet: ["#fcb65e", "#679ec5", "#ad79ce", "#7abd5c", "#e18e92", "#b6d623", "#b7abea", "#85dbd5"], indicatingSet: ["#b6d623", "#fcb65e", "#e18e92"], gradientSet: ["#7abd5c", "#fcb65e"], accentColor: "#679ec5" }), d(a, "soft pastel", { simpleSet: ["#60a69f", "#78b6d9", "#6682bb", "#a37182", "#eeba69", "#90ba58", "#456c68", "#7565a4"], indicatingSet: ["#90ba58", "#eeba69", "#a37182"], gradientSet: ["#78b6d9", "#eeba69"], accentColor: "#60a69f" }), d(a, "pastel", { simpleSet: ["#bb7862", "#70b3a1", "#bb626a", "#057d85", "#ab394b", "#dac599", "#153459", "#b1d2c6"], indicatingSet: ["#70b3a1", "#dac599", "#bb626a"], gradientSet: ["#bb7862", "#70b3a1"], accentColor: "#bb7862" }), d(a, "bright", { simpleSet: ["#70c92f", "#f8ca00", "#bd1550", "#e97f02", "#9d419c", "#7e4452", "#9ab57e", "#36a3a6"], indicatingSet: ["#70c92f", "#f8ca00", "#bd1550"], gradientSet: ["#e97f02", "#f8ca00"], accentColor: "#e97f02" }), d(a, "soft", { simpleSet: ["#cbc87b", "#9ab57e", "#e55253", "#7e4452", "#e8c267", "#565077", "#6babac", "#ad6082"], indicatingSet: ["#9ab57e", "#e8c267", "#e55253"], gradientSet: ["#9ab57e", "#e8c267"], accentColor: "#565077" }), d(a, "ocean", { simpleSet: ["#75c099", "#acc371", "#378a8a", "#5fa26a", "#064970", "#38c5d2", "#00a7c6", "#6f84bb"], indicatingSet: ["#c8e394", "#7bc59d", "#397c8b"], gradientSet: ["#acc371", "#38c5d2"], accentColor: "#378a8a" }), d(a, "vintage", { simpleSet: ["#dea484", "#efc59c", "#cb715e", "#eb9692", "#a85c4c", "#f2c0b5", "#c96374", "#dd956c"], indicatingSet: ["#ffe5c6", "#f4bb9d", "#e57660"], gradientSet: ["#efc59c", "#cb715e"], accentColor: "#cb715e" }), d(a, "violet", { simpleSet: ["#d1a1d1", "#eeacc5", "#7b5685", "#7e7cad", "#a13d73", "#5b41ab", "#e287e2", "#689cc1"], indicatingSet: ["#d8e2f6", "#d0b2da", "#d56a8a"], gradientSet: ["#eeacc5", "#7b5685"], accentColor: "#7b5685" }), d(a, "carmine", { simpleSet: ["#fb7764", "#73d47f", "#fed85e", "#d47683", "#dde392", "#757ab2"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#fb7764", "#73d47f"], accentColor: "#f05b41" }), d(a, "dark moon", { simpleSet: ["#4ddac1", "#f4c99a", "#80dd9b", "#f998b3", "#4aaaa0", "#a5aef1"], indicatingSet: ["#59d8a4", "#f0ad4e", "#f9517e"], gradientSet: ["#4ddac1", "#f4c99a"], accentColor: "#3debd3" }), d(a, "soft blue", { simpleSet: ["#7ab8eb", "#97da97", "#facb86", "#e78683", "#839bda", "#4db7be"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#7ab8eb", "#97da97"], accentColor: "#7ab8eb" }), d(a, "dark violet", { simpleSet: ["#9c63ff", "#64c064", "#eead51", "#d2504b", "#4b6bbf", "#2da7b0"], indicatingSet: ["#5cb85c", "#f0ad4e", "#d9534f"], gradientSet: ["#9c63ff", "#64c064"], accentColor: "#9c63ff" }), d(a, "green mist", { simpleSet: ["#3cbab2", "#8ed962", "#5b9d95", "#efcc7c", "#f1929f", "#4d8dab"], indicatingSet: ["#72d63c", "#ffc852", "#f74a5e"], gradientSet: ["#3cbab2", "#8ed962"], accentColor: "#3cbab2" }), a); function g(e) { if (void 0 === e) return c || "material"; e = (0, o.normalizeEnum)(e), c = e in p ? e : void 0 } function m(e, t) { var n; t = t || {}, e = e || (void 0 === c ? t.themeDefault : g()); var i = t.type; return f(e) ? e.slice(0) : ((0, l.isString)(e) && (n = p[(0, o.normalizeEnum)(e)]), n || (n = p[g()]), i ? n[i].slice(0) : n) } function _(e) { var t = 0; this.next = function () { var n = e[t++]; return t === e.length && this.reset(), n }, this.reset = function () { t = 0 } } function v(e, t) { var n = t.useHighlight ? 50 : 0, i = new _([0, n, -n]), a = []; function o() { var t = i.next(); a = t ? function (e, t) { var n, i = [], a = e.length; for (n = 0; n < a; ++n)i.push(b(e[n], t)); return i }(e, t) : e.slice(0) } return { getColor: function (t) { var n = a[t % e.length]; return t % e.length == e.length - 1 && o(), n }, generateColors: function (e) { var n = []; e = e || t.count; for (var i = 0; i < e; i++)n.push(this.getColor(i)); return n }, reset: function () { i.reset(), o() } } } function y(e, t) { return { getColor: function (t, n) { var i = e.length, a = u((n - 1) / i + 1), o = e[t % i]; return a > 1 ? function (e, t, n) { var i = new r.default(e).hsl, a = i.l / 100, o = n - 1 / n, s = a - .5 * o, l = a + .5 * o, d = (n - 1) / 2, c = t - d; return s < Math.min(.5, .9 * a) && (s = Math.min(.5, .9 * a)), l > Math.max(.8, a + .15 * (1 - a)) && (l = Math.max(.8, a + .15 * (1 - a))), c < 0 ? a -= (s - a) * c / d : a += c / d * (l - a), i.l = 100 * a, r.default.prototype.fromHSL(i).toHex() }(o, u(t / i), a) : o }, generateColors: function (e) { var n = []; e = e || t.count; for (var i = 0; i < e; i++)n.push(this.getColor(i, e)); return n }, reset: function () { } } } function w(e, t) { var n = e.length, i = []; function a(e, t, n, i) { for (var a, o, s = Math.floor(e / t), r = e - t * s, l = n; l < n + e;)o = s, r > 0 && (o += 1, r--), a = o > 2 ? Math.floor(o / 2) : 0, i.push(l + a), l += o; return i.sort((function (e, t) { return e - t })) } function o(e, t, n) { for (var i = 0, a = t = (n + t) % n; a < 2 * n; a += 1) { var o = (n + a) % n; if (e[o]) return [e[o], i]; i++ } } function s(i) { if (i <= n) return e; var s = [], l = n - 2, d = 0, c = []; c = t.keepLastColorInEnd ? a(i - 2, l, 1, [0, i - 1]) : a(i - 1, n - 1, 1, [0]); for (var u = 0; u < i; u++)c.indexOf(u) > -1 && (s[u] = e[d++]); return s = function (e, t) { for (var n = 0; n < t; n++) { if (!e[n]) { var i = e[n - 1]; if (!i) continue; var a = o(e, n, t), s = new r.default(a[0]); i = new r.default(i); for (var l = 0; l < a[1]; l++, n++)e[n] = i.blend(s, (l + 1) / (a[1] + 1)).toHex() } } return e }(s, i) } return { getColor: function (e, a) { return a = a || t.count || n, i.length !== a && (i = s(a)), i[e % a] }, generateColors: function (e, i) { if (e = e || t.count || n, i && e > n) { for (var a = s(n), o = 0; o < e - n; o++)a.push(a[o]); return a } return n > 0 ? s(e).slice(0, e) : [] }, reset: function () { } } } function x(e, t, n) { var i = { dispose: function () { this._extensionStrategy = null }, getNextColor: function (e) { return this._extensionStrategy.getColor(this._currentColor++, e) }, generateColors: function (e, t) { return this._extensionStrategy.generateColors(e, (t || {}).repeat) }, reset: function () { return this._currentColor = 0, this._extensionStrategy.reset(), this } }, a = ((t = t || {}).extensionMode || "").toLowerCase(), o = m(e, { type: t.type || "simpleSet", themeDefault: n }); return i._extensionStrategy = "alternate" === a ? v(o, t) : "extrapolate" === a ? y(o, t) : w(o, t), i.reset(), i } function b(e, t) { var n, i = new r.default(e).alter(t), a = .3 * (n = i).r + .59 * n.g + .11 * n.b; return (a > 200 || a < 55) && (i = new r.default(e).alter(-t / 2)), i.toHex() } }, function (e, t, n) { "use strict"; t.default = void 0; t.default = "20.2.5", e.exports = t.default }, function (e, t, n) { "use strict"; t.export = function (e, t, n) { if (!e) return (new d.Deferred).resolve(); var i = t.exportingAction, o = t.exportedAction, s = t.fileSavingAction, r = { fileName: t.fileName, format: t.format, cancel: !1 }; if ((0, l.isFunction)(i) && i(r), !r.cancel) return n(e, t).then((function (e) { (0, l.isFunction)(o) && o(), (0, l.isFunction)(s) && (r.data = e, s(r)), r.cancel || a.fileSaver.saveAs(r.fileName, t.format, e, t.proxyUrl, t.forceProxy) })); return (new d.Deferred).resolve() }, Object.defineProperty(t, "fileSaver", { enumerable: !0, get: function () { return a.fileSaver } }), t.svg = t.pdf = t.image = t.excel = void 0; var i, a = n(169), o = n(246), s = n(182), r = n(259), l = n(0), d = n(6), c = (i = n(173)) && i.__esModule ? i : { default: i }, u = n(261); var h = { creator: o.ExcelCreator, getData: o.getData, formatConverter: c.default }; t.excel = h; var f = { creator: s.imageCreator, getData: s.getData, testFormats: s.testFormats }; t.image = f; var p = { getData: u.getData }; t.pdf = p; var g = { creator: r.svgCreator, getData: r.getData }; t.svg = g }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(14), a = n(7), o = (0, a.hasWindow)() ? (0, a.getWindow)().WeakMap : WeakMap; o || (o = function () { var e = [], t = []; this.set = function (n, a) { var o = (0, i.inArray)(n, e); -1 === o ? (e.push(n), t.push(a)) : t[o] = a }, this.get = function (n) { var a = (0, i.inArray)(n, e); if (-1 !== a) return t[a] }, this.has = function (t) { return -1 !== (0, i.inArray)(t, e) }, this.delete = function (n) { var a = (0, i.inArray)(n, e); -1 !== a && (e.splice(a, 1), t.splice(a, 1)) } }); var s = o; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = new (((i = n(142)) && i.__esModule ? i : { default: i }).default); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(3), o = (i = n(26)) && i.__esModule ? i : { default: i }; function s(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var r = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.memory = [], this.callbacks = (0, o.default)() } var t, n, i; return t = e, (n = [{ key: "add", value: function (e) { (0, a.each)(this.memory, (function (t, n) { return e.apply(e, n) })), this.callbacks.add(e) } }, { key: "remove", value: function (e) { this.callbacks.remove(e) } }, { key: "fire", value: function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)t[n] = arguments[n]; this.memory.push(t), this.callbacks.fire.apply(this.callbacks, t) } }]) && s(t.prototype, n), i && s(t, i), e }(); t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.parseHeight = t.getVisibleHeight = t.getVerticalOffsets = t.addOffsetToMinHeight = t.addOffsetToMaxHeight = t.getElementBoxParams = t.getSize = void 0; var i = n(7), a = n(0), o = (0, i.getWindow)(), s = ["auto", "none", "inherit", "initial"], r = function (e, t) { var n = 0; return t.forEach((function (t) { n += parseFloat(e[t]) || 0 })), n }, l = function (e, t) { var n = "width" === e ? "Left" : "Top", i = "width" === e ? "Right" : "Bottom"; return { padding: r(t, ["padding" + n, "padding" + i]), border: r(t, ["border" + n + "Width", "border" + i + "Width"]), margin: r(t, ["margin" + n, "margin" + i]) } }; t.getElementBoxParams = l; t.getSize = function (e, t, n) { var i = o.getComputedStyle(e), a = l(t, i), s = e.getClientRects().length, r = e.getBoundingClientRect()[t], d = s ? r : 0; return d <= 0 ? (d = parseFloat(i[t] || e.style[t]) || 0, d -= function (e, t, n) { var i = t[e]; return "border-box" === t.boxSizing && i.length && "%" !== i[i.length - 1] ? n.border + n.padding : 0 }(t, i, a)) : d -= a.padding + a.border, n.paddings && (d += a.padding), n.borders && (d += a.border), n.margins && (d += a.margin), d }; var d = function (e, t) { return e.indexOf("px") > 0 ? e = parseInt(e.replace("px", "")) : e.indexOf("%") > 0 ? e = parseInt(e.replace("%", "")) * function (e) { return (0, a.isWindow)(e) ? e.innerHeight : e.offsetHeight }(t) / 100 : isNaN(e) || (e = parseInt(e)), e }; t.parseHeight = d; var c = function (e, t, n) { return e ? s.indexOf(e) > -1 ? t ? null : e : ((0, a.isString)(e) && (e = d(e, n)), (0, a.isNumeric)(e) ? Math.max(0, e + t) : "calc(" + e + (t < 0 ? " - " : " ") + Math.abs(t) + "px)") : null }; t.addOffsetToMaxHeight = function (e, t, n) { var i = c(e, t, n); return null !== i ? i : "none" }; t.addOffsetToMinHeight = function (e, t, n) { var i = c(e, t, n); return null !== i ? i : 0 }; t.getVerticalOffsets = function (e, t) { if (!e) return 0; var n = l("height", o.getComputedStyle(e)); return n.padding + n.border + (t ? n.margin : 0) }; t.getVisibleHeight = function (e) { if (e) { var t = e.getBoundingClientRect(); if (t.height) return t.height } return 0 } }, function (e, t, n) { "use strict"; t.getParser = t.getPatternSetters = t.getRegExpInfo = void 0; var i = n(4), a = { 3: "abbreviated", 4: "wide", 5: "narrow" }, o = function (e, t) { return e > 2 ? Object.keys(a).map((function (e) { return ["format", "standalone"].map((function (n) { return t.getMonthNames(a[e], n).join("|") })).join("|") })).join("|") : "0?[1-9]|1[012]" }, s = { y: function (e) { return "[0-9]+" }, M: o, L: o, Q: function (e, t) { return e > 2 ? t.getQuarterNames(a[e], "format").join("|") : "0?[1-4]" }, E: function (e, t) { return "\\D*" }, a: function (e, t) { return t.getPeriodNames(a[e < 3 ? 3 : e], "format").join("|") }, d: function (e) { return "0?[1-9]|[12][0-9]|3[01]" }, H: function (e) { return "0?[0-9]|1[0-9]|2[0-3]" }, h: function (e) { return "0?[1-9]|1[012]" }, m: function (e) { return "0?[0-9]|[1-5][0-9]" }, s: function (e) { return "0?[0-9]|[1-5][0-9]" }, S: function (e) { return "[0-9]{1," + e + "}" }, w: function (e) { return "0?[0-9]|[1-5][0-9]" } }, r = Number, l = function (e, t) { return e.map((function (e) { return e.toLowerCase() })).indexOf(t.toLowerCase()) }, d = function (e, t, n) { return t > 2 ? ["format", "standalone"].map((function (t) { return Object.keys(a).map((function (i) { var o = n.getMonthNames(a[i], t); return l(o, e) })) })).reduce((function (e, t) { return e.concat(t) })).filter((function (e) { return e >= 0 }))[0] : r(e) - 1 }, c = { y: function (e, t) { var n = r(e); return 2 === t ? n < 30 ? 2e3 + n : 1900 + n : n }, M: d, L: d, Q: function (e, t, n) { return t > 2 ? n.getQuarterNames(a[t], "format").indexOf(e) : r(e) - 1 }, E: function (e, t, n) { var i = n.getDayNames(a[t < 3 ? 3 : t], "format"); return l(i, e) }, a: function (e, t, n) { var i = n.getPeriodNames(a[t < 3 ? 3 : t], "format"); return l(i, e) }, d: r, H: r, h: r, m: r, s: r, S: function (e, t) { for (t = Math.max(t, 3), e = e.slice(0, 3); t < 3;)e += "0", t++; return r(e) } }, u = ["y", "M", "d", "h", "m", "s", "S"], h = { y: "setFullYear", M: "setMonth", L: "setMonth", a: function (e, t, n) { var i = e.getHours(), a = n.h; void 0 !== a && a !== i && i--, t || 12 !== i ? t && 12 !== i && (i += 12) : i = 0, e.setHours(i) }, d: "setDate", H: "setHours", h: "setHours", m: "setMinutes", s: "setSeconds", S: "setMilliseconds" }, f = function (e, t) { var n = e[t], i = 0; do { t++, i++ } while (e[t] === n); return i }, p = function (e, t) { for (var n = "", i = 0; i < t; i++)n += e; return n }, g = function (e, t) { for (var n, a = "", o = "", r = [], l = function () { o && (r.push("'" + o + "'"), a += (0, i.escapeRegExp)(o) + ")", o = "") }, d = 0; d < e.length; d++) { var c = e[d], u = s[c]; if (!("'" === c) || (n = !n, "'" === e[d - 1])) if (u && !n) { var h = f(e, d), g = p(c, h); l(), r.push(g), a += "(" + u(h, t) + ")", d += h - 1 } else o || (a += "("), o += c } return l(), { patterns: r, regexp: new RegExp("^" + a + "$", "i") } }; t.getRegExpInfo = g; t.getPatternSetters = function () { return h }; t.getParser = function (e, t) { var n = g(e, t); return function (e) { var i, a = n.regexp.exec(e); if (a) { var o = new Date, s = new Date(o.getFullYear(), 0, 1), r = n.patterns.map((function (e) { return "'" === e[0] ? "" : "H" === e[0] ? "h" : e[0] })), l = (i = r.map((function (e) { return u.indexOf(e) })), Math.max.apply(Math, i)), d = function (e) { var t = e.filter((function (e) { return u.indexOf(e) < 0 })); return u.concat(t) }(r), f = {}; return d.forEach((function (e, i) { if (e && !(i < u.length && i > l)) { var d = r.indexOf(e); if (d >= 0) { var p = n.patterns[d], g = a[d + 1]; !function (e, t, n, i, a) { var o = t[0], s = h[o], r = c[o]; if (s && r) { var l = r(n, t.length, i); a[t] = l, e[s] ? e[s](l) : s(e, l, a) } }(s, p, g, t, f) } else !function (e, t, n) { var i = h[t], a = n["g" + i.substr(1)](); e[i](a) }(s, e, o) } })), s } return null } } }, function (e, t, n) { "use strict"; t.getLanguageId = function () { return o[a.default.locale()] }; var i, a = (i = n(65)) && i.__esModule ? i : { default: i }; var o = { ar: 1, bg: 2, ca: 3, "zh-Hans": 4, cs: 5, da: 6, de: 7, el: 8, en: 9, es: 10, fi: 11, fr: 12, he: 13, hu: 14, is: 15, it: 16, ja: 17, ko: 18, nl: 19, no: 20, pl: 21, pt: 22, rm: 23, ro: 24, ru: 25, hr: 26, sk: 27, sq: 28, sv: 29, th: 30, tr: 31, ur: 32, id: 33, uk: 34, be: 35, sl: 36, et: 37, lv: 38, lt: 39, tg: 40, fa: 41, vi: 42, hy: 43, az: 44, eu: 45, hsb: 46, mk: 47, tn: 50, xh: 52, zu: 53, af: 54, ka: 55, fo: 56, hi: 57, mt: 58, se: 59, ga: 60, ms: 62, kk: 63, ky: 64, sw: 65, tk: 66, uz: 67, tt: 68, bn: 69, pa: 70, gu: 71, or: 72, ta: 73, te: 74, kn: 75, ml: 76, as: 77, mr: 78, sa: 79, mn: 80, bo: 81, cy: 82, km: 83, lo: 84, gl: 86, kok: 87, syr: 90, si: 91, iu: 93, am: 94, tzm: 95, ne: 97, fy: 98, ps: 99, fil: 100, dv: 101, ha: 104, yo: 106, quz: 107, nso: 108, ba: 109, lb: 110, kl: 111, ig: 112, ii: 120, arn: 122, moh: 124, br: 126, ug: 128, mi: 129, oc: 130, co: 131, gsw: 132, sah: 133, qut: 134, rw: 135, wo: 136, prs: 140, gd: 145, "ar-SA": 1025, "bg-BG": 1026, "ca-ES": 1027, "zh-TW": 1028, "cs-CZ": 1029, "da-DK": 1030, "de-DE": 1031, "el-GR": 1032, "en-US": 1033, "fi-FI": 1035, "fr-FR": 1036, "he-IL": 1037, "hu-HU": 1038, "is-IS": 1039, "it-IT": 1040, "ja-JP": 1041, "ko-KR": 1042, "nl-NL": 1043, "nb-NO": 1044, "pl-PL": 1045, "pt-BR": 1046, "rm-CH": 1047, "ro-RO": 1048, "ru-RU": 1049, "hr-HR": 1050, "sk-SK": 1051, "sq-AL": 1052, "sv-SE": 1053, "th-TH": 1054, "tr-TR": 1055, "ur-PK": 1056, "id-ID": 1057, "uk-UA": 1058, "be-BY": 1059, "sl-SI": 1060, "et-EE": 1061, "lv-LV": 1062, "lt-LT": 1063, "tg-Cyrl-TJ": 1064, "fa-IR": 1065, "vi-VN": 1066, "hy-AM": 1067, "az-Latn-AZ": 1068, "eu-ES": 1069, "hsb-DE": 1070, "mk-MK": 1071, "tn-ZA": 1074, "xh-ZA": 1076, "zu-ZA": 1077, "af-ZA": 1078, "ka-GE": 1079, "fo-FO": 1080, "hi-IN": 1081, "mt-MT": 1082, "se-NO": 1083, "ms-MY": 1086, "kk-KZ": 1087, "ky-KG": 1088, "sw-KE": 1089, "tk-TM": 1090, "uz-Latn-UZ": 1091, "tt-RU": 1092, "bn-IN": 1093, "pa-IN": 1094, "gu-IN": 1095, "or-IN": 1096, "ta-IN": 1097, "te-IN": 1098, "kn-IN": 1099, "ml-IN": 1100, "as-IN": 1101, "mr-IN": 1102, "sa-IN": 1103, "mn-MN": 1104, "bo-CN": 1105, "cy-GB": 1106, "km-KH": 1107, "lo-LA": 1108, "gl-ES": 1110, "kok-IN": 1111, "syr-SY": 1114, "si-LK": 1115, "iu-Cans-CA": 1117, "am-ET": 1118, "ne-NP": 1121, "fy-NL": 1122, "ps-AF": 1123, "fil-PH": 1124, "dv-MV": 1125, "ha-Latn-NG": 1128, "yo-NG": 1130, "quz-BO": 1131, "nso-ZA": 1132, "ba-RU": 1133, "lb-LU": 1134, "kl-GL": 1135, "ig-NG": 1136, "ii-CN": 1144, "arn-CL": 1146, "moh-CA": 1148, "br-FR": 1150, "ug-CN": 1152, "mi-NZ": 1153, "oc-FR": 1154, "co-FR": 1155, "gsw-FR": 1156, "sah-RU": 1157, "qut-GT": 1158, "rw-RW": 1159, "wo-SN": 1160, "prs-AF": 1164, "gd-GB": 1169, "ar-IQ": 2049, "zh-CN": 2052, "de-CH": 2055, "en-GB": 2057, "es-MX": 2058, "fr-BE": 2060, "it-CH": 2064, "nl-BE": 2067, "nn-NO": 2068, "pt-PT": 2070, "sr-Latn-CS": 2074, "sv-FI": 2077, "az-Cyrl-AZ": 2092, "dsb-DE": 2094, "se-SE": 2107, "ga-IE": 2108, "ms-BN": 2110, "uz-Cyrl-UZ": 2115, "bn-BD": 2117, "mn-Mong-CN": 2128, "iu-Latn-CA": 2141, "tzm-Latn-DZ": 2143, "quz-EC": 2155, "ar-EG": 3073, "zh-HK": 3076, "de-AT": 3079, "en-AU": 3081, "es-ES": 3082, "fr-CA": 3084, "sr-Cyrl-CS": 3098, "se-FI": 3131, "quz-PE": 3179, "ar-LY": 4097, "zh-SG": 4100, "de-LU": 4103, "en-CA": 4105, "es-GT": 4106, "fr-CH": 4108, "hr-BA": 4122, "smj-NO": 4155, "ar-DZ": 5121, "zh-MO": 5124, "de-LI": 5127, "en-NZ": 5129, "es-CR": 5130, "fr-LU": 5132, "bs-Latn-BA": 5146, "smj-SE": 5179, "ar-MA": 6145, "en-IE": 6153, "es-PA": 6154, "fr-MC": 6156, "sr-Latn-BA": 6170, "sma-NO": 6203, "ar-TN": 7169, "en-ZA": 7177, "es-DO": 7178, "sr-Cyrl-BA": 7194, "sma-SE": 7227, "ar-OM": 8193, "en-JM": 8201, "es-VE": 8202, "bs-Cyrl-BA": 8218, "sms-FI": 8251, "ar-YE": 9217, "en-029": 9225, "es-CO": 9226, "sr-Latn-RS": 9242, "smn-FI": 9275, "ar-SY": 10241, "en-BZ": 10249, "es-PE": 10250, "sr-Cyrl-RS": 10266, "ar-JO": 11265, "en-TT": 11273, "es-AR": 11274, "sr-Latn-ME": 11290, "ar-LB": 12289, "en-ZW": 12297, "es-EC": 12298, "sr-Cyrl-ME": 12314, "ar-KW": 13313, "en-PH": 13321, "es-CL": 13322, "ar-AE": 14337, "es-UY": 14346, "ar-BH": 15361, "es-PY": 15370, "ar-QA": 16385, "en-IN": 16393, "es-BO": 16394, "en-MY": 17417, "es-SV": 17418, "en-SG": 18441, "es-HN": 18442, "es-NI": 19466, "es-PR": 20490, "es-US": 21514, "bs-Cyrl": 25626, "bs-Latn": 26650, "sr-Cyrl": 27674, "sr-Latn": 28698, smn: 28731, "az-Cyrl": 29740, sms: 29755, zh: 30724, nn: 30740, bs: 30746, "az-Latn": 30764, sma: 30779, "uz-Cyrl": 30787, "mn-Cyrl": 30800, "iu-Cans": 30813, "zh-Hant": 31748, nb: 31764, sr: 31770, "tg-Cyrl": 31784, dsb: 31790, smj: 31803, "uz-Latn": 31811, "mn-Mong": 31824, "iu-Latn": 31837, "tzm-Latn": 31839, "ha-Latn": 31848 } }, function (e, t, n) { "use strict"; t.createDefaultOptionRules = t.getNestedOptionValue = t.getParentName = t.getFieldName = t.deviceMatch = t.normalizeOptions = t.convertRulesToOptions = void 0; var i, a = (i = n(12)) && i.__esModule ? i : { default: i }, o = n(0), s = n(4), r = n(1), l = n(20); var d = {}; t.convertRulesToOptions = function (e) { var t = a.default.current(); return e.reduce((function (e, n) { var i = n.device, a = n.options, s = i || {}; return ((0, o.isFunction)(s) ? s(t) : c(t, s)) && (0, r.extend)(!0, e, a), e }), {}) }; t.normalizeOptions = function (e, t) { return "string" != typeof e ? e : function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }({}, e, t) }; var c = function (e, t) { return (0, o.isEmptyObject)(t) || (0, s.findBestMatches)(e, [t]).length > 0 }; t.deviceMatch = c; t.getFieldName = function (e) { return e.substr(e.lastIndexOf(".") + 1) }; t.getParentName = function (e) { return e.substr(0, e.lastIndexOf(".")) }; t.getNestedOptionValue = function (e, t) { return d[t] = d[t] || (0, l.compileGetter)(t), d[t](e, { functionsAsIs: !0 }) }; t.createDefaultOptionRules = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; return e } }, function (e, t, n) { "use strict"; t.registerTemplateEngine = function (e, t) { r[e] = t }, t.setTemplateEngine = function (e) { if ((0, a.isString)(e)) { if (!(s = r[e])) throw o.default.Error("E0020", e) } else s = e }, t.getCurrentTemplateEngine = function () { return s }; var i, a = n(0), o = (i = n(21)) && i.__esModule ? i : { default: i }; var s, r = {} }, function (e, t, n) { "use strict"; t.default = void 0; t.default = {}, e.exports = t.default }, function (e, t, n) { "use strict"; t.PresetCollection = t.presets = void 0; var i = l(n(97)), a = n(3), o = n(1), s = l(n(12)), r = l(n(38)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = { forward: " dx-forward", backward: " dx-backward", none: " dx-no-direction", undefined: " dx-no-direction" }, c = i.default.inherit({ ctor: function () { this.callBase.apply(this, arguments), this._registeredPresets = [], this.resetToDefaults() }, _getDefaultOptions: function () { return (0, o.extend)(this.callBase(), { defaultAnimationDuration: 400, defaultAnimationDelay: 0, defaultStaggerAnimationDuration: 300, defaultStaggerAnimationDelay: 40, defaultStaggerAnimationStartDelay: 500 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function (e) { return e.phone }, options: { defaultStaggerAnimationDuration: 350, defaultStaggerAnimationDelay: 50, defaultStaggerAnimationStartDelay: 0 } }, { device: function () { return s.default.current().android || s.default.real.android }, options: { defaultAnimationDelay: 100 } }]) }, _getPresetOptionName: function (e) { return "preset_" + e }, _createAndroidSlideAnimationConfig: function (e, t) { var n = this, i = function (e) { return { type: "slide", delay: void 0 === e.delay ? n.option("defaultAnimationDelay") : e.delay, duration: void 0 === e.duration ? n.option("defaultAnimationDuration") : e.duration } }; return { enter: function (n, a) { var o = n.parent().width() * t, s = a.direction, l = i(a); return l.to = { left: 0, opacity: 1 }, l.from = "forward" === s ? { left: o, opacity: e } : "backward" === s ? { left: -o, opacity: e } : { left: 0, opacity: 0 }, r.default.createAnimation(n, l) }, leave: function (n, a) { var o = n.parent().width() * t, s = a.direction, l = i(a); return l.from = { left: 0, opacity: 1 }, l.to = "forward" === s ? { left: -o, opacity: e } : "backward" === s ? { left: o, opacity: e } : { left: 0, opacity: 0 }, r.default.createAnimation(n, l) } } }, _createOpenDoorConfig: function () { var e = this, t = function (t) { return { type: "css", extraCssClasses: "dx-opendoor-animation", delay: void 0 === t.delay ? e.option("defaultAnimationDelay") : t.delay, duration: void 0 === t.duration ? e.option("defaultAnimationDuration") : t.duration } }; return { enter: function (e, n) { var i = n.direction, a = t(n); return a.delay = "none" === i ? a.delay : a.duration, a.from = "dx-enter dx-opendoor-animation" + d[i], a.to = "dx-enter-active", r.default.createAnimation(e, a) }, leave: function (e, n) { var i = n.direction, a = t(n); return a.from = "dx-leave dx-opendoor-animation" + d[i], a.to = "dx-leave-active", r.default.createAnimation(e, a) } } }, _createWinPopConfig: function () { var e = this, t = { type: "css", extraCssClasses: "dx-win-pop-animation", duration: e.option("defaultAnimationDuration") }; return { enter: function (n, i) { var a = t, o = i.direction; return a.delay = "none" === o ? e.option("defaultAnimationDelay") : e.option("defaultAnimationDuration") / 2, a.from = "dx-enter dx-win-pop-animation" + d[o], a.to = "dx-enter-active", r.default.createAnimation(n, a) }, leave: function (n, i) { var a = t, o = i.direction; return a.delay = e.option("defaultAnimationDelay"), a.from = "dx-leave dx-win-pop-animation" + d[o], a.to = "dx-leave-active", r.default.createAnimation(n, a) } } }, resetToDefaults: function () { this.clear(), this.registerDefaultPresets(), this.applyChanges() }, clear: function (e) { var t = this, n = []; (0, a.each)(this._registeredPresets, (function (i, a) { e && e !== a.name ? n.push(a) : t.option(t._getPresetOptionName(a.name), void 0) })), this._registeredPresets = n, this.applyChanges() }, registerPreset: function (e, t) { this._registeredPresets.push({ name: e, config: t }) }, applyChanges: function () { var e = this, t = []; (0, a.each)(this._registeredPresets, (function (n, i) { var a = { device: i.config.device, options: {} }; a.options[e._getPresetOptionName(i.name)] = i.config.animation, t.push(a) })), this._setOptionsByDevice(t) }, getPreset: function (e) { for (var t = e; "string" == typeof t;)t = this.option(this._getPresetOptionName(t)); return t }, registerDefaultPresets: function () { this.registerPreset("pop", { animation: { extraCssClasses: "dx-android-pop-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("openDoor", { animation: this._createOpenDoorConfig() }), this.registerPreset("win-pop", { animation: this._createWinPopConfig() }), this.registerPreset("fade", { animation: { extraCssClasses: "dx-fade-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("slide", { device: function () { return s.default.current().android || s.default.real.android }, animation: this._createAndroidSlideAnimationConfig(1, 1) }), this.registerPreset("slide", { device: function () { return !s.default.current().android && !s.default.real.android }, animation: { extraCssClasses: "dx-slide-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("ios7-slide", { animation: { extraCssClasses: "dx-ios7-slide-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("overflow", { animation: { extraCssClasses: "dx-overflow-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("ios7-toolbar", { device: function () { return !s.default.current().android && !s.default.real.android }, animation: { extraCssClasses: "dx-ios7-toolbar-animation", delay: this.option("defaultAnimationDelay"), duration: this.option("defaultAnimationDuration") } }), this.registerPreset("ios7-toolbar", { device: function () { return s.default.current().android || s.default.real.android }, animation: this._createAndroidSlideAnimationConfig(0, .4) }), this.registerPreset("stagger-fade", { animation: { extraCssClasses: "dx-fade-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-slide", { animation: { extraCssClasses: "dx-slide-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-fade-slide", { animation: { extraCssClasses: "dx-fade-slide-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-drop", { animation: { extraCssClasses: "dx-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-fade-drop", { animation: { extraCssClasses: "dx-fade-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-fade-rise", { animation: { extraCssClasses: "dx-fade-rise-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-3d-drop", { animation: { extraCssClasses: "dx-3d-drop-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }), this.registerPreset("stagger-fade-zoom", { animation: { extraCssClasses: "dx-fade-zoom-animation", staggerDelay: this.option("defaultStaggerAnimationDelay"), duration: this.option("defaultStaggerAnimationDuration"), delay: this.option("defaultStaggerAnimationStartDelay") } }) } }); t.PresetCollection = c; var u = new c; t.presets = u }, function (e, t, n) { "use strict"; t.name = void 0; var i = r(n(2)), a = r(n(5)), o = r(n(58)), s = n(8); function r(e) { return e && e.__esModule ? e : { default: e } } t.name = "dxmousewheel"; var l = { setup: function (e) { var t = (0, i.default)(e); a.default.on(t, (0, s.addNamespace)("wheel", "dxWheel"), l._wheelHandler.bind(l)) }, teardown: function (e) { a.default.off(e, ".".concat("dxWheel")) }, _wheelHandler: function (e) { var t = e.originalEvent, n = t.deltaMode, i = t.deltaY, a = t.deltaX, o = t.deltaZ; (0, s.fireEvent)({ type: "dxmousewheel", originalEvent: e, delta: this._normalizeDelta(i, n), deltaX: a, deltaY: i, deltaZ: o, deltaMode: n, pointerType: "mouse" }), e.stopPropagation() }, _normalizeDelta: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return 0 === t ? -e : -30 * e } }; (0, o.default)("dxmousewheel", l) }, function (e, t, n) { "use strict"; n(106); var i = s(n(61)), a = s(n(40)), o = s(n(21)); function s(e) { return e && e.__esModule ? e : { default: e } } function r(e) { return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } if (n(61), i.default && i.default.formatNumber) { "en" === i.default.locale().locale && (i.default.load({ main: { en: { identity: { version: { _cldrVersion: "28", _number: "$Revision: 11972 $" }, language: "en" }, numbers: { defaultNumberingSystem: "latn", otherNumberingSystems: { native: "latn" }, minimumGroupingDigits: "1", "symbols-numberSystem-latn": { decimal: ".", group: ",", list: ";", percentSign: "%", plusSign: "+", minusSign: "-", exponential: "E", superscriptingExponent: "×", perMille: "‰", infinity: "∞", nan: "NaN", timeSeparator: ":" }, "decimalFormats-numberSystem-latn": { standard: "#,##0.###", long: { decimalFormat: { "1000-count-one": "0 thousand", "1000-count-other": "0 thousand", "10000-count-one": "00 thousand", "10000-count-other": "00 thousand", "100000-count-one": "000 thousand", "100000-count-other": "000 thousand", "1000000-count-one": "0 million", "1000000-count-other": "0 million", "10000000-count-one": "00 million", "10000000-count-other": "00 million", "100000000-count-one": "000 million", "100000000-count-other": "000 million", "1000000000-count-one": "0 billion", "1000000000-count-other": "0 billion", "10000000000-count-one": "00 billion", "10000000000-count-other": "00 billion", "100000000000-count-one": "000 billion", "100000000000-count-other": "000 billion", "1000000000000-count-one": "0 trillion", "1000000000000-count-other": "0 trillion", "10000000000000-count-one": "00 trillion", "10000000000000-count-other": "00 trillion", "100000000000000-count-one": "000 trillion", "100000000000000-count-other": "000 trillion" } }, short: { decimalFormat: { "1000-count-one": "0K", "1000-count-other": "0K", "10000-count-one": "00K", "10000-count-other": "00K", "100000-count-one": "000K", "100000-count-other": "000K", "1000000-count-one": "0M", "1000000-count-other": "0M", "10000000-count-one": "00M", "10000000-count-other": "00M", "100000000-count-one": "000M", "100000000-count-other": "000M", "1000000000-count-one": "0B", "1000000000-count-other": "0B", "10000000000-count-one": "00B", "10000000000-count-other": "00B", "100000000000-count-one": "000B", "100000000000-count-other": "000B", "1000000000000-count-one": "0T", "1000000000000-count-other": "0T", "10000000000000-count-one": "00T", "10000000000000-count-other": "00T", "100000000000000-count-one": "000T", "100000000000000-count-other": "000T" } } }, "scientificFormats-numberSystem-latn": { standard: "#E0" }, "percentFormats-numberSystem-latn": { standard: "#,##0%" }, "currencyFormats-numberSystem-latn": { currencySpacing: { beforeCurrency: { currencyMatch: "[:^S:]", surroundingMatch: "[:digit:]", insertBetween: " " }, afterCurrency: { currencyMatch: "[:^S:]", surroundingMatch: "[:digit:]", insertBetween: " " } }, standard: "¤#,##0.00", accounting: "¤#,##0.00;(¤#,##0.00)", short: { standard: { "1000-count-one": "¤0K", "1000-count-other": "¤0K", "10000-count-one": "¤00K", "10000-count-other": "¤00K", "100000-count-one": "¤000K", "100000-count-other": "¤000K", "1000000-count-one": "¤0M", "1000000-count-other": "¤0M", "10000000-count-one": "¤00M", "10000000-count-other": "¤00M", "100000000-count-one": "¤000M", "100000000-count-other": "¤000M", "1000000000-count-one": "¤0B", "1000000000-count-other": "¤0B", "10000000000-count-one": "¤00B", "10000000000-count-other": "¤00B", "100000000000-count-one": "¤000B", "100000000000-count-other": "¤000B", "1000000000000-count-one": "¤0T", "1000000000000-count-other": "¤0T", "10000000000000-count-one": "¤00T", "10000000000000-count-other": "¤00T", "100000000000000-count-one": "¤000T", "100000000000000-count-other": "¤000T" } }, "unitPattern-count-one": "{0} {1}", "unitPattern-count-other": "{0} {1}" }, "miscPatterns-numberSystem-latn": { atLeast: "{0}+", range: "{0}–{1}" } } } } }), i.default.locale("en")); var l = {}, d = function (e) { var t, n; return n = "object" === r(e) ? i.default.locale().locale + ":" + JSON.stringify(e) : i.default.locale().locale + ":" + e, (t = l[n]) || (t = l[n] = i.default.numberFormatter(e)), t }, c = { engine: function () { return "globalize" }, _formatNumberCore: function (e, t, n) { return "exponential" === t ? this.callBase.apply(this, arguments) : d(this._normalizeFormatConfig(t, n, e))(e) }, _normalizeFormatConfig: function (e, t, n) { var i; return i = "decimal" === e ? { minimumIntegerDigits: t.precision || 1, useGrouping: !1, minimumFractionDigits: 0, maximumFractionDigits: 20, round: n < 0 ? "ceil" : "floor" } : this._getPrecisionConfig(t.precision), "percent" === e && (i.style = "percent"), i }, _getPrecisionConfig: function (e) { return null === e ? { minimumFractionDigits: 0, maximumFractionDigits: 20 } : { minimumFractionDigits: e || 0, maximumFractionDigits: e || 0 } }, format: function (e, t) { return "number" != typeof e ? e : (t = this._normalizeFormat(t)) && ("function" == typeof t || t.type || t.formatter) ? this.callBase.apply(this, arguments) : d(t)(e) }, parse: function (e, t) { if (e) { if (t && (t.parser || "string" == typeof t)) return this.callBase.apply(this, arguments); t && o.default.log("W0011"); var n = i.default.parseNumber(e); return isNaN(n) && (n = this.callBase.apply(this, arguments)), n } } }; a.default.resetInjection(), a.default.inject(c) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = n(4), o = h(n(10)), s = h(n(11)), r = n(1), l = h(n(63)), d = h(n(69)), c = n(6), u = n(34); function h(e) { return e && e.__esModule ? e : { default: e } } var f = d.default.inherit({ _supportedKeys: function () { return (0, r.extend)(this.callBase(), { escape: a.noop }) }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { message: o.default.format("Loading"), width: 222, height: 90, animation: null, showIndicator: !0, indicatorSrc: "", showPane: !0, delay: 0, templatesRenderAsynchronously: !1, hideTopOverlayHandler: null, resizeEnabled: !1, focusStateEnabled: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "generic" }, options: { shadingColor: "transparent" } }, { device: function () { return (0, u.isMaterial)() }, options: { message: "", width: 60, height: 60, maxHeight: 60, maxWidth: 60 } }]) }, _init: function () { this.callBase.apply(this, arguments) }, _render: function () { this.callBase(), this.$element().addClass("dx-loadpanel"), this._wrapper().addClass("dx-loadpanel-wrapper") }, _renderContentImpl: function () { this.callBase(), this.$content().addClass("dx-loadpanel-content"), this._$contentWrapper = (0, i.default)("<div>").addClass("dx-loadpanel-content-wrapper"), this._$contentWrapper.appendTo(this._$content), this._togglePaneVisible(), this._cleanPreviousContent(), this._renderLoadIndicator(), this._renderMessage() }, _show: function () { var e = this.option("delay"); if (!e) return this.callBase(); var t = new c.Deferred, n = this.callBase.bind(this); return this._clearShowTimeout(), this._showTimeout = setTimeout((function () { n().done((function () { t.resolve() })) }), e), t.promise() }, _hide: function () { return this._clearShowTimeout(), this.callBase() }, _clearShowTimeout: function () { clearTimeout(this._showTimeout) }, _renderMessage: function () { if (this._$contentWrapper) { var e = this.option("message"); if (e) { var t = (0, i.default)("<div>").addClass("dx-loadpanel-message").text(e); this._$contentWrapper.append(t) } } }, _renderLoadIndicator: function () { this._$contentWrapper && this.option("showIndicator") && (this._$indicator || (this._$indicator = (0, i.default)("<div>").addClass("dx-loadpanel-indicator").appendTo(this._$contentWrapper)), this._createComponent(this._$indicator, l.default, { indicatorSrc: this.option("indicatorSrc") })) }, _cleanPreviousContent: function () { this.$content().find(".dx-loadpanel-message").remove(), this.$content().find(".dx-loadpanel-indicator").remove(), delete this._$indicator }, _togglePaneVisible: function () { this.$content().toggleClass("dx-loadpanel-pane-hidden", !this.option("showPane")) }, _optionChanged: function (e) { switch (e.name) { case "delay": break; case "message": case "showIndicator": this._cleanPreviousContent(), this._renderLoadIndicator(), this._renderMessage(); break; case "showPane": this._togglePaneVisible(); break; case "indicatorSrc": this._renderLoadIndicator(); break; default: this.callBase(e) } }, _dispose: function () { this._clearShowTimeout(), this.callBase() } }); (0, s.default)("dxLoadPanel", f); var p = f; t.default = p, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(74); var s = { getSwatchContainer: function (e) { var t = (0, a.default)(e).closest('[class^="'.concat("dx-swatch-", '"], [class*=" ').concat("dx-swatch-", '"]')), n = (0, o.value)(); if (!t.length) return n; var i = new RegExp("(\\s|^)(".concat("dx-swatch-", ".*?)(\\s|$)")), s = t[0].className.match(i)[2], r = n.children("." + s); return r.length || (r = (0, a.default)("<div>").addClass(s).appendTo(n)), r } }; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(53), a = w(n(78)), o = n(4), s = n(0), r = n(1), l = n(14), d = n(3), c = n(6), u = w(n(13)), h = n(90), f = n(43), p = n(326), g = w(n(327)), m = n(329), _ = n(204), v = n(330), y = n(46); function w(e) { return e && e.__esModule ? e : { default: e } } var x = { row: "rows", column: "columns", data: "values", filter: "filters" }, b = ["area", "areaIndex", "sortOrder", "filterType", "filterValues", "sortBy", "sortBySummaryField", "sortBySummaryPath", "expanded", "summaryType", "summaryDisplayMode"], C = ["format", "selector", "customizeText", "caption"], k = C.concat(["allowSorting", "allowSortingBySummary", "allowFiltering", "allowExpandAll"]); function I(e, t) { var n = e._initProperties || {}; (0, d.each)(t, (function (t, i) { Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) })) } function S(e, t) { I(e, t), (0, s.isDefined)(e.caption) || (0, y.setFieldProperty)(e, "caption", function (e) { var t = e.dataField || e.groupName || "", n = (e.summaryType || "").toLowerCase(); return (0, s.isString)(e.groupInterval) && (t += "_" + e.groupInterval), n && "custom" !== n ? (n = n.replace(/^./, n[0].toUpperCase()), t.length && (n = " (" + n + ")")) : n = "", (0, f.titleize)(t) + n }(e)) } function E(e) { return e.rows.length || e.columns.length || e.values.length } var D = u.default.inherit(function () { var e = function (e, t) { if (e._cacheByPath) return e._cacheByPath[t.join(".")] || null }, t = function e(t, n) { var i, a, o = -1; if (t) for (i = 0; i < t.length; i++)void 0 !== (a = t[i]).index && (o = Math.max(o, a.index)), a.children ? o = Math.max(o, e(a.children)) : a.collapsedChildren && (o = Math.max(o, e(a.collapsedChildren))); return (0, s.isDefined)(n) && (o = Math.max(o, n)), o }, n = function (e, n, i, a) { var o, s = t(i) + 1, r = t(e, a) + 1, l = [], d = !1, u = new c.Deferred; if (n.children && n.children.length === i.length) for (var h = 0; h < i.length; h++) { var f = i[h]; void 0 !== f.index && (void 0 === n.children[h].index ? (f.index = l[f.index] = r++, n.children[h] = f) : l[f.index] = n.children[h].index) } else { for (d = !0, o = 0; o < s; o++)l[o] = r++; n.children = i } return (0, c.when)((0, y.foreachTreeAsync)(n.children, (function (e) { d && (e[0].index = l[e[0].index]) }))).done((function () { u.resolve(l) })), u }, f = function (n, i, a) { var o = new c.Deferred, s = a >= 0 && t(n, a) + 1, r = []; return (0, c.when)((0, y.foreachTreeAsync)(n, (function (e) { delete e[0].collapsedChildren }))).done((function () { (0, c.when)((0, y.foreachTreeAsync)(i, (function (t, i) { var a = t[0]; if (a.index >= 0) { var o = e(n, (0, y.createPath)(t)); if (o && o.index >= 0) r[a.index] = o.index; else if (s) { var l = (0, y.createPath)(t.slice(1)); o = e(n, l); var d = l.length ? o && o.children : n; d && (d[i] = a, a.index = r[a.index] = s++) } } }))).done((function () { o.resolve(r) })) })), o }, w = function (e, t, n, i) { var a, o, r, l, d, c, u = e.values; if (t) for (a = 0; a <= t.length; a++)if (r = t[a], d = n[a], (0, s.isDefined)(d) || (d = e.grandTotalRowIndex), r && (0, s.isDefined)(d)) for (u[d] || (u[d] = []), o = 0; o <= r.length; o++)l = r[o], c = i[o], (0, s.isDefined)(c) || (c = e.grandTotalColumnIndex), (0, s.isDefined)(l) && (0, s.isDefined)(c) && (u[d][c] = l) }; function D(e, t) { return new (e.remoteOperations || e.paginate ? g.default : p.LocalStore)((0, r.extend)((0, i.normalizeDataSourceOptions)(e), { onChanged: null, onLoadingChanged: null, onProgressChanged: t })) } function T(e, t, n, i) { var a = [], o = t && t[n] || [], s = i && i[n] || []; return (0, y.foreachTree)(e[n], (function (e) { var t = e[0], n = (0, y.createPath)(e); t.children && o[n.length - 1] && !o[n.length - 1].expanded && n.length < o.length && (!i || function (e, t, n) { for (var i = 0; i < n; i++)if (!e[i] || !t[i] || e[i].index !== t[i].index) return !1; return !0 }(o, s, n.length)) && a.push(n.slice()) }), !0), a } function A(e, t, n, i) { return t ? (0, d.each)(i, (function (i, a) { if (n) e[a] = t[a]; else { if (("summaryType" === a || "summaryDisplayMode" === a) && void 0 === t[a]) return; (0, y.setFieldProperty)(e, a, t[a]) } })) : I(e, i), e } function O(e, t) { var n = []; return (0, d.each)(e, (function (e, i) { n.push(A({ dataField: i.dataField, name: i.name }, i, !0, t)) })), n } function B(e) { return e.name ? e.name : e.dataField + "" } function M(e, t) { var n = []; return (0, d.each)(e || [], (function (e, i) { B(i) === t && n.push(i) })), n } function P(e, t) { e = e || []; var n, i = {}; return (0, d.each)(t, (function (e, a) { n = B(a), i[n] || (i[n] = M(t, B(a))) })), (0, d.each)(i, (function (t, n) { !function (e, t) { e = e || [], (0, d.each)(t, (function (t, n) { A(n, e[t], !1, b), S(n, C) })) }(M(e, t), n) })), t } function R(e) { e.sort((function (e, t) { return e.areaIndex - t.areaIndex || e.groupIndex - t.groupIndex })) } function F(e, t) { var n = e.groupName || ""; return (e.dataField || n) + (e.groupInterval ? n + e.groupInterval : "NOGROUP") + (t ? "" : n) } function V(e, t, n) { var i = [], a = {}, o = {}, l = (0, y.getFieldsDataType)(e); return t ? ((0, d.each)(t, (function (e, t) { a[F(t, n)] = t })), (0, d.each)(e, (function (e, t) { var s, d = F(t, n), c = a[d] || o[d]; c ? (c._initProperties && I(c, k), s = (0, r.extend)({}, c, t, { _initProperties: null })) : a[d] = s = t, (0, r.extend)(s, { dataType: l[t.dataField] }), delete a[d], o[d] = c, i.push(s) })), n && (0, d.each)(a, (function (e, t) { i.push(t) }))) : i = e, i.push.apply(i, []), function (e) { e.forEach((function (t) { if (t.groupName && t.groupInterval && void 0 === t.groupIndex) { var n = e.filter((function (e) { return e.groupName === t.groupName && (0, s.isNumeric)(e.groupIndex) })).map((function (e) { return e.groupIndex })).reduce((function (e, t) { return Math.max(e, t) }), -1); t.groupIndex = n + 1 } })) }(i), i } function q(e) { var t, n = new c.Deferred, i = e._store, a = i && i.getFields(e._fields); return (0, c.when)(a).done((function (i) { e._storeFields = i, t = V(e._fields, i, e._retrieveFields), n.resolve(t) })).fail(n.reject), n } function L(e, t, n) { return (0, y.foreachTreeAsync)(e[n], (function (e) { var i = e[0]; i.text = i.text || (0, y.formatValue)(i.value, t[n][(0, y.createPath)(e).length - 1]) })) } function H(e, t) { return (0, c.when)(L(t, e, "columns"), L(t, e, "rows")) } function z(e) { var t = new c.Deferred, n = {}; return (0, c.when)((0, y.foreachTreeAsync)(e, (function (e) { var t = (0, y.createPath)(e).join("."); n[t] = e[0] }))).done(t.resolve), e._cacheByPath = n, t } function N(e, t) { var n = []; return (0, d.each)(e, (function () { (function (e, t) { var n = "data" === t || !1 !== e.visible; return e.area === t && !(0, s.isDefined)(e.groupIndex) && n })(this, t) && n.push(this) })), n } return { ctor: function (e) { e = e || {}, this._eventsStrategy = new h.EventsStrategy(this); var t = this, n = function (e, t) { var n, i; return (0, s.isPlainObject)(e) && e.load ? n = D(e, t) : (e && !e.store && (e = { store: e }), "xmla" === (i = e.store).type ? n = new _.XmlaStore(i) : (0, s.isPlainObject)(i) && i.type || i instanceof a.default || Array.isArray(i) ? n = D(e, t) : i instanceof u.default && (n = i)), n }(e, (function (e) { t._eventsStrategy.fireEvent("progressChanged", [e]) })); t._store = n, t._paginate = !!e.paginate, t._pageSize = e.pageSize || 40, t._data = { rows: [], columns: [], values: [] }, t._loadingCount = 0, t._isFieldsModified = !1, (0, d.each)(["changed", "loadError", "loadingChanged", "progressChanged", "fieldsPrepared", "expandValueChanging"], function (t, n) { var i = "on" + n[0].toUpperCase() + n.slice(1); Object.prototype.hasOwnProperty.call(e, i) && this.on(n, e[i]) }.bind(this)), t._retrieveFields = !(0, s.isDefined)(e.retrieveFields) || e.retrieveFields, t._fields = e.fields || [], t._descriptions = e.descriptions ? (0, r.extend)(t._createDescriptions(), e.descriptions) : void 0, n || (0, r.extend)(!0, t._data, e.store || e) }, getData: function () { return this._data }, getAreaFields: function (e, t) { var n = []; return t || "data" === e ? R(n = N(this._fields, e)) : n = (this._descriptions || {})[x[e]] || [], n }, fields: function (e) { return e && (this._fields = V(e, this._storeFields, this._retrieveFields), this._fieldsPrepared(this._fields)), this._fields }, field: function (e, t) { var n, i = this._fields, a = i && i[(0, s.isNumeric)(e) ? e : (0, y.findField)(i, e)]; return a && t && ((0, d.each)(t, (function (e, t) { var i = (0, l.inArray)(e, b) < 0; if ((0, y.setFieldProperty)(a, e, t, i), "sortOrder" === e) { n = a.levels || []; for (var o = 0; o < n.length; o++)n[o][e] = t } })), S(a, C), this._descriptions = this._createDescriptions(a), this._isFieldsModified = !0, this._eventsStrategy.fireEvent("fieldChanged", [a])), a }, getFieldValues: function (e, t, n) { var i, a = this, o = this._fields && this._fields[e], s = this.store(), l = [], u = { columns: l, rows: [], values: this.getAreaFields("data"), filters: t ? this._fields.filter((function (e) { return e !== o && e.area && e.filterValues && e.filterValues.length })) : [], skipValues: !0 }, h = new c.Deferred; return n && (i = n.searchValue, u.columnSkip = n.skip, u.columnTake = n.take), o && s ? ((0, d.each)(o.levels || [o], (function () { l.push((0, r.extend)({}, this, { expanded: !0, filterValues: null, sortOrder: "asc", sortBySummaryField: null, searchValue: i })) })), s.load(u).done((function (e) { u.columnSkip && (e.columns = e.columns.slice(u.columnSkip)), u.columnTake && (e.columns = e.columns.slice(0, u.columnTake)), H(u, e), u.columnTake || a._sort(u, e), h.resolve(e.columns) })).fail(h)) : h.reject(), h }, reload: function () { return this.load({ reload: !0 }) }, filter: function () { var e = this._store; return e.filter.apply(e, arguments) }, load: function (e) { var t = this, n = new c.Deferred; function i() { t._delayedLoadTask = void 0, t._descriptions ? t._loadCore(e, n) : (0, c.when)(q(t)).done((function (i) { t._fieldsPrepared(i), t._loadCore(e, n) })).fail(n.reject).fail(t._loadErrorHandler) } return e = e || {}, t.beginLoading(), n.fail((function (e) { t._eventsStrategy.fireEvent("loadError", [e]) })).always((function () { t.endLoading() })), t.store() ? t._delayedLoadTask = (0, o.executeAsync)(i) : i(), n }, createDrillDownDataSource: function (e) { return this._store.createDrillDownDataSource(this._descriptions, e) }, _createDescriptions: function (e) { var t = this.fields(), n = { rows: [], columns: [], values: [], filters: [] }; (0, d.each)(["row", "column", "data", "filter"], (function (n, i) { (0, l.normalizeIndexes)(N(t, i), "areaIndex", e) })), (0, d.each)(t || [], (function (e, i) { var a = x[i.area], o = n[a], l = i.groupName; l && !(0, s.isNumeric)(i.groupIndex) && (i.levels = function (e, t) { return e.filter((function (e) { return e.groupName === t.groupName && (0, s.isNumeric)(e.groupIndex) && !1 !== e.visible })).map((function (e) { return (0, r.extend)(e, { areaIndex: t.areaIndex, area: t.area, expanded: (0, s.isDefined)(e.expanded) ? e.expanded : t.expanded, dataField: e.dataField || t.dataField, dataType: e.dataType || t.dataType, sortBy: e.sortBy || t.sortBy, sortOrder: e.sortOrder || t.sortOrder, sortBySummaryField: e.sortBySummaryField || t.sortBySummaryField, sortBySummaryPath: e.sortBySummaryPath || t.sortBySummaryPath, visible: e.visible || t.visible, showTotals: (0, s.isDefined)(e.showTotals) ? e.showTotals : t.showTotals, showGrandTotals: (0, s.isDefined)(e.showGrandTotals) ? e.showGrandTotals : t.showGrandTotals }) })).sort((function (e, t) { return e.groupIndex - t.groupIndex })) }(t, i)), !o || l && (0, s.isNumeric)(i.groupIndex) || !1 === i.visible && "data" !== i.area && "filter" !== i.area || (i.levels && o !== n.filters && o !== n.values ? (o.push.apply(o, i.levels), i.filterValues && i.filterValues.length && n.filters.push(i)) : o.push(i)) })), (0, d.each)(n, (function (e, t) { R(t) })); var i = {}; return (0, d.each)(n.values, (function (e, a) { var o = a.calculateSummaryValue; (0, s.isFunction)(o) && o((0, v.createMockSummaryCell)(n, t, i)) })), n }, _fieldsPrepared: function (e) { this._fields = e, (0, d.each)(e, (function (e, t) { t.index = e, S(t, k) })); var t = O(e, ["caption"]); this._eventsStrategy.fireEvent("fieldsPrepared", [e]); for (var n = 0; n < e.length; n++)e[n].caption !== t[n].caption && (0, y.setFieldProperty)(e[n], "caption", e[n].caption, !0); this._descriptions = this._createDescriptions() }, isLoading: function () { return this._loadingCount > 0 }, state: function (e, t) { var n = this; if (!arguments.length) return { fields: O(n._fields, b), columnExpandedPaths: T(n._data, n._descriptions, "columns", n._lastLoadOptions), rowExpandedPaths: T(n._data, n._descriptions, "rows", n._lastLoadOptions) }; e = (0, r.extend)({ rowExpandedPaths: [], columnExpandedPaths: [] }, e), n._descriptions ? (n._fields = P(e.fields, n._fields), n._descriptions = n._createDescriptions(), !t && n.load(e)) : (n.beginLoading(), (0, c.when)(q(n)).done((function (i) { n._fields = P(e.fields, i), n._fieldsPrepared(i), !t && n.load(e) })).always((function () { n.endLoading() }))) }, beginLoading: function () { this._changeLoadingCount(1) }, endLoading: function () { this._changeLoadingCount(-1) }, _changeLoadingCount: function (e) { var t = this.isLoading(); this._loadingCount += e; var n = this.isLoading(); t ^ n && this._eventsStrategy.fireEvent("loadingChanged", [n]) }, _hasPagingValues: function (t, n, i) { var a = n + "Take", o = n + "Skip", s = this._data.values, r = this._data[n + "s"], l = "row" === n ? "column" : "row", d = []; if (t.path && t.area === n) { var c = e(r, t.path); if (!(r = c && c.children)) return !1 } if (t.oppositePath && t.area === l) { var u = e(r, t.oppositePath); if (!(r = u && u.children)) return !1 } for (var h = t[o]; h < t[o] + t[a]; h++)r[h] && d.push(r[h].index); return d.every((function (e) { if (void 0 !== e) return "row" === n ? (s[e] || [])[i] : (s[i] || [])[e] })) }, _processPagingCacheByArea: function (t, n, i) { var a, o = i + "Take", s = i + "Skip", r = this._data[i + "s"], l = "row" === i ? "column" : "row"; if (t[o]) { if (t.path && t.area === i) { var d = e(r, t.path); r = d && d.children || [] } if (t.oppositePath && t.area === l) { var c = e(r, t.oppositePath); r = c && c.children || [] } do { if ((a = r[t[s]]) && void 0 !== a.index) { if (!this._hasPagingValues(t, l, a.index)) break; t[s]++, t[o]-- } } while (a && void 0 !== a.index && t[o]); if (t[o]) { var u = Math.floor(t[s] / n) * n, h = Math.ceil((t[s] + t[o]) / n) * n; t[s] = u, t[o] = h - u } } }, _processPagingCache: function (e) { var t = this._pageSize; if (!(t < 0)) for (var n = 0; n < e.length; n++)this._processPagingCacheByArea(e[n], t, "row"), this._processPagingCacheByArea(e[n], t, "column") }, _loadCore: function (e, t) { var n = this, i = this._store, a = this._descriptions, o = e.reload || this.paginate() && n._isFieldsModified, s = this.paginate(), l = x[e.area]; if (e = e || {}, i) { (0, r.extend)(e, a), e.columnExpandedPaths = e.columnExpandedPaths || T(this._data, e, "columns", n._lastLoadOptions), e.rowExpandedPaths = e.rowExpandedPaths || T(this._data, e, "rows", n._lastLoadOptions), s && (e.pageSize = this._pageSize), l && (e.headerName = l), n.beginLoading(), t.always((function () { n.endLoading() })); var d = [e]; if (n._eventsStrategy.fireEvent("customizeStoreLoadOptions", [d, o]), o || n._processPagingCache(d), !(d = d.filter((function (e) { return !(e.rows.length && 0 === e.rowTake || e.columns.length && 0 === e.columnTake) }))).length) return void n._update(t); var u = d.map((function (e) { return i.load(e) })); c.when.apply(null, u).done((function () { for (var e = arguments, i = 0; i < e.length; i++) { var a = d[i], l = e[i], c = i === e.length - 1; a.path ? n.applyPartialDataSource(a.area, a.path, l, !!c && t, a.oppositePath) : s && !o && E(n._data) ? n.mergePartialDataSource(l, !!c && t) : ((0, r.extend)(n._data, l), n._lastLoadOptions = a, n._update(!!c && t)) } })).fail(t.reject) } else n._update(t) }, _sort: function (e, t, n) { this._store && !this._paginate && (0, m.sort)(e, t, n) }, paginate: function () { return this._paginate && this._store && this._store.supportPaging() }, isEmpty: function () { var e = this.getAreaFields("data"), t = this.getData(); return !e.length || !t.values.length }, _update: function (e) { var t = this, n = t._descriptions, i = t._data, a = n.values, o = function (e) { return e.some((function (e) { return e.summaryDisplayMode || e.calculateSummaryValue })) }(a); return (0, c.when)(H(n, i), z(i.rows), z(i.columns)).done((function () { o && (t._sort(n, i, o), !t.isEmpty() && (0, v.applyDisplaySummaryMode)(n, i)), t._sort(n, i), !t.isEmpty() && function (e) { return e.some((function (e) { return !!e.runningTotal })) }(a) && (0, v.applyRunningTotal)(n, i), t._data = i, !1 !== e && (0, c.when)(e).done((function () { t._isFieldsModified = !1, t._eventsStrategy.fireEvent("changed"), (0, s.isDefined)(t._data.grandTotalRowIndex) && (i.grandTotalRowIndex = t._data.grandTotalRowIndex), (0, s.isDefined)(t._data.grandTotalColumnIndex) && (i.grandTotalColumnIndex = t._data.grandTotalColumnIndex) })), e && e.resolve(t._data) })), e }, store: function () { return this._store }, collapseHeaderItem: function (t, n) { var i = "column" === t ? this._data.columns : this._data.rows, a = e(i, n), o = this.getAreaFields(t)[n.length - 1]; return !(!a || !a.children) && (this._eventsStrategy.fireEvent("expandValueChanging", [{ area: t, path: n, expanded: !1 }]), o && (o.expanded = !1), a.collapsedChildren = a.children, delete a.children, this._update(), this.paginate() && this.load(), !0) }, collapseAll: function (e) { var t = this, n = !1, i = this.field(e) || {}, a = [(0, l.inArray)(i, this.getAreaFields(i.area))]; i.expanded = !1, i && i.levels && (a = [], i.levels.forEach((function (e) { a.push((0, l.inArray)(e, t.getAreaFields(i.area))), e.expanded = !1 }))), (0, y.foreachTree)(this._data[i.area + "s"], (function (e) { var t = e[0], i = (0, y.createPath)(e); t && t.children && -1 !== a.indexOf(i.length - 1) && (t.collapsedChildren = t.children, delete t.children, n = !0) }), !0), n && this._update() }, expandAll: function (e) { var t = this.field(e); t && t.area && (t.expanded = !0, t && t.levels && t.levels.forEach((function (e) { e.expanded = !0 })), this.load()) }, expandHeaderItem: function (t, n) { var i = "column" === t ? this._data.columns : this._data.rows, a = e(i, n); if (a && !a.children) { var o = !!a.collapsedChildren, s = { area: t, path: n, expanded: !0, needExpandData: !o }; return this._eventsStrategy.fireEvent("expandValueChanging", [s]), o ? (a.children = a.collapsedChildren, delete a.collapsedChildren, this._update()) : this.store() && this.load(s), o } return !1 }, mergePartialDataSource: function (e, t) { var n, i, a = this, o = a._data; e && e.values && (e.rows = e.rows || [], e.columns = e.columns || [], n = f(o.rows, e.rows, o.grandTotalColumnIndex), i = f(o.columns, e.columns, o.grandTotalColumnIndex), (0, c.when)(n, i).done((function (n, i) { (n.length || i.length) && w(o, e.values, n, i), a._update(t) }))) }, applyPartialDataSource: function (t, i, a, o, s) { var r, l, d, u, h = this, p = h._data, g = "column" === t ? p.columns : p.rows, m = "column" === t ? p.rows : p.columns; a && a.values && (a.rows = a.rows || [], a.columns = a.columns || [], r = e(g, i), l = s && e(m, s), r && ("column" === t ? (u = n(g, r, a.columns, p.grandTotalColumnIndex), d = l ? n(m, l, a.rows, p.grandTotalRowIndex) : f(p.rows, a.rows, p.grandTotalRowIndex)) : (d = n(g, r, a.rows, p.grandTotalRowIndex), u = l ? n(m, l, a.columns, p.grandTotalColumnIndex) : f(p.columns, a.columns, p.grandTotalColumnIndex)), (0, c.when)(d, u).done((function (e, n) { ("row" === t && e.length || "column" === t && n.length) && w(p, a.values, e, n), h._update(o) })))) }, on: function (e, t) { return this._eventsStrategy.on(e, t), this }, off: function (e, t) { return this._eventsStrategy.off(e, t), this }, dispose: function () { var e = this._delayedLoadTask; this._eventsStrategy.dispose(), e && e.abort(), this._isDisposed = !0 }, isDisposed: function () { return !!this._isDisposed } } }()); t.default = D, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.AreaItem = void 0; var i = d(n(2)), a = d(n(13)), o = n(18), s = n(1), r = n(25), l = n(0); function d(e) { return e && e.__esModule ? e : { default: e } } var c = function (e) { var t = 0, n = e.offsetWidth; if (e.getBoundingClientRect) { var i = (0, r.getBoundingRect)(e); (t = i.width) || (t = i.right - i.left), t <= n - 1 && (t = n) } return t > 0 ? t : n }; function u(e, t, n, i) { var a = 0, o = 0, s = n / 2; return e + i - (t + n) > 1 ? (e >= t + n + s && (o = parseInt((e - (t + n)) / s, 10)), a = t + n + s * o) : e < t ? (e <= t - s && (o = parseInt((e - (t - s)) / s, 10)), a = t - (n - s * o)) : a = t, a } var h = a.default.inherit({ _getRowElement: function (e) { return this._tableElement && this._tableElement.length > 0 ? this._tableElement[0].rows[e] : null }, _createGroupElement: function () { return (0, i.default)("<div>") }, _createTableElement: function () { return (0, i.default)("<table>") }, _getCellText: function (e, t) { var n = e.isWhiteSpace ? "&nbsp" : e.text || "&nbsp"; return !t || -1 === n.indexOf("<") && -1 === n.indexOf(">") || (n = (0, i.default)("<div>").text(n).html()), n }, _getRowClassNames: function () { }, _applyCustomStyles: function (e) { e.cell.width && e.cssArray.push("min-width:" + e.cell.width + "px"), e.cell.sorted && e.classArray.push("dx-pivotgrid-sorted") }, _getMainElementMarkup: function () { return "<tbody>" }, _getCloseMainElementMarkup: function () { return "</tbody>" }, _renderTableContent: function (e, t) { var n, i, a, o, s, r, d = t.length, c = this.option("rtlEnabled"), u = [], h = this.option("encodeHtml"); for (e.data("area", this._getAreaName()), e.data("data", t), e.css("width", ""), u.push(this._getMainElementMarkup()), a = 0; a < d; a++) { n = t[a]; var f = []; for (r = [], u.push("<tr "), o = 0; o < n.length; o++) { if (i = n[o], this._getRowClassNames(a, i, r), f.push("<td "), i) { i.rowspan && f.push("rowspan='" + (i.rowspan || 1) + "'"), i.colspan && f.push("colspan='" + (i.colspan || 1) + "'"); var p = { cellElement: void 0, cell: i, cellsCount: n.length, cellIndex: o, rowElement: void 0, rowIndex: a, rowsCount: d, rtlEnabled: c, classArray: [], cssArray: [] }; this._applyCustomStyles(p), p.cssArray.length && (f.push("style='"), f.push(p.cssArray.join(";")), f.push("'")), p.classArray.length && (f.push("class='"), f.push(p.classArray.join(" ")), f.push("'")), f.push(">"), (0, l.isDefined)(i.expanded) && f.push("<div class='dx-expand-icon-container'><span class='dx-expand'></span></div>"), s = this._getCellText(i, h) } else s = ""; f.push("<span "), (0, l.isDefined)(i.wordWrapEnabled) && f.push("style='white-space:", i.wordWrapEnabled ? "normal" : "nowrap", ";'"), f.push(">" + s + "</span>"), i.sorted && f.push("<span class='dx-icon-sorted'></span>"), f.push("</td>") } r.length && (u.push("class='"), u.push(r.join(" ")), u.push("'")), u.push(">"), u.push(f.join("")), u.push("</tr>") } u.push(this._getCloseMainElementMarkup()), e.append(u.join("")), this._triggerOnCellPrepared(e, t) }, _triggerOnCellPrepared: function (e, t) { var n, i, a, r, l, d, c, u = e.find("tr"), h = this._getAreaName(), f = this.option("onCellPrepared"), p = this.component._eventsStrategy.hasEvent("cellPrepared"), g = this.component._defaultActionArgs(); if (f || p) for (d = 0; d < t.length; d++)for (r = t[d], n = u.eq(d), c = 0; c < r.length; c++)l = r[c], i = n.children().eq(c), a = { area: h, rowIndex: d, columnIndex: c, cellElement: (0, o.getPublicElement)(i), cell: l }, p ? this.component._trigger("onCellPrepared", a) : f((0, s.extend)(a, g)) }, _getRowHeight: function (e) { var t = this._getRowElement(e), n = 0, i = t.offsetHeight; if (t && t.lastChild) { if (t.getBoundingClientRect) (n = (0, r.getBoundingRect)(t).height) <= i - 1 && (n = i); return n > 0 ? n : i } return 0 }, _setRowHeight: function (e, t) { var n = this._getRowElement(e); n && (n.style.height = t + "px") }, ctor: function (e) { this.component = e }, option: function () { return this.component.option.apply(this.component, arguments) }, getRowsLength: function () { return this._tableElement && this._tableElement.length > 0 ? this._tableElement[0].rows.length : 0 }, getRowsHeight: function () { var e, t = [], n = this.getRowsLength(); for (e = 0; e < n; e++)t.push(this._getRowHeight(e)); return t }, setRowsHeight: function (e) { var t, n = 0, i = e.length; for (t = 0; t < i; t++)n += e[t], this._setRowHeight(t, e[t]); this._tableHeight = n, this._tableElement[0].style.height = n + "px" }, getColumnsWidth: function () { var e, t, n, i, a = this.getRowsLength(), o = [], s = [], r = function (e, t, n, i, a) { var o, s; for (o = 0; o < i; o++)for (s = 0; s < a; s++)e[t + o] = e[t + o] || [], e[t + o][n + s] = !0 }; if (a) for (e = 0; e < a; e++)for (o[e] = o[e] || [], t = this._getRowElement(e), n = 0; n < t.cells.length; n++) { for (i = 0; o[e][i]; i++); r(o, e, i, t.cells[n].rowSpan, t.cells[n].colSpan), 1 === t.cells[n].colSpan && (s[i] = s[i] || c(t.cells[n])) } return s }, setColumnsWidth: function (e) { var t, n = this._tableElement[0], i = "", a = this.getColumnsCount(), o = []; for (t = 0; t < a; t++)o.push(e[t] || 0); for (t = a; t < e.length && e; t++)o[a - 1] += e[t]; for (t = 0; t < a; t++)i += '<col style="width: ' + o[t] + 'px">'; this._colgroupElement.html(i), this._tableWidth = o.reduce((function (e, t) { return e + t }), 0), n.style.width = this._tableWidth + "px", n.style.tableLayout = "fixed" }, resetColumnsWidth: function () { this._colgroupElement.find("col").width("auto"), this._tableElement.css({ width: "", tableLayout: "" }) }, groupWidth: function (e) { return void 0 === e ? this._groupElement.width() : e >= 0 ? (this._groupWidth = e, this._groupElement[0].style.width = e + "px") : this._groupElement[0].style.width = e }, groupHeight: function (e) { if (void 0 === e) return this._groupElement.height(); this._groupHeight = null, e >= 0 ? (this._groupHeight = e, this._groupElement[0].style.height = e + "px") : this._groupElement[0].style.height = e }, groupElement: function () { return this._groupElement }, tableElement: function () { return this._tableElement }, element: function () { return this._rootElement }, headElement: function () { return this._tableElement.find("thead") }, _setTableCss: function (e) { this.option("rtlEnabled") && (e.right = e.left, delete e.left), this.tableElement().css(e) }, setVirtualContentParams: function (e) { this._virtualContent.css({ width: e.width, height: e.height }), this.groupElement().addClass("dx-virtual-mode") }, disableVirtualMode: function () { this.groupElement().removeClass("dx-virtual-mode") }, _renderVirtualContent: function () { this._virtualContent || "virtual" !== this.option("scrolling.mode") || (this._virtualContent = (0, i.default)("<div>").addClass("dx-virtual-content").insertBefore(this._tableElement)) }, reset: function () { var e = this._tableElement[0]; if (this._fakeTable && this._fakeTable.detach(), this._fakeTable = null, this.disableVirtualMode(), this.groupWidth("100%"), this.groupHeight("auto"), this.resetColumnsWidth(), e) { for (var t = 0; t < e.rows.length; t++)e.rows[t].style.height = ""; e.style.height = "", e.style.width = "100%" } }, _updateFakeTableVisibility: function () { var e = this.tableElement()[0], t = this.option("rtlEnabled") ? "right" : "left", n = this._fakeTable[0]; e.style.top === n.style.top && n.style[t] === e.style[t] ? this._fakeTable.addClass("dx-hidden") : this._fakeTable.removeClass("dx-hidden") }, _moveFakeTableHorizontally: function (e) { var t = this.option("rtlEnabled") ? "right" : "left", n = u(e, parseFloat(this.tableElement()[0].style[t]), this._tableWidth, this._groupWidth); parseFloat(this._fakeTable[0].style[t]) !== n && (this._fakeTable[0].style[t] = n + "px") }, _moveFakeTableTop: function (e) { var t = u(e, parseFloat(this.tableElement()[0].style.top), this._tableHeight, this._groupHeight); parseFloat(this._fakeTable[0].style.top) !== t && (this._fakeTable[0].style.top = t + "px") }, _moveFakeTable: function () { this._updateFakeTableVisibility() }, _createFakeTable: function () { this._fakeTable || (this._fakeTable = this.tableElement().clone().addClass("dx-pivot-grid-fake-table").appendTo(this._virtualContent)) }, render: function (e, t) { if (this._tableElement) { try { this._tableElement[0].innerHTML = "" } catch (e) { this._tableElement.empty() } this._tableElement.attr("style", "") } else this._groupElement = this._createGroupElement(), this._tableElement = this._createTableElement(), this._tableElement.appendTo(this._groupElement), this._groupElement.appendTo(e), this._rootElement = e; this._colgroupElement = (0, i.default)("<colgroup>").appendTo(this._tableElement), this._renderTableContent(this._tableElement, t), this._renderVirtualContent() }, _getScrollable: function () { return this.groupElement().data("dxScrollable") }, on: function (e, t) { var n = this, i = n._getScrollable(); return i && i.on(e, (function (e) { n.option("rtlEnabled") && (0, l.isDefined)(e.scrollOffset.left) && (e.scrollOffset.left = i.$content().width() - i._container().width() - e.scrollOffset.left), t(e) })), this }, off: function (e) { var t = this._getScrollable(); return t && t.off(e), this }, scrollTo: function (e) { var t = this._getScrollable(), n = e; t && (this.option("rtlEnabled") && ("column" === this._getAreaName() ? n = t.$content().width() - t._container().width() - e : "data" === this._getAreaName() && (n = { x: t.$content().width() - t._container().width() - e.x, y: e.y })), t.scrollTo(n), this._virtualContent && (this._createFakeTable(), this._moveFakeTable(e))) }, updateScrollable: function () { var e = this._getScrollable(); if (e) return e.update() }, getColumnsCount: function () { var e, t = 0, n = this._getRowElement(0); if (n) for (var i = 0, a = (e = n.cells).length; i < a; ++i)t += e[i].colSpan; return t }, getData: function () { var e = this._tableElement; return e ? e.data("data") : [] } }); t.AreaItem = h }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(14); function o(e) { return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var s = ((i = n(336)) && i.__esModule ? i : { default: i }).default.inherit({ _getPlainItems: function () { return this._collectionWidget.option("items") || [] }, getIndexByItemData: function (e) { var t = this._collectionWidget.keyOf.bind(this._collectionWidget); return t ? this.getIndexByKey(t(e)) : (0, a.inArray)(e, this._getPlainItems()) }, getItemDataByIndex: function (e) { return this._getPlainItems()[e] }, deleteItemAtIndex: function (e) { this._getPlainItems().splice(e, 1) }, itemsGetter: function () { return this._getPlainItems() }, getKeysByItems: function (e) { var t = this._collectionWidget.keyOf.bind(this._collectionWidget), n = e; if (t) { n = []; for (var i = 0; i < e.length; i++)n.push(t(e[i])) } return n }, getIndexByKey: function (e) { var t = this._cache, n = t && t.keys || this.getKeysByItems(this._getPlainItems()); if (t && !t.keys && (t.keys = n), "object" !== o(e)) return n.indexOf(e); for (var i = 0, a = n.length; i < a; i++)if (this._equalKeys(e, n[i])) return i; return -1 }, getItemsByKeys: function (e, t) { return (t || e).slice() }, moveItemAtIndexToIndex: function (e, t) { var n = this._getPlainItems(), i = n[e]; n.splice(e, 1), n.splice(t, 0, i) }, _isItemIndex: function (e) { return "number" == typeof e && Math.round(e) === e }, _getNormalizedItemIndex: function (e) { return this._collectionWidget._itemElements().index(e) }, _normalizeItemIndex: function (e) { return e }, _denormalizeItemIndex: function (e) { return e }, _getItemByNormalizedIndex: function (e) { return e > -1 ? this._collectionWidget._itemElements().eq(e) : null }, _itemsFromSameParent: function () { return !0 } }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = x(n(2)), a = x(n(5)), o = x(n(54)), s = n(19), r = n(4), l = n(0), d = n(14), c = n(1), u = n(3), h = x(n(10)), f = x(n(11)), p = x(n(29)), g = n(209), m = x(n(224)), _ = x(n(225)), v = n(46), y = x(n(373)), w = n(6); function x(e) { return e && e.__esModule ? e : { default: e } } var b = "<div>", C = g.HeaderFilterView.inherit({ _getSearchExpr: function (e) { return e.useDefaultSearchExpr = !0, this.callBase(e) } }); function k(e, t) { var n = t; return (0, l.isDefined)(t.groupIndex) && (n = e.getAreaFields(t.area, !0)[t.areaIndex]), n } function I(e) { return e = e || {}, JSON.stringify([e.fields, e.columnExpandedPaths, e.rowExpandedPaths]) } var S = p.default.inherit(m.default).inherit(_.default).inherit(g.headerFilterMixin).inherit({ _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), { allowFieldDragging: !0, applyChangesMode: "instantly", state: null, headerFilter: { width: 252, height: 325, searchTimeout: 500, texts: { emptyValue: h.default.format("dxDataGrid-headerFilterEmptyValue"), ok: h.default.format("dxDataGrid-headerFilterOK"), cancel: h.default.format("dxDataGrid-headerFilterCancel") } } }) }, _init: function () { this.callBase(), this._headerFilterView = new C(this), this._refreshDataSource(), this.subscribeToEvents() }, _refreshDataSource: function () { var e = this.option("dataSource"); e && e.fields && e.load && (this._dataSource = e) }, _optionChanged: function (e) { switch (e.name) { case "dataSource": this._refreshDataSource(); break; case "applyChangesMode": break; case "state": if (this._skipStateChange || !this._dataSource) break; "instantly" === this.option("applyChangesMode") && I(this._dataSource.state()) !== I(e.value) ? this._dataSource.state(e.value) : (this._clean(!0), this._renderComponent()); break; case "headerFilter": case "allowFieldDragging": this._invalidate(); break; default: this.callBase(e) } }, renderField: function (e, t) { var n = (0, i.default)(b).addClass("dx-area-field-content").text(e.caption || e.dataField), a = (0, i.default)(b).addClass("dx-area-field").addClass("dx-area-box").data("field", e).append(n), o = k(this._dataSource, e); return "data" !== e.area && (e.allowSorting && this._applyColumnState({ name: "sort", rootElement: a, column: { alignment: this.option("rtlEnabled") ? "right" : "left", sortOrder: "desc" === e.sortOrder ? "desc" : "asc" }, showColumnLines: t }), this._applyColumnState({ name: "headerFilter", rootElement: a, column: { alignment: this.option("rtlEnabled") ? "right" : "left", filterValues: o.filterValues, allowFiltering: o.allowFiltering && !e.groupIndex }, showColumnLines: t })), e.groupName && a.attr("item-group", e.groupName), a }, _clean: function () { }, _render: function () { this.callBase(), this._headerFilterView.render(this.$element()) }, renderSortable: function () { var e = this; e._createComponent(e.$element(), y.default, (0, c.extend)({ allowDragging: e.option("allowFieldDragging"), itemSelector: ".dx-area-field", itemContainerSelector: ".dx-area-field-container", groupSelector: ".dx-area-fields", groupFilter: function () { var t = e._dataSource, n = (0, i.default)(this).closest(".dx-sortable-old"), a = n.data("dxPivotGrid"), o = n.data("dxPivotGridFieldChooser"); return a ? a.getDataSource() === t : !!o && o.option("dataSource") === t }, itemRender: function (e, t) { var n; if (e.hasClass("dx-area-box") ? (n = e.clone(), "drag" === t && (0, u.each)(e, (function (e, t) { n.eq(e).css("width", parseInt((0, i.default)(t).outerWidth(), 10) + 1) }))) : n = (0, i.default)(b).addClass("dx-area-field").addClass("dx-area-box").text(e.text()), "drag" === t) { var a = (0, i.default)(b); return (0, u.each)(n, (function (e, t) { var n = (0, i.default)("<div>").addClass("dx-pivotgrid-fields-container").addClass("dx-widget").append((0, i.default)(t)); a.append(n) })), a.children() } return n }, onDragging: function (e) { var t = e.sourceElement.data("field"), n = e.targetGroup; e.cancel = !1, !0 === t.isMeasure ? "column" !== n && "row" !== n && "filter" !== n || (e.cancel = !0) : !1 === t.isMeasure && "data" === n && (e.cancel = !0) }, useIndicator: !0, onChanged: function (t) { var n = e._dataSource, i = t.sourceElement.data("field"); t.removeSourceElement = !!t.sourceGroup, e._adjustSortableOnChangedArgs(t), i && e._applyChanges([k(n, i)], { area: t.targetGroup, areaIndex: t.targetIndex }) } }, e._getSortableOptions())) }, _processDemandState: function (e) { var t = "instantly" === this.option("applyChangesMode"), n = this._dataSource; if (t) e(n, t); else { var i = n.state(), a = this.option("state"); a && n.state(a, !0), e(n, t), n.state(i, !0) } }, _applyChanges: function (e, t) { var n = this; n._processDemandState((function (i, a) { e.forEach((function (e) { var n = e.index; i.field(n, t) })), a ? i.load() : n._changedHandler() })) }, _adjustSortableOnChangedArgs: function (e) { e.removeSourceElement = !1, e.removeTargetElement = !0, e.removeSourceClass = !1 }, _getSortableOptions: function () { return { direction: "auto" } }, subscribeToEvents: function (e) { var t = this, n = function (e) { var n = (0, i.default)(e.currentTarget).data("field"), a = (0, c.extend)(!0, {}, k(t._dataSource, n)), s = (0, i.default)(e.target).hasClass("dx-header-filter"), r = t._dataSource, l = a.groupName ? "tree" : "list", h = r.paginate() && "list" === l; s ? t._headerFilterView.showHeaderFilterMenu((0, i.default)(e.currentTarget), (0, c.extend)(a, { type: l, encodeHtml: t.option("encodeHtml"), dataSource: { useDefaultSearch: !h, load: function (e) { var n = e.userData; if (n.store) return n.store.load(e); var i = new w.Deferred; return r.getFieldValues(a.index, t.option("headerFilter.showRelevantValues"), h ? e : void 0).done((function (a) { var s = t.option("headerFilter.texts.emptyValue"); a.forEach((function (e) { e.text || (e.text = s) })), h ? i.resolve(a) : (n.store = new o.default(a), n.store.load(e).done(i.resolve).fail(i.reject)) })).fail(i.reject), i }, postProcess: function (e) { return function (e, t) { var n = [], i = !!t.groupName, a = "exclude" === t.filterType; t.filterValues && (0, u.each)(t.filterValues, (function (e, t) { n.push(Array.isArray(t) ? t.join("/") : t && t.valueOf()) })), (0, v.foreachTree)(e, (function (e) { var t = e[0], o = (0, v.createPath)(e), s = i ? (0, u.map)(e, (function (e) { return e.text })).reverse().join("/") : t.text; t.value = i ? o.slice(0) : t.key || t.value; var r = i ? o.join("/") : t.value && t.value.valueOf(); t.children && (t.items = t.children, t.children = null), (0, g.updateHeaderFilterItemSelectionState)(t, t.key && (0, d.inArray)(s, n) > -1 || (0, d.inArray)(r, n) > -1, a) })) }(e, a), e } }, apply: function () { t._applyChanges([a], { filterValues: this.filterValues, filterType: this.filterType }) } })) : n.allowSorting && "data" !== n.area && t._applyChanges([n], { sortOrder: "desc" === n.sortOrder ? "asc" : "desc" }) }; e ? a.default.on(e, s.name, ".dx-area-field.dx-area-box", n) : a.default.on(t.$element(), s.name, ".dx-area-field.dx-area-box", n) }, _initTemplates: r.noop, addWidgetPrefix: function (e) { return "dx-pivotgrid-" + e } }); (0, f.default)("dxPivotGridFieldChooserBase", S); var E = S; t.default = E, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = n(1), o = d(n(10)), s = d(n(128)), r = d(n(17)), l = n(6); function d(e) { return e && e.__esModule ? e : { default: e } } var c = { _getDefaultOptions: function () { return (0, a.extend)(this.callBase(), { searchMode: "", searchExpr: null, searchValue: "", searchEnabled: !1, searchEditorOptions: {} }) }, _initMarkup: function () { this._renderSearch(), this.callBase() }, _renderSearch: function () { var e = this.$element(), t = this.option("searchEnabled"), n = this._addWidgetPrefix("search"), a = this._addWidgetPrefix("with-search"); if (!t) return e.removeClass(a), void this._removeSearchBox(); var o = this._getSearchEditorOptions(); this._searchEditor ? this._searchEditor.option(o) : (e.addClass(a), this._$searchEditorElement = (0, i.default)("<div>").addClass(n).prependTo(e), this._searchEditor = this._createComponent(this._$searchEditorElement, s.default, o)) }, _removeSearchBox: function () { this._$searchEditorElement && this._$searchEditorElement.remove(), delete this._$searchEditorElement, delete this._searchEditor }, _getSearchEditorOptions: function () { var e = this, t = e.option("searchEditorOptions"), n = o.default.format("Search"); return (0, a.extend)({ mode: "search", placeholder: n, tabIndex: e.option("tabIndex"), value: e.option("searchValue"), valueChangeEvent: "input", inputAttr: { "aria-label": n }, onValueChanged: function (t) { var n = e.option("searchTimeout"); e._valueChangeDeferred = new l.Deferred, clearTimeout(e._valueChangeTimeout), e._valueChangeDeferred.done(function () { this.option("searchValue", t.value) }.bind(e)), t.event && "input" === t.event.type && n ? e._valueChangeTimeout = setTimeout((function () { e._valueChangeDeferred.resolve() }), n) : e._valueChangeDeferred.resolve() } }, t) }, _getAriaTarget: function () { return this.option("searchEnabled") ? this._itemContainer(!0) : this.$element() }, _focusTarget: function () { return this.option("searchEnabled") ? this._itemContainer(!0) : this.callBase() }, _updateFocusState: function (e, t) { this.option("searchEnabled") && this._toggleFocusClass(t, this.$element()), this.callBase(e, t) }, getOperationBySearchMode: function (e) { return "equals" === e ? "=" : e }, _cleanAria: function (e) { this.setAria({ role: null, activedescendant: null }, e), e.attr("tabIndex", null) }, _optionChanged: function (e) { switch (e.name) { case "searchEnabled": case "searchEditorOptions": this._cleanAria(this.option("searchEnabled") ? this.$element() : this._itemContainer()), this._invalidate(); break; case "searchExpr": case "searchMode": case "searchValue": if (!this._dataSource) return void r.default.log("W1009"); "searchMode" === e.name ? this._dataSource.searchOperation(this.getOperationBySearchMode(e.value)) : this._dataSource[e.name](e.value), this._dataSource.load(); break; case "searchTimeout": break; default: this.callBase(e) } }, focus: function () { this.option("focusedElement") || !this.option("searchEnabled") ? this.callBase() : this._searchEditor && this._searchEditor.focus() }, _refresh: function () { this._valueChangeDeferred && this._valueChangeDeferred.resolve(), this.callBase() } }; t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(5)), o = n(8), s = n(4), r = n(3), l = u(n(12)), d = u(n(13)), c = u(n(216)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = d.default.inherit({ ctor: function (e) { this._init(e) }, _init: function (e) { this._component = e, this._$element = e.$element(), this._$container = e._$container, this._$content = e._$content, this._direction = e.option("direction"), this._useSimulatedScrollbar = e.option("useSimulatedScrollbar"), this._showScrollbar = e.option("showScrollbar"), this.option = e.option.bind(e), this._createActionByOption = e._createActionByOption.bind(e), this._isLocked = e._isLocked.bind(e), this._isDirection = e._isDirection.bind(e), this._allowedDirection = e._allowedDirection.bind(e), this._getScrollOffset = e._getScrollOffset.bind(e), this._getMaxOffset = e._getMaxOffset.bind(e) }, render: function () { this._renderPushBackOffset(); var e = l.default.real().platform; this._$element.addClass("dx-scrollable-native").addClass("dx-scrollable-native-" + e).toggleClass("dx-scrollable-scrollbars-hidden", !this._showScrollbar), this._showScrollbar && this._useSimulatedScrollbar && this._renderScrollbars() }, updateBounds: s.noop, _renderPushBackOffset: function () { var e = this.option("pushBackValue"); (e || this._component._lastPushBackValue) && (this._$content.css({ paddingTop: e, paddingBottom: e }), this._component._lastPushBackValue = e) }, _renderScrollbars: function () { this._scrollbars = {}, this._hideScrollbarTimeout = 0, this._$element.addClass("dx-scrollable-scrollbar-simulated"), this._renderScrollbar("vertical"), this._renderScrollbar("horizontal") }, _renderScrollbar: function (e) { this._isDirection(e) && (this._scrollbars[e] = new c.default((0, i.default)("<div>").appendTo(this._$element), { direction: e, expandable: this._component.option("scrollByThumb") })) }, handleInit: s.noop, handleStart: function () { this._disablePushBack = !0 }, handleMove: function (e) { this._isLocked() ? e.cancel = !0 : this._allowedDirection() && (e.originalEvent.isScrollingEvent = !0) }, handleEnd: function () { this._disablePushBack = !1 }, handleCancel: s.noop, handleStop: s.noop, _eachScrollbar: function (e) { e = e.bind(this), (0, r.each)(this._scrollbars || {}, (function (t, n) { e(n, t) })) }, createActions: function () { this._scrollAction = this._createActionByOption("onScroll"), this._updateAction = this._createActionByOption("onUpdated") }, _createActionArgs: function () { var e = this.location(), t = e.left, n = e.top; return { event: this._eventForUserAction, scrollOffset: this._getScrollOffset(), reachedLeft: this._isReachedLeft(t), reachedRight: this._isReachedRight(t), reachedTop: this._isDirection("vertical") ? n >= 0 : void 0, reachedBottom: this._isDirection("vertical") ? Math.abs(n) >= this._getMaxOffset().top - 2 * this.option("pushBackValue") : void 0 } }, _isReachedLeft: function () { return this._isDirection("horizontal") ? this.location().left >= 0 : void 0 }, _isReachedRight: function () { return this._isDirection("horizontal") ? Math.abs(this.location().left) >= this._getMaxOffset().left : void 0 }, handleScroll: function (e) { this._component._updateRtlConfig(), this._isScrollLocationChanged() ? (this._eventForUserAction = e, this._moveScrollbars(), this._scrollAction(this._createActionArgs()), this._lastLocation = this.location(), this._pushBackFromBoundary()) : e.stopImmediatePropagation() }, _pushBackFromBoundary: function () { var e = this.option("pushBackValue"); if (e && !this._disablePushBack) { var t = this._containerSize.height - this._contentSize.height, n = this._$container.scrollTop(); n ? t + n - 2 * e || this._$container.scrollTop(e - t) : this._$container.scrollTop(e) } }, _isScrollLocationChanged: function () { var e = this.location(), t = this._lastLocation || {}, n = t.top !== e.top, i = t.left !== e.left; return n || i }, _moveScrollbars: function () { this._eachScrollbar((function (e) { e.moveTo(this.location()), e.option("visible", !0) })), this._hideScrollbars() }, _hideScrollbars: function () { clearTimeout(this._hideScrollbarTimeout), this._hideScrollbarTimeout = setTimeout(function () { this._eachScrollbar((function (e) { e.option("visible", !1) })) }.bind(this), 500) }, location: function () { return { left: -this._$container.scrollLeft(), top: this.option("pushBackValue") - this._$container.scrollTop() } }, disabledChanged: s.noop, update: function () { this._update(), this._updateAction(this._createActionArgs()) }, _update: function () { this._updateDimensions(), this._updateScrollbars() }, _updateDimensions: function () { this._containerSize = { height: this._$container.height(), width: this._$container.width() }, this._componentContentSize = { height: this._component.$content().height(), width: this._component.$content().width() }, this._contentSize = { height: this._$content.height(), width: this._$content.width() }, this._pushBackFromBoundary() }, _updateScrollbars: function () { this._eachScrollbar((function (e, t) { var n = "vertical" === t ? "height" : "width"; e.option({ containerSize: this._containerSize[n], contentSize: this._componentContentSize[n] }), e.update() })) }, _allowedDirections: function () { return { vertical: this._isDirection("vertical") && this._contentSize.height > this._containerSize.height, horizontal: this._isDirection("horizontal") && this._contentSize.width > this._containerSize.width } }, dispose: function () { var e = this._$element.get(0).className, t = new RegExp("dx-scrollable-native\\S*", "g"); t.test(e) && this._$element.removeClass(e.match(t).join(" ")), a.default.off(this._$element, ".dxNativeScrollable"), a.default.off(this._$container, ".dxNativeScrollable"), this._removeScrollbars(), clearTimeout(this._hideScrollbarTimeout) }, _removeScrollbars: function () { this._eachScrollbar((function (e) { e.$element().remove() })) }, scrollBy: function (e) { var t = this.location(); this._$container.scrollTop(Math.round(-t.top - e.top + this.option("pushBackValue"))), this._$container.scrollLeft(Math.round(-t.left - e.left)) }, validate: function (e) { return !this.option("disabled") && ((!(0, o.isDxMouseWheelEvent)(e) || !this._isScrolledInMaxDirection(e)) && !!this._allowedDirection()) }, _isScrolledInMaxDirection: function (e) { var t = this._$container.get(0); return e.delta > 0 ? e.shiftKey ? !t.scrollLeft : !t.scrollTop : e.shiftKey ? t.scrollLeft >= this._getMaxOffset().left : t.scrollTop >= this._getMaxOffset().top }, getDirection: function () { return this._allowedDirection() }, verticalOffset: function () { return this.option("pushBackValue") } }); t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = n(7), o = n(18), s = v(n(9)), r = v(n(5)), l = v(n(11)), d = n(4), c = n(1), u = n(30), h = v(n(60)), f = n(0), p = n(37), g = n(8), m = v(n(47)), _ = n(25); function v(e) { return e && e.__esModule ? e : { default: e } } function y(e) { return (y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var w = (0, a.getWindow)(), x = { left: "right", top: "bottom", right: "left", bottom: "top", center: "center" }, b = { left: -1, top: -1, center: 0, right: 1, bottom: 1 }, C = { top: { my: "bottom center", at: "top center", collision: "fit flip" }, bottom: { my: "top center", at: "bottom center", collision: "fit flip" }, right: { my: "left center", at: "right center", collision: "flip fit" }, left: { my: "right center", at: "left center", collision: "flip fit" } }, k = { left: "borderLeftWidth", top: "borderTopWidth", right: "borderRightWidth", bottom: "borderBottomWidth" }, I = function (e) { return (0, f.isObject)(e) ? e.name : e }, S = function (e, t) { var n = e.option(t); return I(n) }, E = function (e, t) { var n = e.option("target"), a = (0, f.isString)(n), l = S(e, t + "Event"); if (l && !e.option("disabled")) { var d = (0, g.addNamespace)(l, e.NAME), c = e._createAction(function () { var n = function (e, t) { var n = e.option(t); return (0, f.isObject)(n) && n.delay }(e, t + "Event"); this._clearEventsTimeouts(), n ? this._timeouts[t] = setTimeout((function () { e[t]() }), n) : e[t]() }.bind(e), { validatingTargetName: "target" }), u = function (e) { c({ event: e, target: (0, i.default)(e.currentTarget) }) }, h = "_" + t + "EventHandler"; if (a) e[h] = u, r.default.on(s.default.getDocument(), d, n, u); else { var p = (0, o.getPublicElement)((0, i.default)(n)); e[h] = void 0, r.default.on(p, d, u) } } }, D = function (e, t, n, a) { var l = a || S(e, n + "Event"); if (l) { l = (0, g.addNamespace)(l, e.NAME); var d = "_" + n + "EventHandler"; e[d] ? r.default.off(s.default.getDocument(), l, t, e[d]) : r.default.off((0, o.getPublicElement)((0, i.default)(t)), l) } }, T = m.default.inherit({ _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), { target: w, shading: !1, position: "bottom", closeOnOutsideClick: !0, animation: { show: { type: "fade", from: 0, to: 1 }, hide: { type: "fade", to: 0 } }, showTitle: !1, width: "auto", height: "auto", dragEnabled: !1, resizeEnabled: !1, fullScreen: !1, closeOnTargetScroll: !0, arrowPosition: "", arrowOffset: 0, boundaryOffset: { h: 10, v: 10 }, _fixedPosition: !0 }) }, _defaultOptionsRules: function () { return [{ device: { platform: "ios" }, options: { arrowPosition: { boundaryOffset: { h: 20, v: -10 }, collision: "fit" } } }, { device: function () { return !(0, a.hasWindow)() }, options: { animation: null } }] }, _init: function () { this.callBase(), this._renderArrow(), this._timeouts = {}, this.$element().addClass("dx-popover"), this._wrapper().addClass("dx-popover-wrapper") }, _render: function () { this.callBase.apply(this, arguments), this._detachEvents(this.option("target")), this._attachEvents() }, _detachEvents: function (e) { D(this, e, "show"), D(this, e, "hide") }, _attachEvents: function () { E(this, "show"), E(this, "hide") }, _renderArrow: function () { this._$arrow = (0, i.default)("<div>").addClass("dx-popover-arrow").prependTo(this.overlayContent()) }, _documentDownHandler: function (e) { return !this._isOutsideClick(e) || this.callBase(e) }, _isOutsideClick: function (e) { return !(0, i.default)(e.target).closest(this.option("target")).length }, _animate: function (e) { e && e.to && "object" === y(e.to) && (0, c.extend)(e.to, { position: this._getContainerPosition() }), this.callBase.apply(this, arguments) }, _stopAnimation: function () { this.callBase.apply(this, arguments) }, _renderTitle: function () { this._wrapper().toggleClass("dx-popover-without-title", !this.option("showTitle")), this.callBase() }, _renderPosition: function () { this.callBase(), this._renderOverlayPosition() }, _renderOverlayBoundaryOffset: d.noop, _renderOverlayPosition: function () { this._resetOverlayPosition(), this._updateContentSize(); var e = this._getContainerPosition(), t = h.default.setup(this._$content, e), n = this._getSideByLocation(t); this._togglePositionClass("dx-position-" + n), this._toggleFlippedClass(t.h.flip, t.v.flip), (this._isHorizontalSide() || this._isVerticalSide()) && this._renderArrowPosition(n) }, _resetOverlayPosition: function () { this._setContentHeight(!0), this._togglePositionClass("dx-position-" + this._positionSide), (0, u.move)(this._$content, { left: 0, top: 0 }), this._$arrow.css({ top: "auto", right: "auto", bottom: "auto", left: "auto" }) }, _updateContentSize: function () { if (this._$popupContent) { var e = h.default.calculate(this._$content, this._getContainerPosition()); if (e.h.oversize > 0 && this._isHorizontalSide() && !e.h.fit) { var t = this._$content.width() - e.h.oversize; this._$content.width(t) } if (e.v.oversize > 0 && this._isVerticalSide() && !e.v.fit) { var n = this._$content.height() - e.v.oversize, i = this._$popupContent.height() - e.v.oversize; this._$content.height(n), this._$popupContent.height(i) } } }, _getContainerPosition: function () { var e = (0, d.pairToObject)(this._position.offset || ""), t = e.h, n = e.v, i = this._isVerticalSide(), a = this._isHorizontalSide(); if (i || a) { var o = (this._isPopoverInside() ? -1 : 1) * b[this._positionSide] * ((i ? this._$arrow.height() : this._$arrow.width()) - this._getContentBorderWidth(this._positionSide)); i ? n += o : t += o } return (0, c.extend)({}, this._position, { offset: t + " " + n }) }, _getContentBorderWidth: function (e) { var t = this._$content.css(k[e]); return parseInt(t) || 0 }, _getSideByLocation: function (e) { var t = e.v.flip, n = e.h.flip; return this._isVerticalSide() && t || this._isHorizontalSide() && n || this._isPopoverInside() ? x[this._positionSide] : this._positionSide }, _togglePositionClass: function (e) { this._$wrapper.removeClass("dx-position-left dx-position-right dx-position-top dx-position-bottom").addClass(e) }, _toggleFlippedClass: function (e, t) { this._$wrapper.toggleClass("dx-popover-flipped-horizontal", e).toggleClass("dx-popover-flipped-vertical", t) }, _renderArrowPosition: function (e) { var t = (0, _.getBoundingRect)(this._$arrow.get(0)), n = -(this._isVerticalSide(e) ? t.height : t.width); this._$arrow.css(x[e], n); var a, o = this._isVerticalSide(e) ? "left" : "top", s = this._isVerticalSide(e) ? "width" : "height", r = (0, i.default)(this._position.of), l = h.default.offset(r) || { top: 0, left: 0 }, d = h.default.offset(this._$content), c = t[s], u = d[o], f = (0, _.getBoundingRect)(this._$content.get(0))[s], g = l[o], m = r.get(0).preventDefault ? 0 : (0, _.getBoundingRect)(r.get(0))[s], v = Math.max(u, g), y = Math.min(u + f, g + m); a = "start" === this.option("arrowPosition") ? v - u : "end" === this.option("arrowPosition") ? y - u - c : (v + y) / 2 - u - c / 2; var w = this._getContentBorderWidth(e), b = (0, p.fitIntoRange)(a - w + this.option("arrowOffset"), w, f - c - 2 * w); this._$arrow.css(o, b) }, _isPopoverInside: function () { var e = this._transformStringPosition(this.option("position"), C), t = h.default.setup.normalizeAlign(e.my), n = h.default.setup.normalizeAlign(e.at); return t.h === n.h && t.v === n.v }, _setContentHeight: function (e) { e && this.callBase() }, _renderWrapperPosition: function () { this.option("shading") && this._$wrapper.css({ top: 0, left: 0 }) }, _renderWrapperDimensions: function () { this.option("shading") && this._$wrapper.css({ width: "100%", height: "100%" }) }, _normalizePosition: function () { var e = (0, c.extend)({}, this._transformStringPosition(this.option("position"), C)); e.of || (e.of = this.option("target")), e.collision || (e.collision = "flip"), e.boundaryOffset || (e.boundaryOffset = this.option("boundaryOffset")), this._positionSide = this._getDisplaySide(e), this._position = e }, _getDisplaySide: function (e) { var t = h.default.setup.normalizeAlign(e.my), n = h.default.setup.normalizeAlign(e.at), i = b[t.h] === b[n.h] && b[t.v] === b[n.v] ? -1 : 1; return Math.abs(b[t.h] - i * b[n.h]) > Math.abs(b[t.v] - i * b[n.v]) ? n.h : n.v }, _isVerticalSide: function (e) { return "top" === (e = e || this._positionSide) || "bottom" === e }, _isHorizontalSide: function (e) { return "left" === (e = e || this._positionSide) || "right" === e }, _clearEventTimeout: function (e) { clearTimeout(this._timeouts[e]) }, _clearEventsTimeouts: function () { this._clearEventTimeout("show"), this._clearEventTimeout("hide") }, _clean: function () { this._detachEvents(this.option("target")), this.callBase.apply(this, arguments) }, _optionChanged: function (e) { switch (e.name) { case "boundaryOffset": case "arrowPosition": case "arrowOffset": this._renderGeometry(); break; case "fullScreen": e.value && this.option("fullScreen", !1); break; case "target": e.previousValue && this._detachEvents(e.previousValue), this.callBase(e); break; case "showEvent": case "hideEvent": var t = e.name.substring(0, 4), n = I(e.previousValue); this.hide(), D(this, this.option("target"), t, n), E(this, t); break; case "visible": this._clearEventTimeout(e.value ? "show" : "hide"), this.callBase(e); break; default: this.callBase(e) } }, show: function (e) { return e && this.option("target", e), this.callBase() } }); (0, l.default)("dxPopover", T); var A = T; t.default = A, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.setScrollView = function (e) { O = e }, t.ListBase = void 0; var i = A(n(2)), a = A(n(5)), o = n(4), s = n(0), r = n(83), l = n(18), d = n(3), c = n(20), u = n(1), h = A(n(38)), f = n(19), p = n(125), g = n(41), m = A(n(10)), _ = n(81), v = A(n(12)), y = A(n(364)), w = A(n(35)), x = n(8), b = n(34), C = n(7), k = A(n(162)), I = n(217), S = A(n(163)), E = n(70), D = n(6), T = A(n(222)); function A(e) { return e && e.__esModule ? e : { default: e } } var O, B = ".dx-list-item", M = (0, c.compileGetter)("items"), P = S.default.inherit({ _activeStateUnit: [B, ".dx-list-select-all"].join(","), _supportedKeys: function () { var e = this, t = function (t) { var i = n(t); i.is(e.option("focusedElement")) && (!function (t, n) { var i = t.position().top; "prev" === n && (i = t.position().top - e.$element().height() + t.outerHeight()); e.scrollTo(i) }(i, t), i = n(t)), e.option("focusedElement", (0, l.getPublicElement)(i)), e.scrollToItem(i) }; function n(t) { var n = e.scrollTop(), a = e.$element().height(), o = (0, i.default)(e.option("focusedElement")), s = !0; if (!o.length) return (0, i.default)(); for (; s;) { var r = o[t](); if (!r.length) break; var l = r.position().top + r.outerHeight() / 2; (s = l < a + n && l > n) && (o = r) } return o } return (0, u.extend)(this.callBase(), { leftArrow: o.noop, rightArrow: o.noop, pageUp: function () { return t("prev"), !1 }, pageDown: function () { return t("next"), !1 } }) }, _getDefaultOptions: function () { return (0, u.extend)(this.callBase(), { hoverStateEnabled: !0, pullRefreshEnabled: !1, scrollingEnabled: !0, showScrollbar: "onScroll", useNativeScrolling: !0, bounceEnabled: !0, scrollByContent: !0, scrollByThumb: !1, pullingDownText: m.default.format("dxList-pullingDownText"), pulledDownText: m.default.format("dxList-pulledDownText"), refreshingText: m.default.format("dxList-refreshingText"), pageLoadingText: m.default.format("dxList-pageLoadingText"), onScroll: null, onPullRefresh: null, onPageLoading: null, pageLoadMode: "scrollBottom", nextButtonText: m.default.format("dxList-nextButtonText"), onItemSwipe: null, grouped: !1, onGroupRendered: null, collapsibleGroups: !1, groupTemplate: "group", indicateLoading: !0, activeStateEnabled: !0, _itemAttributes: { role: "option" }, _listAttributes: { role: "listbox" }, useInkRipple: !1, wrapItemText: !1, _swipeEnabled: !0, _revertPageOnEmptyLoad: !1, showChevronExpr: function (e) { return e ? e.showChevron : void 0 }, badgeExpr: function (e) { return e ? e.badge : void 0 } }) }, _defaultOptionsRules: function () { var e = (0, b.current)(); return this.callBase().concat((0, I.deviceDependentOptions)(), [{ device: function () { return !g.nativeScrolling }, options: { useNativeScrolling: !1 } }, { device: function (e) { return !g.nativeScrolling && !v.default.isSimulator() && "desktop" === v.default.real().deviceType && "generic" === e.platform }, options: { showScrollbar: "onHover", pageLoadMode: "nextButton" } }, { device: function () { return "desktop" === v.default.real().deviceType && !v.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: function () { return (0, b.isMaterial)(e) }, options: { pullingDownText: "", pulledDownText: "", refreshingText: "", pageLoadingText: "", useInkRipple: !0 } }]) }, _visibilityChanged: function (e) { e && this._updateLoadingState(!0) }, _itemClass: function () { return "dx-list-item" }, _itemDataKey: function () { return "dxListItemData" }, _itemContainer: function () { return this._$container }, _saveSelectionChangeEvent: function (e) { this._selectionChangeEventInstance = e }, _getSelectionChangeEvent: function () { return this._selectionChangeEventInstance }, _refreshItemElements: function () { this.option("grouped") ? this._itemElementsCache = this._itemContainer().children(".dx-list-group").children(".dx-list-group-body").children(this._itemSelector()) : this._itemElementsCache = this._itemContainer().children(this._itemSelector()) }, _modifyByChanges: function () { this.callBase.apply(this, arguments), this._refreshItemElements(), this._updateLoadingState(!0) }, reorderItem: function (e, t) { return this.callBase(e, t).done((function () { this._refreshItemElements() })) }, deleteItem: function (e) { return this.callBase(e).done((function () { this._refreshItemElements() })) }, _itemElements: function () { return this._itemElementsCache }, _itemSelectHandler: function (e) { "single" === this.option("selectionMode") && this.isItemSelected(e.currentTarget) || this.callBase(e) }, _allowDynamicItemsAppend: function () { return !0 }, _resetDataSourcePageIndex: function () { var e = this.getDataSource(); e && 0 !== e.pageIndex() && (e.pageIndex(0), e.load()) }, _init: function () { this.callBase(), this._resetDataSourcePageIndex(), this._$container = this.$element(), this._initScrollView(), this._feedbackShowTimeout = 70, this._createGroupRenderAction() }, _scrollBottomMode: function () { return "scrollBottom" === this.option("pageLoadMode") }, _nextButtonMode: function () { return "nextButton" === this.option("pageLoadMode") }, _dataSourceOptions: function () { var e = this._scrollBottomMode(), t = this._nextButtonMode(); return (0, u.extend)(this.callBase(), { paginate: (0, o.ensureDefined)(e || t, !0) }) }, _getGroupedOption: function () { return this.option("grouped") }, _dataSourceFromUrlLoadMode: function () { return "raw" }, _initScrollView: function () { var e = this.option("scrollingEnabled"), t = e && this.option("pullRefreshEnabled"), n = e && this._scrollBottomMode() && !!this._dataSource; this._scrollView = this._createComponent(this.$element(), O || k.default, { disabled: this.option("disabled") || !e, onScroll: this._scrollHandler.bind(this), onPullDown: t ? this._pullDownHandler.bind(this) : null, onReachBottom: n ? this._scrollBottomHandler.bind(this) : null, showScrollbar: this.option("showScrollbar"), useNative: this.option("useNativeScrolling"), bounceEnabled: this.option("bounceEnabled"), scrollByContent: this.option("scrollByContent"), scrollByThumb: this.option("scrollByThumb"), pullingDownText: this.option("pullingDownText"), pulledDownText: this.option("pulledDownText"), refreshingText: this.option("refreshingText"), reachBottomText: this.option("pageLoadingText"), useKeyboard: !1 }), this._$container = (0, i.default)(this._scrollView.content()), this.option("wrapItemText") && this._$container.addClass("dx-wrap-item-text"), this._createScrollViewActions() }, _createScrollViewActions: function () { this._scrollAction = this._createActionByOption("onScroll"), this._pullRefreshAction = this._createActionByOption("onPullRefresh"), this._pageLoadingAction = this._createActionByOption("onPageLoading") }, _scrollHandler: function (e) { this._scrollAction && this._scrollAction(e) }, _initTemplates: function () { this._templateManager.addDefaultTemplates({ group: new E.BindableTemplate((function (e, t) { (0, s.isPlainObject)(t) ? t.key && e.text(t.key) : e.text(String(t)) }), ["key"], this.option("integrationOptions.watchMethod")) }), this.callBase() }, _prepareDefaultItemTemplate: function (e, t) { if (this.callBase(e, t), e.icon) { var n = (0, r.getImageContainer)(e.icon).addClass("dx-list-item-icon"), a = (0, i.default)("<div>").addClass("dx-list-item-icon-container"); a.append(n), t.prepend(a) } }, _getBindableFields: function () { return ["text", "html", "icon"] }, _updateLoadingState: function (e) { var t = !e || this._isLastPage(), n = this._scrollBottomMode(), i = t || !n, a = i && !this._isDataSourceLoading(); i || this._scrollViewIsFull() ? (this._scrollView.release(a), this._toggleNextButton(this._shouldRenderNextButton() && !this._isLastPage()), this._loadIndicationSuppressed(!1)) : this._infiniteDataLoading() }, _shouldRenderNextButton: function () { return this._nextButtonMode() && this._dataSource && this._dataSource.isLoaded() }, _dataSourceLoadingChangedHandler: function (e) { this._loadIndicationSuppressed() || (e && this.option("indicateLoading") ? this._showLoadingIndicatorTimer = setTimeout(function () { var e = !this._itemElements().length; this._scrollView && !e && this._scrollView.startLoading() }.bind(this)) : (clearTimeout(this._showLoadingIndicatorTimer), this._scrollView && this._scrollView.finishLoading())) }, _dataSourceChangedHandler: function (e) { !this._shouldAppendItems() && (0, C.hasWindow)() && this._scrollView && this._scrollView.scrollTo(0), this.callBase.apply(this, arguments) }, _refreshContent: function () { this._prepareContent(), this._fireContentReadyAction() }, _hideLoadingIfLoadIndicationOff: function () { this.option("indicateLoading") || this._dataSourceLoadingChangedHandler(!1) }, _loadIndicationSuppressed: function (e) { if (!arguments.length) return this._isLoadIndicationSuppressed; this._isLoadIndicationSuppressed = e }, _scrollViewIsFull: function () { return !this._scrollView || this._scrollView.isFull() }, _pullDownHandler: function (e) { this._pullRefreshAction(e), this._dataSource && !this._isDataSourceLoading() ? (this._clearSelectedItems(), this._dataSource.pageIndex(0), this._dataSource.reload()) : this._updateLoadingState() }, _infiniteDataLoading: function () { var e = this; !this.$element().is(":visible") || this._scrollViewIsFull() || this._isDataSourceLoading() || this._isLastPage() || (clearTimeout(this._loadNextPageTimer), this._loadNextPageTimer = setTimeout((function () { e._loadNextPage().done(e._setPreviousPageIfNewIsEmpty.bind(e)) }))) }, _setPreviousPageIfNewIsEmpty: function (e) { if (this.option("_revertPageOnEmptyLoad")) { var t = this.getDataSource(), n = null == t ? void 0 : t.pageIndex(); 0 === (null == e ? void 0 : e.length) && n > 0 && (this._fireContentReadyAction(), t.pageIndex(n - 1)) } }, _scrollBottomHandler: function (e) { this._pageLoadingAction(e), this._isDataSourceLoading() || this._isLastPage() ? this._updateLoadingState() : this._loadNextPage() }, _renderItems: function (e) { this.option("grouped") ? ((0, d.each)(e, this._renderGroup.bind(this)), this._attachGroupCollapseEvent(), this._renderEmptyMessage(), (0, b.isMaterial)() && this.attachGroupHeaderInkRippleEvents()) : this.callBase.apply(this, arguments), this._refreshItemElements(), this._updateLoadingState(!0) }, _attachGroupCollapseEvent: function () { var e = (0, x.addNamespace)(f.name, this.NAME), t = this.$element(), n = this.option("collapsibleGroups"); t.toggleClass("dx-list-collapsible-groups", n), a.default.off(t, e, ".dx-list-group-header"), n && a.default.on(t, e, ".dx-list-group-header", function (e) { this._createAction(function (e) { var t = (0, i.default)(e.event.currentTarget).parent(); this._collapseGroupHandler(t), this.option("focusStateEnabled") && this.option("focusedElement", (0, l.getPublicElement)(t.find(".dx-list-item").eq(0))) }.bind(this), { validatingTargetName: "element" })({ event: e }) }.bind(this)) }, _collapseGroupHandler: function (e, t) { var n = new D.Deferred; if (e.hasClass("dx-list-group-collapsed") === t) return n.resolve(); var i = e.children(".dx-list-group-body"), a = i.outerHeight(), o = 0 === a ? i.height("auto").outerHeight() : 0; return e.toggleClass("dx-list-group-collapsed", t), h.default.animate(i, { type: "custom", from: { height: a }, to: { height: o }, duration: 200, complete: function () { this.updateDimensions(), this._updateLoadingState(), n.resolve() }.bind(this) }), n.promise() }, _dataSourceLoadErrorHandler: function () { this._forgetNextPageLoading(), this._initialized && (this._renderEmptyMessage(), this._updateLoadingState()) }, _initMarkup: function () { this._itemElementsCache = (0, i.default)(), this.$element().addClass("dx-list"), this.callBase(), this.option("useInkRipple") && this._renderInkRipple(), this.setAria("role", this.option("_listAttributes").role) }, _renderInkRipple: function () { this._inkRipple = (0, _.render)() }, _toggleActiveState: function (e, t, n) { this.callBase.apply(this, arguments); var i = this; if (this._inkRipple) { var a = { element: e, event: n }; t ? (0, b.isMaterial)() ? this._inkRippleTimer = setTimeout((function () { i._inkRipple.showWave(a) }), 35) : i._inkRipple.showWave(a) : (clearTimeout(this._inkRippleTimer), this._inkRipple.hideWave(a)) } }, _postprocessRenderItem: function (e) { this._refreshItemElements(), this.callBase.apply(this, arguments), this.option("_swipeEnabled") && this._attachSwipeEvent((0, i.default)(e.itemElement)) }, _attachSwipeEvent: function (e) { var t = (0, x.addNamespace)(p.end, this.NAME); a.default.on(e, t, this._itemSwipeEndHandler.bind(this)) }, _itemSwipeEndHandler: function (e) { this._itemDXEventHandler(e, "onItemSwipe", { direction: e.offset < 0 ? "left" : "right" }) }, _nextButtonHandler: function (e) { this._pageLoadingAction(e); var t = this._dataSource; t && !t.isLoading() && (this._scrollView.toggleLoading(!0), this._$nextButton.detach(), this._loadIndicationSuppressed(!0), this._loadNextPage()) }, _renderGroup: function (e, t) { var n = (0, i.default)("<div>").addClass("dx-list-group").appendTo(this._itemContainer()), a = (0, i.default)("<div>").addClass("dx-list-group-header").appendTo(n), o = this.option("groupTemplate"), s = this._getTemplate(t.template || o, t, e, a), r = { index: e, itemData: t, container: (0, l.getPublicElement)(a) }; this._createItemByTemplate(s, r), (0, b.isMaterial)() && (0, i.default)("<div>").addClass("dx-list-group-header-indicator").prependTo(a), this._renderingGroupIndex = e; var c = (0, i.default)("<div>").addClass("dx-list-group-body").appendTo(n); (0, d.each)(M(t) || [], function (e, t) { this._renderItem(e, t, c) }.bind(this)), this._groupRenderAction({ groupElement: (0, l.getPublicElement)(n), groupIndex: e, groupData: t }) }, downInkRippleHandler: function (e) { this._toggleActiveState((0, i.default)(e.currentTarget), !0, e) }, upInkRippleHandler: function (e) { this._toggleActiveState((0, i.default)(e.currentTarget), !1) }, attachGroupHeaderInkRippleEvents: function () { var e = this.$element(); this._downInkRippleHandler = this._downInkRippleHandler || this.downInkRippleHandler.bind(this), this._upInkRippleHandler = this._upInkRippleHandler || this.upInkRippleHandler.bind(this); var t = [e, "dxpointerdown", ".dx-list-group-header", this._downInkRippleHandler], n = [e, "dxpointerup dxpointerout", ".dx-list-group-header", this._upInkRippleHandler]; a.default.off.apply(a.default, t), a.default.on.apply(a.default, t), a.default.off.apply(a.default, n), a.default.on.apply(a.default, n) }, _createGroupRenderAction: function () { this._groupRenderAction = this._createActionByOption("onGroupRendered") }, _clean: function () { clearTimeout(this._inkRippleTimer), this._$nextButton && (this._$nextButton.remove(), this._$nextButton = null), delete this._inkRipple, this.callBase.apply(this, arguments) }, _dispose: function () { clearTimeout(this._holdTimer), clearTimeout(this._loadNextPageTimer), clearTimeout(this._showLoadingIndicatorTimer), this.callBase() }, _toggleDisabledState: function (e) { this.callBase(e), this._scrollView.option("disabled", e || !this.option("scrollingEnabled")) }, _toggleNextButton: function (e) { var t = this._dataSource, n = this._getNextButton(); this.$element().toggleClass("dx-has-next", e), e && t && t.isLoaded() && n.appendTo(this._itemContainer()), e || n.detach() }, _getNextButton: function () { return this._$nextButton || (this._$nextButton = this._createNextButton()), this._$nextButton }, _createNextButton: function () { var e = (0, i.default)("<div>").addClass("dx-list-next-button"), t = (0, i.default)("<div>").appendTo(e); return this._createComponent(t, w.default, { text: this.option("nextButtonText"), onClick: this._nextButtonHandler.bind(this), type: (0, b.isMaterial)() ? "default" : void 0, integrationOptions: {} }), e }, _moveFocus: function () { this.callBase.apply(this, arguments), this.scrollToItem(this.option("focusedElement")) }, _refresh: function () { if ((0, C.hasWindow)()) { var e = this._scrollView.scrollTop(); this.callBase(), e && this._scrollView.scrollTo(e) } else this.callBase() }, _optionChanged: function (e) { switch (e.name) { case "pageLoadMode": this._toggleNextButton(e.value), this._initScrollView(); break; case "dataSource": this.callBase(e), this._initScrollView(); break; case "pullingDownText": case "pulledDownText": case "refreshingText": case "pageLoadingText": case "showScrollbar": case "bounceEnabled": case "scrollByContent": case "scrollByThumb": case "useNativeScrolling": case "scrollingEnabled": case "pullRefreshEnabled": this._initScrollView(), this._updateLoadingState(); break; case "nextButtonText": case "onItemSwipe": case "useInkRipple": this._invalidate(); break; case "onScroll": case "onPullRefresh": case "onPageLoading": this._createScrollViewActions(); break; case "grouped": case "collapsibleGroups": case "groupTemplate": this._invalidate(); break; case "wrapItemText": this._$container.toggleClass("dx-wrap-item-text", e.value); break; case "onGroupRendered": this._createGroupRenderAction(); break; case "width": case "height": this.callBase(e), this._scrollView.update(); break; case "indicateLoading": this._hideLoadingIfLoadIndicationOff(); break; case "visible": this.callBase(e), this._scrollView.update(); break; case "rtlEnabled": this._initScrollView(), this.callBase(e); break; case "showChevronExpr": case "badgeExpr": this._invalidate(); break; case "_swipeEnabled": case "_revertPageOnEmptyLoad": case "_listAttributes": break; default: this.callBase(e) } }, _extendActionArgs: function (e) { if (!this.option("grouped")) return this.callBase(e); var t = e.closest(".dx-list-group"), n = t.find(".dx-list-item"); return (0, u.extend)(this.callBase(e), { itemIndex: { group: t.index(), item: n.index(e) } }) }, expandGroup: function (e) { var t = new D.Deferred, n = this._itemContainer().find(".dx-list-group").eq(e); return this._collapseGroupHandler(n, !1).done(function () { t.resolveWith(this) }.bind(this)), t.promise() }, collapseGroup: function (e) { var t = new D.Deferred, n = this._itemContainer().find(".dx-list-group").eq(e); return this._collapseGroupHandler(n, !0).done(function () { t.resolveWith(this) }.bind(this)), t }, updateDimensions: function () { var e = this, t = new D.Deferred; return e._scrollView ? e._scrollView.update().done((function () { !e._scrollViewIsFull() && e._updateLoadingState(!0), t.resolveWith(e) })) : t.resolveWith(e), t.promise() }, reload: function () { this.callBase(), this.scrollTo(0), this._pullDownHandler() }, repaint: function () { this.scrollTo(0), this.callBase() }, scrollTop: function () { return this._scrollView.scrollOffset().top }, clientHeight: function () { return this._scrollView.clientHeight() }, scrollHeight: function () { return this._scrollView.scrollHeight() }, scrollBy: function (e) { this._scrollView.scrollBy(e) }, scrollTo: function (e) { this._scrollView.scrollTo(e) }, scrollToItem: function (e) { var t = this._editStrategy.getItemElement(e); this._scrollView.scrollToElement(t) } }).include(T.default); t.ListBase = P, P.ItemClass = y.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(365)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = f(n(2)), a = f(n(84)), o = n(1), s = n(0), r = n(62), l = f(n(42)), d = n(6), c = n(221), u = f(n(9)), h = n(4); function f(e) { return e && e.__esModule ? e : { default: e } } function p(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var g = a.default.inherit({ _getDefaultOptions: function () { return (0, o.extend)(this.callBase(), { repaintChangesOnly: !1 }) }, ctor: function () { var e = this; this.callBase.apply(this, arguments), this._customizeStoreLoadOptions = function (t) { var n = e._dataSource; n && !n.isLoaded() && (e._correctionIndex = 0), e._correctionIndex && t.storeLoadOptions && (t.storeLoadOptions.skip += e._correctionIndex) }, this._dataSource && this._dataSource.on("customizeStoreLoadOptions", this._customizeStoreLoadOptions) }, reload: function () { this._correctionIndex = 0 }, _init: function () { this.callBase(), this._refreshItemsCache(), this._correctionIndex = 0 }, _findItemElementByKey: function (e) { var t = this, n = (0, i.default)(), a = this.key(); return this.itemElements().each((function (o, s) { var r = (0, i.default)(s), d = t._getItemData(r); if (a ? l.default.keysEqual(a, t.keyOf(d), e) : t._isItemEquals(d, e)) return n = r, !1 })), n }, _dataSourceChangedHandler: function (e, t) { null != t && t.changes ? this._modifyByChanges(t.changes) : (this.callBase(e, t), this._refreshItemsCache()) }, _isItemEquals: function (e, t) { e && e.__dx_key__ && (e = e.data); try { return JSON.stringify(e) === JSON.stringify(t) } catch (n) { return e === t } }, _isItemStrictEquals: function (e, t) { return this._isItemEquals(e, t) }, _partialRefresh: function () { var e = this; if (this.option("repaintChangesOnly")) { var t = (0, c.findChanges)(this._itemsCache, this._editStrategy.itemsGetter(), (function (t) { return t && void 0 !== t.__dx_key__ ? t.__dx_key__ : e.keyOf(t) }), this._isItemStrictEquals.bind(this)); if (t && this._itemsCache.length) return this._modifyByChanges(t, !0), this._renderEmptyMessage(), !0; this._refreshItemsCache() } return !1 }, _refreshItemsCache: function () { if (this.option("repaintChangesOnly")) { var e = this._editStrategy.itemsGetter(); try { this._itemsCache = (0, o.extend)(!0, [], e), this.key() || (this._itemsCache = this._itemsCache.map((function (t, n) { var i; return p(i = {}, "__dx_key__", e[n]), p(i, "data", t), i }))) } catch (t) { this._itemsCache = (0, o.extend)([], e) } } }, _dispose: function () { this._dataSource && this._dataSource.off("customizeStoreLoadOptions", this._customizeStoreLoadOptions), this.callBase() }, _updateByChange: function (e, t, n, i) { var a = this; if (i) this._renderItem(n.index, n.data, null, this._findItemElementByKey(n.key)); else { var o = t[(0, r.indexByKey)(e, t, n.key)]; o && (0, r.update)(e, t, n.key, n.data).done((function () { a._renderItem(t.indexOf(o), o, null, a._findItemElementByKey(n.key)) })) } }, _insertByChange: function (e, t, n, i) { var a = this; (0, d.when)(i || (0, r.insert)(e, t, n.data, n.index)).done((function () { a._beforeItemElementInserted(n), a._renderItem((0, s.isDefined)(n.index) ? n.index : t.length, n.data), a._afterItemElementInserted(), a._correctionIndex++ })) }, _updateSelectionAfterRemoveByChange: function (e) { var t = this.option("selectedIndex"); t > e ? this.option("selectedIndex", t - 1) : t === e && 1 === this.option("selectedItems").length ? this.option("selectedItems", []) : this._normalizeSelectedItems() }, _beforeItemElementInserted: function (e) { var t = this.option("selectedIndex"); e.index <= t && this.option("selectedIndex", t + 1) }, _afterItemElementInserted: h.noop, _removeByChange: function (e, t, n, i) { var a = this, o = i ? n.index : (0, r.indexByKey)(e, t, n.key); if (i ? n.oldItem : t[o]) { var s = this._findItemElementByKey(n.key), l = this._extendActionArgs(s); this._waitDeletingPrepare(s).done((function () { i ? (a._updateIndicesAfterIndex(o - 1), a._afterItemElementDeleted(s, l), a._updateSelectionAfterRemoveByChange(o)) : (a._deleteItemElementByIndex(o), a._afterItemElementDeleted(s, l)) })), this._correctionIndex-- } }, _modifyByChanges: function (e, t) { var n = this, i = this._editStrategy.itemsGetter(), a = { key: this.key.bind(this), keyOf: this.keyOf.bind(this) }, o = this._dataSource, s = o && o.paginate(), r = o && o.group(); (s || r) && (e = e.filter((function (e) { return "insert" !== e.type || void 0 !== e.index }))), e.forEach((function (e) { return n["_".concat(e.type, "ByChange")](a, i, e, t) })), this._renderedItemsCount = i.length, this._refreshItemsCache(), this._fireContentReadyAction() }, _appendItemToContainer: function (e, t, n) { var i = e.children(this._itemSelector()).get(n); u.default.insertElement(e.get(0), t.get(0), i) }, _optionChanged: function (e) { switch (e.name) { case "items": this._partialRefresh(e.value) || this.callBase(e); break; case "dataSource": this.option("repaintChangesOnly") && e.value || this.option("items", []), this.callBase(e); break; case "repaintChangesOnly": break; default: this.callBase(e) } } }); t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = _(n(2)), o = _(n(5)), s = _(n(11)), r = n(1), l = n(4), d = n(7), c = n(43), u = n(0), h = n(64), f = n(3), p = _(n(15)), g = _(n(92)), m = _(n(84)); function _(e) { return e && e.__esModule ? e : { default: e } } function v(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function y(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function w(e, t, n) { return t && y(e.prototype, t), n && y(e, n), e } function x(e, t, n) { return (x = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = S(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function b(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && C(e, t) } function C(e, t) { return (C = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function k(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = S(e); if (t) { var a = S(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return I(this, n) } } function I(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function S(e) { return (S = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var E = { row: "minWidth", col: "minHeight" }, D = { row: "maxWidth", col: "maxHeight" }, T = { start: "flex-start", end: "flex-end", center: "center", "space-between": "space-between", "space-around": "space-around" }, A = { start: "flex-start", end: "flex-end", center: "center", stretch: "stretch" }, O = { row: "row", col: "column" }, B = function (e, t, n) { if (n = (0, h.normalizeStyleProp)(t, n), e.style[(0, h.styleProp)(t)] = n, !(0, d.hasWindow)()) { if ("" === n || !(0, u.isDefined)(n)) return; var i = (0, c.dasherize)(t) + ": " + n + ";"; e.attributes.style ? e.attributes.style.value.indexOf(i) < 0 && (e.attributes.style.value += " " + i) : e.setAttribute("style", i) } }, M = { row: "nowrap", col: "normal" }, P = { row: "width", col: "height" }, R = { row: "height", col: "width" }, F = { row: "marginLeft", col: "marginTop" }, V = { row: "marginRight", col: "marginBottom" }, q = { row: "marginTop", col: "marginLeft" }, L = { row: "marginBottom", col: "marginRight" }, H = { marginLeft: "marginRight", marginRight: "marginLeft" }, z = function (e) { b(n, e); var t = k(n); function n() { return v(this, n), t.apply(this, arguments) } return w(n, [{ key: "_renderVisible", value: function (e, t) { x(S(n.prototype), "_renderVisible", this).call(this, e), (0, u.isDefined)(t) && this._options.fireItemStateChangedAction({ name: "visible", state: e, oldState: t }) } }]), n }(g.default), N = function () { function e(t, n) { v(this, e), this._$element = t, this._option = n, this.initSize = l.noop, this.update = l.noop } return w(e, [{ key: "renderBox", value: function () { this._$element.css({ display: (0, h.stylePropPrefix)("flexDirection") + "flex" }), B(this._$element.get(0), "flexDirection", O[this._option("direction")]) } }, { key: "renderAlign", value: function () { this._$element.css({ justifyContent: this._normalizedAlign() }) } }, { key: "_normalizedAlign", value: function () { var e = this._option("align"); return e in T ? T[e] : e } }, { key: "renderCrossAlign", value: function () { this._$element.css({ alignItems: this._normalizedCrossAlign() }) } }, { key: "_normalizedCrossAlign", value: function () { var e = this._option("crossAlign"); return e in A ? A[e] : e } }, { key: "renderItems", value: function (e) { var t = (0, h.stylePropPrefix)("flexDirection"), n = this._option("direction"); (0, f.each)(e, (function () { var e = (0, a.default)(this), i = e.data("dxBoxItemData"); e.css({ display: t + "flex" }).css(D[n], i.maxSize || "none").css(E[n], i.minSize || "0"), B(e.get(0), "flexBasis", i.baseSize || 0), B(e.get(0), "flexGrow", i.ratio), B(e.get(0), "flexShrink", (0, u.isDefined)(i.shrink) ? i.shrink : 1), e.children().each((function (e, t) { (0, a.default)(t).css({ width: "auto", height: "auto", display: (0, h.stylePropPrefix)("flexDirection") + "flex", flexBasis: 0 }), B(t, "flexGrow", 1), B(t, "flexDirection", (0, a.default)(t)[0].style.flexDirection || "column") })) })) } }]), e }(), W = function () { function e(t, n) { v(this, e), this._$element = t, this._option = n } return w(e, [{ key: "renderBox", value: function () { this._$element.css({ fontSize: 0, whiteSpace: M[this._option("direction")], verticalAlign: "top" }), o.default.off(this._$element, "dxupdate.dxBox"), o.default.on(this._$element, "dxupdate.dxBox", this.update.bind(this)) } }, { key: "renderAlign", value: function () { var e = this._$items; if (e) { var t = this._option("align"), n = this.totalItemSize, i = this._option("direction"), a = this._$element[P[i]]() - n, o = 0; switch (this._setItemsMargins(e, i, 0), t) { case "start": break; case "end": o = a, e.first().css(this._chooseMarginSide(F[i]), o); break; case "center": o = .5 * a, e.first().css(this._chooseMarginSide(F[i]), o), e.last().css(this._chooseMarginSide(V[i]), o); break; case "space-between": o = .5 * a / (e.length - 1), this._setItemsMargins(e, i, o), e.first().css(this._chooseMarginSide(F[i]), 0), e.last().css(this._chooseMarginSide(V[i]), 0); break; case "space-around": o = .5 * a / e.length, this._setItemsMargins(e, i, o) } } } }, { key: "_setItemsMargins", value: function (e, t, n) { e.css(this._chooseMarginSide(F[t]), n).css(this._chooseMarginSide(V[t]), n) } }, { key: "renderCrossAlign", value: function () { var e = this._$items; if (e) { var t = this._option("crossAlign"), n = this._option("direction"), i = this._$element[R[n]](), o = this; switch (t) { case "start": break; case "end": (0, f.each)(e, (function () { var e = (0, a.default)(this), t = e[R[n]](), s = i - t; e.css(o._chooseMarginSide(q[n]), s) })); break; case "center": (0, f.each)(e, (function () { var e = (0, a.default)(this), t = e[R[n]](), s = .5 * (i - t); e.css(o._chooseMarginSide(q[n]), s).css(o._chooseMarginSide(L[n]), s) })); break; case "stretch": e.css(o._chooseMarginSide(q[n]), 0).css(o._chooseMarginSide(L[n]), 0).css(R[n], "100%") } } } }, { key: "_chooseMarginSide", value: function (e) { return this._option("rtlEnabled") && H[e] || e } }, { key: "renderItems", value: function (e) { var t = this; this._$items = e; var n = this._option("direction"), i = 0, o = 0, s = 0; (0, f.each)(e, (function (e, r) { var l = (0, a.default)(r); l.css({ display: "inline-block", verticalAlign: "top" }), l[P[n]]("auto"), l.removeClass("dx-box-fallback-item"); var d = l.data("dxBoxItemData"), c = d.ratio || 0, h = t._baseSize(l), f = (0, u.isDefined)(d.shrink) ? d.shrink : 1; i += c, o += f * h, s += h })); var r = this._boxSize() - s, l = 0; (0, f.each)(e, (function (e, s) { var d = (0, a.default)(s), c = (0, a.default)(s).data("dxBoxItemData"), h = function (e) { var n = e.data("dxBoxItemData"), a = t._baseSize(e), s = r >= 0 ? n.ratio || 0 : ((0, u.isDefined)(n.shrink) ? n.shrink : 1) * a, l = r >= 0 ? i : o; return a + (l ? Math.round(r * s / l) : 0) }(d); l += h, d.css(D[n], c.maxSize || "none").css(E[n], c.minSize || "0").css(P[n], h), d.addClass("dx-box-fallback-item") })), this.totalItemSize = l } }, { key: "_baseSize", value: function (e) { var t = (0, a.default)(e).data("dxBoxItemData"); return null == t.baseSize ? 0 : "auto" === t.baseSize ? this._contentSize(e) : this._parseSize(t.baseSize) } }, { key: "_contentSize", value: function (e) { return (0, a.default)(e)[P[this._option("direction")]]() } }, { key: "_parseSize", value: function (e) { return String(e).match(/.+%$/) ? .01 * parseFloat(e) * this._boxSizeValue : e } }, { key: "_boxSize", value: function (e) { if (!arguments.length) return this._boxSizeValue = this._boxSizeValue || this._totalBaseSize(), this._boxSizeValue; this._boxSizeValue = e } }, { key: "_totalBaseSize", value: function () { var e = this, t = 0; return (0, f.each)(this._$items, (function (n, i) { t += e._baseSize(i) })), t } }, { key: "initSize", value: function () { this._boxSize(this._$element[P[this._option("direction")]]()) } }, { key: "update", value: function () { if (this._$items && !this._$element.is(":hidden")) { this._$items.detach(), this.initSize(), this._$element.append(this._$items), this.renderItems(this._$items), this.renderAlign(), this.renderCrossAlign(); var e = this._$element.get(0); this._$items.find(".dx-box").each((function () { e === (0, a.default)(this).parent().closest(".dx-box").get(0) && o.default.triggerHandler(this, "dxupdate.dxBox") })) } } }]), e }(), $ = function (e) { b(n, e); var t = k(n); function n() { return v(this, n), t.apply(this, arguments) } return w(n, [{ key: "_getDefaultOptions", value: function () { return (0, r.extend)(x(S(n.prototype), "_getDefaultOptions", this).call(this), { direction: "row", align: "start", crossAlign: "stretch", activeStateEnabled: !1, focusStateEnabled: !1, onItemStateChanged: void 0, _layoutStrategy: "flex", _queue: void 0 }) } }, { key: "_defaultOptionsRules", value: function () { return x(S(n.prototype), "_defaultOptionsRules", this).call(this).concat([{ device: function () { return p.default.msie }, options: { _layoutStrategy: "fallback" } }]) } }, { key: "_itemClass", value: function () { return "dx-box-item" } }, { key: "_itemDataKey", value: function () { return "dxBoxItemData" } }, { key: "_itemElements", value: function () { return this._itemContainer().children(this._itemSelector()) } }, { key: "_init", value: function () { x(S(n.prototype), "_init", this).call(this), this.$element().addClass("".concat("dx-box", "-").concat(this.option("_layoutStrategy"))), this._initLayout(), this._initBoxQueue() } }, { key: "_initLayout", value: function () { this._layout = "fallback" === this.option("_layoutStrategy") ? new W(this.$element(), this.option.bind(this)) : new N(this.$element(), this.option.bind(this)) } }, { key: "_initBoxQueue", value: function () { this._queue = this.option("_queue") || [] } }, { key: "_queueIsNotEmpty", value: function () { return !this.option("_queue") && !!this._queue.length } }, { key: "_pushItemToQueue", value: function (e, t) { this._queue.push({ $item: e, config: t }) } }, { key: "_shiftItemFromQueue", value: function () { return this._queue.shift() } }, { key: "_initMarkup", value: function () { this.$element().addClass("dx-box"), this._layout.renderBox(), x(S(n.prototype), "_initMarkup", this).call(this), this._renderAlign(), this._renderActions() } }, { key: "_renderActions", value: function () { this._onItemStateChanged = this._createActionByOption("onItemStateChanged") } }, { key: "_renderAlign", value: function () { this._layout.renderAlign(), this._layout.renderCrossAlign() } }, { key: "_renderItems", value: function (e) { var t = this; for (this._layout.initSize(), x(S(n.prototype), "_renderItems", this).call(this, e); this._queueIsNotEmpty();) { var i = this._shiftItemFromQueue(); this._createComponent(i.$item, n, (0, r.extend)({ _layoutStrategy: this.option("_layoutStrategy"), itemTemplate: this.option("itemTemplate"), itemHoldTimeout: this.option("itemHoldTimeout"), onItemHold: this.option("onItemHold"), onItemClick: this.option("onItemClick"), onItemContextMenu: this.option("onItemContextMenu"), onItemRendered: this.option("onItemRendered"), _queue: this._queue }, i.config)) } this._layout.renderItems(this._itemElements()), clearTimeout(this._updateTimer), this._updateTimer = setTimeout((function () { t._isUpdated || t._layout.update(), t._isUpdated = !1, t._updateTimer = null })) } }, { key: "_renderItemContent", value: function (e) { var t = e.itemData && e.itemData.node; return t ? this._renderItemContentByNode(e, t) : x(S(n.prototype), "_renderItemContent", this).call(this, e) } }, { key: "_postprocessRenderItem", value: function (e) { var t = e.itemData.box; t && this._pushItemToQueue(e.itemContent, t) } }, { key: "_createItemByTemplate", value: function (e, t) { return t.itemData.box ? e.source ? e.source() : (0, a.default)() : x(S(n.prototype), "_createItemByTemplate", this).call(this, e, t) } }, { key: "_visibilityChanged", value: function (e) { e && this._dimensionChanged() } }, { key: "_dimensionChanged", value: function () { this._updateTimer || (this._isUpdated = !0, this._layout.update()) } }, { key: "_dispose", value: function () { clearTimeout(this._updateTimer), x(S(n.prototype), "_dispose", this).apply(this, arguments) } }, { key: "_itemOptionChanged", value: function (e, t, i, a) { "visible" === t && this._onItemStateChanged({ name: t, state: i, oldState: !1 !== a }), x(S(n.prototype), "_itemOptionChanged", this).call(this, e, t, i) } }, { key: "_optionChanged", value: function (e) { switch (e.name) { case "_layoutStrategy": case "_queue": case "direction": this._invalidate(); break; case "align": this._layout.renderAlign(); break; case "crossAlign": this._layout.renderCrossAlign(); break; default: x(S(n.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_itemOptions", value: function () { var e = this, t = x(S(n.prototype), "_itemOptions", this).call(this); return t.fireItemStateChangedAction = function (t) { e._onItemStateChanged(t) }, t } }, { key: "repaint", value: function () { this._dimensionChanged() } }]), n }(m.default); $.ItemClass = z, (0, s.default)("dxBox", $); var j = $; t.default = j, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(449)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(39), a = p(n(26)), o = p(n(17)), s = p(n(57)), r = n(1), l = n(3), d = p(n(82)), c = p(n(460)), u = p(n(11)), h = n(6), f = p(n(36)); function p(e) { return e && e.__esModule ? e : { default: e } } var g = s.default.inherit({ _initOptions: function (e) { this.callBase.apply(this, arguments), this.option(d.default.initValidationOptions(e)) }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { validationRules: [] }) }, _init: function () { this.callBase(), this._initGroupRegistration(), this.focused = (0, a.default)(), this._initAdapter(), this._validationInfo = { result: null, deferred: null, skipValidation: !1 } }, _initGroupRegistration: function () { var e = this._findGroup(); this._groupWasInit || this.on("disposing", (function (e) { d.default.removeRegisteredValidator(e.component._validationGroup, e.component) })), this._groupWasInit && this._validationGroup === e || (d.default.removeRegisteredValidator(this._validationGroup, this), this._groupWasInit = !0, this._validationGroup = e, d.default.registerValidatorInGroup(e, this)) }, _setOptionsByReference: function () { this.callBase(), (0, r.extend)(this._optionsByReference, { validationGroup: !0 }) }, _initAdapter: function () { var e = this, t = this.$element()[0], n = (0, i.data)(t, "dx-validation-target"), a = this.option("adapter"); if (!a) { if (n) return (a = new c.default(n, this)).validationRequestsCallbacks.push((function (t) { e._validationInfo.skipValidation || e.validate(t) })), void this.option("adapter", a); throw o.default.Error("E0120") } var s = a.validationRequestsCallbacks; s && s.push((function (t) { e.validate(t) })) }, _toggleRTLDirection: function (e) { var t, n, i, a = null !== (t = null === (n = this.option("adapter")) || void 0 === n ? void 0 : null === (i = n.editor) || void 0 === i ? void 0 : i.option("rtlEnabled")) && void 0 !== t ? t : e; this.callBase(a) }, _initMarkup: function () { this.$element().addClass("dx-validator"), this.callBase() }, _visibilityChanged: function (e) { e && this._initGroupRegistration() }, _optionChanged: function (e) { switch (e.name) { case "validationGroup": return void this._initGroupRegistration(); case "validationRules": return this._resetValidationRules(), void (void 0 !== this.option("isValid") && this.validate()); case "adapter": this._initAdapter(); break; case "isValid": case "validationStatus": this.option(d.default.synchronizeValidationOptions(e, this.option())); break; default: this.callBase(e) } }, _getValidationRules: function () { var e = this; return this._validationRules || (this._validationRules = (0, l.map)(this.option("validationRules"), (function (t, n) { return (0, r.extend)({}, t, { validator: e, index: n }) }))), this._validationRules }, _findGroup: function () { var e = this.$element(); return this.option("validationGroup") || d.default.findGroup(e, this._modelByElement(e)) }, _resetValidationRules: function () { delete this._validationRules }, validate: function (e) { var t, n = this, i = this.option("adapter"), a = this.option("name"), o = i.bypass && i.bypass(), s = e && void 0 !== e.value ? e.value : i.getValue(), l = i.getCurrentValidationError && i.getCurrentValidationError(), c = this._getValidationRules(), u = this._validationInfo && this._validationInfo.result; return u && "pending" === u.status && u.value === s ? (0, r.extend)({}, u) : (o ? t = { isValid: !0, status: "valid" } : l && l.editorSpecific ? (l.validator = this, t = { isValid: !1, status: "invalid", brokenRule: l, brokenRules: [l] }) : t = d.default.validate(s, c, a), t.id = (new f.default).toString(), this._applyValidationResult(t, i), t.complete && t.complete.then((function (e) { e.id === n._validationInfo.result.id && n._applyValidationResult(e, i) })), (0, r.extend)({}, this._validationInfo.result)) }, reset: function () { var e = this.option("adapter"), t = { id: null, isValid: !0, brokenRule: null, brokenRules: null, pendingRules: null, status: "valid", complete: null }; this._validationInfo.skipValidation = !0, e.reset(), this._validationInfo.skipValidation = !1, this._resetValidationRules(), this._applyValidationResult(t, e) }, _updateValidationResult: function (e) { if (this._validationInfo.result && this._validationInfo.result.id === e.id) for (var t in e) "id" !== t && "complete" !== t && (this._validationInfo.result[t] = e[t]); else { var n = this._validationInfo.deferred && this._validationInfo.result.complete; this._validationInfo.result = (0, r.extend)({}, e, { complete: n }) } }, _applyValidationResult: function (e, t) { var n = this._createActionByOption("onValidated", { excludeValidators: ["readOnly"] }); if (e.validator = this, this._updateValidationResult(e), t.applyValidationResults && t.applyValidationResults(this._validationInfo.result), this.option({ validationStatus: this._validationInfo.result.status }), "pending" === this._validationInfo.result.status) return this._validationInfo.deferred || (this._validationInfo.deferred = new h.Deferred, this._validationInfo.result.complete = this._validationInfo.deferred.promise()), void this._eventsStrategy.fireEvent("validating", [this._validationInfo.result]); "pending" !== this._validationInfo.result.status && (n(e), this._validationInfo.deferred && (this._validationInfo.deferred.resolve(e), this._validationInfo.deferred = null)) }, focus: function () { var e = this.option("adapter"); e && e.focus && e.focus() }, _useTemplates: function () { return !1 } }); (0, u.default)("dxValidator", g); var m = g; t.default = m, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.map = V, t.normalizeEnum = H, t.setCanvasValues = z, t.normalizeBBox = W, t.rotateBBox = function (e, t, n) { var i = T(C(n * E).toFixed(3)), a = T(k(n * E).toFixed(3)), o = e.width / 2, s = e.height / 2, r = e.x + o, l = e.y + s, d = p(o * i) + p(s * a), c = p(o * a) + p(s * i), u = t[0] + (r - t[0]) * i + (l - t[1]) * a, h = t[1] - (r - t[0]) * a + (l - t[1]) * i; return W({ x: u - d, y: h - c, width: 2 * d, height: 2 * c }) }, t.checkElementHasPropertyFromStyleSheet = function (e, t) { var n = Array.prototype.slice; return n.call(d.default.getDocument().styleSheets).reduce((function (e, t) { return e.concat(n.call(t.cssRules || t.rules)) }), []).filter((function (t) { try { return d.default.elementMatches(e, t.selectorText) } catch (e) { return !1 } })).some((function (e) { return !!e.style[t] })) }, t.convertPolarToXY = function (e, t, n, i) { var o = i > 0 ? i : 0; n = (0, a.isDefined)(n) ? n + t - 90 : 0; var s = P(n); return { x: I(e.x + o * s.cos), y: I(e.y + o * s.sin) } }, t.normalizePanesHeight = function (e) { e.forEach((function (e) { var t = e.height, n = 0, i = parseFloat(t) || void 0; ((0, a.isString)(t) && t.indexOf("px") > -1 || (0, a.isNumeric)(t) && t > 1) && (i = I(i), n = 1), !n && i && ((0, a.isString)(t) && t.indexOf("%") > -1 ? i /= 100 : i < 0 && (i = i < -1 ? 1 : p(i))), e.height = i, e.unit = n })); var t = e.filter((function (e) { return !e.unit })).reduce((function (e, t) { return e + (t.height || 0) }), 0), n = e.filter((function (e) { return !e.unit })).length, i = e.filter((function (e) { return !e.unit && !e.height })).length; if (t < 1 && i) e.filter((function (e) { return !e.unit && !e.height })).forEach((function (e) { return e.height = (1 - t) / i })); else if (t > 1 || t < 1 && !i || 1 === t && i) { if (i) { var o = t / n, s = i * o; e.filter((function (e) { return !e.unit && e.height })).forEach((function (e) { return e.height *= (t - s) / t })), e.filter((function (e) { return !e.unit && !e.height })).forEach((function (e) { return e.height = o })) } e.forEach((function (e) { return !e.unit && (e.height *= 1 / t) })) } }, t.updatePanesCanvases = function (e, t, n) { var i = 0, a = n ? t.width - t.left - t.right : t.height - t.top - t.bottom, s = a - 10 * (e.length - 1), r = n ? "left" : "top", l = n ? "right" : "bottom", d = e.reduce((function (e, t) { return e + (t.unit ? t.height : 0) }), 0); s -= d, e.forEach((function (e) { var n = e.unit ? e.height : I(e.height * s); e.canvas = e.canvas || {}, (0, o.extend)(e.canvas, t), e.canvas[r] = t[r] + i, e.canvas[l] = t[l] + (a - n - i), i = i + n + 10, z(e.canvas) })) }, t.mergeMarginOptions = function (e, t) { return { checkInterval: e.checkInterval || t.checkInterval, size: b(e.size || 0, t.size || 0), percentStick: e.percentStick || t.percentStick, sizePointNormalState: b(e.sizePointNormalState || 0, t.sizePointNormalState || 0) } }, t.getVizRangeObject = function (e) { return Array.isArray(e) ? { startValue: e[0], endValue: e[1] } : e || {} }, t.convertVisualRangeObject = function (e, t) { if (t) return e; return [e.startValue, e.endValue] }, t.getAddFunction = j, t.adjustVisualRange = function (e, t, n, i) { var o = (0, a.isDefined)(t.startValue), s = (0, a.isDefined)(t.endValue), r = "discrete" !== e.axisType; i = i || n; var l = j(e, !1), d = o ? t.startValue : i.min, c = s ? t.endValue : i.max, u = t.length, h = i.categories; if (r && !(0, a.isDefined)(d) && !(0, a.isDefined)(c)) return { startValue: d, endValue: c }; if ((0, a.isDefined)(u)) if (r) "datetime" !== e.dataType || (0, a.isNumeric)(u) || (u = S(u)), s && !o || !s && !o ? ((0, a.isDefined)(n.max) && (c = c > n.max ? n.max : c), d = l(c, u, -1)) : o && !s && ((0, a.isDefined)(n.min) && (d = d < n.min ? n.min : d), c = l(d, u)); else if (u = parseInt(u), !isNaN(u) && isFinite(u)) if (u--, s || o) { if (o && !s) { var f = $(h, d, void 0); c = f.categories[u] } else if (!o && s) { var p = $(h, void 0, c); d = p.categories[p.categories.length - 1 - u] } } else c = h[h.length - 1], d = h[h.length - 1 - u]; r && ((0, a.isDefined)(n.max) && c > n.max && (c = n.max), (0, a.isDefined)(n.min) && d < n.min && (d = n.min)); return { startValue: d, endValue: c } }, t.getLogExt = K, t.raiseToExt = G, t.rangesAreEqual = function (e, t) { return Array.isArray(t) ? e.length === t.length && e.every((function (e, n) { return U(e) === U(t[n]) })) : U(e.startValue) === U(t.startValue) && U(e.endValue) === U(t.endValue) }, t.valueOf = U, t.pointInCanvas = function (e, t, n) { return t >= e.left && t <= e.right && n >= e.top && n <= e.bottom }, t.getVerticallyShiftedAngularCoords = t.unique = t.getCategoriesInfo = t.processSeriesTemplate = t.convertXYToPolar = t.patchFontOptions = t.enumParser = t.parseScalar = t.decreaseGaps = t.getPower = t.roundValue = t.getAppropriateFormat = t.getDecimalOrder = t.getDistance = t.getCosAndSin = t.degreesToRadians = t.convertAngleToRendererSpace = t.normalizeAngle = t.raiseTo = t.getAdjustedLog10 = t.getLog = t.PANE_PADDING = void 0; var i = n(4), a = n(0), o = n(1), s = n(3), r = n(37), l = u(n(49)), d = u(n(9)), c = u(n(117)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = Math.PI, f = Math.LN10, p = Math.abs, g = Math.log, m = Math.floor, _ = Math.ceil, v = Math.pow, y = Math.sqrt, w = Math.atan2, x = Math.min, b = Math.max, C = Math.cos, k = Math.sin, I = Math.round, S = l.default.dateToMilliseconds, E = h / 180, D = isNaN, T = Number; t.PANE_PADDING = 10; var A = function (e, t) { return e ? g(e) / g(t) : NaN }; t.getLog = A; t.getAdjustedLog10 = function (e) { return (0, r.adjust)(A(e, 10)) }; var O = function (e, t) { return v(t, e) }; t.raiseTo = O; var B = function (e) { return (e % 360 + 360) % 360 }; t.normalizeAngle = B; t.convertAngleToRendererSpace = function (e) { return 90 - e }; var M = function (e) { return h * e / 180 }; t.degreesToRadians = M; var P = function (e) { var t = M(e); return { cos: C(t), sin: k(t) } }; t.getCosAndSin = P; var R = function (e, t, n, i) { var a = n - e, o = i - t; return y(o * o + a * a) }; t.getDistance = R; var F = function (e) { var t, n = p(e); return D(n) ? NaN : n > 0 ? (n = g(n) / f, (t = _(n)) - n < 1e-14 ? t : m(n)) : 0 }; t.getDecimalOrder = F; t.getAppropriateFormat = function (e, t, n) { var i, a = b(F(e), F(t)), o = -F(p(t - e) / n); return D(a) || D(o) ? null : (p(a) <= 4 ? (i = "fixedPoint", o < 0 && (o = 0), o > 4 && (o = 4)) : (i = "exponential", (o += a - 1) > 3 && (o = 3)), { type: i, precision: o }) }; t.roundValue = function (e, t) { if (t > 20 && (t = 20), (0, a.isNumeric)(e)) return (0, a.isExponential)(e) ? T(e.toExponential(t)) : T(e.toFixed(t)) }; function V(e, t) { for (var n, i = 0, a = e.length, o = []; i < a;)null !== (n = t(e[i], i)) && o.push(n), i++; return o } function q(e, t) { return V(t, (function (t) { return e[t] ? e[t] : null })) } function L(e, t, n, i) { var a = i; return (0, s.each)(t, (function (t, i) { e[i] && (e[i] -= n, a -= n) })), a } function H(e) { return String(e).toLowerCase() } function z(e) { return e && (e.originalTop = e.top, e.originalBottom = e.bottom, e.originalLeft = e.left, e.originalRight = e.right), e } function N(e) { return -1e10 < e && e < 1e10 ? e : 0 } function W(e) { var t = N(m(e.x)), n = N(m(e.y)), i = { x: t, y: n, width: N(_(e.width + e.x)) - t, height: N(_(e.height + e.y)) - n }; return i.isEmpty = !(i.x || i.y || i.width || i.height), i } t.getPower = function (e) { return e.toExponential().split("e")[1] }; t.decreaseGaps = function (e, t, n) { var i; do { (i = q(e, t)).push(_(n / i.length)), n = L(e, t, x.apply(null, i), n) } while (n > 0 && i.length > 1); return n }; t.parseScalar = function (e, t) { return void 0 !== e ? e : t }; t.enumParser = function (e) { var t, n, i = {}; for (t = 0, n = e.length; t < n; ++t)i[H(e[t])] = 1; return function (e, t) { var n = H(e); return i[n] ? n : t } }; t.patchFontOptions = function (e) { var t = {}; return (0, s.each)(e || {}, (function (n, i) { if (/^(cursor)$/i.test(n)); else if ("opacity" === n) i = null; else if ("color" === n) { if (n = "fill", "opacity" in e) { var a = new c.default(i); i = "rgba(".concat(a.r, ",").concat(a.g, ",").concat(a.b, ",").concat(e.opacity, ")") } } else n = "font-" + n; t[n] = i })), t }; t.convertXYToPolar = function (e, t, n) { var i = R(e.x, e.y, t, n), a = w(n - e.y, t - e.x); return { phi: I(B(180 * a / h)), r: I(i) } }; t.processSeriesTemplate = function (e, t) { var n, s, r, l = (0, a.isFunction)(e.customizeSeries) ? e.customizeSeries : i.noop, d = e.nameField, c = {}, u = [], h = 0; for (s = (t = t || []).length; h < s; h++)d in (r = t[h]) && ((n = c[r[d]]) || (n = c[r[d]] = { name: r[d], nameFieldValue: r[d] }, u.push(n.name))); return V(u, (function (e) { var t = c[e]; return (0, o.extend)(t, l.call(null, t.name)) })) }; var $ = function (e, t, n) { if (0 === e.length) return { categories: [] }; t = (0, a.isDefined)(t) ? t : e[0], n = (0, a.isDefined)(n) ? n : e[e.length - 1]; var i, o = V(e, (function (e) { return null == e ? void 0 : e.valueOf() })), s = o.indexOf(t.valueOf()), r = o.indexOf(n.valueOf()), l = !1; s < 0 && (s = 0), r < 0 && (r = e.length - 1), r < s && (i = r, r = s, s = i, l = !0); var d = e.slice(s, r + 1), c = d.length - 1; return { categories: d, start: d[l ? c : 0], end: d[l ? 0 : c], inverted: l } }; t.getCategoriesInfo = $; t.unique = function (e) { var t = {}; return V(e, (function (e) { var n = t[e] ? null : e; return t[e] = !0, n })) }; function j(e, t) { return "datetime" === e.dataType ? function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1; return new Date(e.getTime() + n * t) } : "logarithmic" === e.axisType ? function (t, n) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, a = K(t, e.base) + i * n; return G(a, e.base) } : function (e, n) { var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, a = e + i * n; return t && a * e <= 0 ? 0 : a } } function K(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = arguments.length > 3 ? arguments[3] : void 0; if (!n) return A(e, t); if (0 === e) return 0; var a = A(p(e), t) - (i - 1); return a < 0 ? 0 : (0, r.adjust)((0, r.sign)(e) * a, Number(v(t, i - 1).toFixed(p(i)))) } function G(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], i = arguments.length > 3 ? arguments[3] : void 0; if (!n) return O(e, t); if (0 === e) return 0; var a = O(p(e) + (i - 1), t); return a < 0 ? 0 : (0, r.adjust)((0, r.sign)(e) * a, Number(v(t, i).toFixed(p(i)))) } function U(e) { return e && e.valueOf() } t.getVerticallyShiftedAngularCoords = function (e, t, n) { var i = e.x + e.width / 2 >= n.x, a = (i ? e.x : e.x + e.width) - n.x, o = e.y - n.y, s = o + t, r = I(y(a * a + o * o - s * s)), l = (i ? +r : -r) || a; return { x: n.x + (i ? l : l - e.width), y: e.y + t } } }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function a() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return a = function () { return e }, e } t.default = void 0; var o = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = a(); if (t && t.has(e)) return t.get(e); var n = {}, o = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in e) if (Object.prototype.hasOwnProperty.call(e, s)) { var r = o ? Object.getOwnPropertyDescriptor(e, s) : null; r && (r.get || r.set) ? Object.defineProperty(n, s, r) : n[s] = e[s] } n.default = e, t && t.set(e, n); return n }(n(516)); t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.fileSaver = t.MIME_TYPES = void 0; var i = c(n(2)), a = c(n(9)), o = n(7), s = c(n(5)), r = c(n(17)), l = n(0), d = n(94); function c(e) { return e && e.__esModule ? e : { default: e } } var u = (0, o.getWindow)(), h = (0, o.getNavigator)(), f = { EXCEL: "xlsx", CSS: "css", PNG: "png", JPEG: "jpeg", GIF: "gif", SVG: "svg", PDF: "pdf" }, p = { CSS: "text/css", EXCEL: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", PNG: "image/png", JPEG: "image/jpeg", GIF: "image/gif", SVG: "image/svg+xml", PDF: "application/pdf" }; t.MIME_TYPES = p; var g = { _revokeObjectURLTimeout: 3e4, _getDataUri: function (e, t) { var n = this._getMimeType(e); return "data:".concat(n, ";base64,").concat(t) }, _getMimeType: function (e) { return p[e] || "application/octet-stream" }, _linkDownloader: function (e, t) { var n = a.default.createElement("a"); return n.download = e, n.href = t, n.target = "_blank", n }, _formDownloader: function (e, t, n, o) { var r = { method: "post", action: e, enctype: "multipart/form-data" }, l = (0, i.default)("<form>").css({ display: "none" }).attr(r); function d(e, t) { for (var n in t) e.setAttribute(n, t[n]); return e } l.append(d(a.default.createElement("input"), { type: "hidden", name: "fileName", value: t })), l.append(d(a.default.createElement("input"), { type: "hidden", name: "contentType", value: n })), l.append(d(a.default.createElement("input"), { type: "hidden", name: "data", value: o })), l.appendTo("body"), s.default.trigger(l, "submit"), s.default.trigger(l, "submit") && l.remove() }, _saveByProxy: function (e, t, n, i) { var a = this._getMimeType(n); return this._formDownloader(e, t, a, i) }, _winJSBlobSave: function (e, t, n) { var i = new Windows.Storage.Pickers.FileSavePicker; i.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary; var a = f[n]; if (a) { var o = this._getMimeType(n); i.fileTypeChoices.insert(o, ["." + a]) } i.suggestedFileName = t, i.pickSaveFileAsync().then((function (t) { t && t.openAsync(Windows.Storage.FileAccessMode.readWrite).then((function (t) { var n = e.msDetachStream(); Windows.Storage.Streams.RandomAccessStream.copyAsync(n, t).then((function () { t.flushAsync().done((function () { n.close(), t.close() })) })) })) })) }, _click: function (e) { try { e.dispatchEvent(new MouseEvent("click", { cancelable: !0 })) } catch (n) { var t = a.default.getDocument().createEvent("MouseEvents"); t.initMouseEvent("click", !0, !0, u, 0, 0, 0, 80, 20, !1, !1, !1, !1, 0, null), e.dispatchEvent(t) } }, _saveBlobAs: function (e, t, n) { var i = this; if (this._blobSaved = !1, (0, l.isDefined)(h.msSaveOrOpenBlob)) h.msSaveOrOpenBlob(n, e), this._blobSaved = !0; else if ((0, l.isDefined)(u.WinJS)) this._winJSBlobSave(n, e, t), this._blobSaved = !0; else { var a = u.URL || u.webkitURL || u.mozURL || u.msURL || u.oURL; if ((0, l.isDefined)(a)) { var o = a.createObjectURL(n), s = this._linkDownloader(e, o); setTimeout((function () { a.revokeObjectURL(o), i._objectUrlRevoked = !0 }), this._revokeObjectURLTimeout), this._click(s) } else d.logger.warn("window.URL || window.webkitURL || window.mozURL || window.msURL || window.oURL is not defined") } }, saveAs: function (e, t, n, i, a) { var o = f[t]; if (o && (e += "." + o), (0, l.isDefined)(i) && r.default.log("W0001", "Export", "proxyURL", "19.2", "This option is no longer required"), a) this._saveByProxy(i, e, t, n); else if ((0, l.isFunction)(u.Blob)) this._saveBlobAs(e, t, n); else if ((0, l.isDefined)(i) && !(0, l.isDefined)(h.userAgent.match(/iPad/i))) this._saveByProxy(i, e, t, n); else { (0, l.isDefined)(h.userAgent.match(/iPad/i)) || r.default.log("E1034"); var s = this._linkDownloader(e, this._getDataUri(t, n)); this._click(s) } } }; t.fileSaver = g }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(39), o = (i = n(9)) && i.__esModule ? i : { default: i }, s = n(7), r = n(0), l = n(64), d = n(143), c = n(172); var u, h = (0, s.getWindow)(), f = function (e, t) { return e ? "string" == typeof e ? "body" === e ? (this[0] = t ? t.body : o.default.getBody(), this.length = 1, this) : (t = t || o.default.getDocument(), "<" === e[0] ? (this[0] = o.default.createElement(e.slice(1, -1), t), this.length = 1, this) : ([].push.apply(this, o.default.querySelectorAll(t, e)), this)) : o.default.isNode(e) || (0, r.isWindow)(e) ? (this[0] = e, this.length = 1, this) : Array.isArray(e) ? ([].push.apply(this, e), this) : u(e.toArray ? e.toArray() : [e]) : (this.length = 0, this) }; (u = function (e, t) { return new f(e, t) }).fn = { dxRenderer: !0 }, f.prototype = u.fn; var p = function (e, t) { for (var n = 0; n < this.length; n++) { var i = u(this[n]); i[e].apply(i, t) } return this }, g = function (e, t, n) { null != n ? o.default.setAttribute(e, t, n) : o.default.removeAttribute(e, t) }; f.prototype.show = function () { return this.toggle(!0) }, f.prototype.hide = function () { return this.toggle(!1) }, f.prototype.toggle = function (e) { return this[0] && this.toggleClass("dx-state-invisible", !e), this }, f.prototype.attr = function (e, t) { if (this.length > 1 && arguments.length > 1) return p.call(this, "attr", arguments); if (!this[0]) return (0, r.isObject)(e) || void 0 !== t ? this : void 0; if (!this[0].getAttribute) return this.prop(e, t); if ("string" == typeof e && 1 === arguments.length) { var n = this[0].getAttribute(e); return null == n ? void 0 : n } if ((0, r.isPlainObject)(e)) for (var i in e) this.attr(i, e[i]); else g(this[0], e, t); return this }, f.prototype.removeAttr = function (e) { return this[0] && o.default.removeAttribute(this[0], e), this }, f.prototype.prop = function (e, t) { if (!this[0]) return this; if ("string" == typeof e && 1 === arguments.length) return this[0][e]; if ((0, r.isPlainObject)(e)) for (var n in e) this.prop(n, e[n]); else o.default.setProperty(this[0], e, t); return this }, f.prototype.addClass = function (e) { return this.toggleClass(e, !0) }, f.prototype.removeClass = function (e) { return this.toggleClass(e, !1) }, f.prototype.hasClass = function (e) { if (!this[0] || void 0 === this[0].className) return !1; for (var t = e.split(" "), n = 0; n < t.length; n++) { if (this[0].classList) { if (this[0].classList.contains(t[n])) return !0 } else if ((((0, r.isString)(this[0].className) ? this[0].className : o.default.getAttribute(this[0], "class")) || "").split(" ").indexOf(t[n]) >= 0) return !0 } return !1 }, f.prototype.toggleClass = function (e, t) { if (this.length > 1) return p.call(this, "toggleClass", arguments); if (!this[0] || !e) return this; t = void 0 === t ? !this.hasClass(e) : t; for (var n = e.split(" "), i = 0; i < n.length; i++)o.default.setClass(this[0], n[i], t); return this }, ["width", "height", "outerWidth", "outerHeight", "innerWidth", "innerHeight"].forEach((function (e) { var t = e.toLowerCase().indexOf("width") >= 0 ? "Width" : "Height", n = t.toLowerCase(), i = 0 === e.indexOf("outer"), a = 0 === e.indexOf("inner"); f.prototype[e] = function (s) { if (this.length > 1 && arguments.length > 0) return p.call(this, e, arguments); var l = this[0]; if (l) { if ((0, r.isWindow)(l)) return i ? l["inner" + t] : o.default.getDocumentElement()["client" + t]; if (o.default.isDocument(l)) { var c = o.default.getDocumentElement(), u = o.default.getBody(); return Math.max(u["scroll" + t], u["offset" + t], c["scroll" + t], c["offset" + t], c["client" + t]) } if (0 === arguments.length || "boolean" == typeof s) { var f = { paddings: a || i, borders: i, margins: s }; return (0, d.getSize)(l, n, f) } if (null == s) return this; if ((0, r.isNumeric)(s)) { var g = h.getComputedStyle(l), m = (0, d.getElementBoxParams)(n, g), _ = "border-box" === g.boxSizing; s = Number(s), i ? s -= _ ? 0 : m.border + m.padding : a ? s += _ ? m.border : -m.padding : _ && (s += m.border + m.padding) } return s += (0, r.isNumeric)(s) ? "px" : "", o.default.setStyle(l, n, s), this } } })), f.prototype.html = function (e) { return arguments.length ? (this.empty(), "string" == typeof e && !(0, c.isTablePart)(e) || "number" == typeof e ? (this[0].innerHTML = e, this) : this.append((0, c.parseHTML)(e))) : this[0].innerHTML }; var m = function (e, t) { if (this[0] && e) { "string" == typeof e ? e = (0, c.parseHTML)(e) : e.nodeType ? e = [e] : (0, r.isNumeric)(e) && (e = [o.default.createTextNode(e)]); for (var n = 0; n < e.length; n++) { var i = e[n], a = this[0]; "TABLE" === a.tagName && "TR" === i.tagName && a.tBodies && a.tBodies.length && (a = a.tBodies[0]), o.default.insertElement(a, i.nodeType ? i : i[0], t) } } }, _ = function (e, t) { if (this[0] && this[0].style && !(null === t || "number" == typeof t && isNaN(t))) { e = (0, l.styleProp)(e); for (var n = 0; n < this.length; n++)this[n].style[e] = (0, l.normalizeStyleProp)(e, t) } }; f.prototype.css = function (e, t) { if ((0, r.isString)(e)) { if (2 !== arguments.length) { if (!this[0]) return; e = (0, l.styleProp)(e); var n = h.getComputedStyle(this[0])[e] || this[0].style[e]; return (0, r.isNumeric)(n) ? n.toString() : n } _.call(this, e, t) } else if ((0, r.isPlainObject)(e)) for (var i in e) _.call(this, i, e[i]); return this }, f.prototype.prepend = function (e) { if (arguments.length > 1) { for (var t = 0; t < arguments.length; t++)this.prepend(arguments[t]); return this } return m.apply(this, [e, this[0].firstChild]), this }, f.prototype.append = function (e) { if (arguments.length > 1) { for (var t = 0; t < arguments.length; t++)this.append(arguments[t]); return this } return m.apply(this, [e]), this }, f.prototype.prependTo = function (e) { if (this.length > 1) { for (var t = this.length - 1; t >= 0; t--)u(this[t]).prependTo(e); return this } return (e = u(e))[0] && o.default.insertElement(e[0], this[0], e[0].firstChild), this }, f.prototype.appendTo = function (e) { return this.length > 1 ? p.call(this, "appendTo", arguments) : (o.default.insertElement(u(e)[0], this[0]), this) }, f.prototype.insertBefore = function (e) { return e && e[0] && o.default.insertElement(e[0].parentNode, this[0], e[0]), this }, f.prototype.insertAfter = function (e) { return e && e[0] && o.default.insertElement(e[0].parentNode, this[0], e[0].nextSibling), this }, f.prototype.before = function (e) { return this[0] && o.default.insertElement(this[0].parentNode, e[0], this[0]), this }, f.prototype.after = function (e) { return this[0] && o.default.insertElement(this[0].parentNode, e[0], this[0].nextSibling), this }, f.prototype.wrap = function (e) { if (this[0]) { var t = u(e); t.insertBefore(this), t.append(this) } return this }, f.prototype.wrapInner = function (e) { var t = this.contents(); return t.length ? t.wrap(e) : this.append(e), this }, f.prototype.replaceWith = function (e) { if (e && e[0]) return e.is(this) ? this : (e.insertBefore(this), this.remove(), e) }, f.prototype.remove = function () { return this.length > 1 ? p.call(this, "remove", arguments) : ((0, a.cleanDataRecursive)(this[0], !0), o.default.removeElement(this[0]), this) }, f.prototype.detach = function () { return this.length > 1 ? p.call(this, "detach", arguments) : (o.default.removeElement(this[0]), this) }, f.prototype.empty = function () { return this.length > 1 ? p.call(this, "empty", arguments) : ((0, a.cleanDataRecursive)(this[0]), o.default.setText(this[0], ""), this) }, f.prototype.clone = function () { for (var e = [], t = 0; t < this.length; t++)e.push(this[t].cloneNode(!0)); return u(e) }, f.prototype.text = function (e) { if (!arguments.length) { for (var t = "", n = 0; n < this.length; n++)t += this[n] && this[n].textContent || ""; return t } var i = (0, r.isFunction)(e) ? e() : e; return (0, a.cleanDataRecursive)(this[0], !1), o.default.setText(this[0], (0, r.isDefined)(i) ? i : ""), this }, f.prototype.val = function (e) { return 1 === arguments.length ? this.prop("value", (0, r.isDefined)(e) ? e : "") : this.prop("value") }, f.prototype.contents = function () { if (!this[0]) return u(); var e = []; return e.push.apply(e, this[0].childNodes), u(e) }, f.prototype.find = function (e) { var t = u(); if (!e) return t; var n, i = []; if ("string" == typeof e) for (e = e.trim(), n = 0; n < this.length; n++) { var a = this[n]; if (o.default.isElementNode(a)) { var s = a.getAttribute("id"), r = s || "dx-query-children"; s || g(a, "id", r); var l = (r = "[id='" + r + "'] ") + e.replace(/([^\\])(,)/g, "$1, " + r); i.push.apply(i, o.default.querySelectorAll(a, l)), g(a, "id", s) } else o.default.isDocument(a) && i.push.apply(i, o.default.querySelectorAll(a, e)) } else for (n = 0; n < this.length; n++)e = o.default.isNode(e) ? e : e[0], this[n] !== e && this[n].contains(e) && i.push(e); return t.add(i) }; var v = function (e, t) { return !t.nodeType || !!(t.offsetWidth || t.offsetHeight || t.getClientRects().length) }; f.prototype.filter = function (e) { if (!e) return u(); if (":visible" === e) return this.filter(v); if (":hidden" === e) return this.filter((function (e, t) { return !v(0, t) })); for (var t = [], n = 0; n < this.length; n++) { var i = this[n]; if (o.default.isElementNode(i) && "string" === (0, r.type)(e)) o.default.elementMatches(i, e) && t.push(i); else if (o.default.isNode(e) || (0, r.isWindow)(e)) e === i && t.push(i); else if ((0, r.isFunction)(e)) e.call(i, n, i) && t.push(i); else for (var a = 0; a < e.length; a++)e[a] === i && t.push(i) } return u(t) }, f.prototype.not = function (e) { for (var t = [], n = this.filter(e).toArray(), i = 0; i < this.length; i++)-1 === n.indexOf(this[i]) && t.push(this[i]); return u(t) }, f.prototype.is = function (e) { return !!this.filter(e).length }, f.prototype.children = function (e) { for (var t = [], n = 0; n < this.length; n++)for (var i = this[n] ? this[n].childNodes : [], a = 0; a < i.length; a++)o.default.isElementNode(i[a]) && t.push(i[a]); return t = u(t), e ? t.filter(e) : t }, f.prototype.siblings = function () { var e = this[0]; if (!e || !e.parentNode) return u(); for (var t = [], n = e.parentNode.childNodes || [], i = 0; i < n.length; i++) { var a = n[i]; o.default.isElementNode(a) && a !== e && t.push(a) } return u(t) }, f.prototype.each = function (e) { for (var t = 0; t < this.length && !1 !== e.call(this[t], t, this[t]); t++); }, f.prototype.index = function (e) { return e ? (e = u(e), this.toArray().indexOf(e[0])) : this.parent().children().index(this) }, f.prototype.get = function (e) { return this[e < 0 ? this.length + e : e] }, f.prototype.eq = function (e) { return e = e < 0 ? this.length + e : e, u(this[e]) }, f.prototype.first = function () { return this.eq(0) }, f.prototype.last = function () { return this.eq(-1) }, f.prototype.parent = function (e) { if (!this[0]) return u(); var t = u(this[0].parentNode); return !e || t.is(e) ? t : u() }, f.prototype.parents = function (e) { for (var t = [], n = this.parent(); n && n[0] && !o.default.isDocument(n[0]);)o.default.isElementNode(n[0]) && (!e || e && n.is(e)) && t.push(n.get(0)), n = n.parent(); return u(t) }, f.prototype.closest = function (e) { if (this.is(e)) return this; for (var t = this.parent(); t && t.length;) { if (t.is(e)) return t; t = t.parent() } return u() }, f.prototype.next = function (e) { if (!this[0]) return u(); var t = u(this[0].nextSibling); if (!arguments.length) return t; for (; t && t.length;) { if (t.is(e)) return t; t = t.next() } return u() }, f.prototype.prev = function () { return this[0] ? u(this[0].previousSibling) : u() }, f.prototype.add = function (e) { for (var t = u(e), n = this.toArray(), i = 0; i < t.length; i++) { var a = t[i]; -1 === n.indexOf(a) && n.push(a) } return u(n) }; var y = []; f.prototype.splice = function () { return u(y.splice.apply(this, arguments)) }, f.prototype.slice = function () { return u(y.slice.apply(this, arguments)) }, f.prototype.toArray = function () { return y.slice.call(this) }; var w = function (e) { return (0, r.isWindow)(e) ? e : e.defaultView }; f.prototype.offset = function () { if (this[0]) { if (!this[0].getClientRects().length) return { top: 0, left: 0 }; var e = this[0].getBoundingClientRect(), t = w(this[0].ownerDocument), n = this[0].ownerDocument.documentElement; return { top: e.top + t.pageYOffset - n.clientTop, left: e.left + t.pageXOffset - n.clientLeft } } }, f.prototype.offsetParent = function () { if (!this[0]) return u(); for (var e = u(this[0].offsetParent); e[0] && "static" === e.css("position");)e = u(e[0].offsetParent); return e = e[0] ? e : u(o.default.getDocumentElement()) }, f.prototype.position = function () { if (this[0]) { var e, t = parseFloat(this.css("marginTop")), n = parseFloat(this.css("marginLeft")); if ("fixed" === this.css("position")) return { top: (e = this[0].getBoundingClientRect()).top - t, left: e.left - n }; e = this.offset(); var i = this.offsetParent(), a = { top: 0, left: 0 }; return "HTML" !== i[0].nodeName && (a = i.offset()), a = { top: a.top + parseFloat(i.css("borderTopWidth")), left: a.left + parseFloat(i.css("borderLeftWidth")) }, { top: e.top - a.top - t, left: e.left - a.left - n } } }, [{ name: "scrollLeft", offsetProp: "pageXOffset", scrollWindow: function (e, t) { e.scrollTo(t, e.pageYOffset) } }, { name: "scrollTop", offsetProp: "pageYOffset", scrollWindow: function (e, t) { e.scrollTo(e.pageXOffset, t) } }].forEach((function (e) { var t = e.name; f.prototype[t] = function (n) { if (this[0]) { var i = w(this[0]); return void 0 === n ? i ? i[e.offsetProp] : this[0][t] : (i ? e.scrollWindow(i, n) : this[0][t] = n, this) } } })), f.prototype.data = function (e, t) { if (this[0]) return arguments.length < 2 ? a.data.call(u, this[0], e) : (a.data.call(u, this[0], e, t), this) }, f.prototype.removeData = function (e) { return this[0] && (0, a.removeData)(this[0], e), this }; var x = function () { return u.apply(this, arguments) }; Object.defineProperty(x, "fn", { enumerable: !0, configurable: !0, get: function () { return u.fn }, set: function (e) { u.fn = e } }); var b = { set: function (e) { u = e }, get: function () { return x } }; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = function (e) { i.forEach((function (t) { e(t, (function (e) { return function (e, t) { if (t[e] && !t.touches || !t.touches) return t[e]; var n = t.touches.length ? t.touches : t.changedTouches; if (!n.length) return; return n[0][e] }(t, e) })) }), this) }; var i = ["pageX", "pageY", "screenX", "screenY", "clientX", "clientY"]; e.exports = t.default }, function (e, t, n) { "use strict"; t.isTablePart = t.parseHTML = void 0; var i, a = n(14), o = (i = n(9)) && i.__esModule ? i : { default: i }; var s = /<([a-z][^/\0>\x20\t\r\n\f]+)/i, r = { default: { tagsCount: 0, startTags: "", endTags: "" }, thead: { tagsCount: 1, startTags: "<table>", endTags: "</table>" }, td: { tagsCount: 3, startTags: "<table><tbody><tr>", endTags: "</tr></tbody></table>" }, col: { tagsCount: 2, startTags: "<table><colgroup>", endTags: "</colgroup></table>" }, tr: { tagsCount: 2, startTags: "<table><tbody>", endTags: "</tbody></table>" } }; r.tbody = r.colgroup = r.caption = r.tfoot = r.thead, r.th = r.td; t.parseHTML = function (e) { if ("string" != typeof e) return null; var t = o.default.createDocumentFragment().appendChild(o.default.createElement("div")), n = s.exec(e), i = n && n[1].toLowerCase(), l = r[i] || r.default; t.innerHTML = l.startTags + e + l.endTags; for (var d = 0; d < l.tagsCount; d++)t = t.lastChild; return (0, a.merge)([], t.childNodes) }; t.isTablePart = function (e) { var t = s.exec(e); return t && t[1] in r } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(31), a = d(n(40)), o = d(n(32)), s = n(0), r = n(116), l = n(145); function d(e) { return e && e.__esModule ? e : { default: e } } n(88); var c = { thousands: "#,##0{0},&quot;K&quot;", millions: "#,##0{0},,&quot;M&quot;", billions: "#,##0{0},,,&quot;B&quot;", trillions: "#,##0{0},,,,&quot;T&quot;", percent: "0{0}%", decimal: "#{0}", fixedpoint: "#,##0{0}", exponential: "0{0}E+00", currency: " " }, u = /a+/g, h = /E/g, f = /dE+/g, p = /L/g, g = /h/g, m = /\//g, _ = /\[/g, v = /]/g, y = /./g, w = { _applyPrecision: function (e, t) { var n, i; if (t > 0) { for (n = "decimal" !== e ? "." : "", i = 0; i < t; i++)n += "0"; return n } return "" }, _hasArabicDigits: function (e) { for (var t, n = 0; n < e.length; n++)if ((t = e.charCodeAt(n)) >= 1632 && t < 1642) return !0; return !1 }, _convertDateFormatToOpenXml: function (e) { return e.replace(m, "\\/").split("'").map((function (e, t) { return t % 2 == 0 ? e.replace(u, "AM/PM").replace(f, "d").replace(h, "d").replace(p, "M").replace(g, "H").replace(_, "\\[").replace(v, "\\]") : e ? e.replace(y, "\\$&") : "'" })).join("") }, _convertDateFormat: function (e) { var t = (o.default.format(new Date(2009, 8, 8, 6, 5, 4), e) || "").toString(), n = (0, r.getFormat)((function (t) { return o.default.format(t, e) })); return n && (n = this._convertDateFormatToOpenXml(n), n = this._getLanguageInfo(t) + n), n }, _getLanguageInfo: function (e) { var t = (0, l.getLanguageId)(), n = t ? t.toString(16) : "", i = ""; if (this._hasArabicDigits(e)) { for (; n.length < 3;)n = "0" + n; i = "[$-2010" + n + "]" } else n && (i = "[$-" + n + "]"); return i }, _convertNumberFormat: function (e, t, n) { var o, s; return (s = "currency" === e ? a.default.getOpenXmlCurrencyFormat(n) : c[e.toLowerCase()]) && (o = (0, i.format)(s, this._applyPrecision(e, t))), o }, convertFormat: function (e, t, n, i) { if ((0, s.isDefined)(e)) { if ("date" === n) return w._convertDateFormat(e); if ((0, s.isString)(e) && c[e.toLowerCase()]) return w._convertNumberFormat(e, t, i) } } }, x = w; t.default = x, e.exports = t.default }, function (e, t, n) { "use strict"; t.getFormatter = function (e, t) { return t = t || o, function (n) { if ("number" != typeof n || isNaN(n)) return ""; var o = n > 0 || 1 / n == 1 / 0, r = function (e) { var t = e.split(";"); 1 === t.length && t.push("-" + t[0]); return t }(e)[o ? 0 : 1]; (function (e) { return -1 !== e.indexOf("%") && !e.match(/'[^']*%[^']*'/g) })(r) && (n *= 100), o || (n = -n); var h, f = function (e) { for (var t = !1, n = 0; n < e.length; n++)if ("'" === e[n] && (t = !t), "." === e[n] && !t) return n; return e.length }(r), p = [r.substr(0, f), r.substr(f + 1)], g = d(p[1]), m = g + l(p[1]), _ = d(p[0]), v = l(p[0]) || t.unlimitedIntegerDigits ? void 0 : _, y = Math.floor(n).toString().length, w = (0, i.fitIntoRange)(m, 0, 15 - y), x = (h = p[0], h.split(",").slice(1).map((function (e) { return e.split("").filter((function (e) { return "#" === e || "0" === e })).length }))).reverse(), b = (0, a.toFixed)(n, w < 0 ? 0 : w).split("."), C = c(s(b[0]), _, v), k = c(b[1], g, m); C = function (e, t, n) { if (!t.length) return e; var i = [], a = 0; for (; e;) { var o = t[a]; if (!o) break; i.push(e.slice(0, o)), e = e.slice(o), a < t.length - 1 && a++ } return i.join(n) }(C, x, t.thousandsSeparator); var I = s(u(s(p[0]), C)), S = m ? u(p[1], k) : ""; return I + (S.match(/\d/) ? t.decimalSeparator : "") + S } }, t.getFormat = function (e) { var t = ".", n = e(1).indexOf("100") >= 0; t = f(t, e, n, !0); var i = p(t = f(t, e, n, !1), e, n, !1), a = p(t, e, n, !0); return a === "-" + i ? i : i + ";" + a }; var i = n(37), a = n(175), o = { thousandsSeparator: ",", decimalSeparator: "." }; function s(e) { return e.toString().split("").reverse().join("") } function r(e) { return e.replace(/'.+'/g, "") } function l(e) { if (!e) return 0; var t = r(e); return t.length - t.replace(/[#]/g, "").length } function d(e) { if (!e) return 0; var t = r(e); return t.length - t.replace(/[0]/g, "").length } function c(e, t, n) { if (!e) return ""; for (e.length > n && (e = e.substr(0, n)); e.length > t && "0" === e.slice(-1);)e = e.substr(0, e.length - 1); for (; e.length < t;)e += "0"; return e } function u(e, t) { return e.split("'").map((function (e, n) { var i = n % 2; return !e && i ? "'" : i ? e : e.replace(/[,#0]+/, t) })).join("") } function h(e, t, n) { var i = (t ? .01 : 1) * parseFloat(e) || 0; return n ? -i : i } function f(e, t, n, i) { var a, o, s, r = e; do { s && (a = o.length === s.length ? "0" : "1", e = i ? a + e : e + a), o = s || t(h(r, n)), s = t(h(r = i ? "1" + r : r + "1", n)) } while (o !== s && (i ? o.length === s.length : o.length <= s.length)); if (i && s.length > o.length) { var l = -1 === t(12345).indexOf("12345"); do { e = "1" + e } while (l && h(e, n) < 1e5) } return e } function p(e, t, n, i) { var a = t(h(e, n, i)), o = e.split("."), s = t(h(o[0] + ".3" + o[1].slice(1), n, i)).indexOf("3") - 1; return a = a.replace(/(\d)\D(\d)/g, "$1,$2"), s >= 0 && (a = a.slice(0, s) + "." + a.slice(s + 1)), a = a.replace(/1+/, "1").replace(/1/g, "#"), n || (a = a.replace("%", "'%'")), a } }, function (e, t, n) { "use strict"; t.toFixed = function (e, t) { var n = t || 0, i = n > 0 ? a.apply(void 0, arguments) : e; return i.toFixed(n) }; var i = n(37); function a(e, t) { var n = Math.pow(10, t); return function (e) { return (0, i.sign)(e) * Math.round(Math.abs(e)) }(e * (10 * n) / 10) / n } }, function (e, t, n) { "use strict"; t.default = void 0; t.default = function (e, t) { if (t) { var n = e; if ("string" == typeof e) { n = ""; for (var i = 0; i < e.length; i++)"$" !== e[i] && (n += "\\"), n += e[i] } for (var a = { ".00": "{0}", "'": "\\'", "\\(": "\\(", "\\)": "\\)", " ": "\\ ", '"': "&quot;", "\\¤": n }, o = t.split(";"), s = 0; s < o.length; s++)for (var r in a) Object.prototype.hasOwnProperty.call(a, r) && (o[s] = o[s].replace(new RegExp(r, "g"), a[r])); return 2 === o.length ? o[0] + "_);" + o[1] : o[0] } }, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e, t) { for (; e.length < t;)e = "0" + e; return e } t.getFormatter = void 0; var a = { 3: "abbreviated", 4: "wide", 5: "narrow" }, o = { y: function (e, t, n) { var a = e[n ? "getUTCFullYear" : "getFullYear"](); return 2 === t && (a %= 100), i(a.toString(), t) }, M: function (e, t, n, o) { var s = e[n ? "getUTCMonth" : "getMonth"](), r = a[t]; return r ? o.getMonthNames(r, "format")[s] : i((s + 1).toString(), Math.min(t, 2)) }, L: function (e, t, n, o) { var s = e[n ? "getUTCMonth" : "getMonth"](), r = a[t]; return r ? o.getMonthNames(r, "standalone")[s] : i((s + 1).toString(), Math.min(t, 2)) }, Q: function (e, t, n, o) { var s = e[n ? "getUTCMonth" : "getMonth"](), r = Math.floor(s / 3), l = a[t]; return l ? o.getQuarterNames(l)[r] : i((r + 1).toString(), Math.min(t, 2)) }, E: function (e, t, n, i) { var o = e[n ? "getUTCDay" : "getDay"](), s = a[t < 3 ? 3 : t]; return i.getDayNames(s)[o] }, a: function (e, t, n, i) { var o = e[n ? "getUTCHours" : "getHours"]() < 12 ? 0 : 1, s = a[t]; return i.getPeriodNames(s)[o] }, d: function (e, t, n) { return i(e[n ? "getUTCDate" : "getDate"]().toString(), Math.min(t, 2)) }, H: function (e, t, n) { return i(e[n ? "getUTCHours" : "getHours"]().toString(), Math.min(t, 2)) }, h: function (e, t, n) { return i((e[n ? "getUTCHours" : "getHours"]() % 12 || 12).toString(), Math.min(t, 2)) }, m: function (e, t, n) { return i(e[n ? "getUTCMinutes" : "getMinutes"]().toString(), Math.min(t, 2)) }, s: function (e, t, n) { return i(e[n ? "getUTCSeconds" : "getSeconds"]().toString(), Math.min(t, 2)) }, S: function (e, t, n) { return i(e[n ? "getUTCMilliseconds" : "getMilliseconds"]().toString(), 3).substr(0, t) }, x: function (e, t, n) { var a = n ? 0 : e.getTimezoneOffset(), o = a > 0 ? "-" : "+", s = Math.abs(a), r = s % 60, l = i(Math.floor(s / 60).toString(), 2), d = i(r.toString(), 2); return o + l + (t >= 3 ? ":" : "") + (t > 1 || r ? d : "") }, X: function (e, t, n) { return n || !e.getTimezoneOffset() ? "Z" : o.x(e, t, n) }, Z: function (e, t, n) { return o.X(e, t >= 5 ? 3 : 2, n) } }; t.getFormatter = function (e, t) { return function (n) { var i, a, s, r, l = 0, d = !1, c = ""; if (!n) return null; if (!e) return n; var u = "Z" === e[e.length - 1] || "'Z'" === e.slice(-3); for (i = 0; i < e.length; i++)s = e[i], a = o[s], l++, (r = s === e[i + 1]) || (a && !d && (c += a(n, l, u, t)), l = 0), "'" !== s || r ? !d && a || (c += s) : d = !d, "'" === s && r && i++; return c } } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(3), a = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], o = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], s = ["AM", "PM"], r = ["Q1", "Q2", "Q3", "Q4"], l = function (e, t) { var n = { abbreviated: 3, short: 2, narrow: 1 }; return (0, i.map)(e, (function (e) { return e.substr(0, n[t]) })) }, d = { getMonthNames: function (e) { return l(a, e) }, getDayNames: function (e) { return l(o, e) }, getQuarterNames: function (e) { return r }, getPeriodNames: function (e) { return s } }; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = s(n(66)), o = s(n(257)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = { tryCreateTag: function (e) { var t = null; return (0, i.isDefined)(e) && (t = { patternFill: o.default.tryCreateTag(e.patternFill) }, r.isEmpty(t) && (t = null)), t }, tryCreateFillFromSimpleFormat: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = e.backgroundColor, n = e.fillPatternType, a = e.fillPatternColor; return !(0, i.isDefined)(t) || (0, i.isDefined)(n) && (0, i.isDefined)(a) ? (0, i.isDefined)(n) && (0, i.isDefined)(a) ? { patternFill: { patternType: n, foregroundColor: { rgb: a }, backgroundColor: { rgb: t } } } : void 0 : { patternFill: { patternType: "solid", foregroundColor: { rgb: t } } } }, copySimpleFormat: function (e, t) { void 0 !== e.backgroundColor && (t.backgroundColor = e.backgroundColor), void 0 !== e.fillPatternType && (t.fillPatternType = e.fillPatternType), void 0 !== e.fillPatternColor && (t.fillPatternColor = e.fillPatternColor) }, copy: function (e) { var t = null; return (0, i.isDefined)(e) && (t = {}, void 0 !== e.patternFill && (t.patternFill = o.default.copy(e.patternFill))), t }, areEqual: function (e, t) { return r.isEmpty(e) && r.isEmpty(t) || (0, i.isDefined)(e) && (0, i.isDefined)(t) && o.default.areEqual(e.patternFill, t.patternFill) }, isEmpty: function (e) { return !(0, i.isDefined)(e) || o.default.isEmpty(e.patternFill) }, toXml: function (e) { return a.default.toXml("fill", {}, o.default.toXml(e.patternFill)) } }, l = r; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(0), o = (i = n(66)) && i.__esModule ? i : { default: i }; var s = { _tryConvertColor: function (e) { if ("string" != typeof e) return e; var t; if (e.length > 0 && "#" === e[0]) { var n = e.substr(1, e.length); t = 6 === n.length ? "FF" + n : 8 === n.length ? n[6] + n[7] + n.substr(0, 6) : n } else t = e; return t }, tryCreateTag: function (e) { var t = null; return (0, a.isDefined)(e) && (t = "string" == typeof e ? { rgb: this._tryConvertColor(e) } : { rgb: this._tryConvertColor(e.rgb), theme: e.theme }, s.isEmpty(t) && (t = null)), t }, copy: function (e) { var t = null; return (0, a.isDefined)(e) && ("string" == typeof e ? t = e : (t = {}, void 0 !== e.rgb && (t.rgb = e.rgb), void 0 !== e.theme && (t.theme = e.theme))), t }, isEmpty: function (e) { return !(0, a.isDefined)(e) || !(0, a.isDefined)(e.rgb) && !(0, a.isDefined)(e.theme) }, areEqual: function (e, t) { return s.isEmpty(e) && s.isEmpty(t) || (0, a.isDefined)(e) && (0, a.isDefined)(t) && e.rgb === t.rgb && e.theme === t.theme }, toXml: function (e, t) { return o.default.toXml(e, { rgb: t.rgb, theme: t.theme }) } }, r = s; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = s(n(66)), o = s(n(180)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = { tryCreateTag: function (e) { var t = null; return (0, i.isDefined)(e) && (t = { size: e.size, name: e.name, family: e.family, scheme: e.scheme, bold: e.bold, italic: e.italic, underline: e.underline, color: o.default.tryCreateTag(e.color) }, r.isEmpty(t) && (t = null)), t }, copy: function (e) { var t = null; return (0, i.isDefined)(e) && (t = {}, void 0 !== e.size && (t.size = e.size), void 0 !== e.name && (t.name = e.name), void 0 !== e.family && (t.family = e.family), void 0 !== e.scheme && (t.scheme = e.scheme), void 0 !== e.bold && (t.bold = e.bold), void 0 !== e.italic && (t.italic = e.italic), void 0 !== e.underline && (t.underline = e.underline), void 0 !== e.color && (t.color = o.default.copy(e.color))), t }, areEqual: function (e, t) { return r.isEmpty(e) && r.isEmpty(t) || (0, i.isDefined)(e) && (0, i.isDefined)(t) && e.size === t.size && e.name === t.name && e.family === t.family && e.scheme === t.scheme && (e.bold === t.bold || !e.bold == !t.bold) && (e.italic === t.italic || !e.italic == !t.italic) && e.underline === t.underline && o.default.areEqual(e.color, t.color) }, isEmpty: function (e) { return !(0, i.isDefined)(e) || !(0, i.isDefined)(e.size) && !(0, i.isDefined)(e.name) && !(0, i.isDefined)(e.family) && !(0, i.isDefined)(e.scheme) && (!(0, i.isDefined)(e.bold) || !e.bold) && (!(0, i.isDefined)(e.italic) || !e.italic) && !(0, i.isDefined)(e.underline) && o.default.isEmpty(e.color) }, toXml: function (e) { var t = [(0, i.isDefined)(e.bold) && e.bold ? a.default.toXml("b", {}) : "", (0, i.isDefined)(e.size) ? a.default.toXml("sz", { val: e.size }) : "", (0, i.isDefined)(e.color) ? o.default.toXml("color", e.color) : "", (0, i.isDefined)(e.name) ? a.default.toXml("name", { val: e.name }) : "", (0, i.isDefined)(e.family) ? a.default.toXml("family", { val: e.family }) : "", (0, i.isDefined)(e.scheme) ? a.default.toXml("scheme", { val: e.scheme }) : "", (0, i.isDefined)(e.italic) && e.italic ? a.default.toXml("i", {}) : "", (0, i.isDefined)(e.underline) ? a.default.toXml("u", { val: e.underline }) : ""].join(""); return a.default.toXml("font", {}, t) } }, l = r; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.getData = function (e, t) { return j.getData(e, t) }, t.testFormats = function (e) { var t = E(100, 100, 0); return e.reduce((function (e, n) { var i = ("image/" + n).toLowerCase(); return -1 !== t.toDataURL(i).indexOf(i) ? e.supported.push(n) : e.unsupported.push(n), e }), { supported: [], unsupported: [] }) }, t.imageCreator = void 0; var i = p(n(2)), a = p(n(117)), o = n(0), s = n(183), r = n(3), l = n(1), d = p(n(9)), c = n(28), u = n(7), h = n(43), f = n(6); function p(e) { return e && e.__esModule ? e : { default: e } } var g, m = (0, u.getWindow)(), _ = Math, v = _.PI, y = _.min, w = _.abs, x = _.sqrt, b = _.pow, C = _.atan2, k = _.cos, I = _.sin, S = Number; function E(e, t, n) { var a = (0, i.default)("<canvas>")[0]; return a.width = e + 2 * n, a.height = t + 2 * n, a.hidden = !0, a } function D(e, t, n, i, a, o, s, r) { var l = (e + n) / 2, d = (t + i) / 2, c = C(t - i, e - n), u = o ? 1 : -1; c += v / 180 * 90 * (s ? 1 : -1); var h = x(b(n - e, 2) + b(i - t, 2)) / 2, f = x(w(b(a, 2) - b(h, 2))), p = l + u * (f * k(c)), g = d + u * (f * I(c)), m = C(t - g, e - p), _ = C(i - g, n - p); r.arc(p, g, a, m, _, !s) } function T(e, t) { var n, i = g(e.attributes || {}), a = (0, l.extend)({}, i, { text: e.textContent.replace(/\s+/g, " "), textAlign: "middle" === i["text-anchor"] ? "center" : i["text-anchor"] }), s = i.transform; return s && ((n = s.match(/translate\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*)*/)) && (n = n[0].match(/-*\d+([.]\d+)*/g), a.translateX = S(n[0]), a.translateY = n[1] ? S(n[1]) : 0), (n = s.match(/rotate\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*,*\s*-*\d+([.]\d+)*)*/)) && (n = n[0].match(/-*\d+([.]\d+)*/g), a.rotationAngle = S(n[0]), a.rotationX = n[1] && S(n[1]), a.rotationY = n[2] && S(n[2])), (n = s.match(/scale\(-*\d+([.]\d+)*(,*\s*-*\d+([.]\d+)*)*/)) && (n = n[0].match(/-*\d+([.]\d+)*/g), a.scaleX = S(n[0]), n.length > 1 ? a.scaleY = S(n[1]) : a.scaleY = a.scaleX)), function (e, t, n) { var i, a = e.style || {}; for (i in a) "" !== a[i] && (t[(0, h.camelize)(i)] = a[i]); n && d.default.isElementNode(e) && (a = m.getComputedStyle(e), ["fill", "stroke", "stroke-width", "font-family", "font-size", "font-style", "font-weight"].forEach((function (e) { e in a && "" !== a[e] && (t[(0, h.camelize)(e)] = a[e]) })), ["opacity", "fill-opacity", "stroke-opacity"].forEach((function (e) { e in a && "" !== a[e] && "1" !== a[e] && (t[e] = S(a[e])) }))); t.textDecoration = t.textDecoration || t.textDecorationLine, t.globalAlpha = (0, o.isDefined)(t.opacity) ? t.opacity : t.globalAlpha }(e, a, t), a } function A(e) { var t = e && e.match(/url\(.*#(.*?)["']?\)/i); return t && t[1] } function O(e, t) { var n = []; t.fontSize = t.fontSize || "10px", t.fontFamily, t.fill = t.fill || "#000", t.fontStyle && n.push(t.fontStyle), t.fontWeight && n.push(t.fontWeight), n.push(t.fontSize), n.push(t.fontFamily), e.font = n.join(" "), e.textAlign = t.textAlign, e.fillStyle = t.fill, e.globalAlpha = t.globalAlpha } function B(e, t, n) { O(e, t), R(e, t, n), t.text && e.fillText(t.text, t.x || 0, t.y || 0), H(e, t, !0), function (e, t, n) { if (!t.textDecoration || "none" === t.textDecoration) return; var i = t.x, a = e.measureText(t.text).width, o = parseInt(t.fontSize, 10), s = .05 * o < 1 ? 1 : .05 * o, r = t.y; switch (t.textDecoration) { case "line-through": r -= o / 3 + s / 2; break; case "overline": r -= o - s; break; case "underline": r += s }e.rect(i, r, a, s), z(e, t, n), H(e, t) }(e, t, n) } function M(e) { for (var t = e.childNodes, n = 0; n < t.length; n++)if ("tspan" === t[n].tagName) return !0; return !1 } function P(e, t, n, i) { var a = e.tagName, o = "text" === a || "tspan" === a || void 0 === a, s = "image" === a, r = (0, l.extend)({}, n, T(e, i.rootAppended)); if ("hidden" !== r.visibility && !r["hidden-for-export"]) { var d; switch (t.save(), !s && F(t, r), V(t, r, i), function (e) { e.strokeOpacity = void 0 !== e["stroke-opacity"] ? e["stroke-opacity"] : 1, e.fillOpacity = void 0 !== e["fill-opacity"] ? e["fill-opacity"] : 1, void 0 !== e.opacity && (e.strokeOpacity *= e.opacity, e.fillOpacity *= e.opacity) }(r), t.beginPath(), e.tagName) { case void 0: B(t, r, i); break; case "text": case "tspan": !function e(t, n, i, a) { for (var o, s = [], r = 0, d = 0; d < t.length; d++) { var c = t[d]; if (void 0 === c.tagName) P(c, n, i, a); else if ("tspan" === c.tagName || "text" === c.tagName) { var u = T(c, a.rootAppended), h = (0, l.extend)({}, i, u); if ("tspan" === c.tagName && M(c)) { e(c.childNodes, n, h, a); continue } h.textAlign = "start", o && void 0 === u.x || (o = { elements: [], options: [], widths: [], offsets: [] }, s.push(o)), void 0 !== u.y && (r = 0), void 0 !== u.dy && (r += parseFloat(u.dy)), o.elements.push(c), o.options.push(h), o.offsets.push(r), O(n, h), o.widths.push(n.measureText(h.text).width) } } s.forEach((function (t) { var o = t.widths.reduce((function (e, t) { return e + t }), 0), s = 0, r = 0; "center" === i.textAlign && (s = o / 2), "end" === i.textAlign && (s = o), t.options.forEach((function (e, n) { var i = t.widths[n]; e.x = e.x - s + r, e.y += t.offsets[n], r += i })), t.elements.forEach((function (i, o) { e(i.childNodes, n, t.options[o], a) })) })) }(e.childNodes, t, r, i); break; case "image": d = function (e, t, n) { var i = new f.Deferred, a = new m.Image; return a.onload = function () { e.save(), e.globalAlpha = t.globalAlpha, F(e, t), V(e, t, n), e.drawImage(a, t.x, t.y, t.width, t.height), e.restore(), i.resolve() }, a.onerror = function () { i.resolve() }, a.setAttribute("crossOrigin", "anonymous"), a.src = t.href || t["xlink:href"], i }(t, r, i); break; case "path": !function (e, t) { var n, i, a, o = t.replace(/,/g, " ").split(/([A-Z])/i).filter((function (e) { return "" !== e.trim() })), s = 0; do { switch (n = (o[s + 1] || "").trim().split(" "), o[s]) { case "M": e.moveTo(S(n[0]), S(n[1])), s += 2; break; case "L": for (var r = 0; r < n.length / 2; r++)e.lineTo(S(n[2 * r]), S(n[2 * r + 1])); s += 2; break; case "C": e.bezierCurveTo(S(n[0]), S(n[1]), S(n[2]), S(n[3]), S(n[4]), S(n[5])), s += 2; break; case "a": a = (i = o[s - 1].trim().split(" ")).length - 1, D(S(i[a - 1]), S(i[a]), S(i[a - 1]) + S(n[5]), S(i[a]) + S(n[6]), S(n[0]), S(n[3]), S(n[4]), e), s += 2; break; case "A": a = (i = o[s - 1].trim().split(" ")).length - 1, D(S(i[a - 1]), S(i[a]), S(n[5]), S(n[6]), S(n[0]), S(n[3]), S(n[4]), e), s += 2; break; case "Z": e.closePath(), s += 1; break; default: s++ } } while (s < o.length) }(t, r.d); break; case "rect": !function (e, t) { var n = t.x, i = t.y, a = t.width, o = t.height, s = t.rx; s ? (s = y(s, a / 2, o / 2), e.save(), e.translate(n, i), e.moveTo(a / 2, 0), e.arcTo(a, 0, a, o, s), e.arcTo(a, o, 0, o, s), e.arcTo(0, o, 0, 0, s), e.arcTo(0, 0, s, 0, s), e.lineTo(a / 2, 0), e.restore()) : e.rect(n, i, a, o) }(t, r), t.closePath(); break; case "circle": t.arc(r.cx, r.cy, r.r, 0, 2 * v, 1) }return o || (R(t, r, i), z(t, r, i), H(t, r)), function (e, t, n, i) { var a = n.gradients; if (0 === a.length) return; var o = A(t.fill); if (o && a[o]) { var s = i.getBBox(), r = e.createLinearGradient(s.x, 0, s.x + s.width, 0); a[o].forEach((function (e) { var t = parseInt(e.offset.replace(/%/, "")); r.addColorStop(t / 100, e.stopColor) })), e.globalAlpha = t.opacity, e.fillStyle = r, e.fill() } }(t, r, i, e), t.restore(), d } } function R(e, t, n) { var i, a = A(t.filter); a && ((i = n.filters[a]) || (i = { offsetX: 0, offsetY: 0, blur: 0, color: "#000" }), e.shadowOffsetX = i.offsetX, e.shadowOffsetY = i.offsetY, e.shadowColor = i.color, e.shadowBlur = i.blur) } function F(e, t) { e.translate(t.translateX || 0, t.translateY || 0), t.translateX = void 0, t.translateY = void 0, t.rotationAngle && (e.translate(t.rotationX || 0, t.rotationY || 0), e.rotate(t.rotationAngle * v / 180), e.translate(-(t.rotationX || 0), -(t.rotationY || 0)), t.rotationAngle = void 0, t.rotationX = void 0, t.rotationY = void 0), isFinite(t.scaleX) && (e.scale(t.scaleX, t.scaleY), t.scaleX = void 0, t.scaleY = void 0) } function V(e, t, n) { t["clip-path"] && (P(n.clipPaths[A(t["clip-path"])], e, {}, n), e.clip(), t["clip-path"] = void 0) } function q(e) { var t, n, i = {}; return (0, r.each)(e.childNodes, (function (e, o) { var s = o.attributes; if (s.result) switch (s.result.value) { case "gaussianBlurResult": i.blur = S(s.stdDeviation.value); break; case "offsetResult": i.offsetX = S(s.dx.value), i.offsetY = S(s.dy.value); break; case "floodResult": t = s["flood-color"] ? s["flood-color"].value : "#000", n = s["flood-opacity"] ? s["flood-opacity"].value : 1, i.color = function (e, t) { var n = new a.default(e); return "rgba(" + n.r + "," + n.g + "," + n.b + "," + t + ")" }(t, n) } })), i } function L(e, t, n, i) { return function e(t, n) { for (var i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : new f.Deferred, a = 0; a < t.length; a++) { var s = n(t[a]); if ((0, o.isPromise)(s)) { s.then((function () { e(Array.prototype.slice.call(t, a + 1), n, i) })); break } } return a === t.length && i.resolve(), i }(e, (function (e) { switch (e.tagName && e.tagName.toLowerCase()) { case "g": case "svg": var a = (0, l.extend)({}, n, T(e, i.rootAppended)); t.save(), F(t, a), V(t, a, i); var s = function () { t.restore() }, d = L(e.childNodes, t, a, i); return (0, o.isPromise)(d) ? d.then(s) : s(), d; case "defs": return L(e.childNodes, t, {}, i); case "clippath": i.clipPaths[e.attributes.id.textContent] = e.childNodes[0]; break; case "pattern": i.patterns[e.attributes.id.textContent] = e; break; case "filter": i.filters[e.id] = q(e); break; case "lineargradient": i.gradients[e.attributes.id.textContent] = function (e) { var t = []; return (0, r.each)(e.childNodes, (function (e, n) { var i = n.attributes; t.push({ offset: i.offset.value, stopColor: i["stop-color"].value }) })), t }(e); break; default: return P(e, t, n, i) } })) } function H(e, t, n) { var i = t.stroke; i && "none" !== i && 0 !== t["stroke-width"] && (!function (e, t) { var n = t["stroke-dasharray"] && t["stroke-dasharray"].match(/(\d+)/g); n && n.length && (n = (0, r.map)(n, (function (e) { return S(e) })), e.setLineDash(n)) }(e, t), e.lineJoin = t["stroke-linejoin"], e.lineWidth = t["stroke-width"], e.globalAlpha = t.strokeOpacity, e.strokeStyle = i, n ? e.strokeText(t.text, t.x, t.y) : e.stroke(), e.globalAlpha = 1) } function z(e, t, n) { var i = t.fill; if (i && "none" !== i) { if (-1 === i.search(/url/)) e.fillStyle = i; else { var a = n.patterns[A(i)]; if (!a) return; e.fillStyle = function (e, t, n) { var i = T(t, n.rootAppended), a = E(i.width, i.height, 0), o = a.getContext("2d"); return L(t.childNodes, o, i, n), e.createPattern(a, "repeat") }(e, a, n) } e.globalAlpha = t.fillOpacity, e.fill(), e.globalAlpha = 1 } } function N(e, t, n, i, a) { e.fillStyle = i || "#ffffff", e.fillRect(-a, -a, t + 2 * a, n + 2 * a) } function W() { var e = d.default.createElement("div"); return e.style.left = "-9999px", e.style.position = "absolute", e } function $(e, t, n) { return L(e.childNodes, t.getContext("2d"), {}, { clipPaths: {}, patterns: {}, filters: {}, gradients: {}, rootAppended: n }) } g = function (e) { var t, n = {}; return (0, r.each)(e, (function (e, i) { t = i.textContent, isFinite(t) && (t = S(t)), n[i.name.toLowerCase()] = t })), n }; var j = { getImageData: function (e, t) { var n = "image/" + t.format, i = t.width, a = t.height, r = t.backgroundColor; return (0, o.isFunction)(t.__parseAttributesFn) && (g = t.__parseAttributesFn), function (e, t, n, i, a) { var o, r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : $, l = E(t, n, a), u = l.getContext("2d"), h = (0, s.getSvgElement)(e), p = d.default.isElementNode(e); return u.translate(a, a), d.default.getBody().appendChild(l), p || ((o = W()).appendChild(h), d.default.getBody().appendChild(o)), h.attributes.direction && (l.dir = h.attributes.direction.textContent), N(u, t, n, i, a), (0, f.fromPromise)(r(h, l, p && (0, c.contains)(d.default.getBody(), e))).then((function () { return l })).always((function () { o && d.default.getBody().removeChild(o), d.default.getBody().removeChild(l) })) }(e, i, a, r, t.margin, t.svgToCanvas).then((function (e) { return function (e, t) { var n = e.toDataURL(t, 1); return m.atob(n.substring(("data:" + t + ";base64,").length)) }(e, n) })) }, getData: function (e, t) { var n = this; return j.getImageData(e, t).then((function (e) { var i = "image/" + t.format; return (0, o.isFunction)(m.Blob) && !t.forceProxy ? n._getBlob(e, i) : n._getBase64(e) })) }, _getBlob: function (e, t) { var n, i = new Uint8Array(e.length); for (n = 0; n < e.length; n++)i[n] = e.charCodeAt(n); return new m.Blob([i.buffer], { type: t }) }, _getBase64: function (e) { return m.btoa(e) } }; t.imageCreator = j }, function (e, t, n) { "use strict"; t.getSvgMarkup = function (e, t) { return function (e) { var t = !0; -1 === e.indexOf("xmlns:xlink") && (e = e.replace("<svg", '<svg xmlns:xlink="http://www.w3.org/1999/xlink"')); return (e = e.replace(/xmlns="[\s\S]*?"/gi, (function (e) { return t ? (t = !1, e) : "" }))).replace(/xmlns:NS1="[\s\S]*?"/gi, "").replace(/NS1:xmlns:xlink="([\s\S]*?)"/gi, 'xmlns:xlink="$1"') }((n = function (e, t) { var n = i.default.createElement("div"), a = e.cloneNode(!0); return t && (0, o.default)(a).css("backgroundColor", t), n.appendChild(a), n.innerHTML }(e, t), n.replace(/&quot;/gi, "&#34;").replace(/&amp;/gi, "&#38;").replace(/&apos;/gi, "&#39;").replace(/&lt;/gi, "&#60;").replace(/&gt;/gi, "&#62;").replace(/&nbsp;/gi, "&#160;").replace(/&shy;/gi, "&#173;"))); var n }, t.getSvgElement = function (e) { return i.default.isNode(e) ? e : (new r.DOMParser).parseFromString(e, "image/svg+xml").childNodes[0] }; var i = s(n(9)), a = n(7), o = s(n(2)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = (0, a.getWindow)() }, function (e, t, n) { "use strict"; t.Export = void 0; var i, a = n(0), o = (i = n(10)) && i.__esModule ? i : { default: i }, s = n(265), r = n(1), l = n(7); var d = { getFullOptions: function (e) { var t = (0, r.extend)({}, e); if (!(0, a.isDefined)(t.worksheet) || !(0, a.isObject)(t.worksheet)) throw Error('The "worksheet" field must contain an object.'); if ((0, a.isDefined)(t.topLeftCell)) { if ((0, a.isString)(t.topLeftCell)) { var n = t.worksheet.getCell(t.topLeftCell), i = n.row, s = n.col; t.topLeftCell = { row: i, column: s } } } else t.topLeftCell = { row: 1, column: 1 }; return (0, a.isDefined)(t.keepColumnWidths) || (t.keepColumnWidths = !0), (0, a.isDefined)(t.loadPanel) || (t.loadPanel = {}), (0, a.isDefined)(t.loadPanel.enabled) || (t.loadPanel.enabled = !0), (0, a.isDefined)(t.loadPanel.text) || (t.loadPanel.text = o.default.format("dxDataGrid-exporting")), t }, convertDateForExcelJS: function (e) { return new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds())) }, setNumberFormat: function (e, t) { e.numFmt = t }, tryConvertToExcelNumberFormat: function (e, t) { var n = s.ExportFormat.formatObjectConverter(e, t), i = n.currency; return e = n.format, t = n.dataType, s.ExportFormat.convertFormat(e, n.precision, t, i) }, setAlignment: function (e, t, n) { e.alignment = e.alignment || {}, (0, a.isDefined)(t) && (e.alignment.wrapText = t), (0, a.isDefined)(n) && (e.alignment.horizontal = n), e.alignment.vertical = "top" }, setColumnsWidth: function (e, t, n) { if ((0, a.isDefined)(t)) for (var i = 0; i < t.length; i++) { var o = t[i]; "number" == typeof o && isFinite(o) && (e.getColumn(n + i).width = Math.min(255, Math.floor(o / 7 * 100) / 100)) } }, tryGetMergeRange: function (e, t, n, i) { if (!n[e] || !n[e][t]) { var a = i.getCellMerging(e, t); if (a.colspan || a.rowspan) { for (var o = e; o <= e + a.rowspan; o++)for (var s = t; s <= t + a.colspan; s++)n[o] || (n[o] = []), n[o][s] = !0; return { start: { row: e, column: t }, end: { row: e + (a.rowspan || 0), column: t + (a.colspan || 0) } } } } }, mergeCells: function (e, t, n) { n.forEach((function (n) { e.mergeCells(n.start.row + t.row, n.start.column + t.column, n.end.row + t.row, n.end.column + t.column) })) }, setLoadPanelOptions: function (e, t, n) { (0, l.hasWindow)() && (e._setOptionWithoutOptionChange("loadPanel", t), n._renderLoadPanel(e)) }, export: function (e, t) { var n = this, i = e.customizeCell, o = e.component, s = e.worksheet, l = e.topLeftCell, d = e.autoFilterEnabled, c = e.keepColumnWidths, u = e.selectedRowsOnly, h = e.loadPanel, f = (0, r.extend)({}, o.option("loadPanel")); "animation" in o.option("loadPanel") && (h.animation = null), this.setLoadPanelOptions(o, h, t); var p = !!o.option("wordWrapEnabled"); s.properties.outlineProperties = { summaryBelow: !1, summaryRight: !1 }; var g = { from: { row: l.row, column: l.column }, to: { row: l.row, column: l.column } }, m = o.getDataProvider(u); return new Promise((function (e) { m.ready().done((function () { var u = m.getColumns(), h = (0, a.isFunction)(m.getHeaderRowCount) ? m.getHeaderRowCount() : 1, f = m.getRowsCount(); c && n.setColumnsWidth(s, m.getColumnsWidths(), g.from.column); for (var _ = [], v = [], y = 0; y < f; y++) { var w = s.getRow(g.from.row + y); n.exportRow(y, u.length, w, g.from.column, m, i, h, _, v, p, t), y >= 1 && g.to.row++ } n.mergeCells(s, l, v), g.to.column += u.length > 0 ? u.length - 1 : 0; var x = s.views[0] || {}; o.option("rtlEnabled") && (x.rightToLeft = !0), h > 0 && (-1 === Object.keys(x).indexOf("state") && (0, r.extend)(x, t._getWorksheetFrozenState(m, g)), t._trySetAutoFilter(m, s, g, h, d)), Object.keys(x).length > 0 && (s.views = [x]), e(g) })).always((function () { n.setLoadPanelOptions(o, f, t) })) })) }, exportRow: function (e, t, n, i, o, s, r, l, d, c, u) { var h = o.getStyles(); u._trySetOutlineLevel(o, n, e, r); for (var f = 0; f < t; f++) { var p = o.getCellData(e, f, !0), g = p.cellSourceData, m = n.getCell(i + f); if ((0, a.isDate)(p.value) ? m.value = this.convertDateForExcelJS(p.value) : m.value = p.value, (0, a.isDefined)(m.value)) { var _ = h[o.getStyleId(e, f)], v = _.bold, y = _.alignment, w = _.format, x = _.dataType, b = this.tryConvertToExcelNumberFormat(w, x); (0, a.isDefined)(b) ? b = b.replace(/&quot;/g, '"') : (0, a.isString)(m.value) && /^[@=+-]/.test(m.value) && (b = "@"), this.setNumberFormat(m, b), u._trySetFont(m, v), this.setAlignment(m, c, y) } if ((0, a.isFunction)(s) && s(u._getCustomizeCellOptions(m, g)), u._needMergeRange(e, r)) { var C = this.tryGetMergeRange(e, f, l, o); (0, a.isDefined)(C) && d.push(C) } } } }; t.Export = d }, function (e, t, n) { "use strict"; t.sessionStorage = void 0; var i = (0, n(7).getWindow)(); t.sessionStorage = function () { var e; try { e = i.sessionStorage } catch (e) { } return e } }, function (e, t, n) { "use strict"; t.acquireTemplate = t.acquireIntegrationTemplate = t.defaultCreateElement = t.templateKey = t.validateTemplateSource = t.getNormalizedTemplateArgs = t.addOneRenderedCall = t.suitableTemplatesByName = t.findTemplates = void 0; var i = m(n(27)), a = m(n(12)), o = m(n(21)), s = m(n(2)), r = n(120), l = n(101), d = n(275), c = n(75), u = n(14), h = n(4), f = n(28), p = n(1), g = n(0); function m(e) { return e && e.__esModule ? e : { default: e } } t.findTemplates = function (e, t) { var n = (0, s.default)(e).contents().filter("[".concat("data-options", '*="').concat(t, '"]')); return [].slice.call(n).map((function (e) { var n = (0, s.default)(e).attr("data-options") || ""; return { element: e, options: (0, i.default)().optionsParser(n)[t] } })).filter((function (e) { return !!e.options })) }; t.suitableTemplatesByName = function (e) { var t = (0, u.groupBy)(e, (function (e) { return e.options.name })); if (t[void 0]) throw o.default.Error("E0023"); var n = {}; return Object.keys(t).forEach((function (e) { var i, o = null === (i = (0, h.findBestMatches)(a.default.current(), t[e], (function (e) { return e.options }))[0]) || void 0 === i ? void 0 : i.element; o && (n[e] = o) })), n }; var _ = function (e) { var t = e.render.bind(e); return (0, p.extend)({}, e, { render: function (e) { var n = t(e); return e && e.onRendered && e.onRendered(), n } }) }; t.addOneRenderedCall = _; t.getNormalizedTemplateArgs = function (e) { var t = []; return "model" in e && t.push(e.model), "index" in e && t.push(e.index), t.push(e.container), t }; t.validateTemplateSource = function (e) { return "string" == typeof e ? (0, f.normalizeTemplateElement)(e) : e }; t.templateKey = function (e) { return (0, g.isRenderer)(e) && e[0] || e }; t.defaultCreateElement = function (e) { return new d.Template(e) }; var v = function (e, t, n, i) { var a = null; return i && -1 !== i.indexOf(e) || !(a = t[e]) || a instanceof c.TemplateBase || n || (a = _(a)), a }; t.acquireIntegrationTemplate = v; t.acquireTemplate = function (e, t, n, i, a, o) { return null == e ? new l.EmptyTemplate : e instanceof r.ChildDefaultTemplate ? o[e.name] : e instanceof c.TemplateBase ? e : (0, g.isFunction)(e.render) && !(0, g.isRenderer)(e) ? i ? e : _(e) : e.nodeType || (0, g.isRenderer)(e) ? t((0, s.default)(e)) : v(e, n, i, a) || o[e] || t(e) } }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = new (((i = n(142)) && i.__esModule ? i : { default: i }).default); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.queryImpl = void 0; var i = o(n(121)), a = o(n(283)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = { array: i.default, remote: a.default }; t.queryImpl = s }, function (e, t, n) { "use strict"; t.create = s, t.enqueue = void 0; var i, a = (i = n(21)) && i.__esModule ? i : { default: i }, o = n(6); function s(e) { var t = [], n = !1; function i() { for (; t.length;) { n = !0; var e = t.shift()(); if (void 0 !== e) { if (e.then) return void (0, o.when)(e).always(i); throw a.default.Error("E0015") } } n = !1 } return { add: function (a, o) { e ? (t[0] && o && o(t[0]), t = [a]) : t.push(a), n || i() }, busy: function () { return n } } } var r = s().add; t.enqueue = r }, function (e, t, n) { "use strict"; t.hideCallback = void 0; var i, a = n(14), o = (i = [], { add: function (e) { -1 === (0, a.inArray)(e, i) && i.push(e) }, remove: function (e) { var t = (0, a.inArray)(e, i); -1 !== t && i.splice(t, 1) }, fire: function () { var e = i.pop(), t = !!e; return t && e(), t }, hasCallback: function () { return i.length > 0 } }); t.hideCallback = o }, function (e, t, n) { "use strict"; t.setEasing = function (e) { r = e }, t.getEasing = function (e) { return r[e] }, t.convertTransitionTimingFuncToEasing = void 0; var i = n(0), a = /cubic-bezier\((\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\)/, o = { linear: "cubic-bezier(0, 0, 1, 1)", swing: "cubic-bezier(0.445, 0.05, 0.55, 0.95)", ease: "cubic-bezier(0.25, 0.1, 0.25, 1)", "ease-in": "cubic-bezier(0.42, 0, 1, 1)", "ease-out": "cubic-bezier(0, 0, 0.58, 1)", "ease-in-out": "cubic-bezier(0.42, 0, 0.58, 1)" }, s = function (e, t, n, i) { var a = 3 * e, o = 3 * (n - e) - a, s = 1 - a - o, r = 3 * t, l = 3 * (i - t) - r, d = 1 - r - l, c = function (e) { return e * (a + e * (o + e * s)) }, u = function (e) { return a + e * (2 * o + 3 * e * s) }; return function (e) { return function (e) { return e * (r + e * (l + e * d)) }(function (e) { for (var t, n = e, i = 0; i < 14 && (t = c(n) - e, !(Math.abs(t) < .001));)n -= t / u(n), i++; return n }(e)) } }, r = {}; t.convertTransitionTimingFuncToEasing = function (e) { var t, n = (e = o[e] || e).match(a); n || (n = o[t = "linear"].match(a)), n = n.slice(1, 5); for (var l = 0; l < n.length; l++)n[l] = parseFloat(n[l]); var d = t || "cubicbezier_" + n.join("_").replace(/\./g, "p"); return (0, i.isFunction)(r[d]) || (r[d] = function (e, t, i, a, o) { return a * s(n[0], n[1], n[2], n[3])(t / o) + i }), d } }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(12)), a = n(1), o = n(3), s = r(n(122)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = function (e) { var t = []; return (0, o.each)(e.touches, (function (e, n) { t.push((0, a.extend)({ pointerId: n.identifier }, n)) })), { pointers: t, pointerId: e.changedTouches[0].identifier } }, d = function (e) { return "ios" === i.default.real().platform && ("dxpointerdown" === e || "dxpointerup" === e) }, c = s.default.inherit({ ctor: function () { this.callBase.apply(this, arguments), this._pointerId = 0 }, _handler: function (e) { if (d(this._eventName)) { var t = e.changedTouches[0]; if (this._pointerId === t.identifier && 0 !== this._pointerId) return; this._pointerId = t.identifier } return this.callBase.apply(this, arguments) }, _fireEvent: function (e) { return this.callBase((0, a.extend)(l(e.originalEvent), e)) } }); c.map = { dxpointerdown: "touchstart", dxpointermove: "touchmove", dxpointerup: "touchend", dxpointercancel: "touchcancel", dxpointerover: "", dxpointerout: "", dxpointerenter: "", dxpointerleave: "" }, c.normalize = l; var u = c; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(3), a = s(n(45)), o = s(n(9)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = function (e, t) { a.default.add((function () { e.split(" ").forEach((function (e) { o.default.listen(o.default.getDocument(), e, t, !0) })) })) }, l = function (e, t, n) { n = n || function () { }; var a = [], o = function (e) { var n = -1; return (0, i.each)(a, (function (i, a) { return !t(e, a) || (n = i, !1) })), n }, s = function (e) { var t = o(e); t > -1 && a.splice(t, 1) }; r(e.dxpointerdown, (function (e) { -1 === o(e) && (n(e), a.push(e)) })), r(e.dxpointermove, (function (e) { a[o(e)] = e })), r(e.dxpointerup, s), r(e.dxpointercancel, s), this.pointers = function () { return a }, this.reset = function () { a = [] } }; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = s(n(122)), o = s(n(193)); function s(e) { return e && e.__esModule ? e : { default: e } } var r, l = { dxpointerdown: "mousedown", dxpointermove: "mousemove", dxpointerup: "mouseup", dxpointercancel: "", dxpointerover: "mouseover", dxpointerout: "mouseout", dxpointerenter: "mouseenter", dxpointerleave: "mouseleave" }, d = function (e) { return e.pointerId = 1, { pointers: r.pointers(), pointerId: 1 } }, c = !1, u = function () { c || (r = new o.default(l, (function () { return !0 })), c = !0) }, h = a.default.inherit({ ctor: function () { this.callBase.apply(this, arguments), u() }, _fireEvent: function (e) { return this.callBase((0, i.extend)(d(e.originalEvent), e)) } }); h.map = l, h.normalize = d, h.activate = u, h.resetObserver = function () { r.reset() }; var f = h; t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.themeReadyCallback = void 0; var a = new (((i = n(26)) && i.__esModule ? i : { default: i }).default); t.themeReadyCallback = a }, function (e, t, n) { "use strict"; t.name = void 0; var i = u(n(2)), a = u(n(5)), o = n(41), s = u(n(12)), r = u(n(13)), l = u(n(58)), d = n(8), c = u(n(77)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, d.addNamespace)("contextmenu", "dxContexMenu"), f = (0, d.addNamespace)(c.default.name, "dxContexMenu"), p = r.default.inherit({ setup: function (e) { var t = (0, i.default)(e); a.default.on(t, h, this._contextMenuHandler.bind(this)), (o.touch || s.default.isSimulator()) && a.default.on(t, f, this._holdHandler.bind(this)) }, _holdHandler: function (e) { (0, d.isMouseEvent)(e) && !s.default.isSimulator() || this._fireContextMenu(e) }, _contextMenuHandler: function (e) { this._fireContextMenu(e) }, _fireContextMenu: function (e) { return (0, d.fireEvent)({ type: "dxcontextmenu", originalEvent: e }) }, teardown: function (e) { a.default.off(e, ".dxContexMenu") } }); (0, l.default)("dxcontextmenu", new p); t.name = "dxcontextmenu" }, function (e, t, n) { "use strict"; var i = n(114); e.exports = i.data = i.data || {}, Object.defineProperty(i.data, "errorHandler", { get: function () { return n(33).errorHandler }, set: function (e) { n(33).errorHandler = e } }), Object.defineProperty(i.data, "_errorHandler", { get: function () { return n(33)._errorHandler }, set: function (e) { n(33)._errorHandler = e } }), i.data.DataSource = n(308), i.data.query = n(44), i.data.Store = n(78), i.data.ArrayStore = n(54), i.data.CustomStore = n(108), i.data.LocalStore = n(310), i.data.base64_encode = n(42).base64_encode, i.data.applyChanges = n(311), i.data.Guid = n(36), i.data.utils = {}, i.data.utils.compileGetter = n(20).compileGetter, i.data.utils.compileSetter = n(20).compileSetter, i.EndpointSelector = n(312), i.data.queryImpl = n(188).queryImpl, i.data.queryAdapters = n(148); var a = n(42); i.data.utils.normalizeBinaryCriterion = a.normalizeBinaryCriterion, i.data.utils.normalizeSortingInfo = a.normalizeSortingInfo, i.data.utils.errorMessageFromXhr = a.errorMessageFromXhr, i.data.utils.aggregators = a.aggregators, i.data.utils.keysEqual = a.keysEqual, i.data.utils.isDisjunctiveOperator = a.isDisjunctiveOperator, i.data.utils.isConjunctiveOperator = a.isConjunctiveOperator, i.data.utils.processRequestResultLock = a.processRequestResultLock, i.data.utils.toComparable = n(20).toComparable, i.data.utils.multiLevelGroup = n(79).multiLevelGroup, i.data.utils.arrangeSortingInfo = n(79).arrangeSortingInfo, i.data.utils.normalizeDataSourceOptions = n(53).normalizeDataSourceOptions }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(3), a = r(n(9)), o = n(7), s = r(n(56)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = (0, o.getWindow)(), d = "dxproxy.devexpress.com:8000", c = {}, u = (0, s.default)((function () { var e = a.default.createElement("a"), t = ["protocol", "hostname", "port", "pathname", "search", "hash"]; return function (n) { e.href = n; var a, o = {}; return (0, i.each)(t, (function () { o[this] = e[this] })), o.pathname = ("/" !== (a = o.pathname).charAt(0) && (a = "/" + a), a), o } })), h = function (e) { return u()(e) }, f = { parseUrl: h, isProxyUsed: function () { return l.location.host === d }, formatProxyUrl: function (e) { var t = h(e); if (!/^(localhost$|127\.)/i.test(t.hostname)) return e; var n = d + "/" + l.location.pathname.split("/")[1] + "_" + t.port; return c[n] = t.hostname + ":" + t.port, "http://" + n + t.pathname + t.search }, formatLocalUrl: function (e) { if (e.indexOf(d) < 0) return e; var t = e; for (var n in c) if (Object.prototype.hasOwnProperty.call(c, n) && e.indexOf(n) >= 0) { t = e.replace(n, c[n]); break } return t } }; t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = h(n(27)), o = n(80), s = h(n(198)), r = h(n(33)), l = h(n(44)), d = h(n(78)), c = h(n(200)), u = n(6); function h(e) { return e && e.__esModule ? e : { default: e } } n(126); var f = function (e, t) { return function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e }({}, e, t) }, p = d.default.inherit({ ctor: function (e) { this.callBase(e), this._requestDispatcher = new c.default(e); var t = this.key(), n = e.fieldTypes, i = e.keyType; if (i) { var a = "string" == typeof i; t || (t = a ? "5d46402c-7899-4ea9-bd81-8b73c47c7683" : Object.keys(i), this._legacyAnonymousKey = t), a && (i = f(t, i)), n = function (e, t) { var n = {}; for (var i in e) n[i] = e[i]; for (var a in t) a in n ? n[a] !== t[a] && r.default.errors.log("W4001", a) : n[a] = t[a]; return n }(n, i) } this._fieldTypes = n || {}, 2 === this.version() ? this._updateMethod = "MERGE" : this._updateMethod = "PATCH" }, _customLoadOptions: function () { return ["expand", "customQueryParams"] }, _byKeyImpl: function (e, t) { var n = {}; return t && (n.$expand = (0, o.generateExpand)(this.version(), t.expand, t.select) || void 0, n.$select = (0, o.generateSelect)(this.version(), t.select) || void 0), this._requestDispatcher.sendRequest(this._byKeyUrl(e), "GET", n) }, createQuery: function (e) { var t, n, a = { adapter: "odata", beforeSend: this._requestDispatcher.beforeSend, errorHandler: this._errorHandler, jsonp: this._requestDispatcher.jsonp, version: this._requestDispatcher.version, withCredentials: this._requestDispatcher._withCredentials, expand: null == e ? void 0 : e.expand, requireTotalCount: null == e ? void 0 : e.requireTotalCount, deserializeDates: this._requestDispatcher._deserializeDates, fieldTypes: this._fieldTypes }; if (n = null !== (t = null == e ? void 0 : e.urlOverride) && void 0 !== t ? t : this._requestDispatcher.url, (0, i.isDefined)(this._requestDispatcher.filterToLower) && (a.filterToLower = this._requestDispatcher.filterToLower), null != e && e.customQueryParams) { var s = (0, o.escapeServiceOperationParams)(null == e ? void 0 : e.customQueryParams, this.version()); 4 === this.version() ? n = (0, o.formatFunctionInvocationUrl)(n, s) : a.params = s } return (0, l.default)(n, a) }, _insertImpl: function (e) { var t = this; this._requireKey(); var n = new u.Deferred; return (0, u.when)(this._requestDispatcher.sendRequest(this._requestDispatcher.url, "POST", null, e)).done((function (i) { return n.resolve(i && !(0, a.default)().useLegacyStoreResult ? i : e, t.keyOf(i)) })).fail(n.reject), n.promise() }, _updateImpl: function (e, t) { var n = new u.Deferred; return (0, u.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(e), this._updateMethod, null, t)).done((function (i) { return (0, a.default)().useLegacyStoreResult ? n.resolve(e, t) : n.resolve(i || t, e) })).fail(n.reject), n.promise() }, _removeImpl: function (e) { var t = new u.Deferred; return (0, u.when)(this._requestDispatcher.sendRequest(this._byKeyUrl(e), "DELETE")).done((function () { return t.resolve(e) })).fail(t.reject), t.promise() }, _convertKey: function (e) { var t = e, n = this._fieldTypes, i = this.key() || this._legacyAnonymousKey; if (Array.isArray(i)) { t = {}; for (var a = 0; a < i.length; a++) { var s = i[a]; t[s] = (0, o.convertPrimitiveValue)(n[s], e[s]) } } else n[i] && (t = (0, o.convertPrimitiveValue)(n[i], e)); return t }, _byKeyUrl: function (e, t) { var n = t ? s.default.formatLocalUrl(this._requestDispatcher.url) : this._requestDispatcher.url, i = this._convertKey(e); return "".concat(n, "(").concat(encodeURIComponent((0, o.serializeKey)(i, this.version())), ")") }, version: function () { return this._requestDispatcher.version } }, "odata"); t.default = p, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(80); function a(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } n(126); var o = function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), t = t || {}, this._url = String(t.url).replace(/\/+$/, ""), this._beforeSend = t.beforeSend, this._jsonp = t.jsonp, this._version = t.version || 2, this._withCredentials = t.withCredentials, this._deserializeDates = t.deserializeDates, this._filterToLower = t.filterToLower } var t, n, o; return t = e, (n = [{ key: "sendRequest", value: function (e, t, n, a) { return (0, i.sendRequest)(this.version, { url: e, method: t, params: n || {}, payload: a }, { beforeSend: this._beforeSend, jsonp: this._jsonp, withCredentials: this._withCredentials, deserializeDates: this._deserializeDates }) } }, { key: "version", get: function () { return this._version } }, { key: "beforeSend", get: function () { return this._beforeSend } }, { key: "url", get: function () { return this._url } }, { key: "jsonp", get: function () { return this._jsonp } }, { key: "filterToLower", get: function () { return this._filterToLower } }]) && a(t.prototype, n), o && a(t, o), e }(); t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.getContentHeightLimit = v, t.subscribeToExternalScrollers = y, t.VirtualScrollController = t.getPixelRatio = void 0; var i = f(n(2)), a = n(7), o = f(n(5)), s = f(n(15)), r = n(0), l = f(n(60)), d = n(3), c = f(n(13)), u = n(6), h = f(n(26)); function f(e) { return e && e.__esModule ? e : { default: e } } var p = function (e) { return "virtual" === e.option("scrolling.mode") || e._isVirtual }, g = function (e) { return "infinite" === e.option("scrolling.mode") && !e._isVirtual }, m = function (e) { return e.option("scrolling.loadTwoPagesOnStart") || e._isVirtual || e._viewportItemIndex > 0 }, _ = function (e) { return e.devicePixelRatio || 1 }; function v(e) { return e.msie ? 4e6 : e.mozilla ? 8e6 : 15e6 / _((0, a.getWindow)()) } function y(e, t, n) { var s, r = [], c = [], u = []; function h(t) { var n = t.element ? t.$element() : t, i = l.default.offset(n); return i ? t.scrollTop() - (i.top - e.offset().top) : e.offset().top } var f = { on: function (e, t, n) { e.on("scroll", n) }, off: function (e, t, n) { e.off("scroll", n) } }; function p(e) { var n = "#document" === e.get(0).nodeName, s = e.data("dxScrollable"), l = f; if (s || (s = n && (0, i.default)((0, a.getWindow)()) || "auto" === e.css("overflowY") && e, l = o.default, s)) { var d = function (e) { return function () { var n = e.scrollTop() - h(e); t(n = n > 0 ? n : 0) } }(s); l.on(s, "scroll", d), c.push((function (e) { var t = h(s), n = s.scrollTo ? "scrollTo" : "scrollTop"; e - t >= 0 && s[n](e + t) })), r.push(s), u.push((function () { l.off(s, "scroll", d) })) } } for (s = (n = n || e).parent(); s.length; s = s.parent())p(s); return { scrollTo: function (e) { (0, d.each)(c, (function (t, n) { n(e) })) }, dispose: function () { (0, d.each)(u, (function (e, t) { t() })) } } } t.getPixelRatio = _; var w = c.default.inherit(function () { var e = function (e, t) { var n = e.option("scrolling.preloadEnabled"), i = function (e) { var t = e._dataSource.pageSize(); if (e.option("scrolling.preventPreload")) return 0; var n = e._viewportSize; if (p(e) && !e.option("legacyRendering") && e.option("scrolling.removeInvisiblePages")) { n = 0; for (var i = e._viewportSize * e._viewportItemSize, a = e.getContentOffset(), o = e._position || 0, s = e.virtualItemsCount(), r = e._dataSource.totalItemsCount(), l = s.begin; l < r && !(a >= o + i); l++) { (a += e._itemSizes[l] || e._viewportItemSize) >= o && n++ } } return t && n > 0 ? Math.ceil(n / t) : 1 }(e); return i && (t ? i = n ? 1 : 0 : (n && i++, !g(e) && m(e) || i--)), i }; function t(e) { return e._cache.length ? e._cache[0].pageIndex : -1 } function n(e) { return e._cache.length ? e._cache[e._cache.length - 1].pageIndex : -1 } var i = function (e, t, n) { e._isChangedFiring = !0, t(n), e._isChangedFiring = !1 }, a = function (e, t, n) { if (e._isDelayChanged) return e._isDelayChanged = !1, i(e, t, n), !0 }, o = function (e, t, n, a, o) { var s = e._dataSource, l = s.items().slice(), d = (0, r.isObject)(n) ? n : void 0, c = "prepend" === n, u = s.viewportItems(); n && (0, r.isString)(n) && !e._isDelayChanged && (d = { changeType: n, items: l }, o && (d.removeCount = o.itemsCount, d.removeCount && s.correctCount && (d.removeCount = s.correctCount(u, d.removeCount, c)))); var h = o ? o.itemsLength : 0; h && s.correctCount && (h = s.correctCount(u, h, c)), "append" === n ? (u.push.apply(u, l), o && u.splice(0, h)) : c ? (u.unshift.apply(u, l), o && u.splice(-h)) : e._dataSource.viewportItems(l), s.updateLoading(), e._lastPageIndex = e.pageIndex(), e._isDelayChanged = a, a || i(e, t, d) }; return { ctor: function (e, t, n) { this._dataSource = t, this.component = e, this._pageIndex = this._lastPageIndex = t.pageIndex(), this._viewportSize = 0, this._viewportItemSize = 20, this._viewportItemIndex = -1, this._itemSizes = {}, this._sizeRatio = 1, this._items = [], this._cache = [], this._isVirtual = n, this._loadingPageIndexes = {}, this.positionChanged = (0, h.default)() }, getItemSizes: function () { return this._itemSizes }, option: function () { return this.component.option.apply(this.component, arguments) }, virtualItemsCount: function () { var e, n = 0; if (p(this)) { (e = t(this)) < 0 && (e = this._dataSource.pageIndex()); var i = e * this._dataSource.pageSize(); return n = this._cache.length * this._dataSource.pageSize(), { begin: i, end: Math.max(0, this._dataSource.totalItemsCount() - n - i) } } }, setViewportPosition: function (e) { var t = this, n = new u.Deferred, i = Math.min(t.option("scrolling.timeout") || 0, t._dataSource.changingDuration()); return i < t.option("scrolling.renderingThreshold") && (i = t.option("scrolling.minTimeout") || 0), clearTimeout(t._scrollTimeoutID), i > 0 ? t._scrollTimeoutID = setTimeout((function () { t._setViewportPositionCore(e), n.resolve() }), i) : (t._setViewportPositionCore(e), n.resolve()), n.promise() }, getViewportPosition: function () { return this._position || 0 }, getItemIndexByPosition: function () { for (var e = this._position, t = this.getItemSize(), n = 0, i = 0, a = Object.keys(this._itemSizes).concat(-1), o = 0; o < a.length && n < e; o++) { var s = parseInt(a[o]), r = (e - n) / t; if (s < 0 || i + r < s) { i += r; break } n += (r = s - i) * t, i += r; var l = this._itemSizes[s]; i += (n += l) < e ? 1 : (e - n + l) / l } return Math.round(50 * i) / 50 }, _setViewportPositionCore: function (e) { this._position = e; var t = this.getItemIndexByPosition(), n = this.setViewportItemIndex(t); return this.positionChanged.fire(), n }, setContentSize: function (e) { var t = this, n = Array.isArray(e) && e, i = t.virtualItemsCount(); if (n && (e = n.reduce((function (e, t) { return e + t }), 0)), t._contentSize = e, i) { n && n.forEach((function (e, n) { t._itemSizes[i.begin + n] = e })); var a = (i.begin + i.end + t.itemsCount()) * t._viewportItemSize, o = v(s.default); t._sizeRatio = a > o ? o / a : 1 } }, getItemSize: function () { return this._viewportItemSize * this._sizeRatio }, getItemOffset: function (e, t) { var n = this, i = n.virtualItemsCount(), a = e; if (!i) return 0; var o = 0, s = n._dataSource.totalItemsCount(); return Object.keys(n._itemSizes).forEach((function (i) { a && (t ? i >= s - e : i < e) && (o += n._itemSizes[i], a--) })), Math.floor(o + a * n._viewportItemSize * n._sizeRatio) }, getContentOffset: function (e) { var t = "end" === e, n = this.virtualItemsCount(); return n ? this.getItemOffset(t ? n.end : n.begin, t) : 0 }, getVirtualContentSize: function () { return this.virtualItemsCount() ? this.getContentOffset("begin") + this.getContentOffset("end") + this._contentSize : 0 }, getViewportItemIndex: function () { return this._viewportItemIndex }, setViewportItemIndex: function (e) { var t, n = this._dataSource.pageSize(), i = this._dataSource.pageCount(), a = p(this), o = g(this), s = this._dataSource.totalItemsCount(); if (this._viewportItemIndex = e, n && (a || o) && s >= 0) { if (this._viewportSize && e + this._viewportSize >= s && !this._isVirtual) if (this._dataSource.hasKnownLastPage()) { var r = s % n; (t = i - 1) > 0 && r > 0 && r < this._viewportSize && t-- } else t = i; else { t = Math.floor(e / n); var l = i - 1; t = Math.max(t, 0), t = Math.min(t, l) } return this.pageIndex(t), this.load() } }, viewportItemSize: function (e) { return void 0 !== e && (this._viewportItemSize = e), this._viewportItemSize }, viewportSize: function (e) { return void 0 !== e && (this._viewportSize = e), this._viewportSize }, pageIndex: function (e) { return p(this) || g(this) ? (void 0 !== e && (this._pageIndex = e), this._pageIndex) : this._dataSource.pageIndex(e) }, beginPageIndex: function (e) { var n = t(this); return n < 0 && (n = void 0 !== e ? e : this.pageIndex()), n }, endPageIndex: function () { var e = n(this); return e > 0 ? e : this._lastPageIndex }, pageSize: function () { return this._dataSource.pageSize() }, load: function () { var i, a = this, o = a._dataSource; if (p(a) || g(a)) { var s = function (i) { var a = -1, o = t(i), s = i._dataSource; if (o < 0) a = i._pageIndex; else if (i._cache[i._pageIndex - o]) { if (o >= 0 && i._viewportSize >= 0) { if (o > 0) (n(i) + 1 === s.pageCount() && i._cache.length < e(i) + 1 || i._pageIndex === o && e(i, !0)) && (a = o - 1); if (a < 0) o + i._cache.length <= i._pageIndex + e(i) && (a = o + i._cache.length) } } else a = i._pageIndex; return i._loadingPageIndexes[a] && (a = -1), a }(a); if (s >= 0) { var r = function (e, t) { var n = e._dataSource; if (t === e.pageIndex() || !n.isLoading() && t < n.pageCount() || !n.hasKnownLastPage() && t === n.pageCount()) return n.pageIndex(t), e._loadingPageIndexes[t] = !0, (0, u.when)(n.load()).always((function () { e._loadingPageIndexes[t] = !1 })) }(a, s); r && (i = new u.Deferred, r.done((function () { var e = a._delayDeferred; e ? e.done(i.resolve).fail(i.reject) : i.resolve() })).fail(i.reject), o.updateLoading()) } } else i = o.load(); return i || a._lastPageIndex === a.pageIndex() || a._dataSource.onChanged({ changeType: "pageIndex" }), i || (new u.Deferred).resolve() }, loadIfNeed: function () { if ((p(this) || g(this)) && !this._dataSource.isLoading() && (!this._isChangedFiring || this._isVirtual)) { var e = this.getViewportPosition(); e > 0 ? this._setViewportPositionCore(e) : this.load() } }, handleDataChanged: function (s, r) { var l, d, c = this, u = c._dataSource, h = c._cache.length; if (r && r.changes) i(c, s, r); else if (p(c) || g(c)) { var f = t(c); if (f >= 0 && (p(c) && f + c._cache.length !== u.pageIndex() && f - 1 !== u.pageIndex() && (h = 0, c._cache = []), g(c))) if (0 === u.pageIndex()) c._cache = []; else if (u.pageIndex() < n(c)) return void i(c, s, { changeType: "append", items: [] }); var _, v = { pageIndex: u.pageIndex(), itemsLength: u.items(!0).length, itemsCount: c.itemsCount(!0) }; !c.option("legacyRendering") && c.option("scrolling.removeInvisiblePages") && p(c) ? d = c._cache.length > Math.max(e(this) + (c.option("scrolling.preloadEnabled") ? 1 : 0), 2) : a(c, s, { isDelayed: !0 }), f === u.pageIndex() + 1 ? (d && (_ = c._cache.pop()), l = "prepend", c._cache.unshift(v)) : (d && (_ = c._cache.shift()), l = "append", c._cache.push(v)); var y = p(c) && 0 === h && m(c); o(c, s, c._cache.length > 1 ? l : void 0, y, _), c._delayDeferred = c.load().done((function () { a(c, s) && c.load() })) } else o(c, s, r) }, itemsCount: function (e) { var t = 0; return !e && p(this) ? (0, d.each)(this._cache, (function () { t += this.itemsCount })) : t = this._dataSource.itemsCount(), t }, reset: function (e) { this._loadingPageIndexes = {}, this._cache = [], e || (this._itemSizes = {}) }, subscribeToWindowScrollEvents: function (e) { var t = this; t._windowScroll = t._windowScroll || y(e, (function (e) { t.viewportItemSize() && t.setViewportPosition(e) })) }, dispose: function () { clearTimeout(this._scrollTimeoutID), this._windowScroll && this._windowScroll.dispose(), this._windowScroll = null }, scrollTo: function (e) { this._windowScroll && this._windowScroll.scrollTo(e) } } }()); t.VirtualScrollController = w }, function (e, t, n) { "use strict"; t.foreachColumnInfo = a, t.createColumnsInfo = function (e, t, n) { var o = []; a(e, (function (e, a, s) { var r, l = e, d = l.colspan || 1, c = a + d - 1 >= t && a < n; if (o[s] = o[s] || [], c) a < t ? (r = d - (t - a), a = t) : r = d, a + r > n && (r = n - a), r !== d && (l = (0, i.extend)({}, l, { colspan: r })), o[s].push(l); else if (a > n) return !1 })); for (var s = 0; s < o.length; s++)o[s] = o[s] || []; return o }; var i = n(1); function a(e, t, n, i, o, s) { s = s || [], (i = i || [])[n = n || 0] = i[n] || 0; var r, l = e[n], d = s[n] + 1 || 0, c = 0; if (l) { for (r = d; r < l.length; r++) { var u = l[r], h = r + i[n], f = u.colspan || 1; if (a(e, t, n + (u.rowspan || 1), i, f, s), i[n] += f - 1, c += f, u.rowspan) for (var p = n + 1; p < n + u.rowspan; p++)i[p] = i[p] || 0, i[p] += u.colspan || 1; if (!1 === t(u, h, n, r)) break; if (void 0 !== o && c >= o) break } s[n] = r } } }, function (e, t, n) { "use strict"; t.StateStoringController = void 0; var i = f(n(5)), a = n(7), o = f(n(24)), s = f(n(17)), r = f(n(15)), l = n(185), d = n(1), c = n(3), u = n(0), h = n(6); function f(e) { return e && e.__esModule ? e : { default: e } } var p, g, m = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/, _ = function e(t) { t && (0, c.each)(t, (function (n, i) { if ((0, u.isPlainObject)(i) || Array.isArray(i)) e(i); else if ("string" == typeof i) { var a = m.exec(i); a && (t[n] = new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]))) } })) }, v = o.default.ViewController.inherit((p = function (e) { var t = "sessionStorage" === e.type ? (0, l.sessionStorage)() : (0, a.getWindow)().localStorage; if (!t) throw "file:" === (0, a.getWindow)().location.protocol && r.default.msie ? new Error("E1038") : new Error("E1007"); return t }, g = function (e) { return (0, u.isDefined)(e.storageKey) ? e.storageKey : "storage" }, { _loadState: function () { var e = this.option("stateStoring"); if ("custom" === e.type) return e.customLoad && e.customLoad(); try { return JSON.parse(p(e).getItem(g(e))) } catch (e) { s.default.log(e.message) } }, _saveState: function (e) { var t = this.option("stateStoring"); if ("custom" !== t.type) try { p(t).setItem(g(t), JSON.stringify(e)) } catch (e) { s.default.log(e.message) } else t.customSave && t.customSave(e) }, publicMethods: function () { return ["state"] }, isEnabled: function () { return this.option("stateStoring.enabled") }, init: function () { var e = this; return e._state = {}, e._isLoaded = !1, e._isLoading = !1, e._windowUnloadHandler = function () { void 0 !== e._savingTimeoutID && e._saveState(e.state()) }, i.default.on((0, a.getWindow)(), "unload", e._windowUnloadHandler), e }, isLoaded: function () { return this._isLoaded }, isLoading: function () { return this._isLoading }, load: function () { var e = this; this._isLoading = !0; var t = (0, h.fromPromise)(this._loadState()); return t.always((function () { e._isLoaded = !0, e._isLoading = !1 })).done((function (t) { e.state(t) })), t }, state: function (e) { var t = this; if (!arguments.length) return (0, d.extend)(!0, {}, t._state); t._state = (0, d.extend)({}, e), _(t._state) }, save: function () { var e = this; clearTimeout(e._savingTimeoutID), e._savingTimeoutID = setTimeout((function () { e._saveState(e.state()), e._savingTimeoutID = void 0 }), e.option("stateStoring.savingTimeout")) }, optionChanged: function (e) { switch (e.name) { case "stateStoring": this.isEnabled() && !this.isLoading() && this.load(), e.handled = !0; break; default: this.callBase(e) } }, dispose: function () { clearTimeout(this._savingTimeoutID), i.default.off((0, a.getWindow)(), "unload", this._windowUnloadHandler) } })); t.StateStoringController = v }, function (e, t, n) { "use strict"; t.XmlaStore = void 0; var i = m(n(2)), a = n(7), o = m(n(13)), s = n(31), r = m(n(33)), l = n(4), d = n(1), c = n(0), u = n(3), h = n(14), f = n(46), p = n(6), g = n(145); function m(e) { return e && e.__esModule ? e : { default: e } } function _(e) { return function (e) { if (Array.isArray(e)) return v(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return v(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return v(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function v(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var y = r.default.errors, w = (0, a.getWindow)(), x = o.default.inherit(function () { var e = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><Discover xmlns="urn:schemas-microsoft-com:xml-analysis"><RequestType>{2}</RequestType><Restrictions><RestrictionList><CATALOG_NAME>{0}</CATALOG_NAME><CUBE_NAME>{1}</CUBE_NAME></RestrictionList></Restrictions><Properties><PropertyList><Catalog>{0}</Catalog>{3}</PropertyList></Properties></Discover></Body></Envelope>', t = "SELECT {2} FROM {0} {1} CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS"; function n(e, t) { var n = new p.Deferred, i = e.beforeSend, a = { url: e.url, dataType: "text", data: t, headers: { "Content-Type": "text/xml" }, xhrFields: {}, method: "POST" }; return (0, c.isFunction)(i) && i(a), (0, f.sendRequest)(a).fail((function () { n.reject(arguments) })).done((function (e) { var t, i = new w.DOMParser; try { try { t = i.parseFromString(e, "text/xml") } catch (e) { t = void 0 } if (!t || t.getElementsByTagName("parsererror").length || 0 === t.childNodes.length) throw new y.Error("E4023", e) } catch (t) { n.reject({ statusText: t.message, stack: t.stack, responseText: e }) } n.resolve(t) })), n } function a() { var e = (0, g.getLanguageId)(); return void 0 !== e ? (0, s.format)("<LocaleIdentifier>{0}</LocaleIdentifier>", e) : "" } function o(e) { return (e.hierarchyName || e.dataField) + ".[All]" } function r(e) { var t = e.dataField + ".allMembers", n = e.searchValue; return n && (n = n.replace(/'/g, "''"), t = "Filter(" + t + ", instr(" + e.dataField + ".currentmember.member_caption,'" + n + "') > 0)"), t } function m(e) { var t = e.join(","); return e.length > 1 ? (0, s.format)("CrossJoin({0})", t) : t } function v(e, t, n, i, a, l, d, c) { for (var u, h, f, p, g = [], _ = l[d], v = [], y = i; y <= t; y++) { var w = _[y], x = w.dataField, b = _[y - 1] && _[y - 1].hierarchyName, C = w.hierarchyName, k = !C || !_[y + 1] || _[y + 1].hierarchyName !== C, I = e.length + n + i; if (u = null, v.push(w), y < e.length) k && (u = "(" + x + "." + R(e[y], x) + ")"); else if (y <= I) if (0 === y && 0 === n) { var S = o(_[i]); u = C ? S + "," + _[i].dataField : r(_[i]) } else C ? (f = R(a[a.length - 1]), (k || y === I) && (b === C ? (a.length && (h = _[a.length - 1]), h && h.hierarchyName === C || (h = _[y - 1], f = ""), p = h.dataField, u = "Descendants({" + (f || p) + "}, " + x + ", SELF_AND_BEFORE)") : u = r(w))) : u = r(w); else (!C || b !== C) && (u = "(" + o(w) + ")"); if (u) { if (u = (0, s.format)("{{0}}", u), c) { var E = (w.hierarchyName || w.dataField) + ("displayText" === w.sortBy ? ".MEMBER_CAPTION" : ".MEMBER_VALUE"); u = (0, s.format)("Order({0}, {1}, {2})", u, E, "desc" === w.sortOrder ? "DESC" : "ASC") } g.push(u) } } return m(g) } function x(e, t, n, i, a, o, r, l, d, c) { var u, h = -1, f = o[r]; do { h++, u = t.length + h + i; var p = v(t, n, h, i, a, o, r, d); d || c || (p = (0, s.format)("NonEmpty({0}, {1})", p, l)), e.push(p) } while (f[u] && f[u + 1] && f[u].expanded) } function b(e, t, n, i) { return n = n || "[DX_Set_" + t.length + "]", i = i || "set", t.push((0, s.format)("{0} {1} as {2}", i, n, e)), n } function C(e, t, n, i, a) { var o, r, l = e[t], d = [], c = [], h = [], p = 0, g = 0, _ = [], v = (0, s.format)("{{0}}", n.join(",")); if (l && l.length) { e.headerName === t ? (c = e.path, p = c.length) : e.headerName && e.oppositePath ? (c = e.oppositePath, p = c.length) : h = ("columns" === t ? e.columnExpandedPaths : e.rowExpandedPaths) || h, g = (0, f.getExpandedLevel)(e, t), x(d, [], g, p, c, e, t, v, "rows" === t ? e.rowTake : e.columnTake, e.totalsOnly), (0, u.each)(h, (function (n, i) { x(d, i, g, p, i, e, t, v) })); for (var y = g; y >= c.length; y--)l[y].hierarchyName && (a.visibleLevels[l[y].hierarchyName] = a.visibleLevels[l[y].hierarchyName] || [], a.visibleLevels[l[y].hierarchyName].push(l[y].dataField)) } if (d.length) { var w = (r = (o = d).join(","), o.length > 1 ? "Union(" + r + ")" : r); "rows" === t && e.rowTake && (w = (0, s.format)("Subset({0}, {1}, {2})", w, e.rowSkip > 0 ? e.rowSkip + 1 : 0, e.rowSkip > 0 ? e.rowTake : e.rowTake + 1)), "columns" === t && e.columnTake && (w = (0, s.format)("Subset({0}, {1}, {2})", w, e.columnSkip > 0 ? e.columnSkip + 1 : 0, e.columnSkip > 0 ? e.columnTake : e.columnTake + 1)); var C = "[DX_".concat(t, "]"); _.push(b(w, i, C)), e.totalsOnly && _.push(b("COUNT(".concat(C, ")"), i, "[DX_".concat(t, "_count]"), "member")) } return "columns" === t && n.length && !e.skipValues && _.push(v), (0, s.format)("{0} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME, MEMBER_VALUE ON {1}", m(_), t) } function k(e) { var t = []; return (0, u.each)(e, (function (e, n) { var i, a = n.dataField, o = [], l = n.filterValues || []; n.hierarchyName && (0, c.isNumeric)(n.groupIndex) || ((0, u.each)(l, (function (e, t) { var i = a + "." + R(Array.isArray(t) ? t[t.length - 1] : t, a); "exclude" === n.filterType && (o.push(i + ".parent"), i = "Descendants(" + i + ")"), o.push(i) })), l.length && (i = (0, s.format)("{{0}}", o.join(",")), "exclude" === n.filterType && (i = "Except(" + r(n) + "," + i + ")"), t.push(i))) })), t.length ? m(t) : "" } function I(e, t, n, i) { var a = "[" + i + "]"; return (0, u.each)([e, t, n], (function (e, t) { t && (a = (0, s.format)("(SELECT {0} FROM {1})", t + "on 0", a)) })), a } function S(e, n, i, a, o, r, l) { var d = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : {}, c = "", u = (n.length ? "with " + n.join(" ") : "") + " "; if (e.length) { var h; if (d.totalsOnly) { var f = []; a.length && f.push("[DX_rows_count]"), i.length && f.push("[DX_columns_count]"), h = "{".concat(f.join(","), "} on columns") } else h = e.join(","); c = u + (0, s.format)(t, I(k(i), k(a), k(o || []), l), r.length ? (0, s.format)("WHERE ({0})", r.join(",")) : "", h) } return c } function E(e, t) { return (0, u.map)(t, (function (t) { return (0, c.isString)(t.expression) && b(t.expression, e, t.dataField, "member"), t.dataField })) } function D(e, t, n, i) { (0, u.each)(i, (function (i, a) { var o = t[n][i]; o.hierarchyName && o.hierarchyName === t[n][i + 1].hierarchyName || e.push(o.dataField + "." + R(a, o.dataField)) })) } function T(e, t, n) { var i = e.columns || [], a = e.rows || [], o = e.values && e.values.length ? e.values : [{ dataField: "[Measures]" }], s = [], r = [], l = [], d = E(r, o); return n.measureCount = e.skipValues ? 1 : o.length, n.visibleLevels = {}, e.headerName && e.path && D(s, e, e.headerName, e.path), e.headerName && e.oppositePath && D(s, e, "rows" === e.headerName ? "columns" : "rows", e.oppositePath), (i.length || d.length) && l.push(C(e, "columns", d, r, n)), a.length && l.push(C(e, "rows", d, r, n)), S(l, r, i, a, e.filters, s, t, e) } function A(e, t, n) { (0, u.each)(n, (function (n, i) { var a = t[n]; a.hierarchyName && (t[n + 1] || {}).hierarchyName === a.hierarchyName || e.push(a.dataField + "." + R(i, a.dataField)) })) } function O(e) { return parseInt(e, 10) } function B(e, t) { return M(function (e, t) { return (e.getElementsByTagName(t) || [])[0] }(e, t)) } function M(e) { return e && e && (e.textContent || e.text || e.innerHTML) || "" } function P(e, t, n) { for (var i = [], a = [], o = 0, s = [], r = e.getElementsByTagName("Cell"), l = {}, d = 0; d < r.length; d++) { var c = r[d], h = c.getElementsByTagName("Value")[0], f = h && h.getElementsByTagName("Error") || [], p = 0 === f.length ? M(h) : "#N/A", g = parseFloat(p), m = p - g + 1 > 0, _ = O(c.getAttribute("CellOrdinal")); f.length && (l[M(f[0].getElementsByTagName("ErrorCode")[0])] = M(f[0].getElementsByTagName("Description")[0])), s[_] = { value: m ? g : p || null } } return (0, u.each)(t[1], (function () { var e = []; i.push(e), (0, u.each)(t[0], (function () { 0 === o % n && (a = [], e.push(a)), a.push(s[o] ? s[o].value : null), o++ })) })), Object.keys(l).forEach((function (e) { y.log("W4002", l[e]) })), i } function R(e, t) { return e && (e = (0, c.isString)(e) && -1 !== e.indexOf("&") ? e : "[" + e + "]", t && 0 === e.indexOf(t + ".") && (e = e.slice(t.length + 1, e.length))), e } function F(e, t, n, i) { var a = e[t]; return a || (a = {}, e[t] = a), !(0, c.isDefined)(a.value) && n && (a.text = n.caption, a.value = n.value, a.key = t || "", a.levelName = n.levelName, a.hierarchyName = n.hierarchyName, a.parentName = n.parentName, a.index = i, a.level = n.level), a } function V(e, t) { var n = [], i = e.children && (e.children.length ? e.children : Object.keys(e.children.grandTotalHash || {}).reduce((function (t, n) { return t.concat(e.children.grandTotalHash[n].children) }), [])), a = i && i[0]; if (a && (t[a.hierarchyName] && -1 !== (0, h.inArray)(a.levelName, t[a.hierarchyName]) || !t[a.hierarchyName] || 0 === a.level)) { var o = i.filter((function (e) { return e.hierarchyName === a.hierarchyName })); return o.grandTotalHash = i.grandTotalHash, o } if (a) for (var s = 0; s < i.length; s++)i[s].hierarchyName === a.hierarchyName && n.push.apply(n, V(i[s], t)); return n } function q(e, t, n, i) { var a = []; (0, u.each)(t, (function (e, t) { var i = { children: a }, o = (0, c.isDefined)(n) ? Math.floor(e / n) : e; (0, u.each)(t, (function (e, t) { i = function (e, t, n) { var i = n.children = n.children || [], a = i.hash = i.hash || {}, o = i.grandTotalHash = i.grandTotalHash || {}; t.parentName && (i = (n = F(a, t.parentName)).children = n.children || []); var s = F(a, t.name, t, e); return t.hasValue && !s.added && (s.index = e, s.added = !0, i.push(s)), n.value && n.parentName || !t.parentName ? o[n.name] && delete o[t.parentName] : o[t.parentName] = n, s }(o, t, i) })) })); var o = { children: a }; o.children = V(o, i); var s = function (e, t) { var n; if (1 === e.children.length && "" === e.children[0].parentName) { n = e.children[0].index; var i = e.children.grandTotalHash; e.children = e.children[0].children || [], e.children.grandTotalHash = i, e.children = V(e, t) } else 0 === e.children.length && (n = 0); return n }(o, i); return (0, f.foreachTree)(o.children, (function (e) { var t = e[0], n = V(t, i); n.length ? t.children = n : delete t.children, delete t.levelName, delete t.hierarchyName, delete t.added, delete t.parentName, delete t.level }), !0), (0, u.each)(o.children || [], (function (t, n) { e.push(n) })), s } function L(e) { var t = e.getElementsByTagName("soap:Fault"), n = e.getElementsByTagName("Fault"), a = (0, i.default)([].slice.call(n.length ? n : t)).find("Error"); if (a.length) { var o = a.attr("Description"), s = new y.Error("E4000", o); return y.log("E4000", o), s } return null } function H(e, t) { var n = { columns: [], rows: [] }, i = t.measureCount, a = function (e, t) { var n = []; for ((0, u.each)(e.getElementsByTagName("Axis"), (function (e, i) { var a = i.getAttribute("name"), o = [], s = 0; 0 === a.indexOf("Axis") && (0, c.isNumeric)(O(a.substr(4))) && (n.push(o), (0, u.each)(i.getElementsByTagName("Tuple"), (function (e, i) { var a, r = i.childNodes, l = 0, d = [], u = t ? r.length : r.length - 1; 1 === n.length && u--, o.push(d); for (var h = u; h >= 0; h--) { var f = r[h], p = O(B(f, "LNum")); d[h] = { caption: B(f, "Caption"), value: (a = B(f, "MEMBER_VALUE"), (0, c.isNumeric)(a) ? parseFloat(a) : a), level: p, index: s++, hasValue: !(l || !p && 0 !== h), name: B(f, "UName"), hierarchyName: r[h].getAttribute("Hierarchy"), parentName: B(f, "PARENT_UNIQUE_NAME"), levelName: B(f, "LName") }, l += p } }))) })); n.length < 2;)n.push([[{ level: 0 }]]); return n }(e, t.skipValues); return n.grandTotalColumnIndex = q(n.columns, a[0], i, t.visibleLevels), n.grandTotalRowIndex = q(n.rows, a[1], void 0, t.visibleLevels), n.values = P(e, a, i), n } function z(e, t, n, i) { var a = [], o = "MEASURE" === t, s = o ? "MEASUREGROUP_NAME" : t + "_DISPLAY_FOLDER"; return (0, u.each)(e.getElementsByTagName("row"), (function (e, r) { var l = "LEVEL" === t ? B(r, "HIERARCHY_UNIQUE_NAME") : void 0, d = B(r, "LEVEL_NUMBER"), c = B(r, s); if (o && (c = i[c] || c), ("0" !== d || "true" !== B(r, t + "_IS_VISIBLE")) && "2" !== B(r, "DIMENSION_TYPE")) { var u = o ? "DX_MEASURES" : B(r, "DIMENSION_UNIQUE_NAME"), h = B(r, t + "_UNIQUE_NAME"); a.push({ dimension: n.names[u] || u, groupIndex: d ? O(d) - 1 : void 0, dataField: h, caption: B(r, t + "_CAPTION"), hierarchyName: l, groupName: l, displayFolder: c, isMeasure: o, isDefault: !!n.defaultHierarchies[h] }) } })), a } function N(e, t) { return t = (0, i.default)("<div>").text(t).html(), n(e, (0, s.format)('<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><Execute xmlns="urn:schemas-microsoft-com:xml-analysis"><Command><Statement>{0}</Statement></Command><Properties><PropertyList><Catalog>{1}</Catalog><ShowHiddenCubes>True</ShowHiddenCubes><SspropInitAppName>Microsoft SQL Server Management Studio</SspropInitAppName><Timeout>3600</Timeout>{2}</PropertyList></Properties></Execute></Body></Envelope>', t, e.catalog, a())) } return { ctor: function (e) { this._options = e }, getFields: function () { var t = this._options, o = t.catalog, r = t.cube, l = a(), d = n(t, (0, s.format)(e, o, r, "MDSCHEMA_DIMENSIONS", l)), c = n(t, (0, s.format)(e, o, r, "MDSCHEMA_MEASURES", l)), h = n(t, (0, s.format)(e, o, r, "MDSCHEMA_HIERARCHIES", l)), f = n(t, (0, s.format)(e, o, r, "MDSCHEMA_LEVELS", l)), g = new p.Deferred; return (0, p.when)(d, c, h, f).then((function (a, d, c, h) { n(t, (0, s.format)(e, o, r, "MDSCHEMA_MEASUREGROUPS", l)).done((function (e) { var t = function (e) { var t = { names: {}, defaultHierarchies: {} }; return (0, u.each)((0, i.default)(e).find("row"), (function () { var e = (0, i.default)(this), n = "2" === e.children("DIMENSION_TYPE").text() ? "DX_MEASURES" : e.children("DIMENSION_UNIQUE_NAME").text(); t.names[n] = e.children("DIMENSION_CAPTION").text(), t.defaultHierarchies[e.children("DEFAULT_HIERARCHY").text()] = !0 })), t }(a), n = z(c, "HIERARCHY", t), o = z(h, "LEVEL", t), s = function (e) { var t = {}; return (0, u.each)(e.getElementsByTagName("row"), (function (e, n) { t[B(n, "MEASUREGROUP_NAME")] = B(n, "MEASUREGROUP_CAPTION") })), t }(e), r = z(d, "MEASURE", t, s).concat(n), l = {}; (0, u.each)(o, (function (e, t) { l[t.hierarchyName] = l[t.hierarchyName] || [], l[t.hierarchyName].push(t) })), (0, u.each)(n, (function (e, t) { l[t.dataField] && l[t.dataField].length > 1 && (t.groupName = t.hierarchyName = t.dataField, r.push.apply(r, l[t.hierarchyName])) })), g.resolve(r) })).fail(g.reject) })).fail(g.reject), g }, load: function (e) { var t, n = new p.Deferred, i = this._options, a = { skipValues: e.skipValues }, o = T(e, i.cube, a); (e.rowSkip || e.rowTake || e.columnTake || e.columnSkip) && (t = T((0, d.extend)({}, e, { totalsOnly: !0, rowSkip: null, rowTake: null, columnSkip: null, columnTake: null }), i.cube, {})); var s = function () { o ? (0, p.when)(N(i, o), t && N(i, t)).done((function (t, i) { var o = L(t) || i && L(i); if (o) n.reject(o); else { var s = H(t, a); i && function (e, t, n) { var i = [], a = t.columns || [], o = t.rows || []; a.length && i.push({}), o.length && i.push({}); var s = P(n, [[{}], [{}, {}]], 1); if (!a.length && o.length && (e.rowCount = Math.max(s[0][0][0] - 1, 0)), !o.length && a.length && (e.columnCount = Math.max(s[0][0][0] - 1, 0)), o.length && a.length && (e.rowCount = Math.max(s[0][0][0] - 1, 0), e.columnCount = Math.max(s[1][0][0] - 1, 0)), void 0 !== e.rowCount && t.rowTake) { e.rows = _(Array(t.rowSkip)).concat(e.rows), e.rows.length = e.rowCount; for (var r = 0; r < e.rows.length; r++)e.rows[r] = e.rows[r] || {} } if (void 0 !== e.columnCount && t.columnTake) { e.columns = _(Array(t.columnSkip)).concat(e.columns), e.columns.length = e.columnCount; for (var l = 0; l < e.columns.length; l++)e.columns[l] = e.columns[l] || {} } }(s, e, i), n.resolve(s) } })).fail(n.reject) : n.resolve({ columns: [], rows: [], values: [], grandTotalColumnIndex: 0, grandTotalRowIndex: 0 }) }; return e.delay ? setTimeout(s, e.delay) : s(), n }, supportPaging: function () { return !0 }, getDrillDownItems: function (e, t) { var n = new p.Deferred, i = this._options, a = function (e, t, n) { var i = e.columns || [], a = e.rows || [], o = [], s = [], r = [], l = E(s, e.values && e.values.length ? e.values : [{ dataField: "[Measures]" }]), d = n.maxRowCount, c = n.customColumns || [], u = c.length > 0 ? " return " + c.join(",") : ""; A(o, i, n.columnPath || []), A(o, a, n.rowPath || []), (i.length || i.length || l.length) && r.push([(l[n.dataIndex] || l[0]) + " on 0"]); var h = S(r, s, i, a, e.filters, o, t); return h ? "drillthrough" + (d > 0 ? " maxrows " + d : "") + h + u : h }(e, i.cube, t); return a ? (0, p.when)(N(i, a)).done((function (e) { var t = L(e); t ? n.reject(t) : n.resolve(function (e) { for (var t, n, i = e.getElementsByTagName("row"), a = [], o = {}, s = 0; s < i.length; s++) { for (var r = i[s].childNodes, l = {}, d = 0; d < r.length; d++) { var c = r[d].tagName; l[o[c] = o[c] || (n = void 0, (n = (t = (t = c).replace(/_x(....)_/g, (function (e, t) { return String.fromCharCode(parseInt(t, 16)) }))).match(/\[.+?\]/gi)) && n.length && (t = n[n.length - 1]), t.replace(/\[/gi, "").replace(/\]/gi, "").replace(/\$/gi, "").replace(/\./gi, " "))] = M(r[d]) } a.push(l) } return a }(e)) })).fail(n.reject) : n.resolve([]), n }, key: l.noop, filter: l.noop } }()).include(f.storeDrillDownMixin); t.XmlaStore = x }, function (e, t, n) { "use strict"; t.default = void 0; var i = _(n(2)), a = n(34), o = n(4), s = n(0), r = _(n(11)), l = n(14), d = n(1), c = n(3), u = n(25), h = _(n(334)), f = _(n(96)), p = n(70), g = _(n(21)), m = _(n(38)); function _(e) { return e && e.__esModule ? e : { default: e } } var v = h.default.inherit({ compactMode: !1, ctor: function (e, t) { this._userOptions = t || {}, this.callBase(e, t), "height" in this._userOptions && g.default.log("W0001", this.NAME, "height", "20.1", "Functionality associated with this option is not intended for the Toolbar widget.") }, _getSynchronizableOptionsForCreateComponent: function () { return this.callBase().filter((function (e) { return "disabled" !== e })) }, _initTemplates: function () { this.callBase(); var e = new p.BindableTemplate(function (e, t, n) { (0, s.isPlainObject)(t) ? (t.text && e.text(t.text).wrapInner("<div>"), t.html && e.html(t.html), "dxButton" === t.widget && (this.option("useFlatButtons") && (t.options = t.options || {}, t.options.stylingMode = t.options.stylingMode || "text"), this.option("useDefaultButtons") && (t.options = t.options || {}, t.options.type = t.options.type || "default"))) : e.text(String(t)), this._getTemplate("dx-polymorph-widget").render({ container: e, model: n, parent: this }) }.bind(this), ["text", "html", "widget", "options"], this.option("integrationOptions.watchMethod")); this._templateManager.addDefaultTemplates({ item: e, menuItem: e }) }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { renderAs: "topToolbar", grouped: !1, useFlatButtons: !1, useDefaultButtons: !1, multiline: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return (0, a.isMaterial)() }, options: { useFlatButtons: !0 } }]) }, _itemContainer: function () { return this._$toolbarItemsContainer.find([".dx-toolbar-before", ".dx-toolbar-center", ".dx-toolbar-after"].join(",")) }, _itemClass: function () { return "dx-toolbar-item" }, _itemDataKey: function () { return "dxToolbarItemDataKey" }, _buttonClass: function () { return "dx-toolbar-button" }, _dimensionChanged: function () { this._arrangeItems(), this._applyCompactMode() }, _initMarkup: function () { this._renderToolbar(), this._renderSections(), this.callBase(), this.setAria("role", "toolbar") }, _waitParentAnimationFinished: function () { var e = this, t = this.$element(); return new f.default((function (n) { !function a() { clearTimeout(e._waitParentAnimationTimeout), e._waitParentAnimationTimeout = setTimeout((function () { return e = !0, t.parents().each((function (t, n) { if (m.default.isAnimating((0, i.default)(n))) return e = !1, !1 })), e && n(), e || a(); var e }), 15) }() })) }, _render: function () { this.callBase(), this._renderItemsAsync(), (0, a.isMaterial)() && f.default.all([this._waitParentAnimationFinished(), this._checkWebFontForLabelsLoaded()]).then(this._dimensionChanged.bind(this)) }, _postProcessRenderItems: function () { this._arrangeItems() }, _renderToolbar: function () { this.$element().addClass("dx-toolbar").toggleClass("dx-toolbar-multiline", this.option("multiline")), this._$toolbarItemsContainer = (0, i.default)("<div>").addClass("dx-toolbar-items-container").appendTo(this.$element()) }, _renderSections: function () { var e = this._$toolbarItemsContainer, t = this; (0, c.each)(["before", "center", "after"], (function () { var n = "dx-toolbar-" + this, a = e.find("." + n); a.length || (t["_$" + this + "Section"] = a = (0, i.default)("<div>").addClass(n).appendTo(e)) })) }, _checkWebFontForLabelsLoaded: function () { var e = this.$element().find(".dx-toolbar-label"), t = []; return e.each((function (e, n) { var o = (0, i.default)(n).text(), s = (0, i.default)(n).css("fontWeight"); t.push((0, a.waitWebFont)(o, s)) })), f.default.all(t) }, _arrangeItems: function (e) { e = e || this.$element().width(), this._$centerSection.css({ margin: "0 auto", float: "none" }); var t = (0, u.getBoundingRect)(this._$beforeSection.get(0)), n = (0, u.getBoundingRect)(this._$afterSection.get(0)); this._alignCenterSection(t, n, e); var a = this._$toolbarItemsContainer.find(".dx-toolbar-label").eq(0), o = a.parent(); if (a.length) { var s = t.width ? t.width : a.position().left, r = o.hasClass("dx-toolbar-before") ? 0 : s, l = o.hasClass("dx-toolbar-after") ? 0 : n.width, d = 0; o.children().not(".dx-toolbar-label").each((function () { d += (0, i.default)(this).outerWidth() })); var c = e - d, h = Math.max(c - r - l, 0); if (o.hasClass("dx-toolbar-before")) this._alignSection(this._$beforeSection, h); else { var f = a.outerWidth() - a.width(); a.css("maxWidth", h - f) } } }, _alignCenterSection: function (e, t, n) { this._alignSection(this._$centerSection, n - e.width - t.width); var i = this.option("rtlEnabled"), a = i ? t : e, o = i ? e : t, s = (0, u.getBoundingRect)(this._$centerSection.get(0)); (a.right > s.left || s.right > o.left) && this._$centerSection.css({ marginLeft: a.width, marginRight: o.width, float: a.width > o.width ? "none" : "right" }) }, _alignSection: function (e, t) { var n = e.find(".dx-toolbar-label").toArray(); t -= this._getCurrentLabelsPaddings(n); var i = this._getCurrentLabelsWidth(n), a = Math.abs(i - t); t < i ? (n = n.reverse(), this._alignSectionLabels(n, a, !1)) : this._alignSectionLabels(n, a, !0) }, _alignSectionLabels: function (e, t, n) { for (var a = function (e) { return (0, u.getBoundingRect)(e).width }, o = 0; o < e.length; o++) { var s = (0, i.default)(e[o]), r = Math.ceil(a(e[o])), l = void 0; n && s.css("maxWidth", "inherit"); var d = Math.ceil(n ? a(e[o]) : r); if (!(d < t)) { l = n ? r + t : r - t, s.css("maxWidth", l); break } l = n ? d : 0, t -= d, s.css("maxWidth", l) } }, _applyCompactMode: function () { var e = this.$element(); e.removeClass("dx-toolbar-compact"), this.option("compactMode") && this._getSummaryItemsWidth(this.itemElements(), !0) > e.width() && e.addClass("dx-toolbar-compact") }, _getCurrentLabelsWidth: function (e) { var t = 0; return e.forEach((function (e, n) { t += (0, i.default)(e).outerWidth() })), t }, _getCurrentLabelsPaddings: function (e) { var t = 0; return e.forEach((function (e, n) { t += (0, i.default)(e).outerWidth() - (0, i.default)(e).width() })), t }, _renderItem: function (e, t, n, i) { var a = t.location || "center", o = n || this["_$" + a + "Section"], s = !(!t.text && !t.html), r = this.callBase(e, t, o, i); return r.toggleClass(this._buttonClass(), !s).toggleClass("dx-toolbar-label", s).addClass(t.cssClass), r }, _renderGroupedItems: function () { var e = this; (0, c.each)(this.option("items"), (function (t, n) { var a = n.items, o = (0, i.default)("<div>").addClass("dx-toolbar-group"), s = n.location || "center"; a && a.length && ((0, c.each)(a, (function (t, n) { e._renderItem(t, n, o, null) })), e._$toolbarItemsContainer.find(".dx-toolbar-" + s).append(o)) })) }, _renderItems: function (e) { this.option("grouped") && e.length && e[0].items ? this._renderGroupedItems() : this.callBase(e) }, _getToolbarItems: function () { return this.option("items") || [] }, _renderContentImpl: function () { var e = this._getToolbarItems(); this.$element().toggleClass("dx-toolbar-mini", 0 === e.length), this._renderedItemsCount ? this._renderItems(e.slice(this._renderedItemsCount)) : this._renderItems(e), this._applyCompactMode() }, _renderEmptyMessage: o.noop, _clean: function () { this._$toolbarItemsContainer.children().empty(), this.$element().empty() }, _visibilityChanged: function (e) { e && this._arrangeItems() }, _isVisible: function () { return this.$element().width() > 0 && this.$element().height() > 0 }, _getIndexByItem: function (e) { return (0, l.inArray)(e, this._getToolbarItems()) }, _itemOptionChanged: function (e, t, n) { this.callBase.apply(this, [e, t, n]), this._arrangeItems() }, _optionChanged: function (e) { var t = e.name; switch (t) { case "width": this.callBase.apply(this, arguments), this._dimensionChanged(); break; case "multiline": this.$element().toggleClass("dx-toolbar-multiline", e.value); break; case "renderAs": case "useFlatButtons": case "useDefaultButtons": this._invalidate(); break; case "compactMode": this._applyCompactMode(); break; case "grouped": break; default: this.callBase.apply(this, arguments) } }, _dispose: function () { this.callBase(), clearTimeout(this._waitParentAnimationTimeout) } }); (0, r.default)("dxToolbarBase", v); var y = v; t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(13)), a = c(n(337)), o = c(n(338)), s = n(1), r = n(4), l = n(0), d = n(6); function c(e) { return e && e.__esModule ? e : { default: e } } var u = i.default.inherit({ ctor: function (e) { this.options = (0, s.extend)(this._getDefaultOptions(), e, { selectedItemKeys: e.selectedKeys || [] }), this._selectionStrategy = this.options.deferred ? new a.default(this.options) : new o.default(this.options), this._focusedItemIndex = -1, this.options.equalByReference || this._selectionStrategy.updateSelectedItemKeyHash(this.options.selectedItemKeys) }, _getDefaultOptions: function () { return { allowNullValue: !1, deferred: !1, equalByReference: !1, mode: "multiple", selectedItems: [], selectionFilter: [], maxFilterLengthInRequest: 0, onSelectionChanged: r.noop, key: r.noop, keyOf: function (e) { return e }, load: function () { return (new d.Deferred).resolve([]) }, totalCount: function () { return -1 }, isSelectableItem: function () { return !0 }, isItemSelected: function () { return !1 }, getItemData: function (e) { return e }, dataFields: r.noop, filter: r.noop } }, validate: function () { this._selectionStrategy.validate() }, getSelectedItemKeys: function () { return this._selectionStrategy.getSelectedItemKeys() }, getSelectedItems: function () { return this._selectionStrategy.getSelectedItems() }, selectionFilter: function (e) { if (void 0 === e) return this.options.selectionFilter; var t = this.options.selectionFilter !== e && JSON.stringify(this.options.selectionFilter) !== JSON.stringify(e); this.options.selectionFilter = e, t && this.onSelectionChanged() }, setSelection: function (e) { return this.selectedItemKeys(e) }, select: function (e) { return this.selectedItemKeys(e, !0) }, deselect: function (e) { return this.selectedItemKeys(e, !0, !0) }, selectedItemKeys: function (e, t, n, i) { return e = (0, l.isDefined)(e) ? e : [], e = Array.isArray(e) ? e : [e], this.validate(), this._selectionStrategy.selectedItemKeys(e, t, n, i) }, clearSelection: function () { return this.selectedItemKeys([]) }, _addSelectedItem: function (e, t) { this._selectionStrategy.addSelectedItem(t, e) }, _removeSelectedItem: function (e) { this._selectionStrategy.removeSelectedItem(e) }, _setSelectedItems: function (e, t) { this._selectionStrategy.setSelectedItems(e, t) }, onSelectionChanged: function () { this._selectionStrategy.onSelectionChanged() }, changeItemSelection: function (e, t) { var n, i = this.options.plainItems(), a = i[e]; if (!this.isSelectable() || !this.isDataItem(a)) return !1; var o = this.options.getItemData(a), s = this.options.keyOf(o); if ((t = t || {}).shift && "multiple" === this.options.mode && this._focusedItemIndex >= 0) n = this.changeItemSelectionWhenShiftKeyPressed(e, i); else if (t.control) { this._resetItemSelectionWhenShiftKeyPressed(); var r = this._selectionStrategy.isItemDataSelected(o); "single" === this.options.mode && this.clearSelectedItems(), r ? this._removeSelectedItem(s) : this._addSelectedItem(o, s), n = !0 } else { this._resetItemSelectionWhenShiftKeyPressed(); var l = this._selectionStrategy.equalKeys(this.options.selectedItemKeys[0], s); 1 === this.options.selectedItemKeys.length && l || (this._setSelectedItems([s], [o]), n = !0) } return n ? (this._focusedItemIndex = e, this.onSelectionChanged(), !0) : void 0 }, isDataItem: function (e) { return this.options.isSelectableItem(e) }, isSelectable: function () { return "single" === this.options.mode || "multiple" === this.options.mode }, isItemDataSelected: function (e) { return this._selectionStrategy.isItemDataSelected(e) }, isItemSelected: function (e) { return this._selectionStrategy.isItemKeySelected(e) }, _resetItemSelectionWhenShiftKeyPressed: function () { delete this._shiftFocusedItemIndex }, _resetFocusedItemIndex: function () { this._focusedItemIndex = -1 }, changeItemSelectionWhenShiftKeyPressed: function (e, t) { var n, i, a, o, s = !1, r = this.options.keyOf, d = t[this._focusedItemIndex], c = this.options.getItemData(d), u = r(c), h = d && this.isItemDataSelected(c); if ((0, l.isDefined)(this._shiftFocusedItemIndex) || (this._shiftFocusedItemIndex = this._focusedItemIndex), this._shiftFocusedItemIndex !== this._focusedItemIndex) for (n = this._focusedItemIndex < this._shiftFocusedItemIndex ? 1 : -1, i = this._focusedItemIndex; i !== this._shiftFocusedItemIndex; i += n)this.isDataItem(t[i]) && (o = r(this.options.getItemData(t[i])), this._removeSelectedItem(o), s = !0); if (e !== this._shiftFocusedItemIndex) for (n = e < this._shiftFocusedItemIndex ? 1 : -1, i = e; i !== this._shiftFocusedItemIndex; i += n)this.isDataItem(t[i]) && (o = r(a = this.options.getItemData(t[i])), this._addSelectedItem(a, o), s = !0); return this.isDataItem(d) && !h && (this._addSelectedItem(c, u), s = !0), s }, clearSelectedItems: function () { this._setSelectedItems([], []) }, selectAll: function (e) { return this._resetFocusedItemIndex(), e ? this._onePageSelectAll(!1) : this.selectedItemKeys([], !0, !1, !0) }, deselectAll: function (e) { return this._resetFocusedItemIndex(), e ? this._onePageSelectAll(!0) : this.selectedItemKeys([], !0, !0, !0) }, _onePageSelectAll: function (e) { for (var t = this._selectionStrategy.getSelectableItems(this.options.plainItems()), n = 0; n < t.length; n++) { var i = t[n]; if (this.isDataItem(i)) { var a = this.options.getItemData(i), o = this.options.keyOf(a), s = this.isItemSelected(o); s || e || this._addSelectedItem(a, o), s && e && this._removeSelectedItem(o) } } return this.onSelectionChanged(), (new d.Deferred).resolve() }, getSelectAllState: function (e) { return this._selectionStrategy.getSelectAllState(e) } }); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(44)), a = n(4), o = n(0), s = l(n(13)), r = n(6); function l(e) { return e && e.__esModule ? e : { default: e } } var d = s.default.inherit({ ctor: function (e) { this.options = e, this._setOption("disabledItemKeys", []), this._clearItemKeys() }, _clearItemKeys: function () { this._setOption("addedItemKeys", []), this._setOption("removedItemKeys", []), this._setOption("removedItems", []), this._setOption("addedItems", []) }, validate: a.noop, _setOption: function (e, t) { this.options[e] = t }, onSelectionChanged: function () { var e = this.options.addedItemKeys, t = this.options.removedItemKeys, n = this.options.addedItems, i = this.options.removedItems, o = this.options.selectedItems, s = this.options.selectedItemKeys, r = this.options.onSelectionChanged || a.noop; this._clearItemKeys(), r({ selectedItems: o, selectedItemKeys: s, addedItemKeys: e, removedItemKeys: t, addedItems: n, removedItems: i }) }, equalKeys: function (e, t) { return this.options.equalByReference && (0, o.isObject)(e) && (0, o.isObject)(t) ? e === t : (0, a.equalByValue)(e, t) }, getSelectableItems: function (e) { return e.filter((function (e) { return !e.disabled })) }, _clearSelection: function (e, t, n, i) { return e = e || [], e = Array.isArray(e) ? e : [e], this.validate(), this.selectedItemKeys(e, t, n, i) }, _loadFilteredData: function (e, t, n, a) { var s = encodeURI(JSON.stringify(e)).length, l = this.options.maxFilterLengthInRequest && s > this.options.maxFilterLengthInRequest, d = new r.Deferred, c = { filter: l ? void 0 : e, select: l ? this.options.dataFields() : n || this.options.dataFields() }; return e && 0 === e.length ? d.resolve([]) : this.options.load(c).done((function (n) { var s = (0, o.isPlainObject)(n) ? n.data : n; t && !a ? s = s.filter(t) : l && (s = (0, i.default)(s).filter(e).toArray()), d.resolve(s) })).fail(d.reject.bind(d)), d }, updateSelectedItemKeyHash: function (e) { for (var t = 0; t < e.length; t++) { var n = (0, a.getKeyHash)(e[t]); if (!(0, o.isObject)(n)) this.options.keyHashIndices[n] = this.options.keyHashIndices[n] || [], this.options.keyHashIndices[n].push(t) } }, _isAnyItemSelected: function (e) { for (var t = 0; t < e.length; t++)if (this.options.isItemSelected(e[t])) return; return !1 }, _getFullSelectAllState: function () { var e = this.options.plainItems(), t = this.options.filter(), n = this.options.selectedItems; t && (n = (0, i.default)(n).filter(t).toArray()); var a = n.length; return a ? a >= this.options.totalCount() - this.options.disabledItemKeys.length || void 0 : this._isAnyItemSelected(e) }, _getVisibleSelectAllState: function () { for (var e = this.getSelectableItems(this.options.plainItems()), t = !1, n = !1, i = 0; i < e.length; i++) { var a = e[i], o = this.options.getItemData(a), s = this.options.keyOf(o); this.options.isSelectableItem(a) && (this.isItemKeySelected(s) ? t = !0 : n = !0) } return !!t && (!n || void 0) } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.SelectionFilterCreator = void 0; var i = n(4), a = n(0); t.SelectionFilterCreator = function (e, t) { var n; this.getLocalFilter = function (e, t, n, a) { return t = void 0 === t ? i.equalByValue : t, o.bind(this, t, e, n, a) }, this.getExpr = function (n) { var i; if (n) return e.forEach((function (e, o) { var r; i = i || [], o > 0 && i.push(t ? "and" : "or"), r = (0, a.isString)(n) ? s(n, e) : function (e, n) { for (var i = [], a = 0, o = e.length; a < o; a++) { var r = e[a], l = n && n[r], d = s(r, l); if (!d) break; a > 0 && i.push(t ? "or" : "and"), i.push(d) } return i }(n, e), i.push(r) })), i && 1 === i.length && (i = i[0]), i }, this.getCombinedFilter = function (e, n) { var i = this.getExpr(e), a = i; return t && n && (i ? ((a = []).push(i), a.push(n)) : a = n), a }; function o(o, s, r, l, d) { var c, u, h = s(d); if (!r && (c = (0, i.getKeyHash)(h), !(0, a.isObject)(c))) return function (e) { if (!n) { n = {}; for (var t = 0; t < e.length; t++)n[(0, i.getKeyHash)(e[t])] = !0 } return n }(function (e, t, n) { return Array.isArray(n) ? e.map((function (e) { return t(e) })) : e }(e, s, l))[c] ? !t : !!t; for (u = 0; u < e.length; u++)if (o(e[u], h)) return !t; return !!t } function s(e, n) { if (void 0 !== n) return [e, t ? "<>" : "=", n] } } }, function (e, t, n) { "use strict"; t.updateHeaderFilterItemSelectionState = function (e, t, n) { if (t ^ n) { if (e.selected = !0, n && e.items) for (var i = 0; i < e.items.length; i++)if (!e.items[i].selected) { e.selected = void 0; break } } else (n || e.selected) && (e.selected = !1, function e(t) { t = t || []; for (var n = 0; n < t.length; n++)t[n].selected = !1, e(t[n].items) }(e.items)) }, t.headerFilterMixin = t.allowHeaderFiltering = t.HeaderFilterView = void 0; var i = h(n(2)), a = h(n(24)), o = h(n(22)), s = n(0), r = n(3), l = n(1), d = h(n(47)), c = h(n(111)), u = h(n(130)); function h(e) { return e && e.__esModule ? e : { default: e } } function f(e, t) { if (!e.component.option("searchValue")) { var n = (0, i.default)(e.element).find(".dx-list-select-all-checkbox").data("dxCheckBox"); n && t && t.length && n.option("value", void 0) } } function p(e, t) { var n = t.headerFilter; return n && (0, s.isDefined)(n.allowSearch) ? n.allowSearch : e.option("headerFilter.allowSearch") } var g = a.default.View.inherit({ getPopupContainer: function () { return this._popupContainer }, getListContainer: function () { return this._listContainer }, applyHeaderFilter: function (e) { var t = this.getListContainer(), n = t.option("searchValue"), i = []; !n && !e.isFilterBuilder && t.$element().find(".dx-checkbox").eq(0).hasClass("dx-checkbox-checked") ? ("tree" === e.type && (e.filterType = "exclude"), Array.isArray(e.filterValues) && (e.filterValues = [])) : "tree" === e.type && (e.filterType && (e.filterType = "include"), function e(i, a, o) { (0, r.each)(a, (function (a, s) { if (void 0 !== s.selected && !!s.selected ^ o) { var r = t._getNode(s), l = t._hasChildren(r) && s.items && s.items.some((function (e) { return e.selected })); if (!n || !l) return void i.push(s.value) } s.items && s.items.length && e(i, s.items, o) })) }(i, t.option("items"), !1), e.filterValues = i), e.filterValues && !e.filterValues.length && (e.filterValues = null), e.apply(), this.hideHeaderFilterMenu() }, showHeaderFilterMenu: function (e, t) { if (t) { this._initializePopupContainer(t); var n = this.getPopupContainer(); this.hideHeaderFilterMenu(), this.updatePopup(e, t), n.show() } }, hideHeaderFilterMenu: function () { var e = this.getPopupContainer(); e && e.hide() }, updatePopup: function (e, t) { var n = "right" === t.alignment ? "left" : "right"; this._popupContainer && (this._cleanPopupContent(), this._popupContainer.option("position", { my: n + " top", at: n + " bottom", of: e, collision: "flip fit" })) }, _getSearchExpr: function (e) { var t = e.lookup, n = e.useDefaultSearchExpr, i = e.headerFilter && e.headerFilter.dataSource; if (n || (0, s.isDefined)(i) && !(0, s.isFunction)(i)) return "text"; if (t) return t.displayExpr || "this"; if (e.dataSource) { var a = e.dataSource.group; if (Array.isArray(a) && a.length > 0) return a[0].selector; if ((0, s.isFunction)(a) && !e.remoteFiltering) return a } return e.dataField || e.selector }, _cleanPopupContent: function () { this._popupContainer && this._popupContainer.$content().empty() }, _initializePopupContainer: function (e) { var t = this, n = t.element(), i = t.option("headerFilter"), a = { width: e.headerFilter && e.headerFilter.width || i && i.width, height: e.headerFilter && e.headerFilter.height || i && i.height, visible: !1, shading: !1, showTitle: !1, showCloseButton: !1, closeOnTargetScroll: !1, dragEnabled: !1, closeOnOutsideClick: !0, focusStateEnabled: !1, toolbarItems: [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: i.texts.ok, onClick: function () { t.applyHeaderFilter(e) } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: i.texts.cancel, onClick: function () { t.hideHeaderFilterMenu() } } }], resizeEnabled: !0, onShowing: function (n) { n.component.$content().parent().addClass("dx-dropdowneditor-overlay"), t._initializeListContainer(e), e.onShowing && e.onShowing(n) }, onShown: function () { t.getListContainer().focus() }, onHidden: e.onHidden, onInitialized: function (e) { var t = e.component; t.option("animation", t._getDefaultOptions().animation) } }; (0, s.isDefined)(t._popupContainer) ? t._popupContainer.option(a) : t._popupContainer = t._createComponent(n, d.default, a) }, _initializeListContainer: function (e) { var t = this, n = t._popupContainer.$content(), a = { searchEnabled: p(t, e), searchTimeout: t.option("headerFilter.searchTimeout"), searchMode: e.headerFilter && e.headerFilter.searchMode || "", dataSource: e.dataSource, onContentReady: function () { t.renderCompleted.fire() }, itemTemplate: function (t, n, a) { var o = (0, i.default)(a); return e.encodeHtml ? o.text(t.text) : o.html(t.text) } }; function s(n) { "searchValue" !== n.fullName || e.isFilterBuilder || !1 === t.option("headerFilter.hideSelectAllOnSearch") || ("tree" === e.type ? n.component.option("showCheckBoxesMode", n.value ? "normal" : "selectAll") : n.component.option("selectionMode", n.value ? "multiple" : "all")) } "tree" === e.type ? t._listContainer = t._createComponent((0, i.default)("<div>").appendTo(n), c.default, (0, l.extend)(a, { showCheckBoxesMode: e.isFilterBuilder ? "normal" : "selectAll", onOptionChanged: s, keyExpr: "id" })) : t._listContainer = t._createComponent((0, i.default)("<div>").appendTo(n), u.default, (0, l.extend)(a, { searchExpr: t._getSearchExpr(e), pageLoadMode: "scrollBottom", showSelectionControls: !0, selectionMode: e.isFilterBuilder ? "multiple" : "all", onOptionChanged: s, onSelectionChanged: function (t) { var n = t.component.option("items"), i = t.component.option("selectedItems"); if (!t.component._selectedItemsUpdating && !t.component.option("searchValue") && !e.isFilterBuilder) { var a = e.filterValues || [], s = "exclude" === e.filterType; 0 === i.length && n.length && (a.length <= 1 || s && a.length === n.length - 1) ? (e.filterType = "include", e.filterValues = []) : i.length === n.length && (e.filterType = "exclude", e.filterValues = []) } (0, r.each)(n, (function (t, n) { var a = o.default.getIndexByKey(n, i, null) >= 0; if (!!n.selected !== a) { n.selected = a, e.filterValues = e.filterValues || []; var s = o.default.getIndexByKey(n.value, e.filterValues, null); s >= 0 && e.filterValues.splice(s, 1), a ^ "exclude" === e.filterType && e.filterValues.push(n.value) } })), f(t, e.filterValues) }, onContentReady: function (t) { var n = t.component, i = n.option("items"), a = []; (0, r.each)(i, (function () { this.selected && a.push(this) })), n._selectedItemsUpdating = !0, n.option("selectedItems", a), n._selectedItemsUpdating = !1, f(t, e.filterValues) } })) }, _renderCore: function () { this.element().addClass("dx-header-filter-menu") } }); t.HeaderFilterView = g; var m = function (e) { return (0, s.isDefined)(e.allowHeaderFiltering) ? e.allowHeaderFiltering : e.allowFiltering }; t.allowHeaderFiltering = m; var _ = { _applyColumnState: function (e) { var t, n = e.rootElement, i = e.column; return "headerFilter" === e.name ? (n.find(".dx-header-filter").remove(), m(i) && (t = this.callBase(e).toggleClass("dx-header-filter-empty", this._isHeaderFilterEmpty(i)), this.option("useLegacyKeyboardNavigation") || t.attr("tabindex", this.option("tabindex") || 0)), t) : this.callBase(e) }, _isHeaderFilterEmpty: function (e) { return !e.filterValues || !e.filterValues.length }, _getIndicatorClassName: function (e) { return "headerFilter" === e ? "dx-header-filter" : this.callBase(e) }, _renderIndicator: function (e) { var t = e.container, n = e.indicator; if ("headerFilter" === e.name) { var i = this.option("rtlEnabled"); if (t.children().length && (!i && "right" === e.columnAlignment || i && "left" === e.columnAlignment)) return void t.prepend(n) } this.callBase(e) }, optionChanged: function (e) { if ("headerFilter" === e.name) { var t = "columnHeadersView" === this.name; this._invalidate(t, t), e.handled = !0 } else this.callBase(e) } }; t.headerFilterMixin = _ }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(11)), a = o(n(341)); function o(e) { return e && e.__esModule ? e : { default: e } } (0, i.default)("dxTextEditor", a.default); var s = a.default; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = n(0), o = l(n(15)), s = l(n(12)), r = l(n(9)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = s.default.real(), c = d.ios, u = d.mac, h = o.default.msie || c || u, f = function (e, t) { if (e = (0, i.default)(e).get(0), !(0, a.isDefined)(t)) return function (e) { var t; try { t = { start: e.selectionStart, end: e.selectionEnd } } catch (e) { t = { start: 0, end: 0 } } return t }(e); h && r.default.getActiveElement() !== e || function (e, t) { if (r.default.getBody().contains(e)) try { e.selectionStart = t.start, e.selectionEnd = t.end } catch (e) { } }(e, t) }; t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(5)), a = n(8), o = l(n(15)), s = n(14), r = n(28); function l(e) { return e && e.__esModule ? e : { default: e } } function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var c = function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.editor = t, this.DIRECTION = { FORWARD: "forward", BACKWARD: "backward" }, this.NAME = this._getStrategyName() } var t, n, l; return t = e, (n = [{ key: "_getStrategyName", value: function () { return "base" } }, { key: "editorOption", value: function () { var e; return (e = this.editor).option.apply(e, arguments) } }, { key: "editorInput", value: function () { return this.editor._input() } }, { key: "editorCaret", value: function (e) { if (!e) return this.editor._caret(); this.editor._caret(e) } }, { key: "getHandler", value: function (e) { return (this["_".concat(e, "Handler")] || function () { }).bind(this) } }, { key: "attachEvents", value: function () { var e = this, t = this.editorInput(); this.getHandleEventNames().forEach((function (n) { var o = (0, a.addNamespace)(n.toLowerCase(), "dxMask"); i.default.on(t, o, e.getEventHandler(n)) })), this._attachChangeEventHandlers() } }, { key: "getHandleEventNames", value: function () { return ["focusIn", "focusOut", "keyDown", "input", "paste", "cut", "drop"] } }, { key: "getEventHandler", value: function (e) { return this["_".concat(e, "Handler")].bind(this) } }, { key: "detachEvents", value: function () { i.default.off(this.editorInput(), ".".concat("dxMask")) } }, { key: "_attachChangeEventHandlers", value: function () { -1 !== (0, s.inArray)("change", this.editorOption("valueChangeEvent").split(" ")) && i.default.on(this.editorInput(), (0, a.addNamespace)("blur beforedeactivate", "dxMask"), function (e) { this._suppressCaretChanging(this._changeHandler, [e]), this._changeHandler(e) }.bind(this.editor)) } }, { key: "_focusInHandler", value: function () { if (this.editor._showMaskPlaceholder(), this.editor._direction(this.DIRECTION.FORWARD), !this.editor._isValueEmpty() && this.editorOption("isValid")) this.editor._adjustCaret(); else { var e = this.editor._maskRulesChain.first(); this._caretTimeout = setTimeout(function () { this._caret({ start: e, end: e }) }.bind(this.editor), 0) } } }, { key: "_focusOutHandler", value: function (e) { this.editor._changeHandler(e), "onFocus" === this.editorOption("showMaskMode") && this.editor._isValueEmpty() && (this.editorOption("text", ""), this.editor._renderDisplayText("")) } }, { key: "_cutHandler", value: function (e) { var t = this.editorCaret(), n = this.editorInput().val().substring(t.start, t.end); this.editor._maskKeyHandler(e, (function () { return (0, r.clipboardText)(e, n) })) } }, { key: "_dropHandler", value: function () { this._clearDragTimer(), this._dragTimer = setTimeout(function () { this.option("value", this._convertToValue(this._input().val())) }.bind(this.editor)) } }, { key: "_clearDragTimer", value: function () { clearTimeout(this._dragTimer) } }, { key: "_keyDownHandler", value: function () { this._keyPressHandled = !1 } }, { key: "_pasteHandler", value: function (e) { var t = this.editor; this._keyPressHandled = !0; var n = this.editorCaret(); t._maskKeyHandler(e, (function () { var i = (0, r.clipboardText)(e), a = t._maskRulesChain.text().substring(n.end), o = t._handleChain({ text: i, start: n.start, length: i.length }), s = n.start + o; t._handleChain({ text: a, start: s, length: a.length }), t._caret({ start: s, end: s }) })) } }, { key: "_autoFillHandler", value: function (e) { var t = this, n = this.editor, i = this.editorInput().val(); this._inputHandlerTimer = setTimeout((function () { t._keyPressHandled = !0, t._isAutoFill() && (t._keyPressHandled = !0, n._maskKeyHandler(e, (function () { n._handleChain({ text: i, start: 0, length: i.length }) })), n._validateMask()) })) } }, { key: "_isAutoFill", value: function () { var e = this.editor._input(), t = !1; if (o.default.msie && o.default.version > 11) t = e.hasClass("edge-autofilled"); else if (o.default.webkit) { var n = e.get(0); t = n && n.matches(":-webkit-autofill") } return t } }, { key: "runWithoutEventProcessing", value: function (e) { var t = this._keyPressHandled; this._keyPressHandled = !0, e(), this._keyPressHandled = t } }, { key: "_backspaceHandler", value: function () { } }, { key: "_delHandler", value: function (e) { var t = this.editor; this._keyPressHandled = !0, t._maskKeyHandler(e, (function () { return !t._hasSelection() && t._handleKey(" ") })) } }, { key: "clean", value: function () { this._clearDragTimer(), clearTimeout(this._backspaceHandlerTimeout), clearTimeout(this._caretTimeout), clearTimeout(this._inputHandlerTimer) } }]) && d(t.prototype, n), l && d(t, l), e }(); t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = n(20), o = n(1), s = n(3), r = p(n(12)), l = n(83), d = p(n(352)), c = p(n(84)), u = n(70), h = n(0), f = n(4); function p(e) { return e && e.__esModule ? e : { default: e } } var g = c.default.inherit({ _getDefaultOptions: function () { return (0, o.extend)(this.callBase(), { keyExpr: "id", displayExpr: "text", selectedExpr: "selected", disabledExpr: "disabled", itemsExpr: "items", hoverStateEnabled: !0, parentIdExpr: "parentId", expandedExpr: "expanded" }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === r.default.real().deviceType && !r.default.isSimulator() }, options: { focusStateEnabled: !0 } }]) }, _init: function () { this.callBase(), this._initAccessors(), this._initDataAdapter(), this._initDynamicTemplates() }, _initDataSource: function () { this.callBase(), this._dataSource && this._dataSource.paginate(!1) }, _initDataAdapter: function () { var e = this._createDataAdapterAccessors(); this._dataAdapter = new d.default((0, o.extend)({ dataAccessors: { getters: e.getters, setters: e.setters }, items: this.option("items") }, this._getDataAdapterOptions())) }, _getDataAdapterOptions: f.noop, _initDynamicTemplates: function () { var e = this; this._templateManager.addDefaultTemplates({ item: new u.BindableTemplate(function (t, n) { t.html(n.html).append(this._getIconContainer(n)).append(this._getTextContainer(n)).append(this._getPopoutContainer(n)), e._addContentClasses(n, t.parent()) }.bind(this), ["text", "html", "items", "icon"], this.option("integrationOptions.watchMethod"), { text: this._displayGetter, items: this._itemsGetter }) }) }, _getIconContainer: function (e) { return e.icon ? (0, l.getImageContainer)(e.icon) : void 0 }, _getTextContainer: function (e) { return (0, i.default)("<span>").text(e.text) }, _getPopoutContainer: f.noop, _addContentClasses: f.noop, _initAccessors: function () { var e = this; (0, s.each)(this._getAccessors(), (function (t, n) { e._compileAccessor(n) })), this._compileDisplayGetter() }, _getAccessors: function () { return ["key", "selected", "items", "disabled", "parentId", "expanded"] }, _getChildNodes: function (e) { var t = this, n = []; return (0, s.each)(e.internalFields.childrenKeys, (function (e, i) { var a = t._dataAdapter.getNodeByKey(i); n.push(a) })), n }, _hasChildren: function (e) { return e && e.internalFields.childrenKeys.length }, _compileAccessor: function (e) { var t = "_" + e + "Getter", n = "_" + e + "Setter", i = this.option(e + "Expr"); return i ? (0, h.isFunction)(i) ? (this[n] = function (e, t) { e[i()] = t }, void (this[t] = function (e) { return e[i()] })) : (this[t] = (0, a.compileGetter)(i), void (this[n] = (0, a.compileSetter)(i))) : (this[t] = f.noop, void (this[n] = f.noop)) }, _createDataAdapterAccessors: function () { var e = this, t = { getters: {}, setters: {} }; return (0, s.each)(this._getAccessors(), (function (n, i) { var a = "_" + i + "Getter", o = "_" + i + "Setter", s = "parentId" === i ? "parentKey" : i; t.getters[s] = e[a], t.setters[s] = e[o] })), t.getters.display = this._displayGetter ? this._displayGetter : function (e) { return e.text }, t }, _initMarkup: function () { this.callBase(), this._addWidgetClass() }, _addWidgetClass: function () { this._focusTarget().addClass(this._widgetClass()) }, _widgetClass: f.noop, _renderItemFrame: function (e, t) { var n = this.callBase.apply(this, arguments); return n.toggleClass("dx-state-disabled", !!this._disabledGetter(t)), n }, _optionChanged: function (e) { switch (e.name) { case "displayExpr": case "keyExpr": this._initAccessors(), this._initDynamicTemplates(), this.repaint(); break; case "itemsExpr": case "selectedExpr": case "disabledExpr": case "expandedExpr": case "parentIdExpr": this._initAccessors(), this._initDataAdapter(), this.repaint(); break; case "items": this._initDataAdapter(), this.callBase(e); break; default: this.callBase(e) } } }); t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; t.SimulatedStrategy = t.Scroller = void 0; var i = w(n(2)), a = w(n(9)), o = w(n(5)), s = n(43), r = n(1), l = n(7), d = n(3), c = n(0), u = n(25), h = n(30), f = w(n(13)), p = w(n(215)), g = w(n(12)), m = n(8), _ = n(4), v = w(n(216)), y = n(6); function w(e) { return e && e.__esModule ? e : { default: e } } var x, b, C = "android" === g.default.real.platform, k = "horizontal", I = C ? .95 : .92, S = Math.round(1e3 / 60), E = (C ? 300 : 400) / S, D = (1 - Math.pow(I, E)) / (1 - I), T = "pageUp", A = "pageDown", O = "end", B = "home", M = "leftArrow", P = "upArrow", R = "rightArrow", F = "downArrow", V = "tab", q = p.default.inherit({ ctor: function (e) { this.callBase(), this.scroller = e }, VELOCITY_LIMIT: 1, _isFinished: function () { return Math.abs(this.scroller._velocity) <= this.VELOCITY_LIMIT }, _step: function () { this.scroller._scrollStep(this.scroller._velocity), this.scroller._velocity *= this._acceleration() }, _acceleration: function () { return this.scroller._inBounds() ? I : .5 }, _complete: function () { this.scroller._scrollComplete() }, _stop: function () { this.scroller._stopComplete() } }), L = q.inherit({ VELOCITY_LIMIT: .2, _isFinished: function () { return this.scroller._crossBoundOnNextStep() || this.callBase() }, _acceleration: function () { return I }, _complete: function () { this.scroller._move(this.scroller._bounceLocation), this.callBase() } }), H = f.default.inherit({ ctor: function (e) { this._initOptions(e), this._initAnimators(), this._initScrollbar() }, _initOptions: function (e) { var t = this; this._location = 0, this._topReached = !1, this._bottomReached = !1, this._axis = e.direction === k ? "x" : "y", this._prop = e.direction === k ? "left" : "top", this._dimension = e.direction === k ? "width" : "height", this._scrollProp = e.direction === k ? "scrollLeft" : "scrollTop", (0, d.each)(e, (function (e, n) { t["_" + e] = n })) }, _initAnimators: function () { this._inertiaAnimator = new q(this), this._bounceAnimator = new L(this) }, _initScrollbar: function () { this._scrollbar = new v.default((0, i.default)("<div>").appendTo(this._$container), { direction: this._direction, visible: this._scrollByThumb, visibilityMode: this._visibilityModeNormalize(this._scrollbarVisible), expandable: this._scrollByThumb }), this._$scrollbar = this._scrollbar.$element() }, _visibilityModeNormalize: function (e) { return !0 === e ? "onScroll" : !1 === e ? "never" : e }, _scrollStep: function (e) { var t = this._location; this._location += e, this._suppressBounce(), this._move(), Math.abs(t - this._location) < 1 || o.default.triggerHandler(this._$container, { type: "scroll" }) }, _suppressBounce: function () { this._bounceEnabled || this._inBounds(this._location) || (this._velocity = 0, this._location = this._boundLocation()) }, _boundLocation: function (e) { return e = void 0 !== e ? e : this._location, Math.max(Math.min(e, this._maxOffset), this._minOffset) }, _move: function (e) { this._location = void 0 !== e ? e * this._getScaleRatio() : this._location, this._moveContent(), this._moveScrollbar() }, _moveContent: function () { var e = this._location; this._$container[this._scrollProp](-e / this._getScaleRatio()), this._moveContentByTranslator(e) }, _getScaleRatio: function () { if ((0, l.hasWindow)() && !this._scaleRatio) { var e = this._$element.get(0), t = this._getRealDimension(e, this._dimension), n = this._getBaseDimension(e, this._dimension); this._scaleRatio = Math.round(t / n * 100) / 100 } return this._scaleRatio || 1 }, _getRealDimension: function (e, t) { return Math.round((0, u.getBoundingRect)(e)[t]) }, _getBaseDimension: function (e, t) { return e["offset" + (0, s.titleize)(t)] }, _moveContentByTranslator: function (e) { var t, n = -this._maxScrollPropValue; if (t = e > 0 ? e : e <= n ? e - n : e % 1, this._translateOffset !== t) { var i = {}; i[this._prop] = t, this._translateOffset = t, 0 !== t ? (0, h.move)(this._$content, i) : (0, h.resetPosition)(this._$content) } }, _moveScrollbar: function () { this._scrollbar.moveTo(this._location) }, _scrollComplete: function () { this._inBounds() && (this._hideScrollbar(), this._completeDeferred && this._completeDeferred.resolve()), this._scrollToBounds() }, _scrollToBounds: function () { this._inBounds() || (this._bounceAction(), this._setupBounce(), this._bounceAnimator.start()) }, _setupBounce: function () { var e = (this._bounceLocation = this._boundLocation()) - this._location; this._velocity = e / D }, _inBounds: function (e) { return e = void 0 !== e ? e : this._location, this._boundLocation(e) === e }, _crossBoundOnNextStep: function () { var e = this._location, t = e + this._velocity; return e < this._minOffset && t >= this._minOffset || e > this._maxOffset && t <= this._maxOffset }, _initHandler: function (e) { return this._stopDeferred = new y.Deferred, this._stopScrolling(), this._prepareThumbScrolling(e), this._stopDeferred.promise() }, _stopScrolling: (0, _.deferRenderer)((function () { this._hideScrollbar(), this._inertiaAnimator.stop(), this._bounceAnimator.stop() })), _prepareThumbScrolling: function (e) { if (!(0, m.isDxMouseWheelEvent)(e.originalEvent)) { var t = (0, i.default)(e.originalEvent.target), n = this._isScrollbar(t); n && this._moveToMouseLocation(e), this._thumbScrolling = n || this._isThumb(t), this._crossThumbScrolling = !this._thumbScrolling && this._isAnyThumbScrolling(t), this._thumbScrolling && this._scrollbar.feedbackOn() } }, _isThumbScrollingHandler: function (e) { return this._isThumb(e) }, _moveToMouseLocation: function (e) { var t = e["page" + this._axis.toUpperCase()] - this._$element.offset()[this._prop], n = this._location + t / this._containerToContentRatio() - this._$container.height() / 2; this._scrollStep(-Math.round(n)) }, _stopComplete: function () { this._stopDeferred && this._stopDeferred.resolve() }, _startHandler: function () { this._showScrollbar() }, _moveHandler: function (e) { this._crossThumbScrolling || (this._thumbScrolling && (e[this._axis] = -Math.round(e[this._axis] / this._containerToContentRatio())), this._scrollBy(e)) }, _scrollBy: function (e) { e = e[this._axis], this._inBounds() || (e *= .5), this._scrollStep(e) }, _scrollByHandler: function (e) { this._scrollBy(e), this._scrollComplete() }, _containerToContentRatio: function () { return this._scrollbar.containerToContentRatio() }, _endHandler: function (e) { return this._completeDeferred = new y.Deferred, this._velocity = e[this._axis], this._inertiaHandler(), this._resetThumbScrolling(), this._completeDeferred.promise() }, _inertiaHandler: function () { this._suppressInertia(), this._inertiaAnimator.start() }, _suppressInertia: function () { this._inertiaEnabled && !this._thumbScrolling || (this._velocity = 0) }, _resetThumbScrolling: function () { this._thumbScrolling = !1, this._crossThumbScrolling = !1 }, _stopHandler: function () { this._thumbScrolling && this._scrollComplete(), this._resetThumbScrolling(), this._scrollToBounds() }, _disposeHandler: function () { this._stopScrolling(), this._$scrollbar.remove() }, _updateHandler: function () { this._update(), this._moveToBounds() }, _update: function () { var e = this; return this._stopScrolling(), (0, _.deferUpdate)((function () { e._resetScaleRatio(), e._updateLocation(), e._updateBounds(), e._updateScrollbar(), (0, _.deferRender)((function () { e._moveScrollbar(), e._scrollbar.update() })) })) }, _resetScaleRatio: function () { this._scaleRatio = null }, _updateLocation: function () { this._location = ((0, h.locate)(this._$content)[this._prop] - this._$container[this._scrollProp]()) * this._getScaleRatio() }, _updateBounds: function () { this._maxOffset = Math.round(this._getMaxOffset()), this._minOffset = Math.round(this._getMinOffset()) }, _getMaxOffset: function () { return 0 }, _getMinOffset: function () { return this._maxScrollPropValue = Math.max(this._contentSize() - this._containerSize(), 0), -this._maxScrollPropValue }, _updateScrollbar: (0, _.deferUpdater)((function () { var e = this, t = this._containerSize(), n = this._contentSize(), i = this._getBaseDimension(this._$container.get(0), this._dimension), a = this._getBaseDimension(this._$content.get(0), this._dimension); (0, _.deferRender)((function () { e._scrollbar.option({ containerSize: t, contentSize: n, baseContainerSize: i, baseContentSize: a, scaleRatio: e._getScaleRatio() }) })) })), _moveToBounds: (0, _.deferRenderer)((0, _.deferUpdater)((0, _.deferRenderer)((function () { var e = this._boundLocation(), t = e !== this._location; this._location = e, this._move(), t && this._scrollAction() })))), _createActionsHandler: function (e) { this._scrollAction = e.scroll, this._bounceAction = e.bounce }, _showScrollbar: function () { this._scrollbar.option("visible", !0) }, _hideScrollbar: function () { this._scrollbar.option("visible", !1) }, _containerSize: function () { return this._getRealDimension(this._$container.get(0), this._dimension) }, _contentSize: function () { var e = "hidden" === this._$content.css("overflow" + this._axis.toUpperCase()), t = this._getRealDimension(this._$content.get(0), this._dimension); if (!e) { var n = this._$content[0]["scroll" + (0, s.titleize)(this._dimension)] * this._getScaleRatio(); t = Math.max(n, t) } return t }, _validateEvent: function (e) { var t = (0, i.default)(e.originalEvent.target); return this._isThumb(t) || this._isScrollbar(t) || this._isContent(t) }, _isThumb: function (e) { return this._scrollByThumb && this._scrollbar.isThumb(e) }, _isScrollbar: function (e) { return this._scrollByThumb && e && e.is(this._$scrollbar) }, _isContent: function (e) { return this._scrollByContent && !!e.closest(this._$element).length }, _reachedMin: function () { return this._location <= this._minOffset }, _reachedMax: function () { return this._location >= this._maxOffset }, _cursorEnterHandler: function () { this._resetScaleRatio(), this._updateScrollbar(), this._scrollbar.cursorEnter() }, _cursorLeaveHandler: function () { this._scrollbar.cursorLeave() }, dispose: _.noop }); t.Scroller = H; var z = f.default.inherit({ ctor: function (e) { this._init(e) }, _init: function (e) { this._component = e, this._$element = e.$element(), this._$container = e._$container, this._$wrapper = e._$wrapper, this._$content = e._$content, this.option = e.option.bind(e), this._createActionByOption = e._createActionByOption.bind(e), this._isLocked = e._isLocked.bind(e), this._isDirection = e._isDirection.bind(e), this._allowedDirection = e._allowedDirection.bind(e), this._getScrollOffset = e._getScrollOffset.bind(e) }, render: function () { this._$element.addClass("dx-scrollable-simulated"), this._createScrollers(), this.option("useKeyboard") && this._$container.prop("tabIndex", 0), this._attachKeyboardHandler(), this._attachCursorHandlers() }, _createScrollers: function () { this._scrollers = {}, this._isDirection(k) && this._createScroller(k), this._isDirection("vertical") && this._createScroller("vertical"), this._$element.toggleClass("dx-scrollable-scrollbars-alwaysvisible", "always" === this.option("showScrollbar")), this._$element.toggleClass("dx-scrollable-scrollbars-hidden", !this.option("showScrollbar")) }, _createScroller: function (e) { this._scrollers[e] = new H(this._scrollerOptions(e)) }, _scrollerOptions: function (e) { return { direction: e, $content: this._$content, $container: this._$container, $wrapper: this._$wrapper, $element: this._$element, scrollByContent: this.option("scrollByContent"), scrollByThumb: this.option("scrollByThumb"), scrollbarVisible: this.option("showScrollbar"), bounceEnabled: this.option("bounceEnabled"), inertiaEnabled: this.option("inertiaEnabled"), isAnyThumbScrolling: this._isAnyThumbScrolling.bind(this) } }, _applyScaleRatio: function (e) { for (var t in this._scrollers) { var n = this._getPropByDirection(t); if ((0, c.isDefined)(e[n])) { var i = this._scrollers[t]; e[n] *= i._getScaleRatio() } } return e }, _isAnyThumbScrolling: function (e) { var t = !1; return this._eventHandler("isThumbScrolling", e).done((function (e, n) { t = e || n })), t }, handleInit: function (e) { this._suppressDirections(e), this._eventForUserAction = e, this._eventHandler("init", e).done(this._stopAction) }, _suppressDirections: function (e) { (0, m.isDxMouseWheelEvent)(e.originalEvent) ? this._prepareDirections(!0) : (this._prepareDirections(), this._eachScroller((function (t, n) { var i = t._validateEvent(e); this._validDirections[n] = i }))) }, _prepareDirections: function (e) { e = e || !1, this._validDirections = {}, this._validDirections.horizontal = e, this._validDirections.vertical = e }, _eachScroller: function (e) { e = e.bind(this), (0, d.each)(this._scrollers, (function (t, n) { e(n, t) })) }, handleStart: function (e) { this._eventForUserAction = e, this._eventHandler("start").done(this._startAction) }, _saveActive: function () { b = this }, _resetActive: function () { b === this && (b = null) }, handleMove: function (e) { if (this._isLocked()) return e.cancel = !0, void this._resetActive(); this._saveActive(), e.preventDefault && e.preventDefault(), this._adjustDistance(e, e.delta), this._eventForUserAction = e, this._eventHandler("move", e.delta) }, _adjustDistance: function (e, t) { t.x *= this._validDirections.horizontal, t.y *= this._validDirections.vertical; var n = this._tryGetDevicePixelRatio(); n && (0, m.isDxMouseWheelEvent)(e.originalEvent) && (t.x = Math.round(t.x / n * 100) / 100, t.y = Math.round(t.y / n * 100) / 100) }, _tryGetDevicePixelRatio: function () { if ((0, l.hasWindow)()) return (0, l.getWindow)().devicePixelRatio }, handleEnd: function (e) { return this._resetActive(), this._refreshCursorState(e.originalEvent && e.originalEvent.target), this._adjustDistance(e, e.velocity), this._eventForUserAction = e, this._eventHandler("end", e.velocity).done(this._endAction) }, handleCancel: function (e) { return this._resetActive(), this._eventForUserAction = e, this._eventHandler("end", { x: 0, y: 0 }) }, handleStop: function () { this._resetActive(), this._eventHandler("stop") }, handleScroll: function () { this._component._updateRtlConfig(), this._scrollAction() }, _attachKeyboardHandler: function () { o.default.off(this._$element, ".".concat("dxSimulatedScrollableKeyboard")), !this.option("disabled") && this.option("useKeyboard") && o.default.on(this._$element, (0, m.addNamespace)("keydown", "dxSimulatedScrollableKeyboard"), this._keyDownHandler.bind(this)) }, _keyDownHandler: function (e) { var t = this; if (clearTimeout(this._updateHandlerTimeout), this._updateHandlerTimeout = setTimeout((function () { (0, m.normalizeKeyName)(e) === V && t._eachScroller((function (e) { e._updateHandler() })) })), this._$container.is(a.default.getActiveElement())) { var n = !0; switch ((0, m.normalizeKeyName)(e)) { case F: this._scrollByLine({ y: 1 }); break; case P: this._scrollByLine({ y: -1 }); break; case R: this._scrollByLine({ x: 1 }); break; case M: this._scrollByLine({ x: -1 }); break; case A: this._scrollByPage(1); break; case T: this._scrollByPage(-1); break; case B: this._scrollToHome(); break; case O: this._scrollToEnd(); break; default: n = !1 }n && (e.stopPropagation(), e.preventDefault()) } }, _scrollByLine: function (e) { var t = this._tryGetDevicePixelRatio(), n = 40; t && (n = Math.abs(n / t * 100) / 100), this.scrollBy({ top: (e.y || 0) * -n, left: (e.x || 0) * -n }) }, _scrollByPage: function (e) { var t = this._wheelProp(), n = this._dimensionByProp(t), i = {}; i[t] = e * -this._$container[n](), this.scrollBy(i) }, _dimensionByProp: function (e) { return "left" === e ? "width" : "height" }, _getPropByDirection: function (e) { return e === k ? "left" : "top" }, _scrollToHome: function () { var e = {}; e[this._wheelProp()] = 0, this._component.scrollTo(e) }, _scrollToEnd: function () { var e = this._wheelProp(), t = this._dimensionByProp(e), n = {}; n[e] = this._$content[t]() - this._$container[t](), this._component.scrollTo(n) }, createActions: function () { this._startAction = this._createActionHandler("onStart"), this._stopAction = this._createActionHandler("onStop"), this._endAction = this._createActionHandler("onEnd"), this._updateAction = this._createActionHandler("onUpdated"), this._createScrollerActions() }, _createScrollerActions: function () { this._scrollAction = this._createActionHandler("onScroll"), this._bounceAction = this._createActionHandler("onBounce"), this._eventHandler("createActions", { scroll: this._scrollAction, bounce: this._bounceAction }) }, _createActionHandler: function (e) { var t = arguments, n = this, i = this._createActionByOption(e); return function () { i((0, r.extend)(n._createActionArgs(), t)) } }, _createActionArgs: function () { var e = this._scrollers, t = e.horizontal, n = e.vertical, i = this._getScrollOffset(); return this._scrollOffset = { top: n && i.top, left: t && i.left }, { event: this._eventForUserAction, scrollOffset: this._scrollOffset, reachedLeft: t && t._reachedMax(), reachedRight: t && t._reachedMin(), reachedTop: n && n._reachedMax(), reachedBottom: n && n._reachedMin() } }, _eventHandler: function (e) { var t = [].slice.call(arguments).slice(1), n = (0, d.map)(this._scrollers, (function (n) { return n["_" + e + "Handler"].apply(n, t) })); return y.when.apply(i.default, n).promise() }, location: function () { var e = (0, h.locate)(this._$content); return e.top -= this._$container.scrollTop(), e.left -= this._$container.scrollLeft(), e }, disabledChanged: function () { this._attachCursorHandlers() }, _attachCursorHandlers: function () { o.default.off(this._$element, ".".concat("dxSimulatedScrollableCursor")), !this.option("disabled") && this._isHoverMode() && (o.default.on(this._$element, (0, m.addNamespace)("mouseenter", "dxSimulatedScrollableCursor"), this._cursorEnterHandler.bind(this)), o.default.on(this._$element, (0, m.addNamespace)("mouseleave", "dxSimulatedScrollableCursor"), this._cursorLeaveHandler.bind(this))) }, _isHoverMode: function () { return "onHover" === this.option("showScrollbar") }, _cursorEnterHandler: function (e) { (e = e || {}).originalEvent = e.originalEvent || {}, b || e.originalEvent._hoverHandled || (x && x._cursorLeaveHandler(), x = this, this._eventHandler("cursorEnter"), e.originalEvent._hoverHandled = !0) }, _cursorLeaveHandler: function (e) { x === this && b !== x && (this._eventHandler("cursorLeave"), x = null, this._refreshCursorState(e && e.relatedTarget)) }, _refreshCursorState: function (e) { if (this._isHoverMode() || e && !b) { var t = (0, i.default)(e).closest(".".concat("dx-scrollable-simulated", ":not(.dx-state-disabled)")), n = t.length && t.data("dxScrollableStrategy"); x && x !== n && x._cursorLeaveHandler(), n && n._cursorEnterHandler() } }, update: function () { var e = this, t = this._eventHandler("update").done(this._updateAction); return (0, y.when)(t, (0, _.deferUpdate)((function () { var t = e._allowedDirections(); return (0, _.deferRender)((function () { var n = t.vertical ? "pan-x" : ""; n = t.horizontal ? "pan-y" : n, n = t.vertical && t.horizontal ? "none" : n, e._$container.css("touchAction", n) })), (0, y.when)().promise() }))) }, _allowedDirections: function () { var e = this.option("bounceEnabled"), t = this._scrollers.vertical, n = this._scrollers.horizontal; return { vertical: t && (t._minOffset < 0 || e), horizontal: n && (n._minOffset < 0 || e) } }, updateBounds: function () { this._scrollers.horizontal && this._scrollers.horizontal._updateBounds() }, scrollBy: function (e) { var t = this._scrollers.vertical, n = this._scrollers.horizontal; t && (e.top = t._boundLocation(e.top + t._location) - t._location), n && (e.left = n._boundLocation(e.left + n._location) - n._location), this._prepareDirections(!0), this._startAction(), this._eventHandler("scrollBy", { x: e.left, y: e.top }), this._endAction() }, validate: function (e) { return !this.option("disabled") && (!!this.option("bounceEnabled") || ((0, m.isDxMouseWheelEvent)(e) ? this._validateWheel(e) : this._validateMove(e))) }, _validateWheel: function (e) { var t = this, n = this._scrollers[this._wheelDirection(e)], i = n._reachedMin(), a = n._reachedMax(), o = !i || !a, s = !i && !a, r = i && e.delta > 0, l = a && e.delta < 0, d = o && (s || r || l); return (d = d || void 0 !== this._validateWheelTimer) && (clearTimeout(this._validateWheelTimer), this._validateWheelTimer = setTimeout((function () { t._validateWheelTimer = void 0 }), 500)), d }, _validateMove: function (e) { return !(!this.option("scrollByContent") && !(0, i.default)(e.target).closest(".".concat("dx-scrollable-scrollbar")).length) && this._allowedDirection() }, getDirection: function (e) { return (0, m.isDxMouseWheelEvent)(e) ? this._wheelDirection(e) : this._allowedDirection() }, _wheelProp: function () { return this._wheelDirection() === k ? "left" : "top" }, _wheelDirection: function (e) { switch (this.option("direction")) { case k: return k; case "vertical": return "vertical"; default: return e && e.shiftKey ? k : "vertical" } }, verticalOffset: function () { return 0 }, dispose: function () { this._resetActive(), x === this && (x = null), this._eventHandler("dispose"), this._detachEventHandlers(), this._$element.removeClass("dx-scrollable-simulated"), this._eventForUserAction = null, clearTimeout(this._validateWheelTimer), clearTimeout(this._updateHandlerTimeout) }, _detachEventHandlers: function () { o.default.off(this._$element, ".".concat("dxSimulatedScrollableCursor")), o.default.off(this._$container, ".".concat("dxSimulatedScrollableKeyboard")) } }); t.SimulatedStrategy = z }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(4), o = (i = n(13)) && i.__esModule ? i : { default: i }, s = n(103); var r = o.default.abstract, l = o.default.inherit({ ctor: function () { this._finished = !0, this._stopped = !1, this._proxiedStepCore = this._stepCore.bind(this) }, start: function () { this._stopped = !1, this._finished = !1, this._stepCore() }, stop: function () { this._stopped = !0, (0, s.cancelAnimationFrame)(this._stepAnimationFrame) }, _stepCore: function () { if (this._isStopped()) this._stop(); else { if (this._isFinished()) return this._finished = !0, void this._complete(); this._step(), this._stepAnimationFrame = (0, s.requestAnimationFrame)(this._proxiedStepCore) } }, _step: r, _isFinished: a.noop, _stop: a.noop, _complete: a.noop, _isStopped: function () { return this._stopped }, inProgress: function () { return !(this._stopped || this._finished) } }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(9)), o = p(n(5)), s = p(n(45)), r = n(30), l = p(n(29)), d = n(8), c = n(4), u = n(0), h = n(1), f = p(n(23)); function p(e) { return e && e.__esModule ? e : { default: e } } var g = "".concat("dx-scrollable-scrollbar", "-active"), m = "onScroll", _ = "onHover", v = "always", y = "never", w = null, x = l.default.inherit({ _getDefaultOptions: function () { return (0, h.extend)(this.callBase(), { direction: null, visible: !1, activeStateEnabled: !1, visibilityMode: m, containerSize: 0, contentSize: 0, expandable: !0, scaleRatio: 1 }) }, _init: function () { this.callBase(), this._isHovered = !1 }, _initMarkup: function () { this._renderThumb(), this.callBase() }, _render: function () { this.callBase(), this._renderDirection(), this._update(), this._attachPointerDownHandler(), this.option("hoverStateEnabled", this._isHoverMode()), this.$element().toggleClass("dx-scrollbar-hoverable", this.option("hoverStateEnabled")) }, _renderThumb: function () { this._$thumb = (0, i.default)("<div>").addClass("dx-scrollable-scroll"), (0, i.default)("<div>").addClass("dx-scrollable-scroll-content").appendTo(this._$thumb), this.$element().addClass("dx-scrollable-scrollbar").append(this._$thumb) }, isThumb: function (e) { return !!this.$element().find(e).length }, _isHoverMode: function () { var e = this.option("visibilityMode"); return (e === _ || e === v) && this.option("expandable") }, _renderDirection: function () { var e = this.option("direction"); this.$element().addClass("dx-scrollbar-" + e), this._dimension = "horizontal" === e ? "width" : "height", this._prop = "horizontal" === e ? "left" : "top" }, _attachPointerDownHandler: function () { o.default.on(this._$thumb, (0, d.addNamespace)(f.default.down, "dxScrollbar"), this.feedbackOn.bind(this)) }, feedbackOn: function () { this.$element().addClass(g), w = this }, feedbackOff: function () { this.$element().removeClass(g), w = null }, cursorEnter: function () { this._isHovered = !0, this._needScrollbar() && this.option("visible", !0) }, cursorLeave: function () { this._isHovered = !1, this.option("visible", !1) }, _renderDimensions: function () { this._$thumb.css({ width: this.option("width"), height: this.option("height") }) }, _toggleVisibility: function (e) { this.option("visibilityMode") === m && this._$thumb.css("opacity"), e = this._adjustVisibility(e), this.option().visible = e, this._$thumb.toggleClass("dx-state-invisible", !e) }, _adjustVisibility: function (e) { if (this._baseContainerToContentRatio && !this._needScrollbar()) return !1; switch (this.option("visibilityMode")) { case m: break; case _: e = e || !!this._isHovered; break; case y: e = !1; break; case v: e = !0 }return e }, moveTo: function (e) { if (!this._isHidden()) { (0, u.isPlainObject)(e) && (e = e[this._prop] || 0); var t = {}; t[this._prop] = this._calculateScrollBarPosition(e), (0, r.move)(this._$thumb, t) } }, _calculateScrollBarPosition: function (e) { return -e * this._thumbRatio }, _update: function () { var e = Math.round(this.option("containerSize")), t = Math.round(this.option("contentSize")), n = Math.round(this.option("baseContainerSize")), i = Math.round(this.option("baseContentSize")); isNaN(n) && (n = e, i = t), this._baseContainerToContentRatio = i ? n / i : n, this._realContainerToContentRatio = t ? e / t : e; var a = Math.round(Math.max(Math.round(e * this._realContainerToContentRatio), 15)); this._thumbRatio = (e - a) / (this.option("scaleRatio") * (t - e)), this.option(this._dimension, a / this.option("scaleRatio")), this.$element().css("display", this._needScrollbar() ? "" : "none") }, _isHidden: function () { return this.option("visibilityMode") === y }, _needScrollbar: function () { return !this._isHidden() && this._baseContainerToContentRatio < 1 }, containerToContentRatio: function () { return this._realContainerToContentRatio }, _normalizeSize: function (e) { return (0, u.isPlainObject)(e) ? e[this._dimension] || 0 : e }, _clean: function () { this.callBase(), this === w && (w = null), o.default.off(this._$thumb, ".dxScrollbar") }, _optionChanged: function (e) { if (!this._isHidden()) switch (e.name) { case "containerSize": case "contentSize": this.option()[e.name] = this._normalizeSize(e.value), this._update(); break; case "baseContentSize": case "baseContainerSize": this._update(); break; case "visibilityMode": case "direction": this._invalidate(); break; case "scaleRatio": this._update(); break; default: this.callBase.apply(this, arguments) } }, update: (0, c.deferRenderer)((function () { this._adjustVisibility() && this.option("visible", !0) })) }); s.default.add((function () { o.default.subscribeGlobal(a.default.getDocument(), (0, d.addNamespace)(f.default.up, "dxScrollbar"), (function () { w && w.feedbackOff() })) })); var b = x; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; t.deviceDependentOptions = void 0; var i, a = (i = n(12)) && i.__esModule ? i : { default: i }, o = n(41); t.deviceDependentOptions = function () { return [{ device: function () { return !o.nativeScrolling }, options: { useNative: !1 } }, { device: function (e) { return !a.default.isSimulator() && "desktop" === a.default.real().deviceType && "generic" === e.platform }, options: { bounceEnabled: !1, scrollByThumb: !0, scrollByContent: o.touch, showScrollbar: "onHover" } }] } }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = c(n(5)), o = n(4), s = c(n(93)), r = n(8), l = c(n(23)), d = n(127); function c(e) { return e && e.__esModule ? e : { default: e } } var u = s.default.abstract, h = (0, r.addNamespace)(l.default.down, "dxListEditDecorator"), f = (0, r.addNamespace)(d.active, "dxListEditDecorator"), p = s.default.inherit({ _init: function () { this._$topShield = (0, i.default)("<div>").addClass("dx-list-switchable-delete-top-shield"), this._$bottomShield = (0, i.default)("<div>").addClass("dx-list-switchable-delete-bottom-shield"), this._$itemContentShield = (0, i.default)("<div>").addClass("dx-list-switchable-delete-item-content-shield"), a.default.on(this._$topShield, h, this._cancelDeleteReadyItem.bind(this)), a.default.on(this._$bottomShield, h, this._cancelDeleteReadyItem.bind(this)), this._list.$element().append(this._$topShield.toggle(!1)).append(this._$bottomShield.toggle(!1)) }, handleClick: function () { return this._cancelDeleteReadyItem() }, _cancelDeleteReadyItem: function () { return !!this._$readyToDeleteItem && (this._cancelDelete(this._$readyToDeleteItem), !0) }, _cancelDelete: function (e) { this._toggleDeleteReady(e, !1) }, _toggleDeleteReady: function (e, t) { void 0 === t && (t = !this._isReadyToDelete(e)), this._toggleShields(e, t), this._toggleScrolling(t), this._cacheReadyToDeleteItem(e, t), this._animateToggleDelete(e, t) }, _isReadyToDelete: function (e) { return e.hasClass("dx-list-switchable-delete-ready") }, _toggleShields: function (e, t) { this._list.$element().toggleClass("dx-list-switchable-menu-shield-positioning", t), this._$topShield.toggle(t), this._$bottomShield.toggle(t), t && this._updateShieldsHeight(e), this._toggleContentShield(e, t) }, _updateShieldsHeight: function (e) { var t = this._list.$element(), n = t.offset().top, i = t.outerHeight(), a = e.offset().top - n, o = i - e.outerHeight() - a; this._$topShield.height(Math.max(a, 0)), this._$bottomShield.height(Math.max(o, 0)) }, _toggleContentShield: function (e, t) { t ? e.find(".dx-list-item-content").first().append(this._$itemContentShield) : this._$itemContentShield.detach() }, _toggleScrolling: function (e) { var t = this._list.$element().dxScrollView("instance"); e ? t.on("start", this._cancelScrolling) : t.off("start", this._cancelScrolling) }, _cancelScrolling: function (e) { e.event.cancel = !0 }, _cacheReadyToDeleteItem: function (e, t) { t ? this._$readyToDeleteItem = e : delete this._$readyToDeleteItem }, _animateToggleDelete: function (e, t) { t ? (this._enablePositioning(e), this._prepareDeleteReady(e), this._animatePrepareDeleteReady(e), a.default.off(e, l.default.up)) : (this._forgetDeleteReady(e), this._animateForgetDeleteReady(e).done(this._disablePositioning.bind(this, e))) }, _enablePositioning: function (e) { e.addClass("dx-list-switchable-menu-item-shield-positioning"), a.default.on(e, f, o.noop), a.default.one(e, l.default.up, this._disablePositioning.bind(this, e)) }, _disablePositioning: function (e) { e.removeClass("dx-list-switchable-menu-item-shield-positioning"), a.default.off(e, f) }, _prepareDeleteReady: function (e) { e.addClass("dx-list-switchable-delete-ready") }, _forgetDeleteReady: function (e) { e.removeClass("dx-list-switchable-delete-ready") }, _animatePrepareDeleteReady: u, _animateForgetDeleteReady: u, _getDeleteButtonContainer: function (e) { return (e = e || this._$readyToDeleteItem).children(".dx-list-switchable-delete-button-container") }, _deleteItem: function (e) { e = e || this._$readyToDeleteItem, this._getDeleteButtonContainer(e).detach(), e.is(".dx-state-disabled, .dx-state-disabled *") || this._list.deleteItem(e).always(this._cancelDelete.bind(this, e)) }, _isRtlEnabled: function () { return this._list.option("rtlEnabled") }, dispose: function () { this._$topShield && this._$topShield.remove(), this._$bottomShield && this._$bottomShield.remove(), this.callBase.apply(this, arguments) } }); t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = { _menuEnabled: function () { return !!this._menuItems().length }, _menuItems: function () { return this._list.option("menuItems") }, _deleteEnabled: function () { return this._list.option("allowItemDeleting") }, _fireMenuAction: function (e, t) { this._list._itemEventHandlerByHandler(e, t, {}, { excludeValidators: ["disabled", "readOnly"] }) } }; t.default = i, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = n(7), o = n(4), s = g(n(10)), r = g(n(11)), l = n(1), d = g(n(35)), c = g(n(84)), u = g(n(47)), h = g(n(160)), f = n(70), p = n(6); function g(e) { return e && e.__esModule ? e : { default: e } } var m = (0, a.getWindow)(), _ = c.default.inherit({ _getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { usePopover: !1, target: null, title: "", showTitle: !0, showCancelButton: !0, cancelText: s.default.format("Cancel"), onCancelClick: null, visible: !1, noDataText: "", focusStateEnabled: !1, selectionByClick: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "ios", tablet: !0 }, options: { usePopover: !0 } }]) }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ item: new f.BindableTemplate((function (e, t) { var n = new d.default((0, i.default)("<div>"), (0, l.extend)({ onClick: t && t.click }, t)); e.append(n.$element()) }), ["disabled", "icon", "text", "type", "onClick", "click"], this.option("integrationOptions.watchMethod")) }) }, _itemContainer: function () { return this._$itemContainer }, _itemClass: function () { return "dx-actionsheet-item" }, _itemDataKey: function () { return "dxActionSheetItemData" }, _toggleVisibility: o.noop, _renderDimensions: o.noop, _initMarkup: function () { this.callBase(), this.$element().addClass("dx-actionsheet"), this._createItemContainer() }, _render: function () { this._renderPopup() }, _createItemContainer: function () { this._$itemContainer = (0, i.default)("<div>").addClass("dx-actionsheet-container"), this._renderDisabled() }, _renderDisabled: function () { this._$itemContainer.toggleClass("dx-state-disabled", this.option("disabled")) }, _renderPopup: function () { this._$popup = (0, i.default)("<div>").appendTo(this.$element()), this._isPopoverMode() ? this._createPopover() : this._createPopup(), this._renderPopupTitle(), this._mapPopupOption("visible") }, _mapPopupOption: function (e) { this._popup && this._popup.option(e, this.option(e)) }, _isPopoverMode: function () { return this.option("usePopover") && this.option("target") }, _renderPopupTitle: function () { this._mapPopupOption("showTitle"), this._popup && this._popup._wrapper().toggleClass("dx-actionsheet-without-title", !this.option("showTitle")) }, _clean: function () { this._$popup && this._$popup.remove(), this.callBase() }, _overlayConfig: function () { return { onInitialized: function (e) { this._popup = e.component }.bind(this), disabled: !1, showTitle: !0, title: this.option("title"), deferRendering: !m.angular, onContentReady: this._popupContentReadyAction.bind(this), onHidden: this.hide.bind(this) } }, _createPopover: function () { this._createComponent(this._$popup, h.default, (0, l.extend)(this._overlayConfig(), { width: this.option("width") || 200, height: this.option("height") || "auto", target: this.option("target") })), this._popup._wrapper().addClass("dx-actionsheet-popover-wrapper") }, _createPopup: function () { this._createComponent(this._$popup, u.default, (0, l.extend)(this._overlayConfig(), { dragEnabled: !1, width: this.option("width") || "100%", height: this.option("height") || "auto", showCloseButton: !1, position: { my: "bottom", at: "bottom", of: m }, animation: { show: { type: "slide", duration: 400, from: { position: { my: "top", at: "bottom", of: m } }, to: { position: { my: "bottom", at: "bottom", of: m } } }, hide: { type: "slide", duration: 400, from: { position: { my: "bottom", at: "bottom", of: m } }, to: { position: { my: "top", at: "bottom", of: m } } } } })), this._popup._wrapper().addClass("dx-actionsheet-popup-wrapper") }, _popupContentReadyAction: function () { this._popup.$content().append(this._$itemContainer), this._attachClickEvent(), this._attachHoldEvent(), this._prepareContent(), this._renderContent(), this._renderCancelButton() }, _renderCancelButton: function () { if (!this._isPopoverMode() && (this._$cancelButton && this._$cancelButton.remove(), this.option("showCancelButton"))) { var e = this._createActionByOption("onCancelClick") || o.noop, t = this; this._$cancelButton = (0, i.default)("<div>").addClass("dx-actionsheet-cancel").appendTo(this._popup && this._popup.$content()), this._createComponent(this._$cancelButton, d.default, { disabled: !1, text: this.option("cancelText"), onClick: function (n) { var i = { event: n, cancel: !1 }; e(i), i.cancel || t.hide() }, integrationOptions: {} }) } }, _attachItemClickEvent: o.noop, _itemClickHandler: function (e) { this.callBase(e), (0, i.default)(e.target).is(".dx-state-disabled, .dx-state-disabled *") || this.hide() }, _itemHoldHandler: function (e) { this.callBase(e), (0, i.default)(e.target).is(".dx-state-disabled, .dx-state-disabled *") || this.hide() }, _optionChanged: function (e) { switch (e.name) { case "width": case "height": case "visible": case "title": this._mapPopupOption(e.name); break; case "disabled": this._renderDisabled(); break; case "showTitle": this._renderPopupTitle(); break; case "showCancelButton": case "onCancelClick": case "cancelText": this._renderCancelButton(); break; case "target": case "usePopover": case "items": this._invalidate(); break; default: this.callBase(e) } }, toggle: function (e) { var t = this, n = new p.Deferred; return t._popup.toggle(e).done((function () { t.option("visible", e), n.resolveWith(t) })), n.promise() }, show: function () { return this.toggle(!0) }, hide: function () { return this.toggle(!1) } }); (0, r.default)("dxActionSheet", _); var v = _; t.default = v, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.findChanges = void 0; var i = n(0), a = function (e, t) { var n = t(e); if ((0, i.isObject)(n)) try { return JSON.stringify(n) } catch (e) { return n } return n }, o = function (e, t, n, i) { return t[n[a(e, i)]] }; t.findChanges = function (e, t, n, i) { var s = {}, r = {}, l = 0, d = 0, c = []; e.forEach((function (e, t) { var i = a(e, n); s[i] = t })), t.forEach((function (e, t) { var i = a(e, n); r[i] = t })); for (var u = Math.max(e.length, t.length), h = 0; h < u + l; h++) { var f = t[h], p = h - l + d, g = e[p]; if (!f || g && !o(g, t, r, n)) g && (c.push({ type: "remove", key: n(g), index: h, oldItem: g }), d++, h--); else { var m = a(f, n), _ = s[m], v = e[_]; if (v) { if (_ !== p) return; i(v, f) || c.push({ type: "update", data: f, key: n(f), index: h, oldItem: v }) } else l++, c.push({ type: "insert", data: f, index: h }) } } return c } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = { _getSpecificDataSourceOption: function () { var e = this.option("dataSource"), t = !1, n = {}; return this._getGroupedOption() && function (e) { return Array.isArray(e) && e.every((function (e) { return 2 === Object.keys(e).length && ("key" in e && "items" in e) && Array.isArray(e.items) })) }(e) && (n = e.reduce((function (e, n) { var a = n.items.map((function (e) { return (0, i.isObject)(e) || (e = { text: e }, t = !0), "key" in e || (e.key = n.key), e })); return e.concat(a) }), []), e = { store: { type: "array", data: n }, group: { selector: "key", keepInitialKeyOrder: !0 } }, t && (e.searchExpr = "text")), e } }; t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(5)), o = p(n(11)), s = n(1), r = p(n(372)), l = n(18), d = n(7), c = n(25), u = n(30), h = p(n(38)), f = n(6); function p(e) { return e && e.__esModule ? e : { default: e } } var g = function (e) { return (0, i.default)(e).is(":visible") }, m = function (e, t) { var n, i; if (e) { var a = (null === (n = t.to) || void 0 === n ? void 0 : n.left) || 0, o = (null === (i = t.to) || void 0 === i ? void 0 : i.top) || 0; e.style.transform = "translate(".concat(a, "px,").concat(o, "px)"), e.style.transition = h.default.off ? "" : "transform ".concat(t.duration, "ms ").concat(t.easing) } }, _ = r.default.inherit({ _init: function () { this.callBase(), this._sourceScrollHandler = this._handleSourceScroll.bind(this), this._sourceScrollableInfo = null }, _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { clone: !0, filter: "> *", itemOrientation: "vertical", dropFeedbackMode: "push", allowDropInsideItem: !1, allowReordering: !0, moveItemOnDrop: !1, onDragChange: null, onAdd: null, onRemove: null, onReorder: null, onPlaceholderPrepared: null, animation: { type: "slide", duration: 300, easing: "ease" }, fromIndex: null, toIndex: null, dropInsideItem: !1, itemPoints: null, fromIndexOffset: 0, offset: 0, autoUpdate: !1, draggableElementSize: 0 }) }, reset: function () { this.option({ dropInsideItem: !1, toIndex: null, fromIndex: null, itemPoints: null, fromIndexOffset: 0, draggableElementSize: 0 }), this._$placeholderElement && this._$placeholderElement.remove(), this._$placeholderElement = null, !this._isIndicateMode() && this._$modifiedItem && (this._$modifiedItem.css("marginBottom", this._modifiedItemMargin), this._$modifiedItem = null) }, _getPrevVisibleItem: function (e, t) { return e.slice(0, t).reverse().filter(g)[0] }, _dragStartHandler: function (e) { if (this.callBase.apply(this, arguments), !0 !== e.cancel) { var t = this._getSourceElement(); this._updateItemPoints(), this._subscribeToSourceScroll(e), this.option("fromIndex", this._getElementIndex(t)), this.option("fromIndexOffset", this.option("offset")) } }, _dragEndHandler: function () { this.callBase.apply(this, arguments), this._unsubscribeFromSourceScroll() }, _subscribeToSourceScroll: function (e) { var t = this._getScrollable((0, i.default)(e.target)); t && (this._sourceScrollableInfo = { element: t, scrollLeft: t.scrollLeft(), scrollTop: t.scrollTop() }, a.default.on(t, "scroll", this._sourceScrollHandler)) }, _unsubscribeFromSourceScroll: function () { this._sourceScrollableInfo && (a.default.off(this._sourceScrollableInfo.element, "scroll", this._sourceScrollHandler), this._sourceScrollableInfo = null) }, _handleSourceScroll: function (e) { var t = this, n = this._sourceScrollableInfo; n && ["scrollLeft", "scrollTop"].forEach((function (i) { if (e.target[i] !== n[i]) { var a = e.target[i] - n[i]; t._correctItemPoints(a), n[i] = e.target[i] } })) }, _dragEnterHandler: function () { if (this.callBase.apply(this, arguments), this !== this._getSourceDraggable() && (this._updateItemPoints(), this.option("fromIndex", -1), !this._isIndicateMode())) { var e = this.option("itemPoints"), t = e[e.length - 1]; if (t) { var n = this.$element(), a = this._getSourceElement(), o = this._isVerticalOrientation(), s = o ? a.outerHeight(!0) : a.outerWidth(!0), r = n.get(0)[o ? "scrollHeight" : "scrollWidth"], l = n.get(0)[o ? "scrollTop" : "scrollLeft"], d = o ? "top" : "left", c = t[d], u = n.offset()[d], h = u + r - l - c; if (h < s && o) { var f = this._getItems(), p = (0, i.default)(this._getPrevVisibleItem(f)); this._$modifiedItem = p, this._modifiedItemMargin = p.get(0).style.marginBottom, p.css("marginBottom", s - h); var g = p.closest(".dx-sortable"), m = g.data("dxScrollable") || g.data("dxScrollView"); m && m.update() } } } }, dragEnter: function () { this !== this._getTargetDraggable() && this.option("toIndex", -1) }, dragLeave: function () { this !== this._getTargetDraggable() && this.option("toIndex", this.option("fromIndex")) }, _isInsideTargetDraggable: function (e) { var t = this._getTargetDraggable().$element(), n = this._getScrollable(t); if (n) { var i = n.offset(), a = i.top + n.height() >= e.pageY && i.top <= e.pageY, o = i.left + n.width() >= e.pageX && i.left <= e.pageX; return a && o } return !0 }, dragEnd: function (e) { var t, n, i = this._getSourceElement(), a = this._getSourceDraggable(), o = a.NAME !== this.NAME, s = this.option("toIndex"), r = this._isInsideTargetDraggable(e.event); if (null !== s && s >= 0 && r && (a !== this && ((t = this._fireAddEvent(e)) || (n = this._fireRemoveEvent(e))), o && (0, u.resetPosition)(i), this.option("moveItemOnDrop") && !t && this._moveItem(i, s, n), a === this)) return this._fireReorderEvent(e); return (new f.Deferred).resolve() }, dragMove: function (e) { var t = this.option("itemPoints"); if (t) { for (var n, i = this._isVerticalOrientation(), a = i ? "top" : "left", o = i ? e.pageY : e.pageX, s = this.option("rtlEnabled"), r = t.length - 1; r >= 0; r--) { var l = t[r + 1] && (t[r][a] + t[r + 1][a]) / 2; if (!(!i && s ? o > l : l > o) && void 0 !== l) break; n = t[r] } n && (this._updatePlaceholderPosition(e, n), this._verticalScrollHelper.isScrolling() && this._isIndicateMode() && this._movePlaceholder()) } }, _isIndicateMode: function () { return "indicate" === this.option("dropFeedbackMode") || this.option("allowDropInsideItem") }, _createPlaceholder: function () { var e; return this._isIndicateMode() && (e = (0, i.default)("<div>").addClass(this._addWidgetPrefix("placeholder")).insertBefore(this._getSourceDraggable()._$dragElement)), this._$placeholderElement = e, e }, _getItems: function () { var e = this._getItemsSelector(); return this._$content().find(e).not("." + this._addWidgetPrefix("placeholder")).not("." + this._addWidgetPrefix("clone")).toArray() }, _allowReordering: function () { return this._getSourceDraggable() !== this._getTargetDraggable() || this.option("allowReordering") }, _isValidPoint: function (e, t, n) { var i = this.option("allowDropInsideItem"); return !!(n || this._allowReordering() || 0 === e && i) && (!this._isIndicateMode() || (-1 === t || e !== t && (n || e !== t + 1))) }, _getItemPoints: function () { var e, t, n, a = [], o = this.option("rtlEnabled"), r = this._isVerticalOrientation(), l = this._getItems(), d = l.filter(g), c = d.length, u = this._getDraggableElement(), h = d.indexOf(u.get(0)); if (c) { for (var f = 0; f <= c; f++) { var p = !r && o ^ f === c, m = r && f === c; f < c && (t = (e = (0, i.default)(d[f])).offset(), n = e.outerWidth()), a.push({ dropInsideItem: !1, left: t.left + (p ? n : 0), top: t.top + (m ? a[f - 1].height : 0), index: f === c ? l.length : l.indexOf(e.get(0)), $item: e, width: e.outerWidth(), height: e.outerHeight(), isValid: this._isValidPoint(f, h) }) } if (this.option("allowDropInsideItem")) { var _ = a; a = []; for (var v = 0; v < _.length; v++)a.push(_[v]), _[v + 1] && a.push((0, s.extend)({}, _[v], { dropInsideItem: !0, top: Math.floor((_[v].top + _[v + 1].top) / 2), left: Math.floor((_[v].left + _[v + 1].left) / 2), isValid: this._isValidPoint(v, h, !0) })) } } else a.push({ dropInsideItem: !1, index: 0, isValid: !0 }); return a }, _updateItemPoints: function (e) { (e || this.option("autoUpdate") || !this.option("itemPoints")) && this.option("itemPoints", this._getItemPoints()) }, _correctItemPoints: function (e) { var t = this.option("itemPoints"); if (e && t && !this.option("autoUpdate")) { var n = this._isVerticalOrientation() ? "top" : "left"; t.forEach((function (t) { t[n] -= e })) } }, _getElementIndex: function (e) { return this._getItems().indexOf(e.get(0)) }, _getDragTemplateArgs: function (e) { var t = this.callBase.apply(this, arguments); return t.model.fromIndex = this._getElementIndex(e), t }, _togglePlaceholder: function (e) { this._$placeholderElement && this._$placeholderElement.toggle(e) }, _isVerticalOrientation: function () { return "vertical" === this.option("itemOrientation") }, _normalizeToIndex: function (e, t) { var n = this._getSourceDraggable() !== this._getTargetDraggable(), i = this.option("fromIndex"); return null === e ? i : Math.max(n || i >= e || t ? e : e - 1, 0) }, _updatePlaceholderPosition: function (e, t) { var n = this._getSourceDraggable(), i = this._normalizeToIndex(t.index, t.dropInsideItem), a = (0, s.extend)(this._getEventArgs(e), { toIndex: i, dropInsideItem: t.dropInsideItem }); t.isValid && this._getAction("onDragChange")(a), !a.cancel && t.isValid ? (this.option({ dropInsideItem: t.dropInsideItem, toIndex: t.index }), this._getAction("onPlaceholderPrepared")((0, s.extend)(this._getEventArgs(e), { placeholderElement: (0, l.getPublicElement)(this._$placeholderElement), dragElement: (0, l.getPublicElement)(n._$dragElement) })), this._updateItemPoints()) : t.isValid || this.option({ dropInsideItem: !1, toIndex: null }) }, _makeWidthCorrection: function (e, t) { if (this._$scrollable = this._getScrollable(e), this._$scrollable && this._$scrollable.width() < t) { var n = this._$scrollable.width(), i = e.offset().left - this._$scrollable.offset().left, a = n - e.outerWidth() - i; t = i > 0 ? n - i : a > 0 ? n - a : n } return t }, _updatePlaceholderSizes: function (e, t) { var n = this.option("dropInsideItem"), a = (0, i.default)(t), o = this._isVerticalOrientation(), s = "", r = ""; e.toggleClass(this._addWidgetPrefix("placeholder-inside"), n), (o || n) && (s = a.outerWidth()), o && !n || (r = a.outerHeight()), s = this._makeWidthCorrection(a, s), e.css({ width: s, height: r }) }, _moveItem: function (e, t, n) { var i, a = this._getItems(), o = a[t], s = this._getSourceDraggable(); n && (e = e.clone(), s._toggleDragSourceClass(!1, e)), o || (i = a[t - 1]), this._moveItemCore(e, o, i) }, _moveItemCore: function (e, t, n) { t || n ? n ? e.insertAfter((0, i.default)(n)) : e.insertBefore((0, i.default)(t)) : e.appendTo(this.$element()) }, _getDragStartArgs: function (e, t) { return (0, s.extend)(this.callBase.apply(this, arguments), { fromIndex: this._getElementIndex(t) }) }, _getEventArgs: function (e) { var t = this._getSourceDraggable(), n = this._getTargetDraggable(), i = n.option("dropInsideItem"); return (0, s.extend)(this.callBase.apply(this, arguments), { fromIndex: t.option("fromIndex"), toIndex: this._normalizeToIndex(n.option("toIndex"), i), dropInsideItem: i }) }, _optionChanged: function (e) { var t = this, n = e.name; switch (n) { case "onDragChange": case "onPlaceholderPrepared": case "onAdd": case "onRemove": case "onReorder": this["_" + n + "Action"] = this._createActionByOption(n); break; case "itemOrientation": case "allowDropInsideItem": case "moveItemOnDrop": case "dropFeedbackMode": case "itemPoints": case "animation": case "allowReordering": case "fromIndexOffset": case "offset": case "draggableElementSize": case "autoUpdate": break; case "fromIndex": [!1, !0].forEach((function (n) { var a = n ? e.value : e.previousValue; if (null !== a) { var o = (0, i.default)(t._getItems()[a]); t._toggleDragSourceClass(n, o) } })); break; case "dropInsideItem": this._optionChangedDropInsideItem(e); break; case "toIndex": this._optionChangedToIndex(e); break; default: this.callBase(e) } }, _optionChangedDropInsideItem: function () { this._isIndicateMode() && this._$placeholderElement && this._movePlaceholder() }, _isPositionVisible: function (e) { var t, n = this.$element(); if ("hidden" !== n.css("overflow") ? t = n.get(0) : n.parents().each((function () { if ("visible" !== (0, i.default)(this).css("overflow")) return t = this, !1 })), t) { var a = (0, c.getBoundingRect)(t), o = this._isVerticalOrientation(), s = o ? "top" : "left", r = o ? "bottom" : "right", l = (0, d.getWindow)(), u = o ? l.pageYOffset : l.pageXOffset; if (e[s] < a[s] + u || e[s] > a[r] + u) return !1 } return !0 }, _optionChangedToIndex: function (e) { var t = e.value; if (this._isIndicateMode()) { var n = null !== t && t >= 0; this._togglePlaceholder(n), n && this._movePlaceholder() } else this._moveItems(e.previousValue, e.value, e.fullUpdate) }, update: function () { if (null !== this.option("fromIndex") || null !== this.option("toIndex")) { this._updateItemPoints(!0), this._updateDragSourceClass(); var e = this.option("toIndex"); this._optionChangedToIndex({ value: e, fullUpdate: !0 }) } }, _updateDragSourceClass: function () { var e = this._getActualFromIndex(), t = (0, i.default)(this._getItems()[e]); t.length && (this._$sourceElement = t, this._toggleDragSourceClass(!0, t)) }, _makeLeftCorrection: function (e, t) { var n = this._$scrollable; return n && this._isVerticalOrientation() && n.scrollLeft() > t && (e += n.scrollLeft() - t), e }, _movePlaceholder: function () { var e = this._$placeholderElement || this._createPlaceholder(), t = this._getItems(), n = this.option("toIndex"), a = this._isVerticalOrientation(), o = this.option("rtlEnabled"), s = this.option("dropInsideItem"), r = null, l = 0, d = t[n]; if (d) { var c = (0, i.default)(d); r = c.offset(), l = parseFloat(c.css("marginLeft")), a || !o || s || (r.left += c.outerWidth(!0)) } else { var u = d = this._getPrevVisibleItem(t, n); u && (r = (0, i.default)(u).offset(), a ? r.top += (0, i.default)(u).outerHeight(!0) : o || (r.left += (0, i.default)(u).outerWidth(!0))) } this._updatePlaceholderSizes(e, d), r && !this._isPositionVisible(r) && (r = null), r && (r.left = this._makeLeftCorrection(r.left, l), this._move(r, e)), e.toggle(!!r) }, _getPositions: function (e, t, n, i) { for (var a = [], o = 0; o < e.length; o++) { var s = 0; null !== i && null !== n ? (-1 === n ? o >= i && (s = t) : -1 === i ? o > n && (s = -t) : n < i ? o > n && o < i && (s = -t) : n > i && o >= i && o < n && (s = t), a.push(s)) : a.push(s) } return a }, _getDraggableElementSize: function (e) { var t = this._getDraggableElement(), n = this.option("draggableElementSize"); return n || (n = e ? (t.outerHeight() + t.outerHeight(!0)) / 2 : (t.outerWidth() + t.outerWidth(!0)) / 2, this.option("autoUpdate") || this.option("draggableElementSize", n)), n }, _getActualFromIndex: function () { var e = this.option(), t = e.fromIndex, n = e.fromIndexOffset, i = e.offset; return null == t ? null : t + n - i }, _moveItems: function (e, t, n) { for (var i, a, o, r, l = this._getActualFromIndex(), d = this._isVerticalOrientation(), c = d ? "top" : "left", u = this._getDraggableElementSize(d), h = this._getItems(), f = this._getPositions(h, u, l, e), p = this._getPositions(h, u, l, t), g = this.option("animation"), _ = this.option("rtlEnabled"), v = 0; v < h.length; v++) { var y = h[v], w = f[v], x = p[v]; null === t || null === l ? (r = y) && (r.style.transform = "", r.style.transition = "") : (w !== x || n && x) && m(y, (0, s.extend)({}, g, { to: (i = {}, a = c, o = !d && _ ? -x : x, a in i ? Object.defineProperty(i, a, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : i[a] = o, i) })) } }, _toggleDragSourceClass: function (e, t) { var n = t || this._$sourceElement; this.callBase.apply(this, arguments), this._isIndicateMode() || n && n.toggleClass(this._addWidgetPrefix("source-hidden"), e) }, _dispose: function () { this.reset(), this.callBase() }, _fireAddEvent: function (e) { var t = this._getEventArgs(e); return this._getAction("onAdd")(t), t.cancel }, _fireRemoveEvent: function (e) { var t = this._getSourceDraggable(), n = this._getEventArgs(e); return t._getAction("onRemove")(n), n.cancel }, _fireReorderEvent: function (e) { var t = this._getEventArgs(e); return this._getAction("onReorder")(t), t.promise || (new f.Deferred).resolve() } }); (0, o.default)("dxSortable", _); var v = _; t.default = v, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(4), s = n(1), r = n(25); var l = { _applyColumnState: function (e) { var t, n = this.option("rtlEnabled"), i = this._getColumnAlignment(e.column.alignment, n), o = (0, s.extend)(!0, { columnAlignment: i }, e), r = o.rootElement.hasClass("dx-group-panel-item"), l = this._createIndicatorContainer(o, r), d = (0, a.default)("<span>").addClass(this._getIndicatorClassName(e.name)), c = null === (t = this.component) || void 0 === t ? void 0 : t.getController("columns"), u = (null == c ? void 0 : c.getHeaderContentAlignment(i)) || i; return o.container = l, o.indicator = d, this._renderIndicator(o), l[!r && e.showColumnLines || "left" !== u ? "prependTo" : "appendTo"](e.rootElement), d }, _getIndicatorClassName: o.noop, _getColumnAlignment: function (e, t) { return t = t || this.option("rtlEnabled"), e && "center" !== e ? e : (0, r.getDefaultAlignment)(t) }, _createIndicatorContainer: function (e, t) { var n = this._getIndicatorContainer(e.rootElement), i = "left" === e.columnAlignment ? "right" : "left"; return n.length || (n = (0, a.default)("<div>").addClass("dx-column-indicators")), this.setAria("role", "presentation", n), n.css("float", e.showColumnLines && !t ? i : null) }, _getIndicatorContainer: function (e) { return e && e.find(".dx-column-indicators") }, _getIndicatorElements: function (e) { var t = this._getIndicatorContainer(e); return t && t.children() }, _renderIndicator: function (e) { var t = e.container, n = e.indicator; t && n && t.append(n) }, _updateIndicators: function (e) { var t, n = this.getColumns(), i = this.getColumnElements(); if (i && n.length === i.length) for (var a = 0; a < n.length; a++) { t = i.eq(a), this._updateIndicator(t, n[a], e); var o = t.parent().data("options"); o && o.cells && (o.cells[t.index()].column = n[a]) } }, _updateIndicator: function (e, t, n) { if (!t.command) return this._applyColumnState({ name: n, rootElement: e, column: t, showColumnLines: this.option("showColumnLines") }) } }; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(0), o = (i = n(2)) && i.__esModule ? i : { default: i }; var s = { _applyColumnState: function (e) { var t, n, i = this.option("sorting.mode"), s = e.rootElement, r = e.column, l = this._getIndicatorContainer(s); if ("sort" === e.name) { s.find(".dx-sort").remove(), !l.children().length && l.remove(); var d = ("single" === i || "multiple" === i) && r.allowSorting; if (!(0, a.isDefined)(r.groupIndex) && (d || (0, a.isDefined)(r.sortOrder))) t = "asc" === r.sortOrder ? "ascending" : "descending", n = this.callBase(e).toggleClass("dx-sort-up", "asc" === r.sortOrder).toggleClass("dx-sort-down", "desc" === r.sortOrder), this.getController && !!this.getController("columns").columnOption("sortIndex:1") && this.option("sorting.showSortIndexes") && r.sortIndex >= 0 && ((0, o.default)("<span>").addClass("dx-sort-index-icon").text(r.sortIndex + 1).appendTo(n), n.addClass("dx-sort-index")), e.rootElement.addClass(this.addWidgetPrefix("action")); return (0, a.isDefined)(r.sortOrder) ? this.setAria("sort", t, s) : this.setAria("sort", "none", s), n } return this.callBase(e) }, _getIndicatorClassName: function (e) { return "sort" === e ? "dx-sort" : "sortIndex" === e ? "dx-sort-index-icon" : this.callBase(e) }, _renderIndicator: function (e) { var t = e.column, n = e.container, i = e.indicator; if ("sort" === e.name) { var o = this.option("rtlEnabled"); if ((0, a.isDefined)(t.sortOrder) || i && i.addClass("dx-sort-none"), n.children().length && (!o && "left" === e.columnAlignment || o && "right" === e.columnAlignment)) return void n.prepend(i) } this.callBase(e) }, _updateIndicator: function (e, t, n) { if ("sort" !== n || !(0, a.isDefined)(t.groupIndex)) return this.callBase.apply(this, arguments) }, _getIndicatorElements: function (e, t) { var n = this.callBase(e); return t ? n : n && n.not(".dx-sort-none") } }; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = n(83), o = n(7), s = n(0), r = n(1), l = n(14), d = n(3), c = m(n(10)), u = m(n(11)), h = n(46), f = m(n(111)), p = m(n(113)), g = m(n(157)); function m(e) { return e && e.__esModule ? e : { default: e } } n(154); var _ = "<div>", v = (0, o.hasWindow)(); function y(e, t) { if (e.items) for (var n = 0; n < e.items.length; n++) { var i = y(e.items[n], t); if (i) return i } if (t(e)) return e } var w = [function (e, t) { return -!!e.isMeasure + +!!t.isMeasure }, function (e, t) { return -!(!e.items || !e.items.length) + +!(!t.items || !t.items.length) }, function (e, t) { return +!!(!1 === e.isMeasure && e.field && e.field.levels && e.field.levels.length) + -!!(!1 === t.isMeasure && t.field && t.field.levels && t.field.levels.length) }, (0, h.getCompareFunction)((function (e) { return e.text }))]; function x(e, t) { for (var n = 0, i = 0; !n && w[i];)n = w[i++](e, t); return n } function b(e) { return e.find(".dx-scrollable").dxScrollable("instance") } var C = g.default.inherit({ _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { height: 400, layout: 0, dataSource: null, onContextMenuPreparing: null, allowSearch: !1, searchTimeout: 500, texts: { columnFields: c.default.format("dxPivotGrid-columnFields"), rowFields: c.default.format("dxPivotGrid-rowFields"), dataFields: c.default.format("dxPivotGrid-dataFields"), filterFields: c.default.format("dxPivotGrid-filterFields"), allFields: c.default.format("dxPivotGrid-allFields") } }) }, _refreshDataSource: function () { var e = this; e._expandedPaths = [], e._changedHandler = e._changedHandler || function () { (0, d.each)(e._dataChangedHandlers, (function (e, t) { t() })), e._fireContentReadyAction(), e._skipStateChange = !0, e.option("state", e._dataSource.state()), e._skipStateChange = !1 }, e._disposeDataSource(), e.callBase(), e._dataSource && e._dataSource.on("changed", e._changedHandler) }, _disposeDataSource: function () { var e = this._dataSource; e && (e.off("changed", this._changedHandler), this._dataSource = void 0) }, _dispose: function () { this._disposeDataSource(), this.callBase.apply(this, arguments) }, _init: function () { this.callBase(), this._refreshDataSource(), this._dataChangedHandlers = [], this._initActions() }, _initActions: function () { this._actions = { onContextMenuPreparing: this._createActionByOption("onContextMenuPreparing") } }, _trigger: function (e, t) { this._actions[e](t) }, _setOptionsByReference: function () { this.callBase(), (0, r.extend)(this._optionsByReference, { dataSource: !0 }) }, _optionChanged: function (e) { switch (e.name) { case "dataSource": this._refreshDataSource(), this._invalidate(); break; case "layout": case "texts": case "allowSearch": case "searchTimeout": this._invalidate(); break; case "onContextMenuPreparing": this._actions[e.name] = this._createActionByOption(e.name); break; default: this.callBase(e) } }, _clean: function (e) { !e && this._dataSource && this.option("state", this._dataSource.state()), this.$element().children(".dx-pivotgridfieldchooser-container").remove() }, _renderLayout0: function (e) { e.addClass("dx-layout-0"); var t = (0, i.default)(_).addClass("dx-row").appendTo(e), n = (0, i.default)(_).addClass("dx-row").appendTo(e), a = (0, i.default)(_).addClass("dx-col").appendTo(t), o = (0, i.default)(_).addClass("dx-col").appendTo(t), s = (0, i.default)(_).addClass("dx-col").appendTo(n), r = (0, i.default)(_).addClass("dx-col").appendTo(n); this._renderArea(a, "all"), this._renderArea(o, "row"), this._renderArea(o, "column"), this._renderArea(s, "filter"), this._renderArea(r, "data") }, _renderLayout1: function (e) { var t = (0, i.default)(_).addClass("dx-col").appendTo(e), n = (0, i.default)(_).addClass("dx-col").appendTo(e); this._renderArea(t, "all"), this._renderArea(n, "filter"), this._renderArea(n, "row"), this._renderArea(n, "column"), this._renderArea(n, "data") }, _renderLayout2: function (e) { e.addClass("dx-layout-2"); var t = (0, i.default)(_).addClass("dx-row").appendTo(e); this._renderArea(t, "all"); var n = (0, i.default)(_).addClass("dx-row").appendTo(e), a = (0, i.default)(_).addClass("dx-col").appendTo(n), o = (0, i.default)(_).addClass("dx-col").appendTo(n); this._renderArea(a, "filter"), this._renderArea(a, "row"), this._renderArea(o, "column"), this._renderArea(o, "data") }, _initMarkup: function () { var e = this.$element(), t = (0, i.default)(_).addClass("dx-pivotgridfieldchooser-container").appendTo(e), n = this.option("layout"); this.callBase(), e.addClass("dx-pivotgridfieldchooser").addClass("dx-pivotgrid-fields-container"), this._dataChangedHandlers = []; var a = this._dataSource, o = "instantly" !== this.option("applyChangesMode") && a && a.state(); o && this.option("state") && a.state(this.option("state"), !0), 0 === n ? this._renderLayout0(t) : 1 === n ? this._renderLayout1(t) : this._renderLayout2(t), o && a.state(o, !0) }, _renderContentImpl: function () { this.callBase(), this.renderSortable(), this._renderContextMenu(), this.updateDimensions() }, _fireContentReadyAction: function () { this._dataSource && this._dataSource.isLoading() || this.callBase() }, _getContextMenuArgs: function (e) { var t, n, a = (0, i.default)(e.target).closest(".dx-area-field"), o = (0, i.default)(e.target).closest(".dx-area-fields"); if (a.length) { var s = a.data("field"); s && (t = this.getDataSource().field(s.index) || s) } return o.length && (n = o.attr("group")), { event: e, field: t, area: n, items: [] } }, _renderContextMenu: function () { var e = this, t = e.$element(); e._contextMenu && e._contextMenu.$element().remove(), e._contextMenu = e._createComponent((0, i.default)(_).appendTo(t), p.default, { onPositioning: function (t) { var n = t.event; if (n) { var i = e._getContextMenuArgs(n); e._trigger("onContextMenuPreparing", i), i.items && i.items.length ? t.component.option("items", i.items) : t.cancel = !0 } }, target: t, onItemClick: function (e) { e.itemData.onItemClick && e.itemData.onItemClick(e) }, cssClass: "dx-pivotgridfieldchooser-context-menu" }) }, _createTreeItems: function (e, t, n) { var i, a = this, o = [], r = [], c = t[0], u = {}; return c ? ((0, d.each)(e, (function (e, t) { var n = t[c] || ""; u[n] = u[n] || [], u[n].push(t), void 0 === i && (i = !0), i = i && !0 === t.isMeasure })), (0, d.each)(u, (function (e, i) { var s = n ? n + "." + e : e, d = a._createTreeItems(i, t.slice(1), s); e ? r.push({ key: e, text: e, path: s, isMeasure: d.isMeasure, expanded: (0, l.inArray)(s, a._expandedPaths) >= 0, items: d }) : o = d })), (o = r.concat(o)).isMeasure = i) : (0, d.each)(e, (function (e, t) { var n; !0 === t.isMeasure && (n = "measure"), !1 === t.isMeasure && (n = t.groupName ? "hierarchy" : "dimension"), o.push({ index: t.index, field: t, key: t.dataField, selected: (0, s.isDefined)(t.area), text: t.caption || t.dataField, icon: n, isMeasure: t.isMeasure, isDefault: t.isDefault }) })), o }, _createFieldsDataSource: function (e) { var t = e && e.fields() || []; t = t.filter((function (e) { return !1 !== e.visible && !(0, s.isDefined)(e.groupIndex) })); var n = this._createTreeItems(t, ["dimension", "displayFolder"]); return (0, h.foreachDataLevel)(n, (function (e) { e.sort(x) }), 0, "items"), n }, _renderFieldsTreeView: function (e) { var t = this, n = t._dataSource, o = t._createComponent(e, f.default, { dataSource: t._createFieldsDataSource(n), showCheckBoxesMode: "normal", expandNodesRecursive: !1, searchEnabled: t.option("allowSearch"), searchTimeout: t.option("searchTimeout"), itemTemplate: function (e, t, n) { e.icon && (0, a.getImageContainer)(e.icon).appendTo(n), (0, i.default)("<span>").toggleClass("dx-area-field", !e.items).data("field", e.field).text(e.text).appendTo(n) }, onItemCollapsed: function (e) { var n = (0, l.inArray)(e.itemData.path, t._expandedPaths); n >= 0 && t._expandedPaths.splice(n, 1) }, onItemExpanded: function (e) { (0, l.inArray)(e.itemData.path, t._expandedPaths) < 0 && t._expandedPaths.push(e.itemData.path) }, onItemSelectionChanged: function (e) { var i, a, r, l = e.itemData, d = !0; if (l.items) { if (l.selected) return void o.unselectItem(l); if (t._processDemandState((function () { a = function e(t, n) { var i = []; if (t.items) for (var a = 0; a < t.items.length; a++)i.push.apply(i, e(t.items[a], n)); else (0, s.isDefined)(t.index) && i.push(n[t.index]); return i }(l, n.fields()); for (var e = 0; e < a.length; e++)if (a[e].area) { d = !1; break } })), d) { var c = y(l, (function (e) { return e.isDefault })) || y(l, (function (e) { return (0, s.isDefined)(e.index) })); return void (c && o.selectItem(c)) } } else i = n.fields()[l.index], l.selected && (r = i.isMeasure ? "data" : "column"), i && (a = [i]); t._applyChanges(a, { area: r, areaIndex: void 0 }) } }); t._dataChangedHandlers.push((function () { var i = b(e), a = i ? i.scrollTop() : 0; o.option({ dataSource: t._createFieldsDataSource(n) }), (i = b(e)) && (i.scrollTo({ y: a }), i.update()) })) }, _renderAreaFields: function (e, t) { var n = this, i = n._dataSource, a = i ? (0, r.extend)(!0, [], i.getAreaFields(t, !0)) : []; e.empty(), (0, d.each)(a, (function (t, i) { !1 !== i.visible && n.renderField(i, !0).appendTo(e) })) }, _renderArea: function (e, t) { var n, a, o = this, s = (0, i.default)(_).addClass("dx-area").appendTo(e), r = (0, i.default)(_).addClass("dx-area-fields-header").appendTo(s), l = o.option("texts." + t + "Fields"); (0, i.default)("<span>").addClass("dx-area-icon").addClass("dx-area-icon-" + t).appendTo(r), (0, i.default)("<span>").html("&nbsp;").appendTo(r), (0, i.default)("<span>").addClass("dx-area-caption").text(l).appendTo(r); var d = (0, i.default)(_).addClass("dx-area-fields").addClass("dx-pivotgrid-drag-action").appendTo(s); "all" !== t ? (d.attr("group", t).attr("allow-scrolling", !0), n = (0, i.default)(_).addClass("dx-area-field-container").appendTo(d), a = function () { o._renderAreaFields(n, t) }, o._dataChangedHandlers.push(a), a(), d.dxScrollable()) : (s.addClass("dx-all-fields"), d.addClass("dx-treeview-border-visible"), o._renderFieldsTreeView(d)) }, _getSortableOptions: function () { return {} }, _adjustSortableOnChangedArgs: function () { }, resetTreeView: function () { var e = this.$element().find(".dx-treeview").dxTreeView("instance"); e && (e.option("searchValue", ""), e.collapseAll()) }, applyChanges: function () { var e = this.option("state"); (0, s.isDefined)(e) && this._dataSource.state(e) }, cancelChanges: function () { var e = this._dataSource; return !e.isLoading() && (this.option("state", e.state()), !0) }, getDataSource: function () { return this._dataSource }, updateDimensions: function () { this.$element().find(".dx-area .dx-scrollable").dxScrollable("update") }, _visibilityChanged: function (e) { e && v && this.updateDimensions() } }); (0, u.default)("dxPivotGridFieldChooser", C); var k = C; t.default = k, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = p(n(2)), o = n(4), s = n(0), r = n(3), l = n(1), d = n(81), c = p(n(213)), u = p(n(375)), h = p(n(12)), f = p(n(92)); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function m(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function _(e, t, n) { return (_ = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = x(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function v(e, t) { return (v = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function y(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = x(e); if (t) { var a = x(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return w(this, n) } } function w(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function x(e) { return (x = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var b = "dx-menu-item", C = { show: 50, hide: 300 }, k = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && v(e, t) }(f, e); var t, n, i, c = y(f); function f() { return g(this, f), c.apply(this, arguments) } return t = f, (n = [{ key: "_getDefaultOptions", value: function () { return (0, l.extend)(_(x(f.prototype), "_getDefaultOptions", this).call(this), { items: [], cssClass: "", activeStateEnabled: !0, showSubmenuMode: { name: "onHover", delay: { show: 50, hide: 300 } }, animation: { show: { type: "fade", from: 0, to: 1, duration: 100 }, hide: { type: "fade", from: 1, to: 0, duration: 100 } }, selectByClick: !1, focusOnSelectedItem: !1, keyExpr: null, _itemAttributes: { role: "menuitem" }, useInkRipple: !1 }) } }, { key: "_itemDataKey", value: function () { return "dxMenuItemDataKey" } }, { key: "_itemClass", value: function () { return b } }, { key: "_setAriaSelected", value: function () { } }, { key: "_selectedItemClass", value: function () { return "dx-menu-item-selected" } }, { key: "_widgetClass", value: function () { return "dx-menu-base" } }, { key: "_focusTarget", value: function () { return this._itemContainer() } }, { key: "_clean", value: function () { this.option("focusedElement", null), _(x(f.prototype), "_clean", this).call(this) } }, { key: "_supportedKeys", value: function () { var e = this; return (0, l.extend)(_(x(f.prototype), "_supportedKeys", this).call(this), { space: function () { var t = (0, a.default)(e.option("focusedElement")); t.length && e._isSelectionEnabled() && e.selectItem(t[0]) }, pageUp: o.noop, pageDown: o.noop }) } }, { key: "_isSelectionEnabled", value: function () { return "single" === this.option("selectionMode") } }, { key: "_init", value: function () { this._activeStateUnit = ".".concat(b), _(x(f.prototype), "_init", this).call(this), this._renderSelectedItem(), this._initActions() } }, { key: "_getTextContainer", value: function (e) { var t = e.text, n = (0, a.default)("<span>").addClass("dx-menu-item-text"), i = (0, s.isPlainObject)(e) ? t : String(e); return t && n.text(i) } }, { key: "_getPopoutContainer", value: function (e) { var t, n = e.items; if (n && n.length) { var i = (0, a.default)("<div>").addClass("dx-menu-item-popout"); t = (0, a.default)("<span>").addClass("dx-menu-item-popout-container").append(i) } return t } }, { key: "_getDataAdapterOptions", value: function () { return { rootValue: 0, multipleSelection: !1, recursiveSelection: !1, recursiveExpansion: !1, searchValue: "" } } }, { key: "_selectByItem", value: function (e) { if (e) { var t = this._dataAdapter.getNodeByItem(e); this._dataAdapter.toggleSelection(t.internalFields.key, !0) } } }, { key: "_renderSelectedItem", value: function () { var e = this._dataAdapter.getSelectedNodesKeys(), t = e.length && e[0], n = this.option("selectedItem"); if (t) { var i = this._dataAdapter.getNodeByKey(t); !1 !== i.selectable && (n ? n !== i.internalFields.item && (this._dataAdapter.toggleSelection(t, !1), this._selectByItem(n)) : this.option("selectedItem", i.internalFields.item)) } else this._selectByItem(n) } }, { key: "_initActions", value: function () { } }, { key: "_initMarkup", value: function () { _(x(f.prototype), "_initMarkup", this).call(this), this._addCustomCssClass(this.$element()), this.option("useInkRipple") && this._renderInkRipple() } }, { key: "_renderInkRipple", value: function () { this._inkRipple = (0, d.render)() } }, { key: "_toggleActiveState", value: function (e, t, n) { if (_(x(f.prototype), "_toggleActiveState", this).apply(this, arguments), this._inkRipple) { var i = { element: e, event: n }; t ? this._inkRipple.showWave(i) : this._inkRipple.hideWave(i) } } }, { key: "_getShowSubmenuMode", value: function () { var e = this.option("showSubmenuMode"); return e = (0, s.isObject)(e) ? e.name : e, this._isDesktopDevice() ? e : "onClick" } }, { key: "_initSelectedItems", value: function () { } }, { key: "_isDesktopDevice", value: function () { return "desktop" === h.default.real().deviceType } }, { key: "_initEditStrategy", value: function () { var e = u.default; this._editStrategy = new e(this) } }, { key: "_addCustomCssClass", value: function (e) { e.addClass(this.option("cssClass")) } }, { key: "_itemWrapperSelector", value: function () { return ".".concat("dx-menu-item-wrapper") } }, { key: "_hoverStartHandler", value: function (e) { var t = this._getItemElementByEventArgs(e); t && !this._isItemDisabled(t) && (e.stopPropagation(), "onHover" === this._getShowSubmenuMode() && (clearTimeout(this._showSubmenusTimeout), this._showSubmenusTimeout = setTimeout(this._showSubmenu.bind(this, t), this._getSubmenuDelay("show")))) } }, { key: "_getAvailableItems", value: function (e) { return _(x(f.prototype), "_getAvailableItems", this).call(this, e).filter((function () { return "hidden" !== (0, a.default)(this).css("visibility") })) } }, { key: "_isItemDisabled", value: function (e) { return this._disabledGetter(e.data(this._itemDataKey())) } }, { key: "_showSubmenu", value: function (e) { this._addExpandedClass(e) } }, { key: "_addExpandedClass", value: function (e) { (0, a.default)(e).addClass("dx-menu-item-expanded") } }, { key: "_getSubmenuDelay", value: function (e) { var t = this.option("showSubmenuMode").delay; return (0, s.isDefined)(t) ? (0, s.isObject)(t) ? t[e] : t : C[e] } }, { key: "_getItemElementByEventArgs", value: function (e) { var t = (0, a.default)(e.target); if (t.hasClass(this._itemClass()) || t.get(0) === e.currentTarget) return t; for (; !t.hasClass(this._itemClass());)if ((t = t.parent()).hasClass("dx-submenu")) return null; return t } }, { key: "_hoverEndHandler", value: function () { clearTimeout(this._showSubmenusTimeout) } }, { key: "_hasSubmenu", value: function (e) { return e && e.internalFields.childrenKeys.length } }, { key: "_renderContentImpl", value: function () { this._renderItems(this._dataAdapter.getRootNodes()) } }, { key: "_renderItems", value: function (e, t) { var n = this; if (e.length) { this.hasIcons = !1; var i = this._renderContainer(this.$element(), t), a = -1, o = -1; (0, r.each)(e, (function (e, t) { var s = !1 !== t.visible; s && a < 0 && (a = e), a < e && (t.beginGroup || e === o) && (o = s ? e : e + 1), e === o && a < e && n._renderSeparator(i), n._renderItem(e, t, i) })), this.hasIcons || i.addClass("dx-menu-no-icons") } } }, { key: "_renderContainer", value: function (e) { var t = (0, a.default)("<ul>"); return this.setAria("role", "none", t), t.appendTo(e).addClass("dx-menu-items-container") } }, { key: "_createDOMElement", value: function (e) { var t = (0, a.default)("<li>"); return this.setAria("role", "none", t), t.appendTo(e).addClass("dx-menu-item-wrapper") } }, { key: "_renderItem", value: function (e, t, n, i) { var a = this.option("items"), o = i || this._createDOMElement(n); a[e + 1] && a[e + 1].beginGroup && o.addClass("dx-menu-last-group-item"); var s = _(x(f.prototype), "_renderItem", this).call(this, e, t.internalFields.item, o); t.internalFields.item === this.option("selectedItem") && s.addClass("dx-menu-item-selected"), s.attr("tabIndex", -1), this._hasSubmenu(t) && this.setAria("haspopup", "true", s) } }, { key: "_renderItemFrame", value: function (e, t, n) { var i = n.children(".".concat(b)); return i.length ? i : _(x(f.prototype), "_renderItemFrame", this).apply(this, arguments) } }, { key: "_refreshItem", value: function (e, t) { var n = this._dataAdapter.getNodeByItem(t), i = e.data(this._itemIndexKey()), a = e.closest("ul"), o = e.closest("li"); this._renderItem(i, n, a, o) } }, { key: "_addContentClasses", value: function (e, t) { var n = !!e.text && !!e.text.length, i = !!e.icon, a = !!e.items && !!e.items.length; t.toggleClass("dx-menu-item-has-text", n), t.toggleClass("dx-menu-item-has-icon", i), this.hasIcons || (this.hasIcons = i), t.toggleClass("dx-menu-item-has-submenu", a) } }, { key: "_getItemContent", value: function (e) { var t = _(x(f.prototype), "_getItemContent", this).call(this, e); return t.length || (t = e.children(".".concat("dx-menu-item-content"))), t } }, { key: "_postprocessRenderItem", value: function (e) { var t = (0, a.default)(e.itemElement), n = this._dataAdapter.getSelectedNodesKeys(); n.length && this._selectedGetter(e.itemData) && this._isItemSelectable(e.itemData) && this._dataAdapter.getNodeByItem(e.itemData).internalFields.key === n[0] ? (t.addClass(this._selectedItemClass()), this._setAriaSelected(t, "true")) : this._setAriaSelected(t, "false") } }, { key: "_isItemSelectable", value: function (e) { return !1 !== e.selectable } }, { key: "_renderSeparator", value: function (e) { (0, a.default)("<li>").appendTo(e).addClass("dx-menu-separator") } }, { key: "_itemClickHandler", value: function (e) { if (!e._skipHandling) { var t = this._createAction(this._updateSubmenuVisibilityOnClick.bind(this)); this._itemDXEventHandler(e, "onItemClick", {}, { afterExecute: t.bind(this) }), e._skipHandling = !0 } } }, { key: "_updateSubmenuVisibilityOnClick", value: function (e) { this._updateSelectedItemOnClick(e), "onClick" === this._getShowSubmenuMode() && this._addExpandedClass(e.args[0].itemElement) } }, { key: "_updateSelectedItemOnClick", value: function (e) { var t = e.args ? e.args[0] : e; if (this._isItemSelectionAllowed(t.itemData)) { var n = this._dataAdapter.getSelectedNodesKeys(), i = n.length && this._dataAdapter.getNodeByKey(n[0]); i && this._toggleItemSelection(i, !1), i && i.internalFields.item === t.itemData ? (this._fireSelectionChangeEvent(null, this.option("selectedItem")), this._setOptionWithoutOptionChange("selectedItem", null)) : this.selectItem(t.itemData) } } }, { key: "_isItemSelectionAllowed", value: function (e) { var t = this._isSelectionEnabled() && this.option("selectByClick"); return !this._isContainerEmpty() && t && this._isItemSelectable(e) && !this._itemsGetter(e) } }, { key: "_isContainerEmpty", value: function () { return this._itemContainer().is(":empty") } }, { key: "_syncSelectionOptions", value: function () { return (0, o.asyncNoop)() } }, { key: "_optionChanged", value: function (e) { switch (e.name) { case "showSubmenuMode": break; case "selectedItem": var t = this._dataAdapter.getNodeByItem(e.value), n = this._dataAdapter.getSelectedNodesKeys()[0]; if (t && t.internalFields.key !== n) { if (!1 === t.selectable) break; n && this._toggleItemSelection(this._dataAdapter.getNodeByKey(n), !1), this._toggleItemSelection(t, !0), this._updateSelectedItems() } break; case "cssClass": case "position": case "selectByClick": case "animation": case "useInkRipple": this._invalidate(); break; default: _(x(f.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_toggleItemSelection", value: function (e, t) { var n = this._getElementByItem(e.internalFields.item); n && (0, a.default)(n).toggleClass("dx-menu-item-selected"), this._dataAdapter.toggleSelection(e.internalFields.key, t) } }, { key: "_getElementByItem", value: function (e) { var t, n = this; return (0, r.each)(this._itemElements(), (function (i, o) { return (0, a.default)(o).data(n._itemDataKey()) !== e || (t = o, !1) })), t } }, { key: "_updateSelectedItems", value: function (e, t) { (e || t) && this._fireSelectionChangeEvent(t, e) } }, { key: "_fireSelectionChangeEvent", value: function (e, t) { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })({ addedItems: [e], removedItems: [t] }) } }, { key: "selectItem", value: function (e) { var t = e.nodeType ? this._getItemData(e) : e, n = this._dataAdapter.getSelectedNodesKeys()[0], i = this.option("selectedItem"), a = this._dataAdapter.getNodeByItem(t); a.internalFields.key !== n && (n && this._toggleItemSelection(this._dataAdapter.getNodeByKey(n), !1), this._toggleItemSelection(a, !0), this._updateSelectedItems(i, t), this._setOptionWithoutOptionChange("selectedItem", t)) } }, { key: "unselectItem", value: function (e) { var t = e.nodeType ? this._getItemData(e) : e, n = this._dataAdapter.getNodeByItem(t), i = this.option("selectedItem"); n.internalFields.selected && (this._toggleItemSelection(n, !1), this._updateSelectedItems(i, null), this._setOptionWithoutOptionChange("selectedItem", null)) } }]) && m(t.prototype, n), i && m(t, i), f }(c.default); k.ItemClass = f.default; var I = k; t.default = I, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = f(n(2)), a = f(n(11)), o = n(4), s = n(1), r = n(14), l = n(3), d = f(n(388)), c = f(n(389)), u = f(n(205)), h = n(120); function f(e) { return e && e.__esModule ? e : { default: e } } var p = { actionSheet: d.default, dropDownMenu: c.default }, g = u.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { menuItemTemplate: "menuItem", submenuType: "dropDownMenu", menuContainer: void 0 }) }, _dimensionChanged: function (e) { "height" !== e && (this._menuStrategy.toggleMenuVisibility(!1, !0), this.callBase(), this._menuStrategy.renderMenuItems()) }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ actionSheetItem: new h.ChildDefaultTemplate("item") }) }, _initMarkup: function () { this.callBase(), this._renderMenu() }, _postProcessRenderItems: function () { var e = this; this._hideOverflowItems(), this._menuStrategy._updateMenuVisibility(), this.callBase(), (0, o.deferRender)((function () { e._menuStrategy.renderMenuItems() })) }, _renderItem: function (e, t, n, i) { var a = this.callBase(e, t, n, i); return "auto" === t.locateInMenu && a.addClass("dx-toolbar-item-auto-hide"), "dxButton" === t.widget && "inMenu" === t.showText && a.toggleClass("dx-toolbar-text-auto-hide"), a }, _getItemsWidth: function () { return this._getSummaryItemsWidth([this._$beforeSection, this._$centerSection, this._$afterSection]) }, _hideOverflowItems: function (e) { var t = this.$element().find(".dx-toolbar-item-auto-hide"); if (t.length) { e = e || this.$element().width(), (0, i.default)(t).removeClass("dx-toolbar-item-invisible"); for (var n = this._getItemsWidth(); t.length && e < n;) { var a = t.eq(-1); n -= a.outerWidth(), a.addClass("dx-toolbar-item-invisible"), t.splice(-1, 1) } } }, _getMenuItems: function () { var e = this, t = (0, o.grep)(this.option("items") || [], (function (t) { return e._isMenuItem(t) })), n = this._itemContainer().children(".dx-toolbar-item-auto-hide.dx-toolbar-item-invisible").not(".dx-state-invisible"); this._restoreItems = this._restoreItems || []; var a = [].slice.call(n).map((function (t) { var n = e._getItemData(t), a = (0, i.default)(t).children(), o = a.children(); return (0, s.extend)({ menuItemTemplate: function () { return e._restoreItems.push({ container: a, item: o }), (0, i.default)("<div>").addClass("dx-toolbar-item-auto-hide").append(o) } }, n) })); return (0, r.merge)(a, t) }, _getToolbarItems: function () { var e = this; return (0, o.grep)(this.option("items") || [], (function (t) { return !e._isMenuItem(t) })) }, _renderMenu: function () { var e = this; this._renderMenuStrategy(), (0, o.deferRender)((function () { e._menuStrategy.render() })) }, _renderMenuStrategy: function () { var e = this.option("submenuType"); this._requireDropDownStrategy() && (e = "dropDownMenu"); var t = p[e]; this._menuStrategy && this._menuStrategy.NAME === e || (this._menuStrategy = new t(this)) }, _requireDropDownStrategy: function () { var e = this.option("items") || [], t = !1; return (0, l.each)(e, (function (e, n) { "auto" === n.locateInMenu ? t = !0 : "always" === n.locateInMenu && n.widget && (t = !0) })), t }, _arrangeItems: function () { if (!this.$element().is(":hidden")) { this._$centerSection.css({ margin: "0 auto", float: "none" }), (0, l.each)(this._restoreItems || [], (function (e, t) { (0, i.default)(t.container).append(t.item) })), this._restoreItems = []; var e = this.$element().width(); this._hideOverflowItems(e), this.callBase(e) } }, _itemOptionChanged: function (e, t, n) { this._isMenuItem(e) ? this._menuStrategy.renderMenuItems() : this._isToolbarItem(e) ? this.callBase(e, t, n) : (this.callBase(e, t, n), this._menuStrategy.renderMenuItems()), "location" === t && this.repaint() }, _isMenuItem: function (e) { return "menu" === e.location || "always" === e.locateInMenu }, _isToolbarItem: function (e) { return void 0 === e.location || "never" === e.locateInMenu }, _optionChanged: function (e) { var t = e.name, n = e.value; switch (t) { case "submenuType": this._invalidate(); break; case "visible": this.callBase.apply(this, arguments), this._menuStrategy.handleToolbarVisibilityChange(n); break; case "menuItemTemplate": this._changeMenuOption("itemTemplate", this._getTemplate(n)); break; case "onItemClick": this._changeMenuOption(t, n), this.callBase.apply(this, arguments); break; case "menuContainer": this._changeMenuOption("container", n); break; default: this.callBase.apply(this, arguments) } }, _changeMenuOption: function (e, t) { this._menuStrategy.widgetOption(e, t) } }); (0, a.default)("dxToolbar", g); var m = g; t.default = m, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = n(4), o = n(3), s = n(20), r = d(n(13)), l = d(n(35)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = r.default.abstract, u = r.default.inherit({ ctor: function (e) { this._toolbar = e }, render: function () { this._renderMenuButton(), this._renderWidget() }, _widgetOptions: function () { var e = this._toolbar._createActionByOption("onItemClick"); return { itemTemplate: this._getMenuItemTemplate.bind(this), onItemClick: function (t) { this._toggleMenu(!1, !0), e(t) }.bind(this) } }, _getMenuItemTemplate: function () { return this._toolbar._getTemplateByOption("menuItemTemplate") }, _renderWidget: function () { var e = (0, i.default)("<div>").appendTo(this._menuContainer()); this._menu = this._toolbar._createComponent(e, this._menuWidgetClass(), this._widgetOptions()), this.renderMenuItems() }, _menuContainer: c, _menuWidgetClass: c, _hasVisibleMenuItems: function (e) { var t = e || this._toolbar.option("items"), n = !1, i = (0, s.compileGetter)("visible"), a = (0, s.compileGetter)("locateInMenu"); return (0, o.each)(t, (function (e, t) { var o = i(t, { functionsAsIs: !0 }), s = a(t, { functionsAsIs: !0 }); (!1 === o || "auto" !== s && "always" !== s) && "menu" !== t.location || (n = !0) })), n }, _getMenuItems: function () { return this._toolbar._getMenuItems() }, _updateMenuVisibility: a.noop, _renderMenuButton: function () { var e = this._menuButtonOptions(); this._renderMenuButtonContainer(), this._$button = (0, i.default)("<div>").appendTo(this._$menuButtonContainer).addClass("dx-toolbar-menu-button"), this._toolbar._createComponent(this._$button, l.default, e) }, _menuButtonOptions: function () { return { onClick: this._menuButtonClickHandler.bind(this) } }, _menuButtonClickHandler: function () { this._toggleMenu(!this._menuShown, !0) }, _renderMenuButtonContainer: function () { var e = this._toolbar._$afterSection; this._$menuButtonContainer = (0, i.default)("<div>").appendTo(e).addClass(this._toolbar._buttonClass()).addClass("dx-toolbar-menu-container") }, renderMenuItems: function () { this._menu && this._menu.option("items", this._getMenuItems()) }, toggleMenuVisibility: function (e, t) { this._menu && this._toggleMenu(e, t) }, _toggleMenu: function (e) { this._menuShown = e }, getMenuWidget: function () { return this._menu }, widgetOption: function (e, t) { this._menu && this._menu.option(e, t) }, handleToolbarVisibilityChange: a.noop }); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = n(7), o = g(n(12)), s = g(n(11)), r = n(1), l = g(n(29)), d = g(n(35)), c = g(n(160)), u = g(n(110)), h = g(n(130)), f = n(34), p = n(120); function g(e) { return e && e.__esModule ? e : { default: e } } var m = (0, a.getWindow)(), _ = { popupWidth: "width", popupHeight: "height", popupMaxHeight: "maxHeight", popupAutoResizeEnabled: "autoResizeEnabled" }, v = { buttonIcon: "icon", buttonText: "text", buttonWidth: "width", buttonHeight: "height", buttonTemplate: "template" }, y = l.default.inherit({ _supportedKeys: function () { var e = {}; return this.option("opened") && this._list.option("focusedElement") || (e = this._button._supportedKeys()), (0, r.extend)(this.callBase(), e, { tab: function () { this._popup && this._popup.hide() } }) }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { items: [], onItemClick: null, dataSource: null, itemTemplate: "item", buttonText: "", buttonIcon: "overflow", buttonWidth: void 0, buttonHeight: void 0, buttonTemplate: "content", onButtonClick: null, usePopover: !1, popupWidth: "auto", popupHeight: "auto", activeStateEnabled: !0, hoverStateEnabled: !0, opened: !1, selectionMode: "none", selectedItemKeys: [], deferRendering: !1, popupPosition: { my: "top center", at: "bottom center", collision: "fit flip", offset: { v: 1 } }, popupAnimation: void 0, onItemRendered: null, menuWidget: h.default, popupMaxHeight: void 0, closeOnClick: !0, useInkRipple: !1, container: void 0, popupAutoResizeEnabled: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "ios" }, options: { usePopover: !0 } }, { device: { platform: "generic" }, options: { popupPosition: { offset: { v: 4 } } } }, { device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: { platform: "android" }, options: { popupPosition: { my: "top " + (this.option("rtlEnabled") ? "left" : "right"), at: "top " + (this.option("rtlEnabled") ? "left" : "right"), collision: "flipfit" }, popupAnimation: { show: { type: "pop", duration: 200, from: { scale: 0 }, to: { scale: 1 } }, hide: { type: "pop", duration: 200, from: { scale: 1 }, to: { scale: 0 } } } } }, { device: function () { return (0, f.isMaterial)() }, options: { useInkRipple: !0 } }]) }, _initOptions: function (e) { "android" === o.default.current().platform && (e.popupPosition || (e.popupPosition = { at: (e.usePopover ? "bottom " : "top ") + (e.rtlEnabled ? "left" : "right") })), this.callBase(e) }, _dataSourceOptions: function () { return { paginate: !1 } }, _init: function () { this.callBase(), this.$element().addClass("dx-dropdownmenu"), this._initDataSource(), this._initItemClickAction(), this._initButtonClickAction() }, _initItemClickAction: function () { this._itemClickAction = this._createActionByOption("onItemClick") }, _initButtonClickAction: function () { this._buttonClickAction = this._createActionByOption("onButtonClick") }, _initTemplates: function () { this._templateManager.addDefaultTemplates({ content: new p.ChildDefaultTemplate("content") }), this.callBase() }, _initMarkup: function () { this._renderButton(), this.callBase() }, _render: function () { this.callBase(), this.setAria({ role: "menubar", haspopup: !0, expanded: this.option("opened") }) }, _renderContentImpl: function () { this.option("opened") && this._renderPopup() }, _clean: function () { this._cleanFocusState(), this._popup && (this._popup.$element().remove(), delete this._$popup) }, _renderButton: function () { var e = this.$element().addClass("dx-dropdownmenu-button"), t = this._buttonOptions(); this._button = this._createComponent(e, d.default, t) }, _toggleActiveState: function (e, t, n) { this._button._toggleActiveState(e, t, n) }, _buttonOptions: function () { return { text: this.option("buttonText"), icon: this.option("buttonIcon"), width: this.option("buttonWidth"), height: this.option("buttonHeight"), useInkRipple: this.option("useInkRipple"), template: this.option("buttonTemplate"), focusStateEnabled: !1, onClick: function (e) { this.option("opened", !this.option("opened")), this._buttonClickAction(e) }.bind(this) } }, _toggleMenuVisibility: function (e) { var t = void 0 === e ? !this._popup.option("visible") : e; e && this._renderPopup(), this._popup.toggle(t), this.setAria("expanded", t) }, _renderPopup: function () { if (!this._$popup) { var e = this._$popup = (0, i.default)("<div>").appendTo(this.$element()), t = this._popupOptions(); this._popup = this._createComponent(e, c.default, t) } }, _popupOptions: function () { var e = !this.option("usePopover"); return { onInitialized: function (t) { t.component._wrapper().addClass("dx-dropdownmenu-popup-wrapper").toggleClass("dx-dropdownmenu-popup", e) }, visible: this.option("opened"), deferRendering: !1, contentTemplate: function (e) { this._renderList(e) }.bind(this), position: this.option("popupPosition"), animation: this.option("popupAnimation"), onOptionChanged: function (e) { "visible" === e.name && this.option("opened", e.value) }.bind(this), target: this.$element(), height: this.option("popupHeight"), width: this.option("popupWidth"), maxHeight: this.option("popupMaxHeight"), container: this.option("container"), autoResizeEnabled: this.option("popupAutoResizeEnabled") } }, _renderList: function (e) { var t = (0, i.default)(e), n = this._listOptions(); t.addClass("dx-dropdownmenu-list"), this._list = this._createComponent(t, this.option("menuWidget"), n), this._list._getAriaTarget = function () { return this.$element() }.bind(this), this._setListDataSource(); var a = .5 * (0, i.default)(m).height(); t.height() > a && t.height(a) }, _listOptions: function () { return { pageLoadMode: "scrollBottom", indicateLoading: !1, noDataText: "", selectionMode: this.option("selectionMode"), selectedItemKeys: this.option("selectedItemKeys"), itemTemplate: this.option("itemTemplate"), onItemClick: function (e) { this.option("closeOnClick") && this.option("opened", !1), this._itemClickAction(e) }.bind(this), tabIndex: -1, focusStateEnabled: this.option("focusStateEnabled"), activeStateEnabled: this.option("activeStateEnabled"), onItemRendered: this.option("onItemRendered"), _itemAttributes: { role: "menuitem" } } }, _setListDataSource: function () { this._list && this._list.option("dataSource", this._dataSource || this.option("items")), delete this._deferRendering }, _getKeyboardListeners: function () { return this.callBase().concat([this._list]) }, _toggleVisibility: function (e) { this.callBase(e), this._button.option("visible", e) }, _optionChanged: function (e) { var t = e.name, n = e.value; switch (t) { case "items": case "dataSource": this.option("deferRendering") && !this.option("opened") ? this._deferRendering = !0 : (this._refreshDataSource(), this._setListDataSource()); break; case "itemTemplate": this._list && this._list.option(t, this._getTemplate(n)); break; case "onItemClick": this._initItemClickAction(); break; case "onButtonClick": this._buttonClickAction(); break; case "buttonIcon": case "buttonText": case "buttonWidth": case "buttonHeight": case "buttonTemplate": this._button.option(v[t], n), this._renderPopup(); break; case "popupWidth": case "popupHeight": case "popupMaxHeight": case "popupAutoResizeEnabled": this._popup.option(_[t], n); break; case "usePopover": case "menuWidget": case "useInkRipple": this._invalidate(); break; case "focusStateEnabled": case "activeStateEnabled": this._list && this._list.option(t, n), this.callBase(e); break; case "selectionMode": case "selectedItemKeys": case "onItemRendered": this._list && this._list.option(t, n); break; case "opened": this._deferRendering && (this._refreshDataSource(), this._setListDataSource()), this._toggleMenuVisibility(n); break; case "deferRendering": case "popupPosition": case "closeOnClick": break; case "container": this._popup && this._popup.option(e.name, e.value); break; default: this.callBase(e) } }, open: function () { this.option("opened", !0) }, close: function () { this.option("opened", !1) } }).include(u.default); (0, s.default)("dxDropDownMenu", y); var w = y; t.default = w, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.registerKeyboardAction = void 0; var a = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = o(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var s in e) if (Object.prototype.hasOwnProperty.call(e, s)) { var r = a ? Object.getOwnPropertyDescriptor(e, s) : null; r && (r.get || r.set) ? Object.defineProperty(n, s, r) : n[s] = e[s] } n.default = e, t && t.set(e, n); return n }(n(86)); function o() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return o = function () { return e }, e } t.registerKeyboardAction = function (e, t, n, i, o) { var s = t.getController("keyboardNavigation"); if (!(t.option("useLegacyKeyboardNavigation") || s && !s.isKeyboardEnabled())) { t.createAction("onKeyDown"), a.registerKeyboardAction(e, t, n, i, o, (function (e) { t.executeAction("onKeyDown", e) })) } } }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(16)), a = m(n(17)), o = n(4), s = n(0), r = n(3), l = n(20), d = n(1), c = m(n(22)), u = n(62), h = m(n(54)), f = m(n(44)), p = m(n(399)), g = n(6); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = m(n(79)).default.queryByOptions, v = function (e) { return "fullBranch" === e.option("filterMode") }, y = p.default.inherit({ _createKeyGetter: function () { var e = this.getKeyExpr(); return (0, l.compileGetter)(e) }, _createKeySetter: function () { var e = this.getKeyExpr(); return (0, s.isFunction)(e) ? e : (0, l.compileSetter)(e) }, _createParentIdGetter: function () { return (0, l.compileGetter)(this.option("parentIdExpr")) }, createParentIdSetter: function () { var e = this.option("parentIdExpr"); return (0, s.isFunction)(e) ? e : (0, l.compileSetter)(e) }, _createItemsGetter: function () { return (0, l.compileGetter)(this.option("itemsExpr")) }, _createHasItemsGetter: function () { var e = this.option("hasItemsExpr"); return e && (0, l.compileGetter)(e) }, _createHasItemsSetter: function () { var e = this.option("hasItemsExpr"); return (0, s.isFunction)(e) ? e : e && (0, l.compileSetter)(e) }, _updateIndexByKeyObject: function (e) { var t = this; t._indexByKey = {}, (0, r.each)(e, (function (e, n) { t._indexByKey[n.key] = e })) }, _calculateHasItems: function (e, t) { var n, i = t.storeLoadOptions.parentIds, a = v(this); return this._hasItemsGetter && (i || !t.storeLoadOptions.filter || a) && (n = this._hasItemsGetter(e.data)), void 0 === n && (n = !(this._isChildrenLoaded[e.key] || !t.remoteOperations.filtering || !i && !a) || (t.loadOptions.filter && !t.remoteOperations.filtering && a ? e.children.length : e.hasChildren)), !!n }, _createVisibleItemsByNodes: function (e, t) { for (var n = [], i = 0; i < e.length; i++)e[i].visible && n.push(e[i]), (this.isRowExpanded(e[i].key, t) || !e[i].visible) && e[i].hasChildren && e[i].children.length && (n = n.concat(this._createVisibleItemsByNodes(e[i].children, t))); return n }, _convertItemToNode: function (e, t, n) { var i = this._keyGetter(e), a = this._parentIdGetter(e), o = n[a = (0, s.isDefined)(a) ? a : t] = n[a] || { key: a, children: [] }, r = n[i] = n[i] || { key: i, children: [] }; return r.data = e, r.parent = o, r }, _createNodesByItems: function (e, t) { var n, i = this.option("rootValue"), a = {}, o = this._nodeByKey = {}; if (t) for (n = 0; n < t.length; n++)a[this._keyGetter(t[n])] = !0; for (n = 0; n < e.length; n++) { var s = this._convertItemToNode(e[n], i, o); if (void 0 === s.key) return; s.visible = !t || !!a[s.key], s.parent && s.parent.children.push(s) } var r = o[i] || { key: i, children: [] }; return r.level = -1, r }, _convertDataToPlainStructure: function (e, t, n) { var i; if (this._itemsGetter && !e.isConverted) { n = n || []; for (var a = 0; a < e.length; a++) { var o = (0, u.createObjectWithChanges)(e[a]); void 0 === (i = this._keyGetter(o)) && (i = n.length + 1, this._keySetter(o, i)), this._parentIdSetter(o, void 0 === t ? this.option("rootValue") : t), n.push(o); var r = this._itemsGetter(o); if (r && r.length) { this._convertDataToPlainStructure(r, i, n); var l = this.option("itemsExpr"); (0, s.isFunction)(l) || delete o[l] } } return n.isConverted = !0, n } return e }, _createIdFilter: function (e, t) { for (var n = [], i = 0; i < t.length; i++)n.push([e, "=", t[i]]); return c.default.combineFilters(n, "or") }, _customizeRemoteOperations: function (e, t) { this.callBase.apply(this, arguments), e.remoteOperations.paging = !1; var n = !1; this.option("autoExpandAll") && (e.remoteOperations.sorting = !1, e.remoteOperations.filtering = !1, this._lastLoadOptions && (!t.filtering || e.storeLoadOptions.filter) || e.isCustomLoading || (n = !0)), e.isCustomLoading || (this._isReload = this._isReload || t.reload, e.cachedStoreData || (this._isChildrenLoaded = {}, this._isReload && (this._nodeByKey = {})), this.option("expandNodesOnFiltering") && (t.filtering || this._isReload && e.storeLoadOptions.filter) && (e.storeLoadOptions.filter ? n = !0 : e.collapseVisibleNodes = !0)), e.expandVisibleNodes = n }, _getParentIdsToLoad: function (e) { for (var t = [], n = 0; n < e.length; n++) { var i = this.getNodeByKey(e[n]); (!i || i.hasChildren && !i.children.length) && t.push(e[n]) } return t }, _handleDataLoading: function (e) { var t = this.option("rootValue"), n = this.option("parentIdExpr"), i = e.storeLoadOptions.parentIds; if (i && (e.isCustomLoading = !1), this.callBase.apply(this, arguments), e.remoteOperations.filtering && !e.isCustomLoading && (v(this) && e.cachedStoreData || !e.storeLoadOptions.filter)) { var a = e.collapseVisibleNodes ? [] : this.option("expandedRowKeys"); i = [t].concat(a).concat(i || []); var o = e.data ? this._getParentIdsToLoad(i) : i; o.length && (e.cachedPagingData = void 0, e.data = void 0, e.mergeStoreLoadData = !0), e.storeLoadOptions.parentIds = o, e.storeLoadOptions.filter = this._createIdFilter(n, o) } }, _generateInfoToLoad: function (e, t) { var n, i, a = {}, o = {}, s = [], r = this.option("rootValue"); for (i = 0; i < e.length; i++)a[n = t ? this._parentIdGetter(e[i]) : this._keyGetter(e[i])] = !0; for (i = 0; i < e.length; i++) { n = t ? this._keyGetter(e[i]) : this._parentIdGetter(e[i]); var l = t ? this.isRowExpanded(n) : n !== r; a[n] || o[n] || !l || (o[n] = !0, s.push(n)) } return { keyMap: o, keys: s } }, _loadParentsOrChildren: function (e, t, n) { var i, a, o = this, s = this, r = s._generateInfoToLoad(e, n), l = r.keys, c = r.keyMap, u = new g.Deferred, p = t.remoteOperations.filtering, m = s.option("maxFilterLengthInRequest"), _ = p ? t.storeLoadOptions : t.loadOptions; function v(t) { return p && (s._cachedStoreData = s._cachedStoreData.concat(t)), e.concat(t) } if (!l.length) return u.resolve(e); var y = l.map((function (e) { return o.getNodeByKey(e) })).filter((function (e) { return e && e.data })); if (y.length === l.length && (n && (y = y.reduce((function (e, t) { return e.concat(t.children) }), [])), y.length)) return s._loadParentsOrChildren(v(y.map((function (e) { return e.data }))), t, n); var w = n ? s.option("parentIdExpr") : s.getKeyExpr(); i = s._createIdFilter(w, l), encodeURI(JSON.stringify(i)).length > m && (i = function (e) { return c[s._keyGetter(e)] }, a = p), _ = (0, d.extend)({}, _, { filter: a ? null : i }); var x = t.fullData ? new h.default(t.fullData) : s._dataSource.store(); return s.loadFromStore(_, x).done((function (o) { o.length ? (a && (o = (0, f.default)(o).filter(i).toArray()), s._loadParentsOrChildren(v(o), t, n).done(u.resolve).fail(u.reject)) : u.resolve(e) })).fail(u.reject), u }, _loadParents: function (e, t) { return this._loadParentsOrChildren(e, t) }, _loadChildrenIfNeed: function (e, t) { return v(this) ? this._loadParentsOrChildren(e, t, !0) : (0, g.when)(e) }, _updateHasItemsMap: function (e) { var t = e.storeLoadOptions.parentIds; if (t) for (var n = 0; n < t.length; n++)this._isChildrenLoaded[t[n]] = !0 }, _getKeyInfo: function () { return { key: function () { return "key" }, keyOf: function (e) { return e.key } } }, _applyBatch: function (e) { var t = this, n = []; e.forEach((function (e) { "insert" === e.type ? n = n.concat(t._applyInsert(e)) : "remove" === e.type ? n = n.concat(t._applyRemove(e)) : "update" === e.type && n.push({ type: e.type, key: e.key, data: { data: e.data } }) })), this.callBase(n) }, _setHasItems: function (e, t) { var n = this._hasItemsSetter; e.hasChildren = t, n && e.data && n(e.data, t) }, _applyInsert: function (e) { var t = [], n = this.parentKeyOf(e.data), i = this.getNodeByKey(n); if (i) { var a = this.option("rootValue"), o = this._convertItemToNode(e.data, a, this._nodeByKey); if (o.hasChildren = !1, o.level = i.level + 1, o.visible = !0, i.children.push(o), this._isChildrenLoaded[o.key] = !0, this._setHasItems(i, !0), (!i.parent || this.isRowExpanded(i.key)) && void 0 !== e.index) { var s = this.items().indexOf(i) + 1; s += e.index >= 0 ? Math.min(e.index, i.children.length) : i.children.length, t.push({ type: e.type, data: o, index: s }) } } return t }, _applyRemove: function (e) { var t = [], n = this.getNodeByKey(e.key), i = n && n.parent; if (i) { var a = i.children.indexOf(n); a >= 0 && (i.children.splice(a, 1), i.children.length || this._setHasItems(i, !1), t.push(e), t = t.concat(this.getChildNodeKeys(e.key).map((function (t) { return { type: e.type, key: t } })))) } return t }, _handleDataLoaded: function (e) { var t = e.data = this._convertDataToPlainStructure(e.data); !e.remoteOperations.filtering && e.loadOptions.filter && (e.fullData = _((0, f.default)(e.data), { sort: e.loadOptions && e.loadOptions.sort }).toArray()), this._updateHasItemsMap(e), this.callBase(e), t.isConverted && this._cachedStoreData && (this._cachedStoreData.isConverted = !0) }, _fillNodes: function (e, t, n, a) { var o = v(this); a = a || 0; for (var s = 0; s < e.length; s++) { var r = e[s], l = !1; this._fillNodes(e[s].children, t, n, a + 1), r.level = a, r.hasChildren = this._calculateHasItems(r, t), r.visible && r.hasChildren && (o ? r.children.filter((function (e) { return e.visible })).length ? l = !0 : r.children.length && i.default.foreachNodes(r.children, (function (e) { e.visible = !0 })) : l = !0, t.expandVisibleNodes && l && n.push(r.key)), (r.visible || r.hasChildren) && (r.parent.hasChildren = !0) } }, _processTreeStructure: function (e, t) { var n = e.data, i = e.storeLoadOptions.parentIds, o = []; if (i && i.length || this._isReload) { if (e.fullData && e.fullData.length > e.data.length && (n = e.fullData, t = t || e.data), this._rootNode = this._createNodesByItems(n, t), !this._rootNode) return void (e.data = (new g.Deferred).reject(a.default.Error("E1046", this.getKeyExpr()))); this._fillNodes(this._rootNode.children, e, o), this._isNodesInitializing = !0, (e.collapseVisibleNodes || o.length) && this.option("expandedRowKeys", o), this._isReload = !1, this.executeAction("onNodesInitialized", { root: this._rootNode }), this._isNodesInitializing = !1 } n = this._createVisibleItemsByNodes(this._rootNode.children, e), e.data = n, this._totalItemsCount = n.length }, _handleDataLoadedCore: function (e) { var t, n = this, i = e.data, a = n.callBase, o = e.storeLoadOptions.filter || e.loadOptions.filter, s = n.option("filterMode"), r = e.storeLoadOptions.parentIds, l = o && (!r || !r.length) && "standard" !== s; if (!e.isCustomLoading) { if (l) { var d = e.data = new g.Deferred; return "matchOnly" === s && (t = i), n._loadParents(i, e).done((function (i) { n._loadChildrenIfNeed(i, e).done((function (i) { e.data = i, n._processTreeStructure(e, t), a.call(n, e), d.resolve(e.data) })) })).fail(d.reject) } n._processTreeStructure(e) } n.callBase(e) }, _handlePush: function (e) { var t = this._dataSource._reshapeOnPush, n = t && !!e.length; n && (this._isReload = !0), this.callBase.apply(this, arguments) }, init: function (e, t) { this.callBase.apply(this, arguments); var n = this.option("dataStructure"); this._keyGetter = this._createKeyGetter(), this._parentIdGetter = this._createParentIdGetter(), this._hasItemsGetter = this._createHasItemsGetter(), this._hasItemsSetter = this._createHasItemsSetter(), "tree" === n && (this._itemsGetter = this._createItemsGetter(), this._keySetter = this._createKeySetter(), this._parentIdSetter = this.createParentIdSetter()), this._nodeByKey = {}, this._isChildrenLoaded = {}, this._totalItemsCount = 0, this.createAction("onNodesInitialized") }, getKeyExpr: function () { var e = this.store(), t = e && e.key(), n = this.option("keyExpr"); if ((0, s.isDefined)(t) && (0, s.isDefined)(n) && !(0, o.equalByValue)(t, n)) throw a.default.Error("E1044"); return t || n || "id" }, keyOf: function (e) { return this._keyGetter && this._keyGetter(e) }, parentKeyOf: function (e) { return this._parentIdGetter && this._parentIdGetter(e) }, getRootNode: function () { return this._rootNode }, totalItemsCount: function () { return this._totalItemsCount }, isRowExpanded: function (e, t) { if (t) { var n = t.isExpandedByKey; return n || (n = t.isExpandedByKey = {}, this.option("expandedRowKeys").forEach((function (e) { n[e] = !0 }))), !!n[e] } return c.default.getIndexByKey(e, this.option("expandedRowKeys"), null) >= 0 }, _changeRowExpandCore: function (e) { var t = this.option("expandedRowKeys").slice(), n = c.default.getIndexByKey(e, t, null); n < 0 ? t.push(e) : t.splice(n, 1), this.option("expandedRowKeys", t) }, changeRowExpand: function (e) { return this._changeRowExpandCore(e), this._isNodesInitializing ? (new g.Deferred).resolve() : this.load() }, getNodeByKey: function (e) { if (this._nodeByKey) return this._nodeByKey[e] }, getNodeLeafKeys: function () { var e = this, t = []; return (e._rootNode ? [e._rootNode.key] : []).forEach((function (n) { var a = e.getNodeByKey(n); a && i.default.foreachNodes([a], (function (e) { !e.children.length && t.push(e.key) })) })), t }, getChildNodeKeys: function (e) { var t = this.getNodeByKey(e), n = []; return t && i.default.foreachNodes(t.children, (function (e) { n.push(e.key) })), n }, loadDescendants: function (e, t) { var n = this, i = new g.Deferred, a = n.remoteOperations(); if (e = (0, s.isDefined)(e) ? Array.isArray(e) ? e : [e] : n.getNodeLeafKeys(), !a.filtering || !e.length) return i.resolve(); var o = n._dataSource._createStoreLoadOptions(); return o.parentIds = e, n.load(o).done((function () { if (!t) { var a = function (e, t) { var n = []; return t.forEach((function (t) { var i = e.getNodeByKey(t); i && i.children.forEach((function (e) { n.push(e.key) })) })), n }(n, e); if (a.length) return void n.loadDescendants(a, t).done(i.resolve).fail(i.reject) } i.resolve() })).fail(i.reject), i.promise() }, forEachNode: function () { var e, t = []; if (1 === arguments.length) { e = arguments[0]; var n = this.getRootNode(); t = n && n.children || [] } else 2 === arguments.length && (e = arguments[1], t = arguments[0], t = Array.isArray(t) ? t : [t]); i.default.foreachNodes(t, e) } }), w = { extend: function (e) { y = y.inherit(e) }, create: function (e) { return new y(e) } }; t.default = w, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = a(n(22)); function a(e) { return e && e.__esModule ? e : { default: e } } function o(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, i) } return n } function s(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? o(Object(n), !0).forEach((function (t) { r(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : o(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function r(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var l = s(s(s({}, a(n(24)).default), i.default), {}, { modules: [] }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = n(4), o = g(n(5)), s = n(0), r = g(n(73)), l = n(20), d = g(n(15)), c = n(1), u = g(n(12)), h = n(18), f = n(53), p = n(8); function g(e) { return e && e.__esModule ? e : { default: e } } n(128), n(132), n(112), n(133), n(237); var m = r.default.isWrapped, _ = function () { var e = function (e, t) { return (0, c.extend)(e, { readOnly: t.readOnly, placeholder: t.placeholder, inputAttr: { id: t.id }, tabIndex: t.tabIndex }, t.editorOptions) }, t = function () { return d.default.msie || d.default.mozilla || u.default.real().ios }, n = function (n) { var a = {}, r = t(), l = n.sharedData || a; return e({ placeholder: n.placeholder, width: n.width, value: n.value, onValueChanged: function (e) { var t = "filterRow" === n.parentType || "searchPanel" === n.parentType, i = e.event && ("input" === e.event.type || "keyup" === e.event.type), o = function (e, t) { n && n.setValue(e.value, t) }; clearTimeout(a.valueChangeTimeout), i && t ? l.valueChangeTimeout = a.valueChangeTimeout = setTimeout((function () { o(e, a.valueChangeTimeout !== l.valueChangeTimeout) }), (0, s.isDefined)(n.updateValueTimeout) ? n.updateValueTimeout : 0) : o(e) }, onKeyDown: function (e) { r && "enter" === (0, p.normalizeKeyName)(e.event) && o.default.trigger((0, i.default)(e.component._input()), "change") }, valueChangeEvent: "change" + ("filterRow" === n.parentType ? " keyup input" : "") }, n) }, r = function (t) { "filterRow" === t.parentType || "filterBuilder" === t.parentType ? g((0, c.extend)(t, { lookup: { displayExpr: function (e) { return !0 === e ? t.trueText || "true" : !1 === e ? t.falseText || "false" : void 0 }, dataSource: [!0, !1] } })) : function (t) { t.editorName = "dxCheckBox", t.editorOptions = e({ elementAttr: { id: t.id }, value: (0, s.isDefined)(t.value) ? t.value : void 0, hoverStateEnabled: !t.readOnly, focusStateEnabled: !t.readOnly, activeStateEnabled: !1, onValueChanged: function (e) { t.setValue && t.setValue(e.value, e) } }, t) }(t) }; function g(t) { var n, i, a, o = t.lookup, r = "filterRow" === t.parentType; if (o) { n = (0, l.compileGetter)(o.displayExpr), i = o.dataSource, (0, s.isFunction)(i) && !m(i) && (i = i(t.row || {}), function (e) { if (e.row && e.row.watch && "dataRow" === e.parentType) { var t, n = e.editorOptions || {}; e.editorOptions = n; var i, a = n.onInitialized; n.onInitialized = function (e) { a && a.apply(this, arguments), (t = e.component).on("disposing", o) }; var o = e.row.watch((function () { return (i = e.lookup.dataSource(e.row)) && i.filter }), (function () { t.option("dataSource", i) }), (function (t) { e.row = t })) } }(t)), ((0, s.isObject)(i) || Array.isArray(i)) && (i = (0, f.normalizeDataSourceOptions)(i), r && (a = i.postProcess, i.postProcess = function (e) { return 0 === this.pageIndex() && (e = e.slice(0)).unshift(null), a ? a.call(this, e) : e })); var d = Boolean(o.allowClearing && !r); t.editorName = "dxSelectBox", t.editorOptions = e({ searchEnabled: !0, value: t.value, valueExpr: t.lookup.valueExpr, searchExpr: t.lookup.searchExpr || t.lookup.displayExpr, allowClearing: d, showClearButton: d, displayExpr: function (e) { return null === e ? t.showAllText : n(e) }, dataSource: i, onValueChanged: function (e) { var n = [e.value]; !r && n.push(e.component.option("text")), t.setValue.apply(this, n) } }, t) } } return { createEditor: function (o, l) { if (l.cancel = !1, l.editorElement = (0, h.getPublicElement)(o), (0, s.isDefined)(l.tabIndex) || (l.tabIndex = this.option("tabIndex")), l.lookup) g(l); else switch (l.dataType) { case "date": case "datetime": !function (n) { n.editorName = "dxDateBox", n.editorOptions = e({ value: n.value, onValueChanged: function (e) { n.setValue(e.value) }, onKeyDown: function (e) { t() && "enter" === (0, p.normalizeKeyName)(e.event) && (e.component.blur(), e.component.focus()) }, displayFormat: n.format, type: n.dataType, dateSerializationFormat: null, width: "filterBuilder" === n.parentType ? void 0 : "auto" }, n) }(l); break; case "boolean": r(l); break; case "number": !function (e) { var t = n(e); t.value = (0, s.isDefined)(e.value) ? e.value : null, e.editorName = "dxNumberBox", e.editorOptions = t }(l); break; default: !function (e) { var t, i = n(e), a = "searchPanel" === e.parentType; e.editorType && "dxTextBox" !== e.editorType ? i.value = e.value : i.value = (t = e.value, (0, s.isDefined)(t) ? t.toString() : ""), i.valueChangeEvent += a ? " keyup input search" : "", i.mode = i.mode || (a ? "search" : "text"), e.editorName = "dxTextBox", e.editorOptions = i }(l) }var d = l.editorName; this.executeAction("onEditorPreparing", l), l.cancel || ("dataRow" === l.parentType && l.editorType && d === l.editorName && (l.editorName = l.editorType), "dataRow" !== l.parentType || l.isOnForm || (0, s.isDefined)(l.editorOptions.showValidationMark) || (l.editorOptions.showValidationMark = !1), function (e, t) { var n = (0, i.default)(t.editorElement); t.editorName && t.editorOptions && n[t.editorName] && ("dxCheckBox" !== t.editorName && "dxSwitch" !== t.editorName || t.isOnForm || (n.addClass(e.addWidgetPrefix("checkbox-size")), n.parent().addClass("dx-editor-inline-block")), e._createComponent(n, t.editorName, t.editorOptions), "dxTextBox" === t.editorName && n.dxTextBox("instance").registerKeyHandler("enter", a.noop), "dxDateBox" === t.editorName && n.dxDateBox("instance").registerKeyHandler("enter", (function () { return !0 })), "dxTextArea" === t.editorName && n.dxTextArea("instance").registerKeyHandler("enter", (function (e) { "enter" !== (0, p.normalizeKeyName)(e) || e.ctrlKey || e.shiftKey || e.stopPropagation() }))) }(this, l), this.executeAction("onEditorPrepared", l)) } } }(); t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = E(n(2)), a = E(n(5)), o = E(n(36)), s = E(n(11)), r = n(4), l = n(51), d = n(3), c = n(0), u = n(1), h = n(18), f = E(n(17)), p = E(n(60)), g = n(25), m = E(n(429)), _ = E(n(29)), v = E(n(10)), y = n(8), w = E(n(128)), x = n(19), b = E(n(12)), C = n(119), k = E(n(47)), I = n(7), S = n(236); function E(e) { return e && e.__esModule ? e : { default: e } } var D = "ios" === b.default.current().platform, T = w.default.inherit({ _supportedKeys: function () { return (0, u.extend)({}, this.callBase(), { tab: function (e) { if (this.option("opened")) if ("instantly" !== this.option("applyValueMode")) { var t = e.shiftKey ? this._getLastPopupElement() : this._getFirstPopupElement(); t && a.default.trigger(t, "focus"), e.preventDefault() } else this.close() }, escape: function (e) { return this.option("opened") && e.preventDefault(), this.close(), !0 }, upArrow: function (e) { return !(!(0, y.isCommandKeyPressed)(e) && (e.preventDefault(), e.stopPropagation(), e.altKey)) || (this.close(), !1) }, downArrow: function (e) { return !(!(0, y.isCommandKeyPressed)(e) && (e.preventDefault(), e.stopPropagation(), e.altKey)) || (this._validatedOpening(), !1) }, enter: function (e) { return this.option("opened") && (e.preventDefault(), this._valueChangeEventHandler(e)), !0 } }) }, _getDefaultButtons: function () { return this.callBase().concat([{ name: "dropDown", Ctor: m.default }]) }, _getDefaultOptions: function () { return (0, u.extend)(this.callBase(), { value: null, onOpened: null, onClosed: null, opened: !1, acceptCustomValue: !0, applyValueMode: "instantly", deferRendering: !0, activeStateEnabled: !0, dropDownButtonTemplate: "dropDownButton", fieldTemplate: null, openOnFieldClick: !1, showDropDownButton: !0, buttons: void 0, dropDownOptions: { showTitle: !1 }, popupPosition: this._getDefaultPopupPosition(), onPopupInitialized: null, applyButtonText: v.default.format("OK"), cancelButtonText: v.default.format("Cancel"), buttonsLocation: "default", useHiddenSubmitElement: !1 }) }, _getDefaultPopupPosition: function (e) { var t = (0, g.getDefaultAlignment)(e); return { offset: { h: 0, v: -1 }, my: t + " top", at: t + " bottom", collision: "flip flip" } }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function (e) { return "generic" === e.platform }, options: { popupPosition: { offset: { v: 0 } } } }]) }, _inputWrapper: function () { return this.$element().find(".dx-dropdowneditor-input-wrapper") }, _init: function () { this.callBase(), this._initVisibilityActions(), this._initPopupInitializedAction(), this._updatePopupPosition(this.option("rtlEnabled")), this._options.cache("dropDownOptions", this.option("dropDownOptions")) }, _updatePopupPosition: function (e) { var t = this._getDefaultPopupPosition(e), n = t.my, i = t.at, a = this.option("popupPosition"); this.option("popupPosition", (0, u.extend)({}, a, { my: n, at: i })) }, _initVisibilityActions: function () { this._openAction = this._createActionByOption("onOpened", { excludeValidators: ["disabled", "readOnly"] }), this._closeAction = this._createActionByOption("onClosed", { excludeValidators: ["disabled", "readOnly"] }) }, _initPopupInitializedAction: function () { this._popupInitializedAction = this._createActionByOption("onPopupInitialized", { excludeValidators: ["disabled", "readOnly"] }) }, _initMarkup: function () { this._renderSubmitElement(), this.callBase(), this.$element().addClass("dx-dropdowneditor"), this.setAria("role", "combobox") }, _render: function () { this.callBase(), this._renderOpenHandler(), this._attachFocusOutHandler(), this._renderOpenedState() }, _renderContentImpl: function () { this.option("deferRendering") || this._createPopup() }, _renderInput: function () { this.callBase(), this.$element().wrapInner((0, i.default)("<div>").addClass("dx-dropdowneditor-input-wrapper")), this._$container = this.$element().children().eq(0), this._setDefaultAria() }, _setDefaultAria: function () { this.setAria({ haspopup: "true", autocomplete: "list" }) }, _readOnlyPropValue: function () { return !this.option("acceptCustomValue") || this.callBase() }, _cleanFocusState: function () { this.callBase(), this.option("fieldTemplate") && this._detachFocusEvents() }, _getFieldTemplate: function () { return this.option("fieldTemplate") && this._getTemplateByOption("fieldTemplate") }, _renderMask: function () { this.option("fieldTemplate") || this.callBase() }, _renderField: function () { var e = this._getFieldTemplate(); e && this._renderTemplatedField(e, this._fieldRenderData()) }, _renderPlaceholder: function () { !!this._getFieldTemplate() || this.callBase() }, _renderValue: function () { this.option("useHiddenSubmitElement") && this._setSubmitValue(), this.callBase().always(this._renderField.bind(this)) }, _renderTemplatedField: function (e, t) { var n = this, o = (0, l.focused)(this._input()), s = this._$container; this._detachKeyboardEvents(), this._refreshButtonsContainer(); var r = this._$beforeButtonsContainer && this._$beforeButtonsContainer[0].parentNode, d = this._$afterButtonsContainer && this._$afterButtonsContainer[0].parentNode; r && r.removeChild(this._$beforeButtonsContainer[0]), d && d.removeChild(this._$afterButtonsContainer[0]), this._detachFocusEvents(), s.empty(); var c = (0, i.default)("<div>").addClass("dx-dropdowneditor-field-template-wrapper").appendTo(s); e.render({ model: t, container: (0, h.getPublicElement)(c), onRendered: function () { var e = n._input(); if (!e.length) throw f.default.Error("E1010"); n._integrateInput(), o && a.default.trigger(e, "focus") } }), s.prepend(this._$beforeButtonsContainer), s.append(this._$afterButtonsContainer) }, _refreshButtonsContainer: function () { this._$buttonsContainer = this.$element().children().eq(0) }, _integrateInput: function () { this._refreshEvents(), this._refreshValueChangeEvent(), this._renderFocusState(), this._refreshEmptinessEvent() }, _refreshEmptinessEvent: function () { a.default.off(this._input(), "input blur", this._toggleEmptinessEventHandler), this._renderEmptinessEvent() }, _fieldRenderData: function () { return this.option("value") }, _initTemplates: function () { this._templateManager.addDefaultTemplates({ dropDownButton: new C.FunctionTemplate((function (e) { var t = (0, i.default)("<div>").addClass("dx-dropdowneditor-icon"); (0, i.default)(e.container).append(t) })) }), this.callBase() }, _renderOpenHandler: function () { var e = this._inputWrapper(), t = (0, y.addNamespace)(x.name, this.NAME), n = this.option("openOnFieldClick"); a.default.off(e, t), a.default.on(e, t, this._getInputClickHandler(n)), this.$element().toggleClass("dx-dropdowneditor-field-clickable", n), n && (this._openOnFieldClickAction = this._createAction(this._openHandler.bind(this))) }, _attachFocusOutHandler: function () { var e = this; D && (this._detachFocusOutEvents(), a.default.on(this._inputWrapper(), (0, y.addNamespace)("focusout", this.NAME), (function (t) { var n = t.relatedTarget, a = e.content ? (0, i.default)(e.content()).closest(".dx-dropdowneditor-overlay") : e._$popup; n && e.option("opened") && (0 === (0, i.default)(n).closest(".dx-dropdowneditor-overlay", a).length && e.close()) }))) }, _detachFocusOutEvents: function () { D && a.default.off(this._inputWrapper(), (0, y.addNamespace)("focusout", this.NAME)) }, _getInputClickHandler: function (e) { var t = this; return e ? function (e) { t._executeOpenAction(e) } : function (e) { t._focusInput() } }, _openHandler: function () { this._toggleOpenState() }, _executeOpenAction: function (e) { this._openOnFieldClickAction({ event: e }) }, _keyboardEventBindingTarget: function () { return this._input() }, _focusInput: function () { return !this.option("disabled") && (this.option("focusStateEnabled") && !(0, l.focused)(this._input()) && a.default.trigger(this._input(), "focus"), !0) }, _toggleOpenState: function (e) { this._focusInput() && (this.option("readOnly") || (e = arguments.length ? e : !this.option("opened"), this.option("opened", e))) }, _renderOpenedState: function () { var e = this.option("opened"); e && this._createPopup(), this.$element().toggleClass("dx-dropdowneditor-active", e), this._setPopupOption("visible", e), this.setAria({ expanded: e }), this.setAria("owns", e ? this._popupContentId : void 0, this.$element()) }, _createPopup: function () { this._$popup || (this._$popup = (0, i.default)("<div>").addClass("dx-dropdowneditor-overlay").addClass(this.option("customOverlayCssClass")).appendTo(this.$element()), this._renderPopup(), this._renderPopupContent()) }, _renderPopupContent: r.noop, _renderPopup: function () { var e = (0, u.extend)(this._popupConfig(), this._options.cache("dropDownOptions")); this._popup = this._createComponent(this._$popup, k.default, e), this._popup.on({ showing: this._popupShowingHandler.bind(this), shown: this._popupShownHandler.bind(this), hiding: this._popupHidingHandler.bind(this), hidden: this._popupHiddenHandler.bind(this), contentReady: this._contentReadyHandler.bind(this) }), this._contentReadyHandler(), this._setPopupContentId(this._popup.$content()), this._bindInnerWidgetOptions(this._popup, "dropDownOptions") }, _setPopupContentId: function (e) { this._popupContentId = "dx-" + new o.default, this.setAria("id", this._popupContentId, e) }, _contentReadyHandler: r.noop, _popupConfig: function () { var e = this; return { onInitialized: this._popupInitializedHandler(), position: (0, u.extend)(this.option("popupPosition"), { of: this.$element() }), showTitle: this.option("dropDownOptions.showTitle"), width: function () { return (0, S.getElementWidth)(e.$element()) }, height: "auto", shading: !1, closeOnTargetScroll: !0, closeOnOutsideClick: this._closeOutsideDropDownHandler.bind(this), animation: { show: { type: "fade", duration: 0, from: 0, to: 1 }, hide: { type: "fade", duration: 400, from: 1, to: 0 } }, deferRendering: !1, focusStateEnabled: !1, showCloseButton: !1, dragEnabled: !1, toolbarItems: this._getPopupToolbarItems(), onPositioned: this._popupPositionedHandler.bind(this), fullScreen: !1, contentTemplate: null } }, _popupInitializedHandler: function () { var e = this; if (this.option("onPopupInitialized")) return function (t) { e._popupInitializedAction({ popup: t.component }) } }, _dimensionChanged: function () { var e = this; void 0 === (0, S.getSizeValue)(this.option("dropDownOptions.width")) && this._setPopupOption("width", (function () { return (0, S.getElementWidth)(e.$element()) })) }, _popupPositionedHandler: function (e) { e.position && this._popup.overlayContent().toggleClass("dx-dropdowneditor-overlay-flipped", e.position.v.flip) }, _popupShowingHandler: r.noop, _popupHidingHandler: function () { this.option("opened", !1) }, _popupShownHandler: function () { var e; this._openAction(), null === (e = this._validationMessage) || void 0 === e || e.option("positionRequest", this._getValidationMessagePositionRequest()) }, _popupHiddenHandler: function () { var e; this._closeAction(), null === (e = this._validationMessage) || void 0 === e || e.option("positionRequest", this._getValidationMessagePositionRequest()) }, _getValidationMessagePositionRequest: function () { var e = "below"; if (this._popup && this._popup.option("visible")) { var t = p.default.setup(this.$element()).top, n = p.default.setup(this._popup.$content()).top; e = t + this.option("popupPosition").offset.v > n ? "below" : "above" } return e }, _closeOutsideDropDownHandler: function (e) { var t = e.target, n = (0, i.default)(t), a = this.getButton("dropDown"), o = a && a.$element(), s = !!n.closest(this.$element()).length, r = !!n.closest(o).length; return !s && !r }, _clean: function () { delete this._openOnFieldClickAction, this._$popup && (this._$popup.remove(), delete this._$popup, delete this._popup), this.callBase() }, _setPopupOption: function (e, t) { this._setWidgetOption("_popup", arguments) }, _validatedOpening: function () { this.option("readOnly") || this._toggleOpenState(!0) }, _getPopupToolbarItems: function () { return "useButtons" === this.option("applyValueMode") ? this._popupToolbarItemsConfig() : [] }, _getFirstPopupElement: function () { return this._popup._wrapper().find(".dx-popup-done.dx-button") }, _getLastPopupElement: function () { return this._popup._wrapper().find(".dx-popup-cancel.dx-button") }, _popupElementTabHandler: function (e) { var t = (0, i.default)(e.currentTarget); (e.shiftKey && t.is(this._getFirstPopupElement()) || !e.shiftKey && t.is(this._getLastPopupElement())) && (a.default.trigger(this._input(), "focus"), e.preventDefault()) }, _popupElementEscHandler: function () { a.default.trigger(this._input(), "focus"), this.close() }, _popupButtonInitializedHandler: function (e) { e.component.registerKeyHandler("tab", this._popupElementTabHandler.bind(this)), e.component.registerKeyHandler("escape", this._popupElementEscHandler.bind(this)) }, _popupToolbarItemsConfig: function () { var e = [{ shortcut: "done", options: { onClick: this._applyButtonHandler.bind(this), text: this.option("applyButtonText"), onInitialized: this._popupButtonInitializedHandler.bind(this) } }, { shortcut: "cancel", options: { onClick: this._cancelButtonHandler.bind(this), text: this.option("cancelButtonText"), onInitialized: this._popupButtonInitializedHandler.bind(this) } }]; return this._applyButtonsLocation(e) }, _applyButtonsLocation: function (e) { var t = this.option("buttonsLocation"), n = e; if ("default" !== t) { var i = (0, r.splitPair)(t); (0, d.each)(n, (function (e, t) { (0, u.extend)(t, { toolbar: i[0], location: i[1] }) })) } return n }, _applyButtonHandler: function () { this.close(), this.option("focusStateEnabled") && this.focus() }, _cancelButtonHandler: function () { this.close(), this.option("focusStateEnabled") && this.focus() }, _popupOptionChanged: function (e) { var t = _.default.getOptionsFromContainer(e); this._setPopupOption(t); var n = Object.keys(t); -1 === n.indexOf("width") && -1 === n.indexOf("height") || this._dimensionChanged() }, _renderSubmitElement: function () { this.option("useHiddenSubmitElement") && (this._$submitElement = (0, i.default)("<input>").attr("type", "hidden").appendTo(this.$element())) }, _setSubmitValue: function () { this._getSubmitElement().val(this.option("value")) }, _getSubmitElement: function () { return this.option("useHiddenSubmitElement") ? this._$submitElement : this.callBase() }, _dispose: function () { this._detachFocusOutEvents(), this.callBase() }, _setDeprecatedOptions: function () { this.callBase(), (0, u.extend)(this._deprecatedOptions, { showPopupTitle: { since: "20.1", alias: "dropDownOptions.showTitle" } }) }, _optionChanged: function (e) { var t; switch (e.name) { case "width": case "height": this.callBase(e), null === (t = this._popup) || void 0 === t || t.repaint(); break; case "opened": this._renderOpenedState(); break; case "onOpened": case "onClosed": this._initVisibilityActions(); break; case "onPopupInitialized": this._initPopupInitializedAction(); break; case "fieldTemplate": (0, c.isDefined)(e.value) ? this._renderField() : this._invalidate(); break; case "acceptCustomValue": case "openOnFieldClick": this._invalidate(); break; case "dropDownButtonTemplate": case "showDropDownButton": this._updateButtons(["dropDown"]); break; case "dropDownOptions": this._popupOptionChanged(e), this._options.cache("dropDownOptions", this.option("dropDownOptions")); break; case "popupPosition": break; case "deferRendering": (0, I.hasWindow)() && this._createPopup(); break; case "applyValueMode": case "applyButtonText": case "cancelButtonText": case "buttonsLocation": this._setPopupOption("toolbarItems", this._getPopupToolbarItems()); break; case "showPopupTitle": this._setPopupOption("showTitle", e.value); break; case "useHiddenSubmitElement": this._$submitElement && (this._$submitElement.remove(), this._$submitElement = void 0), this._renderSubmitElement(); break; case "rtlEnabled": this._updatePopupPosition(e.value), this.callBase(e); break; default: this.callBase(e) } }, open: function () { this.option("opened", !0) }, close: function () { this.option("opened", !1) }, field: function () { return (0, h.getPublicElement)(this._input()) }, content: function () { return this._popup ? this._popup.content() : null } }); (0, s.default)("dxDropDownEditor", T); var A = T; t.default = A, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.getSizeValue = t.getElementWidth = void 0; var i = n(7); t.getElementWidth = function (e) { if ((0, i.hasWindow)()) return e.outerWidth() }; t.getSizeValue = function (e) { return null === e && (e = void 0), "function" == typeof e && (e = e()), e } }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(431)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(435)), a = c(n(134)), o = c(n(49)), s = n(4), r = n(0), l = n(1), d = c(n(10)); function c(e) { return e && e.__esModule ? e : { default: e } } var u = a.default.inherit({ NAME: "Calendar", supportedKeys: function () { var e = function (e) { return !!this.option("opened") && (e.preventDefault(), !0) }; return { rightArrow: function () { if (this.option("opened")) return !0 }, leftArrow: function () { if (this.option("opened")) return !0 }, enter: function (e) { if (this.dateBox.option("opened")) { if (e.preventDefault(), this._widget.option("zoomLevel") !== this._widget.option("maxZoomLevel")) return !0; var t = this._widget._view.option("contouredDate"), n = this._lastActionElement; t && "calendar" === n && this.dateBoxValue(t, e), this.dateBox.close(), this.dateBox._valueChangeEventHandler(e) } else this.dateBox._valueChangeEventHandler(e) }.bind(this), home: e, end: e } }, getDisplayFormat: function (e) { return e || "shortdate" }, _getWidgetName: function () { return i.default }, getKeyboardListener: function () { return this._widget }, _getWidgetOptions: function () { var e = this.dateBox.option("disabledDates"); return (0, l.extend)(this.dateBox.option("calendarOptions"), { value: this.dateBoxValue() || null, dateSerializationFormat: null, min: this.dateBox.dateOption("min"), max: this.dateBox.dateOption("max"), onValueChanged: this._valueChangedHandler.bind(this), onCellClick: this._cellClickHandler.bind(this), tabIndex: null, disabledDates: (0, r.isFunction)(e) ? this._injectComponent(e.bind(this.dateBox)) : e, onContouredChanged: this._refreshActiveDescendant.bind(this), hasFocus: function () { return !0 } }) }, _injectComponent: function (e) { var t = this; return function (n) { return (0, l.extend)(n, { component: t.dateBox }), e(n) } }, _refreshActiveDescendant: function (e) { this._lastActionElement = "calendar", this.dateBox.setAria("activedescendant", e.actionValue) }, popupConfig: function (e) { var t = e.toolbarItems, n = this.dateBox.option("buttonsLocation"), i = []; return i = "default" !== n ? (0, s.splitPair)(n) : ["bottom", "center"], "useButtons" === this.dateBox.option("applyValueMode") && this._isCalendarVisible() && t.unshift({ widget: "dxButton", toolbar: i[0], location: "after" === i[1] ? "before" : i[1], options: { onInitialized: function (e) { e.component.registerKeyHandler("escape", this._escapeHandler.bind(this)) }.bind(this), onClick: function () { this._widget._toTodayView() }.bind(this), text: d.default.format("dxCalendar-todayButtonText"), type: "today" } }), (0, l.extend)(!0, e, { toolbarItems: t, position: { collision: "flipfit flip" }, width: "auto" }) }, _isCalendarVisible: function () { return (0, r.isEmptyObject)(this.dateBox.option("calendarOptions")) || !1 !== this.dateBox.option("calendarOptions.visible") }, _escapeHandler: function () { this.dateBox.close(), this.dateBox.focus() }, _valueChangedHandler: function (e) { var t = this.dateBox, n = e.value, i = e.previousValue; o.default.sameDate(n, i) || "instantly" === t.option("applyValueMode") && this.dateBoxValue(this.getValue(), e.event) }, _updateValue: function () { this._widget && this._widget.option("value", this.dateBoxValue()) }, textChangedHandler: function () { this._lastActionElement = "input", this.dateBox.option("opened") && this._widget && this._updateValue(!0) }, _cellClickHandler: function (e) { var t = this.dateBox; "instantly" === t.option("applyValueMode") && (t.option("opened", !1), this.dateBoxValue(this.getValue(), e.event)) } }); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(125), a = c(n(5)), o = c(n(57)), s = n(3), r = n(8), l = n(1), d = n(99); function c(e) { return e && e.__esModule ? e : { default: e } } var u = { onStart: i.start, onUpdated: i.swipe, onEnd: i.end, onCancel: "dxswipecancel" }, h = o.default.inherit({ _getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { elastic: !0, immediate: !1, direction: "horizontal", itemSizeFunc: null, onStart: null, onUpdated: null, onEnd: null, onCancel: null }) }, _render: function () { this.callBase(), this.$element().addClass("dx-swipeable"), this._attachEventHandlers() }, _attachEventHandlers: function () { if (this._detachEventHandlers(), !this.option("disabled")) { var e = this.NAME; this._createEventData(), (0, s.each)(u, function (t, n) { var i = this._createActionByOption(t, { context: this }); n = (0, r.addNamespace)(n, e), a.default.on(this.$element(), n, this._eventData, (function (e) { return i({ event: e }) })) }.bind(this)) } }, _createEventData: function () { this._eventData = { elastic: this.option("elastic"), itemSizeFunc: this.option("itemSizeFunc"), direction: this.option("direction"), immediate: this.option("immediate") } }, _detachEventHandlers: function () { a.default.off(this.$element(), ".dxSwipeable") }, _optionChanged: function (e) { switch (e.name) { case "disabled": case "onStart": case "onUpdated": case "onEnd": case "onCancel": case "elastic": case "immediate": case "itemSizeFunc": case "direction": this._detachEventHandlers(), this._attachEventHandlers(); break; case "rtlEnabled": break; default: this.callBase(e) } }, _useTemplates: function () { return !1 } }); (0, d.name)(h, "dxSwipeable"); var f = h; t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(36)) && i.__esModule ? i : { default: i }, o = n(3), s = n(1), r = n(0); function l(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var d = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._map = {} } var t, n, i; return t = e, (n = [{ key: "_findWidgetInstance", value: function (e) { var t; return (0, o.each)(this._map, (function (n, i) { var a = i.widgetInstance, o = i.item; if (e(o)) return t = a, !1 })), t } }, { key: "_findFieldByCondition", value: function (e, t) { var n; return (0, o.each)(this._map, (function (i, a) { if (e(a)) return n = "guid" === t ? i : a[t], !1 })), n } }, { key: "clear", value: function () { this._map = {} } }, { key: "removeItemsByItems", value: function (e) { var t = this; (0, o.each)(e.getItems(), (function (e) { return t.removeItemByKey(e) })) } }, { key: "removeItemByKey", value: function (e) { delete this._map[e] } }, { key: "add", value: function (e) { var t = e.guid || new a.default; return this._map[t] = e, t } }, { key: "addItemsOrExtendFrom", value: function (e) { var t = this; e.each((function (e, n) { t._map[e] ? (n.widgetInstance && (t._map[e].widgetInstance = n.widgetInstance), t._map[e].$itemContainer = n.$itemContainer) : t.add({ item: n.item, widgetInstance: n.widgetInstance, guid: e, $itemContainer: n.$itemContainer }) })) } }, { key: "extendRunTimeItemInfoByKey", value: function (e, t) { this._map[e] && (this._map[e] = (0, s.extend)(this._map[e], t)) } }, { key: "findWidgetInstanceByItem", value: function (e) { return this._findWidgetInstance((function (t) { return t === e })) } }, { key: "getGroupOrTabLayoutManagerByPath", value: function (e) { return this._findFieldByCondition((function (t) { return t.path === e }), "layoutManager") } }, { key: "getKeyByPath", value: function (e) { return this._findFieldByCondition((function (t) { return t.path === e }), "guid") } }, { key: "findWidgetInstanceByName", value: function (e) { return this._findWidgetInstance((function (t) { return e === t.name })) } }, { key: "findWidgetInstanceByDataField", value: function (e) { return this._findWidgetInstance((function (t) { return e === ((0, r.isString)(t) ? t : t.dataField) })) } }, { key: "findItemContainerByItem", value: function (e) { for (var t in this._map) if (this._map[t].item === e) return this._map[t].$itemContainer; return null } }, { key: "findItemIndexByItem", value: function (e) { return this._findFieldByCondition((function (t) { return t.item === e }), "itemIndex") } }, { key: "getItems", value: function () { return this._map } }, { key: "each", value: function (e) { (0, o.each)(this._map, (function (t, n) { e(t, n) })) } }, { key: "removeItemsByPathStartWith", value: function (e) { var t = this; Object.keys(this._map).filter((function (n) { return t._map[n].path.indexOf(e, 0) > -1 })).forEach((function (e) { return t.removeItemByKey(e) })) } }]) && l(t.prototype, n), i && l(t, i), e }(); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.getItemPath = t.isFullPathContainsTabs = t.tryGetTabPath = t.getOptionNameFromFullName = t.getFullOptionName = t.isExpectedItem = t.getTextWithoutSpaces = t.concatPaths = t.createItemPathByIndex = void 0; var i = n(0); function a(e) { return function (e) { if (Array.isArray(e)) return o(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return o(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return o(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function o(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var s = function (e, t) { return "".concat(t ? "tabs" : "items", "[").concat(e, "]") }; t.createItemPathByIndex = s; var r = function (e, t) { return (0, i.isDefined)(e) && (0, i.isDefined)(t) ? "".concat(e, ".").concat(t) : e || t }; t.concatPaths = r; var l = function (e) { return e ? e.replace(/\s/g, "") : void 0 }; t.getTextWithoutSpaces = l; t.isExpectedItem = function (e, t) { return e && (e.dataField === t || e.name === t || l(e.title) === t || "group" === e.itemType && l(e.caption) === t) }; t.getFullOptionName = function (e, t) { return "".concat(e, ".").concat(t) }; t.getOptionNameFromFullName = function (e) { var t = e.split("."); return t[t.length - 1].replace(/\[\d+]/, "") }; t.tryGetTabPath = function (e) { for (var t = e.split("."), n = a(t), i = t.length - 1; i >= 0; i--) { if (d(t[i])) return n.join("."); n.splice(i, 1) } return "" }; var d = function (e) { return e.indexOf("tabs") > -1 }; t.isFullPathContainsTabs = d; t.getItemPath = function e(t, n, i) { var a = t.indexOf(n); if (a > -1) return s(a, i); for (var o = 0; o < t.length; o++) { var l = t[o], d = l.tabs || l.items; if (d) { var c = e(d, n, l.tabs); if (c) return r(s(o, i), c) } } } }, function (e, t, n) { "use strict"; t.FORM_VALIDATION_SUMMARY = t.GROUP_COL_COUNT_ATTR = t.GROUP_COL_COUNT_CLASS = t.FIELD_ITEM_TAB_CLASS = t.HIDDEN_LABEL_CLASS = t.FORM_GROUP_WITH_CAPTION_CLASS = t.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = t.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = t.FORM_GROUP_CONTENT_CLASS = t.ROOT_SIMPLE_ITEM_CLASS = t.SINGLE_COLUMN_ITEM_CONTENT = t.FIELD_BUTTON_ITEM_CLASS = t.FIELD_EMPTY_ITEM_CLASS = t.FIELD_ITEM_CONTENT_CLASS = t.FIELD_ITEM_CONTENT_LOCATION_CLASS = t.FIELD_ITEM_LABEL_CLASS = t.FIELD_ITEM_LABEL_ALIGN_CLASS = t.FIELD_ITEM_LABEL_LOCATION_CLASS = t.LABEL_HORIZONTAL_ALIGNMENT_CLASS = t.LABEL_VERTICAL_ALIGNMENT_CLASS = t.FORM_LAYOUT_MANAGER_CLASS = t.FIELD_ITEM_CONTENT_WRAPPER_CLASS = t.FIELD_ITEM_HELP_TEXT_CLASS = t.FIELD_ITEM_LABEL_CONTENT_CLASS = t.FIELD_ITEM_LABEL_TEXT_CLASS = t.FIELD_ITEM_REQUIRED_CLASS = t.FIELD_ITEM_OPTIONAL_CLASS = t.FIELD_ITEM_REQUIRED_MARK_CLASS = t.FIELD_ITEM_OPTIONAL_MARK_CLASS = t.LAYOUT_MANAGER_ONE_COLUMN = t.FLEX_LAYOUT_CLASS = t.FIELD_ITEM_CLASS = t.FORM_FIELD_ITEM_COL_CLASS = t.FORM_GROUP_CAPTION_CLASS = t.FORM_GROUP_CLASS = t.FORM_CLASS = void 0; t.FORM_CLASS = "dx-form"; t.FORM_GROUP_CLASS = "dx-form-group"; t.FORM_GROUP_CAPTION_CLASS = "dx-form-group-caption"; t.FORM_FIELD_ITEM_COL_CLASS = "dx-col-"; t.FIELD_ITEM_CLASS = "dx-field-item"; t.FLEX_LAYOUT_CLASS = "dx-flex-layout"; t.LAYOUT_MANAGER_ONE_COLUMN = "dx-layout-manager-one-col"; t.FIELD_ITEM_OPTIONAL_MARK_CLASS = "dx-field-item-optional-mark"; t.FIELD_ITEM_REQUIRED_MARK_CLASS = "dx-field-item-required-mark"; t.FIELD_ITEM_OPTIONAL_CLASS = "dx-field-item-optional"; t.FIELD_ITEM_REQUIRED_CLASS = "dx-field-item-required"; t.FIELD_ITEM_LABEL_TEXT_CLASS = "dx-field-item-label-text"; t.FIELD_ITEM_LABEL_CONTENT_CLASS = "dx-field-item-label-content"; t.FIELD_ITEM_HELP_TEXT_CLASS = "dx-field-item-help-text"; t.FIELD_ITEM_CONTENT_WRAPPER_CLASS = "dx-field-item-content-wrapper"; t.FORM_LAYOUT_MANAGER_CLASS = "dx-layout-manager"; t.LABEL_VERTICAL_ALIGNMENT_CLASS = "dx-label-v-align"; t.LABEL_HORIZONTAL_ALIGNMENT_CLASS = "dx-label-h-align"; t.FIELD_ITEM_LABEL_LOCATION_CLASS = "dx-field-item-label-location-"; t.FIELD_ITEM_LABEL_ALIGN_CLASS = "dx-field-item-label-align"; t.FIELD_ITEM_LABEL_CLASS = "dx-field-item-label"; t.FIELD_ITEM_CONTENT_LOCATION_CLASS = "dx-field-item-content-location-"; t.FIELD_ITEM_CONTENT_CLASS = "dx-field-item-content"; t.FIELD_EMPTY_ITEM_CLASS = "dx-field-empty-item"; t.FIELD_BUTTON_ITEM_CLASS = "dx-field-button-item"; t.SINGLE_COLUMN_ITEM_CONTENT = "dx-single-column-item-content"; t.ROOT_SIMPLE_ITEM_CLASS = "dx-root-simple-item"; t.FORM_GROUP_CONTENT_CLASS = "dx-form-group-content"; t.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS = "dx-field-item-has-group"; t.FIELD_ITEM_CONTENT_HAS_TABS_CLASS = "dx-field-item-has-tabs"; t.FORM_GROUP_WITH_CAPTION_CLASS = "dx-form-group-with-caption"; t.HIDDEN_LABEL_CLASS = "dx-layout-manager-hidden-label"; t.FIELD_ITEM_TAB_CLASS = "dx-field-item-tab"; t.GROUP_COL_COUNT_CLASS = "dx-group-colcount-"; t.GROUP_COL_COUNT_ATTR = "group-col-count"; t.FORM_VALIDATION_SUMMARY = "dx-form-validation-summary" }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(11)), a = c(n(5)), o = n(4), s = n(1), r = n(3), l = c(n(82)), d = c(n(84)); function c(e) { return e && e.__esModule ? e : { default: e } } var u = d.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { focusStateEnabled: !1, noDataText: null }) }, _setOptionsByReference: function () { this.callBase(), (0, s.extend)(this._optionsByReference, { validationGroup: !0 }) }, _init: function () { this.callBase(), this._initGroupRegistration() }, _initGroupRegistration: function () { var e = this.$element(), t = this.option("validationGroup") || l.default.findGroup(e, this._modelByElement(e)), n = l.default.addGroup(t); this._unsubscribeGroup(), this._groupWasInit = !0, this._validationGroup = t, this.groupSubscription = this._groupValidationHandler.bind(this), n.on("validated", this.groupSubscription) }, _unsubscribeGroup: function () { var e = l.default.getGroupConfig(this._validationGroup); e && e.off("validated", this.groupSubscription) }, _getOrderedItems: function (e, t) { var n = []; return (0, r.each)(e, (function (e, i) { var a = (0, o.grep)(t, (function (e) { if (e.validator === i) return !0 })); a.length && (n = n.concat(a)) })), n }, _groupValidationHandler: function (e) { var t = this, n = this._getOrderedItems(e.validators, (0, r.map)(e.brokenRules, (function (e) { return { text: e.message, validator: e.validator, index: e.index } }))); this.validators = e.validators, (0, r.each)(this.validators, (function (e, n) { if (n._validationSummary !== t) { var i = t._itemValidationHandler.bind(t); n.on("validated", i), n.on("disposing", (function () { n.off("validated", i), n._validationSummary = null, i = null })), n._validationSummary = t } })), this.option("items", n) }, _itemValidationHandler: function (e) { for (var t = e.isValid, n = e.validator, i = e.brokenRules, a = this.option("items"), s = !1, l = 0, d = function () { var e = a[l]; if (e.validator === n) { var r = (0, o.grep)(i || [], (function (t) { return t.index === e.index }))[0]; if (t || !r) return a.splice(l, 1), s = !0, "continue"; r.message !== e.text && (e.text = r.message, s = !0) } l++ }; l < a.length;)d(); (0, r.each)(i, (function (e, t) { (0, o.grep)(a, (function (e) { return e.validator === n && e.index === t.index }))[0] || (a.push({ text: t.message, validator: n, index: t.index }), s = !0) })), s && (a = this._getOrderedItems(this.validators, a), this.option("items", a)) }, _initMarkup: function () { this.$element().addClass("dx-validationsummary"), this.callBase() }, _optionChanged: function (e) { switch (e.name) { case "validationGroup": this._initGroupRegistration(); break; default: this.callBase(e) } }, _itemClass: function () { return "dx-validationsummary-item" }, _itemDataKey: function () { return "dx-validationsummary-item-data" }, _postprocessRenderItem: function (e) { a.default.on(e.itemElement, "click", (function () { e.itemData.validator && e.itemData.validator.focus && e.itemData.validator.focus() })) }, _dispose: function () { this.callBase(), this._unsubscribeGroup() } }); (0, i.default)("dxValidationSummary", u); var h = u; t.default = h, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.getElementMaxHeightByWindow = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(7), s = n(0); t.getElementMaxHeightByWindow = function (e, t) { var n, i = (0, a.default)((0, o.getWindow)()), r = e.offset().top; if ((0, s.isNumeric)(t)) { if (t < r) return r - t; n = i.innerHeight() - t + i.scrollTop() } else { var l = r - i.scrollTop(), d = i.innerHeight() - l - e.outerHeight(); n = Math.max(l, d) } return .9 * n } }, function (e, t, n) { "use strict"; const i = n(114); n(293), n(106), n(304), n(151), n(305), n(306), n(19), n(196), n(124), n(91), n(77), n(107), n(23), n(125), n(307); const a = i.data = n(197); a.odata = n(313); const o = i.ui = n(315); o.themes = n(34), n(316), o.dxPivotGrid = n(320), o.dxPivotGridFieldChooser = n(379), a.PivotGridDataSource = n(154), a.XmlaStore = n(380), o.dxGantt = n(381); const s = i.viz = n(515); s.currentTheme = n(136).currentTheme, s.registerTheme = n(136).registerTheme, s.exportFromMarkup = n(168).exportFromMarkup, s.getMarkup = n(168).getMarkup, s.exportWidgets = n(168).exportWidgets, s.currentPalette = n(137).currentPalette, s.getPalette = n(137).getPalette, s.generateColors = n(137).generateColors, s.registerPalette = n(137).registerPalette, s.refreshTheme = n(136).refreshTheme }, function (e, t, n) { "use strict"; t.getData = function (e, t) { var n = new x(e, t); return n._checkZipState(), n.ready().then((function () { return n.getData((0, o.isFunction)((0, a.getWindow)().Blob)) })) }, t.ExcelCreator = void 0; var i = p(n(13)), a = n(7), o = n(0), s = n(1), r = p(n(17)), l = n(31), d = p(n(247)), c = n(169), u = p(n(173)), h = p(n(254)), f = n(6); function p(e) { return e && e.__esModule ? e : { default: e } } function g(e) { return (g = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var m = '<?xml version="1.0" encoding="utf-8"?>', _ = "http://schemas.openxmlformats.org", v = { boolean: "b", date: "d", number: "n", string: "s" }, y = Date.UTC(1899, 11, 30), w = { quarter: "shortDate", quarterAndYear: "shortDate", minute: "longTime", millisecond: "longTime" }, x = i.default.inherit({ _getXMLTag: function (e, t, n) { var i, a, s = "<" + e, r = t.length; for (i = 0; i < r; i++)void 0 !== (a = t[i]).value && (s = s + " " + a.name + '="' + a.value + '"'); return (0, o.isDefined)(n) ? s + ">" + n + "</" + e + ">" : s + " />" }, _convertToExcelCellRef: function (e, t) { for (var n, i, a = ""; !i;)n = 65 + (t >= 26 ? t % 26 : Math.ceil(t)), a = String.fromCharCode(n) + a, t >= 26 ? t = Math.floor(t / 26) - 1 : i = !0; return a + (e + 1) }, _convertToExcelCellRefAndTrackMaxIndex: function (e, t) { return this._maxRowIndex < Number(e) && (this._maxRowIndex = Number(e)), this._maxColumnIndex < Number(t) && (this._maxColumnIndex = Number(t)), this._convertToExcelCellRef(e, t) }, _getDataType: function (e) { return v[e] || v.string }, _tryGetExcelCellDataType: function (e) { if ((0, o.isDefined)(e)) { if ("number" == typeof e) return isFinite(e) ? v.number : v.string; if ((0, o.isString)(e)) return v.string; if ((0, o.isDate)(e)) return v.number; if ((0, o.isBoolean)(e)) return v.boolean } }, _formatObjectConverter: function (e, t) { var n = { format: e, precision: e && e.precision, dataType: t }; return (0, o.isObject)(e) ? (0, s.extend)(n, e, { format: e.formatter || e.type, currency: e.currency }) : n }, _tryConvertToExcelNumberFormat: function (e, t) { var n = this._formatObjectConverter(e, t); e = n.format; var i = n.currency; return t = n.dataType, (0, o.isDefined)(e) && "date" === t && (e = w[e && e.type || e] || e), u.default.convertFormat(e, n.precision, t, i) }, _appendString: function (e) { if ((0, o.isDefined)(e) && (e = String(e)).length) return e = (0, l.encodeHtml)(e), void 0 === this._stringHash[e] && (this._stringHash[e] = this._stringArray.length, this._stringArray.push(e)), this._stringHash[e] }, _tryGetExcelDateValue: function (e) { var t; if ((0, o.isDate)(e)) return (t = Math.floor((Date.UTC(e.getFullYear(), e.getMonth(), e.getDate()) - y) / 864e5)) < 60 && t--, t + (3600 * e.getHours() + 60 * e.getMinutes() + e.getSeconds()) / 86400 }, _prepareValue: function (e, t) { var n, i = this._dataProvider, a = (i.getCellData(e, t) || {}).cellSourceData, s = (i.getCellData(e, t) || {}).value, r = this._getDataType(i.getCellType(e, t)); switch (r !== v.date || (0, o.isDate)(s) || (r = v.string), r) { case v.string: n = s, s = this._appendString(s); break; case v.date: n = s, s = this._tryGetExcelDateValue(s), r = v.number }return { value: s, type: r, sourceValue: n, cellSourceData: a } }, _callCustomizeExcelCell: function (e) { var t = e.dataProvider, n = e.value, i = e.style, a = e.sourceData, s = h.default.copyCellFormat(i), r = { value: n, numberFormat: s.numberFormat, clearStyle: function () { this.horizontalAlignment = null, this.verticalAlignment = null, this.wrapTextEnabled = null, this.font = null, this.numberFormat = null } }; (0, o.isDefined)(s) && ((0, o.isDefined)(s.alignment) && (r.horizontalAlignment = s.alignment.horizontal, r.verticalAlignment = s.alignment.vertical, r.wrapTextEnabled = s.alignment.wrapText), r.backgroundColor = s.backgroundColor, r.fillPatternType = s.fillPatternType, r.fillPatternColor = s.fillPatternColor, r.font = s.font), t.customizeExcelCell(r, a); var l = s || {}; return l.font = r.font, l.alignment = l.alignment || {}, l.alignment.horizontal = r.horizontalAlignment, l.alignment.vertical = r.verticalAlignment, l.alignment.wrapText = r.wrapTextEnabled, l.backgroundColor = r.backgroundColor, l.fillPatternType = r.fillPatternType, l.fillPatternColor = r.fillPatternColor, l.numberFormat = r.numberFormat, { value: r.value, style: l } }, _getDataArray: function () { var e, t, n, i, a, s = [], r = this._dataProvider, l = r.getRowsCount(), d = r.getColumns(); for (e = 0; e < l; e++) { for (n = [], a = d.length, t = 0; t !== a; t++) { i = this._prepareValue(e, t); var c = r.getStyleId(e, t), u = this._styleArrayIndexToCellStyleIdMap[c]; if (r.hasCustomizeExcelCell && r.hasCustomizeExcelCell()) { var h = i.sourceValue || i.value, f = this._callCustomizeExcelCell({ dataProvider: r, value: h, style: this._styleArray[c], sourceData: i.cellSourceData }); if (f.value !== h) { if (g(f.value) !== g(h) || "number" == typeof f.value && !isFinite(f.value)) { var p = this._tryGetExcelCellDataType(f.value); (0, o.isDefined)(p) && (i.type = p) } switch (i.type) { case v.string: i.value = this._appendString(f.value); break; case v.date: i.value = f.value; break; case v.number: var m = f.value, _ = this._tryGetExcelDateValue(m); (0, o.isDefined)(_) && (m = _), i.value = m; break; default: i.value = f.value } } u = this._excelFile.registerCellFormat(f.style) } n.push({ style: u, value: i.value, type: i.type }) } !this._needSheetPr && r.getGroupLevel(e) > 0 && (this._needSheetPr = !0), s.push(n) } return s }, _calculateWidth: function (e) { return (!(e = parseInt(e, 10)) || e < 5) && (e = 100), Math.min(255, Math.floor((e - 5) / 7 * 100 + .5) / 100) }, _prepareStyleData: function () { var e = this, t = this, n = t._dataProvider.getStyles(); t._dataProvider.getColumns().forEach((function (e) { t._colsArray.push(t._calculateWidth(e.width)) })); var i = [{ size: 11, color: { theme: 1 }, name: "Calibri", family: 2, scheme: "minor", bold: !1 }, { size: 11, color: { theme: 1 }, name: "Calibri", family: 2, scheme: "minor", bold: !0 }]; this._excelFile.registerFont(i[0]), this._excelFile.registerFont(i[1]), n.forEach((function (e) { var n = t._tryConvertToExcelNumberFormat(e.format, e.dataType); (0, o.isDefined)(n) || (n = 0), t._styleArray.push({ font: i[Number(!!e.bold)], numberFormat: n, alignment: { vertical: "top", wrapText: !!e.wrapText, horizontal: e.alignment || "left" } }) })), t._styleArrayIndexToCellStyleIdMap = t._styleArray.map((function (t) { return e._excelFile.registerCellFormat(t) })) }, _prepareCellData: function () { this._cellsArray = this._getDataArray() }, _createXMLRelationships: function (e) { return this._getXMLTag("Relationships", [{ name: "xmlns", value: _ + "/package/2006/relationships" }], e) }, _createXMLRelationship: function (e, t, n) { return this._getXMLTag("Relationship", [{ name: "Id", value: "rId" + e }, { name: "Type", value: _ + "/officeDocument/2006/relationships/" + t }, { name: "Target", value: n }]) }, _getWorkbookContent: function () { return m + this._getXMLTag("workbook", [{ name: "xmlns:r", value: _ + "/officeDocument/2006/relationships" }, { name: "xmlns", value: _ + "/spreadsheetml/2006/main" }], '<bookViews><workbookView xWindow="0" yWindow="0" windowWidth="0" windowHeight="0"/></bookViews><sheets><sheet name="Sheet" sheetId="1" r:id="rId1" /></sheets><definedNames><definedName name="_xlnm.Print_Titles" localSheetId="0">Sheet!$1:$1</definedName><definedName name="_xlnm._FilterDatabase" hidden="0" localSheetId="0">Sheet!$A$1:$F$6332</definedName></definedNames>') }, _getContentTypesContent: function () { return m + '<Types xmlns="' + _ + '/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="xml" ContentType="application/xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /><Override PartName="/xl/sharedStrings.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /></Types>' }, _generateStylesXML: function () { var e = this._zip.folder("xl"), t = ""; t += this._excelFile.generateNumberFormatsXml(), t += this._excelFile.generateFontsXml(), t += this._excelFile.generateFillsXml(), t += '<borders count="1"><border><left style="thin"><color rgb="FFD3D3D3"/></left><right style="thin"><color rgb="FFD3D3D3"/></right><top style="thin"><color rgb="FFD3D3D3"/></top><bottom style="thin"><color rgb="FFD3D3D3"/></bottom></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs>', t += this._excelFile.generateCellFormatsXml(), t += this._getXMLTag("cellStyles", [{ name: "count", value: 1 }], this._getXMLTag("cellStyle", [{ name: "name", value: "Normal" }, { name: "xfId", value: 0 }, { name: "builtinId", value: 0 }])), t = m + this._getXMLTag("styleSheet", [{ name: "xmlns", value: _ + "/spreadsheetml/2006/main" }], t), e.file("styles.xml", t), this._styleArray = [] }, _generateStringsXML: function () { var e, t = this._zip.folder("xl"), n = this._stringArray.length, i = m; for (e = 0; e < n; e++)this._stringArray[e] = this._getXMLTag("si", [], this._getXMLTag("t", [], this._stringArray[e])); i += this._getXMLTag("sst", [{ name: "xmlns", value: _ + "/spreadsheetml/2006/main" }, { name: "count", value: this._stringArray.length }, { name: "uniqueCount", value: this._stringArray.length }], this._stringArray.join("")), t.file("sharedStrings.xml", i), this._stringArray = [] }, _getPaneXML: function () { var e = [{ name: "activePane", value: "bottomLeft" }, { name: "state", value: "frozen" }], t = this._dataProvider.getFrozenArea(); return t.x || t.y ? (t.x && e.push({ name: "xSplit", value: t.x }), t.y && e.push({ name: "ySplit", value: t.y }), e.push({ name: "topLeftCell", value: this._convertToExcelCellRefAndTrackMaxIndex(t.y, t.x) }), this._getXMLTag("pane", e)) : "" }, _getAutoFilterXML: function (e) { return this._options.autoFilterEnabled ? '<autoFilter ref="A' + this._dataProvider.getHeaderRowCount() + ":" + e + '" />' : "" }, _getIgnoredErrorsXML: function (e) { return this._options.ignoreErrors ? '<ignoredErrors><ignoredError sqref="A1:' + e + '" numberStoredAsText="1" /></ignoredErrors>' : "" }, _generateWorksheetXML: function () { var e, t, n, i, a, s = [], r = this._cellsArray.length, l = this._colsArray.length, d = "1:" + l, c = this._dataProvider.getHeaderRowCount ? this._dataProvider.getHeaderRowCount() : 1, u = ['<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">']; for (u.push(this._needSheetPr ? '<sheetPr><outlinePr summaryBelow="0"/></sheetPr>' : "<sheetPr/>"), u.push('<dimension ref="A1:C1"/>'), u.push("<sheetViews><sheetView "), u.push(this._rtlEnabled ? 'rightToLeft="1" ' : ""), u.push('tabSelected="1" workbookViewId="0">'), u.push(this._getPaneXML()), u.push("</sheetView></sheetViews>"), u.push('<sheetFormatPr defaultRowHeight="15"'), u.push(' outlineLevelRow="' + (this._dataProvider.getRowsCount() > 0 ? this._dataProvider.getGroupLevel(0) : 0) + '"'), u.push(' x14ac:dyDescent="0.25"/>'), e = 0; e < l; e++)this._colsArray[e] = this._getXMLTag("col", [{ name: "width", value: this._colsArray[e] }, { name: "min", value: Number(e) + 1 }, { name: "max", value: Number(e) + 1 }, { name: "customWidth", value: 1 }]); for (u.push(this._getXMLTag("cols", [], this._colsArray.join("")) + "<sheetData>"), t = 0; t < r; t++) { for (i = [], a = this._cellsArray[t].length, e = 0; e < a; e++)t = Number(t), n = this._cellsArray[t][e], i.push(this._getXMLTag("c", [{ name: "r", value: this._convertToExcelCellRefAndTrackMaxIndex(t, e) }, { name: "s", value: n.style }, { name: "t", value: n.type }], (0, o.isDefined)(n.value) ? this._getXMLTag("v", [], n.value) : null)); s.push(this._getXMLTag("row", [{ name: "r", value: Number(t) + 1 }, { name: "spans", value: d }, { name: "outlineLevel", value: t >= c ? this._dataProvider.getGroupLevel(t) : 0 }, { name: "x14ac:dyDescent", value: "0.25" }], i.join(""))), this._cellsArray[t] = null, s.length > 1e4 && (u.push(s.join("")), s = []) } u.push(s.join("")), s = []; var h = this._convertToExcelCellRef(this._maxRowIndex, this._maxColumnIndex); u.push("</sheetData>" + this._getAutoFilterXML(h) + this._generateMergingXML() + this._getIgnoredErrorsXML(h) + "</worksheet>"), this._zip.folder("xl").folder("worksheets").file("sheet1.xml", u.join("")), this._colsArray = [], this._cellsArray = [], u = [] }, _generateMergingXML: function () { var e, t, n, i, a, s = (0, o.isDefined)(this._dataProvider.getHeaderRowCount) ? this._dataProvider.getHeaderRowCount() : this._dataProvider.getRowsCount(), r = this._dataProvider.getColumns().length, l = [], d = [], c = ""; for (i = 0; i < s; i++)for (n = 0; n !== r; n++)if (!(0, o.isDefined)(l[i]) || !(0, o.isDefined)(l[i][n])) { var u = this._dataProvider.getCellMerging(i, n); if (u.colspan || u.rowspan) for (d.push({ start: this._convertToExcelCellRefAndTrackMaxIndex(i, n), end: this._convertToExcelCellRefAndTrackMaxIndex(i + (u.rowspan || 0), n + (u.colspan || 0)) }), e = i; e <= i + u.rowspan; e++)for (t = n; t <= n + u.colspan; t++)(0, o.isDefined)(l[e]) || (l[e] = []), l[e][t] = !0 } var h = d.length; for (a = 0; a < h; a++)c += this._getXMLTag("mergeCell", [{ name: "ref", value: d[a].start + ":" + d[a].end }]); return c.length ? this._getXMLTag("mergeCells", [{ name: "count", value: h }], c) : "" }, _generateCommonXML: function () { var e = m + this._createXMLRelationships(this._createXMLRelationship(1, "officeDocument", "xl/workbook.xml")), t = this._zip.folder("xl"), n = m; this._zip.folder("_rels").file(".rels", e); var i = this._createXMLRelationship(1, "worksheet", "worksheets/sheet1.xml") + this._createXMLRelationship(2, "styles", "styles.xml") + this._createXMLRelationship(3, "sharedStrings", "sharedStrings.xml"); n += this._createXMLRelationships(i), t.folder("_rels").file("workbook.xml.rels", n), t.file("workbook.xml", this._getWorkbookContent()), this._zip.file("[Content_Types].xml", this._getContentTypesContent()) }, _generateContent: function () { this._prepareStyleData(), this._prepareCellData(), this._generateWorkXML(), this._generateCommonXML() }, _generateWorkXML: function () { this._generateStylesXML(), this._generateStringsXML(), this._generateWorksheetXML() }, ctor: function (e, t) { this._rtlEnabled = t && !!t.rtlEnabled, this._options = t, this._maxRowIndex = 0, this._maxColumnIndex = 0, this._stringArray = [], this._stringHash = {}, this._styleArray = [], this._colsArray = [], this._cellsArray = [], this._needSheetPr = !1, this._dataProvider = e, this._excelFile = new h.default, (0, o.isDefined)(x.JSZip) ? this._zip = new x.JSZip : this._zip = null }, _checkZipState: function () { if (!this._zip) throw r.default.Error("E1041", "JSZip") }, ready: function () { return this._dataProvider.ready() }, getData: function (e) { var t = { type: e ? "blob" : "base64", compression: "DEFLATE", mimeType: c.MIME_TYPES.EXCEL }, n = new f.Deferred; return this._checkZipState(), this._generateContent(), this._zip.generateAsync ? this._zip.generateAsync(t).then(n.resolve) : n.resolve(this._zip.generate(t)), n } }); t.ExcelCreator = x, x.JSZip = d.default }, function (e, t) { e.exports = window.JSZip }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(27)), a = r(n(65)), o = r(n(176)), s = r(n(251)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = /([^\s0]+)?(\s*)0*[.,]*0*(\s*)([^\s0]+)?/, d = {}, c = function (e) { var t = a.default.locale() + "/" + JSON.stringify(e); return d[t] || (d[t] = new Intl.NumberFormat(a.default.locale(), e).format), d[t] }, u = { engine: function () { return "intl" }, _formatNumberCore: function (e, t, n) { return "exponential" === t ? this.callBase.apply(this, arguments) : c(this._normalizeFormatConfig(t, n, e))(e) }, _normalizeFormatConfig: function (e, t, n) { var a; return a = "decimal" === e ? { minimumIntegerDigits: t.precision || void 0, useGrouping: !1, maximumFractionDigits: String(n).length, round: n < 0 ? "ceil" : "floor" } : this._getPrecisionConfig(t.precision), "percent" === e ? a.style = "percent" : "currency" === e && (a.style = "currency", a.currency = t.currency || (0, i.default)().defaultCurrency), a }, _getPrecisionConfig: function (e) { return null === e ? { minimumFractionDigits: 0, maximumFractionDigits: 20 } : { minimumFractionDigits: e || 0, maximumFractionDigits: e || 0 } }, format: function (e, t) { return "number" != typeof e ? e : ("default" === (t = this._normalizeFormat(t)).currency && (t.currency = (0, i.default)().defaultCurrency), t && ("function" == typeof t || t.type || t.formatter) ? this.callBase.apply(this, arguments) : c(t)(e)) }, _getCurrencySymbolInfo: function (e) { var t = function (e) { return new Intl.NumberFormat(a.default.locale(), { style: "currency", currency: e }) }(e); return this._extractCurrencySymbolInfo(t.format(0)) }, _extractCurrencySymbolInfo: function (e) { var t = l.exec(e) || []; return { position: t[1] ? "before" : "after", symbol: t[1] || t[4] || "", delimiter: t[2] || t[3] || "" } }, getCurrencySymbol: function (e) { return e || (e = (0, i.default)().defaultCurrency), { symbol: this._getCurrencySymbolInfo(e).symbol } }, getOpenXmlCurrencyFormat: function (e) { var t = e || (0, i.default)().defaultCurrency, n = this._getCurrencySymbolInfo(t).symbol, r = a.default.getValueByClosestLocale((function (e) { return s.default[e] })); return (0, o.default)(n, r) } }; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; t.default = { "en-150": "en-001", "en-AG": "en-001", "en-AI": "en-001", "en-AU": "en-001", "en-BB": "en-001", "en-BM": "en-001", "en-BS": "en-001", "en-BW": "en-001", "en-BZ": "en-001", "en-CA": "en-001", "en-CC": "en-001", "en-CK": "en-001", "en-CM": "en-001", "en-CX": "en-001", "en-CY": "en-001", "en-DG": "en-001", "en-DM": "en-001", "en-ER": "en-001", "en-FJ": "en-001", "en-FK": "en-001", "en-FM": "en-001", "en-GB": "en-001", "en-GD": "en-001", "en-GG": "en-001", "en-GH": "en-001", "en-GI": "en-001", "en-GM": "en-001", "en-GY": "en-001", "en-HK": "en-001", "en-IE": "en-001", "en-IL": "en-001", "en-IM": "en-001", "en-IN": "en-001", "en-IO": "en-001", "en-JE": "en-001", "en-JM": "en-001", "en-KE": "en-001", "en-KI": "en-001", "en-KN": "en-001", "en-KY": "en-001", "en-LC": "en-001", "en-LR": "en-001", "en-LS": "en-001", "en-MG": "en-001", "en-MO": "en-001", "en-MS": "en-001", "en-MT": "en-001", "en-MU": "en-001", "en-MW": "en-001", "en-MY": "en-001", "en-NA": "en-001", "en-NF": "en-001", "en-NG": "en-001", "en-NR": "en-001", "en-NU": "en-001", "en-NZ": "en-001", "en-PG": "en-001", "en-PH": "en-001", "en-PK": "en-001", "en-PN": "en-001", "en-PW": "en-001", "en-RW": "en-001", "en-SB": "en-001", "en-SC": "en-001", "en-SD": "en-001", "en-SG": "en-001", "en-SH": "en-001", "en-SL": "en-001", "en-SS": "en-001", "en-SX": "en-001", "en-SZ": "en-001", "en-TC": "en-001", "en-TK": "en-001", "en-TO": "en-001", "en-TT": "en-001", "en-TV": "en-001", "en-TZ": "en-001", "en-UG": "en-001", "en-VC": "en-001", "en-VG": "en-001", "en-VU": "en-001", "en-WS": "en-001", "en-ZA": "en-001", "en-ZM": "en-001", "en-ZW": "en-001", "en-AT": "en-150", "en-BE": "en-150", "en-CH": "en-150", "en-DE": "en-150", "en-DK": "en-150", "en-FI": "en-150", "en-NL": "en-150", "en-SE": "en-150", "en-SI": "en-150", "es-AR": "es-419", "es-BO": "es-419", "es-BR": "es-419", "es-BZ": "es-419", "es-CL": "es-419", "es-CO": "es-419", "es-CR": "es-419", "es-CU": "es-419", "es-DO": "es-419", "es-EC": "es-419", "es-GT": "es-419", "es-HN": "es-419", "es-MX": "es-419", "es-NI": "es-419", "es-PA": "es-419", "es-PE": "es-419", "es-PR": "es-419", "es-PY": "es-419", "es-SV": "es-419", "es-US": "es-419", "es-UY": "es-419", "es-VE": "es-419", "pt-AO": "pt-PT", "pt-CH": "pt-PT", "pt-CV": "pt-PT", "pt-FR": "pt-PT", "pt-GQ": "pt-PT", "pt-GW": "pt-PT", "pt-LU": "pt-PT", "pt-MO": "pt-PT", "pt-MZ": "pt-PT", "pt-ST": "pt-PT", "pt-TL": "pt-PT", "az-Arab": "root", "az-Cyrl": "root", "blt-Latn": "root", "bm-Nkoo": "root", "bs-Cyrl": "root", "byn-Latn": "root", "cu-Glag": "root", "dje-Arab": "root", "dyo-Arab": "root", "en-Dsrt": "root", "en-Shaw": "root", "ff-Adlm": "root", "ff-Arab": "root", "ha-Arab": "root", "hi-Latn": "root", "iu-Latn": "root", "kk-Arab": "root", "ks-Deva": "root", "ku-Arab": "root", "ky-Arab": "root", "ky-Latn": "root", "ml-Arab": "root", "mn-Mong": "root", "mni-Mtei": "root", "ms-Arab": "root", "pa-Arab": "root", "sat-Deva": "root", "sd-Deva": "root", "sd-Khoj": "root", "sd-Sind": "root", "shi-Latn": "root", "so-Arab": "root", "sr-Latn": "root", "sw-Arab": "root", "tg-Arab": "root", "ug-Cyrl": "root", "uz-Arab": "root", "uz-Cyrl": "root", "vai-Latn": "root", "wo-Arab": "root", "yo-Arab": "root", "yue-Hans": "root", "zh-Hant": "root", "zh-Hant-MO": "zh-Hant-HK" }, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; t.default = function (e, t) { var n = e[t]; return n ? "root" !== n && n : t.substr(0, t.lastIndexOf("-")) }, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; t.default = { af: "¤#,##0.00;(¤#,##0.00)", "af-NA": "¤#,##0.00;(¤#,##0.00)", agq: "#,##0.00¤", ak: "¤#,##0.00", am: "¤#,##0.00;(¤#,##0.00)", ar: "¤#,##0.00;(¤#,##0.00)", "ar-AE": "¤#,##0.00;(¤#,##0.00)", "ar-BH": "¤#,##0.00;(¤#,##0.00)", "ar-DJ": "¤#,##0.00;(¤#,##0.00)", "ar-DZ": "¤#,##0.00;(¤#,##0.00)", "ar-EG": "¤#,##0.00;(¤#,##0.00)", "ar-EH": "¤#,##0.00;(¤#,##0.00)", "ar-ER": "¤#,##0.00;(¤#,##0.00)", "ar-IL": "¤#,##0.00;(¤#,##0.00)", "ar-IQ": "¤#,##0.00;(¤#,##0.00)", "ar-JO": "¤#,##0.00;(¤#,##0.00)", "ar-KM": "¤#,##0.00;(¤#,##0.00)", "ar-KW": "¤#,##0.00;(¤#,##0.00)", "ar-LB": "¤#,##0.00;(¤#,##0.00)", "ar-LY": "¤#,##0.00;(¤#,##0.00)", "ar-MA": "¤#,##0.00;(¤#,##0.00)", "ar-MR": "¤#,##0.00;(¤#,##0.00)", "ar-OM": "¤#,##0.00;(¤#,##0.00)", "ar-PS": "¤#,##0.00;(¤#,##0.00)", "ar-QA": "¤#,##0.00;(¤#,##0.00)", "ar-SA": "¤#,##0.00;(¤#,##0.00)", "ar-SD": "¤#,##0.00;(¤#,##0.00)", "ar-SO": "¤#,##0.00;(¤#,##0.00)", "ar-SS": "¤#,##0.00;(¤#,##0.00)", "ar-SY": "¤#,##0.00;(¤#,##0.00)", "ar-TD": "¤#,##0.00;(¤#,##0.00)", "ar-TN": "¤#,##0.00;(¤#,##0.00)", "ar-YE": "¤#,##0.00;(¤#,##0.00)", as: "¤ #,##,##0.00", asa: "#,##0.00 ¤", ast: "#,##0.00 ¤", az: "#,##0.00 ¤", "az-Cyrl": "#,##0.00 ¤", "az-Latn": "#,##0.00 ¤", bas: "#,##0.00 ¤", be: "#,##0.00 ¤", bem: "¤#,##0.00;(¤#,##0.00)", bez: "#,##0.00¤", bg: "0.00 ¤;(0.00 ¤)", bm: "¤#,##0.00;(¤#,##0.00)", bn: "#,##,##0.00¤;(#,##,##0.00¤)", "bn-IN": "#,##,##0.00¤;(#,##,##0.00¤)", bo: "¤ #,##0.00", "bo-IN": "¤ #,##0.00", br: "#,##0.00 ¤", brx: "¤ #,##,##0.00", bs: "#,##0.00 ¤", "bs-Cyrl": "#,##0.00 ¤", "bs-Latn": "#,##0.00 ¤", ca: "#,##0.00 ¤;(#,##0.00 ¤)", "ca-AD": "#,##0.00 ¤;(#,##0.00 ¤)", "ca-ES-VALENCIA": "#,##0.00 ¤;(#,##0.00 ¤)", "ca-FR": "#,##0.00 ¤;(#,##0.00 ¤)", "ca-IT": "#,##0.00 ¤;(#,##0.00 ¤)", ccp: "#,##,##0.00¤;(#,##,##0.00¤)", "ccp-IN": "#,##,##0.00¤;(#,##,##0.00¤)", ce: "#,##0.00 ¤", ceb: "¤#,##0.00;(¤#,##0.00)", cgg: "¤#,##0.00", chr: "¤#,##0.00;(¤#,##0.00)", ckb: "¤ #,##0.00", "ckb-IR": "¤ #,##0.00", cs: "#,##0.00 ¤", cy: "¤#,##0.00;(¤#,##0.00)", da: "#,##0.00 ¤", "da-GL": "#,##0.00 ¤", dav: "¤#,##0.00;(¤#,##0.00)", de: "#,##0.00 ¤", "de-AT": "#,##0.00 ¤", "de-BE": "#,##0.00 ¤", "de-CH": "#,##0.00 ¤", "de-IT": "#,##0.00 ¤", "de-LI": "#,##0.00 ¤", "de-LU": "#,##0.00 ¤", dje: "#,##0.00¤", doi: "¤#,##0.00", dsb: "#,##0.00 ¤", dua: "#,##0.00 ¤", dyo: "#,##0.00 ¤", dz: "¤#,##,##0.00", ebu: "¤#,##0.00;(¤#,##0.00)", ee: "¤#,##0.00;(¤#,##0.00)", "ee-TG": "¤#,##0.00;(¤#,##0.00)", el: "#,##0.00 ¤", "el-CY": "#,##0.00 ¤", en: "¤#,##0.00;(¤#,##0.00)", "en-001": "¤#,##0.00;(¤#,##0.00)", "en-150": "#,##0.00 ¤", "en-AE": "¤#,##0.00;(¤#,##0.00)", "en-AG": "¤#,##0.00;(¤#,##0.00)", "en-AI": "¤#,##0.00;(¤#,##0.00)", "en-AS": "¤#,##0.00;(¤#,##0.00)", "en-AT": "¤ #,##0.00", "en-AU": "¤#,##0.00;(¤#,##0.00)", "en-BB": "¤#,##0.00;(¤#,##0.00)", "en-BE": "#,##0.00 ¤", "en-BI": "¤#,##0.00;(¤#,##0.00)", "en-BM": "¤#,##0.00;(¤#,##0.00)", "en-BS": "¤#,##0.00;(¤#,##0.00)", "en-BW": "¤#,##0.00;(¤#,##0.00)", "en-BZ": "¤#,##0.00;(¤#,##0.00)", "en-CA": "¤#,##0.00;(¤#,##0.00)", "en-CC": "¤#,##0.00;(¤#,##0.00)", "en-CH": "¤ #,##0.00;¤-#,##0.00", "en-CK": "¤#,##0.00;(¤#,##0.00)", "en-CM": "¤#,##0.00;(¤#,##0.00)", "en-CX": "¤#,##0.00;(¤#,##0.00)", "en-CY": "¤#,##0.00;(¤#,##0.00)", "en-DE": "#,##0.00 ¤", "en-DG": "¤#,##0.00;(¤#,##0.00)", "en-DK": "#,##0.00 ¤", "en-DM": "¤#,##0.00;(¤#,##0.00)", "en-ER": "¤#,##0.00;(¤#,##0.00)", "en-FI": "#,##0.00 ¤", "en-FJ": "¤#,##0.00;(¤#,##0.00)", "en-FK": "¤#,##0.00;(¤#,##0.00)", "en-FM": "¤#,##0.00;(¤#,##0.00)", "en-GB": "¤#,##0.00;(¤#,##0.00)", "en-GD": "¤#,##0.00;(¤#,##0.00)", "en-GG": "¤#,##0.00;(¤#,##0.00)", "en-GH": "¤#,##0.00;(¤#,##0.00)", "en-GI": "¤#,##0.00;(¤#,##0.00)", "en-GM": "¤#,##0.00;(¤#,##0.00)", "en-GU": "¤#,##0.00;(¤#,##0.00)", "en-GY": "¤#,##0.00;(¤#,##0.00)", "en-HK": "¤#,##0.00;(¤#,##0.00)", "en-IE": "¤#,##0.00;(¤#,##0.00)", "en-IL": "¤#,##0.00;(¤#,##0.00)", "en-IM": "¤#,##0.00;(¤#,##0.00)", "en-IN": "¤#,##0.00;(¤#,##0.00)", "en-IO": "¤#,##0.00;(¤#,##0.00)", "en-JE": "¤#,##0.00;(¤#,##0.00)", "en-JM": "¤#,##0.00;(¤#,##0.00)", "en-KE": "¤#,##0.00;(¤#,##0.00)", "en-KI": "¤#,##0.00;(¤#,##0.00)", "en-KN": "¤#,##0.00;(¤#,##0.00)", "en-KY": "¤#,##0.00;(¤#,##0.00)", "en-LC": "¤#,##0.00;(¤#,##0.00)", "en-LR": "¤#,##0.00;(¤#,##0.00)", "en-LS": "¤#,##0.00;(¤#,##0.00)", "en-MG": "¤#,##0.00;(¤#,##0.00)", "en-MH": "¤#,##0.00;(¤#,##0.00)", "en-MO": "¤#,##0.00;(¤#,##0.00)", "en-MP": "¤#,##0.00;(¤#,##0.00)", "en-MS": "¤#,##0.00;(¤#,##0.00)", "en-MT": "¤#,##0.00;(¤#,##0.00)", "en-MU": "¤#,##0.00;(¤#,##0.00)", "en-MW": "¤#,##0.00;(¤#,##0.00)", "en-MY": "¤#,##0.00;(¤#,##0.00)", "en-NA": "¤#,##0.00;(¤#,##0.00)", "en-NF": "¤#,##0.00;(¤#,##0.00)", "en-NG": "¤#,##0.00;(¤#,##0.00)", "en-NL": "¤ #,##0.00;(¤ #,##0.00)", "en-NR": "¤#,##0.00;(¤#,##0.00)", "en-NU": "¤#,##0.00;(¤#,##0.00)", "en-NZ": "¤#,##0.00;(¤#,##0.00)", "en-PG": "¤#,##0.00;(¤#,##0.00)", "en-PH": "¤#,##0.00;(¤#,##0.00)", "en-PK": "¤#,##0.00;(¤#,##0.00)", "en-PN": "¤#,##0.00;(¤#,##0.00)", "en-PR": "¤#,##0.00;(¤#,##0.00)", "en-PW": "¤#,##0.00;(¤#,##0.00)", "en-RW": "¤#,##0.00;(¤#,##0.00)", "en-SB": "¤#,##0.00;(¤#,##0.00)", "en-SC": "¤#,##0.00;(¤#,##0.00)", "en-SD": "¤#,##0.00;(¤#,##0.00)", "en-SE": "#,##0.00 ¤", "en-SG": "¤#,##0.00;(¤#,##0.00)", "en-SH": "¤#,##0.00;(¤#,##0.00)", "en-SI": "#,##0.00 ¤;(#,##0.00 ¤)", "en-SL": "¤#,##0.00;(¤#,##0.00)", "en-SS": "¤#,##0.00;(¤#,##0.00)", "en-SX": "¤#,##0.00;(¤#,##0.00)", "en-SZ": "¤#,##0.00;(¤#,##0.00)", "en-TC": "¤#,##0.00;(¤#,##0.00)", "en-TK": "¤#,##0.00;(¤#,##0.00)", "en-TO": "¤#,##0.00;(¤#,##0.00)", "en-TT": "¤#,##0.00;(¤#,##0.00)", "en-TV": "¤#,##0.00;(¤#,##0.00)", "en-TZ": "¤#,##0.00;(¤#,##0.00)", "en-UG": "¤#,##0.00;(¤#,##0.00)", "en-UM": "¤#,##0.00;(¤#,##0.00)", "en-US-POSIX": "¤#,##0.00;(¤#,##0.00)", "en-VC": "¤#,##0.00;(¤#,##0.00)", "en-VG": "¤#,##0.00;(¤#,##0.00)", "en-VI": "¤#,##0.00;(¤#,##0.00)", "en-VU": "¤#,##0.00;(¤#,##0.00)", "en-WS": "¤#,##0.00;(¤#,##0.00)", "en-ZA": "¤#,##0.00;(¤#,##0.00)", "en-ZM": "¤#,##0.00;(¤#,##0.00)", "en-ZW": "¤#,##0.00;(¤#,##0.00)", eo: "¤ #,##0.00", es: "#,##0.00 ¤", "es-419": "¤#,##0.00", "es-AR": "¤ #,##0.00;(¤ #,##0.00)", "es-BO": "¤#,##0.00", "es-BR": "¤#,##0.00", "es-BZ": "¤#,##0.00", "es-CL": "¤#,##0.00", "es-CO": "¤#,##0.00", "es-CR": "¤#,##0.00", "es-CU": "¤#,##0.00", "es-DO": "¤#,##0.00;(¤#,##0.00)", "es-EA": "#,##0.00 ¤", "es-EC": "¤#,##0.00", "es-GQ": "#,##0.00 ¤", "es-GT": "¤#,##0.00", "es-HN": "¤#,##0.00", "es-IC": "#,##0.00 ¤", "es-MX": "¤#,##0.00", "es-NI": "¤#,##0.00", "es-PA": "¤#,##0.00", "es-PE": "¤#,##0.00", "es-PH": "#,##0.00 ¤", "es-PR": "¤#,##0.00", "es-PY": "¤#,##0.00", "es-SV": "¤#,##0.00", "es-US": "¤#,##0.00", "es-UY": "¤ #,##0.00;(¤ #,##0.00)", "es-VE": "¤#,##0.00", et: "#,##0.00 ¤;(#,##0.00 ¤)", eu: "#,##0.00 ¤;(#,##0.00 ¤)", ewo: "#,##0.00 ¤", fa: "‎¤ #,##0.00;‎(¤ #,##0.00)", "fa-AF": "¤ #,##0.00;‎(¤ #,##0.00)", ff: "#,##0.00 ¤", "ff-Adlm": "¤ #,##0.00", "ff-Adlm-BF": "¤ #,##0.00", "ff-Adlm-CM": "¤ #,##0.00", "ff-Adlm-GH": "¤ #,##0.00", "ff-Adlm-GM": "¤ #,##0.00", "ff-Adlm-GW": "¤ #,##0.00", "ff-Adlm-LR": "¤ #,##0.00", "ff-Adlm-MR": "¤ #,##0.00", "ff-Adlm-NE": "¤ #,##0.00", "ff-Adlm-NG": "¤ #,##0.00", "ff-Adlm-SL": "¤ #,##0.00", "ff-Adlm-SN": "¤ #,##0.00", "ff-Latn": "#,##0.00 ¤", "ff-Latn-BF": "#,##0.00 ¤", "ff-Latn-CM": "#,##0.00 ¤", "ff-Latn-GH": "#,##0.00 ¤", "ff-Latn-GM": "#,##0.00 ¤", "ff-Latn-GN": "#,##0.00 ¤", "ff-Latn-GW": "#,##0.00 ¤", "ff-Latn-LR": "#,##0.00 ¤", "ff-Latn-MR": "#,##0.00 ¤", "ff-Latn-NE": "#,##0.00 ¤", "ff-Latn-NG": "#,##0.00 ¤", "ff-Latn-SL": "#,##0.00 ¤", fi: "#,##0.00 ¤", fil: "¤#,##0.00;(¤#,##0.00)", fo: "#,##0.00 ¤;(#,##0.00 ¤)", "fo-DK": "#,##0.00 ¤;(#,##0.00 ¤)", fr: "#,##0.00 ¤;(#,##0.00 ¤)", "fr-BE": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-BF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-BI": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-BJ": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-BL": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CA": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CD": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CG": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CH": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CI": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-CM": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-DJ": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-DZ": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-GA": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-GF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-GN": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-GP": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-GQ": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-HT": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-KM": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-LU": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MA": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MC": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MG": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-ML": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MQ": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MR": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-MU": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-NC": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-NE": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-PF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-PM": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-RE": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-RW": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-SC": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-SN": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-SY": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-TD": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-TG": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-TN": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-VU": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-WF": "#,##0.00 ¤;(#,##0.00 ¤)", "fr-YT": "#,##0.00 ¤;(#,##0.00 ¤)", fur: "¤ #,##0.00", fy: "¤ #,##0.00;(¤ #,##0.00)", ga: "¤#,##0.00;(¤#,##0.00)", "ga-GB": "¤#,##0.00;(¤#,##0.00)", gd: "¤#,##0.00;(¤#,##0.00)", gl: "#,##0.00 ¤", gsw: "#,##0.00 ¤", "gsw-FR": "#,##0.00 ¤", "gsw-LI": "#,##0.00 ¤", gu: "¤#,##,##0.00;(¤#,##,##0.00)", guz: "¤#,##0.00;(¤#,##0.00)", gv: "¤#,##0.00", ha: "¤ #,##0.00", "ha-GH": "¤ #,##0.00", "ha-NE": "¤ #,##0.00", haw: "¤#,##0.00;(¤#,##0.00)", he: "#,##0.00 ¤", hi: "¤#,##,##0.00", hr: "#,##0.00 ¤", "hr-BA": "#,##0.00 ¤", hsb: "#,##0.00 ¤", hu: "#,##0.00 ¤", hy: "#,##0.00 ¤", ia: "¤ #,##0.00;(¤ #,##0.00)", id: "¤#,##0.00", ig: "¤#,##0.00;(¤#,##0.00)", ii: "¤ #,##0.00", is: "#,##0.00 ¤", it: "#,##0.00 ¤", "it-CH": "#,##0.00 ¤", "it-SM": "#,##0.00 ¤", "it-VA": "#,##0.00 ¤", ja: "¤#,##0.00;(¤#,##0.00)", jgo: "¤ #,##0.00", jmc: "¤#,##0.00", jv: "¤ #,##0.00", ka: "#,##0.00 ¤", kab: "#,##0.00¤", kam: "¤#,##0.00;(¤#,##0.00)", kde: "¤#,##0.00;(¤#,##0.00)", kea: "#,##0.00 ¤;(#,##0.00 ¤)", khq: "#,##0.00¤", ki: "¤#,##0.00;(¤#,##0.00)", kk: "#,##0.00 ¤", kkj: "¤ #,##0.00", kl: "¤#,##0.00;¤-#,##0.00", kln: "¤#,##0.00;(¤#,##0.00)", km: "#,##0.00¤;(#,##0.00¤)", kn: "¤#,##0.00;(¤#,##0.00)", ko: "¤#,##0.00;(¤#,##0.00)", "ko-KP": "¤#,##0.00;(¤#,##0.00)", kok: "¤#,##0.00;(¤#,##0.00)", ks: "¤ #,##,##0.00", "ks-Arab": "¤ #,##,##0.00", ksb: "#,##0.00¤", ksf: "#,##0.00 ¤", ksh: "#,##0.00 ¤", ku: "#,##0.00 ¤;(#,##0.00 ¤)", kw: "¤#,##0.00", ky: "#,##0.00 ¤", lag: "¤ #,##0.00", lb: "#,##0.00 ¤", lg: "#,##0.00¤", lkt: "¤ #,##0.00", ln: "#,##0.00 ¤", "ln-AO": "#,##0.00 ¤", "ln-CF": "#,##0.00 ¤", "ln-CG": "#,##0.00 ¤", lo: "¤#,##0.00;¤-#,##0.00", lrc: "¤ #,##0.00", "lrc-IQ": "¤ #,##0.00", lt: "#,##0.00 ¤", lu: "#,##0.00¤", luo: "#,##0.00¤", luy: "¤#,##0.00;¤- #,##0.00", lv: "#,##0.00 ¤", mai: "¤ #,##0.00", mas: "¤#,##0.00;(¤#,##0.00)", "mas-TZ": "¤#,##0.00;(¤#,##0.00)", mer: "¤#,##0.00;(¤#,##0.00)", mfe: "¤ #,##0.00", mg: "¤#,##0.00", mgh: "¤ #,##0.00", mgo: "¤ #,##0.00", mi: "¤ #,##0.00", mk: "#,##0.00 ¤", ml: "¤#,##0.00;(¤#,##0.00)", mn: "¤ #,##0.00", mni: "¤ #,##0.00", "mni-Beng": "¤ #,##0.00", mr: "¤#,##0.00;(¤#,##0.00)", ms: "¤#,##0.00;(¤#,##0.00)", "ms-BN": "¤#,##0.00;(¤#,##0.00)", "ms-ID": "¤#,##0.00", "ms-SG": "¤#,##0.00;(¤#,##0.00)", mt: "¤#,##0.00", mua: "¤#,##0.00;(¤#,##0.00)", my: "¤ #,##0.00", mzn: "¤ #,##0.00", naq: "¤#,##0.00", nb: "¤ #,##0.00", "nb-SJ": "¤ #,##0.00", nd: "¤#,##0.00;(¤#,##0.00)", nds: "¤ #,##0.00", "nds-NL": "¤ #,##0.00", ne: "¤ #,##,##0.00", "ne-IN": "¤ #,##,##0.00", nl: "¤ #,##0.00;(¤ #,##0.00)", "nl-AW": "¤ #,##0.00;(¤ #,##0.00)", "nl-BE": "¤ #,##0.00;(¤ #,##0.00)", "nl-BQ": "¤ #,##0.00;(¤ #,##0.00)", "nl-CW": "¤ #,##0.00;(¤ #,##0.00)", "nl-SR": "¤ #,##0.00;(¤ #,##0.00)", "nl-SX": "¤ #,##0.00;(¤ #,##0.00)", nmg: "#,##0.00 ¤", nn: "#,##0.00 ¤", nnh: "¤ #,##0.00", nus: "¤#,##0.00;(¤#,##0.00)", nyn: "¤#,##0.00", om: "¤#,##0.00", "om-KE": "¤#,##0.00", or: "¤#,##0.00;(¤#,##0.00)", os: "¤ #,##0.00", "os-RU": "¤ #,##0.00", pa: "¤ #,##0.00", "pa-Arab": "¤ #,##0.00", "pa-Guru": "¤ #,##0.00", pcm: "¤#,##0.00", pl: "#,##0.00 ¤;(#,##0.00 ¤)", ps: "¤#,##0.00;(¤#,##0.00)", "ps-PK": "¤#,##0.00;(¤#,##0.00)", pt: "¤ #,##0.00", "pt-AO": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-CH": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-CV": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-GQ": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-GW": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-LU": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-MO": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-MZ": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-PT": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-ST": "#,##0.00 ¤;(#,##0.00 ¤)", "pt-TL": "#,##0.00 ¤;(#,##0.00 ¤)", qu: "¤ #,##0.00", "qu-BO": "¤ #,##0.00", "qu-EC": "¤ #,##0.00", rm: "#,##0.00 ¤", rn: "#,##0.00¤", ro: "#,##0.00 ¤;(#,##0.00 ¤)", "ro-MD": "#,##0.00 ¤;(#,##0.00 ¤)", rof: "¤#,##0.00", root: "¤ #,##0.00", ru: "#,##0.00 ¤", "ru-BY": "#,##0.00 ¤", "ru-KG": "#,##0.00 ¤", "ru-KZ": "#,##0.00 ¤", "ru-MD": "#,##0.00 ¤", "ru-UA": "#,##0.00 ¤", rw: "¤ #,##0.00", rwk: "#,##0.00¤", sa: "¤ #,##0.00", sah: "#,##0.00 ¤", saq: "¤#,##0.00;(¤#,##0.00)", sat: "¤ #,##0.00", "sat-Olck": "¤ #,##0.00", sbp: "#,##0.00¤", sd: "¤ #,##0.00", "sd-Arab": "¤ #,##0.00", "sd-Deva": "¤ #,##0.00", se: "#,##0.00 ¤", "se-FI": "#,##0.00 ¤", "se-SE": "#,##0.00 ¤", seh: "#,##0.00¤", ses: "#,##0.00¤", sg: "¤#,##0.00;¤-#,##0.00", shi: "#,##0.00¤", "shi-Latn": "#,##0.00¤", "shi-Tfng": "#,##0.00¤", si: "¤#,##0.00;(¤#,##0.00)", sk: "#,##0.00 ¤;(#,##0.00 ¤)", sl: "#,##0.00 ¤;(#,##0.00 ¤)", smn: "#,##0.00 ¤", sn: "¤#,##0.00;(¤#,##0.00)", so: "¤#,##0.00;(¤#,##0.00)", "so-DJ": "¤#,##0.00;(¤#,##0.00)", "so-ET": "¤#,##0.00;(¤#,##0.00)", "so-KE": "¤#,##0.00;(¤#,##0.00)", sq: "#,##0.00 ¤;(#,##0.00 ¤)", "sq-MK": "#,##0.00 ¤;(#,##0.00 ¤)", "sq-XK": "#,##0.00 ¤;(#,##0.00 ¤)", sr: "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Cyrl": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Cyrl-BA": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Cyrl-ME": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Cyrl-XK": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Latn": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Latn-BA": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Latn-ME": "#,##0.00 ¤;(#,##0.00 ¤)", "sr-Latn-XK": "#,##0.00 ¤;(#,##0.00 ¤)", su: "¤#,##0.00", "su-Latn": "¤#,##0.00", sv: "#,##0.00 ¤", "sv-AX": "#,##0.00 ¤", "sv-FI": "#,##0.00 ¤", sw: "¤ #,##0.00", "sw-CD": "¤ #,##0.00", "sw-KE": "¤ #,##0.00", "sw-UG": "¤ #,##0.00", ta: "¤#,##0.00;(¤#,##0.00)", "ta-LK": "¤#,##0.00;(¤#,##0.00)", "ta-MY": "¤#,##0.00;(¤#,##0.00)", "ta-SG": "¤#,##0.00;(¤#,##0.00)", te: "¤#,##0.00;(¤#,##0.00)", teo: "¤#,##0.00;(¤#,##0.00)", "teo-KE": "¤#,##0.00;(¤#,##0.00)", tg: "#,##0.00 ¤", th: "¤#,##0.00;(¤#,##0.00)", ti: "¤#,##0.00", "ti-ER": "¤#,##0.00", tk: "#,##0.00 ¤", to: "¤ #,##0.00", tr: "¤#,##0.00;(¤#,##0.00)", "tr-CY": "¤#,##0.00;(¤#,##0.00)", tt: "#,##0.00 ¤", twq: "#,##0.00¤", tzm: "#,##0.00 ¤", ug: "¤#,##0.00;(¤#,##0.00)", uk: "#,##0.00 ¤", ur: "¤#,##0.00;(¤#,##0.00)", "ur-IN": "¤#,##0.00;(¤#,##0.00)", uz: "#,##0.00 ¤", "uz-Arab": "¤ #,##0.00", "uz-Cyrl": "#,##0.00 ¤", "uz-Latn": "#,##0.00 ¤", vai: "¤#,##0.00;(¤#,##0.00)", "vai-Latn": "¤#,##0.00;(¤#,##0.00)", "vai-Vaii": "¤#,##0.00;(¤#,##0.00)", vi: "#,##0.00 ¤", vun: "¤#,##0.00", wae: "¤ #,##0.00", wo: "¤ #,##0.00", xh: "¤#,##0.00", xog: "#,##0.00 ¤", yav: "#,##0.00 ¤;(#,##0.00 ¤)", yi: "¤ #,##0.00", yo: "¤#,##0.00;(¤#,##0.00)", "yo-BJ": "¤#,##0.00;(¤#,##0.00)", yue: "¤#,##0.00;(¤#,##0.00)", "yue-Hans": "¤#,##0.00;(¤#,##0.00)", "yue-Hant": "¤#,##0.00;(¤#,##0.00)", zgh: "#,##0.00¤", zh: "¤#,##0.00;(¤#,##0.00)", "zh-Hans": "¤#,##0.00;(¤#,##0.00)", "zh-Hans-HK": "¤#,##0.00;(¤#,##0.00)", "zh-Hans-MO": "¤#,##0.00;(¤#,##0.00)", "zh-Hans-SG": "¤#,##0.00;(¤#,##0.00)", "zh-Hant": "¤#,##0.00;(¤#,##0.00)", "zh-Hant-HK": "¤#,##0.00;(¤#,##0.00)", "zh-Hant-MO": "¤#,##0.00;(¤#,##0.00)", zu: "¤#,##0.00;(¤#,##0.00)" }, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; t.default = { "af-NA": 1, agq: 1, ak: 1, ar: 6, "ar-EH": 1, "ar-ER": 1, "ar-KM": 1, "ar-LB": 1, "ar-MA": 1, "ar-MR": 1, "ar-PS": 1, "ar-SO": 1, "ar-SS": 1, "ar-TD": 1, "ar-TN": 1, asa: 1, ast: 1, az: 1, "az-Cyrl": 1, bas: 1, be: 1, bem: 1, bez: 1, bg: 1, bm: 1, br: 1, bs: 1, "bs-Cyrl": 1, ca: 1, ce: 1, cgg: 1, ckb: 6, cs: 1, cy: 1, da: 1, de: 1, dje: 1, dsb: 1, dua: 1, dyo: 1, ee: 1, el: 1, "en-001": 1, "en-AE": 6, "en-BI": 1, "en-MP": 1, "en-SD": 6, eo: 1, es: 1, et: 1, eu: 1, ewo: 1, fa: 6, ff: 1, "ff-Adlm": 1, fi: 1, fo: 1, fr: 1, "fr-DJ": 6, "fr-DZ": 6, "fr-SY": 6, fur: 1, fy: 1, ga: 1, gd: 1, gl: 1, gsw: 1, gv: 1, ha: 1, hr: 1, hsb: 1, hu: 1, hy: 1, ia: 1, ig: 1, is: 1, it: 1, jgo: 1, jmc: 1, ka: 1, kab: 6, kde: 1, kea: 1, khq: 1, kk: 1, kkj: 1, kl: 1, "ko-KP": 1, ksb: 1, ksf: 1, ksh: 1, ku: 1, kw: 1, ky: 1, lag: 1, lb: 1, lg: 1, ln: 1, lrc: 6, lt: 1, lu: 1, lv: 1, "mas-TZ": 1, mfe: 1, mg: 1, mgo: 1, mi: 1, mk: 1, mn: 1, ms: 1, mua: 1, mzn: 6, naq: 1, nb: 1, nds: 1, nl: 1, nmg: 1, nn: 1, nnh: 1, nus: 1, nyn: 1, os: 1, pcm: 1, pl: 1, ps: 6, "pt-AO": 1, "pt-CH": 1, "pt-CV": 1, "pt-GQ": 1, "pt-GW": 1, "pt-LU": 1, "pt-ST": 1, "pt-TL": 1, "qu-BO": 1, "qu-EC": 1, rm: 1, rn: 1, ro: 1, rof: 1, ru: 1, rw: 1, rwk: 1, sah: 1, sbp: 1, se: 1, ses: 1, sg: 1, shi: 1, "shi-Latn": 1, si: 1, sk: 1, sl: 1, smn: 1, so: 1, "so-DJ": 6, sq: 1, sr: 1, "sr-Latn": 1, sv: 1, sw: 1, "ta-LK": 1, "ta-MY": 1, teo: 1, tg: 1, "ti-ER": 1, tk: 1, to: 1, tr: 1, tt: 1, twq: 1, tzm: 1, uk: 1, uz: 1, "uz-Arab": 6, "uz-Cyrl": 1, vai: 1, "vai-Latn": 1, vi: 1, vun: 1, wae: 1, wo: 1, xog: 1, yav: 1, yi: 1, yo: 1, zgh: 1 }, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(1), o = (i = n(65)) && i.__esModule ? i : { default: i }; function s(e) { return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var r = /[\u200E\u200F]/g, l = function (e) { return function (t) { if (!e.timeZoneName) { var n = t.getFullYear(), i = String(n).length < 3, o = i ? n + 400 : n, s = new Date(Date.UTC(o, t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds())); return i && s.setFullYear(n), c(s, (0, a.extend)({ timeZone: "UTC" }, e)) } return c(t, e) } }, d = {}; function c(e, t) { return function (e) { var t = o.default.locale() + "/" + JSON.stringify(e); return d[t] || (d[t] = new Intl.DateTimeFormat(o.default.locale(), e).format), d[t] }(t)(e).replace(r, "") } var u, h = function (e) { return new Intl.NumberFormat(o.default.locale()).format(e) }, f = (u = {}, function (e) { if (!(e in u)) { if ("0" === h(0)) return u[e] = !1, !1; u[e] = {}; for (var t = 0; t < 10; ++t)u[e][h(t)] = t } return u[e] }), p = function (e) { var t = f(o.default.locale()); return t ? e.split("").map((function (e) { return e in t ? String(t[e]) : e })).join("") : e }, g = function (e) { return e.replace(/(\D)0+(\d)/g, "$1$2") }, m = function (e) { return e.replace("d’", "de ") }, _ = { day: { day: "numeric" }, dayofweek: { weekday: "long" }, longdate: { weekday: "long", year: "numeric", month: "long", day: "numeric" }, longdatelongtime: { weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }, longtime: { hour: "numeric", minute: "numeric", second: "numeric" }, month: { month: "long" }, monthandday: { month: "long", day: "numeric" }, monthandyear: { year: "numeric", month: "long" }, shortdate: {}, shorttime: { hour: "numeric", minute: "numeric" }, shortyear: { year: "2-digit" }, year: { year: "numeric" } }; Object.defineProperty(_, "shortdateshorttime", { get: function () { var e = Intl.DateTimeFormat(o.default.locale()).resolvedOptions(); return { year: e.year, month: e.month, day: e.day, hour: "numeric", minute: "numeric" } } }); var v = function (e) { return "string" == typeof e && _[e.toLowerCase()] }, y = { standalone: function (e, t) { var n = new Date(1999, e, 13, 1); return l({ month: t })(n) }, format: function (e, t) { var n = new Date(0, e, 13, 1), i = m(l({ day: "numeric", month: t })(n)).split(" ").filter((function (e) { return e.indexOf("13") < 0 })); return 1 === i.length ? i[0] : 2 === i.length ? i[0].length > i[1].length ? i[0] : i[1] : y.standalone(e, t) } }, w = { engine: function () { return "intl" }, getMonthNames: function (e, t) { var n = { wide: "long", abbreviated: "short", narrow: "narrow" }[e || "wide"]; return t = "format" === t ? t : "standalone", Array.apply(null, new Array(12)).map((function (e, i) { return y[t](i, n) })) }, getDayNames: function (e) { return function (e) { return Array.apply(null, new Array(7)).map((function (t, n) { return l({ weekday: e })(new Date(0, 0, n)) })) }({ wide: "long", abbreviated: "short", short: "narrow", narrow: "narrow" }[e || "wide"]) }, getPeriodNames: function () { var e = l({ hour: "numeric", hour12: !0 }); return [1, 13].map((function (t) { var n = h(1), i = e(new Date(0, 0, 1, t)).split(n); return 2 !== i.length ? "" : (i[0].length > i[1].length ? i[0] : i[1]).trim() })) }, format: function (e, t) { if (e) { if (!t) return e; "function" == typeof t || t.formatter || (t = t.type || t); var n = v(t); if (n) return l(n)(e); var i = s(t); return t.formatter || "function" === i || "string" === i ? this.callBase.apply(this, arguments) : l(t)(e) } }, parse: function (e, t) { var n, i = this; return t && !t.parser && "string" == typeof e && (e = m(e), n = function (e) { return m(i.format(e, t)) }), this.callBase(e, n || t) }, _parseDateBySimpleFormat: function (e, t) { var n = this; e = p(e); var i = this.getFormatParts(t), a = e.split(/\D+/).filter((function (e) { return e.length > 0 })); if (i.length === a.length) { var o = this._generateDateArgs(i, a), s = function (i) { var a, s, r = function (e, t) { var n = t ? 12 : 0; return new Date(e.year, e.month, e.day, (e.hours + n) % 24, e.minutes, e.seconds) }(o, i); if (a = p(n.format(r, t)), s = e, g(a) === g(s)) return r }; return s(!1) || s(!0) } }, _generateDateArgs: function (e, t) { var n = new Date, i = { year: n.getFullYear(), month: n.getMonth(), day: n.getDate(), hours: 0, minutes: 0, seconds: 0 }; return e.forEach((function (e, n) { var a = t[n], o = parseInt(a, 10); "month" === e && (o -= 1), i[e] = o })), i }, formatUsesMonthName: function (e) { return "object" !== s(e) || e.type || e.format ? this.callBase.apply(this, arguments) : "long" === e.month }, formatUsesDayName: function (e) { return "object" !== s(e) || e.type || e.format ? this.callBase.apply(this, arguments) : "long" === e.weekday }, getFormatParts: function (e) { if ("string" == typeof e) return this.callBase(e); var t = (0, a.extend)({}, _[e.toLowerCase()]), n = new Date(2001, 2, 4, 5, 6, 7), i = l(t)(n); i = p(i); return [{ name: "year", value: 1 }, { name: "month", value: 3 }, { name: "day", value: 4 }, { name: "hours", value: 5 }, { name: "minutes", value: 6 }, { name: "seconds", value: 7 }].map((function (e) { return { name: e.name, index: i.indexOf(e.value) } })).filter((function (e) { return e.index > -1 })).sort((function (e, t) { return e.index - t.index })).map((function (e) { return e.name })) } }; t.default = w, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = d(n(66)), o = d(n(255)), s = d(n(179)), r = d(n(181)), l = d(n(258)); function d(e) { return e && e.__esModule ? e : { default: e } } function c(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var u = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._cellFormatTags = [], this._fillTags = [], this._fontTags = [], this._numberFormatTags = [], this._fillTags.push(s.default.tryCreateTag({ patternFill: { patternType: "none" } })) } var t, n, d; return t = e, d = [{ key: "copyCellFormat", value: function (e) { return o.default.copy(e) } }], (n = [{ key: "registerCellFormat", value: function (e) { var t, n = o.default.tryCreateTag(e, { registerFill: this.registerFill.bind(this), registerFont: this.registerFont.bind(this), registerNumberFormat: this.registerNumberFormat.bind(this) }); if ((0, i.isDefined)(n)) { for (var a = 0; a < this._cellFormatTags.length; a++)if (o.default.areEqual(this._cellFormatTags[a], n)) { t = a; break } void 0 === t && (t = this._cellFormatTags.push(n) - 1) } return t } }, { key: "generateCellFormatsXml", value: function () { var e = this._cellFormatTags.map((function (e) { return o.default.toXml(e) })); return a.default.toXml("cellXfs", { count: e.length }, e.join("")) } }, { key: "registerFill", value: function (e) { var t, n = s.default.tryCreateTag(e); if ((0, i.isDefined)(n)) { for (var a = 0; a < this._fillTags.length; a++)if (s.default.areEqual(this._fillTags[a], n)) { t = a; break } void 0 === t && (this._fillTags.length < 2 && this._fillTags.push(s.default.tryCreateTag({ patternFill: { patternType: "Gray125" } })), t = this._fillTags.push(n) - 1) } return t } }, { key: "generateFillsXml", value: function () { var e = this._fillTags.map((function (e) { return s.default.toXml(e) })); return a.default.toXml("fills", { count: e.length }, e.join("")) } }, { key: "registerFont", value: function (e) { var t, n = r.default.tryCreateTag(e); if ((0, i.isDefined)(n)) { for (var a = 0; a < this._fontTags.length; a++)if (r.default.areEqual(this._fontTags[a], n)) { t = a; break } void 0 === t && (t = this._fontTags.push(n) - 1) } return t } }, { key: "generateFontsXml", value: function () { var e = this._fontTags.map((function (e) { return r.default.toXml(e) })); return a.default.toXml("fonts", { count: e.length }, e.join("")) } }, { key: "_convertNumberFormatIndexToId", value: function (e) { return 165 + e } }, { key: "registerNumberFormat", value: function (e) { var t, n = l.default.tryCreateTag(e); if ((0, i.isDefined)(n)) { for (var a = 0; a < this._numberFormatTags.length; a++)if (l.default.areEqual(this._numberFormatTags[a], n)) { t = this._numberFormatTags[a][l.default.ID_PROPERTY_NAME]; break } void 0 === t && (n[l.default.ID_PROPERTY_NAME] = this._convertNumberFormatIndexToId(this._numberFormatTags.length), t = n[l.default.ID_PROPERTY_NAME], this._numberFormatTags.push(n)) } return t } }, { key: "generateNumberFormatsXml", value: function () { if (this._numberFormatTags.length > 0) { var e = this._numberFormatTags.map((function (e) { return l.default.toXml(e) })); return a.default.toXml("numFmts", { count: e.length }, e.join("")) } return "" } }]) && c(t.prototype, n), d && c(t, d), e }(); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = l(n(66)), o = l(n(256)), s = l(n(179)), r = l(n(181)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = { tryCreateTag: function (e, t) { var n = null; if ((0, i.isDefined)(e)) { var a; a = "number" == typeof e.numberFormat ? e.numberFormat : t.registerNumberFormat(e.numberFormat); var r = e.fill; (0, i.isDefined)(r) || (r = s.default.tryCreateFillFromSimpleFormat(e)), n = { numberFormatId: a, alignment: o.default.tryCreateTag(e.alignment), fontId: t.registerFont(e.font), fillId: t.registerFill(r) }, d.isEmpty(n) && (n = null) } return n }, copy: function (e) { var t; return null === e ? t = null : (0, i.isDefined)(e) && (t = {}, void 0 !== e.numberFormat && (t.numberFormat = e.numberFormat), void 0 !== e.fill ? t.fill = s.default.copy(e.fill) : s.default.copySimpleFormat(e, t), void 0 !== e.alignment && (t.alignment = o.default.copy(e.alignment)), void 0 !== e.font && (t.font = r.default.copy(e.font))), t }, areEqual: function (e, t) { return d.isEmpty(e) && d.isEmpty(t) || (0, i.isDefined)(e) && (0, i.isDefined)(t) && e.fontId === t.fontId && e.numberFormatId === t.numberFormatId && e.fillId === t.fillId && o.default.areEqual(e.alignment, t.alignment) }, isEmpty: function (e) { return !(0, i.isDefined)(e) || !(0, i.isDefined)(e.fontId) && !(0, i.isDefined)(e.numberFormatId) && !(0, i.isDefined)(e.fillId) && o.default.isEmpty(e.alignment) }, toXml: function (e) { var t, n = o.default.isEmpty(e.alignment); return (0, i.isDefined)(e.numberFormatId) && (t = e.numberFormatId > 0 ? 1 : 0), a.default.toXml("xf", { xfId: 0, applyAlignment: n ? null : 1, fontId: e.fontId, applyNumberFormat: t, fillId: e.fillId, numFmtId: e.numberFormatId }, n ? null : o.default.toXml(e.alignment)) } }, c = d; t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(0), o = (i = n(66)) && i.__esModule ? i : { default: i }; var s = { tryCreateTag: function (e) { var t = null; return (0, a.isDefined)(e) && (t = { vertical: e.vertical, wrapText: e.wrapText, horizontal: e.horizontal }, s.isEmpty(t) && (t = null)), t }, copy: function (e) { var t = null; return (0, a.isDefined)(e) && (t = {}, void 0 !== e.horizontal && (t.horizontal = e.horizontal), void 0 !== e.vertical && (t.vertical = e.vertical), void 0 !== e.wrapText && (t.wrapText = e.wrapText)), t }, areEqual: function (e, t) { return s.isEmpty(e) && s.isEmpty(t) || (0, a.isDefined)(e) && (0, a.isDefined)(t) && e.vertical === t.vertical && e.wrapText === t.wrapText && e.horizontal === t.horizontal }, isEmpty: function (e) { return !(0, a.isDefined)(e) || !(0, a.isDefined)(e.vertical) && !(0, a.isDefined)(e.wrapText) && !(0, a.isDefined)(e.horizontal) }, toXml: function (e) { return o.default.toXml("alignment", { vertical: e.vertical, wrapText: (0, a.isDefined)(e.wrapText) ? Number(e.wrapText) : void 0, horizontal: e.horizontal }) } }, r = s; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = s(n(66)), o = s(n(180)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = { tryCreateTag: function (e) { var t = null; return (0, i.isDefined)(e) && (t = { patternType: e.patternType, backgroundColor: o.default.tryCreateTag(e.backgroundColor), foregroundColor: o.default.tryCreateTag(e.foregroundColor) }, r.isEmpty(t) && (t = null)), t }, copy: function (e) { var t = null; return (0, i.isDefined)(e) && (t = {}, void 0 !== e.patternType && (t.patternType = e.patternType), void 0 !== e.backgroundColor && (t.backgroundColor = o.default.copy(e.backgroundColor)), void 0 !== e.foregroundColor && (t.foregroundColor = o.default.copy(e.foregroundColor))), t }, areEqual: function (e, t) { return r.isEmpty(e) && r.isEmpty(t) || (0, i.isDefined)(e) && (0, i.isDefined)(t) && e.patternType === t.patternType && o.default.areEqual(e.backgroundColor, t.backgroundColor) && o.default.areEqual(e.foregroundColor, t.foregroundColor) }, isEmpty: function (e) { return !(0, i.isDefined)(e) || !(0, i.isDefined)(e.patternType) }, toXml: function (e) { var t = [(0, i.isDefined)(e.foregroundColor) ? o.default.toXml("fgColor", e.foregroundColor) : "", (0, i.isDefined)(e.backgroundColor) ? o.default.toXml("bgColor", e.backgroundColor) : ""].join(""); return a.default.toXml("patternFill", { patternType: e.patternType }, t) } }, l = r; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(0), o = (i = n(66)) && i.__esModule ? i : { default: i }; var s = { ID_PROPERTY_NAME: "id", tryCreateTag: function (e) { var t = null; return "string" == typeof e && (t = { formatCode: e }, s.isEmpty(t) && (t = null)), t }, areEqual: function (e, t) { return s.isEmpty(e) && s.isEmpty(t) || (0, a.isDefined)(e) && (0, a.isDefined)(t) && e.formatCode === t.formatCode }, isEmpty: function (e) { return !(0, a.isDefined)(e) || !(0, a.isDefined)(e.formatCode) || "" === e.formatCode }, toXml: function (e) { return o.default.toXml("numFmt", { numFmtId: e[s.ID_PROPERTY_NAME], formatCode: e.formatCode }) } }, r = s; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.getData = function (e, t) { return h.getData(e, t) }, t.svgCreator = void 0; var i = c(n(2)), a = c(n(89)), o = n(7), s = n(0), r = n(3), l = n(183), d = n(6); function c(e) { return e && e.__esModule ? e : { default: e } } var u = (0, o.getWindow)(), h = { _markup: "", _imageArray: {}, _imageDeferreds: [], _getBinaryFile: function (e, t) { a.default.sendRequest({ url: e, method: "GET", responseType: "arraybuffer" }).done(t).fail((function () { t(!1) })) }, _loadImages: function () { var e = this; (0, r.each)(e._imageArray, (function (t) { var n = new d.Deferred; e._imageDeferreds.push(n), e._getBinaryFile(t, (function (i) { if (!i) return delete e._imageArray[t], void n.resolve(); var a, o = "", s = new Uint8Array(i), r = s.byteLength; for (a = 0; a < r; a++)o += String.fromCharCode(s[a]); e._imageArray[t] = "data:image/png;base64," + u.btoa(o), n.resolve() })) })) }, _parseImages: function (e) { var t, n = this; "image" === e.tagName && (t = (0, i.default)(e).attr("href") || (0, i.default)(e).attr("xlink:href"), n._imageArray[t] || (n._imageArray[t] = "")), (0, r.each)(e.childNodes, (function (e, t) { n._parseImages(t) })) }, _prepareImages: function (e) { return this._parseImages(e), this._loadImages(), d.when.apply(i.default, this._imageDeferreds) }, getData: function (e, t) { var n, a = this, o = (0, l.getSvgElement)(e), d = (0, i.default)(o); return n = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>' + (0, l.getSvgMarkup)(d.get(0), t.backgroundColor), a._prepareImages(o).then((function () { return (0, r.each)(a._imageArray, (function (e, t) { var i = "href=['|\"]".concat(e, "['|\"]"); n = n.replace(new RegExp(i, "gi"), 'href="'.concat(t, '"')) })), (0, s.isFunction)(u.Blob) ? a._getBlob(n) : a._getBase64(n) })) }, _getBlob: function (e) { return new u.Blob([e], { type: "image/svg+xml" }) }, _getBase64: function (e) { return u.btoa(e) } }; t.svgCreator = h }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(7), o = (i = n(48)) && i.__esModule ? i : { default: i }; var s = (0, a.getWindow)(), r = { getXhr: function () { return new s.XMLHttpRequest } }, l = (0, o.default)(r); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.getData = function (e, t) { return s.imageCreator.getImageData(e, (0, l.extend)({}, t, { format: "JPEG" })).then((function (e) { var n = function (e, t, n) { var i = 2 * (t.margin || 0), o = t.width + i, s = t.height + i, r = (.75 * o).toFixed(2), l = (.75 * s).toFixed(2), d = "%PDF-1.3\r\n2 0 obj\r\n<</ProcSet[/PDF/ImageB/ImageC/ImageI]/XObject<</I0 5 0 R>>>>\r\nendobj\r\n4 0 obj\r\n<</Type/Pages/Kids[1 0 R]/Count 1>>\r\nendobj\r\n7 0 obj\r\n<</OpenAction[1 0 R /FitH null]/Type/Catalog/Pages 4 0 R/PageLayout/OneColumn>>\r\nendobj\r\n1 0 obj\r\n<</Type/Page/Resources 2 0 R/MediaBox[0 0 _width_ _height_]/Contents 3 0 R/Parent 4 0 R>>\r\nendobj\r\n".replace("_width_", r).replace("_height_", l), u = "3 0 obj\r\n<</Length 52>>stream\r\n0.20 w\n0 G\nq _width_ 0 0 _height_ 0.00 0.00 cm /I0 Do Q\r\nendstream\r\nendobj\r\n".replace("_width_", r).replace("_height_", l), h = "6 0 obj\r\n<</CreationDate _date_/Producer(DevExtreme _version_)>>\r\nendobj\r\n".replace("_date_", n).replace("_version_", a.default), f = "5 0 obj\r\n<</Type/XObject/Subtype/Image/Width _width_/Height _height_/ColorSpace/DeviceRGB/BitsPerComponent 8/Filter/DCTDecode/Length _length_>>stream\r\n".replace("_width_", o).replace("_height_", s).replace("_length_", e.length) + e + "\r\nendstream\r\nendobj\r\n", p = (_ = d.length, v = u.length, y = h.length, "xref\r\n0 8\r\n0000000000 65535 f\r\n0000000241 00000 n\r\n0000000010 00000 n\r\n_main_ 00000 n\r\n0000000089 00000 n\r\n_image_ 00000 n\r\n_info_ 00000 n\r\n0000000143 00000 n\r\n".replace("_main_", c(_ + "", 10)).replace("_info_", c(_ + v + "", 10)).replace("_image_", c(_ + v + y + "", 10))), g = d + u + h + f, m = "trailer\r\n<<\r\n/Size 8\r\n/Root 7 0 R\r\n/Info 6 0 R\r\n>>\r\nstartxref\r\n_length_\r\n%%EOF".replace("_length_", g.length); var _, v, y; return g + p + m }(e, t, new Date); return (0, r.isFunction)(d.Blob) ? function (e) { for (var t = 0, n = new Uint8Array(e.length); t < e.length; t++)n[t] = e.charCodeAt(t); return new d.Blob([n.buffer], { type: "application/pdf" }) }(n) : function (e) { return d.btoa(e) }(n) })) }; var i, a = (i = n(138)) && i.__esModule ? i : { default: i }, o = n(7), s = n(182), r = n(0), l = n(1); var d = (0, o.getWindow)(), c = function e(t, n) { return t.length < n ? e("0" + t, n) : t } }, function (e, t, n) { "use strict"; Object.defineProperty(t, "exportDataGrid", { enumerable: !0, get: function () { return i.exportDataGrid } }), Object.defineProperty(t, "exportPivotGrid", { enumerable: !0, get: function () { return a.exportPivotGrid } }); var i = n(263), a = n(266) }, function (e, t, n) { "use strict"; t.exportDataGrid = function (e) { return o.Export.export(function (e) { if (!(0, a.isDefined)(e) || !(0, a.isObject)(e)) throw Error('The "exportDataGrid" method requires a configuration object.'); if (!(0, a.isDefined)(e.component) || !(0, a.isObject)(e.component) || "dxDataGrid" !== e.component.NAME) throw Error('The "component" field must contain a DataGrid instance.'); (0, a.isDefined)(e.selectedRowsOnly) || (e.selectedRowsOnly = !1); (0, a.isDefined)(e.autoFilterEnabled) || (e.autoFilterEnabled = !1); return o.Export.getFullOptions(e) }(e), r) }; var i, a = n(0), o = n(184), s = (i = n(21)) && i.__esModule ? i : { default: i }; var r = { _trySetAutoFilter: function (e, t, n, i, o) { if (o && !(0, a.isDefined)(t.autoFilter) && e.getRowsCount() > 0) { var s = { from: { row: n.from.row + i - 1, column: n.from.column }, to: n.to }; t.autoFilter = s } }, _trySetFont: function (e, t) { (0, a.isDefined)(t) && (e.font = e.font || {}, e.font.bold = t) }, _getWorksheetFrozenState: function (e, t) { return { state: "frozen", ySplit: t.from.row + e.getFrozenArea().y - 1 } }, _trySetOutlineLevel: function (e, t, n, i) { n >= i && (t.outlineLevel = e.getGroupLevel(n)) }, _getCustomizeCellOptions: function (e, t) { var n = { excelCell: e, gridCell: t }; return Object.defineProperty(n, "cell", { get: function () { return s.default.log("W0003", "CustomizeCell handler argument", "cell", "20.1", "Use the 'excelCell' field instead"), e } }), n }, _needMergeRange: function (e, t) { return e < t }, _renderLoadPanel: function (e) { var t = e.getView("rowsView"); t._renderLoadPanel(t.element(), t.element().parent()) } } }, function (e, t, n) { "use strict"; t.default = void 0; t.default = { en: { Yes: "Yes", No: "No", Cancel: "Cancel", Clear: "Clear", Done: "Done", Loading: "Loading...", Select: "Select...", Search: "Search", Back: "Back", OK: "OK", "dxCollectionWidget-noDataText": "No data to display", "dxDropDownEditor-selectLabel": "Select", "validation-required": "Required", "validation-required-formatted": "{0} is required", "validation-numeric": "Value must be a number", "validation-numeric-formatted": "{0} must be a number", "validation-range": "Value is out of range", "validation-range-formatted": "{0} is out of range", "validation-stringLength": "The length of the value is not correct", "validation-stringLength-formatted": "The length of {0} is not correct", "validation-custom": "Value is invalid", "validation-custom-formatted": "{0} is invalid", "validation-async": "Value is invalid", "validation-async-formatted": "{0} is invalid", "validation-compare": "Values do not match", "validation-compare-formatted": "{0} does not match", "validation-pattern": "Value does not match pattern", "validation-pattern-formatted": "{0} does not match pattern", "validation-email": "Email is invalid", "validation-email-formatted": "{0} is invalid", "validation-mask": "Value is invalid", "dxLookup-searchPlaceholder": "Minimum character number: {0}", "dxList-pullingDownText": "Pull down to refresh...", "dxList-pulledDownText": "Release to refresh...", "dxList-refreshingText": "Refreshing...", "dxList-pageLoadingText": "Loading...", "dxList-nextButtonText": "More", "dxList-selectAll": "Select All", "dxListEditDecorator-delete": "Delete", "dxListEditDecorator-more": "More", "dxScrollView-pullingDownText": "Pull down to refresh...", "dxScrollView-pulledDownText": "Release to refresh...", "dxScrollView-refreshingText": "Refreshing...", "dxScrollView-reachBottomText": "Loading...", "dxDateBox-simulatedDataPickerTitleTime": "Select time", "dxDateBox-simulatedDataPickerTitleDate": "Select date", "dxDateBox-simulatedDataPickerTitleDateTime": "Select date and time", "dxDateBox-validation-datetime": "Value must be a date or time", "dxFileUploader-selectFile": "Select file", "dxFileUploader-dropFile": "or Drop file here", "dxFileUploader-bytes": "bytes", "dxFileUploader-kb": "kb", "dxFileUploader-Mb": "Mb", "dxFileUploader-Gb": "Gb", "dxFileUploader-upload": "Upload", "dxFileUploader-uploaded": "Uploaded", "dxFileUploader-readyToUpload": "Ready to upload", "dxFileUploader-uploadAbortedMessage": "Upload cancelled", "dxFileUploader-uploadFailedMessage": "Upload failed", "dxFileUploader-invalidFileExtension": "File type is not allowed", "dxFileUploader-invalidMaxFileSize": "File is too large", "dxFileUploader-invalidMinFileSize": "File is too small", "dxRangeSlider-ariaFrom": "From", "dxRangeSlider-ariaTill": "Till", "dxSwitch-switchedOnText": "ON", "dxSwitch-switchedOffText": "OFF", "dxForm-optionalMark": "optional", "dxForm-requiredMessage": "{0} is required", "dxNumberBox-invalidValueMessage": "Value must be a number", "dxNumberBox-noDataText": "No data", "dxDataGrid-columnChooserTitle": "Column Chooser", "dxDataGrid-columnChooserEmptyText": "Drag a column here to hide it", "dxDataGrid-groupContinuesMessage": "Continues on the next page", "dxDataGrid-groupContinuedMessage": "Continued from the previous page", "dxDataGrid-groupHeaderText": "Group by This Column", "dxDataGrid-ungroupHeaderText": "Ungroup", "dxDataGrid-ungroupAllText": "Ungroup All", "dxDataGrid-editingEditRow": "Edit", "dxDataGrid-editingSaveRowChanges": "Save", "dxDataGrid-editingCancelRowChanges": "Cancel", "dxDataGrid-editingDeleteRow": "Delete", "dxDataGrid-editingUndeleteRow": "Undelete", "dxDataGrid-editingConfirmDeleteMessage": "Are you sure you want to delete this record?", "dxDataGrid-validationCancelChanges": "Cancel changes", "dxDataGrid-groupPanelEmptyText": "Drag a column header here to group by that column", "dxDataGrid-noDataText": "No data", "dxDataGrid-searchPanelPlaceholder": "Search...", "dxDataGrid-filterRowShowAllText": "(All)", "dxDataGrid-filterRowResetOperationText": "Reset", "dxDataGrid-filterRowOperationEquals": "Equals", "dxDataGrid-filterRowOperationNotEquals": "Does not equal", "dxDataGrid-filterRowOperationLess": "Less than", "dxDataGrid-filterRowOperationLessOrEquals": "Less than or equal to", "dxDataGrid-filterRowOperationGreater": "Greater than", "dxDataGrid-filterRowOperationGreaterOrEquals": "Greater than or equal to", "dxDataGrid-filterRowOperationStartsWith": "Starts with", "dxDataGrid-filterRowOperationContains": "Contains", "dxDataGrid-filterRowOperationNotContains": "Does not contain", "dxDataGrid-filterRowOperationEndsWith": "Ends with", "dxDataGrid-filterRowOperationBetween": "Between", "dxDataGrid-filterRowOperationBetweenStartText": "Start", "dxDataGrid-filterRowOperationBetweenEndText": "End", "dxDataGrid-applyFilterText": "Apply filter", "dxDataGrid-trueText": "true", "dxDataGrid-falseText": "false", "dxDataGrid-sortingAscendingText": "Sort Ascending", "dxDataGrid-sortingDescendingText": "Sort Descending", "dxDataGrid-sortingClearText": "Clear Sorting", "dxDataGrid-editingSaveAllChanges": "Save changes", "dxDataGrid-editingCancelAllChanges": "Discard changes", "dxDataGrid-editingAddRow": "Add a row", "dxDataGrid-summaryMin": "Min: {0}", "dxDataGrid-summaryMinOtherColumn": "Min of {1} is {0}", "dxDataGrid-summaryMax": "Max: {0}", "dxDataGrid-summaryMaxOtherColumn": "Max of {1} is {0}", "dxDataGrid-summaryAvg": "Avg: {0}", "dxDataGrid-summaryAvgOtherColumn": "Avg of {1} is {0}", "dxDataGrid-summarySum": "Sum: {0}", "dxDataGrid-summarySumOtherColumn": "Sum of {1} is {0}", "dxDataGrid-summaryCount": "Count: {0}", "dxDataGrid-columnFixingFix": "Fix", "dxDataGrid-columnFixingUnfix": "Unfix", "dxDataGrid-columnFixingLeftPosition": "To the left", "dxDataGrid-columnFixingRightPosition": "To the right", "dxDataGrid-exportTo": "Export", "dxDataGrid-exportToExcel": "Export to Excel file", "dxDataGrid-exporting": "Exporting...", "dxDataGrid-excelFormat": "Excel file", "dxDataGrid-selectedRows": "Selected rows", "dxDataGrid-exportSelectedRows": "Export selected rows", "dxDataGrid-exportAll": "Export all data", "dxDataGrid-headerFilterEmptyValue": "(Blanks)", "dxDataGrid-headerFilterOK": "OK", "dxDataGrid-headerFilterCancel": "Cancel", "dxDataGrid-ariaColumn": "Column", "dxDataGrid-ariaValue": "Value", "dxDataGrid-ariaFilterCell": "Filter cell", "dxDataGrid-ariaCollapse": "Collapse", "dxDataGrid-ariaExpand": "Expand", "dxDataGrid-ariaDataGrid": "Data grid", "dxDataGrid-ariaSearchInGrid": "Search in data grid", "dxDataGrid-ariaSelectAll": "Select all", "dxDataGrid-ariaSelectRow": "Select row", "dxDataGrid-filterBuilderPopupTitle": "Filter Builder", "dxDataGrid-filterPanelCreateFilter": "Create Filter", "dxDataGrid-filterPanelClearFilter": "Clear", "dxDataGrid-filterPanelFilterEnabledHint": "Enable the filter", "dxTreeList-ariaTreeList": "Tree list", "dxTreeList-editingAddRowToNode": "Add", "dxPager-infoText": "Page {0} of {1} ({2} items)", "dxPager-pagesCountText": "of", "dxPager-pageSizesAllText": "All", "dxPivotGrid-grandTotal": "Grand Total", "dxPivotGrid-total": "{0} Total", "dxPivotGrid-fieldChooserTitle": "Field Chooser", "dxPivotGrid-showFieldChooser": "Show Field Chooser", "dxPivotGrid-expandAll": "Expand All", "dxPivotGrid-collapseAll": "Collapse All", "dxPivotGrid-sortColumnBySummary": 'Sort "{0}" by This Column', "dxPivotGrid-sortRowBySummary": 'Sort "{0}" by This Row', "dxPivotGrid-removeAllSorting": "Remove All Sorting", "dxPivotGrid-dataNotAvailable": "N/A", "dxPivotGrid-rowFields": "Row Fields", "dxPivotGrid-columnFields": "Column Fields", "dxPivotGrid-dataFields": "Data Fields", "dxPivotGrid-filterFields": "Filter Fields", "dxPivotGrid-allFields": "All Fields", "dxPivotGrid-columnFieldArea": "Drop Column Fields Here", "dxPivotGrid-dataFieldArea": "Drop Data Fields Here", "dxPivotGrid-rowFieldArea": "Drop Row Fields Here", "dxPivotGrid-filterFieldArea": "Drop Filter Fields Here", "dxScheduler-editorLabelTitle": "Subject", "dxScheduler-editorLabelStartDate": "Start Date", "dxScheduler-editorLabelEndDate": "End Date", "dxScheduler-editorLabelDescription": "Description", "dxScheduler-editorLabelRecurrence": "Repeat", "dxScheduler-openAppointment": "Open appointment", "dxScheduler-recurrenceNever": "Never", "dxScheduler-recurrenceMinutely": "Every minute", "dxScheduler-recurrenceHourly": "Hourly", "dxScheduler-recurrenceDaily": "Daily", "dxScheduler-recurrenceWeekly": "Weekly", "dxScheduler-recurrenceMonthly": "Monthly", "dxScheduler-recurrenceYearly": "Yearly", "dxScheduler-recurrenceRepeatEvery": "Repeat Every", "dxScheduler-recurrenceRepeatOn": "Repeat On", "dxScheduler-recurrenceEnd": "End repeat", "dxScheduler-recurrenceAfter": "After", "dxScheduler-recurrenceOn": "On", "dxScheduler-recurrenceRepeatMinutely": "minute(s)", "dxScheduler-recurrenceRepeatHourly": "hour(s)", "dxScheduler-recurrenceRepeatDaily": "day(s)", "dxScheduler-recurrenceRepeatWeekly": "week(s)", "dxScheduler-recurrenceRepeatMonthly": "month(s)", "dxScheduler-recurrenceRepeatYearly": "year(s)", "dxScheduler-switcherDay": "Day", "dxScheduler-switcherWeek": "Week", "dxScheduler-switcherWorkWeek": "Work Week", "dxScheduler-switcherMonth": "Month", "dxScheduler-switcherAgenda": "Agenda", "dxScheduler-switcherTimelineDay": "Timeline Day", "dxScheduler-switcherTimelineWeek": "Timeline Week", "dxScheduler-switcherTimelineWorkWeek": "Timeline Work Week", "dxScheduler-switcherTimelineMonth": "Timeline Month", "dxScheduler-recurrenceRepeatOnDate": "on date", "dxScheduler-recurrenceRepeatCount": "occurrence(s)", "dxScheduler-allDay": "All day", "dxScheduler-confirmRecurrenceEditMessage": "Do you want to edit only this appointment or the whole series?", "dxScheduler-confirmRecurrenceDeleteMessage": "Do you want to delete only this appointment or the whole series?", "dxScheduler-confirmRecurrenceEditSeries": "Edit series", "dxScheduler-confirmRecurrenceDeleteSeries": "Delete series", "dxScheduler-confirmRecurrenceEditOccurrence": "Edit appointment", "dxScheduler-confirmRecurrenceDeleteOccurrence": "Delete appointment", "dxScheduler-noTimezoneTitle": "No timezone", "dxScheduler-moreAppointments": "{0} more", "dxCalendar-todayButtonText": "Today", "dxCalendar-ariaWidgetName": "Calendar", "dxColorView-ariaRed": "Red", "dxColorView-ariaGreen": "Green", "dxColorView-ariaBlue": "Blue", "dxColorView-ariaAlpha": "Transparency", "dxColorView-ariaHex": "Color code", "dxTagBox-selected": "{0} selected", "dxTagBox-allSelected": "All selected ({0})", "dxTagBox-moreSelected": "{0} more", "vizExport-printingButtonText": "Print", "vizExport-titleMenuText": "Exporting/Printing", "vizExport-exportButtonText": "{0} file", "dxFilterBuilder-and": "And", "dxFilterBuilder-or": "Or", "dxFilterBuilder-notAnd": "Not And", "dxFilterBuilder-notOr": "Not Or", "dxFilterBuilder-addCondition": "Add Condition", "dxFilterBuilder-addGroup": "Add Group", "dxFilterBuilder-enterValueText": "<enter a value>", "dxFilterBuilder-filterOperationEquals": "Equals", "dxFilterBuilder-filterOperationNotEquals": "Does not equal", "dxFilterBuilder-filterOperationLess": "Is less than", "dxFilterBuilder-filterOperationLessOrEquals": "Is less than or equal to", "dxFilterBuilder-filterOperationGreater": "Is greater than", "dxFilterBuilder-filterOperationGreaterOrEquals": "Is greater than or equal to", "dxFilterBuilder-filterOperationStartsWith": "Starts with", "dxFilterBuilder-filterOperationContains": "Contains", "dxFilterBuilder-filterOperationNotContains": "Does not contain", "dxFilterBuilder-filterOperationEndsWith": "Ends with", "dxFilterBuilder-filterOperationIsBlank": "Is blank", "dxFilterBuilder-filterOperationIsNotBlank": "Is not blank", "dxFilterBuilder-filterOperationBetween": "Is between", "dxFilterBuilder-filterOperationAnyOf": "Is any of", "dxFilterBuilder-filterOperationNoneOf": "Is none of", "dxHtmlEditor-dialogColorCaption": "Change Font Color", "dxHtmlEditor-dialogBackgroundCaption": "Change Background Color", "dxHtmlEditor-dialogLinkCaption": "Add Link", "dxHtmlEditor-dialogLinkUrlField": "URL", "dxHtmlEditor-dialogLinkTextField": "Text", "dxHtmlEditor-dialogLinkTargetField": "Open link in new window", "dxHtmlEditor-dialogImageCaption": "Add Image", "dxHtmlEditor-dialogImageUrlField": "URL", "dxHtmlEditor-dialogImageAltField": "Alternate text", "dxHtmlEditor-dialogImageWidthField": "Width (px)", "dxHtmlEditor-dialogImageHeightField": "Height (px)", "dxHtmlEditor-dialogInsertTableRowsField": "Rows", "dxHtmlEditor-dialogInsertTableColumnsField": "Columns", "dxHtmlEditor-dialogInsertTableCaption": "Insert Table", "dxHtmlEditor-heading": "Heading", "dxHtmlEditor-normalText": "Normal text", "dxFileManager-newDirectoryName": "Untitled directory", "dxFileManager-rootDirectoryName": "Files", "dxFileManager-errorNoAccess": "Access Denied. Operation could not be completed.", "dxFileManager-errorDirectoryExistsFormat": "Directory '{0}' already exists.", "dxFileManager-errorFileExistsFormat": "File '{0}' already exists.", "dxFileManager-errorFileNotFoundFormat": "File '{0}' not found.", "dxFileManager-errorDirectoryNotFoundFormat": "Directory '{0}' not found.", "dxFileManager-errorWrongFileExtension": "File extension is not allowed.", "dxFileManager-errorMaxFileSizeExceeded": "File size exceeds the maximum allowed size.", "dxFileManager-errorInvalidSymbols": "This name contains invalid characters.", "dxFileManager-errorDefault": "Unspecified error.", "dxFileManager-errorDirectoryOpenFailed": "The directory cannot be opened", "dxFileManager-commandCreate": "New directory", "dxFileManager-commandRename": "Rename", "dxFileManager-commandMove": "Move to", "dxFileManager-commandCopy": "Copy to", "dxFileManager-commandDelete": "Delete", "dxFileManager-commandDownload": "Download", "dxFileManager-commandUpload": "Upload files", "dxFileManager-commandRefresh": "Refresh", "dxFileManager-commandThumbnails": "Thumbnails View", "dxFileManager-commandDetails": "Details View", "dxFileManager-commandClearSelection": "Clear selection", "dxFileManager-commandShowNavPane": "Toggle navigation pane", "dxFileManager-dialogDirectoryChooserMoveTitle": "Move to", "dxFileManager-dialogDirectoryChooserMoveButtonText": "Move", "dxFileManager-dialogDirectoryChooserCopyTitle": "Copy to", "dxFileManager-dialogDirectoryChooserCopyButtonText": "Copy", "dxFileManager-dialogRenameItemTitle": "Rename", "dxFileManager-dialogRenameItemButtonText": "Save", "dxFileManager-dialogCreateDirectoryTitle": "New directory", "dxFileManager-dialogCreateDirectoryButtonText": "Create", "dxFileManager-dialogDeleteItemTitle": "Delete", "dxFileManager-dialogDeleteItemButtonText": "Delete", "dxFileManager-dialogDeleteItemSingleItemConfirmation": "Are you sure you want to delete {0}?", "dxFileManager-dialogDeleteItemMultipleItemsConfirmation": "Are you sure you want to delete {0} items?", "dxFileManager-dialogButtonCancel": "Cancel", "dxFileManager-editingCreateSingleItemProcessingMessage": "Creating a directory inside {0}", "dxFileManager-editingCreateSingleItemSuccessMessage": "Created a directory inside {0}", "dxFileManager-editingCreateSingleItemErrorMessage": "Directory was not created", "dxFileManager-editingCreateCommonErrorMessage": "Directory was not created", "dxFileManager-editingRenameSingleItemProcessingMessage": "Renaming an item inside {0}", "dxFileManager-editingRenameSingleItemSuccessMessage": "Renamed an item inside {0}", "dxFileManager-editingRenameSingleItemErrorMessage": "Item was not renamed", "dxFileManager-editingRenameCommonErrorMessage": "Item was not renamed", "dxFileManager-editingDeleteSingleItemProcessingMessage": "Deleting an item from {0}", "dxFileManager-editingDeleteMultipleItemsProcessingMessage": "Deleting {0} items from {1}", "dxFileManager-editingDeleteSingleItemSuccessMessage": "Deleted an item from {0}", "dxFileManager-editingDeleteMultipleItemsSuccessMessage": "Deleted {0} items from {1}", "dxFileManager-editingDeleteSingleItemErrorMessage": "Item was not deleted", "dxFileManager-editingDeleteMultipleItemsErrorMessage": "{0} items were not deleted", "dxFileManager-editingDeleteCommonErrorMessage": "Some items were not deleted", "dxFileManager-editingMoveSingleItemProcessingMessage": "Moving an item to {0}", "dxFileManager-editingMoveMultipleItemsProcessingMessage": "Moving {0} items to {1}", "dxFileManager-editingMoveSingleItemSuccessMessage": "Moved an item to {0}", "dxFileManager-editingMoveMultipleItemsSuccessMessage": "Moved {0} items to {1}", "dxFileManager-editingMoveSingleItemErrorMessage": "Item was not moved", "dxFileManager-editingMoveMultipleItemsErrorMessage": "{0} items were not moved", "dxFileManager-editingMoveCommonErrorMessage": "Some items were not moved", "dxFileManager-editingCopySingleItemProcessingMessage": "Copying an item to {0}", "dxFileManager-editingCopyMultipleItemsProcessingMessage": "Copying {0} items to {1}", "dxFileManager-editingCopySingleItemSuccessMessage": "Copied an item to {0}", "dxFileManager-editingCopyMultipleItemsSuccessMessage": "Copied {0} items to {1}", "dxFileManager-editingCopySingleItemErrorMessage": "Item was not copied", "dxFileManager-editingCopyMultipleItemsErrorMessage": "{0} items were not copied", "dxFileManager-editingCopyCommonErrorMessage": "Some items were not copied", "dxFileManager-editingUploadSingleItemProcessingMessage": "Uploading an item to {0}", "dxFileManager-editingUploadMultipleItemsProcessingMessage": "Uploading {0} items to {1}", "dxFileManager-editingUploadSingleItemSuccessMessage": "Uploaded an item to {0}", "dxFileManager-editingUploadMultipleItemsSuccessMessage": "Uploaded {0} items to {1}", "dxFileManager-editingUploadSingleItemErrorMessage": "Item was not uploaded", "dxFileManager-editingUploadMultipleItemsErrorMessage": "{0} items were not uploaded", "dxFileManager-editingUploadCanceledMessage": "Canceled", "dxFileManager-listDetailsColumnCaptionName": "Name", "dxFileManager-listDetailsColumnCaptionDateModified": "Date Modified", "dxFileManager-listDetailsColumnCaptionFileSize": "File Size", "dxFileManager-listThumbnailsTooltipTextSize": "Size", "dxFileManager-listThumbnailsTooltipTextDateModified": "Date Modified", "dxFileManager-notificationProgressPanelTitle": "Progress", "dxFileManager-notificationProgressPanelEmptyListText": "No operations", "dxFileManager-notificationProgressPanelOperationCanceled": "Canceled", "dxDiagram-categoryGeneral": "General", "dxDiagram-categoryFlowchart": "Flowchart", "dxDiagram-categoryOrgChart": "Org Chart", "dxDiagram-categoryContainers": "Containers", "dxDiagram-categoryCustom": "Custom", "dxDiagram-commandExportToSvg": "Export to SVG", "dxDiagram-commandExportToPng": "Export to PNG", "dxDiagram-commandExportToJpg": "Export to JPEG", "dxDiagram-commandUndo": "Undo", "dxDiagram-commandRedo": "Redo", "dxDiagram-commandFontName": "Font Name", "dxDiagram-commandFontSize": "Font Size", "dxDiagram-commandBold": "Bold", "dxDiagram-commandItalic": "Italic", "dxDiagram-commandUnderline": "Underline", "dxDiagram-commandTextColor": "Font Color", "dxDiagram-commandLineColor": "Line Color", "dxDiagram-commandLineWidth": "Line Width", "dxDiagram-commandLineStyle": "Line Style", "dxDiagram-commandLineStyleSolid": "Solid", "dxDiagram-commandLineStyleDotted": "Dotted", "dxDiagram-commandLineStyleDashed": "Dashed", "dxDiagram-commandFillColor": "Fill Color", "dxDiagram-commandAlignLeft": "Align Left", "dxDiagram-commandAlignCenter": "Align Center", "dxDiagram-commandAlignRight": "Align Right", "dxDiagram-commandConnectorLineType": "Connector Line Type", "dxDiagram-commandConnectorLineStraight": "Straight", "dxDiagram-commandConnectorLineOrthogonal": "Orthogonal", "dxDiagram-commandConnectorLineStart": "Connector Line Start", "dxDiagram-commandConnectorLineEnd": "Connector Line End", "dxDiagram-commandConnectorLineNone": "None", "dxDiagram-commandConnectorLineArrow": "Arrow", "dxDiagram-commandFullscreen": "Full Screen", "dxDiagram-commandUnits": "Units", "dxDiagram-commandPageSize": "Page Size", "dxDiagram-commandPageOrientation": "Page Orientation", "dxDiagram-commandPageOrientationLandscape": "Landscape", "dxDiagram-commandPageOrientationPortrait": "Portrait", "dxDiagram-commandPageColor": "Page Color", "dxDiagram-commandShowGrid": "Show Grid", "dxDiagram-commandSnapToGrid": "Snap to Grid", "dxDiagram-commandGridSize": "Grid Size", "dxDiagram-commandZoomLevel": "Zoom Level", "dxDiagram-commandAutoZoom": "Auto Zoom", "dxDiagram-commandFitToContent": "Fit to Content", "dxDiagram-commandFitToWidth": "Fit to Width", "dxDiagram-commandAutoZoomByContent": "Auto Zoom by Content", "dxDiagram-commandAutoZoomByWidth": "Auto Zoom by Width", "dxDiagram-commandSimpleView": "Simple View", "dxDiagram-commandCut": "Cut", "dxDiagram-commandCopy": "Copy", "dxDiagram-commandPaste": "Paste", "dxDiagram-commandSelectAll": "Select All", "dxDiagram-commandDelete": "Delete", "dxDiagram-commandBringToFront": "Bring to Front", "dxDiagram-commandSendToBack": "Send to Back", "dxDiagram-commandLock": "Lock", "dxDiagram-commandUnlock": "Unlock", "dxDiagram-commandInsertShapeImage": "Insert Image...", "dxDiagram-commandEditShapeImage": "Change Image...", "dxDiagram-commandDeleteShapeImage": "Delete Image", "dxDiagram-commandLayoutLeftToRight": "Left-to-right", "dxDiagram-commandLayoutRightToLeft": "Right-to-left", "dxDiagram-commandLayoutTopToBottom": "Top-to-bottom", "dxDiagram-commandLayoutBottomToTop": "Bottom-to-top", "dxDiagram-unitIn": "in", "dxDiagram-unitCm": "cm", "dxDiagram-unitPx": "px", "dxDiagram-dialogButtonOK": "OK", "dxDiagram-dialogButtonCancel": "Cancel", "dxDiagram-dialogInsertShapeImageTitle": "Insert Image", "dxDiagram-dialogEditShapeImageTitle": "Change Image", "dxDiagram-dialogEditShapeImageSelectButton": "Select image", "dxDiagram-dialogEditShapeImageLabelText": "or drop file here", "dxDiagram-uiExport": "Export", "dxDiagram-uiProperties": "Properties", "dxDiagram-uiSettings": "Settings", "dxDiagram-uiShowToolbox": "Show Toolbox", "dxDiagram-uiSearch": "Search", "dxDiagram-uiStyle": "Style", "dxDiagram-uiLayout": "Layout", "dxDiagram-uiLayoutTree": "Tree", "dxDiagram-uiLayoutLayered": "Layered", "dxDiagram-uiDiagram": "Diagram", "dxDiagram-uiText": "Text", "dxDiagram-uiObject": "Object", "dxDiagram-uiConnector": "Connector", "dxDiagram-uiPage": "Page", "dxDiagram-shapeText": "Text", "dxDiagram-shapeRectangle": "Rectangle", "dxDiagram-shapeEllipse": "Ellipse", "dxDiagram-shapeCross": "Cross", "dxDiagram-shapeTriangle": "Triangle", "dxDiagram-shapeDiamond": "Diamond", "dxDiagram-shapeHeart": "Heart", "dxDiagram-shapePentagon": "Pentagon", "dxDiagram-shapeHexagon": "Hexagon", "dxDiagram-shapeOctagon": "Octagon", "dxDiagram-shapeStar": "Star", "dxDiagram-shapeArrowLeft": "Left Arrow", "dxDiagram-shapeArrowUp": "Up Arrow", "dxDiagram-shapeArrowRight": "Right Arrow", "dxDiagram-shapeArrowDown": "Down Arrow", "dxDiagram-shapeArrowUpDown": "Up Down Arrow", "dxDiagram-shapeArrowLeftRight": "Left Right Arrow", "dxDiagram-shapeProcess": "Process", "dxDiagram-shapeDecision": "Decision", "dxDiagram-shapeTerminator": "Terminator", "dxDiagram-shapePredefinedProcess": "Predefined Process", "dxDiagram-shapeDocument": "Document", "dxDiagram-shapeMultipleDocuments": "Multiple Documents", "dxDiagram-shapeManualInput": "Manual Input", "dxDiagram-shapePreparation": "Preparation", "dxDiagram-shapeData": "Data", "dxDiagram-shapeDatabase": "Database", "dxDiagram-shapeHardDisk": "Hard Disk", "dxDiagram-shapeInternalStorage": "Internal Storage", "dxDiagram-shapePaperTape": "Paper Tape", "dxDiagram-shapeManualOperation": "Manual Operation", "dxDiagram-shapeDelay": "Delay", "dxDiagram-shapeStoredData": "Stored Data", "dxDiagram-shapeDisplay": "Display", "dxDiagram-shapeMerge": "Merge", "dxDiagram-shapeConnector": "Connector", "dxDiagram-shapeOr": "Or", "dxDiagram-shapeSummingJunction": "Summing Junction", "dxDiagram-shapeContainerDefaultText": "Container", "dxDiagram-shapeVerticalContainer": "Vertical Container", "dxDiagram-shapeHorizontalContainer": "Horizontal Container", "dxDiagram-shapeCardDefaultText": "Person's Name", "dxDiagram-shapeCardWithImageOnLeft": "Card with Image on the Left", "dxDiagram-shapeCardWithImageOnTop": "Card with Image on the Top", "dxDiagram-shapeCardWithImageOnRight": "Card with Image on the Right", "dxGantt-dialogTitle": "Title", "dxGantt-dialogStartTitle": "Start", "dxGantt-dialogEndTitle": "End", "dxGantt-dialogProgressTitle": "Progress", "dxGantt-dialogResourcesTitle": "Resources", "dxGantt-dialogResourceManagerTitle": "Resource Manager", "dxGantt-dialogTaskDetailsTitle": "Task Details", "dxGantt-dialogEditResourceListHint": "Edit Resource List", "dxGantt-dialogEditNoResources": "No resources", "dxGantt-dialogButtonAdd": "Add", "dxGantt-contextMenuNewTask": "New Task", "dxGantt-contextMenuNewSubtask": "New Subtask", "dxGantt-contextMenuDeleteTask": "Delete Task", "dxGantt-contextMenuDeleteDependency": "Delete Dependency", "dxGantt-dialogTaskDeleteConfirmation": "Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?", "dxGantt-dialogDependencyDeleteConfirmation": "Are you sure you want to delete the dependency from the task?", "dxGantt-dialogResourcesDeleteConfirmation": "Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resource: {0}", "dxGantt-dialogConstraintCriticalViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?", "dxGantt-dialogConstraintViolationMessage": "The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?", "dxGantt-dialogCancelOperationMessage": "Cancel the operation", "dxGantt-dialogDeleteDependencyMessage": "Delete the dependency", "dxGantt-dialogMoveTaskAndKeepDependencyMessage": "Move the task and keep the dependency", "dxGantt-undo": "Undo", "dxGantt-redo": "Redo", "dxGantt-expandAll": "Expand All", "dxGantt-collapseAll": "Collapse All", "dxGantt-addNewTask": "Add New Task", "dxGantt-deleteSelectedTask": "Delete Selected Task", "dxGantt-zoomIn": "Zoom In", "dxGantt-zoomOut": "Zoom Out", "dxGantt-fullScreen": "Full Screen" } }, e.exports = t.default }, function (e, t, n) { "use strict"; t.ExportFormat = void 0; var i = n(31), a = c(n(40)), o = c(n(32)), s = n(0), r = n(116), l = n(145), d = n(1); function c(e) { return e && e.__esModule ? e : { default: e } } n(88); var u = { thousands: "#,##0{0},&quot;K&quot;", millions: "#,##0{0},,&quot;M&quot;", billions: "#,##0{0},,,&quot;B&quot;", trillions: "#,##0{0},,,,&quot;T&quot;", percent: "0{0}%", decimal: "#{0}", fixedpoint: "#,##0{0}", exponential: "0{0}E+00", currency: " " }, h = /a+/g, f = /E/g, p = /dE+/g, g = /L/g, m = /h/g, _ = /\//g, v = /\[/g, y = /]/g, w = /./g; function x(e) { var t = (o.default.format(new Date(2009, 8, 8, 6, 5, 4), e) || "").toString(), n = (0, r.getFormat)((function (t) { return o.default.format(t, e) })); return n && (n = function (e) { return e.replace(_, "\\/").split("'").map((function (e, t) { return t % 2 == 0 ? e.replace(h, "AM/PM").replace(p, "d").replace(f, "d").replace(g, "M").replace(m, "H").replace(v, "\\[").replace(y, "\\]") : e ? e.replace(w, "\\$&") : "'" })).join("") }(n), n = function (e) { var t = (0, l.getLanguageId)(), n = t ? t.toString(16) : "", i = ""; if (function (e) { for (var t, n = 0; n < e.length; n++)if ((t = e.charCodeAt(n)) >= 1632 && t < 1642) return !0; return !1 }(e)) { for (; n.length < 3;)n = "0" + n; i = "[$-2010" + n + "]" } else n && (i = "[$-" + n + "]"); return i }(t) + n), n } var b = { formatObjectConverter: function (e, t) { var n = { format: e, precision: e && e.precision, dataType: t }; return (0, s.isObject)(e) ? (0, d.extend)(n, e, { format: e.formatter || e.type, currency: e.currency }) : n }, convertFormat: function (e, t, n, o) { if ((0, s.isDefined)(e)) { if ("date" === n) return x(e); if ((0, s.isString)(e) && u[e.toLowerCase()]) return function (e, t, n) { var o, s; return (s = "currency" === e ? a.default.getOpenXmlCurrencyFormat(n) : u[e.toLowerCase()]) && (o = (0, i.format)(s, function (e, t) { var n, i; if (t > 0) { for (n = "decimal" !== e ? "." : "", i = 0; i < t; i++)n += "0"; return n } return "" }(e, t))), o }(e, t, o) } } }; t.ExportFormat = b }, function (e, t, n) { "use strict"; t.exportPivotGrid = function (e) { return a.Export.export(function (e) { if (!(0, i.isDefined)(e) || !(0, i.isObject)(e)) throw Error('The "exportPivotGrid" method requires a configuration object.'); if (!(0, i.isDefined)(e.component) || !(0, i.isObject)(e.component) || "dxPivotGrid" !== e.component.NAME) throw Error('The "component" field must contain a PivotGrid instance.'); return a.Export.getFullOptions(e) }(e), s) }; var i = n(0), a = n(184), o = n(4), s = { _getWorksheetFrozenState: function (e, t) { return { state: "frozen", xSplit: t.from.column + e.getFrozenArea().x - 1, ySplit: t.from.row + e.getFrozenArea().y - 1 } }, _getCustomizeCellOptions: function (e, t) { return { excelCell: e, pivotCell: t } }, _needMergeRange: function () { return !0 }, _renderLoadPanel: function (e) { e._renderLoadPanel(e._dataArea.groupElement(), e.$element()) }, _trySetAutoFilter: o.noop, _trySetFont: o.noop, _trySetOutlineLevel: o.noop } }, function (e, t, n) { "use strict"; Object.defineProperty(t, "exportDataGrid", { enumerable: !0, get: function () { return i.exportDataGrid } }); var i = n(268) }, function (e, t, n) { "use strict"; t.exportDataGrid = function (e) { return a.Export.export(function (e) { if (!(0, i.isDefined)(e) || !(0, i.isObject)(e)) throw Error('The "exportDataGrid" method requires a configuration object.'); if (!(0, i.isDefined)(e.component) || !(0, i.isObject)(e.component) || "dxDataGrid" !== e.component.NAME) throw Error('The "component" field must contain a DataGrid instance.'); (0, i.isDefined)(e.selectedRowsOnly) || (e.selectedRowsOnly = !1); return a.Export.getFullOptions(e) }(e)) }; var i = n(0), a = n(269) }, function (e, t, n) { "use strict"; t.Export = void 0; var i = n(0), a = n(1), o = d(n(32)), s = d(n(40)), r = d(n(10)), l = n(7); function d(e) { return e && e.__esModule ? e : { default: e } } var c = { getFullOptions: function (e) { var t = (0, a.extend)({}, e); if (!(0, i.isDefined)(t.jsPDFDocument) || !(0, i.isObject)(t.jsPDFDocument)) throw Error('The "jsPDFDocument" field must contain a jsPDF instance.'); if (!(0, i.isDefined)(t.jsPDFDocument.autoTable) || !(0, i.isFunction)(t.jsPDFDocument.autoTable)) throw Error('The "exportDataGrid" method requires a autoTable plugin for jsPDF object.'); if ((0, i.isDefined)(t.keepColumnWidths) || (t.keepColumnWidths = !0), (0, i.isDefined)(t.autoTableOptions)) { if (!(0, i.isObject)(t.autoTableOptions)) throw Error('The "autoTableOptions" option must be of object type.'); t.autoTableOptions = (0, a.extend)(!0, {}, this._getDefaultAutoTableOptions(), t.autoTableOptions) } else t.autoTableOptions = this._getDefaultAutoTableOptions(); return (0, i.isDefined)(t.loadPanel) || (t.loadPanel = {}), (0, i.isDefined)(t.loadPanel.enabled) || (t.loadPanel.enabled = !0), (0, i.isDefined)(t.loadPanel.text) || (t.loadPanel.text = r.default.format("dxDataGrid-exporting")), t }, _getDefaultAutoTableOptions: function () { return { theme: "plain", tableLineColor: 149, tableLineWidth: .1, styles: { textColor: 51, lineColor: 149, lineWidth: 0 }, columnStyles: {}, headStyles: { fontStyle: "normal", textColor: 149, lineWidth: .1 }, bodyStyles: { lineWidth: .1 }, head: [], body: [] } }, _setLoadPanelOptions: function (e, t) { (0, l.hasWindow)() && (e._setOptionWithoutOptionChange("loadPanel", t), this._renderLoadPanel(e)) }, _renderLoadPanel: function (e) { var t = e.getView("rowsView"); t._renderLoadPanel(t.element(), t.element().parent()) }, export: function (e) { var t = this, n = e.jsPDFDocument, o = e.autoTableOptions, s = e.component, r = e.customizeCell, l = e.keepColumnWidths, d = e.selectedRowsOnly, c = e.loadPanel, u = (0, a.extend)({}, s.option("loadPanel")); "animation" in s.option("loadPanel") && (c.animation = null), this._setLoadPanelOptions(s, c); var h = s.getDataProvider(d), f = !!s.option("wordWrapEnabled"); return new Promise((function (e) { h.ready().done((function () { var a = h.getColumns(), s = h.getStyles(), d = h.getRowsCount(), c = h.getHeaderRowCount(), u = []; if (l) { var p = t._tryGetPdfColumnWidths(o.tableWidth, h.getColumnsWidths()); (0, i.isDefined)(p) && (0, i.isDefined)(o.columnStyles) && t._setColumnWidths(o.columnStyles, p) } for (var g = 0; g < d; g++) { for (var m = [], _ = 0; _ < a.length; _++) { var v = h.getCellData(g, _, !0), y = v.value, w = v.cellSourceData, x = s[h.getStyleId(g, _)], b = { content: t._getFormattedValue(y, x.format), styles: t._getPDFCellStyles(w.rowType, a[_].alignment, x, f) }; if ("header" === w.rowType) { var C = t._tryGetMergeRange(g, _, u, h); C && C.rowSpan > 0 && (b.rowSpan = C.rowSpan + 1), C && C.colSpan > 0 && (b.colSpan = C.colSpan + 1), (!(u[g] && u[g][_]) || b.rowSpan > 1 || b.colSpan > 1) && ((0, i.isFunction)(r) && r({ gridCell: w, pdfCell: b }), m.push(b)) } else { var k, I; if ("group" !== w.rowType || (0, i.isDefined)(b.content) || 1 !== m.length) b.content = null !== (k = b.content) && void 0 !== k ? k : "", (0, i.isFunction)(r) && r({ gridCell: w, pdfCell: b }), m.push(b); else m[0].colSpan = null !== (I = m[0].colSpan) && void 0 !== I ? I : 1, m[0].colSpan++ } } g < c ? o.head.push(m) : o.body.push(m) } n.autoTable(o), e() })).always((function () { t._setLoadPanelOptions(s, u) })) })) }, _getFormattedValue: function (e, t) { if ((0, i.isDefined)(t)) { if ((0, i.isDate)(e)) return o.default.format(e, t); if ((0, i.isNumeric)(e)) return s.default.format(e, t) } return e }, _getPDFCellStyles: function (e, t, n, i) { var a = n.alignment, o = n.bold, s = "header" === e ? t : a, r = {}; return s && (r.halign = s), o && "header" !== e && (r.fontStyle = "bold"), i && (r.cellWidth = "wrap"), r }, _tryGetMergeRange: function (e, t, n, i) { if (!n[e] || !n[e][t]) { var a = i.getCellMerging(e, t), o = a.colspan, s = a.rowspan; if (o || s) { for (var r = e; r <= e + s; r++)for (var l = t; l <= t + o; l++)n[r] || (n[r] = []), n[r][l] = !0; return { rowSpan: s, colSpan: o } } } }, _tryGetPdfColumnWidths: function (e, t) { if ((0, i.isNumeric)(e) && (0, i.isDefined)(t)) { var n = t.reduce((function (e, t) { return e + t }), 0); return t.map((function (t) { return e * t / n })) } }, _setColumnWidths: function (e, t) { t.forEach((function (t, n) { e[n] = e[n] || {}, e[n].cellWidth = t })) } }; t.Export = c }, function (e, t, n) { "use strict"; t.Options = void 0; var i = n(0), a = n(4), o = n(271), s = n(95), r = n(146), l = n(1); function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var c = function () { function e(t, n, i, a) { var s = this; !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._deprecatedCallback, this._startChangeCallback, this._endChangeCallback, this._default = n, this._deprecated = a, this._deprecatedNames = [], this._initDeprecatedNames(), this._optionManager = new o.OptionManager(t, i), this._optionManager.onRelevantNamesPrepared((function (e, t, n, i) { return s._setRelevantNames(e, t, n, i) })), this._cachedOptions = {}, this._rules = [] } var t, n, c; return t = e, (n = [{ key: "_initDeprecatedNames", value: function () { for (var e in this._deprecated) this._deprecatedNames.push(e) } }, { key: "_getByRules", value: function (e) { return e = Array.isArray(e) ? this._rules.concat(e) : this._rules, (0, r.convertRulesToOptions)(e) } }, { key: "_notifyDeprecated", value: function (e) { var t = this._deprecated[e]; t && this._deprecatedCallback(e, t) } }, { key: "_setRelevantNames", value: function (e, t, n, i) { if (t) { var a = this._normalizeName(t, i); a && a !== t && (this._setField(e, a, n), this._clearField(e, t)) } } }, { key: "_setField", value: function (e, t, n) { var i = "", a = null; do { i = i ? ".".concat(i) : "", i = (0, r.getFieldName)(t) + i, a = (t = (0, r.getParentName)(t)) ? this._optionManager.get(e, t, !1) : e } while (!a); a[i] = n } }, { key: "_clearField", value: function (e, t) { delete e[t]; var n = (0, r.getParentName)(t), i = n ? this._optionManager.get(e, n, !1) : e; i && delete i[(0, r.getFieldName)(t)] } }, { key: "_normalizeName", value: function (e, t) { if (this._deprecatedNames.length && e) for (var n = 0; n < this._deprecatedNames.length; n++)if (this._deprecatedNames[n] === e) { var i = this._deprecated[e]; if (i) return !t && this._notifyDeprecated(e), i.alias || e } return e } }, { key: "addRules", value: function (e) { this._rules = e.concat(this._rules) } }, { key: "applyRules", value: function (e) { var t = this._getByRules(e); this.silent(t) } }, { key: "dispose", value: function () { this._deprecatedCallback = a.noop, this._startChangeCallback = a.noop, this._endChangeCallback = a.noop, this._optionManager.dispose() } }, { key: "onChanging", value: function (e) { this._optionManager.onChanging(e) } }, { key: "onChanged", value: function (e) { this._optionManager.onChanged(e) } }, { key: "onDeprecated", value: function (e) { this._deprecatedCallback = e } }, { key: "onStartChange", value: function (e) { this._startChangeCallback = e } }, { key: "onEndChange", value: function (e) { this._endChangeCallback = e } }, { key: "isInitial", value: function (e) { var t = this.silent(e), n = this.initial(e); return (0, i.isFunction)(t) && (0, i.isFunction)(n) ? t.toString() === n.toString() : (0, a.equalByValue)(t, n) } }, { key: "initial", value: function (e) { return (0, r.getNestedOptionValue)(this._initial, e) } }, { key: "option", value: function (e, t) { var n = arguments.length < 2 && "object" !== (0, i.type)(e); if (n) return this._optionManager.get(void 0, this._normalizeName(e)); this._startChangeCallback(); try { this._optionManager.set(e, t) } finally { this._endChangeCallback() } } }, { key: "silent", value: function (e, t) { var n = arguments.length < 2 && "object" !== (0, i.type)(e); if (n) return this._optionManager.get(void 0, e, void 0, !0); this._optionManager.set(e, t, void 0, !0) } }, { key: "reset", value: function (e) { var t = this; if (e) { var n = e.replace(/\[([^\]])\]/g, ".$1").split(".").reduce((function (e, n) { return e ? e[n] : t.initial(n) }), null), a = (0, i.isObject)(n) ? (0, s.clone)(n) : n; this._optionManager.set(e, a, !1) } } }, { key: "getAliasesByName", value: function (e) { var t = this; return Object.keys(this._deprecated).filter((function (n) { return e === t._deprecated[n].alias })) } }, { key: "isDeprecated", value: function (e) { return Object.prototype.hasOwnProperty.call(this._deprecated, e) } }, { key: "cache", value: function (e, t) { var n = arguments.length < 2; if (n) return this._cachedOptions[e]; this._cachedOptions[e] = (0, l.extend)(this._cachedOptions[e], t) } }, { key: "_initial", set: function (e) { this._initialOptions = e }, get: function () { if (!this._initialOptions) { var e = this._getByRules(this.silent("defaultOptionsRules")); this._initialOptions = this._default, this._optionManager._setByReference(this._initialOptions, e) } return this._initialOptions } }]) && d(t.prototype, n), c && d(t, c), e }(); t.Options = c }, function (e, t, n) { "use strict"; t.OptionManager = void 0; var i = n(20), a = n(4), o = n(272), s = n(1), r = n(0), l = n(146); function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var c = {}, u = {}, h = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._options = t, this._optionsByReference = n, this._changingCallback, this._changedCallback, this._namePreparedCallbacks } var t, n, h; return t = e, (n = [{ key: "_setByReference", value: function (e, t) { for (var n in (0, s.extend)(!0, e, t), this._optionsByReference) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]) } }, { key: "_setPreparedValue", value: function (e, t, n, a) { var s = this.get(this._options, e, !1); if (!(0, o.equals)(s, t)) { var l = e.split(/[.[]/); !a && this._changingCallback(e, s, t), u[e] = u[e] || (0, i.compileSetter)(e), u[e](this._options, t, { functionsAsIs: !0, merge: (0, r.isDefined)(n) ? n : !this._optionsByReference[e], unwrapObservables: l.length > 1 && !!this._optionsByReference[l[0]] }), !a && this._changedCallback(e, t, s) } } }, { key: "_prepareRelevantNames", value: function (e, t, n, i) { if ((0, r.isPlainObject)(n)) for (var a in n) this._prepareRelevantNames(e, "".concat(t, ".").concat(a), n[a]); this._namePreparedCallbacks(e, t, n, i) } }, { key: "get", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options, t = arguments.length > 1 ? arguments[1] : void 0, n = arguments.length > 2 ? arguments[2] : void 0; return c[t] = c[t] || (0, i.compileGetter)(t), c[t](e, { functionsAsIs: !0, unwrapObservables: n }) } }, { key: "set", value: function (e, t, n, i) { for (var a in e = (0, l.normalizeOptions)(e, t)) this._prepareRelevantNames(e, a, e[a], i); for (var o in e) this._setPreparedValue(o, e[o], n, i) } }, { key: "onRelevantNamesPrepared", value: function (e) { this._namePreparedCallbacks = e } }, { key: "onChanging", value: function (e) { this._changingCallback = e } }, { key: "onChanged", value: function (e) { this._changedCallback = e } }, { key: "dispose", value: function () { this._changingCallback = a.noop, this._changedCallback = a.noop } }]) && d(t.prototype, n), h && d(t, h), e }(); t.OptionManager = h }, function (e, t, n) { "use strict"; t.equals = void 0; var i, a = (i = n(9)) && i.__esModule ? i : { default: i }, o = n(20), s = n(0); function r(e) { return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.equals = function (e, t) { return e = (0, o.toComparable)(e, !0), t = (0, o.toComparable)(t, !0), e && t && (0, s.isRenderer)(e) && (0, s.isRenderer)(t) ? t.is(e) : !(e == e || t == t) || (0 === e && 0 === t ? function (e, t) { return 1 / e == 1 / t }(e, t) : !(null !== e && "object" === r(e) && !a.default.isElementNode(e)) && e === t) } }, function (e, t, n) { "use strict"; t.PostponedOperations = void 0; var i = n(6), a = n(0); function o(e) { return function (e) { if (Array.isArray(e)) return s(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return s(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function s(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var l = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._postponedOperations = {} } var t, n, s; return t = e, (n = [{ key: "add", value: function (e, t, n) { if (e in this._postponedOperations) n && this._postponedOperations[e].promises.push(n); else { var a = new i.Deferred; this._postponedOperations[e] = { fn: t, completePromise: a, promises: n ? [n] : [] } } return this._postponedOperations[e].completePromise.promise() } }, { key: "callPostponedOperations", value: function () { for (var e in this._postponedOperations) { var t = this._postponedOperations[e]; (0, a.isDefined)(t) && (t.promises && t.promises.length ? i.when.apply(void 0, o(t.promises)).done(t.fn).then(t.completePromise.resolve) : t.fn().done(t.completePromise.resolve)) } this._postponedOperations = {} } }]) && r(t.prototype, n), s && r(t, s), e }(); t.PostponedOperations = l }, function (e, t, n) { "use strict"; t.TemplateManager = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(0), s = n(4), r = n(1), l = n(119), d = n(101), c = n(186); function u(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var h = new l.FunctionTemplate((function (e) { var t = e.model, n = e.parent, i = t.widget; if (!i) return (0, a.default)(); var o = (0, a.default)("<div>"), s = t.options || {}; return n ? n._createComponent(o, i, s) : o[i](s), o })), f = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._tempTemplates = [], this._defaultTemplates = {}, this._anonymousTemplateName = n || "template", this._createElement = t || c.defaultCreateElement, this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this) } var t, n, i; return t = e, i = [{ key: "createDefaultOptions", value: function () { return { integrationOptions: { watchMethod: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return n.skipImmediate || t(e()), s.noop }, templates: { "dx-polymorph-widget": h }, useDeferUpdateForTemplates: !0 } } } }], (n = [{ key: "addDefaultTemplates", value: function (e) { this._defaultTemplates = (0, r.extend)({}, this._defaultTemplates, e) } }, { key: "dispose", value: function () { this._tempTemplates.forEach((function (e) { e.template.dispose && e.template.dispose() })), this._tempTemplates = [] } }, { key: "extractTemplates", value: function (e) { return { templates: this._extractTemplates(e), anonymousTemplateMeta: this._extractAnonymousTemplate(e) } } }, { key: "_extractTemplates", value: function (e) { var t = this, n = (0, c.findTemplates)(e, "dxTemplate"), i = (0, c.suitableTemplatesByName)(n); return n.forEach((function (e) { var t = e.element, n = e.options.name; t === i[n] ? (0, a.default)(t).addClass("dx-template-wrapper").detach() : (0, a.default)(t).remove() })), Object.keys(i).map((function (e) { return { name: e, template: t._createTemplate(i[e]) } })) } }, { key: "_extractAnonymousTemplate", value: function (e) { var t = e.contents().detach(); return t.filter((function (e, t) { var n = 3 === t.nodeType, i = (0, a.default)(t).text().trim().length < 1; return !(n && i) })).length > 0 ? { template: this._createTemplate(t), name: this._anonymousTemplateName } : {} } }, { key: "_createTemplateIfNeeded", value: function (e) { var t = this._tempTemplates.filter((function (t) { return t.source === (0, c.templateKey)(e) }))[0]; if (t) return t.template; var n = this._createTemplate(e); return this._tempTemplates.push({ template: n, source: (0, c.templateKey)(e) }), n } }, { key: "_createTemplate", value: function (e) { return this._createElement((0, c.validateTemplateSource)(e)) } }, { key: "getTemplate", value: function (e, t, n, i) { var s = this, r = n.isAsyncTemplate, u = n.skipTemplates; return (0, o.isFunction)(e) ? new l.FunctionTemplate((function (n) { var h = e.apply(i, (0, c.getNormalizedTemplateArgs)(n)); if (!(0, o.isDefined)(h)) return new d.EmptyTemplate; var f = !1, p = (0, c.acquireTemplate)(h, (function (e) { return e.nodeType || (0, o.isRenderer)(e) && !(0, a.default)(e).is("script") ? new l.FunctionTemplate((function () { return e })) : (f = !0, s._createTemplate(e)) }), t, r, u, s._defaultTemplates), g = p.render(n); return f && p.dispose && p.dispose(), g })) : (0, c.acquireTemplate)(e, this._createTemplateIfNeeded, t, r, u, this._defaultTemplates) } }, { key: "anonymousTemplateName", get: function () { return this._anonymousTemplateName } }]) && u(t.prototype, n), i && u(t, i), e }(); t.TemplateManager = f }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.Template = void 0; var a, o = (a = n(2)) && a.__esModule ? a : { default: a }, s = n(75), r = n(28), l = n(147); function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function c(e, t) { return (c = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function u(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = f(e); if (t) { var a = f(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return h(this, n) } } function h(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function f(e) { return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } n(276), (0, l.registerTemplateEngine)("default", { compile: function (e) { return (0, r.normalizeTemplateElement)(e) }, render: function (e, t, n) { return e.clone() } }), (0, l.setTemplateEngine)("default"); var p = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && c(e, t) }(s, e); var t, n, i, a = u(s); function s(e) { var t; return function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, s), (t = a.call(this))._element = e, t } return t = s, (n = [{ key: "_renderCore", value: function (e) { var t = e.transclude; return t || this._compiledTemplate || (this._compiledTemplate = (0, l.getCurrentTemplateEngine)().compile(this._element)), (0, o.default)("<div>").append(t ? this._element : (0, l.getCurrentTemplateEngine)().render(this._compiledTemplate, e.model, e.index)).contents() } }, { key: "source", value: function () { return (0, o.default)(this._element).clone() } }]) && d(t.prototype, n), i && d(t, i), s }(s.TemplateBase); t.Template = p }, function (e, t, n) { "use strict"; var i = n(28), a = n(147); (0, a.registerTemplateEngine)("jquery-tmpl", { compile: function (e) { return (0, i.extractTemplateMarkup)(e) }, render: function (e, t) { return jQuery.tmpl(e, t) } }), (0, a.registerTemplateEngine)("jsrender", { compile: function (e) { return (jQuery || jsrender).templates((0, i.extractTemplateMarkup)(e)) }, render: function (e, t) { return e.render(t) } }), (0, a.registerTemplateEngine)("mustache", { compile: function (e) { return (0, i.extractTemplateMarkup)(e) }, render: function (e, t) { return Mustache.render(e, t) } }), (0, a.registerTemplateEngine)("hogan", { compile: function (e) { return Hogan.compile((0, i.extractTemplateMarkup)(e)) }, render: function (e, t) { return e.render(t) } }), (0, a.registerTemplateEngine)("underscore", { compile: function (e) { return _.template((0, i.extractTemplateMarkup)(e)) }, render: function (e, t) { return e(t) } }), (0, a.registerTemplateEngine)("handlebars", { compile: function (e) { return Handlebars.compile((0, i.extractTemplateMarkup)(e)) }, render: function (e, t) { return e(t) } }), (0, a.registerTemplateEngine)("doT", { compile: function (e) { return doT.template((0, i.extractTemplateMarkup)(e)) }, render: function (e, t) { return e(t) } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(5)), o = l(n(13)), s = n(14), r = n(8); function l(e) { return e && e.__esModule ? e : { default: e } } var d = o.default.inherit({ _keydown: (0, r.addNamespace)("keydown", "KeyboardProcessor"), _compositionStart: (0, r.addNamespace)("compositionstart", "KeyboardProcessor"), _compositionEnd: (0, r.addNamespace)("compositionend", "KeyboardProcessor"), ctor: function (e) { var t = this; (e = e || {}).element && (this._element = (0, i.default)(e.element)), e.focusTarget && (this._focusTarget = e.focusTarget), this._handler = e.handler, this._element && (this._processFunction = function (e) { var n = t._focusTarget && t._focusTarget !== e.target && (0, s.inArray)(e.target, t._focusTarget) < 0, i = t._isComposingJustFinished && 229 === e.which || t._isComposing || n; t._isComposingJustFinished = !1, i || t.process(e) }, this._toggleProcessingWithContext = this.toggleProcessing.bind(this), a.default.on(this._element, this._keydown, this._processFunction), a.default.on(this._element, this._compositionStart, this._toggleProcessingWithContext), a.default.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)) }, dispose: function () { this._element && (a.default.off(this._element, this._keydown, this._processFunction), a.default.off(this._element, this._compositionStart, this._toggleProcessingWithContext), a.default.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)), this._element = void 0, this._handler = void 0 }, process: function (e) { this._handler({ keyName: (0, r.normalizeKeyName)(e), key: e.key, code: e.code, ctrl: e.ctrlKey, location: e.location, metaKey: e.metaKey, shift: e.shiftKey, alt: e.altKey, which: e.which, originalEvent: e }) }, toggleProcessing: function (e) { var t = e.type; this._isComposing = "compositionstart" === t, this._isComposingJustFinished = !this._isComposing } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(21)) && i.__esModule ? i : { default: i }; var o = function e(t, n) { if (!n) throw a.default.Error("E0017"); return Array.isArray(t) ? t.map((function (t) { return e(t, n) })).join(" ") : -1 !== t.indexOf(" ") ? e(t.split(/\s+/g), n) : "".concat(t, ".").concat(n) }; t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.initMobileViewport = void 0; var i = h(n(2)), a = h(n(9)), o = n(7), s = h(n(5)), r = n(1), l = h(n(118)), d = n(41), c = n(64), u = h(n(12)); function h(e) { return e && e.__esModule ? e : { default: e } } var f = (0, o.getWindow)(); t.initMobileViewport = function (e) { e = (0, r.extend)({}, e); var t = u.default.real(), n = e.allowZoom, o = e.allowPan, h = "allowSelection" in e ? e.allowSelection : "generic" === t.platform; (0, i.default)("meta[name=viewport]").length || (0, i.default)("<meta>").attr("name", "viewport").appendTo("head"); var p = ["width=device-width"], g = []; (n ? g.push("pinch-zoom") : p.push("initial-scale=1.0", "maximum-scale=1.0, user-scalable=no"), o && g.push("pan-x", "pan-y"), o || n ? (0, i.default)("html").css("msOverflowStyle", "-ms-autohiding-scrollbar") : (0, i.default)("html, body").css({ msContentZooming: "none", msUserSelect: "none", overflow: "hidden" }), !h && (0, d.supportProp)("userSelect") && (0, i.default)(".dx-viewport").css((0, c.styleProp)("userSelect"), "none"), (0, i.default)("meta[name=viewport]").attr("content", p.join()), (0, i.default)("html").css("msTouchAction", g.join(" ") || "none"), t = u.default.real(), d.touch && (s.default.off(a.default.getDocument(), ".dxInitMobileViewport"), s.default.on(a.default.getDocument(), "dxpointermove.dxInitMobileViewport", (function (e) { var t = e.pointers.length, i = "touch" === e.pointerType, a = !n && t > 1, s = !o && 1 === t && !e.isScrollingEvent; i && (a || s) && e.preventDefault() }))), t.ios) && ("file:" === a.default.getLocation().protocol || l.default.add((function () { var e = (0, i.default)(f).width(); (0, i.default)("body").width(e) }))); t.android && l.default.add((function () { setTimeout((function () { var e = a.default.getActiveElement(); e.scrollIntoViewIfNeeded ? e.scrollIntoViewIfNeeded() : e.scrollIntoView(!1) })) })) } }, function (e, t, n) { "use strict"; var i; t.getTimeZones = void 0; var a = ((i = n(281)) && i.__esModule ? i : { default: i }).default.getTimeZones; t.getTimeZones = a }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(49)), a = s(n(282)), o = s(n(285)); function s(e) { return e && e.__esModule ? e : { default: e } } function r(e, t) { return function (e) { if (Array.isArray(e)) return e }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], i = !0, a = !1, o = void 0; try { for (var s, r = e[Symbol.iterator](); !(i = (s = r.next()).done) && (n.push(s.value), !t || n.length !== t); i = !0); } catch (e) { a = !0, o = e } finally { try { i || null == r.return || r.return() } finally { if (a) throw o } } return n }(e, t) || function (e, t) { if (!e) return; if ("string" == typeof e) return l(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return l(e, t) }(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function l(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var d = i.default.dateToMilliseconds, c = function (e) { return new Date(Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate(), e.getUTCHours(), e.getUTCMinutes())) }, u = function (e, t, n, i) { return h(n, i) - h(e, t) }, h = function (e, t) { return new Date(e).getTimezoneOffset() - new Date(t).getTimezoneOffset() }, f = function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Date; if ("string" == typeof e) { var n = c(t); return a.default.getTimeZoneOffsetById(e, n.getTime()) } return e }, p = function (e, t, n) { return f(n, e) - f(n, t) }, g = function (e) { var t = new Date(new Date(e).setHours(0, 0, 0, 0)), n = new Date(new Date(e).setHours(23, 59, 59, 0)); return t.getTimezoneOffset() - n.getTimezoneOffset() != 0 }, m = function (e) { var t = r(_(), 2), n = t[0], i = t[1], a = -n.getTimezoneOffset() / 60, o = -i.getTimezoneOffset() / 60, s = f(e, n), l = f(e, i); return a === s && o === l }, _ = function () { var e = new Date(Date.now()), t = new Date, n = new Date; return t.setFullYear(e.getFullYear(), 0, 1), n.setFullYear(e.getFullYear(), 6, 1), [t, n] }, v = { getDaylightOffset: h, getDaylightOffsetInMs: function (e, t) { return h(e, t) * d("minute") }, getTimezoneOffsetChangeInMinutes: u, getTimezoneOffsetChangeInMs: function (e, t, n, i) { return u(e, t, n, i) * d("minute") }, calculateTimezoneByValue: f, getCorrectedDateByDaylightOffsets: function (e, t, n, i, a) { var o = p(e, t, i) - p(e, t, a); return new Date(n.getTime() - o * d("hour")) }, isSameAppointmentDates: function (e, t) { return t = new Date(t.getTime() - 1), i.default.sameDate(e, t) }, correctRecurrenceExceptionByTimezone: function (e, t, n, i) { var a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4], o = (e.getTimezoneOffset() - t.getTimezoneOffset()) / 60; return i ? o = p(t, e, i) : n && (o = p(t, e, n)), new Date(e.getTime() + (a ? -1 : 1) * o * d("hour")) }, getClientTimezoneOffset: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date; return 6e4 * e.getTimezoneOffset() }, createUTCDateWithLocalOffset: function (e) { return e ? new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours(), e.getMinutes(), e.getSeconds())) : null }, createDateFromUTCWithLocalOffset: function (e) { var t = (0, o.default)(e), n = t.getTimezoneOffset(); return t.addTime(t.getTimezoneOffset("minute")), t.subtractMinutes(n - t.getTimezoneOffset()), t.source }, createUTCDate: c, isTimezoneChangeInDate: g, getDateWithoutTimezoneChange: function (e) { var t = new Date(e); if (g(t)) { var n = new Date(t); return new Date(n.setDate(n.getDate() + 1)) } return t }, hasDSTInLocalTimeZone: function () { var e = r(_(), 2), t = e[0], n = e[1]; return t.getTimezoneOffset() !== n.getTimezoneOffset() }, isEqualLocalTimeZone: function (e) { if (Intl) { var t = Intl.DateTimeFormat().resolvedOptions().timeZone; if (t) return t === e } return m(e) }, getTimeZones: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : new Date, t = c(e); return a.default.getDisplayedTimeZones(t.getTime()) } }; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(44)), a = r(n(21)), o = r(n(284)), s = n(37); function r(e) { return e && e.__esModule ? e : { default: e } } var l = { _timeZones: o.default.zones, getDisplayedTimeZones: function (e) { var t = this, n = this._timeZones.map((function (n) { var i = t.getUtcOffset(n.offsets, n.offsetIndices, n.untils, e); return { offset: i, title: "(GMT ".concat(t.formatOffset(i), ") ").concat(t.formatId(n.id)), id: n.id } })); return (0, i.default)(n).sortBy("offset").toArray() }, formatOffset: function (e) { var t = Math.floor(e), n = e - t; return ((0, s.sign)(e) >= 0 ? "+" : "-") + "0".concat(Math.abs(t)).slice(-2) + (n > 0 ? ":".concat(60 * n) : ":00") }, formatId: function (e) { return e.split("/").join(" - ").split("_").join(" ") }, getTimezoneById: function (e) { var t, n = 0, i = this._timeZones; if (e) for (; !t;) { if (!i[n]) return void a.default.log("W0009", e); i[n].id === e && (t = i[n]), n++ } return t }, getTimeZoneOffsetById: function (e, t) { var n, i, a, o, s = this.getTimezoneById(e); return s && (n = s.offsets, a = s.untils, i = s.offsetIndices, o = this.getUtcOffset(n, i, a, t)), o }, getUtcOffset: function (e, t, n, i) { for (var a = 0, o = t.split(""), s = e.split("|"), r = n.split("|").map((function (e) { return "Infinity" === e ? null : 1e3 * parseInt(e, 36) })), l = 0, d = 0, c = r.length; d < c && i >= (l += r[d]); d++)a = d; r[a + 1] && a++; var u = Number(s[Number(o[a])]); return -u / 60 || u } }; t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(148)), a = d(n(33)), o = n(3), s = n(0), r = n(6), l = d(n(121)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = function e(t, n, d) { d = d || [], n = n || {}; var c = function (e, t) { return { name: e, args: t } }, u = function (e) { var u, h, f, p, g, m, _, v = new r.Deferred, y = function (e) { var t = n.errorHandler; t && t(e), a.default._errorHandler(e), v.reject(e) }; function w(e) { switch (e.name) { case "sortBy": return g = [e.args], !0; case "thenBy": if (!g) throw a.default.errors.Error("E4004"); return g.push(e.args), !0 }return !1 } try { u = n.adapter, (0, s.isFunction)(u) || (u = i.default[u]), h = u(n), f = [].concat(d).concat(e); var x = h.optimize; for (x && x(f); f.length;) { if (!w(p = f[0])) { if (g) { f.unshift(c("multiSort", [g])), g = null; continue } if ("enumerate" !== String(p.name) && (!h[p.name] || !1 === h[p.name].apply(h, p.args))) break } f.shift() } m = f[0], _ = [], m && "multiSort" === m.name && (f.shift(), (0, o.each)(m.args[0], (function () { _.push(c(_.length ? "thenBy" : "sortBy", this)) }))), f = _.concat(f), h.exec(t).done((function (e, t) { if (f.length) { var i = (0, l.default)(e, { errorHandler: n.errorHandler }); (0, o.each)(f, (function () { i = i[this.name].apply(i, this.args) })), i.done(v.resolve).fail(v.reject) } else v.resolve(e, t) })).fail(y) } catch (e) { y(e) } return v.promise() }, h = {}; return (0, o.each)(["sortBy", "thenBy", "filter", "slice", "select", "groupBy"], (function () { var i = String(this); h[i] = function () { return e(t, n, d.concat(c(i, arguments))) } })), (0, o.each)(["count", "min", "max", "sum", "avg", "aggregate", "enumerate"], (function () { var e = String(this); h[e] = function () { return u.call(this, c(e, arguments)) } })), h }; t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; t.default = { zones: [{ id: "Africa/Abidjan", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Accra", untils: "-r507yk|1e3pak|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|cjvlc|681qo|clq9c|681qo|cjvlc|681qo|cjvlc|681qo|Infinity", offsets: "0.8667|0|-20", offsetIndices: "012121212121212121212121212121212121212121212121" }, { id: "Africa/Addis_Ababa", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Algiers", untils: "-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|53c00|9idxc0|3i040|51mw0|253uk0|9o2k0|92040|8l3s0|jutc0|4uy840|3rdzw0|46xc00|7x6o0|2xco40|8n180|7x9g0|9d440|kiqg0|9d440|9q2s0|9cyk0|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "0121212121212121232321212122321212" }, { id: "Africa/Asmara", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Asmera", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Bamako", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Bangui", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Banjul", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Bissau", untils: "-u9rek0|wvoyo0|Infinity", offsets: "62.3333|60|0", offsetIndices: "012" }, { id: "Africa/Blantyre", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Brazzaville", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Bujumbura", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Cairo", untils: "-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Africa/Casablanca", untils: "-tblt9g|di7nxg|3huk0|51k40|2znuk0|2dp9g0|776k0|8nt2s0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|xqqk0|bp56s0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity", offsets: "30.3333|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Africa/Ceuta", untils: "-qyiys0|7x3w0|2vt440|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|k69dc0|657w0|3ifxg0|3jp80|va040|4qak0|e1ms0|7pp80|cnms0|3afw0|2xi840|129us0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Africa/Conakry", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Dakar", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Dar_es_Salaam", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Djibouti", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Douala", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/El_Aaiun", untils: "-isdxk0|m2g0c0|vek0|4qak0|e1ms0|7pp80|cnms0|3afw0|fke5g0|4qak0|e1ms0|45x80|d2g40|51ek0|c8tg0|64ak0|e1sc0|47uo0|1leo0|23xc0|asw00|3lmo0|1qyo0|40g00|7x6o0|4mo00|1stc0|4deo0|7x6o0|3ylc0|1stc0|51hc0|7x6o0|3lmo0|1stc0|5reo0|7k800|2vpc0|25s00|64dc0|7k800|2iqo0|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|1stc0|gkao0|1stc0|g7c00|25s00|g7c00|1stc0|g7c00|25s00|g7c00|25s00|g7c00|1stc0|g7c00|25s00|Infinity", offsets: "52.8|60|0|-60", offsetIndices: "012323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Africa/Freetown", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Gaborone", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Harare", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Johannesburg", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Juba", untils: "-kcrsis|kixuys|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|Infinity", offsets: "-126.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212" }, { id: "Africa/Kampala", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Khartoum", untils: "-kcrsow|kixv4w|8l6k0|a4w40|8n180|a6qs0|8n180|a31g0|8ovw0|a16s0|8qqk0|9zc40|8sl80|9xhg0|8wak0|9ts40|8y580|a4w40|8n180|a31g0|8ovw0|a16s0|8sl80|9xhg0|8ufw0|9vms0|8wak0|9ts40|8y580|a4w40|8ovw0|a16s0|8qqk0|7frw40|9ac180|Infinity", offsets: "-130.1333|-120|-180", offsetIndices: "012121212121212121212121212121212121" }, { id: "Africa/Kigali", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Kinshasa", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lagos", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Libreville", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lome", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Luanda", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Lubumbashi", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Lusaka", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Malabo", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Maputo", untils: "-yvtfd8|Infinity", offsets: "-130.3333|-120", offsetIndices: "01" }, { id: "Africa/Maseru", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Mbabane", untils: "-yvtdi0|kn7o60|9cyk0|9d440|9cyk0|Infinity", offsets: "-90|-120|-180", offsetIndices: "012121" }, { id: "Africa/Mogadishu", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Monrovia", untils: "-qj6zc4|rl202a|Infinity", offsets: "43.1333|44.5|0", offsetIndices: "012" }, { id: "Africa/Nairobi", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Africa/Ndjamena", untils: "-u9rk4c|zdk5cc|7iak0|Infinity", offsets: "-60.2|-60|-120", offsetIndices: "0121" }, { id: "Africa/Niamey", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Nouakchott", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Ouagadougou", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Porto-Novo", untils: "-q9qbao|Infinity", offsets: "-13.6|-60", offsetIndices: "01" }, { id: "Africa/Sao_Tome", untils: "-u9rhc0|1jbm840|irxc0|Infinity", offsets: "36.75|0|-60", offsetIndices: "0121" }, { id: "Africa/Timbuktu", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Africa/Tripoli", untils: "-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity", offsets: "-52.7333|-60|-120", offsetIndices: "012121212121212121212121212122122" }, { id: "Africa/Tunis", untils: "-uozn3l|enxevl|b5uo0|53c00|u8w00|7x9g0|c8w80|7k800|z3w0|ew40|8bx80|9d440|9nx00|925o0|8l100|gi3440|7k800|b9k00|7vc00|51mw00|5ytc0|9d1c0|9d1c0|b9k00|7thc0|7m0tc0|7tk40|93us0|b5uo0|7k800|b5uo0|7x6o0|asw00|Infinity", offsets: "-9.35|-60|-120", offsetIndices: "0121212121212121212121212121212121" }, { id: "Africa/Windhoek", untils: "-yvtdi0|kn7o60|9cyk0|oj2nw0|235k00|8lho0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|Infinity", offsets: "-90|-120|-180|-60", offsetIndices: "01211313131313131313131313131313131313131313131313131" }, { id: "America/Adak", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Anchorage", untils: "-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "600|540|480", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Anguilla", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Antigua", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Araguaina", untils: "-t85j2o|99k8mo|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|51udg0|64ak0|Infinity", offsets: "192.8|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121" }, { id: "America/Argentina/Buenos_Aires", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232323232" }, { id: "America/Argentina/Catamarca", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Argentina/ComodRivadavia", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Argentina/Cordoba", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Argentina/Jujuy", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121323232" }, { id: "America/Argentina/La_Rioja", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231232321232" }, { id: "America/Argentina/Mendoza", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232312121321232" }, { id: "America/Argentina/Rio_Gallegos", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232321232" }, { id: "America/Argentina/Salta", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231323232" }, { id: "America/Argentina/San_Juan", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6qik0|3g880|8jbw0|6u7w0|bvus0|776k0|5v2840|2txg0|1sgak0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323231232321232" }, { id: "America/Argentina/San_Luis", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|7pp80|b2aw0|71mk0|4qg40|6s8ik0|2txg0|1sgak0|14nw0|2gys0|b5xg0|7k580|b5xg0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121212321212" }, { id: "America/Argentina/Tucuman", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|mas0|1um2k0|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "0121212121212121212121212121212121212121212323232313232123232" }, { id: "America/Argentina/Ushuaia", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|5v0dg0|12ys0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232321232" }, { id: "America/Aruba", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Asuncion", untils: "-jy93zk|ldwofk|s4vw0|s6w40|7tek0|b0dg0|7rjw0|b0dg0|7rjw0|b0dg0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|9eys0|9cyk0|9eys0|9cyk0|9eys0|9et80|9eys0|9cyk0|ahus0|8a2k0|9eys0|9cyk0|9o840|7k580|b7s40|93p80|9gtg0|7nuk0|b42s0|7lzw0|b5xg0|7tek0|b9ms0|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|7kas0|b5rw0|7x9g0|ast80|a31g0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|776k0|biw40|8zzw0|905g0|9px80|905g0|9px80|9d440|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|a31g0|8n180|a31g0|8n180|a31g0|Infinity", offsets: "230.6667|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Atikokan", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity", offsets: "360|300", offsetIndices: "0101111" }, { id: "America/Atka", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Bahia_Banderas", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|asqg0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "421|420|360|480|300", offsetIndices: "0121212131212121212121212121212121212142424242424242424242424242424242424242424242424242424242" }, { id: "America/Bahia", untils: "-t85kv8|99kaf8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|4irc40|6u7w0|Infinity", offsets: "154.0667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Barbados", untils: "-o0aiaj|46b400|npv1mj|5rbw0|a31g0|8n180|a31g0|8n180|ag040|84ik0|Infinity", offsets: "238.4833|240|180", offsetIndices: "00121212121" }, { id: "America/Belem", untils: "-t85j0s|99k8ks|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity", offsets: "193.9333|180|120", offsetIndices: "012121212121212121212121212121" }, { id: "America/Belize", untils: "-u52ic0|3edkc0|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|bvte0|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|bvte0|6u9a0|g2t2q0|3e580|4mcys0|2vmk0|Infinity", offsets: "352.8|360|330|300", offsetIndices: "01212121212121212121212121212121212121212121212121213131" }, { id: "America/Blanc-Sablon", untils: "-qzp0o0|a2vw0|c5jxg0|1tzdw0|2dnc0|Infinity", offsets: "240|180", offsetIndices: "010110" }, { id: "America/Boa_Vista", untils: "-t85grk|99k93k|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|62xk40|7k580|biw40|cvw0|Infinity", offsets: "242.6667|240|180", offsetIndices: "0121212121212121212121212121212121" }, { id: "America/Bogota", untils: "-srdoy8|14f1hi8|ha580|Infinity", offsets: "296.2667|300|240", offsetIndices: "0121" }, { id: "America/Boise", untils: "-r0emw0|ast80|7x9g0|ast80|1um840|9s7jw0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|51k40|doik0|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|360", offsetIndices: "0101012212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Buenos_Aires", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvus0|6u7w0|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323232323232" }, { id: "America/Cambridge_Bay", untils: "-q3gdc0|bjeec0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x6o0|ast80|ct40|7kj40|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|420|360|300", offsetIndices: "0122131212121212121212121212121212121212121212233221212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Campo_Grande", untils: "-t85hvw|99ka7w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "218.4667|240|180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Cancun", untils: "-p1u7c0|vauo00|7ggw40|afuk0|8a840|afuk0|8a840|64ak0|4bms0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|51k40|Infinity", offsets: "347.0667|360|300|240", offsetIndices: "0123232321212121212121212121212121212121212" }, { id: "America/Caracas", untils: "-u7lcxw|rlo83w|meoxm0|4dps00|Infinity", offsets: "267.6667|270|240", offsetIndices: "01212" }, { id: "America/Catamarca", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|5v42s0|z9g0|1u93w0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132321232" }, { id: "America/Cayenne", untils: "-uj7yb4|tcw6r4|Infinity", offsets: "209.3333|240|180", offsetIndices: "012" }, { id: "America/Cayman", untils: "-w757vc|Infinity", offsets: "319.6|300", offsetIndices: "01" }, { id: "America/Chicago", untils: "-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Chihuahua", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "424.3333|420|360|300", offsetIndices: "0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Coral_Harbour", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|Infinity", offsets: "360|300", offsetIndices: "0101111" }, { id: "America/Cordoba", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Costa_Rica", untils: "-pjw8fn|ubtl3n|51ek0|doo40|51ek0|5jso40|8drw0|acas0|2xh80|Infinity", offsets: "336.2167|360|300", offsetIndices: "0121212121" }, { id: "America/Creston", untils: "-rshz80|vbus0|Infinity", offsets: "420|480", offsetIndices: "010" }, { id: "America/Cuiaba", untils: "-t85hm4|99k9y4|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|w5hg0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "224.3333|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Curacao", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Danmarkshavn", untils: "-rvusjk|x8nx3k|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|53hk0|Infinity", offsets: "74.6667|180|120|0", offsetIndices: "01212121212121212121212121212121213" }, { id: "America/Dawson_Creek", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|69uk0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101011" }, { id: "America/Dawson", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|465k00|3e2is0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Denver", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Detroit", untils: "-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "332.1833|360|300|240", offsetIndices: "0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Dominica", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Edmonton", untils: "-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "453.8667|420|360", offsetIndices: "0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Eirunepe", untils: "-t85f28|99ka68|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|7hg2s0|2t2t80|Infinity", offsets: "279.4667|300|240", offsetIndices: "0121212121212121212121212121212121" }, { id: "America/El_Salvador", untils: "-pkm4tc|ymao5c|7k580|b5xg0|7k580|Infinity", offsets: "356.8|360|300", offsetIndices: "012121" }, { id: "America/Ensenada", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Fort_Nelson", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "480|420", offsetIndices: "01011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "America/Fort_Wayne", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Fortaleza", untils: "-t85kvc|99kafc|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|puk0|id6s0|6h980|Infinity", offsets: "154|180|120", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/Glace_Bay", untils: "-z94kwc|89fk8c|a2vw0|c5jxg0|1tzdw0|2dnc0|3y8g40|7x3w0|9pa5g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "239.8|240|180", offsetIndices: "012122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Godthab", untils: "-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "206.9333|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Goose_Bay", untils: "-qzp20k|a2vw0|8kjbw0|kzjyk|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|6y2s0|22420|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|240|180|120", offsetIndices: "010232323232323233232323232323232323232323232323232323232324545454545454545454545454545454545454545454546454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454" }, { id: "America/Grand_Turk", untils: "-u85og2|z3brw2|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|18ais0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "307.1667|300|240", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121222121212121212121212121212121212121212121" }, { id: "America/Grenada", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Guadeloupe", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Guatemala", untils: "-qqqskk|ss0akk|4ofw0|4tidg0|6djw0|3wwas0|8n180|7n5ms0|7x3w0|Infinity", offsets: "362.0667|360|300", offsetIndices: "0121212121" }, { id: "America/Guayaquil", untils: "-kcr84o|wb620o|3jp80|Infinity", offsets: "314|300|240", offsetIndices: "0121" }, { id: "America/Guyana", untils: "-smcak8|vj4sz8|81rf90|Infinity", offsets: "232.6667|225|180|240", offsetIndices: "0123" }, { id: "America/Halifax", untils: "-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "254.4|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Havana", untils: "-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity", offsets: "329.6|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Hermosillo", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|Infinity", offsets: "443.8667|420|360|480", offsetIndices: "0121212131212121" }, { id: "America/Indiana/Indianapolis", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Knox", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Indiana/Marengo", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|2wsas0|7x3w0|1c9440|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|fvt9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101011010101010101010101212121212111212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Petersburg", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|sfzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|eu02o0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010101010101010101010111011212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Tell_City", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|501ek0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|1tw580|9d440|9cyk0|9d440|9cvs0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101021211010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Indiana/Vevay", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|4gyis0|7txx80|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|hfzhg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101101212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Vincennes", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|3fidg0|7x3w0|asys0|7x3w0|b5rw0|7kas0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|2lz980|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010121211011212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indiana/Winamac", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|465h80|9cyk0|9d440|9cyk0|ihslg0|asw00|6udg0|c8l40|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "01010110101010101010101010101010101010121211021212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Indianapolis", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Inuvik", untils: "-8ve5c0|6fce80|9q000|71i2w0|ipzw0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|480|360|420", offsetIndices: "0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Iqaluit", untils: "-eb6ao0|1l3h80|2dq40|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|240|300|180|360", offsetIndices: "01123212121212121212121212121212121212121212142212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Jamaica", untils: "-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity", offsets: "307.1667|300|240", offsetIndices: "0121212121212121212121" }, { id: "America/Jujuy", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|c8w80|776k0|ag040|7k2g0|bvus0|776k0|7qcg40|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "012121212121212121212121212121212121212121232323121323232" }, { id: "America/Juneau", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9d1c0|9d1c0|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010001010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202" }, { id: "America/Kentucky/Louisville", untils: "-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Kentucky/Monticello", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|bs6g40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Knox_IN", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Kralendijk", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/La_Paz", untils: "-jxzspo|84ik0|Infinity", offsets: "272.6|212.6|240", offsetIndices: "012" }, { id: "America/Lima", untils: "-w25lpo|fcxjlo|4ml80|93us0|9cyk0|9d440|9cyk0|nw16s0|4ml80|e5c40|4ml80|1fr1g0|4ml80|1yiys0|4ml80|Infinity", offsets: "308.6|300|240", offsetIndices: "0121212121212121" }, { id: "America/Los_Angeles", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Louisville", untils: "-r0esg0|ast80|7x9g0|ast80|sg5g0|6bp80|a98o40|7x3w0|6w840|1tz8c0|2dsw0|ast9o|1sw2c|21gis0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|4bh80|3j3xc0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4g00|64dc0|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0101010101101010101010101010101010101121212121212111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Lower_Princes", untils: "-u7lckd|rlo7qd|Infinity", offsets: "275.7833|270|240", offsetIndices: "012" }, { id: "America/Maceio", untils: "-t85ldw|99kaxw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|2yl440|64ak0|1wf1g0|7k580|biw40|puk0|id6s0|6h980|Infinity", offsets: "142.8667|180|120", offsetIndices: "012121212121212121212121212121212121212121" }, { id: "America/Managua", untils: "-ijh6oo|ka1i0o|xqqk0|24p6s0|53980|dmtg0|53980|60itw0|dq240|53es0|235h80|4beis0|8zzw0|at4c0|7x140|Infinity", offsets: "345.2|360|300", offsetIndices: "0121212121212121" }, { id: "America/Manaus", untils: "-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity", offsets: "240.0667|240|180", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Marigot", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Martinique", untils: "-umcvcs|zz5x4s|8zzw0|Infinity", offsets: "244.3333|240|180", offsetIndices: "0121" }, { id: "America/Matamoros", untils: "-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "400|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Mazatlan", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "425.6667|420|360|480", offsetIndices: "0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Mendoza", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bktk0|71mk0|bqas0|73h80|bvus0|773s0|5unes0|6hes0|1p7mk0|3yik0|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232312121321232" }, { id: "America/Menominee", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|asys0|7x3w0|a7n9g0|9px80|1at9g0|2396k0|9d1c0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010110101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Merida", untils: "-p1u7c0|vauo00|hoyk0|6ys0c0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "358.4667|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Metlakatla", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|gpc840|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|3ylc0|2itg0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010101010102020200202020202020202020202020202020202020202" }, { id: "America/Mexico_City", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "396.6|420|360|300", offsetIndices: "012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Miquelon", untils: "-ulmyxk|zzqbdk|3m59g0|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "224.6667|240|180|120", offsetIndices: "012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Moncton", untils: "-z94i40|89fhg0|a2vw0|7mqqo0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|e1ms0|4ofw0|dmtg0|64ak0|cao40|6fek0|bkqs0|7iak0|6y5k0|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a2lo|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6uiyc|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240|180", offsetIndices: "012121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Monterrey", untils: "-p1u7c0|ykt480|ast80|3vppg0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "401.2667|360|300", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Montevideo", untils: "-w4mll9|67elc0|1s74p9|9et80|9exe0|9czy0|9exe0|9czy0|3ydyq0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7k6m0|9q1e0|9czy0|asxe0|7x5a0|6do20|ppvy0|4mmm0|8g9qq0|901a0|38pe0|2inw0|2nf9g0|8zzw0|1e3s40|9o3y0|q8he0|2kik0|yxhg0|4bh80|s36s0|2vl60|905g0|5rg20|51ek0|weqs0|3yik0|e1ms0|4ofw0|erk40|3yik0|2vs40|gk7w0|41iys0|3wnw0|erk40|4bh80|c8tg0|64ak0|c8tg0|6u7w0|c8tg0|6h980|bvus0|6u7w0|614qs0|9q2s0|a31g0|7x3w0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|ag040|8a2k0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "224.85|240|180|210|150|120|90", offsetIndices: "001232323232323232323232324242525242525264252525252525252525252525252525252525252525252" }, { id: "America/Montreal", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Montserrat", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Nassau", untils: "-u6m4c6|r7u7s6|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "309.5|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/New_York", untils: "-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Nipigon", untils: "-qzoxw0|a2vw0|bfxjw0|pmdk0|1tzb40|2dq40|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Nome", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l6c0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540|480", offsetIndices: "011001010101010101010101010101010122323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Noronha", untils: "-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "129.6667|120|60", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/North_Dakota/Beulah", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hc00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121" }, { id: "America/North_Dakota/Center", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101011212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/North_Dakota/New_Salem", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a5c0|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Nuuk", untils: "-rvumf4|x8nqz4|8zrk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "206.9333|180|120", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Ojinaga", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|xes2s0|afuk0|8a840|afuk0|8aaw0|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "417.6667|420|360|300", offsetIndices: "0121212323221212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Panama", untils: "-w757vc|Infinity", offsets: "319.6|300", offsetIndices: "01" }, { id: "America/Pangnirtung", untils: "-pkmlc0|b0ke00|1tzdw0|2dnc0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|asw00|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7xc80|ast80|7x6o0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|240|180|120|300|360", offsetIndices: "012213121212121212121212121212121212114141414154414141414141414141414141414141414141414141414141414141414141414141414141414" }, { id: "America/Paramaribo", untils: "-usj4g8|cixc0c|5lydbk|kcrm6c|Infinity", offsets: "220.6667|220.8667|220.6|210|180", offsetIndices: "01234" }, { id: "America/Phoenix", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity", offsets: "420|360", offsetIndices: "01010101010" }, { id: "America/Port_of_Spain", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Port-au-Prince", untils: "-rmk9ac|ylcf6c|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8aaw0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|3vpjw0|ast80|7x9g0|ast80|2stv00|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|pkg40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "289|300|240", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Porto_Acre", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Porto_Velho", untils: "-t85g60|99k8i0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|Infinity", offsets: "255.6|240|180", offsetIndices: "012121212121212121212121212121" }, { id: "America/Puerto_Rico", untils: "-efsnk0|1ppu40|2dnc0|Infinity", offsets: "240|180", offsetIndices: "0110" }, { id: "America/Punta_Arenas", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|2fnh80|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Rainy_River", untils: "-qzov40|a2vw0|bfxjw0|pmdk0|1tz8c0|2dsw0|ewvus0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010111010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Rankin_Inlet", untils: "-6s8lc0|4c6oo0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|360|240|300", offsetIndices: "012131313131313131313131313131313131313131313331313131313131313131313131313131313131313131313131313131313131313131313131" }, { id: "America/Recife", untils: "-t85ljc|99kb3c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "139.6|180|120", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "America/Regina", untils: "-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity", offsets: "418.6|420|360", offsetIndices: "012121212121212121212121221212121212121212121212121212" }, { id: "America/Resolute", untils: "-bnp9c0|97nco0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|360|240|300", offsetIndices: "012131313131313131313131313131313131313131313331313131313331313131313131313131313131313131313131313131313131313131313131" }, { id: "America/Rio_Branco", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "America/Rosario", untils: "-px7ys0|5iv8k0|67zw0|a4w40|73h80|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|cls40|66580|cls40|66580|cls40|66580|cls40|67zw0|6a040|hy7w0|6a040|xovw0|3uys0|18nbw0|b0dg0|8ve2k0|3uys0|3yik0|bqas0|71mk0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|7m2qs0|4tzw0|biw40|776k0|bvus0|6u7w0|bvxk0|6u540|bvus0|776k0|7qcg40|3yik0|b5xg0|7k580|Infinity", offsets: "256.8|240|180|120", offsetIndices: "01212121212121212121212121212121212121212123232323132323232" }, { id: "America/Santa_Isabel", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Santarem", untils: "-t85hvc|99ka7c|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|Infinity", offsets: "218.8|240|180", offsetIndices: "0121212121212121212121212121212" }, { id: "America/Santiago", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "America/Santo_Domingo", untils: "-j6hz1c|hiw29c|67zw0|1dy840|62ha0|cnle0|4h2m0|elyq0|47ta0|ei9e0|4bim0|eek20|4dda0|ecpe0|dkmtg0|1stc0|Infinity", offsets: "280|300|240|270", offsetIndices: "01213131313131212" }, { id: "America/Sao_Paulo", untils: "-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "186.4667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Scoresbysund", untils: "-rvurxk|x8ntpk|902o0|9cvs0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "87.8667|120|60|0", offsetIndices: "0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/Shiprock", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Sitka", untils: "-ek1w80|1tz2s0|2dyg0|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1leo0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420|540", offsetIndices: "01101010101010101010101010101010122020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202" }, { id: "America/St_Barthelemy", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Johns", untils: "-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|90", offsetIndices: "01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "America/St_Kitts", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Lucia", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Thomas", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/St_Vincent", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Swift_Current", untils: "-xkq9d4|6l1h14|a2vw0|c5jxg0|1tz5k0|2dvo0|asys0|8n180|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|3yles0|9cyk0|s36s0|9cyk0|9d440|7x3w0|b5xg0|7k580|5j4lg0|Infinity", offsets: "431.3333|420|360", offsetIndices: "012122121212121212121212" }, { id: "America/Tegucigalpa", untils: "-pfzh6k|yho0ik|7k580|b5xg0|7k580|96x1g0|4qak0|Infinity", offsets: "348.8667|360|300", offsetIndices: "01212121" }, { id: "America/Thule", untils: "-rvuj9g|12yzilg|9cyk0|9d440|9cyk0|9q2s0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "275.1333|240|180", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Thunder_Bay", untils: "-vbavc0|gr8qs0|1tzb40|2dq40|ctmlg0|9cyk0|9d440|9px80|9d440|9cyk0|s36s0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "0122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "America/Tijuana", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Toronto", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Tortola", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Vancouver", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Virgin", untils: "-u6m79w|Infinity", offsets: "246.0667|240", offsetIndices: "01" }, { id: "America/Whitehorse", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "America/Winnipeg", untils: "-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Yakutat", untils: "-ek1tg0|1tz000|2e180|cawis0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1lbw0|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "540|480", offsetIndices: "01101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "America/Yellowknife", untils: "-i9m2o0|3pk3o0|1tz5k0|2dvo0|a7n3w0|9q000|7k85k0|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "0|420|360|300", offsetIndices: "012213121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Antarctica/Casey", untils: "-irxc0|lag4o0|73bo0|uz1o0|60l80|2fnh80|pz9g0|Infinity", offsets: "0|-480|-660", offsetIndices: "01212121" }, { id: "Antarctica/Davis", untils: "-6rmdc0|42jdw0|27wgs0|l8uss0|7eqs0|unmk0|60qs0|Infinity", offsets: "0|-420|-300", offsetIndices: "01012121" }, { id: "Antarctica/DumontDUrville", untils: "-c05eo0|2mks80|2i72g0|Infinity", offsets: "0|-600", offsetIndices: "0101" }, { id: "Antarctica/Macquarie", untils: "-rsj4w0|8zzw0|11wqk0|f4kh40|a6p8g0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660|0", offsetIndices: "0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101011" }, { id: "Antarctica/Mawson", untils: "-8aelc0|t22y80|Infinity", offsets: "0|-360|-300", offsetIndices: "012" }, { id: "Antarctica/McMurdo", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Antarctica/Palmer", untils: "-2lxhc0|31ho0|bqas0|71mk0|bqas0|8ovw0|9d440|9px80|9d440|9cyk0|9d440|28t6k0|51ek0|46b6s0|8c2s0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|Infinity", offsets: "0|180|240|120", offsetIndices: "0121212121213121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Antarctica/Rothera", untils: "3lxs00|Infinity", offsets: "0|180", offsetIndices: "01" }, { id: "Antarctica/South_Pole", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Antarctica/Syowa", untils: "-6qsqo0|Infinity", offsets: "0|-180", offsetIndices: "01" }, { id: "Antarctica/Troll", untils: "ibruo0|27pg0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-120", offsetIndices: "00101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Antarctica/Vostok", untils: "-6aaao0|Infinity", offsets: "0|-360", offsetIndices: "01" }, { id: "Arctic/Longyearbyen", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Aden", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Almaty", untils: "-nu1a90|37a0d0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity", offsets: "-307.8|-300|-360|-420", offsetIndices: "012323232323232323232321232323232323232323232323232" }, { id: "Asia/Amman", untils: "-kcrtbk|m566fk|60l80|awo40|7v980|awo40|7v980|ayis0|9gnw0|9b9g0|7v980|autg0|7v980|3e6840|9et80|9io40|9cyk0|9d440|9cyk0|9d440|9px80|ayis0|7rjw0|ag040|8a2k0|9zc40|8drw0|a31g0|8zzw0|9d440|9cyk0|9d440|8n180|ag040|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|epmo0|4deo0|9o5c0|9ew00|9b6o0|9ew00|9d1c0|9d1c0|9d1c0|asw00|7x6o0|afxc0|8n400|9d1c0|9d1c0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|wel80|51k40|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity", offsets: "-143.7333|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Anadyr", untils: "-nu1sv8|379zj8|qi27w0|9et80|is040|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-709.9333|-720|-780|-840|-660", offsetIndices: "01232121212121212121214121212121212121212121212121212121212141" }, { id: "Asia/Aqtau", untils: "-nu15b4|379y74|qrh3w0|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-201.0667|-240|-300|-360", offsetIndices: "012323232323232323232123232312121212121212121212" }, { id: "Asia/Aqtobe", untils: "-nu16l4|379zh4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|Infinity", offsets: "-228.6667|-240|-300|-360", offsetIndices: "0123232323232323232321232323232323232323232323232" }, { id: "Asia/Ashgabat", untils: "-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity", offsets: "-233.5333|-240|-300|-360", offsetIndices: "0123232323232323232323212" }, { id: "Asia/Ashkhabad", untils: "-nu16t8|379zp8|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|Infinity", offsets: "-233.5333|-240|-300|-360", offsetIndices: "0123232323232323232323212" }, { id: "Asia/Atyrau", untils: "-nu15m8|37a1a8|qrh140|iruk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|j3440|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-207.7333|-180|-300|-360|-240", offsetIndices: "01232323232323232323242323232323232324242424242" }, { id: "Asia/Baghdad", untils: "-r50g80|xkn3w0|7v980|9b9g0|9gnw0|9eys0|9et80|9d440|9b9g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9f1k0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|9ew00|9ew00|9d1c0|9ew00|9d1c0|9ew00|9d1c0|9ew00|Infinity", offsets: "-177.6|-180|-240", offsetIndices: "012121212121212121212121212121212121212121212121212121" }, { id: "Asia/Bahrain", untils: "-q3gmvk|rctnrk|Infinity", offsets: "-206.1333|-240|-180", offsetIndices: "012" }, { id: "Asia/Baku", untils: "-nu158c|h4tkwc|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|239ew0|asw00|7x3w0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-199.4|-180|-240|-300", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Bangkok", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Barnaul", untils: "-q4ljic|5hu6uc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|38fo0|64og0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-335|-360|-420|-480", offsetIndices: "0123232323232323232323212323232321212121212121212121212121212121212" }, { id: "Asia/Beirut", untils: "-pyzew0|aunw0|88dg0|9et80|8yas0|a2vw0|a31g0|7k580|hjqo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|5lhs40|56yk0|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|autg0|7v980|2wxus0|8n180|a4w40|8n180|a4w40|8n180|a4w40|8n180|bs5g0|71mk0|alk40|86d80|a4w40|8n180|a4w40|8n180|a6qs0|80t80|905g0|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Bishkek", untils: "-nu19tc|379zxc|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|h8dc0|bkl80|8n180|a31g0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|9db20|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|Infinity", offsets: "-298.4|-300|-360|-420", offsetIndices: "012323232323232323232321212121212121212121212121212" }, { id: "Asia/Brunei", untils: "-mvofy4|3khxs4|Infinity", offsets: "-459.6667|-450|-480", offsetIndices: "012" }, { id: "Asia/Calcutta", untils: "-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity", offsets: "-321.1667|-330|-390", offsetIndices: "012121" }, { id: "Asia/Chita", untils: "-q4cfog|5hkxgg|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnew0|Infinity", offsets: "-453.8667|-480|-540|-600", offsetIndices: "012323232323232323232321232323232323232323232323232323232323232312" }, { id: "Asia/Choibalsan", untils: "-xmct7c|11sndrc|2qk2k0|9eqg0|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|s6qk0|3nc0c0|9ct00|9d9o0|9ct00|Infinity", offsets: "-458|-420|-480|-600|-540", offsetIndices: "0123434343434343434343434343434343434343434343424242" }, { id: "Asia/Chongqing", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Chungking", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Colombo", untils: "-xehask|isle6k|cajy0|1mp2u0|qetjw0|7x5a0|4xvqq0|Infinity", offsets: "-319.5333|-330|-360|-390", offsetIndices: "01231321" }, { id: "Asia/Dacca", untils: "-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity", offsets: "-353.3333|-390|-330|-360|-420", offsetIndices: "0121343" }, { id: "Asia/Damascus", untils: "-q3gk20|5k6q0|8n180|a31g0|8n180|a31g0|8n180|a31g0|8zzw0|k4hk40|7yyk0|awo40|7tek0|b0dg0|7v980|awo40|7tek0|alk40|887w0|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|7v980|awo40|7v980|awo40|7v980|ayis0|7v980|awo40|6bp80|cg840|6bp80|2eh1g0|8zzw0|9ts40|8zzw0|pvk40|c33w0|7cw40|cjrw0|6zxg0|btuk0|7rpg0|9gnw0|9d440|9cyk0|9et80|9et80|9rxg0|91uk0|92040|9et80|9o840|9et80|9d440|9et80|9eys0|9et80|9b9g0|9gnw0|99es0|9iik0|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|9eys0|9et80|9d440|9et80|9d440|8y580|9q2s0|b5rw0|7x9g0|aunw0|7ig40|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|Infinity", offsets: "-145.2|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Dhaka", untils: "-eqtpow|bmgyw|5lxg0|4qknw0|u4ijy0|a1400|Infinity", offsets: "-353.3333|-390|-330|-360|-420", offsetIndices: "0121343" }, { id: "Asia/Dili", untils: "-u9s4l8|fqcu98|hufs00|cpz440|Infinity", offsets: "-502.3333|-480|-540", offsetIndices: "01212" }, { id: "Asia/Dubai", untils: "-q3gnko|Infinity", offsets: "-221.2|-240", offsetIndices: "01" }, { id: "Asia/Dushanbe", untils: "-nu18qo|379yuo|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|hp440|Infinity", offsets: "-275.2|-300|-360|-420", offsetIndices: "012323232323232323232321" }, { id: "Asia/Famagusta", untils: "-p4bqac|rvhy2c|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|8h8w0|leog0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-135.8|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212212121212121212121212121212121212121212121" }, { id: "Asia/Gaza", untils: "-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|7x3w0|asys0|8a5c0|ahs1o|71mic|bzk5o|69uic|cg840|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010100101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Harbin", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Hebron", untils: "-ffv9k0|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|5hoqs0|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|1sns0|3p6is0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|66as0|4vxc0|8n400|a2yo0|8n400|a2yo0|8n400|asw00|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|8n400|a2yo0|8ulg0|97ek0|8y580|9ts40|8hms0|a4qk0|82nw0|anes0|8a5c0|afxc0|73h80|bzk5o|69uic|1hs40|1lbw0|9d440|902o0|9q000|9cyk0|9d440|ast80|7z440|aqyk0|7z6w0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|7idc0|b7pc0|7vc00|auqo0|7vc00|auqo0|7vc00|auqo0|7vc00|b7pc0|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Asia/Ho_Chi_Minh", untils: "-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity", offsets: "-426.6667|-426.5|-420|-480|-540", offsetIndices: "0123423232" }, { id: "Asia/Hong_Kong", untils: "-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-456.7|-480|-540|-510", offsetIndices: "0123212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Hovd", untils: "-xmcoz0|11sncb0|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-366.6|-360|-420|-480", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Irkutsk", untils: "-q28gn5|5fh175|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-417.0833|-420|-480|-540", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Istanbul", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "Asia/Jakarta", untils: "-o0bdpc|4lzxc0|4wdzjc|1tu960|1cx860|11jta0|74uc20|Infinity", offsets: "-427.2|-440|-450|-540|-480|-420", offsetIndices: "01232425" }, { id: "Asia/Jayapura", untils: "-jebm20|66bqe0|a37vy0|Infinity", offsets: "-562.8|-540|-570", offsetIndices: "0121" }, { id: "Asia/Jerusalem", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Kabul", untils: "-d1pkg0|Infinity", offsets: "-240|-270", offsetIndices: "01" }, { id: "Asia/Kamchatka", untils: "-olrupo|3z045o|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-634.6|-660|-720|-780", offsetIndices: "012323232323232323232321232323232323232323232323232323232323212" }, { id: "Asia/Karachi", untils: "-wvpb30|im3zt0|1mn180|33xpg0|a63o20|g72qo0|9cyk0|2y85g0|7v980|8hms0|aaak0|Infinity", offsets: "-268.2|-330|-390|-300|-360", offsetIndices: "012133434343" }, { id: "Asia/Kashgar", untils: "-lx5pjw|Infinity", offsets: "-350.3333|-360", offsetIndices: "01" }, { id: "Asia/Kathmandu", untils: "-q3gt4s|yg2lus|Infinity", offsets: "-341.2667|-330|-345", offsetIndices: "012" }, { id: "Asia/Katmandu", untils: "-q3gt4s|yg2lus|Infinity", offsets: "-341.2667|-330|-345", offsetIndices: "012" }, { id: "Asia/Khandyga", untils: "-q4cjrp|5hl1jp|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|3fx40|4h6s0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity", offsets: "-542.2167|-480|-540|-600|-660", offsetIndices: "0123232323232323232323212323232323232323232323232343434343434343432" }, { id: "Asia/Kolkata", untils: "-xehava|innm9a|bmfw0|5lxg0|1mn180|Infinity", offsets: "-321.1667|-330|-390", offsetIndices: "012121" }, { id: "Asia/Krasnoyarsk", untils: "-q37l72|5gg8j2|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-371.4333|-360|-420|-480", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Kuala_Lumpur", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Asia/Kuching", untils: "-mvof3k|3khwxk|1epvy0|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e3flc|4ohqo|e5a9c|4ohqo|e3flc|4ohqo|3ajlc|1v2qk0|Infinity", offsets: "-441.3333|-450|-480|-500|-540", offsetIndices: "0123232323232323242" }, { id: "Asia/Kuwait", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Macao", untils: "-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-454.1667|-480|-540|-600", offsetIndices: "012323212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Macau", untils: "-y0i2cy|jdvyoy|6onw0|ac580|8fs40|7v980|11luw0|awlc0|7vc00|ac800|bko00|7x6o0|9d1c0|7vc00|asw00|7x6o0|asw00|7x6o0|auqo0|88ao0|asw00|7x6o0|asw00|779c0|bitc0|779c0|bvs00|6uao0|bw1q0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cvs0|9d6w0|9cvs0|9d6w0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-454.1667|-480|-540|-600", offsetIndices: "012323212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Magadan", untils: "-nu1nxc|37a05c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|s39k0|Infinity", offsets: "-603.2|-600|-660|-720", offsetIndices: "012323232323232323232321232323232323232323232323232323232323232312" }, { id: "Asia/Makassar", untils: "-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity", offsets: "-477.6|-480|-540", offsetIndices: "00121" }, { id: "Asia/Manila", untils: "-hb5y80|4qak0|2qidg0|1b2d80|4xf440|442k0|cdqdg0|9et80|Infinity", offsets: "-480|-540", offsetIndices: "010101010" }, { id: "Asia/Muscat", untils: "-q3gnko|Infinity", offsets: "-221.2|-240", offsetIndices: "01" }, { id: "Asia/Nicosia", untils: "-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-133.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Novokuznetsk", untils: "-nu36tc|37bu5c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-348.8|-360|-420|-480", offsetIndices: "012323232323232323232321232323232323232323232323232323232323212" }, { id: "Asia/Novosibirsk", untils: "-q4do0s|5hmbcs|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|2vh00|6hn40|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|wrpg0|Infinity", offsets: "-331.6667|-360|-420|-480", offsetIndices: "0123232323232323232323212323212121212121212121212121212121212121212" }, { id: "Asia/Omsk", untils: "-q5xmx6|5j6d16|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-293.5|-300|-360|-420", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Oral", untils: "-nu15ic|37a16c|qi2540|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|9d1c0|5reo0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-205.4|-180|-300|-360|-240", offsetIndices: "01232323232323232424242424242424242424242424242" }, { id: "Asia/Phnom_Penh", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Pontianak", untils: "-w6piww|cse2o0|4tnu2w|1wkei0|1cx860|11jta0|74uc20|cixam0|Infinity", offsets: "-437.3333|-450|-540|-480|-420", offsetIndices: "001213134" }, { id: "Asia/Pyongyang", untils: "-w895yc|1yh10c|hk5da0|10ipmo0|1f4qo0|Infinity", offsets: "-503|-510|-540", offsetIndices: "012212" }, { id: "Asia/Qatar", untils: "-q3gmvk|rctnrk|Infinity", offsets: "-206.1333|-240|-180", offsetIndices: "012" }, { id: "Asia/Qostanay", untils: "-nu17s4|37a0o4|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|Infinity", offsets: "-254.4667|-240|-300|-360", offsetIndices: "012323232323232323232123232323232323232323232323" }, { id: "Asia/Qyzylorda", untils: "-nu184g|37a10g|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|ohhc0|cyo00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|7osl00|Infinity", offsets: "-261.8667|-240|-300|-360", offsetIndices: "01232323232323232323232323232323232323232323232" }, { id: "Asia/Rangoon", untils: "-q3gv5b|bnjp3b|1kh520|Infinity", offsets: "-384.7833|-390|-540", offsetIndices: "0121" }, { id: "Asia/Riyadh", untils: "-bwgbbg|Infinity", offsets: "-186.8667|-180", offsetIndices: "01" }, { id: "Asia/Saigon", untils: "-x56934|2isioa|gj25iu|15ct80|8so00|tmtk0|4azjw0|2cmao0|8285c0|Infinity", offsets: "-426.6667|-426.5|-420|-480|-540", offsetIndices: "0123423232" }, { id: "Asia/Sakhalin", untils: "-xl87rc|kvnarc|ikvh40|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|iq5g0|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-570.8|-540|-660|-720|-600", offsetIndices: "01232323232323232323232423232323232424242424242424242424242424242" }, { id: "Asia/Samarkand", untils: "-nu18eh|37a1ah|qi27w0|s6qk0|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|Infinity", offsets: "-267.8833|-240|-300|-360", offsetIndices: "01232323232323232323232" }, { id: "Asia/Seoul", untils: "-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity", offsets: "-507.8667|-510|-540|-600|-570", offsetIndices: "012232323232141414141414123232" }, { id: "Asia/Shanghai", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "Asia/Singapore", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Asia/Srednekolymsk", untils: "-nu1ogs|37a0os|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-614.8667|-600|-660|-720", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Taipei", untils: "-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010101010101010" }, { id: "Asia/Tashkent", untils: "-nu18tz|379yxz|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|Infinity", offsets: "-277.1833|-300|-360|-420", offsetIndices: "012323232323232323232321" }, { id: "Asia/Tbilisi", untils: "-nu14an|h4tjyn|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9cvs0|9cyk0|9d440|9cyk0|9d440|ipzw0|9cyk0|9q2s0|tivw0|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|4ofw0|6hn40|7k800|Infinity", offsets: "-179.1833|-180|-240|-300", offsetIndices: "0123232323232323232323212121232323232323232323212" }, { id: "Asia/Tehran", untils: "-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity", offsets: "-205.7333|-210|-240|-300|-270", offsetIndices: "00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141" }, { id: "Asia/Tel_Aviv", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Asia/Thimbu", untils: "-bojclo|kxymno|Infinity", offsets: "-358.6|-330|-360", offsetIndices: "012" }, { id: "Asia/Thimphu", untils: "-bojclo|kxymno|Infinity", offsets: "-358.6|-330|-360", offsetIndices: "012" }, { id: "Asia/Tokyo", untils: "-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-540|-600", offsetIndices: "010101010" }, { id: "Asia/Tomsk", untils: "-q3zbqf|5h7z2f|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|1leo0|97k40|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|tw040|Infinity", offsets: "-339.85|-360|-420|-480", offsetIndices: "0123232323232323232323212323232323232323232323212121212121212121212" }, { id: "Asia/Ujung_Pandang", untils: "-q3gzg0|6p5hc0|4u87w0|1w02k0|Infinity", offsets: "-477.6|-480|-540", offsetIndices: "00121" }, { id: "Asia/Ulaanbaatar", untils: "-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-427.5333|-420|-480|-540", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Ulan_Bator", untils: "-xmcrsk|11sncck|2qk2k0|9et80|9eys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|1ckdo0|7x3w0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|4fio40|9ct00|9d9o0|9ct00|Infinity", offsets: "-427.5333|-420|-480|-540", offsetIndices: "012323232323232323232323232323232323232323232323232" }, { id: "Asia/Urumqi", untils: "-lx5pjw|Infinity", offsets: "-350.3333|-360", offsetIndices: "01" }, { id: "Asia/Ust-Nera", untils: "-q4cl6u|5hl2yu|qi27w0|9eno0|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|8ql00|1mlho0|Infinity", offsets: "-572.9|-480|-540|-720|-660|-600", offsetIndices: "012343434343434343434345434343434343434343434343434343434343434345" }, { id: "Asia/Vientiane", untils: "-pysda4|Infinity", offsets: "-402.0667|-420", offsetIndices: "01" }, { id: "Asia/Vladivostok", untils: "-oligf7|3yqvf7|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-527.5167|-540|-600|-660", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Yakutsk", untils: "-q4cioy|5hl0gy|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-518.9667|-480|-540|-600", offsetIndices: "01232323232323232323232123232323232323232323232323232323232323232" }, { id: "Asia/Yangon", untils: "-q3gv5b|bnjp3b|1kh520|Infinity", offsets: "-384.7833|-390|-540", offsetIndices: "0121" }, { id: "Asia/Yekaterinburg", untils: "-rx5hw9|1kybx4|5pfyv5|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-242.55|-225.0833|-240|-300|-360", offsetIndices: "012343434343434343434343234343434343434343434343434343434343434343" }, { id: "Asia/Yerevan", untils: "-nu148o|h4tjwo|ckinw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|iq5g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|11t180|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|Infinity", offsets: "-178|-180|-240|-300", offsetIndices: "0123232323232323232323212121212323232323232323232323232323232" }, { id: "Atlantic/Azores", untils: "-u9rbs0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "114.5333|120|60|0", offsetIndices: "01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323233323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Bermuda", untils: "-kvj2fu|n4pr3u|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "259.3|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Canary", untils: "-oytbtc|ctvupc|hhq7s0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "61.6|60|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Cape_Verde", untils: "-u9rbs0|g06lc0|1mn180|fpqwc0|Infinity", offsets: "94.0667|120|60", offsetIndices: "01212" }, { id: "Atlantic/Faeroe", untils: "-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "27.0667|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Faroe", untils: "-wcehew|127keuw|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "27.0667|0|-60", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Atlantic/Jan_Mayen", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Atlantic/Madeira", untils: "-u9rek0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5qbjo0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "67.6|60|0|-60", offsetIndices: "01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Atlantic/Reykjavik", untils: "-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity", offsets: "88|60|0", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Atlantic/South_Georgia", untils: "Infinity", offsets: "120", offsetIndices: "0" }, { id: "Atlantic/St_Helena", untils: "-u9rgl4|Infinity", offsets: "16.1333|0", offsetIndices: "01" }, { id: "Atlantic/Stanley", untils: "-u63pac|dbvxqc|8zzw0|9q2s0|8zzw0|a31g0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|4xp80|l1pus0|7k580|b5rw0|77c40|biqk0|id6s0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|77c40|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|biqk0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5rw0|7kas0|b5xg0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|77c40|biqk0|77c40|biqk0|77c40|Infinity", offsets: "231.4|240|180|120", offsetIndices: "012121212121212323212121212121212121212121212121212121212121212121212" }, { id: "Australia/ACT", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Adelaide", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Brisbane", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "01010101010101010" }, { id: "Australia/Broken_Hill", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Canberra", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Currie", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Darwin", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity", offsets: "-570|-630", offsetIndices: "010101010" }, { id: "Australia/Eucla", untils: "-rnstlc|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-525|-585", offsetIndices: "0101010101010101010" }, { id: "Australia/Hobart", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/LHI", untils: "5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity", offsets: "-600|-630|-690|-660", offsetIndices: "0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313" }, { id: "Australia/Lindeman", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010" }, { id: "Australia/Lord_Howe", untils: "5tp880|c8uu0|6u7w0|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|777y0|b5w20|7k6m0|biuq0|7k6m0|biuq0|777y0|biuq0|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|7x820|asum0|b5w20|7x5a0|asxe0|7x5a0|asxe0|7x5a0|b5w20|7k6m0|b5w20|7x5a0|asxe0|7k6m0|b5w20|8a3y0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9pym0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9d2q0|9czy0|9q1e0|9czy0|9d2q0|9czy0|9d2q0|Infinity", offsets: "-600|-630|-690|-660", offsetIndices: "0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313" }, { id: "Australia/Melbourne", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/North", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|Infinity", offsets: "-570|-630", offsetIndices: "010101010" }, { id: "Australia/NSW", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Perth", untils: "-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-480|-540", offsetIndices: "0101010101010101010" }, { id: "Australia/Queensland", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|97zuo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-600|-660", offsetIndices: "01010101010101010" }, { id: "Australia/South", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|7k800|b5uo0|6uao0|c8qo0|779c0|bitc0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Sydney", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Tasmania", untils: "-rsj4w0|8zzw0|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|c9tms0|9d1c0|asw00|6uao0|bvs00|6uao0|bvs00|779c0|bvs00|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|b5uo0|7k800|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|bvs00|7k800|bitc0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x6o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|7x6o0|asw00|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/Victoria", untils: "-rnsx2c|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|b5uo0|7x6o0|bitc0|779c0|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|7x6o0|asw00|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-600|-660", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Australia/West", untils: "-rnsric|49s2c|cxfms0|4h180|9d440|9cyk0|ghf1g0|6hc00|4ir9c0|6hc00|40r400|5eg00|7p9hc0|5reo0|b5uo0|7x6o0|asw00|7x6o0|Infinity", offsets: "-480|-540", offsetIndices: "0101010101010101010" }, { id: "Australia/Yancowinna", untils: "-rnsvoc|49s2c|cxfms0|4h180|9d440|9cyk0|9q2s0|8zzw0|eeiqs0|64dc0|clpc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|8a5c0|asw00|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|779c0|b5uo0|7k800|bitc0|7k800|bitc0|779c0|bitc0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|8a5c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-570|-630", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" }, { id: "Brazil/Acre", untils: "-t85fg0|99kak0|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|amves0|2t2t80|Infinity", offsets: "271.2|300|240", offsetIndices: "01212121212121212121212121212121" }, { id: "Brazil/DeNoronha", untils: "-t85lzw|99k8rw|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|514g40|7k580|biw40|cvw0|iq5g0|6h980|Infinity", offsets: "129.6667|120|60", offsetIndices: "0121212121212121212121212121212121212121" }, { id: "Brazil/East", untils: "-t85jd8|99k8x8|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5k02s0|6onw0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|cyqs0|5ed80|dbpg0|64ak0|cyqs0|64ak0|cls40|5rbw0|dbpg0|51ek0|dbpg0|6h980|c8tg0|6h980|c8tg0|64ak0|c8tg0|6u7w0|bxpg0|7iak0|biw40|6u7w0|biw40|7k580|biw40|6u7w0|c8tg0|6h980|dbpg0|5ed80|cls40|64ak0|dfes0|5nmk0|c8tg0|6h980|dbpg0|5rbw0|bvus0|6h980|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6u7w0|c8tg0|64ak0|cls40|64ak0|cls40|6h980|c8tg0|6h980|c8tg0|6h980|c8tg0|6h980|dbpg0|5ed80|Infinity", offsets: "186.4667|180|120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Brazil/West", untils: "-t85gvw|99k97w|9a9c0|9io40|99980|8p65g0|6zuo0|bs2o0|67zw0|cjxg0|69uk0|cjxg0|4ml80|5mf440|49mk0|haas0|316k0|cls40|4ml80|cls40|66580|cls40|67zw0|981s40|6u7w0|biw40|5rbw0|d0lg0|5ed80|2yy2s0|6h980|Infinity", offsets: "240.0667|240|180", offsetIndices: "01212121212121212121212121212121" }, { id: "Canada/Atlantic", untils: "-z94k80|777go0|9et80|st9o0|a2vw0|ssyk0|5rbw0|cv1g0|69uk0|c6ys0|6kyk0|ci2s0|67zw0|ci2s0|6w2k0|bu040|7lzw0|bu040|66580|bu040|7lzw0|bu040|64ak0|cls40|5v180|cv1g0|6j3w0|c6ys0|79180|b42s0|7lzw0|b42s0|7yyk0|bu040|64ak0|dbpg0|66580|cls40|5ed80|bu040|7lzw0|b42s0|7lzw0|cjxg0|66580|bh1g0|7lzw0|b42s0|7lzw0|6uj00|1tzdw0|2dnc0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|tw040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|1cm2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "254.4|240|180", offsetIndices: "0121212121212121212121212121212121212121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Canada/Central", untils: "-s0s7c0|7k580|tj700|a2vw0|9ok840|6u7w0|2a5hg0|1tz8c0|2dsw0|biw40|7x3w0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b7s40|7tek0|autg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|7x3w0|1cm2s0|7k580|1cm2s0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|asw00|7x6o0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Eastern", untils: "-qzoxw0|a2vw0|7yx60|aqzy0|9q8c0|7jzo0|bw0c0|6bp80|cedg0|6h980|c8tg0|6h980|bvus0|776k0|biw40|776k0|biw40|776k0|biw40|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|xjeo0|1tzb40|2dq40|asys0|7x3w0|ast80|7x3w0|asys0|7x3w0|asys0|b5rw0|7xf00|ast80|7x9g0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Mountain", untils: "-x1yazk|629ink|a2vw0|8n6s0|29ek0|h6lg0|9px80|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|9l0g40|1tz5k0|2dvo0|tj1g0|7x3w0|ctzk40|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "453.8667|420|360", offsetIndices: "0121212121212122121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Canada/Newfoundland", untils: "-ris3ck|8bx80|ar440|a2vw0|9tjs0|53980|dkys0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|8zzw0|9q2s0|9cyk0|9q2s0|8zzw0|9q2s0|8zzw0|7tmw0|1wfuk|8zzw0|a3480|7k580|b5xg0|7k580|b5xg0|7k580|biw40|776k0|biw40|7k580|b5xg0|7k580|b5xg0|1pb260|2dly0|biw40|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|biw40|7k580|ag040|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a2lo|afuk0|8a840|asqg0|7xc80|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8tec|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "210.8667|150.8667|210|150|90", offsetIndices: "01010101010101010101010101010101010102323232323232323323232323232323232323232323232323232323232323232323232323232323232323232323232323232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Canada/Pacific", untils: "-qzopk0|a2vw0|c5jxg0|1tz2s0|2dyg0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "0101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Canada/Saskatchewan", untils: "-xkq9yc|6l1hmc|a2vw0|60enw0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|1b6840|9cyk0|9d440|8zzw0|9q2s0|9cyk0|9q2s0|9cyk0|9d440|9cyk0|66gc0|1tz5k0|2dvo0|a31g0|9cyk0|a31g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|tj1g0|9cyk0|9d440|Infinity", offsets: "418.6|420|360", offsetIndices: "012121212121212121212121221212121212121212121212121212" }, { id: "Canada/Yukon", untils: "-qzoms0|a2vw0|asys0|882c0|bmiwc0|1tz000|2e180|a7n3w0|9q000|tiyo0|6qp440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|Infinity", offsets: "540|480|420", offsetIndices: "01010110201212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "CET", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Chile/Continental", untils: "-vauawq|3dlssq|157b7a|f4e0q|49hzba|aye0q|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|534ik0|351g0|229zw0|2gt80|awo40|2mg00|b73400|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "282.7667|300|240|180", offsetIndices: "010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Chile/EasterIsland", untils: "-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "437.4667|420|360|300", offsetIndices: "012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "CST6CDT", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Cuba", untils: "-n7762o|1icfyo|69uk0|62s040|4ofw0|e1ms0|51ek0|e1ms0|4ofw0|1fhs40|4ofw0|e1ms0|4ofw0|9s9k40|67zw0|cedg0|6h980|9o840|7yyk0|b5xg0|7k580|bvus0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|8a2k0|ag040|8bx80|ae5g0|8drw0|acas0|9cyk0|9d440|9px80|905g0|9px80|9q2s0|7x3w0|8a840|ast80|7x9g0|ast80|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|8a2k0|ag040|8a2k0|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|905g0|a2vw0|905g0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|8n400|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|8a5c0|afxc0|8a5c0|afxc0|7x6o0|1cm000|6uao0|bvs00|779c0|bitc0|6uao0|bvs00|779c0|bvs00|779c0|c8qo0|779c0|b5uo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|Infinity", offsets: "329.6|300|240", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "EET", untils: "3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-120|-180", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Egypt", untils: "-fdls80|40d80|a31g0|7x3w0|a4w40|aqyk0|80ys0|b07w0|7tk40|b07w0|8jhg0|a8fw0|60go40|7el80|awo40|7v980|awqw0|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7tk40|ayd80|7tk40|b07w0|7tk40|ayd80|7tk40|ayd80|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|f9x80|3i040|eluk0|462s0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|b5rw0|7m5g0|awik0|7ves0|awik0|7ves0|ayd80|7ves0|awik0|7ves0|awik0|7ves0|aqvs0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7k580|b5xg0|6u7w0|bvus0|6h980|c8tg0|64ak0|cyqs0|5anw0|1jms0|12t80|1w22s0|25p80|1sw40|2vmk0|Infinity", offsets: "-120|-180", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Eire", untils: "-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "25.35|-34.65|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "EST", untils: "Infinity", offsets: "300", offsetIndices: "0" }, { id: "EST5EDT", untils: "-r0ev80|ast80|7x9g0|ast80|bmtus0|1tzb40|2dq40|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Etc/GMT-0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT-1", untils: "Infinity", offsets: "-60", offsetIndices: "0" }, { id: "Etc/GMT-10", untils: "Infinity", offsets: "-600", offsetIndices: "0" }, { id: "Etc/GMT-11", untils: "Infinity", offsets: "-660", offsetIndices: "0" }, { id: "Etc/GMT-12", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Etc/GMT-13", untils: "Infinity", offsets: "-780", offsetIndices: "0" }, { id: "Etc/GMT-14", untils: "Infinity", offsets: "-840", offsetIndices: "0" }, { id: "Etc/GMT-2", untils: "Infinity", offsets: "-120", offsetIndices: "0" }, { id: "Etc/GMT-3", untils: "Infinity", offsets: "-180", offsetIndices: "0" }, { id: "Etc/GMT-4", untils: "Infinity", offsets: "-240", offsetIndices: "0" }, { id: "Etc/GMT-5", untils: "Infinity", offsets: "-300", offsetIndices: "0" }, { id: "Etc/GMT-6", untils: "Infinity", offsets: "-360", offsetIndices: "0" }, { id: "Etc/GMT-7", untils: "Infinity", offsets: "-420", offsetIndices: "0" }, { id: "Etc/GMT-8", untils: "Infinity", offsets: "-480", offsetIndices: "0" }, { id: "Etc/GMT-9", untils: "Infinity", offsets: "-540", offsetIndices: "0" }, { id: "Etc/GMT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT+0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/GMT+1", untils: "Infinity", offsets: "60", offsetIndices: "0" }, { id: "Etc/GMT+10", untils: "Infinity", offsets: "600", offsetIndices: "0" }, { id: "Etc/GMT+11", untils: "Infinity", offsets: "660", offsetIndices: "0" }, { id: "Etc/GMT+12", untils: "Infinity", offsets: "720", offsetIndices: "0" }, { id: "Etc/GMT+2", untils: "Infinity", offsets: "120", offsetIndices: "0" }, { id: "Etc/GMT+3", untils: "Infinity", offsets: "180", offsetIndices: "0" }, { id: "Etc/GMT+4", untils: "Infinity", offsets: "240", offsetIndices: "0" }, { id: "Etc/GMT+5", untils: "Infinity", offsets: "300", offsetIndices: "0" }, { id: "Etc/GMT+6", untils: "Infinity", offsets: "360", offsetIndices: "0" }, { id: "Etc/GMT+7", untils: "Infinity", offsets: "420", offsetIndices: "0" }, { id: "Etc/GMT+8", untils: "Infinity", offsets: "480", offsetIndices: "0" }, { id: "Etc/GMT+9", untils: "Infinity", offsets: "540", offsetIndices: "0" }, { id: "Etc/GMT0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Greenwich", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/UCT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Universal", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/UTC", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Etc/Zulu", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Europe/Amsterdam", untils: "-s0dvkk|7v980|a51o0|7x6o0|a2yo0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9b6o0|a2yo0|c51c0|6l1c0|902o0|9q000|ci000|682o0|bgyo0|79400|bitc0|779c0|bmio0|7gio0|bbeo0|7eo00|bd9c0|7ctc0|bf400|7ayo0|bvs00|6uao0|bko00|7idc0|b9k00|7gio0|bbeo0|7eo00|bf400|7ayo0|btxc0|21uc0|4uaz8|bitc0|779c0|bko00|7idc0|bd3s0|1aarpc|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-19.5333|-79.5333|-80|-20|-120|-60", offsetIndices: "010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545" }, { id: "Europe/Andorra", untils: "-c4xmo0|k3ctg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Astrakhan", untils: "-nu2zkc|37bv8c|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-192.2|-180|-240|-300", offsetIndices: "012323232323232323212121212121212121212121212121212121212121212" }, { id: "Europe/Athens", untils: "-rvv0cg|8bjasg|2vmk0|4hiw40|16ik0|scog0|7lx40|9o2k0|9eys0|4atzw0|6djw0|bplus0|bq800|71uw0|9d1c0|902o0|91xc0|9o5c0|905g0|9qgo0|9akg0|9iik0|99980|9dcg0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-94.8667|-120|-180|-60", offsetIndices: "012121313121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Belfast", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Belgrade", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Berlin", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|2o7w0|6bs00|2txg0|7k800|91xc0|9b9g0|1sqk0|2inw0|51k40|a2yo0|8n400|9q000|902o0|fx91c0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|-180", offsetIndices: "01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Bratislava", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|0", offsetIndices: "01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Brussels", untils: "-ss5uo0|rrx80|7vc00|a4yw0|7x6o0|asw00|7x6o0|2wh40|5omo0|b5uo0|6uao0|cyo00|7ayo0|bko00|7rmo0|a2yo0|a2yo0|8n400|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|90b00|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|4deo0|1a36k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0121212101010101010101010101010101010101010101010101212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Bucharest", untils: "-k29zi0|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|kp0dc0|6h980|9q000|905g0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-104.4|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Budapest", untils: "-s0e080|7ves0|a4yw0|7x6o0|a31g0|8n180|autg0|bgvw0|b5jeg0|th9k0|7k800|9q000|9d1c0|9d1c0|awd00|9ew00|7q0c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|a4tc0|9q000|1va2g0|6u7w0|bxpg0|6u7w0|cjxg0|64ak0|cluw0|64g40|br3ek0|905g0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Busingen", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Chisinau", untils: "-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-115|-104.4|-120|-180|-60|-240", offsetIndices: "012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Copenhagen", untils: "-rzo2w0|75bw0|cbs2w0|1aco80|7k800|9q000|9d1c0|9d1c0|9d1c0|6y000|dbmo0|6bs00|clpc0|51hc0|e1k00|4oio0|giutc0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Dublin", untils: "-rzcmlr|6uao0|9pytr|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|3g8800|8a5c0|bvs00|8n400|a2yo0|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "25.35|-34.65|0|-60", offsetIndices: "01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Gibraltar", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|d0tp80|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101012121212121010121010101010101010101012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Guernsey", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Helsinki", untils: "-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99.8167|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Isle_of_Man", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Istanbul", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "Europe/Jersey", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Kaliningrad", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|el00|z6o0|9kd80|82tg0|i9avw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-60|-120|-180|-240", offsetIndices: "01010101010101121232323232323232322121212121212121212121212121212121212121212121" }, { id: "Europe/Kiev", untils: "-nu11ng|37a03g|5vd6k0|kzv40|7k800|9q000|1oyg0|jipzs0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|51ek0|neqw0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-122.0667|-120|-180|-60|-240", offsetIndices: "0121313242424242424242424242121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Kirov", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-198.8|-180|-240|-300", offsetIndices: "01232323232323232321212121212121212121212121212121212121212121" }, { id: "Europe/Lisbon", untils: "-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "36.75|0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Ljubljana", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/London", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Luxembourg", untils: "-y89550|68l290|75hg0|ast80|796s0|at1k0|7x6o0|3lh40|4zmo0|b6300|6u2c0|cytk0|7at40|bktk0|7rh40|a31g0|a2vw0|8n9k0|8zx40|9q2s0|9et80|9b9g0|a2vw0|8n6s0|9px80|905g0|a2vw0|905g0|a2vw0|8ncc0|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|42ao0|1aeak0|7k800|9q000|9d1c0|8n400|a2yo0|8l9c0|clpc0|79400|fwu800|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-24.6|-60|-120|0", offsetIndices: "0121212131313131313131313131313131313131313131313131212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Madrid", untils: "-qzlus0|8yas0|9cyk0|9eys0|2d2vw0|8sqs0|ssyk0|8n6s0|9px80|905g0|a2yo0|902o0|a2vw0|8n6s0|40lh80|5k2s0|9cyk0|1frw0|7z1c0|j1c80|8a2k0|13yt80|685g0|brzw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|a2vw0|8n6s0|1clx80|7x9g0|cswik0|905g0|9px80|905g0|8zzw0|9d440|9px80|905g0|9q5k0|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "010101010101010101210121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Malta", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9b6o0|8n400|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|9b6o0|9d1c0|ahs00|7m2o0|b45k0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|a4w40|8y580|9q2s0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Mariehamn", untils: "-peghyd|ax3tqd|9gqo0|k31s80|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99.8167|-120|-180", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Minsk", untils: "-nu113c|379zjc|5r1mk0|pbf40|7k800|9q000|9d1c0|4oac0|j6dmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|sg2o0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|Infinity", offsets: "-110|-120|-180|-60|-240", offsetIndices: "01213131242424242424242424221212121212121212121212121212121212121212" }, { id: "Europe/Monaco", untils: "-uozn3l|2qx1nl|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|mdbo0|7x3w0|7x9g0|c8w80|7k800|9q000|9d1c0|9nzs0|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "01212121212121212121212121212121212121212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Moscow", untils: "-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120", offsetIndices: "012132345464575454545454545454545455754545454545454545454545454545454545454545" }, { id: "Europe/Nicosia", untils: "-p4bq6g|rvhxyg|9cyk0|b42s0|7nuk0|8yas0|8zzw0|9q2s0|9et80|9b9g0|9cyk0|9q2s0|8zzw0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|9cyk0|9d440|9cyk0|9d440|at4c0|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-133.4667|-120|-180", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Oslo", untils: "-rzayo0|6qfs0|cgcqo0|15tsc0|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|70q5c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|b5uo0|7k800|7law00|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Paris", untils: "-uozn1x|2qx1lx|5luo0|8y800|a4tc0|7vc00|auqo0|7idc0|b7pc0|6sg00|cyo00|7ayo0|bko00|7rmo0|a2yo0|bvs00|6uao0|902o0|9q000|9d1c0|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|9d1c0|9d1c0|902o0|a2yo0|9d1c0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51po0|5p8w0|18rcc0|7k800|9q000|9d1c0|7efo0|29k40|922w0|8l9c0|fxlx80|9cyk0|9q5k0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-9.35|0|-60|-120", offsetIndices: "0121212121212121212121212121212121212121212121212123232332323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Podgorica", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Prague", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|9d1c0|b5uo0|7vc00|2vs40|4bk00|2vmk0|8n400|a2yo0|8n400|9o5c0|91xc0|fe6000|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|0", offsetIndices: "01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Riga", untils: "-qznlky|7x6o0|a4tc0|2mg00|3myns0|7fhlky|gz180|p5v40|7k800|9q000|9d1c0|9d1c0|k7s0|j14ns0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|asw00|7x6o0|asw00|7x6o0|b5uo0|qaao0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-96.5667|-156.5667|-120|-180|-60|-240", offsetIndices: "010102324242435353535353535353323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Rome", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Samara", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|jt1g0|89zs0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|j3440|7k800|Infinity", offsets: "-200.3333|-180|-240|-300", offsetIndices: "0123232323232323232121232323232323232323232323232323232323212" }, { id: "Europe/San_Marino", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Sarajevo", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Saratov", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|13m040|Infinity", offsets: "-184.3|-180|-240|-300", offsetIndices: "012323232323232321212121212121212121212121212121212121212121212" }, { id: "Europe/Simferopol", untils: "-nu12ao|37a0qo|5xiyk0|iu340|7k800|9q000|9d1c0|iac0|jajmk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|wrjw0|9cyk0|9d440|9cyk0|9d440|1sqk0|7k580|9d440|9cyk0|9q2s0|at4c0|7x9g0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x3w0|asqg0|Infinity", offsets: "-136|-120|-180|-60|-240", offsetIndices: "012131312424242424242424242121212424242212121212121212121212121212121212142" }, { id: "Europe/Skopje", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Sofia", untils: "-e6dzw0|7k800|9q000|9d1c0|9d1c0|9d440|hqq240|9eys0|9o2k0|92040|9o2k0|90880|9pug0|90b00|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xhs0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-120|-60|-180", offsetIndices: "01010102020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020" }, { id: "Europe/Stockholm", untils: "-rzo2w0|75hg0|x5bew0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Tallinn", untils: "-r3exx0|3re10|7x6o0|et6g0|ygov0|a1zgd0|ktx80|l94g0|7k800|9q000|9d1c0|8uac0|j27mk0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asys0|7x6o0|b5uo0|19dc00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-99|-60|-120|-180|-240", offsetIndices: "012102321212343434343434343433232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Tirane", untils: "-t85vo8|dt2gw8|18pew0|7k800|m800|g7ot40|7rjw0|autg0|7x3w0|ayis0|7x3w0|b5xg0|7k580|b42s0|7lzw0|b42s0|7lzw0|b42s0|7x3w0|ahus0|7x3w0|b5xg0|7x3w0|a4w40|8jbw0|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-79.3333|-60|-120", offsetIndices: "01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Tiraspol", untils: "-r2p1bo|70f1to|fj8m0|6w5c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|geqo0|ha580|oc8g0|7k800|9q000|9d1c0|7cl00|j3pbw0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|25p80|7kdk0|9d1c0|9d1c0|9cvs0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|ast80|7xf00|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-115|-104.4|-120|-180|-60|-240", offsetIndices: "012323232323232323232424235353535353535353535323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "Europe/Ulyanovsk", untils: "-qcx400|5q5zo0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9q000|iq5g0|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|qnc40|Infinity", offsets: "-193.6|-180|-240|-300|-120", offsetIndices: "01232323232323232321214121212121212121212121212121212121212121212" }, { id: "Europe/Uzhgorod", untils: "-fizzw0|1cm000|7k800|9q000|9d1c0|al900|cnms0|int140|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|eeio0|e1sc0|iprk0|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120|-180|-240", offsetIndices: "010101023232323232323232320121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Vaduz", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vatican", untils: "-rymys0|64ak0|9d440|9et80|88dg0|aunw0|7ig40|b5rw0|8n6s0|9cyk0|aau2s0|18r9k0|7k800|9q000|9d1c0|8l9c0|a4tc0|8j940|9f1k0|afxc0|89zs0|afxc0|7kdk0|b5uo0|979rs0|6h980|cls40|64dc0|clpc0|64dc0|cyo00|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|clpc0|64dc0|c8qo0|6hc00|clpc0|64dc0|clpc0|64dc0|c8qo0|6hc00|clpc0|6hc00|c8qo0|6hc00|9q5k0|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vienna", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|t6000|8a5c0|a7a800|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|iio0|ivmo0|91xc0|9b6o0|9d1c0|a2yo0|8n400|gfyyg0|8zzw0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Vilnius", untils: "-rns980|1g224o|e75nc|4kqk0|acbs40|gpp40|pits0|7k800|9q000|9d1c0|65zo0|j4vx80|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x9g0|asw00|7x6o0|b5uo0|1s3eo0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-95.6|-60|-120|-180|-240", offsetIndices: "012324323234545454545454545443434343434343434332334343434343434343434343434343434343434343434343434343434343434343434343" }, { id: "Europe/Volgograd", untils: "-q3cw84|5glrw4|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|iq5g0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|s3400|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|239c40|Infinity", offsets: "-177.6667|-180|-240|-300", offsetIndices: "012323232323232321212121212121212121212121212121212121212121212" }, { id: "Europe/Warsaw", untils: "-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-60|-120|-180", offsetIndices: "012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Zagreb", untils: "-ezayw0|swz00|7k800|9q000|9d1c0|9d1c0|b7pc0|6qlc0|jl1hc0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Europe/Zaporozhye", untils: "-nu12hc|37a0xc|5u1180|mc0g0|7k800|9q000|12qg0|jjc7s0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9cvs0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9dcg0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-140|-120|-180|-60|-240", offsetIndices: "01213132424242424242424242422121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Europe/Zurich", untils: "-eyh6o0|7x6o0|asw00|7x6o0|k2zus0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GB-Eire", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GB", untils: "-rzcns0|6uao0|9q000|8c000|9o5c0|9ruo0|9b6o0|9ew00|9b6o0|auqo0|88ao0|9ew00|8y800|a2yo0|a2yo0|7k800|asw00|8a5c0|asw00|8n400|a2yo0|8n400|9q000|902o0|afxc0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|9d1c0|a2yo0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|a2yo0|b5uo0|51hc0|mbmk0|51hc0|c8qo0|6hc00|c8qo0|6uao0|bvs00|8n400|a4tc0|5clc0|4bms0|9q000|902o0|8a5c0|1frw0|64dc0|4bms0|6uao0|bvs00|7x6o0|asw00|8n400|9q000|902o0|9q000|9d1c0|9q000|902o0|8n400|9q000|902o0|a2yo0|8n400|afxc0|8n400|9q000|902o0|a2yo0|8n400|a2yo0|8n400|9q000|902o0|902o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|5reo0|1xhuo0|779c0|bitc0|779c0|bitc0|779c0|bitc0|779c0|bitc0|7k800|b5uo0|7k800|b5uo0|7k800|bitc0|779c0|bitc0|779c0|bitc0|7x3w0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60|-120", offsetIndices: "0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "GMT-0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT+0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "GMT0", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Greenwich", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Hongkong", untils: "-y0i0s0|j44dk0|5k000|4d4y0|2195i0|7x3w0|bj320|6uao0|bvs00|7x6o0|9d1c0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|8a5c0|asw00|7x6o0|ast80|77c40|biqk0|77c40|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|77c40|biqk0|77c40|bvp80|6udg0|bvp80|6udg0|bvp80|77c40|biqk0|77c40|biqk0|8n6s0|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9cyk0|1c9440|8a2k0|Infinity", offsets: "-456.7|-480|-540|-510", offsetIndices: "0123212121212121212121212121212121212121212121212121212121212121212121" }, { id: "HST", untils: "Infinity", offsets: "600", offsetIndices: "0" }, { id: "Iceland", untils: "-wcwx9c|4rpd9c|ci2s0|69uk0|du840|4xp80|du840|p7bw0|4w040|9bdzw0|9d6w0|64g40|cyl80|64dc0|clpc0|6hc00|bvs00|6uao0|bvs00|6uao0|bvs00|6uao0|c8qo0|6hc00|c8qo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|7x6o0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|asw00|8a5c0|Infinity", offsets: "88|60|0", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Indian/Antananarivo", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Chagos", untils: "-wvpc2s|1ag64us|Infinity", offsets: "-289.6667|-300|-360", offsetIndices: "012" }, { id: "Indian/Christmas", untils: "Infinity", offsets: "-420", offsetIndices: "0" }, { id: "Indian/Cocos", untils: "Infinity", offsets: "-390", offsetIndices: "0" }, { id: "Indian/Comoro", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Kerguelen", untils: "-afrs00|Infinity", offsets: "0|-300", offsetIndices: "01" }, { id: "Indian/Mahe", untils: "-x6pjlo|Infinity", offsets: "-221.8|-240", offsetIndices: "01" }, { id: "Indian/Maldives", untils: "-57x6y0|Infinity", offsets: "-294|-300", offsetIndices: "01" }, { id: "Indian/Mauritius", untils: "-wvp9bc|13jnu7c|8bx80|dd0wc0|7x3w0|Infinity", offsets: "-230|-240|-300", offsetIndices: "012121" }, { id: "Indian/Mayotte", untils: "-lnsetg|s8mhg|57v020|afrrb0|Infinity", offsets: "-147.2667|-180|-150|-165", offsetIndices: "01231" }, { id: "Indian/Reunion", untils: "-uks29s|Infinity", offsets: "-221.8667|-240", offsetIndices: "01" }, { id: "Iran", untils: "-s6m6uw|fnolc0|gm3h4w|777y0|b07w0|3pes0|42c20|9cyk0|9gtg0|9kd80|5ja5g0|7avw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|1av440|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9d440|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|9b9g0|9gnw0|Infinity", offsets: "-205.7333|-210|-240|-300|-270", offsetIndices: "00123214141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141" }, { id: "Israel", untils: "-r50eig|bp54yg|19f3w0|7rv00|b02c0|7tk40|b07w0|8jhg0|a8lg0|8jhg0|a8ac0|t9s40|56vs0|35700|9b3w0|9gtg0|8jbw0|7tmw0|a6ig0|biyw0|8a5c0|9d1c0|902o0|7x6o0|e1eg0|4ofw0|dzxo0|4q500|doo40|64iw0|auqo0|7i500|8rfms0|51ek0|9q2s0|6u7w0|2khpg0|25s00|1weyo0|5reo0|bxmo0|7x3w0|cls40|5rbw0|bbhg0|7rjw0|asys0|7k580|c8tg0|6h980|ag040|7x3w0|asys0|8a2k0|asys0|8a2k0|ap9g0|80t80|ap9g0|7nuk0|b2840|80t80|9zc40|9iik0|9kis0|93p80|9mdg0|8qqk0|apf00|7x3w0|biw40|8zx40|9io40|8n180|9kis0|9vh80|8ulg0|9px80|9mdg0|8n180|9tuw0|9tmk0|8wg40|9gnw0|99es0|8qqk0|9zc40|9tmk0|8wg40|9gnw0|99es0|8qqk0|acas0|9gnw0|99es0|93p80|9mdg0|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|7tk40|b9h80|7glg0|b9h80|7glg0|b9h80|7glg0|b9h80|7tk40|awik0|7tk40|awik0|Infinity", offsets: "-140.6667|-120|-180|-240", offsetIndices: "012121212121321212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Jamaica", untils: "-u85og2|wbl182|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|Infinity", offsets: "307.1667|300|240", offsetIndices: "0121212121212121212121" }, { id: "Japan", untils: "-bb4900|6uao0|afxc0|8a5c0|c8qo0|6hc00|c8qo0|6hc00|Infinity", offsets: "-540|-600", offsetIndices: "010101010" }, { id: "Kwajalein", untils: "-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity", offsets: "-660|-600|-540|720|-720", offsetIndices: "012034" }, { id: "Libya", untils: "-q3gfrw|gl6ajw|422c0|xado0|4bbo0|wrpg0|4s580|1kdpg0|c05bw0|4mqs0|9et80|9d440|9et80|9eys0|9et80|9mdg0|95jw0|9io40|9cyk0|99es0|9et80|9eys0|9et80|9d440|9et80|b2840|3cf3w0|9kis0|9et80|7vqyw0|75eo0|asw00|Infinity", offsets: "-52.7333|-60|-120", offsetIndices: "012121212121212121212121212122122" }, { id: "MET", untils: "-s0e080|7ves0|a4yw0|7x6o0|asw00|7x6o0|b8qdc0|1cm000|7k800|9q000|9d1c0|9d1c0|9d1c0|8l9c0|ggp1c0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-60|-120", offsetIndices: "01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Mexico/BajaNorte", untils: "-p1u1s0|11jrw0|1sns00|1sgdc0|71s40|9cyk0|5iidg0|1q6700|4lfk0|190g40|eluk0|2r4o80|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|84qys0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|77c40|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "468.0667|420|480", offsetIndices: "012121211212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Mexico/BajaSur", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|591h80|3ie2s0|axvpg0|dpgw40|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "425.6667|420|360|480", offsetIndices: "0121212131212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Mexico/General", untils: "-p1u4k0|2u7jw0|1sgdc0|8n400|7thc0|9eys0|3knek0|776k0|rf440|5t6k0|1evk40|71mk0|30p1g0|8n180|nufxo0|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|9q2s0|7k580|9q2s0|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|Infinity", offsets: "396.6|420|360|300", offsetIndices: "012121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "MST", untils: "Infinity", offsets: "420", offsetIndices: "0" }, { id: "MST7MDT", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|1tz5k0|2dvo0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Navajo", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "NZ-CHAT", untils: "-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-735|-765|-825", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "NZ", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Apia", untils: "-usiiv4|kcrmt4|vp3la0|9odo0|902o0|4zbk0|4qog0|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "686.9333|690|660|600|-840|-780", offsetIndices: "01232345454545454545454545454545454545454545454545454545454" }, { id: "Pacific/Auckland", untils: "-m01p20|64ak0|biw40|7x5a0|asxe0|7x5a0|asxe0|7x5a0|asxe0|8a3y0|afyq0|8a3y0|afyq0|afvy0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|asum0|7x820|b5ta0|7k9e0|b5ta0|7x820|hsl2m0|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-690|-750|-720|-780", offsetIndices: "01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Bougainville", untils: "-ecsh40|1n05g0|1071c40|Infinity", offsets: "-600|-540|-660", offsetIndices: "0102" }, { id: "Pacific/Chatham", untils: "-ciya10|f1tq90|5reo0|clpc0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6uao0|c8qo0|6hc00|b5uo0|8a5c0|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|afxc0|8a5c0|afxc0|8a5c0|afxc0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|8n400|a2yo0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|a2yo0|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|902o0|9q000|9d1c0|9q000|902o0|9q000|902o0|Infinity", offsets: "-735|-765|-825", offsetIndices: "012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212" }, { id: "Pacific/Chuuk", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Pacific/Easter", untils: "-jhfaew|ivmeuw|7k580|c8tg0|6h980|a31g0|7x3w0|asys0|7x3w0|b5xg0|7k580|ag040|8a2k0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|iq2o0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|9cyk0|9d440|7x3w0|asys0|7x3w0|b5xg0|7k580|9q2s0|8zzw0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|a31g0|9px80|9q2s0|7x3w0|b5xg0|7k580|b5xg0|7k580|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|8n180|a31g0|7x3w0|asys0|8zzw0|9q2s0|ast80|5eis0|cyl80|6hes0|c8nw0|6udg0|bvp80|6udg0|vonw0|4olg0|e1h80|4olg0|e1h80|4olg0|c8nw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|b5rw0|7x9g0|ast80|7x9g0|Infinity", offsets: "437.4667|420|360|300", offsetIndices: "012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323" }, { id: "Pacific/Efate", untils: "-u964i4|11f4ba4|9cyk0|awo40|7tek0|9q2s0|8zzw0|9q2s0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9q2s0|64ak0|e1ms0|4ofw0|Infinity", offsets: "-673.2667|-660|-720", offsetIndices: "0121212121212121212121" }, { id: "Pacific/Enderbury", untils: "535io0|7yiqk0|Infinity", offsets: "720|660|-780", offsetIndices: "012" }, { id: "Pacific/Fakaofo", untils: "lx0jw0|Infinity", offsets: "660|-780", offsetIndices: "01" }, { id: "Pacific/Fiji", untils: "-sa2x4w|17bs00w|64dc0|cyo00|5reo0|53a5c0|64dc0|asw00|6uao0|bvs00|4oio0|e1k00|4oio0|eeio0|4bh80|erk40|3ylc0|erhc0|3ylc0|f4g00|3lmo0|f4g00|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|38o00|fheo0|3lmo0|f4g00|3lmo0|Infinity", offsets: "-715.7333|-720|-780", offsetIndices: "0121212121212121212121212121212121212121212121212121212121212121" }, { id: "Pacific/Funafuti", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Galapagos", untils: "-kcr62o|spdryo|3lsas0|3jp80|Infinity", offsets: "358.4|300|360", offsetIndices: "01212" }, { id: "Pacific/Gambier", untils: "-tvndoc|Infinity", offsets: "539.8|540", offsetIndices: "01" }, { id: "Pacific/Guadalcanal", untils: "-tvowac|Infinity", offsets: "-639.8|-660", offsetIndices: "01" }, { id: "Pacific/Guam", untils: "-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity", offsets: "-600|-540|-660", offsetIndices: "01020202020202020200" }, { id: "Pacific/Honolulu", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "Pacific/Johnston", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "Pacific/Kiritimati", untils: "535eyo|7yirhc|Infinity", offsets: "640|600|-840", offsetIndices: "012" }, { id: "Pacific/Kosrae", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|cm2540|f9l3w0|Infinity", offsets: "-660|-540|-600|-720", offsetIndices: "01021030" }, { id: "Pacific/Kwajalein", untils: "-h817w0|27sas0|1hjus0|ddxug0|cgv6k0|Infinity", offsets: "-660|-600|-540|720|-720", offsetIndices: "012034" }, { id: "Pacific/Majuro", untils: "-su52k0|29hhk0|9cmd40|27sas0|1h6w40|deat40|Infinity", offsets: "-660|-540|-600|-720", offsetIndices: "0102103" }, { id: "Pacific/Marquesas", untils: "-tvncu0|Infinity", offsets: "558|570", offsetIndices: "01" }, { id: "Pacific/Midway", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Nauru", untils: "-pjxiws|ba66ys|1kwca0|hfzda0|Infinity", offsets: "-667.6667|-690|-540|-720", offsetIndices: "01213" }, { id: "Pacific/Niue", untils: "-9wyz6o|ehcj4o|Infinity", offsets: "680|690|660", offsetIndices: "012" }, { id: "Pacific/Norfolk", untils: "-9x0ps0|cfj8q0|6hc00|l6nk00|239aq0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|Infinity", offsets: "-672|-690|-750|-660|-720", offsetIndices: "012134343434343434343434343434343434343434" }, { id: "Pacific/Noumea", untils: "-u9645o|ye0ixo|4dbw0|ecqs0|4f6k0|99p700|4oio0|Infinity", offsets: "-665.8|-660|-720", offsetIndices: "01212121" }, { id: "Pacific/Pago_Pago", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Palau", untils: "Infinity", offsets: "-540", offsetIndices: "0" }, { id: "Pacific/Pitcairn", untils: "es2cy0|Infinity", offsets: "510|480", offsetIndices: "01" }, { id: "Pacific/Pohnpei", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity", offsets: "-660|-540|-600", offsetIndices: "010210" }, { id: "Pacific/Ponape", untils: "-su52k0|29hhk0|9cmd40|27sas0|29fk40|Infinity", offsets: "-660|-540|-600", offsetIndices: "010210" }, { id: "Pacific/Port_Moresby", untils: "Infinity", offsets: "-600", offsetIndices: "0" }, { id: "Pacific/Rarotonga", untils: "4mj960|5rbw0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|c8s20|6u9a0|c8s20|6ham0|c8s20|6ham0|c8s20|6ham0|Infinity", offsets: "630|570|600", offsetIndices: "012121212121212121212121212" }, { id: "Pacific/Saipan", untils: "-en8eg0|1dl9g0|7s1k40|txp80|3frms0|qdrpo|7kgac|3ljw0|c8tg0|6u7w0|bvus0|6u7w0|16uo40|3ljw0|16aas0|4ivxo|cls2c|6h980|c65zw0|Infinity", offsets: "-600|-540|-660", offsetIndices: "01020202020202020200" }, { id: "Pacific/Samoa", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "Pacific/Tahiti", untils: "-tvnayw|Infinity", offsets: "598.2667|600", offsetIndices: "01" }, { id: "Pacific/Tarawa", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Tongatapu", untils: "-f4vrlc|uo2edc|8fpc0|bvs00|4bh80|eelg0|4bh80|7pmis0|3lmo0|Infinity", offsets: "-740|-780|-840", offsetIndices: "0121212121" }, { id: "Pacific/Truk", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Pacific/Wake", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Wallis", untils: "Infinity", offsets: "-720", offsetIndices: "0" }, { id: "Pacific/Yap", untils: "-su4zs0|29hes0|bkenw0|29fk40|Infinity", offsets: "-600|-540", offsetIndices: "01010" }, { id: "Poland", untils: "-se9yk0|dvyc0|7ves0|a4yw0|7x6o0|asw00|7x6o0|aunw0|7x6o0|1evbs0|9fcwc0|18cao0|7k800|9q000|9d1c0|9gnw0|an980|9kd80|8fs40|922w0|ar1c0|7x6o0|a2yo0|8n400|9q000|902o0|4013w0|64dc0|9d1c0|9d1c0|clpc0|6hc00|9d1c0|9d1c0|c8qo0|6hc00|c8qo0|6hc00|c8qo0|6hc00|clpc0|64dc0|6j4tc0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "-84|-60|-120|-180", offsetIndices: "012121223212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "Portugal", untils: "-u9rhc0|2bufw0|6zxg0|66580|bq800|73k00|bodc0|71pc0|bq800|73k00|bq800|71pc0|bq800|1b2g00|9b6o0|saio0|8n400|9q000|902o0|a2yo0|902o0|a2yo0|8n400|st1c0|8n400|9d1c0|9d1c0|sg2o0|9d1c0|902o0|9q000|a2yo0|8n400|9d1c0|9d1c0|902o0|9q000|a2yo0|b5uo0|51hc0|bitc0|9d1c0|9ew00|88ao0|25p80|5reo0|3lpg0|779c0|1sqk0|6uao0|38qs0|6uao0|25p80|6hc00|38qs0|6uao0|25p80|6hc00|38qs0|8a5c0|9d1c0|9d9o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|s3400|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|5gyl40|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d440|9cyk0|9d440|9d1c0|9d1c0|9d1c0|9d1c0|9d440|9cyk0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "36.75|0|-60|-120", offsetIndices: "012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121212121212121212121212121212121212122323232212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "PRC", untils: "-qh00w0|8sl80|asbpg0|6w2k0|7ves0|bxjw0|4mqs0|1vduk0|d4as0|75bw0|a31g0|aaak0|9d440|7v980|awo40|1dx80|j9xpo0|6u7w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010" }, { id: "PST8PDT", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|b9gdg0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "ROC", untils: "-gtzfk0|45slc0|c51c0|75bw0|a31g0|aaak0|9d440|7v980|awo40|7v980|awo40|7v980|awo40|7v980|7tk40|clmk0|7rpg0|b07w0|7rpg0|b07w0|7rpg0|9et80|9eys0|9et80|9d440|9et80|9d440|9et80|9d440|9et80|cjxg0|69uk0|ci2s0|69uk0|6its40|9et80|9d440|9et80|1yf9g0|4qak0|Infinity", offsets: "-480|-540", offsetIndices: "01010101010101010101010101010101010101010" }, { id: "ROK", untils: "-w8966g|1yh18g|hkx5a0|1faao0|5cik0|ae5g0|8a2k0|ae5g0|8bx80|c8tg0|6h980|1bj6s0|l3aq0|6j3w0|d2g40|6u7w0|b5xg0|776k0|biw40|776k0|biw40|776k0|biw40|776k0|grs40|dfqxi0|7x6o0|asw00|7x6o0|Infinity", offsets: "-507.8667|-510|-540|-600|-570", offsetIndices: "012232323232141414141414123232" }, { id: "Singapore", untils: "-xphpwd|eeb94d|4it32o|8n3jc|1v2p60|iy3o60|Infinity", offsets: "-415.4167|-420|-440|-450|-540|-480", offsetIndices: "0123435" }, { id: "Turkey", untils: "-ux9xew|2wvx6w|7v980|1tjc40|aunw0|88dg0|9et80|8yas0|a2vw0|tzpg0|79180|awo40|7v980|7p4040|4zjw0|2vs40|f4d80|9vms0|1u5ek0|c5440|69uk0|acas0|8n180|a31g0|8n180|9q2s0|8zzw0|a31g0|8zzw0|a31g0|8n180|5md9g0|o9zw0|a6qs0|75bw0|4iwyw0|7x6o0|7kas0|b5rw0|75hg0|bkl80|77c40|biqk0|7x9g0|a2vw0|8n6s0|4iqc0|2nkw80|38l80|kdes0|8qtc0|8a5c0|9ew00|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|902o0|9q000|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7kdk0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7m2o0|b4000|7k800|b5uo0|7x6o0|asw00|7z1c0|ar1c0|7x6o0|bitc0|779c0|8fe80|Infinity", offsets: "-116.9333|-120|-180|-240", offsetIndices: "0121212121212121212121212121212121212121212121223212121212121212121212121212121212121212121212121212121212121212122" }, { id: "UCT", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "Universal", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "US/Alaska", untils: "-ek1qo0|1tyx80|2e400|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "600|540|480", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Aleutian", untils: "-ek1nw0|1tyug0|2e6s0|b7yik0|12y080|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|1l940|7rs80|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "660|600|540", offsetIndices: "011001010101010101010101010101010111212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Arizona", untils: "-r0epo0|ast80|7x9g0|ast80|bmtus0|zjedo|4olg0|9et80|bs6lmc|9cyk0|Infinity", offsets: "420|360", offsetIndices: "01010101010" }, { id: "US/Central", untils: "-r0esg0|ast80|7x9g0|ast80|bvus0|776k0|7kas0|b5rw0|9d440|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|7x9g0|dbjw0|8a840|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/East-Indiana", untils: "-r0esg0|ast80|7x9g0|ast80|baw840|51ek0|6w840|1tz8c0|2dsw0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|19q7w0|asys0|5qonw0|9cyk0|9d440|9cyk0|ihslg0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300|240", offsetIndices: "010101011010101010101010101010121212121212121212121212121212121212121212121212121212121212121212121" }, { id: "US/Eastern", untils: "-r0ev80|ast80|7x9g0|ast80|7x9g0|b5rw0|905g0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|6w840|1tzb40|2dq40|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "300|240", offsetIndices: "01010101010101010101010101010101010101010101010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Hawaii", untils: "-j50la0|13l00|4jvb00|1tyvu0|2e5e0|votg0|Infinity", offsets: "630|570|600", offsetIndices: "0101102" }, { id: "US/Indiana-Starke", untils: "-r0esg0|ast80|7x9g0|ast80|bmtus0|1tz8c0|2dsw0|tj1g0|7x3w0|asys0|7x3w0|asys0|7x3w0|b5xg0|7k580|b5xg0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|7x3w0|asys0|9px80|9d440|9cyk0|9d440|7x3w0|asys0|7x3w0|asys0|9cyk0|9d440|9px80|9d440|9cyk0|9d440|s3180|1twas0|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|7j5400|asw00|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "360|300", offsetIndices: "0101011010101010101010101010101010101010101010101010101010101010101010101010101010101010111010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Michigan", untils: "-xx8dyd|5eraud|dyeyk0|1tzb40|2dq40|1c9440|7x3w0|9rlbxo|71s2c|9d440|9cyk0|2cmdg0|9cyk0|3lpg0|f4d80|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "332.1833|360|300|240", offsetIndices: "0123323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232" }, { id: "US/Mountain", untils: "-r0epo0|ast80|7x9g0|ast80|7x9g0|b5rw0|7kas0|2vmk0|ataw40|1tz5k0|2dvo0|a7n9g0|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "420|360", offsetIndices: "01010101011010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Pacific-New", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Pacific", untils: "-r0emw0|ast80|7x9g0|ast80|bmtus0|1tz2s0|2dyg0|1a3c5o|f2iic|owao0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|902o0|9q000|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|9d440|9cyk0|9d440|9cyk0|3lpg0|f4d80|64g40|clmk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|9d440|9px80|905g0|9px80|9d440|9cyk0|9d440|9cyk0|9d440|9cyk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|8a840|afuk0|8a840|afuk0|8a840|ast80|7x9g0|ast80|7x9g0|ast80|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6udg0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|6hes0|c8nw0|Infinity", offsets: "480|420", offsetIndices: "010101101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "US/Samoa", untils: "-usij20|Infinity", offsets: "682.8|660", offsetIndices: "01" }, { id: "UTC", untils: "Infinity", offsets: "0", offsetIndices: "0" }, { id: "W-SU", untils: "-rx5dmh|ipzua|97hc0|7yyk0|5i840|d9p80|1jwk7|2cvk0|s8o00|1qvw0|8fpc0|1jms0|is040|412as0|qi27w0|9et80|9d440|9et80|9d440|9et80|9eys0|9d6w0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d440|5reo0|3ljw0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|1vbzw0|Infinity", offsets: "-150.2833|-151.3167|-211.3167|-271.3167|-240|-180|-300|-120", offsetIndices: "012132345464575454545454545454545455754545454545454545454545454545454545454545" }, { id: "WET", untils: "3s9ms0|902o0|9q000|9d1c0|9d1c0|9d1c0|9q000|902o0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9d1c0|9q000|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|7x6o0|b5uo0|7k800|b5uo0|7k800|b5uo0|7k800|b5uo0|7x6o0|asw00|7x6o0|asw00|Infinity", offsets: "0|-60", offsetIndices: "010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010" }, { id: "Zulu", untils: "Infinity", offsets: "0", offsetIndices: "0" }] }, e.exports = t.default }, function (e, t, n) { "use strict"; var i; function a(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } t.default = void 0; var o = ((i = n(49)) && i.__esModule ? i : { default: i }).default.dateToMilliseconds, s = function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._source = new Date(t.getTime ? t.getTime() : t) } var t, n, i; return t = e, (n = [{ key: "result", value: function () { return this._source } }, { key: "getTimezoneOffset", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0, t = this._source.getTimezoneOffset(); return "minute" === e ? t * o("minute") : t } }, { key: "getTime", value: function () { return this._source.getTime() } }, { key: "setTime", value: function (e) { return this._source.setTime(e), this } }, { key: "addTime", value: function (e) { return this._source.setTime(this._source.getTime() + e), this } }, { key: "setMinutes", value: function (e) { return this._source.setMinutes(e), this } }, { key: "addMinutes", value: function (e) { return this._source.setMinutes(this._source.getMinutes() + e), this } }, { key: "subtractMinutes", value: function (e) { return this._source.setMinutes(this._source.getMinutes() - e), this } }, { key: "source", get: function () { return this._source } }]) && a(t.prototype, n), i && a(t, i), e }(), r = function (e) { return new s(e) }; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = function () { return i.hideCallback.fire() }; var i = n(190); e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.TransitionExecutor = void 0; var i = h(n(2)), a = h(n(13)), o = n(1), s = n(4), r = n(0), l = n(3), d = h(n(38)), c = n(149), u = n(6); function h(e) { return e && e.__esModule ? e : { default: e } } var f = { forward: " dx-forward", backward: " dx-backward", none: " dx-no-direction", undefined: " dx-no-direction" }, p = a.default.inherit({ ctor: function () { this._accumulatedDelays = { enter: 0, leave: 0 }, this._animations = [], this.reset() }, _createAnimations: function (e, t, n, a) { var o = this, s = []; n = n || {}; var r = this._prepareElementAnimationConfig(t, n, a); return r && e.each((function () { var e = o._createAnimation((0, i.default)(this), r, n); e && (e.element.addClass("dx-animating"), e.setup(), s.push(e)) })), s }, _prepareElementAnimationConfig: function (e, t, n) { var i; if ("string" == typeof e) { var a = e; e = c.presets.getPreset(a) } if (e) if ((0, r.isFunction)(e[n])) i = e[n]; else { if (!(i = (0, o.extend)({ skipElementInitialStyles: !0, cleanupWhen: this._completePromise }, e, t)).type || "css" === i.type) { var s = "dx-" + n, l = (i.extraCssClasses ? " " + i.extraCssClasses : "") + f[i.direction]; i.type = "css", i.from = (i.from || s) + l, i.to = i.to || s + "-active" } i.staggerDelay = i.staggerDelay || 0, i.delay = i.delay || 0, i.staggerDelay && (i.delay += this._accumulatedDelays[n], this._accumulatedDelays[n] += i.staggerDelay) } else i = void 0; return i }, _createAnimation: function (e, t, n) { var i; return (0, r.isPlainObject)(t) ? i = d.default.createAnimation(e, t) : (0, r.isFunction)(t) && (i = t(e, n)), i }, _startAnimations: function () { for (var e = this._animations, t = 0; t < e.length; t++)e[t].start() }, _stopAnimations: function (e) { for (var t = this._animations, n = 0; n < t.length; n++)t[n].stop(e) }, _clearAnimations: function () { for (var e = this._animations, t = 0; t < e.length; t++)e[t].element.removeClass("dx-animating"); this._animations.length = 0 }, reset: function () { this._accumulatedDelays.enter = 0, this._accumulatedDelays.leave = 0, this._clearAnimations(), this._completeDeferred = new u.Deferred, this._completePromise = this._completeDeferred.promise() }, enter: function (e, t, n) { var i = this._createAnimations(e, t, n, "enter"); this._animations.push.apply(this._animations, i) }, leave: function (e, t, n) { var i = this._createAnimations(e, t, n, "leave"); this._animations.push.apply(this._animations, i) }, start: function () { var e, t = this; if (this._animations.length) { var n = (0, l.map)(this._animations, (function (e) { var t = new u.Deferred; return e.deferred.always((function () { t.resolve() })), t.promise() })); e = u.when.apply(i.default, n).always((function () { t._completeDeferred.resolve(), t.reset() })), (0, s.executeAsync)((function () { t._startAnimations() })) } else t.reset(), e = (new u.Deferred).resolve().promise(); return e }, stop: function (e) { this._stopAnimations(e) } }); t.TransitionExecutor = p }, function (e, t, n) { "use strict"; t.Event = t.triggerHandler = t.trigger = t.off = t.one = t.on = void 0; var i, a = (i = n(5)) && i.__esModule ? i : { default: i }; var o = a.default.on; t.on = o; var s = a.default.one; t.one = s; var r = a.default.off; t.off = r; var l = a.default.trigger; t.trigger = l; var d = a.default.triggerHandler; t.triggerHandler = d; var c = a.default.Event; t.Event = c }, function (e, t, n) { "use strict"; t.unsubscribeNodesDisposing = t.subscribeNodesDisposing = void 0; var i, a = (i = n(5)) && i.__esModule ? i : { default: i }; function o(e) { return e && [e.target, e.delegateTarget, e.relatedTarget, e.currentTarget].filter((function (e) { return !!e })) } t.subscribeNodesDisposing = function (e, t) { a.default.one(o(e), "dxremove", t) }; t.unsubscribeNodesDisposing = function (e, t) { a.default.off(o(e), "dxremove", t) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(122)), a = s(n(193)), o = n(1); function s(e) { return e && e.__esModule ? e : { default: e } } var r, l = { dxpointerdown: "pointerdown", dxpointermove: "pointermove", dxpointerup: "pointerup", dxpointercancel: "pointercancel", dxpointerover: "pointerover", dxpointerout: "pointerout", dxpointerenter: "pointerenter", dxpointerleave: "pointerleave" }, d = !1, c = function () { d || (r = new a.default(l, (function (e, t) { return e.pointerId === t.pointerId }), (function (e) { e.isPrimary && r.reset() })), d = !0) }, u = i.default.inherit({ ctor: function () { this.callBase.apply(this, arguments), c() }, _fireEvent: function (e) { return this.callBase((0, o.extend)({ pointers: r.pointers(), pointerId: e.originalEvent.pointerId }, e)) } }); u.map = l, u.resetObserver = function () { r.reset() }; var h = u; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = l(n(122)), o = l(n(194)), s = l(n(192)), r = n(8); function l(e) { return e && e.__esModule ? e : { default: e } } var d = !1, c = function () { d || (o.default.activate(), d = !0) }, u = a.default.inherit({ EVENT_LOCK_TIMEOUT: 100, ctor: function () { this.callBase.apply(this, arguments), c() }, _handler: function (e) { var t = (0, r.isMouseEvent)(e); if (t || (this._skipNextEvents = !0), !t || !this._mouseLocked) { if (!t || !this._skipNextEvents) return this.callBase(e); this._skipNextEvents = !1, this._mouseLocked = !0, clearTimeout(this._unlockMouseTimer); var n = this; this._unlockMouseTimer = setTimeout((function () { n._mouseLocked = !1 }), this.EVENT_LOCK_TIMEOUT) } }, _fireEvent: function (e) { var t = (0, r.isMouseEvent)(e.originalEvent) ? o.default.normalize : s.default.normalize; return this.callBase((0, i.extend)(t(e.originalEvent), e)) }, dispose: function () { this.callBase(), this._skipNextEvents = !1, this._mouseLocked = !1, clearTimeout(this._unlockMouseTimer) } }); u.map = { dxpointerdown: "touchstart mousedown", dxpointermove: "touchmove mousemove", dxpointerup: "touchend mouseup", dxpointercancel: "touchcancel", dxpointerover: "mouseover", dxpointerout: "mouseout", dxpointerenter: "mouseenter", dxpointerleave: "mouseleave" }, u.resetObserver = o.default.resetObserver; var h = u; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.disableIntl = function () { "intl" === o.default.engine() && o.default.resetInjection(); "intl" === s.default.engine() && s.default.resetInjection() }, Object.defineProperty(t, "message", { enumerable: !0, get: function () { return a.default } }), Object.defineProperty(t, "number", { enumerable: !0, get: function () { return o.default } }), Object.defineProperty(t, "date", { enumerable: !0, get: function () { return s.default } }), t.parseDate = t.formatDate = t.parseNumber = t.formatNumber = t.formatMessage = t.loadMessages = t.locale = void 0; var i = r(n(65)), a = r(n(10)), o = r(n(40)), s = r(n(32)); function r(e) { return e && e.__esModule ? e : { default: e } } n(88); var l = i.default.locale.bind(i.default); t.locale = l; var d = a.default.load.bind(a.default); t.loadMessages = d; var c = a.default.format.bind(a.default); t.formatMessage = c; var u = o.default.format.bind(o.default); t.formatNumber = u; var h = o.default.parse.bind(o.default); t.parseNumber = h; var f = s.default.format.bind(s.default); t.formatDate = f; var p = s.default.parse.bind(s.default); t.parseDate = p }, function (e, t, n) { "use strict"; var i = r(n(50)), a = n(67), o = r(n(115)), s = r(n(68)); function r(e) { return e && e.__esModule ? e : { default: e } } if (n(294), n(295), n(296), n(297), n(298), n(299), n(300), n(301), n(302), n(303), (0, s.default)() && (0, a.compare)(i.default.fn.jquery, [1, 10]) < 0) throw o.default.Error("E0012") }, function (e, t, n) { "use strict"; var i = o(n(50)), a = o(n(170)); function o(e) { return e && e.__esModule ? e : { default: e } } (0, o(n(68)).default)() && a.default.set(i.default) }, function (e, t, n) { "use strict"; var i = u(n(50)), a = u(n(68)), o = n(67), s = n(3), r = n(0), l = n(8), d = u(n(58)), c = u(n(171)); function u(e) { return e && e.__esModule ? e : { default: e } } if ((0, a.default)()) if ((0, o.compare)(i.default.fn.jquery, [3]) < 0) { var h = { 2: "touch", 3: "pen", 4: "mouse" }; (0, s.each)(["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerCancel", "MSPointerOver", "MSPointerOut", "mouseenter", "mouseleave", "pointerdown", "pointermove", "pointerup", "pointercancel", "pointerover", "pointerout", "pointerenter", "pointerleave"], (function () { i.default.event.fixHooks[this] = { filter: function (e, t) { var n = t.pointerType; return (0, r.isNumeric)(n) && (e.pointerType = h[n]), e }, props: i.default.event.mouseHooks.props.concat(["pointerId", "pointerType", "originalTarget", "width", "height", "pressure", "result", "tiltX", "charCode", "tiltY", "detail", "isPrimary", "prevValue"]) } })), (0, s.each)(["touchstart", "touchmove", "touchend", "touchcancel"], (function () { i.default.event.fixHooks[this] = { filter: function (e, t) { return (0, c.default)((function (n, i) { e[n] = i(t) })), e }, props: i.default.event.mouseHooks.props.concat(["touches", "changedTouches", "targetTouches", "detail", "result", "originalTarget", "charCode", "prevValue"]) } })), i.default.event.fixHooks.wheel = i.default.event.mouseHooks; var f = { props: i.default.event.mouseHooks.props.concat(["pointerType", "pointerId", "pointers"]) }; d.default.callbacks.add((function (e) { i.default.event.fixHooks[e] = f })); (0, l.setEventFixMethod)((function (e, t) { for (var n = i.default.event.fixHooks[t.type] || i.default.event.mouseHooks, a = n.props ? i.default.event.props.concat(n.props) : i.default.event.props, o = a.length; o--;) { var s = a[o]; e[s] = t[s] } return n.filter ? n.filter(e, t) : e })) } else (0, c.default)((function (e, t) { i.default.event.addProp(e, t) })) }, function (e, t, n) { "use strict"; var i = s(n(50)), a = n(6), o = n(67); function s(e) { return e && e.__esModule ? e : { default: e } } if ((0, s(n(68)).default)()) { var r = i.default.Deferred, l = { Deferred: r }; l.when = (0, o.compare)(i.default.fn.jquery, [3]) < 0 ? i.default.when : function (e) { return 0 === arguments.length ? (new r).resolve() : 1 === arguments.length ? e && e.then ? e : (new r).resolve(e) : i.default.when.apply(i.default, arguments) }, (0, a.setStrategy)(l) } }, function (e, t, n) { "use strict"; var i = s(n(50)), a = n(195), o = s(n(45)); function s(e) { return e && e.__esModule ? e : { default: e } } if (i.default && !a.themeReadyCallback.fired()) { var r = i.default.holdReady || i.default.fn.holdReady; r(!0), a.themeReadyCallback.add((function () { o.default.add((function () { r(!1) })) })) } }, function (e, t, n) { "use strict"; var i = l(n(50)), a = l(n(5)), o = l(n(68)), s = l(n(141)), r = l(n(9)); function l(e) { return e && e.__esModule ? e : { default: e } } (0, o.default)() && (s.default.add((function (e, t) { i.default.event.special[e] = t })), a.default.passiveEventHandlersSupported() && a.default.forcePassiveFalseEventNames.forEach((function (e) { i.default.event.special[e] = { setup: function (t, n, i) { r.default.listen(this, e, i, { passive: !1 }) } } })), a.default.set({ on: function (e) { (0, i.default)(e).on.apply((0, i.default)(e), Array.prototype.slice.call(arguments, 1)) }, one: function (e) { (0, i.default)(e).one.apply((0, i.default)(e), Array.prototype.slice.call(arguments, 1)) }, off: function (e) { (0, i.default)(e).off.apply((0, i.default)(e), Array.prototype.slice.call(arguments, 1)) }, trigger: function (e) { (0, i.default)(e).trigger.apply((0, i.default)(e), Array.prototype.slice.call(arguments, 1)) }, triggerHandler: function (e) { (0, i.default)(e).triggerHandler.apply((0, i.default)(e), Array.prototype.slice.call(arguments, 1)) }, Event: i.default.Event })) }, function (e, t, n) { "use strict"; var i, a = (i = n(50)) && i.__esModule ? i : { default: i }, o = n(191); a.default && (0, o.setEasing)(a.default.easing) }, function (e, t, n) { "use strict"; var i = o(n(50)), a = n(39); function o(e) { return e && e.__esModule ? e : { default: e } } (0, o(n(68)).default)() && (0, a.setDataStrategy)(i.default) }, function (e, t, n) { "use strict"; var i, a = n(18); (0, ((i = n(68)) && i.__esModule ? i : { default: i }).default)() && (0, a.setPublicElementWrapper)((function (e) { return e })) }, function (e, t, n) { "use strict"; var i = s(n(50)), a = s(n(187)), o = s(n(21)); function s(e) { return e && e.__esModule ? e : { default: e } } if (i.default) { a.default.add((function (e, t) { i.default.fn[e] = function (n) { var i, a = "string" == typeof n; if (a) { var s = n, r = [].slice.call(arguments).slice(1); this.each((function () { var n = t.getInstance(this); if (!n) throw o.default.Error("E0009", e); var a = n[s].apply(n, r); void 0 === i && (i = a) })) } else this.each((function () { var e = t.getInstance(this); e ? e.option(n) : new t(this, n) })), i = this; return i } })) } }, function (e, t, n) { "use strict"; var i = o(n(50)), a = o(n(89)); function o(e) { return e && e.__esModule ? e : { default: e } } (0, o(n(68)).default)() && a.default.inject({ sendRequest: function (e) { return e.responseType || e.upload ? this.callBase.apply(this, [e]) : i.default.ajax(e) } }) }, function (e, t, n) { "use strict"; n(106); var i = s(n(61)), a = s(n(10)), o = s(n(65)); function s(e) { return e && e.__esModule ? e : { default: e } } if (n(61), i.default && i.default.formatMessage) { var r = i.default.loadMessages; i.default.loadMessages = function (e) { a.default.load(e) }; var l = { engine: function () { return "globalize" }, ctor: function () { this.load(this._dictionary) }, load: function (e) { this.callBase(e), r(e) }, getMessagesByLocales: function () { return i.default.cldr.get("globalize-messages") }, getFormatter: function (e, t) { var n = t || o.default.locale(), i = this._getFormatterBase(e, t); return i || (i = this._formatterByGlobalize(e, t)), i || "en" === n || (i = this.getFormatter(e, "en")), i }, _formatterByGlobalize: function (e, t) { var n, a = t && t !== o.default.locale() ? new i.default(t) : i.default; return this._messageLoaded(e, t) && (n = a.messageFormatter(e)), n }, _messageLoaded: function (e, t) { return !!(t ? new i.default(t).cldr : i.default.locale()).get(["globalize-messages/{bundle}", e]) }, _loadSingle: function (e, t, n) { var i = {}; i[n] = {}, i[n][e] = t, this.load(i) } }; a.default.inject(l) } }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } n(106), n(151), n(61); var a = c(n(61)), o = c(n(32)), s = n(0), r = n(14), l = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = d(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(3)); function d() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return d = function () { return e }, e } function c(e) { return e && e.__esModule ? e : { default: e } } var u = ["skeleton", "date", "time", "datetime", "raw"], h = /[\u200E\u200F]/g; if (a.default && a.default.formatDate) { "en" === a.default.locale().locale && (a.default.load({ supplemental: { version: { _cldrVersion: "28", _unicodeVersion: "8.0.0", _number: "$Revision: 11969 $" }, weekData: { minDays: { "001": "1", US: "1", DE: "4" }, firstDay: { "001": "mon", DE: "mon", RU: "mon", JP: "sun", US: "sun" }, weekendStart: { "001": "sat" }, weekendEnd: { "001": "sun" } } } }, { supplemental: { version: { _cldrVersion: "28", _unicodeVersion: "8.0.0", _number: "$Revision: 11969 $" }, timeData: { "001": { _allowed: "H h", _preferred: "H" }, DE: { _allowed: "H", _preferred: "H" }, JP: { _allowed: "H K h", _preferred: "H" }, RU: { _allowed: "H", _preferred: "H" }, US: { _allowed: "H h", _preferred: "h" } } } }, { main: { en: { identity: { version: { _cldrVersion: "28", _number: "$Revision: 11972 $" }, language: "en" }, dates: { calendars: { gregorian: { months: { format: { abbreviated: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" }, narrow: { 1: "J", 2: "F", 3: "M", 4: "A", 5: "M", 6: "J", 7: "J", 8: "A", 9: "S", 10: "O", 11: "N", 12: "D" }, wide: { 1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June", 7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December" } }, "stand-alone": { abbreviated: { 1: "Jan", 2: "Feb", 3: "Mar", 4: "Apr", 5: "May", 6: "Jun", 7: "Jul", 8: "Aug", 9: "Sep", 10: "Oct", 11: "Nov", 12: "Dec" }, narrow: { 1: "J", 2: "F", 3: "M", 4: "A", 5: "M", 6: "J", 7: "J", 8: "A", 9: "S", 10: "O", 11: "N", 12: "D" }, wide: { 1: "January", 2: "February", 3: "March", 4: "April", 5: "May", 6: "June", 7: "July", 8: "August", 9: "September", 10: "October", 11: "November", 12: "December" } } }, days: { format: { abbreviated: { sun: "Sun", mon: "Mon", tue: "Tue", wed: "Wed", thu: "Thu", fri: "Fri", sat: "Sat" }, narrow: { sun: "S", mon: "M", tue: "T", wed: "W", thu: "T", fri: "F", sat: "S" }, short: { sun: "Su", mon: "Mo", tue: "Tu", wed: "We", thu: "Th", fri: "Fr", sat: "Sa" }, wide: { sun: "Sunday", mon: "Monday", tue: "Tuesday", wed: "Wednesday", thu: "Thursday", fri: "Friday", sat: "Saturday" } }, "stand-alone": { abbreviated: { sun: "Sun", mon: "Mon", tue: "Tue", wed: "Wed", thu: "Thu", fri: "Fri", sat: "Sat" }, narrow: { sun: "S", mon: "M", tue: "T", wed: "W", thu: "T", fri: "F", sat: "S" }, short: { sun: "Su", mon: "Mo", tue: "Tu", wed: "We", thu: "Th", fri: "Fr", sat: "Sa" }, wide: { sun: "Sunday", mon: "Monday", tue: "Tuesday", wed: "Wednesday", thu: "Thursday", fri: "Friday", sat: "Saturday" } } }, quarters: { format: { abbreviated: { 1: "Q1", 2: "Q2", 3: "Q3", 4: "Q4" }, narrow: { 1: "1", 2: "2", 3: "3", 4: "4" }, wide: { 1: "1st quarter", 2: "2nd quarter", 3: "3rd quarter", 4: "4th quarter" } }, "stand-alone": { abbreviated: { 1: "Q1", 2: "Q2", 3: "Q3", 4: "Q4" }, narrow: { 1: "1", 2: "2", 3: "3", 4: "4" }, wide: { 1: "1st quarter", 2: "2nd quarter", 3: "3rd quarter", 4: "4th quarter" } } }, dayPeriods: { format: { abbreviated: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, narrow: { midnight: "mi", am: "a", "am-alt-variant": "am", noon: "n", pm: "p", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, wide: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" } }, "stand-alone": { abbreviated: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, narrow: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "in the morning", afternoon1: "in the afternoon", evening1: "in the evening", night1: "at night" }, wide: { midnight: "midnight", am: "AM", "am-alt-variant": "am", noon: "noon", pm: "PM", "pm-alt-variant": "pm", morning1: "morning", afternoon1: "afternoon", evening1: "evening", night1: "night" } } }, eras: { eraNames: { 0: "Before Christ", "0-alt-variant": "Before Common Era", 1: "Anno Domini", "1-alt-variant": "Common Era" }, eraAbbr: { 0: "BC", "0-alt-variant": "BCE", 1: "AD", "1-alt-variant": "CE" }, eraNarrow: { 0: "B", "0-alt-variant": "BCE", 1: "A", "1-alt-variant": "CE" } }, dateFormats: { full: "EEEE, MMMM d, y", long: "MMMM d, y", medium: "MMM d, y", short: "M/d/yy" }, timeFormats: { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, dateTimeFormats: { full: "{1} 'at' {0}", long: "{1} 'at' {0}", medium: "{1}, {0}", short: "{1}, {0}", availableFormats: { d: "d", E: "ccc", Ed: "d E", Ehm: "E h:mm a", EHm: "E HH:mm", Ehms: "E h:mm:ss a", EHms: "E HH:mm:ss", Gy: "y G", GyMMM: "MMM y G", GyMMMd: "MMM d, y G", GyMMMEd: "E, MMM d, y G", h: "h a", H: "HH", hm: "h:mm a", Hm: "HH:mm", hms: "h:mm:ss a", Hms: "HH:mm:ss", hmsv: "h:mm:ss a v", Hmsv: "HH:mm:ss v", hmv: "h:mm a v", Hmv: "HH:mm v", M: "L", Md: "M/d", MEd: "E, M/d", MMM: "LLL", MMMd: "MMM d", MMMEd: "E, MMM d", MMMMd: "MMMM d", ms: "mm:ss", y: "y", yM: "M/y", yMd: "M/d/y", yMEd: "E, M/d/y", yMMM: "MMM y", yMMMd: "MMM d, y", yMMMEd: "E, MMM d, y", yMMMM: "MMMM y", yQQQ: "QQQ y", yQQQQ: "QQQQ y" }, appendItems: { Day: "{0} ({2}: {1})", "Day-Of-Week": "{0} {1}", Era: "{0} {1}", Hour: "{0} ({2}: {1})", Minute: "{0} ({2}: {1})", Month: "{0} ({2}: {1})", Quarter: "{0} ({2}: {1})", Second: "{0} ({2}: {1})", Timezone: "{0} {1}", Week: "{0} ({2}: {1})", Year: "{0} {1}" }, intervalFormats: { intervalFormatFallback: "{0} – {1}", d: { d: "d – d" }, h: { a: "h a – h a", h: "h – h a" }, H: { H: "HH – HH" }, hm: { a: "h:mm a – h:mm a", h: "h:mm – h:mm a", m: "h:mm – h:mm a" }, Hm: { H: "HH:mm – HH:mm", m: "HH:mm – HH:mm" }, hmv: { a: "h:mm a – h:mm a v", h: "h:mm – h:mm a v", m: "h:mm – h:mm a v" }, Hmv: { H: "HH:mm – HH:mm v", m: "HH:mm – HH:mm v" }, hv: { a: "h a – h a v", h: "h – h a v" }, Hv: { H: "HH – HH v" }, M: { M: "M – M" }, Md: { d: "M/d – M/d", M: "M/d – M/d" }, MEd: { d: "E, M/d – E, M/d", M: "E, M/d – E, M/d" }, MMM: { M: "MMM – MMM" }, MMMd: { d: "MMM d – d", M: "MMM d – MMM d" }, MMMEd: { d: "E, MMM d – E, MMM d", M: "E, MMM d – E, MMM d" }, y: { y: "y – y" }, yM: { M: "M/y – M/y", y: "M/y – M/y" }, yMd: { d: "M/d/y – M/d/y", M: "M/d/y – M/d/y", y: "M/d/y – M/d/y" }, yMEd: { d: "E, M/d/y – E, M/d/y", M: "E, M/d/y – E, M/d/y", y: "E, M/d/y – E, M/d/y" }, yMMM: { M: "MMM – MMM y", y: "MMM y – MMM y" }, yMMMd: { d: "MMM d – d, y", M: "MMM d – MMM d, y", y: "MMM d, y – MMM d, y" }, yMMMEd: { d: "E, MMM d – E, MMM d, y", M: "E, MMM d – E, MMM d, y", y: "E, MMM d, y – E, MMM d, y" }, yMMMM: { M: "MMMM – MMMM y", y: "MMMM y – MMMM y" } } } } } } } } }), a.default.locale("en")); var f = {}, p = { shortdate: { path: "dateTimeFormats/availableFormats/yMd" }, shorttime: { path: "timeFormats/short" }, longdate: { path: "dateFormats/full" }, longtime: { path: "timeFormats/medium" }, monthandday: { path: "dateTimeFormats/availableFormats/MMMMd" }, monthandyear: { path: "dateTimeFormats/availableFormats/yMMMM" }, quarterandyear: { path: "dateTimeFormats/availableFormats/yQQQ" }, day: { path: "dateTimeFormats/availableFormats/d" }, year: { path: "dateTimeFormats/availableFormats/y" }, shortdateshorttime: { path: "dateTimeFormats/short", parts: ["shorttime", "shortdate"] }, longdatelongtime: { path: "dateTimeFormats/medium", parts: ["longtime", "longdate"] }, month: { pattern: "LLLL" }, shortyear: { pattern: "yy" }, dayofweek: { pattern: "EEEE" }, quarter: { pattern: "QQQ" }, millisecond: { pattern: "SSS" }, hour: { pattern: "HH" }, minute: { pattern: "mm" }, second: { pattern: "ss" } }, g = { engine: function () { return "globalize" }, _getPatternByFormat: function (e) { var t = this, n = e.toLowerCase(), i = p[n]; if ("datetime-local" === n) return "yyyy-MM-ddTHH':'mm':'ss"; if (i) { var a = i.path && t._getFormatStringByPath(i.path) || i.pattern; return i.parts && l.each(i.parts, (function (e, n) { a = a.replace("{" + e + "}", t._getPatternByFormat(n)) })), a } }, _getFormatStringByPath: function (e) { return a.default.locale().main("dates/calendars/gregorian/" + e) }, getPeriodNames: function () { var e = a.default.locale().main("dates/calendars/gregorian/dayPeriods/stand-alone/wide"); return [e.am, e.pm] }, getMonthNames: function (e, t) { var n = a.default.locale().main("dates/calendars/gregorian/months/" + ("format" === t ? t : "stand-alone") + "/" + (e || "wide")); return l.map(n, (function (e) { return e })) }, getDayNames: function (e) { var t = a.default.locale().main("dates/calendars/gregorian/days/stand-alone/" + (e || "wide")); return l.map(t, (function (e) { return e })) }, getTimeSeparator: function () { return a.default.locale().main("numbers/symbols-numberSystem-latn/timeSeparator") }, removeRtlMarks: function (e) { return e.replace(h, "") }, format: function (e, t) { if (e) { if (!t) return e; var n, i; if ("function" == typeof t) return t(e); if (t.formatter) return t.formatter(e); if ("string" == typeof (t = t.type || t)) i = a.default.locale().locale + ":" + t, (n = f[i]) || (t = { raw: this._getPatternByFormat(t) || t }, n = f[i] = a.default.dateFormatter(t)); else { if (!this._isAcceptableFormat(t)) return; n = a.default.dateFormatter(t) } return this.removeRtlMarks(n(e)) } }, parse: function (e, t) { if (e) { if (!t || "function" == typeof t || (0, s.isObject)(t) && !this._isAcceptableFormat(t)) { if (t) { var n = this.callBase(e, t); if (n) return n } return a.default.parseDate(e) } return t.parser ? t.parser(e) : ("string" == typeof t && (t = { raw: this._getPatternByFormat(t) || t }), a.default.parseDate(e, t)) } }, _isAcceptableFormat: function (e) { if (e.parser) return !0; for (var t = 0; t < u.length; t++)if (Object.prototype.hasOwnProperty.call(e, u[t])) return !0 }, firstDayOfWeekIndex: function () { var e = a.default.locale().supplemental.weekData.firstDay(); return (0, r.inArray)(e, this._getDayKeys()) }, _getDayKeys: function () { var e = a.default.locale().main("dates/calendars/gregorian/days/format/short"); return l.map(e, (function (e, t) { return t })) } }; o.default.resetInjection(), o.default.inject(g) } }, function (e, t, n) { "use strict"; var i = r(n(176)); n(106), n(151), n(88), n(61); var a = r(n(61)), o = r(n(27)), s = r(n(40)); function r(e) { return e && e.__esModule ? e : { default: e } } function l(e) { return (l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } if (a.default && a.default.formatCurrency) { "en" === a.default.locale().locale && (a.default.load({ main: { en: { identity: { version: { _cldrVersion: "28", _number: "$Revision: 11972 $" }, language: "en" }, numbers: { currencies: { USD: { displayName: "US Dollar", "displayName-count-one": "US dollar", "displayName-count-other": "US dollars", symbol: "$", "symbol-alt-narrow": "$" } } } } } }, { supplemental: { version: { _cldrVersion: "28", _unicodeVersion: "8.0.0", _number: "$Revision: 11969 $" }, currencyData: { fractions: { DEFAULT: { _rounding: "0", _digits: "2" } } } } }), a.default.locale("en")); var d = {}, c = function (e, t) { var n, i; return i = "object" === l(t) ? a.default.locale().locale + ":" + e + ":" + JSON.stringify(t) : a.default.locale().locale + ":" + e + ":" + t, (n = d[i]) || (n = d[i] = a.default.currencyFormatter(e, t)), n }, u = { _formatNumberCore: function (e, t, n) { if ("currency" === t) { var i = n && n.currency || (0, o.default)().defaultCurrency; return c(i, this._normalizeFormatConfig(t, n, e))(e) } return this.callBase.apply(this, arguments) }, _normalizeFormatConfig: function (e, t, n) { var i = this.callBase(e, t, n); return "currency" === e && (i.style = "accounting"), i }, format: function (e, t) { if ("number" != typeof e) return e; if (t = this._normalizeFormat(t)) { if ("default" === t.currency && (t.currency = (0, o.default)().defaultCurrency), "currency" === t.type) return this._formatNumber(e, this._parseNumberFormatString("currency"), t); if (!t.type && t.currency) return c(t.currency, t)(e) } return this.callBase.apply(this, arguments) }, getCurrencySymbol: function (e) { return e || (e = (0, o.default)().defaultCurrency), a.default.cldr.main("numbers/currencies/" + e) }, getOpenXmlCurrencyFormat: function (e) { var t = this.getCurrencySymbol(e).symbol, n = a.default.cldr.main("numbers/currencyFormats-numberSystem-latn").accounting; return (0, i.default)(t, n) } }; s.default.inject(u) } }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.rotateend = t.rotate = t.rotatestart = t.pinchend = t.pinch = t.pinchstart = t.zoomend = t.zoom = t.zoomstart = t.translateend = t.translate = t.translatestart = t.transformend = t.transform = t.transformstart = void 0; var a = n(37), o = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = c(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(3)), s = n(8), r = d(n(105)), l = d(n(76)); function d(e) { return e && e.__esModule ? e : { default: e } } function c() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return c = function () { return e }, e } var u = "start", h = "", f = "end", p = [], g = function (e, t) { p.push({ name: e, args: t }) }; g("transform", { scale: !0, deltaScale: !0, rotation: !0, deltaRotation: !0, translation: !0, deltaTranslation: !0 }), g("translate", { translation: !0, deltaTranslation: !0 }), g("pinch", { scale: !0, deltaScale: !0 }), g("rotate", { rotation: !0, deltaRotation: !0 }); var m = function (e) { var t, n, i = e.pointers; return t = i[0], { x: (n = i[1]).pageX - t.pageX, y: -n.pageY + t.pageY, centerX: .5 * (n.pageX + t.pageX), centerY: .5 * (n.pageY + t.pageY) } }, _ = function (e) { return Math.sqrt(e.x * e.x + e.y * e.y) }, v = function (e, t) { return _(e) / _(t) }, y = function (e, t) { var n = e.x * t.x + e.y * t.y, i = _(e) * _(t); return 0 === i ? 0 : (0, a.sign)(e.x * t.y - t.x * e.y) * Math.acos((0, a.fitIntoRange)(n / i, -1, 1)) }, w = function (e, t) { return { x: e.centerX - t.centerX, y: e.centerY - t.centerY } }, x = r.default.inherit({ validatePointers: function (e) { return (0, s.hasTouches)(e) > 1 }, start: function (e) { this._accept(e); var t = m(e); this._startVector = t, this._prevVector = t, this._fireEventAliases(u, e) }, move: function (e) { var t = m(e), n = this._getEventArgs(t); this._fireEventAliases(h, e, n), this._prevVector = t }, end: function (e) { var t = this._getEventArgs(this._prevVector); this._fireEventAliases(f, e, t) }, _getEventArgs: function (e) { return { scale: v(e, this._startVector), deltaScale: v(e, this._prevVector), rotation: y(e, this._startVector), deltaRotation: y(e, this._prevVector), translation: w(e, this._startVector), deltaTranslation: w(e, this._prevVector) } }, _fireEventAliases: function (e, t, n) { n = n || {}, o.each(p, function (i, a) { var s = {}; o.each(a.args, (function (e) { e in n && (s[e] = n[e]) })), this._fireEvent("dx" + a.name + e, t, s) }.bind(this)) } }), b = p.reduce((function (e, t) { return [u, h, f].forEach((function (n) { e.push("dx" + t.name + n) })), e }), []); (0, l.default)({ emitter: x, events: b }); var C = {}; o.each(b, (function (e, t) { C[t.substring("dx".length)] = t })); var k = C.transformstart, I = C.transform, S = C.transformend, E = C.translatestart, D = C.translate, T = C.translateend, A = C.zoomstart, O = C.zoom, B = C.zoomend, M = C.pinchstart, P = C.pinch, R = C.pinchend, F = C.rotatestart, V = C.rotate, q = C.rotateend; t.rotateend = q, t.rotate = V, t.rotatestart = F, t.pinchend = R, t.pinch = P, t.pinchstart = M, t.zoomend = B, t.zoom = O, t.zoomstart = A, t.translateend = T, t.translate = D, t.translatestart = E, t.transformend = S, t.transform = I, t.transformstart = k }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(52).DataSource; t.default = i, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(53); function a(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var o = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._counter = -1, this._deferreds = {} } var t, n, o; return t = e, (n = [{ key: "add", value: function (e) { return this._counter++, this._deferreds[this._counter] = e, this._counter } }, { key: "remove", value: function (e) { return delete this._deferreds[e] } }, { key: "cancel", value: function (e) { return e in this._deferreds && (this._deferreds[e].reject(i.CANCELED_TOKEN), !0) } }, { key: "cancelAll", value: function () { for (; this._counter > -1;)this.cancel(this._counter), this._counter-- } }]) && a(t.prototype, n), o && a(t, o), e }(); t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(5)), a = d(n(9)), o = n(7), s = d(n(13)), r = d(n(33)), l = d(n(54)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = (0, o.getWindow)(), u = s.default.abstract, h = { dom: s.default.inherit({ ctor: function (e, t) { this._store = e, this._dirty = !!t.data, this.save(); var n = this._immediate = t.immediate, o = Math.max(100, t.flushInterval || 1e4); if (!n) { var s = this.save.bind(this); setInterval(s, o), i.default.on(c, "beforeunload", s), c.cordova && a.default.listen(a.default.getDocument(), "pause", s, !1) } }, notifyChanged: function () { this._dirty = !0, this._immediate && this.save() }, load: function () { this._store._array = this._loadImpl(), this._dirty = !1 }, save: function () { this._dirty && (this._saveImpl(this._store._array), this._dirty = !1) }, _loadImpl: u, _saveImpl: u }).inherit({ ctor: function (e, t) { var n = t.name; if (!n) throw r.default.errors.Error("E4013"); this._key = "dx-data-localStore-" + n, this.callBase(e, t) }, _loadImpl: function () { var e = c.localStorage.getItem(this._key); return e ? JSON.parse(e) : [] }, _saveImpl: function (e) { e.length ? c.localStorage.setItem(this._key, JSON.stringify(e)) : c.localStorage.removeItem(this._key) } }) }, f = l.default.inherit({ ctor: function (e) { e = "string" == typeof e ? { name: e } : e || {}, this.callBase(e), this._backend = new h[e.backend || "dom"](this, e), this._backend.load() }, clear: function () { this.callBase(), this._backend.notifyChanged() }, _insertImpl: function (e) { var t = this._backend; return this.callBase(e).done(t.notifyChanged.bind(t)) }, _updateImpl: function (e, t) { var n = this._backend; return this.callBase(e, t).done(n.notifyChanged.bind(n)) }, _removeImpl: function (e) { var t = this._backend; return this.callBase(e).done(t.notifyChanged.bind(t)) } }, "local"); t.default = f, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(62).applyChanges; t.default = i, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(21)), a = n(7), o = s(n(198)); function s(e) { return e && e.__esModule ? e : { default: e } } var r, l, d = (0, a.getWindow)(); var c = function (e) { var t; this.config = e, r = "ms-appx:" === d.location.protocol, t = d.location.hostname, l = /^(localhost$|127\.)/i.test(t) }; c.prototype = { urlFor: function (e) { var t = this.config[e]; if (!t) throw i.default.Error("E0006"); return o.default.isProxyUsed() ? o.default.formatProxyUrl(t.local) : t.production && (r && !Debug.debuggerEnabled || !r && !l) ? t.production : t.local } }; var u = c; t.default = u, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; n(197), DevExpress.data.ODataStore = n(199), DevExpress.data.ODataContext = n(314), DevExpress.data.utils = DevExpress.data.utils || {}, DevExpress.data.utils.odata = {}, DevExpress.data.utils.odata.keyConverters = n(80).keyConverters, DevExpress.data.EdmLiteral = n(80).EdmLiteral; var i = n(80); DevExpress.data.utils.odata.serializePropName = i.serializePropName, DevExpress.data.utils.odata.serializeValue = i.serializeValue, DevExpress.data.utils.odata.serializeKey = i.serializeKey, DevExpress.data.utils.odata.sendRequest = i.sendRequest, DevExpress.data.queryAdapters = DevExpress.data.queryAdapters || {}, DevExpress.data.queryAdapters.odata = n(126).odata }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(13)), a = n(1), o = n(0), s = n(3), r = h(n(33)), l = h(n(199)), d = h(n(200)), c = n(80), u = n(6); function h(e) { return e && e.__esModule ? e : { default: e } } n(126); var f = i.default.inherit({ ctor: function (e) { var t = this; this._requestDispatcher = new d.default(e), this._errorHandler = e.errorHandler, (0, s.each)(e.entities || [], (function (n, i) { t[n] = new l.default((0, a.extend)({}, e, { url: "".concat(t._requestDispatcher.url, "/").concat(encodeURIComponent(i.name || n)) }, i)) })) }, get: function (e, t) { return this.invoke(e, t, "GET") }, invoke: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : "POST"; n = n.toLowerCase(); var i, a = new u.Deferred, s = "".concat(this._requestDispatcher.url, "/").concat(encodeURIComponent(e)); return 4 === this.version() && ("get" === n ? (s = (0, c.formatFunctionInvocationUrl)(s, (0, c.escapeServiceOperationParams)(t, this.version())), t = null) : "post" === n && (i = t, t = null)), (0, u.when)(this._requestDispatcher.sendRequest(s, n, (0, c.escapeServiceOperationParams)(t, this.version()), i)).done((function (t) { (0, o.isPlainObject)(t) && e in t && (t = t[e]), a.resolve(t) })).fail(this._errorHandler).fail(r.default._errorHandler).fail(a.reject), a.promise() }, objectLink: function (e, t) { var n = this[e]; if (!n) throw r.default.errors.Error("E4015", e); return (0, o.isDefined)(t) ? { __metadata: { uri: n._byKeyUrl(t, !0) } } : null }, version: function () { return this._requestDispatcher.version } }); t.default = f, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; n(114), e.exports = DevExpress.ui = {} }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(317)), a = l(n(318)), o = n(7), s = l(n(17)), r = l(n(319)); function l(e) { return e && e.__esModule ? e : { default: e } } function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var c = function () { function e() { var t; !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e); var n = (0, o.getWindow)(), r = n && n.TurndownService || i.default, l = n && n.showdown || a.default; if (!r) throw s.default.Error("E1041", "Turndown"); if (!l) throw s.default.Error("E1041", "Showdown"); this._html2Markdown = new r, null !== (t = this._html2Markdown) && void 0 !== t && t.addRule && this._html2Markdown.addRule("emptyLine", { filter: function (e) { return "p" === e.nodeName.toLowerCase() && "<br>" === e.innerHTML }, replacement: function () { return "<br>" } }), this._markdown2Html = new l.Converter({ simpleLineBreaks: !0, strikethrough: !0 }) } var t, n, r; return t = e, (n = [{ key: "toMarkdown", value: function (e) { return this._html2Markdown.turndown(e || "") } }, { key: "toHtml", value: function (e) { var t = this._markdown2Html.makeHtml(e); return t && (t = t.replace(new RegExp("\\r?\\n", "g"), "")), t } }]) && d(t.prototype, n), r && d(t, r), e }(); r.default.addConverter("markdown", c); var u = c; t.default = u, e.exports = t.default }, function (e, t) { e.exports = window.TurndownService }, function (e, t) { e.exports = window.showdown }, function (e, t, n) { "use strict"; function i(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } t.default = void 0; var a = new (function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._converters = {} } var t, n, a; return t = e, (n = [{ key: "addConverter", value: function (e, t) { this._converters[e] = t } }, { key: "getConverter", value: function (e) { return this._converters[e] } }]) && i(t.prototype, n), a && i(t, a), e }()); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(321)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = B(n(2)), a = n(7), o = B(n(15)), s = B(n(5)), r = B(n(11)), l = n(18), d = n(31), c = n(4), u = n(3), h = n(0), f = n(1), p = n(19), g = B(n(10)), m = B(n(29)), _ = n(8), v = B(n(22)), y = n(46), w = n(325), x = n(331), b = n(332), C = n(143), k = n(333), I = B(n(226)), S = B(n(157)), E = n(376), D = B(n(378)), T = B(n(47)), A = B(n(113)), O = n(6); function B(e) { return e && e.__esModule ? e : { default: e } } var M = (0, a.getWindow)(), P = "<tr>", R = "<td>", F = "<div>", V = ["allowSorting", "allowSortingBySummary", "allowFiltering", "allowExpandAll"]; function q(e) { var t = 0; return (0, u.each)(e, (function (e, n) { t += n || 0 })), t } function L(e, t) { for (var n = t / e.length, i = 0; i < e.length; i++)e[i] -= n } function H(e) { e.off("scroll").off("stop") } var z = {}; function N(e, t) { var n = "width" === t ? ["borderLeftWidth", "borderRightWidth"] : ["borderTopWidth", "borderBottomWidth"], i = 0; return (0, u.each)(e, (function (e, t) { var a = M.getComputedStyle(t.get(0)); n.forEach((function (e) { i += parseFloat(a[e]) || 0 })) })), i } var W = m.default.inherit({ _getDefaultOptions: function () { return (0, f.extend)(this.callBase(), { scrolling: { timeout: 300, renderingThreshold: 150, minTimeout: 10, mode: "standard", useNative: "auto", removeInvisiblePages: !0, virtualRowHeight: 50, virtualColumnWidth: 100, loadTwoPagesOnStart: !0 }, encodeHtml: !0, dataSource: null, activeStateEnabled: !1, fieldChooser: { minWidth: 250, minHeight: 250, enabled: !0, allowSearch: !1, searchTimeout: 500, layout: 0, title: g.default.format("dxPivotGrid-fieldChooserTitle"), width: 600, height: 600, applyChangesMode: "instantly" }, onContextMenuPreparing: null, allowSorting: !1, allowSortingBySummary: !1, allowFiltering: !1, allowExpandAll: !1, wordWrapEnabled: !0, fieldPanel: { showColumnFields: !0, showFilterFields: !0, showDataFields: !0, showRowFields: !0, allowFieldDragging: !0, visible: !1, texts: { columnFieldArea: g.default.format("dxPivotGrid-columnFieldArea"), rowFieldArea: g.default.format("dxPivotGrid-rowFieldArea"), filterFieldArea: g.default.format("dxPivotGrid-filterFieldArea"), dataFieldArea: g.default.format("dxPivotGrid-dataFieldArea") } }, dataFieldArea: "column", export: { enabled: !1, fileName: "PivotGrid", proxyUrl: void 0, ignoreExcelErrors: !0 }, showRowTotals: !0, showRowGrandTotals: !0, showColumnTotals: !0, showColumnGrandTotals: !0, hideEmptySummaryCells: !0, showTotalsPrior: "none", rowHeaderLayout: "standard", loadPanel: { enabled: !0, text: g.default.format("Loading"), width: 200, height: 70, showIndicator: !0, indicatorSrc: "", showPane: !0 }, texts: { grandTotal: g.default.format("dxPivotGrid-grandTotal"), total: g.default.getFormatter("dxPivotGrid-total"), noData: g.default.format("dxDataGrid-noDataText"), showFieldChooser: g.default.format("dxPivotGrid-showFieldChooser"), expandAll: g.default.format("dxPivotGrid-expandAll"), collapseAll: g.default.format("dxPivotGrid-collapseAll"), sortColumnBySummary: g.default.getFormatter("dxPivotGrid-sortColumnBySummary"), sortRowBySummary: g.default.getFormatter("dxPivotGrid-sortRowBySummary"), removeAllSorting: g.default.format("dxPivotGrid-removeAllSorting"), exportToExcel: g.default.format("dxDataGrid-exportToExcel"), dataNotAvailable: g.default.format("dxPivotGrid-dataNotAvailable") }, onCellClick: null, onCellPrepared: null, showBorders: !1, stateStoring: { enabled: !1, storageKey: null, type: "localStorage", customLoad: null, customSave: null, savingTimeout: 2e3 }, onExpandValueChanging: null, renderCellCountLimit: 2e4, onExporting: null, onExported: null, onFileSaving: null, headerFilter: { width: 252, height: 325, allowSearch: !1, showRelevantValues: !1, searchTimeout: 500, texts: { emptyValue: g.default.format("dxDataGrid-headerFilterEmptyValue"), ok: g.default.format("dxDataGrid-headerFilterOK"), cancel: g.default.format("dxDataGrid-headerFilterCancel") } } }) }, _updateCalculatedOptions: function (e) { var t = this; (0, u.each)(e, (function (e, n) { (0, u.each)(V, (function (e, i) { var a = n._initProperties && i in n._initProperties && void 0 === n._initProperties[i]; (void 0 === n[i] || a) && (0, y.setFieldProperty)(n, i, t.option(i)) })) })) }, _getDataControllerOptions: function () { var e = this; return { component: e, dataSource: e.option("dataSource"), texts: e.option("texts"), showRowTotals: e.option("showRowTotals"), showRowGrandTotals: e.option("showRowGrandTotals"), showColumnTotals: e.option("showColumnTotals"), showTotalsPrior: e.option("showTotalsPrior"), showColumnGrandTotals: e.option("showColumnGrandTotals"), dataFieldArea: e.option("dataFieldArea"), rowHeaderLayout: e.option("rowHeaderLayout"), hideEmptySummaryCells: e.option("hideEmptySummaryCells"), onFieldsPrepared: function (t) { e._updateCalculatedOptions(t) } } }, _initDataController: function () { var e = this; e._dataController && e._dataController.dispose(), e._dataController = new w.DataController(e._getDataControllerOptions()), (0, a.hasWindow)() && e._dataController.changed.add((function () { e._render() })), e._dataController.scrollChanged.add((function (t) { e._scrollLeft = t.left, e._scrollTop = t.top })), e._dataController.loadingChanged.add((function (t) { e._updateLoading() })), e._dataController.progressChanged.add(e._updateLoading.bind(e)), e._dataController.dataSourceChanged.add((function () { e._trigger("onChanged") })); var t = e.option("onExpandValueChanging"); t && e._dataController.expandValueChanging.add((function (e) { t(e) })) }, _init: function () { this.callBase(), this._initDataController(), this._scrollLeft = this._scrollTop = null, this._initActions() }, _initActions: function () { this._actions = { onChanged: this._createActionByOption("onChanged"), onContextMenuPreparing: this._createActionByOption("onContextMenuPreparing"), onCellClick: this._createActionByOption("onCellClick"), onExporting: this._createActionByOption("onExporting"), onExported: this._createActionByOption("onExported"), onFileSaving: this._createActionByOption("onFileSaving"), onCellPrepared: this._createActionByOption("onCellPrepared") } }, _trigger: function (e, t) { this._actions[e](t) }, _optionChanged: function (e) { if (V.indexOf(e.name) >= 0) { var t = this.getDataSource().fields(); this._updateCalculatedOptions(t) } switch (e.name) { case "dataSource": case "allowSorting": case "allowFiltering": case "allowExpandAll": case "allowSortingBySummary": case "scrolling": case "stateStoring": this._initDataController(), this._fieldChooserPopup.hide(), this._renderFieldChooser(), this._invalidate(); break; case "texts": case "showTotalsPrior": case "showRowTotals": case "showRowGrandTotals": case "showColumnTotals": case "showColumnGrandTotals": case "hideEmptySummaryCells": case "dataFieldArea": this._dataController.updateViewOptions(this._getDataControllerOptions()); break; case "useNativeScrolling": case "encodeHtml": case "renderCellCountLimit": break; case "rtlEnabled": this.callBase(e), this._renderFieldChooser(), this._renderContextMenu(), (0, a.hasWindow)() && this._renderLoadPanel(this._dataArea.groupElement(), this.$element()), this._invalidate(); break; case "export": this._renderDescriptionArea(); break; case "onExpandValueChanging": break; case "onCellClick": case "onContextMenuPreparing": case "onExporting": case "onExported": case "onFileSaving": case "onCellPrepared": this._actions[e.name] = this._createActionByOption(e.name); break; case "fieldChooser": this._renderFieldChooser(), this._renderDescriptionArea(); break; case "loadPanel": (0, a.hasWindow)() && (this._renderLoadPanel(this._dataArea.groupElement(), this.$element()), this._invalidate()); break; case "fieldPanel": this._renderDescriptionArea(), this._invalidate(); break; case "headerFilter": this._renderFieldChooser(), this._invalidate(); break; case "showBorders": this._tableElement().toggleClass("dx-pivotgrid-border", !!e.value), this.updateDimensions(); break; case "wordWrapEnabled": this._tableElement().toggleClass("dx-word-wrap", !!e.value), this.updateDimensions(); break; case "rowHeaderLayout": this._tableElement().find(".dx-area-row-cell").toggleClass("dx-area-tree-view", "tree" === e.value), this._dataController.updateViewOptions(this._getDataControllerOptions()); break; case "height": case "width": this._hasHeight = null, this.callBase(e), this.resize(); break; default: this.callBase(e) } }, _updateScrollPosition: function (e, t, n) { var i, a, o = this._scrollTop || this._scrollLeft; this._scrollUpdating || (this._scrollUpdating = !0, t && !t.hasScroll() && this._hasHeight && (this._scrollTop = null), e && !e.hasScroll() && (this._scrollLeft = null), (null !== this._scrollTop || null !== this._scrollLeft || o || this.option("rtlEnabled")) && (i = this._scrollTop || 0, a = this._scrollLeft || 0, n.scrollTo({ x: a, y: i }), e.scrollTo(a), t.scrollTo(i), this._dataController.updateWindowScrollPosition(this._scrollTop)), this._scrollUpdating = !1) }, _subscribeToEvents: function (e, t, n) { var i = this, a = function (a) { var o = a.scrollOffset, s = (0, h.isDefined)(o.left) ? o.left : i._scrollLeft, r = (0, h.isDefined)(o.top) && i._hasHeight ? o.top : i._scrollTop; (i._scrollLeft || 0) === (s || 0) && (i._scrollTop || 0) === (r || 0) || (i._scrollLeft = s, i._scrollTop = r, i._updateScrollPosition(e, t, n), "virtual" === i.option("scrolling.mode") && i._dataController.setViewportPosition(i._scrollLeft, i._scrollTop)) }; (0, u.each)([e, t, n], (function (e, t) { !function (e, t) { H(e), e.on("scroll", t).on("stop", t) }(t, a) })), !i._hasHeight && i._dataController.subscribeToWindowScrollEvents(n.groupElement()) }, _clean: c.noop, _needDelayResizing: function (e) { return e.length * (e.length ? e[0].length : 0) > this.option("renderCellCountLimit") }, _renderFieldChooser: function () { var e = this, t = e._pivotGridContainer, n = e.option("fieldChooser") || {}, a = "onDemand" === n.applyChangesMode ? [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: g.default.format("OK"), onClick: function (t) { e._fieldChooserPopup.$content().dxPivotGridFieldChooser("applyChanges"), e._fieldChooserPopup.hide() } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: g.default.format("Cancel"), onClick: function (t) { e._fieldChooserPopup.hide() } } }] : [], o = { layout: n.layout, texts: n.texts || {}, dataSource: e.getDataSource(), allowSearch: n.allowSearch, searchTimeout: n.searchTimeout, width: void 0, height: void 0, headerFilter: e.option("headerFilter"), encodeHtml: e.option("encodeHtml"), applyChangesMode: n.applyChangesMode, onContextMenuPreparing: function (t) { e._trigger("onContextMenuPreparing", t) } }, s = { shading: !1, title: n.title, width: n.width, height: n.height, showCloseButton: !0, resizeEnabled: !0, minWidth: n.minWidth, minHeight: n.minHeight, toolbarItems: a, onResize: function (e) { e.component.$content().dxPivotGridFieldChooser("updateDimensions") }, onShown: function (t) { e._createComponent(t.component.content(), I.default, o) }, onHidden: function (e) { var t = e.component.$content().dxPivotGridFieldChooser("instance"); t.resetTreeView(), t.cancelChanges() } }; e._fieldChooserPopup ? (e._fieldChooserPopup.option(s), e._fieldChooserPopup.$content().dxPivotGridFieldChooser(o)) : e._fieldChooserPopup = e._createComponent((0, i.default)(F).addClass("dx-fieldchooser-popup").appendTo(t), T.default, s) }, _renderContextMenu: function () { var e = this, t = e._pivotGridContainer; e._contextMenu && e._contextMenu.$element().remove(), e._contextMenu = e._createComponent((0, i.default)(F).appendTo(t), A.default, { onPositioning: function (t) { var n = t.event; if (t.cancel = !0, n) { var a = n.target.cellIndex >= 0 ? n.target : (0, i.default)(n.target).closest("td").get(0); if (a) { var o = e._createEventArgs(a, n), s = e._getContextMenuItems(o); return s ? (t.component.option("items", s), void (t.cancel = !1)) : void 0 } } }, onItemClick: function (e) { e.itemData.onItemClick && e.itemData.onItemClick(e) }, cssClass: "dx-pivotgrid", target: e.$element() }) }, _getContextMenuItems: function (e) { var t = this, n = [], i = t.option("texts"); if ("row" === e.area || "column" === e.area) { var a = e[e.area + "Fields"], o = e["column" === e.area ? "rowFields" : "columnFields"], s = e.cell.path && a[e.cell.path.length - 1], r = t.getDataSource(); if (s && s.allowExpandAll && e.cell.path.length < e[e.area + "Fields"].length && !r.paginate() && (n.push({ beginGroup: !0, icon: "none", text: i.expandAll, onItemClick: function () { r.expandAll(s.index) } }), n.push({ text: i.collapseAll, icon: "none", onItemClick: function () { r.collapseAll(s.index) } })), e.cell.isLast && !r.paginate()) { var l = 0; (0, u.each)(o, (function (t, a) { a.allowSortingBySummary && (0, u.each)(e.dataFields, (function (t, o) { if (!(0, h.isDefined)(e.cell.dataIndex) || e.cell.dataIndex === t) { var s = !(0, h.isDefined)(e.cell.dataIndex) && e.dataFields.length > 1, c = "column" === e.area ? i.sortColumnBySummary : i.sortRowBySummary, u = (0, y.findField)(e.dataFields, a.sortBySummaryField) === t && (e.cell.path || []).join("/") === (a.sortBySummaryPath || []).join("/"), f = (0, d.format)(c, s ? a.caption + " - " + o.caption : a.caption); n.push({ beginGroup: 0 === l, icon: u ? "desc" === a.sortOrder ? "sortdowntext" : "sortuptext" : "none", text: f, onItemClick: function () { r.field(a.index, { sortBySummaryField: o.name || o.caption || o.dataField, sortBySummaryPath: e.cell.path, sortOrder: "desc" === a.sortOrder ? "asc" : "desc" }), r.load() } }), l++ } })) })), (0, u.each)(o, (function (e, t) { if (t.allowSortingBySummary && (0, h.isDefined)(t.sortBySummaryField)) return n.push({ beginGroup: 0 === l, icon: "none", text: i.removeAllSorting, onItemClick: function () { (0, u.each)(o, (function (e, t) { r.field(t.index, { sortBySummaryField: void 0, sortBySummaryPath: void 0, sortOrder: void 0 }) })), r.load() } }), !1 })) } } if (t.option("fieldChooser.enabled") && n.push({ beginGroup: !0, icon: "columnchooser", text: i.showFieldChooser, onItemClick: function () { t._fieldChooserPopup.show() } }), t.option("export.enabled") && n.push({ beginGroup: !0, icon: "xlsxfile", text: i.exportToExcel, onItemClick: function () { t.exportToExcel() } }), e.items = n, t._trigger("onContextMenuPreparing", e), (n = e.items) && n.length) return n }, _createEventArgs: function (e, t) { var n, a = this.getDataSource(), o = { rowFields: a.getAreaFields("row"), columnFields: a.getAreaFields("column"), dataFields: a.getAreaFields("data"), event: t }; return (n = (0, i.default)(e)).closest(".dx-area-fields").length || n.find(".dx-area-fields").length ? (0, f.extend)(this._createFieldArgs(e), o) : (0, f.extend)(this._createCellArgs(e), o) }, _createFieldArgs: function (e) { var t = (0, i.default)(e).children().data("field"), n = { field: t }; return (0, h.isDefined)(t) ? n : {} }, _createCellArgs: function (e) { var t = (0, i.default)(e), n = e.cellIndex, a = e.parentElement.rowIndex, o = t.closest("table"), s = o.data("data"), r = s && s[a] && s[a][n]; return { area: o.data("area"), rowIndex: a, columnIndex: n, cellElement: (0, l.getPublicElement)(t), cell: r } }, _handleCellClick: function (e) { var t = this, n = t._createEventArgs(e.currentTarget, e), i = n.cell; i && (n.area || !n.rowIndex && !n.columnIndex) && (t._trigger("onCellClick", n), i && !n.cancel && (0, h.isDefined)(i.expanded) && setTimeout((function () { t._dataController[i.expanded ? "collapseHeaderItem" : "expandHeaderItem"](n.area, i.path) }))) }, _getNoDataText: function () { return this.option("texts.noData") }, _renderNoDataText: v.default.renderNoDataText, _renderLoadPanel: v.default.renderLoadPanel, _updateLoading: function (e) { var t = this, n = t._dataController.isLoading(); if (t._loadPanel) { var i = t._loadPanel.option("visible"); i || (t._startLoadingTime = new Date), n && (e ? new Date - t._startLoadingTime >= 1e3 && t._loadPanel.option("message", Math.floor(100 * e) + "%") : t._loadPanel.option("message", t.option("loadPanel.text"))), clearTimeout(t._hideLoadingTimeoutID), i && !n ? t._hideLoadingTimeoutID = setTimeout((function () { t._loadPanel.option("visible", !1), t.$element().removeClass("dx-overflow-hidden") })) : (t._loadPanel.option("visible", n), t.$element().toggleClass("dx-overflow-hidden", !n)) } }, _renderDescriptionArea: function () { var e, t = this, n = this.$element(), a = n.find(".dx-area-description-cell"), o = (0, i.default)(F).addClass("dx-pivotgrid-toolbar"), s = this.option("fieldPanel"), r = n.find(".dx-filter-header"), l = n.find(".dx-column-header"); if (e = s.visible && s.showFilterFields ? r : s.visible && (s.showDataFields || s.showColumnFields) ? l : a, l.toggleClass("dx-bottom-border", !(!s.visible || !s.showDataFields && !s.showColumnFields)), r.toggleClass("dx-bottom-border", !(!s.visible || !s.showFilterFields)), a.toggleClass("dx-pivotgrid-background", s.visible && (s.showDataFields || s.showColumnFields || s.showRowFields)), this.$element().find(".dx-pivotgrid-toolbar").remove(), o.prependTo(e), this.option("fieldChooser.enabled")) { var d = (0, i.default)(F).appendTo(o).addClass("dx-pivotgrid-field-chooser-button"), c = { icon: "columnchooser", hint: this.option("texts.showFieldChooser"), onClick: function () { t.getFieldChooserPopup().show() } }; this._createComponent(d, "dxButton", c) } if (this.option("export.enabled")) { var u = (0, i.default)(F).appendTo(o).addClass("dx-pivotgrid-export-button"), h = { icon: "xlsxfile", hint: this.option("texts.exportToExcel"), onClick: function () { t.exportToExcel() } }; this._createComponent(u, "dxButton", h) } }, _detectHasContainerHeight: function () { var e = this.$element(); if ((0, h.isDefined)(this._hasHeight)) { var t = this.option("height") || this.$element().get(0).style.height; t && this._hasHeight ^ "auto" !== t && (this._hasHeight = null) } if (!(0, h.isDefined)(this._hasHeight) && !e.is(":hidden")) { this._pivotGridContainer.addClass("dx-hidden"); var n = (0, i.default)(F).height(66666); e.append(n), this._hasHeight = 66666 !== e.height(), this._pivotGridContainer.removeClass("dx-hidden"), n.remove() } }, _renderHeaders: function (e, t, n, i) { var a = this.getDataSource(); this._rowFields = this._rowFields || new k.FieldsArea(this, "row"), this._rowFields.render(e, a.getAreaFields("row")), this._columnFields = this._columnFields || new k.FieldsArea(this, "column"), this._columnFields.render(t, a.getAreaFields("column")), this._filterFields = this._filterFields || new k.FieldsArea(this, "filter"), this._filterFields.render(n, a.getAreaFields("filter")), this._dataFields = this._dataFields || new k.FieldsArea(this, "data"), this._dataFields.render(i, a.getAreaFields("data")), this.$element().dxPivotGridFieldChooserBase("instance").renderSortable() }, _createTableElement: function () { var e = (0, i.default)("<table>").css({ width: "100%" }).toggleClass("dx-pivotgrid-border", !!this.option("showBorders")).toggleClass("dx-word-wrap", !!this.option("wordWrapEnabled")); return s.default.on(e, (0, _.addNamespace)(p.name, "dxPivotGrid"), "td", this._handleCellClick.bind(this)), e }, _renderDataArea: function (e) { var t = this._dataArea || new x.DataArea(this); return this._dataArea = t, t.render(e, this._dataController.getCellsInfo()), t }, _renderRowsArea: function (e) { var t = this._rowsArea || new b.VerticalHeadersArea(this); return this._rowsArea = t, t.render(e, this._dataController.getRowsInfo()), t }, _renderColumnsArea: function (e) { var t = this._columnsArea || new b.HorizontalHeadersArea(this); return this._columnsArea = t, t.render(e, this._dataController.getColumnsInfo()), t }, _initMarkup: function () { var e = this; e.callBase.apply(this, arguments), e.$element().addClass("dx-pivotgrid") }, _renderContentImpl: function () { var e, t, n, a, s, r, l, d, c = !this._pivotGridContainer; (a = !c && this._tableElement()) || (this.$element().addClass("dx-row-lines").addClass("dx-pivotgrid-fields-container"), this._pivotGridContainer = (0, i.default)(F).addClass("dx-pivotgrid-container"), this._renderFieldChooser(), this._renderContextMenu(), e = (0, i.default)(R).addClass("dx-area-column-cell"), t = (0, i.default)(R).addClass("dx-area-row-cell"), n = (0, i.default)(R).addClass("dx-area-data-cell"), a = this._createTableElement(), d = (0, i.default)(R).addClass("dx-data-header"), l = (0, i.default)("<td>").attr("colspan", "2").addClass("dx-filter-header"), r = (0, i.default)(R).addClass("dx-column-header"), s = (0, i.default)(R).addClass("dx-area-description-cell"), (0, i.default)(P).append(l).appendTo(a), (0, i.default)(P).append(d).append(r).appendTo(a), (0, i.default)(P).toggleClass("dx-ie", !0 === o.default.msie).append(s).append(e).appendTo(a), (0, i.default)(P).addClass("dx-bottom-row").append(t).append(n).appendTo(a), this._pivotGridContainer.append(a), this.$element().append(this._pivotGridContainer), "tree" === this.option("rowHeaderLayout") && t.addClass("dx-area-tree-view")), this.$element().addClass("dx-overflow-hidden"), this._createComponent(this.$element(), S.default, { dataSource: this.getDataSource(), encodeHtml: this.option("encodeHtml"), allowFieldDragging: this.option("fieldPanel.allowFieldDragging"), headerFilter: this.option("headerFilter"), visible: this.option("visible") }); var u = this._renderDataArea(n), h = this._renderRowsArea(t), f = this._renderColumnsArea(e); u.tableElement().prepend(f.headElement()), c && (this._renderLoadPanel(u.groupElement().parent(), this.$element()), this._renderDescriptionArea(), h.processScroll(), f.processScroll()), [u, h, f].forEach((function (e) { H(e) })), this._renderHeaders(s, r, l, d), this._update(c) }, _update: function (e) { var t = this, n = function () { t.updateDimensions() }; t._needDelayResizing(t._dataArea.getData()) && e ? setTimeout(n) : n() }, _fireContentReadyAction: function () { this._dataController.isLoading() || this.callBase() }, getScrollPath: function (e) { return "column" === e ? this._columnsArea.getScrollPath(this._scrollLeft) : this._rowsArea.getScrollPath(this._scrollTop) }, getDataSource: function () { return this._dataController.getDataSource() }, getFieldChooserPopup: function () { return this._fieldChooserPopup }, hasScroll: function (e) { return "column" === e ? this._columnsArea.hasScroll() : this._rowsArea.hasScroll() }, _dimensionChanged: function () { this.updateDimensions() }, _visibilityChanged: function (e) { e && this.updateDimensions() }, _dispose: function () { var e = this; clearTimeout(e._hideLoadingTimeoutID), e.callBase.apply(e, arguments), e._dataController && e._dataController.dispose() }, _tableElement: function () { return this.$element().find("table").first() }, addWidgetPrefix: function (e) { return "dx-pivotgrid-" + e }, resize: function () { this.updateDimensions() }, isReady: function () { return this.callBase() && !this._dataController.isLoading() }, updateDimensions: function () { var e, t, n, s, r = this, l = r._tableElement(), d = r._rowsArea, h = r._columnsArea, f = r._dataArea, p = 0, g = 0, m = 0, _ = r.option("scrolling") || {}, v = function (e) { if (z[e]) return z[e]; var t, n = {}, a = (0, i.default)(F).css({ position: "absolute", visibility: "hidden", top: -1e3, left: -1e3, width: 100, height: 100 }).appendTo("body"), o = (0, i.default)("<p>").css({ width: "100%", height: 200 }).appendTo(a); "auto" !== e && (n.useNative = !!e, n.useSimulatedScrollbar = !e), a.dxScrollable(n); var s = a.dxScrollable("instance").option("useNative"); return t = s ? a.width() - o.width() : 0, a.remove(), z[e] = { scrollBarWidth: t, scrollBarUseNative: s }, z[e] }(_.useNative), w = v.scrollBarWidth, x = l.find(".dx-area-data-cell"), b = l.find(".dx-area-row-cell"), k = l.find(".dx-area-column-cell"), I = l.find(".dx-area-description-cell"), S = l.find(".dx-filter-header"), E = l.find(".dx-column-header"), D = r._rowFields, T = new O.Deferred; if ((0, a.hasWindow)()) { var A = D.isVisible() && "tree" !== r.option("rowHeaderLayout"); r._detectHasContainerHeight(), f.headElement().length || f.tableElement().prepend(h.headElement()), A && (d.updateColspans(D.getColumnsCount()), d.tableElement().prepend(D.headElement())), l.addClass("dx-incompressible-fields"), f.reset(), d.reset(), h.reset(), D.reset(); var B = function (e, t) { return t - e >= 1 }, P = function (e, t, n, i, a) { return n ? e : t + (i ? a : 0) }; return (0, c.deferUpdate)((function () { var a = f.getColumnsWidth(), R = d.getRowsHeight(), F = A ? R.slice(1) : R, V = f.getRowsHeight(), H = (0, C.getSize)(I[0], "height", { paddings: !0, borders: !0, margins: !0 }) + (A ? R[0] : 0), z = r._dataController.getColumnsInfo().length, W = (0, y.mergeArraysByMaxValue)(F, V.slice(z)), $ = V.slice(0, z), j = q($), K = d.getColumnsWidth(), G = 0, U = 0; if (r._hasHeight) { G = S.height(); var Y = l.find(".dx-data-header"), X = o.default.msie ? (0, C.getSize)(Y.get(0), "height", { paddings: !1, borders: !1, margins: !1 }) : Y.height(); t = N([k, x, l, E, S], "height"), U = r.$element().height() - G - X - (Math.max(f.headElement().height(), k.height(), H) + t) } if (p = f.tableElement().width(), g = q(W), p && g) { m = q(K); var Z = r.$element().width(); t = N([b, x, l], "width"); var J = p - (e = (e = Z - m - t) > 0 ? e : p); J >= 0 && J <= 2 && (L(a, J), p = e), n = r._hasHeight && B(U, g), s = B(e, p); var Q = P(U, g, n, s, w); (0, c.deferRender)((function () { if (h.tableElement().append(f.headElement()), D.tableElement().append(d.headElement()), !s && n && w && (L(a, w), p -= w), H > j && (L($, j - H), h.setRowsHeight($)), l.removeClass("dx-incompressible-fields"), E.children().css("maxWidth", e), h.groupWidth(e), h.processScrollBarSpacing(n ? w : 0), h.setColumnsWidth(a), d.groupHeight(r._hasHeight ? Q : "auto"), d.processScrollBarSpacing(s ? w : 0), d.setColumnsWidth(K), d.setRowsHeight(W), f.setColumnsWidth(a), f.setRowsHeight(W), f.groupWidth(e), f.groupHeight(r._hasHeight ? Q : "auto"), A && D.setColumnsWidth(K), x.toggleClass("dx-bottom-border", !n), b.toggleClass("dx-bottom-border", !n), !r._hasHeight && Z !== r.$element().width()) { var t = Z - r.$element().width(); s || (L(a, t), h.setColumnsWidth(a), f.setColumnsWidth(a)), f.groupWidth(e - t), h.groupWidth(e - t) } if (r._hasHeight && r._filterFields.isVisible() && S.height() !== G) { var o = S.height() - G; if (o > 0) { n = B(U - o, g); var c = P(U - o, g, n, s, w); f.groupHeight(c), d.groupHeight(c) } } if ("virtual" === _.mode) { var y = r._dataController.calculateVirtualContentParams({ virtualRowHeight: _.virtualRowHeight, virtualColumnWidth: _.virtualColumnWidth, itemWidths: a, itemHeights: W, rowCount: W.length, columnCount: a.length, viewportWidth: e, viewportHeight: r._hasHeight ? Q : (0, i.default)(M).outerHeight() }); f.setVirtualContentParams({ top: y.contentTop, left: y.contentLeft, width: y.width, height: y.height }), d.setVirtualContentParams({ top: y.contentTop, width: m, height: y.height }), h.setVirtualContentParams({ left: y.contentLeft, width: y.width, height: h.groupElement().height() }) } var C = []; f.processScroll(v.scrollBarUseNative, s, n), (0, u.each)([h, d, f], (function (e, t) { C.push(t && t.updateScrollable()) })), r._updateLoading(), r._renderNoDataText(x), O.when.apply(i.default, C).done((function () { r._updateScrollPosition(h, d, f), r._subscribeToEvents(h, d, f), T.resolve() })) })) } else T.resolve() })), T } }, applyPartialDataSource: function (e, t, n) { this._dataController.applyPartialDataSource(e, t, n) } }).inherit(E.ExportMixin).include(D.default); (0, r.default)("dxPivotGrid", W); var $ = W; t.default = $, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = q(n(38)), a = q(n(60)), o = n(30), s = q(n(11)), r = q(n(12)), l = q(n(9)), d = n(18), c = q(n(2)), u = n(101), h = n(14), f = q(n(15)), p = n(4), g = n(6), m = n(28), _ = n(1), v = n(3), y = n(37), w = q(n(45)), x = n(0), b = n(67), C = n(74), k = n(7), I = q(n(5)), S = n(91), E = q(n(23)), D = n(102), T = n(8), A = n(59), O = n(190), B = q(n(323)), M = n(51), P = q(n(153)), R = q(n(29)), F = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== L(e) && "function" != typeof e) return { default: e }; var t = V(); if (t && t.has(e)) return t.get(e); var n = {}, i = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var a in e) if (Object.prototype.hasOwnProperty.call(e, a)) { var o = i ? Object.getOwnPropertyDescriptor(e, a) : null; o && (o.get || o.set) ? Object.defineProperty(n, a, o) : n[a] = e[a] } n.default = e, t && t.set(e, n); return n }(n(324)); function V() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return V = function () { return e }, e } function q(e) { return e && e.__esModule ? e : { default: e } } function L(e) { return (L = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var H = w.default.add, z = (0, k.getWindow)(), N = (0, k.getNavigator)(), W = C.changeCallback, $ = ["onShowing", "onShown", "onHiding", "onHidden", "onPositioning", "onPositioned", "onResizeStart", "onResize", "onResizeEnd"], j = [], K = { top: { my: "top center", at: "top center" }, bottom: { my: "bottom center", at: "bottom center" }, right: { my: "right center", at: "right center" }, left: { my: "left center", at: "left center" }, center: { my: "center", at: "center" }, "right bottom": { my: "right bottom", at: "right bottom" }, "right top": { my: "right top", at: "right top" }, "left bottom": { my: "left bottom", at: "left bottom" }, "left top": { my: "left top", at: "left top" } }, G = r.default.real(), U = G.version, Y = f.default.mozilla && "desktop" === G.deviceType, X = "ios" === G.platform, Z = f.default.safari && "desktop" !== G.deviceType, J = "android" === G.platform && 0 === (0, b.compare)(U, [4, 0], 2) && -1 === N.userAgent.indexOf("Chrome"), Q = function (e) { return (0, x.isEvent)(e) && (e = e.target), (0, c.default)(e) }; H((function () { I.default.subscribeGlobal(l.default.getDocument(), E.default.down, (function (e) { for (var t = j.length - 1; t >= 0; t--)if (!j[t]._proxiedDocumentDownHandler(e)) return })) })); var ee = R.default.inherit({ _supportedKeys: function () { var e = function (e, t, n) { if (this.option("dragEnabled")) { n.preventDefault(), n.stopPropagation(); var i = this._allowedOffsets(), a = { top: (0, y.fitIntoRange)(e, -i.top, i.bottom), left: (0, y.fitIntoRange)(t, -i.left, i.right) }; this._changePosition(a) } }; return (0, _.extend)(this.callBase(), { escape: function () { this.hide() }, upArrow: e.bind(this, -5, 0), downArrow: e.bind(this, 5, 0), leftArrow: e.bind(this, 0, -5), rightArrow: e.bind(this, 0, 5) }) }, _getDefaultOptions: function () { var e = this; return (0, _.extend)(this.callBase(), { activeStateEnabled: !1, visible: !1, deferRendering: !0, shading: !0, shadingColor: "", position: { my: "center", at: "center" }, width: function () { return .8 * (0, c.default)(z).width() }, minWidth: null, maxWidth: null, height: function () { return .8 * (0, c.default)(z).height() }, minHeight: null, maxHeight: null, animation: { show: { type: "pop", duration: 300, from: { scale: .55 } }, hide: { type: "pop", duration: 300, to: { opacity: 0, scale: .55 }, from: { opacity: 1, scale: 1 } } }, closeOnOutsideClick: !1, onShowing: null, onShown: null, onHiding: null, onHidden: null, contentTemplate: "content", dragEnabled: !1, resizeEnabled: !1, onResizeStart: null, onResize: null, onResizeEnd: null, innerOverlay: !1, target: void 0, container: void 0, hideTopOverlayHandler: function () { e.hide() }, closeOnTargetScroll: !1, onPositioned: null, boundaryOffset: { h: 0, v: 0 }, propagateOutsideClick: !1, ignoreChildEvents: !0, _checkParentVisibility: !0, _fixedPosition: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { var e = r.default.real(), t = e.platform, n = e.version; return "android" === t && (0, b.compare)(n, [4, 2]) < 0 }, options: { animation: { show: { type: "fade", duration: 400 }, hide: { type: "fade", duration: 400, to: { opacity: 0 }, from: { opacity: 1 } } } } }, { device: function () { return !(0, k.hasWindow)() }, options: { width: null, height: null, animation: null, _checkParentVisibility: !1 } }]) }, _setOptionsByReference: function () { this.callBase(), (0, _.extend)(this._optionsByReference, { animation: !0 }) }, _wrapper: function () { return this._$wrapper }, _container: function () { return this._$content }, _eventBindingTarget: function () { return this._$content }, _init: function () { this.callBase(), this._initActions(), this._initCloseOnOutsideClickHandler(), this._initTabTerminatorHandler(), this._$wrapper = (0, c.default)("<div>").addClass("dx-overlay-wrapper"), this._$content = (0, c.default)("<div>").addClass("dx-overlay-content"), this._initInnerOverlayClass(); var e = this.$element(); this._$wrapper.addClass(e.attr("class")), e.addClass("dx-overlay"), this._$wrapper.attr("data-bind", "dxControlsDescendantBindings: true"), I.default.on(this._$wrapper, "MSPointerDown", p.noop), I.default.on(this._$wrapper, "focusin", (function (e) { e.stopPropagation() })), this._toggleViewPortSubscription(!0), this._initHideTopOverlayHandler(this.option("hideTopOverlayHandler")) }, _initOptions: function (e) { this._initTarget(e.target); var t = void 0 === e.container ? this.option("container") : e.container; this._initContainer(t), this.callBase(e) }, _initInnerOverlayClass: function () { this._$content.toggleClass("dx-inner-overlay", this.option("innerOverlay")) }, _initTarget: function (e) { if ((0, x.isDefined)(e)) { var t = this.option(); (0, v.each)(["position.of", "animation.show.from.position.of", "animation.show.to.position.of", "animation.hide.from.position.of", "animation.hide.to.position.of"], (function (n, i) { for (var a = i.split("."), o = t; o;) { if (1 === a.length) { (0, x.isPlainObject)(o) && (o[a.shift()] = e); break } o = o[a.shift()] } })) } }, _initContainer: function (e) { e = void 0 === e ? (0, C.value)() : e; var t = this.$element(), n = t.closest(e); n.length || (n = (0, c.default)(e).first()), this._$container = n.length ? n : t.parent() }, _initHideTopOverlayHandler: function (e) { this._hideTopOverlayHandler = e }, _initActions: function () { var e = this; this._actions = {}, (0, v.each)($, (function (t, n) { e._actions[n] = e._createActionByOption(n, { excludeValidators: ["disabled", "readOnly"] }) || p.noop })) }, _initCloseOnOutsideClickHandler: function () { var e = this; this._proxiedDocumentDownHandler = function () { return e._documentDownHandler.apply(e, arguments) } }, _documentDownHandler: function (e) { this._showAnimationProcessing && this._stopAnimation(); var t = this.option("closeOnOutsideClick"); (0, x.isFunction)(t) && (t = t(e)); var n = this._$content, i = (0, c.default)(z.document).is(e.target) || (0, m.contains)(z.document, e.target), a = (0, c.default)(e.target).closest(".dx-inner-overlay").length; return i && !a && !(n.is(e.target) || (0, m.contains)(n.get(0), e.target)) && t && this._outsideClickHandler(e), this.option("propagateOutsideClick") }, _outsideClickHandler: function (e) { this.option("shading") && e.preventDefault(), this.hide() }, _getAnonymousTemplateName: function () { return "content" }, _initTemplates: function () { this._templateManager.addDefaultTemplates({ content: new u.EmptyTemplate }), this.callBase() }, _isTopOverlay: function () { for (var e = this._overlayStack(), t = e.length - 1; t >= 0; t--) { var n = e[t]._findTabbableBounds(); if (n.first || n.last) return e[t] === this } return !1 }, _overlayStack: function () { return j }, _zIndexInitValue: function () { return ee.baseZIndex() }, _toggleViewPortSubscription: function (e) { W.remove(this._viewPortChangeHandle), e && (this._viewPortChangeHandle = this._viewPortChangeHandler.bind(this), W.add(this._viewPortChangeHandle)) }, _viewPortChangeHandler: function () { this._initContainer(this.option("container")), this._refresh() }, _renderVisibilityAnimate: function (e) { return this._stopAnimation(), e ? this._show() : this._hide() }, _normalizePosition: function () { var e = this.option("position"); this._position = "function" == typeof e ? e() : e }, _getAnimationConfig: function () { var e = this.option("animation"); return (0, x.isFunction)(e) && (e = e.call(this)), e }, _show: function () { var e = this, t = this, n = new g.Deferred; if (this._parentHidden = this._isParentHidden(), n.done((function () { delete t._parentHidden })), this._parentHidden) return this._isHidden = !0, n.resolve(); if (this._currentVisible) return (new g.Deferred).resolve().promise(); this._currentVisible = !0, this._isShown = !1, this._normalizePosition(); var i = t._getAnimationConfig() || {}, a = this._normalizeAnimation(i.show, "to"), o = a && a.start || p.noop, s = a && a.complete || p.noop; if (this._isHidingActionCanceled) delete this._isHidingActionCanceled, n.resolve(); else { var r = function () { if (e._renderVisibility(!0), e._isShowingActionCanceled) return delete e._isShowingActionCanceled, void n.resolve(); e._animate(a, (function () { t.option("focusStateEnabled") && I.default.trigger(t._focusTarget(), "focus"), s.apply(this, arguments), t._showAnimationProcessing = !1, t._isShown = !0, t._actions.onShown(), t._toggleSafariScrolling(!1), n.resolve() }), (function () { o.apply(this, arguments), t._showAnimationProcessing = !0 })) }; this.option("templatesRenderAsynchronously") ? (this._stopShowTimer(), this._asyncShowTimeout = setTimeout(r)) : r() } return n.promise() }, _normalizeAnimation: function (e, t) { return e && (e = (0, _.extend)({ type: "slide" }, e))[t] && "object" === L(e[t]) && (0, _.extend)(e[t], { position: this._position }), e }, _hide: function () { if (!this._currentVisible) return (new g.Deferred).resolve().promise(); this._currentVisible = !1; var e = this, t = new g.Deferred, n = e._getAnimationConfig() || {}, i = this._normalizeAnimation(n.hide, "from"), a = i && i.start || p.noop, o = i && i.complete || p.noop, s = { cancel: !1 }; return this._isShowingActionCanceled ? t.resolve() : (this._actions.onHiding(s), e._toggleSafariScrolling(!0), s.cancel ? (this._isHidingActionCanceled = !0, this.option("visible", !0), t.resolve()) : (this._forceFocusLost(), this._toggleShading(!1), this._toggleSubscriptions(!1), this._stopShowTimer(), this._animate(i, (function () { var n; e._$content.css("pointerEvents", ""), e._renderVisibility(!1), o.apply(this, arguments), null === (n = e._actions) || void 0 === n || n.onHidden(), t.resolve() }), (function () { e._$content.css("pointerEvents", "none"), a.apply(this, arguments) })))), t.promise() }, _forceFocusLost: function () { var e = l.default.getActiveElement(); !!this._$content.find(e).length && (0, m.resetActiveElement)() }, _animate: function (e, t, n) { e ? (n = n || e.start || p.noop, i.default.animate(this._$content, (0, _.extend)({}, e, { start: n, complete: t }))) : t() }, _stopAnimation: function () { i.default.stop(this._$content, !0) }, _renderVisibility: function (e) { if (!e || !this._isParentHidden()) { if (this._currentVisible = e, this._stopAnimation(), e || (0, A.triggerHidingEvent)(this._$content), this._toggleVisibility(e), this._$content.toggleClass("dx-state-invisible", !e), this._updateZIndexStackPosition(e), e) { this._renderContent(); var t = { cancel: !1 }; if (this._actions.onShowing(t), t.cancel) return this._toggleVisibility(!1), this._$content.toggleClass("dx-state-invisible", !0), this._updateZIndexStackPosition(!1), this._moveFromContainer(), this._isShowingActionCanceled = !0, void this.option("visible", !1); this._moveToContainer(), this._renderGeometry(), (0, A.triggerShownEvent)(this._$content), (0, A.triggerResizeEvent)(this._$content) } else this._moveFromContainer(); this._toggleShading(e), this._toggleSubscriptions(e) } }, _updateZIndexStackPosition: function (e) { var t = this._overlayStack(), n = (0, h.inArray)(this, t); e ? (-1 === n && (this._zIndex = F.create(this._zIndexInitValue()), t.push(this)), this._$wrapper.css("zIndex", this._zIndex), this._$content.css("zIndex", this._zIndex)) : -1 !== n && (t.splice(n, 1), F.remove(this._zIndex)) }, _toggleShading: function (e) { this._$wrapper.toggleClass("dx-overlay-modal", this.option("shading") && !this.option("container")), this._$wrapper.toggleClass("dx-overlay-shader", e && this.option("shading")), this._$wrapper.css("backgroundColor", this.option("shading") ? this.option("shadingColor") : ""), this._toggleTabTerminator(e && this.option("shading")) }, _initTabTerminatorHandler: function () { var e = this; this._proxiedTabTerminatorHandler = function () { e._tabKeyHandler.apply(e, arguments) } }, _toggleTabTerminator: function (e) { var t = (0, T.addNamespace)("keydown", this.NAME); e ? I.default.on(l.default.getDocument(), t, this._proxiedTabTerminatorHandler) : I.default.off(l.default.getDocument(), t, this._proxiedTabTerminatorHandler) }, _findTabbableBounds: function () { for (var e = this._$wrapper.find("*"), t = e.length - 1, n = { first: null, last: null }, i = 0; i <= t && (!n.first && e.eq(i).is(M.tabbable) && (n.first = e.eq(i)), !n.last && e.eq(t - i).is(M.tabbable) && (n.last = e.eq(t - i)), !n.first || !n.last); i++); return n }, _tabKeyHandler: function (e) { if ("tab" === (0, T.normalizeKeyName)(e) && this._isTopOverlay()) { var t = this._findTabbableBounds(), n = t.first, i = t.last, a = !e.shiftKey && e.target === i.get(0), o = e.shiftKey && e.target === n.get(0), s = 0 === t.length, r = !(0, m.contains)(this._$wrapper.get(0), e.target); if (a || o || s || r) { e.preventDefault(); var l = e.shiftKey ? i : n; I.default.trigger(l, "focusin"), I.default.trigger(l, "focus") } } }, _toggleSubscriptions: function (e) { (0, k.hasWindow)() && (this._toggleHideTopOverlayCallback(e), this._toggleParentsScrollSubscription(e)) }, _toggleHideTopOverlayCallback: function (e) { this._hideTopOverlayHandler && (e ? O.hideCallback.add(this._hideTopOverlayHandler) : O.hideCallback.remove(this._hideTopOverlayHandler)) }, _toggleParentsScrollSubscription: function (e) { var t = this; if (this._position) { var n = this._position.of || (0, c.default)(), i = this.option("closeOnTargetScroll"), a = Q(n).parents(), o = (0, T.addNamespace)("scroll", this.NAME); "desktop" === r.default.real().deviceType && (a = a.add(z)), this._proxiedTargetParentsScrollHandler = this._proxiedTargetParentsScrollHandler || function (e) { t._targetParentsScrollHandler(e) }, I.default.off((0, c.default)().add(this._$prevTargetParents), o, this._proxiedTargetParentsScrollHandler), e && i && (I.default.on(a, o, this._proxiedTargetParentsScrollHandler), this._$prevTargetParents = a) } }, _targetParentsScrollHandler: function (e) { var t = !1, n = this.option("closeOnTargetScroll"); (0, x.isFunction)(n) && (t = n(e)), t || this._showAnimationProcessing || this.hide() }, _render: function () { this.callBase(), this._appendContentToElement(), this._renderVisibilityAnimate(this.option("visible")) }, _appendContentToElement: function () { this._$content.parent().is(this.$element()) || this._$content.appendTo(this.$element()) }, _renderContent: function () { var e = !this._currentVisible && this.option("deferRendering"); this.option("visible") && this._isParentHidden() ? this._isHidden = !0 : this._contentAlreadyRendered || e || (this._contentAlreadyRendered = !0, this._appendContentToElement(), this.callBase()) }, _isParentHidden: function () { if (!this.option("_checkParentVisibility")) return !1; if (void 0 !== this._parentHidden) return this._parentHidden; var e = this.$element().parent(); if (e.is(":visible")) return !1; var t = !1; return e.add(e.parents()).each((function () { if ("none" === (0, c.default)(this).css("display")) return t = !0, !1 })), t || !l.default.getBody().contains(e.get(0)) }, _renderContentImpl: function () { var e = this, t = new g.Deferred, n = this.option("contentTemplate"), i = this._getTemplate(n), a = this._templateManager.anonymousTemplateName === n; return i && i.render({ container: (0, d.getPublicElement)(this.$content()), noModel: !0, transclude: a, onRendered: function () { t.resolve() } }), this._renderDrag(), this._renderResize(), this._renderScrollTerminator(), t.done((function () { e.option("visible") && e._moveToContainer() })), t.promise() }, _renderDrag: function () { var e = this._getDragTarget(); if (e) { var t = (0, T.addNamespace)(S.start, this.NAME), n = (0, T.addNamespace)(S.move, this.NAME); I.default.off(e, t), I.default.off(e, n), this.option("dragEnabled") && (I.default.on(e, t, this._dragStartHandler.bind(this)), I.default.on(e, n, this._dragUpdateHandler.bind(this))) } }, _renderResize: function () { this._resizable = this._createComponent(this._$content, B.default, { handles: this.option("resizeEnabled") ? "all" : "none", onResizeEnd: this._resizeEndHandler.bind(this), onResize: this._actions.onResize.bind(this), onResizeStart: this._actions.onResizeStart.bind(this), minHeight: 100, minWidth: 100, area: this._getDragResizeContainer() }) }, _resizeEndHandler: function () { this._positionChangeHandled = !0; var e = this._resizable.option("width"), t = this._resizable.option("height"); e && this.option("width", e), t && this.option("height", t), this._actions.onResizeEnd() }, _renderScrollTerminator: function () { var e = this._wrapper(), t = (0, T.addNamespace)(S.move, this.NAME); I.default.off(e, t), I.default.on(e, t, { validate: function () { return !0 }, getDirection: function () { return "both" }, _toggleGestureCover: function (e) { e || this._toggleGestureCoverImpl(e) }, _clearSelection: p.noop, isNative: !0 }, (function (e) { var t = e.originalEvent.originalEvent; e._cancelPreventDefault = !0, t && "mousemove" !== t.type && !1 !== e.cancelable && e.preventDefault() })) }, _getDragTarget: function () { return this.$content() }, _dragStartHandler: function (e) { e.targetElements = [], this._prevOffset = { x: 0, y: 0 }; var t = this._allowedOffsets(); e.maxTopOffset = t.top, e.maxBottomOffset = t.bottom, e.maxLeftOffset = t.left, e.maxRightOffset = t.right }, _getDragResizeContainer: function () { return (0, C.originalViewPort)().get(0) || this.option("container") ? this._$container : (0, c.default)(z) }, _deltaSize: function () { var e = this._$content, t = this._getDragResizeContainer(), n = e.outerWidth(), i = e.outerHeight(), a = t.outerWidth(), o = t.outerHeight(); if (this._isWindow(t)) { var s = l.default.getDocument(); o = Math.max((0, c.default)(s).outerHeight(), o), a = Math.max((0, c.default)(s).outerWidth(), a) } return { width: a - n, height: o - i } }, _dragUpdateHandler: function (e) { var t = e.offset, n = this._prevOffset, i = { top: t.y - n.y, left: t.x - n.x }; this._changePosition(i), this._prevOffset = t }, _changePosition: function (e) { var t = (0, o.locate)(this._$content); (0, o.move)(this._$content, { left: t.left + e.left, top: t.top + e.top }), this._positionChangeHandled = !0 }, _allowedOffsets: function () { var e = (0, o.locate)(this._$content), t = this._deltaSize(), n = t.height >= 0 && t.width >= 0, i = !this.option("shading") || this.option("container") || this._isWindow(this._getContainer()) ? { top: 0, left: 0 } : (0, o.locate)(this._$wrapper), a = this.option("boundaryOffset"); return { top: n ? e.top + i.top + a.v : 0, bottom: n ? -e.top - i.top + t.height - a.v : 0, left: n ? e.left + i.left + a.h : 0, right: n ? -e.left - i.left + t.width - a.h : 0 } }, _moveFromContainer: function () { this._$content.appendTo(this.$element()), this._detachWrapperToContainer() }, _detachWrapperToContainer: function () { this._$wrapper.detach() }, _moveToContainer: function () { this._attachWrapperToContainer(), this._$content.appendTo(this._$wrapper) }, _attachWrapperToContainer: function () { var e = this.$element(), t = void 0 !== this.option("container") ? this._$container : P.default.getSwatchContainer(e); t && t[0] === e.parent()[0] && (t = e), this._$wrapper.appendTo(t) }, _fixHeightAfterSafariAddressBarResizing: function () { this._isWindow(this._getContainer()) && Z && this._$wrapper.css("minHeight", z.innerHeight) }, _renderGeometry: function (e) { this.option("visible") && (0, k.hasWindow)() && this._renderGeometryImpl(e) }, _renderGeometryImpl: function (e) { this._stopAnimation(), this._normalizePosition(), this._renderWrapper(), this._fixHeightAfterSafariAddressBarResizing(), this._renderDimensions(); var t = this._renderPosition(); this._actions.onPositioned({ position: t }) }, _fixWrapperPosition: function () { this._$wrapper.css("position", this._useFixedPosition() ? "fixed" : "absolute") }, _useFixedPosition: function () { return this._shouldFixBodyPosition() || this.option("_fixedPosition") }, _shouldFixBodyPosition: function () { var e = this._getContainer(); return this._isWindow(e) && (!X || void 0 !== this._bodyScrollTop) }, _toggleSafariScrolling: function (e) { if (X && this._shouldFixBodyPosition()) { var t = l.default.getBody(); e ? ((0, c.default)(t).removeClass("dx-prevent-safari-scrolling"), z.scrollTo(0, this._bodyScrollTop), this._bodyScrollTop = void 0) : this.option("visible") && (this._bodyScrollTop = z.pageYOffset, (0, c.default)(t).addClass("dx-prevent-safari-scrolling")) } }, _renderWrapper: function () { this._fixWrapperPosition(), this._renderWrapperDimensions(), this._renderWrapperPosition() }, _renderWrapperDimensions: function () { var e, t, n = this._getContainer(); if (n) { var i = this._isWindow(n); e = i ? "" : n.outerWidth(), t = i ? "" : n.outerHeight(), this._$wrapper.css({ width: e, height: t }) } }, _isWindow: function (e) { return !!e && (0, x.isWindow)(e.get(0)) }, _renderWrapperPosition: function () { var e = this._getContainer(); e && a.default.setup(this._$wrapper, { my: "top left", at: "top left", of: e }) }, _getContainer: function () { var e = this._position, t = this.option("container"), n = null; return !t && e && (n = (0, x.isEvent)(e.of) ? z : e.of || z), Q(t || n) }, _renderDimensions: function () { var e = this._$content.get(0); this._$content.css({ minWidth: this._getOptionValue("minWidth", e), maxWidth: this._getOptionValue("maxWidth", e), minHeight: this._getOptionValue("minHeight", e), maxHeight: this._getOptionValue("maxHeight", e), width: this._getOptionValue("width", e), height: this._getOptionValue("height", e) }) }, _renderPosition: function () { if (!this._positionChangeHandled) { this._renderOverlayBoundaryOffset(), (0, o.resetPosition)(this._$content); var e = this._transformStringPosition(this._position, K), t = a.default.setup(this._$content, e); return function (e) { if (Y && e.width(), J) { var t = e.parents(); t.is(".dx-scrollable-native") || (t.css("backfaceVisibility", "hidden"), t.css("backfaceVisibility"), t.css("backfaceVisibility", "visible")) } }(this._$content), this._actions.onPositioning(), t } var n = this._allowedOffsets(); this._changePosition({ top: (0, y.fitIntoRange)(0, -n.top, n.bottom), left: (0, y.fitIntoRange)(0, -n.left, n.right) }) }, _transformStringPosition: function (e, t) { return (0, x.isString)(e) && (e = (0, _.extend)({}, t[e])), e }, _renderOverlayBoundaryOffset: function () { var e = this.option("boundaryOffset"); this._$content.css("margin", e.v + "px " + e.h + "px") }, _focusTarget: function () { return this._$content }, _attachKeyboardEvents: function () { var e = this; this._keyboardListenerId = D.keyboard.on(this._$content, null, (function (t) { return e._keyboardHandler(t) })) }, _keyboardHandler: function (e) { var t = e.originalEvent, n = (0, c.default)(t.target); !n.is(this._$content) && this.option("ignoreChildEvents") || this.callBase.apply(this, arguments) }, _isVisible: function () { return this.option("visible") }, _visibilityChanged: function (e) { e ? this.option("visible") && this._renderVisibilityAnimate(e) : this._renderVisibilityAnimate(e) }, _dimensionChanged: function () { this._renderGeometry(!0) }, _clean: function () { this._contentAlreadyRendered || this.$content().empty(), this._renderVisibility(!1), this._stopShowTimer(), this._cleanFocusState() }, _stopShowTimer: function () { this._asyncShowTimeout && clearTimeout(this._asyncShowTimeout), this._asyncShowTimeout = null }, _dispose: function () { i.default.stop(this._$content, !1), clearTimeout(this._deferShowTimer), this._toggleViewPortSubscription(!1), this._toggleSubscriptions(!1), this._updateZIndexStackPosition(!1), this._toggleTabTerminator(!1), this._toggleSafariScrolling(!0), this._actions = null, this.callBase(), F.remove(this._zIndex), this._$wrapper.remove(), this._$content.remove() }, _toggleDisabledState: function (e) { this.callBase.apply(this, arguments), this._$content.toggleClass("dx-state-disabled", Boolean(e)) }, _toggleRTLDirection: function (e) { this._$content.toggleClass("dx-rtl", e) }, _optionChanged: function (e) { var t = this, n = e.value; if ((0, h.inArray)(e.name, $) > -1) this._initActions(); else switch (e.name) { case "dragEnabled": this._renderDrag(), this._renderGeometry(); break; case "resizeEnabled": this._renderResize(), this._renderGeometry(); break; case "shading": case "shadingColor": this._toggleShading(this.option("visible")); break; case "width": case "height": case "minWidth": case "maxWidth": case "minHeight": case "maxHeight": case "boundaryOffset": this._renderGeometry(); break; case "position": this._positionChangeHandled = !1, this._renderGeometry(); break; case "visible": this._renderVisibilityAnimate(n).done((function () { t._animateDeferred && t._animateDeferred.resolveWith(t) })); break; case "target": this._initTarget(n), this._invalidate(); break; case "container": this._initContainer(n), this._invalidate(); break; case "innerOverlay": this._initInnerOverlayClass(); break; case "deferRendering": case "contentTemplate": this._contentAlreadyRendered = !1, this._clean(), this._invalidate(); break; case "hideTopOverlayHandler": this._toggleHideTopOverlayCallback(!1), this._initHideTopOverlayHandler(e.value), this._toggleHideTopOverlayCallback(this.option("visible")); break; case "closeOnTargetScroll": this._toggleParentsScrollSubscription(this.option("visible")); break; case "closeOnOutsideClick": case "animation": case "propagateOutsideClick": break; case "rtlEnabled": this._contentAlreadyRendered = !1, this.callBase(e); break; case "_fixedPosition": this._fixWrapperPosition(); break; default: this.callBase(e) } }, toggle: function (e) { var t = this; e = void 0 === e ? !this.option("visible") : e; var n = new g.Deferred; if (e === this.option("visible")) return n.resolveWith(this, [e]).promise(); var i = new g.Deferred; return this._animateDeferred = i, this.option("visible", e), i.promise().done((function () { delete t._animateDeferred, n.resolveWith(t, [t.option("visible")]) })), n.promise() }, $content: function () { return this._$content }, show: function () { return this.toggle(!0) }, hide: function () { return this.toggle(!1) }, content: function () { return (0, d.getPublicElement)(this._$content) }, repaint: function () { this._contentAlreadyRendered ? (this._renderGeometry(), (0, A.triggerResizeEvent)(this._$content)) : this.callBase() } }); ee.baseZIndex = function (e) { return F.base(e) }, (0, s.default)("dxOverlay", ee); var te = ee; t.default = te, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(30), a = y(n(11)), o = y(n(57)), s = y(n(2)), r = n(14), l = n(4), d = n(1), c = n(3), u = n(37), h = n(0), f = n(7), p = y(n(5)), g = n(91), m = n(25), _ = n(8), v = n(59); function y(e) { return e && e.__esModule ? e : { default: e } } var w = (0, _.addNamespace)(g.start, "dxResizable"), x = (0, _.addNamespace)(g.move, "dxResizable"), b = (0, _.addNamespace)(g.end, "dxResizable"), C = { left: "borderLeftWidth", top: "borderTopWidth", right: "borderRightWidth", bottom: "borderBottomWidth" }, k = o.default.inherit({ _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { handles: "all", step: "1", stepPrecision: "simple", area: void 0, minWidth: 30, maxWidth: 1 / 0, minHeight: 30, maxHeight: 1 / 0, onResizeStart: null, onResize: null, onResizeEnd: null, roundStepValue: !0 }) }, _init: function () { this.callBase(), this.$element().addClass("dx-resizable") }, _initMarkup: function () { this.callBase(), this._renderHandles() }, _render: function () { this.callBase(), this._renderActions() }, _renderActions: function () { this._resizeStartAction = this._createActionByOption("onResizeStart"), this._resizeEndAction = this._createActionByOption("onResizeEnd"), this._resizeAction = this._createActionByOption("onResize") }, _renderHandles: function () { var e = this; this._handles = []; var t = this.option("handles"); if ("none" !== t) { var n = "all" === t ? ["top", "bottom", "left", "right"] : t.split(" "); (0, c.each)(n, (function (t, n) { e._renderHandle(n) })), (0, r.inArray)("bottom", n) + 1 && (0, r.inArray)("right", n) + 1 && this._renderHandle("corner-bottom-right"), (0, r.inArray)("bottom", n) + 1 && (0, r.inArray)("left", n) + 1 && this._renderHandle("corner-bottom-left"), (0, r.inArray)("top", n) + 1 && (0, r.inArray)("right", n) + 1 && this._renderHandle("corner-top-right"), (0, r.inArray)("top", n) + 1 && (0, r.inArray)("left", n) + 1 && this._renderHandle("corner-top-left"), this._attachEventHandlers() } }, _renderHandle: function (e) { var t = (0, s.default)("<div>").addClass("dx-resizable-handle").addClass("dx-resizable-handle-" + e).appendTo(this.$element()); this._handles.push(t) }, _attachEventHandlers: function () { if (!this.option("disabled")) { var e = {}; e[w] = this._dragStartHandler.bind(this), e[x] = this._dragHandler.bind(this), e[b] = this._dragEndHandler.bind(this), this._handles.forEach((function (t) { p.default.on(t, e, { direction: "both", immediate: !0 }) })) } }, _detachEventHandlers: function () { this._handles.forEach((function (e) { p.default.off(e) })) }, _toggleEventHandlers: function (e) { e ? this._attachEventHandlers() : this._detachEventHandlers() }, _dragStartHandler: function (e) { var t = this.$element(); if (t.is(".dx-state-disabled, .dx-state-disabled *")) e.cancel = !0; else { this._toggleResizingClass(!0), this._movingSides = this._getMovingSides(e), this._elementLocation = (0, i.locate)(t); var n = (0, m.getBoundingRect)(t.get(0)); this._elementSize = { width: n.width, height: n.height }, this._renderDragOffsets(e), this._resizeStartAction({ event: e, width: this._elementSize.width, height: this._elementSize.height, handles: this._movingSides }), e.targetElements = null } }, _toggleResizingClass: function (e) { this.$element().toggleClass("dx-resizable-resizing", e) }, _renderDragOffsets: function (e) { var t = this._getArea(); if (t) { var n = (0, s.default)(e.target).closest(".dx-resizable-handle"), i = n.outerWidth(), a = n.outerHeight(), o = n.offset(), r = t.offset, l = this._getAreaScrollOffset(); e.maxLeftOffset = o.left - r.left - l.scrollX, e.maxRightOffset = r.left + t.width - o.left - i + l.scrollX, e.maxTopOffset = o.top - r.top - l.scrollY, e.maxBottomOffset = r.top + t.height - o.top - a + l.scrollY } }, _getBorderWidth: function (e, t) { if ((0, h.isWindow)(e.get(0))) return 0; var n = e.css(C[t]); return parseInt(n) || 0 }, _dragHandler: function (e) { var t = this.$element(), n = this._movingSides, a = this._elementLocation, o = this._elementSize, s = this._getOffset(e), r = o.width + s.x * (n.left ? -1 : 1), l = o.height + s.y * (n.top ? -1 : 1); (s.x || "strict" === this.option("stepPrecision")) && this._renderWidth(r), (s.y || "strict" === this.option("stepPrecision")) && this._renderHeight(l); var d = (0, m.getBoundingRect)(t.get(0)), c = s.y - ((d.height || l) - l), u = s.x - ((d.width || r) - r); (0, i.move)(t, { top: a.top + (n.top ? c : 0), left: a.left + (n.left ? u : 0) }), this._resizeAction({ event: e, width: this.option("width") || r, height: this.option("height") || l, handles: this._movingSides }), (0, v.triggerResizeEvent)(t) }, _getOffset: function (e) { var t = e.offset, n = (0, l.pairToObject)(this.option("step"), !this.option("roundStepValue")), i = this._getMovingSides(e), a = "strict" === this.option("stepPrecision"); return i.left || i.right || (t.x = 0), i.top || i.bottom || (t.y = 0), a ? this._getStrictOffset(t, n, i) : this._getSimpleOffset(t, n) }, _getSimpleOffset: function (e, t) { return { x: e.x - e.x % t.h, y: e.y - e.y % t.v } }, _getStrictOffset: function (e, t, n) { var i = this._elementLocation, a = this._elementSize, o = n.left ? i.left : i.left + a.width, s = n.top ? i.top : i.top + a.height, r = (o + e.x) % t.h, l = (s + e.y) % t.v, d = Math.sign || function (e) { return 0 === (e = +e) || isNaN(e) ? e : e > 0 ? 1 : -1 }, c = function (e, t) { return (1 + .2 * d(t)) % 1 * e }, u = function (e, t) { return Math.abs(e) < .2 * t }, h = e.x - r, f = e.y - l; return r > c(t.h, e.x) && (h += t.h), l > c(t.v, e.y) && (f += t.v), { x: !n.left && !n.right || u(e.x, t.h) ? 0 : h, y: !n.top && !n.bottom || u(e.y, t.v) ? 0 : f } }, _getMovingSides: function (e) { var t = (0, s.default)(e.target), n = t.hasClass("dx-resizable-handle-corner-top-left"), i = t.hasClass("dx-resizable-handle-corner-top-right"), a = t.hasClass("dx-resizable-handle-corner-bottom-left"), o = t.hasClass("dx-resizable-handle-corner-bottom-right"); return { top: t.hasClass("dx-resizable-handle-top") || n || i, left: t.hasClass("dx-resizable-handle-left") || n || a, bottom: t.hasClass("dx-resizable-handle-bottom") || a || o, right: t.hasClass("dx-resizable-handle-right") || i || o } }, _getArea: function () { var e = this.option("area"); return (0, h.isFunction)(e) && (e = e.call(this)), (0, h.isPlainObject)(e) ? this._getAreaFromObject(e) : this._getAreaFromElement(e) }, _getAreaScrollOffset: function () { var e = this.option("area"), t = { scrollY: 0, scrollX: 0 }; if (!(0, h.isFunction)(e) && !(0, h.isPlainObject)(e)) { var n = (0, s.default)(e)[0]; (0, h.isWindow)(n) && (t.scrollX = n.pageXOffset, t.scrollY = n.pageYOffset) } return t }, _getAreaFromObject: function (e) { var t = { width: e.right - e.left, height: e.bottom - e.top, offset: { left: e.left, top: e.top } }; return this._correctAreaGeometry(t), t }, _getAreaFromElement: function (e) { var t, n = (0, s.default)(e); return n.length && (t = { width: n.innerWidth(), height: n.innerHeight(), offset: (0, d.extend)({ top: 0, left: 0 }, (0, h.isWindow)(n[0]) ? {} : n.offset()) }, this._correctAreaGeometry(t, n)), t }, _correctAreaGeometry: function (e, t) { var n = t ? this._getBorderWidth(t, "left") : 0, i = t ? this._getBorderWidth(t, "top") : 0; e.offset.left += n + this._getBorderWidth(this.$element(), "left"), e.offset.top += i + this._getBorderWidth(this.$element(), "top"), e.width -= this.$element().outerWidth() - this.$element().innerWidth(), e.height -= this.$element().outerHeight() - this.$element().innerHeight() }, _dragEndHandler: function (e) { var t = this.$element(); this._resizeEndAction({ event: e, width: t.outerWidth(), height: t.outerHeight(), handles: this._movingSides }), this._toggleResizingClass(!1) }, _renderWidth: function (e) { this.option("width", (0, u.fitIntoRange)(e, this.option("minWidth"), this.option("maxWidth"))) }, _renderHeight: function (e) { this.option("height", (0, u.fitIntoRange)(e, this.option("minHeight"), this.option("maxHeight"))) }, _optionChanged: function (e) { switch (e.name) { case "disabled": this._toggleEventHandlers(!e.value), this.callBase(e); break; case "handles": this._invalidate(); break; case "minWidth": case "maxWidth": (0, f.hasWindow)() && this._renderWidth(this.$element().outerWidth()); break; case "minHeight": case "maxHeight": (0, f.hasWindow)() && this._renderHeight(this.$element().outerHeight()); break; case "onResize": case "onResizeStart": case "onResizeEnd": this._renderActions(); break; case "area": case "stepPrecision": case "step": case "roundStepValue": break; default: this.callBase(e) } }, _clean: function () { this.$element().find(".dx-resizable-handle").remove() }, _useTemplates: function () { return !1 } }); (0, a.default)("dxResizable", k); var I = k; t.default = I, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.clearStack = t.remove = t.create = t.base = void 0; var i = n(4), a = 1500, o = []; t.base = function (e) { return a = (0, i.ensureDefined)(e, a) }; t.create = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : a, t = o.length, n = (t ? o[t - 1] : e) + 1; return o.push(n), n }; t.remove = function (e) { var t = o.indexOf(e); t >= 0 && o.splice(t, 1) }; t.clearStack = function () { o = [] } }, function (e, t, n) { "use strict"; t.DataController = void 0; var i = _(n(26)), a = n(6), o = n(1), s = n(14), r = n(3), l = _(n(13)), d = n(31), c = n(4), u = n(0), h = n(201), f = n(202), p = n(203), g = _(n(154)), m = n(46); function _(e) { return e && e.__esModule ? e : { default: e } } function v(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var y = Math, w = function (e, t, n) { e[t] || (e[t] = function () { var e = this._dataSource; return e ? e[t].apply(e, arguments) : n }) }, x = l.default.inherit(function () { function e(e, t, n) { return "#N/A" === e ? n : (0, m.formatValue)(e, t) } var t = function () { var e = function (e, t) { var n = t.lastIndex - t.index || 1; return function (e, t, n, i, a) { for (var o = a ? i : n; !e[o];)e.push([]); a ? e[o].push(t) : e[o].unshift(t) }(e, function (e, t, n, i) { var a = { type: e.type, text: e.text }; return e.path && (a.path = e.path), e.width && (a.width = e.width), (0, u.isDefined)(e.wordWrapEnabled) && (a.wordWrapEnabled = e.wordWrapEnabled), e.isLast && (a.isLast = !0), e.sorted && (a.sorted = !0), e.isMetric && (a.dataIndex = e.dataIndex), (0, u.isDefined)(e.expanded) && (a.expanded = e.expanded), t > 1 && (a[n ? "colspan" : "rowspan"] = t), e.depthSize && e.depthSize > 1 && (a[n ? "rowspan" : "colspan"] = e.depthSize), e.index >= 0 && (a.dataSourceIndex = e.index), i && e.children && e.children.length && !e.children[0].isMetric && (a.width = null, a.isWhiteSpace = !0), a }(t.headerItem, n, t.isHorizontal, t.isTree), t.index, t.depth, t.isHorizontal), t.headerItem.children && 0 !== t.headerItem.children.length ? t.lastIndex : t.lastIndex + 1 }, t = function (e, t, i, l, c) { var h = i.length, f = function (e, t) { var i, o = t && t.length || 0, s = [], r = new a.Deferred; return (0, a.when)((0, m.foreachTreeAsync)(e, (function (e, t) { var a = e[0], r = (0, m.createPath)(e); (i = n(s, r.length, t)).type = "D", i.value = a.value, i.path = r, i.text = a.text, i.index = a.index, i.displayText = a.displayText, i.key = a.key, i.isEmpty = a.isEmpty, r.length < o && (!a.children || 0 !== a.children.length) && (i.expanded = !!a.children) }))).done((function () { r.resolve(n(s, 0, 0).children || []) })), r }(e, t), p = c.dataFields, g = new a.Deferred; return (0, a.when)(f).done((function (e) { c.notifyProgress(.5), c.showGrandTotals && e[c.showTotalsPrior ? "unshift" : "push"]({ type: "GT", isEmpty: c.isEmptyGrandTotal }); var n = !1 === c.showTotals || p.length > 0 && p.length === c.hiddenTotals.length, f = p.length > 0 && c.hiddenValues.length === p.length; f && n && (l = 1), n && "tree" !== c.layout || function (e, t, n, i) { n = n || i, (0, m.foreachTree)(e, (function (a, s) { var r = a[0], l = (a[1] ? a[1].children : e) || [], d = t[a.length - 1]; "D" === r.type && r.expanded && (!1 !== d.showTotals || i) && (-1 !== s && l.splice(n ? s : s + 1, 0, (0, o.extend)({}, r, { children: null, type: "T", expanded: !!n || null, isAdditionalTotal: !0 })), n && (r.expanded = null)) })) }(e, t, c.showTotalsPrior, "tree" === c.layout), (0, a.when)((0, m.foreachTreeAsync)(e, (function (e) { var t = e[0]; t.children && 0 !== t.children.length || (t.depthSize = l - e.length + 1) }))).done((function () { h > 1 && function (e, t, n) { (0, m.foreachTree)(e, (function (e) { var i, a = e[0]; if (!a.children || 0 === a.children.length) for (a.children = [], i = 0; i < t.length; i++) { var o = "GT" === a.type, r = "T" === a.type, l = "D" === a.type; !1 === t[i].visible || o && -1 !== (0, s.inArray)(i, n.hiddenGrandTotals) || r && -1 !== (0, s.inArray)(i, n.hiddenTotals) || l && -1 !== (0, s.inArray)(i, n.hiddenValues) || a.children.push({ caption: t[i].caption, path: a.path, type: a.type, value: i, index: a.index, dataIndex: i, isMetric: !0, isEmpty: a.isEmpty && a.isEmpty[i] }) } })) }(e, i, c), !c.showEmpty && function (e) { (0, m.foreachTree)([{ children: e }], (function (t, n) { var i = t[0], a = (t[1] ? t[1].children : e) || [], o = i.isEmpty; o && o.length && (o = i.isEmpty.filter((function (e) { return e })).length === o.length), i && !i.children && o && (a.splice(n, 1), function e(t, n) { var i = t[n + 1]; !t[n].children.length && i && i.children && (i.children.splice((0, s.inArray)(t[n], i.children), 1), e(t, n + 1)) }(t, 1)) })) }(e), c.notifyProgress(.75), (0, a.when)((0, m.foreachTreeAsync)(e, (function (n) { var a = n[0], o = a.isMetric, l = t[n.length - 1] || {}; if ("D" !== a.type || o || (a.width = l.width), !0 !== f || "D" !== a.type) a.wordWrapEnabled = o ? i[a.dataIndex].wordWrapEnabled : l.wordWrapEnabled, a.isLast = !a.children || !a.children.length, a.isLast && (0, r.each)(c.sortBySummaryPaths, (function (e, t) { if ((0, u.isDefined)(a.dataIndex) || (t = t.slice(0)).pop(), function (e, t) { var n, i = e[0], a = (0, u.isString)(t[0]), o = i.dataIndex >= 0 ? e[1] : i; return n = a && -1 !== t[0].indexOf("&[") && o.key || !o.key ? (0, m.createPath)(e) : (0, r.map)(e, (function (e) { return e.dataIndex >= 0 ? e.value : e.text })).reverse(), "GT" === i.type && (n = n.slice(1)), n.join("/") === t.join("/") }(n, t)) return a.sorted = !0, !1 })), a.text = function (e, t, n) { var i = e.text; return (0, u.isDefined)(e.displayText) ? i = e.displayText : (0, u.isDefined)(e.caption) ? i = e.caption : "GT" === e.type && (i = n.texts.grandTotal), e.isAdditionalTotal && (i = (0, d.format)(n.texts.total || "", i)), i }(a, 0, c); else { var h = (n[1] ? n[1].children : e) || []; h.splice((0, s.inArray)(a, h), 1) } }))).done((function () { e.length || e.push({}), c.notifyProgress(1), g.resolve(e) })) })) })), g }; function n(e, t, n) { var i = (e[t] = e[t] || [])[n] = {}; if (e[t + 1]) { i.children = e[t + 1]; for (var a = t + 1; a < e.length; a++)e[a] = void 0; e.length = t + 1 } return i } return function (n, i, o, s, r) { var l = [], d = function (e) { var t = 0; return (0, m.foreachTree)(e, (function (e) { t = y.max(t, e.length) })), t }(n) || 1, c = new a.Deferred; return t(n, i, o, d, r).done((function (t) { !function (t, n, i, a, o) { var s, r, l = 0, d = [0]; (0, m.foreachTree)(n, (function (n) { var c = n[0]; for (r = c.isMetric ? i : n.length - 1; d.length - 1 < r;)d.push(d[d.length - 1]); s = d[r] || 0, l = e(t, { headerItem: c, index: s, lastIndex: l, depth: r, isHorizontal: a, isTree: o }), d.length = r, d.push(l) })) }(l, t, d, s, "tree" === r.layout), r.notifyProgress(1), c.resolve(l) })), c } }(); function n(e, t) { var n = []; return (0, r.each)(e, (function (e, i) { var a = (0, m.findField)(t, i.sortBySummaryField); a >= 0 && n.push((i.sortBySummaryPath || []).concat([a])) })), n } function l(e, t) { for (var n = 0, i = [], a = 0; a < e.length; a++)for (var o = 0; o < e[a].length; o++) { var s = a + ((e[a][o].rowspan || 1) - 1); if (i[a] && (n -= i[a], i[a] = 0), !1 === t(e[a][o], s, a, o, n)) break; i[a + (e[a][o].rowspan || 1)] = (i[a + (e[a][o].rowspan || 1)] || 0) + 1, n++ } } function _(e, t) { var n = 0, i = []; return (0, m.foreachTree)(e, (function (e) { var a = e[0], s = (0, m.createPath)(e); if (!a.children || !1 !== t.showTotals) { var r = (0, o.extend)(!0, {}, a, { visibleIndex: n++, path: s }); (0, u.isDefined)(r.index) ? i[r.index] = r : i.push(r) } })), i } function x(e, t, n) { if (t && "virtual" === t.option("scrolling.mode")) return new h.VirtualScrollController(t, (0, o.extend)({ hasKnownLastPage: function () { return !0 }, pageCount: function () { return y.ceil(this.totalItemsCount() / this.pageSize()) }, updateLoading: function () { }, itemsCount: function () { return this.pageIndex() < this.pageCount() - 1 ? this.pageSize() : this.totalItemsCount() % this.pageSize() }, items: function () { return [] }, viewportItems: function () { return [] }, onChanged: function () { }, isLoading: function () { return e.isLoading() }, changingDuration: function () { return e._dataSource.paginate() ? 300 : e._changingDuration || 0 } }, n)) } var b = { ctor: function (e) { var t = this, n = t._fireChanged.bind(t); e = t._options = e || {}, t.dataSourceChanged = (0, i.default)(), t._dataSource = t._createDataSource(e), t._rowsScrollController = x(t, e.component, { totalItemsCount: function () { return t.totalRowCount() }, pageIndex: function (e) { return t.rowPageIndex(e) }, pageSize: function () { return t.rowPageSize() }, load: function () { return t._rowsScrollController.pageIndex() >= this.pageCount() && t._rowsScrollController.pageIndex(this.pageCount() - 1), t._rowsScrollController.handleDataChanged((function () { t._dataSource.paginate() ? t._dataSource.load() : n.apply(this, arguments) })) } }), t._columnsScrollController = x(t, e.component, { totalItemsCount: function () { return t.totalColumnCount() }, pageIndex: function (e) { return t.columnPageIndex(e) }, pageSize: function () { return t.columnPageSize() }, load: function () { return t._columnsScrollController.pageIndex() >= this.pageCount() && t._columnsScrollController.pageIndex(this.pageCount() - 1), t._columnsScrollController.handleDataChanged((function () { t._dataSource.paginate() ? t._dataSource.load() : n.apply(this, arguments) })) } }), t._stateStoringController = new p.StateStoringController(e.component).init(), t._columnsInfo = [], t._rowsInfo = [], t._cellsInfo = [], t.expandValueChanging = (0, i.default)(), t.loadingChanged = (0, i.default)(), t.progressChanged = (0, i.default)(), t.scrollChanged = (0, i.default)(), t.load(), t._update(), t.changed = (0, i.default)() }, _fireChanged: function () { var e = new Date; this.changed && !this._lockChanged && this.changed.fire(), this._changingDuration = new Date - e }, _correctSkipsTakes: function (e, t, n, i, a, o) { var s = n ? e + n - 1 : e; a[i.length] = a[i.length] || 0, o[i.length] = o[i.length] || 0, s < t ? a[i.length]++ : o[i.length]++ }, _calculatePagingForRowExpandedPaths: function (e, t, n, i, a) { var o, s, r, l = this._rowsInfo, d = Math.min(e.rowSkip + e.rowTake, l.length), c = e.rowExpandedPaths, u = [], h = {}; for (c.forEach((function (e, t) { h[e] = t })), o = 0; o < d; o++) { for (n.length = t.length = u.length + 1, s = 0; s < l[o].length; s++) { var f = l[o][s]; if ("D" === f.type) { this._correctSkipsTakes(o, e.rowSkip, f.rowspan, u, t, n); var p = (r = f.path || r) && r.length > 1 ? h[r.slice(0, -1)] : -1; p >= 0 && (i[p] = t[u.length] || 0, a[p] = n[u.length] || 0), f.rowspan && u.push(f.rowspan) } } u = u.map((function (e) { return e - 1 })).filter((function (e) { return e > 0 })) } }, _calculatePagingForColumnExpandedPaths: function (e, t, n, i, a) { var o = {}, s = {}; (0, f.foreachColumnInfo)(this._columnsInfo, (function (t, n) { if ("D" === t.type && t.path && void 0 === t.dataIndex) { var i = t.colspan || 1, a = t.path.slice(0, -1).toString(); o[a] = o[a] || 0, s[a] = s[a] || 0, n + i <= e.columnSkip ? o[a]++ : n < e.columnSkip + e.columnTake && s[a]++ } })), t[0] = o[[]], n[0] = s[[]], e.columnExpandedPaths.forEach((function (e, t) { var n = o[e], r = s[e]; void 0 !== n && (i[t] = n), void 0 !== r && (a[t] = r) })) }, _processPagingForExpandedPaths: function (e, t, n, i) { var a = e[t + "ExpandedPaths"], o = a.map((function () { return 0 })), s = a.map((function () { return i ? e.pageSize : 0 })), r = [], l = []; i || ("row" === t ? this._calculatePagingForRowExpandedPaths(e, r, l, o, s) : this._calculatePagingForColumnExpandedPaths(e, r, l, o, s)), this._savePagingForExpandedPaths(e, t, n, r[0], l[0], o, s) }, _savePagingForExpandedPaths: function (e, t, n, i, a, s, r) { var l = e[t + "ExpandedPaths"]; e[t + "ExpandedPaths"] = [], e[t + "Skip"] = void 0 !== i ? i : e[t + "Skip"], e[t + "Take"] = void 0 !== a ? a : e[t + "Take"]; for (var d = 0; d < l.length; d++)if (r[d]) { var c, u = e.area && e.area !== t; n.push((0, o.extend)({ area: t, headerName: t + "s" }, e, (v(c = {}, t + "Skip", s[d]), v(c, t + "Take", r[d]), v(c, u ? "oppositePath" : "path", l[d]), c))) } }, _handleCustomizeStoreLoadOptions: function (e, t) { var n = this, i = e[0], a = this._rowsScrollController; if (this._dataSource.paginate() && a) { var o = a._dataSource.pageSize(); "rows" === i.headerName ? (i.rowSkip = 0, i.rowTake = o, i.rowExpandedPaths = []) : (i.rowSkip = a.beginPageIndex() * o, i.rowTake = (a.endPageIndex() - a.beginPageIndex() + 1) * o, this._processPagingForExpandedPaths(i, "row", e, t)) } var s = this._columnsScrollController; if (this._dataSource.paginate() && s) { var r = s._dataSource.pageSize(); e.forEach((function (i, a) { "columns" === i.headerName ? (i.columnSkip = 0, i.columnTake = r, i.columnExpandedPaths = []) : (i.columnSkip = s.beginPageIndex() * r, i.columnTake = (s.endPageIndex() - s.beginPageIndex() + 1) * r, n._processPagingForExpandedPaths(i, "column", e, t)) })) } }, load: function () { var e = this, t = this._stateStoringController; t.isEnabled() && !t.isLoaded() ? t.load().always((function (t) { t ? e._dataSource.state(t) : e._dataSource.load() })) : e._dataSource.load() }, calculateVirtualContentParams: function (e) { var t = this._rowsScrollController, n = this._columnsScrollController; if (t && n) return t.viewportItemSize(e.virtualRowHeight), t.viewportSize(e.viewportHeight / t.viewportItemSize()), t.setContentSize(e.itemHeights), n.viewportItemSize(e.virtualColumnWidth), n.viewportSize(e.viewportWidth / n.viewportItemSize()), n.setContentSize(e.itemWidths), (0, c.deferUpdate)((function () { n.loadIfNeed(), t.loadIfNeed() })), this.scrollChanged.fire({ left: n.getViewportPosition(), top: t.getViewportPosition() }), { contentTop: t.getContentOffset(), contentLeft: n.getContentOffset(), width: n.getVirtualContentSize(), height: t.getVirtualContentSize() } }, setViewportPosition: function (e, t) { this._rowsScrollController.setViewportPosition(t || 0), this._columnsScrollController.setViewportPosition(e || 0) }, subscribeToWindowScrollEvents: function (e) { this._rowsScrollController && this._rowsScrollController.subscribeToWindowScrollEvents(e) }, updateWindowScrollPosition: function (e) { this._rowsScrollController && this._rowsScrollController.scrollTo(e) }, updateViewOptions: function (e) { (0, o.extend)(this._options, e), this._update() }, _handleExpandValueChanging: function (e) { this.expandValueChanging.fire(e) }, _handleLoadingChanged: function (e) { this.loadingChanged.fire(e) }, _handleProgressChanged: function (e) { this.progressChanged.fire(e) }, _handleFieldsPrepared: function (e) { this._options.onFieldsPrepared && this._options.onFieldsPrepared(e) }, _createDataSource: function (e) { var t, n = this, i = e.dataSource; return n._isSharedDataSource = i instanceof g.default, t = n._isSharedDataSource ? i : new g.default(i), n._expandValueChangingHandler = n._handleExpandValueChanging.bind(n), n._loadingChangedHandler = n._handleLoadingChanged.bind(n), n._fieldsPreparedHandler = n._handleFieldsPrepared.bind(n), n._customizeStoreLoadOptionsHandler = n._handleCustomizeStoreLoadOptions.bind(n), n._changedHandler = function () { n._update(), n.dataSourceChanged.fire() }, n._progressChangedHandler = function (e) { n._handleProgressChanged(.8 * e) }, t.on("changed", n._changedHandler), t.on("expandValueChanging", n._expandValueChangingHandler), t.on("loadingChanged", n._loadingChangedHandler), t.on("progressChanged", n._progressChangedHandler), t.on("fieldsPrepared", n._fieldsPreparedHandler), t.on("customizeStoreLoadOptions", n._customizeStoreLoadOptionsHandler), t }, getDataSource: function () { return this._dataSource }, isLoading: function () { return this._dataSource.isLoading() }, beginLoading: function () { this._dataSource.beginLoading() }, endLoading: function () { this._dataSource.endLoading() }, _update: function () { var e = this, i = e._dataSource, o = e._options, s = i.getAreaFields("column"), l = i.getAreaFields("row"), d = i.getAreaFields("data"), c = "row" === o.dataFieldArea ? d : [], h = "row" !== o.dataFieldArea ? d : [], f = i.getData(), p = function (e) { var t = []; return (0, r.each)(e, (function (e, n) { !1 === n.showTotals && t.push(e) })), t }(d), g = function (e) { var t = []; return e.forEach((function (e, n) { (void 0 === e.showValues && !1 === e.showTotals || !1 === e.showValues) && t.push(n) })), t }(d), m = function (e, t) { var n = []; return (0, r.each)(e, (function (e, t) { !1 === t.showGrandTotals && n.push(e) })), 0 === t.length && n.length === e.length && (n = []), n }(d, s), v = !(d.length > 0) || m.length !== d.length, y = { isEmptyGrandTotal: f.isEmptyGrandTotalRow, texts: o.texts || {}, hiddenTotals: p, hiddenValues: g, hiddenGrandTotals: [], showTotals: o.showRowTotals, showGrandTotals: !1 !== o.showRowGrandTotals && v, sortBySummaryPaths: n(s, d), showTotalsPrior: "rows" === o.showTotalsPrior || "both" === o.showTotalsPrior, showEmpty: !o.hideEmptySummaryCells, layout: o.rowHeaderLayout, fields: l, dataFields: d, progress: 0 }, w = { isEmptyGrandTotal: f.isEmptyGrandTotalColumn, texts: o.texts || {}, hiddenTotals: p, hiddenValues: g, hiddenGrandTotals: m, showTotals: o.showColumnTotals, showTotalsPrior: "columns" === o.showTotalsPrior || "both" === o.showTotalsPrior, showGrandTotals: !1 !== o.showColumnGrandTotals && v, sortBySummaryPaths: n(l, d), showEmpty: !o.hideEmptySummaryCells, fields: s, dataFields: d, progress: 0 }, x = function (t) { this.progress = t, e._handleProgressChanged(.8 + .1 * y.progress + .1 * w.progress) }; y.notifyProgress = x, w.notifyProgress = x, (0, u.isDefined)(f.grandTotalRowIndex) || (f.grandTotalRowIndex = _(f.rows, y).length), (0, u.isDefined)(f.grandTotalColumnIndex) || (f.grandTotalColumnIndex = _(f.columns, w).length), i._changeLoadingCount(1), (0, a.when)(t(f.columns, s, h, !0, w), t(f.rows, l, c, !1, y)).always((function () { i._changeLoadingCount(-1) })).done((function (t, n) { e._columnsInfo = t, e._rowsInfo = n, e._rowsScrollController && e._columnsScrollController && e.changed && !e._dataSource.paginate() && (e._rowsScrollController.reset(), e._columnsScrollController.reset(), e._lockChanged = !0, e._rowsScrollController.load(), e._columnsScrollController.load(), e._lockChanged = !1) })).done((function () { e._fireChanged(), e._stateStoringController.isEnabled() && !e._dataSource.isLoading() && (e._stateStoringController.state(e._dataSource.state()), e._stateStoringController.save()) })) }, getRowsInfo: function (e) { var t, n = this._rowsInfo, i = this._rowsScrollController; if (i && !e) { var a = i.beginPageIndex() * this.rowPageSize(), s = i.endPageIndex() * this.rowPageSize() + this.rowPageSize(), r = [], d = 1; return l(n, (function (e, n, i, l, c) { var u = i < a ? 0 : i - a, h = e; if (n >= a && i < s) r[u] = r[u] || [], t = i < a ? e.rowspan - (a - i) || 1 : e.rowspan, a + u + t > s && (t = s - (u + a) || 1), t !== e.rowspan && (h = (0, o.extend)({}, h, { rowspan: t })), r[u].push(h), d = y.max(d, c + 1); else if (void 0 > s) return !1 })), l(r, (function (e, t, n, i, a) { a + (e.colspan || 1) > d && (r[n][i] = (0, o.extend)({}, e, { colspan: d - a || 1 })) })), r } return n }, getColumnsInfo: function (e) { var t = this._columnsInfo, n = this._columnsScrollController; if (n && !e) { var i = n.beginPageIndex() * this.columnPageSize(), a = n.endPageIndex() * this.columnPageSize() + this.columnPageSize(); t = (0, f.createColumnsInfo)(t, i, a) } return t }, totalRowCount: function () { return this._rowsInfo.length }, rowPageIndex: function (e) { return void 0 !== e && (this._rowPageIndex = e), this._rowPageIndex || 0 }, totalColumnCount: function () { var e = 0; if (this._columnsInfo && this._columnsInfo.length) for (var t = 0; t < this._columnsInfo[0].length; t++)e += this._columnsInfo[0][t].colspan || 1; return e }, rowPageSize: function (e) { return void 0 !== e && (this._rowPageSize = e), this._rowPageSize || 20 }, columnPageSize: function (e) { return void 0 !== e && (this._columnPageSize = e), this._columnPageSize || 20 }, columnPageIndex: function (e) { return void 0 !== e && (this._columnPageIndex = e), this._columnPageIndex || 0 }, getCellsInfo: function (t) { var n = this.getRowsInfo(t), i = this.getColumnsInfo(t), a = this._dataSource.getData(), o = this._options.texts || {}; return function (t, n, i, a, o, s) { var r = [], d = "row" === o, c = i.values; return c.length && l(t, (function (t, o) { var l = r[o] = [], u = c[t.dataSourceIndex >= 0 ? t.dataSourceIndex : i.grandTotalRowIndex] || []; t.isLast && (0, f.foreachColumnInfo)(n, (function (n, o) { var r = (d ? t.dataIndex : n.dataIndex) || 0, c = a[r]; if (n.isLast && c) { var h = u[n.dataSourceIndex >= 0 ? n.dataSourceIndex : i.grandTotalColumnIndex]; Array.isArray(h) || (h = [h]); var f = h[r]; l[o] = { text: e(f, c, s), value: f, format: c.format, dataType: c.dataType, columnType: n.type, rowType: t.type, rowPath: t.path || [], columnPath: n.path || [], dataIndex: r }, c.width && (l[o].width = c.width) } })) })), r }(n, i, a, this._dataSource.getAreaFields("data"), this._options.dataFieldArea, o.dataNotAvailable) }, dispose: function () { this._isSharedDataSource ? (this._dataSource.off("changed", this._changedHandler), this._dataSource.off("expandValueChanging", this._expandValueChangingHandler), this._dataSource.off("loadingChanged", this._loadingChangedHandler), this._dataSource.off("progressChanged", this._progressChangedHandler), this._dataSource.off("fieldsPrepared", this._fieldsPreparedHandler), this._dataSource.off("customizeStoreLoadOptions", this._customizeStoreLoadOptionsHandler)) : this._dataSource.dispose(), this._columnsScrollController && this._columnsScrollController.dispose(), this._rowsScrollController && this._rowsScrollController.dispose(), this._stateStoringController.dispose(), this.expandValueChanging.empty(), this.changed.empty(), this.loadingChanged.empty(), this.progressChanged.empty(), this.scrollChanged.empty(), this.dataSourceChanged.empty() } }; return w(b, "applyPartialDataSource"), w(b, "collapseHeaderItem"), w(b, "expandHeaderItem"), w(b, "getData"), w(b, "isEmpty"), b }()); t.DataController = x }, function (e, t, n) { "use strict"; t.LocalStore = void 0; var i = n(6), a = m(n(42)), o = m(n(44)), s = m(n(55)), r = n(52), l = m(n(108)), d = n(20), c = m(n(13)), u = n(4), h = n(0), f = n(3), p = n(46), g = m(n(54)); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = c.default.inherit(function () { var e = { year: function (e) { return e && e.getFullYear() }, quarter: function (e) { return e && Math.floor(e.getMonth() / 3) + 1 }, month: function (e) { return e && e.getMonth() + 1 }, day: function (e) { return e && e.getDate() }, dayOfWeek: function (e) { return e && e.getDay() } }; function t(e) { return -1 !== e.indexOf(".") ? (0, d.compileGetter)(e) : function (t) { return t[e] } } function n(e) { return function (t) { var n = e(t); return !n || n instanceof Date || (n = s.default.deserializeDate(n)), n } } function c(i) { (0, f.each)(i || [], (function (i, a) { var o, s, r, l, d = a.dataField, u = a.levels; if (!a.selector) { if (l = d ? t(d) : function (e) { return e }, u && c(u), "date" === a.dataType) { s = e[a.groupInterval]; var f = n(l); o = function (e) { var t = f(e); return s ? s(t) : t } } else "number" === a.dataType ? (r = (0, h.isNumeric)(a.groupInterval) && a.groupInterval > 0 && a.groupInterval, o = function (e) { var t = l(e); return (0, h.isString)(t) && (t = Number(t)), r ? Math.floor(t / r) * r : t }) : o = l; (0, p.setDefaultFieldValueFormatting)(a), (0, p.setFieldProperty)(a, "selector", o) } })) } function m(e, t, n, i) { var a = [0], o = t.headerName === i ? t.path.length : 0, s = "rows" === i ? t.rowExpandedPaths : t.columnExpandedPaths; return function e(t, n, i, a, o) { var s, r, l = n.dimensions[a], d = n.expandedPathsHash; l && (r = function (e, t, n, i) { var a = i[n]; return a || (a = { value: e, index: i.length++ }, i[n] = a, t.push(a)), a }(s = l.selector(n.data), i, o = void 0 !== o ? o + "/./" + s : s + "", n.childrenHash), t.push(r.index), (d && d[o] || l.expanded) && (r.children || (r.children = []), e(t, n, r.children, a + 1, o))) }(a, { data: e, childrenHash: n[i + "Hash"], dimensions: t[i], expandedPathsHash: t.headerName !== i && s && s.hash }, n[i], o), a } function _(e, t, n, i) { var a, o, s, r, l = [], d = m(e, i, n, "rows"), c = m(e, i, n, "columns"); for (o = 0; o < d.length; o++)for (t[s = d[o]] = t[s] || [], a = 0; a < c.length; a++)r = c[a], l.push(t[s][r] = t[s][r] || []); return l } function v(e) { if (e) { var t = e.hash = {}; e.forEach((function (e) { var n = e.map((function (e) { return e + "" })).join("/./"); t[n] = !0 })) } } function y(e) { e.rows = e.rows || [], e.columns = e.columns || [], e.filters = e.filters || [], v(e.columnExpandedPaths), v(e.rowExpandedPaths), c(e.columns), c(e.rows), c(e.values), c(e.filters) } function w(e) { return "custom" === e.summaryType ? (e.calculateCustomSummary = e.calculateCustomSummary || u.noop, { seed: function () { var t = { summaryProcess: "start", totalValue: void 0 }; return e.calculateCustomSummary(t), t }, step: function (t, n) { return t.summaryProcess = "calculate", t.value = n, e.calculateCustomSummary(t), t }, finalize: function (t) { return t.summaryProcess = "finalize", delete t.value, e.calculateCustomSummary(t), t.totalValue } }) : a.default.aggregators[e.summaryType] || a.default.aggregators.count } function x(e, t, n) { for (var i = 0; i < e.length; i++)for (var a = e[i], o = a.selector(n), s = w(a), r = "function" == typeof s.seed, l = 0; l < t.length; l++) { var d = t[l]; d.length <= i && (d[i] = r ? s.seed() : s.seed), void 0 === d[i] ? d[i] = o : (0, h.isDefined)(o) && (d[i] = s.step(d[i], o)) } } function b(e, t) { var n = e && e.valueOf(), i = t && t.valueOf(); if (Array.isArray(e)) { t = t || []; for (var a = 0; a < e.length; a++)if ((n = e[a] && e[a].valueOf()) !== (i = t[a] && t[a].valueOf())) return !1; return !0 } return n === i } function C(e) { var t = []; return (0, f.each)(e, (function (e, n) { var i = n.filterValues || []; if (!n.groupName || !(0, h.isNumeric)(n.groupIndex)) { i.length && t.push((function (e) { for (var t = n.levels ? function (e, t) { var n = []; return (0, f.each)(e, (function (e, i) { n.push(i.selector(t)) })), n }(n.levels, e) : n.selector(e), a = !1, o = 0; o < i.length; o++)if (b(i[o], t)) { a = !0; break } return "exclude" === n.filterType ? !a : a })) } })), t } function k(e) { var t = C(e.rows).concat(C(e.columns)).concat(C(e.filters)), n = e[e.headerName], i = e.path; return n && t.push((function (e) { for (var t, a = 0; a < i.length; a++)if (t = n[a].selector(e), (0, d.toComparable)(t, !0) !== (0, d.toComparable)(i[a], !0)) return !1; return !0 })), function (e) { for (var n = 0; n < t.length; n++)if (!t[n](e)) return !1; return !0 } } function I(e, t, n) { var a, o, s = { columns: [], rows: [], columnsHash: { length: 1 }, rowsHash: { length: 1 } }, r = [], l = new i.Deferred, d = 0, c = k(t); return function i() { for (var u, h, p = new Date, g = d; d < e.length; d++) { if (d > g && d % 1e4 == 0 && new Date - p >= 300) return n(d / e.length), void setTimeout(i, 0); o = e[d], c(o) && (a = _(o, r, s, t), x(t.values, a, o)) } u = t.values, h = r, (0, f.each)(u, (function (e, t) { var n = w(t); n.finalize && (0, f.each)(h, (function (t, i) { (0, f.each)(i, (function (t, i) { i && void 0 !== i[e] && (i[e] = n.finalize(i[e])) })) })) })), n(1), l.resolve({ rows: s.rows, columns: s.columns, values: r, grandTotalRowIndex: 0, grandTotalColumnIndex: 0 }) }(), l } function S(e, t) { var n = e.filter(); return e.store() instanceof l.default && n ? (n = A(n, t), (0, o.default)(e.items()).filter(n).toArray()) : e.items() } function E(e, t, n) { var a = new i.Deferred, o = function (n) { e.store() instanceof g.default && (n.storeLoadOptions.filter = A(n.storeLoadOptions.filter, t)) }; if (e.on("customizeStoreLoadOptions", o), !e.isLoaded() || n) { var s = n ? e.load() : e.reload(); (0, i.when)(s).done((function () { E(e, t).done((function () { a.resolve(S(e, t)) })).fail(a.reject) })).fail(a.reject) } else a.resolve(S(e, t)); return a.always((function () { e.off("customizeStoreLoadOptions", o) })) } function D(e, i) { i.forEach((function (i) { if (i.dataField && "date" === i.dataType) { var a = n(t(i.dataField)); e[i.dataField] = function (e) { return a(e) } } })) } function T(e) { var t = {}; return Array.isArray(e) ? D(t, e) : e && ["rows", "columns", "filters"].forEach((function (n) { e[n] && D(t, e[n]) })), t } function A(e, t) { if (!Array.isArray(e)) return e; e = e.slice(0), (0, h.isString)(e[0]) && (e[1] instanceof Date || e[2] instanceof Date) && (e[0] = t[e[0]]); for (var n = 0; n < e.length; n++)e[n] = A(e[n], t); return e } return { ctor: function (e) { this._progressChanged = e.onProgressChanged || u.noop, this._dataSource = new r.DataSource(e), this._dataSource.paginate(!1) }, getFields: function (e) { var t = this._dataSource, n = new i.Deferred; return E(t, T(e)).done((function (t) { n.resolve((0, p.discoverObjectFields)(t, e)) })).fail(n.reject), n }, key: function () { return this._dataSource.key() }, load: function (e) { var t = this, n = t._dataSource, a = new i.Deferred; return y(e), E(n, T(e), e.reload).done((function (n) { (0, i.when)(I(n, e, t._progressChanged)).done(a.resolve) })).fail(a.reject), a }, filter: function () { var e = this._dataSource; return e.filter.apply(e, arguments) }, supportPaging: function () { return !1 }, getDrillDownItems: function (e, t) { t = t || {}, y(e = e || {}); for (var n, i = [], a = this._dataSource.items(), o = t.maxRowCount, s = t.customColumns, r = k(e), l = k({ rows: (0, p.getFiltersByPath)(e.rows, t.rowPath), columns: (0, p.getFiltersByPath)(e.columns, t.columnPath), filters: [] }), d = 0; d < a.length; d++) { if (l(a[d]) && r(a[d])) { if (s) { n = {}; for (var c = 0; c < s.length; c++)n[s[c]] = a[d][s[c]] } else n = a[d]; i.push(n) } if (o > 0 && i.length === o) break } return i } } }()).include(p.storeDrillDownMixin); t.LocalStore = _ }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = h(n(13)), o = n(1), s = n(3), r = n(52), l = n(6), d = n(46), c = n(328), u = h(n(55)); function h(e) { return e && e.__esModule ? e : { default: e } } function f(e) { return function (e) { if (Array.isArray(e)) return p(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return p(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return p(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function p(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function g(e, t) { var n = []; return (0, s.each)(e, (function (i, a) { n.push({ selector: a.dataField, groupInterval: a.groupInterval, desc: t && "desc" === a.sortOrder, isExpanded: i < e.length - 1 }) })), n } function m(e, t, n, i) { return [[e, i ? "<" : ">=", n], i ? "or" : "and", [e, i ? ">=" : "<", n + t]] } function _(e, t) { var n = function (e) { var t = e.dataField, n = e.groupInterval; return "date" === e.dataType && "string" == typeof n && ("quarter" === n.toLowerCase() && (n = "Month"), t = t + "." + (0, d.capitalizeFirstLetter)(n)), t }(e), a = "exclude" === e.filterType, o = [n, a ? "<>" : "=", t]; return (0, i.isDefined)(e.groupInterval) && ("string" == typeof e.groupInterval && "quarter" === e.groupInterval.toLowerCase() ? o = m(n, 3, 3 * (t - 1) + 1, a) : "number" == typeof e.groupInterval && "date" !== e.dataType && (o = m(n, e.groupInterval, t, a))), o } function v(e) { var t = []; return (0, s.each)(e, (function (e, n) { var i = function e(t, n) { var i = []; return t.searchValue ? [t.dataField, "contains", t.searchValue] : (n = "exclude" === t.filterType ? n || "and" : n || "or", (0, s.each)(t.filterValues, (function (a, o) { var s = []; Array.isArray(o) ? t.levels && t.levels.length && (s = e({ filterValues: o, filterType: t.filterType, levels: t.levels }, "and")) : s = _(t.levels ? t.levels[a] : t, o); s.length && (i.length && i.push(n), i.push(s)) })), i) }(n); if (!i.length) return []; t.length && t.push("and"), t.push(i) })), 1 === t.length && (t = t[0]), t } function y(e, t) { var n = function (e) { return e && e.length }; return n(e) && n(t) ? [e, "and", t] : n(e) ? e : t } function w(e, t, n, a, o) { e[n] = e[n] || [], e[n][a] = e[n][a] || [], (0, i.isDefined)(e[n][a][o]) || (e[n][a][o] = t) } function x(e, t) { return t && "number" === t.dataType && (0, i.isString)(e) ? Number(e) : !t || "date" !== t.dataType || t.groupInterval || e instanceof Date ? e : u.default.deserializeDate(e) } function b(e, t, n, i) { var a = [], o = [], r = i.rowHash, l = i.columnHash; if (t && t.summary && (0, s.each)(t.summary, (function (e, t) { w(i.values, t, i.grandTotalRowIndex, i.grandTotalColumnIndex, e) })), t && t.groupCount >= 0) { var d = n.rows.length ? n.rowSkip : n.columnSkip; (e = f(Array(d)).concat(e)).length = t.groupCount } function u(e, t, n, a, o) { var s, r, l, d = i[t + "Hash"], c = n.slice(0, a + 1).join("/"); return void 0 !== d[c] ? r = d[c] : (r = { value: x(e.key, o), index: i[t + "Index"]++ }, l = n.slice(0, a).join("/"), (a > 0 && void 0 !== d[l] ? (s = d[l]).children = s.children || [] : i[t + "s"]).push(r), d[c] = r), r } return (0, c.forEachGroup)(e, (function (e, t) { var d, c, h = t >= n.rows.length ? n.rows.length : t, f = t >= n.rows.length ? t - n.rows.length : 0; if (!(t >= n.rows.length && f >= n.columns.length)) { t < n.rows.length && (o = []), t >= n.rows.length ? e ? (o[f] = e.key + "", d = u(e, "column", o, f, n.columns[f]), c = r[a.slice(0, h + 1).join("/")]) : i.columns.push({}) : e ? (a[h] = e.key + "", c = u(e, "row", a, h, n.rows[h]), d = l[o.slice(0, f + 1).join("/")]) : i.rows.push({}); var p = c && c.index || i.grandTotalRowIndex, g = d && d.index || i.grandTotalColumnIndex; (0, s.each)(e && e.summary || [], (function (e, t) { w(i.values, t, p, g, e) })) } })), i } function C(e) { return (e || []).filter((function (e) { return e.filterValues && e.filterValues.length || e.searchValue })) } function k(e, t) { if (e.headerName) { if (t === e.headerName) return e.path.length; if (e.oppositePath) return e.oppositePath.length } return 0 } function I(e, t, n, i) { var a = [], r = n > i ? 0 : i, l = e.headerName !== t ? e[t].slice(r, n) : [], d = "rows" === t ? e.rowExpandedPaths : e.columnExpandedPaths; return (0, s.each)(l, (function (e, t) { var i = []; (0, s.each)(d, (function (t, a) { if (a = a.slice(r, n), e < a.length) { var o = a[e]; -1 === i.indexOf(o) && i.push(o) } })), i.length && a.push((0, o.extend)({}, t, { filterType: "include", filterValues: i })) })), a } function S(e, t, n, i, a, s) { var r, l = ("columns" === t ? e.columnExpandedPaths : e.rowExpandedPaths) || [], d = "columns" === t ? "rows" : "columns", c = e[t], u = []; if (l.length) for (var h = n; h < i + 1; h++)(r = { filters: a.concat(I(e, t, h, s)) })[t] = c.slice(n, h + 1), r[d] = [], u.push((0, o.extend)({}, e, r)); else (r = { filters: a })[t] = c.slice(n, i + 1), r[d] = [], u.push((0, o.extend)({}, e, r)); return u[0].includeTotalSummary = !0, u } function E(e) { var t = 0; return (0, s.each)(e, (function (e, n) { if (!n.expanded) return t = e, !1 })), t } function D(e) { var t = (0, d.getExpandedLevel)(e, "rows"), n = (0, d.getExpandedLevel)(e, "columns"), i = e.filters || [], a = k(e, "columns"), s = E(e.columns), r = E(e.rows), l = k(e, "rows"), c = [], u = S(e, "columns", a, n, i = i.concat(C(e.rows)).concat(C(e.columns)).concat(function (e) { return (0, d.getFiltersByPath)(e[e.headerName], e.path).concat((0, d.getFiltersByPath)(e["rows" === e.headerName ? "columns" : "rows"], e.oppositePath || [])) }(e)), s); if (e.rows.length && e.columns.length) { "rows" !== e.headerName && (c = c.concat(u)); for (var h = l; h < t + 1; h++)for (var f = e.rows.slice(l, h + 1), p = I(e, "rows", h, r), g = a; g < n + 1; g++) { var m = (0, o.extend)({}, e, { columns: e.columns.slice(a, g + 1), rows: f, filters: i.concat(I(e, "columns", g, s)).concat(p) }); c.push(m) } } else c = e.columns.length ? u : S(e, "rows", l, t, i, r); return c } function T(e) { (0, s.each)(e || [], (function (e, t) { var n = t.levels; n && T(n), (0, d.setDefaultFieldValueFormatting)(t) })) } var A = a.default.inherit({ ctor: function (e) { this._dataSource = new r.DataSource(e), this._store = this._dataSource.store() }, getFields: function (e) { var t = new l.Deferred; return this._store.load({ skip: 0, take: 20 }).done((function (n) { t.resolve((0, d.discoverObjectFields)(n, e)) })).fail(t.reject), t }, key: function () { return this._store.key() }, load: function (e) { var t = this, n = new l.Deferred, i = { rows: [], columns: [], values: [], grandTotalRowIndex: 0, grandTotalColumnIndex: 0, rowHash: {}, columnHash: {}, rowIndex: 1, columnIndex: 1 }, a = D(e), o = []; return T(e.rows), T(e.columns), T(e.filters), (0, s.each)(a, (function (n, i) { o.push(t._store.load(function (e, t, n) { var i = v(e.filters), a = g(e.rows, e.rowTake).concat(g(e.columns, e.columnTake)), o = { groupSummary: [], totalSummary: [], group: a.length ? a : void 0, take: a.length ? void 0 : 1 }; return e.rows.length && e.rowTake ? (o.skip = e.rowSkip, o.take = e.rowTake, o.requireGroupCount = !0) : e.columns.length && e.columnTake && !n && (o.skip = e.columnSkip, o.take = e.columnTake, o.requireGroupCount = !0), t && (i = y(i, t)), i.length && (o.filter = i), (0, s.each)(e.values, (function (t, n) { var i = { selector: n.dataField, summaryType: n.summaryType || "count" }; o.groupSummary.push(i), e.includeTotalSummary && o.totalSummary.push(i) })), o }(i, t.filter(), e.rows.length))) })), l.when.apply(null, o).done((function () { var e = o.length > 1 ? arguments : [arguments]; (0, s.each)(e, (function (e, t) { b(t[0], t[1], a[e], i) })), n.resolve({ rows: i.rows, columns: i.columns, values: i.values, grandTotalRowIndex: i.grandTotalRowIndex, grandTotalColumnIndex: i.grandTotalColumnIndex }) })).fail(n.reject), n }, filter: function () { return this._dataSource.filter.apply(this._dataSource, arguments) }, supportPaging: function () { return !1 }, createDrillDownDataSource: function (e, t) { e = e || {}, t = t || {}; var n = this._store, i = v((0, d.getFiltersByPath)(e.rows, t.rowPath).concat((0, d.getFiltersByPath)(e.columns, t.columnPath)).concat(C(e.rows)).concat(e.filters || []).concat(C(e.columns))); return new r.DataSource({ load: function (e) { return n.load((0, o.extend)({}, e, { filter: y(i, e.filter), select: t.customColumns })) } }) } }); t.default = A, e.exports = t.default }, function (e, t, n) { "use strict"; t.forEachGroup = void 0; t.forEachGroup = function e(t, n, i) { t = t || [], i = i || 0; for (var a = 0; a < t.length; a++) { var o = t[a]; n(o, i), o && o.items && o.items.length && e(o.items, n, i + 1) } } }, function (e, t, n) { "use strict"; t.sort = function (e, t, n) { s(t, e, "rows", n), s(t, e, "columns", n) }; var i = n(46), a = n(0), o = n(3); function s(e, t, n, s) { var r = t[n] || [], l = t.headerName === n ? t.path.length : 0, d = []; (0, i.foreachDataLevel)(e[n], (function (l, c) { var u = r[c] || {}, h = d[c] = d[c] || function (e, t, n, s, r) { var l = r ? "asc" : e.sortOrder, d = function (e, t) { var n = "text"; "none" === e ? n = "index" : (t || "displayText" !== e) && (n = "value"); return n }(e.sortBy, r), c = e.sortingMethod ? function (t, n) { return e.sortingMethod(t, n) } : (0, i.getCompareFunction)((function (e) { return e[d] })), u = !r && function (e, t, n, s) { var r = t.values, l = (0, i.findField)(n.values, e.sortBySummaryField), d = "rows" === s, c = d ? t.columns : t.rows, u = d ? t.grandTotalRowIndex : t.grandTotalColumnIndex, h = e.sortBySummaryPath || [], f = h.length ? function (e, t) { var n = null, a = (t || []).join("."); a.length && (0, i.foreachTree)(e, (function (e) { var t = e[0], s = (0, i.createPath)(e).join("."), r = (0, o.map)(e, (function (e) { return e.text })).reverse().join("."); if (a === s || t.key && r === a) return n = e[0].index, !1 })); return n }(c, h) : u; if (r && r.length && l >= 0 && (0, a.isDefined)(f)) return function (e) { var t = d ? e.index : f, n = d ? f : e.index, i = ((r[t] || [[]])[n] || [])[l]; return (0, a.isDefined)(i) ? i : null } }(e, t, n, s), h = u && (0, i.getCompareFunction)(u); return function (e, t) { var n = h && h(e, t) || c(e, t); return "desc" === l ? -n : n } }(u, e, t, n, s); l.sort(h) }), l) } }, function (e, t, n) { "use strict"; t.applyDisplaySummaryMode = function (e, t) { var n = [], i = [{ index: t.grandTotalColumnIndex, children: t.columns }], a = [{ index: t.grandTotalRowIndex, children: t.rows }], o = e.values, r = { fields: {}, positions: {} }; t.values = t.values || [], (0, s.foreachTree)(i, (function (e) { e[0].isEmpty = [] }), !1), (0, s.foreachTree)(a, (function (a) { var l = a[0]; l.isEmpty = [], t.values[l.index] = t.values[l.index] || [], (0, s.foreachTree)(i, (function (i) { var s, d = i[0]; v(t, l.index, d.index, !1); for (var c = 0; c < o.length; c++) { var u = o[c], h = n[c] = void 0 === n[c] ? _(u) : n[c]; if (s = !1, h) { var f = new m(i, a, t, e, c, r), p = f.cell(), g = p[c] = h(f); p.postProcessedFlags[c] = !0, s = null == g } void 0 === d.isEmpty[c] && (d.isEmpty[c] = !0), void 0 === l.isEmpty[c] && (l.isEmpty[c] = !0), s || (l.isEmpty[c] = d.isEmpty[c] = !1) } }), !1) }), !1), t.isEmptyGrandTotalRow = a[0].isEmpty, t.isEmptyGrandTotalColumn = i[0].isEmpty }, t.applyRunningTotal = function (e, t) { var n = [], i = [{ index: t.grandTotalColumnIndex, children: t.columns }], a = [{ index: t.grandTotalRowIndex, children: t.rows }], o = e.values, r = { fields: {}, positions: {} }; t.values = t.values || [], (0, s.foreachTree)(a, (function (a) { var l = a[0]; t.values[l.index] = t.values[l.index] || [], (0, s.foreachTree)(i, (function (i) { var s = i[0]; v(t, l.index, s.index, !0); for (var d = 0; d < o.length; d++) { var c = o[d], u = n[d] = void 0 === n[d] ? f(c) : n[d]; if (u) { var h = new m(i, a, t, e, d, r), p = h.cell(); p[d] = u(h), p.postProcessedFlags[d] = !0 } } }), !1) }), !1) }, t.createMockSummaryCell = function (e, t, n) { var a = new m([], [], {}, e, 0); return a.value = function (a) { if ((0, i.isDefined)(a)) { var o = (0, s.findField)(t, a), r = t[o]; n[o] || !r || (0, i.isDefined)(r.area) || (e.values.push(r), n[o] = !0) } }, a.grandTotal = function () { return this }, a.children = function () { return [] }, a }; var i = n(0), a = n(1), o = n(14), s = n(46), r = "row", l = function (e, t) { var n = e / t; return (0, i.isDefined)(e) && !isNaN(n) || (n = null), n }, d = function (e, t) { return l(e.value(), e.grandTotal(t).value()) }, c = function (e, t) { var n = e.parent(t), i = n ? n.value() : e.value(); return l(e.value(), i) }, u = function (e) { return function (t) { var n = t.prev("column", e), a = n && n.value(); return (0, i.isDefined)(a) && (0, i.isDefined)(t.value()) ? t.value() - a : null } }, h = { percentOfColumnTotal: function (e) { return c(e, r) }, percentOfRowTotal: function (e) { return c(e, "column") }, percentOfColumnGrandTotal: function (e) { return d(e, r) }, percentOfRowGrandTotal: function (e) { return d(e, "column") }, percentOfGrandTotal: function (e) { return d(e) } }, f = function (e) { if (e.runningTotal) { var t = "column" === e.runningTotal ? r : "column"; return function (n) { var a = e.allowCrossGroupCalculation ? function e(t, n) { if (t && t.parent(n)) { var i = t.prev(n); return i || (i = e(t.parent(n), n)), i } }(n, t) : n.prev(t, !1), o = n.value(!0), s = a && a.value(!0); return (0, i.isDefined)(s) && (0, i.isDefined)(o) ? o = s + o : (0, i.isDefined)(s) && (o = s), o } } }; function p(e, t, n) { var a = { index: -1 }; if (!(0, i.isObject)(t)) if (n.fields[t]) t = n[t]; else { var r = e.columns.concat(e.rows).concat(e.values), l = (0, s.findField)(r, t); t = n[t] = r[l] } if (t) { var d = t.area || "data"; a = n.positions[t.index] = n.positions[t.index] || { area: d, index: (0, o.inArray)(t, e["data" === d ? "values" : d + "s"]) } } return a } function g(e) { return e === r ? "_rowPath" : "_columnPath" } var m = function (e, t, n, i, a, o) { this._columnPath = e, this._rowPath = t, this._fieldIndex = a, this._fieldsCache = o || { fields: {}, positions: {} }, this._data = n, this._descriptions = i; var s = n.values && n.values[t[0].index] && n.values[t[0].index][e[0].index]; s && (s.originalCell = s.originalCell || s.slice(), s.postProcessedFlags = s.postProcessedFlags || [], this._cell = s) }; function _(e) { var t, n, a = e.summaryDisplayMode, o = e.allowCrossGroupCalculation, r = null; return (0, i.isFunction)(e.calculateSummaryValue) ? r = e.calculateSummaryValue : a && ("absoluteVariation" === a ? r = u(o) : "percentVariation" === a ? (n = u(t = o), r = function (e) { var i = n(e), a = e.prev("column", t), o = a && a.value(); return null !== i && o ? i / o : null }) : r = h[a], r && !e.format && -1 !== a.indexOf("percent") && (0, s.setFieldProperty)(e, "format", "percent")), r } function v(e, t, n, i) { var a = e.values[t][n] = e.values[t][n] || [], o = a.originalCell; o && (!a.allowResetting && i || (e.values[t][n] = o.slice()), e.values[t][n].allowResetting = i) } m.prototype = (0, a.extend)(m.prototype, { _getPath: function (e) { return this[g(e)] }, _getDimension: function (e) { return e = e === r ? "rows" : "columns", this._descriptions[e] }, _createCell: function (e) { return new m(e._columnPath || this._columnPath, e._rowPath || this._rowPath, this._data, this._descriptions, this._fieldIndex) }, parent: function (e) { var t = this._getPath(e).slice(), n = {}; return t.shift(), t.length ? (n[g(e)] = t, this._createCell(n)) : null }, children: function (e) { var t = this._getPath(e).slice(), n = t[0], i = [], a = {}; if (n.children) for (var o = 0; o < n.children.length; o++)a[g(e)] = [n.children[o]].concat(t.slice()), i.push(this._createCell(a)); return i }, grandTotal: function (e) { var t = {}, n = this._rowPath, i = this._columnPath, a = this._getPath(e), o = g(e); return e ? t[o] = [a[a.length - 1]] : (t._rowPath = [n[n.length - 1]], t._columnPath = [i[i.length - 1]]), this._createCell(t) }, next: function (e, t) { var n, i = this._getPath(e), a = i[0], s = this.parent(e); if (s) { var r = (0, o.inArray)(a, i[1].children); if ((n = s.children(e))[r + 1]) return n[r + 1] } if (t && s) { do { n = (s = s.next(e, t)) ? s.children(e) : [] } while (s && !n.length); return n[0] || null } return null }, prev: function (e, t) { var n, i = this._getPath(e), a = i[0], s = this.parent(e); if (s) { var r = (0, o.inArray)(a, i[1].children); if ((n = s.children(e))[r - 1]) return n[r - 1] } if (t && s) { do { n = (s = s.prev(e, t)) ? s.children(e) : [] } while (s && !n.length); return n[n.length - 1] || null } return null }, cell: function () { return this._cell }, field: function (e) { if ("data" === e) return this._descriptions.values[this._fieldIndex]; var t = this._getPath(e), n = this._getDimension(e)[t.length - 2]; return n || null }, child: function (e, t) { for (var n = this.children(e), i = 0; i < n.length; i++) { var a = a || n[i].field(e); if (n[i].value(a) === t) return n[i] } return null }, slice: function (e, t) { var n = {}, i = p(this._descriptions, e, this._fieldsCache), a = i.area, o = i.index, s = null; if (a === r || "column" === a) { var l = this._getPath(a).slice(), d = -1 !== o && l.length - 2 - o; if (l[d]) { [][l.length - 1] = l[l.length - 1]; for (var c = d; c >= 0; c--) { if (l[c + 1]) { var u = l[c + 1].children || [], h = c === d ? t : l[c].value; l[c] = void 0; for (var f = 0; f < u.length; f++)if (u[f].value === h) { l[c] = u[f]; break } } if (void 0 === l[c]) return s } n[g(a)] = l, s = this._createCell(n) } } return s }, value: function (e, t) { var n = this._cell, a = this._fieldIndex, o = !0 === e || !1 === e, s = o ? null : e, r = o && e || t; if ((0, i.isDefined)(s)) { var l = p(this._descriptions, s, this._fieldsCache); if (a = l.index, "data" !== l.area) { var d = this._getPath(l.area), c = -1 !== a && d.length - 2 - a; return d[c] && d[c].value } } return n && n.originalCell ? r ? n[a] : n.originalCell[a] : null }, isPostProcessed: function (e) { var t = this._fieldIndex; if ((0, i.isDefined)(e)) { var n = p(this._descriptions, e, this._fieldsCache); if (t = n.index, "data" !== n.area) return !1 } return !(!this._cell || !this._cell.postProcessedFlags[t]) } }) }, function (e, t, n) { "use strict"; t.DataArea = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(155); var s = o.AreaItem.inherit({ _getAreaName: function () { return "data" }, _createGroupElement: function () { return (0, a.default)("<div>").addClass("dx-pivotgrid-area").addClass("dx-pivotgrid-area-data") }, _applyCustomStyles: function (e) { var t = e.cell, n = e.classArray; "T" !== t.rowType && "T" !== t.columnType || n.push("dx-total"), "GT" !== t.rowType && "GT" !== t.columnType || n.push("dx-grandtotal"), "T" !== t.rowType && "GT" !== t.rowType || n.push("dx-row-total"), e.rowIndex === e.rowsCount - 1 && e.cssArray.push("border-bottom: 0px"), this.callBase(e) }, _moveFakeTable: function (e) { this._moveFakeTableHorizontally(e.x), this._moveFakeTableTop(e.y), this.callBase() }, processScroll: function (e, t, n) { var i = "both"; t && !n ? i = "horizontal" : !t && n && (i = "vertical"), this._groupElement.css("borderTopWidth", 0).dxScrollable({ useNative: !!e, useSimulatedScrollbar: !e, direction: i, bounceEnabled: !1, updateManually: !0 }) }, reset: function () { this.callBase(), this._virtualContent && this._virtualContent.parent().css("height", "auto") }, setVirtualContentParams: function (e) { this.callBase(e), this._virtualContent.parent().css("height", e.height), this._setTableCss({ top: e.top, left: e.left }) } }); t.DataArea = s }, function (e, t, n) { "use strict"; t.VerticalHeadersArea = t.HorizontalHeadersArea = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(0), s = n(14), r = n(3), l = n(155); function d(e, t) { if (t) { var n = e.data().data, i = t.parentNode.rowIndex, a = t.cellIndex; return n[i] && n[i][a] && n[i][a].path } } var c = l.AreaItem.inherit({ _getAreaName: function () { return "column" }, _getAreaClassName: function () { return "dx-pivotgrid-horizontal-headers" }, _createGroupElement: function () { return (0, a.default)("<div>").addClass(this._getAreaClassName()).addClass("dx-pivotgrid-area") }, _applyCustomStyles: function (e) { var t = e.cssArray, n = e.cell, i = e.rowsCount, a = e.classArray; e.cellIndex === e.cellsCount - 1 && t.push((e.rtlEnabled ? "border-left:" : "border-right:") + "0px"), n.rowspan !== i - e.rowIndex && e.rowIndex + 1 !== i || t.push("border-bottom-width:0px"), "T" !== n.type && "GT" !== n.type || a.push("dx-row-total"), "T" === e.cell.type && a.push("dx-total"), "GT" === e.cell.type && a.push("dx-grandtotal"), (0, o.isDefined)(n.expanded) && a.push(n.expanded ? "dx-pivotgrid-expanded" : "dx-pivotgrid-collapsed"), this.callBase(e) }, _getMainElementMarkup: function () { return "<thead class='" + this._getAreaClassName() + "'>" }, _getCloseMainElementMarkup: function () { return "</thead>" }, setVirtualContentParams: function (e) { this.callBase(e), this._setTableCss({ left: e.left, top: 0 }), this._virtualContentWidth = e.width }, hasScroll: function () { var e = this._virtualContent ? this._virtualContentWidth : this._tableWidth; return !(!this._groupWidth || !e) && e - this._groupWidth >= 1 }, processScroll: function () { this._getScrollable() || this._groupElement.dxScrollable({ useNative: !1, useSimulatedScrollbar: !1, showScrollbar: !1, bounceEnabled: !1, direction: "horizontal", updateManually: !0 }) }, processScrollBarSpacing: function (e) { var t = this.option("rtlEnabled") ? "right" : "left"; this._groupWidth && this.groupWidth(this._groupWidth - e), this._scrollBarWidth && this._groupElement.next().remove(), this._groupElement.toggleClass("dx-vertical-scroll", e > 0), this._groupElement.css("float", t).width(this._groupHeight), this._scrollBarWidth = e }, ctor: function (e) { this.callBase(e), this._scrollBarWidth = 0 }, getScrollPath: function (e) { var t, n = this.tableElement(); return e -= parseInt(n[0].style.left, 10) || 0, (0, r.each)(n.find("td"), (function (n, i) { if (1 === i.colSpan && i.offsetLeft <= e && i.offsetWidth + i.offsetLeft > e) return t = i, !1 })), d(n, t) }, _moveFakeTable: function (e) { this._moveFakeTableHorizontally(e), this.callBase() } }); t.HorizontalHeadersArea = c; var u = c.inherit({ _getAreaClassName: function () { return "dx-pivotgrid-vertical-headers" }, _applyCustomStyles: function (e) { this.callBase(e), e.cellIndex === e.cellsCount - 1 && e.classArray.push("dx-last-cell"), e.rowIndex === e.rowsCount - 1 && e.cssArray.push("border-bottom: 0px"), e.cell.isWhiteSpace && e.classArray.push("dx-white-space-column") }, _getAreaName: function () { return "row" }, setVirtualContentParams: function (e) { this.callBase(e), this._setTableCss({ top: e.top, left: 0 }), this._virtualContentHeight = e.height }, hasScroll: function () { var e = this._virtualContent ? this._virtualContentHeight : this._tableHeight; return !(!this._groupHeight || !e) && e - this._groupHeight >= 1 }, processScroll: function () { this._getScrollable() || this._groupElement.dxScrollable({ useNative: !1, useSimulatedScrollbar: !1, showScrollbar: !1, bounceEnabled: !1, direction: "vertical", updateManually: !0 }) }, processScrollBarSpacing: function (e) { this._groupHeight && this.groupHeight(this._groupHeight - e), this._scrollBarWidth && this._groupElement.next().remove(), e && this._groupElement.after((0, a.default)("<div>").width("100%").height(e - 1)), this._scrollBarWidth = e }, getScrollPath: function (e) { var t, n = this.tableElement(); return e -= parseInt(n[0].style.top, 10) || 0, (0, r.each)(n.find("tr"), (function (n, i) { var a = i.childNodes[i.childNodes.length - 1]; if (a && 1 === a.rowSpan && a.offsetTop <= e && a.offsetHeight + a.offsetTop > e) return t = a, !1 })), d(n, t) }, _moveFakeTable: function (e) { this._moveFakeTableTop(e), this.callBase() }, _getRowClassNames: function (e, t, n) { 0 !== e & t.expanded && -1 === (0, s.inArray)("dx-expand-border", n) && n.push("dx-expand-border") }, _getMainElementMarkup: function () { return "<tbody class='" + this._getAreaClassName() + "'>" }, _getCloseMainElementMarkup: function () { return "</tbody>" }, updateColspans: function (e) { var t = this.tableElement()[0].rows, n = 0, i = []; if (!(this.getColumnsCount() - e > 0)) for (var a = 0; a < t.length; a++)for (var o = 0; o < t[a].cells.length; o++) { var s = t[a].cells[o], r = s.rowSpan; i[a] && (n -= i[a], i[a] = 0); var l = e - (n + s.colSpan); o === t[a].cells.length - 1 && l > 0 && (s.colSpan = s.colSpan + l), i[a + r] = (i[a + r] || 0) + s.colSpan, n += s.colSpan } } }); t.VerticalHeadersArea = u }, function (e, t, n) { "use strict"; t.FieldsArea = void 0; var i = c(n(2)), a = n(4), o = n(3), s = n(155), r = n(46), l = c(n(47)), d = c(n(35)); function c(e) { return e && e.__esModule ? e : { default: e } } n(157); var u = "<div>"; var h = s.AreaItem.inherit({ ctor: function (e, t) { this.callBase(e), this._area = t }, _getAreaName: function () { return "fields" }, _createGroupElement: function () { return (0, i.default)(u).addClass("dx-pivotgrid-fields-area").addClass("dx-area-fields").addClass("dx-pivotgrid-drag-action").attr("group", this._area) }, isVisible: function () { return !!this.option("fieldPanel.visible") && this.option("fieldPanel.show" + (0, r.capitalizeFirstLetter)(this._area) + "Fields") }, _renderButton: function (e) { var t = this, n = (0, i.default)("<td>").appendTo((0, i.default)("<tr>").appendTo(e)); t.component._createComponent((0, i.default)(u).appendTo(n), d.default, { text: "Fields", icon: "menu", width: "auto", onClick: function () { var e = t.tableElement().find(".dx-fields-area-popup").dxPopup("instance"); e.option("visible") || e.show() } }).$element().addClass("dx-pivotgrid-fields-area-hamburger") }, _getPopupOptions: function (e, t) { return { contentTemplate: function () { return (0, i.default)("<table>").addClass("dx-area-field-container").append((0, i.default)("<thead>").addClass("dx-pivotgrid-fields-area-head").append(e)) }, height: "auto", width: "auto", position: { at: "left", my: "left", of: t }, dragEnabled: !1, animation: { show: { type: "pop", duration: 200 } }, shading: !1, showTitle: !1, closeOnOutsideClick: !0, container: t.parent() } }, _renderPopup: function (e, t) { var n = e.find(".dx-button"), a = this._getPopupOptions(t, n), o = this.component.$element().dxPivotGridFieldChooserBase("instance"); this._rowPopup && this._rowPopup.$element().remove(), this._rowPopup = this.component._createComponent((0, i.default)(u).appendTo(e), l.default, a), this._rowPopup.$element().addClass("dx-fields-area-popup"), this._rowPopup.content().addClass("dx-pivotgrid-fields-container"), this._rowPopup.content().parent().attr("group", "row"), o.subscribeToEvents(this._rowPopup.content()), o.renderSortable(this._rowPopup.content()) }, _shouldCreateButton: function () { return !1 }, _renderTableContent: function (e, t) { var n = this, a = this.groupElement(), s = this.isVisible(), r = n.component.$element().dxPivotGridFieldChooserBase("instance"), l = (0, i.default)("<thead>").addClass("dx-pivotgrid-fields-area-head").appendTo(e), d = n._area, c = (0, i.default)("<tr>"); a.toggleClass("dx-hidden", !s), e.addClass("dx-area-field-container"), s && ((0, o.each)(t, (function (e, a) { if (a.area === d && !1 !== a.visible) { var o = (0, i.default)("<td>").append(r.renderField(a, "row" === a.area)), s = o.find(".dx-column-indicators"); s.length && n._shouldCreateButton() && s.insertAfter(s.next()), o.appendTo(c), function (e, t, n, a) { n && n.groupName && n.groupName === e.groupName && (0, i.default)(u).addClass("dx-group-connector").addClass("dx-group-connector-prev").appendTo(a), t && t.groupName && t.groupName === e.groupName && (0, i.default)(u).addClass("dx-group-connector").addClass("dx-group-connector-next").appendTo(a) }(a, t[e + 1], t[e - 1], o) } })), c.children().length || (0, i.default)("<td>").append((0, i.default)(u).addClass("dx-empty-area-text").text(this.option("fieldPanel.texts." + d + "FieldArea"))).appendTo(c), n._shouldCreateButton() ? (n._renderButton(l), n._renderPopup(e, c)) : l.append(c)) }, reset: function () { this.callBase(), this.groupElement().css("marginTop", 0) }, _renderVirtualContent: a.noop }); t.FieldsArea = h }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(84)) && i.__esModule ? i : { default: i }, o = n(6), s = n(4); var r = a.default.inherit({ _initMarkup: function () { this._deferredItems = [], this.callBase() }, _renderItemContent: function (e) { var t = new o.Deferred, n = new o.Deferred; this._deferredItems[e.index] = n; var i = this.callBase.call(this, e); return n.done((function () { t.resolve(i) })), t.promise() }, _createItemByTemplate: function (e, t) { var n = this; return e.render({ model: t.itemData, container: t.container, index: t.index, onRendered: function () { n._deferredItems[t.index].resolve() } }) }, _postProcessRenderItems: s.noop, _renderItemsAsync: function () { var e = this, t = new o.Deferred; return o.when.apply(this, this._deferredItems).done((function () { e._postProcessRenderItems(), t.resolve() })), t.promise() }, _clean: function () { this.callBase(), this._deferredItems = [] } }); t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = D(n(2)), a = D(n(5)), o = n(4), s = n(186), r = n(18), l = D(n(9)), d = n(0), c = n(6), u = n(1), h = n(14), f = n(3), p = D(n(98)), g = D(n(36)), m = D(n(29)), _ = n(8), v = D(n(23)), y = D(n(110)), w = D(n(92)), x = n(51), b = D(n(10)), C = D(n(77)), k = n(20), I = n(19), S = n(196), E = n(70); function D(e) { return e && e.__esModule ? e : { default: e } } var T = "dx-item", A = /^([^.]+\[\d+\]\.)+([\w.]+)$/, O = m.default.inherit({ _activeStateUnit: "." + T, _supportedKeys: function () { var e = function (e) { var t = (0, i.default)(this.option("focusedElement")); t.length && this._itemClickHandler((0, u.extend)({}, e, { target: t, currentTarget: t })) }, t = function (e, t) { (0, _.isCommandKeyPressed)(t) || (t.preventDefault(), t.stopPropagation(), this._moveFocus(e, t)) }; return (0, u.extend)(this.callBase(), { space: function (t) { t.preventDefault(), e.call(this, t) }, enter: e, leftArrow: t.bind(this, "left"), rightArrow: t.bind(this, "right"), upArrow: t.bind(this, "up"), downArrow: t.bind(this, "down"), pageUp: t.bind(this, "up"), pageDown: t.bind(this, "down"), home: t.bind(this, "first"), end: t.bind(this, "last") }) }, _getDefaultOptions: function () { return (0, u.extend)(this.callBase(), { selectOnFocus: !1, loopItemFocus: !0, items: [], itemTemplate: "item", onItemRendered: null, onItemClick: null, onItemHold: null, itemHoldTimeout: 750, onItemContextMenu: null, onFocusedItemChanged: null, noDataText: b.default.format("dxCollectionWidget-noDataText"), dataSource: null, _itemAttributes: {}, itemTemplateProperty: "template", focusOnSelectedItem: !0, focusedElement: null, displayExpr: void 0, disabledExpr: function (e) { return e ? e.disabled : void 0 }, visibleExpr: function (e) { return e ? e.visible : void 0 } }) }, _init: function () { this._compileDisplayGetter(), this.callBase(), this._cleanRenderedItems(), this._refreshDataSource() }, _compileDisplayGetter: function () { var e = this.option("displayExpr"); this._displayGetter = e ? (0, k.compileGetter)(this.option("displayExpr")) : void 0 }, _initTemplates: function () { this._initItemsFromMarkup(), this._initDefaultItemTemplate(), this.callBase() }, _getAnonymousTemplateName: function () { return "item" }, _initDefaultItemTemplate: function () { var e = this._getFieldsMap(); this._templateManager.addDefaultTemplates({ item: new E.BindableTemplate(function (t, n) { (0, d.isPlainObject)(n) ? this._prepareDefaultItemTemplate(n, t) : (e && (0, d.isFunction)(e.text) && (n = e.text(n)), t.text(String((0, o.ensureDefined)(n, "")))) }.bind(this), this._getBindableFields(), this.option("integrationOptions.watchMethod"), e) }) }, _getBindableFields: function () { return ["text", "html"] }, _getFieldsMap: function () { if (this._displayGetter) return { text: this._displayGetter } }, _prepareDefaultItemTemplate: function (e, t) { (0, d.isDefined)(e.text) && t.text(e.text), (0, d.isDefined)(e.html) && t.html(e.html) }, _initItemsFromMarkup: function () { var e = this, t = (0, s.findTemplates)(this.$element(), "dxItem"); if (t.length && !this.option("items").length) { var n = t.map((function (t) { var n = t.element, a = t.options; return /\S/.test(n.innerHTML) && !a.template ? a.template = e._prepareItemTemplate(n) : (0, i.default)(n).remove(), a })); this.option("items", n) } }, _prepareItemTemplate: function (e) { var t = "tmpl-" + new g.default, n = (0, i.default)(e).detach().clone().removeAttr("data-options").addClass("dx-template-wrapper"); return this._saveTemplate(t, n), t }, _dataSourceOptions: function () { return { paginate: !1 } }, _cleanRenderedItems: function () { this._renderedItemsCount = 0 }, _focusTarget: function () { return this.$element() }, _focusInHandler: function (e) { if (this.callBase.apply(this, arguments), -1 !== (0, h.inArray)(e.target, this._focusTarget())) { var t = (0, i.default)(this.option("focusedElement")); if (t.length) this._setFocusedItem(t); else { var n = this._getActiveItem(); n.length && this.option("focusedElement", (0, r.getPublicElement)(n)) } } }, _focusOutHandler: function () { this.callBase.apply(this, arguments); var e = (0, i.default)(this.option("focusedElement")); this._updateFocusedItemState(e, !1) }, _getActiveItem: function (e) { var t = (0, i.default)(this.option("focusedElement")); if (t.length) return t; var n = this.option("focusOnSelectedItem") ? this.option("selectedIndex") : 0, a = this._getActiveElement(), o = a.length - 1; return n < 0 && (n = e ? o : 0), a.eq(n) }, _moveFocus: function (e) { var t, n = this._getAvailableItems(); switch (e) { case "pageup": case "up": t = this._prevItem(n); break; case "pagedown": case "down": t = this._nextItem(n); break; case "right": t = this.option("rtlEnabled") ? this._prevItem(n) : this._nextItem(n); break; case "left": t = this.option("rtlEnabled") ? this._nextItem(n) : this._prevItem(n); break; case "first": t = n.first(); break; case "last": t = n.last(); break; default: return !1 }0 !== t.length && this.option("focusedElement", (0, r.getPublicElement)(t)) }, _getVisibleItems: function (e) { return (e = e || this._itemElements()).filter(":visible") }, _getAvailableItems: function (e) { return this._getVisibleItems(e).not(".dx-state-disabled") }, _prevItem: function (e) { var t = this._getActiveItem(), n = e.index(t), a = e.last(), o = (0, i.default)(e[n - 1]), s = this.option("loopItemFocus"); return 0 === o.length && s && (o = a), o }, _nextItem: function (e) { var t = this._getActiveItem(!0), n = e.index(t), a = e.first(), o = (0, i.default)(e[n + 1]), s = this.option("loopItemFocus"); return 0 === o.length && s && (o = a), o }, _selectFocusedItem: function (e) { this.selectItem(e) }, _updateFocusedItemState: function (e, t, n) { var a = (0, i.default)(e); a.length && (this._refreshActiveDescendant(), this._refreshItemId(a, n), this._toggleFocusClass(t, a)), this._updateParentActiveDescendant() }, _refreshActiveDescendant: function (e) { this.setAria("activedescendant", (0, d.isDefined)(this.option("focusedElement")) ? this.getFocusedItemId() : null, e) }, _refreshItemId: function (e, t) { !t && this.option("focusedElement") ? this.setAria("id", this.getFocusedItemId(), e) : this.setAria("id", null, e) }, _setFocusedItem: function (e) { e && e.length && (this._updateFocusedItemState(e, !0), this.onFocusedItemChanged(this.getFocusedItemId()), this.option("selectOnFocus") && this._selectFocusedItem(e)) }, _findItemElementByItem: function (e) { var t = (0, i.default)(), n = this; return this.itemElements().each((function () { var a = (0, i.default)(this); if (a.data(n._itemDataKey()) === e) return t = a, !1 })), t }, _getIndexByItem: function (e) { return this.option("items").indexOf(e) }, _itemOptionChanged: function (e, t, n, i) { var a = this._findItemElementByItem(e); a.length && (this.constructor.ItemClass.getInstance(a).setDataField(t, n) || this._refreshItem(a, e), "disabled" === t && n && this._resetItemFocus(a)) }, _resetItemFocus: function (e) { e.is(this.option("focusedElement")) && this.option("focusedElement", null) }, _refreshItem: function (e) { var t = this._getItemData(e), n = e.data(this._itemIndexKey()); this._renderItem(this._renderedItemsCount + n, t, null, e) }, _updateParentActiveDescendant: o.noop, _optionChanged: function (e) { if ("items" === e.name) { var t = e.fullName.match(A); if (t && t.length) { var n = t[t.length - 1], a = e.fullName.replace("." + n, ""), o = this.option(a); return void this._itemOptionChanged(o, n, e.value, e.previousValue) } } switch (e.name) { case "items": case "_itemAttributes": case "itemTemplateProperty": case "showItemDataTitle": this._cleanRenderedItems(), this._invalidate(); break; case "dataSource": this._refreshDataSource(), this._renderEmptyMessage(); break; case "noDataText": this._renderEmptyMessage(); break; case "itemTemplate": this._invalidate(); break; case "onItemRendered": this._createItemRenderAction(); break; case "onItemClick": break; case "onItemHold": case "itemHoldTimeout": this._attachHoldEvent(); break; case "onItemContextMenu": this._attachContextMenuEvent(); break; case "onFocusedItemChanged": this.onFocusedItemChanged = this._createActionByOption("onFocusedItemChanged"); break; case "selectOnFocus": case "loopItemFocus": case "focusOnSelectedItem": break; case "focusedElement": this._updateFocusedItemState(e.previousValue, !1, !0), this._setFocusedItem((0, i.default)(e.value)); break; case "displayExpr": this._compileDisplayGetter(), this._initDefaultItemTemplate(), this._invalidate(); break; case "visibleExpr": case "disabledExpr": this._invalidate(); break; default: this.callBase(e) } }, _invalidate: function () { return this.option("focusedElement", null), this.callBase.apply(this, arguments) }, _loadNextPage: function () { var e = this._dataSource; return this._expectNextPageLoading(), e.pageIndex(1 + e.pageIndex()), e.load() }, _expectNextPageLoading: function () { this._startIndexForAppendedItems = 0 }, _expectLastItemLoading: function () { this._startIndexForAppendedItems = -1 }, _forgetNextPageLoading: function () { this._startIndexForAppendedItems = null }, _dataSourceChangedHandler: function (e) { var t = this.option("items"); this._initialized && t && this._shouldAppendItems() ? (this._renderedItemsCount = t.length, this._isLastPage() && -1 === this._startIndexForAppendedItems || (this.option().items = t.concat(e.slice(this._startIndexForAppendedItems))), this._forgetNextPageLoading(), this._refreshContent()) : this.option("items", e.slice()) }, _refreshContent: function () { this._prepareContent(), this._renderContent() }, _dataSourceLoadErrorHandler: function () { this._forgetNextPageLoading(), this.option("items", this.option("items")) }, _shouldAppendItems: function () { return null != this._startIndexForAppendedItems && this._allowDynamicItemsAppend() }, _allowDynamicItemsAppend: function () { return !1 }, _clean: function () { this._cleanFocusState(), this._cleanItemContainer() }, _cleanItemContainer: function () { (0, i.default)(this._itemContainer()).empty() }, _dispose: function () { this.callBase(), clearTimeout(this._itemFocusTimeout) }, _refresh: function () { this._cleanRenderedItems(), this.callBase.apply(this, arguments) }, _itemContainer: function () { return this.$element() }, _itemClass: function () { return T }, _itemContentClass: function () { return this._itemClass() + "-content" }, _selectedItemClass: function () { return "dx-item-selected" }, _itemResponseWaitClass: function () { return "dx-item-response-wait" }, _itemSelector: function () { return "." + this._itemClass() }, _itemDataKey: function () { return "dxItemData" }, _itemIndexKey: function () { return "dxItemIndex" }, _itemElements: function () { return this._itemContainer().find(this._itemSelector()) }, _initMarkup: function () { this.callBase(), this.onFocusedItemChanged = this._createActionByOption("onFocusedItemChanged"), this.$element().addClass("dx-collection"), this._prepareContent() }, _prepareContent: (0, o.deferRenderer)((function () { this._renderContentImpl() })), _renderContent: function () { this._fireContentReadyAction() }, _render: function () { this.callBase(), this._attachClickEvent(), this._attachHoldEvent(), this._attachContextMenuEvent() }, _attachClickEvent: function () { var e = this._itemSelector(), t = (0, _.addNamespace)(I.name, this.NAME), n = (0, _.addNamespace)(v.default.down, this.NAME), o = this, s = new p.default((function (e) { var t = e.event; o._itemPointerDownHandler(t) })); a.default.off(this._itemContainer(), t, e), a.default.off(this._itemContainer(), n, e), a.default.on(this._itemContainer(), t, e, function (e) { this._itemClickHandler(e) }.bind(this)), a.default.on(this._itemContainer(), n, e, (function (e) { s.execute({ element: (0, i.default)(e.target), event: e }) })) }, _itemClickHandler: function (e, t, n) { this._itemDXEventHandler(e, "onItemClick", t, n) }, _itemPointerDownHandler: function (e) { this.option("focusStateEnabled") && (this._itemFocusHandler = function () { if (clearTimeout(this._itemFocusTimeout), this._itemFocusHandler = null, !e.isDefaultPrevented()) { var t = (0, i.default)(e.target), n = t.closest(this._itemElements()), a = this._closestFocusable(t); n.length && a && -1 !== (0, h.inArray)(a.get(0), this._focusTarget()) && this.option("focusedElement", (0, r.getPublicElement)(n)) } }.bind(this), this._itemFocusTimeout = setTimeout(this._forcePointerDownFocus.bind(this))) }, _closestFocusable: function (e) { if (e.is(x.focusable)) return e; for (e = e.parent(); e.length && !l.default.isDocument(e.get(0));) { if (e.is(x.focusable)) return e; e = e.parent() } }, _forcePointerDownFocus: function () { this._itemFocusHandler && this._itemFocusHandler() }, _updateFocusState: function () { this.callBase.apply(this, arguments), this._forcePointerDownFocus() }, _attachHoldEvent: function () { var e = this._itemContainer(), t = this._itemSelector(), n = (0, _.addNamespace)(C.default.name, this.NAME); a.default.off(e, n, t), a.default.on(e, n, t, { timeout: this._getHoldTimeout() }, this._itemHoldHandler.bind(this)) }, _getHoldTimeout: function () { return this.option("itemHoldTimeout") }, _shouldFireHoldEvent: function () { return this.hasActionSubscription("onItemHold") }, _itemHoldHandler: function (e) { this._shouldFireHoldEvent() ? this._itemDXEventHandler(e, "onItemHold") : e.cancel = !0 }, _attachContextMenuEvent: function () { var e = this._itemContainer(), t = this._itemSelector(), n = (0, _.addNamespace)(S.name, this.NAME); a.default.off(e, n, t), a.default.on(e, n, t, this._itemContextMenuHandler.bind(this)) }, _shouldFireContextMenuEvent: function () { return this.hasActionSubscription("onItemContextMenu") }, _itemContextMenuHandler: function (e) { this._shouldFireContextMenuEvent() ? this._itemDXEventHandler(e, "onItemContextMenu") : e.cancel = !0 }, _renderContentImpl: function () { var e = this.option("items") || []; this._renderedItemsCount ? this._renderItems(e.slice(this._renderedItemsCount)) : this._renderItems(e) }, _renderItems: function (e) { e.length && (0, f.each)(e, function (e, t) { this._renderItem(this._renderedItemsCount + e, t) }.bind(this)), this._renderEmptyMessage() }, _renderItem: function (e, t, n, i) { n = n || this._itemContainer(); var a = this._renderItemFrame(e, t, n, i); this._setElementData(a, t, e), a.attr(this.option("_itemAttributes")), this._attachItemClickEvent(t, a); var o = this._getItemContent(a), s = this._renderItemContent({ index: e, itemData: t, container: (0, r.getPublicElement)(o), contentClass: this._itemContentClass(), defaultTemplateName: this.option("itemTemplate") }), l = this; return (0, c.when)(s).done((function (n) { l._postprocessRenderItem({ itemElement: a, itemContent: n, itemData: t, itemIndex: e }), l._executeItemRenderAction(e, t, (0, r.getPublicElement)(a)) })), a }, _getItemContent: function (e) { var t = e.find(".dx-item-content-placeholder"); return t.removeClass("dx-item-content-placeholder"), t }, _attachItemClickEvent: function (e, t) { e && e.onClick && a.default.on(t, I.name, function (n) { this._itemEventHandlerByHandler(t, e.onClick, { event: n }) }.bind(this)) }, _renderItemContent: function (e) { var t = this._getItemTemplateName(e), n = this._getTemplate(t); this._addItemContentClasses(e); var a = (0, i.default)(this._createItemByTemplate(n, e)); return a.hasClass("dx-template-wrapper") ? this._renderItemContentByNode(e, a) : e.container }, _renderItemContentByNode: function (e, t) { return (0, i.default)(e.container).replaceWith(t), e.container = (0, r.getPublicElement)(t), this._addItemContentClasses(e), t }, _addItemContentClasses: function (e) { var t = [T + "-content", e.contentClass]; (0, i.default)(e.container).addClass(t.join(" ")) }, _appendItemToContainer: function (e, t, n) { t.appendTo(e) }, _renderItemFrame: function (e, t, n, a) { var o = (0, i.default)("<div>"); if (new this.constructor.ItemClass(o, this._itemOptions(), t || {}), a && a.length ? a.replaceWith(o) : this._appendItemToContainer.call(this, n, o, e), this.option("showItemDataTitle")) { var s = this._displayGetter ? this._displayGetter(t) : t; o.attr("title", s) } return o }, _itemOptions: function () { var e = this; return { watchMethod: function () { return e.option("integrationOptions.watchMethod") }, owner: e, fieldGetter: function (t) { var n = e.option(t + "Expr"); return (0, k.compileGetter)(n) } } }, _postprocessRenderItem: o.noop, _executeItemRenderAction: function (e, t, n) { this._getItemRenderAction()({ itemElement: n, itemIndex: e, itemData: t }) }, _setElementData: function (e, t, n) { e.addClass([T, this._itemClass()].join(" ")).data(this._itemDataKey(), t).data(this._itemIndexKey(), n) }, _createItemRenderAction: function () { return this._itemRenderAction = this._createActionByOption("onItemRendered", { element: this.element(), excludeValidators: ["disabled", "readOnly"], category: "rendering" }) }, _getItemRenderAction: function () { return this._itemRenderAction || this._createItemRenderAction() }, _getItemTemplateName: function (e) { var t = e.itemData, n = e.templateProperty || this.option("itemTemplateProperty"); return t && t[n] || e.defaultTemplateName }, _createItemByTemplate: function (e, t) { return e.render({ model: t.itemData, container: t.container, index: t.index }) }, _emptyMessageContainer: function () { return this._itemContainer() }, _renderEmptyMessage: function (e) { e = e || this.option("items"); var t = this.option("noDataText"), n = !t || e && e.length || this._isDataSourceLoading(); n && this._$noData && (this._$noData.remove(), this._$noData = null, this.setAria("label", void 0)), n || (this._$noData = this._$noData || (0, i.default)("<div>").addClass("dx-empty-message"), this._$noData.appendTo(this._emptyMessageContainer()).html(t), this.setAria("label", t)), this.$element().toggleClass("dx-empty-collection", !n) }, _itemDXEventHandler: function (e, t, n, i) { this._itemEventHandler(e.target, t, (0, u.extend)(n, { event: e }), i) }, _itemEventHandler: function (e, t, n, i) { var a = this._createActionByOption(t, (0, u.extend)({ validatingTargetName: "itemElement" }, i)); return this._itemEventHandlerImpl(e, a, n) }, _itemEventHandlerByHandler: function (e, t, n, i) { var a = this._createAction(t, (0, u.extend)({ validatingTargetName: "itemElement" }, i)); return this._itemEventHandlerImpl(e, a, n) }, _itemEventHandlerImpl: function (e, t, n) { var a = this._closestItemElement((0, i.default)(e)), o = (0, u.extend)({}, n); return t((0, u.extend)(n, this._extendActionArgs(a), o)) }, _extendActionArgs: function (e) { return { itemElement: (0, r.getPublicElement)(e), itemIndex: this._itemElements().index(e), itemData: this._getItemData(e) } }, _closestItemElement: function (e) { return (0, i.default)(e).closest(this._itemSelector()) }, _getItemData: function (e) { return (0, i.default)(e).data(this._itemDataKey()) }, _getSummaryItemsWidth: function (e, t) { var n = 0; return e && (0, f.each)(e, (function (e, a) { n += (0, i.default)(a).outerWidth(t || !1) })), n }, getFocusedItemId: function () { return this._focusedItemId || (this._focusedItemId = "dx-" + new g.default), this._focusedItemId }, itemElements: function () { return this._itemElements() }, itemsContainer: function () { return this._itemContainer() } }).include(y.default); O.ItemClass = w.default; var B = O; t.default = B, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(2)), a = s(n(13)), o = n(4); function s(e) { return e && e.__esModule ? e : { default: e } } var r = a.default.abstract, l = a.default.inherit({ ctor: function (e) { this._collectionWidget = e }, getIndexByItemData: r, getItemDataByIndex: r, getKeysByItems: r, getItemsByKeys: r, itemsGetter: r, getKeyByIndex: function (e) { var t = this._denormalizeItemIndex(e); return this.getKeysByItems([this.getItemDataByIndex(t)])[0] }, _equalKeys: function (e, t) { return this._collectionWidget._isKeySpecified() ? (0, o.equalByValue)(e, t) : e === t }, beginCache: function () { this._cache = {} }, endCache: function () { this._cache = null }, getIndexByKey: r, getNormalizedIndex: function (e) { return this._isNormalizedItemIndex(e) ? e : this._isItemIndex(e) ? this._normalizeItemIndex(e) : this._isDOMNode(e) ? this._getNormalizedItemIndex(e) : this._normalizeItemIndex(this.getIndexByItemData(e)) }, getIndex: function (e) { return this._isNormalizedItemIndex(e) ? this._denormalizeItemIndex(e) : this._isItemIndex(e) ? e : this._isDOMNode(e) ? this._denormalizeItemIndex(this._getNormalizedItemIndex(e)) : this.getIndexByItemData(e) }, getItemElement: function (e) { if (this._isNormalizedItemIndex(e)) return this._getItemByNormalizedIndex(e); if (this._isItemIndex(e)) return this._getItemByNormalizedIndex(this._normalizeItemIndex(e)); if (this._isDOMNode(e)) return (0, i.default)(e); var t = this._normalizeItemIndex(this.getIndexByItemData(e)); return this._getItemByNormalizedIndex(t) }, deleteItemAtIndex: r, itemPlacementFunc: function (e, t) { return this._itemsFromSameParent(e, t) && e < t ? "after" : "before" }, moveItemAtIndexToIndex: r, _isNormalizedItemIndex: function (e) { return "number" == typeof e && Math.round(e) === e }, _isDOMNode: function (e) { var t; try { t = (0, i.default)(e) } catch (e) { return !1 } return t && t.length && t.get(0).nodeType }, _isItemIndex: r, _getNormalizedItemIndex: r, _normalizeItemIndex: r, _denormalizeItemIndex: r, _getItemByNormalizedIndex: r, _itemsFromSameParent: r }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = l(n(207)), o = l(n(17)), s = l(n(44)), r = n(6); function l(e) { return e && e.__esModule ? e : { default: e } } var d = a.default.inherit({ getSelectedItems: function () { return this._loadFilteredData(this.options.selectionFilter) }, getSelectedItemKeys: function () { var e = new r.Deferred, t = this, n = this.options.key(), a = (0, i.isString)(n) ? [n] : n; return this._loadFilteredData(this.options.selectionFilter, null, a).done((function (n) { var i = n.map((function (e) { return t.options.keyOf(e) })); e.resolve(i) })).fail(e.reject), e.promise() }, selectedItemKeys: function (e, t, n, i) { if (i) { var a = this.options.filter(); !a || JSON.stringify(a) === JSON.stringify(this.options.selectionFilter) && n ? this._setOption("selectionFilter", n ? [] : null) : this._addSelectionFilter(n, a, i) } else { t || this._setOption("selectionFilter", []); for (var o = 0; o < e.length; o++)n ? this.removeSelectedItem(e[o]) : this.addSelectedItem(e[o]) } return this.onSelectionChanged(), (new r.Deferred).resolve() }, setSelectedItems: function (e) { this._setOption("selectionFilter", null); for (var t = 0; t < e.length; t++)this.addSelectedItem(e[t]) }, isItemDataSelected: function (e) { return this.isItemKeySelected(e) }, isItemKeySelected: function (e) { var t = this.options.selectionFilter; return !t || !!(0, s.default)([e]).filter(t).toArray().length }, _getKeyExpr: function () { var e = this.options.key(); return Array.isArray(e) && 1 === e.length ? e[0] : e }, _normalizeKey: function (e) { var t = this.options.key(); return Array.isArray(t) && 1 === t.length ? e[t[0]] : e }, _getFilterByKey: function (e) { var t = this._getKeyExpr(), n = [t, "=", this._normalizeKey(e)]; if (Array.isArray(t)) { n = []; for (var i = 0; i < t.length; i++)n.push([t[i], "=", e[t[i]]]), i !== t.length - 1 && n.push("and") } return n }, addSelectedItem: function (e) { var t = this._getFilterByKey(e); this._addSelectionFilter(!1, t) }, removeSelectedItem: function (e) { var t = this._getFilterByKey(e); this._addSelectionFilter(!0, t) }, validate: function () { var e = this.options.key; if (e && void 0 === e()) throw o.default.Error("E1042", "Deferred selection") }, _findSubFilter: function (e, t) { if (!e) return -1; for (var n = JSON.stringify(t), i = 0; i < e.length; i++) { var a = e[i]; if (a && JSON.stringify(a) === n) return i } return -1 }, _isLastSubFilter: function (e, t) { return !(!e || !t) && (this._findSubFilter(e, t) === e.length - 1 || 0 === this._findSubFilter([e], t)) }, _addFilterOperator: function (e, t) { return e.length > 1 && (0, i.isString)(e[1]) && e[1] !== t && (e = [e]), e.length && e.push(t), e }, _denormalizeFilter: function (e) { return e && (0, i.isString)(e[0]) && (e = [e]), e }, _addSelectionFilter: function (e, t, n) { var i = e ? ["!", t] : t, a = e ? "and" : "or", o = !0, s = this.options.selectionFilter || []; if ((s = this._denormalizeFilter(s)) && s.length) { this._removeSameFilter(s, t, e, n); var r = this._removeSameFilter(s, t, !e), l = this._isKeyFilter(t) && this._hasKeyFiltersOnlyStartingFromIndex(s, r); (o = t.length && !l) && (s = this._addFilterOperator(s, a)) } o && s.push(i), s = this._normalizeFilter(s), this._setOption("selectionFilter", e || s.length ? s : null) }, _normalizeFilter: function (e) { return e && 1 === e.length && (e = e[0]), e }, _removeFilterByIndex: function (e, t, n) { var i = e[1]; t > 0 ? e.splice(t - 1, 2) : e.splice(t, 2), n && "and" === i && e.splice(0, e.length) }, _isSimpleKeyFilter: function (e, t) { return 3 === e.length && e[0] === t && "=" === e[1] }, _isKeyFilter: function (e) { if (2 === e.length && "!" === e[0]) return this._isKeyFilter(e[1]); var t = this._getKeyExpr(); if (Array.isArray(t)) { if (e.length !== 2 * t.length - 1) return !1; for (var n = 0; n < t.length; n++) { if (n > 0 && "and" !== e[n]) return !1; if (!this._isSimpleKeyFilter(e[2 * n], t[n])) return !1 } return !0 } return this._isSimpleKeyFilter(e, t) }, _hasKeyFiltersOnlyStartingFromIndex: function (e, t) { if (t >= 0) { for (var n = t; n < e.length; n++)if ("string" != typeof e[n] && !this._isKeyFilter(e[n])) return !1; return !0 } return !1 }, _removeSameFilter: function (e, t, n, i) { if (t = n ? ["!", t] : t, JSON.stringify(t) === JSON.stringify(e)) return e.splice(0, e.length), 0; var a = this._findSubFilter(e, t); if (a >= 0) return this._removeFilterByIndex(e, a, i), a; for (var o = 0; o < e.length; o++)if (Array.isArray(e[o]) && e[o].length > 2) { var s = this._removeSameFilter(e[o], t, !1, i); if (s >= 0) return e[o].length ? 1 === e[o].length && (e[o] = e[o][0]) : this._removeFilterByIndex(e, o, i), s } return -1 }, getSelectAllState: function () { var e = this.options.filter(), t = this.options.selectionFilter; return !t || !!t.length && (e && e.length ? (t = this._denormalizeFilter(t), !!this._isLastSubFilter(t, e) || !this._isLastSubFilter(t, ["!", e]) && void 0) : void 0) } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(4), a = n(0), o = d(n(44)), s = n(6), r = n(208), l = d(n(17)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = d(n(207)).default.inherit({ ctor: function (e) { this.callBase(e), this._initSelectedItemKeyHash() }, _initSelectedItemKeyHash: function () { this._setOption("keyHashIndices", this.options.equalByReference ? null : {}) }, getSelectedItemKeys: function () { return this.options.selectedItemKeys.slice(0) }, getSelectedItems: function () { return this.options.selectedItems.slice(0) }, _preserveSelectionUpdate: function (e, t) { var n, i, a, o = this.options.keyOf; if (o) { var s = t && e.length > 1 && !this.options.equalByReference; for (s && (n = {}), a = 0; a < e.length; a++) { var r = e[a], l = o(r); t ? (i = this.removeSelectedItem(l, n), n && i >= 0 && (n[i] = !0)) : this.addSelectedItem(l, r) } s && this._batchRemoveSelectedItems(n) } }, _batchRemoveSelectedItems: function (e) { var t = this.options.selectedItemKeys.slice(0), n = this.options.selectedItems.slice(0); this.options.selectedItemKeys.length = 0, this.options.selectedItems.length = 0; for (var i = 0; i < t.length; i++)e[i] || (this.options.selectedItemKeys.push(t[i]), this.options.selectedItems.push(n[i])); this._initSelectedItemKeyHash(), this.updateSelectedItemKeyHash(this.options.selectedItemKeys) }, _loadSelectedItemsCore: function (e, t, n) { var i = new s.Deferred, a = this.options.key(); if (!e.length && !n) return i.resolve([]), i; var l = this.options.filter(); if (n && t && !l) return i.resolve(this.getSelectedItems()), i; var d = new r.SelectionFilterCreator(e, n), c = d.getCombinedFilter(a, l), u = []; t && (u = c ? (0, o.default)(this.options.selectedItems).filter(c).toArray() : this.options.selectedItems.slice(0)); var h = u.length ? u : this.options.plainItems(!0).filter(this.options.isSelectableItem).map(this.options.getItemData), f = d.getLocalFilter(this.options.keyOf, this.equalKeys.bind(this), this.options.equalByReference, a); return h = h.filter(f), u.length || !n && h.length === e.length ? i.resolve(h) : i = this._loadFilteredData(c, f, null, n), i }, _replaceSelectionUpdate: function (e) { var t = [], n = this.options.keyOf; if (n) { for (var i = 0; i < e.length; i++) { var a = n(e[i]); t.push(a) } this.setSelectedItems(t, e) } }, _warnOnIncorrectKeys: function (e) { for (var t = this.options.allowNullValue, n = 0; n < e.length; n++) { var i = e[n]; t && null === i || this.isItemKeySelected(i) || l.default.log("W1002", i) } }, _loadSelectedItems: function (e, t, n) { var i = this, a = new s.Deferred; return (0, s.when)(i._lastLoadDeferred).always((function () { i._loadSelectedItemsCore(e, t, n).done(a.resolve).fail(a.reject) })), i._lastLoadDeferred = a, a }, selectedItemKeys: function (e, t, n, i) { var a = this, o = a._loadSelectedItems(e, n, i); return o.done((function (e) { t ? a._preserveSelectionUpdate(e, n) : a._replaceSelectionUpdate(e), a.onSelectionChanged() })), o }, addSelectedItem: function (e, t) { if ((0, a.isDefined)(t) && t.disabled) -1 === this.options.disabledItemKeys.indexOf(e) && this.options.disabledItemKeys.push(e); else { var n = this._getKeyHash(e); -1 === this._indexOfSelectedItemKey(n) && (!(0, a.isObject)(n) && this.options.keyHashIndices && (this.options.keyHashIndices[n] = [this.options.selectedItemKeys.length]), this.options.selectedItemKeys.push(e), this.options.addedItemKeys.push(e), this.options.addedItems.push(t), this.options.selectedItems.push(t)) } }, _getSelectedIndexByKey: function (e, t) { for (var n = this.options.selectedItemKeys, i = 0; i < n.length; i++)if ((!t || !t[i]) && this.equalKeys(n[i], e)) return i; return -1 }, _getSelectedIndexByHash: function (e, t) { var n = this.options.keyHashIndices[e]; return n && n.length > 1 && t && (n = n.filter((function (e) { return !t[e] }))), n && n[0] >= 0 ? n[0] : -1 }, _indexOfSelectedItemKey: function (e, t) { return this.options.equalByReference ? this.options.selectedItemKeys.indexOf(e) : (0, a.isObject)(e) ? this._getSelectedIndexByKey(e, t) : this._getSelectedIndexByHash(e, t) }, _shiftSelectedKeyIndices: function (e) { for (var t = e; t < this.options.selectedItemKeys.length; t++) { var n = this.options.selectedItemKeys[t], a = (0, i.getKeyHash)(n), o = this.options.keyHashIndices[a]; if (o) for (var s = 0; s < o.length; s++)o[s] > e && o[s]-- } }, removeSelectedItem: function (e, t) { var n = this._getKeyHash(e), i = !!t, o = this._indexOfSelectedItemKey(n, t); if (o < 0) return o; if (this.options.removedItemKeys.push(e), this.options.removedItems.push(this.options.selectedItems[o]), i) return o; if (this.options.selectedItemKeys.splice(o, 1), this.options.selectedItems.splice(o, 1), (0, a.isObject)(n) || !this.options.keyHashIndices) return o; var s = this.options.keyHashIndices[n]; return s ? (s.shift(), s.length || delete this.options.keyHashIndices[n], this._shiftSelectedKeyIndices(o), o) : o }, _updateAddedItemKeys: function (e, t) { for (var n = 0; n < e.length; n++)this.isItemKeySelected(e[n]) || (this.options.addedItemKeys.push(e[n]), this.options.addedItems.push(t[n])) }, _updateRemovedItemKeys: function (e, t, n) { for (var i = 0; i < t.length; i++)this.isItemKeySelected(t[i]) || (this.options.removedItemKeys.push(t[i]), this.options.removedItems.push(n[i])) }, _getKeyHash: function (e) { return this.options.equalByReference ? e : (0, i.getKeyHash)(e) }, setSelectedItems: function (e, t) { this._updateAddedItemKeys(e, t); var n = this.options.selectedItemKeys, i = this.options.selectedItems; this.options.equalByReference || (this._initSelectedItemKeyHash(), this.updateSelectedItemKeyHash(e)), this._setOption("selectedItemKeys", e), this._setOption("selectedItems", t), this._updateRemovedItemKeys(e, n, i) }, isItemDataSelected: function (e) { var t = this.options.keyOf(e); return this.isItemKeySelected(t) }, isItemKeySelected: function (e) { var t = this._getKeyHash(e); return -1 !== this._indexOfSelectedItemKey(t) }, getSelectAllState: function (e) { return e ? this._getVisibleSelectAllState() : this._getFullSelectAllState() } }); t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(11)), o = l(n(158)), s = n(1), r = l(n(351)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = "".concat("dx-treeview", "-node-container"), c = r.default.inherit(o.default).inherit({ _addWidgetPrefix: function (e) { return "".concat("dx-treeview", "-").concat(e) }, _optionChanged: function (e) { switch (e.name) { case "searchValue": this._showCheckboxes() && this._isRecursiveSelection() && this._removeSelection(), this._initDataAdapter(), this._updateSearch(), this._repaintContainer(); break; case "searchExpr": this._initDataAdapter(), this.repaint(); break; case "searchMode": this.option("expandNodesRecursive") ? this._updateDataAdapter() : this._initDataAdapter(), this.repaint(); break; default: this.callBase(e) } }, _updateDataAdapter: function () { this._setOptionWithoutOptionChange("expandNodesRecursive", !1), this._initDataAdapter(), this._setOptionWithoutOptionChange("expandNodesRecursive", !0) }, _getDataAdapterOptions: function () { return (0, s.extend)(this.callBase(), { searchValue: this.option("searchValue"), searchMode: this.option("searchMode") || "contains", searchExpr: this.option("searchExpr") }) }, _updateSearch: function () { if (this._searchEditor) { var e = this._getSearchEditorOptions(); this._searchEditor.option(e) } }, _repaintContainer: function () { var e, t = this.$element().find(".".concat(d)).first(); t.length && (t.empty(), e = this._dataAdapter.getRootNodes(), this._renderEmptyMessage(e), this._renderItems(t, e), this._fireContentReadyAction()) }, _itemContainer: function (e) { return this._scrollableContainer && e ? (0, i.default)(this._scrollableContainer.content()) : this.callBase() }, _addWidgetClass: function () { this.$element().addClass(this._widgetClass()) }, _clean: function () { this.callBase(), this._removeSearchBox() } }); (0, a.default)("dxTreeView", c); var u = c; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = f(n(2)), a = n(7), o = f(n(15)), s = f(n(5)), r = f(n(12)), l = n(14), d = n(1), c = f(n(11)), u = f(n(210)), h = n(8); function f(e) { return e && e.__esModule ? e : { default: e } } var p = (0, a.getWindow)(), g = (0, a.getNavigator)().userAgent, m = ["backspace", "tab", "enter", "pageUp", "pageDown", "end", "home", "leftArrow", "rightArrow", "downArrow", "upArrow", "del"], _ = u.default.inherit({ ctor: function (e, t) { t && (this._showClearButton = t.showClearButton), this.callBase.apply(this, arguments) }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { value: "", mode: "text", maxLength: null }) }, _initMarkup: function () { this.$element().addClass("dx-textbox"), this.callBase(), this.setAria("role", "textbox") }, _renderContentImpl: function () { this._renderMaxLengthHandlers(), this.callBase() }, _renderInputType: function () { this.callBase(), this._renderSearchMode() }, _renderMaxLengthHandlers: function () { this._isAndroidOrIE() && (s.default.on(this._input(), (0, h.addNamespace)("keydown", this.NAME), this._onKeyDownCutOffHandler.bind(this)), s.default.on(this._input(), (0, h.addNamespace)("change", this.NAME), this._onChangeCutOffHandler.bind(this))) }, _renderProps: function () { this.callBase(), this._toggleMaxLengthProp() }, _toggleMaxLengthProp: function () { var e = this._getMaxLength(); e && e > 0 ? this._input().attr("maxLength", e) : this._input().removeAttr("maxLength") }, _renderSearchMode: function () { var e = this._$element; "search" === this.option("mode") ? (e.addClass("dx-searchbox"), this._renderSearchIcon(), void 0 === this._showClearButton && (this._showClearButton = this.option("showClearButton"), this.option("showClearButton", !0))) : (e.removeClass("dx-searchbox"), this._$searchIcon && this._$searchIcon.remove(), this.option("showClearButton", void 0 === this._showClearButton ? this.option("showClearButton") : this._showClearButton), delete this._showClearButton) }, _renderSearchIcon: function () { var e = (0, i.default)("<div>").addClass("dx-icon").addClass("dx-icon-search"); e.prependTo(this._input().parent()), this._$searchIcon = e }, _optionChanged: function (e) { switch (e.name) { case "maxLength": this._toggleMaxLengthProp(), this._renderMaxLengthHandlers(); break; case "mask": this.callBase(e), this._toggleMaxLengthProp(); break; default: this.callBase(e) } }, _onKeyDownCutOffHandler: function (e) { var t = this._getMaxLength(); if (!t || e.ctrlKey || this._hasSelection()) return !0; var n = (0, i.default)(e.target), a = (0, h.normalizeKeyName)(e); return this._cutOffExtraChar(n), n.val().length < t || -1 !== (0, l.inArray)(a, m) || "" !== p.getSelection().toString() }, _onChangeCutOffHandler: function (e) { var t = (0, i.default)(e.target); this.option("maxLength") && this._cutOffExtraChar(t) }, _cutOffExtraChar: function (e) { var t = this._getMaxLength(), n = e.val(); t && n.length > t && e.val(n.substr(0, t)) }, _getMaxLength: function () { return !!this.option("mask") ? null : this.option("maxLength") }, _isAndroidOrIE: function () { var e = r.default.real(), t = e.version.join("."); return o.default.msie || "android" === e.platform && t && /^(2\.|4\.1)/.test(t) && !/chrome/i.test(g) } }); (0, c.default)("dxTextBox", _); var v = _; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = w(n(2)), a = w(n(211)), o = n(342), s = n(3), r = n(8), l = w(n(5)), d = n(1), c = n(51), u = n(0), h = w(n(10)), f = n(4), p = n(31), g = n(150), m = n(343), _ = w(n(344)), v = w(n(349)), y = w(n(350)); function w(e) { return e && e.__esModule ? e : { default: e } } var x = function () { return {} }, b = a.default, C = { 0: /[0-9]/, 9: /[0-9\s]/, "#": /[-+0-9\s]/, L: function (e) { return I(e) }, l: function (e) { return I(e) || S(e) }, C: /\S/, c: /./, A: function (e) { return I(e) || k(e) }, a: function (e) { return I(e) || k(e) || S(e) } }; function k(e) { return /[0-9]/.test(e) } function I(e) { var t = e.charCodeAt(); return 64 < t && t < 91 || 96 < t && t < 123 || t > 127 } function S(e) { return " " === e } var E = _.default.inherit({ _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { mask: "", maskChar: "_", maskRules: {}, maskInvalidMessage: h.default.format("validation-mask"), useMaskedValue: !1, showMaskMode: "always" }) }, _supportedKeys: function () { var e = this, t = { backspace: e._maskStrategy.getHandler("backspace"), del: e._maskStrategy.getHandler("del"), enter: e._changeHandler }, n = e.callBase(); return (0, s.each)(t, (function (t, i) { var a = n[t]; n[t] = function (t) { e.option("mask") && i.call(e, t), a && a(t) } })), n }, _getSubmitElement: function () { return this.option("mask") ? this._$hiddenElement : this.callBase() }, _init: function () { this.callBase(), this._initMaskStrategy() }, _initMaskStrategy: function () { this._maskStrategy = (0, o.isInputEventsL2Supported)() ? new y.default(this) : new v.default(this) }, _initMarkup: function () { this._renderHiddenElement(), this.callBase() }, _attachMouseWheelEventHandlers: function () { if (this._onMouseWheel !== f.noop) { var e = this._input(), t = (0, r.addNamespace)(g.name, this.NAME), n = this._createAction(function (t) { if ((0, c.focused)(e)) { var n = t.event; this._onMouseWheel(n), n.preventDefault(), n.stopPropagation() } }.bind(this)); l.default.off(e, t), l.default.on(e, t, (function (e) { n({ event: e }) })) } }, _onMouseWheel: f.noop, _render: function () { this._renderMask(), this.callBase(), this._attachMouseWheelEventHandlers() }, _renderHiddenElement: function () { this.option("mask") && (this._$hiddenElement = (0, i.default)("<input>").attr("type", "hidden").appendTo(this._inputWrapper())) }, _removeHiddenElement: function () { this._$hiddenElement && this._$hiddenElement.remove() }, _renderMask: function () { this.$element().removeClass("dx-texteditor-masked"), this._maskRulesChain = null, this._maskStrategy.detachEvents(), this.option("mask") && (this.$element().addClass("dx-texteditor-masked"), this._maskStrategy.attachEvents(), this._parseMask(), this._renderMaskedValue()) }, _suppressCaretChanging: function (e, t) { b = x; try { e.apply(this, t) } finally { b = a.default } }, _changeHandler: function (e) { var t = this._input(), n = t.val(); if (n !== this._changedValue) { this._changedValue = n; var i = (0, r.createEvent)(e, { type: "change" }); l.default.trigger(t, i) } }, _parseMask: function () { this._maskRules = (0, d.extend)({}, C, this.option("maskRules")), this._maskRulesChain = this._parseMaskRule(0) }, _parseMaskRule: function (e) { var t = this.option("mask"); if (e >= t.length) return new m.EmptyMaskRule; var n = t[e], i = "\\" === n, a = i ? new m.StubMaskRule({ maskChar: t[e + 1] }) : this._getMaskRule(n); return a.next(this._parseMaskRule(e + 1 + i)), a }, _getMaskRule: function (e) { var t; return (0, s.each)(this._maskRules, (function (n, i) { if (n === e) return t = { pattern: n, allowedChars: i }, !1 })), (0, u.isDefined)(t) ? new m.MaskRule((0, d.extend)({ maskChar: this.option("maskChar") }, t)) : new m.StubMaskRule({ maskChar: e }) }, _renderMaskedValue: function () { if (this._maskRulesChain) { var e = this.option("value") || ""; this._maskRulesChain.clear(this._normalizeChainArguments()); var t = { length: e.length }; t[this._isMaskedValueMode() ? "text" : "value"] = e, this._handleChain(t), this._displayMask() } }, _replaceSelectedText: function (e, t, n) { return void 0 === n ? e : e.slice(0, t.start) + n + e.slice(t.end) }, _isMaskedValueMode: function () { return this.option("useMaskedValue") }, _displayMask: function (e) { e = e || this._caret(), this._renderValue(), this._caret(e) }, _isValueEmpty: function () { return (0, p.isEmpty)(this._value) }, _shouldShowMask: function () { return "onFocus" !== this.option("showMaskMode") || ((0, c.focused)(this._input()) || !this._isValueEmpty()) }, _showMaskPlaceholder: function () { if (this._shouldShowMask()) { var e = this._maskRulesChain.text(); this.option("text", e), "onFocus" === this.option("showMaskMode") && this._renderDisplayText(e) } }, _renderValue: function () { if (this._maskRulesChain) { var e = this._maskRulesChain.text(); if (this._showMaskPlaceholder(), this._$hiddenElement) { var t = this._maskRulesChain.value(), n = this._isMaskedValueMode() ? e : t; this._$hiddenElement.val((0, p.isEmpty)(t) ? "" : n) } } return this.callBase() }, _valueChangeEventHandler: function (e) { this._maskRulesChain ? (this._saveValueChangeEvent(e), this.option("value", this._convertToValue().replace(/\s+$/, ""))) : this.callBase.apply(this, arguments) }, _isControlKeyFired: function (e) { return this._isControlKey((0, r.normalizeKeyName)(e)) || (0, r.isCommandKeyPressed)(e) }, _handleChain: function (e) { var t = this._maskRulesChain.handle(this._normalizeChainArguments(e)); return this._value = this._maskRulesChain.value(), this._textValue = this._maskRulesChain.text(), t }, _normalizeChainArguments: function (e) { return (e = e || {}).index = 0, e.fullText = this._maskRulesChain.text(), e }, _convertToValue: function (e) { return e = this._isMaskedValueMode() ? this._replaceMaskCharWithEmpty(e || this._textValue || "") : e || this._value || "" }, _replaceMaskCharWithEmpty: function (e) { return e.replace(new RegExp(this.option("maskChar"), "g"), " ") }, _maskKeyHandler: function (e, t) { var n = this; if (!this.option("readOnly")) { this.setForwardDirection(), e.preventDefault(), this._handleSelection(); var i = this._input().val(), a = function () { i !== n._input().val() && n._maskStrategy.runWithoutEventProcessing((function () { return l.default.trigger(n._input(), "input") })) }, o = t(); o ? o.then(a) : (this.setForwardDirection(), this._adjustCaret(), this._displayMask(), this._maskRulesChain.reset(), a()) } }, _handleKey: function (e, t) { this._direction(t || "forward"), this._adjustCaret(e), this._handleKeyChain(e), this._moveCaret() }, _handleSelection: function () { if (this._hasSelection()) { var e = this._caret(), t = new Array(e.end - e.start + 1).join(" "); this._handleKeyChain(t) } }, _handleKeyChain: function (e) { var t = this._caret(), n = this.isForwardDirection() ? t.start : t.start - 1, i = this.isForwardDirection() ? t.end : t.end - 1, a = n === i ? 1 : i - n; this._handleChain({ text: e, start: n, length: a }) }, _tryMoveCaretBackward: function () { this.setBackwardDirection(); var e = this._caret().start; return this._adjustCaret(), !e || e !== this._caret().start }, _adjustCaret: function (e) { var t = this._maskRulesChain.adjustedCaret(this._caret().start, this.isForwardDirection(), e); this._caret({ start: t, end: t }) }, _moveCaret: function () { var e = this._caret().start, t = e + (this.isForwardDirection() ? 0 : -1), n = this._maskRulesChain.isAccepted(t) ? e + (this.isForwardDirection() ? 1 : -1) : e; this._caret({ start: n, end: n }) }, _caret: function (e) { var t = this._input(); if (t.length) return arguments.length ? void b(t, e) : b(t) }, _hasSelection: function () { var e = this._caret(); return e.start !== e.end }, _direction: function (e) { if (!arguments.length) return this._typingDirection; this._typingDirection = e }, setForwardDirection: function () { this._direction("forward") }, setBackwardDirection: function () { this._direction("backward") }, isForwardDirection: function () { return "forward" === this._direction() }, _clean: function () { this._maskStrategy && this._maskStrategy.clean(), this.callBase() }, _validateMask: function () { if (this._maskRulesChain) { var e = (0, p.isEmpty)(this.option("value")) || this._maskRulesChain.isValid(this._normalizeChainArguments()); this.option({ isValid: e, validationError: e ? null : { editorSpecific: !0, message: this.option("maskInvalidMessage") } }) } }, _updateHiddenElement: function () { this._removeHiddenElement(), this.option("mask") && (this._input().removeAttr("name"), this._renderHiddenElement()), this._setSubmitElementName(this.option("name")) }, _updateMaskOption: function () { this._updateHiddenElement(), this._renderMask(), this._validateMask() }, _processEmptyMask: function (e) { if (!e) { var t = this.option("value"); this.option({ text: t, isValid: !0 }), this.validationRequest.fire({ value: t, editor: this }), this._renderValue() } }, _optionChanged: function (e) { switch (e.name) { case "mask": this._updateMaskOption(), this._processEmptyMask(e.value); break; case "maskChar": case "maskRules": case "useMaskedValue": this._updateMaskOption(); break; case "value": this._renderMaskedValue(), this._validateMask(), this.callBase(e), this._changedValue = this._input().val(); break; case "maskInvalidMessage": break; case "showMaskMode": this.option("text", ""), this._renderValue(); break; default: this.callBase(e) } } }); t.default = E, e.exports = t.default }, function (e, t, n) { "use strict"; t.isInputEventsL2Supported = function () { return "onbeforeinput" in i.default.createElement("input") || (e = a.default.real(), t = e.android, n = e.version, t && n[0] > 4); var e, t, n }; var i = o(n(9)), a = o(n(12)); function o(e) { return e && e.__esModule ? e : { default: e } } }, function (e, t, n) { "use strict"; t.StubMaskRule = t.MaskRule = t.EmptyMaskRule = void 0; var i, a = (i = n(13)) && i.__esModule ? i : { default: i }, o = n(1), s = n(14), r = n(0), l = n(4); var d = a.default.inherit({ ctor: function (e) { this._value = " ", (0, o.extend)(this, e) }, next: function (e) { if (!arguments.length) return this._next; this._next = e }, text: l.noop, value: l.noop, rawValue: l.noop, handle: l.noop, _prepareHandlingArgs: function (e, t) { t = t || {}; var n = Object.prototype.hasOwnProperty.call(e, "value") ? "value" : "text"; return e[n] = (0, r.isDefined)(t.str) ? t.str : e[n], e.start = (0, r.isDefined)(t.start) ? t.start : e.start, e.length = (0, r.isDefined)(t.length) ? t.length : e.length, e.index = e.index + 1, e }, reset: l.noop, clear: l.noop, first: function (e) { return e = e || 0, this.next().first(e + 1) }, isAccepted: function () { return !1 }, adjustedCaret: function (e, t, n) { return t ? this._adjustedForward(e, 0, n) : this._adjustedBackward(e, 0, n) }, _adjustedForward: l.noop, _adjustedBackward: l.noop, isValid: l.noop }), c = d.inherit({ next: l.noop, handle: function () { return 0 }, text: function () { return "" }, value: function () { return "" }, first: function () { return 0 }, rawValue: function () { return "" }, adjustedCaret: function () { return 0 }, isValid: function () { return !0 } }); t.EmptyMaskRule = c; var u = d.inherit({ text: function () { return (" " !== this._value ? this._value : this.maskChar) + this.next().text() }, value: function () { return this._value + this.next().value() }, rawValue: function () { return this._value + this.next().rawValue() }, handle: function (e) { var t = Object.prototype.hasOwnProperty.call(e, "value") ? e.value : e.text; if (!t || !t.length || !e.length) return 0; if (e.start) return this.next().handle(this._prepareHandlingArgs(e, { start: e.start - 1 })); var n = t[0], i = t.substring(1); return this._tryAcceptChar(n, e), this._accepted() ? this.next().handle(this._prepareHandlingArgs(e, { str: i, length: e.length - 1 })) + 1 : this.handle(this._prepareHandlingArgs(e, { str: i, length: e.length - 1 })) }, clear: function (e) { this._tryAcceptChar(" ", e), this.next().clear(this._prepareHandlingArgs(e)) }, reset: function () { this._accepted(!1), this.next().reset() }, _tryAcceptChar: function (e, t) { if (this._accepted(!1), this._isAllowed(e, t)) { var n = " " === e ? this.maskChar : e; t.fullText = t.fullText.substring(0, t.index) + n + t.fullText.substring(t.index + 1), this._accepted(!0), this._value = e } }, _accepted: function (e) { if (!arguments.length) return !!this._isAccepted; this._isAccepted = !!e }, first: function (e) { return " " === this._value ? e || 0 : this.callBase(e) }, _isAllowed: function (e, t) { return " " === e || this._isValid(e, t) }, _isValid: function (e, t) { var n = this.allowedChars; return n instanceof RegExp ? n.test(e) : (0, r.isFunction)(n) ? n(e, t.index, t.fullText) : Array.isArray(n) ? (0, s.inArray)(e, n) > -1 : n === e }, isAccepted: function (e) { return 0 === e ? this._accepted() : this.next().isAccepted(e - 1) }, _adjustedForward: function (e, t, n) { return t >= e ? t : this.next()._adjustedForward(e, t + 1, n) || t + 1 }, _adjustedBackward: function (e, t) { return t >= e - 1 ? e : this.next()._adjustedBackward(e, t + 1) || t + 1 }, isValid: function (e) { return this._isValid(this._value, e) && this.next().isValid(this._prepareHandlingArgs(e)) } }); t.MaskRule = u; var h = u.inherit({ value: function () { return this.next().value() }, handle: function (e) { var t = Object.prototype.hasOwnProperty.call(e, "value"), n = t ? e.value : e.text; if (!n.length || !e.length) return 0; if (e.start || t) return this.next().handle(this._prepareHandlingArgs(e, { start: e.start && e.start - 1 })); var i = n[0], a = n.substring(1); this._tryAcceptChar(i); var o = this._isAllowed(i) ? this._prepareHandlingArgs(e, { str: a, length: e.length - 1 }) : e; return this.next().handle(o) + 1 }, clear: function (e) { this._accepted(!1), this.next().clear(this._prepareHandlingArgs(e)) }, _tryAcceptChar: function (e) { this._accepted(this._isValid(e)) }, _isValid: function (e) { return e === this.maskChar }, first: function (e) { return e = e || 0, this.next().first(e + 1) }, _adjustedForward: function (e, t, n) { return t >= e && n === this.maskChar ? t : e === t + 1 && this._accepted() ? e : this.next()._adjustedForward(e, t + 1, n) }, _adjustedBackward: function (e, t) { return t >= e - 1 ? 0 : this.next()._adjustedBackward(e, t + 1) }, isValid: function (e) { return this.next().isValid(this._prepareHandlingArgs(e)) } }); t.StubMaskRule = h }, function (e, t, n) { "use strict"; t.default = void 0; var i = C(n(2)), a = C(n(9)), o = C(n(5)), s = n(28), r = n(51), l = n(0), d = n(1), c = n(14), u = n(3), h = n(34), f = C(n(12)), p = C(n(71)), g = n(8), m = C(n(23)), _ = C(n(346)), v = C(n(347)), y = C(n(27)), w = C(n(17)), x = n(6), b = C(n(63)); function C(e) { return e && e.__esModule ? e : { default: e } } var k = ["dx-editor-outlined", "dx-editor-filled", "dx-editor-underlined"], I = ["KeyDown", "KeyPress", "KeyUp", "Change", "Cut", "Copy", "Paste", "Input"], S = ["tab", "enter", "shift", "control", "alt", "escape", "pageUp", "pageDown", "end", "home", "leftArrow", "upArrow", "rightArrow", "downArrow"]; function E(e) { if ((0, l.isDefined)(e) && !Array.isArray(e)) throw w.default.Error("E1053") } var D = p.default.inherit({ ctor: function (e, t) { t && E(t.buttons), this._buttonCollection = new v.default(this, this._getDefaultButtons()), this._$beforeButtonsContainer = null, this._$afterButtonsContainer = null, this.callBase.apply(this, arguments) }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { buttons: void 0, value: "", spellcheck: !1, showClearButton: !1, valueChangeEvent: "change", placeholder: "", inputAttr: {}, onFocusIn: null, onFocusOut: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onChange: null, onInput: null, onCut: null, onCopy: null, onPaste: null, onEnterKey: null, mode: "text", hoverStateEnabled: !0, focusStateEnabled: !0, text: void 0, displayValueFormatter: function (e) { return (0, l.isDefined)(e) && !1 !== e ? e : "" }, stylingMode: (0, y.default)().editorStylingMode || "outlined", showValidationMark: !0 }) }, _defaultOptionsRules: function () { var e = (0, h.current)(); return this.callBase().concat([{ device: function () { return (0, h.isMaterial)(e) }, options: { stylingMode: (0, y.default)().editorStylingMode || "underlined" } }]) }, _setDeprecatedOptions: function () { this.callBase(), (0, d.extend)(this._deprecatedOptions, { onKeyPress: { since: "20.1", message: "This event is removed from the web standards and will be deprecated in modern browsers soon." } }) }, _getDefaultButtons: function () { return [{ name: "clear", Ctor: _.default }] }, _isClearButtonVisible: function () { return this.option("showClearButton") && !this.option("readOnly") }, _input: function () { return this.$element().find(".dx-texteditor-input").first() }, _isFocused: function () { return (0, r.focused)(this._input()) || this.callBase() }, _inputWrapper: function () { return this.$element() }, _buttonsContainer: function () { return this._inputWrapper().find(".dx-texteditor-buttons-container").eq(0) }, _isControlKey: function (e) { return -1 !== S.indexOf(e) }, _renderStylingMode: function () { var e = this, t = this.option("stylingMode"); k.forEach((function (t) { return e.$element().removeClass(t) })); var n = "dx-editor-" + t; if (-1 === k.indexOf(n)) { var i = this._getDefaultOptions().stylingMode; n = "dx-editor-" + (this._convertRulesToOptions(this._defaultOptionsRules()).stylingMode || i) } this.$element().addClass(n), this._updateButtonsStyling(t) }, _initMarkup: function () { this.$element().addClass("dx-texteditor"), this._renderInput(), this._renderStylingMode(), this._renderInputType(), this._renderPlaceholder(), this._renderProps(), this.callBase(), this._renderValue() }, _render: function () { this._renderPlaceholder(), this._refreshValueChangeEvent(), this._renderEvents(), this._renderEnterKeyAction(), this._renderEmptinessEvent(), this.callBase() }, _renderInput: function () { this._$buttonsContainer = this._$textEditorContainer = (0, i.default)("<div>").addClass("dx-texteditor-container").appendTo(this.$element()), this._$textEditorInputContainer = (0, i.default)("<div>").addClass("dx-texteditor-input-container").appendTo(this._$textEditorContainer), this._$textEditorInputContainer.append(this._createInput()), this._renderButtonContainers() }, _getInputContainer: function () { return this._$textEditorInputContainer }, _renderPendingIndicator: function () { this.$element().addClass("dx-validation-pending"); var e = this._getInputContainer(), t = (0, i.default)("<div>").addClass("dx-pending-indicator").appendTo(e); this._pendingIndicator = this._createComponent(t, b.default) }, _disposePendingIndicator: function () { this._pendingIndicator && (this._pendingIndicator.dispose(), this._pendingIndicator.$element().remove(), this._pendingIndicator = null, this.$element().removeClass("dx-validation-pending")) }, _renderValidationState: function () { this.callBase(); var e = "pending" === this.option("validationStatus"), t = this.$element(); e ? (!this._pendingIndicator && this._renderPendingIndicator(), this._showValidMark = !1) : ("invalid" === this.option("validationStatus") && (this._showValidMark = !1), this._showValidMark || !0 !== this.option("showValidationMark") || (this._showValidMark = "valid" === this.option("validationStatus") && !!this._pendingIndicator), this._disposePendingIndicator()), t.toggleClass("dx-valid", !!this._showValidMark) }, _renderButtonContainers: function () { var e = this.option("buttons"); this._$beforeButtonsContainer = this._buttonCollection.renderBeforeButtons(e, this._$buttonsContainer), this._$afterButtonsContainer = this._buttonCollection.renderAfterButtons(e, this._$buttonsContainer) }, _clean: function () { this._buttonCollection.clean(), this._disposePendingIndicator(), this._$beforeButtonsContainer = null, this._$afterButtonsContainer = null, this._$textEditorContainer = null, this._$buttonsContainer = null, this.callBase() }, _createInput: function () { var e = (0, i.default)("<input>"); return this._applyInputAttributes(e, this.option("inputAttr")), e }, _setSubmitElementName: function (e) { var t = this.option("inputAttr.name"); return this.callBase(e || t || "") }, _applyInputAttributes: function (e, t) { var n = (0, d.extend)(this._getDefaultAttributes(), t); e.attr(n).addClass("dx-texteditor-input").css("minHeight", this.option("height") ? "0" : "") }, _getDefaultAttributes: function () { var e = { autocomplete: "off" }, t = f.default.real(), n = t.ios, i = t.mac; return (n || i) && (e.placeholder = " "), e }, _updateButtons: function (e) { this._buttonCollection.updateButtons(e) }, _updateButtonsStyling: function (e) { var t = this; (0, u.each)(this.option("buttons"), (function (n, i) { if (i.options && !i.options.stylingMode) { var a = t.getButton(i.name); a.option && a.option("stylingMode", "underlined" === e ? "text" : "contained") } })) }, _renderValue: function () { return this._renderInputValue().promise() }, _renderInputValue: function (e) { e = e || this.option("value"); var t = this.option("text"), n = this.option("displayValue"), i = this.option("displayValueFormatter"); return void 0 !== n && null !== e ? t = i(n) : (0, l.isDefined)(t) || (t = i(e)), this.option("text", t), this._input().val() !== ((0, l.isDefined)(t) ? t : "") ? this._renderDisplayText(t) : this._toggleEmptinessEventHandler(), (new x.Deferred).resolve() }, _renderDisplayText: function (e) { this._input().val(e), this._toggleEmptinessEventHandler() }, _isValueValid: function () { if (this._input().length) { var e = this._input().get(0).validity; if (e) return e.valid } return !0 }, _toggleEmptiness: function (e) { this.$element().toggleClass("dx-texteditor-empty", e), this._togglePlaceholder(e) }, _togglePlaceholder: function (e) { this.$element().find(".".concat("dx-placeholder")).toggleClass("dx-state-invisible", !e) }, _renderProps: function () { this._toggleReadOnlyState(), this._toggleSpellcheckState(), this._toggleTabIndex() }, _toggleDisabledState: function (e) { this.callBase.apply(this, arguments); var t = this._input(); t.prop("disabled", e) }, _toggleTabIndex: function () { var e = this._input(), t = this.option("disabled"), n = this.option("focusStateEnabled"); t || !n ? e.attr("tabIndex", -1) : e.removeAttr("tabIndex") }, _toggleReadOnlyState: function () { this._input().prop("readOnly", this._readOnlyPropValue()), this.callBase() }, _readOnlyPropValue: function () { return this.option("readOnly") }, _toggleSpellcheckState: function () { this._input().prop("spellcheck", this.option("spellcheck")) }, _renderPlaceholder: function () { this._renderPlaceholderMarkup(), this._attachPlaceholderEvents() }, _renderPlaceholderMarkup: function () { this._$placeholder && (this._$placeholder.remove(), this._$placeholder = null); var e = this._input(), t = this.option("placeholder"), n = this._$placeholder = (0, i.default)("<div>").attr("data-dx_placeholder", t); n.insertAfter(e), n.addClass("dx-placeholder") }, _attachPlaceholderEvents: function () { var e = this, t = (0, g.addNamespace)(m.default.up, this.NAME); o.default.on(this._$placeholder, t, (function () { o.default.trigger(e._input(), "focus") })), this._toggleEmptinessEventHandler() }, _placeholder: function () { return this._$placeholder || (0, i.default)() }, _clearValueHandler: function (e) { var t = this._input(); e.stopPropagation(), this._saveValueChangeEvent(e), this._clearValue(), !this._isFocused() && o.default.trigger(t, "focus"), o.default.trigger(t, "input") }, _clearValue: function () { this.reset() }, _renderEvents: function () { var e = this, t = this._input(); (0, u.each)(I, (function (n, i) { if (e.hasActionSubscription("on" + i)) { var a = e._createActionByOption("on" + i, { excludeValidators: ["readOnly"] }); o.default.on(t, (0, g.addNamespace)(i.toLowerCase(), e.NAME), (function (t) { e._disposed || a({ event: t }) })) } })) }, _refreshEvents: function () { var e = this, t = this._input(); (0, u.each)(I, (function (n, i) { o.default.off(t, (0, g.addNamespace)(i.toLowerCase(), e.NAME)) })), this._renderEvents() }, _keyPressHandler: function () { this.option("text", this._input().val()) }, _keyDownHandler: function (e) { var t = this._input(), n = e.ctrlKey && "enter" === (0, g.normalizeKeyName)(e), i = t.val() !== this.option("value"); n && i && o.default.trigger(t, "change") }, _renderValueChangeEvent: function () { var e = (0, g.addNamespace)(this._renderValueEventName(), "".concat(this.NAME, "TextChange")), t = (0, g.addNamespace)(this.option("valueChangeEvent"), "".concat(this.NAME, "ValueChange")), n = (0, g.addNamespace)("keydown", "".concat(this.NAME, "TextChange")), i = this._input(); o.default.on(i, e, this._keyPressHandler.bind(this)), o.default.on(i, t, this._valueChangeEventHandler.bind(this)), o.default.on(i, n, this._keyDownHandler.bind(this)) }, _cleanValueChangeEvent: function () { var e = ".".concat(this.NAME, "ValueChange"), t = ".".concat(this.NAME, "TextChange"); o.default.off(this._input(), e), o.default.off(this._input(), t) }, _refreshValueChangeEvent: function () { this._cleanValueChangeEvent(), this._renderValueChangeEvent() }, _renderValueEventName: function () { return "input change keypress" }, _focusTarget: function () { return this._input() }, _focusEventTarget: function () { return this.element() }, _preventNestedFocusEvent: function (e) { if (e.isDefaultPrevented()) return !0; var t = this._isNestedTarget(e.relatedTarget); return "focusin" === e.type && (t = t && this._isNestedTarget(e.target)), t && e.preventDefault(), t }, _isNestedTarget: function (e) { return !!this.$element().find(e).length }, _focusClassTarget: function () { return this.$element() }, _focusInHandler: function (e) { this._preventNestedFocusEvent(e), this.callBase.apply(this, arguments) }, _focusOutHandler: function (e) { this._preventNestedFocusEvent(e), this.callBase.apply(this, arguments) }, _toggleFocusClass: function (e, t) { this.callBase(e, this._focusClassTarget(t)) }, _hasFocusClass: function (e) { return this.callBase((0, i.default)(e || this.$element())) }, _renderEmptinessEvent: function () { var e = this._input(); o.default.on(e, "input blur", this._toggleEmptinessEventHandler.bind(this)) }, _toggleEmptinessEventHandler: function () { var e = this._input().val(), t = ("" === e || null === e) && this._isValueValid(); this._toggleEmptiness(t) }, _valueChangeEventHandler: function (e, t) { this._saveValueChangeEvent(e), this.option("value", arguments.length > 1 ? t : this._input().val()), this._saveValueChangeEvent(void 0) }, _renderEnterKeyAction: function () { this._enterKeyAction = this._createActionByOption("onEnterKey", { excludeValidators: ["readOnly"] }), o.default.off(this._input(), "keyup.onEnterKey.dxTextEditor"), o.default.on(this._input(), "keyup.onEnterKey.dxTextEditor", this._enterKeyHandlerUp.bind(this)) }, _enterKeyHandlerUp: function (e) { this._disposed || "enter" === (0, g.normalizeKeyName)(e) && this._enterKeyAction({ event: e }) }, _updateValue: function () { this._options.silent("text", null), this._renderValue() }, _dispose: function () { this._enterKeyAction = void 0, this.callBase() }, _getSubmitElement: function () { return this._input() }, _optionChanged: function (e) { var t = e.name, n = e.fullName, i = e.value; if ((0, c.inArray)(t.replace("on", ""), I) > -1) this._refreshEvents(); else switch (t) { case "valueChangeEvent": this._refreshValueChangeEvent(), this._refreshFocusEvent(), this._refreshEvents(); break; case "onValueChanged": this._createValueChangeAction(); break; case "focusStateEnabled": this.callBase(e), this._toggleTabIndex(); break; case "spellcheck": this._toggleSpellcheckState(); break; case "mode": this._renderInputType(); break; case "onEnterKey": this._renderEnterKeyAction(); break; case "placeholder": this._renderPlaceholder(); break; case "readOnly": case "disabled": this._updateButtons(), this.callBase(e); break; case "showClearButton": this._updateButtons(["clear"]); break; case "text": break; case "value": this._updateValue(), this.callBase(e); break; case "inputAttr": this._applyInputAttributes(this._input(), this.option(t)); break; case "stylingMode": this._renderStylingMode(); break; case "buttons": n === t && E(i), this._$beforeButtonsContainer && this._$beforeButtonsContainer.remove(), this._$afterButtonsContainer && this._$afterButtonsContainer.remove(), this._buttonCollection.clean(), this._renderButtonContainers(); break; case "displayValueFormatter": this._invalidate(); break; case "showValidationMark": break; default: this.callBase(e) } }, _renderInputType: function () { this._setInputType(this.option("mode")) }, _setInputType: function (e) { var t = this._input(); "search" === e && (e = "text"); try { t.prop("type", e) } catch (e) { t.prop("type", "text") } }, getButton: function (e) { return this._buttonCollection.getButton(e) }, focus: function () { o.default.trigger(this._input(), "focus") }, blur: function () { this._input().is(a.default.getActiveElement()) && (0, s.resetActiveElement)() }, reset: function () { this._showValidMark && (this._showValidMark = !1, this._renderValidationState()); var e = this._getDefaultOptions(); this.option("value") === e.value ? (this._options.silent("text", ""), this._renderValue()) : this.option("value", e.value) }, on: function (e, t) { var n = this.callBase(e, t), i = e.charAt(0).toUpperCase() + e.substr(1); return I.indexOf(i) >= 0 && this._refreshEvents(), n } }); t.default = D, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(11)), o = d(n(69)), s = n(1), r = n(31), l = n(25); function d(e) { return e && e.__esModule ? e : { default: e } } var c = o.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { integrationOptions: {}, templatesRenderAsynchronously: !1, shading: !1, width: "auto", height: "auto", closeOnOutsideClick: !1, closeOnTargetScroll: !1, animation: null, visible: !0, propagateOutsideClick: !0, _checkParentVisibility: !1, rtlEnabled: !1, contentTemplate: this._renderInnerHtml, maxWidth: "100%", mode: "auto", validationErrors: void 0, positionRequest: void 0, boundary: void 0, offset: { h: 0, v: 0 } }) }, _init: function () { this.callBase(), this.updateMaxWidth(), this._updatePosition() }, _initMarkup: function () { this.callBase(), this.$element().addClass("dx-invalid-message"), this._wrapper().addClass("dx-invalid-message"), this._toggleModeClass(), this._updateContentId() }, _updateContentId: function () { var e = (0, i.default)(this.option("container")).attr("aria-describedby"); this.$content().addClass("dx-invalid-message-content").attr("id", e) }, _renderInnerHtml: function (e) { var t = e && (0, i.default)(e), n = this.option("validationErrors") || [], a = ""; n.forEach((function (e) { a += (a ? "<br />" : "") + (0, r.encodeHtml)((null == e ? void 0 : e.message) || "") })), null == t || t.html(a) }, _toggleModeClass: function () { var e = this.option("mode"); this._wrapper().toggleClass("dx-invalid-message-auto", "auto" === e).toggleClass("dx-invalid-message-always", "always" === e) }, updateMaxWidth: function () { var e, t = this.option("target"), n = (null == t ? void 0 : null === (e = t.outerWidth) || void 0 === e ? void 0 : e.call(t)) || (0, i.default)(t).outerWidth(), a = "100%"; n && (a = Math.max(n, 100)), this.option({ maxWidth: a }) }, _updatePosition: function () { var e = this.option(), t = e.positionRequest, n = e.rtlEnabled, i = e.offset, a = e.boundary, o = (0, l.getDefaultAlignment)(n), s = "below" === t ? [" top", " bottom"] : [" bottom", " top"]; n && (i.h = -i.h), "below" !== t && (i.v = -i.v), this.option("position", { offset: i, boundary: a, my: o + s[0], at: o + s[1], collision: "none flip" }) }, _optionChanged: function (e) { var t = e.name, n = e.value; switch (t) { case "target": this.updateMaxWidth(), this.callBase(e); break; case "boundary": this.option("position.boundary", n); break; case "mode": this._toggleModeClass(n); break; case "rtlEnabled": case "offset": case "positionRequest": this._updatePosition(); break; case "validationErrors": this._renderInnerHtml(this.$content()); break; default: this.callBase(e) } } }); (0, a.default)("dxValidationMessage", c); var u = c; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = c(n(2)), o = c(n(5)), s = c(n(129)), r = n(8), l = c(n(23)), d = n(19); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function f(e, t, n) { return (f = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = _(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function p(e, t) { return (p = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function g(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = _(e); if (t) { var a = _(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return m(this, n) } } function m(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function _(e) { return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var v = l.default.down, y = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && p(e, t) }(l, e); var t, n, i, s = g(l); function l() { return u(this, l), s.apply(this, arguments) } return t = l, (n = [{ key: "_create", value: function () { var e = (0, a.default)("<span>").addClass("dx-clear-button-area").append((0, a.default)("<span>").addClass("dx-icon").addClass("dx-icon-clear")); return this._addToContainer(e), this.update(!0), { instance: e, $element: e } } }, { key: "_isVisible", value: function () { return this.editor._isClearButtonVisible() } }, { key: "_attachEvents", value: function (e, t) { var n = this.editor, i = n.NAME; o.default.on(t, (0, r.addNamespace)(v, i), (function (e) { e.preventDefault(), "mouse" !== e.pointerType && n._clearValueHandler(e) })), o.default.on(t, (0, r.addNamespace)(d.name, i), (function (e) { return n._clearValueHandler(e) })) } }, { key: "_legacyRender", value: function (e, t) { e.toggleClass("dx-show-clear-button", t) } }, { key: "update", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; !e && f(_(l.prototype), "update", this).call(this); var t = this.editor, n = this.instance, i = t.$element(), a = this._isVisible(); n && n.toggleClass("dx-state-invisible", !a), this._legacyRender(i, a) } }]) && h(t.prototype, n), i && h(t, i), l }(s.default); t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(348)), o = n(1), s = n(14), r = l(n(17)); function l(e) { return e && e.__esModule ? e : { default: e } } function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function c(e) { return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function u(e, t) { if (-1 !== e.indexOf(t)) throw r.default.Error("E1055", t); e.push(t) } var h = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this.buttons = [], this.defaultButtonsInfo = n, this.editor = t } var t, n, l; return t = e, (n = [{ key: "_compileButtonInfo", value: function (e) { var t = this, n = []; return e.map((function (e) { var i, l, d = "string" == typeof e; if (d || (i = e, function () { if (!i || "object" !== c(i) || Array.isArray(i)) throw r.default.Error("E1053") }(), function () { if (!("name" in i)) throw r.default.Error("E1054") }(), function () { if ("string" != typeof i.name) throw r.default.Error("E1055") }(), l = i.location, "location" in i && "after" !== l && "before" !== l && (i.location = "after")), d || function (e, t) { return !!(0, s.find)(t, (function (t) { return t.name === e })) }(e.name, t.defaultButtonsInfo)) { var h = (0, s.find)(t.defaultButtonsInfo, (function (t) { var n = t.name; return n === e || n === e.name })); if (!h) throw r.default.Error("E1056", t.editor.NAME, e); return u(n, e), h } var f = e.name; return u(n, f), (0, o.extend)(e, { Ctor: a.default }) })) } }, { key: "_createButton", value: function (e) { var t = e.Ctor, n = e.options, i = new t(e.name, this.editor, n); return this.buttons.push(i), i } }, { key: "_renderButtons", value: function (e, t, n) { var a = this, o = null, s = e ? this._compileButtonInfo(e) : this.defaultButtonsInfo; return s.forEach((function (e) { var s = e.location; (void 0 === s ? "after" : s) === n && a._createButton(e).render((o = o || (0, i.default)("<div>").addClass("dx-texteditor-buttons-container"), "before" === n ? t.prepend(o) : t.append(o), o)) })), o } }, { key: "clean", value: function () { this.buttons.forEach((function (e) { return e.dispose() })), this.buttons = [] } }, { key: "getButton", value: function (e) { var t = (0, s.find)(this.buttons, (function (t) { return t.name === e })); return t && t.instance } }, { key: "renderAfterButtons", value: function (e, t) { return this._renderButtons(e, t, "after") } }, { key: "renderBeforeButtons", value: function (e, t) { return this._renderButtons(e, t, "before") } }, { key: "updateButtons", value: function (e) { this.buttons.forEach((function (t) { e && -1 === e.indexOf(t.name) || t.update() })) } }]) && d(t.prototype, n), l && d(t, l), e }(); t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = u(n(2)), o = u(n(129)), s = u(n(35)), r = n(1), l = u(n(5)), d = n(107), c = n(19); function u(e) { return e && e.__esModule ? e : { default: e } } function h(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function f(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function p(e, t, n) { return (p = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = v(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function g(e, t) { return (g = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function m(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = v(e); if (t) { var a = v(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return _(this, n) } } function _(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function v(e) { return (v = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var y = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && g(e, t) }(u, e); var t, n, i, o = m(u); function u() { return h(this, u), o.apply(this, arguments) } return t = u, (n = [{ key: "_attachEvents", value: function (e, t) { var n = this.editor; l.default.on(t, d.start, (function () { n.$element().addClass("dx-custom-button-hovered") })), l.default.on(t, d.end, (function () { n.$element().removeClass("dx-custom-button-hovered") })), l.default.on(t, c.name, (function (e) { e.stopPropagation() })) } }, { key: "_create", value: function () { var e = this.editor, t = (0, a.default)("<div>"); return this._addToContainer(t), { $element: t, instance: e._createComponent(t, s.default, (0, r.extend)({}, this.options, { ignoreParentReadOnly: !0, disabled: this._isDisabled(), integrationOptions: this._prepareIntegrationOptions(e) })) } } }, { key: "_prepareIntegrationOptions", value: function (e) { return (0, r.extend)({}, e.option("integrationOptions"), { skipTemplates: ["content"] }) } }, { key: "update", value: function () { var e = p(v(u.prototype), "update", this).call(this); return this.instance && this.instance.option("disabled", this._isDisabled()), e } }, { key: "_isVisible", value: function () { return this.editor.option("visible") } }, { key: "_isDisabled", value: function () { return void 0 !== this.options.disabled ? this.instance ? this.instance.option("disabled") : this.options.disabled : this.editor.option("readOnly") } }]) && f(t.prototype, n), i && f(t, i), u }(o.default); t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = r(n(212)), o = n(8), s = r(n(96)); function r(e) { return e && e.__esModule ? e : { default: e } } function l(e) { return function (e) { if (Array.isArray(e)) return d(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return d(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return d(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function d(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function c(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function u(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function h(e, t, n) { return (h = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = m(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function f(e, t) { return (f = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function p(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = m(e); if (t) { var a = m(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return g(this, n) } } function g(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function m(e) { return (m = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var _ = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && f(e, t) }(r, e); var t, n, i, a = p(r); function r() { return c(this, r), a.apply(this, arguments) } return t = r, (n = [{ key: "_getStrategyName", value: function () { return "default" } }, { key: "getHandleEventNames", value: function () { return [].concat(l(h(m(r.prototype), "getHandleEventNames", this).call(this)), ["keyPress"]) } }, { key: "_keyPressHandler", value: function (e) { if (!this._keyPressHandled && (this._keyPressHandled = !0, !this.editor._isControlKeyFired(e))) { var t = this.editor; t._maskKeyHandler(e, (function () { return t._handleKey((0, o.getChar)(e)) })) } } }, { key: "_inputHandler", value: function (e) { if (this._backspaceInputHandled(e.originalEvent && e.originalEvent.inputType) && this._handleBackspaceInput(e), e.originalEvent && this._autoFillHandler(e), !this._keyPressHandled) { this._keyPressHandled = !0; var t = this.editorInput().val(), n = this.editorCaret(); if (n.end) { n.start = n.end - 1; var i = t.substring(0, n.start) + t.substring(n.end), a = t[n.start], o = this.editor; this.editorInput().val(i), o._caret({ start: n.start, end: n.start }), o._maskKeyHandler(e, (function () { return o._handleKey(a) })) } } } }, { key: "_backspaceHandler", value: function (e) { var t = this, n = this.editor; this._keyPressHandled = !0; var i = function (e, i) { e && (n._direction(t.DIRECTION.FORWARD), n._adjustCaret()); var a = t.editorCaret(); return new s.default((function (e) { clearTimeout(t._backspaceHandlerTimeout), t._backspaceHandlerTimeout = setTimeout((function () { i(a), e() })) })) }; n._maskKeyHandler(e, (function () { return n._hasSelection() ? i(!0, (function (e) { n._displayMask(e), n._maskRulesChain.reset() })) : n._tryMoveCaretBackward() ? i(!1, (function (e) { t.editorCaret(e) })) : (n._handleKey(" ", t.DIRECTION.BACKWARD), i(!0, (function (e) { n._displayMask(e), n._maskRulesChain.reset() }))) })) } }, { key: "_backspaceInputHandled", value: function (e) { return "deleteContentBackward" === e && !this._keyPressHandled } }, { key: "_handleBackspaceInput", value: function (e) { var t = this.editorCaret(), n = t.start, i = t.end; this.editorCaret({ start: n + 1, end: i + 1 }), this._backspaceHandler(e) } }]) && u(t.prototype, n), i && u(t, i), r }(a.default); t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a, o = (a = n(212)) && a.__esModule ? a : { default: a }; function s(e) { return function (e) { if (Array.isArray(e)) return r(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return r(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return r(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function r(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function l(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function d(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function c(e, t, n) { return (c = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = p(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function u(e, t) { return (u = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function h(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = p(e); if (t) { var a = p(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return f(this, n) } } function f(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function p(e) { return (p = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var g = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && u(e, t) }(o, e); var t, n, i, a = h(o); function o() { return l(this, o), a.apply(this, arguments) } return t = o, (n = [{ key: "_getStrategyName", value: function () { return "inputEvents" } }, { key: "getHandleEventNames", value: function () { return [].concat(s(c(p(o.prototype), "getHandleEventNames", this).call(this)), ["beforeInput"]) } }, { key: "_beforeInputHandler", value: function () { this._prevCaret = this.editorCaret() } }, { key: "_inputHandler", value: function (e) { var t = e.originalEvent; if (t) { var n = t.inputType, i = t.data, a = this.editorCaret(); if ("deleteContentBackward" === n) { var o = this._prevCaret.end - this._prevCaret.start || 1; this.editor.setBackwardDirection(), this._updateEditorMask({ start: a.start, length: o, text: this._getEmptyString(o) }) } else { if (!a.end) return; this._autoFillHandler(t), this.editorCaret(a); var s = this._prevCaret.end - this._prevCaret.start, r = i + (s ? this._getEmptyString(s - i.length) : ""); this.editor.setForwardDirection(), this._updateEditorMask({ start: this._prevCaret.start, length: s || r.length, text: r }) || this.editorCaret(this._prevCaret) } } } }, { key: "_getEmptyString", value: function (e) { return Array(e + 1).join(" ") } }, { key: "_updateEditorMask", value: function (e) { var t = e.text.length, n = this.editor._handleChain(e); if (this.editor.isForwardDirection()) { var i = this.editorCaret(), a = i.start, o = i.end, s = n - t; a <= n && n > 1 && this.editorCaret({ start: a + s, end: o + s }), this.editor.isForwardDirection() && this.editor._adjustCaret() } return this.editor._displayMask(), !!n } }]) && d(t.prototype, n), i && d(t, i), o }(o.default); t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = k(n(2)), a = k(n(9)), o = k(n(5)), s = k(n(10)), r = n(19), l = n(4), d = n(7), c = n(0), u = n(1), h = n(3), f = n(18), p = k(n(112)), g = k(n(213)), m = n(8), _ = k(n(23)), v = n(124), y = k(n(38)), w = k(n(85)), x = k(n(63)), b = n(6), C = k(n(17)); function k(e) { return e && e.__esModule ? e : { default: e } } var I = "".concat("dx-treeview", "-node"), S = "".concat(I, "-container"), E = "".concat(I, "-loadindicator"), D = "".concat(I, "-container-opened"), T = "".concat(I, "-is-leaf"), A = "".concat("dx-treeview", "-item"), O = "".concat(A, "-with-checkbox"), B = "".concat(A, "-without-checkbox"), M = "".concat(A, "-data"), P = "".concat("dx-treeview", "-toggle-item-visibility"), R = "".concat("dx-treeview", "-loadindicator"), F = "".concat("dx-treeview", "-loadindicator-wrapper"), V = "".concat("dx-treeview", "-toggle-item-visibility-opened"), q = "".concat("dx-treeview", "-select-all-item"), L = g.default.inherit({ _supportedKeys: function (e) { var t = this, n = function (e) { var n = (0, i.default)(t.option("focusedElement")); n.length && (e.target = n, e.currentTarget = n, t._itemClickHandler(e, n.children("." + A)), t._getEventNameByOption(t.option("expandEvent")) === (0, m.addNamespace)(r.name, "dxTreeView_expand") && t._expandEventHandler(e)) }, a = function (e) { e.preventDefault(), t._changeCheckBoxState((0, i.default)(t.option("focusedElement"))) }, o = function (e, t) { if (this.option("expandAllEnabled")) { t.preventDefault(); var n = (0, i.default)(this.option("focusedElement")); if (n.length) { var a = this._getItemData(n.find(".".concat(A))); this._toggleExpandedNestedItems([a], e) } } }; return (0, u.extend)(this.callBase(), { enter: this._showCheckboxes() ? a : n, space: this._showCheckboxes() ? a : n, asterisk: o.bind(this, !0), minus: o.bind(this, !1) }) }, _changeCheckBoxState: function (e) { var t = this._getCheckBoxInstance(e), n = t.option("value"); t.option("disabled") || this._updateItemSelection(!n, e.find("." + A).get(0), !0, e) }, _toggleExpandedNestedItems: function (e, t) { if (e) for (var n = 0, i = e.length; n < i; n++) { var a = e[n], o = this._dataAdapter.getNodeByItem(a); this._toggleExpandedState(o, t), this._toggleExpandedNestedItems(a.items, t) } }, _getNodeElement: function (e, t) { var n = this._encodeString(e.internalFields.key); if (t) return t.$nodeByKey || (t.$nodeByKey = {}, this.$element().find(".".concat(I)).each((function () { var e = (0, i.default)(this), n = e.attr("data-item-id"); t.$nodeByKey[n] = e }))), t.$nodeByKey[n] || (0, i.default)(); var a = this.$element().get(0).querySelector("[".concat("data-item-id", '="').concat(n, '"]')); return (0, i.default)(a) }, _activeStateUnit: "." + A, _widgetClass: function () { return "dx-treeview" }, _getDefaultOptions: function () { var e = (0, u.extend)(this.callBase(), { animationEnabled: !0, dataStructure: "tree", deferRendering: !0, expandAllEnabled: !1, hasItemsExpr: "hasItems", selectNodesRecursive: !0, expandNodesRecursive: !0, showCheckBoxesMode: "none", selectAllText: s.default.format("dxList-selectAll"), onItemSelectionChanged: null, onItemExpanded: null, onItemCollapsed: null, scrollDirection: "vertical", virtualModeEnabled: !1, rootValue: 0, focusStateEnabled: !1, selectionMode: "multiple", expandEvent: "dblclick", selectByClick: !1, createChildren: null, onSelectAllValueChanged: null }); return (0, u.extend)(!0, e, { integrationOptions: { useDeferUpdateForTemplates: !1 } }) }, _initSelectedItems: l.noop, _syncSelectionOptions: l.asyncNoop, _fireSelectionChanged: function () { var e = this._selectionChangePromise; (0, b.when)(e).done(function () { this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] })() }.bind(this)) }, _createSelectAllValueChangedAction: function () { this._selectAllValueChangedAction = this._createActionByOption("onSelectAllValueChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _fireSelectAllValueChanged: function (e) { this._selectAllValueChangedAction({ value: e }) }, _checkBoxModeChange: function (e, t) { if ("none" !== t && "none" !== e) { var n = this._$selectAllItem && this._$selectAllItem.length; switch (e) { case "selectAll": !n && this._renderSelectAllItem(); break; case "normal": n && (this._$selectAllItem.remove(), delete this._$selectAllItem) } } else this.repaint() }, _removeSelection: function () { var e = this; (0, h.each)(this._dataAdapter.getFullData(), (function (t, n) { e._hasChildren(n) && e._dataAdapter.toggleSelection(n.internalFields.key, !1, !0) })) }, _optionChanged: function (e) { var t = e.name, n = e.value, i = e.previousValue; switch (t) { case "selectAllText": this._$selectAllItem && this._$selectAllItem.dxCheckBox("instance").option("text", n); break; case "showCheckBoxesMode": this._checkBoxModeChange(n, i); break; case "scrollDirection": this._scrollableContainer.option("direction", n); break; case "items": delete this._$selectAllItem, this.callBase(e); break; case "dataSource": this.callBase(e), this._initDataAdapter(), this._filter = {}; break; case "hasItemsExpr": this._initAccessors(), this.repaint(); break; case "expandEvent": this._initExpandEvent(); break; case "deferRendering": case "dataStructure": case "rootValue": case "createChildren": case "expandNodesRecursive": case "onItemSelectionChanged": case "onItemExpanded": case "onItemCollapsed": case "expandAllEnabled": case "animationEnabled": case "virtualModeEnabled": case "selectByClick": break; case "selectionMode": this._initDataAdapter(), this.callBase(e); break; case "onSelectAllValueChanged": this._createSelectAllValueChangedAction(); break; case "selectNodesRecursive": this._dataAdapter.setOption("recursiveSelection", e.value), this.repaint(); break; default: this.callBase(e) } }, _initDataSource: function () { this._useCustomChildrenLoader() ? this._loadChildrenByCustomLoader(null).done(function (e) { e && e.length && this.option("items", e) }.bind(this)) : (this.callBase(), this._isVirtualMode() && this._initVirtualMode()) }, _initVirtualMode: function () { var e = this._filter; e.custom || (e.custom = this._dataSource.filter()), e.internal || (e.internal = [this.option("parentIdExpr"), this.option("rootValue")]) }, _useCustomChildrenLoader: function () { return (0, c.isFunction)(this.option("createChildren")) && this._isDataStructurePlain() }, _loadChildrenByCustomLoader: function (e) { var t = this.option("createChildren").call(this, e); return Array.isArray(t) ? (new b.Deferred).resolve(t).promise() : t && (0, c.isFunction)(t.then) ? (0, b.fromPromise)(t) : (new b.Deferred).resolve([]).promise() }, _combineFilter: function () { return this._filter.custom && this._filter.custom.length ? [this._filter.custom, this._filter.internal] : this._filter.internal }, _dataSourceLoadErrorHandler: function () { this._renderEmptyMessage() }, _init: function () { this._filter = {}, this.callBase(), this._initStoreChangeHandlers() }, _dataSourceChangedHandler: function (e) { var t = this.option("items"); this._initialized && this._isVirtualMode() && t.length || this.option("items", e) }, _removeTreeViewLoadIndicator: function () { this._treeViewLoadIndicator && (this._treeViewLoadIndicator.remove(), this._treeViewLoadIndicator = null) }, _createTreeViewLoadIndicator: function () { return this._treeViewLoadIndicator = (0, i.default)("<div>").addClass(R), this._createComponent(this._treeViewLoadIndicator, x.default, {}), this._treeViewLoadIndicator }, _dataSourceLoadingChangedHandler: function (e) { var t; if (this._isVirtualMode() && (t = this._combineFilter(), this._dataSource.filter(t)), e && !this._dataSource.isLoaded()) { this.option("items", []); var n = (0, i.default)("<div>").addClass(F); this._createTreeViewLoadIndicator().appendTo(n), this.itemsContainer().append(n), this._isVirtualMode() && this._dataSource.filter() !== t && this._dataSource.filter([]) } else this._removeTreeViewLoadIndicator() }, _initStoreChangeHandlers: function () { var e = this; "plain" === this.option("dataStructure") && this._dataSource && this._dataSource.store().on("inserted", (function (t) { e.option().items = e.option("items").concat(t), e._dataAdapter.addItem(t), e._dataAdapter.isFiltered(t) && e._updateLevel(e._parentIdGetter(t)) })).on("removed", (function (t) { var n = e._dataAdapter.getNodeByKey(t); (0, c.isDefined)(n) && (e.option("items")[e._dataAdapter.getIndexByKey(n.internalFields.key)] = 0, e._markChildrenItemsToRemove(n), e._removeItems(), e._dataAdapter.removeItem(t), e._updateLevel(e._parentIdGetter(n))) })) }, _markChildrenItemsToRemove: function (e) { var t = this, n = e.internalFields.childrenKeys; (0, h.each)(n, (function (e, n) { t.option("items")[t._dataAdapter.getIndexByKey(n)] = 0, t._markChildrenItemsToRemove(t._dataAdapter.getNodeByKey(n)) })) }, _removeItems: function () { var e = this, t = (0, u.extend)(!0, [], this.option("items")), n = 0; (0, h.each)(t, (function (t, i) { i || (e.option("items").splice(t - n, 1), n++) })) }, _updateLevel: function (e) { var t = this._getContainerByParentKey(e); this._renderItems(t, this._dataAdapter.getChildrenNodes(e)) }, _getOldContainer: function (e) { return e.length ? e.children(".".concat(S)) : this._scrollableContainer ? this._scrollableContainer.$content().children() : (0, i.default)() }, _getContainerByParentKey: function (e) { var t = this._dataAdapter.getNodeByKey(e), n = t ? this._getNodeElement(t) : []; this._getOldContainer(n).remove(); var i = this._renderNodeContainer(n); return this._isRootLevel(e) && (this._scrollableContainer || this._renderScrollableContainer(), this._scrollableContainer.$content().append(i)), i }, _isRootLevel: function (e) { return e === this.option("rootValue") }, _getAccessors: function () { var e = this.callBase(); return e.push("hasItems"), e }, _getDataAdapterOptions: function () { return { rootValue: this.option("rootValue"), multipleSelection: !this._isSingleSelection(), recursiveSelection: this._isRecursiveSelection(), recursiveExpansion: this.option("expandNodesRecursive"), selectionRequired: this.option("selectionRequired"), dataType: this.option("dataStructure"), sort: this._dataSource && this._dataSource.sort() } }, _initMarkup: function () { this._renderScrollableContainer(), this._renderEmptyMessage(this._dataAdapter.getRootNodes()), this.callBase(), this.setAria("role", "tree") }, _renderContentImpl: function () { var e = this._renderNodeContainer(); this._scrollableContainer.$content().append(e), this.option("items") && this.option("items").length && (this._renderItems(e, this._dataAdapter.getRootNodes()), this._initExpandEvent(), this._selectAllEnabled() && (this._createSelectAllValueChangedAction(), this._renderSelectAllItem(e))) }, _isVirtualMode: function () { return this.option("virtualModeEnabled") && this._isDataStructurePlain() && !!this.option("dataSource") }, _isDataStructurePlain: function () { return "plain" === this.option("dataStructure") }, _fireContentReadyAction: function () { var e = this.getDataSource(), t = e && !e.isLoaded(); this._scrollableContainer && (0, d.hasWindow)() && this._scrollableContainer.update(), t || this.callBase(), this._scrollableContainer && (0, d.hasWindow)() && this._scrollableContainer.update() }, _renderScrollableContainer: function () { this._scrollableContainer = this._createComponent((0, i.default)("<div>").appendTo(this.$element()), w.default, { direction: this.option("scrollDirection"), useKeyboard: !1 }) }, _renderNodeContainer: function (e) { var t = (0, i.default)("<ul>").addClass(S); if (this.setAria("role", "group", t), e && e.length) { var n = this._getItemData(e.children("." + A)); this._expandedGetter(n) && t.addClass(D), t.appendTo(e) } return t }, _createDOMElement: function (e, t) { var n = (0, i.default)("<li>").addClass(I).attr("data-item-id", this._encodeString(t.internalFields.key)).prependTo(e); return this.setAria({ role: "treeitem", label: this._displayGetter(t.internalFields.item) || "", expanded: t.internalFields.expanded || !1, level: this._getLevel(e) }, n), n }, _getLevel: function (e) { var t = e.parent(); return t.hasClass("dx-scrollable-content") ? 1 : parseInt(t.attr("aria-level")) + 1 }, _showCheckboxes: function () { return "none" !== this.option("showCheckBoxesMode") }, _selectAllEnabled: function () { return "selectAll" === this.option("showCheckBoxesMode") && !this._isSingleSelection() }, _renderItems: function (e, t) { for (var n = t.length - 1; n >= 0; n--)this._renderItem(n, t[n], e); this._renderedItemsCount += t.length }, _renderItem: function (e, t, n) { var i = this._createDOMElement(n, t), a = t.internalFields, o = this._showCheckboxes(); i.addClass(o ? O : B), i.toggleClass("dx-state-invisible", !1 === a.item.visible), o && this._renderCheckBox(i, t), this.setAria("selected", a.selected, i), this._toggleSelectedClass(i, a.selected), this.callBase(this._renderedItemsCount + e, a.item, i), !1 !== a.item.visible && this._renderChildren(i, t) }, _setAriaSelected: function () { }, _renderChildren: function (e, t) { var n = this; this._hasChildren(t) ? (this._renderToggleItemVisibilityIcon(e, t), this.option("deferRendering") && !t.internalFields.expanded || this._loadSublevel(t).done((function (i) { n._renderSublevel(e, n._getActualNode(t), i) }))) : this._addLeafClass(e) }, _getActualNode: function (e) { return this._dataAdapter.getNodeByKey(e.internalFields.key) }, _hasChildren: function (e) { return this._isVirtualMode() || this._useCustomChildrenLoader() ? !1 !== this._hasItemsGetter(e.internalFields.item) : this.callBase(e) }, _loadSublevel: function (e) { var t = this, n = new b.Deferred, i = this._getChildNodes(e); return i.length ? n.resolve(i) : this._loadNestedItems(e).done((function (e) { n.resolve(t._dataAdapter.getNodesByItems(e)) })), n.promise() }, _renderSublevel: function (e, t, n) { var i = this._renderNodeContainer(e, t), a = n.filter((function (e) { return -1 !== t.internalFields.childrenKeys.indexOf(e.internalFields.key) })); if (this._renderItems(i, a), a.length && !t.internalFields.selected) { var o = a[0]; this._updateParentsState(o, this._getNodeElement(o)) } this._normalizeIconState(e, a.length), t.internalFields.expanded && i.addClass(D) }, _executeItemRenderAction: function (e, t, n) { var i = this._getNode(n); this._getItemRenderAction()({ itemElement: n, itemIndex: e, itemData: t, node: this._dataAdapter.getPublicNode(i) }) }, _addLeafClass: function (e) { e.addClass(T) }, _expandEventHandler: function (e) { (0, i.default)(e.currentTarget.parentNode).hasClass(T) || this._toggleExpandedState(e.currentTarget, void 0, e) }, _initExpandEvent: function () { var e = this._getEventNameByOption(this.option("expandEvent")), t = this._itemContainer(), n = this._itemSelector(); o.default.off(t, ".dxTreeView_expand", n), o.default.on(t, e, n, this._expandEventHandler.bind(this)) }, _getEventNameByOption: function (e) { var t = "click" === e ? r.name : v.name; return (0, m.addNamespace)(t, "dxTreeView_expand") }, _getNode: function (e) { if (!(0, c.isDefined)(e)) return null; if (e.internalFields) return e; if ((0, c.isPrimitive)(e)) return this._dataAdapter.getNodeByKey(e); var t = (0, i.default)(e).get(0); return t ? a.default.isElementNode(t) ? this._getNodeByElement(t) : this._dataAdapter.getNodeByItem(t) : null }, _getNodeByElement: function (e) { var t = (0, i.default)(e).closest("." + I), n = this._decodeString(t.attr("data-item-id")); return this._dataAdapter.getNodeByKey(n) }, _toggleExpandedState: function (e, t, n) { var i = this._getNode(e); if (!i) return (new b.Deferred).reject().promise(); if (i.internalFields.disabled) return (new b.Deferred).reject().promise(); var a = i.internalFields.expanded; if (a === t) return (new b.Deferred).resolve().promise(); if (this._hasChildren(i)) { var o = this._getNodeElement(i); if (o.find(".".concat(E, ":not(.").concat("dx-state-invisible", ")")).length) return (new b.Deferred).reject().promise(); this._createLoadIndicator(o) } return (0, c.isDefined)(t) || (t = !a), this._dataAdapter.toggleExpansion(i.internalFields.key, t), this._updateExpandedItemsUI(i, t, n) }, _createLoadIndicator: function (e) { var t = e.children("." + P), n = e.children(".".concat(S)); t.hasClass(V) || n.not(":empty").length || (this._createComponent((0, i.default)("<div>").addClass(E), x.default, {}).$element().appendTo(e), t.hide()) }, _renderToggleItemVisibilityIcon: function (e, t) { var n = (0, i.default)("<div>").addClass(P).appendTo(e); t.internalFields.expanded && (n.addClass(V), e.parent().addClass(D)), t.internalFields.disabled && n.addClass("dx-state-disabled"), this._renderToggleItemVisibilityIconClick(n, t) }, _renderToggleItemVisibilityIconClick: function (e, t) { var n = this, i = (0, m.addNamespace)(r.name, this.NAME); o.default.off(e, i), o.default.on(e, i, (function (e) { n._toggleExpandedState(t.internalFields.key, void 0, e) })) }, _updateExpandedItemsUI: function (e, t, n) { var i = this._getNodeElement(e), a = !i.length || t && i.is(":hidden"); if (this.option("expandNodesRecursive") && a) { var o = this._getNode(e.internalFields.parentKey); o && this._updateExpandedItemsUI(o, t, n) } var s = i.children("." + P), r = i.children(".".concat(S)); s.toggleClass(V, t); var l = r.length > 0, d = new b.Deferred; return !t || l && !r.is(":empty") ? (this._animateNodeContainer(e, t, n, d), d.promise()) : 0 === e.internalFields.childrenKeys.length && (this._isVirtualMode() || this._useCustomChildrenLoader()) ? (this._loadNestedItemsWithUpdate(e, t, n, d), d.promise()) : (this._renderSublevel(i, e, this._getChildNodes(e)), this._fireContentReadyAction(), this._animateNodeContainer(e, t, n, d), d.promise()) }, _loadNestedItemsWithUpdate: function (e, t, n, i) { var a = this, o = this._getNodeElement(e); this._loadNestedItems(e).done((function (s) { var r = a._getActualNode(e); a._renderSublevel(o, r, a._dataAdapter.getNodesByItems(s)), s && s.length && (a._fireContentReadyAction(), a._animateNodeContainer(r, t, n, i)) })) }, _loadNestedItems: function (e) { var t = this; if (this._useCustomChildrenLoader()) { var n = this._dataAdapter.getPublicNode(e); return this._loadChildrenByCustomLoader(n).done((function (e) { t._areNodesExists(e) || t._appendItems(e) })) } return this._isVirtualMode() ? (this._filter.internal = [this.option("parentIdExpr"), e.internalFields.key], this._dataSource.filter(this._combineFilter()), this._dataSource.load().done((function (e) { t._areNodesExists(e) || t._appendItems(e) }))) : (new b.Deferred).resolve([]).promise() }, _areNodesExists: function (e, t) { var n = this.keyOf(e[0]), i = this._dataAdapter.getFullData(); return !!this._dataAdapter.getNodeByKey(n, i) }, _appendItems: function (e) { this.option().items = this.option("items").concat(e), this._initDataAdapter() }, _animateNodeContainer: function (e, t, n, i) { var a = this._getNodeElement(e), o = a.children(".".concat(S)); e && i && 0 === o.length && i.resolve(), o.addClass(D); var s = o.height(); y.default.stop(o, !0), y.default.animate(o, { type: "custom", duration: this.option("animationEnabled") ? 400 : 0, from: { maxHeight: t ? 0 : s }, to: { maxHeight: t ? s : 0 }, complete: function () { o.css("maxHeight", "none"), o.toggleClass(D, t), this.setAria("expanded", t, a), this._scrollableContainer.update(), this._fireExpandedStateUpdatedEvent(t, e, n), i && i.resolve() }.bind(this) }) }, _fireExpandedStateUpdatedEvent: function (e, t, n) { if (this._hasChildren(t)) { var i = e ? "onItemExpanded" : "onItemCollapsed"; if ((0, c.isDefined)(n)) this._itemDXEventHandler(n, i, { node: this._dataAdapter.getPublicNode(t) }); else { var a = this._getNodeElement(t); this._itemEventHandler(a, i, { event: n, node: this._dataAdapter.getPublicNode(t) }) } } }, _normalizeIconState: function (e, t) { var n = e.find(".".concat(E)); (n.length && x.default.getInstance(n).option("visible", !1), t) ? e.find("." + P).show() : (e.find("." + P).removeClass(P), e.addClass(T)) }, _emptyMessageContainer: function () { return this._scrollableContainer ? this._scrollableContainer.content() : this.callBase() }, _renderContent: function () { var e = this.option("items"); e && e.length && (this._contentAlreadyRendered = !0), this.callBase() }, _renderSelectAllItem: function (e) { e = e || this.$element().find(".".concat(S)).first(), this._$selectAllItem = (0, i.default)("<div>").addClass(q); var t = this._dataAdapter.isAllSelected(); this._createComponent(this._$selectAllItem, p.default, { value: t, text: this.option("selectAllText"), onValueChanged: function (e) { this._toggleSelectAll(e), this._fireSelectAllValueChanged(e.value) }.bind(this) }), this._toggleSelectedClass(this._$selectAllItem, t), e.before(this._$selectAllItem) }, _toggleSelectAll: function (e) { this._dataAdapter.toggleSelectAll(e.value), this._updateItemsUI(), this._fireSelectionChanged() }, _renderCheckBox: function (e, t) { var n = (0, i.default)("<div>").appendTo(e); this._createComponent(n, p.default, { value: t.internalFields.selected, onValueChanged: this._changeCheckboxValue.bind(this), focusStateEnabled: !1, disabled: this._disabledGetter(t) }) }, _toggleSelectedClass: function (e, t) { e.toggleClass("dx-state-selected", !!t) }, _toggleNodeDisabledState: function (e, t) { var n = this._getNodeElement(e), i = n.find("." + A).eq(0); (this._dataAdapter.toggleNodeDisabledState(e.internalFields.key, t), i.toggleClass("dx-state-disabled", !!t), this._showCheckboxes()) && this._getCheckBoxInstance(n).option("disabled", !!t) }, _itemOptionChanged: function (e, t, n) { var i = this._dataAdapter.getNodeByItem(e); t === this.option("disabledExpr") && this._toggleNodeDisabledState(i, n) }, _changeCheckboxValue: function (e) { var t = (0, i.default)(e.element).parent("." + I).children("." + A), n = this._getItemData(t), a = this._getNodeByElement(t), o = e.value; a && a.internalFields.selected === o || this._updateItemSelection(o, n, e.event) }, _isSingleSelection: function () { return "single" === this.option("selectionMode") }, _isRecursiveSelection: function () { return this.option("selectNodesRecursive") && "single" !== this.option("selectionMode") }, _isLastSelectedBranch: function (e, t, n) { var i = t.indexOf(e.key); return i >= 0 && t.splice(i, 1), n && (0, h.each)(e.children, function (e, n) { this._isLastSelectedBranch(n, t, !0) }.bind(this)), e.parent && this._isLastSelectedBranch(e.parent, t), 0 === t.length }, _isLastRequired: function (e) { var t = this.option("selectionRequired"), n = this._isSingleSelection(), i = this.getSelectedNodeKeys(); if (t) return n ? 1 === i.length : this._isLastSelectedBranch(e.internalFields.publicNode, i.slice(), !0) }, _updateItemSelection: function (e, t, n) { var i = this, a = this._getNode(t); if (!a) return !1; if (a.internalFields.selected === e) return !0; if (!e && this._isLastRequired(a)) { if (this._showCheckboxes()) { var o = this._getNodeElement(a), s = this._getCheckBoxInstance(o); s && s.option("value", !0) } return !1 } var r = this.getSelectedNodeKeys(); this._isSingleSelection() && e && (0, h.each)(r, (function (e, t) { i.unselectItem(t) })), this._dataAdapter.toggleSelection(a.internalFields.key, e), this._updateItemsUI(); var l = n || this._findItemElementByItem(a.internalFields.item); return (n ? this._itemDXEventHandler : this._itemEventHandler).call(this, l, "onItemSelectionChanged", { node: this._dataAdapter.getPublicNode(a), itemData: a.internalFields.item }), this._fireSelectionChanged(), !0 }, _getCheckBoxInstance: function (e) { return e.children(".dx-checkbox").dxCheckBox("instance") }, _updateItemsUI: function () { var e = this, t = {}; (0, h.each)(this._dataAdapter.getData(), (function (n, i) { var a = e._getNodeElement(i, t), o = i.internalFields.selected; a.length && (e._toggleSelectedClass(a, o), e.setAria("selected", o, a), e._showCheckboxes() && e._getCheckBoxInstance(a).option("value", o)) })), this._selectAllEnabled() && this._$selectAllItem.dxCheckBox("instance").option("value", this._dataAdapter.isAllSelected()) }, _updateParentsState: function (e, t) { if (t) { var n = this._dataAdapter.getNodeByKey(e.internalFields.parentKey), a = (0, i.default)(t.parents("." + I)[0]); if (this._showCheckboxes()) { var o = n.internalFields.selected; this._getCheckBoxInstance(a).option("value", o), this._toggleSelectedClass(a, o) } n.internalFields.parentKey !== this.option("rootValue") && this._updateParentsState(n, a) } }, _itemEventHandlerImpl: function (e, t, n) { var a = (0, i.default)(e).closest("." + I).children("." + A); return t((0, u.extend)(this._extendActionArgs(a), n)) }, _itemContextMenuHandler: function (e) { this._createEventHandler("onItemContextMenu", e) }, _itemHoldHandler: function (e) { this._createEventHandler("onItemHold", e) }, _createEventHandler: function (e, t) { var n = this._getNodeByElement(t.currentTarget); this._itemDXEventHandler(t, e, { node: this._dataAdapter.getPublicNode(n) }) }, _itemClass: function () { return A }, _itemDataKey: function () { return M }, _attachClickEvent: function () { var e = "." + this._itemClass(), t = "." + I + ", ." + q, n = (0, m.addNamespace)(r.name, this.NAME), a = (0, m.addNamespace)(_.default.down, this.NAME), s = this._itemContainer(), l = this; o.default.off(s, n, e), o.default.off(s, a, t), o.default.on(s, n, e, (function (e) { l._itemClickHandler(e, (0, i.default)(this)) })), o.default.on(s, a, t, (function (e) { l._itemPointerDownHandler(e) })) }, _itemClickHandler: function (e, t) { var n = this._getItemData(t), i = this._getNodeByElement(t); this._itemDXEventHandler(e, "onItemClick", { node: this._dataAdapter.getPublicNode(i) }), this.option("selectByClick") && !e.isDefaultPrevented() && this._updateItemSelection(!i.internalFields.selected, n, e) }, _updateSelectionToFirstItem: function (e, t) { for (var n = t; n >= 0;) { var a = (0, i.default)(e[n]); this._updateItemSelection(!0, a.find("." + A).get(0)), n-- } }, _updateSelectionToLastItem: function (e, t) { for (var n = e.length, a = t; a < n;) { var o = (0, i.default)(e[a]); this._updateItemSelection(!0, o.find("." + A).get(0)), a++ } }, _focusInHandler: function (e) { var t = this; if (this._updateFocusState(e, !0), this.option("focusedElement")) return clearTimeout(this._setFocusedItemTimeout), void (this._setFocusedItemTimeout = setTimeout((function () { t._setFocusedItem((0, i.default)(t.option("focusedElement"))) }))); var n = this._getActiveItem(); this.option("focusedElement", (0, f.getPublicElement)(n.closest("." + I))) }, _setFocusedItem: function (e) { e && e.length && (e.children().hasClass("dx-state-disabled") || this.callBase(e)) }, _itemPointerDownHandler: function (e) { if (this.option("focusStateEnabled")) { var t = (0, i.default)(e.target).closest("." + I + ", ." + q); if (t.length) { var n = t.hasClass("dx-state-disabled") ? null : t; this.option("focusedElement", (0, f.getPublicElement)(n)) } } }, _findNonDisabledNodes: function (e) { return e.not((function () { return (0, i.default)(this).children("." + A).hasClass("dx-state-disabled") })) }, _moveFocus: function (e, t) { var n = "up", i = "down", a = "first", o = "last", s = this.option("rtlEnabled") ? "right" : "left", r = this.option("rtlEnabled") ? "left" : "right"; this.$element().find(".".concat(S)).each((function () { y.default.stop(this, !0) })); var l = this._findNonDisabledNodes(this._nodeElements()); if (l && l.length) switch (e) { case n: var d = this._prevItem(l); this.option("focusedElement", (0, f.getPublicElement)(d)); var c = this._getNodeItemElement(d); this._scrollableContainer.scrollToElement(c), t.shiftKey && this._showCheckboxes() && this._updateItemSelection(!0, c); break; case i: var u = this._nextItem(l); this.option("focusedElement", (0, f.getPublicElement)(u)); var h = this._getNodeItemElement(u); this._scrollableContainer.scrollToElement(h), t.shiftKey && this._showCheckboxes() && this._updateItemSelection(!0, h); break; case a: var p = l.first(); t.shiftKey && this._showCheckboxes() && this._updateSelectionToFirstItem(l, l.index(this._prevItem(l))), this.option("focusedElement", (0, f.getPublicElement)(p)), this._scrollableContainer.scrollToElement(this._getNodeItemElement(p)); break; case o: var g = l.last(); t.shiftKey && this._showCheckboxes() && this._updateSelectionToLastItem(l, l.index(this._nextItem(l))), this.option("focusedElement", (0, f.getPublicElement)(g)), this._scrollableContainer.scrollToElement(this._getNodeItemElement(g)); break; case r: this._expandFocusedContainer(); break; case s: this._collapseFocusedContainer(); break; default: return void this.callBase.apply(this, arguments) } }, _getNodeItemElement: function (e) { return e.find("." + A).get(0) }, _nodeElements: function () { return this.$element().find("." + I).not(":hidden") }, _expandFocusedContainer: function () { var e = (0, i.default)(this.option("focusedElement")); if (e.length && !e.hasClass(T)) { if (e.find(".".concat(S)).eq(0).hasClass(D)) { var t = this._nextItem(this._findNonDisabledNodes(this._nodeElements())); return this.option("focusedElement", (0, f.getPublicElement)(t)), void this._scrollableContainer.scrollToElement(this._getNodeItemElement(t)) } var n = this._getNodeByElement(e.children("." + A)); this._toggleExpandedState(n, !0) } }, _getClosestNonDisabledNode: function (e) { do { e = e.parent().closest("." + I) } while (e.children(".dx-treeview-item.dx-state-disabled").length); return e }, _collapseFocusedContainer: function () { var e = (0, i.default)(this.option("focusedElement")); if (e.length) { var t = e.find(".".concat(S)).eq(0); if (!e.hasClass(T) && t.hasClass(D)) { var n = this._getNodeByElement(e.children("." + A)); this._toggleExpandedState(n, !1) } else { var a = this._getClosestNonDisabledNode(e); a.length && this.option("focusedElement", (0, f.getPublicElement)(a)), this._scrollableContainer.scrollToElement(this._getNodeItemElement(a)) } } }, _encodeString: function (e) { return (0, c.isString)(e) ? encodeURI(e) : e }, _decodeString: function (e) { return (0, c.isString)(e) ? decodeURI(e) : e }, updateDimensions: function () { var e = this, t = new b.Deferred; return this._scrollableContainer ? this._scrollableContainer.update().done((function () { t.resolveWith(e) })) : t.resolveWith(this), t.promise() }, selectItem: function (e) { return this._updateItemSelection(!0, e) }, unselectItem: function (e) { return this._updateItemSelection(!1, e) }, expandItem: function (e) { return this._toggleExpandedState(e, !0) }, collapseItem: function (e) { return this._toggleExpandedState(e, !1) }, getNodes: function () { return this._dataAdapter.getTreeNodes() }, getSelectedNodes: function () { var e = this; return this.getSelectedNodeKeys().map((function (t) { var n = e._dataAdapter.getNodeByKey(t); return e._dataAdapter.getPublicNode(n) })) }, getSelectedNodesKeys: function () { return C.default.log("W0002", "dxTreeView", "getSelectedNodesKeys", "20.1", "Use the 'getSelectedNodeKeys' method instead"), this.getSelectedNodeKeys() }, getSelectedNodeKeys: function () { return this._dataAdapter.getSelectedNodesKeys() }, selectAll: function () { this._selectAllEnabled() ? this._$selectAllItem.dxCheckBox("instance").option("value", !0) : this._toggleSelectAll({ value: !0 }) }, unselectAll: function () { this._selectAllEnabled() ? this._$selectAllItem.dxCheckBox("instance").option("value", !1) : this._toggleSelectAll({ value: !1 }) }, expandAll: function () { var e = this._dataAdapter; (0, h.each)(e.getData(), (function (t, n) { return e.toggleExpansion(n.internalFields.key, !0) })), this.repaint() }, collapseAll: function () { (0, h.each)(this._dataAdapter.getExpandedNodesKeys(), function (e, t) { this._toggleExpandedState(t, !1) }.bind(this)) }, scrollToItem: function (e) { var t = this, n = this._getNode(e); if (!n) return (new b.Deferred).reject().promise(); for (var i = [], a = n.internalFields.publicNode.parent; null != a;)a.expanded || i.push(a.key), a = a.parent; var o = new b.Deferred; return this._expandNodes(i.reverse()).always((function () { var e = t._getNodeElement(n); e && e.length ? (t._scrollableContainer.scrollToElementTopLeft(e), o.resolve()) : o.reject() })), o.promise() }, _expandNodes: function (e) { var t = this; if (!e || 0 === e.length) return (new b.Deferred).resolve().promise(); var n = new b.Deferred, a = e.map((function (e) { return t.expandItem(e) })); return b.when.apply(i.default, a).done((function () { return n.resolve() })).fail((function () { return n.reject() })), n.promise() }, _dispose: function () { this.callBase(), clearTimeout(this._setFocusedItemTimeout) } }); t.default = L, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(13)), a = n(4), o = n(3), s = n(0), r = n(1), l = p(n(17)), d = p(n(158)), c = n(14), u = p(n(44)), h = p(n(79)), f = p(n(353)); function p(e) { return e && e.__esModule ? e : { default: e } } var g = i.default.inherit({ ctor: function (e) { this.options = {}, (0, r.extend)(this.options, this._defaultOptions(), e), this.options.dataConverter.setDataAccessors(this.options.dataAccessors), this._selectedNodesKeys = [], this._expandedNodesKeys = [], this._dataStructure = [], this._createInternalDataStructure(), this.getTreeNodes() }, setOption: function (e, t) { this.options[e] = t, "recursiveSelection" === e && this._updateSelection() }, _defaultOptions: function () { return { dataAccessors: void 0, items: [], multipleSelection: !0, recursiveSelection: !1, recursiveExpansion: !1, rootValue: 0, searchValue: "", dataType: "tree", searchMode: "contains", dataConverter: new f.default, onNodeChanged: a.noop, sort: null } }, _createInternalDataStructure: function () { this._initialDataStructure = this.options.dataConverter.createPlainStructure(this.options.items, this.options.rootValue, this.options.dataType), this._dataStructure = this.options.searchValue.length ? this.search(this.options.searchValue) : this._initialDataStructure, this.options.dataConverter._dataStructure = this._dataStructure, this._updateSelection(), this._updateExpansion() }, _updateSelection: function () { this.options.recursiveSelection && (this._setChildrenSelection(), this._setParentSelection()), this._selectedNodesKeys = this._updateNodesKeysArray("selected") }, _updateExpansion: function (e) { this.options.recursiveExpansion && (e ? this._updateOneBranch(e) : this._setParentExpansion()), this._expandedNodesKeys = this._updateNodesKeysArray("expanded") }, _updateNodesKeysArray: function (e) { var t = this, n = []; return (0, o.each)(t._getDataBySelectionMode(), (function (i, a) { t._isNodeVisible(a) && a.internalFields[e] && ("expanded" === e || t.options.multipleSelection ? n.push(a.internalFields.key) : (n.length && t.toggleSelection(n[0], !1, !0), n = [a.internalFields.key])) })), n }, _getDataBySelectionMode: function () { return this.options.multipleSelection ? this.getData() : this.getFullData() }, _isNodeVisible: function (e) { return !1 !== e.internalFields.item.visible }, _getByKey: function (e, t) { return e === this._dataStructure ? this.options.dataConverter._getByKey(t) : this.options.dataConverter.getByKey(e, t) }, _setChildrenSelection: function () { var e = this; (0, o.each)(this._dataStructure, (function (t, n) { if (n.internalFields.childrenKeys.length) { var i = n.internalFields.selected; !0 === i && e._toggleChildrenSelection(n, i) } })) }, _setParentSelection: function () { var e = this; (0, o.each)(this._dataStructure, (function (t, n) { e.options.dataConverter.getParentNode(n) && n.internalFields.parentKey !== e.options.rootValue && e._iterateParents(n, (function (t) { var n = e._calculateSelectedState(t); e._setFieldState(t, "selected", n) })) })) }, _setParentExpansion: function () { var e = this; (0, o.each)(this._dataStructure, (function (t, n) { n.internalFields.expanded && e._updateOneBranch(n.internalFields.key) })) }, _updateOneBranch: function (e) { var t = this, n = this.getNodeByKey(e); t._iterateParents(n, (function (e) { t._setFieldState(e, "expanded", !0) })) }, _iterateChildren: function (e, t, n, i) { if ((0, s.isFunction)(n)) { var a = this, r = e.internalFields.key; -1 === (i = i || []).indexOf(r) && (i.push(r), (0, o.each)(e.internalFields.childrenKeys, (function (e, o) { var s = a.getNodeByKey(o); n(s), s.internalFields.childrenKeys.length && t && a._iterateChildren(s, t, n, i) }))) } }, _iterateParents: function (e, t, n) { if (e.internalFields.parentKey !== this.options.rootValue && (0, s.isFunction)(t)) { n = n || []; var i = e.internalFields.key; if (-1 === n.indexOf(i)) { n.push(i); var a = this.options.dataConverter.getParentNode(e); a && (t(a), a.internalFields.parentKey !== this.options.rootValue && this._iterateParents(a, t, n)) } } }, _calculateSelectedState: function (e) { for (var t = e.internalFields.childrenKeys.length, n = 0, i = 0, a = !1, o = 0; o <= t - 1; o++) { var s = this.getNodeByKey(e.internalFields.childrenKeys[o]), r = !1 === s.internalFields.item.visible, l = s.internalFields.selected; r ? i++ : l ? n++ : void 0 === l && (n += .5) } return n && (a = n === t - i || void 0), a }, _toggleChildrenSelection: function (e, t) { var n = this; this._iterateChildren(e, !0, (function (e) { n._isNodeVisible(e) && n._setFieldState(e, "selected", t) })) }, _setFieldState: function (e, t, n) { e.internalFields[t] !== n && (e.internalFields[t] = n, e.internalFields.publicNode && (e.internalFields.publicNode[t] = n), this.options.dataAccessors.setters[t](e.internalFields.item, n), this.options.onNodeChanged(e)) }, _markChildren: function (e) { var t = this; (0, o.each)(e, (function (e, n) { var i = t.getIndexByKey(n), a = t.getNodeByKey(n); t._dataStructure[i] = 0, a.internalFields.childrenKeys.length && t._markChildren(a.internalFields.childrenKeys) })) }, _removeNode: function (e) { var t = this.getNodeByKey(e); this._dataStructure[this.getIndexByKey(e)] = 0, this._markChildren(t.internalFields.childrenKeys); var n = this, i = 0, a = (0, r.extend)([], this._dataStructure); (0, o.each)(a, (function (e, t) { t || (n._dataStructure.splice(e - i, 1), i++) })) }, _addNode: function (e) { var t = this.options.dataConverter, n = t._convertItemToNode(e, this.options.dataAccessors.getters.parentKey(e)); this._dataStructure = this._dataStructure.concat(n), this._initialDataStructure = this._initialDataStructure.concat(n), t._dataStructure = t._dataStructure.concat(n) }, _updateFields: function () { this.options.dataConverter.updateChildrenKeys(), this._updateSelection(), this._updateExpansion() }, getSelectedNodesKeys: function () { return this._selectedNodesKeys }, getExpandedNodesKeys: function () { return this._expandedNodesKeys }, getData: function () { return this._dataStructure }, getFullData: function () { return this._initialDataStructure }, getNodeByItem: function (e) { var t = null; return (0, o.each)(this._dataStructure, (function (n, i) { if (i.internalFields.item === e) return t = i, !1 })), t }, getNodesByItems: function (e) { var t = this, n = []; return (0, o.each)(e, (function (e, i) { var a = t.getNodeByItem(i); a && n.push(a) })), n }, getNodeByKey: function (e, t) { return this._getByKey(t || this._getDataBySelectionMode(), e) }, getTreeNodes: function () { return this.options.dataConverter.convertToPublicNodes(this.getRootNodes()) }, getItemsCount: function () { return this.options.dataConverter.getItemsCount() }, getVisibleItemsCount: function () { return this.options.dataConverter.getVisibleItemsCount() }, getPublicNode: function (e) { return e.internalFields.publicNode }, getRootNodes: function () { return this.getChildrenNodes(this.options.rootValue) }, getChildrenNodes: function (e) { return (0, u.default)(this._dataStructure).filter(["internalFields.parentKey", e]).toArray() }, getIndexByKey: function (e) { return this.options.dataConverter.getIndexByKey(e) }, addItem: function (e) { this._addNode(e), this._updateFields() }, removeItem: function (e) { this._removeNode(e), this._updateFields() }, toggleSelection: function (e, t, n) { var i = this._isSingleModeUnselect(t), a = this._getByKey(n || i ? this._initialDataStructure : this._dataStructure, e); this._setFieldState(a, "selected", t), this.options.recursiveSelection && !n && (t ? this._setChildrenSelection() : this._toggleChildrenSelection(a, t), this._setParentSelection()), this._selectedNodesKeys = this._updateNodesKeysArray("selected") }, _isSingleModeUnselect: function (e) { return !this.options.multipleSelection && !e }, toggleNodeDisabledState: function (e, t) { var n = this.getNodeByKey(e); this._setFieldState(n, "disabled", t) }, toggleSelectAll: function (e) { if ((0, s.isDefined)(e)) { var t = this, n = t._selectedNodesKeys[t._selectedNodesKeys.length - 1], i = t._isSingleModeUnselect(e) ? this._initialDataStructure : this._dataStructure; (0, o.each)(i, (function (n, i) { t._isNodeVisible(i) && t._setFieldState(i, "selected", e) })), t._selectedNodesKeys = t._updateNodesKeysArray("selected"), !e && t.options.selectionRequired && t.toggleSelection(n, !0) } }, isAllSelected: function () { return !!this.getSelectedNodesKeys().length && (this.getSelectedNodesKeys().length === this.getVisibleItemsCount() || void 0) }, toggleExpansion: function (e, t) { var n = this.getNodeByKey(e); this._setFieldState(n, "expanded", t), t && this._updateExpansion(e), this._expandedNodesKeys = this._updateNodesKeysArray("expanded") }, isFiltered: function (e) { return !this.options.searchValue.length || !!this._filterDataStructure(this.options.searchValue, [e]).length }, _createCriteria: function (e, t, n) { var i = []; return Array.isArray(e) ? ((0, o.each)(e, (function (e, a) { i.push([a, n, t], "or") })), i.pop(), i) : [e, n, t] }, _filterDataStructure: function (e, t) { var n = this.options.searchExpr || this.options.dataAccessors.getters.display, i = d.default.getOperationBySearchMode(this.options.searchMode), a = this._createCriteria(n, e, i); return t = t || this._initialDataStructure, (0, u.default)(t).filter(a).toArray() }, search: function (e) { var t = this, n = this._filterDataStructure(e), i = this.options.dataConverter; return function e(n, a) { for (var o = n.length; a < o;) { var s = n[a]; if (s.internalFields.parentKey !== t.options.rootValue) { var r = i.getParentNode(s); r ? (r.internalFields.expanded || t._setFieldState(r, "expanded", !0), (0, c.inArray)(r, n) > -1 ? a++ : (n.splice(a, 0, r), e(n, a))) : (l.default.log("W1007", s.internalFields.parentKey, s.internalFields.key), a++) } else a++ } }(n, 0), this.options.sort && (n = h.default.queryByOptions((0, u.default)(n), { sort: this.options.sort }).toArray()), i._indexByKey = {}, (0, o.each)(n, (function (e, t) { t.internalFields.childrenKeys = [], i._indexByKey[t.internalFields.key] = e })), i._dataStructure = n, i.setChildrenKeys(), i._dataStructure } }); t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(13)), a = n(1), o = l(n(17)), s = n(3), r = n(0); function l(e) { return e && e.__esModule ? e : { default: e } } var d = i.default.inherit({ ctor: function () { this._dataStructure = [], this._itemsCount = 0, this._visibleItemsCount = 0 }, _indexByKey: {}, _convertItemsToNodes: function (e, t) { var n = this; (0, s.each)(e, (function (e, i) { var a = (0, r.isDefined)(t) ? t : n._getParentId(i), o = n._convertItemToNode(i, a); n._dataStructure.push(o), n._checkForDuplicateId(o.internalFields.key), n._indexByKey[o.internalFields.key] = n._dataStructure.length - 1, n._itemHasChildren(i) && n._convertItemsToNodes(n._dataAccessors.getters.items(i), o.internalFields.key) })) }, _checkForDuplicateId: function (e) { if ((0, r.isDefined)(this._indexByKey[e])) throw o.default.Error("E1040", e) }, _getParentId: function (e) { return "plain" === this._dataType ? this._dataAccessors.getters.parentKey(e) : void 0 }, _itemHasChildren: function (e) { if ("plain" !== this._dataType) { var t = this._dataAccessors.getters.items(e); return t && t.length } }, _getUniqueKey: function (e) { var t = this._dataAccessors.getters.key, n = t(e); return t && (n || 0 === n) && (0, r.isPrimitive)(n) ? n : this.getItemsCount() }, _convertItemToNode: function (e, t) { this._itemsCount++, !1 !== e.visible && this._visibleItemsCount++; var n = { internalFields: { disabled: this._dataAccessors.getters.disabled(e, { defaultValue: !1 }), expanded: this._dataAccessors.getters.expanded(e, { defaultValue: !1 }), selected: this._dataAccessors.getters.selected(e, { defaultValue: !1 }), key: this._getUniqueKey(e), parentKey: (0, r.isDefined)(t) ? t : this._rootValue, item: this._makeObjectFromPrimitive(e), childrenKeys: [] } }; return (0, a.extend)(n, e), delete n.items, n }, setChildrenKeys: function () { var e = this; (0, s.each)(this._dataStructure, (function (t, n) { if (n.internalFields.parentKey !== e._rootValue) { var i = e.getParentNode(n); i && i.internalFields.childrenKeys.push(n.internalFields.key) } })) }, _makeObjectFromPrimitive: function (e) { if ((0, r.isPrimitive)(e)) { var t = e; e = {}, this._dataAccessors.setters.key(e, t) } return e }, _convertToPublicNode: function (e, t) { if (!e) return null; var n = { text: this._dataAccessors.getters.display(e), key: e.internalFields.key, selected: e.internalFields.selected, expanded: e.internalFields.expanded, disabled: e.internalFields.disabled, parent: t || null, itemData: e.internalFields.item, children: [], items: [] }; return n.parent && (n.parent.children.push(n), n.parent.items.push(n)), n }, convertToPublicNodes: function (e, t) { if (!e.length) return []; var n = this, i = []; return (0, s.each)(e, (function (e, a) { a = (0, r.isPrimitive)(a) ? n._getByKey(a) : a; var o = n._convertToPublicNode(a, t); o.children = n.convertToPublicNodes(a.internalFields.childrenKeys, o), i.push(o), a.internalFields.publicNode = o })), i }, setDataAccessors: function (e) { this._dataAccessors = e }, _getByKey: function (e) { return this._dataStructure[this.getIndexByKey(e)] || null }, getParentNode: function (e) { return this._getByKey(e.internalFields.parentKey) }, getByKey: function (e, t) { if (null == t) return null; var n = null, i = this, a = function (e, t) { return (0, s.each)(e, (function (e, a) { if ((a.internalFields && a.internalFields.key || i._dataAccessors.getters.key(a)).toString() === t.toString()) return n = a, !1 })), n }; return a(e, t) }, getItemsCount: function () { return this._itemsCount }, getVisibleItemsCount: function () { return this._visibleItemsCount }, updateIndexByKey: function () { var e = this; this._indexByKey = {}, (0, s.each)(this._dataStructure, (function (t, n) { e._checkForDuplicateId(n.internalFields.key), e._indexByKey[n.internalFields.key] = t })) }, updateChildrenKeys: function () { this._indexByKey = {}, this.removeChildrenKeys(), this.updateIndexByKey(), this.setChildrenKeys() }, removeChildrenKeys: function () { this._indexByKey = {}, (0, s.each)(this._dataStructure, (function (e, t) { t.internalFields.childrenKeys = [] })) }, getIndexByKey: function (e) { return this._indexByKey[e] }, createPlainStructure: function (e, t, n) { return this._itemsCount = 0, this._visibleItemsCount = 0, this._rootValue = t, this._dataType = n, this._indexByKey = {}, this._convertItemsToNodes(e), this.setChildrenKeys(), this._dataStructure } }); t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(5)), a = u(n(13)), o = n(8), s = u(n(123)), r = u(n(76)), l = n(103), d = u(n(12)), c = n(67); function u(e) { return e && e.__esModule ? e : { default: e } } var h, f, p, g = a.default.abstract, m = d.default.real(), _ = a.default.inherit((h = (0, o.addNamespace)("scroll", "dxScrollEmitter"), { ctor: function (e) { this._element = e, this._locked = !1; var t = this; this._proxiedScroll = function (e) { t._scroll(e) }, i.default.on(this._element, h, this._proxiedScroll) }, _scroll: g, check: function (e, t) { this._locked && t() }, dispose: function () { i.default.off(this._element, h, this._proxiedScroll) } })), v = _.inherit({ ctor: function (e, t) { this.callBase(e), this._timeout = t }, _scroll: function () { this._prepare(), this._forget() }, _prepare: function () { this._timer && this._clearTimer(), this._locked = !0 }, _clearTimer: function () { clearTimeout(this._timer), this._locked = !1, this._timer = null }, _forget: function () { var e = this; this._timer = setTimeout((function () { e._clearTimer() }), this._timeout) }, dispose: function () { this.callBase(), this._clearTimer() } }), y = v.inherit({ ctor: function (e) { this.callBase(e, 400), this._lastWheelDirection = null }, check: function (e, t) { this._checkDirectionChanged(e), this.callBase(e, t) }, _checkDirectionChanged: function (e) { if ((0, o.isDxMouseWheelEvent)(e)) { var t = e.shiftKey || !1, n = null !== this._lastWheelDirection && t !== this._lastWheelDirection; this._lastWheelDirection = t, this._locked = this._locked && !n } else this._lastWheelDirection = null } }), w = v.inherit({ ctor: function (e) { this.callBase(e, 400) } }); f = m.ios && (0, c.compare)(m.version, [8]) >= 0, p = m.android && (0, c.compare)(m.version, [5]) >= 0, (f || p) && (w = _.inherit({ _scroll: function () { this._locked = !0; var e = this; (0, l.cancelAnimationFrame)(this._scrollFrame), this._scrollFrame = (0, l.requestAnimationFrame)((function () { e._locked = !1 })) }, check: function (e, t) { (0, l.cancelAnimationFrame)(this._scrollFrame), (0, l.cancelAnimationFrame)(this._checkFrame); var n = this, i = this.callBase; this._checkFrame = (0, l.requestAnimationFrame)((function () { i.call(n, e, t), n._locked = !1 })) }, dispose: function () { this.callBase(), (0, l.cancelAnimationFrame)(this._scrollFrame), (0, l.cancelAnimationFrame)(this._checkFrame) } })); var x, b = s.default.inherit((x = Math.round(1e3 / 60), { ctor: function (e) { this.callBase.apply(this, arguments), this.direction = "both", this._pointerLocker = new w(e), this._wheelLocker = new y(e) }, validate: function () { return !0 }, configure: function (e) { e.scrollTarget && (this._pointerLocker.dispose(), this._wheelLocker.dispose(), this._pointerLocker = new w(e.scrollTarget), this._wheelLocker = new y(e.scrollTarget)), this.callBase(e) }, _init: function (e) { this._wheelLocker.check(e, function () { (0, o.isDxMouseWheelEvent)(e) && this._accept(e) }.bind(this)), this._pointerLocker.check(e, function () { var t = this.isNative && (0, o.isMouseEvent)(e); (0, o.isDxMouseWheelEvent)(e) || t || this._accept(e) }.bind(this)), this._fireEvent("dxscrollinit", e), this._prevEventData = (0, o.eventData)(e) }, move: function (e) { this.callBase.apply(this, arguments), e.isScrollingEvent = this.isNative || e.isScrollingEvent }, _start: function (e) { this._savedEventData = (0, o.eventData)(e), this._fireEvent("dxscrollstart", e), this._prevEventData = (0, o.eventData)(e) }, _move: function (e) { var t = (0, o.eventData)(e); this._fireEvent("dxscroll", e, { delta: (0, o.eventDelta)(this._prevEventData, t) }), (0, o.eventDelta)(this._savedEventData, t).time > 200 && (this._savedEventData = this._prevEventData), this._prevEventData = (0, o.eventData)(e) }, _end: function (e) { var t = (0, o.eventDelta)(this._prevEventData, (0, o.eventData)(e)), n = { x: 0, y: 0 }; if (!(0, o.isDxMouseWheelEvent)(e) && t.time < 100) { var i = (0, o.eventDelta)(this._savedEventData, this._prevEventData), a = x / i.time; n = { x: i.x * a, y: i.y * a } } this._fireEvent("dxscrollend", e, { velocity: n }) }, _stop: function (e) { this._fireEvent("dxscrollstop", e) }, cancel: function (e) { this.callBase.apply(this, arguments), this._fireEvent("dxscrollcancel", e) }, dispose: function () { this.callBase.apply(this, arguments), this._pointerLocker.dispose(), this._wheelLocker.dispose() }, _clearSelection: function () { if (!this.isNative) return this.callBase.apply(this, arguments) }, _toggleGestureCover: function () { if (!this.isNative) return this.callBase.apply(this, arguments) } })); (0, r.default)({ emitter: b, events: ["dxscrollinit", "dxscrollstart", "dxscroll", "dxscrollend", "dxscrollstop", "dxscrollcancel"] }); var C = { init: "dxscrollinit", start: "dxscrollstart", move: "dxscroll", end: "dxscrollend", stop: "dxscrollstop", cancel: "dxscrollcancel" }; t.default = C, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(356)), a = o(n(158)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = i.default.inherit(a.default).inherit({ _addWidgetPrefix: function (e) { return "dx-list-" + e }, _getCombinedFilter: function () { var e, t, n = this._dataSource; return n && (t = { filter: n.filter() }, n._addSearchFilter(t), e = t.filter), e }, _initDataSource: function () { var e = this.option("searchValue"), t = this.option("searchExpr"), n = this.option("searchMode"); this.callBase(), this._dataSource && (e && e.length && this._dataSource.searchValue(e), n.length && this._dataSource.searchOperation(a.default.getOperationBySearchMode(n)), t && this._dataSource.searchExpr(t)) } }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = n(8), o = n(1), s = c(n(357)), r = c(n(10)), l = c(n(358)), d = n(161); function c(e) { return e && e.__esModule ? e : { default: e } } var u = d.ListBase.inherit({ _supportedKeys: function () { var e = this, t = this, n = this.callBase(), i = function (i, a) { var o = e._editStrategy, s = e.option("focusedElement"), r = o.getNormalizedIndex(s); if (!(r === e._getLastItemIndex()) || !e._isDataSourceLoading()) if (i.shiftKey && t.option("itemDragging.allowReordering")) { var l = r + (a ? -1 : 1), d = o.getItemElement(l); e.reorderItem(s, d), e.scrollToItem(s), i.preventDefault() } else { e._editProvider.handleKeyboardEvents(r, a) || (a ? n.upArrow(i) : n.downArrow(i)) } }; return (0, o.extend)({}, n, { del: function (e) { t.option("allowItemDeleting") && (e.preventDefault(), t.deleteItem(t.option("focusedElement"))) }, upArrow: function (e) { return i(e, !0) }, downArrow: function (e) { return i(e) }, enter: function (e) { this._editProvider.handleEnterPressing() || n.enter.apply(this, arguments) }, space: function (e) { this._editProvider.handleEnterPressing() || n.space.apply(this, arguments) } }) }, _updateSelection: function () { this._editProvider.afterItemsRendered(), this.callBase() }, _getLastItemIndex: function () { return this._itemElements().length - 1 }, _refreshItemElements: function () { this.callBase(); var e = this._editProvider.getExcludedItemSelectors(); e.length && (this._itemElementsCache = this._itemElementsCache.not(e)) }, _isItemStrictEquals: function (e, t) { var n = e && e.__dx_key__; return !(n && !this.key() && this._selection.isItemSelected(n)) && this.callBase(e, t) }, _getDefaultOptions: function () { return (0, o.extend)(this.callBase(), { showSelectionControls: !1, selectionMode: "none", selectAllMode: "page", onSelectAllValueChanged: null, selectAllText: r.default.format("dxList-selectAll"), menuItems: [], menuMode: "context", allowItemDeleting: !1, itemDeleteMode: "static", itemDragging: {} }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function (e) { return "ios" === e.platform }, options: { menuMode: "slide", itemDeleteMode: "slideItem" } }, { device: { platform: "android" }, options: { itemDeleteMode: "swipe" } }]) }, _init: function () { this.callBase(), this._initEditProvider() }, _initDataSource: function () { this.callBase(), this._isPageSelectAll() || this._dataSource && this._dataSource.requireTotalCount(!0) }, _isPageSelectAll: function () { return "page" === this.option("selectAllMode") }, _initEditProvider: function () { this._editProvider = new l.default(this) }, _disposeEditProvider: function () { this._editProvider && this._editProvider.dispose() }, _refreshEditProvider: function () { this._disposeEditProvider(), this._initEditProvider() }, _initEditStrategy: function () { this.option("grouped") ? this._editStrategy = new s.default(this) : this.callBase() }, _initMarkup: function () { this._refreshEditProvider(), this.callBase() }, _renderItems: function () { this.callBase.apply(this, arguments), this._editProvider.afterItemsRendered() }, _selectedItemClass: function () { return "dx-list-item-selected" }, _itemResponseWaitClass: function () { return "dx-list-item-response-wait" }, _itemClickHandler: function (e) { var t = (0, i.default)(e.currentTarget); if (!t.is(".dx-state-disabled, .dx-state-disabled *")) { var n = this._editProvider.handleClick(t, e); n || (this._saveSelectionChangeEvent(e), this.callBase.apply(this, arguments)) } }, _shouldFireContextMenuEvent: function () { return this.callBase.apply(this, arguments) || this._editProvider.contextMenuHandlerExists() }, _itemHoldHandler: function (e) { var t = (0, i.default)(e.currentTarget); if (!t.is(".dx-state-disabled, .dx-state-disabled *")) { var n = (0, a.isTouchEvent)(e) && this._editProvider.handleContextMenu(t, e); n ? e.handledByEditProvider = !0 : this.callBase.apply(this, arguments) } }, _itemContextMenuHandler: function (e) { var t = (0, i.default)(e.currentTarget); if (!t.is(".dx-state-disabled, .dx-state-disabled *")) { var n = !e.handledByEditProvider && this._editProvider.handleContextMenu(t, e); n ? e.preventDefault() : this.callBase.apply(this, arguments) } }, _postprocessRenderItem: function (e) { this.callBase.apply(this, arguments), this._editProvider.modifyItemElement(e) }, _clean: function () { this._disposeEditProvider(), this.callBase() }, focusListItem: function (e) { var t = this._editStrategy.getItemElement(e); this.option("focusedElement", t), this.focus(), this.scrollToItem(this.option("focusedElement")) }, _optionChanged: function (e) { switch (e.name) { case "selectAllMode": this._initDataSource(), this._dataSource.pageIndex(0), this._dataSource.load(); break; case "grouped": this._clearSelectedItems(), delete this._renderingGroupIndex, this._initEditStrategy(), this.callBase(e); break; case "showSelectionControls": case "menuItems": case "menuMode": case "allowItemDeleting": case "itemDeleteMode": case "itemDragging": case "selectAllText": this._invalidate(); break; case "onSelectAllValueChanged": break; default: this.callBase(e) } }, selectAll: function () { return this._selection.selectAll(this._isPageSelectAll()) }, unselectAll: function () { return this._selection.deselectAll(this._isPageSelectAll()) }, isSelectAll: function () { return this._selection.getSelectAllState(this._isPageSelectAll()) }, getFlatIndexByItemElement: function (e) { return this._itemElements().index(e) }, getItemElementByFlatIndex: function (e) { var t = this._itemElements(); return e < 0 || e >= t.length ? (0, i.default)() : t.eq(e) }, getItemByIndex: function (e) { return this._editStrategy.getItemDataByIndex(e) } }); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = n(0), o = n(3), s = d(n(79)), r = d(n(44)), l = d(n(156)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = function (e) { return (e.group << 20) + e.item }, u = function (e) { return { group: e >> 20, item: 2303 & e } }, h = l.default.inherit({ _groupElements: function () { return this._collectionWidget._itemContainer().find(".dx-list-group") }, _groupItemElements: function (e) { return e.find(".dx-list-item") }, getIndexByItemData: function (e) { var t = this._collectionWidget.option("items"), n = !1; return !!e && (e.items && e.items.length && (e = e.items[0]), (0, o.each)(t, (function (t, i) { return !!i.items && ((0, o.each)(i.items, (function (i, a) { return a !== e || (n = { group: t, item: i }, !1) })), !n && void 0) })), n) }, getItemDataByIndex: function (e) { var t = this._collectionWidget.option("items"); return (0, a.isNumeric)(e) ? this.itemsGetter()[e] : e && t[e.group] && t[e.group].items[e.item] || null }, itemsGetter: function () { for (var e = [], t = this._collectionWidget.option("items"), n = 0; n < t.length; n++)t[n] && t[n].items ? e = e.concat(t[n].items) : e.push(t[n]); return e }, deleteItemAtIndex: function (e) { var t = u(e); this._collectionWidget.option("items")[t.group].items.splice(t.item, 1) }, getKeysByItems: function (e) { var t, n = []; for (t = 0; t < e.length; t++)e[t] && e[t].items ? n = n.concat(e[t].items) : n.push(e[t]); var i = []; for (t = 0; t < n.length; t++)i.push(this._collectionWidget.keyOf(n[t])); return i }, getIndexByKey: function (e, t) { var n = t || this._collectionWidget.option("items"), i = -1, a = this; return (0, o.each)(n, (function (t, n) { if (n.items) { var s = a.getKeysByItems(n.items); return (0, o.each)(s, (function (n, o) { if (a._equalKeys(o, e)) return i = { group: t, item: n }, !1 })), -1 === i && void 0 } })), i }, _getGroups: function (e) { var t = this._collectionWidget.getDataSource(), n = t && t.group(); return n ? s.default.queryByOptions((0, r.default)(e), { group: n }).toArray() : this._collectionWidget.option("items") }, getItemsByKeys: function (e, t) { var n = []; return (0, o.each)(e, function (e, i) { var a = function (e) { var t = this.getIndexByKey(i, e), n = t && e[t.group]; if (n) return { groupKey: n.key, item: n.items[t.item] } }.bind(this)(this._getGroups(t)); if (a) { var s, r = a.groupKey, l = a.item; (0, o.each)(n, (function (e, t) { if (t.key === r) return s = t, !1 })), s || (s = { key: r, items: [] }, n.push(s)), s.items.push(l) } }.bind(this)), n }, moveItemAtIndexToIndex: function (e, t) { var n = this._collectionWidget.option("items"), i = u(e), a = u(t), o = n[i.group].items, s = n[a.group].items, r = o[i.item]; o.splice(i.item, 1), s.splice(a.item, 0, r) }, _isItemIndex: function (e) { return e && (0, a.isNumeric)(e.group) && (0, a.isNumeric)(e.item) }, _getNormalizedItemIndex: function (e) { var t = (0, i.default)(e), n = t.closest(".dx-list-group"); return n.length ? c({ group: this._groupElements().index(n), item: this._groupItemElements(n).index(t) }) : -1 }, _normalizeItemIndex: function (e) { return c(e) }, _denormalizeItemIndex: function (e) { return u(e) }, _getItemByNormalizedIndex: function (e) { var t = u(e), n = this._groupElements().eq(t.group); return this._groupItemElements(n).eq(t.item) }, _itemsFromSameParent: function (e, t) { return u(e).group === u(t).group } }); t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = n(4), o = c(n(13)), s = n(1), r = n(3), l = c(n(17)), d = n(72); function c(e) { return e && e.__esModule ? e : { default: e } } n(359), n(360), n(361), n(362), n(363), n(369), n(371); var u = [], h = function (e, t, n) { u.push({ enabled: e, decoratorType: t, decoratorSubType: n }) }; h((function () { return this.option("menuItems").length }), (function () { return "menu" }), (function () { return this.option("menuMode") })), h((function () { return !this.option("menuItems").length && this.option("allowItemDeleting") }), (function () { var e = this.option("itemDeleteMode"); return "toggle" === e || "slideButton" === e || "swipe" === e || "static" === e ? "delete" : "menu" }), (function () { var e = this.option("itemDeleteMode"); return "slideItem" === e && (e = "slide"), "hold" === e && (e = "context"), e })), h((function () { return "none" !== this.option("selectionMode") && this.option("showSelectionControls") }), (function () { return "selection" }), (function () { return "default" })), h((function () { return this.option("itemDragging.allowReordering") || this.option("itemDragging.allowDropInsideItem") || this.option("itemDragging.group") }), (function () { return "reorder" }), (function () { return "default" })); var f = o.default.inherit({ ctor: function (e) { this._list = e, this._fetchRequiredDecorators() }, dispose: function () { this._decorators && this._decorators.length && (0, r.each)(this._decorators, (function (e, t) { t.dispose() })) }, _fetchRequiredDecorators: function () { this._decorators = [], (0, r.each)(u, function (e, t) { if (t.enabled.call(this._list)) { var n = t.decoratorType.call(this._list), i = t.decoratorSubType.call(this._list), a = this._createDecorator(n, i); this._decorators.push(a) } }.bind(this)) }, _createDecorator: function (e, t) { return new (this._findDecorator(e, t))(this._list) }, _findDecorator: function (e, t) { var n = d.registry[e][t]; if (!n) throw l.default.Error("E1012", e, t); return n }, modifyItemElement: function (e) { var t = (0, i.default)(e.itemElement), n = { $itemElement: t }; this._prependBeforeBags(t, n), this._appendAfterBags(t, n), this._applyDecorators("modifyElement", n) }, afterItemsRendered: function () { this._applyDecorators("afterRender") }, _prependBeforeBags: function (e, t) { var n = this._collectDecoratorsMarkup("beforeBag", t, "dx-list-item-before-bag"); e.prepend(n) }, _appendAfterBags: function (e, t) { var n = this._collectDecoratorsMarkup("afterBag", t, "dx-list-item-after-bag"); e.append(n) }, _collectDecoratorsMarkup: function (e, t, n) { var a = (0, i.default)("<div>"); return (0, r.each)(this._decorators, (function () { var o = (0, i.default)("<div>").addClass(n); this[e]((0, s.extend)({ $container: o }, t)), o.children().length && a.append(o) })), a.children() }, _applyDecorators: function (e, t) { (0, r.each)(this._decorators, (function () { this[e](t) })) }, _handlerExists: function (e) { if (!this._decorators) return !1; for (var t = this._decorators, n = t.length, i = 0; i < n; i++)if (t[i][e] !== a.noop) return !0; return !1 }, _eventHandler: function (e, t, n) { if (!this._decorators) return !1; for (var i = !1, a = this._decorators, o = a.length, s = 0; s < o && !(i = a[s][e](t, n)); s++); return i }, handleClick: function (e, t) { return this._eventHandler("handleClick", e, t) }, handleKeyboardEvents: function (e, t) { return this._eventHandler("handleKeyboardEvents", e, t) }, handleEnterPressing: function () { return this._eventHandler("handleEnterPressing") }, contextMenuHandlerExists: function () { return this._handlerExists("handleContextMenu") }, handleContextMenu: function (e, t) { return this._eventHandler("handleContextMenu", e, t) }, getExcludedItemSelectors: function () { var e = []; return this._applyDecorators("getExcludedSelectors", e), e.join(",") } }); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; var i = r(n(2)), a = r(n(35)), o = n(72), s = r(n(93)); function r(e) { return e && e.__esModule ? e : { default: e } } (0, o.register)("delete", "static", s.default.inherit({ afterBag: function (e) { var t = e.$itemElement, n = e.$container, o = (0, i.default)("<div>").addClass("dx-list-static-delete-button"); this._list._createComponent(o, a.default, { icon: "remove", onClick: function (e) { e.event.stopPropagation(), this._deleteItem(t) }.bind(this), integrationOptions: {} }), n.addClass("dx-list-static-delete-button-container").append(o) }, _deleteItem: function (e) { e.is(".dx-state-disabled, .dx-state-disabled *") || this._list.deleteItem(e) } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(38)), o = d(n(35)), s = d(n(10)), r = n(72), l = d(n(218)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = l.default.inherit({ _init: function () { this.callBase.apply(this, arguments); var e = (0, i.default)("<div>").addClass("dx-list-switchable-delete-button-container"), t = (0, i.default)("<div>").addClass("dx-list-switchable-delete-button-wrapper"), n = (0, i.default)("<div>").addClass("dx-list-switchable-delete-button-inner-wrapper"), a = (0, i.default)("<div>").addClass("dx-list-switchable-delete-button"); this._list._createComponent(a, o.default, { text: s.default.format("dxListEditDecorator-delete"), type: "danger", onClick: function (e) { this._deleteItem(), e.event.stopPropagation() }.bind(this), integrationOptions: {} }), e.append(t), t.append(n), n.append(a), this._$buttonContainer = e }, _enablePositioning: function (e) { this.callBase.apply(this, arguments), a.default.stop(this._$buttonContainer, !0), this._$buttonContainer.appendTo(e) }, _disablePositioning: function () { this.callBase.apply(this, arguments), this._$buttonContainer.detach() }, _animatePrepareDeleteReady: function () { var e = this._isRtlEnabled(), t = this._list.$element().width(), n = this._buttonWidth(), i = e ? t : -n, o = e ? t - n : 0; return a.default.animate(this._$buttonContainer, { type: "custom", duration: 200, from: { right: i }, to: { right: o } }) }, _animateForgetDeleteReady: function () { var e = this._isRtlEnabled(), t = this._list.$element().width(), n = this._buttonWidth(), i = e ? t - n : 0, o = e ? t : -n; return a.default.animate(this._$buttonContainer, { type: "custom", duration: 200, from: { right: i }, to: { right: o } }) }, _buttonWidth: function () { return this._buttonContainerWidth || (this._buttonContainerWidth = this._$buttonContainer.outerWidth()), this._buttonContainerWidth }, dispose: function () { this._$buttonContainer && this._$buttonContainer.remove(), this.callBase.apply(this, arguments) } }); (0, r.register)("delete", "toggle", c.inherit({ beforeBag: function (e) { var t = e.$itemElement, n = e.$container, s = (0, i.default)("<div>").addClass("dx-list-toggle-delete-switch"); this._list._createComponent(s, o.default, { icon: "toggle-delete", onClick: function (e) { a.default.stop(this._$buttonContainer, !1), this._toggleDeleteReady(t), e.event.stopPropagation() }.bind(this), integrationOptions: {} }), n.addClass("dx-list-toggle-delete-switch-container"), n.append(s) } })), (0, r.register)("delete", "slideButton", c.inherit({ _shouldHandleSwipe: !0, _swipeEndHandler: function (e, t) { return 0 !== t.targetOffset && (a.default.stop(this._$buttonContainer, !1), this._toggleDeleteReady(e)), !0 } })); var u = c; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; var i = _(n(2)), a = _(n(5)), o = n(4), s = n(19), r = _(n(10)), l = n(30), d = n(8), c = n(127), u = _(n(219)), h = n(72), f = _(n(218)), p = _(n(38)), g = n(34), m = _(n(220)); function _(e) { return e && e.__esModule ? e : { default: e } } var v = (0, d.addNamespace)(s.name, "dxListEditDecorator"), y = (0, d.addNamespace)(c.active, "dxListEditDecorator"); (0, h.register)("menu", "slide", f.default.inherit({ _shouldHandleSwipe: !0, _init: function () { this.callBase.apply(this, arguments), this._$buttonsContainer = (0, i.default)("<div>").addClass("dx-list-slide-menu-buttons-container"), a.default.on(this._$buttonsContainer, y, o.noop), this._$buttons = (0, i.default)("<div>").addClass("dx-list-slide-menu-buttons").appendTo(this._$buttonsContainer), this._renderMenu(), this._renderDeleteButton() }, _renderMenu: function () { if (this._menuEnabled()) { var e = this._menuItems(); if (1 === e.length) { var t = e[0]; this._renderMenuButton(t.text, function (e) { e.stopPropagation(), this._fireAction(t) }.bind(this)) } else { var n = (0, i.default)("<div>").addClass("dx-list-slide-menu"); this._menu = this._list._createComponent(n, m.default, { showTitle: !1, items: e, onItemClick: function (e) { this._fireAction(e.itemData) }.bind(this), integrationOptions: {} }), n.appendTo(this._list.$element()); var a = this._renderMenuButton(r.default.format("dxListEditDecorator-more"), function (e) { e.stopPropagation(), this._menu.show() }.bind(this)); this._menu.option("target", a) } } }, _renderMenuButton: function (e, t) { var n = (0, i.default)("<div>").addClass("dx-list-slide-menu-button").addClass("dx-list-slide-menu-button-menu").text(e); return this._$buttons.append(n), a.default.on(n, v, t), n }, _renderDeleteButton: function () { if (this._deleteEnabled()) { var e = (0, i.default)("<div>").addClass("dx-list-slide-menu-button").addClass("dx-list-slide-menu-button-delete").text((0, g.isMaterial)() ? "" : r.default.format("dxListEditDecorator-delete")); a.default.on(e, v, function (e) { e.stopPropagation(), this._deleteItem() }.bind(this)), this._$buttons.append(e) } }, _fireAction: function (e) { this._fireMenuAction((0, i.default)(this._cachedNode), e.action), this._cancelDeleteReadyItem() }, modifyElement: function (e) { this.callBase.apply(this, arguments); var t = e.$itemElement; t.addClass("dx-list-slide-menu-wrapper"); var n = (0, i.default)("<div>").addClass("dx-list-slide-menu-content"); t.wrapInner(n) }, _getDeleteButtonContainer: function () { return this._$buttonsContainer }, handleClick: function (e, t) { return !!(0, i.default)(t.target).closest(".dx-list-slide-menu-content").length && this.callBase.apply(this, arguments) }, _swipeStartHandler: function (e) { this._enablePositioning(e), this._cacheItemData(e), this._setPositions(this._getPositions(0)) }, _swipeUpdateHandler: function (e, t) { var n = this._isRtlEnabled() ? -1 : 1, i = this._isReadyToDelete(e); if (this._getCurrentPositions().content !== this._getStartPositions().content || i || !(t.offset * n > 0)) { var a = this._cachedItemWidth * t.offset, o = i ? -this._cachedButtonWidth * n : 0, s = (a + o) * n < 0 ? Math.abs((a + o) / this._cachedButtonWidth) : 0; return this._setPositions(this._getPositions(s)), !0 } t.cancel = !0 }, _getStartPositions: function () { var e = this._isRtlEnabled(), t = e ? -1 : 1; return { content: 0, buttonsContainer: e ? -this._cachedButtonWidth : this._cachedItemWidth, buttons: -this._cachedButtonWidth * t } }, _getPositions: function (e) { var t = this._isRtlEnabled() ? -1 : 1, n = this._getStartPositions(); return { content: n.content - e * this._cachedButtonWidth * t, buttonsContainer: n.buttonsContainer - Math.min(e, 1) * this._cachedButtonWidth * t, buttons: n.buttons + Math.min(e, 1) * this._cachedButtonWidth * t } }, _getCurrentPositions: function () { return { content: (0, l.locate)(this._$cachedContent).left, buttonsContainer: (0, l.locate)(this._$buttonsContainer).left, buttons: (0, l.locate)(this._$buttons).left } }, _setPositions: function (e) { (0, l.move)(this._$cachedContent, { left: e.content }), (0, l.move)(this._$buttonsContainer, { left: e.buttonsContainer }), (0, l.move)(this._$buttons, { left: e.buttons }) }, _cacheItemData: function (e) { e[0] !== this._cachedNode && (this._$cachedContent = e.find(".dx-list-slide-menu-content"), this._cachedItemWidth = e.outerWidth(), this._cachedButtonWidth = this._cachedButtonWidth || this._$buttons.outerWidth(), this._$buttonsContainer.width(this._cachedButtonWidth), this._$cachedContent.length && (this._cachedNode = e[0])) }, _minButtonContainerLeftOffset: function () { return this._cachedItemWidth - this._cachedButtonWidth }, _swipeEndHandler: function (e, t) { this._cacheItemData(e); var n = this._isRtlEnabled() ? 1 : -1, i = this._cachedItemWidth * t.offset, a = !this._isReadyToDelete(e) && i * n > .2 * this._cachedButtonWidth, o = t.targetOffset === n && a; return this._toggleDeleteReady(e, o), !0 }, _enablePositioning: function (e) { p.default.stop(this._$cachedContent, !0), this.callBase.apply(this, arguments), this._$buttonsContainer.appendTo(e) }, _disablePositioning: function () { this.callBase.apply(this, arguments), this._$buttonsContainer.detach() }, _animatePrepareDeleteReady: function () { return this._animateToPositions(this._getPositions(1)) }, _animateForgetDeleteReady: function (e) { return this._cacheItemData(e), this._animateToPositions(this._getPositions(0)) }, _animateToPositions: function (e) { var t = this, n = this._getCurrentPositions(), i = Math.min(Math.abs(n.content - e.content) / this._cachedButtonWidth, 1); return p.default.animate(this._$cachedContent, { from: n, to: e, easing: "cubic-bezier(0.075, 0.82, 0.165, 1)", duration: 400 * i, strategy: "frame", draw: function (e) { t._setPositions(e) } }) }, dispose: function () { this._menu && this._menu.$element().remove(), this._$buttonsContainer && this._$buttonsContainer.remove(), this.callBase.apply(this, arguments) } }).include(u.default)) }, function (e, t, n) { "use strict"; var i = n(30), a = l(n(38)), o = n(72), s = l(n(93)), r = n(6); function l(e) { return e && e.__esModule ? e : { default: e } } (0, o.register)("delete", "swipe", s.default.inherit({ _shouldHandleSwipe: !0, _renderItemPosition: function (e, t, n) { var o = new r.Deferred, s = t * this._itemElementWidth; return n ? a.default.animate(e, { to: { left: s }, type: "slide", complete: function () { o.resolve(e, t) } }) : ((0, i.move)(e, { left: s }), o.resolve()), o.promise() }, _swipeStartHandler: function (e) { return this._itemElementWidth = e.width(), !0 }, _swipeUpdateHandler: function (e, t) { return this._renderItemPosition(e, t.offset), !0 }, _swipeEndHandler: function (e, t) { var n = t.targetOffset; return this._renderItemPosition(e, n, !0).done(function (e, t) { Math.abs(t) && this._list.deleteItem(e).fail(function () { this._renderItemPosition(e, 0, !0) }.bind(this)) }.bind(this)), !0 } })) }, function (e, t, n) { "use strict"; var i = c(n(2)), a = c(n(219)), o = c(n(10)), s = n(72), r = c(n(93)), l = c(n(69)), d = n(161); function c(e) { return e && e.__esModule ? e : { default: e } } (0, s.register)("menu", "context", r.default.inherit({ _init: function () { var e = (0, i.default)("<div>").addClass("dx-list-context-menu"); this._list.$element().append(e), this._menu = this._renderOverlay(e) }, _renderOverlay: function (e) { return this._list._createComponent(e, l.default, { shading: !1, deferRendering: !0, closeOnTargetScroll: !0, closeOnOutsideClick: function (e) { return !(0, i.default)(e.target).closest(".dx-list-context-menu").length }, animation: { show: { type: "slide", duration: 300, from: { height: 0, opacity: 1 }, to: { height: function () { return this._$menuList.outerHeight() }.bind(this), opacity: 1 } }, hide: { type: "slide", duration: 0, from: { opacity: 1 }, to: { opacity: 0 } } }, height: function () { return this._$menuList ? this._$menuList.outerHeight() : 0 }.bind(this), width: function () { return this._list.$element().outerWidth() }.bind(this), onContentReady: this._renderMenuContent.bind(this) }) }, _renderMenuContent: function (e) { var t = e.component.$content(), n = this._menuItems().slice(); this._deleteEnabled() && n.push({ text: o.default.format("dxListEditDecorator-delete"), action: this._deleteItem.bind(this) }), this._$menuList = (0, i.default)("<div>"), this._list._createComponent(this._$menuList, d.ListBase, { items: n, onItemClick: this._menuItemClickHandler.bind(this), height: "auto", integrationOptions: {} }), t.addClass("dx-list-context-menucontent"), t.append(this._$menuList) }, _menuItemClickHandler: function (e) { this._menu.hide(), this._fireMenuAction(this._$itemWithMenu, e.itemData.action) }, _deleteItem: function () { this._list.deleteItem(this._$itemWithMenu) }, handleContextMenu: function (e) { return this._$itemWithMenu = e, this._menu.option({ position: { my: "top", at: "bottom", of: e, collision: "flip" } }), this._menu.show(), !0 }, dispose: function () { this._menu && this._menu.$element().remove(), this.callBase.apply(this, arguments) } }).include(a.default)) }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(2)), a = o(n(92)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = a.default.inherit({ _renderWatchers: function () { this.callBase(), this._startWatcher("badge", this._renderBadge.bind(this)), this._startWatcher("showChevron", this._renderShowChevron.bind(this)) }, _renderBadge: function (e) { if (this._$element.children(".dx-list-item-badge-container").remove(), e) { var t = (0, i.default)("<div>").addClass("dx-list-item-badge-container").append((0, i.default)("<div>").addClass("dx-list-item-badge").addClass("dx-badge").text(e)), n = this._$element.children(".dx-list-item-chevron-container").first(); n.length > 0 ? t.insertBefore(n) : t.appendTo(this._$element) } }, _renderShowChevron: function (e) { if (this._$element.children(".dx-list-item-chevron-container").remove(), e) { var t = (0, i.default)("<div>").addClass("dx-list-item-chevron-container"), n = (0, i.default)("<div>").addClass("dx-list-item-chevron"); t.append(n).appendTo(this._$element) } } }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = v(n(12)), o = n(7), s = v(n(10)), r = v(n(11)), l = n(18), d = n(1), c = n(4), u = v(n(366)), h = v(n(367)), f = v(n(368)), p = v(n(85)), g = v(n(63)), m = n(34), _ = v(n(152)); function v(e) { return e && e.__esModule ? e : { default: e } } var y = { pullDown: u.default, swipeDown: h.default, simulated: f.default }, w = !(0, o.hasWindow)(), x = { finishLoading: c.noop, release: c.noop, refresh: c.noop, _optionChanged: function (e) { if ("onUpdated" !== e.name) return this.callBase.apply(this, arguments) } }, b = p.default.inherit(w ? x : { _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { pullingDownText: s.default.format("dxScrollView-pullingDownText"), pulledDownText: s.default.format("dxScrollView-pulledDownText"), refreshingText: s.default.format("dxScrollView-refreshingText"), reachBottomText: s.default.format("dxScrollView-reachBottomText"), onPullDown: null, onReachBottom: null, refreshStrategy: "pullDown" }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "android" === a.default.real().platform }, options: { refreshStrategy: "swipeDown" } }, { device: function () { return (0, m.isMaterial)() }, options: { pullingDownText: "", pulledDownText: "", refreshingText: "", reachBottomText: "" } }]) }, _init: function () { this.callBase(), this._loadingIndicatorEnabled = !0 }, _initScrollableMarkup: function () { this.callBase(), this.$element().addClass("dx-scrollview"), this._initContent(), this._initTopPocket(), this._initBottomPocket(), this._initLoadPanel() }, _initContent: function () { var e = (0, i.default)("<div>").addClass("dx-scrollview-content"); this._$content.wrapInner(e) }, _initTopPocket: function () { var e = this._$topPocket = (0, i.default)("<div>").addClass("dx-scrollview-top-pocket"), t = this._$pullDown = (0, i.default)("<div>").addClass("dx-scrollview-pull-down"); e.append(t), this._$content.prepend(e) }, _initBottomPocket: function () { var e = this._$bottomPocket = (0, i.default)("<div>").addClass("dx-scrollview-bottom-pocket"), t = this._$reachBottom = (0, i.default)("<div>").addClass("dx-scrollview-scrollbottom"), n = (0, i.default)("<div>").addClass("dx-scrollview-scrollbottom-indicator"), a = new g.default((0, i.default)("<div>")).$element(), o = this._$reachBottomText = (0, i.default)("<div>").addClass("dx-scrollview-scrollbottom-text"); this._updateReachBottomText(), t.append(n.append(a)).append(o), e.append(t), this._$content.append(e) }, _initLoadPanel: function () { var e = (0, i.default)("<div>").addClass("dx-scrollview-loadpanel").appendTo(this.$element()), t = { shading: !1, delay: 400, message: this.option("refreshingText"), position: { of: this.$element() } }; this._loadPanel = this._createComponent(e, _.default, t) }, _updateReachBottomText: function () { this._$reachBottomText.text(this.option("reachBottomText")) }, _createStrategy: function () { var e = this.option("useNative") ? this.option("refreshStrategy") : "simulated", t = y[e]; if (!t) throw Error("E1030", this.option("refreshStrategy")); this._strategy = new t(this), this._strategy.pullDownCallbacks.add(this._pullDownHandler.bind(this)), this._strategy.releaseCallbacks.add(this._releaseHandler.bind(this)), this._strategy.reachBottomCallbacks.add(this._reachBottomHandler.bind(this)) }, _createActions: function () { this.callBase(), this._pullDownAction = this._createActionByOption("onPullDown"), this._reachBottomAction = this._createActionByOption("onReachBottom"), this._tryRefreshPocketState() }, _tryRefreshPocketState: function () { this._pullDownEnable(this.hasActionSubscription("onPullDown")), this._reachBottomEnable(this.hasActionSubscription("onReachBottom")) }, on: function (e) { var t = this.callBase.apply(this, arguments); return "pullDown" !== e && "reachBottom" !== e || this._tryRefreshPocketState(), t }, _pullDownEnable: function (e) { if (0 === arguments.length) return this._pullDownEnabled; this._$pullDown && this._strategy && (this._$pullDown.toggle(e), this._strategy.pullDownEnable(e), this._pullDownEnabled = e) }, _reachBottomEnable: function (e) { if (0 === arguments.length) return this._reachBottomEnabled; this._$reachBottom && this._strategy && (this._$reachBottom.toggle(e), this._strategy.reachBottomEnable(e), this._reachBottomEnabled = e) }, _pullDownHandler: function () { this._loadingIndicator(!1), this._pullDownLoading() }, _loadingIndicator: function (e) { if (arguments.length < 1) return this._loadingIndicatorEnabled; this._loadingIndicatorEnabled = e }, _pullDownLoading: function () { this.startLoading(), this._pullDownAction() }, _reachBottomHandler: function () { this._loadingIndicator(!1), this._reachBottomLoading() }, _reachBottomLoading: function () { this.startLoading(), this._reachBottomAction() }, _releaseHandler: function () { this.finishLoading(), this._loadingIndicator(!0) }, _optionChanged: function (e) { switch (e.name) { case "onPullDown": case "onReachBottom": this._createActions(); break; case "pullingDownText": case "pulledDownText": case "refreshingText": case "refreshStrategy": this._invalidate(); break; case "reachBottomText": this._updateReachBottomText(); break; default: this.callBase(e) } }, isEmpty: function () { return !(0, i.default)(this.content()).children().length }, content: function () { return (0, l.getPublicElement)(this._$content.children().eq(1)) }, release: function (e) { return void 0 !== e && this.toggleLoading(!e), this._strategy.release() }, toggleLoading: function (e) { this._reachBottomEnable(e) }, isFull: function () { return (0, i.default)(this.content()).height() > this._$container.height() }, refresh: function () { this.hasActionSubscription("onPullDown") && (this._strategy.pendingRelease(), this._pullDownLoading()) }, startLoading: function () { this._loadingIndicator() && this.$element().is(":visible") && this._loadPanel.show(), this._lock() }, finishLoading: function () { this._loadPanel.hide(), this._unlock() }, _dispose: function () { this._strategy.dispose(), this.callBase(), this._loadPanel && this._loadPanel.$element().remove() } }); (0, r.default)("dxScrollView", b); var C = b; t.default = C, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(26)), o = n(30), s = u(n(159)), r = u(n(63)), l = n(3), d = u(n(15)), c = n(6); function u(e) { return e && e.__esModule ? e : { default: e } } var h = s.default.inherit({ _init: function (e) { this.callBase(e), this._$topPocket = e._$topPocket, this._$pullDown = e._$pullDown, this._$bottomPocket = e._$bottomPocket, this._$refreshingText = e._$refreshingText, this._$scrollViewContent = (0, i.default)(e.content()), this._initCallbacks() }, _initCallbacks: function () { this.pullDownCallbacks = (0, a.default)(), this.releaseCallbacks = (0, a.default)(), this.reachBottomCallbacks = (0, a.default)() }, render: function () { this.callBase(), this._renderPullDown(), this._releaseState() }, _renderPullDown: function () { var e = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-image"), t = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-indicator"), n = new r.default((0, i.default)("<div>")).$element(), a = this._$pullDownText = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-text"); this._$pullingDownText = (0, i.default)("<div>").text(this.option("pullingDownText")).appendTo(a), this._$pulledDownText = (0, i.default)("<div>").text(this.option("pulledDownText")).appendTo(a), this._$refreshingText = (0, i.default)("<div>").text(this.option("refreshingText")).appendTo(a), this._$pullDown.empty().append(e).append(t.append(n)).append(a) }, _releaseState: function () { this._state = 0, this._refreshPullDownText() }, _pushBackFromBoundary: function () { this._isLocked() || this._component.isEmpty() || this.callBase() }, _refreshPullDownText: function () { var e = this, t = [{ element: this._$pullingDownText, visibleState: 0 }, { element: this._$pulledDownText, visibleState: 1 }, { element: this._$refreshingText, visibleState: 2 }]; (0, l.each)(t, (function (t, n) { var i = e._state === n.visibleState ? "addClass" : "removeClass"; n.element[i]("dx-scrollview-pull-down-text-visible") })) }, update: function () { this.callBase(), this._setTopPocketOffset() }, _updateDimensions: function () { this.callBase(), this._topPocketSize = this._$topPocket.height(), this._bottomPocketSize = this._$bottomPocket.height(), d.default.msie ? this._scrollOffset = Math.round(100 * (this._$container.height() - this._$content.height())) / 100 : this._scrollOffset = this._$container.height() - this._$content.height() }, _allowedDirections: function () { var e = this.callBase(); return e.vertical = e.vertical || this._pullDownEnabled, e }, _setTopPocketOffset: function () { this._$topPocket.css({ top: -this._topPocketSize }) }, handleEnd: function () { this.callBase(), this._complete() }, handleStop: function () { this.callBase(), this._complete() }, _complete: function () { 1 === this._state && (this._setPullDownOffset(this._topPocketSize), clearTimeout(this._pullDownRefreshTimeout), this._pullDownRefreshTimeout = setTimeout(function () { this._pullDownRefreshing() }.bind(this), 400)) }, _setPullDownOffset: function (e) { (0, o.move)(this._$topPocket, { top: e }), (0, o.move)(this._$scrollViewContent, { top: e }) }, handleScroll: function (e) { if (this.callBase(e), 2 !== this._state) { var t = this.location().top, n = (this._location || 0) - t; this._location = t, this._isPullDown() ? this._pullDownReady() : n > 0 && this._isReachBottom() ? this._reachBottom() : this._stateReleased() } }, _isPullDown: function () { return this._pullDownEnabled && this._location >= this._topPocketSize }, _isReachBottom: function () { return this._reachBottomEnabled && this._location - (this._scrollOffset + this._bottomPocketSize) <= .5 }, _reachBottom: function () { 3 !== this._state && (this._state = 3, this.reachBottomCallbacks.fire()) }, _pullDownReady: function () { 1 !== this._state && (this._state = 1, this._$pullDown.addClass("dx-scrollview-pull-down-ready"), this._refreshPullDownText()) }, _stateReleased: function () { 0 !== this._state && (this._$pullDown.removeClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"), this._releaseState()) }, _pullDownRefreshing: function () { 2 !== this._state && (this._state = 2, this._$pullDown.addClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"), this._refreshPullDownText(), this.pullDownCallbacks.fire()) }, pullDownEnable: function (e) { e && (this._updateDimensions(), this._setTopPocketOffset()), this._pullDownEnabled = e }, reachBottomEnable: function (e) { this._reachBottomEnabled = e }, pendingRelease: function () { this._state = 1 }, release: function () { var e = new c.Deferred; return this._updateDimensions(), clearTimeout(this._releaseTimeout), 3 === this._state && (this._state = 0), this._releaseTimeout = setTimeout(function () { this._setPullDownOffset(0), this._stateReleased(), this.releaseCallbacks.fire(), this._updateAction(), e.resolve() }.bind(this), 400), e.promise() }, dispose: function () { clearTimeout(this._pullDownRefreshTimeout), clearTimeout(this._releaseTimeout), this.callBase() } }); t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = c(n(26)), o = n(30), s = n(8), r = c(n(159)), l = c(n(63)), d = n(6); function c(e) { return e && e.__esModule ? e : { default: e } } var u = r.default.inherit({ _init: function (e) { this.callBase(e), this._$topPocket = e._$topPocket, this._$bottomPocket = e._$bottomPocket, this._$pullDown = e._$pullDown, this._$scrollViewContent = e.content(), this._initCallbacks(), this._location = 0 }, _initCallbacks: function () { this.pullDownCallbacks = (0, a.default)(), this.releaseCallbacks = (0, a.default)(), this.reachBottomCallbacks = (0, a.default)() }, render: function () { this.callBase(), this._renderPullDown(), this._releaseState() }, _renderPullDown: function () { var e = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-indicator"), t = new l.default((0, i.default)("<div>")).$element(); this._$icon = (0, i.default)("<div>").addClass("dx-icon-pulldown"), this._$pullDown.empty().append(this._$icon).append(e.append(t)) }, _releaseState: function () { this._state = 0, this._releasePullDown(), this._updateDimensions() }, _releasePullDown: function () { this._$pullDown.css({ opacity: 0 }) }, _updateDimensions: function () { this.callBase(), this._topPocketSize = this._$topPocket.height(), this._bottomPocketSize = this._$bottomPocket.height(), this._scrollOffset = this._$container.height() - this._$content.height() }, _allowedDirections: function () { var e = this.callBase(); return e.vertical = e.vertical || this._pullDownEnabled, e }, handleInit: function (e) { this.callBase(e), 0 === this._state && 0 === this._location && (this._startClientY = (0, s.eventData)(e.originalEvent).y, this._state = 4) }, handleMove: function (e) { this.callBase(e), this._deltaY = (0, s.eventData)(e.originalEvent).y - this._startClientY, 4 === this._state && (this._pullDownEnabled && this._deltaY > 0 ? this._state = 5 : this._complete()), 5 === this._state && (e.preventDefault(), this._movePullDown()) }, _movePullDown: function () { var e = this._getPullDownHeight(), t = Math.min(3 * e, this._deltaY + this._getPullDownStartPosition()), n = 180 * t / e / 3; this._$pullDown.css({ opacity: 1 }).toggleClass("dx-scrollview-pull-down-refreshing", t < e), (0, o.move)(this._$pullDown, { top: t }), this._$icon.css({ transform: "rotate(" + n + "deg)" }) }, _isPullDown: function () { return this._pullDownEnabled && 5 === this._state && this._deltaY >= this._getPullDownHeight() - this._getPullDownStartPosition() }, _getPullDownHeight: function () { return Math.round(.05 * this._$element.outerHeight()) }, _getPullDownStartPosition: function () { return -Math.round(1.5 * this._$pullDown.outerHeight()) }, handleEnd: function () { this._isPullDown() && this._pullDownRefreshing(), this._complete() }, handleStop: function () { this._complete() }, _complete: function () { 4 !== this._state && 5 !== this._state || this._releaseState() }, handleScroll: function (e) { if (this.callBase(e), 2 !== this._state) { var t = this.location().top, n = this._location - t; this._location = t, n > 0 && this._isReachBottom() ? this._reachBottom() : this._stateReleased() } }, _isReachBottom: function () { return this._reachBottomEnabled && this._location <= this._scrollOffset + this._bottomPocketSize }, _reachBottom: function () { this.reachBottomCallbacks.fire() }, _stateReleased: function () { 0 !== this._state && (this._$pullDown.removeClass("dx-scrollview-pull-down-loading"), this._releaseState()) }, _pullDownRefreshing: function () { this._state = 2, this._pullDownRefreshHandler() }, _pullDownRefreshHandler: function () { this._refreshPullDown(), this.pullDownCallbacks.fire() }, _refreshPullDown: function () { this._$pullDown.addClass("dx-scrollview-pull-down-loading"), (0, o.move)(this._$pullDown, { top: this._getPullDownHeight() }) }, pullDownEnable: function (e) { this._$topPocket.toggle(e), this._pullDownEnabled = e }, reachBottomEnable: function (e) { this._reachBottomEnabled = e }, pendingRelease: function () { this._state = 1 }, release: function () { var e = new d.Deferred; return this._updateDimensions(), clearTimeout(this._releaseTimeout), this._releaseTimeout = setTimeout(function () { this._stateReleased(), this.releaseCallbacks.fire(), this._updateAction(), e.resolve() }.bind(this), 800), e.promise() }, dispose: function () { clearTimeout(this._pullDownRefreshTimeout), clearTimeout(this._releaseTimeout), this.callBase() } }); t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = c(n(26)), o = n(3), s = n(4), r = n(1), l = n(214), d = c(n(63)); function c(e) { return e && e.__esModule ? e : { default: e } } var u = Math, h = l.Scroller.inherit({ ctor: function () { this._topPocketSize = 0, this.callBase.apply(this, arguments), this._initCallbacks(), this._releaseState() }, _releaseState: function () { this._state = 0, this._refreshPullDownText() }, _refreshPullDownText: function () { var e = this, t = [{ element: this._$pullingDownText, visibleState: 0 }, { element: this._$pulledDownText, visibleState: 1 }, { element: this._$refreshingText, visibleState: 2 }]; (0, o.each)(t, (function (t, n) { var i = e._state === n.visibleState ? "addClass" : "removeClass"; n.element[i]("dx-scrollview-pull-down-text-visible") })) }, _initCallbacks: function () { this.pullDownCallbacks = (0, a.default)(), this.releaseCallbacks = (0, a.default)(), this.reachBottomCallbacks = (0, a.default)() }, _updateBounds: function () { var e = "horizontal" !== this._direction; this._topPocketSize = e ? Math.round(this._$topPocket[this._dimension]()) : 0, this._bottomPocketSize = e ? Math.round(this._$bottomPocket[this._dimension]()) : 0, this.callBase(), this._bottomBound = this._minOffset + this._bottomPocketSize }, _updateScrollbar: function () { this._scrollbar.option({ containerSize: this._containerSize(), contentSize: this._contentSize() - this._topPocketSize - this._bottomPocketSize, scaleRatio: this._getScaleRatio() }) }, _moveContent: function () { this.callBase(), this._isPullDown() ? this._pullDownReady() : this._isReachBottom() ? this._reachBottomReady() : 0 !== this._state && this._stateReleased() }, _moveScrollbar: function () { this._scrollbar.moveTo(this._topPocketSize + this._location) }, _isPullDown: function () { return this._pullDownEnabled && this._location >= 0 }, _isReachBottom: function () { return this._reachBottomEnabled && this._location - this._bottomBound <= .5 }, _scrollComplete: function () { this._inBounds() && 1 === this._state ? this._pullDownRefreshing() : this._inBounds() && 3 === this._state ? this._reachBottomLoading() : this.callBase() }, _reachBottomReady: function () { 3 !== this._state && (this._state = 3, this._minOffset = this._getMinOffset()) }, _getMaxOffset: function () { return -this._topPocketSize }, _getMinOffset: function () { return u.min(this.callBase(), -this._topPocketSize) }, _reachBottomLoading: function () { this.reachBottomCallbacks.fire() }, _pullDownReady: function () { 1 !== this._state && (this._state = 1, this._maxOffset = 0, this._$pullDown.addClass("dx-scrollview-pull-down-ready"), this._refreshPullDownText()) }, _stateReleased: function () { 0 !== this._state && (this._releaseState(), this._updateBounds(), this._$pullDown.removeClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"), this.releaseCallbacks.fire()) }, _pullDownRefreshing: function () { 2 !== this._state && (this._state = 2, this._$pullDown.addClass("dx-scrollview-pull-down-loading").removeClass("dx-scrollview-pull-down-ready"), this._refreshPullDownText(), this.pullDownCallbacks.fire()) }, _releaseHandler: function () { return 0 === this._state && this._moveToBounds(), this._update(), this._releaseTask && this._releaseTask.abort(), this._releaseTask = (0, s.executeAsync)(this._release.bind(this)), this._releaseTask.promise }, _release: function () { this._stateReleased(), this._scrollComplete() }, _reachBottomEnablingHandler: function (e) { this._reachBottomEnabled !== e && (this._reachBottomEnabled = e, this._updateBounds()) }, _pullDownEnablingHandler: function (e) { this._pullDownEnabled !== e && (this._pullDownEnabled = e, this._considerTopPocketChange(), this._updateHandler()) }, _considerTopPocketChange: function () { this._location -= this._$topPocket.height() || -this._topPocketSize, this._maxOffset = 0, this._move() }, _pendingReleaseHandler: function () { this._state = 1 }, dispose: function () { this._releaseTask && this._releaseTask.abort(), this.callBase() } }), f = l.SimulatedStrategy.inherit({ _init: function (e) { this.callBase(e), this._$pullDown = e._$pullDown, this._$topPocket = e._$topPocket, this._$bottomPocket = e._$bottomPocket, this._initCallbacks() }, _initCallbacks: function () { this.pullDownCallbacks = (0, a.default)(), this.releaseCallbacks = (0, a.default)(), this.reachBottomCallbacks = (0, a.default)() }, render: function () { this._renderPullDown(), this.callBase() }, _renderPullDown: function () { var e = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-image"), t = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-indicator"), n = new d.default((0, i.default)("<div>")).$element(), a = this._$pullDownText = (0, i.default)("<div>").addClass("dx-scrollview-pull-down-text"); this._$pullingDownText = (0, i.default)("<div>").text(this.option("pullingDownText")).appendTo(a), this._$pulledDownText = (0, i.default)("<div>").text(this.option("pulledDownText")).appendTo(a), this._$refreshingText = (0, i.default)("<div>").text(this.option("refreshingText")).appendTo(a), this._$pullDown.empty().append(e).append(t.append(n)).append(a) }, pullDownEnable: function (e) { this._eventHandler("pullDownEnabling", e) }, reachBottomEnable: function (e) { this._eventHandler("reachBottomEnabling", e) }, _createScroller: function (e) { var t = this, n = t._scrollers[e] = new h(t._scrollerOptions(e)); n.pullDownCallbacks.add((function () { t.pullDownCallbacks.fire() })), n.releaseCallbacks.add((function () { t.releaseCallbacks.fire() })), n.reachBottomCallbacks.add((function () { t.reachBottomCallbacks.fire() })) }, _scrollerOptions: function (e) { return (0, r.extend)(this.callBase(e), { $topPocket: this._$topPocket, $bottomPocket: this._$bottomPocket, $pullDown: this._$pullDown, $pullDownText: this._$pullDownText, $pullingDownText: this._$pullingDownText, $pulledDownText: this._$pulledDownText, $refreshingText: this._$refreshingText }) }, pendingRelease: function () { this._eventHandler("pendingRelease") }, release: function () { return this._eventHandler("release").done(this._updateAction) }, location: function () { var e = this.callBase(); return e.top += this._$topPocket.height(), e }, dispose: function () { (0, o.each)(this._scrollers, (function () { this.dispose() })), this.callBase() } }); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; var i = f(n(2)), a = f(n(5)), o = n(19), s = n(1), r = f(n(17)), l = f(n(112)), d = f(n(370)), c = n(8), u = n(72), h = f(n(93)); function f(e) { return e && e.__esModule ? e : { default: e } } var p = (0, c.addNamespace)(o.name, "dxListEditDecorator"); (0, u.register)("selection", "default", h.default.inherit({ _init: function () { this.callBase.apply(this, arguments); var e = this._list.option("selectionMode"); this._singleStrategy = "single" === e, this._containerClass = this._singleStrategy ? "dx-list-select-radiobutton-container" : "dx-list-select-checkbox-container", this._controlClass = this._singleStrategy ? "dx-list-select-radiobutton" : "dx-list-select-checkbox", this._controlWidget = this._singleStrategy ? d.default : l.default, this._list.$element().addClass("dx-list-select-decorator-enabled") }, beforeBag: function (e) { var t = e.$itemElement, n = e.$container.addClass(this._containerClass), a = (0, i.default)("<div>").addClass(this._controlClass).appendTo(n); new this._controlWidget(a, (0, s.extend)(this._commonOptions(), { value: this._isSelected(t), focusStateEnabled: !1, hoverStateEnabled: !1, onValueChanged: function (e) { e.event && this._list._saveSelectionChangeEvent(e.event), this._processCheckedState(t, e.value), e.event && e.event.stopPropagation() }.bind(this) })) }, modifyElement: function (e) { this.callBase.apply(this, arguments); var t = e.$itemElement, n = this._controlWidget.getInstance(t.find("." + this._controlClass)); a.default.on(t, "stateChanged", function (e, t) { n.option("value", t) }.bind(this)) }, _updateSelectAllState: function () { this._$selectAll && this._selectAllCheckBox.option("value", this._list.isSelectAll()) }, afterRender: function () { "all" === this._list.option("selectionMode") && (this._$selectAll ? this._updateSelectAllState() : this._renderSelectAll()) }, handleKeyboardEvents: function (e, t) { var n = !t, i = this._list, a = this._$selectAll, o = i._getLastItemIndex(); return !(!a || !(t && 0 === e || n && e === o)) && (i.option("focusedElement", a), i.scrollToItem(i.option("focusedElement")), !0) }, handleEnterPressing: function () { if (this._$selectAll && this._$selectAll.hasClass("dx-state-focused")) return this._selectAllCheckBox.option("value", !this._selectAllCheckBox.option("value")), !0 }, _renderSelectAll: function () { var e = this._$selectAll = (0, i.default)("<div>").addClass("dx-list-select-all"), t = this._list, n = t._supportedKeys().downArrow.bind(t); this._selectAllCheckBox = t._createComponent((0, i.default)("<div>").addClass("dx-list-select-all-checkbox").appendTo(e), l.default, { focusStateEnabled: !1, hoverStateEnabled: !1 }), this._selectAllCheckBox.registerKeyHandler("downArrow", n), (0, i.default)("<div>").addClass("dx-list-select-all-label").text(this._list.option("selectAllText")).appendTo(e), this._list.itemsContainer().prepend(e), this._updateSelectAllState(), this._attachSelectAllHandler() }, _attachSelectAllHandler: function () { this._selectAllCheckBox.option("onValueChanged", this._selectAllHandler.bind(this)), a.default.off(this._$selectAll, p), a.default.on(this._$selectAll, p, this._selectAllClickHandler.bind(this)) }, _selectAllHandler: function (e) { e.event && e.event.stopPropagation(); var t = this._selectAllCheckBox.option("value"); !1 !== this._list._createActionByOption("onSelectAllValueChanged")({ value: t }) && (e.event && this._list._saveSelectionChangeEvent(e.event), !0 === t ? this._selectAllItems() : !1 === t && this._unselectAllItems()) }, _checkSelectAllCapability: function () { var e = this._list, t = e.getDataSource(); return !!("allPages" !== e.option("selectAllMode") || !e.option("grouped") || t && t.group()) || (r.default.log("W1010"), !1) }, _selectAllItems: function () { this._checkSelectAllCapability() && this._list._selection.selectAll("page" === this._list.option("selectAllMode")) }, _unselectAllItems: function () { this._checkSelectAllCapability() && this._list._selection.deselectAll("page" === this._list.option("selectAllMode")) }, _selectAllClickHandler: function (e) { this._list._saveSelectionChangeEvent(e), this._selectAllCheckBox.option("value", !this._selectAllCheckBox.option("value")) }, _isSelected: function (e) { return this._list.isItemSelected(e) }, _processCheckedState: function (e, t) { t ? this._list.selectItem(e) : this._list.unselectItem(e) }, dispose: function () { this._disposeSelectAll(), this._list.$element().removeClass("dx-list-select-decorator-enabled"), this.callBase.apply(this, arguments) }, _disposeSelectAll: function () { this._$selectAll && (this._$selectAll.remove(), this._$selectAll = null) } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = h(n(5)), o = h(n(12)), s = n(1), r = n(81), l = h(n(11)), d = h(n(71)), c = n(8), u = n(19); function h(e) { return e && e.__esModule ? e : { default: e } } var f = d.default.inherit({ _supportedKeys: function () { return (0, s.extend)(this.callBase(), { space: function (e) { e.preventDefault(), this._clickAction({ event: e }) } }) }, _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { hoverStateEnabled: !0, activeStateEnabled: !0, value: !1, useInkRipple: !1 }) }, _canValueBeChangedByClick: function () { return !0 }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }]) }, _init: function () { this.callBase(), this.$element().addClass("dx-radiobutton") }, _initMarkup: function () { this.callBase(), this._renderIcon(), this.option("useInkRipple") && this._renderInkRipple(), this._renderCheckedState(this.option("value")), this._renderClick(), this.setAria("role", "radio") }, _renderInkRipple: function () { this._inkRipple = (0, r.render)({ waveSizeCoefficient: 3.3, useHoldAnimation: !1, wavesNumber: 2, isCentered: !0 }) }, _renderInkWave: function (e, t, n, i) { if (this._inkRipple) { var a = { element: e, event: t, wave: i }; n ? this._inkRipple.showWave(a) : this._inkRipple.hideWave(a) } }, _updateFocusState: function (e, t) { this.callBase.apply(this, arguments), this._renderInkWave(this._$icon, e, t, 0) }, _toggleActiveState: function (e, t, n) { this.callBase.apply(this, arguments), this._renderInkWave(this._$icon, n, t, 1) }, _renderIcon: function () { this._$icon = (0, i.default)("<div>").addClass("dx-radiobutton-icon"), (0, i.default)("<div>").addClass("dx-radiobutton-icon-dot").appendTo(this._$icon), this.$element().append(this._$icon) }, _renderCheckedState: function (e) { this.$element().toggleClass("dx-radiobutton-checked", e).find(".dx-radiobutton-icon").toggleClass("dx-radiobutton-icon-checked", e), this.setAria("checked", e) }, _renderClick: function () { var e = (0, c.addNamespace)(u.name, this.NAME); this._clickAction = this._createAction(function (e) { this._clickHandler(e.event) }.bind(this)), a.default.off(this.$element(), e), a.default.on(this.$element(), e, function (e) { this._clickAction({ event: e }) }.bind(this)) }, _clickHandler: function (e) { this._saveValueChangeEvent(e), this.option("value", !0) }, _optionChanged: function (e) { switch (e.name) { case "useInkRipple": this._invalidate(); break; case "value": this._renderCheckedState(e.value), this.callBase(e); break; default: this.callBase(e) } }, _clean: function () { delete this._inkRipple, this.callBase() } }); (0, l.default)("dxRadioButton", f); var p = f; t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; var i = c(n(2)), a = c(n(5)), o = n(1), s = n(8), r = n(72), l = c(n(93)), d = c(n(223)); function c(e) { return e && e.__esModule ? e : { default: e } } (0, r.register)("reorder", "default", l.default.inherit({ _init: function () { var e = this._list; this._groupedEnabled = this._list.option("grouped"), this._lockedDrag = !1; var t = this._groupedEnabled ? "> .dx-list-group > .dx-list-group-body > .dx-list-item" : "> .dx-list-item"; this._sortable = e._createComponent(e._scrollView.content(), d.default, (0, o.extend)({ component: e, contentTemplate: null, allowReordering: !1, filter: t, container: e.$element(), dragDirection: e.option("itemDragging.group") ? "both" : "vertical", handle: ".".concat("dx-list-reorder-handle"), dragTemplate: this._dragTemplate, onDragStart: this._dragStartHandler.bind(this), onDragChange: this._dragChangeHandler.bind(this), onReorder: this._reorderHandler.bind(this) }, e.option("itemDragging"))) }, afterRender: function () { this._sortable.update() }, _dragTemplate: function (e) { return (0, i.default)(e.itemElement).clone().width((0, i.default)(e.itemElement).width()).addClass("dx-list-item-ghost-reordering").addClass("dx-state-hover") }, _dragStartHandler: function (e) { this._lockedDrag && (e.cancel = !0) }, _dragChangeHandler: function (e) { !this._groupedEnabled || this._sameParent(e.fromIndex, e.toIndex) || (e.cancel = !0) }, _sameParent: function (e, t) { var n = this._list.getItemElementByFlatIndex(e); return this._list.getItemElementByFlatIndex(t).parent().get(0) === n.parent().get(0) }, _reorderHandler: function (e) { var t = this._list.getItemElementByFlatIndex(e.toIndex); this._list.reorderItem((0, i.default)(e.itemElement), t) }, afterBag: function (e) { var t = this, n = (0, i.default)("<div>").addClass("dx-list-reorder-handle"); a.default.on(n, "dxpointerdown", (function (e) { t._lockedDrag = !(0, s.isMouseEvent)(e) })), a.default.on(n, "dxhold", { timeout: 30 }, (function (e) { e.cancel = !0, t._lockedDrag = !1 })), e.$container.addClass("dx-list-reorder-handle-container").append(n) } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = I(n(2)), a = n(7), o = I(n(5)), s = n(31), r = I(n(11)), l = n(30), d = I(n(215)), c = I(n(15)), u = n(43), h = n(1), f = I(n(57)), p = n(18), g = n(8), m = I(n(23)), _ = n(91), v = I(n(60)), y = n(0), w = n(4), x = n(74), b = n(101), C = n(6), k = n(25); function I(e) { return e && e.__esModule ? e : { default: e } } function S(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var E, D, T = (0, a.getWindow)(), A = "dxDraggable", O = (0, g.addNamespace)(_.start, A), B = (0, g.addNamespace)(_.move, A), M = (0, g.addNamespace)(_.end, A), P = (0, g.addNamespace)(_.enter, A), R = (0, g.addNamespace)(_.leave, A), F = (0, g.addNamespace)(m.default.down, A), V = function (e) { return { x: e.pageX - (0, i.default)(T).scrollLeft(), y: e.pageY - (0, i.default)(T).scrollTop() } }, q = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._preventScroll = !0, this._component = n, "vertical" === t ? (this._scrollValue = "scrollTop", this._overFlowAttr = "overflowY", this._sizeAttr = "height", this._scrollSizeProp = "scrollHeight", this._clientSizeProp = "clientHeight", this._limitProps = { start: "top", end: "bottom" }) : (this._scrollValue = "scrollLeft", this._overFlowAttr = "overflowX", this._sizeAttr = "width", this._scrollSizeProp = "scrollWidth", this._clientSizeProp = "clientWidth", this._limitProps = { start: "left", end: "right" }) } var t, n, a; return t = e, (n = [{ key: "updateScrollable", value: function (e, t) { var n = this; e.some((function (e) { return n._trySetScrollable(e, t) })) || (n._$scrollableAtPointer = null, n._scrollSpeed = 0) } }, { key: "isScrolling", value: function () { return !!this._scrollSpeed } }, { key: "isScrollable", value: function (e) { return ("auto" === e.css(this._overFlowAttr) || e.hasClass("dx-scrollable-container")) && e.prop(this._scrollSizeProp) > e[this._sizeAttr]() } }, { key: "_trySetScrollable", value: function (e, t) { var n, a = (0, i.default)(e), o = this._component.option("scrollSensitivity"), s = this.isScrollable(a); return s && (o > (n = this._calculateDistanceToBorders(a, t))[this._limitProps.start] ? this._preventScroll || (this._scrollSpeed = -this._calculateScrollSpeed(n[this._limitProps.start]), this._$scrollableAtPointer = a) : o > n[this._limitProps.end] ? this._preventScroll || (this._scrollSpeed = this._calculateScrollSpeed(n[this._limitProps.end]), this._$scrollableAtPointer = a) : (s = !1, this._preventScroll = !1)), s } }, { key: "_calculateDistanceToBorders", value: function (e, t) { var n, i = e.get(0); return i ? (n = (0, k.getBoundingRect)(i), { left: t.x - n.left, top: t.y - n.top, right: n.right - t.x, bottom: n.bottom - t.y }) : {} } }, { key: "_calculateScrollSpeed", value: function (e) { var t = this._component, n = t.option("scrollSensitivity"), i = t.option("scrollSpeed"); return Math.ceil(Math.pow((n - e) / n, 2) * i) } }, { key: "scrollByStep", value: function () { var e, t, n; if (this._$scrollableAtPointer && this._scrollSpeed) { if (this._$scrollableAtPointer.hasClass("dx-scrollable-container")) { var i = this._$scrollableAtPointer.closest(".dx-scrollable"), a = i.data("dxScrollable") || i.data("dxScrollView"); if (a) { var o = a.scrollOffset()[this._limitProps.start] + this._scrollSpeed; a.scrollTo((e = {}, t = this._limitProps.start, n = o, t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e)) } } else { var s = this._$scrollableAtPointer[this._scrollValue]() + this._scrollSpeed; this._$scrollableAtPointer[this._scrollValue](s) } var r = this._component._dragMoveArgs; r && this._component._dragMoveHandler(r) } } }, { key: "reset", value: function () { this._$scrollableAtPointer = null, this._scrollSpeed = 0, this._preventScroll = !0 } }, { key: "isOutsideScrollable", value: function (e, t) { if (!e) return !1; var n = (0, k.getBoundingRect)(e.get(0)), i = n[this._limitProps.start], a = n[this._sizeAttr], o = V(t), s = "width" === this._sizeAttr ? o.x : o.y; return s < i || s > i + a } }]) && S(t.prototype, n), a && S(t, a), e }(), L = d.default.inherit({ ctor: function (e) { this.callBase(), this._strategy = e }, _step: function () { var e = this._strategy._horizontalScrollHelper, t = this._strategy._verticalScrollHelper; e && e.scrollByStep(), t && t.scrollByStep() } }), H = f.default.inherit({ reset: w.noop, dragMove: w.noop, dragEnter: w.noop, dragLeave: w.noop, dragEnd: function (e) { return this._getSourceDraggable()._fireRemoveEvent(e), (new C.Deferred).resolve() }, _fireRemoveEvent: w.noop, _getDefaultOptions: function () { return (0, h.extend)(this.callBase(), { onDragStart: null, onDragMove: null, onDragEnd: null, onDragEnter: null, onDragLeave: null, onDrop: null, immediate: !0, dragDirection: "both", boundary: void 0, boundOffset: 0, allowMoveByClick: !1, itemData: null, container: void 0, dragTemplate: void 0, contentTemplate: "content", handle: "", filter: "", clone: !1, autoScroll: !0, scrollSpeed: 30, scrollSensitivity: 60, group: void 0, data: void 0 }) }, _setOptionsByReference: function () { this.callBase.apply(this, arguments), (0, h.extend)(this._optionsByReference, { component: !0, group: !0, itemData: !0, data: !0 }) }, _init: function () { this.callBase(), this._attachEventHandlers(), this._scrollAnimator = new L(this), this._horizontalScrollHelper = new q("horizontal", this), this._verticalScrollHelper = new q("vertical", this) }, _normalizeCursorOffset: function (e) { return (0, y.isObject)(e) && (e = { h: e.x, v: e.y }), { left: (e = (0, w.splitPair)(e).map((function (e) { return parseFloat(e) })))[0], top: 1 === e.length ? e[0] : e[1] } }, _getNormalizedCursorOffset: function (e, t) { return (0, y.isFunction)(e) && (e = e.call(this, t)), this._normalizeCursorOffset(e) }, _calculateElementOffset: function (e) { var t, n, a = e.event, o = (0, i.default)(e.itemElement), s = (0, i.default)(e.dragElement), r = this._dragElementIsCloned(), d = this.option("cursorOffset"), c = { left: 0, top: 0 }, u = this._initialLocate = (0, l.locate)(s); return (r || e.initialOffset || d) && (t = e.initialOffset || o.offset(), d && (c = this._getNormalizedCursorOffset(d, e), isFinite(c.left) && (t.left = a.pageX), isFinite(c.top) && (t.top = a.pageY)), n = s.offset(), t.top -= n.top + (c.top || 0) - u.top, t.left -= n.left + (c.left || 0) - u.left), t }, _initPosition: function (e) { var t = (0, i.default)(e.dragElement), n = this._calculateElementOffset(e); n && this._move(n, t), this._startPosition = (0, l.locate)(t) }, _startAnimator: function () { this._scrollAnimator.inProgress() || this._scrollAnimator.start() }, _stopAnimator: function () { this._scrollAnimator.stop() }, _addWidgetPrefix: function (e) { var t = this.NAME; return (0, u.dasherize)(t) + (e ? "-" + e : "") }, _getItemsSelector: function () { return this.option("filter") || "" }, _$content: function () { var e = this.$element(), t = e.children(".dx-template-wrapper"); return t.length ? t : e }, _attachEventHandlers: function () { var e = this; if (!this.option("disabled")) { var t = this._$content(), n = this._getItemsSelector(), i = this.option("allowMoveByClick"), a = { direction: this.option("dragDirection"), immediate: this.option("immediate"), checkDropTarget: function (t, n) { var i = e.option("group"), a = e._getSourceDraggable().option("group"), o = e._getScrollable(t); return !e._verticalScrollHelper.isOutsideScrollable(o, n) && !e._horizontalScrollHelper.isOutsideScrollable(o, n) && (a && a === i) } }; i && (t = this._getArea(), o.default.on(t, F, a, this._pointerDownHandler.bind(this))), ">" === n[0] && (n = n.slice(1)), o.default.on(t, O, n, a, this._dragStartHandler.bind(this)), o.default.on(t, B, a, this._dragMoveHandler.bind(this)), o.default.on(t, M, a, this._dragEndHandler.bind(this)), o.default.on(t, P, a, this._dragEnterHandler.bind(this)), o.default.on(t, R, a, this._dragLeaveHandler.bind(this)) } }, _dragElementIsCloned: function () { return this._$dragElement && this._$dragElement.hasClass(this._addWidgetPrefix("clone")) }, _getDragTemplateArgs: function (e, t) { return { container: (0, p.getPublicElement)(t), model: { itemData: this.option("itemData"), itemElement: (0, p.getPublicElement)(e) } } }, _createDragElement: function (e) { var t = e, n = this.option("clone"), a = this._getContainer(), o = this.option("dragTemplate"); return o ? (o = this._getTemplate(o), t = (0, i.default)("<div>").appendTo(a), o.render(this._getDragTemplateArgs(e, t))) : n && (t = (0, i.default)("<div>").appendTo(a), e.clone().css({ width: e.css("width"), height: e.css("height") }).appendTo(t)), t.toggleClass(this._addWidgetPrefix("clone"), t.get(0) !== e.get(0)).toggleClass("dx-rtl", this.option("rtlEnabled")) }, _resetDragElement: function () { this._dragElementIsCloned() ? this._$dragElement.remove() : this._toggleDraggingClass(!1), this._$dragElement = null }, _resetSourceElement: function () { this._toggleDragSourceClass(!1), this._$sourceElement = null }, _detachEventHandlers: function () { o.default.off(this._$content(), "." + A), o.default.off(this._getArea(), "." + A) }, _move: function (e, t) { (0, l.move)(t || this._$dragElement, e) }, _getDraggableElement: function (e) { var t = this._getSourceElement(); if (t) return t; if (this.option("allowMoveByClick")) return this.$element(); var n = (0, i.default)(e && e.target), a = this._getItemsSelector(); if (">" === a[0]) { var o = this._$content().find(a); o.is(n) || (n = n.closest(o)) } return n }, _getSourceElement: function () { return this._getSourceDraggable()._$sourceElement }, _pointerDownHandler: function (e) { if (!(0, g.needSkipEvent)(e)) { var t = {}, n = this.$element(), i = this.option("dragDirection"); "horizontal" !== i && "both" !== i || (t.left = e.pageX - n.offset().left + (0, l.locate)(n).left - n.width() / 2), "vertical" !== i && "both" !== i || (t.top = e.pageY - n.offset().top + (0, l.locate)(n).top - n.height() / 2), this._move(t, n), this._getAction("onDragMove")(this._getEventArgs(e)) } }, _isValidElement: function (e, t) { var n = this.option("handle"), a = (0, i.default)(e.originalEvent && e.originalEvent.target); return !(n && !a.closest(n).length) && (!!t.length && !t.is(".dx-state-disabled, .dx-state-disabled *")) }, _dragStartHandler: function (e) { var t = this._getDraggableElement(e); if (!this._$sourceElement) if (this._isValidElement(e, t)) { var n = this._getDragStartArgs(e, t); if (this._getAction("onDragStart")(n), n.cancel) e.cancel = !0; else { this.option("itemData", n.itemData), this._setSourceDraggable(), this._$sourceElement = t; var i = t.offset(), a = this._$dragElement = this._createDragElement(t); this._toggleDraggingClass(!0), this._toggleDragSourceClass(!0); var o = "fixed" === a.css("position"); this._initPosition((0, h.extend)({}, n, { dragElement: a.get(0), initialOffset: o && i })); var s = this._getArea(), r = this._getAreaOffset(s), l = this._getBoundOffset(), d = s.outerWidth(), c = s.outerHeight(), u = a.width(), f = a.height(), p = a.offset().left - r.left, g = a.offset().top - r.top; s.length && (e.maxLeftOffset = p - l.left, e.maxRightOffset = d - p - u - l.right, e.maxTopOffset = g - l.top, e.maxBottomOffset = c - g - f - l.bottom), this.option("autoScroll") && this._startAnimator() } } else e.cancel = !0 }, _getAreaOffset: function (e) { var t = e && v.default.offset(e); return t || { left: 0, top: 0 } }, _toggleDraggingClass: function (e) { this._$dragElement && this._$dragElement.toggleClass(this._addWidgetPrefix("dragging"), e) }, _toggleDragSourceClass: function (e, t) { var n = t || this._$sourceElement; n && n.toggleClass(this._addWidgetPrefix("source"), e) }, _getBoundOffset: function () { var e = this.option("boundOffset"); return (0, y.isFunction)(e) && (e = e.call(this)), (0, s.quadToObject)(e) }, _getArea: function () { var e = this.option("boundary"); return (0, y.isFunction)(e) && (e = e.call(this)), (0, i.default)(e) }, _getContainer: function () { var e = this.option("container"); return void 0 === e && (e = (0, x.value)()), (0, i.default)(e) }, _dragMoveHandler: function (e, t) { if (this._dragMoveArgs = e, this._$dragElement) { var n = e.offset, i = this._startPosition; this._move({ left: i.left + n.x, top: i.top + n.y }), t || this._updateScrollable(e); var a = this._getEventArgs(e); if (this._getAction("onDragMove")(a), !0 !== a.cancel) this._getTargetDraggable().dragMove(e, t) } else e.cancel = !0 }, _updateScrollable: function (e) { if (this.option("autoScroll")) { var t = V(e), n = this.getElementsFromPoint(t); this._verticalScrollHelper.updateScrollable(n, t), this._horizontalScrollHelper.updateScrollable(n, t) } }, getElementsFromPoint: function (e, t) { var n = (t || this._$dragElement.get(0)).ownerDocument; if (c.default.msie) { var i = n.msElementsFromPoint(e.x, e.y); return i ? Array.prototype.slice.call(i) : [] } return n.elementsFromPoint(e.x, e.y) }, _getScrollable: function (e) { var t, n = this; return e.parents().toArray().some((function (e) { var a = (0, i.default)(e); if (n._horizontalScrollHelper.isScrollable(a) || n._verticalScrollHelper.isScrollable(a)) return t = a, !0 })), t }, _defaultActionArgs: function () { var e = this.callBase.apply(this, arguments), t = this.option("component"); return t && (e.component = t, e.element = t.element()), e }, _getEventArgs: function (e) { var t = this._getSourceDraggable(), n = this._getTargetDraggable(); return { event: e, itemData: t.option("itemData"), itemElement: (0, p.getPublicElement)(t._$sourceElement), fromComponent: t.option("component") || t, toComponent: n.option("component") || n, fromData: t.option("data"), toData: n.option("data") } }, _getDragStartArgs: function (e, t) { var n = this._getEventArgs(e); return { event: n.event, itemData: n.itemData, itemElement: t, fromData: n.fromData } }, _revertItemToInitialPosition: function () { !this._dragElementIsCloned() && this._move(this._initialLocate, this._$sourceElement) }, _dragEndHandler: function (e) { var t = this, n = new C.Deferred, i = this._getEventArgs(e), a = this._getEventArgs(e), o = this._getTargetDraggable(), s = !0; try { this._getAction("onDragEnd")(i) } finally { (0, C.when)((0, C.fromPromise)(i.cancel)).done((function (e) { if (!e && (o !== t && o._getAction("onDrop")(a), !a.cancel)) return s = !1, void (0, C.when)((0, C.fromPromise)(o.dragEnd(i))).always(n.resolve); n.resolve() })).fail(n.resolve), n.done((function () { s && t._revertItemToInitialPosition(), t.reset(), o.reset(), t._stopAnimator(), t._horizontalScrollHelper.reset(), t._verticalScrollHelper.reset(), t._resetDragElement(), t._resetSourceElement(), t._resetTargetDraggable(), t._resetSourceDraggable() })) } }, _isTargetOverAnotherDraggable: function (e) { var t = this, n = this._getSourceDraggable(); if (this === n) return !1; var a = n._$dragElement, o = n.$element(), s = this.$element(), r = V(e), l = this.getElementsFromPoint(r, e.target).filter((function (e) { var n = (0, i.default)(e); if (n.hasClass(t._addWidgetPrefix())) return !n.closest(a).length }))[0], d = this._getSourceElement(), c = l === o.get(0), u = (0, i.default)(l).closest(d).length; return !l || l === s.get(0) && !c && !u }, _dragEnterHandler: function (e) { this._fireDragEnterEvent(e), this._isTargetOverAnotherDraggable(e) && this._setTargetDraggable(), this._getSourceDraggable().dragEnter(e) }, _dragLeaveHandler: function (e) { this._fireDragLeaveEvent(e), this._resetTargetDraggable(), this !== this._getSourceDraggable() && this.reset(), this._getSourceDraggable().dragLeave(e) }, _getAction: function (e) { return this["_" + e + "Action"] || this._createActionByOption(e) }, _getAnonymousTemplateName: function () { return "content" }, _initTemplates: function () { this.option("contentTemplate") && (this._templateManager.addDefaultTemplates({ content: new b.EmptyTemplate }), this.callBase.apply(this, arguments)) }, _render: function () { this.callBase(), this.$element().addClass(this._addWidgetPrefix()); var e = this._templateManager.anonymousTemplateName === this.option("contentTemplate"), t = this._getTemplateByOption("contentTemplate"); t && (0, i.default)(t.render({ container: this.element(), transclude: e })) }, _optionChanged: function (e) { var t = e.name; switch (t) { case "onDragStart": case "onDragMove": case "onDragEnd": case "onDrop": case "onDragEnter": case "onDragLeave": this["_" + t + "Action"] = this._createActionByOption(t); break; case "dragTemplate": case "contentTemplate": case "container": case "clone": break; case "allowMoveByClick": case "dragDirection": case "disabled": case "boundary": case "filter": case "immediate": this._resetDragElement(), this._detachEventHandlers(), this._attachEventHandlers(); break; case "autoScroll": this._verticalScrollHelper.reset(), this._horizontalScrollHelper.reset(); break; case "scrollSensitivity": case "scrollSpeed": case "boundOffset": case "handle": case "group": case "data": case "itemData": break; default: this.callBase(e) } }, _getTargetDraggable: function () { return E || this }, _getSourceDraggable: function () { return D || this }, _setTargetDraggable: function () { var e = this.option("group"), t = this._getSourceDraggable(); e && e === t.option("group") && (E = this) }, _setSourceDraggable: function () { D = this }, _resetSourceDraggable: function () { D = null }, _resetTargetDraggable: function () { E = null }, _dispose: function () { this.callBase(), this._detachEventHandlers(), this._resetDragElement(), this._resetTargetDraggable(), this._resetSourceDraggable(), this._$sourceElement = null, this._stopAnimator() }, _fireDragEnterEvent: function (e) { var t = this._getEventArgs(e); this._getAction("onDragEnter")(t) }, _fireDragLeaveEvent: function (e) { var t = this._getEventArgs(e); this._getAction("onDragLeave")(t) } }); (0, r.default)(A, H); var z = H; t.default = z, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = h(n(5)), o = n(0), s = n(1), r = n(3), l = n(8), d = h(n(11)), c = h(n(57)), u = n(91); function h(e) { return e && e.__esModule ? e : { default: e } } var f = h(n(153)).default.getSwatchContainer; function p(e, t) { var n; return (0, r.each)(t, (function () { (function (e, t, n) { var a = (0, i.default)(e), o = a.offset(); if (t >= o.left && t <= o.left + a.outerWidth(!0) && n >= o.top && n <= o.top + a.outerHeight(!0)) return !0 })(this, e.pageX, e.pageY) && (n = (0, i.default)(this)) })), n } var g = c.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { onChanged: null, onDragging: null, itemRender: null, groupSelector: null, itemSelector: ".dx-sort-item", itemContainerSelector: ".dx-sortable-old", sourceClass: "dx-drag-source", dragClass: "dx-drag", targetClass: "dx-drag-target", direction: "vertical", allowDragging: !0, groupFilter: null, useIndicator: !1 }) }, _renderItem: function (e, t) { var n, i = this.option("itemRender"); return i ? n = i(e, t) : (n = e.clone()).css({ width: e.width(), height: e.height() }), n }, _renderIndicator: function (e, t, n, i) { var a = e.outerHeight(!0), o = e.outerWidth(!0), s = e.offset().top - n.offset().top, r = e.offset().left - n.offset().left; this._indicator.css({ position: "absolute", top: i && t ? s + a : s, left: i && !t ? r + o : r }).toggleClass("dx-position-indicator-horizontal", !t).toggleClass("dx-position-indicator-vertical", !!t).toggleClass("dx-position-indicator-last", !!i).height("").width("").appendTo(n), t ? this._indicator.width(o) : this._indicator.height(a) }, _renderDraggable: function (e) { this._$draggable && this._$draggable.remove(), this._$draggable = this._renderItem(e, "drag").addClass(this.option("dragClass")).appendTo(f(e)).css({ zIndex: 1e6, position: "absolute" }) }, _detachEventHandlers: function () { var e = [u.move, u.start, u.end, u.enter, u.leave, u.drop].join(" "); a.default.off(this._getEventListener(), (0, l.addNamespace)(e, "dxSortable")) }, _getItemOffset: function (e, t, n) { for (var i = 0; i < t.length; i++) { var a = void 0, s = n.pageY < t[i].posVertical; if (e ? a = s : s && (r = n.pageX, l = t[i], d = this.option("rtlEnabled"), !(a = !(0, o.isDefined)(l.posHorizontal) || (d ? r > l.posHorizontal : r < l.posHorizontal)) && t[i + 1] && t[i + 1].posVertical > t[i].posVertical && (a = !0)), a) return t[i] } var r, l, d }, _getEventListener: function () { var e = this.option("groupSelector"), t = this.$element(); return e ? t.find(e) : t }, _attachEventHandlers: function () { var e, t, n, o, s, d, c, h = this, f = h.option("itemSelector"), g = h.option("itemContainerSelector"), m = h.option("groupSelector"), _ = h.option("sourceClass"), v = h.option("targetClass"), y = h.option("onDragging"), w = h.option("groupFilter"), x = h.$element(), b = null, C = -1, k = function () { b && b.dispose(), b = null }; if (h._detachEventHandlers(), h.option("allowDragging")) { var I = h._getEventListener(); a.default.on(I, (0, l.addNamespace)(u.start, "dxSortable"), f, (function (a) { var o, l, u, p = (e = (0, i.default)(a.currentTarget)).closest(m); d = p.attr("group"), o = (m ? p : x).find(f), l = -1, u = e.get(0), (0, r.each)(o, (function (e, t) { var n = (0, i.default)(t); if (n.attr("item-group") && n.attr("item-group") === o.eq(e - 1).attr("item-group") || l++, t === u) return !1 })), t = l === o.length ? -1 : l, e.attr("item-group") && (e = p.find("[item-group='" + e.attr("item-group") + "']")), h._renderDraggable(e), n = h._renderItem(e, "target").addClass(v), e.addClass(_), s = [], (0, r.each)(e, (function (e, t) { s.push((0, i.default)(t).offset()) })), c = m ? w ? (0, i.default)(m).filter(w) : x.find(m) : x, h._indicator = (0, i.default)("<div>").addClass("dx-position-indicator") })), a.default.on(I, (0, l.addNamespace)(u.move, "dxSortable"), (function (a) { var l, u, m, w; if (e) if (C = -1, h._indicator.detach(), (0, r.each)(h._$draggable, (function (e, t) { (0, i.default)(t).css({ top: s[e].top + a.offset.y, left: s[e].left + a.offset.x }) })), o && o.removeClass(v), (o = p(a, c)) && (w = { sourceGroup: d, sourceIndex: t, sourceElement: e, targetGroup: o.attr("group"), targetIndex: o.find(f).index(n) }, y && y(w), w.cancel && (o = void 0)), o && b && o.get(0) !== b.element().get(0) && k(), b && b.moveIfNeed(a), o) { !b && o.attr("allow-scrolling") && (b = function (e) { var t = null, n = e.scrollTop(), i = e.$element(), a = i.offset().top, o = i.height(), s = 0; function r(e) { n = e.scrollOffset.top } function l() { d(), e.scrollTo(n += s), t = setTimeout(l, 10) } function d() { clearTimeout(t) } return e.on("scroll", r), { moveIfNeed: function (e) { if (e.pageY <= a + 20) s = -2; else { if (!(e.pageY >= a + o - 20)) return s = 0, void d(); s = 2 } l() }, element: function () { return i }, dispose: function () { d(), e.off("scroll", r) } } }(o.dxScrollable("instance"))), o.addClass(v); var x = o.find(g), I = x.find(f), S = o.closest(".dx-sortable-old").data("dxSortableOld"), E = S.option("useIndicator"), D = "vertical" === (S || h).option("direction"), T = function (e, t, n) { for (var i = [], a = [], o = 0; o < e.length; o += a.length)if ((a = e.eq(o)).attr("item-group") && (a = n.find("[item-group='" + a.attr("item-group") + "']")), a.is(":visible")) { var s = { item: a, index: i.length, posHorizontal: t ? void 0 : (a.last().outerWidth(!0) + a.last().offset().left + a.offset().left) / 2 }; s.posVertical = t ? (a.last().offset().top + a.offset().top + a.last().outerHeight(!0)) / 2 : a.last().outerHeight(!0) + a.last().offset().top, i.push(s) } return i }(I, D, x), A = h._getItemOffset(D, T, a); if (A) { if (l = A.item, m = T[A.index - 1] && T[A.index - 1].item, l.hasClass(_) || m && m.hasClass(_) && m.is(":visible")) return void n.detach(); if (C = A.index, !E) return void n.insertBefore(l); var O = o.attr("group") !== d, B = C === t, M = C === t + 1; if (O) return void h._renderIndicator(l, D, o, h.option("rtlEnabled") && !D); B || M || h._renderIndicator(l, D, o, h.option("rtlEnabled") && !D) } else { if ((u = I.last()).is(":visible") && u.hasClass(_)) return; x.length && (C = T.length ? T[T.length - 1].index + 1 : 0), E ? I.length && h._renderIndicator(u, D, o, !h.option("rtlEnabled") || D) : n.appendTo(x) } } else n.detach() })), a.default.on(I, (0, l.addNamespace)(u.end, "dxSortable"), (function () { if (k(), e) { var i = h.option("onChanged"), a = { sourceIndex: t, sourceElement: e, sourceGroup: d, targetIndex: C, removeSourceElement: !0, removeTargetElement: !1, removeSourceClass: !0 }; o && (o.removeClass(v), a.targetGroup = o.attr("group"), (d !== a.targetGroup || C > -1) && (i && i(a), a.removeSourceElement && e.remove())), h._indicator.detach(), a.removeSourceClass && e.removeClass(_), e = null, h._$draggable.remove(), h._$draggable = null, a.removeTargetElement && n.remove(), n.removeClass(v), n = null } })) } }, _init: function () { this.callBase(), this._attachEventHandlers() }, _render: function () { this.callBase(), this.$element().addClass("dx-sortable-old") }, _dispose: function () { var e = this; e.callBase.apply(e, arguments), e._$draggable && e._$draggable.detach(), e._indicator && e._indicator.detach() }, _optionChanged: function (e) { switch (e.name) { case "onDragging": case "onChanged": case "itemRender": case "groupSelector": case "itemSelector": case "itemContainerSelector": case "sourceClass": case "targetClass": case "dragClass": case "allowDragging": case "groupFilter": case "useIndicator": this._attachEventHandlers(); break; case "direction": break; default: this.callBase(e) } }, _useTemplates: function () { return !1 } }); (0, d.default)("dxSortableOld", g); var m = g; t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = k(n(2)), o = k(n(9)), s = k(n(5)), r = k(n(36)), l = k(n(11)), d = n(4), c = n(0), u = n(28), h = n(18), f = n(3), p = n(14), g = n(1), m = n(7), _ = k(n(38)), v = k(n(60)), y = k(n(12)), w = n(8), x = k(n(69)), b = k(n(227)), C = n(6); function k(e) { return e && e.__esModule ? e : { default: e } } function I(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function S(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function E(e, t, n) { return (E = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = O(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function D(e, t) { return (D = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function T(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = O(e); if (t) { var a = O(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return A(this, n) } } function A(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function O(e) { return (O = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var B = ["onShowing", "onShown", "onSubmenuCreated", "onHiding", "onHidden", "onPositioning", "onLeftFirstItem", "onLeftLastItem", "onCloseRootSubmenu", "onExpandLastSubmenu"], M = ["up", "down", "first", "last"], P = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && D(e, t) }(b, e); var t, n, i, l = T(b); function b() { return I(this, b), l.apply(this, arguments) } return t = b, (n = [{ key: "getShowEvent", value: function (e) { var t = null; return (0, c.isObject)(e) ? null !== e.name && (t = e.name || "dxcontextmenu") : t = e, t } }, { key: "getShowDelay", value: function (e) { return (0, c.isObject)(e) && e.delay } }, { key: "_getDefaultOptions", value: function () { return (0, g.extend)(E(O(b.prototype), "_getDefaultOptions", this).call(this), { showEvent: "dxcontextmenu", closeOnOutsideClick: !0, position: { at: "top left", my: "top left" }, onShowing: null, onShown: null, onSubmenuCreated: null, onHiding: null, onHidden: null, onPositioning: null, submenuDirection: "auto", visible: !1, target: void 0, onLeftFirstItem: null, onLeftLastItem: null, onCloseRootSubmenu: null, onExpandLastSubmenu: null }) } }, { key: "_defaultOptionsRules", value: function () { return E(O(b.prototype), "_defaultOptionsRules", this).call(this).concat([{ device: function () { return !(0, m.hasWindow)() }, options: { animation: null } }]) } }, { key: "_initActions", value: function () { var e = this; this._actions = {}, (0, f.each)(B, (function (t, n) { e._actions[n] = e._createActionByOption(n) || d.noop })) } }, { key: "_setOptionsByReference", value: function () { E(O(b.prototype), "_setOptionsByReference", this).call(this), (0, g.extend)(this._optionsByReference, { animation: !0, selectedItem: !0 }) } }, { key: "_focusInHandler", value: function () { } }, { key: "_itemContainer", value: function () { return this._overlay ? this._overlay.$content() : (0, a.default)() } }, { key: "_eventBindingTarget", value: function () { return this._itemContainer() } }, { key: "itemsContainer", value: function () { return this._overlay ? this._overlay.$content() : void 0 } }, { key: "_supportedKeys", value: function () { var e = this; return (0, g.extend)(E(O(b.prototype), "_supportedKeys", this).call(this), { space: function () { var t = (0, a.default)(e.option("focusedElement")); e.hide(), t.length && e._isSelectionEnabled() && e.selectItem(t[0]) }, escape: this.hide }) } }, { key: "_getActiveItem", value: function () { var e = this._getAvailableItems(), t = e.filter(".".concat("dx-state-focused")), n = e.filter(".".concat("dx-state-hover")); return n.closest(".".concat("dx-menu-items-container")).find(".".concat("dx-menu-item")).index(t) >= 0 ? t : n.length ? n : E(O(b.prototype), "_getActiveItem", this).call(this) } }, { key: "_moveFocus", value: function (e) { var t, n = this._getItemsByLocation(e), i = this._getActiveItem(!0), o = this.itemsContainer().find(".".concat("dx-state-hover")), s = !(!(0, a.default)(this.option("focusedElement")).length && !o.length); switch (e) { case "up": t = s ? this._prevItem(n) : i, this._setFocusedElement(t), i.is(n.first()) && this._actions.onLeftFirstItem(i); break; case "down": t = s ? this._nextItem(n) : i, this._setFocusedElement(t), i.is(n.last()) && this._actions.onLeftLastItem(i); break; case "right": t = this.option("rtlEnabled") ? this._hideSubmenuHandler() : this._expandSubmenuHandler(n, e), this._setFocusedElement(t); break; case "left": t = this.option("rtlEnabled") ? this._expandSubmenuHandler(n, e) : this._hideSubmenuHandler(), this._setFocusedElement(t); break; case "first": t = n.first(), this._setFocusedElement(t); break; case "last": t = n.last(), this._setFocusedElement(t); break; default: return E(O(b.prototype), "_moveFocus", this).call(this, e) } } }, { key: "_setFocusedElement", value: function (e) { e && 0 !== e.length && this.option("focusedElement", (0, h.getPublicElement)(e)) } }, { key: "_getItemsByLocation", value: function (e) { var t, n = this._getActiveItem(!0); return (0, p.inArray)(e, M) >= 0 && (t = n.closest(".".concat("dx-menu-items-container")).children().children()), t = this._getAvailableItems(t) } }, { key: "_getAriaTarget", value: function () { return this.$element() } }, { key: "_refreshActiveDescendant", value: function () { if ((0, c.isDefined)(this._overlay)) { var e = this._overlay.$content(); E(O(b.prototype), "_refreshActiveDescendant", this).call(this, e) } } }, { key: "_hideSubmenuHandler", value: function () { var e = this._getActiveItem(!0), t = e.parents(".".concat("dx-menu-item-expanded")).first(); return t.length ? (this._hideSubmenusOnSameLevel(t), this._hideSubmenu(e.closest(".".concat("dx-submenu"))), t) : (this._actions.onCloseRootSubmenu(e), e) } }, { key: "_expandSubmenuHandler", value: function (e, t) { var n = this._getActiveItem(!0), i = this._getItemData(n), a = this._dataAdapter.getNodeByItem(i), o = this._hasSubmenu(a), s = n.children(".".concat("dx-submenu")); if (o && !n.hasClass("dx-state-disabled")) return s.length && "hidden" !== s.css("visibility") || this._showSubmenu(n), this._nextItem(this._getItemsByLocation(t)); this._actions.onExpandLastSubmenu(n) } }, { key: "_clean", value: function () { this._overlay && (this._overlay.$element().remove(), this._overlay = null), this._detachShowContextMenuEvents(this._getTarget()), E(O(b.prototype), "_clean", this).call(this) } }, { key: "_initMarkup", value: function () { this.$element().addClass("dx-has-context-menu"), E(O(b.prototype), "_initMarkup", this).call(this) } }, { key: "_render", value: function () { E(O(b.prototype), "_render", this).call(this), this._renderVisibility(this.option("visible")), this._addWidgetClass() } }, { key: "_renderContentImpl", value: function () { this._detachShowContextMenuEvents(this._getTarget()), this._attachShowContextMenuEvents() } }, { key: "_attachKeyboardEvents", value: function () { !this._keyboardListenerId && this._focusTarget().length && E(O(b.prototype), "_attachKeyboardEvents", this).call(this) } }, { key: "_renderContextMenuOverlay", value: function () { if (!this._overlay) { var e = this._getOverlayOptions(); this._overlay = this._createComponent((0, a.default)("<div>").appendTo(this._$element), x.default, e); var t = this._overlay.$content(); t.addClass("dx-context-menu"), this._addCustomCssClass(t), this._addPlatformDependentClass(t), this._attachContextMenuEvent() } } }, { key: "_itemContextMenuHandler", value: function (e) { E(O(b.prototype), "_itemContextMenuHandler", this).call(this, e), e.stopPropagation() } }, { key: "_addPlatformDependentClass", value: function (e) { y.default.current().phone && e.addClass("dx-menu-phone-overlay") } }, { key: "_detachShowContextMenuEvents", value: function (e) { var t = this.getShowEvent(this.option("showEvent")); if (t) { var n = (0, w.addNamespace)(t, this.NAME); this._showContextMenuEventHandler ? s.default.off(o.default.getDocument(), n, e, this._showContextMenuEventHandler) : s.default.off((0, a.default)(e), n) } } }, { key: "_attachShowContextMenuEvents", value: function () { var e = this, t = this._getTarget(), n = this.getShowEvent(this.option("showEvent")); if (n) { var i = (0, w.addNamespace)(n, this.NAME), r = this._createAction((function (t) { var n = e.getShowDelay(e.option("showEvent")); n ? setTimeout((function () { return e._show(t.event) }), n) : e._show(t.event) }), { validatingTargetName: "target" }), l = function (e) { return r({ event: e, target: (0, a.default)(e.currentTarget) }) }; r = this._createAction(r), (0, c.isRenderer)(t) || t.nodeType || (0, c.isWindow)(t) ? (this._showContextMenuEventHandler = void 0, s.default.on(t, i, l)) : (this._showContextMenuEventHandler = l, s.default.on(o.default.getDocument(), i, t, this._showContextMenuEventHandler)) } } }, { key: "_hoverEndHandler", value: function (e) { E(O(b.prototype), "_hoverEndHandler", this).call(this, e), e.stopPropagation() } }, { key: "_renderDimensions", value: function () { } }, { key: "_renderContainer", value: function (e, t) { var n = t || this._itemContainer(); (e = (0, a.default)("<div>")).appendTo(n).addClass("dx-submenu").css("visibility", t ? "hidden" : "visible"); var i = E(O(b.prototype), "_renderContainer", this).call(this, e); return t ? i : this.option("width") ? i.css("minWidth", this.option("width")) : this.option("height") ? i.css("minHeight", this.option("height")) : i } }, { key: "_renderSubmenuItems", value: function (e, t) { this._renderItems(this._getChildNodes(e), t), this._actions.onSubmenuCreated({ itemElement: (0, h.getPublicElement)(t), itemData: e.internalFields.item, submenuElement: (0, h.getPublicElement)(t.children(".".concat("dx-submenu"))) }) } }, { key: "_getOverlayOptions", value: function () { var e = this.option("position"); return { focusStateEnabled: this.option("focusStateEnabled"), animation: this.option("animation"), innerOverlay: !0, closeOnOutsideClick: this._closeOnOutsideClickHandler.bind(this), propagateOutsideClick: !0, closeOnTargetScroll: !0, deferRendering: !1, position: { at: e.at, my: e.my, of: this._getTarget(), collision: "flipfit" }, shading: !1, showTitle: !1, height: "auto", width: "auto", onShown: this._overlayShownActionHandler.bind(this), onHiding: this._overlayHidingActionHandler.bind(this), onHidden: this._overlayHiddenActionHandler.bind(this) } } }, { key: "_overlayShownActionHandler", value: function (e) { this._actions.onShown(e) } }, { key: "_overlayHidingActionHandler", value: function (e) { this._actions.onHiding(e), e.cancel || (this._hideAllShownSubmenus(), this._setOptionWithoutOptionChange("visible", !1)) } }, { key: "_overlayHiddenActionHandler", value: function (e) { this._actions.onHidden(e) } }, { key: "_closeOnOutsideClickHandler", value: function (e) { var t = this.option("closeOnOutsideClick"); if ((0, c.isFunction)(t)) return t(e); if (!t) return !1; if (o.default.isDocument(e.target)) return !0; var n = this._getActiveItemsContainer(e.target), i = this._getItemsContainers(), a = this._searchActiveItem(e.target), s = this.$element().parents(".".concat("dx-menu-item")), r = a[0] === s[0] && a.length && s.length; return !(this._isIncludeOverlay(n, i) && a.length) && !r || ("onClick" === this._getShowSubmenuMode() && this._hideAllShownChildSubmenus(a), !1) } }, { key: "_getActiveItemsContainer", value: function (e) { return (0, a.default)(e).closest(".".concat("dx-menu-items-container")) } }, { key: "_getItemsContainers", value: function () { return this._overlay._$content.find(".".concat("dx-menu-items-container")) } }, { key: "_searchActiveItem", value: function (e) { return (0, a.default)(e).closest(".".concat("dx-menu-item")).eq(0) } }, { key: "_isIncludeOverlay", value: function (e, t) { var n = !1; return (0, f.each)(t, (function (t, i) { e.is(i) && !n && (n = !0) })), n } }, { key: "_hideAllShownChildSubmenus", value: function (e) { var t = this, n = e.find(".".concat("dx-submenu")), i = (0, g.extend)([], this._shownSubmenus); n.length > 0 && (0, f.each)(i, (function (n, i) { var a = t._searchActiveItem(i.context).parent(); a.parent().is(e.parent().parent()) && !a.is(e.parent()) && t._hideSubmenu(i) })) } }, { key: "_showSubmenu", value: function (e) { var t = this._dataAdapter.getNodeByItem(this._getItemData(e)); if (this._hideSubmenusOnSameLevel(e), this._hasSubmenu(t)) { var n = e.children(".".concat("dx-submenu")), i = n.length; E(O(b.prototype), "_showSubmenu", this).call(this, e), i || this._renderSubmenuItems(t, e), this._isSubmenuVisible(n) || this._drawSubmenu(e) } } }, { key: "_hideSubmenusOnSameLevel", value: function (e) { var t = e.parent(".".concat("dx-menu-item-wrapper")).siblings().find(".".concat("dx-menu-item-expanded")); t.length && (t.removeClass("dx-menu-item-expanded"), this._hideSubmenu(t.find(".".concat("dx-submenu")))) } }, { key: "_hideSubmenuGroup", value: function (e) { this._isSubmenuVisible(e) && this._hideSubmenuCore(e) } }, { key: "_isSubmenuVisible", value: function (e) { return "visible" === e.css("visibility") } }, { key: "_drawSubmenu", value: function (e) { var t = this.option("animation") ? this.option("animation").show : {}, n = e.children(".".concat("dx-submenu")), i = this._getSubmenuPosition(e); this._overlay && this._overlay.option("visible") && ((0, c.isDefined)(this._shownSubmenus) || (this._shownSubmenus = []), (0, p.inArray)(n, this._shownSubmenus) && this._shownSubmenus.push(n), t && _.default.stop(n), v.default.setup(n, i), t && ((0, c.isPlainObject)(t.to) && (t.to.position = i), this._animate(n, t)), n.css("visibility", "visible")) } }, { key: "_animate", value: function (e, t) { _.default.animate(e, t) } }, { key: "_getSubmenuPosition", value: function (e) { var t = this.option("submenuDirection").toLowerCase(), n = { collision: "flip", of: e.parent(".".concat("dx-menu-item-wrapper")), offset: { h: 0, v: -1 } }; switch (t) { case "left": n.at = "left top", n.my = "right top"; break; case "right": n.at = "right top", n.my = "left top"; break; default: this.option("rtlEnabled") ? (n.at = "left top", n.my = "right top") : (n.at = "right top", n.my = "left top") }return n } }, { key: "_updateSubmenuVisibilityOnClick", value: function (e) { if (e.args.length) { var t = e.args[0].itemData, n = this._dataAdapter.getNodeByItem(t); if (n) { var i = (0, a.default)(e.args[0].itemElement), o = i.find(".".concat("dx-submenu")); if (this._hasSubmenu(n) && !o.length && (this._renderSubmenuItems(n, i), o = i.find(".".concat("dx-submenu"))), i.context !== o.context || "visible" !== o.css("visibility")) { var s = t && !1 === t.closeMenuOnClick; if (t && !t.disabled && !s) if (this._updateSelectedItemOnClick(e), 0 === o.length) { var r = (0, a.default)(i.parents(".".concat("dx-submenu"))[0]); this._hideSubmenu(r), !e.canceled && this._overlay && this._overlay.option("visible") && this.option("visible", !1) } else this._shownSubmenus && this._shownSubmenus.length > 0 && this._shownSubmenus[0].is(o) && this._hideSubmenu(o), this._showSubmenu(i) } } } } }, { key: "_hideSubmenu", value: function (e) { var t = this, n = (0, g.extend)([], this._shownSubmenus); (0, f.each)(n, (function (n, i) { (e.is(i) || (0, u.contains)(e[0], i[0])) && (i.parent().removeClass("dx-menu-item-expanded"), t._hideSubmenuCore(i)) })) } }, { key: "_hideSubmenuCore", value: function (e) { var t = (0, p.inArray)(e, this._shownSubmenus), n = this.option("animation") ? this.option("animation").hide : null; t >= 0 && this._shownSubmenus.splice(t, 1), this._stopAnimate(e), n && this._animate(e, n), e.css("visibility", "hidden") } }, { key: "_stopAnimate", value: function (e) { _.default.stop(e, !0) } }, { key: "_hideAllShownSubmenus", value: function () { var e = this, t = (0, g.extend)([], this._shownSubmenus); this._overlay.$content().find(".".concat("dx-menu-item-expanded")).removeClass("dx-menu-item-expanded"), (0, f.each)(t, (function (t, n) { e._hideSubmenu(n) })) } }, { key: "_visibilityChanged", value: function (e) { e && this._renderContentImpl() } }, { key: "_optionChanged", value: function (e) { if ((0, p.inArray)(e.name, B) > -1) this._initActions(); else switch (e.name) { case "visible": this._renderVisibility(e.value); break; case "showEvent": case "position": case "submenuDirection": this._invalidate(); break; case "target": e.previousValue && this._detachShowContextMenuEvents(e.previousValue), this._invalidate(); break; case "closeOnOutsideClick": break; default: E(O(b.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_renderVisibility", value: function (e) { return e ? this._show() : this._hide() } }, { key: "_toggleVisibility", value: function () { } }, { key: "_show", value: function (e) { var t = { jQEvent: e }, n = (new C.Deferred).reject().promise(); if (this._actions.onShowing(t), t.cancel) return n; var i = this._positionContextMenu(e); return i && (this._overlay || (this._renderContextMenuOverlay(), this._overlay.$content().addClass(this._widgetClass()), this._renderFocusState(), this._attachHoverEvents(), this._attachClickEvent(), this._renderItems(this._dataAdapter.getRootNodes())), this._setOptionWithoutOptionChange("visible", !0), this._overlay.option("position", i), n = this._overlay.show(), e && e.stopPropagation(), this._setAriaAttributes()), n } }, { key: "_setAriaAttributes", value: function () { this._overlayContentId = "dx-".concat(new r.default), this.setAria("owns", this._overlayContentId), this.setAria({ id: this._overlayContentId, role: "menu" }, this._overlay.$content()) } }, { key: "_cleanAriaAttributes", value: function () { this._overlay && this.setAria("id", null, this._overlay.$content()), this.setAria("owns", void 0) } }, { key: "_getTarget", value: function () { return this.option("target") || this.option("position").of || (0, a.default)(o.default.getDocument()) } }, { key: "_getContextMenuPosition", value: function () { return (0, g.extend)({}, this.option("position"), { of: this._getTarget() }) } }, { key: "_positionContextMenu", value: function (e) { var t = this._getContextMenuPosition(), n = this._isInitialOptionValue("position"), i = this._createActionByOption("onPositioning", a); e && e.preventDefault && n && (t.of = e); var a = { position: t, event: e }; return i(a), a.cancel ? t = null : a.event && (a.event.cancel = !0, e.preventDefault()), t } }, { key: "_refresh", value: function () { if ((0, m.hasWindow)()) if (this._overlay) { var e = this._overlay.option("position"); E(O(b.prototype), "_refresh", this).call(this), this._overlay && this._overlay.option("position", e) } else E(O(b.prototype), "_refresh", this).call(this); else E(O(b.prototype), "_refresh", this).call(this) } }, { key: "_hide", value: function () { var e; return this._overlay && (e = this._overlay.hide(), this._setOptionWithoutOptionChange("visible", !1)), this._cleanAriaAttributes(), this.option("focusedElement", null), e || (new C.Deferred).reject().promise() } }, { key: "toggle", value: function (e) { var t = this.option("visible"); return e = void 0 === e ? !t : e, this._renderVisibility(e) } }, { key: "show", value: function () { return this.toggle(!0) } }, { key: "hide", value: function () { return this.toggle(!1) } }]) && S(t.prototype, n), i && S(t, i), b }(b.default); (0, l.default)("dxContextMenu", P); var R = P; t.default = R, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(2)), a = n(3); function o(e) { return e && e.__esModule ? e : { default: e } } function s(e) { return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function r(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function l(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function d(e, t) { return (d = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function c(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = h(e); if (t) { var a = h(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return u(this, n) } } function u(e, t) { return !t || "object" !== s(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function h(e) { return (h = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var f = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && d(e, t) }(h, e); var t, n, o, u = c(h); function h() { return r(this, h), u.apply(this, arguments) } return t = h, (n = [{ key: "_getPlainItems", value: function () { return (0, a.map)(this._collectionWidget.option("items"), (function e(t) { return t.items ? [t].concat((0, a.map)(t.items, e)) : t })) } }, { key: "_stringifyItem", value: function (e) { var t = this; return JSON.stringify(e, (function (e, n) { return "template" === e ? t._getTemplateString(n) : n })) } }, { key: "_getTemplateString", value: function (e) { return "object" === s(e) ? (0, i.default)(e).text() : e.toString() } }]) && l(t.prototype, n), o && l(t, o), h }(o(n(156)).default); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.DataProvider = t.ExportMixin = void 0; var i = f(n(13)), a = n(0), o = n(1), s = n(3), r = n(7), l = f(n(104)), d = f(n(40)), c = n(139), u = f(n(377)), h = n(6); function f(e) { return e && e.__esModule ? e : { default: e } } var p = (0, o.extend)({}, u.default, { exportToExcel: function () { (0, c.export)(this.getDataProvider(), { fileName: this.option("export.fileName"), proxyUrl: this.option("export.proxyUrl"), format: "EXCEL", rtlEnabled: this.option("rtlEnabled"), ignoreErrors: this.option("export.ignoreExcelErrors"), exportingAction: this._actions.onExporting, exportedAction: this._actions.onExported, fileSavingAction: this._actions.onFileSaving }, c.excel.getData) }, _getLength: function (e) { var t, n = e[0].length, i = 0; for (t = 0; t < n; t++)i += e[0][t].colspan || 1; return i }, _correctCellsInfoItemLengths: function (e, t) { for (var n = 0; n < e.length; n++)for (; e[n].length < t;)e[n].push({}); return e }, _calculateCellInfoItemLength: function (e) { for (var t = 0, n = 0; n < e.length; n++)t += (0, a.isDefined)(e[n].colspan) ? e[n].colspan : 1; return t }, _getAllItems: function (e, t, n) { var i, s, r = n, l = this._getLength(t), d = e.length; if (e.length > 0 && e[0].length > 0 && n.length > 0 && 0 === n[0].length) { var c = this._calculateCellInfoItemLength(e[0]); c > 0 && (r = this._correctCellsInfoItemLengths(n, c)) } var u = e.concat(r); for (s = 0; s < t.length; s++)for (i = t[s].length - 1; i >= 0; i--)(0, a.isDefined)(u[s + d]) || (u[s + d] = []), u[s + d].splice(0, 0, (0, o.extend)({}, t[s][i])); return u[0].splice(0, 0, (0, o.extend)({}, this._getEmptyCell(), { alignment: this._options.rtlEnabled ? "right" : "left", colspan: l, rowspan: d })), this._prepareItems(u) }, getDataProvider: function () { var e = this, t = this._dataController, n = new h.Deferred; return t.beginLoading(), setTimeout((function () { var i = (0, o.extend)(!0, [], t.getColumnsInfo(!0)), a = (0, o.extend)(!0, [], t.getRowsInfo(!0)), s = t.getCellsInfo(!0); n.resolve(e._getAllItems(i, a, s)), t.endLoading() })), new m({ items: n, rtlEnabled: this.option("rtlEnabled"), dataFields: this.getDataSource().getAreaFields("data"), customizeExcelCell: this.option("export.customizeExcelCell"), rowsArea: this._rowsArea, columnsArea: this._columnsArea }) } }); function g(e) { if (e && e.customizeText) return "string"; if (e.dataType) return e.dataType; if (e.format) { if (1 === d.default.parse(l.default.format(1, e.format))) return "number"; if (l.default.format(new Date, e.format)) return "date" } return "string" } t.ExportMixin = p; var m = i.default.inherit({ ctor: function (e) { this._options = e, this._styles = [] }, ready: function () { var e = this, t = e._options, n = t.dataFields; return (0, h.when)(t.items).done((function (i) { var a = i[i[0][0].rowspan - 1], r = { alignment: t.rtlEnabled ? "left" : "right" }; e._styles = [{ alignment: "center", dataType: "string" }, { alignment: t.rtlEnabled ? "right" : "left", dataType: "string" }], n.length ? n.forEach((function (t) { e._styles.push((0, o.extend)({}, r, { format: t.format, dataType: g(t) })) })) : e._styles.push(r), (0, s.each)(a, (function (e, t) { t.width = 100 })), t.columns = a, t.items = i })) }, getColumns: function () { return this._options.columns }, getColumnsWidths: function () { var e = this._options.columnsArea, t = this._options.rowsArea, n = this._options.columns; return !(0, r.hasWindow)() || "virtual" === e.option("scrolling.mode") || e.element().is(":hidden") ? n.map((function (e) { return 100 })) : t.getColumnsWidth().concat(e.getColumnsWidth()) }, getRowsCount: function () { return this._options.items.length }, getGroupLevel: function () { return 0 }, getCellMerging: function (e, t) { var n = this._options.items, i = n[e] && n[e][t]; return i ? { colspan: i.colspan - 1, rowspan: i.rowspan - 1 } : { colspan: 0, rowspan: 0 } }, getFrozenArea: function () { var e = this._options.items; return { x: e[0][0].colspan, y: e[0][0].rowspan } }, getCellType: function (e, t) { var n = this._styles[this.getStyleId(e, t)]; return n && n.dataType || "string" }, getCellData: function (e, t, n) { var i = {}, a = this._options.items, o = a[e] && a[e][t] || {}; if (n) { i.cellSourceData = o; var s = this._tryGetAreaName(a, o, e, t); s && (i.cellSourceData.area = s), i.cellSourceData.rowIndex = e, i.cellSourceData.columnIndex = t } return "string" === this.getCellType(e, t) ? i.value = o.text : i.value = o.value, i.cellSourceData && i.cellSourceData.isWhiteSpace && (i.value = ""), i }, _tryGetAreaName: function (e, t, n, i) { var o = e[0][0].rowspan, s = e[0][0].colspan; return i >= s && n < o ? "column" : n >= o && i < s ? "row" : (0, a.isDefined)(t.dataIndex) ? "data" : void 0 }, getStyles: function () { return this._styles }, getStyleId: function (e, t) { var n = this._options.items, i = n[0][0].rowspan, a = n[0][0].colspan, o = n[e] && n[e][t] || {}; return 0 === t && 0 === e ? 0 : t >= a && e < i ? 0 : e >= i && t < a ? 1 : 2 + (o.dataIndex || 0) }, hasCustomizeExcelCell: function () { return (0, a.isDefined)(this._options.customizeExcelCell) }, customizeExcelCell: function (e) { this._options.customizeExcelCell && this._options.customizeExcelCell(e) } }); t.DataProvider = m }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = { _getEmptyCell: function () { return { text: "", value: void 0, colspan: 1, rowspan: 1 } }, _defaultSetter: function (e) { return e || 1 }, _cloneItem: function (e) { return (0, i.extend)({}, e, this._getEmptyCell()) }, _prepareItems: function (e) { var t = this, n = [], i = (e[0] || []).reduce((function (e, n) { return e + t._defaultSetter(n.colspan) }), 0), a = function (e) { var n = 0, i = 0; return function () { var a = e[n] || [], o = a[i++]; return i >= a.length && (n++, i = 0), o && (o.colspan = t._defaultSetter(o.colspan), o.rowspan = t._defaultSetter(o.rowspan)), o } }(e); function o(e, i, a) { if ((n[e] = n[e] || [])[i] = a, a.colspan > 1 || a.rowspan > 1) { for (var s = t._cloneItem(a), r = 1; r < a.colspan; r++)o(e, i + r, s); for (var l = 1; l < a.rowspan; l++)for (var d = 0; d < a.colspan; d++)o(e + l, i + d, s) } } for (var s = a(), r = 0; s;) { for (var l = 0; l < i && s; l++)n[r] && n[r][l] || (o(r, l, s), l += s.colspan - 1, s = a()); r++ } return n } }; t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(1), s = n(46), r = n(3); var l = { number: "numeric", date: "datetime" }, d = "dxPivotGridUnbinding"; function c(e, t) { var n = [], i = t.length - 1; return (0, r.each)(e, (function (e, a) { n.push(a.text || (0, s.formatValue)(a.value, t[i - e])) })), n.reverse() } function u(e) { var t = 0; return (0, s.foreachTree)(e, (function (e) { t = Math.max(t, e.length - 1) })), t } function h(e, t, n) { var i, a, l, d, h, f, p, g, m, _, v = e.getData(), y = [], w = e.getAreaFields("data"), x = e.getAreaFields("row"), b = e.getAreaFields("column"), C = [{ index: v.grandTotalColumnIndex, children: v.columns }], k = [{ index: v.grandTotalRowIndex, children: v.rows }], I = u(k), S = u(C); function E() { var e, s = (v.values[l] || [])[p] || [], r = s[i], c = { rowPath: f, maxRowLevel: I, rowPathFormatted: h, rowFields: x, columnPathFormatted: _, maxColumnLevel: S, columnPath: m, columnFields: b, dataFields: w, dataIndex: i, dataValues: s, visible: g && d }, u = (t.inverted ? _ : h).join(" - "), C = (t.inverted ? h : _).join("/"); w.length > 1 && ("args" !== t.putDataFieldsInto && "both" !== t.putDataFieldsInto || (C += " | " + a.caption), "args" !== t.putDataFieldsInto && (u += " | " + a.caption, "singleAxis" !== t.dataFieldsDisplayMode && (e = a.caption))), c.chartDataItem = { val: void 0 === r ? null : r, series: u, arg: C }, (c = function (e, t) { var n = e.chartDataItem, i = t && t(e); return i ? (n = (0, o.extend)({}, n, i.chartDataItem), i = (0, o.extend)({}, e, i, { chartDataItem: n })) : e }(c, t.processCell)).visible && (n[c.chartDataItem.series] = n[c.chartDataItem.series] || e, y.push(c.chartDataItem)) } function D(e) { (0, s.foreachTree)(k, (function (n) { l = n[0].index, n = n.slice(0, n.length - 1), d = I === n.length, f = (0, s.createPath)(n), h = c(n, x), 0 === f.length && (h = [t.grandTotalText]), (0, s.foreachTree)(C, (function (n) { p = n[0].index, n = n.slice(0, n.length - 1), g = S === n.length, m = (0, s.createPath)(n), _ = c(n, b), 0 === m.length && (_ = [t.grandTotalText]), e() })) })) } function T(e) { (0, r.each)(w, (function (t, n) { a = n, i = t, e() })) } return !1 === t.alternateDataFields ? T((function () { D(E) })) : D((function () { T(E) })), y } function f(e, t) { var n = e.getAreaFields("data"); if ("args" !== t.putDataFieldsInto && "singleAxis" !== t.dataFieldsDisplayMode || 1 === n.length) { var i = []; return (0, r.each)(n, (function (e, n) { var a = { name: n.caption, title: n.caption, valueType: l[n.dataType] || n.dataType, label: { format: n.format } }; n.customizeText && (a.label.customizeText = function (e) { return n.customizeText.call(n, e) }), "splitPanes" === t.dataFieldsDisplayMode && (a.pane = n.caption), i.push(a) })), i } return [{}] } function p(e, t) { var n = [], i = e.getAreaFields("data"); return i.length > 1 && "splitPanes" === t.dataFieldsDisplayMode && "args" !== t.putDataFieldsInto && (0, r.each)(i, (function (e, t) { n.push({ name: t.caption }) })), n.length || n.push({}), n } var g = { bindChart: function (e, t) { t = (0, o.extend)({}, t); var n = this, i = function () { t.grandTotalText = n.option("texts.grandTotal"); var i = function (e, t) { var n = t.customizeSeries, i = t.customizeChart, a = { valueAxis: f(e, t), panes: p(e, t) }, s = {}; return i && (a = (0, o.extend)(!0, {}, a, i(a))), a.dataSource = h(e, t, s), a.seriesTemplate = { nameField: "series", customizeSeries: function (e) { var i = {}; return "splitPanes" === t.dataFieldsDisplayMode ? i.pane = s[e] : "singleAxis" !== t.dataFieldsDisplayMode && (i.axis = s[e]), n && (i = (0, o.extend)(i, n(e, i))), i } }, a }(n.getDataSource(), t); e.option(i) }; if (!(e = function (e) { if (!e) return !1; if (e.NAME) return "dxChart" === e.NAME && e; var t = (0, a.default)(e); return t.data("dxChart") && t.dxChart("instance") }(e))) return null; !function (e) { var t = e.$element().data(d); t && t() }(e), n.on("changed", i), i(); var s = function () { e.$element().removeData(d), n.off("changed", i) }; return e.on("disposing", s), this.on("disposing", s), e.$element().data(d, s), s } }; t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(226)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(204).XmlaStore; t.default = i, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(382)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = x(n(2)), o = n(0), s = x(n(29)), r = x(n(11)), l = n(20), d = n(383), c = n(387), u = x(n(391)), h = n(1), f = n(25), p = n(7), g = x(n(508)), m = x(n(509)), _ = n(510), v = x(n(152)), y = n(18), w = n(514); function x(e) { return e && e.__esModule ? e : { default: e } } function b(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function C(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function k(e, t, n) { return (k = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = D(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function I(e, t) { return (I = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function S(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = D(e); if (t) { var a = D(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return E(this, n) } } function E(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function D(e) { return (D = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var T = /(\w*)Expr/, A = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && I(e, t) }(r, e); var t, n, i, s = S(r); function r() { return b(this, r), s.apply(this, arguments) } return t = r, (n = [{ key: "_init", value: function () { k(D(r.prototype), "_init", this).call(this), this._cache = new w.GanttDataCache } }, { key: "_initMarkup", value: function () { k(D(r.prototype), "_initMarkup", this).call(this), this.$element().addClass("dx-gantt"), this._$toolbarWrapper = (0, a.default)("<div>").addClass("dx-gantt-toolbar-wrapper").appendTo(this.$element()), this._$toolbar = (0, a.default)("<div>").appendTo(this._$toolbarWrapper), this._$mainWrapper = (0, a.default)("<div>").addClass("dx-gantt-main-wrapper").appendTo(this.$element()), this._$treeListWrapper = (0, a.default)("<div>").addClass("dx-gantt-treelist-wrapper").appendTo(this._$mainWrapper), this._$treeList = (0, a.default)("<div>").appendTo(this._$treeListWrapper), this._$splitter = (0, a.default)("<div>").appendTo(this._$mainWrapper), this._$ganttView = (0, a.default)("<div>").addClass("dx-gantt-view").appendTo(this._$mainWrapper), this._$dialog = (0, a.default)("<div>").appendTo(this.$element()), this._$loadPanel = (0, a.default)("<div>").appendTo(this.$element()), this._$contextMenu = (0, a.default)("<div>").appendTo(this.$element()), this._refreshDataSource("tasks"), this._refreshDataSource("dependencies"), this._refreshDataSource("resources"), this._refreshDataSource("resourceAssignments") } }, { key: "_renderContent", value: function () { this._renderBars(), this._renderTreeList(), this._renderSplitter() } }, { key: "_renderTreeList", value: function () { var e = this, t = this.option("tasks"), n = t.keyExpr, i = t.parentIdExpr; this._treeList = this._createComponent(this._$treeList, u.default, { dataSource: this._tasksRaw, keyExpr: n, parentIdExpr: i, columns: this._getTreeListColumns(), columnResizingMode: "nextColumn", height: this._getTreeListHeight(), width: this.option("taskListWidth"), selection: { mode: this._getSelectionMode(this.option("allowSelection")) }, selectedRowKeys: this._getArrayFromOneElement(this.option("selectedRowKey")), sorting: { mode: "none" }, scrolling: { showScrollbar: "onHover", mode: "virtual" }, allowColumnResizing: !0, autoExpandAll: !0, showRowLines: this.option("showRowLines"), rootValue: this.option("rootValue"), onContentReady: function (t) { e._onTreeListContentReady(t) }, onSelectionChanged: function (t) { e._onTreeListSelectionChanged(t) }, onRowCollapsed: function (t) { e._onTreeListRowCollapsed(t) }, onRowExpanded: function (t) { e._onTreeListRowExpanded(t) }, onRowPrepared: function (t) { e._onTreeListRowPrepared(t) }, onContextMenuPreparing: function (t) { e._onTreeListContextMenuPreparing(t) }, onRowClick: function (t) { e._onTreeListRowClick(t) }, onRowDblClick: function (t) { e._onTreeListRowDblClick(t) } }) } }, { key: "_renderSplitter", value: function () { this._splitter = this._createComponent(this._$splitter, m.default, { container: this.$element(), leftElement: this._$treeListWrapper, rightElement: this._$ganttView, onApplyPanelSize: this._onApplyPanelSize.bind(this) }), this._splitter.option("initialLeftPanelWidth", this.option("taskListWidth")) } }, { key: "_renderBars", value: function () { this._bars = [], this._toolbar = new c.GanttToolbar(this._$toolbar, this), this._updateToolbarContent(), this._bars.push(this._toolbar), this._contextMenuBar = new c.GanttContextMenuBar(this._$contextMenu, this), this._updateContextMenu(), this._bars.push(this._contextMenuBar) } }, { key: "_initGanttView", value: function () { var e = this; this._ganttView || (this._ganttView = this._createComponent(this._$ganttView, d.GanttView, { width: "100%", height: this._treeList._$element.get(0).offsetHeight, rowHeight: this._getTreeListRowHeight(), headerHeight: this._getTreeListHeaderHeight(), tasks: this._tasks, dependencies: this._dependencies, resources: this._resources, resourceAssignments: this._resourceAssignments, allowSelection: this.option("allowSelection"), selectedRowKey: this.option("selectedRowKey"), showResources: this.option("showResources"), taskTitlePosition: this.option("taskTitlePosition"), firstDayOfWeek: this.option("firstDayOfWeek"), showRowLines: this.option("showRowLines"), scaleType: this.option("scaleType"), editing: this.option("editing"), validation: this.option("validation"), stripLines: this.option("stripLines"), bars: this._bars, mainElement: this.$element(), onSelectionChanged: this._onGanttViewSelectionChanged.bind(this), onScroll: this._onGanttViewScroll.bind(this), onDialogShowing: this._showDialog.bind(this), onPopupMenuShowing: this._showPopupMenu.bind(this), onExpandAll: this._expandAll.bind(this), onCollapseAll: this._collapseAll.bind(this), modelChangesListener: this._createModelChangesListener(), taskTooltipContentTemplate: this._getTaskTooltipContentTemplateFunc(this.option("taskTooltipContentTemplate")), onTaskClick: function (t) { e._onTreeListRowClick(t) }, onTaskDblClick: function (t) { e._onTreeListRowDblClick(t) } }), this._fireContentReadyAction()) } }, { key: "_onApplyPanelSize", value: function (e) { var t; this._setInnerElementsWidth(e); var n = this._getTreeListRowHeight(); null === (t = this._ganttView) || void 0 === t || t._ganttViewCore.updateRowHeights(n) } }, { key: "_onTreeListContentReady", value: function (e) { e.component.getDataSource() && (this._initGanttView(), this._initScrollSync(e.component)) } }, { key: "_onTreeListRowPrepared", value: function (e) { "data" === e.rowType && e.node.children.length > 0 && (0, a.default)(e.rowElement).addClass("dx-gantt-collapsable-row") } }, { key: "_onTreeListContextMenuPreparing", value: function (e) { var t, n; "data" === (null === (t = e.row) || void 0 === t ? void 0 : t.rowType) && this._setTreeListOption("selectedRowKeys", [e.row.data[this.option("tasks.keyExpr")]]), e.items = []; var i = { cancel: !1, event: e.event, type: "task", key: null === (n = e.row) || void 0 === n ? void 0 : n.key, position: { x: e.event.pageX, y: e.event.pageY } }; this._showPopupMenu(i) } }, { key: "_onTreeListRowClick", value: function (e) { this._raiseTaskClickAction(e.key, e.event) } }, { key: "_onTreeListRowDblClick", value: function (e) { this._raiseTaskDblClickAction(e.key, e.event) && this._ganttView._ganttViewCore.commandManager.showTaskEditDialog.execute() } }, { key: "_onTreeListSelectionChanged", value: function (e) { var t = e.currentSelectedRowKeys[0]; this._setGanttViewOption("selectedRowKey", t), this.option("selectedRowKey", t), this._raiseSelectionChangedAction(t) } }, { key: "_onTreeListRowCollapsed", value: function (e) { this._ganttView.changeTaskExpanded(e.key, !1), this._adjustHeight() } }, { key: "_onTreeListRowExpanded", value: function (e) { this._ganttView.changeTaskExpanded(e.key, !0), this._adjustHeight() } }, { key: "_adjustHeight", value: function () { this._hasHeight || (this._setGanttViewOption("height", 0), this._setGanttViewOption("height", this._treeList._$element.get(0).offsetHeight)) } }, { key: "_getTreeListHeight", value: function () { return this._$treeList.height() ? this._$treeList.height() : (this._hasHeight = (0, o.isDefined)(this.option("height")) && "" !== this.option("height"), this._hasHeight ? "100%" : "") } }, { key: "_getTreeListColumns", value: function () { var e = this.option("columns"); if (e) for (var t = 0; t < e.length; t++) { var n = e[t]; (n.dataField === this.option("".concat("tasks", ".keyExpr")) || n.dataField === this.option("".concat("tasks", ".parentIdExpr"))) && !n.dataType && (n.dataType = "object") } return e } }, { key: "_onGanttViewSelectionChanged", value: function (e) { this._setTreeListOption("selectedRowKeys", this._getArrayFromOneElement(e.id)) } }, { key: "_onGanttViewScroll", value: function (e) { var t = this._treeList.getScrollable(); if (t) { var n = e.scrollTop - t.scrollTop(); 0 !== n && t.scrollBy({ left: 0, top: n }) } } }, { key: "_onTreeListScroll", value: function (e) { var t = this._ganttView.getTaskAreaContainer(); t.scrollTop !== e.component.scrollTop() && (t.scrollTop = e.component.scrollTop()) } }, { key: "_expandAll", value: function () { var e = this; this._treeList.forEachNode((function (t) { t.children && t.children.length && (e._treeList.expandRow(t.key), e._ganttView.changeTaskExpanded(t.key, !0)) })) } }, { key: "_collapseAll", value: function () { var e = this; this._treeList.forEachNode((function (t) { t.children && t.children.length && (e._treeList.collapseRow(t.key), e._ganttView.changeTaskExpanded(t.key, !1)) })) } }, { key: "_initScrollSync", value: function (e) { var t = this, n = e.getScrollable(); n && (n.off("scroll"), n.on("scroll", (function (e) { t._onTreeListScroll(e) }))) } }, { key: "_getTreeListRowHeight", value: function () { var e = this._treeList._$element.find(".dx-data-row"), t = e.length ? (0, f.getBoundingRect)(e.last().get(0)).height : 34; return t || (t = 34), this._correctRowsViewRowHeight(t), t } }, { key: "_correctRowsViewRowHeight", value: function (e) { var t = this._treeList._views && this._treeList._views.rowsView; (null == t ? void 0 : t._rowHeight) !== e && (t._rowHeight = e) } }, { key: "_getTreeListHeaderHeight", value: function () { return (0, f.getBoundingRect)(this._treeList._$element.find(".dx-treelist-headers").get(0)).height } }, { key: "_setInnerElementsWidth", value: function (e) { if ((0, p.hasWindow)()) { e || (e = this._getPanelsWidthByOption()); var t = e.leftPanelWidth, n = e.rightPanelWidth; this._$treeListWrapper.width(t); var i = (0, o.isString)(t) && "%" === t.slice(-1); this._$treeList.width(i ? "100%" : t), this._$ganttView.width(n), this._setGanttViewOption("width", this._$ganttView.width()) } } }, { key: "_getPanelsWidthByOption", value: function () { return { leftPanelWidth: this.option("taskListWidth"), rightPanelWidth: this._$element.width() - this.option("taskListWidth") } } }, { key: "_setGanttViewOption", value: function (e, t) { this._ganttView && this._ganttView.option(e, t) } }, { key: "_setTreeListOption", value: function (e, t) { this._treeList && this._treeList.option(e, t) } }, { key: "_refreshDataSource", value: function (e) { var t = this, n = this["_".concat(e, "Option")]; n && (n._disposeDataSource(), delete this["_".concat(e, "Option")], delete this["_".concat(e)]), this.option("".concat(e, ".dataSource")) && ((n = new g.default(e, this._getLoadPanel(), (function (e, n) { t._dataSourceChanged(e, n) }))).option("dataSource", this._getSpecificDataSourceOption(e)), n._refreshDataSource(), this["_".concat(e, "Option")] = n) } }, { key: "_getSpecificDataSourceOption", value: function (e) { var t = this.option("".concat(e, ".dataSource")); return Array.isArray(t) ? { store: { type: "array", data: t, key: this.option("".concat(e, ".keyExpr")) } } : t } }, { key: "_compileGettersByOption", value: function (e) { var t = {}, n = this.option(e); for (var i in n) { var a = i.match(/(\w*)Expr/); a && (t[a[1]] = (0, l.compileGetter)(n[a[0]])) } return t } }, { key: "_compileSettersByOption", value: function (e) { var t = {}, n = this.option(e); for (var i in n) { var a = i.match(/(\w*)Expr/); a && (t[a[1]] = (0, l.compileSetter)(n[a[0]])) } return t } }, { key: "_getStoreObject", value: function (e, t) { var n = this._compileSettersByOption(e); return Object.keys(n).reduce((function (e, i) { return "key" !== i && n[i](e, t[i]), e }), {}) } }, { key: "_prepareSetterMapHandler", value: function (e) { return function (t) { return Object.keys(e).reduce((function (n, i) { var a = "key" === i ? "id" : i; return e[i](n, t[a]), n }), {}) } } }, { key: "_prepareMapHandler", value: function (e) { return function (t) { return Object.keys(e).reduce((function (n, i) { return n["key" === i ? "id" : i] = e[i](t), n }), {}) } } }, { key: "_dataSourceChanged", value: function (e, t) { var n = this, i = this._compileGettersByOption(e), a = t.map(this._prepareMapHandler(i)); if (this["_".concat(e)] = a, this._setGanttViewOption(e, a), "tasks" === e) { this._tasksRaw = t; var o = t.map((function (e) { return e[n.option("tasks.parentIdExpr")] })).filter((function (e, t, n) { return e && n.indexOf(e) === t })); this._setTreeListOption("expandedRowKeys", o), this._setTreeListOption("dataSource", t) } } }, { key: "_createModelChangesListener", value: function () { var e = this; return { NotifyTaskCreated: function (t, n, i) { e._onRecordInserted("tasks", t, n) }, NotifyTaskRemoved: function (t, n, i) { e._onRecordRemoved("tasks", t, i) }, NotifyTaskTitleChanged: function (t, n, i) { e._onRecordUpdated("tasks", t, "title", n) }, NotifyTaskDescriptionChanged: function (t, n, i) { e._onRecordUpdated("tasks", t, "description", n) }, NotifyTaskStartChanged: function (t, n, i) { e._onRecordUpdated("tasks", t, "start", n) }, NotifyTaskEndChanged: function (t, n, i) { e._onRecordUpdated("tasks", t, "end", n) }, NotifyTaskProgressChanged: function (t, n, i) { e._onRecordUpdated("tasks", t, "progress", n) }, NotifyDependencyInserted: function (t, n, i) { e._onRecordInserted("dependencies", t, n) }, NotifyDependencyRemoved: function (t, n, i) { e._onRecordRemoved("dependencies", t, i) }, NotifyResourceCreated: function (t, n, i) { e._onRecordInserted("resources", t, n) }, NotifyResourceRemoved: function (t, n, i) { e._onRecordRemoved("resources", t, i) }, NotifyResourceAssigned: function (t, n, i) { e._onRecordInserted("resourceAssignments", t, n) }, NotifyResourceUnassigned: function (t, n, i) { e._onRecordRemoved("resourceAssignments", t, i) }, NotifyParentDataRecalculated: function (t) { e._onParentTasksRecalculated(t) }, NotifyTaskCreating: function (t) { e._raiseInsertingAction("tasks", t) }, NotifyTaskRemoving: function (t) { e._raiseDeletingAction("tasks", t) }, NotifyTaskUpdating: function (t) { e._raiseUpdatingAction("tasks", t) }, NotifyTaskMoving: function (t) { e._raiseUpdatingAction("tasks", t, e._getTaskMovingAction()) }, NotifyTaskEditDialogShowing: function (t) { e._raiseTaskEditDialogShowingAction(t) }, NotifyDependencyInserting: function (t) { e._raiseInsertingAction("dependencies", t) }, NotifyDependencyRemoving: function (t) { e._raiseDeletingAction("dependencies", t) }, NotifyResourceCreating: function (t) { e._raiseInsertingAction("resources", t) }, NotifyResourceRemoving: function (t) { e._raiseDeletingAction("resources", t) }, NotifyResourceAssigning: function (t) { e._raiseInsertingAction("resourceAssignments", t) }, NotifyResourceUnassigning: function (t) { e._raiseDeletingAction("resourceAssignments", t) } } } }, { key: "_onRecordInserted", value: function (e, t, n) { var i = this, a = this["_".concat(e, "Option")]; if (a) { var o = this._getStoreObject(e, t); "tasks" === e && this._addCustomFieldsDataFromCache("gantt_new_task_key", o), a.insert(o, (function (a) { var s = (0, l.compileGetter)(i.option("".concat(e, ".keyExpr")))(a); if (n(s), "tasks" === e) { i._updateTreeListDataSource(); var r = t.parentId; if (void 0 !== r) { var d = i._treeList.option("expandedRowKeys"); -1 === d.indexOf(r) && (d.push(r), i._treeList.option("expandedRowKeys", d)) } i._setTreeListOption("selectedRowKeys", i._getArrayFromOneElement(s)), i._setTreeListOption("focusedRowKey", s) } i._raiseInsertedAction(e, o, s) })) } } }, { key: "_onRecordRemoved", value: function (e, t, n) { var i = this, a = this["_".concat(e, "Option")]; a && a.remove(t, (function () { "tasks" === e && i._updateTreeListDataSource(), i._raiseDeletedAction(e, t, i._convertCoreToMappedData(e, n)) })) } }, { key: "_onRecordUpdated", value: function (e, t, n, i) { var a = this, o = this["_".concat(e, "Option")], s = "tasks" === e; if (o) { var r = (0, l.compileSetter)(this.option("".concat(e, ".").concat(n, "Expr"))), d = {}; r(d, i); var c = s && this._cache.hasData(t); c && this._addCustomFieldsDataFromCache(t, d), o.update(t, d, (function () { s && (c && o._refreshDataSource(), a._updateTreeListDataSource()), a._raiseUpdatedAction(e, d, t) })) } } }, { key: "_onParentTasksRecalculated", value: function (e) { var t = this._compileSettersByOption("tasks"), n = this._appendCustomFields(e.map(this._prepareSetterMapHandler(t))); this._setTreeListOption("dataSource", n) } }, { key: "_appendCustomFields", value: function (e) { var t = this._tasksOption && this._tasksOption._getItems(), n = (0, l.compileGetter)(this.option("".concat("tasks", ".keyExpr"))); return e.reduce((function (e, i) { var a = t && t.filter((function (e) { return n(e) === n(i) }))[0]; if (a) { var o = {}; for (var s in a) o[s] = Object.prototype.hasOwnProperty.call(i, s) ? i[s] : a[s]; e.push(o) } else e.push(i); return e }), []) } }, { key: "_updateTreeListDataSource", value: function () { if (!this._skipUpdateTreeListDataSource()) { var e = this.option("tasks.dataSource"), t = this._tasksOption._getStore()._array || e.items && e.items(); this._setTreeListOption("dataSource", t || e) } } }, { key: "_skipUpdateTreeListDataSource", value: function () { return this.option("validation.autoUpdateParentTasks") } }, { key: "_addCustomFieldsDataFromCache", value: function (e, t) { this._cache.pullDataFromCache(e, t) } }, { key: "_saveCustomFieldsDataToCache", value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], a = this._getCustomFieldsData(t); if (Object.keys(a).length > 0) { var o = function (e, t) { var i = n["_".concat("tasks", "Option")]; i && t && i.update(e, t, (function () { n._updateTreeListDataSource(), i._refreshDataSource() })) }; this._cache.saveData(e, a, i ? o : null) } } }, { key: "_getLoadPanel", value: function () { return this._loadPanel || (this._loadPanel = this._createComponent(this._$loadPanel, v.default, { position: { of: this.$element() } })), this._loadPanel } }, { key: "_createSelectionChangedAction", value: function () { this._selectionChangedAction = this._createActionByOption("onSelectionChanged") } }, { key: "_createTaskClickAction", value: function () { this._taskClickAction = this._createActionByOption("onTaskClick") } }, { key: "_createTaskDblClickAction", value: function () { this._taskDblClickAction = this._createActionByOption("onTaskDblClick") } }, { key: "_createCustomCommandAction", value: function () { this._customCommandAction = this._createActionByOption("onCustomCommand") } }, { key: "_createContextMenuPreparingAction", value: function () { this._contextMenuPreparingAction = this._createActionByOption("onContextMenuPreparing") } }, { key: "_raiseSelectionChangedAction", value: function (e) { this._selectionChangedAction || this._createSelectionChangedAction(), this._selectionChangedAction({ selectedRowKey: e }) } }, { key: "_raiseCustomCommand", value: function (e) { this._customCommandAction || this._createCustomCommandAction(), this._customCommandAction({ name: e }) } }, { key: "_raiseContextMenuPreparing", value: function (e) { this._contextMenuPreparingAction || this._createContextMenuPreparingAction(), this._contextMenuPreparingAction(e) } }, { key: "_raiseInsertingAction", value: function (e, t) { var n = this._getInsertingAction(e); if (n) { var i = { cancel: !1, values: this._convertCoreToMappedData(e, t.values) }; n(i), t.cancel = i.cancel, t.values = this._convertMappedToCoreData(e, i.values), "tasks" === e && this._saveCustomFieldsDataToCache("gantt_new_task_key", i.newValues) } } }, { key: "_raiseInsertedAction", value: function (e, t, n) { var i = this._getInsertedAction(e); i && i({ values: t, key: n }) } }, { key: "_raiseDeletingAction", value: function (e, t) { var n = this._getDeletingAction(e); if (n) { var i = { cancel: !1, key: t.key, values: this._convertCoreToMappedData(e, t.values) }; n(i), t.cancel = i.cancel } } }, { key: "_raiseDeletedAction", value: function (e, t, n) { var i = this._getDeletedAction(e); i && i({ key: t, values: n }) } }, { key: "_raiseUpdatingAction", value: function (e, t, n) { if (n = n || this._getUpdatingAction(e)) { var i = { cancel: !1, key: t.key, newValues: this._convertCoreToMappedData(e, t.newValues), values: this._convertCoreToMappedData(e, t.values) }; n(i), t.cancel = i.cancel, t.newValues = this._convertMappedToCoreData(e, i.newValues), "tasks" === e && this._saveCustomFieldsDataToCache(i.key, i.newValues) } } }, { key: "_raiseUpdatedAction", value: function (e, t, n) { var i = this._getUpdatedAction(e); i && i({ values: t, key: n }) } }, { key: "_raiseTaskEditDialogShowingAction", value: function (e) { var t = this._getTaskEditDialogShowingAction(); if (t) { var n = { cancel: !1, key: e.key, values: this._convertCoreToMappedData("tasks", e.values), readOnlyFields: this._convertCoreToMappedFields("tasks", e.readOnlyFields), hiddenFields: this._convertCoreToMappedFields("tasks", e.hiddenFields) }; t(n), e.cancel = n.cancel, e.values = this._convertMappedToCoreData("tasks", n.values), e.readOnlyFields = this._convertMappedToCoreFields("tasks", n.readOnlyFields), e.hiddenFields = this._convertMappedToCoreFields("tasks", n.hiddenFields) } } }, { key: "_raiseTaskClickAction", value: function (e, t) { this._taskClickAction || this._createTaskClickAction(); var n = { key: e, event: t, data: this.getTaskData(e) }; this._taskClickAction(n) } }, { key: "_raiseTaskDblClickAction", value: function (e, t) { this._taskDblClickAction || this._createTaskDblClickAction(); var n = { cancel: !1, data: this.getTaskData(e), event: t, key: e }; return this._taskDblClickAction(n), !n.cancel } }, { key: "_getInsertingAction", value: function (e) { switch (e) { case "tasks": return this._getTaskInsertingAction(); case "dependencies": return this._getDependencyInsertingAction(); case "resources": return this._getResourceInsertingAction(); case "resourceAssignments": return this._getResourceAssigningAction() }return function () { } } }, { key: "_getInsertedAction", value: function (e) { switch (e) { case "tasks": return this._getTaskInsertedAction(); case "dependencies": return this._getDependencyInsertedAction(); case "resources": return this._getResourceInsertedAction(); case "resourceAssignments": return this._getResourceAssignedAction() }return function () { } } }, { key: "_getDeletingAction", value: function (e) { switch (e) { case "tasks": return this._getTaskDeletingAction(); case "dependencies": return this._getDependencyDeletingAction(); case "resources": return this._getResourceDeletingAction(); case "resourceAssignments": return this._getResourceUnassigningAction() }return function () { } } }, { key: "_getDeletedAction", value: function (e) { switch (e) { case "tasks": return this._getTaskDeletedAction(); case "dependencies": return this._getDependencyDeletedAction(); case "resources": return this._getResourceDeletedAction(); case "resourceAssignments": return this._getResourceUnassignedAction() }return function () { } } }, { key: "_getUpdatingAction", value: function (e) { switch (e) { case "tasks": return this._getTaskUpdatingAction() }return function () { } } }, { key: "_getUpdatedAction", value: function (e) { switch (e) { case "tasks": return this._getTaskUpdatedAction() }return function () { } } }, { key: "_getTaskInsertingAction", value: function () { return this._taskInsertingAction || this._createTaskInsertingAction(), this._taskInsertingAction } }, { key: "_getTaskInsertedAction", value: function () { return this._taskInsertedAction || this._createTaskInsertedAction(), this._taskInsertedAction } }, { key: "_getTaskDeletingAction", value: function () { return this._taskDeletingAction || this._createTaskDeletingAction(), this._taskDeletingAction } }, { key: "_getTaskDeletedAction", value: function () { return this._taskDeletedAction || this._createTaskDeletedAction(), this._taskDeletedAction } }, { key: "_getTaskUpdatingAction", value: function () { return this._taskUpdatingAction || this._createTaskUpdatingAction(), this._taskUpdatingAction } }, { key: "_getTaskUpdatedAction", value: function () { return this._taskUpdatedAction || this._createTaskUpdatedAction(), this._taskUpdatedAction } }, { key: "_getTaskMovingAction", value: function () { return this._taskMovingAction || this._createTaskMovingAction(), this._taskMovingAction } }, { key: "_getTaskEditDialogShowingAction", value: function () { return this._taskEditDialogShowingAction || this._createTaskEditDialogShowingAction(), this._taskEditDialogShowingAction } }, { key: "_getDependencyInsertingAction", value: function () { return this._dependencyInsertingAction || this._createDependencyInsertingAction(), this._dependencyInsertingAction } }, { key: "_getDependencyInsertedAction", value: function () { return this._dependencyInsertedAction || this._createDependencyInsertedAction(), this._dependencyInsertedAction } }, { key: "_getDependencyDeletingAction", value: function () { return this._dependencyDeletingAction || this._createDependencyDeletingAction(), this._dependencyDeletingAction } }, { key: "_getDependencyDeletedAction", value: function () { return this._dependencyDeletedAction || this._createDependencyDeletedAction(), this._dependencyDeletedAction } }, { key: "_getResourceInsertingAction", value: function () { return this._resourceInsertingAction || this._createResourceInsertingAction(), this._resourceInsertingAction } }, { key: "_getResourceInsertedAction", value: function () { return this._resourceInsertedAction || this._createResourceInsertedAction(), this._resourceInsertedAction } }, { key: "_getResourceDeletingAction", value: function () { return this._resourceDeletingAction || this._createResourceDeletingAction(), this._resourceDeletingAction } }, { key: "_getResourceDeletedAction", value: function () { return this._resourceDeletedAction || this._createResourceDeletedAction(), this._resourceDeletedAction } }, { key: "_getResourceAssigningAction", value: function () { return this._resourceAssigningAction || this._createResourceAssigningAction(), this._resourceAssigningAction } }, { key: "_getResourceAssignedAction", value: function () { return this._resourceAssignedAction || this._createResourceAssignedAction(), this._resourceAssignedAction } }, { key: "_getResourceUnassigningAction", value: function () { return this._resourceUnassigningAction || this._createResourceUnassigningAction(), this._resourceUnassigningAction } }, { key: "_getResourceUnassignedAction", value: function () { return this._resourceUnassignedAction || this._createResourceUnassignedAction(), this._resourceUnassignedAction } }, { key: "_createResourceUnassigningAction", value: function () { this._resourceUnassigningAction = this._createActionByOption("onResourceUnassigning") } }, { key: "_createResourceUnassignedAction", value: function () { this._resourceUnassignedAction = this._createActionByOption("onResourceUnassigned") } }, { key: "_createTaskInsertingAction", value: function () { this._taskInsertingAction = this._createActionByOption("onTaskInserting") } }, { key: "_createTaskInsertedAction", value: function () { this._taskInsertedAction = this._createActionByOption("onTaskInserted") } }, { key: "_createTaskDeletingAction", value: function () { this._taskDeletingAction = this._createActionByOption("onTaskDeleting") } }, { key: "_createTaskDeletedAction", value: function () { this._taskDeletedAction = this._createActionByOption("onTaskDeleted") } }, { key: "_createTaskUpdatingAction", value: function () { this._taskUpdatingAction = this._createActionByOption("onTaskUpdating") } }, { key: "_createTaskUpdatedAction", value: function () { this._taskUpdatedAction = this._createActionByOption("onTaskUpdated") } }, { key: "_createTaskMovingAction", value: function () { this._taskMovingAction = this._createActionByOption("onTaskMoving") } }, { key: "_createTaskEditDialogShowingAction", value: function () { this._taskEditDialogShowingAction = this._createActionByOption("onTaskEditDialogShowing") } }, { key: "_createDependencyInsertingAction", value: function () { this._dependencyInsertingAction = this._createActionByOption("onDependencyInserting") } }, { key: "_createDependencyInsertedAction", value: function () { this._dependencyInsertedAction = this._createActionByOption("onDependencyInserted") } }, { key: "_createDependencyDeletingAction", value: function () { this._dependencyDeletingAction = this._createActionByOption("onDependencyDeleting") } }, { key: "_createDependencyDeletedAction", value: function () { this._dependencyDeletedAction = this._createActionByOption("onDependencyDeleted") } }, { key: "_createResourceInsertingAction", value: function () { this._resourceInsertingAction = this._createActionByOption("onResourceInserting") } }, { key: "_createResourceInsertedAction", value: function () { this._resourceInsertedAction = this._createActionByOption("onResourceInserted") } }, { key: "_createResourceDeletingAction", value: function () { this._resourceDeletingAction = this._createActionByOption("onResourceDeleting") } }, { key: "_createResourceDeletedAction", value: function () { this._resourceDeletedAction = this._createActionByOption("onResourceDeleted") } }, { key: "_createResourceAssigningAction", value: function () { this._resourceAssigningAction = this._createActionByOption("onResourceAssigning") } }, { key: "_createResourceAssignedAction", value: function () { this._resourceAssignedAction = this._createActionByOption("onResourceAssigned") } }, { key: "_convertCoreToMappedData", value: function (e, t) { var n = this; return Object.keys(t).reduce((function (i, a) { var o = n._getMappedFieldName(e, a); return o && (0, l.compileSetter)(o)(i, t[a]), i }), {}) } }, { key: "_convertMappedToCoreData", value: function (e, t) { var n = {}; if (t) { var i = this.option(e); for (var a in i) { var o = a.match(T), s = o && i[o[0]]; if (s && void 0 !== t[s]) { var r = (0, l.compileGetter)(s); n[o[1]] = r(t) } } } return n } }, { key: "_getMappedFieldName", value: function (e, t) { var n = t; return "id" === t && (n = "key"), this.option("".concat(e, ".").concat(n, "Expr")) } }, { key: "_convertCoreToMappedFields", value: function (e, t) { var n = this; return t.reduce((function (t, i) { var a = n._getMappedFieldName(e, i); return a && t.push(a), t }), []) } }, { key: "_convertMappedToCoreFields", value: function (e, t) { var n = [], i = this.option(e); for (var a in i) { var o = a.match(T), s = o && i[o[0]]; if (s && t.indexOf(s) > -1) { var r = o[1]; n.push(r) } } return n } }, { key: "_getTaskMappedFieldNames", value: function () { var e = [], t = this.option("tasks"); for (var n in t) { var i = n.match(T), a = i && t[i[0]]; a && e.push(a) } return e } }, { key: "_getTaskCustomFields", value: function () { var e = this.option("columns"), t = e && e.map((function (e) { return e.dataField })), n = this._getTaskMappedFieldNames(); return t ? t.filter((function (e) { return n.indexOf(e) < 0 })) : [] } }, { key: "_getCustomFieldsData", value: function (e) { return this._getTaskCustomFields().reduce((function (t, n) { return e && void 0 !== e[n] && (t[n] = e[n]), t }), {}) } }, { key: "_addCustomFieldsData", value: function (e, t) { if (t) for (var n = this._tasksOption && this._tasksOption._getItems(), i = (0, l.compileGetter)(this.option("".concat("tasks", ".keyExpr"))), a = n && n.filter((function (t) { return i(t) === e }))[0], o = this._getTaskCustomFields(), s = 0; s < o.length; s++) { var r = o[s]; Object.prototype.hasOwnProperty.call(a, r) && (t[r] = a[r]) } } }, { key: "_getSelectionMode", value: function (e) { return e ? "single" : "none" } }, { key: "_getArrayFromOneElement", value: function (e) { return null == e ? [] : [e] } }, { key: "_getToolbarItems", value: function () { var e = this.option("toolbar.items"); return e || [] } }, { key: "_updateToolbarContent", value: function () { var e = this._getToolbarItems(); e.length ? this._$toolbarWrapper.show() : this._$toolbarWrapper.hide(), this._toolbar && this._toolbar.createItems(e), this._updateBarItemsState() } }, { key: "_updateContextMenu", value: function () { var e = this.option("contextMenu"); e.enabled && this._contextMenuBar && (this._contextMenuBar.createItems(e.items), this._updateBarItemsState()) } }, { key: "_updateBarItemsState", value: function () { this._ganttView && this._ganttView.updateBarItemsState() } }, { key: "_showDialog", value: function (e) { this._dialogInstance || (this._dialogInstance = new _.GanttDialog(this, this._$dialog)), this._dialogInstance.show(e.name, e.parameters, e.callback, e.afterClosing, this.option("editing")) } }, { key: "_showPopupMenu", value: function (e) { if (this.option("contextMenu.enabled")) { this._ganttView.getBarManager().updateContextMenu(); var t = { cancel: !1, event: e.event, targetType: e.type, targetKey: e.key, items: (0, h.extend)(!0, [], this._contextMenuBar._items), data: "task" === e.type ? this.getTaskData(e.key) : this.getDependencyData(e.key) }; this._raiseContextMenuPreparing(t), t.cancel || this._contextMenuBar.show(e.position, t.items) } } }, { key: "_executeCoreCommand", value: function (e) { this._ganttView.executeCoreCommand(e) } }, { key: "_clean", value: function () { delete this._ganttView, delete this._dialogInstance, k(D(r.prototype), "_clean", this).call(this) } }, { key: "_getTaskTooltipContentTemplateFunc", value: function (e) { var t = this, n = e && this._getTemplate(e); return n && function (e, i) { return n.render({ model: t.getTaskDataByCoreData(i), container: (0, y.getPublicElement)((0, a.default)(e)) }), !0 } } }, { key: "_getDefaultOptions", value: function () { return (0, h.extend)(k(D(r.prototype), "_getDefaultOptions", this).call(this), { tasks: { dataSource: null, keyExpr: "id", parentIdExpr: "parentId", startExpr: "start", endExpr: "end", progressExpr: "progress", titleExpr: "title", colorExpr: "color" }, dependencies: { dataSource: null, keyExpr: "id", predecessorIdExpr: "predecessorId", successorIdExpr: "successorId", typeExpr: "type" }, resources: { dataSource: null, keyExpr: "id", textExpr: "text", colorExpr: "color" }, resourceAssignments: { dataSource: null, keyExpr: "id", taskIdExpr: "taskId", resourceIdExpr: "resourceId" }, columns: void 0, taskListWidth: 300, showResources: !0, taskTitlePosition: "inside", firstDayOfWeek: void 0, selectedRowKey: void 0, onSelectionChanged: null, onTaskClick: null, onTaskDblClick: null, onTaskInserting: null, onTaskInserted: null, onTaskDeleting: null, onTaskDeleted: null, onTaskUpdating: null, onTaskUpdated: null, onTaskMoving: null, onTaskEditDialogShowing: null, onDependencyInserting: null, onDependencyInserted: null, onDependencyDeleting: null, onDependencyDeleted: null, onResourceInserting: null, onResourceInserted: null, onResourceDeleting: null, onResourceDeleted: null, onResourceAssigning: null, onResourceAssigned: null, onResourceUnassigning: null, onResourceUnassigned: null, onCustomCommand: null, onContextMenuPreparing: null, allowSelection: !0, showRowLines: !0, stripLines: void 0, scaleType: "auto", editing: { enabled: !1, allowTaskAdding: !0, allowTaskDeleting: !0, allowTaskUpdating: !0, allowDependencyAdding: !0, allowDependencyDeleting: !0, allowResourceAdding: !0, allowResourceDeleting: !0, allowResourceUpdating: !0, allowTaskResourceUpdating: !0 }, validation: { validateDependencies: !1, autoUpdateParentTasks: !1 }, toolbar: null, contextMenu: { enabled: !0, items: void 0 }, taskTooltipContentTemplate: null, rootValue: 0 }) } }, { key: "getTaskResources", value: function (e) { var t = this; return (0, o.isDefined)(e) ? this._ganttView._ganttViewCore.getTaskResources(e).map((function (e) { return t._convertCoreToMappedData("resources", e) })) : null } }, { key: "getVisibleTaskKeys", value: function () { return this._ganttView._ganttViewCore.getVisibleTaskKeys() } }, { key: "getVisibleDependencyKeys", value: function () { return this._ganttView._ganttViewCore.getVisibleDependencyKeys() } }, { key: "getVisibleResourceKeys", value: function () { return this._ganttView._ganttViewCore.getVisibleResourceKeys() } }, { key: "getVisibleResourceAssignmentKeys", value: function () { return this._ganttView._ganttViewCore.getVisibleResourceAssignmentKeys() } }, { key: "getTaskData", value: function (e) { if (!(0, o.isDefined)(e)) return null; var t = this._ganttView._ganttViewCore.getTaskData(e); return this.getTaskDataByCoreData(t) } }, { key: "getTaskDataByCoreData", value: function (e) { var t = e ? this._convertCoreToMappedData("tasks", e) : null; return this._addCustomFieldsData(e.id, t), t } }, { key: "insertTask", value: function (e) { this._saveCustomFieldsDataToCache("gantt_new_task_key", e), this._ganttView._ganttViewCore.insertTask(this._convertMappedToCoreData("tasks", e)) } }, { key: "deleteTask", value: function (e) { this._ganttView._ganttViewCore.deleteTask(e) } }, { key: "updateTask", value: function (e, t) { this._saveCustomFieldsDataToCache(e, t, !0), this._ganttView._ganttViewCore.updateTask(e, this._convertMappedToCoreData("tasks", t)) } }, { key: "getDependencyData", value: function (e) { if (!(0, o.isDefined)(e)) return null; var t = this._ganttView._ganttViewCore.getDependencyData(e); return t ? this._convertCoreToMappedData("dependencies", t) : null } }, { key: "insertDependency", value: function (e) { this._ganttView._ganttViewCore.insertDependency(this._convertMappedToCoreData("dependencies", e)) } }, { key: "deleteDependency", value: function (e) { this._ganttView._ganttViewCore.deleteDependency(e) } }, { key: "getResourceData", value: function (e) { var t = this._ganttView._ganttViewCore.getResourceData(e); return t ? this._convertCoreToMappedData("resources", t) : null } }, { key: "deleteResource", value: function (e) { this._ganttView._ganttViewCore.deleteResource(e) } }, { key: "insertResource", value: function (e, t) { this._ganttView._ganttViewCore.insertResource(this._convertMappedToCoreData("resources", e), t) } }, { key: "getResourceAssignmentData", value: function (e) { var t = this._ganttView._ganttViewCore.getResourceAssignmentData(e); return t ? this._convertCoreToMappedData("resourceAssignments", t) : null } }, { key: "assignResourceToTask", value: function (e, t) { this._ganttView._ganttViewCore.assignResourceToTask(e, t) } }, { key: "unassignResourceFromTask", value: function (e, t) { this._ganttView._ganttViewCore.unassignResourceFromTask(e, t) } }, { key: "updateDimensions", value: function () { this._setInnerElementsWidth() } }, { key: "_optionChanged", value: function (e) { switch (e.name) { case "tasks": this._refreshDataSource("tasks"); break; case "dependencies": this._refreshDataSource("dependencies"); break; case "resources": this._refreshDataSource("resources"); break; case "resourceAssignments": this._refreshDataSource("resourceAssignments"); break; case "columns": this._setTreeListOption("columns", this._getTreeListColumns()); break; case "taskListWidth": this._setInnerElementsWidth(); break; case "showResources": this._setGanttViewOption("showResources", e.value); break; case "taskTitlePosition": this._setGanttViewOption("taskTitlePosition", e.value); break; case "firstDayOfWeek": this._setGanttViewOption("firstDayOfWeek", e.value); break; case "selectedRowKey": this._setTreeListOption("selectedRowKeys", this._getArrayFromOneElement(e.value)); break; case "onSelectionChanged": this._createSelectionChangedAction(); break; case "onTaskClick": this._createTaskClickAction(); break; case "onTaskDblClick": this._createTaskDblClickAction(); break; case "onTaskInserting": this._createTaskInsertingAction(); break; case "onTaskInserted": this._createTaskInsertedAction(); break; case "onTaskDeleting": this._createTaskDeletingAction(); break; case "onTaskDeleted": this._createTaskDeletedAction(); break; case "onTaskUpdating": this._createTaskUpdatingAction(); break; case "onTaskUpdated": this._createTaskUpdatedAction(); break; case "onTaskMoving": this._createTaskMovingAction(); break; case "onTaskEditDialogShowing": this._createTaskEditDialogShowingAction(); break; case "onDependencyInserting": this._createDependencyInsertingAction(); break; case "onDependencyInserted": this._createDependencyInsertedAction(); break; case "onDependencyDeleting": this._createDependencyDeletingAction(); break; case "onDependencyDeleted": this._createDependencyDeletedAction(); break; case "onResourceInserting": this._createResourceInsertingAction(); break; case "onResourceInserted": this._createResourceInsertedAction(); break; case "onResourceDeleting": this._createResourceDeletingAction(); break; case "onResourceDeleted": this._createResourceDeletedAction(); break; case "onResourceAssigning": this._createResourceAssigningAction(); break; case "onResourceAssigned": this._createResourceAssignedAction(); break; case "onResourceUnassigning": this._createResourceUnassigningAction(); break; case "onResourceUnassigned": this._createResourceUnassignedAction(); break; case "onCustomCommand": this._createCustomCommandAction(); break; case "onContextMenuPreparing": this._createContextMenuPreparingAction(); break; case "allowSelection": this._setTreeListOption("selection.mode", this._getSelectionMode(e.value)), this._setGanttViewOption("allowSelection", e.value); break; case "showRowLines": this._setTreeListOption("showRowLines", e.value), this._setGanttViewOption("showRowLines", e.value); break; case "stripLines": this._setGanttViewOption("stripLines", e.value); break; case "scaleType": this._setGanttViewOption("scaleType", e.value); break; case "editing": this._setGanttViewOption("editing", this.option(e.name)); break; case "validation": this._setGanttViewOption("validation", this.option(e.name)); break; case "toolbar": this._updateToolbarContent(); break; case "contextMenu": this._updateContextMenu(); break; case "taskTooltipContentTemplate": this._setGanttViewOption("taskTooltipContentTemplate", this._getTaskTooltipContentTemplateFunc(e.value)); break; case "rootValue": this._setTreeListOption("rootValue", e.value); break; default: k(D(r.prototype), "_optionChanged", this).call(this, e) } } }]) && C(t.prototype, n), i && C(t, i), r }(s.default); (0, r.default)("dxGantt", A); var O = A; t.default = O, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.GanttView = void 0; var a = c(n(2)), o = c(n(29)), s = n(384), r = n(386), l = c(n(32)), d = n(0); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function f(e, t, n) { return (f = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = _(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function p(e, t) { return (p = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function g(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = _(e); if (t) { var a = _(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return m(this, n) } } function m(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function _(e) { return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var v = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && p(e, t) }(c, e); var t, n, i, o = g(c); function c() { return u(this, c), o.apply(this, arguments) } return t = c, (n = [{ key: "_init", value: function () { f(_(c.prototype), "_init", this).call(this), this._onSelectionChanged = this._createActionByOption("onSelectionChanged"), this._onScroll = this._createActionByOption("onScroll"), this._onDialogShowing = this._createActionByOption("onDialogShowing"), this._onPopupMenuShowing = this._createActionByOption("onPopupMenuShowing"), this._expandAll = this._createActionByOption("onExpandAll"), this._collapseAll = this._createActionByOption("onCollapseAll"), this._taskClick = this._createActionByOption("onTaskClick"), this._taskDblClick = this._createActionByOption("onTaskDblClick") } }, { key: "_initMarkup", value: function () { var e = (0, s.getGanttViewCore)(); this._ganttViewCore = new e(this.$element().get(0), this, { showResources: this.option("showResources"), taskTitlePosition: this._getTaskTitlePosition(this.option("taskTitlePosition")), firstDayOfWeek: this._getFirstDayOfWeek(this.option("firstDayOfWeek")), allowSelectTask: this.option("allowSelection"), editing: this._parseEditingSettings(this.option("editing")), validation: this.option("validation"), stripLines: { stripLines: this.option("stripLines") }, areHorizontalBordersEnabled: this.option("showRowLines"), areAlternateRowsEnabled: !1, viewType: this._getViewTypeByScaleType(this.option("scaleType")), cultureInfo: this._getCultureInfo(), taskTooltipContentTemplate: this.option("taskTooltipContentTemplate") }), this._selectTask(this.option("selectedRowKey")), this.updateBarItemsState() } }, { key: "_getFirstDayOfWeek", value: function (e) { return (0, d.isDefined)(e) ? e : l.default.firstDayOfWeekIndex() } }, { key: "getTaskAreaContainer", value: function () { return this._ganttViewCore.taskAreaContainer } }, { key: "getBarManager", value: function () { return this._ganttViewCore.barManager } }, { key: "executeCoreCommand", value: function (e) { var t = this._ganttViewCore.commandManager.getCommand(e); t && t.execute() } }, { key: "changeTaskExpanded", value: function (e, t) { this._ganttViewCore.changeTaskExpanded(e, t) } }, { key: "updateView", value: function () { this._ganttViewCore.updateView() } }, { key: "updateBarItemsState", value: function () { this._ganttViewCore.barManager.updateItemsState([]) } }, { key: "setWidth", value: function (e) { this._ganttViewCore.setWidth(e) } }, { key: "_selectTask", value: function (e) { this._ganttViewCore.selectTaskById(e) } }, { key: "_update", value: function () { this._ganttViewCore.loadOptionsFromGanttOwner(), this._ganttViewCore.resetAndUpdate() } }, { key: "_getCultureInfo", value: function () { return { monthNames: l.default.getMonthNames("wide"), dayNames: l.default.getDayNames("wide"), abbrMonthNames: l.default.getMonthNames("abbreviated"), abbrDayNames: l.default.getDayNames("abbreviated"), quarterNames: l.default.getQuarterNames(), amText: l.default.getPeriodNames()[0], pmText: l.default.getPeriodNames()[1] } } }, { key: "_getTaskTitlePosition", value: function (e) { switch (e) { case "outside": return 1; case "none": return 2; default: return 0 } } }, { key: "_getViewTypeByScaleType", value: function (e) { switch (e) { case "minutes": return 0; case "hours": return 1; case "days": return 3; case "weeks": return 4; case "months": return 5; case "quarters": return 6; case "years": return 7; default: return } } }, { key: "_parseEditingSettings", value: function (e) { return { enabled: e.enabled, allowDependencyDelete: e.allowDependencyDeleting, allowDependencyInsert: e.allowDependencyAdding, allowTaskDelete: e.allowTaskDeleting, allowTaskInsert: e.allowTaskAdding, allowTaskUpdate: e.allowTaskUpdating, allowResourceDelete: e.allowResourceDeleting, allowResourceInsert: e.allowResourceAdding, allowResourceUpdate: e.allowResourceUpdating, allowTaskResourceUpdate: e.allowTaskResourceUpdating } } }, { key: "_optionChanged", value: function (e) { switch (e.name) { case "width": f(_(c.prototype), "_optionChanged", this).call(this, e), this._ganttViewCore.setWidth(e.value); break; case "height": this._ganttViewCore.setHeight(e.value); break; case "tasks": case "dependencies": case "resources": case "resourceAssignments": this._update(); break; case "showResources": this._ganttViewCore.setShowResources(e.value); break; case "taskTitlePosition": this._ganttViewCore.setTaskTitlePosition(this._getTaskTitlePosition(e.value)); break; case "firstDayOfWeek": this._ganttViewCore.setFirstDayOfWeek(this._getFirstDayOfWeek(e.value)); break; case "allowSelection": this._ganttViewCore.setAllowSelection(e.value); break; case "selectedRowKey": this._selectTask(e.value); break; case "editing": this._ganttViewCore.setEditingSettings(this._parseEditingSettings(e.value)); break; case "validation": this._ganttViewCore.setValidationSettings(e.value), this._update(); break; case "showRowLines": this._ganttViewCore.setRowLinesVisible(e.value); break; case "scaleType": this._ganttViewCore.setViewType(this._getViewTypeByScaleType(e.value)); break; case "stripLines": this._ganttViewCore.setStripLines({ stripLines: e.value }); break; case "taskTooltipContentTemplate": this._ganttViewCore.setTaskTooltipContentTemplate(e.value); break; default: f(_(c.prototype), "_optionChanged", this).call(this, e) } } }, { key: "getRowHeight", value: function () { return this.option("rowHeight") } }, { key: "getHeaderHeight", value: function () { return this.option("headerHeight") } }, { key: "getGanttTasksData", value: function () { return this.option("tasks") } }, { key: "getGanttDependenciesData", value: function () { return this.option("dependencies") } }, { key: "getGanttResourcesData", value: function () { return this.option("resources") } }, { key: "getGanttResourceAssignmentsData", value: function () { return this.option("resourceAssignments") } }, { key: "getGanttWorkTimeRules", value: function () { return {} } }, { key: "getExternalTaskAreaContainer", value: function (e) { return this._taskAreaContainer || (this._taskAreaContainer = new r.TaskAreaContainer(e, this)), this._taskAreaContainer } }, { key: "changeGanttTaskSelection", value: function (e, t) { this._onSelectionChanged({ id: e, selected: t }) } }, { key: "onGanttScroll", value: function (e) { this._onScroll({ scrollTop: e }) } }, { key: "showDialog", value: function (e, t, n, i) { this._onDialogShowing({ name: e, parameters: t, callback: n, afterClosing: i }) } }, { key: "getModelChangesListener", value: function () { return this.option("modelChangesListener") } }, { key: "showPopupMenu", value: function (e) { this._onPopupMenuShowing(e) } }, { key: "getMainElement", value: function () { return this.option("mainElement").get(0) } }, { key: "adjustControl", value: function () { } }, { key: "getRequireFirstLoadParentAutoCalc", value: function () { return this.option("validation.autoUpdateParentTasks") } }, { key: "collapseAll", value: function () { this._collapseAll() } }, { key: "expandAll", value: function () { this._expandAll() } }, { key: "onTaskClick", value: function (e, t) { return this._taskClick({ key: e, event: t }), !0 } }, { key: "onTaskDblClick", value: function (e, t) { return this._taskDblClick({ key: e, event: t }) } }, { key: "onGanttViewContextMenu", value: function (e, t, n) { return !0 } }, { key: "getFormattedDateText", value: function (e) { var t = ""; return e && (t = l.default.format(e, "shortDate") + " " + l.default.format(e, "hh:mm")), t } }, { key: "destroyTemplate", value: function (e) { (0, a.default)(e).empty() } }, { key: "bars", get: function () { return this.option("bars") } }]) && h(t.prototype, n), i && h(t, i), c }(o.default); t.GanttView = v }, function (e, t, n) { "use strict"; t.getGanttViewCore = function () { if (!a.default) throw i.default.Error("E1041", "devexpress-gantt"); return a.default }; var i = o(n(17)), a = o(n(385)); function o(e) { return e && e.__esModule ? e : { default: e } } }, function (e, t) { e.exports = window.DevExpress.Gantt }, function (e, t, n) { "use strict"; t.TaskAreaContainer = void 0; var i, a = (i = n(162)) && i.__esModule ? i : { default: i }; function o(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var s = function () { function e(t, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._element = t, this._scrollView = n._createComponent(this._element, a.default, { scrollByContent: !1, scrollByThumb: !0, showScrollbar: "onHover", direction: "both", onScroll: function () { n.updateView() } }) } var t, n, i; return t = e, (n = [{ key: "getWidth", value: function () { return this._element.offsetWidth } }, { key: "getHeight", value: function () { return this._element.offsetHeight } }, { key: "getElement", value: function () { return this._element } }, { key: "scrollTop", get: function () { return this._scrollView.scrollTop() }, set: function (e) { var t = e - this._scrollView.scrollTop(); 0 !== t && this._scrollView.scrollBy({ left: 0, top: t }) } }, { key: "scrollLeft", get: function () { return this._scrollView.scrollLeft() }, set: function (e) { var t = e - this._scrollView.scrollLeft(); 0 !== t && this._scrollView.scrollBy({ left: t, top: 0 }) } }, { key: "scrollWidth", get: function () { return this._scrollView.scrollWidth() } }, { key: "scrollHeight", get: function () { return this._scrollView.scrollHeight() } }, { key: "isExternal", get: function () { return !0 } }]) && o(t.prototype, n), i && o(t, i), e }(); t.TaskAreaContainer = s }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.GanttContextMenuBar = t.GanttToolbar = void 0; var a = d(n(2)), o = d(n(228)), s = d(n(113)), r = d(n(10)), l = n(1); function d(e) { return e && e.__esModule ? e : { default: e } } function c(e, t, n) { return (c = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = g(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function u(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && h(e, t) } function h(e, t) { return (h = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function f(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = g(e); if (t) { var a = g(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return p(this, n) } } function p(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function g(e) { return (g = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function m(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function _(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function v(e, t, n) { return t && _(e.prototype, t), n && _(e, n), e } var y = 0, w = 1, x = 2, b = 3, C = 4, k = 5, I = 6, S = 7, E = 8, D = 9, T = 10, A = 11, O = 12, B = function () { function e(t, n) { m(this, e), this._element = t, this._owner = n, this._items = [], this._createControl() } return v(e, [{ key: "createItems", value: function (e) { this._cache = null, this._items = this._createItemsCore(e), this._menu.option("items", this._items) } }, { key: "_createItemsCore", value: function (e) { var t = this; return e.map((function (e) { var n; return n = "string" == typeof e ? t._createItemByText(e) : e.name ? (0, l.extend)(t._createItemByText(e.name), e) : (0, l.extend)(t._getDefaultItemOptions(), e), e.items && (n.items = t._createItemsCore(e.items)), n })) } }, { key: "_createItemByText", value: function (e) { switch (e.toLowerCase()) { case "separator": return this._createSeparator(); case "undo": return this._createDefaultItem(I, r.default.format("dxGantt-undo"), this._getIcon("undo")); case "redo": return this._createDefaultItem(S, r.default.format("dxGantt-redo"), this._getIcon("redo")); case "expandall": return this._createDefaultItem(O, r.default.format("dxGantt-expandAll"), this._getIcon("expand")); case "collapseall": return this._createDefaultItem(A, r.default.format("dxGantt-collapseAll"), this._getIcon("collapse")); case "addtask": return this._createDefaultItem(y, r.default.format("dxGantt-addNewTask"), this._getIcon("add")); case "addsubtask": return this._createDefaultItem(w, r.default.format("dxGantt-contextMenuNewSubtask"), this._getIcon("add-sub-task")); case "deletetask": return this._createDefaultItem(x, r.default.format("dxGantt-deleteSelectedTask"), this._getIcon("delete")); case "deletedependency": return this._createDefaultItem(b, r.default.format("dxGantt-contextMenuDeleteDependency"), this._getIcon("delete-dependency")); case "zoomin": return this._createDefaultItem(E, r.default.format("dxGantt-zoomIn"), this._getIcon("zoom-in")); case "zoomout": return this._createDefaultItem(D, r.default.format("dxGantt-zoomOut"), this._getIcon("zoom-out")); case "fullscreen": return this._createDefaultItem(T, r.default.format("dxGantt-fullScreen"), this._getIcon("full-screen")); case "taskdetails": return this._createDefaultItem(C, r.default.format("dxGantt-dialogTaskDetailsTitle") + "...", this._getIcon("task-details")); default: return (0, l.extend)(this._getDefaultItemOptions(), { options: { text: e } }) } } }, { key: "_getDefaultItemOptions", value: function () { return {} } }, { key: "_getItemsCache", value: function () { return this._cache || (this._cache = {}, this._fillCache(this._items)), this._cache } }, { key: "_fillCache", value: function (e) { var t = this; e.forEach((function (e) { var n = e.commandId; void 0 !== n && (t._cache[n] || (t._cache[n] = []), t._cache[n].push(e)), e.items && t._fillCache(e.items) })) } }, { key: "_getIcon", value: function (e) { return "dx-gantt-i dx-gantt-i-" + e } }, { key: "getCommandKeys", value: function () { var e = this._getItemsCache(), t = []; for (var n in e) t.push(parseInt(n)); return t } }, { key: "setItemEnabled", value: function (e, t) { this._getItemsCache()[e].forEach((function (e) { e.disabled = !t })) } }, { key: "setItemVisible", value: function (e, t) { this._getItemsCache()[e].forEach((function (e) { e.visible = t })) } }, { key: "setItemValue", value: function (e, t) { } }, { key: "setEnabled", value: function (e) { this._menu.option("disabled", !e) } }, { key: "updateItemsList", value: function () { } }, { key: "isVisible", value: function () { return !0 } }, { key: "isContextMenu", value: function () { return !1 } }, { key: "completeUpdate", value: function () { } }]), e }(), M = function (e) { u(n, e); var t = f(n); function n() { return m(this, n), t.apply(this, arguments) } return v(n, [{ key: "_createControl", value: function () { var e = this; this._menu = this._owner._createComponent(this._element, o.default, { onItemClick: function (t) { void 0 !== t.itemData.commandId && e._owner._executeCoreCommand(t.itemData.commandId) } }) } }, { key: "_createDefaultItem", value: function (e, t, n) { return { commandId: e, disabled: !0, widget: "dxButton", location: "before", options: { icon: n, stylingMode: "text", hint: t } } } }, { key: "_createSeparator", value: function () { return { location: "before", template: function (e, t, n) { (0, a.default)(n).addClass("dx-gantt-toolbar-separator") } } } }, { key: "_getDefaultItemOptions", value: function () { return { location: "before", widget: "dxButton" } } }, { key: "completeUpdate", value: function () { this._menu.option("items", this._items) } }]), n }(B); t.GanttToolbar = M; var P = function (e) { u(n, e); var t = f(n); function n() { return m(this, n), t.apply(this, arguments) } return v(n, [{ key: "_createControl", value: function () { var e = this; this._menu = this._owner._createComponent(this._element, s.default, { showEvent: void 0, onItemClick: function (t) { void 0 !== t.itemData.commandId ? e._owner._executeCoreCommand(t.itemData.commandId) : void 0 !== t.itemData.name && e._owner._raiseCustomCommand(t.itemData.name) } }) } }, { key: "createItems", value: function (e) { e && 0 !== e.length || (e = this._getDefaultItems()), c(g(n.prototype), "createItems", this).call(this, e) } }, { key: "_getDefaultItems", value: function () { return [{ text: r.default.format("dxGantt-dialogButtonAdd"), commandId: k, icon: this._getIcon("add"), items: [{ text: r.default.format("dxGantt-contextMenuNewTask"), commandId: y, icon: this._getIcon("add-task") }, { text: r.default.format("dxGantt-contextMenuNewSubtask"), commandId: w, icon: this._getIcon("add-sub-task") }] }, { text: r.default.format("dxGantt-dialogTaskDetailsTitle") + "...", commandId: C, icon: this._getIcon("task-details") }, { text: r.default.format("dxGantt-contextMenuDeleteTask"), commandId: x, icon: this._getIcon("delete") }, { text: r.default.format("dxGantt-contextMenuDeleteDependency"), commandId: b, icon: this._getIcon("delete-dependency") }] } }, { key: "_createDefaultItem", value: function (e, t, n) { return { commandId: e, text: t, icon: n } } }, { key: "show", value: function (e, t) { this._menu.option("items", t || this._items), this._menu.option("position.offset", { x: e.x, y: e.y }), this._menu.show() } }, { key: "isContextMenu", value: function () { return !0 } }]), n }(B); t.GanttContextMenuBar = P }, function (e, t, n) { "use strict"; t.default = void 0; var i = s(n(229)), a = n(1), o = s(n(220)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = i.default.inherit({ NAME: "actionSheet", _getMenuItemTemplate: function () { return this._toolbar._getTemplate("actionSheetItem") }, render: function () { this._hasVisibleMenuItems() && this.callBase() }, _menuWidgetClass: function () { return o.default }, _menuContainer: function () { return this._toolbar.$element() }, _widgetOptions: function () { return (0, a.extend)({}, this.callBase(), { target: this._$button, showTitle: !1 }) }, _menuButtonOptions: function () { return (0, a.extend)({}, this.callBase(), { icon: "overflow" }) }, _toggleMenu: function () { this.callBase.apply(this, arguments), this._menu.toggle(this._menuShown), this._menuShown = !1 } }); t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(1), a = r(n(229)), o = r(n(390)), s = r(n(230)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = a.default.inherit({ NAME: "dropDownMenu", render: function () { this._hasVisibleMenuItems() && (this._renderMenuButtonContainer(), this._renderWidget()) }, renderMenuItems: function () { this._menu || this.render(), this.callBase(), this._menu && !this._menu.option("items").length && this._menu.close() }, _menuWidgetClass: function () { return s.default }, _widgetOptions: function () { var e = this; return (0, i.extend)(this.callBase(), { deferRendering: !0, container: e._toolbar.option("menuContainer"), menuWidget: o.default, onOptionChanged: function (t) { "items" === t.name && e._updateMenuVisibility(t.value) }, popupPosition: { at: "bottom right", my: "top right" } }) }, _updateMenuVisibility: function (e) { var t = e || this._getMenuItems(), n = t.length && this._hasVisibleMenuItems(t); this._toggleMenuVisibility(n) }, _toggleMenuVisibility: function (e) { this._menuContainer() && this._menuContainer().toggleClass("dx-state-invisible", !e) }, _menuContainer: function () { return this._$menuButtonContainer } }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(2)), a = r(n(11)), o = n(3), s = n(161); function r(e) { return e && e.__esModule ? e : { default: e } } var l = s.ListBase.inherit({ _activeStateUnit: ".dx-toolbar-menu-action", _initMarkup: function () { this._renderSections(), this.callBase() }, _getSections: function () { return this._itemContainer().children() }, _itemElements: function () { return this._getSections().children(this._itemSelector()) }, _renderSections: function () { var e = this, t = this._itemContainer(); (0, o.each)(["before", "center", "after", "menu"], (function () { var n = "_$" + this + "Section", a = e[n]; a || (e[n] = a = (0, i.default)("<div>").addClass("dx-toolbar-menu-section")), a.appendTo(t) })) }, _renderItems: function () { this.callBase.apply(this, arguments), this._updateSections() }, _updateSections: function () { var e = this.$element().find(".dx-toolbar-menu-section"); e.removeClass("dx-toolbar-menu-last-section"), e.not(":empty").eq(-1).addClass("dx-toolbar-menu-last-section") }, _renderItem: function (e, t, n, i) { var a = t.location || "menu", o = this["_$" + a + "Section"], s = this.callBase(e, t, o, i); return this._getItemTemplateName({ itemData: t }) && s.addClass("dx-toolbar-menu-custom"), ("menu" === a || "dxButton" === t.widget || t.isAction) && s.addClass("dx-toolbar-menu-action"), "dxButton" === t.widget && s.addClass("dx-toolbar-hidden-button"), "dxButtonGroup" === t.widget && s.addClass("dx-toolbar-hidden-button-group"), s.addClass(t.cssClass), s }, _getItemTemplateName: function (e) { var t = this.callBase(e), n = e.itemData; return n && n.menuItemTemplate || t }, _itemClickHandler: function (e, t, n) { (0, i.default)(e.target).closest(".dx-toolbar-menu-action").length && this.callBase(e, t, n) }, _clean: function () { this._getSections().empty(), this.callBase() } }); (0, a.default)("dxToolbarMenu", l); var d = l; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(392)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(393)) && i.__esModule ? i : { default: i }; n(413), n(415), n(417), n(419), n(463), n(467), n(469), n(474), n(476), n(481), n(485), n(487), n(490), n(492), n(494), n(496), n(498), n(500), n(502), n(504), n(506); var o = a.default; t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(11)), a = n(4), o = n(0), s = n(3), r = n(1), l = u(n(29)), d = u(n(16)), c = n(34); function u(e) { return e && e.__esModule ? e : { default: e } } n(394), n(396), n(398), n(401), n(403), n(405), n(407), n(409), n(411); var h = d.default.callModuleItemsMethod; d.default.registerModulesOrder(["stateStoring", "columns", "selection", "editorFactory", "columnChooser", "editing", "grouping", "masterDetail", "validating", "adaptivity", "data", "virtualScrolling", "columnHeaders", "filterRow", "headerPanel", "headerFilter", "sorting", "search", "rows", "pager", "columnsResizingReordering", "contextMenu", "keyboardNavigation", "errorHandling", "summary", "columnFixing", "export", "gridView"]); var f = l.default.inherit({ _activeStateUnit: ".dx-row", _getDefaultOptions: function () { var e = this.callBase(); return (0, s.each)(d.default.modules, (function () { (0, o.isFunction)(this.defaultOptions) && (0, r.extend)(!0, e, this.defaultOptions()) })), e }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return (0, c.isMaterial)() }, options: { showRowLines: !0, showColumnLines: !1, headerFilter: { height: 315 }, editing: { useIcons: !0 } } }]) }, _init: function () { this.callBase(), d.default.processModules(this, d.default), h(this, "init") }, _clean: a.noop, _optionChanged: function (e) { h(this, "optionChanged", [e]), e.handled || this.callBase(e) }, _dimensionChanged: function () { this.updateDimensions(!0) }, _visibilityChanged: function (e) { e && this.updateDimensions() }, _initMarkup: function () { this.callBase.apply(this, arguments), this.$element().addClass("dx-treelist"), this.getView("gridView").render(this.$element()) }, _renderContentImpl: function () { this.getView("gridView").update() }, _renderContent: function () { var e = this; (0, a.deferRender)((function () { e._renderContentImpl() })) }, _dispose: function () { this.callBase(), h(this, "dispose") }, isReady: function () { return this.getController("data").isReady() }, beginUpdate: function () { this.callBase(), h(this, "beginUpdate") }, endUpdate: function () { h(this, "endUpdate"), this.callBase() }, getController: function (e) { return this._controllers[e] }, getView: function (e) { return this._views[e] }, focus: function (e) { this.callBase(), (0, o.isDefined)(e) && this.getController("keyboardNavigation").focus(e) } }); f.registerModule = d.default.registerModule.bind(d.default), (0, i.default)("dxTreeList", f); var p = f; t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(395)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("columnHeaders", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(5)), o = n(131), s = u(n(10)), r = n(0), l = n(3), d = n(1), c = n(231); function u(e) { return e && e.__esModule ? e : { default: e } } var h = { defaultOptions: function () { return { showColumnHeaders: !0, cellHintEnabled: !0 } }, views: { columnHeadersView: o.ColumnsView.inherit(function () { var e = function (e, n, a) { var o = (0, i.default)("<div>").addClass(e.addWidgetPrefix("text-content")); e.setAria("role", "presentation", o), t(e, n, a.column, o); var s = e.option("showColumnLines"), r = e.getController("columns").getHeaderContentAlignment(a.column.alignment); return o[s || "right" === r ? "appendTo" : "prependTo"](n) }; function t(e, t, n, i) { var a = e._getIndicatorElements(t, !0), o = e._getIndicatorElements(t), s = a && a.length, r = e._getColumnAlignment(n.alignment), l = ".".concat(e._getIndicatorClassName("sort")), d = ".".concat(e._getIndicatorClassName("sortIndex")), c = o.filter(l), u = o.children().filter(d); (i = i || t.children("." + e.addWidgetPrefix("text-content"))).toggleClass("dx-text-content-alignment-" + r, s > 0).toggleClass("dx-text-content-alignment-" + ("left" === r ? "right" : "left"), s > 0 && "center" === n.alignment).toggleClass("dx-sort-indicator", !!c.length).toggleClass("dx-sort-index-indicator", !!u.length).toggleClass("dx-header-filter-indicator", !!o.filter("." + e._getIndicatorClassName("headerFilter")).length) } return { _createTable: function () { var e = this.callBase.apply(this, arguments); return a.default.on(e, "mousedown selectstart", this.createAction((function (e) { var t = e.event; t.shiftKey && t.preventDefault() }))), e }, _isLegacyKeyboardNavigation: function () { return this.option("useLegacyKeyboardNavigation") }, _getDefaultTemplate: function (t) { var n = this; return function (i, a) { var o = t.command ? i : e(n, i, a), s = "expand" !== t.command && t.caption; s ? o.text(s) : t.command && i.html("&nbsp;") } }, _getHeaderTemplate: function (e) { return e.headerCellTemplate || { allowRenderToDetachedContainer: !0, render: this._getDefaultTemplate(e) } }, _processTemplate: function (t, n) { var i = this, a = n.column, o = i.callBase(t); return "header" === n.rowType && o && a.headerCellTemplate && !a.command ? { render: function (t) { var n = e(i, t.container, t.model); o.render((0, d.extend)({}, t, { container: n })) } } : o }, _handleDataChanged: function (e) { "refresh" === e.changeType && (this._isGroupingChanged || this._requireReady) && (this._isGroupingChanged = !1, this.render()) }, _renderCell: function (e, t) { var n = this.callBase(e, t); return "header" === t.row.rowType && (n.addClass("dx-cell-focus-disabled"), this._isLegacyKeyboardNavigation() || t.column && !t.column.type && n.attr("tabindex", this.option("tabindex") || 0)), n }, _setCellAriaAttributes: function (e, t) { this.callBase(e, t), "header" === t.rowType && (this.setAria("role", "columnheader", e), !t.column || t.column.command || t.column.isBand || (e.attr("id", t.column.headerId), this.setAria("label", s.default.format("dxDataGrid-ariaColumn") + " " + t.column.caption, e))) }, _createRow: function (e) { var t = this.callBase(e).toggleClass("dx-column-lines", this.option("showColumnLines")); return "header" === e.rowType && (t.addClass("dx-header-row"), this._isLegacyKeyboardNavigation() || (0, c.registerKeyboardAction)("columnHeaders", this, t, "td", this._handleActionKeyDown.bind(this))), t }, _handleActionKeyDown: function (e) { var t = e.event, n = (0, i.default)(t.target); if (this._lastActionElement = t.target, n.is(".dx-header-filter")) { var a = this.getController("headerFilter"), o = n.closest("td"), s = this.getColumnIndexByElement(o); s >= 0 && a.showHeaderFilterMenu(s, !1) } else { var r = n.closest(".dx-row"); this._processHeaderAction(t, r) } t.preventDefault() }, _renderCore: function () { var e = this, t = e.element(); (!e._tableElement || e._dataController.isLoaded() || e._hasRowElements) && (t.addClass(e.addWidgetPrefix("headers")).toggleClass(e.addWidgetPrefix("nowrap"), !e.option("wordWrapEnabled")).empty(), e.setAria("role", "presentation", t), e._updateContent(e._renderTable()), e.getRowCount() > 1 && t.addClass("dx-header-multi-row"), e.callBase.apply(e, arguments)) }, _renderRows: function () { var e = this; (e._dataController.isLoaded() || e._hasRowElements) && (e.callBase.apply(e, arguments), e._hasRowElements = !0) }, _getRowVisibleColumns: function (e) { return this._columnsController.getVisibleColumns(e) }, _renderRow: function (e, t) { t.columns = this._getRowVisibleColumns(t.row.rowIndex), this.callBase(e, t) }, _createCell: function (e) { var t = e.column, n = this.callBase.apply(this, arguments); return t.rowspan > 1 && "header" === e.rowType && n.attr("rowSpan", t.rowspan), n }, _getRows: function () { var e = [], t = this.getRowCount(); if (this.option("showColumnHeaders")) for (var n = 0; n < t; n++)e.push({ rowType: "header", rowIndex: n }); return e }, _getCellTemplate: function (e) { if ("header" === e.rowType) return this._getHeaderTemplate(e.column) }, _columnOptionChanged: function (e) { var t = e.changeTypes, n = e.optionNames; t.grouping ? this._isGroupingChanged = !0 : (this.callBase(e), (n.width || n.visible) && this.resizeCompleted.fire()) }, _isElementVisible: function (e) { return e && e.visible }, _alignCaptionByCenter: function (e) { var t = this._getIndicatorContainer(e, !0); t && t.length && (t.filter(".dx-visibility-hidden").remove(), (t = this._getIndicatorContainer(e)).clone().addClass("dx-visibility-hidden").css("float", "").insertBefore(e.children("." + this.addWidgetPrefix("text-content")))) }, _updateCell: function (e, t) { "header" === t.rowType && "center" === t.column.alignment && this._alignCaptionByCenter(e), this.callBase.apply(this, arguments) }, _updateIndicator: function (e, n, i) { var a = this.callBase.apply(this, arguments); return "center" === n.alignment && this._alignCaptionByCenter(e), t(this, e, n), a }, _getIndicatorContainer: function (e, t) { var n = this.callBase(e); return t ? n : n.filter(":not(.dx-visibility-hidden)") }, _isSortableElement: function () { return !0 }, getHeadersRowHeight: function () { var e = this._getTableElement(), t = e && e.find(".dx-header-row"); return t && t.toArray().reduce((function (e, t) { return e + (0, i.default)(t).height() }), 0) || 0 }, getHeaderElement: function (e) { var t = this.getColumnElements(); return t && t.eq(e) }, getColumnElements: function (e, t) { var n, a = this, o = a._columnsController, s = a.getRowCount(); if (a.option("showColumnHeaders")) { if (s > 1 && (!(0, r.isDefined)(e) || (0, r.isDefined)(t))) { var d = [], c = (0, r.isDefined)(t) ? o.getChildrenByBandColumn(t, !0) : o.getVisibleColumns(); return (0, l.each)(c, (function (t, i) { var s = (0, r.isDefined)(e) ? e : o.getRowIndex(i.index); (n = a._getCellElement(s, o.getVisibleIndex(i.index, s))) && d.push(n.get(0)) })), (0, i.default)(d) } if (!e || e < s) return a.getCellElements(e || 0) } }, getColumnIndexByElement: function (e) { var t = this.getCellIndex(e), n = e.closest(".dx-row")[0].rowIndex, i = this.getColumns(n)[t]; return i ? i.index : -1 }, getVisibleColumnIndex: function (e, t) { var n = this.getColumns()[e]; return n ? this._columnsController.getVisibleIndex(n.index, t) : -1 }, getColumnWidths: function () { var e = this.getColumnElements(); return e && e.length ? this._getWidths(e) : this.callBase.apply(this, arguments) }, allowDragging: function (e, t, n) { var i, a = 0, o = e && this._columnsController.getRowIndex(e.index), s = this.getColumns(0 === o ? 0 : null), r = (null == e ? void 0 : e.allowHiding) && s.length > 1, l = function (e) { return e.allowReordering || e.allowGrouping || e.allowHiding }; for (i = 0; i < s.length; i++)l(s[i]) && a++; if (a <= 1 && !r) return !1; if (!n) return (this.option("allowColumnReordering") || this._columnsController.isColumnOptionUsed("allowReordering")) && e && e.allowReordering; for (i = 0; i < n.length; i++) { var d = n[i]; if (d && d.allowDragging(e, t)) return !0 } return !1 }, getBoundingRect: function () { var e = this.getColumnElements(); return e && e.length ? { top: this._getTableElement().offset().top } : null }, getName: function () { return "headers" }, getColumnCount: function () { var e = this.getColumnElements(); return e ? e.length : 0 }, isVisible: function () { return this.option("showColumnHeaders") }, optionChanged: function (e) { switch (e.name) { case "showColumnHeaders": case "wordWrapEnabled": case "showColumnLines": this._invalidate(!0, !0), e.handled = !0; break; default: this.callBase(e) } }, getHeight: function () { return this.getElementHeight() }, getContextMenuItems: function (e) { var t = this, n = e.column; if (e.row && ("header" === e.row.rowType || "detailAdaptive" === e.row.rowType)) { var i = t.option("sorting"); if (i && "none" !== i.mode && n && n.allowSorting) { var a = function (e) { setTimeout((function () { t._columnsController.changeSortOrder(n.index, e.itemData.value) })) }; return [{ text: i.ascendingText, value: "asc", disabled: "asc" === n.sortOrder, icon: "context-menu-sort-asc", onItemClick: a }, { text: i.descendingText, value: "desc", disabled: "desc" === n.sortOrder, icon: "context-menu-sort-desc", onItemClick: a }, { text: i.clearText, value: "none", disabled: !n.sortOrder, icon: "context-menu-sort-none", onItemClick: a }] } } }, getRowCount: function () { return this._columnsController && this._columnsController.getRowCount() }, setRowsOpacity: function (e, t, n) { var i, a, o = this, s = o.getRowCount(), d = o._columnsController.getColumns(), c = d && d[e], u = c && c.isBand && c.index, h = function (e, n) { n.ownerBand === u && (a.eq(e).css({ opacity: t }), n.isBand && o.setRowsOpacity(n.index, t, i + 1)) }; if ((0, r.isDefined)(u)) for (i = n = n || 0; i < s; i++)a = o.getCellElements(i), (0, l.each)(o.getColumns(i), h) } } }()) } }; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.ColumnsController = void 0; var i = n(0), a = s(n(16)), o = s(n(397)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = o.default.controllers.columns.inherit({ _getFirstItems: function (e) { return this.callBase(e).map((function (e) { return e.data })) }, getFirstDataColumnIndex: function () { for (var e = this.getVisibleColumns(), t = e.length, n = 0, a = 0; a <= t - 1; a++)if (!(0, i.isDefined)(e[a].command)) { n = e[a].index; break } return n } }); t.ColumnsController = r, a.default.registerModule("columns", { defaultOptions: o.default.defaultOptions, controllers: { columns: r } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = D(n(2)), a = D(n(26)), o = D(n(73)), s = n(20), r = n(4), l = n(0), d = n(3), c = n(25), u = n(1), h = n(14), f = D(n(27)), p = n(95), g = D(n(17)), m = D(n(24)), _ = D(n(22)), v = n(43), y = D(n(55)), w = D(n(40)), x = D(n(32)), b = D(n(10)), C = n(6), k = D(n(78)), I = n(52), S = n(53), E = D(n(109)); function D(e) { return e && e.__esModule ? e : { default: e } } function T(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, i) } return n } function A(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } var O = ["filterValues", "filterType", "fixed", "fixedPosition"], B = ["visibleIndex", "dataField", "name", "dataType", "width", "visible", "sortOrder", "lastSortOrder", "sortIndex", "groupIndex", "filterValue", "selectedFilterOperation", "added"].concat(O), M = { visibleWidth: !0, bestFitWidth: !0, bufferedFilterValue: !0 }, P = Number.MAX_SAFE_INTEGER || 9007199254740991, R = /columns\[(\d+)\]\.?/gi, F = 1, V = { defaultOptions: function () { return { commonColumnSettings: { allowFiltering: !0, allowHiding: !0, allowSorting: !0, allowEditing: !0, encodeHtml: !0, trueText: b.default.format("dxDataGrid-trueText"), falseText: b.default.format("dxDataGrid-falseText") }, allowColumnReordering: !1, allowColumnResizing: !1, columnResizingMode: "nextColumn", columnMinWidth: void 0, columnWidth: void 0, adaptColumnWidthByRatio: !0, columns: void 0, regenerateColumnsByVisibleItems: !1, customizeColumns: null, dateSerializationFormat: void 0 } }, controllers: { columns: m.default.Controller.inherit(function () { var e = { visible: !0, showInColumnChooser: !0 }, t = { number: ["=", "<>", "<", ">", "<=", ">=", "between"], string: ["contains", "notcontains", "startswith", "endswith", "=", "<>"], date: ["=", "<>", "<", ">", "<=", ">=", "between"], datetime: ["=", "<>", "<", ">", "<=", ">=", "between"] }, n = { visibleIndex: !0, groupIndex: !0, grouped: !0, sortIndex: !0, sortOrder: !0 }, m = function (e) { e.filterOperations = e.defaultFilterOperations }, b = function (t, n, i, a) { var o = {}; if (n) { (0, l.isString)(n) && (n = { dataField: n }), t.setName(n); var s = {}; if (n.command) s = (0, p.deepExtendArraySafe)(o, n); else { o = t.getCommonSettings(n), i && i.name && i.dataField && (n = (0, u.extend)({}, n, { dataField: i.dataField })); var r = t._createCalculatedColumnOptions(n, a); n.type || (s = { headerId: "dx-col-".concat(F++) }), s = (0, p.deepExtendArraySafe)(s, e), (0, p.deepExtendArraySafe)(s, o), (0, p.deepExtendArraySafe)(s, r), (0, p.deepExtendArraySafe)(s, n), (0, p.deepExtendArraySafe)(s, { selector: null }) } return n.filterOperations === n.defaultFilterOperations && m(s), s } }, D = function e(t, n, i) { var a = []; return n && (0, d.each)(n, (function (n, o) { var s = t._columnsUserState && Y(o, t._columnsUserState[n]) && t._columnsUserState[n], r = b(t, o, s, i); r && (i && (r.ownerBand = i), a.push(r), r.columns && (a = a.concat(e(t, r.columns, r)), delete r.columns, r.hasColumns = !0)) })), a }, V = function (e, t) { for (var n = [], i = t[e]; i;)n.unshift(i), i = t[e = i.index]; return n }, q = function (e, t, n) { var i = [], a = t[e]; if (a) for (var o = 0; o < a.length; o++) { var s = a[o]; (0, l.isDefined)(s.groupIndex) && !s.showWhenGrouped || (i.push(s), n && s.isBand && (i = i.concat(q(s.index, t, n)))) } return i }, L = function (e, t) { var n, i = [], a = e.getBandColumnsCache(), o = function (e) { return e.ownerBand === t.ownerBand }; if (a.isPlain) { var s = e._columns.indexOf(t); s >= 0 && (i = ["columns[".concat(s, "]")]) } else for (n = e._columns.filter(o); n.length && -1 !== n.indexOf(t);)i.unshift("columns[".concat(n.indexOf(t), "]")), n = (t = a.columnParentByIndex[t.index]) ? e._columns.filter(o) : []; return i.join(".") }, H = function e(t, n) { var i = 0, a = t.getChildrenByBandColumn(n, !0); return (0, d.each)(a, (function (n, a) { a.isBand ? (a.colspan = a.colspan || e(t, a.index), i += a.colspan || 1) : i += 1 })), i }, z = function (e) { var t = (0, l.type)(e); return "string" !== t && "boolean" !== t && "number" !== t && "date" !== t && "object" !== t && (t = void 0), t }, N = function (e, t) { switch (e) { case "date": case "datetime": return y.default.getDateSerializationFormat(t); case "number": if ((0, l.isString)(t)) return "string"; if ((0, l.isNumeric)(t)) return null } }, W = function (e, t) { e.deserializeValue || (_.default.isDateType(t) && (e.deserializeValue = function (e) { return y.default.deserializeDate(e) }, e.serializeValue = function (e) { return (0, l.isString)(e) ? e : y.default.serializeDate(e, this.serializationFormat) }), "number" === t && (e.deserializeValue = function (e) { var t = parseFloat(e); return isNaN(t) ? e : t }, e.serializeValue = function (e, t) { return "filter" === t ? e : (0, l.isDefined)(e) && "string" === this.serializationFormat ? e.toString() : e })) }, $ = function (e) { return !0 === e.value ? this.trueText || "true" : !1 === e.value ? this.falseText || "false" : e.valueText || "" }, j = function (e) { if ("boolean" === e) return $ }, K = function (e) { (0, d.each)(e._columns, (function (e, t) { t.index = e })), (0, d.each)(e._columns, (function (e, t) { (0, l.isObject)(t.ownerBand) && (t.ownerBand = t.ownerBand.index) })), (0, d.each)(e._commandColumns, (function (e, t) { t.index = -(e + 1) })) }, G = function (e, t) { (0, h.normalizeIndexes)(e._columns, "groupIndex", t, (function (e) { var t = e.grouped; return delete e.grouped, t })) }, U = function (e, t, n) { var i, a = (0, l.isObject)(t) ? t.rowIndex : null, o = "group" === n ? e.getGroupColumns() : "columnChooser" === n ? e.getChooserColumns() : e.getVisibleColumns(a); return t = (0, l.isObject)(t) ? t.columnIndex : t, (i = o[t]) && "groupExpand" === i.type && (i = e._columns.filter((function (e) { return i.type === e.type }))[0] || i), i && (0, l.isDefined)(i.index) ? i.index : -1 }; function Y(e, t) { return e && t && (t.name === e.name || !e.name) && (t.dataField === e.dataField || e.name) } var X = function (e) { var t, n, i, a = e._columnsUserState, o = e._ignoreColumnOptionNames || [], s = e._columns, r = {}, d = [], c = !0, u = []; function f(e, t) { if (t) for (var n = 0; n < B.length; n++) { var i = B[n]; (0, h.inArray)(i, o) >= 0 || ("dataType" === i ? e[i] = e[i] || t[i] : (0, h.inArray)(i, O) >= 0 ? i in t && (e[i] = t[i]) : ("selectedFilterOperation" === i && t[i] && (e.defaultSelectedFilterOperation = e[i] || null), e[i] = t[i])) } } function p(e, t) { for (var n = t.name || t.dataField, i = r[n] || 0, a = 0; a < e.length; a++)if (Y(t, e[a])) { if (!i) return r[n] = r[n] || 0, r[n]++, a; i-- } return -1 } if (a) { for (i = 0; i < s.length; i++)n = p(a, s[i]), c = c && n >= 0, u.push(n); for (i = 0; i < s.length; i++)t = s[i], n = u[i], (e._hasUserState || c) && f(t, a[n]), n >= 0 && (0, l.isDefined)(a[n].initialIndex) ? d[n] = t : d.push(t); var g = !1; for (i = 0; i < a.length; i++) { var m = a[i]; m.added && p(s, m) < 0 && (f(t = b(e, m.added), m), d.push(t), m.added.columns && (g = !0)) } g && (K(e), d = D(e, d)), Q(e, d) } }, Z = function (e, t) { K(e), G(e, t), function (e, t) { (0, d.each)(e._columns, (function (e, t) { (0, l.isDefined)(t.sortIndex) && !oe(t.sortOrder) && delete t.sortIndex })), (0, h.normalizeIndexes)(e._columns, "sortIndex", t, (function (e) { return !(0, l.isDefined)(e.groupIndex) && oe(e.sortOrder) })) }(e, t), fe(e), function (e, t) { for (var n, i, a = {}, o = [], s = e.getBandColumnsCache(), r = e._columns.filter((function (e) { return !e.command })), l = 0; l < r.length; l++) { i = r[l]; var d = V(l, s.columnParentByIndex); if (d.length) { var c = d[d.length - 1].index; a[c] = a[c] || [], a[c].push(i) } else o.push(i) } for (n in a) (0, h.normalizeIndexes)(a[n], "visibleIndex", t); (0, h.normalizeIndexes)(o, "visibleIndex", t) }(e, t) }, J = function (e) { e.resetColumnsCache() }; function Q(e, t) { e._columns = t, J(e), e.updateColumnDataTypes() } var ee = function (e, t, n, i) { var a = e._columnChanges || { optionNames: { length: 0 }, changeTypes: { length: 0 }, columnIndex: i }; n = (n = n || "all").split(".")[0]; var o = a.changeTypes; t && !o[t] && (o[t] = !0, o.length++); var s = a.optionNames; n && !s[n] && (s[n] = !0, s.length++), void 0 !== i && i === a.columnIndex || delete a.columnIndex, e._columnChanges = a, J(e) }, te = function (e) { var t, n = e.option("onColumnsChanging"), i = e._columnChanges, a = ["dataField", "lookup", "dataType", "columns"]; e.isInitialized() && !e._updateLockCount && i && (n && (e._updateLockCount++, n((0, u.extend)({ component: e.component }, i)), e._updateLockCount--), e._columnChanges = void 0, (t = i.optionNames) && a.some((function (e) { return t[e] })) ? e.reinit() : e.columnsChanged.fire(i)) }, ne = function (e, t, n, i) { if (n >= 0) i >= 0 || (t.lastSortOrder = t.sortOrder); else { var a = e.option("sorting.mode"), o = t.lastSortOrder; if ("single" === a) e._columns.some((function (e) { return e !== t && (0, l.isDefined)(e.sortIndex) })) && (o = void 0); t.sortOrder = o } }, ie = function (e, t) { var n = t.value, i = t.optionName, a = t.prevValue, o = t.fullOptionName, s = "".concat(o, ".").concat(i); M[i] || e._skipProcessingColumnsChange === s || (e._skipProcessingColumnsChange = s, e.component._notifyOptionChanged(s, n, a), e._skipProcessingColumnsChange = !1) }, ae = function (e, t, i, a, o) { var r, d, c, u = (0, s.compileGetter)(i), f = t.index; if (3 === arguments.length) return u(t, { functionsAsIs: !0 }); var p = u(t, { functionsAsIs: !0 }); if (p !== a) { "groupIndex" === i || "calculateGroupValue" === i ? (d = "grouping", ne(e, t, a, p)) : d = "sortIndex" === i || "sortOrder" === i || "calculateSortValue" === i ? "sorting" : "columns"; var g = (0, s.compileSetter)(i); g(t, a, { functionsAsIs: !0 }); var m = L(e, t); n[i] && (Z(e, t), a = u(t)), "name" !== i && "allowEditing" !== i || e._checkColumns(), m && ie(e, { fullOptionName: m, optionName: i, value: a, prevValue: p }), (0, l.isDefined)(p) || (0, l.isDefined)(a) || 0 === i.indexOf("buffer") || (o = !0), o ? J(e) : ((0, h.inArray)(i, B) < 0 && "visibleWidth" !== i && (r = e.option("columns"), c = e.getColumnByPath(m, r), (0, l.isString)(c) && (c = r[f] = { dataField: c }), c && Y(c, t) && g(c, a, { functionsAsIs: !0 })), ee(e, d, i, f)) } }; function oe(e) { return "asc" === e || "desc" === e } var se = function (e, t) { var n = this.dataField.split("."), i = n.length - 1; this.serializeValue && (t = this.serializeValue(t)); for (var a = 0; a < i; a++) { var o = n[a]; e = e[o] = e[o] || {} } e[n[i]] = t }, re = function (e, t) { return !!e._columns.filter((function (e) { return e.type === t.type })).length }, le = function (e, t) { var n = e.option("rtlEnabled"); return t.command && !re(e, t) || !t.fixedPosition ? n ? "right" : "left" : t.fixedPosition }, de = function (e, t, n, i) { var a, o = this.getRowCount(), s = e[i] && e[i].rowspan, r = t.filter((function (e) { return e.type === n })); return e.forEach((function (t, i) { t.type === n && (a = i, s = e[i + 1] ? e[i + 1].rowspan : o) })), s > 1 && (r = (0, d.map)(r, (function (e) { return (0, u.extend)({}, e, { rowspan: s }) }))), r.unshift.apply(r, (0, l.isDefined)(a) ? [a, 1] : [i, 0]), e.splice.apply(e, r), s || 1 }, ce = function (e, t) { for (var n = e ? e.toString() : "0"; n.length < t;)n = "0" + n; return n }, ue = function (e, t, n, i) { for (var a, o, s = t.slice().map((function (e) { return (0, u.extend)({}, e) })), r = e._isColumnFixing(), l = n.slice().map((function (e) { return (0, u.extend)({ fixed: r }, e) })), d = function (e) { return n.reduce((function (t, n, a) { var o = i && "groupExpand" === e.type ? "expand" : e.type; return n.type === o || n.command === e.command ? a : t }), -1) }, c = function (e) { return e.command !== n[o].command }, h = 0; h < t.length; h++)if (a = t[h], (o = a && (a.type || a.command) ? d(a) : -1) >= 0) if (i) s[h] = (0, u.extend)({ fixed: r }, n[o], a), "groupExpand" !== a.type && (l = l.filter(c)); else { var f = { visibleIndex: a.visibleIndex, index: a.index, headerId: a.headerId, allowFixing: 0 === a.groupIndex, allowReordering: 0 === a.groupIndex, groupIndex: a.groupIndex }; s[h] = (0, u.extend)({}, a, n[o], "groupExpand" === a.type && f) } return t.length && i && l.length && (s = s.concat(l)), s }, he = function (e, t) { return (0, l.isDefined)(t.fixed) || !t.type ? t.fixed : e._isColumnFixing() }, fe = function (e) { e._bandColumnsCache = void 0 }, pe = function (e, t) { var n, i = (0, l.isString)(t) && t.substr(0, t.indexOf(":")); if (void 0 !== t) return i && (t = t.substr(i.length + 1)), i ? n = e.filter((function (e) { return "" + e[i] === t }))[0] : ["index", "name", "dataField", "caption"].some((function (i) { return !!(n = e.filter((function (e) { return e[i] === t }))[0]) })), n }; return { _getExpandColumnOptions: function () { return { type: "expand", command: "expand", width: "auto", cssClass: "dx-command-expand", allowEditing: !1, allowGrouping: !1, allowSorting: !1, allowResizing: !1, allowReordering: !1, allowHiding: !1 } }, _getFirstItems: function (e) { var t, n = []; return e && e.items().length > 0 && (t = _.default.normalizeSortingInfo(e.group()).length, n = function e(t, n) { if (!t || !n) return t; for (var i = 0; i < t.length; i++) { var a = e(t[i].items || t[i].collapsedItems, n - 1); if (a && a.length) return a } }(e.items(), t) || []), n }, _endUpdateCore: function () { !this._skipProcessingColumnsChange && te(this) }, init: function () { var e = this.option("columns"); this._commandColumns = this._commandColumns || [], this._columns = this._columns || [], this._isColumnsFromOptions = !!e, this._isColumnsFromOptions ? (Q(this, e ? D(this, e) : []), X(this)) : Q(this, this._columnsUserState ? D(this, this._columnsUserState) : this._columns), function (e) { var t = e._getExpandColumnOptions(); e.addCommandColumn(t) }(this), this._dataSourceApplied ? this.applyDataSource(this._dataSource, !0) : Z(this), this._checkColumns() }, callbackNames: function () { return ["columnsChanged"] }, getColumnByPath: function (e, t) { var n, i = []; return e.replace(R, (function (e, t) { return i.push(parseInt(t)), "" })), i.length && (n = t ? i.reduce((function (e, t) { return e && e.columns && e.columns[t] }), { columns: t }) : function (e, t) { var n, i, a = function (e) { var t = n ? n.index : void 0; return e.ownerBand === t }; if (e.getBandColumnsCache().isPlain) n = e._columns[t[0]]; else { i = e._columns.filter(a); for (var o = 0; o < t.length; o++)(n = i[t[o]]) && (i = e._columns.filter(a)) } return n }(this, i)), n }, optionChanged: function (e) { var t; switch (e.name) { case "adaptColumnWidthByRatio": e.handled = !0; break; case "dataSource": e.value === e.previousValue || this.option("columns") || Array.isArray(e.value) && Array.isArray(e.previousValue) || (this._columns = []); break; case "columns": t = this._skipProcessingColumnsChange, e.handled = !0, this._skipProcessingColumnsChange || (e.name === e.fullName ? (this._columnsUserState = null, this._ignoreColumnOptionNames = null, this.init()) : (this._columnOptionChanged(e), t = !0)), t && this._updateRequireResize(e); break; case "commonColumnSettings": case "columnAutoWidth": case "allowColumnResizing": case "allowColumnReordering": case "columnFixing": case "grouping": case "groupPanel": case "regenerateColumnsByVisibleItems": case "customizeColumns": case "editing": case "columnHidingEnabled": case "dateSerializationFormat": case "columnResizingMode": case "columnMinWidth": case "columnWidth": var n, i, a, o, s; e.handled = !0; var r = "columnWidth" === e.fullName && ["width"], l = 0 === (null === (n = e.fullName) || void 0 === n ? void 0 : n.indexOf("editing.popup")), d = 0 === (null === (i = e.fullName) || void 0 === i ? void 0 : i.indexOf("editing.form")), c = 0 === (null === (a = e.fullName) || void 0 === a ? void 0 : a.indexOf("editing.editRowKey")), u = 0 === (null === (o = e.fullName) || void 0 === o ? void 0 : o.indexOf("editing.editColumnName")), h = 0 === (null === (s = e.fullName) || void 0 === s ? void 0 : s.indexOf("editing.changes")); !(l || d || c || h || u) && this.reinit(r); break; case "rtlEnabled": this.reinit(); break; default: this.callBase(e) } }, _columnOptionChanged: function (e) { var t = {}, n = this.getColumnByPath(e.fullName), i = e.fullName.replace(R, ""); n && (i ? t[i] = e.value : t = e.value, this._skipProcessingColumnsChange = e.fullName, this.columnOption(n.index, t), this._skipProcessingColumnsChange = !1) }, _updateRequireResize: function (e) { var t = this.component; "width" === e.fullName.replace(R, "") && t._updateLockCount && (t._requireResize = !0) }, publicMethods: function () { return ["addColumn", "deleteColumn", "columnOption", "columnCount", "clearSorting", "clearGrouping", "getVisibleColumns", "getVisibleColumnIndex"] }, applyDataSource: function (e, t) { var n = e && e.isLoaded(); if (this._dataSource = e, !this._dataSourceApplied || 0 === this._dataSourceColumnsCount || t || this.option("regenerateColumnsByVisibleItems")) { if (n) { if (!this._isColumnsFromOptions) { var i = function (e, t) { for (var n, i = e._getFirstItems(t), a = {}, s = [], r = 0; r < i.length; r++)if (i[r]) for (n in i[r]) (0, l.isFunction)(i[r][n]) && !o.default.isWrapped(i[r][n]) || (a[n] = !0); for (n in a) if (0 !== n.indexOf("__")) { var d = b(e, n); s.push(d) } return s }(this, e); i.length && (Q(this, i), this._dataSourceColumnsCount = this._columns.length, X(this)) } return this.updateColumns(e, t) } this._dataSourceApplied = !1 } else if (n && !this.isAllDataTypesDefined(!0) && this.updateColumnDataTypes(e)) return ee(this, "columns"), te(this), (new C.Deferred).reject().promise() }, reset: function () { this._dataSourceApplied = !1, this._dataSourceColumnsCount = void 0, this.reinit() }, resetColumnsCache: function () { this._visibleColumns = void 0, this._fixedColumns = void 0, this._rowCount = void 0, fe(this) }, reinit: function (e) { this._columnsUserState = this.getUserState(), this._ignoreColumnOptionNames = e || null, this.init(), e && (this._ignoreColumnOptionNames = null) }, isInitialized: function () { return !!this._columns.length || !!this.option("columns") }, isDataSourceApplied: function () { return this._dataSourceApplied }, getCommonSettings: function (e) { var t = (!e || !e.type) && this.option("commonColumnSettings") || {}, n = this.option("grouping") || {}, i = this.option("groupPanel") || {}; return (0, u.extend)({ allowFixing: this.option("columnFixing.enabled"), allowResizing: this.option("allowColumnResizing") || void 0, allowReordering: this.option("allowColumnReordering"), minWidth: this.option("columnMinWidth"), width: this.option("columnWidth"), autoExpandGroup: n.autoExpandAll, allowCollapsing: n.allowCollapsing, allowGrouping: i.allowColumnDragging && i.visible || n.contextMenuEnabled }, t) }, isColumnOptionUsed: function (e) { for (var t = 0; t < this._columns.length; t++)if (this._columns[t][e]) return !0 }, isAllDataTypesDefined: function (e) { var t = this._columns; if (!t.length) return !1; for (var n = 0; n < t.length; n++)if ((t[n].dataField || t[n].calculateCellValue !== t[n].defaultCalculateCellValue) && (!t[n].dataType || e && t[n].deserializeValue && void 0 === t[n].serializationFormat)) return !1; return !0 }, getColumns: function () { return this._columns }, isBandColumnsUsed: function () { return this.getColumns().some((function (e) { return e.isBand })) }, getGroupColumns: function () { var e = []; return (0, d.each)(this._columns, (function () { (0, l.isDefined)(this.groupIndex) && (e[this.groupIndex] = this) })), e }, getVisibleColumns: function (e) { return this._visibleColumns = this._visibleColumns || this._getVisibleColumnsCore(), e = (0, l.isDefined)(e) ? e : this._visibleColumns.length - 1, this._visibleColumns[e] || [] }, getFixedColumns: function (e) { return this._fixedColumns = this._fixedColumns || this._getFixedColumnsCore(), e = (0, l.isDefined)(e) ? e : this._fixedColumns.length - 1, this._fixedColumns[e] || [] }, getFilteringColumns: function () { return this.getColumns().filter((function (e) { return (e.dataField || e.name) && (e.allowFiltering || e.allowHeaderFiltering) })).map((function (e) { var t = (0, u.extend)(!0, {}, e); return (0, l.isDefined)(t.dataField) || (t.dataField = t.name), t.filterOperations = e.filterOperations !== e.defaultFilterOperations ? t.filterOperations : null, t })) }, getColumnIndexOffset: function () { return 0 }, _getFixedColumnsCore: function () { var e, t, n, i = [], a = this.getRowCount(), o = { command: "transparent" }, s = 0; if (this._isColumnFixing()) for (var r = 0; r <= a; r++) { e = 0, n = null, t = null; for (var d = this.getVisibleColumns(r, !0), c = 0; c < d.length; c++) { var u = d[c - 1], h = d[c]; h.fixed ? u && u.fixed && le(this, u) !== le(this, h) ? (0, l.isDefined)(t) || (t = c) : n = h.fixedPosition : (0 === r && (h.isBand && h.colspan ? s += h.colspan : s++), e++, (0, l.isDefined)(t) || (t = c)) } if (0 === r && (0 === e || e >= d.length)) return []; (0, l.isDefined)(t) || (t = "right" === n ? 0 : d.length), i[r] = d.slice(0), o.colspan || (o.colspan = s), i[r].splice(t, e, o) } return i.map((function (e) { return e.map((function (e) { var t = function (e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? T(Object(n), !0).forEach((function (t) { A(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : T(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e }({}, e); return t.headerId && (t.headerId += "-fixed"), t })) })) }, _isColumnFixing: function () { var e = this.option("columnFixing.enabled"); return !e && (0, d.each)(this._columns, (function (t, n) { if (n.fixed) return e = !0, !1 })), e }, _getExpandColumnsCore: function () { return this.getGroupColumns() }, getExpandColumns: function () { var e, t = this._getExpandColumnsCore(), n = t.filter((function (e) { return 0 === e.groupIndex }))[0], i = n && n.fixed, a = this._isColumnFixing(); return t.length && (e = this.columnOption("command:expand")), t = (0, d.map)(t, (function (t) { return (0, u.extend)({}, t, { visibleWidth: null, minWidth: null, cellTemplate: (0, l.isDefined)(t.groupIndex) ? null : t.cellTemplate, headerCellTemplate: null, fixed: !(!(0, l.isDefined)(t.groupIndex) || !i) || a }, e, { index: t.index, type: t.type || "groupExpand" }) })) }, getBandColumnsCache: function () { if (!this._bandColumnsCache) { var e = this._columns, t = {}, n = {}, i = !0; e.forEach((function (a) { var o = a.ownerBand, s = e[o]; a.hasColumns && (i = !1), a.colspan && (a.colspan = void 0), a.rowspan && (a.rowspan = void 0), s ? n[a.index] = s : o = -1, t[o] = t[o] || [], t[o].push(a) })), this._bandColumnsCache = { isPlain: i, columnChildrenByIndex: t, columnParentByIndex: n } } return this._bandColumnsCache }, _isColumnVisible: function (e) { return e.visible && this.isParentColumnVisible(e.index) }, _getVisibleColumnsCore: function () { var e, t, n = this, i = [], a = 0, o = 0, s = n.getRowCount(), r = [], c = [], u = 0, h = n.option("rtlEnabled"), f = n.getBandColumnsCache(), g = ue(n, n.getExpandColumns(), n._columns), m = ue(n, n._columns, n._commandColumns, !0), _ = function (e) { var t; for (t = 0; e > 1; t++)e /= 10; return t }(m.length); for (function (e, t, n) { for (var i, a = 0; a < t.length; a++) { var o = t[a]; (o.visible || o.command) && (o.isBand && (o.colspan = o.colspan || H(e, o.index)), o.isBand && o.colspan || (i = e.getRowCount(), o.command || (0, l.isDefined)(o.groupIndex) && !o.showWhenGrouped || (i -= V(o.index, n.columnParentByIndex).length), i > 1 && (o.rowspan = i))) } }(n, m, f), e = 0; e < s; e++)i[e] = [], c[e] = [{}], r[e] = [{}, {}, {}]; return (0, d.each)(m, (function () { var i, a = this.visibleIndex, o = V(this.index, f.columnParentByIndex); if (n._isColumnVisible(this) && (!(0, l.isDefined)(this.groupIndex) || this.showWhenGrouped)) { var s = o.length; if (a < 0 ? (a = -a, i = c[s]) : (this.fixed = o.length ? o[0].fixed : this.fixed, this.fixedPosition = o.length ? o[0].fixedPosition : this.fixedPosition, this.fixed ? (t = "right" === this.fixedPosition, !h || this.command && !re(n, this) || (t = !t), i = t ? r[s][2] : r[s][0]) : i = r[s][1]), o.length) for (a = ce(a, _), e = o.length - 1; e >= 0; e--)a = ce(o[e].visibleIndex, _) + a; i[a] = i[a] || [], i[a].push(this), u++ } })), (0, d.each)(i, (function (e) { (0, p.orderEach)(c[e], (function (t, n) { i[e].unshift.apply(i[e], n) })); var t = i[e].length; (0, d.each)(r[e], (function (t, n) { (0, p.orderEach)(n, (function (t, n) { i[e].push.apply(i[e], n) })) })), o < e + 1 && (o += de.call(n, i[e], g, "detailExpand", t)), a < e + 1 && (a += de.call(n, i[e], g, "groupExpand", t)) })), i.push(function e(t, n, i) { var a = []; return t[n = n || 0] && (0, d.each)(t[n], (function (o, s) { s.ownerBand !== i && "groupExpand" !== s.type || (s.isBand && s.colspan ? a.push.apply(a, e(t, n + 1, s.index)) : (!s.command || n < 1) && a.push(s)) })), a }(i)), !u && n._columns.length && i[s].push({ command: "empty" }), i }, getInvisibleColumns: function (e, t) { var n, i = this, a = []; return e = e || i._columns, (0, d.each)(e, (function (e, o) { o.ownerBand === t && (o.isBand ? (n = o.visible ? i.getInvisibleColumns(i.getChildrenByBandColumn(o.index), o.index) : i.getChildrenByBandColumn(o.index)).length && (a.push(o), a = a.concat(n)) : o.visible || a.push(o)) })), a }, getChooserColumns: function (e) { var t = e ? this.getColumns() : this.getInvisibleColumns(); return (0, r.grep)(t, (function (e) { return e.showInColumnChooser })) }, allowMoveColumn: function (e, t, n, i) { var a = U(this, e, n), o = this._columns[a]; return !(!o || !(o.allowReordering || o.allowGrouping || o.allowHiding)) && (n === i ? "columnChooser" !== n && ((e = (0, l.isObject)(e) ? e.columnIndex : e) !== (t = (0, l.isObject)(t) ? t.columnIndex : t) && e + 1 !== t) : "group" === n && "columnChooser" !== i || "group" === i ? o && o.allowGrouping : "columnChooser" !== n && "columnChooser" !== i || o && o.allowHiding) }, moveColumn: function (e, t, n, i) { var a, o, s = {}, r = U(this, e, n), d = U(this, t, i); if (r >= 0) { var c = this._columns[r]; if (t = (0, l.isObject)(t) ? t.columnIndex : t, o = d >= 0 ? this._columns[d].groupIndex : -1, (0, l.isDefined)(c.groupIndex) && "group" === n && (o > c.groupIndex && o--, "group" !== i ? s.groupIndex = void 0 : (a = c.groupIndex, delete c.groupIndex, G(this))), "group" === i) s.groupIndex = function (e, t, n) { var i, a = e.getGroupColumns(); if (n >= 0) for (i = 0; i < a.length; i++)a[i].groupIndex >= n && a[i].groupIndex++; else for (n = 0, i = 0; i < a.length; i++)n = Math.max(n, a[i].groupIndex + 1); return n }(this, 0, o), c.groupIndex = a; else if (t >= 0) { var u = this._columns[d]; u && c.ownerBand === u.ownerBand ? he(this, c) ^ he(this, u) ? s.visibleIndex = P : s.visibleIndex = u.visibleIndex : s.visibleIndex = P } var h = "columnChooser" !== i; c.visible !== h && (s.visible = h), this.columnOption(c.index, s) } }, changeSortOrder: function (e, t) { var n = {}, i = this.option("sorting"), a = i && i.mode, o = "single" === a || !t, s = "single" === a || "multiple" === a, r = this._columns[e]; s && r && r.allowSorting && (o && !(0, l.isDefined)(r.groupIndex) && (0, d.each)(this._columns, (function (t) { t !== e && this.sortOrder && ((0, l.isDefined)(this.groupIndex) || delete this.sortOrder, delete this.sortIndex) })), oe(t) ? r.sortOrder !== t && (n.sortOrder = t) : "none" === t ? r.sortOrder && (n.sortIndex = void 0, n.sortOrder = void 0) : function (e) { if ("ctrl" === t) { if (!("sortOrder" in e && "sortIndex" in e)) return !1; n.sortOrder = void 0, n.sortIndex = void 0 } else (0, l.isDefined)(e.groupIndex) || (0, l.isDefined)(e.sortIndex) ? n.sortOrder = "desc" === e.sortOrder ? "asc" : "desc" : n.sortOrder = "asc" }(r)), this.columnOption(r.index, n) }, getSortDataSourceParameters: function (e) { var t = [], n = []; return (0, d.each)(this._columns, (function () { (this.dataField || this.selector || this.calculateCellValue) && (0, l.isDefined)(this.sortIndex) && !(0, l.isDefined)(this.groupIndex) && (t[this.sortIndex] = this) })), (0, d.each)(t, (function () { if (oe(this && this.sortOrder)) { var t = { selector: this.calculateSortValue || this.displayField || this.calculateDisplayValue || e && this.selector || this.dataField || this.calculateCellValue, desc: "desc" === this.sortOrder }; this.sortingMethod && (t.compare = this.sortingMethod.bind(this)), n.push(t) } })), n.length > 0 ? n : null }, getGroupDataSourceParameters: function (e) { var t = []; return (0, d.each)(this.getGroupColumns(), (function () { var n = this.calculateGroupValue || this.displayField || this.calculateDisplayValue || e && this.selector || this.dataField || this.calculateCellValue; if (n) { var i = { selector: n, desc: "desc" === this.sortOrder, isExpanded: !!this.autoExpandGroup }; this.sortingMethod && (i.compare = this.sortingMethod.bind(this)), t.push(i) } })), t.length > 0 ? t : null }, refresh: function (e) { var t = []; return (0, d.each)(this._columns, (function () { var n = this.lookup; if (n && !this.calculateDisplayValue) { if (e && n.valueMap) return; n.update && t.push(n.update()) } })), C.when.apply(i.default, t).done(J.bind(null, this)) }, _updateColumnOptions: function (e, n) { e.selector = e.selector || function (t) { return e.calculateCellValue(t) }, (0, d.each)(["calculateSortValue", "calculateGroupValue", "calculateDisplayValue"], (function (t, i) { var a = e[i]; (0, l.isFunction)(a) && !a.originalCallback && (e[i] = function (t) { return a.call(e, t) }, e[i].originalCallback = a, e[i].columnIndex = n) })), (0, l.isString)(e.calculateDisplayValue) && (e.displayField = e.calculateDisplayValue, e.calculateDisplayValue = (0, s.compileGetter)(e.displayField)), e.calculateDisplayValue && (e.displayValueMap = e.displayValueMap || {}), W(e, e.dataType); var i = e.lookup; i && W(i, i.dataType); var a = i ? i.dataType : e.dataType; a && (e.alignment = e.alignment || function (e, t) { switch (e) { case "number": return "right"; case "boolean": return "center"; default: return (0, c.getDefaultAlignment)(t) } }(a, this.option("rtlEnabled")), e.format = e.format || _.default.getFormatByDataType(a), e.customizeText = e.customizeText || j(a), e.defaultFilterOperations = e.defaultFilterOperations || !i && t[a] || [], (0, l.isDefined)(e.filterOperations) || m(e), e.defaultFilterOperation = e.filterOperations && e.filterOperations[0] || "=", e.showEditorAlways = (0, l.isDefined)(e.showEditorAlways) ? e.showEditorAlways : "boolean" === a && !e.cellTemplate) }, updateColumnDataTypes: function (e) { var t = this, n = t.option("dateSerializationFormat"), i = t._getFirstItems(e), a = !1; return (0, d.each)(t._columns, (function (e, o) { var s, r, l, d, c, u = o.lookup; if (_.default.isDateType(o.dataType) && void 0 === o.serializationFormat && (o.serializationFormat = n), u && _.default.isDateType(u.dataType) && void 0 === o.serializationFormat && (u.serializationFormat = n), o.calculateCellValue && i.length) { if (!o.dataType || u && !u.dataType) { for (s = 0; s < i.length; s++)r = o.calculateCellValue(i[s]), o.dataType || (c = z(r), (l = l || c) && c && l !== c && (l = "string")), u && !u.dataType && (c = z(_.default.getDisplayValue(o, r, i[s])), (d = d || c) && c && d !== c && (d = "string")); (l || d) && (l && (o.dataType = l), u && d && (u.dataType = d), a = !0) } if (void 0 === o.serializationFormat || u && void 0 === u.serializationFormat) for (s = 0; s < i.length; s++)r = o.calculateCellValue(i[s], !0), void 0 === o.serializationFormat && (o.serializationFormat = N(o.dataType, r)), u && void 0 === u.serializationFormat && (u.serializationFormat = N(u.dataType, u.calculateCellValue(r, !0))) } t._updateColumnOptions(o, e) })), a }, _customizeColumns: function (e) { var t = this.option("customizeColumns"); t && (e.some((function (e) { return (0, l.isObject)(e.ownerBand) })) && Z(this), t(e), Q(this, D(this, e))) }, updateColumns: function (e, t) { var n = this; if (t || this.updateSortingGrouping(e), !e || e.isLoaded()) { var i = e ? e.sort() || [] : this.getSortDataSourceParameters(), a = e ? e.group() || [] : this.getGroupDataSourceParameters(), o = null == e ? void 0 : e.lastLoadOptions().filter; this._customizeColumns(this._columns), Z(this); var s = this._columns; return (0, C.when)(this.refresh(!0)).always((function () { n._columns === s && (n._updateChanges(e, { sorting: i, grouping: a, filtering: o }), te(n)) })) } }, _updateChanges: function (e, t) { e && (this.updateColumnDataTypes(e), this._dataSourceApplied = !0), _.default.equalSortParameters(t.sorting, this.getSortDataSourceParameters()) || ee(this, "sorting"), _.default.equalSortParameters(t.grouping, this.getGroupDataSourceParameters()) || ee(this, "grouping"); var n = this.getController("data"); n && !_.default.equalFilterParameters(t.filtering, n.getCombinedFilter()) && ee(this, "filtering"), ee(this, "columns") }, updateSortingGrouping: function (e, t) { var n, i, a = this, o = function (e, t, n) { (0, d.each)(e, (function (e, i) { if (delete i[n], t) for (var a = 0; a < t.length; a++) { var o = t[a].selector, s = t[a].isExpanded; if (o === i.dataField || o === i.name || o === i.selector || o === i.calculateCellValue || o === i.calculateGroupValue || o === i.calculateDisplayValue) { i.sortOrder = i.sortOrder || (t[a].desc ? "desc" : "asc"), void 0 !== s && (i.autoExpandGroup = s), i[n] = a; break } } })) }; if (e) { n = _.default.normalizeSortingInfo(e.sort()); var s = _.default.normalizeSortingInfo(e.group()), r = a.getGroupDataSourceParameters(), l = a.getSortDataSourceParameters(); a._columns.length || ((0, d.each)(s, (function (e, t) { a._columns.push(t.selector) })), (0, d.each)(n, (function (e, t) { a._columns.push(t.selector) })), Q(a, D(a, a._columns))), !t && (r || a._hasUserState) || _.default.equalSortParameters(s, r) || (o(a._columns, s, "groupIndex"), t && (ee(a, "grouping"), i = !0)), !t && (l || a._hasUserState) || _.default.equalSortParameters(n, l) || (o(a._columns, n, "sortIndex"), t && (ee(a, "sorting"), i = !0)), i && te(a) } }, updateFilter: function (e, t, n, i) { if (!Array.isArray(e)) return e; if (n = void 0 !== (e = (0, u.extend)([], e)).columnIndex ? e.columnIndex : n, i = void 0 !== e.filterValue ? e.filterValue : i, (0, l.isString)(e[0]) && "!" !== e[0]) { var a = this.columnOption(e[0]); t ? (0, f.default)().forceIsoDateParsing && a && a.serializeValue && e.length > 1 && (e[e.length - 1] = a.serializeValue(e[e.length - 1], "filter")) : a && a.selector && (e[0] = a.selector, e[0].columnIndex = a.index) } else (0, l.isFunction)(e[0]) && (e[0].columnIndex = n, e[0].filterValue = i); for (var o = 0; o < e.length; o++)e[o] = this.updateFilter(e[o], t, n, i); return e }, columnCount: function () { return this._columns ? this._columns.length : 0 }, columnOption: function (e, t, n, i) { var a = this, o = a._columns.concat(a._commandColumns), s = pe(o, e); if (s) { if (1 === arguments.length) return (0, u.extend)({}, s); if ((0, l.isString)(t)) { if (2 === arguments.length) return ae(a, s, t); ae(a, s, t, n, i) } else (0, l.isObject)(t) && (0, d.each)(t, (function (e, t) { ae(a, s, e, t, i) })); te(a) } }, clearSorting: function () { var e = this.columnCount(); this.beginUpdate(); for (var t = 0; t < e; t++)this.columnOption(t, "sortOrder", void 0); this.endUpdate() }, clearGrouping: function () { var e = this.columnCount(); this.beginUpdate(); for (var t = 0; t < e; t++)this.columnOption(t, "groupIndex", void 0); this.endUpdate() }, getVisibleIndex: function (e, t) { for (var n = this.getVisibleColumns(t), i = n.length - 1; i >= 0; i--)if (n[i].index === e) return i; return -1 }, getVisibleColumnIndex: function (e, t) { var n = this.columnOption(e, "index"); return this.getVisibleIndex(n, t) }, addColumn: function (e) { var t = b(this, e), n = this._columns.length; this._columns.push(t), t.isBand && (this._columns = D(this, this._columns), t = this._columns[n]), t.added = e, Z(this, t), this.updateColumns(this._dataSource), this._checkColumns() }, deleteColumn: function (e) { var t, n = this.columnOption(e); if (n && n.index >= 0) { if ((t = this._columns).forEach((function (e) { (0, l.isDefined)(e.ownerBand) && (e.ownerBand = t[e.ownerBand]) })), this._columns.splice(n.index, 1), n.isBand) { var i = this.getChildrenByBandColumn(n.index).map((function (e) { return e.index })); this._columns = this._columns.filter((function (e) { return i.indexOf(e.index) < 0 })) } Z(this), this.updateColumns(this._dataSource) } }, addCommandColumn: function (e) { var t = this._commandColumns.filter((function (t) { return t.command === e.command }))[0]; t || (t = e, this._commandColumns.push(t)) }, getUserState: function () { var e, t = this._columns, n = []; function i(i, a) { void 0 !== t[e][a] && (n[e][a] = t[e][a]) } for (e = 0; e < t.length; e++)n[e] = {}, (0, d.each)(B, i); return n }, setName: function (e) { var t = e.dataField; !(0, l.isDefined)(e.name) && (0, l.isDefined)(t) && (e.name = t) }, setUserState: function (e) { var t = this._dataSource, n = this.option("stateStoring.ignoreColumnOptionNames"); if (null == e || e.forEach(this.setName), !n) { n = []; var i = this.getCommonSettings(); this.option("columnChooser.enabled") || n.push("visible"), "none" === this.option("sorting.mode") && n.push("sortIndex", "sortOrder"), i.allowGrouping || n.push("groupIndex"), i.allowFixing || n.push("fixed", "fixedPosition"), i.allowResizing || n.push("width", "visibleWidth"); var a = !this.option("filterPanel.visible"); !this.option("filterRow.visible") && a && n.push("filterValue", "selectedFilterOperation"), !this.option("headerFilter.visible") && a && n.push("filterValues", "filterType") } this._columnsUserState = e, this._ignoreColumnOptionNames = n, this._hasUserState = !!e, ee(this, "filtering"), this.init(), t && (t.sort(this.getSortDataSourceParameters()), t.group(this.getGroupDataSourceParameters())) }, _checkColumns: function () { var e = {}, t = !1, n = []; this._columns.forEach((function (i) { var a, o = i.name, s = null === (a = i.columns) || void 0 === a ? void 0 : a.length, r = i.allowEditing && (i.dataField || i.setCellValue) && !s; o ? (e[o] && n.push('"'.concat(o, '"')), e[o] = !0) : r && (t = !0) })), n.length && g.default.log("E1059", n.join(", ")), t && g.default.log("E1060") }, _createCalculatedColumnOptions: function (e, t) { var n = {}, i = e.dataField; if ((Array.isArray(e.columns) && e.columns.length || e.isBand) && (n.isBand = !0, i = null), i) { if ((0, l.isString)(i)) { var r = (0, s.compileGetter)(i); n = { caption: (0, v.captionize)(i), calculateCellValue: function (e, t) { var n = r(e); return this.deserializeValue && !t ? this.deserializeValue(n) : n }, setCellValue: se, parseValue: function (e) { var t, n; return "number" === this.dataType ? (0, l.isString)(e) && this.format ? (n = w.default.parse(e), (0, l.isNumeric)(n) && (t = n)) : (0, l.isDefined)(e) && (0, l.isNumeric)(e) && (t = Number(e)) : "boolean" === this.dataType ? e === this.trueText ? t = !0 : e === this.falseText && (t = !1) : _.default.isDateType(this.dataType) ? (n = x.default.parse(e, this.format)) && (t = n) : t = e, t } } } n.allowFiltering = !0 } else n.allowFiltering = !!e.calculateFilterExpression; return n.calculateFilterExpression = function () { return E.default.defaultCalculateFilterExpression.apply(this, arguments) }, n.createFilterExpression = function (e) { var t; return this.calculateFilterExpression && (t = this.calculateFilterExpression.apply(this, arguments)), (0, l.isFunction)(t) && (t = [t, "=", !0]), t && (t.columnIndex = this.index, t.filterValue = e), t }, i && (0, l.isString)(i) || (0, u.extend)(!0, n, { allowSorting: !1, allowGrouping: !1, calculateCellValue: function () { return null } }), t && (n.allowFixing = !1), e.dataType && (n.userDataType = e.dataType), !e.selectedFilterOperation || "defaultSelectedFilterOperation" in n || (n.defaultSelectedFilterOperation = e.selectedFilterOperation), e.lookup && (n.lookup = { calculateCellValue: function (e, t) { return this.valueExpr && (e = this.valueMap && this.valueMap[e]), this.deserializeValue && !t ? this.deserializeValue(e) : e }, updateValueMap: function () { if (this.valueMap = {}, this.items) for (var e = (0, s.compileGetter)(this.valueExpr), t = (0, s.compileGetter)(this.displayExpr), n = 0; n < this.items.length; n++) { var i = this.items[n], a = t(i); this.valueMap[e(i)] = a, this.dataType = this.dataType || z(a) } }, update: function () { var e = this, t = e.dataSource; if (t) if ((0, l.isFunction)(t) && !o.default.isWrapped(t) && (t = t({})), (0, l.isPlainObject)(t) || t instanceof k.default || Array.isArray(t)) { if (e.valueExpr) { var n = (0, S.normalizeDataSourceOptions)(t); return n.paginate = !1, (t = new I.DataSource(n)).load().done((function (t) { e.items = t, e.updateValueMap && e.updateValueMap() })) } } else g.default.log("E1016"); else e.updateValueMap && e.updateValueMap() } }), n.resizedCallbacks = (0, a.default)(), e.resized && n.resizedCallbacks.add(e.resized.bind(e)), (0, d.each)(n, (function (e) { if ((0, l.isFunction)(n[e]) && 0 !== e.indexOf("default")) { var t = "default" + e.charAt(0).toUpperCase() + e.substr(1); n[t] = n[e] } })), n }, getRowCount: function () { var e, t, n; return this._rowCount = this._rowCount || (t = 1, n = (e = this).getBandColumnsCache().columnParentByIndex, e._columns.forEach((function (e) { var i = V(e.index, n), a = i.filter((function (e) { return !e.visible })); e.visible && !a.length && (t = Math.max(t, i.length + 1)) })), t), this._rowCount }, getRowIndex: function (e, t) { var n = this._columns[e], i = this.getBandColumnsCache(); return n && (t || n.visible && !n.command && !(0, l.isDefined)(n.groupIndex)) ? V(e, i.columnParentByIndex).length : 0 }, getChildrenByBandColumn: function (e, t) { var n = this.getBandColumnsCache(), i = q(e, n.columnChildrenByIndex, !t); return t ? i.filter((function (e) { return e.visible && !e.command })).sort((function (e, t) { return e.visibleIndex - t.visibleIndex })) : i }, isParentBandColumn: function (e, t) { var n = !1, i = this._columns[e], a = this.getBandColumnsCache(), o = i && V(e, a.columnParentByIndex); return o && (0, d.each)(o, (function (e, i) { if (i.index === t) return n = !0, !1 })), n }, isParentColumnVisible: function (e) { var t = !0, n = this.getBandColumnsCache(), i = e >= 0 && V(e, n.columnParentByIndex); return i && (0, d.each)(i, (function (e, n) { return t = t && n.visible })), t }, getColumnId: function (e) { return e.command && "groupExpand" === e.type ? re(this, e) ? "type:" + e.type : "command:" + e.command : e.index }, getCustomizeTextByDataType: j, getHeaderContentAlignment: function (e) { return this.option("rtlEnabled") ? "left" === e ? "right" : "left" : e } } }()) } }; t.default = V, e.exports = t.default }, function (e, t, n) { "use strict"; t.DataController = void 0; var i = n(1), a = n(6), o = d(n(16)), s = n(4), r = d(n(232)), l = d(n(400)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = l.default.controllers.data.inherit({ _getDataSourceAdapter: function () { return r.default }, _getNodeLevel: function (e) { for (var t = -1; e.parent;)e.visible && t++, e = e.parent; return t }, _generateDataItem: function (e, t) { return { rowType: "data", node: e, key: e.key, data: e.data, isExpanded: this.isRowExpanded(e.key, t), level: this._getNodeLevel(e) } }, _loadOnOptionChange: function () { this._dataSource.load() }, _isItemEquals: function (e, t) { return !(!this.callBase.apply(this, arguments) || e.node && t.node && e.node.hasChildren !== t.node.hasChildren || e.level !== t.level) }, init: function () { this.createAction("onRowExpanding"), this.createAction("onRowExpanded"), this.createAction("onRowCollapsing"), this.createAction("onRowCollapsed"), this.callBase.apply(this, arguments) }, keyOf: function (e) { var t = this._dataSource; if (t) return t.keyOf(e) }, key: function () { var e = this._dataSource; if (e) return e.getKeyExpr() }, publicMethods: function () { return this.callBase().concat(["expandRow", "collapseRow", "isRowExpanded", "getRootNode", "getNodeByKey", "loadDescendants", "forEachNode"]) }, changeRowExpand: function (e) { if (this._dataSource) { var t = this, n = { key: e }, i = this.isRowExpanded(e); if (t.executeAction(i ? "onRowCollapsing" : "onRowExpanding", n), !n.cancel) return t._dataSource.changeRowExpand(e).done((function () { t.executeAction(i ? "onRowCollapsed" : "onRowExpanded", n) })) } return (new a.Deferred).resolve() }, isRowExpanded: function (e, t) { return this._dataSource && this._dataSource.isRowExpanded(e, t) }, expandRow: function (e) { return this.isRowExpanded(e) ? (new a.Deferred).resolve() : this.changeRowExpand(e) }, collapseRow: function (e) { return this.isRowExpanded(e) ? this.changeRowExpand(e) : (new a.Deferred).resolve() }, getRootNode: function () { return this._dataSource && this._dataSource.getRootNode() }, optionChanged: function (e) { switch (e.name) { case "rootValue": case "parentIdExpr": case "itemsExpr": case "filterMode": case "expandNodesOnFiltering": case "autoExpandAll": case "hasItemsExpr": case "dataStructure": this._columnsController.reset(), this._items = [], this._refreshDataSource(), e.handled = !0; break; case "expandedRowKeys": case "onNodesInitialized": !this._dataSource || this._dataSource._isNodesInitializing || (0, s.equalByValue)(e.value, e.previousValue) || this._loadOnOptionChange(), e.handled = !0; break; case "maxFilterLengthInRequest": e.handled = !0; break; default: this.callBase(e) } }, getNodeByKey: function (e) { if (this._dataSource) return this._dataSource.getNodeByKey(e) }, getChildNodeKeys: function (e) { if (this._dataSource) return this._dataSource.getChildNodeKeys(e) }, loadDescendants: function (e, t) { if (this._dataSource) return this._dataSource.loadDescendants(e, t) }, forEachNode: function () { this._dataSource.forEachNode.apply(this, arguments) } }); t.DataController = c, o.default.registerModule("data", { defaultOptions: function () { return (0, i.extend)({}, l.default.defaultOptions(), { itemsExpr: "items", parentIdExpr: "parentId", rootValue: 0, dataStructure: "plain", expandedRowKeys: [], filterMode: "withAncestors", expandNodesOnFiltering: !0, autoExpandAll: !1, onNodesInitialized: null, maxFilterLengthInRequest: 1500, paging: { enabled: !1 } }) }, controllers: { data: c } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(26)), a = h(n(233)), o = n(4), s = n(0), r = n(3), l = n(1), d = h(n(54)), c = n(62), u = n(6); function h(e) { return e && e.__esModule ? e : { default: e } } var f = a.default.Controller.inherit(function () { function e(t, n) { if (t && (t = t.slice(0), n)) for (var i = 0; i < t.length; i++)t[i] = (0, l.extend)({ key: t[i].key }, t[i]), t[i].items = e(t[i].items, n - 1); return t } function t(e, t, n) { var i = { reload: !0, fullReload: !0 }; return t && ((i = { sorting: !a.default.equalSortParameters(e.sort, t.sort), grouping: !a.default.equalSortParameters(e.group, t.group, !0), groupExpanding: !a.default.equalSortParameters(e.group, t.group) || t.groupExpand, filtering: !a.default.equalFilterParameters(e.filter, t.filter), pageIndex: e.pageIndex !== t.pageIndex, skip: e.skip !== t.skip, take: e.take !== t.take, fullReload: n }).reload = n || i.sorting || i.grouping || i.filtering, i.paging = i.pageIndex || i.take), i } function n(e) { return e.cachedPagesData.pages[e.pageIndex] } return { init: function (e, t) { var n = this; n._dataSource = e, n._remoteOperations = t || {}, n._isLastPage = !e.isLastPage(), n._hasLastPage = !1, n._currentTotalCount = 0, n._cachedPagesData = { pages: {} }, n._lastOperationTypes = {}, n._eventsStrategy = e._eventsStrategy, n._skipCorrection = 0, n._isLoadingAll = !1, n.changed = (0, i.default)(), n.loadingChanged = (0, i.default)(), n.loadError = (0, i.default)(), n.customizeStoreLoadOptions = (0, i.default)(), n.changing = (0, i.default)(), n._dataChangedHandler = n._handleDataChanged.bind(n), n._dataLoadingHandler = n._handleDataLoading.bind(n), n._dataLoadedHandler = n._handleDataLoaded.bind(n), n._loadingChangedHandler = n._handleLoadingChanged.bind(n), n._loadErrorHandler = n._handleLoadError.bind(n), n._pushHandler = n._handlePush.bind(n), n._changingHandler = n._handleChanging.bind(n), e.on("changed", n._dataChangedHandler), e.on("customizeStoreLoadOptions", n._dataLoadingHandler), e.on("customizeLoadResult", n._dataLoadedHandler), e.on("loadingChanged", n._loadingChangedHandler), e.on("loadError", n._loadErrorHandler), e.on("changing", n._changingHandler), e.store().on("push", n._pushHandler), (0, r.each)(e, (function (e, t) { !n[e] && (0, s.isFunction)(t) && (n[e] = function () { return this._dataSource[e].apply(this._dataSource, arguments) }) })) }, remoteOperations: function () { return this._remoteOperations }, dispose: function (e) { var t = this._dataSource, n = t.store(); t.off("changed", this._dataChangedHandler), t.off("customizeStoreLoadOptions", this._dataLoadingHandler), t.off("customizeLoadResult", this._dataLoadedHandler), t.off("loadingChanged", this._loadingChangedHandler), t.off("loadError", this._loadErrorHandler), t.off("changing", this._changingHandler), n && n.off("push", this._pushHandler), e || t.dispose() }, refresh: function (e, t) { var n = this._dataSource; t.reload && (this.resetCurrentTotalCount(), this._isLastPage = !n.paginate(), this._hasLastPage = this._isLastPage) }, resetCurrentTotalCount: function () { this._currentTotalCount = 0, this._skipCorrection = 0 }, resetCache: function () { this._cachedStoreData = void 0, this._cachedPagingData = void 0 }, resetPagesCache: function () { this._cachedPagesData = { pages: {} } }, _needClearStoreDataCache: function () { var e = this.remoteOperations(), n = t(this._lastLoadOptions || {}, {}); return !Object.keys(e).every((function (t) { return !n[t] || !e[t] })) }, push: function (e, t) { var n = this.store(); this._needClearStoreDataCache() && (this._cachedStoreData = void 0), this._cachedPagingData = void 0, this.resetPagesCache(!0), this._cachedStoreData && (0, c.applyBatch)({ keyInfo: n, data: this._cachedStoreData, changes: e }), t || this._applyBatch(e) }, getDataIndexGetter: function () { var e = this; if (!this._dataIndexGetter) { var t, n, i = this.store(); this._dataIndexGetter = function (a) { var s = n && n !== e._cachedStoreData; if (!t || s) { n = e._cachedStoreData || [], t = {}; for (var r = 0; r < n.length; r++)t[(0, o.getKeyHash)(i.keyOf(n[r]))] = r } return t[(0, o.getKeyHash)(i.keyOf(a))] } } return this._dataIndexGetter }, _getKeyInfo: function () { return this.store() }, _applyBatch: function (e) { var t = this, n = this._getKeyInfo(), i = this._dataSource, o = a.default.normalizeSortingInfo(this.group()).length, s = this.totalCount(), r = "virtual" === this.option("scrolling.mode"); e = e.filter((function (e) { return !i.paginate() || "insert" !== e.type || void 0 !== e.index })); var l = function () { return o ? t.itemsCount() : t._items.length }, d = l(); (0, c.applyBatch)({ keyInfo: n, data: this._items, changes: e, groupCount: o, useInsertIndex: !0 }), (0, c.applyBatch)({ keyInfo: n, data: i.items(), changes: e, groupCount: o, useInsertIndex: !0 }), (this._currentTotalCount > 0 || r && s === d) && (this._skipCorrection += l() - d), e.splice(0, e.length) }, _handlePush: function (e) { this.push(e, !0) }, _handleChanging: function (e) { this.changing.fire(e), this._applyBatch(e.changes) }, _needCleanCacheByOperation: function (e, t) { var n = ["filtering", "sorting", "paging"], i = n.indexOf(e); return (i >= 0 ? n.slice(i) : [e]).some((function (e) { return t[e] })) }, _customizeRemoteOperations: function (e, t) { var n = this, i = n._cachedStoreData, a = n._cachedPagingData, o = n._cachedPagesData; (e.storeLoadOptions.filter && !e.remoteOperations.filtering || e.storeLoadOptions.sort && !e.remoteOperations.sorting) && (e.remoteOperations = { filtering: e.remoteOperations.filtering }), t.fullReload ? (i = void 0, a = void 0, o = { pages: {} }) : (t.reload ? (a = void 0, o = { pages: {} }) : (t.take || t.groupExpanding) && (o = { pages: {} }), (0, r.each)(t, (function (t, o) { o && n._needCleanCacheByOperation(t, e.remoteOperations) && (i = void 0, a = void 0) }))), a && (e.remoteOperations.paging = !1), e.cachedStoreData = i, e.cachedPagingData = a, e.cachedPagesData = o, e.isCustomLoading || (n._cachedStoreData = i, n._cachedPagingData = a, n._cachedPagesData = o) }, _handleDataLoading: function (e) { var n = this, i = n._dataSource, a = n._lastLoadOptions; n.customizeStoreLoadOptions.fire(e), e.delay = this.option("loadingTimeout"), e.originalStoreLoadOptions = e.storeLoadOptions, e.remoteOperations = (0, l.extend)({}, this.remoteOperations()); var o = !n.isLoaded() && !n._isRefreshing; n.option("integrationOptions.renderedOnServer") && !n.isLoaded() && (e.delay = void 0); var s = (0, l.extend)({ pageIndex: n.pageIndex() }, e.storeLoadOptions), r = t(s, a, o); if (n._customizeRemoteOperations(e, r), !e.isCustomLoading) { var d = n._isRefreshing; e.pageIndex = i.pageIndex(), e.lastLoadOptions = s, e.operationTypes = r, n._loadingOperationTypes = r, n._isRefreshing = !0, (0, u.when)(d || n._isRefreshed || n.refresh(e, r)).done((function () { n._lastOperationId === e.operationId && (n._isRefreshed = !0, n.load().always((function () { n._isRefreshed = !1 }))) })).fail((function () { i.cancel(e.operationId) })).always((function () { n._isRefreshing = !1 })), i.cancel(n._lastOperationId), n._lastOperationId = e.operationId, n._isRefreshing && i.cancel(n._lastOperationId) } this._handleDataLoadingCore(e) }, _handleDataLoadingCore: function (e) { var t = e.remoteOperations; e.loadOptions = {}; var i = e.cachedPagesData.extra, a = { filter: !t.filtering, sort: !t.sorting, group: !t.grouping, summary: !t.summary, skip: !t.paging, take: !t.paging, requireTotalCount: i && "totalCount" in i || !t.paging }; (0, r.each)(e.storeLoadOptions, (function (t, n) { a[t] && (e.loadOptions[t] = n, delete e.storeLoadOptions[t]) })), i && (e.extra = i), e.data = n(e) || e.cachedStoreData }, _handleDataLoaded: function (t) { var i = this, o = t.loadOptions, r = t.remoteOperations && !t.remoteOperations.paging, c = t.cachedPagesData, h = t.storeLoadOptions, f = !1 !== this.option("cacheEnabled") && h, p = f && !t.isCustomLoading && c && (!r || h.group) && !this.option("legacyRendering"), g = f && r, m = g && !t.isCustomLoading; if (o) { t.lastLoadOptions && (this._lastLoadOptions = t.lastLoadOptions, Object.keys(t.operationTypes).forEach((function (e) { i._lastOperationTypes[e] = i._lastOperationTypes[e] || t.operationTypes[e] }))), r && (t.skip = o.skip, t.take = o.take, delete o.skip, delete o.take), o.group && (o.group = t.group || o.group); var _ = a.default.normalizeSortingInfo(h.group || o.group).length; p && n(t) || (g && t.cachedPagingData ? t.data = e(t.cachedPagingData, _) : (m && (this._cachedStoreData ? t.mergeStoreLoadData && (t.data = this._cachedStoreData = this._cachedStoreData.concat(t.data)) : this._cachedStoreData = e(t.data, a.default.normalizeSortingInfo(h.group).length)), new d.default(t.data).load(o).done((function (n) { t.data = n, m && (i._cachedPagingData = e(t.data, _)) })).fail((function (e) { t.data = (new u.Deferred).reject(e) }))), o.requireTotalCount && r && (t.extra = (0, s.isPlainObject)(t.extra) ? t.extra : {}, t.extra.totalCount = t.data.length), t.extra && t.extra.totalCount >= 0 && (!1 === h.requireTotalCount || !1 === o.requireTotalCount) && (t.extra.totalCount = -1), this._handleDataLoadedCore(t), p && (c.extra = c.extra || (0, l.extend)({}, t.extra), (0, u.when)(t.data).done((function (n) { !function (e, t) { var n = e.pageIndex; void 0 !== n && (e.cachedPagesData.pages[n] = t) }(t, e(n, _)) })))), t.storeLoadOptions = t.originalStoreLoadOptions } else this._dataSource.cancel(t.operationId) }, _handleDataLoadedCore: function (e) { e.remoteOperations && !e.remoteOperations.paging && Array.isArray(e.data) && (void 0 !== e.skip && (e.data = e.data.slice(e.skip)), void 0 !== e.take && (e.data = e.data.slice(0, e.take))) }, _handleLoadingChanged: function (e) { this.loadingChanged.fire(e) }, _handleLoadError: function (e) { this.loadError.fire(e), this.changed.fire({ changeType: "loadError", error: e }) }, _handleDataChanged: function (e) { var t, n = this._dataSource, i = !1, a = this.itemsCount(); this._isLastPage = !a || !this.pageSize() || a < this.pageSize(), this._isLastPage && (this._hasLastPage = !0), n.totalCount() >= 0 ? n.pageIndex() >= this.pageCount() && (n.pageIndex(this.pageCount() - 1), this.pageIndex(n.pageIndex()), this.resetPagesCache(), n.load(), i = !0) : e && !(0, s.isDefined)(e.changeType) || (t = n.pageIndex() * this.pageSize() + a, this._currentTotalCount = Math.max(this._currentTotalCount, t), 0 === a && n.pageIndex() >= this.pageCount() && (n.pageIndex(this.pageCount() - 1), "infinite" !== this.option("scrolling.mode") && (n.load(), i = !0))), i || (this._operationTypes = this._lastOperationTypes, this._lastOperationTypes = {}, this.component._optionCache = {}, this.changed.fire(e), this.component._optionCache = void 0) }, _scheduleCustomLoadCallbacks: function (e) { var t = this; t._isCustomLoading = !0, e.always((function () { t._isCustomLoading = !1 })) }, loadingOperationTypes: function () { return this._loadingOperationTypes }, operationTypes: function () { return this._operationTypes }, lastLoadOptions: function () { return this._lastLoadOptions || {} }, isLastPage: function () { return this._isLastPage }, totalCount: function () { return parseInt((this._currentTotalCount || this._dataSource.totalCount()) + this._skipCorrection) }, itemsCount: function () { return this._dataSource.items().length }, totalItemsCount: function () { return this.totalCount() }, pageSize: function () { var e = this._dataSource; return arguments.length || e.paginate() ? e.pageSize.apply(e, arguments) : 0 }, pageCount: function () { var e = this.totalItemsCount() - this._skipCorrection, t = this.pageSize(); return t && e > 0 ? Math.max(1, Math.ceil(e / t)) : 1 }, hasKnownLastPage: function () { return this._hasLastPage || this._dataSource.totalCount() >= 0 }, loadFromStore: function (e, t) { var n = this._dataSource, i = new u.Deferred; if (n) return (t = t || n.store()).load(e).done((function (e, t) { e && !Array.isArray(e) && Array.isArray(e.data) && (t = e, e = e.data), i.resolve(e, t) })).fail(i.reject), i }, isCustomLoading: function () { return !!this._isCustomLoading }, load: function (e) { var t, n, i = this, a = this, l = a._dataSource, d = new u.Deferred; if (e) { var c = l.store(), h = l.loadOptions(), f = { storeLoadOptions: e, isCustomLoading: !0 }; return (0, r.each)(c._customLoadOptions() || [], (function (e, t) { t in f.storeLoadOptions || (f.storeLoadOptions[t] = h[t]) })), this._isLoadingAll = e.isLoadingAll, a._scheduleCustomLoadCallbacks(d), l._scheduleLoadCallbacks(d), a._handleDataLoading(f), t = function () { if (!l.store()) return d.reject("canceled"); (0, u.when)(f.data || a.loadFromStore(f.storeLoadOptions)).done((function (t, n) { f.data = t, f.extra = n || {}, a._handleDataLoaded(f), e.requireTotalCount && void 0 === f.extra.totalCount && (f.extra.totalCount = c.totalCount(f.storeLoadOptions)), (0, u.when)(f.data, f.extra.totalCount).done((function (e, t) { f.extra.totalCount = t, d.resolve(e, f.extra) })).fail(d.reject) })).fail(d.reject) }, n = a.option("loadingTimeout"), (0, s.isDefined)(n) ? (0, o.executeAsync)(t, n) : t(), d.fail((function () { a._eventsStrategy.fireEvent("loadError", arguments) })).always((function () { i._isLoadingAll = !1 })).promise() } return l.load() }, reload: function (e) { return e ? this._dataSource.reload() : this._dataSource.load() }, getCachedStoreData: function () { return this._cachedStoreData } } }()); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = m(n(24)), o = m(n(22)), s = m(n(54)), r = m(n(108)), l = m(n(17)), d = n(4), c = n(3), u = n(0), h = n(1), f = m(n(110)), p = n(6), g = n(221); function m(e) { return e && e.__esModule ? e : { default: e } } var _, v, y = { defaultOptions: function () { return { loadingTimeout: 0, dataSource: null, cacheEnabled: !0, repaintChangesOnly: !1, highlightChanges: !1, onDataErrorOccurred: null, remoteOperations: "auto", paging: { enabled: !0, pageSize: void 0, pageIndex: void 0 } } }, controllers: { data: a.default.Controller.inherit({}).include(f.default).inherit((_ = function (e, t, n) { var i = e._dataSource; return i ? void 0 !== n ? i[t]() !== n ? ("pageSize" === t && i.pageIndex(0), i[t](n), e._skipProcessingPagingChange = !0, e.option("paging." + t, n), e._skipProcessingPagingChange = !1, i["pageIndex" === t ? "load" : "reload"]().done(e.pageChanged.fire.bind(e.pageChanged))) : (0, p.Deferred)().resolve().promise() : i[t]() : 0 }, v = { init: function () { var e = this, t = this; t._items = [], t._columnsController = t.getController("columns"), t._currentOperationTypes = null, t._dataChangedHandler = function (n) { t._currentOperationTypes = e._dataSource.operationTypes(), t._handleDataChanged(n), t._currentOperationTypes = null }, t._columnsChangedHandler = t._handleColumnsChanged.bind(t), t._loadingChangedHandler = t._handleLoadingChanged.bind(t), t._loadErrorHandler = t._handleLoadError.bind(t), t._customizeStoreLoadOptionsHandler = t._handleCustomizeStoreLoadOptions.bind(t), t._changingHandler = t._handleChanging.bind(t), t._columnsController.columnsChanged.add(t._columnsChangedHandler), t._isLoading = !1, t._isCustomLoading = !1, t._repaintChangesOnly = void 0, t._changes = [], t.createAction("onDataErrorOccurred"), t.dataErrorOccurred.add((function (e) { return t.executeAction("onDataErrorOccurred", { error: e }) })), t._refreshDataSource() }, callbackNames: function () { return ["changed", "loadingChanged", "dataErrorOccurred", "pageChanged", "dataSourceChanged"] }, callbackFlags: function (e) { if ("dataErrorOccurred" === e) return { stopOnFalse: !0 } }, publicMethods: function () { return ["beginCustomLoading", "endCustomLoading", "refresh", "filter", "clearFilter", "getCombinedFilter", "keyOf", "byKey", "getDataByKeys", "pageIndex", "pageSize", "pageCount", "totalCount", "_disposeDataSource", "getKeyByRowIndex", "getRowIndexByKey", "getDataSource", "getVisibleRows", "repaintRows"] }, reset: function () { this._columnsController.reset(), this._items = [], this._refreshDataSource() }, optionChanged: function (e) { var t; function n() { e.handled = !0 } if ("dataSource" === e.name && e.name === e.fullName && (e.value === e.previousValue || this.option("columns") && Array.isArray(e.value) && Array.isArray(e.previousValue))) { if (e.value !== e.previousValue) { var i = this.store(); i && (i._array = e.value) } return n(), void this.refresh(this.option("repaintChangesOnly")) } switch (e.name) { case "cacheEnabled": case "repaintChangesOnly": case "highlightChanges": case "loadingTimeout": n(); break; case "remoteOperations": case "keyExpr": case "dataSource": case "scrolling": n(), this.reset(); break; case "paging": (t = this.dataSource()) && this._setPagingOptions(t) && t.load().done(this.pageChanged.fire.bind(this.pageChanged)), n(); break; case "rtlEnabled": this.reset(); break; case "columns": (t = this.dataSource()) && t.isLoading() && e.name === e.fullName && (this._useSortingGroupingFromColumns = !0, t.load()); break; default: this.callBase(e) } }, isReady: function () { return !this._isLoading }, getDataSource: function () { return this._dataSource && this._dataSource._dataSource }, getCombinedFilter: function (e) { return this.combinedFilter(void 0, e) }, combinedFilter: function (e, t) { var n = this._dataSource, i = this._columnsController; if (n) { void 0 === e && (e = n.filter()); var a = this._calculateAdditionalFilter(); a && (i.isDataSourceApplied() || i.isAllDataTypesDefined()) && (e = o.default.combineFilters([a, e])), e = i.updateFilter(e, t || n.remoteOperations().filtering) } return e }, waitReady: function () { return this._updateLockCount ? (this._readyDeferred = new p.Deferred, this._readyDeferred) : (0, p.when)() }, _endUpdateCore: function () { var e = this._changes; if (e.length) { this._changes = []; var t = e.every((function (e) { return e.repaintChangesOnly })); this.updateItems(1 === e.length ? e[0] : { repaintChangesOnly: t }) } this._readyDeferred && (this._readyDeferred.resolve(), this._readyDeferred = null) }, _handleCustomizeStoreLoadOptions: function (e) { var t = this._columnsController, n = this._dataSource, i = e.storeLoadOptions; e.isCustomLoading && !i.isLoadingAll || (i.filter = this.combinedFilter(i.filter), t.isDataSourceApplied() || t.updateColumnDataTypes(n), this._columnsUpdating = !0, t.updateSortingGrouping(n, !this._useSortingGroupingFromColumns), this._columnsUpdating = !1, i.sort = t.getSortDataSourceParameters(), i.group = t.getGroupDataSourceParameters(), n.sort(i.sort), n.group(i.group), i.sort = t.getSortDataSourceParameters(!n.remoteOperations().sorting), e.group = t.getGroupDataSourceParameters(!n.remoteOperations().grouping)) }, _handleColumnsChanged: function (e) { var t, n, i, a = this, s = e.changeTypes, r = e.optionNames; if (s.sorting || s.grouping) a._dataSource && !a._columnsUpdating && (a._dataSource.group(a._columnsController.getGroupDataSourceParameters()), a._dataSource.sort(a._columnsController.getSortDataSourceParameters()), a.reload()); else if (s.columns && ((r.filterValues || r.filterValue || r.selectedFilterOperation) && (t = a._columnsController.columnOption(e.columnIndex, "filterValue"), n = a._columnsController.columnOption(e.columnIndex, "filterValues"), (Array.isArray(n) || void 0 === e.columnIndex || (0, u.isDefined)(t) || !r.selectedFilterOperation || r.filterValue) && (a._applyFilter(), i = !0)), a._needApplyFilter || o.default.checkChanges(r, ["width", "visibleWidth", "filterValue", "bufferedFilterValue", "selectedFilterOperation", "filterValues", "filterType"]) || a._columnsController.columnsChanged.add((function e() { a._columnsController.columnsChanged.remove(e), a.updateItems() })), (0, u.isDefined)(r.visible))) { var l = a._columnsController.columnOption(e.columnIndex); l && ((0, u.isDefined)(l.filterValue) || (0, u.isDefined)(l.filterValues)) && (a._applyFilter(), i = !0) } !i && s.filtering && a.reload() }, _handleDataChanged: function (e) { var t = this, n = t._dataSource, i = t._columnsController, a = !1; this._useSortingGroupingFromColumns = !1, n && !t._isDataSourceApplying && (t._isDataSourceApplying = !0, (0, p.when)(t._columnsController.applyDataSource(n)).done((function () { t._isLoading && t._handleLoadingChanged(!1), a && e && e.isDelayed && (e.isDelayed = !1), t._isDataSourceApplying = !1; var n, i = t._needApplyFilter; t._needApplyFilter = !1, i && !t._isAllDataTypesDefined && (n = t._calculateAdditionalFilter()) && n.length ? (l.default.log("W1005", t.component.NAME), t._applyFilter()) : t.updateItems(e, !0) })).fail((function () { t._isDataSourceApplying = !1 })), t._isDataSourceApplying && (a = !0, t._handleLoadingChanged(!0)), t._needApplyFilter = !t._columnsController.isDataSourceApplied(), t._isAllDataTypesDefined = i.isAllDataTypesDefined()) }, _handleLoadingChanged: function (e) { this._isLoading = e, this._fireLoadingChanged() }, _handleLoadError: function (e) { this.dataErrorOccurred.fire(e) }, fireError: function () { this.dataErrorOccurred.fire(l.default.Error.apply(l.default, arguments)) }, _setPagingOptions: function (e) { var t = this.option("paging.pageIndex"), n = this.option("paging.pageSize"), i = this.option("paging.enabled"), a = this.option("scrolling.mode"), o = "infinite" === a, s = i || "virtual" === a || o, r = !1; return e.requireTotalCount(!o), void 0 !== i && e.paginate() !== s && (e.paginate(s), r = !0), void 0 !== n && e.pageSize() !== n && (e.pageSize(n), r = !0), void 0 !== t && e.pageIndex() !== t && (e.pageIndex(t), r = !0), r }, _getSpecificDataSourceOption: function () { var e = this.option("dataSource"); return Array.isArray(e) ? { store: { type: "array", data: e, key: this.option("keyExpr") } } : e }, _initDataSource: function () { var e = this.option("dataSource"), t = this._dataSource; this.callBase(), e = this._dataSource, this._useSortingGroupingFromColumns = !0, e ? (this._setPagingOptions(e), this.setDataSource(e)) : t && this.updateItems() }, _loadDataSource: function () { var e = this._dataSource, t = new p.Deferred; return (0, p.when)(this._columnsController.refresh(!0)).always((function () { e ? e.load().done(t.resolve).fail(t.reject) : t.resolve() })), t.promise() }, _beforeProcessItems: function (e) { return e.slice(0) }, getRowIndexDelta: function () { return 0 }, _processItems: function (e, t) { var n = this, i = n.getRowIndexDelta(), a = t.changeType, o = n._columnsController.getVisibleColumns(null, "loadingAll" === a), s = n._items, r = "append" === a && s.length > 0 ? s[s.length - 1] : null, l = { visibleColumns: o, dataIndex: (0, u.isDefined)(null == r ? void 0 : r.dataIndex) ? r.dataIndex + 1 : 0 }, d = []; return (0, c.each)(e, (function (e, t) { (0, u.isDefined)(t) && (l.rowIndex = e - i, t = n._processItem(t, l), d.push(t)) })), d }, _processItem: function (e, t) { return e = this._generateDataItem(e, t), (e = this._processDataItem(e, t)).dataIndex = t.dataIndex++, e }, _generateDataItem: function (e) { return { rowType: "data", data: e, key: this.keyOf(e) } }, _processDataItem: function (e, t) { return e.values = this.generateDataValues(e.data, t.visibleColumns), e }, generateDataValues: function (e, t, n) { for (var i, a = [], o = 0; o < t.length; o++) { var s = t[o]; i = n ? void 0 : null, s.command || (s.calculateCellValue ? i = s.calculateCellValue(e) : s.dataField && (i = e[s.dataField])), a.push(i) } return a }, _applyChange: function (e) { "update" === e.changeType ? this._applyChangeUpdate(e) : this.items().length && e.repaintChangesOnly && "refresh" === e.changeType ? this._applyChangesOnly(e) : "refresh" === e.changeType && this._applyChangeFull(e) }, _applyChangeFull: function (e) { this._items = e.items.slice(0) }, _getRowIndices: function (e) { var t = e.rowIndices.slice(0), n = this.getRowIndexDelta(); t.sort((function (e, t) { return e - t })); for (var i = 0; i < t.length; i++) { var a = t[i]; e.allowInvisibleRowIndices && (a += n), a < 0 && (t.splice(i, 1), i--) } return t }, _applyChangeUpdate: function (e) { var t, n = this, i = e.items, a = n._getRowIndices(e), o = n.getRowIndexDelta(), s = n.option("repaintChangesOnly"), r = -1, l = 0; e.items = [], e.rowIndices = [], e.columnIndices = [], e.changeTypes = []; var u = function (e, t, n) { var i = e && t && (0, d.equalByValue)(e.key, t.key); return i && n && (i = e.rowType === t.rowType && ("detail" !== t.rowType || e.isEditing === t.isEditing)), i }; (0, c.each)(a, (function (a, d) { var c; if (r !== (d += l + o)) { r = d; var h = n._items[d], f = n._items[d + 1], p = i[d], g = i[d + 1], m = u(h, f) || u(p, g); if (p && (p.rowIndex = d, e.items.push(p)), h && p && u(h, p, m)) t = "update", n._items[d] = p, h.visible !== p.visible ? e.items.splice(-1, 1, { visible: p.visible }) : s && !e.isFullUpdate && (c = n._partialUpdateRow(h, p, d - o)); else if (p && !h || g && u(h, g, m)) t = "insert", n._items.splice(d, 0, p), l++; else if (h && !p || f && u(p, f, m)) t = "remove", n._items.splice(d, 1), l--, r = -1; else { if (!p) return; t = "update", n._items[d] = p } e.rowIndices.push(d - o), e.changeTypes.push(t), e.columnIndices.push(c) } })) }, _isCellChanged: function (e, t, n, i, a) { if (JSON.stringify(e.values[i]) !== JSON.stringify(t.values[i])) return !0; function o(e, t) { return !!e.modifiedValues && void 0 !== e.modifiedValues[t] } return o(e, i) !== o(t, i) }, _getChangedColumnIndices: function (e, t, n, i) { if (e.rowType === t.rowType && "group" !== t.rowType && "groupFooter" !== t.rowType) { var a = []; if ("detail" !== t.rowType) for (var o = 0; o < e.values.length; o++)this._isCellChanged(e, t, n, o, i) && a.push(o); return a } }, _partialUpdateRow: function (e, t, n, i) { var a = this._getChangedColumnIndices(e, t, n, i); return a && (e.cells && e.cells.forEach((function (e, n) { !(a.indexOf(n) >= 0) && e && e.update && e.update(t) })), t.update = e.update, t.watch = e.watch, t.cells = e.cells, i && (t.oldValues = e.values), e.update && e.update(t)), a }, _isItemEquals: function (e, t) { if (JSON.stringify(e.values) !== JSON.stringify(t.values)) return !1; if (["modified", "isNewRow", "removed", "isEditing"].some((function (n) { return e[n] !== t[n] }))) return !1; if ("group" === e.rowType || "groupFooter" === e.rowType) { var n, i, a, o, s = e.isExpanded === t.isExpanded, r = JSON.stringify(e.summaryCells) === JSON.stringify(t.summaryCells), l = (null === (n = e.data) || void 0 === n ? void 0 : n.isContinuation) === (null === (i = t.data) || void 0 === i ? void 0 : i.isContinuation) && (null === (a = e.data) || void 0 === a ? void 0 : a.isContinuationOnNextPage) === (null === (o = t.data) || void 0 === o ? void 0 : o.isContinuationOnNextPage); if (!s || !r || !l) return !1 } return !0 }, _applyChangesOnly: function (e) { var t = this, n = [], i = [], a = [], o = [], s = {}; function r(e) { if (e) return e.rowType + "," + JSON.stringify(e.key) } var l = this._items.slice(); e.items.forEach((function (e, t) { var n = r(e); s[n] = t, e.rowIndex = t })); var d = (0, g.findChanges)(l, e.items, r, (function (e, n) { return !!t._isItemEquals(e, n) && (e.cells && (e.update && e.update(n), e.cells.forEach((function (e) { e && e.update && e.update(n) }))), !0) })); d ? (d.forEach((function (e) { switch (e.type) { case "update": var s = e.index, r = e.data, l = e.oldItem, d = t._partialUpdateRow(l, r, s, !0); n.push(s), a.push("update"), o.push(r), t._items[s] = r, i.push(d); break; case "insert": n.push(e.index), a.push("insert"), o.push(e.data), i.push(void 0), t._items.splice(e.index, 0, e.data); break; case "remove": n.push(e.index), a.push("remove"), t._items.splice(e.index, 1), o.push(e.oldItem), i.push(void 0) } })), e.repaintChangesOnly = !0, e.changeType = "update", e.rowIndices = n, e.columnIndices = i, e.changeTypes = a, e.items = o, l.length && (e.isLiveUpdate = !0), this._correctRowIndices((function (e) { var t = r(l[e]), n = s[t]; return n >= 0 ? n - e : 0 }))) : this._applyChangeFull(e) }, _correctRowIndices: d.noop, _updateItemsCore: function (e) { var t, n = this._dataSource, i = e.changeType || "refresh"; if (e.changeType = i, n) { t = e.items || n.items(), t = this._beforeProcessItems(t), t = this._processItems(t, e), e.items = t; var a = this._items.length === t.length && this._items; this._applyChange(e); var o = this.getRowIndexDelta(); (0, c.each)(this._items, (function (e, t) { t.rowIndex = e - o, a && (t.cells = a[e].cells || []) })) } else this._items = [] }, _handleChanging: function (e) { var t = this.getVisibleRows(); this.dataSource() && e.changes.forEach((function (e) { if ("insert" === e.type && e.index >= 0) { for (var n = 0, i = 0; i < e.index; i++) { var a = t[i]; !a || "data" !== a.rowType && "group" !== a.rowType || n++ } e.index = n } })) }, updateItems: function (e, t) { if (e = e || {}, void 0 !== this._repaintChangesOnly) e.repaintChangesOnly = this._repaintChangesOnly; else if (e.changes) e.repaintChangesOnly = this.option("repaintChangesOnly"); else if (t) { var n = this.dataSource().operationTypes(); e.repaintChangesOnly = n && !n.grouping && !n.filtering && this.option("repaintChangesOnly"), e.isDataChanged = !0, n && (n.reload || n.paging || n.groupExpanding) && (e.needUpdateDimensions = !0) } this._updateLockCount ? this._changes.push(e) : (this._updateItemsCore(e), e.cancel || this._fireChanged(e)) }, loadingOperationTypes: function () { var e = this.dataSource(); return e && e.loadingOperationTypes() || {} }, _fireChanged: function (e) { var t = this; this._currentOperationTypes && (e.operationTypes = this._currentOperationTypes, this._currentOperationTypes = null), (0, d.deferRender)((function () { t.changed.fire(e) })) }, isLoading: function () { return this._isLoading || this._isCustomLoading }, _fireLoadingChanged: function () { this.loadingChanged.fire(this.isLoading(), this._loadingText) }, _calculateAdditionalFilter: function () { return null }, _applyFilter: function () { var e = this._dataSource; if (e) return e.pageIndex(0), this.reload().done(this.pageChanged.fire.bind(this.pageChanged)) }, filter: function (e) { var t = this._dataSource, n = t && t.filter(); if (0 === arguments.length) return n; e = arguments.length > 1 ? Array.prototype.slice.call(arguments, 0) : e, o.default.equalFilterParameters(n, e) || (t && t.filter(e), this._applyFilter()) }, clearFilter: function (e) { var t = this, n = t._columnsController, i = function (e) { for (var t = n.columnCount(), i = 0; i < t; i++)n.columnOption(i, e, void 0) }; if (t.component.beginUpdate(), arguments.length > 0) switch (e) { case "dataSource": t.filter(null); break; case "search": t.searchByText(""); break; case "header": i("filterValues"); break; case "row": i("filterValue") } else t.filter(null), t.searchByText(""), i("filterValue"), i("bufferedFilterValue"), i("filterValues"); t.component.endUpdate() }, _fireDataSourceChanged: function () { var e = this; e.changed.add((function t() { e.changed.remove(t), e.dataSourceChanged.fire() })) }, _getDataSourceAdapter: d.noop, _createDataSourceAdapterCore: function (e, t) { var n = this._getDataSourceAdapter().create(this.component); return n.init(e, t), n }, isLocalStore: function (e) { return (e = e || this.store()) instanceof s.default }, isCustomStore: function (e) { return (e = e || this.store()) instanceof r.default }, _createDataSourceAdapter: function (e) { var t = this.option("remoteOperations"), n = e.store(), i = { filtering: !0, sorting: !0, paging: !0, grouping: !0, summary: !0 }; return t && t.groupPaging && (t = (0, h.extend)({}, i, t)), "auto" === t && (t = this.isLocalStore(n) || this.isCustomStore(n) ? {} : { filtering: !0, sorting: !0, paging: !0 }), !0 === t && (t = i), this._createDataSourceAdapterCore(e, t) }, setDataSource: function (e) { var t = this._dataSource; !e && t && (t.cancelAll(), t.changed.remove(this._dataChangedHandler), t.loadingChanged.remove(this._loadingChangedHandler), t.loadError.remove(this._loadErrorHandler), t.customizeStoreLoadOptions.remove(this._customizeStoreLoadOptionsHandler), t.changing.remove(this._changingHandler), t.dispose(this._isSharedDataSource)), e && (e = this._createDataSourceAdapter(e)), this._dataSource = e, e && (this._fireDataSourceChanged(), this._isLoading = !e.isLoaded(), this._needApplyFilter = !0, this._isAllDataTypesDefined = this._columnsController.isAllDataTypesDefined(), e.changed.add(this._dataChangedHandler), e.loadingChanged.add(this._loadingChangedHandler), e.loadError.add(this._loadErrorHandler), e.customizeStoreLoadOptions.add(this._customizeStoreLoadOptionsHandler), e.changing.add(this._changingHandler)) }, items: function () { return this._items }, isEmpty: function () { return !this.items().length }, pageCount: function () { return this._dataSource ? this._dataSource.pageCount() : 1 }, dataSource: function () { return this._dataSource }, store: function () { var e = this._dataSource; return e && e.store() }, loadAll: function (e) { var t = this, n = new p.Deferred, i = t._dataSource; if (i) if (e) { var a = { data: e, isCustomLoading: !0, storeLoadOptions: { isLoadingAll: !0 }, loadOptions: { filter: t.getCombinedFilter(), group: i.group(), sort: i.sort() } }; i._handleDataLoaded(a), (0, p.when)(a.data).done((function (e) { e = t._beforeProcessItems(e), n.resolve(t._processItems(e, { changeType: "loadingAll" }), a.extra && a.extra.summary) })).fail(n.reject) } else if (i.isLoading()) n.reject(); else { var o = (0, h.extend)({}, i.loadOptions(), { isLoadingAll: !0, requireTotalCount: !1 }); i.load(o).done((function (e, i) { e = t._beforeProcessItems(e), e = t._processItems(e, { changeType: "loadingAll" }), n.resolve(e, i && i.summary) })).fail(n.reject) } else n.resolve([]); return n }, getKeyByRowIndex: function (e) { var t = this.items()[e]; if (t) return t.key }, getRowIndexByKey: function (e) { return o.default.getIndexByKey(e, this.items()) }, keyOf: function (e) { var t = this.store(); if (t) return t.keyOf(e) }, byKey: function (e) { var t, n = this.store(), i = this.getRowIndexByKey(e); if (n) return i >= 0 && (t = (new p.Deferred).resolve(this.items()[i].data)), t || n.byKey(e) }, key: function () { var e = this.store(); if (e) return e.key() }, getRowIndexOffset: function () { return 0 }, getDataByKeys: function (e) { var t = this, n = new p.Deferred, a = [], o = []; return (0, c.each)(e, (function (e, n) { a.push(t.byKey(n).done((function (t) { o[e] = t }))) })), p.when.apply(i.default, a).always((function () { n.resolve(o) })), n }, pageIndex: function (e) { return _(this, "pageIndex", e) }, pageSize: function (e) { return _(this, "pageSize", e) }, beginCustomLoading: function (e) { this._isCustomLoading = !0, this._loadingText = e || "", this._fireLoadingChanged() }, endCustomLoading: function () { this._isCustomLoading = !1, this._loadingText = void 0, this._fireLoadingChanged() }, refresh: function (e) { !0 === e ? e = { reload: !0, changesOnly: !0 } : e || (e = { lookup: !0, selection: !0, reload: !0 }); var t = this, n = t.getDataSource(), i = e.changesOnly, a = new p.Deferred, o = function () { t._repaintChangesOnly = !!i }; return (0, p.when)(!e.lookup || t._columnsController.refresh()).always((function () { e.load || e.reload ? (n && n.on("customizeLoadResult", o), (0, p.when)(t.reload(e.reload, i)).always((function () { n && n.off("customizeLoadResult", o), t._repaintChangesOnly = void 0 })).done(a.resolve).fail(a.reject)) : (t.updateItems({ repaintChangesOnly: e.changesOnly }), a.resolve()) })), a.promise() }, getVisibleRows: function () { return this.items() }, _disposeDataSource: function () { this.setDataSource(null) }, dispose: function () { this._disposeDataSource(), this.callBase.apply(this, arguments) }, repaintRows: function (e, t) { ((e = Array.isArray(e) ? e : [e]).length > 1 || (0, u.isDefined)(e[0])) && this.updateItems({ changeType: "update", rowIndices: e, isFullUpdate: !t }) }, skipProcessingPagingChange: function (e) { return this._skipProcessingPagingChange && ("paging.pageIndex" === e || "paging.pageSize" === e) }, getUserState: function () { return { searchText: this.option("searchPanel.text"), pageIndex: this.pageIndex(), pageSize: this.pageSize() } }, getCachedStoreData: function () { return this._dataSource && this._dataSource.getCachedStoreData() } }, o.default.proxyMethod(v, "load"), o.default.proxyMethod(v, "reload"), o.default.proxyMethod(v, "push"), o.default.proxyMethod(v, "itemsCount", 0), o.default.proxyMethod(v, "totalItemsCount", 0), o.default.proxyMethod(v, "hasKnownLastPage", !0), o.default.proxyMethod(v, "isLoaded", !0), o.default.proxyMethod(v, "totalCount", 0), v)) } }; t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(402)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("sorting", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(5)), o = n(19), s = n(0), r = n(1), l = u(n(225)), d = u(n(10)), c = n(8); function u(e) { return e && e.__esModule ? e : { default: e } } var h = { defaultOptions: function () { return { sorting: { mode: "single", ascendingText: d.default.format("dxDataGrid-sortingAscendingText"), descendingText: d.default.format("dxDataGrid-sortingDescendingText"), clearText: d.default.format("dxDataGrid-sortingClearText"), showSortIndexes: !0 } } }, extenders: { views: { columnHeadersView: (0, r.extend)({}, l.default, { _createRow: function (e) { var t = this, n = this.callBase(e); return "header" === e.rowType && a.default.on(n, (0, c.addNamespace)(o.name, "dxDataGridColumnHeadersView"), "td", this.createAction((function (e) { t._processHeaderAction(e.event, n) }))), n }, _processHeaderAction: function (e, t) { if ((0, i.default)(e.currentTarget).parent().get(0) === t.get(0)) { var n = this, a = null, o = (0, i.default)(e.currentTarget), r = o.parent().index(), l = -1;[].slice.call(n.getCellElements(r)).some((function (e, t) { if (e === o.get(0)) return l = t, !0 })); var d = n._columnsController.getVisibleColumns(r)[l], c = n.getController("editing"), u = n.option("editing.mode"); !(c && c.isEditing() && ("batch" === u || "cell" === u)) && n._isSortableElement((0, i.default)(e.target)) && (!d || (0, s.isDefined)(d.groupIndex) || d.command || (e.shiftKey ? a = "shift" : e.ctrlKey && (a = "ctrl"), setTimeout((function () { n._columnsController.changeSortOrder(d.index, a) })))) } }, _renderCellContent: function (e, t) { var n = t.column; n.command || "header" !== t.rowType || this._applyColumnState({ name: "sort", rootElement: e, column: n, showColumnLines: this.option("showColumnLines") }), this.callBase(e, t) }, _columnOptionChanged: function (e) { var t = e.changeTypes; 1 === t.length && t.sorting ? this._updateIndicators("sort") : this.callBase(e) }, optionChanged: function (e) { switch (e.name) { case "sorting": this._invalidate(), e.handled = !0; break; default: this.callBase(e) } } }), headerPanel: (0, r.extend)({}, l.default, { _createGroupPanelItem: function (e, t) { var n = this, i = n.callBase.apply(n, arguments); return a.default.on(i, (0, c.addNamespace)(o.name, "dxDataGridHeaderPanel"), n.createAction((function () { n._processGroupItemAction(t.index) }))), n._applyColumnState({ name: "sort", rootElement: i, column: { alignment: n.option("rtlEnabled") ? "right" : "left", allowSorting: t.allowSorting, sortOrder: "desc" === t.sortOrder ? "desc" : "asc" }, showColumnLines: !0 }), i }, _processGroupItemAction: function (e) { var t = this; setTimeout((function () { return t.getController("columns").changeSortOrder(e) })) }, optionChanged: function (e) { switch (e.name) { case "sorting": this._invalidate(), e.handled = !0; break; default: this.callBase(e) } } }) } } }; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.RowsView = void 0; var i = s(n(2)), a = s(n(16)), o = s(n(404)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = o.default.views.rowsView.inherit({ _renderIconContainer: function (e, t) { var n = this, a = (0, i.default)("<div>").addClass("dx-treelist-icon-container").appendTo(e); return t.watch && t.watch((function () { return [t.row.level, t.row.isExpanded, t.row.node.hasChildren] }), (function () { a.empty(), n._renderIcons(a, t) })), e.addClass("dx-treelist-cell-expandable"), this._renderIcons(a, t) }, _renderIcons: function (e, t) { for (var n, a, o, s = t.row, r = s.level, l = 0; l <= r; l++)e.append((n = l === r && s.node.hasChildren, a = s.isExpanded, o = void 0, o = (0, i.default)("<div>").addClass("dx-treelist-empty-space"), n && o.toggleClass("dx-treelist-expanded", a).toggleClass("dx-treelist-collapsed", !a).append((0, i.default)("<span>")), o)); return e }, _renderCellCommandContent: function (e, t) { return this._renderIconContainer(e, t), !0 }, _processTemplate: function (e, t) { var n = this, a = this.callBase(e), o = n._columnsController.getFirstDataColumnIndex(); return a && t.column.index === o ? { render: function (e) { var t = e.container; n._renderCellCommandContent(t, e.model) && (e.container = function (e) { return (0, i.default)("<div>").addClass("dx-treelist-text-content").appendTo(e) }(t)), a.render(e) } } : a }, _updateCell: function (e, t) { e = e.hasClass("dx-treelist-text-content") ? e.parent() : e, this.callBase(e, t) }, _rowClick: function (e) { var t = this._dataController, n = (0, i.default)(e.event.target), a = this.isExpandIcon(n), o = t && t.items()[e.rowIndex]; a && o && t.changeRowExpand(o.key), this.callBase(e) }, _createRow: function (e) { var t = e && e.node, n = this.callBase.apply(this, arguments); return t && (this.setAria("level", e.level, n), t.hasChildren && this.setAria("expanded", e.isExpanded, n)), n }, isExpandIcon: function (e) { return !!e.closest(".dx-treelist-expanded, .dx-treelist-collapsed").length } }); t.RowsView = r, a.default.registerModule("rows", { defaultOptions: o.default.defaultOptions, views: { rowsView: r } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = w(n(2)), a = n(7), o = w(n(5)), s = n(4), r = n(64), l = n(0), d = n(3), c = n(1), u = n(25), h = n(31), f = n(20), p = w(n(22)), g = n(131), m = w(n(85)), _ = w(n(100)), v = w(n(10)), y = w(n(15)); function w(e) { return e && e.__esModule ? e : { default: e } } function x(e) { return e ? e.scrollWidth() - e.clientWidth() : 0 } var b, C = { defaultOptions: function () { return { hoverStateEnabled: !1, scrolling: { useNative: "auto" }, loadPanel: { enabled: "auto", text: v.default.format("Loading"), width: 200, height: 90, showIndicator: !0, indicatorSrc: "", showPane: !0 }, rowTemplate: null, columnAutoWidth: !1, noDataText: v.default.format("dxDataGrid-noDataText"), wordWrapEnabled: !1, showColumnLines: !0, showRowLines: !1, rowAlternationEnabled: !1, activeStateEnabled: !1, twoWayBindingEnabled: !0 } }, views: { rowsView: g.ColumnsView.inherit((b = function (e, t) { var n = (0, h.isEmpty)(t.text) && "data" === t.rowType, i = t.text, a = e.get(0); n ? p.default.setEmptyText(e) : t.column.encodeHtml ? a.textContent = i : a.innerHTML = i }, { _getDefaultTemplate: function (e) { switch (e.command) { case "empty": return function (e) { e.html("&nbsp;") }; default: return b } }, _getDefaultGroupTemplate: function (e) { var t = this.option("summary.texts"); return function (n, i) { var a = i.data, o = i.column.caption + ": " + i.text, s = n.get(0); i.summaryItems && i.summaryItems.length && (o += " " + p.default.getGroupRowSummaryText(i.summaryItems, t)), a && (i.groupContinuedMessage && i.groupContinuesMessage ? o += " (" + i.groupContinuedMessage + ". " + i.groupContinuesMessage + ")" : i.groupContinuesMessage ? o += " (" + i.groupContinuesMessage + ")" : i.groupContinuedMessage && (o += " (" + i.groupContinuedMessage + ")")), n.addClass("dx-group-cell"), e.encodeHtml ? s.textContent = o : s.innerHTML = o } }, _update: function () { }, _getCellTemplate: function (e) { var t = e.column; return "group" !== e.rowType || !(0, l.isDefined)(t.groupIndex) || t.showWhenGrouped || t.command ? ("data" === e.rowType || t.command) && t.cellTemplate ? t.cellTemplate : { allowRenderToDetachedContainer: !0, render: this._getDefaultTemplate(t) } : t.groupCellTemplate || { allowRenderToDetachedContainer: !0, render: this._getDefaultGroupTemplate(t) } }, _createRow: function (e) { var t = this.callBase(e); if (e) { var n = "group" === e.rowType, i = "data" === e.rowType; if (i && t.addClass("dx-data-row"), i && this.option("showRowLines") && t.addClass("dx-row-lines"), this.option("showColumnLines") && t.addClass("dx-column-lines"), !1 === e.visible && t.hide(), n) { t.addClass("dx-group-row"); var a = e.isExpanded; this.setAria("role", "row", t), this.setAria("expanded", (0, l.isDefined)(a) && a.toString(), t) } } return t }, _rowPrepared: function (e, t, n) { var i = this; "data" === t.rowType && (this.option("rowAlternationEnabled") && (this._isAltRow(n) && e.addClass("dx-row-alt"), t.watch && t.watch((function () { return i._isAltRow(n) }), (function (t) { e.toggleClass("dx-row-alt", t) }))), this._setAriaRowIndex(t, e), t.watch && t.watch((function () { return t.rowIndex }), (function () { return i._setAriaRowIndex(t, e) }))), this.callBase.apply(this, arguments) }, _setAriaRowIndex: function (e, t) { var n = this.component, i = "standard" === n.option("scrolling.mode") && "virtual" !== n.option("scrolling.rowRenderingMode"), a = e.rowIndex + 1; i ? a = n.pageIndex() * n.pageSize() + a : a += this._dataController.getRowIndexOffset(), this.setAria("rowindex", a, t) }, _afterRowPrepared: function (e) { var t = this, n = e.args[0], i = this._dataController, a = i.getVisibleRows()[n.rowIndex], s = this.option("integrationOptions.watchMethod"); if (n.data && "data" === n.rowType && !n.isNewRow && this.option("twoWayBindingEnabled") && s && a) { var r = s((function () { return i.generateDataValues(n.data, n.columns) }), (function () { i.repaintRows([a.rowIndex], t.option("repaintChangesOnly")) }), { deep: !0, skipImmediate: !0 }); o.default.on(n.rowElement, _.default, r) } }, _renderScrollable: function (e) { var t = this.element(); if (t.children().length || t.append("<div>"), !e && this._loadPanel || this._renderLoadPanel(t, t.parent(), this._dataController.isLocalStore()), (e || !this.getScrollable()) && this._dataController.isLoaded()) { for (var n = this.getColumns(), i = !0, a = 0; a < n.length; a++)if (!n[a].width && !n[a].minWidth) { i = !1; break } (this.option("columnAutoWidth") || this._hasHeight || i || this._columnsController._isColumnFixing()) && this._renderScrollableCore(t) } }, _handleScroll: function (e) { var t = this.option("rtlEnabled"); this._isScrollByEvent = !!e.event, this._scrollTop = e.scrollOffset.top, this._scrollLeft = e.scrollOffset.left, t && (this._scrollRight = x(e.component) - this._scrollLeft), this.scrollChanged.fire(e.scrollOffset, this.name) }, _renderScrollableCore: function (e) { var t = this._createScrollableOptions(), n = this._handleScroll.bind(this); t.onScroll = n, t.onStop = n, this._scrollable = this._createComponent(e, m.default, t), this._scrollableContainer = this._scrollable && this._scrollable._$container }, _renderLoadPanel: p.default.renderLoadPanel, _renderContent: function (e, t) { return e.empty().append(t), this._findContentElement() }, _updateContent: function (e, t) { var n = this, i = n._getTableElement(), a = n._findContentElement(), o = t && t.changeType, s = [], r = this.option("highlightChanges"), c = this.addWidgetPrefix("row-inserted-animation"); switch (o) { case "update": (0, d.each)(t.rowIndices, (function (a, o) { var d = n._getRowElements(e).eq(a), u = t.changeTypes && t.changeTypes[a], h = t.items && t.items[a]; s.push((function () { var e = n._getRowElements(), s = e.eq(o); switch (u) { case "update": if (h) { var f = t.columnIndices && t.columnIndices[a]; (0, l.isDefined)(h.visible) && h.visible !== s.is(":visible") ? s.toggle(h.visible) : f ? n._updateCells(s, d, f) : s.replaceWith(d) } break; case "insert": if (e.length) s.length ? d.insertBefore(s) : d.insertAfter(e.last()); else if (i) { var p = d.is("tbody") ? i : i.children("tbody"); d.prependTo(p) } r && t.isLiveUpdate && d.addClass(c); break; case "remove": s.remove() } })) })), (0, d.each)(s, (function () { this() })), e.remove(); break; default: n._setTableElement(e), a.addClass(n.addWidgetPrefix("content")), n._renderContent(a, e) } }, _createEmptyRow: function (e, t, n) { var i, a = this._createRow(), o = t ? this.getFixedColumns() : this.getColumns(); a.addClass(e).toggleClass("dx-column-lines", this.option("showColumnLines")); for (var s = 0; s < o.length; s++)i = this._createCell({ column: o[s], rowType: "freeSpace", columnIndex: s, columns: o }), (0, l.isNumeric)(n) && i.css("height", n), a.append(i); return this.setAria("role", "presentation", a), a }, _appendEmptyRow: function (e, t, n) { var i = this._getBodies(e), a = !i.length || t.is("tbody"), o = a ? e : i; if ("top" === n) { if (o.first().prepend(t), a) { var s = o.children("colgroup"); o.prepend(s) } } else o.last().append(t) }, _renderFreeSpaceRow: function (e) { var t = this._createEmptyRow("dx-freespace-row"); t = this._wrapRowIfNeed(e, t), this._appendEmptyRow(e, t) }, _checkRowKeys: function (e) { var t = this, n = t._getRows(e), i = t._dataController.store() && t._dataController.store().key(); i && n.some((function (e) { if ("data" === e.rowType && void 0 === e.key) return t._dataController.fireError("E1046", i), !0 })) }, _needUpdateRowHeight: function (e) { return e > 0 && !this._rowHeight }, _getRowsHeight: function (e) { return e.children("tbody").children().not(".dx-virtual-row").not(".dx-freespace-row").toArray().reduce((function (e, t) { return e + (0, u.getBoundingRect)(t).height }), 0) }, _updateRowHeight: function () { var e = this._getTableElement(), t = this._dataController.items().length; if (e && this._needUpdateRowHeight(t)) { var n = this._getRowsHeight(e); this._rowHeight = n / t } }, _findContentElement: function () { var e = this.element(), t = this.getScrollable(); if (e) return t && (e = t.$content()), e.children().first() }, _getRowElements: function (e) { var t = this.callBase(e); return t && t.not(".dx-freespace-row") }, _getFreeSpaceRowElements: function (e) { var t = e || this.getTableElements(); return t && t.children("tbody").children(".dx-freespace-row") }, _getNoDataText: function () { return this.option("noDataText") }, _rowClick: function (e) { var t = this._dataController.items()[e.rowIndex] || {}; this.executeAction("onRowClick", (0, c.extend)({ evaluate: function (e) { return (0, f.compileGetter)(e)(t.data) } }, e, t)) }, _rowDblClick: function (e) { var t = this._dataController.items()[e.rowIndex] || {}; this.executeAction("onRowDblClick", (0, c.extend)({}, e, t)) }, _getColumnsCountBeforeGroups: function (e) { for (var t = 0; t < e.length; t++)if ("groupExpand" === e[t].type) return t; return 0 }, _getGroupCellOptions: function (e) { var t = this._getColumnsCountBeforeGroups(e.columns), n = (e.row.groupIndex || 0) + t; return { columnIndex: n, colspan: e.columns.length - n - 1 } }, _renderCells: function (e, t) { "group" === t.row.rowType ? this._renderGroupedCells(e, t) : t.row.values && this.callBase(e, t) }, _renderGroupedCells: function (e, t) { for (var n, i, a = t.row, o = t.columns, s = a.rowIndex, r = this._getGroupCellOptions(t), l = 0; l <= r.columnIndex; l++)l === r.columnIndex && o[l].allowCollapsing && "infinite" !== t.scrollingMode ? (i = !!a.isExpanded, n = o[l]) : (i = null, n = { command: "expand", cssClass: o[l].cssClass }), this._renderCell(e, { value: i, row: a, rowIndex: s, column: n, columnIndex: l }); var d = (0, u.getDefaultAlignment)(this.option("rtlEnabled")), h = (0, c.extend)({}, o[r.columnIndex], { command: null, cssClass: null, width: null, showWhenGrouped: !1, alignment: d }); r.colspan > 1 && (h.colspan = r.colspan), this._renderCell(e, { value: a.values[a.groupIndex], row: a, rowIndex: s, column: h, columnIndex: r.columnIndex }) }, _renderRows: function (e, t) { var n = this.option("scrolling.mode"); this.callBase(e, (0, c.extend)({ scrollingMode: n }, t)), this._checkRowKeys(t.change), this._renderFreeSpaceRow(e), this._hasHeight || this.updateFreeSpaceRowHeight(e) }, _renderRow: function (e, t) { var n = t.row, i = this.option("rowTemplate"); "data" !== n.rowType && "group" !== n.rowType || (0, l.isDefined)(n.groupIndex) || !i ? this.callBase(e, t) : this.renderTemplate(e, i, (0, c.extend)({ columns: t.columns }, n), !0) }, _renderTable: function (e) { var t = this, n = t.callBase(e); return (0, l.isDefined)(t._getTableElement()) ? t._renderScrollable() : (t._setTableElement(n), t._renderScrollable(!0), t.resizeCompleted.add((function e() { var n = t.getScrollable(); n && t.element().closest((0, a.getWindow)().document).length && (t.resizeCompleted.remove(e), n._visibilityChanged(!0)) }))), n }, _createTable: function () { var e = this.callBase.apply(this, arguments); return this.option("rowTemplate") && e.appendTo(this.component.$element()), e }, _renderCore: function (e) { var t = this.element(); t.addClass(this.addWidgetPrefix("rowsview")).toggleClass(this.addWidgetPrefix("nowrap"), !this.option("wordWrapEnabled")), t.toggleClass("dx-empty", 0 === this._dataController.items().length), this.setAria("role", "presentation", t); var n = this._renderTable({ change: e }); this._updateContent(n, e), this.callBase(e), this._lastColumnWidths = null }, _getRows: function (e) { return e && e.items || this._dataController.items() }, _getCellOptions: function (e) { var t = e.column, n = e.row, i = n.data, a = n && n.summaryCells, o = e.value, s = p.default.getDisplayValue(t, o, i, n.rowType), r = this.callBase(e); if (r.value = o, r.oldValue = e.oldValue, r.displayValue = s, r.row = n, r.key = n.key, r.data = i, r.rowType = n.rowType, r.values = n.values, r.text = t.command ? "" : p.default.formatValue(s, t), r.rowIndex = n.rowIndex, r.summaryItems = a && a[e.columnIndex], r.resized = t.resizedCallbacks, (0, l.isDefined)(t.groupIndex) && !t.command) { var d = this.option("grouping.texts"), c = this.option("scrolling.mode"); "virtual" !== c && "infinite" !== c && (r.groupContinuesMessage = i && i.isContinuationOnNextPage && d && d.groupContinuesMessage, r.groupContinuedMessage = i && i.isContinuation && d && d.groupContinuedMessage) } return r }, _setRowsOpacityCore: function (e, t, n, a) { var o = this._columnsController, s = o.getColumns(), r = s && s[n], c = r && r.isBand && r.index; (0, d.each)(e, (function (s, r) { if (!(0, i.default)(r).hasClass("dx-group-row")) for (var d = 0; d < t.length && (!((0, l.isNumeric)(c) && o.isParentBandColumn(t[d].index, c) || t[d].index === n) || (e.eq(s).children().eq(d).css({ opacity: a }), (0, l.isNumeric)(c))); d++); })) }, _getDevicePixelRatio: function () { return (0, a.getWindow)().devicePixelRatio }, renderNoDataText: p.default.renderNoDataText, getCellOptions: function (e, t) { var n, i, a = this._dataController.items()[e]; return a && (i = (0, l.isString)(t) ? this._columnsController.columnOption(t) : this._columnsController.getVisibleColumns()[t]) && (n = this._getCellOptions({ value: i.calculateCellValue(a.data), rowIndex: a.rowIndex, row: a, column: i })), n }, getRow: function (e) { if (e >= 0) { var t = this._getRowElements(); if (t.length > e) return (0, i.default)(t[e]) } }, updateFreeSpaceRowHeight: function (e) { var t = this, n = this._dataController, i = n.items(!0).length, a = this._findContentElement(), o = this._getFreeSpaceRowElements(e); if (o && a && n.totalCount() >= 0) { var l = !1; if (i > 0) if (this._hasHeight) o.hide(), (0, s.deferUpdate)((function () { var n = t.getScrollbarWidth(!0), i = t.element().height() - n, r = i - a.outerHeight() > 0, d = t._getRowsHeight(a.children().first()), c = e || t.getTableElements(), u = i - d - Math.ceil(parseFloat(c.css("borderTopWidth"))) - t._getHeightCorrection(); r && (0, s.deferRender)((function () { o.css("height", u), l = !0, o.show() })), (0, s.deferRender)((function () { return t._updateLastRowBorder(l) })) })); else { var d = n.pageSize() - i, c = this.option("scrolling.mode"); d > 0 && n.pageCount() > 1 && "virtual" !== c && "infinite" !== c && ((0, r.setHeight)(o, d * this._rowHeight), l = !0), !l && e ? (0, r.setHeight)(o, 0) : o.toggle(l), this._updateLastRowBorder(l) } else o.css("height", 0), o.show(), this._updateLastRowBorder(!0) } }, _getHeightCorrection: function () { var e = y.default.webkit && this._getDevicePixelRatio() >= 2, t = y.default.mozilla && y.default.version >= 70 && !this.option("showRowLines"); return e || t ? 1 : 0 }, _columnOptionChanged: function (e) { var t = e.optionNames; e.changeTypes.grouping || (t.width || t.visibleWidth) && (this.callBase(e), this._fireColumnResizedCallbacks()) }, getScrollable: function () { return this._scrollable }, init: function () { var e = this, t = e.getController("data"); e.callBase(), e._editorFactoryController = e.getController("editorFactory"), e._rowHeight = 0, e._scrollTop = 0, e._scrollLeft = -1, e._scrollRight = 0, e._hasHeight = !1, t.loadingChanged.add((function (t, n) { e.setLoading(t, n) })), t.dataSourceChanged.add((function () { e._scrollLeft >= 0 && e._handleScroll({ component: e.getScrollable(), scrollOffset: { top: e._scrollTop, left: e._scrollLeft } }) })) }, _handleDataChanged: function (e) { switch (e.changeType) { case "refresh": case "prepend": case "append": case "update": this.render(null, e); break; default: this._update(e) } }, publicMethods: function () { return ["isScrollbarVisible", "getTopVisibleRowData", "getScrollbarWidth", "getCellElement", "getRowElement", "getScrollable"] }, contentWidth: function () { return this.element().width() - this.getScrollbarWidth() }, getScrollbarWidth: function (e) { var t, n = this._scrollableContainer && this._scrollableContainer.get(0), i = 0; return n && (e ? (i = n.clientHeight ? n.offsetHeight - n.clientHeight : 0, i += (t = this.getScrollable()) ? Math.ceil(parseFloat(t.$content().css("paddingBottom"))) : 0) : i = n.clientWidth ? n.offsetWidth - n.clientWidth : 0), i > 0 ? i : 0 }, _fireColumnResizedCallbacks: function () { for (var e = this._lastColumnWidths || [], t = [], n = this.getColumns(), i = 0; i < n.length; i++)t[i] = n[i].visibleWidth, n[i].resizedCallbacks && !(0, l.isDefined)(n[i].groupIndex) && e[i] !== t[i] && n[i].resizedCallbacks.fire(t[i]); this._lastColumnWidths = t }, _updateLastRowBorder: function (e) { this.option("showBorders") && this.option("showRowLines") && !e ? this.element().addClass("dx-last-row-border") : this.element().removeClass("dx-last-row-border") }, _updateScrollable: function () { var e = m.default.getInstance(this.element()); e && (e.update(), this._updateHorizontalScrollPosition()) }, _updateHorizontalScrollPosition: function () { var e = this.getScrollable(), t = e && e.scrollOffset().left; if (this.option("rtlEnabled")) { var n = x(e); n - t !== this._scrollRight && (this._scrollLeft = n - this._scrollRight) } this._scrollLeft >= 0 && t !== this._scrollLeft && e.scrollTo({ x: this._scrollLeft }) }, _resizeCore: function () { var e = this; e._fireColumnResizedCallbacks(), e._updateRowHeight(), (0, s.deferRender)((function () { e._renderScrollable(), e.renderNoDataText(), e.updateFreeSpaceRowHeight(), (0, s.deferUpdate)((function () { e._updateScrollable() })) })) }, scrollTo: function (e) { var t = this.element(), n = t && m.default.getInstance(t); n && n.scrollTo(e) }, height: function (e, t) { var n = this, i = this.element(); if (0 === arguments.length) return i ? i.outerHeight(!0) : 0; n._hasHeight = void 0 === t ? "auto" !== e : t, (0, l.isDefined)(e) && i && (0, r.setHeight)(i, e) }, setLoading: function (e, t) { var n = this._loadPanel, i = this._dataController, o = this.option("loadPanel") || {}, s = i.isLoaded() ? o.animation : null, r = this.element(); if ((0, a.hasWindow)() && (!n && void 0 !== t && i.isLocalStore() && "auto" === o.enabled && r && (this._renderLoadPanel(r, r.parent()), n = this._loadPanel), n)) { var l = { message: t || o.text, animation: s, visible: e }; clearTimeout(this._hideLoadingTimeoutID), n.option("visible") && !e ? this._hideLoadingTimeoutID = setTimeout((function () { n.option(l) }), 200) : n.option(l) } }, setRowsOpacity: function (e, t) { var n = this._getRowElements().not(".dx-group-row") || []; this._setRowsOpacityCore(n, this.getColumns(), e, t) }, _getCellElementsCore: function (e) { var t = this.callBase(e); if (t) { var n = t.filter(".dx-group-cell").index(); if (n >= 0 && t.length > n + 1) return t.slice(0, n + 1) } return t }, getTopVisibleItemIndex: function (e) { var t = 0, n = 0, i = 0, a = this._scrollTop, o = this._findContentElement(), s = o && o.offset().top, r = this._dataController.items(), l = this._getTableElement(); if (r.length && l) { var d = this._getRowElements(l).filter(":visible"); for (t = 0; t < r.length; t++) { n = i; var c = d.eq(t); if (c.length && (i = c.offset().top - s) > a) { t && (e || 2 * a < Math.round(i + n)) && t--; break } } t && t === r.length && t-- } return t }, getTopVisibleRowData: function () { var e = this.getTopVisibleItemIndex(), t = this._dataController.items(); if (t[e]) return t[e].data }, _scrollToElement: function (e, t) { var n = this.getScrollable(); n && n.scrollToElement(e, t) }, optionChanged: function (e) { switch (this.callBase(e), e.name) { case "wordWrapEnabled": case "showColumnLines": case "showRowLines": case "rowAlternationEnabled": case "rowTemplate": case "twoWayBindingEnabled": this._invalidate(!0, !0), e.handled = !0; break; case "scrolling": this._rowHeight = null, this._tableElement = null, e.handled = !0; break; case "rtlEnabled": this._rowHeight = null, this._tableElement = null; break; case "loadPanel": this._tableElement = null, this._invalidate(!0, "loadPanel.enabled" !== e.fullName), e.handled = !0; break; case "noDataText": this.renderNoDataText(), e.handled = !0 } }, dispose: function () { clearTimeout(this._hideLoadingTimeoutID), this._scrollable && this._scrollable.dispose() }, setScrollerSpacing: function () { } })) } }; t.default = C, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(406)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("contextMenu", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = n(18), o = n(4), s = n(3), r = d(n(24)), l = d(n(113)); function d(e) { return e && e.__esModule ? e : { default: e } } var c = { columnHeadersView: "header", rowsView: "content", footerView: "footer", headerPanel: "headerPanel" }, u = ["columnHeadersView", "rowsView", "footerView", "headerPanel"], h = { defaultOptions: function () { return { onContextMenuPreparing: null } }, controllers: { contextMenu: r.default.ViewController.inherit({ init: function () { this.createAction("onContextMenuPreparing") }, getContextMenuItems: function (e) { if (!e) return !1; var t, n, o, r, l = this, d = (0, i.default)(e.target); return (0, s.each)(u, (function () { var i = l.getView(this); if ((t = i && i.element()) && (t.is(d) || t.find(d).length)) { o = d.closest(".dx-row > td, .dx-row > tr"), n = o.parent(); var s = i.getRowIndex(n), u = o[0] && o[0].cellIndex, h = n.data("options"), f = { event: e, targetElement: (0, a.getPublicElement)(d), target: c[this], rowIndex: s, row: i._getRows()[s], columnIndex: u, column: h && h.cells[u].column }; if (f.items = i.getContextMenuItems && i.getContextMenuItems(f), l.executeAction("onContextMenuPreparing", f), l._contextMenuPrepared(f), r = f.items) return !1 } })), r }, _contextMenuPrepared: o.noop }) }, views: { contextMenuView: r.default.View.inherit({ _renderCore: function () { var e = this, t = e.element().addClass("dx-context-menu"); this.setAria("role", "presentation", t), this._createComponent(t, l.default, { onPositioning: function (t) { var n = t.event, i = t.component, a = e.getController("contextMenu").getContextMenuItems(n); a ? (i.option("items", a), n.stopPropagation()) : t.cancel = !0 }, onItemClick: function (e) { e.itemData.onItemClick && e.itemData.onItemClick(e) }, cssClass: e.getWidgetContainerClass(), target: e.component.$element() }) } }) } }; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(408)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("errorHandling", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = l(n(5)), o = n(19), s = n(3), r = l(n(24)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = { defaultOptions: function () { return { errorRowEnabled: !0 } }, controllers: { errorHandling: r.default.ViewController.inherit({ init: function () { this._columnHeadersView = this.getView("columnHeadersView"), this._rowsView = this.getView("rowsView") }, _createErrorRow: function (e, t) { var n, r, l = this, d = this._renderErrorMessage(e); return t ? (n = (0, i.default)("<tr>").addClass("dx-error-row"), r = (0, i.default)("<div>").addClass("dx-closebutton").addClass(l.addWidgetPrefix("action")), a.default.on(r, o.name, l.createAction((function (e) { var n, a = e.event, o = (0, i.default)(a.currentTarget).closest(".dx-error-row").index(); a.stopPropagation(), (0, s.each)(t, (function (e, t) { n = (0, i.default)(t).children("tbody").children("tr").eq(o), l.removeErrorRow(n) })), l.getController("resizing") && l.getController("resizing").fireContentReadyAction() }))), (0, i.default)("<td>").attr({ colSpan: l.getController("columns").getVisibleColumns().length, role: "presentation" }).prepend(r).append(d).appendTo(n), n) : d }, _renderErrorMessage: function (e) { var t = e.url ? e.message.replace(e.url, "") : e.message || e, n = (0, i.default)("<div>").addClass("dx-error-message").text(t); return e.url && (0, i.default)("<a>").attr("href", e.url).text(e.url).appendTo(n), n }, renderErrorRow: function (e, t, n) { var a, o, r = this; if (n) return n.find(".dx-error-message").remove(), a = r._createErrorRow(e), n.prepend(a), a; var l = t >= 0 || !r._columnHeadersView.isVisible() ? r._rowsView : r._columnHeadersView, d = n || l.getTableElements(); if ((0, s.each)(d, (function (n, s) { if (a = r._createErrorRow(e, d), o = o || a, t >= 0) { var c = l._getRowElements((0, i.default)(s)).eq(t); r.removeErrorRow(c.next()), a.insertAfter(c) } else { var u = (0, i.default)(s).children("tbody"), h = u.children("tr"); r._columnHeadersView.isVisible() ? (r.removeErrorRow(h.last()), (0, i.default)(s).append(a)) : (r.removeErrorRow(h.first()), u.first().prepend(a)) } })), !n) { var c = r.getController("resizing"); c && c.fireContentReadyAction() } return o }, removeErrorRow: function (e) { if (!e) { var t = this._columnHeadersView && this._columnHeadersView.element(); if (!(e = t && t.find(".dx-error-row")) || !e.length) { var n = this._rowsView.element(); e = n && n.find(".dx-error-row") } } e && e.hasClass("dx-error-row") && e.remove() }, optionChanged: function (e) { switch (e.name) { case "errorRowEnabled": e.handled = !0; break; default: this.callBase(e) } } }) }, extenders: { controllers: { data: { init: function () { var e = this, t = e.getController("errorHandling"); e.callBase(), e.dataErrorOccurred.add((function (n, i) { e.option("errorRowEnabled") && t.renderErrorRow(n, void 0, i) })), e.changed.add((function (t) { if (!t || "loadError" !== t.changeType) { var n = e.getController("errorHandling"), i = e.getController("editing"); i && !i.hasChanges() && n && n.removeErrorRow() } })) } } } } }; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(410)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = a.default.views.gridView.inherit({ _getWidgetAriaLabel: function () { return "dxTreeList-ariaTreeList" }, _getTableRoleName: function () { return "treegrid" } }); i.default.registerModule("gridView", { defaultOptions: a.default.defaultOptions, controllers: a.default.controllers, views: { gridView: s }, extenders: { controllers: { resizing: { _toggleBestFitMode: function (e) { (this.callBase(e), this.option("legacyRendering")) || this._rowsView._getTableElement().find(".dx-treelist-cell-expandable").toggleClass(this.addWidgetPrefix("best-fit"), e) } } } } }) }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = v(n(2)), o = v(n(24)), s = n(4), r = n(7), l = n(3), d = n(0), c = n(25), u = v(n(22)), h = v(n(10)), f = n(6), p = v(n(9)), g = v(n(15)), m = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = _(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(86)); function _() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return _ = function () { return e }, e } function v(e) { return e && e.__esModule ? e : { default: e } } var y = ["columnsSeparatorView", "blockSeparatorView", "trackerView", "headerPanel", "columnHeadersView", "rowsView", "footerView", "columnChooserView", "filterPanelView", "pagerView", "draggingHeaderView", "contextMenuView", "errorView", "headerFilterView", "filterBuilderView"], w = function (e) { return (0, d.isString)(e) && "%" === e.slice(-1) }, x = function (e, t) { var n = []; if (e && t && e.length && e.length === t.length) for (var i = 0; i < e.length; i++)n.push(e[i] > t[i] ? e[i] : t[i]); else e && e.length ? n = e : t && (n = t); return n }, b = function (e, t) { var n = e._rowsView.contentWidth(); return n - e._getTotalWidth(t, n) }, C = function (e, t) { m.hiddenFocus(e), u.default.setSelectionRange(e, t) }, k = { defaultOptions: function () { return { showBorders: !1, renderAsync: !1, legacyRendering: !1 } }, controllers: { resizing: o.default.ViewController.inherit({ _initPostRenderHandlers: function () { var e = this, t = e._dataController; e._refreshSizesHandler || (e._refreshSizesHandler = function (n) { var i; t.changed.remove(e._refreshSizesHandler); var a = n && n.changeType, o = n && n.isDelayed, r = t.items(); n && "refresh" !== a && "prepend" !== a && "append" !== a ? "update" === a && n.changeTypes && (!(r.length > 1 || "insert" !== n.changeTypes[0]) || 0 === r.length && "remove" === n.changeTypes[0] || n.needUpdateDimensions ? i = e.resize() : (0, s.deferUpdate)((function () { e._rowsView.resize() }))) : o || (i = e.resize()), a && "updateSelection" !== a && "updateFocusedRow" !== a && !o && (0, f.when)(i).done((function () { e._setAriaRowColCount(), e.fireContentReadyAction() })) }, e._dataController.changed.add((function () { e._dataController.changed.add(e._refreshSizesHandler) }))) }, fireContentReadyAction: function () { this.component._fireContentReadyAction() }, _setAriaRowColCount: function () { var e = this.component; e.setAria({ rowCount: this._dataController.totalItemsCount(), colCount: e.columnCount() }, e.$element().children(".dx-gridbase-container")) }, _getBestFitWidths: function () { if (!this.option("legacyRendering")) return this._rowsView.getColumnWidths(); var e = this._rowsView.getColumnWidths(), t = this._columnHeadersView && this._columnHeadersView.getColumnWidths(), n = this._footerView && this._footerView.getColumnWidths(), i = x(e, t); return i = x(i, n) }, _setVisibleWidths: function (e, t) { var n = this._columnsController; n.beginUpdate(), (0, l.each)(e, (function (e, i) { var a = n.getColumnId(i); n.columnOption(a, "visibleWidth", t[e]) })), n.endUpdate() }, _toggleBestFitModeForView: function (e, t, n) { var i = this; if (e && e.isVisible()) { var o = this._rowsView.getTableElements(), s = e.getTableElements(); (0, l.each)(o, (function (e, o) { var r, l = (0, a.default)(o), d = s.eq(e); d && d.length && ((r = n ? d.children("tbody").appendTo(l) : l.children("." + t).appendTo(d)).toggleClass(t, n), r.toggleClass(i.addWidgetPrefix("best-fit"), n)) })) } }, _toggleBestFitMode: function (e) { var t = this.component.$element(); if (this.option("legacyRendering")) t.find("." + this.addWidgetPrefix("table")).toggleClass(this.addWidgetPrefix("table-fixed"), !e), t.find("input:not([type='hidden'])").toggleClass("dx-hidden", e), t.find(".dx-group-cell").toggleClass("dx-hidden", e), t.find(".dx-header-row ." + this.addWidgetPrefix("text-content")).css("maxWidth", ""); else { var n = this._rowsView._getTableElement(), i = this._rowsView.getTableElements().eq(1); if (!n) return; n.css("tableLayout", e ? "auto" : "fixed"), n.children("colgroup").css("display", e ? "none" : ""), i.toggleClass(this.addWidgetPrefix("table-fixed"), !e), this._toggleBestFitModeForView(this._columnHeadersView, "dx-header", e), this._toggleBestFitModeForView(this._footerView, "dx-footer", e), this._needStretch() && (n.get(0).style.width = e ? "auto" : ""), g.default.msie && 11 === parseInt(g.default.version) && n.find("." + this.addWidgetPrefix("table-fixed")).each((function () { this.style.width = e ? "10px" : "" })) } }, _synchronizeColumns: function () { var e, t, n, i = this, a = i._columnsController, o = a.getVisibleColumns(), r = i.option("columnAutoWidth"), h = i.option("legacyRendering"), f = i._needBestFit(), m = !1, _ = !1, v = []; !f && (0, l.each)(o, (function (e, t) { if ("auto" === t.width || h && t.fixed) return f = !0, !1 })), (0, l.each)(o, (function (e, t) { if (t.minWidth) return m = !0, !1 })), i._setVisibleWidths(o, []), f && (t = p.default.getActiveElement(), n = u.default.getSelectionRange(t), i._toggleBestFitMode(!0), e = !0), (0, s.deferUpdate)((function () { var u; (f ? (v = i._getBestFitWidths(), (0, l.each)(o, (function (e, t) { var n = a.getColumnId(t); a.columnOption(n, "bestFitWidth", v[e], !0) }))) : m && (v = i._getBestFitWidths()), (0, l.each)(o, (function (e) { var t = this.width; "auto" !== t && ((0, d.isDefined)(t) ? v[e] = (0, d.isNumeric)(t) || function (e) { return (0, d.isString)(e) && "px" === e.slice(-2) }(t) ? parseFloat(t) : t : r || (v[e] = void 0)) })), e) && (i._toggleBestFitMode(!1), e = !1, t && t !== p.default.getActiveElement() && ((0, c.getBoundingRect)(t).bottom < 0 || (g.default.msie ? setTimeout((function () { C(t, n) })) : C(t, n)))); _ = i._correctColumnWidths(v, o), r && ((0, l.each)(o, (function (e, t) { "groupExpand" === t.type && (u = v[e]) })), (0, l.each)(o, (function (e, t) { "groupExpand" === t.type && u && (v[e] = u) })), i._needStretch() && i._processStretch(v, o)), (0, s.deferRender)((function () { (f || _) && i._setVisibleWidths(o, v) })) })) }, _needBestFit: function () { return this.option("columnAutoWidth") }, _needStretch: function () { return this.option("legacyRendering") || this._columnsController.getVisibleColumns().some((function (e) { return "auto" === e.width && !e.command })) }, _getAverageColumnsWidth: function (e) { return b(this, e) / e.filter((function (e) { return void 0 === e })).length }, _correctColumnWidths: function (e, t) { var n, i = this, a = !1, o = !1, s = !1, r = i.component.$element(), l = i._hasWidth, c = function () { var r = n, l = t[r], c = "adaptiveHidden" === e[r], u = e[r], h = l.minWidth; if (h) if (void 0 === u) { var f = i._getAverageColumnsWidth(e); u = f } else { if (w(u)) (function (e, t, n, i) { return b(e, i.map((function (e, i) { return i === t ? n : e }))) })(i, r, h, e) < 0 && (u = -1) } var p = i._getRealColumnWidth(r, e.map((function (e, t) { return r === t ? u : e }))); h && !c && p < h && (e[r] = h, s = !0, n = -1), (0, d.isDefined)(l.width) || (o = !0), w(l.width) && (a = !0) }; for (n = 0; n < t.length; n++)c(); if (r && i._maxWidth && (delete i._maxWidth, r.css("maxWidth", "")), !o && e.length) { var h = i._rowsView.contentWidth(), f = i._rowsView.getScrollbarWidth(), p = i._getTotalWidth(e, h); if (p < h) { var g = u.default.getLastResizableColumnIndex(t, e); g >= 0 && (e[g] = "auto", s = !0, !1 !== l || a || (i._maxWidth = p + f + (i.option("showBorders") ? 2 : 0), r.css("maxWidth", i._maxWidth))) } } return s }, _processStretch: function (e, t) { var n = this._rowsView.contentWidth(), i = this._getTotalWidth(e, n), a = { length: 0 }; if (e.length) { (0, l.each)(t, (function (t) { (this.width || "adaptiveHidden" === e[t]) && (a[t] = !0, a.length++) })); var o = n - i, s = Math.floor(o / (e.length - a.length)), r = o - s * (e.length - a.length); if (o >= 0) for (var d = 0; d < e.length; d++)a[d] || (e[d] += s, r > 0 && (r < 1 ? (e[d] += r, r = 0) : (e[d]++, r--))) } }, _getRealColumnWidth: function (e, t, n) { var i = 1, a = t[e]; if (!w(a)) return parseFloat(a); var o = t.reduce((function (e, t, n) { return w(t) ? e + parseFloat(t) : e }), 0), s = t.reduce((function (e, t) { return !t || "adaptiveHidden" === t || w(t) ? e : e + parseFloat(t) }), 0), r = (n = n || this._rowsView.contentWidth()) - s, l = o * n / 100; return s > 0 && l + s >= n && (i = l > r ? r / l : 1), parseFloat(a) * n * i / 100 }, _getTotalWidth: function (e, t) { for (var n = 0, i = 0; i < e.length; i++) { var a = e[i]; a && "adaptiveHidden" !== a && (n += this._getRealColumnWidth(i, e, t)) } return n }, updateSize: function (e) { var t, n, i, a = this.addWidgetPrefix("important-margin"); void 0 === this._hasHeight && e && e.is(":visible") && e.width() && ((t = e.children("." + this.getWidgetContainerClass())).length && t.detach(), this._hasHeight = !!((i = e).get(0).clientHeight - parseFloat(i.css("paddingTop")) - parseFloat(i.css("paddingBottom"))), n = e.width(), e.addClass(a), this._hasWidth = e.width() === n, e.removeClass(a), t.length && t.appendTo(e)) }, publicMethods: function () { return ["resize", "updateDimensions"] }, resize: function () { return !this.component._requireResize && this.updateDimensions() }, updateDimensions: function (e) { var t = this; if (t._initPostRenderHandlers(), t._checkSize(e)) { var n = t._resizeDeferred, i = t._resizeDeferred = new f.Deferred; return (0, f.when)(n).always((function () { (0, s.deferRender)((function () { t._dataController.isLoaded() && t._synchronizeColumns(), t._resetGroupElementHeight(), (0, s.deferUpdate)((function () { (0, s.deferRender)((function () { (0, s.deferUpdate)((function () { t._updateDimensionsCore() })) })) })) })).done(i.resolve).fail(i.reject) })), i.promise() } }, _resetGroupElementHeight: function () { var e = this.component.$element().children().get(0), t = this._rowsView.getScrollable(); !e || !e.style.height || t && t.scrollTop() || (e.style.height = "") }, _checkSize: function (e) { var t = this.component.$element(); return !(e && (this._lastWidth === t.width() && this._lastHeight === t.height() || !t.is(":visible"))) }, _setScrollerSpacingCore: function (e) { var t = this, n = e ? t._rowsView.getScrollbarWidth() : 0, i = t._rowsView.getScrollbarWidth(!0); (0, s.deferRender)((function () { t._columnHeadersView && t._columnHeadersView.setScrollerSpacing(n), t._footerView && t._footerView.setScrollerSpacing(n), t._rowsView.setScrollerSpacing(n, i) })) }, _setScrollerSpacing: function (e) { var t = this; !0 === this.option("scrolling.useNative") ? (0, s.deferRender)((function () { (0, s.deferUpdate)((function () { t._setScrollerSpacingCore(e) })) })) : this._setScrollerSpacingCore(e) }, _updateDimensionsCore: function () { var e, t = this, n = t._dataController, i = t._rowsView, o = t.component.$element(), r = o.children().get(0), d = o && (o.get(0).clientHeight || o.height()), c = parseInt(o.css("maxHeight")), u = c && d >= c, h = t.option("height") || o.get(0).style.height, f = t.getController("editorFactory"), p = u && r.scrollHeight === r.offsetHeight; t.updateSize(o); var g = t._hasHeight || u; h && t._hasHeight ^ "auto" !== h && (e = (0, a.default)("<div>").height(h).appendTo(o), t._hasHeight = !!e.height(), e.remove()), (0, s.deferRender)((function () { i.height(null, g), u && !p && (0, a.default)(r).css("height", c), n.isLoaded() ? (0, s.deferUpdate)((function () { t._updateLastSizes(o), t._setScrollerSpacing(g), (0, l.each)(y, (function (e, n) { var i = t.getView(n); i && i.resize() })), f && f.resize() })) : i.setLoading(n.isLoading()) })) }, _updateLastSizes: function (e) { this._lastWidth = e.width(), this._lastHeight = e.height() }, optionChanged: function (e) { switch (e.name) { case "width": case "height": this.component._renderDimensions(), this.resize(); case "legacyRendering": case "renderAsync": return void (e.handled = !0); default: this.callBase(e) } }, init: function () { this._dataController = this.getController("data"), this._columnsController = this.getController("columns"), this._columnHeadersView = this.getView("columnHeadersView"), this._footerView = this.getView("footerView"), this._rowsView = this.getView("rowsView") } }), synchronizeScrolling: o.default.ViewController.inherit({ _scrollChangedHandler: function (e, t, n) { for (var i = 0; i < e.length; i++)e[i] && e[i].name !== n && e[i].scrollTo({ left: t.left, top: t.top }) }, init: function () { for (var e = [this.getView("columnHeadersView"), this.getView("footerView"), this.getView("rowsView")], t = 0; t < e.length; t++) { var n = e[t]; n && n.scrollChanged.add(this._scrollChangedHandler.bind(this, e)) } } }) }, views: { gridView: o.default.View.inherit({ _endUpdateCore: function () { this.component._requireResize && (this.component._requireResize = !1, this._resizingController.resize()) }, _getWidgetAriaLabel: function () { return "dxDataGrid-ariaDataGrid" }, init: function () { this._resizingController = this.getController("resizing"), this._dataController = this.getController("data") }, getView: function (e) { return this.component._views[e] }, element: function () { return this._groupElement }, optionChanged: function (e) { (0, d.isDefined)(this._groupElement) && "showBorders" === e.name ? (this._groupElement.toggleClass(this.addWidgetPrefix("borders"), !!e.value), e.handled = !0) : this.callBase(e) }, _renderViews: function (e) { var t = this; (0, l.each)(y, (function (n, i) { var a = t.getView(i); a && a.render(e) })) }, _getTableRoleName: function () { return "grid" }, render: function (e) { var t = !this._groupElement, n = this._groupElement || (0, a.default)("<div>").addClass(this.getWidgetContainerClass()); n.addClass("dx-gridbase-container"), n.toggleClass(this.addWidgetPrefix("borders"), !!this.option("showBorders")), this.setAria("role", "presentation", e), this.component.setAria({ role: this._getTableRoleName(), label: h.default.format(this._getWidgetAriaLabel()) }, n), this._rootElement = e || this._rootElement, t && (this._groupElement = n, (0, r.hasWindow)() && this.getController("resizing").updateSize(e), n.appendTo(e)), this._renderViews(n) }, update: function () { var e = this._rootElement, t = this._groupElement, n = this.getController("resizing"); e && t && (n.resize(), this._dataController.isLoaded() && this._resizingController.fireContentReadyAction()) } }) } }; t.default = k, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(412)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("headerPanel", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(228)), o = n(131), s = n(4), r = n(0), l = n(59); function d(e) { return e && e.__esModule ? e : { default: e } } n(230); var c = { defaultOptions: function () { return {} }, views: { headerPanel: o.ColumnsView.inherit({ _getToolbarItems: function () { return [] }, _getButtonContainer: function () { return (0, i.default)("<div>").addClass(this.addWidgetPrefix("toolbar-button")) }, _getToolbarButtonClass: function (e) { var t = e ? " " + e : ""; return this.addWidgetPrefix("toolbar-button") + t }, _getToolbarOptions: function () { var e = { toolbarOptions: { items: this._getToolbarItems(), onItemRendered: function (e) { var t = e.itemData.onItemRendered; t && t(e) } } }; if (this.executeAction("onToolbarPreparing", e), e.toolbarOptions && !(0, r.isDefined)(e.toolbarOptions.visible)) { var t = e.toolbarOptions.items; e.toolbarOptions.visible = !(!t || !t.length) } return e.toolbarOptions }, _renderCore: function () { this._toolbar ? this._toolbar.option(this._toolbarOptions) : (this.element().addClass(this.addWidgetPrefix("header-panel")), this._toolbar = this._createComponent((0, i.default)("<div>").appendTo(this.element()), a.default, this._toolbarOptions)) }, _columnOptionChanged: s.noop, _handleDataChanged: function () { this._requireReady && this.render() }, init: function () { this.callBase(), this.createAction("onToolbarPreparing", { excludeValidators: ["disabled", "readOnly"] }) }, render: function () { this._toolbarOptions = this._getToolbarOptions(), this.callBase.apply(this, arguments) }, setToolbarItemDisabled: function (e, t) { var n = this._toolbar; if (n) { var i = n.option("items") || [], a = i.indexOf(i.filter((function (t) { return t.name === e }))[0]); if (a >= 0) { var o = "items[" + a + "]"; n.option(o + ".options") ? n.option(o + ".options.disabled", t) : n.option(o + ".disabled", t) } } }, updateToolbarDimensions: function () { this._toolbar && (0, l.triggerResizeEvent)(this.getHeaderPanel()) }, getHeaderPanel: function () { return this.element() }, getHeight: function () { return this.getElementHeight() }, optionChanged: function (e) { "onToolbarPreparing" === e.name && (this._invalidate(), e.handled = !0), this.callBase(e) }, isVisible: function () { return this._toolbarOptions && this._toolbarOptions.visible }, allowDragging: s.noop }) }, extenders: { controllers: { resizing: { _updateDimensionsCore: function () { this.callBase.apply(this, arguments), this.getView("headerPanel").updateToolbarDimensions() } } } } }; t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; var i = s(n(16)), a = n(1), o = s(n(414)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = o.default.extenders.controllers.stateStoring.applyState; i.default.registerModule("stateStoring", (0, a.extend)(!0, {}, o.default, { extenders: { controllers: { stateStoring: { applyState: function (e) { r.apply(this, arguments), Object.prototype.hasOwnProperty.call(e, "expandedRowKeys") && this.option("expandedRowKeys", e.expandedRowKeys && e.expandedRowKeys.slice()) } }, data: { getUserState: function () { var e = this.callBase.apply(this, arguments); return this.option("autoExpandAll") || (e.expandedRowKeys = this.option("expandedRowKeys")), e } } } } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(4), a = n(0), o = n(1), s = n(203), r = n(6), l = function (e) { var t = e.getController("columns"), n = e.getController("selection"), i = e.getController("export"), a = e.getController("data"); t && t.columnsChanged.add((function () { e.updateState({ columns: t.getUserState() }) })), n && n.selectionChanged.add((function (t) { e.updateState({ selectedRowKeys: t.selectedRowKeys, selectionFilter: t.selectionFilter }) })), a && (e._initialPageSize = e.option("paging.pageSize"), e._initialFilterValue = e.option("filterValue"), a.changed.add((function () { var t = function (e) { var t = e.getView("pagerView"), n = e.getController("data"), i = { allowedPageSizes: t ? t.getPageSizes() : void 0, filterPanel: { filterEnabled: e.option("filterPanel.filterEnabled") }, filterValue: e.option("filterValue"), focusedRowKey: e.option("focusedRowEnabled") ? e.option("focusedRowKey") : void 0 }; return (0, o.extend)(i, n.getUserState()) }(e); e.updateState(t) }))), i && i.selectionOnlyChanged.add((function () { e.updateState({ exportSelectionOnly: i.selectionOnly() }) })) }, d = { defaultOptions: function () { return { stateStoring: { enabled: !1, storageKey: null, type: "localStorage", customLoad: null, customSave: null, savingTimeout: 2e3 } } }, controllers: { stateStoring: s.StateStoringController }, extenders: { views: { rowsView: { init: function () { var e = this, t = e.getController("data"); e.callBase(), t.stateLoaded.add((function () { if (t.isLoaded() && !t.getDataSource()) { e.setLoading(!1), e.renderNoDataText(); var n = e.component.getView("columnHeadersView"); n && n.render(), e.component._fireContentReadyAction() } })) } } }, controllers: { stateStoring: { init: function () { this.callBase.apply(this, arguments), l(this) }, isLoading: function () { return this.callBase() || this.getController("data").isStateLoading() }, state: function (e) { var t = this.callBase.apply(this, arguments); return void 0 !== e && this.applyState((0, o.extend)({}, e)), t }, updateState: function (e) { if (this.isEnabled()) { var t = this.state(), n = (0, o.extend)({}, t, e), a = (0, i.getKeyHash)(t), s = (0, i.getKeyHash)(n); (0, i.equalByValue)(a, s) || ((0, o.extend)(this._state, e), this.save()) } else (0, o.extend)(this._state, e) }, applyState: function (e) { var t = e.allowedPageSizes, n = e.searchText, i = e.selectedRowKeys, o = e.selectionFilter, s = this.getController("export"), r = this.getController("columns"), l = this.getController("data"), d = this.option("scrolling.mode"), c = "virtual" === d || "infinite" === d, u = !0 === this.option("pager.visible") && this.option("pager.showPageSizeSelector"); this.component.beginUpdate(), r && r.setUserState(e.columns), s && s.selectionOnly(e.exportSelectionOnly), i && this.option("selectedRowKeys", i), this.option("selectionFilter", o), t && "auto" === this.option("pager.allowedPageSizes") && (this.option("pager").allowedPageSizes = t), this.option("focusedRowEnabled") && this.option("focusedRowKey", e.focusedRowKey), this.component.endUpdate(), n && this.option("searchPanel.text", n), this.option("filterValue", function (e, t) { var n = e.getController("filterSync"), i = e.getController("columns"), a = t.columns || void 0 !== t.filterValue; return n ? a ? t.filterValue || n.getFilterValueFromColumns(t.columns) : e._initialFilterValue || n.getFilterValueFromColumns(i.getColumns()) : null }(this, e)), this.option("filterPanel.filterEnabled", !e.filterPanel || e.filterPanel.filterEnabled), this.option("paging.pageSize", c && !u || !(0, a.isDefined)(e.pageSize) ? this._initialPageSize : e.pageSize), this.option("paging.pageIndex", e.pageIndex || 0), l && l.reset() } }, columns: { getVisibleColumns: function () { var e = this.callBase.apply(this, arguments), t = this.getController("stateStoring"); return t.isEnabled() && !t.isLoaded() ? [] : e } }, data: { callbackNames: function () { return this.callBase().concat(["stateLoaded"]) }, _refreshDataSource: function () { var e = this, t = this.callBase, n = this.getController("stateStoring"); if (n.isEnabled() && !n.isLoaded()) { clearTimeout(this._restoreStateTimeoutID); var i = new r.Deferred; return this._restoreStateTimeoutID = setTimeout((function () { n.load().always((function () { e._restoreStateTimeoutID = null })).done((function () { t.call(e), e.stateLoaded.fire(), i.resolve() })).fail((function (t) { e.stateLoaded.fire(), e._handleLoadError(t || "Unknown error"), i.reject() })) })), i.promise() } this.isStateLoading() || t.call(this) }, isLoading: function () { var e = this.getController("stateStoring"); return this.callBase() || e.isLoading() }, isStateLoading: function () { return (0, a.isDefined)(this._restoreStateTimeoutID) }, isLoaded: function () { return this.callBase() && !this.isStateLoading() }, dispose: function () { clearTimeout(this._restoreStateTimeoutID), this.callBase() } }, selection: { _fireSelectionChanged: function (e) { var t = this.getController("stateStoring"), n = this.option("selection.deferred"); t.isLoading() && n || this.callBase.apply(this, arguments) } } } } }; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(416)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("columnChooser", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = n(4), o = m(n(24)), s = n(131), r = m(n(10)), l = n(34), d = m(n(35)), c = m(n(111)), u = m(n(12)), h = m(n(47)), f = n(0), p = n(1), g = n(3); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = function (e, t) { var n = [], i = "select" === e.option("columnChooser.mode"); return t.length && (0, g.each)(t, (function (e, t) { var a = { text: t.caption, cssClass: t.cssClass, allowHiding: t.allowHiding, expanded: !0, id: t.index, disabled: !1, disableCheckBox: !1 === t.allowHiding, parentId: (0, f.isDefined)(t.ownerBand) ? t.ownerBand : null }; i && (a.selected = t.visible), n.push(a) })), n }, v = { defaultOptions: function () { return { columnChooser: { enabled: !1, allowSearch: !1, searchTimeout: 500, mode: "dragAndDrop", width: 250, height: 260, title: r.default.format("dxDataGrid-columnChooserTitle"), emptyPanelText: r.default.format("dxDataGrid-columnChooserEmptyText"), container: void 0 } } }, controllers: { columnChooser: o.default.ViewController.inherit({ renderShowColumnChooserButton: function (e) { var t, n = this, a = n.addWidgetPrefix("column-chooser-button"), o = n.option("columnChooser.enabled"), s = e.find("." + a); o ? s.length ? s.show() : (t = (0, i.default)("<div>").addClass(a).appendTo(e), n._createComponent(t, d.default, { icon: "column-chooser", onClick: function () { n.getView("columnChooserView").showColumnChooser() }, hint: n.option("columnChooser.title"), integrationOptions: {} })) : s.hide() }, getPosition: function () { var e = this.getView("rowsView"); return { my: "right bottom", at: "right bottom", of: e && e.element(), collision: "fit", offset: "-2 -2", boundaryOffset: "2 2" } } }) }, views: { columnChooserView: s.ColumnsView.inherit({ _resizeCore: a.noop, _isWinDevice: function () { return !!u.default.real().win }, _updateList: function (e) { var t, n = this._popupContainer.$content(), i = "select" === this.option("columnChooser.mode"), a = this._columnChooserList, o = this._columnsController.getChooserColumns(i); if (i && a && e && "selection" === e.changeType) { t = _(this, o); for (var s = 0; s < t.length; s++) { var r = t[s].selected, l = t[s].id; l === e.columnIndex && (r ? a.selectItem(l, r) : a.unselectItem(l, r)) } } else i && a && "full" !== e || (this._popupContainer._wrapper().toggleClass(this.addWidgetPrefix("column-chooser-mode-drag"), !i).toggleClass(this.addWidgetPrefix("column-chooser-mode-select"), i), t = _(this, o), this._renderTreeView(n, t)) }, _initializePopupContainer: function () { var e = this, t = e.element().addClass(e.addWidgetPrefix("column-chooser")), n = e.option("columnChooser"), a = (0, l.current)(), o = (0, l.isGeneric)(a), s = (0, l.isMaterial)(a), r = { visible: !1, shading: !1, showCloseButton: !1, dragEnabled: !0, resizeEnabled: !0, toolbarItems: [{ text: n.title, toolbar: "top", location: o || s ? "before" : "center" }], position: e.getController("columnChooser").getPosition(), width: n.width, height: n.height, rtlEnabled: e.option("rtlEnabled"), onHidden: function () { e._isWinDevice() && (0, i.default)("body").removeClass(e.addWidgetPrefix("notouch-action")) }, container: n.container }; o || s ? (0, p.extend)(r, { showCloseButton: !0 }) : r.toolbarItems[r.toolbarItems.length] = { shortcut: "cancel" }, (0, f.isDefined)(this._popupContainer) ? this._popupContainer.option(r) : (e._popupContainer = e._createComponent(t, h.default, r), e._popupContainer.on("optionChanged", (function (t) { "visible" === t.name && e.renderCompleted.fire() }))) }, _renderCore: function (e) { this._popupContainer && this._updateList(e) }, _renderTreeView: function (e, t) { var n = this, o = this.option("columnChooser"), s = "select" === o.mode, r = { items: t, dataStructure: "plain", activeStateEnabled: !0, focusStateEnabled: !0, hoverStateEnabled: !0, itemTemplate: "item", showCheckBoxesMode: "none", rootValue: null, searchEnabled: o.allowSearch, searchTimeout: o.searchTimeout, onItemRendered: function (e) { if (e.itemData.disableCheckBox) { var t, n = (0, i.default)(e.itemElement).closest(".dx-treeview-node"); if (n.length && (t = n.find(".dx-checkbox")).length) { var a = t.data("dxCheckBox"); a && a.option("disabled", !0) } } } }, l = e.find(".dx-scrollable").data("dxScrollable"), d = l && l.scrollTop(); s && !this._columnsController.isBandColumnsUsed() && e.addClass(this.addWidgetPrefix("column-chooser-plain")), r.onContentReady = function (e) { (0, a.deferUpdate)((function () { if (d) { var t = (0, i.default)(e.element).find(".dx-scrollable").data("dxScrollable"); t && t.scrollTo({ y: d }) } n.renderCompleted.fire() })) }, this._isWinDevice() && (r.useNativeScrolling = !1), (0, p.extend)(r, s ? this._prepareSelectModeConfig() : this._prepareDragModeConfig()), this._columnChooserList ? (r.searchEnabled || (r.searchValue = ""), this._columnChooserList.option(r)) : (this._columnChooserList = this._createComponent(e, c.default, r), e.addClass(this.addWidgetPrefix("column-chooser-list"))) }, _prepareDragModeConfig: function () { return { noDataText: this.option("columnChooser").emptyPanelText, activeStateEnabled: !1, focusStateEnabled: !1, hoverStateEnabled: !1, itemTemplate: function (e, t, n) { (0, i.default)(n).text(e.text).parent().addClass(e.cssClass).addClass("dx-column-chooser-item") } } }, _prepareSelectModeConfig: function () { var e = this; return { selectNodesRecursive: !1, showCheckBoxesMode: "normal", onItemSelectionChanged: function (t) { 1 === e._columnsController.getVisibleColumns().filter((function (e) { return !e.command })).length && !t.itemData.selected ? t.component.selectItem(t.itemElement) : setTimeout((function () { e._columnsController.columnOption(t.itemData.id, "visible", t.itemData.selected) }), 300) } } }, _columnOptionChanged: function (e) { var t = e.changeTypes, n = e.optionNames, i = "select" === this.option("columnChooser.mode"); if (this.callBase(e), i) { var a = n.visible && 1 === n.length && void 0 !== e.columnIndex, o = n.showInColumnChooser || n.caption || n.visible || t.columns && n.all; a ? this.render(null, { changeType: "selection", columnIndex: e.columnIndex }) : o && this.render(null, "full") } }, optionChanged: function (e) { switch (e.name) { case "columnChooser": this._initializePopupContainer(), this.render(null, "full"); break; default: this.callBase(e) } }, getColumnElements: function () { var e, t = [], n = "select" === this.option("columnChooser.mode"), a = this._columnsController.getChooserColumns(n), o = this._popupContainer && this._popupContainer.$content(), s = o && o.find(".dx-treeview-node"); return s && a.forEach((function (n) { var i = (e = s.filter("[data-item-id = '" + n.index + "']")).length ? e.children(".dx-column-chooser-item").get(0) : null; t.push(i) })), (0, i.default)(t) }, getName: function () { return "columnChooser" }, getColumns: function () { return this._columnsController.getChooserColumns() }, allowDragging: function (e, t) { var n = e && e.allowHiding && ("columnChooser" !== t || !e.visible && this._columnsController.isParentColumnVisible(e.index)); return this.isColumnChooserVisible() && n }, getBoundingRect: function () { var e = this._popupContainer && this._popupContainer._container(); if (e && e.is(":visible")) { var t = e.offset(); return { left: t.left, top: t.top, right: t.left + e.outerWidth(), bottom: t.top + e.outerHeight() } } return null }, showColumnChooser: function () { this._popupContainer || (this._initializePopupContainer(), this.render()), this._popupContainer.show(), this._isWinDevice() && (0, i.default)("body").addClass(this.addWidgetPrefix("notouch-action")) }, hideColumnChooser: function () { this._popupContainer && this._popupContainer.hide() }, isColumnChooserVisible: function () { var e = this._popupContainer; return e && e.option("visible") }, publicMethods: function () { return ["showColumnChooser", "hideColumnChooser"] } }) }, extenders: { views: { headerPanel: { _getToolbarItems: function () { var e = this.callBase(); return this._appendColumnChooserItem(e) }, _appendColumnChooserItem: function (e) { var t = this; if (t.option("columnChooser.enabled")) { var n = t.option("columnChooser.title"), a = { widget: "dxButton", options: { icon: "column-chooser", onClick: function () { t.component.getView("columnChooserView").showColumnChooser() }, hint: n, text: n, onInitialized: function (e) { (0, i.default)(e.element).addClass(t._getToolbarButtonClass(t.addWidgetPrefix("column-chooser-button"))) } }, showText: "inMenu", location: "after", name: "columnChooserButton", locateInMenu: "auto", sortIndex: 40 }; e.push(a) } return e }, optionChanged: function (e) { switch (e.name) { case "columnChooser": this._invalidate(), e.handled = !0; break; default: this.callBase(e) } }, isVisible: function () { var e = this.option("columnChooser.enabled"); return this.callBase() || e } } }, controllers: { columns: { allowMoveColumn: function (e, t, n, i) { return !("select" === this.option("columnChooser.mode") && "columnChooser" === i) && this.callBase(e, t, n, i) } } } } }; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; var i = s(n(16)), a = s(n(418)), o = n(1); function s(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("masterDetail", (0, o.extend)(!0, {}, a.default, { extenders: { controllers: { data: { isRowExpanded: function () { return this.callBase.apply(this, arguments) }, _processItems: function () { return this.callBase.apply(this, arguments) }, _processDataItem: function () { return this.callBase.apply(this, arguments) } } } } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(22)), o = n(4), s = n(3), r = n(0), l = n(6); function d(e) { return e && e.__esModule ? e : { default: e } } var c, u = { defaultOptions: function () { return { masterDetail: { enabled: !1, autoExpandAll: !1, template: null } } }, extenders: { controllers: { columns: { _getExpandColumnsCore: function () { var e = this.callBase(); return this.option("masterDetail.enabled") && e.push({ type: "detailExpand", cellTemplate: a.default.getExpandCellTemplate() }), e } }, data: (c = function (e) { e._expandedItems = [], e._isExpandAll = e.option("masterDetail.autoExpandAll") }, { init: function () { c(this), this.callBase() }, expandAll: function (e) { var t = this; e < 0 ? (t._isExpandAll = !0, t._expandedItems = [], t.updateItems()) : t.callBase.apply(t, arguments) }, collapseAll: function (e) { var t = this; e < 0 ? (t._isExpandAll = !1, t._expandedItems = [], t.updateItems()) : t.callBase.apply(t, arguments) }, isRowExpanded: function (e) { var t = this, n = a.default.getIndexByKey(e, t._expandedItems); return Array.isArray(e) ? t.callBase.apply(t, arguments) : !!(t._isExpandAll ^ (n >= 0 && t._expandedItems[n].visible)) }, _getRowIndicesForExpand: function (e) { var t = this.getRowIndexByKey(e); return [t, t + 1] }, _changeRowExpandCore: function (e) { var t, n = this; if (Array.isArray(e)) t = n.callBase.apply(n, arguments); else { var i = a.default.getIndexByKey(e, n._expandedItems); if (i >= 0) { var o = n._expandedItems[i].visible; n._expandedItems[i].visible = !o } else n._expandedItems.push({ key: e, visible: !0 }); n.updateItems({ changeType: "update", rowIndices: n._getRowIndicesForExpand(e) }), t = (new l.Deferred).resolve() } return t }, _processDataItem: function (e, t) { var n = this, i = n.callBase.apply(n, arguments); return i.isExpanded = n.isRowExpanded(i.key), void 0 === t.detailColumnIndex && (t.detailColumnIndex = -1, (0, s.each)(t.visibleColumns, (function (e, n) { if ("expand" === n.command && !(0, r.isDefined)(n.groupIndex)) return t.detailColumnIndex = e, !1 }))), t.detailColumnIndex >= 0 && (i.values[t.detailColumnIndex] = i.isExpanded), i }, _processItems: function (e, t) { var n = this, i = t.changeType, r = []; return e = n.callBase.apply(n, arguments), "loadingAll" === i ? e : ("refresh" === i && (n._expandedItems = (0, o.grep)(n._expandedItems, (function (e) { return e.visible }))), (0, s.each)(e, (function (e, t) { r.push(t); var i = a.default.getIndexByKey(t.key, n._expandedItems); "data" === t.rowType && (t.isExpanded || i >= 0) && !t.isNewRow && r.push({ visible: t.isExpanded, rowType: "detail", key: t.key, data: t.data, values: [] }) })), r) }, optionChanged: function (e) { var t, n; if ("masterDetail" === e.name) { switch (e.name = "dataSource", e.fullName) { case "masterDetail": var i = e.value || {}, a = e.previousValue || {}; t = i.enabled !== a.enabled, n = i.autoExpandAll !== a.autoExpandAll; break; case "masterDetail.enabled": t = !0; break; case "masterDetail.autoExpandAll": n = !0 }(t || n) && c(this) } this.callBase(e) } }), resizing: { fireContentReadyAction: function () { this.callBase.apply(this, arguments), this._updateParentDataGrids(this.component.$element()) }, _updateParentDataGrids: function (e) { var t = this, n = e.closest(".dx-master-detail-row"); n.length && (0, l.when)(this._updateMasterDataGrid(n, e)).done((function () { t._updateParentDataGrids(n.parent()) })) }, _updateMasterDataGrid: function (e, t) { var n = (0, i.default)(e).data("options"), a = (0, i.default)(e).closest("." + this.getWidgetContainerClass()).parent().data("dxDataGrid"); if (n && a) { if (!a.getView("rowsView").isFixedColumns()) { var o = a.getScrollable(); return o && o.update() } this._updateFixedMasterDetailGrids(a, n.rowIndex, t) } }, _updateFixedMasterDetailGrids: function (e, t, n) { var a = this, o = (0, i.default)(e.getRowElement(t)); if (o && 2 === o.length && o.eq(0).height() !== o.eq(1).height()) { var s = n.width(); return e.updateDimensions().done((function () { var t = a.option("columnAutoWidth") && !0 === e.option("scrolling.useNative"), i = t && s !== n.width(); t && i && a.updateDimensions() })) } }, _toggleBestFitMode: function (e) { if (this.callBase.apply(this, arguments), this.option("masterDetail.template")) { var t = this._rowsView._getTableElement(); t && t.find(".dx-master-detail-cell").toggleClass("dx-hidden", e) } } } }, views: { rowsView: { _getCellTemplate: function (e) { var t = this, n = e.column, i = t.getController("editing"), a = i && i.isEditRow(e.rowIndex); return "detail" !== n.command || a ? t.callBase.apply(t, arguments) : t.option("masterDetail.template") || { allowRenderToDetachedContainer: !1, render: t._getDefaultTemplate(n) } }, _isDetailRow: function (e) { return e && e.rowType && 0 === e.rowType.indexOf("detail") }, _createRow: function (e) { var t = this.callBase(e); return e && this._isDetailRow(e) && (this.option("showRowLines") && t.addClass("dx-row-lines"), t.addClass("dx-master-detail-row"), (0, r.isDefined)(e.visible) && t.toggle(e.visible)), t }, _renderCells: function (e, t) { var n = t.row, i = this._columnsController.getVisibleColumns(); n.rowType && this._isDetailRow(n) ? this._needRenderCell(0, t.columnIndices) && this._renderCell(e, { value: null, row: n, rowIndex: n.rowIndex, column: { command: "detail" }, columnIndex: 0 }).addClass("dx-cell-focus-disabled").addClass("dx-master-detail-cell").attr("colSpan", i.length) : this.callBase.apply(this, arguments) } } } } }; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; n(420); var i = h(n(2)), a = h(n(17)), o = n(0), s = n(1), r = n(6), l = h(n(10)), d = h(n(16)), c = h(n(22)), u = h(n(447)); function h(e) { return e && e.__esModule ? e : { default: e } } var f = u.default.controllers.editing.inherit({ _generateNewItem: function (e) { var t = this.callBase(e); return t.data = { key: e }, t.children = [], t.level = 0, t.parentKey = this.option("rootValue"), t }, _needInsertItem: function (e, t, n, i) { var a = e.key.parentKey; if (void 0 !== a && a !== this.option("rootValue")) { var o = c.default.getIndexByKey(a, n); return o >= 0 && this._dataController.isRowExpanded(a) && n.splice(o + 1, 0, i), !1 } return this.callBase.apply(this, arguments) }, _isEditColumnVisible: function () { var e = this.callBase.apply(this, arguments), t = this.option("editing"); return e || t && t.allowAdding }, _isDefaultButtonVisible: function (e, t) { var n = this.callBase.apply(this, arguments), i = t.row; return "add" === e.name ? this.allowAdding(t) && i.rowIndex !== this._getVisibleEditRowIndex() && !(i.removed || i.isNewRow) : n }, _getEditingButtons: function (e) { var t = this.callBase.apply(this, arguments); return e.column.buttons || t.unshift(this._getButtonConfig("add", e)), t }, _beforeSaveEditData: function (e) { var t = this._dataController, n = this.callBase.apply(this, arguments); if (e && "insert" !== e.type) { var i = null == t ? void 0 : t.store(), s = null == i ? void 0 : i.key(); if (!(0, o.isDefined)(s)) throw a.default.Error("E1045") } return n }, addRowByRowIndex: function (e) { var t = this.getController("data").getVisibleRows()[e]; return this.addRow(t ? t.key : void 0) }, addRow: function (e) { var t = this, n = t.callBase, i = t.getController("data"); if (void 0 !== e && !i.isRowExpanded(e)) { var a = new r.Deferred; return i.expandRow(e).done((function () { setTimeout((function () { n.call(t, e).done(a.resolve).fail(a.reject) })) })).fail(a.reject), a.promise() } return void 0 === e && (e = t.option("rootValue")), n.call(t, e) }, _initNewRow: function (e, t) { var n = this.getController("data"), i = n.dataSource(), a = i.createParentIdSetter(); return a(e.data, t), this.callBase.apply(this, arguments) }, allowAdding: function (e) { return this._allowEditAction("allowAdding", e) }, _needToCloseEditableCell: function (e) { return this.callBase.apply(this, arguments) || e.closest(".dx-treelist-icon-container").length && this.isEditing() }, getButtonLocalizationNames: function () { var e = this.callBase.apply(this); return e.add = "dxTreeList-editingAddRowToNode", e } }), p = u.default.extenders.views.rowsView._rowClick, g = u.default.extenders.views.rowsView._rowDblClick, m = function (e) { var t = (0, i.default)(e.event.target), n = "dxdblclick" === e.event.type ? g : p; return !t.closest(".dx-select-checkbox").length && !_.call(this, e, n) }; function _(e, t) { return !(0, i.default)(e.event.target).closest(".dx-treelist-icon-container").length && (t.call(this, e), !0) } var v = (0, s.extend)({}, u.default.extenders.views.rowsView, { _renderCellCommandContent: function (e, t) { var n = this._editingController, i = t.row && n.isEditRow(t.row.rowIndex), a = t.isEditing || i; return !a && this.callBase.apply(this, arguments) }, _rowClick: function (e) { m.call(this, e) && this.callBase.apply(this, arguments) }, _rowDblClick: function (e) { m.call(this, e) && this.callBase.apply(this, arguments) } }); d.default.registerModule("editing", { defaultOptions: function () { return (0, s.extend)(!0, u.default.defaultOptions(), { editing: { texts: { addRowToNode: l.default.format("dxTreeList-editingAddRowToNode") } } }) }, controllers: { editing: f }, extenders: { controllers: (0, s.extend)(!0, {}, u.default.extenders.controllers, { data: { changeRowExpand: function () { return this._editingController.refresh(), this.callBase.apply(this, arguments) } } }), views: { rowsView: v, headerPanel: u.default.extenders.views.headerPanel } } }) }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(421)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("editorFactory", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = m(n(9)), o = m(n(5)), s = m(n(24)), r = n(19), l = m(n(23)), d = m(n(60)), c = n(8), u = m(n(15)), h = n(1), f = n(25), p = m(n(234)), g = m(n(22)); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = (0, c.addNamespace)([l.default.down, "focusin", r.name].join(" "), "dxDataGridEditorFactory"), v = { defaultOptions: function () { return {} }, controllers: { editorFactory: s.default.ViewController.inherit({ _getFocusedElement: function (e) { var t = this.option("focusedRowEnabled") ? "tr[tabindex]:focus" : "tr[tabindex]:not(.dx-data-row):focus", n = "td[tabindex]:focus, ".concat(t, ", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton:focus"); return e.find(n) }, _getFocusCellSelector: function () { return ".dx-row > td" }, _updateFocusCore: function () { var e, t, n = this._$focusedElement, i = this.component && this.component.$element(); i && (n = this._getFocusedElement(i)).length && (n.hasClass("dx-cell-focus-disabled") || n.hasClass("dx-row") || (t = (e = n.closest(this._getFocusCellSelector() + ", .dx-cell-focus-disabled")).get(0) !== n.get(0) && e.hasClass("dx-editor-inline-block"), n = e), n.length && !n.hasClass("dx-cell-focus-disabled")) ? this.focus(n, t) : this.loseFocus() }, _updateFocus: function (e) { var t = this, n = e && e.event && (0, i.default)(e.event.target).hasClass(t.addWidgetPrefix("focus-overlay")); t._isFocusOverlay = t._isFocusOverlay || n, clearTimeout(t._updateFocusTimeoutID), t._updateFocusTimeoutID = setTimeout((function () { delete t._updateFocusTimeoutID, t._isFocusOverlay || t._updateFocusCore(), t._isFocusOverlay = !1 })) }, _updateFocusOverlaySize: function (e, t) { e.hide(); var n = d.default.calculate(e, (0, h.extend)({ collision: "fit" }, t)); n.h.oversize > 0 && e.outerWidth(e.outerWidth() - n.h.oversize), n.v.oversize > 0 && e.outerHeight(e.outerHeight() - n.v.oversize), e.show() }, callbackNames: function () { return ["focused"] }, focus: function (e, t) { var n = this; if (void 0 === e) return n._$focusedElement; e && (e.is(n._$focusedElement) || n._$focusedElement && n._$focusedElement.removeClass("dx-focused"), n._$focusedElement = e, clearTimeout(n._focusTimeoutID), n._focusTimeoutID = setTimeout((function () { delete n._focusTimeoutID, n.renderFocusOverlay(e, t), e.addClass("dx-focused"), n.focused.fire(e) }))) }, refocus: function () { var e = this.focus(); this.focus(e) }, renderFocusOverlay: function (e, t) { if (g.default.isElementInCurrentGrid(this, e)) if (this._$focusOverlay || (this._$focusOverlay = (0, i.default)("<div>").addClass(this.addWidgetPrefix("focus-overlay"))), t) this._$focusOverlay.addClass("dx-hidden"); else if (e.length) { var n = u.default.msie ? "left bottom" : u.default.mozilla ? "right bottom" : "left top", a = e.closest("." + this.addWidgetPrefix("content")), o = (0, f.getBoundingRect)(e.get(0)); this._$focusOverlay.removeClass("dx-hidden").appendTo(a).outerWidth(o.right - o.left + 1).outerHeight(o.bottom - o.top + 1); var s = { precise: !0, my: n, at: n, of: e, boundary: a.length && a }; this._updateFocusOverlaySize(this._$focusOverlay, s), d.default.setup(this._$focusOverlay, s), this._$focusOverlay.css("visibility", "visible") } }, resize: function () { var e = this._$focusedElement; e && this.focus(e) }, loseFocus: function () { this._$focusedElement && this._$focusedElement.removeClass("dx-focused"), this._$focusedElement = null, this._$focusOverlay && this._$focusOverlay.addClass("dx-hidden") }, init: function () { this.createAction("onEditorPreparing", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }), this.createAction("onEditorPrepared", { excludeValidators: ["disabled", "readOnly"], category: "rendering" }), this._updateFocusHandler = this._updateFocusHandler || this.createAction(this._updateFocus.bind(this)), o.default.on(a.default.getDocument(), _, this._updateFocusHandler), this._attachContainerEventHandlers() }, _attachContainerEventHandlers: function () { var e = this, t = e.component && e.component.$element(); t && o.default.on(t, (0, c.addNamespace)("keydown", "dxDataGridEditorFactory"), (function (t) { "tab" === (0, c.normalizeKeyName)(t) && e._updateFocusHandler(t) })) }, dispose: function () { clearTimeout(this._focusTimeoutID), clearTimeout(this._updateFocusTimeoutID), o.default.off(a.default.getDocument(), _, this._updateFocusHandler) } }).include(p.default) } }; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(11)), a = o(n(423)); function o(e) { return e && e.__esModule ? e : { default: e } } (0, i.default)("dxNumberBox", a.default); var s = a.default; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(5)), a = n(1), o = n(0), s = g(n(15)), r = g(n(12)), l = n(37), d = g(n(40)), c = n(424), u = n(174), h = g(n(425)), f = n(8), p = n(4); function g(e) { return e && e.__esModule ? e : { default: e } } var m = s.default.msie ? 300 : 0, _ = h.default.inherit({ _getDefaultOptions: function () { return (0, a.extend)(this.callBase(), { useMaskBehavior: !0, format: null }) }, _isDeleteKey: function (e) { return "del" === e }, _supportedKeys: function () { if (!this._useMaskBehavior()) return this.callBase(); return (0, a.extend)(this.callBase(), { minus: this._revertSign.bind(this), del: this._removeHandler.bind(this), backspace: this._removeHandler.bind(this), leftArrow: this._arrowHandler.bind(this, -1), rightArrow: this._arrowHandler.bind(this, 1), home: this._moveCaretToBoundaryEventHandler.bind(this, 1), enter: this._updateFormattedValue.bind(this), end: this._moveCaretToBoundaryEventHandler.bind(this, -1) }) }, _focusInHandler: function (e) { this._preventNestedFocusEvent(e) || (this.clearCaretTimeout(), this._caretTimeout = setTimeout(function () { this._caretTimeout = null; var t = this._caret(); if (t.start === t.end && this._useMaskBehavior()) { var n = this._getInputVal(), i = d.default.getDecimalSeparator(), a = n.indexOf(i); a >= 0 ? this._caret({ start: a, end: a }) : this._moveCaretToBoundaryEventHandler(-1, e) } }.bind(this), m)), this.callBase(e) }, _focusOutHandler: function (e) { var t = !this._preventNestedFocusEvent(e); t && (this._focusOutOccurs = !0, this._useMaskBehavior() && this._updateFormattedValue()), this.callBase(e), t && (this._focusOutOccurs = !1) }, _hasValueBeenChanged: function (e) { var t = this._getFormatPattern(), n = this.option("value"); return (this._format(n, t) || "") !== e }, _updateFormattedValue: function () { var e = this._getInputVal(); this._hasValueBeenChanged(e) && (this._updateParsedValue(), this._adjustParsedValue(), this._setTextByParsedValue(), this._parsedValue !== this.option("value") && i.default.trigger(this._input(), "change")) }, _arrowHandler: function (e, t) { if (this._useMaskBehavior()) { var n = this._getInputVal(), i = this._getFormatPattern(), a = (0, c.getCaretWithOffset)(this._caret(), e); (0, c.isCaretInBoundaries)(a, n, i) || (a = 1 === e ? a.end : a.start, t.preventDefault(), this._caret((0, c.getCaretInBoundaries)(a, n, i))) } }, _moveCaretToBoundary: function (e) { var t = (0, c.getCaretBoundaries)(this._getInputVal(), this._getFormatPattern()), n = (0, c.getCaretWithOffset)(1 === e ? t.start : t.end, 0); this._caret(n) }, _moveCaretToBoundaryEventHandler: function (e, t) { !this._useMaskBehavior() || t && t.shiftKey || (this._moveCaretToBoundary(e), t && t.preventDefault()) }, _shouldMoveCaret: function (e, t) { var n = d.default.getDecimalSeparator(), i = e.charAt(t.end) === n, a = "0" === e.charAt(t.end), o = (this._lastKey === n || "." === this._lastKey) && i, s = "0" === this._lastKey && a; return o || s }, _getInputVal: function () { return d.default.convertDigits(this._input().val(), !0) }, _keyboardHandler: function (e) { if (this.clearCaretTimeout(), this._lastKey = d.default.convertDigits((0, f.getChar)(e), !0), this._lastKeyName = (0, f.normalizeKeyName)(e), !this._shouldHandleKey(e.originalEvent)) return this.callBase(e); var t = this._getInputVal(), n = this._caret(), i = "minus" === this._lastKeyName ? "" : this._lastKey, a = this._tryParse(t, n, i); return this._shouldMoveCaret(t, n) && (this._moveCaret(1), e.originalEvent.preventDefault()), void 0 === a ? "minus" !== this._lastKeyName && e.originalEvent.preventDefault() : this._parsedValue = a, this.callBase(e) }, _keyPressHandler: function (e) { this._useMaskBehavior() || this.callBase(e) }, _removeHandler: function (e) { var t = this._caret(), n = this._getInputVal(), i = t.start, a = t.end; this._lastKey = (0, f.getChar)(e), this._lastKeyName = (0, f.normalizeKeyName)(e); var o = this._isDeleteKey(this._lastKeyName), s = !o; if (i === a) { if (!(s && i > 0 || o && i < n.length)) return void e.preventDefault(); o && a++, s && i-- } var r = n.slice(i, a); if (this._isStub(r)) return this._moveCaret(o ? 1 : -1), (this._parsedValue < 0 || 1 / this._parsedValue == -1 / 0) && (this._revertSign(e), this._setTextByParsedValue()), void e.preventDefault(); var l = d.default.getDecimalSeparator(); if (r !== l) { if (a - i < n.length) if (this._replaceSelectedText(n, { start: i, end: a }, "").search(/[0-9]/) < 0 && this._isValueInRange(0)) return void (this._parsedValue = this._parsedValue < 0 || 1 / this._parsedValue == -1 / 0 ? -0 : 0); var c = this._tryParse(n, { start: i, end: a }, ""); void 0 === c ? e.preventDefault() : this._parsedValue = c } else { var u = n.indexOf(l); this._isNonStubAfter(u + 1) && (this._moveCaret(o ? 1 : -1), e.preventDefault()) } }, _isPercentFormat: function () { return -1 !== this._getFormatPattern().replace(/'[^']+'/g, "").indexOf("%") }, _parse: function (e, t) { var n = this.option("format"), i = (0, o.isFunction)(n.parser), a = i ? n.parser : d.default.parse; if (!i) { var s = t.indexOf("."), r = e.indexOf(d.default.getDecimalSeparator()), l = -1 !== s ? s : t.length, c = -1 !== r ? r : e.length; c > l && -1 === t.indexOf("#") && (e = e.substr(c - l)) } return a(e, t) }, _format: function (e, t) { var n = this.option("format"); return ((0, o.isFunction)(null == n ? void 0 : n.formatter) ? n.formatter : d.default.format)(e, t) }, _getFormatPattern: function () { return this._currentFormat || this._updateFormat(), this._currentFormat }, _updateFormat: function () { var e = this, t = this.option("format"), n = (0, o.isFunction)(null == t ? void 0 : t.parser), i = (0, o.isString)(t) && (t.indexOf("0") >= 0 || t.indexOf("#") >= 0); this._currentFormat = n || i ? t : (0, u.getFormat)((function (n) { var i = e._format(n, t); return d.default.convertDigits(i, !0) })) }, _getFormatForSign: function (e) { var t = this._getFormatPattern(); if ((0, o.isString)(t)) { var n = t.split(";"), i = d.default.getSign(e, t); return n[1] = n[1] || "-" + n[0], i < 0 ? n[1] : n[0] } return d.default.getSign(e) < 0 ? "-" : "" }, _removeStubs: function (e, t) { var n = this._getFormatForSign(e), i = d.default.getThousandsSeparator(), a = this._getStubs(n), o = e; if (a.length) { var s = a[0], r = new RegExp("(" + (0, p.escapeRegExp)(a[1] || "") + ")$", "g"), l = new RegExp("[-" + (0, p.escapeRegExp)(t ? "" : i) + "]", "g"); o = o.replace(s, "").replace(r, "").replace(l, "") } return o }, _getStubs: function (e) { var t = /[^']([#0.,]+)/g.exec(e), n = t && t[0].trim(); return e.split(n).map((function (e) { return e.replace(/'/g, "") })) }, _truncateToPrecision: function (e, t) { if ((0, o.isDefined)(e)) { var n = e.toString(), i = n.indexOf("."); if (n && i > -1) { var a = parseFloat(n.substr(0, i + t + 1)); return isNaN(a) ? e : a } } return e }, _tryParse: function (e, t, n) { var i = this._replaceSelectedText(e, t, n), a = this._getFormatPattern(), o = t.start !== t.end, s = this._getParsedValue(i, a), r = !a.parser && this._getPrecisionLimits(i).max, l = s !== this._parsedValue, c = n === d.default.getDecimalSeparator() && 0 === r, u = !o && !l && "-" !== n && !this._isValueIncomplete(i) && this._isStub(n); if (!c && !u && ("" === this._removeStubs(i) && (s = Math.abs(0 * this._parsedValue)), !isNaN(s))) { var h = null === s ? this._parsedValue : s; return s = r ? this._truncateToPrecision(h, r) : s, !a.parser && this._isPercentFormat() ? s && s / 100 : s } }, _getParsedValue: function (e, t) { var n = d.default.getSign(e, (null == t ? void 0 : t.formatter) || t), i = this._removeStubs(e, !0), a = this._parse(i, t), s = a < 0 ? -1 : 1; return (0, o.isNumeric)(a) && n !== s ? n * a : a }, _isValueIncomplete: function (e) { if (!this._useMaskBehavior()) return this.callBase(e); var t = this._caret(), n = d.default.getDecimalSeparator(), i = e.indexOf(n), a = i >= 0 && i < t.start, o = this._removeStubs(e, !0).split(n); if (!a || 2 !== o.length) return !1; var s = o[1].length, r = !!this._getFormatPattern().parser, c = !r && this._getPrecisionLimits(this._getFormatPattern(), e), u = !!r || (0, l.inRange)(s, c.min, c.max), h = "0" === o[1].charAt(s - 1); return u && (h || !s) }, _isValueInRange: function (e) { var t = (0, p.ensureDefined)(this.option("min"), -1 / 0), n = (0, p.ensureDefined)(this.option("max"), 1 / 0); return (0, l.inRange)(e, t, n) }, _setInputText: function (e) { var t = d.default.convertDigits(e, !0), n = (0, c.getCaretAfterFormat)(this._getInputVal(), t, this._caret(), this._getFormatPattern()); this._input().val(e), this._toggleEmptinessEventHandler(), this._formattedValue = e, this._focusOutOccurs || this._caret(n) }, _useMaskBehavior: function () { return !!this.option("format") && this.option("useMaskBehavior") }, _renderInputType: function () { var e = "number" === this.option("mode"), t = "desktop" === r.default.real().deviceType; this._useMaskBehavior() && e ? this._setInputType(t || this._isSupportInputMode() ? "text" : "tel") : this.callBase() }, _isChar: function (e) { return (0, o.isString)(e) && 1 === e.length }, _moveCaret: function (e) { if (e) { var t = (0, c.getCaretWithOffset)(this._caret(), e), n = (0, c.getCaretInBoundaries)(t, this._getInputVal(), this._getFormatPattern()); this._caret(n) } }, _shouldHandleKey: function (e) { var t = (0, f.normalizeKeyName)(e), n = e.ctrlKey || e.shiftKey || e.altKey || !this._isChar(t), i = "minus" === t; return this._useMaskBehavior() && !n && !i }, _renderInput: function () { this.callBase(), this._renderFormatter() }, _renderFormatter: function () { this._clearCache(), this._detachFormatterEvents(), this._useMaskBehavior() && this._attachFormatterEvents() }, _detachFormatterEvents: function () { i.default.off(this._input(), ".dxNumberFormatter") }, _isInputFromPaste: function (e) { var t = e.originalEvent && e.originalEvent.inputType; return (0, o.isDefined)(t) ? "insertFromPaste" === t : this._isValuePasted }, _attachFormatterEvents: function () { var e = this._input(); i.default.on(e, (0, f.addNamespace)("input", "dxNumberFormatter"), function (e) { this._formatValue(e), this._isValuePasted = !1 }.bind(this)), s.default.msie && s.default.version < 12 && i.default.on(e, (0, f.addNamespace)("paste", "dxNumberFormatter"), function () { this._isValuePasted = !0 }.bind(this)), i.default.on(e, (0, f.addNamespace)("dxclick", "dxNumberFormatter"), function () { this._caretTimeout || (this._caretTimeout = setTimeout(function () { this._caret((0, c.getCaretInBoundaries)(this._caret(), this._getInputVal(), this._getFormatPattern())) }.bind(this), m)) }.bind(this)), i.default.on(e, "dxdblclick", function () { this.clearCaretTimeout() }.bind(this)) }, clearCaretTimeout: function () { clearTimeout(this._caretTimeout), this._caretTimeout = null }, _forceRefreshInputValue: function () { if (!this._useMaskBehavior()) return this.callBase() }, _isNonStubAfter: function (e, t) { return (t = (t || this._getInputVal()).slice(e)) && !this._isStub(t, !0) }, _isStub: function (e, t) { var n = (0, p.escapeRegExp)(d.default.getDecimalSeparator()); return new RegExp("^[^0-9" + n + "]+$", "g").test(e) && (t || this._isChar(e)) }, _parseValue: function (e) { return this._useMaskBehavior() ? this._parsedValue : this.callBase(e) }, _getPrecisionLimits: function (e) { var t = (this._getFormatForSign(e).split(".")[1] || "").replace(/[^#0]/g, ""); return { min: t.replace(/^(0*)#*/, "$1").length, max: t.length } }, _revertSign: function (e) { if (this._useMaskBehavior()) { var t = this._caret(); if (t.start !== t.end) { if ("minus" === (0, f.normalizeKeyName)(e)) return void this._applyRevertedSign(e, t, !0); this._caret((0, c.getCaretInBoundaries)(0, this._getInputVal(), this._getFormatPattern())) } this._applyRevertedSign(e, t) } }, _applyRevertedSign: function (e, t, n) { var a = -1 * (0, p.ensureDefined)(this._parsedValue, null); if (this._isValueInRange(a)) { if (this._parsedValue = a, n) { var o = this._getFormatPattern(), r = this._getInputVal(); this._setTextByParsedValue(), e.preventDefault(); var l = this._getInputVal(), d = (0, c.getCaretOffset)(r, l, o); t = (0, c.getCaretWithOffset)(t, d); var u = (0, c.getCaretInBoundaries)(t, l, o); s.default.msie ? (clearTimeout(this._caretTimeout), this._caretTimeout = setTimeout(this._caret.bind(this, u))) : this._caret(u) } "Subtract" === e.key && i.default.trigger(this._input(), "input") } }, _removeMinusFromText: function (e, t) { return "minus" === this._lastKeyName && "-" === e.charAt(t.start - 1) ? this._replaceSelectedText(e, { start: t.start - 1, end: t.start }, "") : e }, _setTextByParsedValue: function () { var e = this._getFormatPattern(), t = this._parseValue(), n = this._format(t, e) || ""; this._setInputText(n) }, _formatValue: function (e) { var t = this._getInputVal(), n = this._caret(), i = this._removeMinusFromText(t, n), a = i !== t; if (t = i, !this._isInputFromPaste(e) && this._isValueIncomplete(i)) return this._formattedValue = t, void (a && this._setTextByParsedValue()); if (d.default.convertDigits(this._formattedValue, !0) !== t) { var s = this._tryParse(t, n, ""); (0, o.isDefined)(s) && (this._parsedValue = s) } this._setTextByParsedValue() }, _renderDisplayText: function () { this._useMaskBehavior() ? this._toggleEmptinessEventHandler() : this.callBase.apply(this, arguments) }, _renderValue: function () { return this._useMaskBehavior() && (this._parsedValue = this.option("value"), this._setTextByParsedValue()), this.callBase() }, _updateParsedValue: function () { var e = this._getInputVal(); this._parsedValue = this._tryParse(e, this._caret()) }, _adjustParsedValue: function () { if (this._useMaskBehavior()) { var e = this._removeStubs(this._getInputVal()) ? this._parseValue() : null; (0, o.isNumeric)(e) ? this._parsedValue = (0, l.fitIntoRange)(e, this.option("min"), this.option("max")) : this._parsedValue = e } }, _valueChangeEventHandler: function (e) { if (!this._useMaskBehavior()) return this.callBase(e); var t = this._caret(); this._saveValueChangeEvent(e), this._lastKey = null, this._lastKeyName = null, this._updateParsedValue(), this._adjustParsedValue(), this.option("value", this._parsedValue), t && this._caret(t) }, _optionChanged: function (e) { switch (e.name) { case "format": case "useMaskBehavior": this._updateFormat(), this._renderFormatter(), this._renderValue(); break; case "min": case "max": this._adjustParsedValue(), this.callBase(e); break; default: this.callBase(e) } }, _clearCache: function () { delete this._formattedValue, delete this._lastKey, delete this._lastKeyName, delete this._parsedValue, delete this._focusOutOccurs, clearTimeout(this._caretTimeout), delete this._caretTimeout }, _clean: function () { this._clearCache(), this.callBase() } }); t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; t.getCaretInBoundaries = h, t.getCaretOffset = t.isCaretInBoundaries = t.getCaretAfterFormat = t.getCaretWithOffset = t.getCaretBoundaries = void 0; var i, a = n(37), o = n(4), s = (i = n(40)) && i.__esModule ? i : { default: i }; var r = function (e, t) { if ("string" == typeof t) { var n = t.split(";"), i = s.default.getSign(e, t); n[1] = n[1] || "-" + n[0], t = n[i < 0 ? 1 : 0]; t = t.replace(/'([^']*)'/g, (function (e) { return e.split("").map((function () { return " " })).join("").substr(2) })); var a = /^[^#0.,]*/.exec(t)[0].length, o = /[^#0.,]*$/.exec(t)[0].length; return { start: a, end: e.length - o } } return { start: 0, end: e.length } }; t.getCaretBoundaries = r; var l = function (e, t) { var n = s.default.getDecimalSeparator(), i = new RegExp("[^0-9" + (0, o.escapeRegExp)(n) + "]", "g"); return t.slice(0, e).replace(i, "").length }, d = function (e) { return e.split("").reverse().join("") }, c = function (e, t) { if (!e) return -1; for (var n = /[0-9]/g, i = 1, a = null, o = n.exec(t); o;) { if (a = o.index, !e || i >= e) return a; i++, o = n.exec(t) } return null === a ? t.length : a }, u = function (e, t) { return void 0 === e.start && (e = { start: e, end: e }), { start: e.start + t, end: e.end + t } }; t.getCaretWithOffset = u; t.getCaretAfterFormat = function (e, t, n, i) { n = u(n, 0); var a = s.default.getDecimalSeparator(), o = function (e) { return 1 === e.length && !!e.match(/^[,.][0-9]*$/g) }(e), r = o ? 0 : e.indexOf(a), f = t.indexOf(a), p = o ? e.split(e[r]) : e.split(a), g = t.split(a); if (-1 !== r && n.start > r) { var m = n.start - r - 1, _ = l(m, p[1]); return h(g[1] ? f + 1 + c(_, g[1]) + 1 : t.length, t, i) } var v = function (e) { return e.replace(/[^0-9e]+$/, "") }(g[0]), y = p[0].length - n.start, w = l(y, d(p[0])), x = c(w, d(v)); return h(v.length - (x + 1), t, i) }; function h(e, t, n) { e = u(e, 0); var i = r(t, n); return { start: (0, a.fitIntoRange)(e.start, i.start, i.end), end: (0, a.fitIntoRange)(e.end, i.start, i.end) } } t.isCaretInBoundaries = function (e, t, n) { var i = h(e = u(e, 0), t, n); return e.start >= i.start && e.end <= i.end }; t.getCaretOffset = function (e, t, n) { var i = r(e, n); return r(t, n).start - i.start } }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = v(n(9)), o = v(n(5)), s = n(4), r = n(0), l = n(37), d = n(1), c = n(14), u = v(n(12)), h = v(n(15)), f = v(n(210)), p = n(8), g = v(n(426)), m = v(n(10)), _ = n(6); function v(e) { return e && e.__esModule ? e : { default: e } } var y = Math, w = ["tab", "del", "backspace", "leftArrow", "rightArrow", "home", "end", "enter"], x = f.default.inherit({ _supportedKeys: function () { return (0, d.extend)(this.callBase(), { upArrow: function (e) { (0, p.isCommandKeyPressed)(e) || (e.preventDefault(), e.stopPropagation(), this._spinUpChangeHandler(e)) }, downArrow: function (e) { (0, p.isCommandKeyPressed)(e) || (e.preventDefault(), e.stopPropagation(), this._spinDownChangeHandler(e)) }, enter: function () { } }) }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { value: 0, min: void 0, max: void 0, step: 1, showSpinButtons: !1, useLargeSpinButtons: !0, mode: "text", invalidValueMessage: m.default.format("dxNumberBox-invalidValueMessage"), buttons: void 0 }) }, _getDefaultButtons: function () { return this.callBase().concat([{ name: "spins", Ctor: g.default }]) }, _isSupportInputMode: function () { var e = parseFloat(h.default.version); return h.default.chrome && e >= 66 || h.default.safari && e >= 12 || h.default.msie && e >= 75 }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return u.default.real().generic && !u.default.isSimulator() }, options: { useLargeSpinButtons: !1 } }, { device: function () { return "desktop" !== u.default.real().deviceType && !this._isSupportInputMode() }.bind(this), options: { mode: "number" } }]) }, _initMarkup: function () { this._renderSubmitElement(), this.$element().addClass("dx-numberbox"), this.callBase() }, _getDefaultAttributes: function () { var e = this.callBase(); return e.inputmode = "decimal", e }, _renderContentImpl: function () { this.option("isValid") && this._validateValue(this.option("value")), this.setAria("role", "spinbutton") }, _renderSubmitElement: function () { this._$submitElement = (0, i.default)("<input>").attr("type", "hidden").appendTo(this.$element()), this._setSubmitValue(this.option("value")) }, _setSubmitValue: function (e) { this._getSubmitElement().val((0, s.applyServerDecimalSeparator)(e)) }, _getSubmitElement: function () { return this._$submitElement }, _keyPressHandler: function (e) { this.callBase(e); var t = (0, p.getChar)(e); if (!/[\d.,eE\-+]|Subtract/.test(t)) { var n = (0, p.normalizeKeyName)(e); if ((0, p.isCommandKeyPressed)(e) || n && (0, c.inArray)(n, w) >= 0) return; return e.preventDefault(), !1 } this._keyPressed = !0 }, _onMouseWheel: function (e) { e.delta > 0 ? this._spinValueChange(1, e) : this._spinValueChange(-1, e) }, _renderValue: function () { var e = this._input().val(), t = this.option("value"); e.length && Number(e) === t || (this._forceValueRender(), this._toggleEmptinessEventHandler()); var n = (0, r.isDefined)(t) ? null : m.default.format("dxNumberBox-noDataText"); return this.setAria({ valuenow: (0, s.ensureDefined)(t, ""), valuetext: n }), this.option("text", this._input().val()), this._updateButtons(), (new _.Deferred).resolve() }, _forceValueRender: function () { var e = this.option("value"), t = Number(e), n = isNaN(t) ? "" : this._applyDisplayValueFormatter(e); this._renderDisplayText(n) }, _applyDisplayValueFormatter: function (e) { return this.option("displayValueFormatter")(e) }, _renderProps: function () { this.callBase(), this._input().prop({ min: this.option("min"), max: this.option("max"), step: this.option("step") }), this.setAria({ valuemin: (0, s.ensureDefined)(this.option("min"), ""), valuemax: (0, s.ensureDefined)(this.option("max"), "") }) }, _spinButtonsPointerDownHandler: function () { var e = this._input(); this.option("useLargeSpinButtons") || a.default.getActiveElement() === e[0] || o.default.trigger(e, "focus") }, _spinUpChangeHandler: function (e) { this.option("readOnly") || this._spinValueChange(1, e.event || e) }, _spinDownChangeHandler: function (e) { this.option("readOnly") || this._spinValueChange(-1, e.event || e) }, _spinValueChange: function (e, t) { var n = parseFloat(this.option("step")); if (0 !== n) { var i = parseFloat(this._normalizeInputValue()) || 0; i = this._correctRounding(i, n * e); var a = this.option("min"), o = this.option("max"); (0, r.isDefined)(a) && (i = Math.max(a, i)), (0, r.isDefined)(o) && (i = Math.min(o, i)), this._saveValueChangeEvent(t), this.option("value", i) } }, _correctRounding: function (e, t) { var n = /[,.](.*)/, i = n.test(e), a = n.test(t); if (i || a) { var o = i ? n.exec(e)[0].length : 0, s = a ? n.exec(t)[0].length : 0, r = y.max(o, s); return e = this._round(e + t, r) } return e + t }, _round: function (e, t) { t = t || 0; var n = Math.pow(10, t); return e *= n, e = Math.round(e) / n }, _renderValueChangeEvent: function () { this.callBase(); var e = (0, p.addNamespace)("focusout", "NumberBoxForceValueChange"); o.default.off(this.element(), e), o.default.on(this.element(), e, this._forceRefreshInputValue.bind(this)) }, _forceRefreshInputValue: function () { if ("number" !== this.option("mode")) { var e = this._input(), t = this._applyDisplayValueFormatter(this.option("value")); e.val(null), e.val(t) } }, _valueChangeEventHandler: function (e) { var t = this._input(), n = this._normalizeText(), i = this._parseValue(n), a = "." !== n && "-" !== n; !this._isValueValid() || this._validateValue(i) ? (a && this.callBase(e, isNaN(i) ? null : i), this._applyValueBoundaries(n, i), this.validationRequest.fire({ value: i, editor: this })) : t.val(this._applyDisplayValueFormatter(i)) }, _applyValueBoundaries: function (e, t) { var n = this._isValueIncomplete(e), i = this._isValueInRange(e); n || i || null === t || Number(e) !== t && this._input().val(this._applyDisplayValueFormatter(t)) }, _replaceCommaWithPoint: function (e) { return e.replace(",", ".") }, _inputIsInvalid: function () { var e = "number" === this.option("mode"), t = this._input().get(0).validity; return e && t && t.badInput }, _renderDisplayText: function (e) { this._inputIsInvalid() || this.callBase(e) }, _isValueIncomplete: function (e) { return /(^-$)|(^-?\d*\.$)|(\d+e-?$)/i.test(e) }, _isValueInRange: function (e) { return (0, l.inRange)(e, this.option("min"), this.option("max")) }, _isNumber: function (e) { return null !== this._parseValue(e) }, _validateValue: function (e) { var t = this._normalizeText(), n = this._isValueValid(), i = !0, a = this._isNumber(t); return isNaN(Number(e)) && (i = !1), !e && n ? i = !0 : a || n || (i = !1), this.option({ isValid: i, validationError: i ? null : { editorSpecific: !0, message: this.option("invalidValueMessage") } }), i }, _normalizeInputValue: function () { return this._parseValue(this._normalizeText()) }, _normalizeText: function () { var e = this._input().val().trim(); return this._replaceCommaWithPoint(e) }, _parseValue: function (e) { var t = parseFloat(e); return isNaN(t) ? null : (0, l.fitIntoRange)(t, this.option("min"), this.option("max")) }, _clearValue: function () { this._inputIsInvalid() && (this._input().val(""), this._validateValue()), this.callBase() }, reset: function () { null === this.option("value") ? (this.option("text", ""), this._renderValue()) : this.option("value", null) }, _optionChanged: function (e) { switch (e.name) { case "value": this._validateValue(e.value), this._setSubmitValue(e.value), this.callBase(e), this._resumeValueChangeAction(); break; case "step": this._renderProps(); break; case "min": case "max": this._renderProps(), this.option("value", this._parseValue(this.option("value"))); break; case "showSpinButtons": case "useLargeSpinButtons": this._updateButtons(["spins"]); break; case "invalidValueMessage": break; default: this.callBase(e) } } }); t.default = x, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = u(n(2)), o = u(n(5)), s = u(n(129)), r = u(n(427)), l = n(8), d = u(n(23)), c = n(1); function u(e) { return e && e.__esModule ? e : { default: e } } function h(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function f(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function p(e, t, n) { return (p = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = v(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function g(e, t) { return (g = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function m(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = v(e); if (t) { var a = v(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return _(this, n) } } function _(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function v(e) { return (v = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var y = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && g(e, t) }(u, e); var t, n, i, s = m(u); function u() { return h(this, u), s.apply(this, arguments) } return t = u, (n = [{ key: "_attachEvents", value: function (e, t) { var n = this.editor, i = (0, l.addNamespace)(d.default.down, n.NAME), a = t.children(), s = n._createAction((function (e) { return n._spinButtonsPointerDownHandler(e) })); o.default.off(t, i), o.default.on(t, i, (function (e) { return s({ event: e }) })), r.default.getInstance(a.eq(0)).option("onChange", (function (e) { return n._spinUpChangeHandler(e) })), r.default.getInstance(a.eq(1)).option("onChange", (function (e) { return n._spinDownChangeHandler(e) })) } }, { key: "_create", value: function () { var e = this.editor, t = (0, a.default)("<div>").addClass("dx-numberbox-spin-container"), n = (0, a.default)("<div>").appendTo(t), i = (0, a.default)("<div>").appendTo(t), o = this._getOptions(); return this._addToContainer(t), e._createComponent(n, r.default, (0, c.extend)({ direction: "up" }, o)), e._createComponent(i, r.default, (0, c.extend)({ direction: "down" }, o)), this._legacyRender(e.$element(), this._isTouchFriendly(), o.visible), { instance: t, $element: t } } }, { key: "_getOptions", value: function () { var e = this.editor; return { visible: this._isVisible(), disabled: e.option("disabled") } } }, { key: "_isVisible", value: function () { var e = this.editor; return p(v(u.prototype), "_isVisible", this).call(this) && e.option("showSpinButtons") } }, { key: "_isTouchFriendly", value: function () { var e = this.editor; return e.option("showSpinButtons") && e.option("useLargeSpinButtons") } }, { key: "_legacyRender", value: function (e, t, n) { e.toggleClass("dx-numberbox-spin-touch-friendly", t), e.toggleClass("dx-numberbox-spin", n) } }, { key: "update", value: function () { if (p(v(u.prototype), "update", this).call(this)) { var e = this.editor, t = this.instance, n = e.$element(), i = this._isVisible(), a = this._isTouchFriendly(), o = t.children(), s = r.default.getInstance(o.eq(0)), l = r.default.getInstance(o.eq(1)), d = this._getOptions(); s.option(d), l.option(d), this._legacyRender(n, a, i) } } }]) && f(t.prototype, n), i && f(t, i), u }(s.default); t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = f(n(2)), a = f(n(9)), o = f(n(5)), s = f(n(29)), r = n(1), l = n(8), d = f(n(23)), c = n(127), u = f(n(77)), h = n(6); function f(e) { return e && e.__esModule ? e : { default: e } } var p = (0, l.addNamespace)(d.default.up, "dxNumberBox"), g = (0, l.addNamespace)(d.default.cancel, "dxNumberBox"), m = s.default.inherit({ _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { direction: "up", onChange: null, activeStateEnabled: !0, hoverStateEnabled: !0 }) }, _initMarkup: function () { this.callBase(); var e = "dx-numberbox-spin-" + this.option("direction"); this.$element().addClass("dx-numberbox-spin-button").addClass(e), this._spinIcon = (0, i.default)("<div>").addClass(e + "-icon").appendTo(this.$element()) }, _render: function () { this.callBase(); var e = (0, l.addNamespace)(d.default.down, this.NAME), t = this.$element(); o.default.off(t, e), o.default.on(t, e, this._spinDownHandler.bind(this)), this._spinChangeHandler = this._createActionByOption("onChange") }, _spinDownHandler: function (e) { e.preventDefault(), this._clearTimer(), o.default.on(this.$element(), u.default.name, function () { this._feedBackDeferred = new h.Deferred, (0, c.lock)(this._feedBackDeferred), this._spinChangeHandler({ event: e }), this._holdTimer = setInterval(this._spinChangeHandler, 100, { event: e }) }.bind(this)); var t = a.default.getDocument(); o.default.on(t, p, this._clearTimer.bind(this)), o.default.on(t, g, this._clearTimer.bind(this)), this._spinChangeHandler({ event: e }) }, _dispose: function () { this._clearTimer(), this.callBase() }, _clearTimer: function () { o.default.off(this.$element(), u.default.name); var e = a.default.getDocument(); o.default.off(e, p), o.default.off(e, g), this._feedBackDeferred && this._feedBackDeferred.resolve(), this._holdTimer && clearInterval(this._holdTimer) }, _optionChanged: function (e) { switch (e.name) { case "onChange": case "direction": this._invalidate(); break; default: this.callBase(e) } } }); t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = k(n(2)), a = n(7), o = k(n(5)), s = k(n(36)), r = k(n(11)), l = n(4), d = n(0), c = n(1), u = n(14), h = k(n(235)), f = k(n(130)), p = k(n(17)), g = n(8), m = k(n(12)), _ = k(n(44)), v = n(3), y = k(n(430)), w = k(n(10)), x = n(120), b = n(6), C = k(n(222)); function k(e) { return e && e.__esModule ? e : { default: e } } function I(e) { return (I = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var S = (0, a.getWindow)(), E = ["startswith", "contains", "endwith", "notcontains"], D = h.default.inherit({ _supportedKeys: function () { var e = this.callBase(); return (0, c.extend)({}, e, { tab: function (t) { if (this._allowSelectItemByTab()) { this._saveValueChangeEvent(t); var n = (0, i.default)(this._list.option("focusedElement")); n.length && this._setSelectedElement(n) } e.tab.apply(this, arguments) }, space: l.noop, home: l.noop, end: l.noop }) }, _allowSelectItemByTab: function () { return this.option("opened") && "instantly" === this.option("applyValueMode") }, _setSelectedElement: function (e) { var t = this._valueGetter(this._list._getItemData(e)); this._setValue(t) }, _setValue: function (e) { this.option("value", e) }, _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), (0, c.extend)(y.default._dataExpressionDefaultOptions(), { displayValue: void 0, searchEnabled: !1, searchMode: "contains", searchTimeout: 500, minSearchLength: 0, searchExpr: null, valueChangeEvent: "input change keyup", selectedItem: null, noDataText: w.default.format("dxCollectionWidget-noDataText"), onSelectionChanged: null, onItemClick: l.noop, showDataBeforeSearch: !1, grouped: !1, groupTemplate: "group", popupPosition: { my: "left top", at: "left bottom", offset: { h: 0, v: 0 }, collision: "flip" }, wrapItemText: !1 })) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "ios" }, options: { popupPosition: { offset: { v: -1 } } } }, { device: { platform: "generic" }, options: { buttonsLocation: "bottom center" } }]) }, _setOptionsByReference: function () { this.callBase(), (0, c.extend)(this._optionsByReference, { value: !0, selectedItem: !0, displayValue: !0 }) }, _init: function () { this.callBase(), this._initDataExpressions(), this._initActions(), this._setListDataSource(), this._validateSearchMode(), this._clearSelectedItem(), this._initItems() }, _setListFocusedElementOptionChange: function () { this._list._updateParentActiveDescendant = this._updateActiveDescendant.bind(this) }, _initItems: function () { var e = this.option().items; e && !e.length && this._dataSource && (this.option().items = this._dataSource.items()) }, _initActions: function () { this._initContentReadyAction(), this._initSelectionChangedAction(), this._initItemClickAction() }, _initContentReadyAction: function () { this._contentReadyAction = this._createActionByOption("onContentReady", { excludeValidators: ["disabled", "readOnly"] }) }, _initSelectionChangedAction: function () { this._selectionChangedAction = this._createActionByOption("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _initItemClickAction: function () { this._itemClickAction = this._createActionByOption("onItemClick") }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ item: new x.ChildDefaultTemplate("item") }) }, _saveFocusOnWidget: function (e) { this._list && this._list.initialOption("focusStateEnabled") && this._focusInput() }, _fitIntoRange: function (e, t, n) { return e > n ? t : e < t ? n : e }, _items: function () { var e = this._getPlainItems(!this._list && this._dataSource.items()); return new _.default(e).filter("disabled", "<>", !0).toArray() }, _calcNextItem: function (e) { var t = this._items(); return t[this._fitIntoRange(this._getSelectedIndex() + e, 0, t.length - 1)] }, _getSelectedIndex: function () { var e = this._items(), t = this.option("selectedItem"), n = -1; return (0, v.each)(e, function (e, i) { if (this._isValueEquals(i, t)) return n = e, !1 }.bind(this)), n }, _createPopup: function () { this.callBase(), this._updateCustomBoundaryContainer(), this._popup._wrapper().addClass(this._popupWrapperClass()); var e = this._popup.$content(); o.default.off(e, "mouseup"), o.default.on(e, "mouseup", this._saveFocusOnWidget.bind(this)); var t = this; this._popup.on({ shown: function () { t.$element().addClass("dx-skip-gesture-event") }, hidden: function () { t.$element().removeClass("dx-skip-gesture-event") } }) }, _updateCustomBoundaryContainer: function () { var e = this.option("dropDownOptions.container"), t = e && (0, i.default)(e); if (t && t.length && !(0, d.isWindow)(t.get(0))) { var n = [].slice.call(t.parents()); n.unshift(t.get(0)), (0, v.each)(n, function (e, t) { return t !== (0, i.default)("body").get(0) && ("hidden" === S.getComputedStyle(t).overflowY ? (this._$customBoundaryContainer = (0, i.default)(t), !1) : void 0) }.bind(this)) } }, _popupWrapperClass: function () { return "dx-dropdownlist-popup-wrapper" }, _renderInputValue: function () { var e = this._getCurrentValue(); return this._loadInputValue(e, this._setSelectedItem.bind(this)).always(this.callBase.bind(this, e)) }, _loadInputValue: function (e, t) { return this._loadItem(e).always(t) }, _getItemFromPlain: function (e, t) { var n, i; return t && "object" !== I(e) && (t.itemByValue || (t.itemByValue = {}, (n = this._getPlainItems()).forEach((function (e) { t.itemByValue[this._valueGetter(e)] = e }), this)), i = t.itemByValue[e]), i || (n = this._getPlainItems(), i = (0, l.grep)(n, function (t) { return this._isValueEquals(this._valueGetter(t), e) }.bind(this))[0]), i }, _loadItem: function (e, t) { var n = this._getItemFromPlain(e, t); return void 0 !== n ? (new b.Deferred).resolve(n).promise() : this._loadValue(e) }, _getPlainItems: function (e) { var t = []; e = e || this.option("items") || this._dataSource.items() || []; for (var n = 0; n < e.length; n++)e[n] && e[n].items ? t = t.concat(e[n].items) : t.push(e[n]); return t }, _updateActiveDescendant: function () { var e, t = this.option("opened"), n = null === (e = this._list) || void 0 === e ? void 0 : e.getFocusedItemId(), a = (0, i.default)("#".concat(n)).length > 0, o = t && a && n; this.setAria({ activedescendant: o || null }) }, _setSelectedItem: function (e) { var t = this._displayValue(e); this.option("selectedItem", (0, l.ensureDefined)(e, null)), this.option("displayValue", t) }, _displayValue: function (e) { return this._displayGetter(e) }, _refreshSelected: function () { var e = {}; this._listItemElements().each(function (t, n) { var a = (0, i.default)(n), o = this._valueGetter(a.data("dxListItemData")); this._isSelectedValue(o, e) ? this._list.selectItem(a) : this._list.unselectItem(a) }.bind(this)) }, _popupShownHandler: function () { this.callBase(), this._setFocusPolicy() }, _setFocusPolicy: function () { this.option("focusStateEnabled") && this._list && this._list.option("focusedElement", null) }, _isSelectedValue: function (e) { return this._isValueEquals(e, this.option("value")) }, _validateSearchMode: function () { var e = this.option("searchMode"), t = e.toLowerCase(); if ((0, u.inArray)(t, E) < 0) throw p.default.Error("E1019", e) }, _clearSelectedItem: function () { this.option("selectedItem", null) }, _processDataSourceChanging: function () { this._setListDataSource(), this._renderInputValue().fail(function () { this._isCustomValueAllowed() || this._clearSelectedItem() }.bind(this)) }, _isCustomValueAllowed: function () { return this.option("displayCustomValue") }, reset: function () { this.callBase(), this._clearFilter(), this._clearSelectedItem(), this._preventFiltering = !0 }, _listItemElements: function () { return this._$list ? this._$list.find(".dx-list-item") : (0, i.default)() }, _popupConfig: function () { return (0, c.extend)(this.callBase(), { templatesRenderAsynchronously: !1, autoResizeEnabled: !1, maxHeight: this._getMaxHeight.bind(this) }) }, _renderPopupContent: function () { this.callBase(), this._renderList() }, _getKeyboardListeners: function () { var e = this._canListHaveFocus(); return this.callBase().concat([!e && this._list]) }, _fireContentReadyAction: l.noop, _setAriaTargetForList: function () { this._list._getAriaTarget = this._getAriaTarget.bind(this) }, _renderList: function () { this._listId = "dx-" + (new s.default)._value; var e = this._$list = (0, i.default)("<div>").attr("id", this._listId).appendTo(this._popup.$content()); this._list = this._createComponent(e, f.default, this._listConfig()), this._refreshList(), this._setAriaTargetForList(), this._list.option("_listAttributes", { role: "combobox" }), this._renderPreventBlur(this._$list), this._setListFocusedElementOptionChange() }, _renderPreventBlur: function (e) { var t = (0, g.addNamespace)("mousedown", "dxDropDownList"); o.default.off(e, t), o.default.on(e, t, function (e) { e.preventDefault() }.bind(this)) }, _renderOpenedState: function () { this.callBase(), this._list && this._updateActiveDescendant(), this.setAria({ controls: this._list && this._listId, owns: this._popup && this._popupContentId }) }, _setDefaultAria: function () { this.setAria({ haspopup: "listbox", autocomplete: "list" }) }, _refreshList: function () { this._list && this._shouldRefreshDataSource() && this._setListDataSource() }, _shouldRefreshDataSource: function () { return !!this._list.option("dataSource") !== this._needPassDataSourceToList() }, _isDesktopDevice: function () { return "desktop" === m.default.real().deviceType }, _listConfig: function () { var e = { selectionMode: "single", _templates: this.option("_templates"), templateProvider: this.option("templateProvider"), noDataText: this.option("noDataText"), grouped: this.option("grouped"), wrapItemText: this.option("wrapItemText"), onContentReady: this._listContentReadyHandler.bind(this), itemTemplate: this.option("itemTemplate"), indicateLoading: !1, keyExpr: this._getCollectionKeyExpr(), displayExpr: this._displayGetterExpr(), groupTemplate: this.option("groupTemplate"), onItemClick: this._listItemClickAction.bind(this), dataSource: this._getDataSource(), _revertPageOnEmptyLoad: !0, hoverStateEnabled: !!this._isDesktopDevice() && this.option("hoverStateEnabled"), focusStateEnabled: !!this._isDesktopDevice() && this.option("focusStateEnabled") }; return this._canListHaveFocus() || (e.tabIndex = null), e }, _canListHaveFocus: function () { return !1 }, _getDataSource: function () { return this._needPassDataSourceToList() ? this._dataSource : null }, _dataSourceOptions: function () { return { paginate: !1 } }, _getGroupedOption: function () { return this.option("grouped") }, _dataSourceFromUrlLoadMode: function () { return "raw" }, _listContentReadyHandler: function () { this._list = this._list || this._$list.dxList("instance"), this.option("deferRendering") || this._refreshSelected(), this._dimensionChanged(), this._contentReadyAction() }, _setListOption: function (e, t) { this._setWidgetOption("_list", arguments) }, _listItemClickAction: function (e) { this._listItemClickHandler(e), this._itemClickAction(e) }, _listItemClickHandler: l.noop, _setListDataSource: function () { this._list && (this._setListOption("dataSource", this._getDataSource()), this._needPassDataSourceToList() || this._setListOption("items", [])) }, _needPassDataSourceToList: function () { return this.option("showDataBeforeSearch") || this._isMinSearchLengthExceeded() }, _isMinSearchLengthExceeded: function () { return this._searchValue().toString().length >= this.option("minSearchLength") }, _needClearFilter: function () { return !this._canKeepDataSource() && this._needPassDataSourceToList() }, _canKeepDataSource: function () { var e, t = this._isMinSearchLengthExceeded(); return (null === (e = this._dataSource) || void 0 === e ? void 0 : e.isLoaded()) && this.option("showDataBeforeSearch") && this.option("minSearchLength") && !t && !this._isLastMinSearchLengthExceeded }, _searchValue: function () { return this._input().val() || "" }, _getSearchEvent: function () { return (0, g.addNamespace)("input", this.NAME + "Search") }, _getSetFocusPolicyEvent: function () { return (0, g.addNamespace)("input", this.NAME + "FocusPolicy") }, _renderEvents: function () { this.callBase(), o.default.on(this._input(), this._getSetFocusPolicyEvent(), this._setFocusPolicy.bind(this)), this._shouldRenderSearchEvent() && o.default.on(this._input(), this._getSearchEvent(), this._searchHandler.bind(this)) }, _shouldRenderSearchEvent: function () { return this.option("searchEnabled") }, _refreshEvents: function () { o.default.off(this._input(), this._getSearchEvent()), o.default.off(this._input(), this._getSetFocusPolicyEvent()), this.callBase() }, _searchHandler: function () { if (this._isMinSearchLengthExceeded()) { var e = this.option("searchTimeout"); e ? (this._clearSearchTimer(), this._searchTimer = setTimeout(this._searchDataSource.bind(this), e)) : this._searchDataSource() } else this._searchCanceled() }, _searchCanceled: function () { this._clearSearchTimer(), this._needClearFilter() && this._filterDataSource(null), this._refreshList() }, _searchDataSource: function () { this._filterDataSource(this._searchValue()) }, _filterDataSource: function (e) { this._clearSearchTimer(); var t = this._dataSource; t && (t.searchExpr(this.option("searchExpr") || this._displayGetterExpr()), t.searchOperation(this.option("searchMode")), t.searchValue(e), t.load().done(this._dataSourceFiltered.bind(this, e))) }, _clearFilter: function () { var e = this._dataSource; e && e.searchValue() && e.searchValue(null) }, _dataSourceFiltered: function () { this._isLastMinSearchLengthExceeded = this._isMinSearchLengthExceeded(), this._refreshList(), this._refreshPopupVisibility() }, _shouldOpenPopup: function () { return this._hasItemsToShow() }, _refreshPopupVisibility: function () { if (!this.option("readOnly") && this._searchValue()) { var e = this._shouldOpenPopup(); e && !this._isFocused() || (this.option("opened", e), e && this._dimensionChanged()) } }, _dataSourceChangedHandler: function (e) { 0 === this._dataSource.pageIndex() ? this.option().items = e : this.option().items = this.option().items.concat(e) }, _hasItemsToShow: function () { var e = (this._dataSource && this._dataSource.items() || []).length; return !(!this._needPassDataSourceToList() || !e) }, _clearSearchTimer: function () { clearTimeout(this._searchTimer), delete this._searchTimer }, _popupShowingHandler: function () { this._dimensionChanged() }, _dimensionChanged: function () { this.callBase(arguments), this._popup && this._updatePopupDimensions() }, _needPopupRepaint: function () { if (!this._dataSource) return !1; var e = this._dataSource.pageIndex(), t = (0, d.isDefined)(this._pageIndex) && e <= this._pageIndex; return this._pageIndex = e, t }, _updatePopupDimensions: function () { this._needPopupRepaint() && this._popup.repaint(), this._list && this._list.updateDimensions() }, _getMaxHeight: function () { var e = this.$element(), t = this._$customBoundaryContainer, n = e.offset().top - (t ? t.offset().top : 0), a = (0, i.default)(S).outerHeight(), o = t ? Math.min(t.outerHeight(), a) : a, s = Math.max(n, o - n - e.outerHeight()); return Math.min(.5 * o, s) }, _clean: function () { this._list && delete this._list, delete this._isLastMinSearchLengthExceeded, this.callBase() }, _dispose: function () { this._clearSearchTimer(), this.callBase() }, _setCollectionWidgetOption: function () { this._setListOption.apply(this, arguments) }, _setSubmitValue: function () { var e = this.option("value"), t = this._shouldUseDisplayValue(e) ? this._displayGetter(e) : e; this._getSubmitElement().val(t) }, _shouldUseDisplayValue: function (e) { return "this" === this.option("valueExpr") && (0, d.isObject)(e) }, _optionChanged: function (e) { switch (this._dataExpressionOptionChanged(e), e.name) { case "hoverStateEnabled": case "focusStateEnabled": this._isDesktopDevice() && this._setListOption(e.name, e.value), this.callBase(e); break; case "items": this.option("dataSource") || this._processDataSourceChanging(); break; case "dataSource": this._processDataSourceChanging(); break; case "valueExpr": this._renderValue(), this._setListOption("keyExpr", this._getCollectionKeyExpr()); break; case "displayExpr": this._renderValue(), this._setListOption("displayExpr", this._displayGetterExpr()); break; case "searchMode": this._validateSearchMode(); break; case "minSearchLength": this._refreshList(); break; case "searchEnabled": case "showDataBeforeSearch": case "searchExpr": this._invalidate(); break; case "onContentReady": this._initContentReadyAction(); break; case "onSelectionChanged": this._initSelectionChangedAction(); break; case "onItemClick": this._initItemClickAction(); break; case "grouped": case "groupTemplate": case "wrapItemText": case "noDataText": this._setListOption(e.name); break; case "displayValue": this.option("text", e.value); break; case "itemTemplate": case "searchTimeout": break; case "selectedItem": e.previousValue !== e.value && this._selectionChangedAction({ selectedItem: e.value }); break; default: this.callBase(e) } } }).include(y.default, C.default); (0, r.default)("dxDropDownList", D); var T = D; t.default = T, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = c(n(2)), o = n(1), s = c(n(5)), r = c(n(10)), l = c(n(129)), d = c(n(35)); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function f(e, t, n) { return (f = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = _(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function p(e, t) { return (p = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function g(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = _(e); if (t) { var a = _(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return m(this, n) } } function m(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function _(e) { return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var v = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && p(e, t) }(c, e); var t, n, i, l = g(c); function c() { return u(this, c), l.apply(this, arguments) } return t = c, (n = [{ key: "_attachEvents", value: function (e) { var t = this.editor; e.option("onClick", (function (e) { !t.option("openOnFieldClick") && t._openHandler(e) })), s.default.on(e.$element(), "mousedown", (function (e) { t.$element().is(".dx-state-focused") && e.preventDefault() })) } }, { key: "_create", value: function () { var e = this.editor, t = (0, a.default)("<div>"), n = this._getOptions(); this._addToContainer(t); var i = e._createComponent(t, d.default, (0, o.extend)({}, n, { elementAttr: { "aria-label": r.default.format("dxDropDownEditor-selectLabel") } })); return this._legacyRender(e.$element(), t, n.visible), { $element: t, instance: i } } }, { key: "_getOptions", value: function () { var e = this.editor, t = this._isVisible(); return { focusStateEnabled: !1, hoverStateEnabled: !1, activeStateEnabled: !1, useInkRipple: !1, disabled: e.option("readOnly"), visible: t, template: e._getTemplateByOption("dropDownButtonTemplate") } } }, { key: "_isVisible", value: function () { var e = this.editor; return f(_(c.prototype), "_isVisible", this).call(this) && e.option("showDropDownButton") } }, { key: "_legacyRender", value: function (e, t, n) { e.toggleClass("dx-dropdowneditor-button-visible", n), t && (t.removeClass("dx-button"), t.addClass("dx-dropdowneditor-button")) } }, { key: "update", value: function () { if (f(_(c.prototype), "update", this).call(this)) { var e = this.editor, t = this.instance, n = e.$element(), i = this._getOptions(); t && t.option(i), this._legacyRender(n, t && t.$element(), i.visible) } } }]) && h(t.prototype, n), i && h(t, i), c }(l.default); t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(73)), a = n(20), o = n(4), s = n(0), r = n(1), l = h(n(110)), d = n(52), c = h(n(54)), u = n(6); function h(e) { return e && e.__esModule ? e : { default: e } } function f(e) { return (f = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var p = (0, r.extend)({}, l.default, { _dataExpressionDefaultOptions: function () { return { items: [], dataSource: null, itemTemplate: "item", value: null, valueExpr: "this", displayExpr: void 0 } }, _initDataExpressions: function () { this._compileValueGetter(), this._compileDisplayGetter(), this._initDynamicTemplates(), this._initDataSource(), this._itemsToDataSource() }, _itemsToDataSource: function () { this.option("dataSource") || (this._dataSource = new d.DataSource({ store: new c.default(this.option("items")), pageSize: 0 })) }, _compileDisplayGetter: function () { this._displayGetter = (0, a.compileGetter)(this._displayGetterExpr()) }, _displayGetterExpr: function () { return this.option("displayExpr") }, _compileValueGetter: function () { this._valueGetter = (0, a.compileGetter)(this._valueGetterExpr()) }, _valueGetterExpr: function () { return this.option("valueExpr") || "this" }, _loadValue: function (e) { var t = new u.Deferred; return e = this._unwrappedValue(e), (0, s.isDefined)(e) ? (this._loadSingle(this._valueGetterExpr(), e).done(function (n) { this._isValueEquals(this._valueGetter(n), e) ? t.resolve(n) : t.reject() }.bind(this)).fail((function () { t.reject() })), t.promise()) : t.reject().promise() }, _getCurrentValue: function () { return this.option("value") }, _unwrappedValue: function (e) { return (e = (0, s.isDefined)(e) ? e : this._getCurrentValue()) && this._dataSource && "this" === this._valueGetterExpr() && (e = this._getItemKey(e)), i.default.unwrap(e) }, _getItemKey: function (e) { var t = this._dataSource.key(); if (Array.isArray(t)) { for (var n = {}, i = 0, a = t.length; i < a; i++)n[t[i]] = e[t[i]]; return n } return t && "object" === f(e) && (e = e[t]), e }, _isValueEquals: function (e, t) { var n = this._dataSource && this._dataSource.key(), i = this._compareValues(e, t); return !i && n && (0, s.isDefined)(e) && (0, s.isDefined)(t) && (i = Array.isArray(n) ? this._compareByCompositeKey(e, t, n) : this._compareByKey(e, t, n)), i }, _compareByCompositeKey: function (e, t, n) { var i = s.isObject; if (!i(e) || !i(t)) return !1; for (var a = 0, o = n.length; a < o; a++)if (e[n[a]] !== t[n[a]]) return !1; return !0 }, _compareByKey: function (e, t, n) { var a = i.default.unwrap, s = (0, o.ensureDefined)(a(e[n]), e), r = (0, o.ensureDefined)(a(t[n]), t); return this._compareValues(s, r) }, _compareValues: function (e, t) { return (0, a.toComparable)(e, !0) === (0, a.toComparable)(t, !0) }, _initDynamicTemplates: o.noop, _setCollectionWidgetItemTemplate: function () { this._initDynamicTemplates(), this._setCollectionWidgetOption("itemTemplate", this.option("itemTemplate")) }, _getCollectionKeyExpr: function () { var e = this.option("valueExpr"); return (0, s.isString)(e) && "this" !== e || (0, s.isFunction)(e) ? e : null }, _dataExpressionOptionChanged: function (e) { switch (e.name) { case "items": this._itemsToDataSource(), this._setCollectionWidgetOption("items"); break; case "dataSource": this._initDataSource(); break; case "itemTemplate": this._setCollectionWidgetItemTemplate(); break; case "valueExpr": this._compileValueGetter(); break; case "displayExpr": this._compileDisplayGetter(), this._initDynamicTemplates(), this._setCollectionWidgetOption("displayExpr") } } }); t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(11)), a = o(n(432)); function o(e) { return e && e.__esModule ? e : { default: e } } (0, i.default)("dxDateBox", a.default); var s = a.default; t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(8), a = n(0), o = n(28), s = n(1), r = n(37), l = _(n(5)), d = n(433), c = _(n(32)), u = n(144), h = n(116), f = _(n(434)), p = _(n(40)), g = _(n(12)), m = _(n(15)); function _(e) { return e && e.__esModule ? e : { default: e } } var v = f.default.inherit({ _supportedKeys: function (e) { var t = this, n = this.callBase(e), a = function (e) { var a = n[(0, i.normalizeKeyName)(e)]; return a && a.apply(t, [e]) }, o = function (e, n) { return t._shouldUseOriginalHandler(e) ? a.apply(t, [e]) : n.apply(t, [e]) }; return (0, s.extend)({}, n, { del: function (e) { return o(e, (function (e) { t._revertPart(1), t._isAllSelected() || e.preventDefault() })) }, backspace: function (e) { return o(e, (function (e) { t._revertPart(-1), t._isAllSelected() || e.preventDefault() })) }, home: function (e) { return o(e, (function (e) { t._selectFirstPart(), e.preventDefault() })) }, end: function (e) { return o(e, (function (e) { t._selectLastPart(), e.preventDefault() })) }, escape: function (e) { return o(e, (function (e) { t._revertChanges(e) })) }, enter: function (e) { return o(e, (function (e) { t._enterHandler(e) })) }, leftArrow: function (e) { return o(e, (function (e) { t._selectNextPart(-1), e.preventDefault() })) }, rightArrow: function (e) { return o(e, (function (e) { t._selectNextPart(1), e.preventDefault() })) }, upArrow: function (e) { return o(e, (function (e) { t._upDownArrowHandler(1), e.preventDefault() })) }, downArrow: function (e) { return o(e, (function (e) { t._upDownArrowHandler(-1), e.preventDefault() })) } }) }, _shouldUseOriginalHandler: function (e) { var t = this.option("opened") && e && -1 === ["backspace", "del"].indexOf((0, i.normalizeKeyName)(e)); return !this._useMaskBehavior() || t || e && e.altKey }, _upDownArrowHandler: function (e) { this._setNewDateIfEmpty(); var t = this._getActivePartValue(this._initialMaskValue), n = this._getActivePartValue() - t; this._loadMaskValue(this._initialMaskValue), this._partIncrease(n + e, !0) }, _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { useMaskBehavior: !1, emptyDateValue: new Date(2e3, 0, 1, 0, 0, 0) }) }, _isSingleCharKey: function (e) { var t = e.originalEvent.data || e.originalEvent.key; return "string" == typeof t && 1 === t.length && !e.ctrl && !e.alt }, _isSingleDigitKey: function (e) { var t, n = null === (t = e.originalEvent) || void 0 === t ? void 0 : t.data; return 1 === (null == n ? void 0 : n.length) && parseInt(n, 10) }, _useBeforeInputEvent: function () { var e = g.default.real(); return e.android && e.version[0] > 4 }, _keyboardHandler: function (e) { var t = this, n = e.originalEvent.key, i = this.callBase(e); return !this._useMaskBehavior() || this._useBeforeInputEvent() ? i : (m.default.chrome && "Process" === e.key && 0 === e.code.indexOf("Digit") ? (n = e.code.replace("Digit", ""), this._processInputKey(n), this._maskInputHandler = function () { t._renderSelectedPart() }) : this._isSingleCharKey(e) && (this._processInputKey(n), e.originalEvent.preventDefault()), i) }, _maskBeforeInputHandler: function (e) { var t = this; this._maskInputHandler = null; var n = e.originalEvent.inputType; "insertCompositionText" === n && (this._maskInputHandler = function () { t._renderSelectedPart() }); var i = "deleteContentBackward" === n; if (i || "deleteContentForward" === n) { var a = i ? -1 : 1; this._maskInputHandler = function () { t._revertPart(), t._selectNextPart(a) } } if (this._useMaskBehavior() && this._isSingleCharKey(e)) { var o = e.originalEvent.data; return this._processInputKey(o), e.preventDefault(), !0 } }, _keyPressHandler: function (e) { var t = e.originalEvent; "insertCompositionText" === (null == t ? void 0 : t.inputType) && this._isSingleDigitKey(e) && (this._processInputKey(t.data), this._renderDisplayText(this._getDisplayedText(this._maskValue)), this._selectNextPart()), this.callBase(e), this._maskInputHandler && (this._maskInputHandler(), this._maskInputHandler = null) }, _processInputKey: function (e) { this._isAllSelected() && (this._activePartIndex = 0), this._setNewDateIfEmpty(), isNaN(parseInt(e)) ? this._searchString(e) : this._searchNumber(e) }, _isAllSelected: function () { var e = this._caret(); return e.end - e.start === this.option("text").length }, _getFormatPattern: function () { if (this._formatPattern) return this._formatPattern; var e = this._strategy.getDisplayFormat(this.option("displayFormat")), t = (0, a.isString)(e) && !c.default._getPatternByFormat(e); return this._formatPattern = t ? e : (0, h.getFormat)((function (t) { return c.default.format(t, e) })), this._formatPattern }, _setNewDateIfEmpty: function () { if (!this._maskValue) { var e = "time" === this.option("type") ? new Date(null) : new Date; this._maskValue = e, this._initialMaskValue = e, this._renderDateParts() } }, _partLimitsReached: function (e) { var t = String(e).length, n = this._getActivePartProp("pattern").length, i = 1 === n ? t : Math.min(n, t), a = this._searchValue.length === i, o = parseInt(this._searchValue + "0") > e; return a || o }, _searchNumber: function (e) { var t = this._getActivePartLimits().max, n = String(t).length; this._searchValue = (this._searchValue + e).substr(-n), isNaN(this._searchValue) && (this._searchValue = e), this._setActivePartValue(this._searchValue), this._partLimitsReached(t) && this._selectNextPart(1) }, _searchString: function (e) { if (isNaN(parseInt(this._getActivePartProp("text")))) { for (var t = this._getActivePartProp("limits")(this._maskValue), n = this._searchValue + e.toLowerCase(), i = t.max - t.min, a = 0; a <= i; a++)if (this._loadMaskValue(this._initialMaskValue), this._partIncrease(a + 1), 0 === this._getActivePartProp("text").toLowerCase().indexOf(n)) return void (this._searchValue = n); this._setNewDateIfEmpty(), this._searchValue && (this._clearSearchValue(), this._searchString(e)) } }, _clearSearchValue: function () { this._searchValue = "" }, _revertPart: function (e) { if (!this._isAllSelected()) { var t = this._getActivePartValue(this.option("emptyDateValue")); this._setActivePartValue(t), this._selectNextPart(e) } this._clearSearchValue() }, _useMaskBehavior: function () { return this.option("useMaskBehavior") && "text" === this.option("mode") }, _prepareRegExpInfo: function () { this._regExpInfo = (0, u.getRegExpInfo)(this._getFormatPattern(), c.default); var e = this._regExpInfo.regexp.flags, t = p.default.convertDigits(this._regExpInfo.regexp.source, !1); this._regExpInfo.regexp = RegExp(t, e) }, _initMaskState: function () { this._activePartIndex = 0, this._formatPattern = null, this._prepareRegExpInfo(), this._loadMaskValue() }, _renderMask: function () { this.callBase(), this._detachMaskEvents(), this._clearMaskState(), this._useMaskBehavior() && (this._attachMaskEvents(), this._initMaskState(), this._renderDateParts()) }, _renderDateParts: function () { if (this._useMaskBehavior()) { var e = this.option("text") || this._getDisplayedText(this._maskValue); e && (this._dateParts = (0, d.renderDateParts)(e, this._regExpInfo), this._isFocused() && this._selectNextPart()) } }, _detachMaskEvents: function () { l.default.off(this._input(), ".dateBoxMask") }, _attachMaskEvents: function () { var e = this; l.default.on(this._input(), (0, i.addNamespace)("dxclick", "dateBoxMask"), this._maskClickHandler.bind(this)), l.default.on(this._input(), (0, i.addNamespace)("paste", "dateBoxMask"), this._maskPasteHandler.bind(this)), l.default.on(this._input(), (0, i.addNamespace)("drop", "dateBoxMask"), (function () { e._renderSelectedPart() })), l.default.on(this._input(), (0, i.addNamespace)("compositionend", "dateBoxMask"), this._maskCompositionEndHandler.bind(this)), this._useBeforeInputEvent() && l.default.on(this._input(), (0, i.addNamespace)("beforeinput", "dateBoxMask"), this._maskBeforeInputHandler.bind(this)) }, _renderSelectedPart: function () { this._renderDisplayText(this._getDisplayedText(this._maskValue)), this._selectNextPart() }, _selectLastPart: function () { this.option("text") && (this._activePartIndex = this._dateParts.length, this._selectNextPart(-1)) }, _selectFirstPart: function () { this.option("text") && (this._activePartIndex = -1, this._selectNextPart(1)) }, _onMouseWheel: function (e) { this._useMaskBehavior() && this._partIncrease(e.delta > 0 ? 1 : -1, e) }, _selectNextPart: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; if (this.option("text") && !this._disposed) { e && (this._initialMaskValue = new Date(this._maskValue)); var t = (0, r.fitIntoRange)(this._activePartIndex + e, 0, this._dateParts.length - 1); if (this._dateParts[t].isStub) { var n = 0 === t && e < 0 || t === this._dateParts.length - 1 && e > 0; if (!n) return void this._selectNextPart(e >= 0 ? e + 1 : e - 1); t = this._activePartIndex } this._activePartIndex !== t && this._clearSearchValue(), this._activePartIndex = t, this._caret(this._getActivePartProp("caret")) } }, _getRealLimitsPattern: function () { if ("d" === this._getActivePartProp("pattern")[0]) return "dM" }, _getActivePartLimits: function (e) { return this._getActivePartProp("limits")(this._maskValue, e && this._getRealLimitsPattern()) }, _getActivePartValue: function (e) { e = e || this._maskValue; var t = this._getActivePartProp("getter"); return (0, a.isFunction)(t) ? t(e) : e[t]() }, _addLeadingZeroes: function (e) { var t = this._searchValue.match(/^0+/), n = this._getActivePartLimits(), i = String(n.max).length; return ((t && t[0] || "") + String(e)).substr(-i) }, _setActivePartValue: function (e, t) { t = t || this._maskValue; var n = this._getActivePartProp("setter"), i = this._getActivePartLimits(); e = (0, r.inRange)(e, i.min, i.max) ? e : e % 10, e = this._addLeadingZeroes((0, r.fitIntoRange)(e, i.min, i.max)), (0, a.isFunction)(n) ? n(t, e) : t[n](e), this._renderDisplayText(this._getDisplayedText(t)), this._renderDateParts() }, _getActivePartProp: function (e) { if (this._dateParts && this._dateParts[this._activePartIndex]) return this._dateParts[this._activePartIndex][e] }, _loadMaskValue: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.dateOption("value"); this._maskValue = e && new Date(e), this._initialMaskValue = e && new Date(e) }, _saveMaskValue: function () { var e = this._maskValue && new Date(this._maskValue); e && "date" === this.option("type") && e.setHours(0, 0, 0, 0), this._initialMaskValue = new Date(e), this.dateOption("value", e) }, _revertChanges: function () { this._loadMaskValue(), this._renderDisplayText(this._getDisplayedText(this._maskValue)), this._renderDateParts() }, _renderDisplayText: function (e) { this.callBase(e), this._useMaskBehavior() && this.option("text", e) }, _partIncrease: function (e, t) { this._setNewDateIfEmpty(); var n = this._getActivePartLimits(t), i = n.max, a = n.min, o = i - a; 1 === o && o++; var s = e + this._getActivePartValue(); s > i ? s = this._applyLimits(s, { limitBase: a, limitClosest: i, limitDelta: o }) : s < a && (s = this._applyLimits(s, { limitBase: i, limitClosest: a, limitDelta: o })), this._setActivePartValue(s) }, _applyLimits: function (e, t) { var n = t.limitBase, i = t.limitClosest, a = (e - i) % t.limitDelta; return a ? n + a - 1 * (0, r.sign)(a) : i }, _maskClickHandler: function () { this.option("text") && (this._activePartIndex = (0, d.getDatePartIndexByPosition)(this._dateParts, this._caret().start), (0, a.isDefined)(this._activePartIndex) ? this._caret(this._getActivePartProp("caret")) : this._selectLastPart()) }, _maskCompositionEndHandler: function (e) { var t = this; if (m.default.msie && this._isSingleDigitKey(e)) { var n = e.originalEvent.data; this._processInputKey(n) } else this._input().val(this._getDisplayedText(this._maskValue)), this._selectNextPart(), this._maskInputHandler = function () { t._renderSelectedPart() } }, _maskPasteHandler: function (e) { var t = this._replaceSelectedText(this.option("text"), this._caret(), (0, o.clipboardText)(e)), n = c.default.parse(t, this._getFormatPattern()); n && this._isDateValid(n) && (this._maskValue = n, this._renderDisplayText(this._getDisplayedText(this._maskValue)), this._renderDateParts(), this._selectNextPart()), e.preventDefault() }, _isDateValid: function (e) { return (0, a.isDate)(e) && !isNaN(e) }, _isValueDirty: function () { var e = this.dateOption("value"); return (this._maskValue && this._maskValue.getTime()) !== (e && e.getTime()) }, _fireChangeEvent: function () { this._clearSearchValue(), this._isValueDirty() && l.default.trigger(this._input(), "change") }, _enterHandler: function (e) { this._fireChangeEvent(), this._selectNextPart(1), e.preventDefault() }, _focusOutHandler: function (e) { this.callBase(e), this._useMaskBehavior() && !e.isDefaultPrevented() && (this._fireChangeEvent(), this._selectFirstPart(e)) }, _valueChangeEventHandler: function (e) { var t = this.option("text"); this._useMaskBehavior() ? (this._saveValueChangeEvent(e), t ? null === this._maskValue && this._loadMaskValue(t) : this._maskValue = null, this._saveMaskValue()) : this.callBase(e) }, _optionChanged: function (e) { switch (e.name) { case "useMaskBehavior": this._renderMask(); break; case "displayFormat": case "mode": this.callBase(e), this._renderMask(); break; case "value": this._loadMaskValue(), this.callBase(e), this._renderDateParts(); break; case "emptyDateValue": break; default: this.callBase(e) } }, _clearMaskState: function () { this._clearSearchValue(), delete this._dateParts, delete this._activePartIndex, delete this._maskValue }, reset: function () { this.callBase(), this._clearMaskState(), this._activePartIndex = 0 }, _clean: function () { this.callBase(), this._detachMaskEvents(), this._clearMaskState() } }); t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.getDatePartIndexByPosition = t.renderDateParts = void 0; var i = n(144), a = n(1), o = n(37), s = n(4), r = function (e) { return e.getMonth() + 1 }, l = function (e, t) { var n = e.getDate(), i = h("M", e), a = (0, o.fitIntoRange)(parseInt(t), i.min, i.max); e.setMonth(a - 1, 1); var s = h("dM", e), r = s.min, l = s.max, d = (0, o.fitIntoRange)(n, r, l); e.setDate(d) }, d = { a: function (e) { return e.getHours() < 12 ? 0 : 1 }, E: "getDay", y: "getFullYear", M: r, L: r, d: "getDate", H: "getHours", h: "getHours", m: "getMinutes", s: "getSeconds", S: "getMilliseconds" }, c = (0, a.extend)({}, (0, i.getPatternSetters)(), { a: function (e, t) { var n = e.getHours(); n >= 12 !== !!parseInt(t) && e.setHours((n + 12) % 24) }, d: function (e, t) { t > h("dM", e).max && e.setMonth(e.getMonth() + 1), e.setDate(t) }, h: function (e, t) { var n = e.getHours() >= 12; e.setHours(+t % 12 + (n ? 12 : 0)) }, M: l, L: l, E: function (e, t) { t < 0 || e.setDate(e.getDate() - e.getDay() + parseInt(t)) }, y: function (e, t) { var n = e.getFullYear(), i = String(t).length, a = String(h("y", e).max).length, o = parseInt(String(n).substr(0, a - i) + t); e.setFullYear(o) } }), u = function (e) { return d[e] || function () { return e } }; t.renderDateParts = function (e, t) { for (var n = t.regexp.exec(e), i = 0, a = 0, o = [], r = 1; r < n.length; r++) { a = (i = a) + n[r].length; var l = t.patterns[r - 1].replace(/^'|'$/g, ""), d = u(l[0]); o.push({ index: r - 1, isStub: l === n[r], caret: { start: i, end: a }, pattern: l, text: n[r], limits: h.bind(void 0, l[0]), setter: c[l[0]] || s.noop, getter: d }) } return o }; var h = function (e, t, n) { var i = { y: { min: 0, max: 9999 }, M: { min: 1, max: 12 }, L: { min: 1, max: 12 }, d: { min: 1, max: 31 }, dM: { min: 1, max: new Date(t.getFullYear(), t.getMonth() + 1, 0).getDate() }, E: { min: 0, max: 6 }, H: { min: 0, max: 23 }, h: { min: 0, max: 23 }, m: { min: 0, max: 59 }, s: { min: 0, max: 59 }, S: { min: 0, max: 999 }, a: { min: 0, max: 1 } }; return i[n || e] || i.getAmPm }; t.getDatePartIndexByPosition = function (e, t) { for (var n = 0; n < e.length; n++) { var i = e[n].caret.end >= t; if (!e[n].isStub && i) return n } return null } }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(7), a = k(n(11)), o = n(0), s = n(28), r = n(3), l = n(67), d = n(1), c = n(41), u = k(n(12)), h = k(n(27)), f = k(n(49)), p = k(n(87)), g = k(n(55)), m = k(n(235)), _ = k(n(32)), v = k(n(10)), y = k(n(238)), w = k(n(440)), x = k(n(443)), b = k(n(444)), C = k(n(446)); function k(e) { return e && e.__esModule ? e : { default: e } } var I = (0, i.getWindow)(), S = { calendar: "calendar", rollers: "rollers", list: "list", native: "native" }, E = { date: "date", datetime: "datetime", time: "time" }, D = "Calendar", T = "DateView", A = "Native", O = "CalendarWithTime", B = "List", M = { Calendar: y.default, DateView: w.default, Native: x.default, CalendarWithTime: b.default, List: C.default }, P = m.default.inherit({ _supportedKeys: function () { return (0, d.extend)(this.callBase(), this._strategy.supportedKeys()) }, _renderButtonContainers: function () { this.callBase.apply(this, arguments), this._strategy.customizeButtons() }, _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { type: "date", showAnalogClock: !0, value: null, dateSerializationFormat: void 0, min: void 0, max: void 0, displayFormat: null, interval: 30, disabledDates: null, pickerType: S.calendar, invalidDateMessage: v.default.format("dxDateBox-validation-datetime"), dateOutOfRangeMessage: v.default.format("validation-range"), applyButtonText: v.default.format("OK"), adaptivityEnabled: !1, calendarOptions: {}, useHiddenSubmitElement: !0 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "ios" }, options: { "dropDownOptions.showTitle": !0 } }, { device: { platform: "android" }, options: { buttonsLocation: "bottom after" } }, { device: function () { var e = u.default.real().platform; return "ios" === e || "android" === e }, options: { pickerType: S.native } }, { device: function (e) { var t = u.default.real(), n = t.platform, i = t.version; return "generic" === n && "desktop" !== e.deviceType || "android" === n && (0, l.compare)(i, [4, 4]) < 0 }, options: { pickerType: S.rollers } }, { device: { platform: "generic", deviceType: "desktop" }, options: { buttonsLocation: "bottom after" } }]) }, _initOptions: function (e) { this._userOptions = (0, d.extend)({}, e), this.callBase(e), this._updatePickerOptions() }, _updatePickerOptions: function () { var e = this.option("pickerType"), t = this.option("type"); e !== S.list || t !== E.datetime && t !== E.date || (e = S.calendar), t === E.time && e === S.calendar && (e = S.list), this.option("showDropDownButton", "generic" !== u.default.real().platform || e !== S.native), this._pickerType = e }, _init: function () { this._initStrategy(), this.option((0, d.extend)({}, this._strategy.getDefaultOptions(), this._userOptions)), delete this._userOptions, this.callBase() }, _toLowerCaseFirstLetter: function (e) { return e.charAt(0).toLowerCase() + e.substr(1) }, _initStrategy: function () { var e = this._getStrategyName(this._getFormatType()), t = M[e]; this._strategy && this._strategy.NAME === e || (this._strategy = new t(this)) }, _getFormatType: function () { var e = this.option("type"), t = /h|m|s/g.test(e), n = ""; return /d|M|Y/g.test(e) && (n += E.date), t && (n += E.time), n }, _getStrategyName: function (e) { var t = this._pickerType; return t === S.rollers ? T : t === S.native ? A : e === E.date ? D : e === E.datetime ? O : B }, _initMarkup: function () { this.$element().addClass("dx-datebox"), this.callBase(), this._refreshFormatClass(), this._refreshPickerTypeClass(), this._strategy.renderInputMinMax(this._input()) }, _render: function () { this.callBase(), this._formatValidationIcon() }, _renderDimensions: function () { this.callBase(), this.$element().toggleClass("dx-auto-width", !this.option("width")), this._dimensionChanged() }, _dimensionChanged: function () { var e, t; (this.callBase(arguments), this._popup) && (null === (e = (t = this._strategy)._updatePopupHeight) || void 0 === e || e.call(t)) }, _refreshFormatClass: function () { var e = this.$element(); (0, r.each)(E, (function (t, n) { e.removeClass("dx-datebox-" + n) })), e.addClass("dx-datebox-" + this.option("type")) }, _refreshPickerTypeClass: function () { var e = this.$element(); (0, r.each)(S, (function (t, n) { e.removeClass("dx-datebox-" + n) })), e.addClass("dx-datebox-" + this._pickerType) }, _formatValidationIcon: function () { if ((0, i.hasWindow)()) { var e = this._input().get(0), t = this.option("rtlEnabled"), n = this._getClearButtonWidth(), a = this._getLongestElementDimensions(), o = parseFloat(I.getComputedStyle(e).width) - n, s = a.width > o, r = e.style; this.$element().toggleClass("dx-show-invalid-badge", !s), s ? (void 0 === this._storedPadding && (this._storedPadding = t ? a.leftPadding : a.rightPadding), t ? r.paddingLeft = 0 : r.paddingRight = 0) : t ? r.paddingLeft = this._storedPadding + "px" : r.paddingRight = this._storedPadding + "px" } }, _getClearButtonWidth: function () { var e = 0; if (this._isClearButtonVisible() && "" === this._input().val()) { var t = this.$element().find(".dx-clear-button-area").get(0); e = parseFloat(I.getComputedStyle(t).width) } return e }, _getLongestElementDimensions: function () { var e = this._strategy.getDisplayFormat(this.option("displayFormat")), t = _.default.format(p.default.getLongestDate(e, _.default.getMonthNames(), _.default.getDayNames()), e), n = this._input(), i = n.get(0), a = (0, s.createTextElementHiddenCopy)(n, t), o = void 0 !== this._storedPadding ? this._storedPadding : 0; a.appendTo(this.$element()); var r = parseFloat(I.getComputedStyle(a.get(0)).width), l = parseFloat(I.getComputedStyle(i).paddingRight), d = parseFloat(I.getComputedStyle(i).paddingLeft), c = r + d + l + o; return a.remove(), { width: c, leftPadding: d, rightPadding: l } }, _getKeyboardListeners: function () { return this.callBase().concat([this._strategy && this._strategy.getKeyboardListener()]) }, _renderPopup: function () { this.callBase(), this._popup._wrapper().addClass("dx-datebox-wrapper"), this._renderPopupWrapper() }, _popupConfig: function () { var e = this.callBase(); return (0, d.extend)(this._strategy.popupConfig(e), { title: this._getPopupTitle(), dragEnabled: !1 }) }, _renderPopupWrapper: function () { if (this._popup) { var e = this.$element(), t = (0, d.extend)({}, E, S); (0, r.each)(t, function (t, n) { e.removeClass("dx-datebox-wrapper-" + n) }.bind(this)), this._popup._wrapper().addClass("dx-datebox-wrapper-" + this.option("type")).addClass("dx-datebox-wrapper-" + this._pickerType) } }, _renderPopupContent: function () { this.callBase(), this._strategy.renderPopupContent() }, _getFirstPopupElement: function () { return this._strategy.getFirstPopupElement() || this.callBase() }, _getLastPopupElement: function () { return this._strategy.getLastPopupElement() || this.callBase() }, _popupShowingHandler: function () { this.callBase(), this._strategy.popupShowingHandler() }, _popupShownHandler: function () { this.callBase(), this._strategy.renderOpenedState() }, _popupHiddenHandler: function () { this.callBase(), this._strategy.renderOpenedState(), this._strategy.popupHiddenHandler() }, _visibilityChanged: function (e) { e && this._formatValidationIcon() }, _clearValueHandler: function (e) { this.option("text", ""), this.callBase(e) }, _readOnlyPropValue: function () { if (this._pickerType === S.rollers) return !0; var e = u.default.real().platform; return this._isNativeType() && ("ios" === e || "android" === e) ? this.option("readOnly") : this.callBase() }, _isClearButtonVisible: function () { return this.callBase() && !this._isNativeType() }, _renderValue: function () { var e = this.dateOption("value"); return this.option("text", this._getDisplayedText(e)), this._strategy.renderValue(), this.callBase() }, _setSubmitValue: function () { var e = this.dateOption("value"), t = this.option("dateSerializationFormat"), n = p.default.SUBMIT_FORMATS_MAP[this.option("type")], i = t ? g.default.serializeDate(e, t) : p.default.toStandardDateFormat(e, n); this._getSubmitElement().val(i) }, _getDisplayedText: function (e) { var t, n = this.option("mode"); if ("text" === n) { var i = this._strategy.getDisplayFormat(this.option("displayFormat")); t = _.default.format(e, i) } else { var a = this._getFormatByMode(n); t = a ? _.default.format(e, a) : p.default.toStandardDateFormat(e, n) } return t }, _getFormatByMode: function (e) { return (0, c.inputType)(e) ? null : p.default.FORMATS_MAP[e] }, _valueChangeEventHandler: function (e) { var t = this.option("text"), n = this.dateOption("value"); if (t !== this._getDisplayedText(n)) { var i = this._getParsedDate(t), a = n || this._getDateByDefault(), o = this.option("type"), s = p.default.mergeDates(a, i, o), r = i && "time" === o ? s : i; if (this._applyInternalValidation(r).isValid) { var l = this._getDisplayedText(s); a && s && a.getTime() === s.getTime() && l !== t ? this._renderValue() : this.dateValue(s, e) } } else this._applyInternalValidation(n) }, _getDateByDefault: function () { return this._strategy.useCurrentDateByDefault() && this._strategy.getDefaultDate() }, _getParsedDate: function (e) { var t = this._strategy.getDisplayFormat(this.option("displayFormat")), n = this._strategy.getParsedText(e, t); return (0, o.isDefined)(n) ? n : void 0 }, _applyInternalValidation: function (e) { var t = !!this.option("text") && null !== e, n = !!e && (0, o.isDate)(e) && !isNaN(e.getTime()), i = n && f.default.dateInRange(e, this.dateOption("min"), this.dateOption("max"), this.option("type")), a = !t && !e || i, s = ""; return n ? i || (s = this.option("dateOutOfRangeMessage")) : s = this.option("invalidDateMessage"), this.option({ isValid: a, validationError: a ? null : { editorSpecific: !0, message: s } }), { isValid: a, isDate: n } }, _applyCustomValidation: function (e) { this.validationRequest.fire({ editor: this, value: this._serializeDate(e) }) }, _isValueChanged: function (e) { var t = this.dateOption("value"); return (t && t.getTime()) !== (e && e.getTime()) }, _isTextChanged: function (e) { return this.option("text") !== (e && this._getDisplayedText(e) || "") }, _renderProps: function () { this.callBase(), this._input().attr("autocomplete", "off") }, _renderOpenedState: function () { this._isNativeType() || this.callBase(), this._strategy.isAdaptivityChanged() && this._refreshStrategy() }, _getPopupTitle: function () { var e = this.option("placeholder"); if (e) return e; var t = this.option("type"); return t === E.time ? v.default.format("dxDateBox-simulatedDataPickerTitleTime") : t === E.date || t === E.datetime ? v.default.format("dxDateBox-simulatedDataPickerTitleDate") : "" }, _renderPlaceholder: function () { this._popup && this._popup.option("title", this._getPopupTitle()), this.callBase() }, _refreshStrategy: function () { this._strategy.dispose(), this._initStrategy(), this.option(this._strategy.getDefaultOptions()), this._refresh() }, _applyButtonHandler: function (e) { var t = this._strategy.getValue(), n = this._applyInternalValidation(t), i = n.isValid, a = n.isDate; if (i) this.dateValue(t, e.event); else if (a) { var o = this._getDisplayedText(t); this.option("text", o), this._renderDisplayText(o) } this.callBase() }, _dispose: function () { var e; this.callBase(), null === (e = this._strategy) || void 0 === e || e.dispose() }, _isNativeType: function () { return this._pickerType === S.native }, _optionChanged: function (e) { switch (e.name) { case "showClearButton": case "buttons": this.callBase.apply(this, arguments), this._formatValidationIcon(); break; case "pickerType": this._updatePickerOptions({ pickerType: e.value }), this._refreshStrategy(), this._refreshPickerTypeClass(), this._invalidate(); break; case "type": this._updatePickerOptions({ format: e.value }), this._refreshStrategy(), this._refreshFormatClass(), this._renderPopupWrapper(), this._formatValidationIcon(), this._updateValue(); break; case "placeholder": this._renderPlaceholder(); break; case "min": case "max": var t = this.option("isValid"); this._applyInternalValidation(this.dateOption("value")), t || this._applyCustomValidation(this.dateOption("value")), this._invalidate(); break; case "dateSerializationFormat": case "interval": case "disabledDates": case "calendarOptions": this._invalidate(); break; case "displayFormat": this.option("text", this._getDisplayedText(this.dateOption("value"))), this._renderInputValue(); break; case "text": this._strategy.textChangedHandler(e.value), this.callBase.apply(this, arguments); break; case "isValid": this.callBase.apply(this, arguments), this._formatValidationIcon(); break; case "showDropDownButton": this._formatValidationIcon(), this.callBase.apply(this, arguments); break; case "readOnly": this.callBase.apply(this, arguments), this._formatValidationIcon(); break; case "invalidDateMessage": case "dateOutOfRangeMessage": case "adaptivityEnabled": case "showAnalogClock": break; default: this.callBase.apply(this, arguments) } }, _getSerializationFormat: function () { var e = this.option("value"); return this.option("dateSerializationFormat") && (0, h.default)().forceIsoDateParsing ? this.option("dateSerializationFormat") : (0, o.isNumeric)(e) ? "number" : (0, o.isString)(e) ? g.default.getDateSerializationFormat(e) : void 0 }, _updateValue: function (e) { this.callBase(), this._applyInternalValidation(e || this.dateOption("value")) }, dateValue: function (e, t) { var n = this._isValueChanged(e); return n && t && this._saveValueChangeEvent(t), n || (this._isTextChanged(e) ? this._updateValue(e) : "" === this.option("text") && this._applyCustomValidation(e)), this.dateOption("value", e) }, dateOption: function (e, t) { if (1 === arguments.length) return g.default.deserializeDate(this.option(e)); this.option(e, this._serializeDate(t)) }, _serializeDate: function (e) { var t = this._getSerializationFormat(); return g.default.serializeDate(e, t) }, reset: function () { this.callBase(), this._updateValue(this.dateOption("value")) } }); (0, a.default)("dxDateBox", P); var R = P; t.default = R, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(436)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = k(n(2)), a = k(n(36)), o = k(n(11)), s = n(4), r = n(0), l = n(37), d = n(1), c = k(n(35)), u = k(n(71)), h = k(n(239)), f = k(n(437)), p = k(n(438)), g = n(30), m = k(n(15)), _ = k(n(49)), v = k(n(55)), y = k(n(12)), w = k(n(38)), x = n(7), b = k(n(10)), C = n(119); function k(e) { return e && e.__esModule ? e : { default: e } } var I = { month: 3, year: 2, decade: 1, century: 0 }, S = "month", E = "year", D = "decade", T = "century", A = m.default.msie && parseInt(m.default.version) <= 11, O = u.default.inherit({ _activeStateUnit: ".dx-calendar-cell", _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { hoverStateEnabled: !0, activeStateEnabled: !0, currentDate: new Date, value: null, dateSerializationFormat: void 0, min: new Date(1e3, 0), max: new Date(3e3, 0), firstDayOfWeek: void 0, zoomLevel: S, maxZoomLevel: S, minZoomLevel: T, showTodayButton: !1, cellTemplate: "cell", disabledDates: null, onCellClick: null, onContouredChanged: null, hasFocus: function (e) { return e.hasClass("dx-state-focused") }, _todayDate: function () { return new Date } }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === y.default.real().deviceType && !y.default.isSimulator() }, options: { focusStateEnabled: !0 } }]) }, _supportedKeys: function () { return (0, d.extend)(this.callBase(), { rightArrow: function (e) { e.preventDefault(), e.ctrlKey ? this._waitRenderView(1) : this._moveCurrentDateByOffset(1 * this._getRtlCorrection()) }, leftArrow: function (e) { e.preventDefault(), e.ctrlKey ? this._waitRenderView(-1) : this._moveCurrentDateByOffset(-1 * this._getRtlCorrection()) }, upArrow: function (e) { if (e.preventDefault(), e.ctrlKey) this._navigateUp(); else { if (w.default.isAnimating(this._view.$element())) return; this._moveCurrentDateByOffset(-1 * this._view.option("colCount")) } }, downArrow: function (e) { if (e.preventDefault(), e.ctrlKey) this._navigateDown(); else { if (w.default.isAnimating(this._view.$element())) return; this._moveCurrentDateByOffset(1 * this._view.option("colCount")) } }, home: function (e) { e.preventDefault(); var t = this.option("zoomLevel"), n = this.option("currentDate"), i = this._dateOption("min"); if (!this._view.isDateDisabled(n)) { var a = _.default.sameView(t, n, i) ? i : _.default.getViewFirstCellDate(t, n); this._moveToClosestAvailableDate(a) } }, end: function (e) { e.preventDefault(); var t = this.option("zoomLevel"), n = this.option("currentDate"), i = this._dateOption("max"); if (!this._view.isDateDisabled(n)) { var a = _.default.sameView(t, n, i) ? i : _.default.getViewLastCellDate(t, n); this._moveToClosestAvailableDate(a) } }, pageUp: function (e) { e.preventDefault(), this._waitRenderView(-1 * this._getRtlCorrection()) }, pageDown: function (e) { e.preventDefault(), this._waitRenderView(1 * this._getRtlCorrection()) }, tab: s.noop, enter: function (e) { if (this._isMaxZoomLevel()) { if (!this._view.isDateDisabled(this.option("currentDate"))) { var t = this._updateTimeComponent(this.option("currentDate")); this._dateValue(t, e) } } else this._navigateDown() } }) }, _getSerializationFormat: function (e) { var t = this.option(e || "value"); return this.option("dateSerializationFormat") ? this.option("dateSerializationFormat") : (0, r.isNumeric)(t) ? "number" : (0, r.isString)(t) ? v.default.getDateSerializationFormat(t) : void 0 }, _convertToDate: function (e, t) { return v.default.deserializeDate(e) }, _dateValue: function (e, t) { t && this._saveValueChangeEvent(t), this._dateOption("value", e) }, _dateOption: function (e, t) { if (1 === arguments.length) return this._convertToDate(this.option(e), e); var n = this._getSerializationFormat(e); this.option(e, v.default.serializeDate(t, n)) }, _shiftDate: function (e, t, n, i) { switch (e) { case S: t.setDate(t.getDate() + n * i); break; case E: t.setMonth(t.getMonth() + n * i); break; case D: t.setFullYear(t.getFullYear() + n * i); break; case T: t.setFullYear(t.getFullYear() + 10 * n * i) } }, _moveCurrentDateByOffset: function (e) { var t = this.option("currentDate"), n = new Date(t), i = this.option("zoomLevel"); this._shiftDate(i, n, e, 1); for (var a = this._getMaxDate(), o = this._getMinDate(), s = this._areDatesInNeighborView(i, n, t), r = (0, l.inRange)(n, o, a) && s, d = new Date(n); r;) { if (r && !this._view.isDateDisabled(d)) { n = d; break } this._shiftDate(i, d, e, 1), s = this._areDatesInNeighborView(i, d, t), r = (0, l.inRange)(d, o, a) && s } this._view.isDateDisabled(t) || this._view.isDateDisabled(n) ? this._waitRenderView(e > 0 ? 1 : -1) : this.option("currentDate", n) }, _areDatesInSameView: function (e, t, n) { switch (e) { case S: return t.getMonth() === n.getMonth(); case E: return t.getYear() === n.getYear(); case D: return parseInt(t.getYear() / 10) === parseInt(n.getYear() / 10); case T: return parseInt(t.getYear() / 100) === parseInt(n.getYear() / 100) } }, _areDatesInNeighborView: function (e, t, n) { var i, a, o; switch (e) { case S: return i = t.getMonth(), a = n.getMonth(), o = Math.abs(i - a), Math.min(o, 12 - o) <= 1; case E: return Math.abs(t.getYear() - n.getYear()) <= 1; case D: return Math.abs(t.getYear() - n.getYear()) <= 10; case T: return Math.abs(t.getYear() - n.getYear()) <= 100 } }, _moveToClosestAvailableDate: function () { var e, t, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.option("currentDate"), i = _.default.createDate(n), a = this.option("zoomLevel"), o = !this._isDateNotAvailable(i), s = o, r = o, l = _.default.createDate(i), d = _.default.createDate(i); do { if (s) { i = l; break } if (r) { i = d; break } this._shiftDate(a, l, 1, 1), this._shiftDate(a, d, 1, -1), e = this._areDatesInSameView(a, l, n), t = this._areDatesInSameView(a, d, n), s = e && !this._isDateNotAvailable(l), r = t && !this._isDateNotAvailable(d) } while (e || t); this.option("currentDate", i) }, _isDateNotAvailable: function (e) { var t = this._getMaxDate(), n = this._getMinDate(); return !(0, l.inRange)(e, n, t) || this._view.isDateDisabled(e) }, _init: function () { this.callBase(), this._correctZoomLevel(), this._initCurrentDate(), this._initActions() }, _correctZoomLevel: function () { var e = this.option("minZoomLevel"), t = this.option("maxZoomLevel"), n = this.option("zoomLevel"); I[t] < I[e] || (I[n] > I[t] ? this.option("zoomLevel", t) : I[n] < I[e] && this.option("zoomLevel", e)) }, _initCurrentDate: function () { var e = this._getNormalizedDate(this._dateOption("value")) || this._getNormalizedDate(this.option("currentDate")); this.option("currentDate", e) }, _getNormalizedDate: function (e) { return e = _.default.normalizeDate(e, this._getMinDate(), this._getMaxDate()), (0, r.isDefined)(e) ? this._getDate(e) : e }, _initActions: function () { this._cellClickAction = this._createActionByOption("onCellClick"), this._onContouredChanged = this._createActionByOption("onContouredChanged") }, _initTemplates: function () { this._templateManager.addDefaultTemplates({ cell: new C.FunctionTemplate((function (e) { var t = e.model; (0, i.default)(e.container).append((0, i.default)("<span>").text(t && t.text || String(t))) })) }), this.callBase() }, _updateCurrentDate: function (e) { if (w.default.isAnimating(this._$viewsWrapper) && w.default.stop(this._$viewsWrapper, !0), this._getMinDate() > this._getMaxDate()) this.option("currentDate", new Date); else { var t = this._getNormalizedDate(e); if (e.getTime() === t.getTime()) { var n = this._getViewsOffset(this._view.option("date"), t); 0 !== n && !this._isMaxZoomLevel() && this._isOtherViewCellClicked && (n = 0), this._view && 0 !== n && !this._suppressNavigation ? this._navigate(n, t) : (this._renderNavigator(), this._setViewContoured(t), this._updateAriaId(t)) } else this.option("currentDate", _.default.createDate(t)) } }, _setViewContoured: function (e) { this.option("hasFocus")(this._focusTarget()) && this._view.option("contouredDate", e) }, _getMinDate: function () { return this.min ? this.min : (this.min = this._dateOption("min") || new Date(1e3, 0), this.min) }, _getMaxDate: function () { return this.max ? this.max : (this.max = this._dateOption("max") || new Date(3e3, 0), this.max) }, _getViewsOffset: function (e, t) { var n, i = this.option("zoomLevel"); if (i === S) return this._getMonthsOffset(e, t); switch (i) { case T: n = 100; break; case D: n = 10; break; default: n = 1 }return parseInt(t.getFullYear() / n) - parseInt(e.getFullYear() / n) }, _getMonthsOffset: function (e, t) { return 12 * (t.getFullYear() - e.getFullYear()) + (t.getMonth() - e.getMonth()) }, _waitRenderView: function (e) { var t = this; if (!this._alreadyViewRender) { this._alreadyViewRender = !0; var n = this._getDateByOffset(e * this._getRtlCorrection()); this._moveToClosestAvailableDate(n), this._waitRenderViewTimeout = setTimeout((function () { t._alreadyViewRender = !1 })) } }, _getRtlCorrection: function () { return this.option("rtlEnabled") ? -1 : 1 }, _getDateByOffset: function (e, t) { var n = (t = this._getDate(t || this.option("currentDate"))).getDate(), i = _.default.getDifferenceInMonth(this.option("zoomLevel")) * e; t.setDate(1), t.setMonth(t.getMonth() + i); var a = _.default.getLastMonthDate(t).getDate(); return t.setDate(n > a ? a : n), t }, _focusTarget: function () { return this.$element() }, _initMarkup: function () { this._renderSubmitElement(), this.callBase(); var e = this.$element(); e.addClass("dx-calendar"), this._renderBody(), e.append(this.$body), this._renderViews(), this._renderNavigator(), e.append(this._navigator.$element()), this._renderSwipeable(), this._renderFooter(), this._updateAriaSelected(), this._updateAriaId(), this._moveToClosestAvailableDate() }, _render: function () { this.callBase(), this._setViewContoured(this.option("currentDate")) }, _renderBody: function () { this._$viewsWrapper || (this.$body = (0, i.default)("<div>").addClass("dx-calendar-body"), this._$viewsWrapper = (0, i.default)("<div>").addClass("dx-calendar-views-wrapper"), this.$body.append(this._$viewsWrapper)) }, _getKeyboardListeners: function () { return this.callBase().concat([this._view]) }, _renderViews: function () { this.$element().addClass("dx-calendar-view-" + this.option("zoomLevel")); var e = this.option("currentDate"); if (this._view = this._renderSpecificView(e), (0, x.hasWindow)()) { var t = this._getDateByOffset(-1, e); this._beforeView = this._isViewAvailable(t) ? this._renderSpecificView(t) : null; var n = this._getDateByOffset(1, e); n.setDate(1), this._afterView = this._isViewAvailable(n) ? this._renderSpecificView(n) : null } this._translateViews() }, _renderSpecificView: function (e) { var t = p.default[this.option("zoomLevel")], n = (0, i.default)("<div>").appendTo(this._$viewsWrapper), a = this._viewConfig(e); return this._createComponent(n, t, a) }, _viewConfig: function (e) { var t = this.option("disabledDates"); return t = (0, r.isFunction)(t) ? this._injectComponent(t.bind(this)) : t, { date: e, min: this._getMinDate(), max: this._getMaxDate(), firstDayOfWeek: this.option("firstDayOfWeek"), value: this._dateOption("value"), tabIndex: void 0, focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), disabledDates: t, onCellClick: this._cellClickHandler.bind(this), cellTemplate: this._getTemplateByOption("cellTemplate"), allowValueSelection: this._isMaxZoomLevel(), _todayDate: this.option("_todayDate") } }, _injectComponent: function (e) { var t = this; return function (n) { return (0, d.extend)(n, { component: t }), e(n) } }, _isViewAvailable: function (e) { var t = this.option("zoomLevel"), n = _.default.getViewMinBoundaryDate(t, this._getMinDate()), i = _.default.getViewMaxBoundaryDate(t, this._getMaxDate()); return _.default.dateInRange(e, n, i) }, _translateViews: function () { (0, g.move)(this._view.$element(), { left: 0, top: 0 }), this._beforeView && (0, g.move)(this._beforeView.$element(), { left: this._getViewPosition(-1), top: 0 }), this._afterView && (0, g.move)(this._afterView.$element(), { left: this._getViewPosition(1), top: 0 }) }, _getViewPosition: function (e) { return 100 * e * (this.option("rtlEnabled") && !m.default.msie ? -1 : 1) + "%" }, _cellClickHandler: function (e) { var t = this.option("zoomLevel"), n = _.default.getViewDown(t), i = this._isMaxZoomLevel(); if (n && !i) this._navigateDown(e.event.currentTarget); else { var a = this._updateTimeComponent(e.value); this._dateValue(a, e.event), this._cellClickAction(e) } }, _updateTimeComponent: function (e) { var t = _.default.createDate(e), n = this._dateOption("value"); return n && (t.setHours(n.getHours()), t.setMinutes(n.getMinutes()), t.setSeconds(n.getSeconds()), t.setMilliseconds(n.getMilliseconds())), t }, _isMaxZoomLevel: function () { return this.option("zoomLevel") === this.option("maxZoomLevel") }, _navigateDown: function (e) { var t = this.option("zoomLevel"); if (!this._isMaxZoomLevel()) { var n = _.default.getViewDown(t); if (n) { var a = this._view.option("contouredDate") || this._view.option("date"); e && (a = (0, i.default)(e).data("dxDateValueKey")), this._isOtherViewCellClicked = !0, this.option("currentDate", a), this.option("zoomLevel", n), this._isOtherViewCellClicked = !1, this._renderNavigator(), this._animateShowView(), this._moveToClosestAvailableDate(), this._setViewContoured(this._getNormalizedDate(this.option("currentDate"))) } } }, _renderNavigator: function () { this._navigator || (this._navigator = new f.default((0, i.default)("<div>"), this._navigatorConfig())), this._navigator.option("text", this._view.getNavigatorCaption()), this._updateButtonsVisibility() }, _navigatorConfig: function () { return { text: this._view.getNavigatorCaption(), onClick: this._navigatorClickHandler.bind(this), onCaptionClick: this._navigateUp.bind(this), rtlEnabled: this.option("rtlEnabled") } }, _navigatorClickHandler: function (e) { var t = this._getDateByOffset(e.direction, this.option("currentDate")); this._moveToClosestAvailableDate(t) }, _navigateUp: function () { var e = this.option("zoomLevel"), t = _.default.getViewUp(e); t && !this._isMinZoomLevel(e) && (this.option("zoomLevel", t), this._renderNavigator(), this._animateShowView(), this._moveToClosestAvailableDate(), this._setViewContoured(this._getNormalizedDate(this.option("currentDate")))) }, _isMinZoomLevel: function (e) { var t = this._getMinDate(), n = this._getMaxDate(); return _.default.sameView(e, t, n) || this.option("minZoomLevel") === e }, _updateButtonsVisibility: function () { this._navigator.toggleButton("next", !(0, r.isDefined)(this._getRequiredView("next"))), this._navigator.toggleButton("prev", !(0, r.isDefined)(this._getRequiredView("prev"))) }, _renderSwipeable: function () { this._swipeable || (this._swipeable = this._createComponent(this.$element(), h.default, { onStart: this._swipeStartHandler.bind(this), onUpdated: this._swipeUpdateHandler.bind(this), onEnd: this._swipeEndHandler.bind(this), itemSizeFunc: this._viewWidth.bind(this) })) }, _swipeStartHandler: function (e) { w.default.stop(this._$viewsWrapper, !0), e.event.maxLeftOffset = this._getRequiredView("next") ? 1 : 0, e.event.maxRightOffset = this._getRequiredView("prev") ? 1 : 0 }, _getRequiredView: function (e) { var t, n = this.option("rtlEnabled"); return "next" === e ? t = n ? this._beforeView : this._afterView : "prev" === e && (t = n ? this._afterView : this._beforeView), t }, _swipeUpdateHandler: function (e) { var t = e.event.offset; (0, g.move)(this._$viewsWrapper, { left: t * this._viewWidth(), top: 0 }), this._updateNavigatorCaption(t) }, _swipeEndHandler: function (e) { var t = e.event.targetOffset, n = t ? t / Math.abs(t) : 0; if (0 !== n) { var i = this._getDateByOffset(-n * this._getRtlCorrection()); this._isDateInInvalidRange(i) && (i = n >= 0 ? new Date(this._getMinDate()) : new Date(this._getMaxDate())), this.option("currentDate", i) } else this._animateWrapper(0, 250) }, _viewWidth: function () { return this._viewWidthValue || (this._viewWidthValue = this.$element().width()), this._viewWidthValue }, _updateNavigatorCaption: function (e) { e *= this._getRtlCorrection(); var t = this._view; e > .5 && this._beforeView ? t = this._beforeView : e < -.5 && this._afterView && (t = this._afterView), this._navigator.option("text", t.getNavigatorCaption()) }, _isDateInInvalidRange: function (e) { if (!this._view.isBoundary(e)) { var t = this._getMinDate(), n = this._getMaxDate(), i = _.default.normalizeDate(e, t, n); return i === t || i === n } }, _renderFooter: function () { var e = this.option("showTodayButton"); if (e) { var t = this._createComponent((0, i.default)("<a>"), c.default, { focusStateEnabled: !1, text: b.default.format("dxCalendar-todayButtonText"), onClick: function () { this._toTodayView() }.bind(this), integrationOptions: {} }).$element().addClass("dx-calendar-today-button"); this._$footer = (0, i.default)("<div>").addClass("dx-calendar-footer").append(t), this.$element().append(this._$footer) } this.$element().toggleClass("dx-calendar-with-footer", e) }, _renderSubmitElement: function () { this._$submitElement = (0, i.default)("<input>").attr("type", "hidden").appendTo(this.$element()), this._setSubmitValue(this.option("value")) }, _setSubmitValue: function (e) { var t = this._convertToDate(e); this._getSubmitElement().val(v.default.serializeDate(t, "yyyy-MM-dd")) }, _getSubmitElement: function () { return this._$submitElement }, _animateShowView: function () { return w.default.stop(this._view.$element(), !0), this._popAnimationView(this._view, .6, 1, 250).promise() }, _popAnimationView: function (e, t, n, i) { return w.default.animate(e.$element(), { type: "pop", from: { scale: t, opacity: t }, to: { scale: n, opacity: n }, duration: i }) }, _navigate: function (e, t) { if (0 !== e && 1 !== Math.abs(e) && this._isViewAvailable(t)) { var n = this._renderSpecificView(t); e > 0 ? (this._afterView && this._afterView.$element().remove(), this._afterView = n) : (this._beforeView && this._beforeView.$element().remove(), this._beforeView = n), this._translateViews() } var i = -this._getRtlCorrection() * (e > 0 ? 1 : e < 0 ? -1 : 0) * this._viewWidth(); this._$viewsWrapper.position().left !== i && (this._preventViewChangeAnimation ? this._wrapperAnimationEndHandler(e, t) : this._animateWrapper(i, 250).done(this._wrapperAnimationEndHandler.bind(this, e, t))) }, _animateWrapper: function (e, t) { return w.default.animate(this._$viewsWrapper, { type: "slide", from: { left: this._$viewsWrapper.position().left }, to: { left: e }, duration: t }) }, _getDate: function (e) { var t = _.default.createDate(e); return A && (0, r.isDate)(e) && t.setMilliseconds(0), t }, _toTodayView: function () { var e = new Date; this._isMaxZoomLevel() ? this._dateOption("value", e) : (this._preventViewChangeAnimation = !0, this.option("zoomLevel", this.option("maxZoomLevel")), this._dateOption("value", e), this._animateShowView(), this._preventViewChangeAnimation = !1) }, _wrapperAnimationEndHandler: function (e, t) { this._rearrangeViews(e), this._translateViews(), this._resetLocation(), this._renderNavigator(), this._setViewContoured(t), this._updateAriaId(t) }, _rearrangeViews: function (e) { var t, n, i; if (0 !== e && (e < 0 ? (t = 1, n = "_beforeView", i = "_afterView") : (t = -1, n = "_afterView", i = "_beforeView"), this[n])) { var a = this[n].option("date"); this[i] && this[i].$element().remove(), e === t ? this[i] = this._view : (this[i] = this._renderSpecificView(this._getDateByOffset(t, a)), this._view.$element().remove()), this._view = this[n]; var o = this._getDateByOffset(-t, a); this[n] = this._isViewAvailable(o) ? this._renderSpecificView(o) : null } }, _resetLocation: function () { (0, g.move)(this._$viewsWrapper, { left: 0, top: 0 }) }, _clean: function () { this.callBase(), this._clearViewWidthCache(), delete this._$viewsWrapper, delete this._navigator, delete this._$footer }, _clearViewWidthCache: function () { delete this._viewWidthValue }, _disposeViews: function () { this._view.$element().remove(), this._beforeView && this._beforeView.$element().remove(), this._afterView && this._afterView.$element().remove(), delete this._view, delete this._beforeView, delete this._afterView }, _dispose: function () { clearTimeout(this._waitRenderViewTimeout), this.callBase() }, _refreshViews: function () { this._disposeViews(), this._renderViews() }, _visibilityChanged: function () { this._translateViews() }, _focusInHandler: function () { this.callBase.apply(this, arguments), this._view.option("contouredDate", this.option("currentDate")) }, _focusOutHandler: function () { this.callBase.apply(this, arguments), this._view.option("contouredDate", null) }, _updateViewsValue: function (e) { var t = e ? new Date(e) : null; this._view.option("value", t), this._beforeView && this._beforeView.option("value", t), this._afterView && this._afterView.option("value", t) }, _updateAriaSelected: function (e, t) { e = e || this._dateOption("value"); var n = this._view._getCellByDate(t), i = this._view._getCellByDate(e); this.setAria("selected", void 0, n), this.setAria("selected", !0, i), e && this.option("currentDate").getTime() === e.getTime() && this._updateAriaId(e) }, _updateAriaId: function (e) { e = e || this.option("currentDate"); var t = "dx-" + new a.default, n = this._view._getCellByDate(e); this.setAria("id", t, n), this.setAria("activedescendant", t), this._onContouredChanged(t) }, _suppressingNavigation: function (e, t) { this._suppressNavigation = !0, e.apply(this, t), delete this._suppressNavigation }, _optionChanged: function (e) { var t = e.value, n = e.previousValue; switch (e.name) { case "width": this.callBase(e), this._clearViewWidthCache(); break; case "min": case "max": this.min = void 0, this.max = void 0, this._suppressingNavigation(this._updateCurrentDate, [this.option("currentDate")]), this._refreshViews(), this._renderNavigator(); break; case "firstDayOfWeek": this._refreshViews(), this._updateButtonsVisibility(); break; case "currentDate": this.setAria("id", void 0, this._view._getCellByDate(n)), this._updateCurrentDate(t); break; case "zoomLevel": this.$element().removeClass("dx-calendar-view-" + n), this._correctZoomLevel(), this._refreshViews(), this._renderNavigator(), this._updateAriaId(); break; case "minZoomLevel": case "maxZoomLevel": this._correctZoomLevel(), this._updateButtonsVisibility(); break; case "value": t = this._convertToDate(t), n = this._convertToDate(n), this._updateAriaSelected(t, n), this.option("currentDate", (0, r.isDefined)(t) ? _.default.createDate(t) : new Date), this._updateViewsValue(t), this._setSubmitValue(t), this.callBase(e); break; case "onCellClick": this._view.option("onCellClick", t); break; case "onContouredChanged": this._onContouredChanged = this._createActionByOption("onContouredChanged"); break; case "disabledDates": case "dateSerializationFormat": case "cellTemplate": case "showTodayButton": this._invalidate(); break; case "hasFocus": break; case "_todayDate": this._refreshViews(); break; default: this.callBase(e) } } }); (0, o.default)("dxCalendar", O); var B = O; t.default = B, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = r(n(2)), a = n(1), o = r(n(29)), s = r(n(35)); function r(e) { return e && e.__esModule ? e : { default: e } } var l = o.default.inherit({ _getDefaultOptions: function () { return (0, a.extend)(this.callBase(), { onClick: null, onCaptionClick: null, text: "" }) }, _init: function () { this.callBase(), this._initActions() }, _initActions: function () { this._clickAction = this._createActionByOption("onClick"), this._captionClickAction = this._createActionByOption("onCaptionClick") }, _initMarkup: function () { this.callBase(), this.$element().addClass("dx-calendar-navigator"), this._renderButtons(), this._renderCaption() }, _renderButtons: function () { var e = this, t = this.option("rtlEnabled") ? -1 : 1; this._prevButton = this._createComponent((0, i.default)("<a>"), s.default, { focusStateEnabled: !1, icon: "chevronleft", onClick: function (n) { e._clickAction({ direction: -t, event: n }) }, integrationOptions: {} }); var n = this._prevButton.$element().addClass("dx-calendar-navigator-previous-view").addClass("dx-calendar-navigator-previous-month"); this._nextButton = this._createComponent((0, i.default)("<a>"), s.default, { focusStateEnabled: !1, icon: "chevronright", onClick: function (n) { e._clickAction({ direction: t, event: n }) }, integrationOptions: {} }); var a = this._nextButton.$element().addClass("dx-calendar-navigator-next-view").addClass("dx-calendar-navigator-next-month"); this._caption = this._createComponent((0, i.default)("<a>").addClass("dx-calendar-caption-button"), s.default, { focusStateEnabled: !1, onClick: function (t) { e._captionClickAction({ event: t }) }, integrationOptions: {} }); var o = this._caption.$element(); this.$element().append(n, o, a) }, _renderCaption: function () { this._caption.option("text", this.option("text")) }, toggleButton: function (e, t) { var n = this["_" + e + "Button"]; n && (n.option("disabled", t), n.$element().toggleClass("dx-calendar-disabled-navigator-link", t)) }, _optionChanged: function (e) { switch (e.name) { case "text": this._renderCaption(); break; default: this.callBase(e) } } }); t.default = l, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(439)), o = n(4), s = u(n(49)), r = n(1), l = u(n(32)), d = u(n(55)), c = n(0); function u(e) { return e && e.__esModule ? e : { default: e } } var h = { month: a.default.inherit({ _getViewName: function () { return "month" }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { firstDayOfWeek: void 0, rowCount: 6, colCount: 7 }) }, _renderImpl: function () { this.callBase(), this._renderHeader() }, _renderBody: function () { this.callBase(), this._$table.find(".".concat("dx-calendar-other-view")).addClass("dx-calendar-other-month") }, _renderFocusTarget: o.noop, getCellAriaLabel: function (e) { return l.default.format(e, "longdate") }, _renderHeader: function () { var e = (0, i.default)("<tr>"), t = (0, i.default)("<thead>").append(e); this._$table.prepend(t); for (var n = 0, a = this.option("colCount"); n < a; n++)this._renderHeaderCell(n, e) }, _renderHeaderCell: function (e, t) { var n = this._getDayCaption(this._getFirstDayOfWeek() + e), a = n.full, o = n.abbreviated, s = (0, i.default)("<th>").attr({ scope: "col", abbr: a }).text(o); this._appendCell(t, s) }, getNavigatorCaption: function () { return l.default.format(this.option("date"), "monthandyear") }, _isTodayCell: function (e) { var t = this.option("_todayDate")(); return s.default.sameDate(e, t) }, _isDateOutOfRange: function (e) { var t = this.option("min"), n = this.option("max"); return !s.default.dateInRange(e, t, n, "date") }, _isOtherView: function (e) { return e.getMonth() !== this.option("date").getMonth() }, _getCellText: function (e) { return l.default.format(e, "d") }, _getDayCaption: function (e) { var t = e % this.option("colCount"); return { full: l.default.getDayNames()[t], abbreviated: l.default.getDayNames("abbreviated")[t] } }, _getFirstCellData: function () { var e = s.default.getFirstMonthDate(this.option("date")), t = this._getFirstDayOfWeek() - e.getDay(), n = this.option("colCount"); return t >= 0 && (t -= n), e.setDate(e.getDate() + t), e }, _getNextCellData: function (e) { return (e = s.default.createDate(e)).setDate(e.getDate() + 1), e }, _getFirstDayOfWeek: function () { return (0, c.isDefined)(this.option("firstDayOfWeek")) ? this.option("firstDayOfWeek") : l.default.firstDayOfWeekIndex() }, _getCellByDate: function (e) { return this._$table.find("td[data-value='".concat(d.default.serializeDate(e, s.default.getShortDateFormat()), "']")) }, isBoundary: function (e) { return s.default.sameMonthAndYear(e, this.option("min")) || s.default.sameMonthAndYear(e, this.option("max")) }, _getDefaultDisabledDatesHandler: function (e) { return function (t) { if (e.some((function (e) { return s.default.sameDate(e, t.date) }))) return !0 } } }), year: a.default.inherit({ _getViewName: function () { return "year" }, _isTodayCell: function (e) { var t = this.option("_todayDate")(); return s.default.sameMonthAndYear(e, t) }, _isDateOutOfRange: function (e) { return !s.default.dateInRange(e, s.default.getFirstMonthDate(this.option("min")), s.default.getLastMonthDate(this.option("max"))) }, _isOtherView: function () { return !1 }, _getCellText: function (e) { return l.default.getMonthNames("abbreviated")[e.getMonth()] }, _getFirstCellData: function () { var e = this.option("date"), t = s.default.createDate(e); return t.setDate(1), t.setMonth(0), t }, _getNextCellData: function (e) { return (e = s.default.createDate(e)).setMonth(e.getMonth() + 1), e }, _getCellByDate: function (e) { var t = s.default.createDate(e); return t.setDate(1), this._$table.find("td[data-value='".concat(d.default.serializeDate(t, s.default.getShortDateFormat()), "']")) }, getCellAriaLabel: function (e) { return l.default.format(e, "monthandyear") }, getNavigatorCaption: function () { return l.default.format(this.option("date"), "yyyy") }, isBoundary: function (e) { return s.default.sameYear(e, this.option("min")) || s.default.sameYear(e, this.option("max")) } }), decade: a.default.inherit({ _getViewName: function () { return "decade" }, _isTodayCell: function (e) { var t = this.option("_todayDate")(); return s.default.sameYear(e, t) }, _isDateOutOfRange: function (e) { var t = this.option("min"), n = this.option("max"); return !s.default.dateInRange(e.getFullYear(), t && t.getFullYear(), n && n.getFullYear()) }, _isOtherView: function (e) { var t = s.default.createDate(e); return t.setMonth(1), !s.default.sameDecade(t, this.option("date")) }, _getCellText: function (e) { return l.default.format(e, "yyyy") }, _getFirstCellData: function () { var e = s.default.getFirstYearInDecade(this.option("date")) - 1; return s.default.createDateWithFullYear(e, 0, 1) }, _getNextCellData: function (e) { return (e = s.default.createDate(e)).setFullYear(e.getFullYear() + 1), e }, getNavigatorCaption: function () { var e = this.option("date"), t = s.default.getFirstYearInDecade(e), n = s.default.createDate(e), i = s.default.createDate(e); return n.setFullYear(t), i.setFullYear(t + 9), l.default.format(n, "yyyy") + "-" + l.default.format(i, "yyyy") }, _isValueOnCurrentView: function (e, t) { return s.default.sameDecade(e, t) }, _getCellByDate: function (e) { var t = s.default.createDate(e); return t.setDate(1), t.setMonth(0), this._$table.find("td[data-value='".concat(d.default.serializeDate(t, s.default.getShortDateFormat()), "']")) }, isBoundary: function (e) { return s.default.sameDecade(e, this.option("min")) || s.default.sameDecade(e, this.option("max")) } }), century: a.default.inherit({ _getViewName: function () { return "century" }, _isTodayCell: function (e) { var t = this.option("_todayDate")(); return s.default.sameDecade(e, t) }, _isDateOutOfRange: function (e) { var t = s.default.getFirstYearInDecade(e), n = s.default.getFirstYearInDecade(this.option("min")), i = s.default.getFirstYearInDecade(this.option("max")); return !s.default.dateInRange(t, n, i) }, _isOtherView: function (e) { var t = s.default.createDate(e); return t.setMonth(1), !s.default.sameCentury(t, this.option("date")) }, _getCellText: function (e) { var t = l.default.format(e, "yyyy"), n = s.default.createDate(e); return n.setFullYear(n.getFullYear() + 9), t + " - " + l.default.format(n, "yyyy") }, _getFirstCellData: function () { var e = s.default.getFirstDecadeInCentury(this.option("date")) - 10; return s.default.createDateWithFullYear(e, 0, 1) }, _getNextCellData: function (e) { return (e = s.default.createDate(e)).setFullYear(e.getFullYear() + 10), e }, _getCellByDate: function (e) { var t = s.default.createDate(e); return t.setDate(1), t.setMonth(0), t.setFullYear(s.default.getFirstYearInDecade(t)), this._$table.find("td[data-value='".concat(d.default.serializeDate(t, s.default.getShortDateFormat()), "']")) }, getNavigatorCaption: function () { var e = this.option("date"), t = s.default.getFirstDecadeInCentury(e), n = s.default.createDate(e), i = s.default.createDate(e); return n.setFullYear(t), i.setFullYear(t + 99), l.default.format(n, "yyyy") + "-" + l.default.format(i, "yyyy") }, isBoundary: function (e) { return s.default.sameCentury(e, this.option("min")) || s.default.sameCentury(e, this.option("max")) } }) }; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = m(n(9)), o = m(n(5)), s = n(39), r = n(18), l = m(n(29)), d = m(n(49)), c = n(1), u = n(4), h = m(n(55)), f = m(n(10)), p = n(8), g = n(19); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = l.default.abstract, v = (0, p.addNamespace)(g.name, "dxCalendar"), y = l.default.inherit({ _getViewName: function () { return "base" }, _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), { date: new Date, focusStateEnabled: !1, cellTemplate: null, disabledDates: null, onCellClick: null, rowCount: 3, colCount: 4, allowValueSelection: !0, _todayDate: function () { return new Date } }) }, _init: function () { this.callBase(); var e = this.option("value"); this.option("value", new Date(e)), this.option("value").valueOf() || this.option("value", new Date(0, 0, 0, 0, 0, 0)) }, _initMarkup: function () { this.callBase(), this._renderImpl() }, _renderImpl: function () { this.$element().append(this._createTable()), this._createDisabledDatesHandler(), this._renderBody(), this._renderContouredDate(), this._renderValue(), this._renderEvents() }, _createTable: function () { return this._$table = (0, i.default)("<table>"), this.setAria({ label: f.default.format("dxCalendar-ariaWidgetName"), role: "grid" }, this._$table), this._$table }, _renderBody: function () { this.$body = (0, i.default)("<tbody>").appendTo(this._$table); for (var e = { cellDate: this._getFirstCellData(), prevCellDate: null }, t = 0, n = this.option("rowCount"); t < n; t++) { e.row = this._createRow(); for (var a = 0, o = this.option("colCount"); a < o; a++)this._renderCell(e, a) } }, _createRow: function () { var e = a.default.createElement("tr"); return this.setAria("role", "row", (0, i.default)(e)), this.$body.get(0).appendChild(e), e }, _appendCell: function (e, t) { this._appendMethodName || this._cacheAppendMethodName(), (0, i.default)(e)[this._appendMethodName](t) }, _cacheAppendMethodName: function (e) { this._appendMethodName = (null != e ? e : this.option("rtlEnabled")) ? "prepend" : "append" }, _createCell: function (e) { var t = a.default.createElement("td"), n = (0, i.default)(t); return t.className = this._getClassNameByDate(e), t.setAttribute("data-value", h.default.serializeDate(e, d.default.getShortDateFormat())), (0, s.data)(t, "dxDateValueKey", e), this.setAria({ role: "gridcell", label: this.getCellAriaLabel(e) }, n), { cell: t, $cell: n } }, _renderCell: function (e, t) { var n = e.cellDate, i = e.prevCellDate, a = e.row; i && d.default.fixTimezoneGap(i, n), e.prevCellDate = n; var o = this._createCell(n), s = o.cell, r = o.$cell, l = this.option("cellTemplate"); this._appendCell(a, s), l ? l.render(this._prepareCellTemplateData(n, t, r)) : s.innerHTML = this._getCellText(n), e.cellDate = this._getNextCellData(n) }, _getClassNameByDate: function (e) { var t = "dx-calendar-cell"; return this._isTodayCell(e) && (t += " ".concat("dx-calendar-today")), (this._isDateOutOfRange(e) || this.isDateDisabled(e)) && (t += " ".concat("dx-calendar-empty-cell")), this._isOtherView(e) && (t += " ".concat("dx-calendar-other-view")), t }, _prepareCellTemplateData: function (e, t, n) { return { model: { text: this._getCellText(e), date: e, view: this._getViewName() }, container: (0, r.getPublicElement)(n), index: t } }, _renderEvents: function () { var e = this; this._createCellClickAction(), o.default.off(this._$table, v), o.default.on(this._$table, v, "td", (function (t) { (0, i.default)(t.currentTarget).hasClass("dx-calendar-empty-cell") || e._cellClickAction({ event: t, value: (0, i.default)(t.currentTarget).data("dxDateValueKey") }) })) }, _createCellClickAction: function () { this._cellClickAction = this._createActionByOption("onCellClick") }, _createDisabledDatesHandler: function () { var e = this.option("disabledDates"); this._disabledDatesHandler = Array.isArray(e) ? this._getDefaultDisabledDatesHandler(e) : e || u.noop }, _getDefaultDisabledDatesHandler: function (e) { return u.noop }, _isTodayCell: _, _isDateOutOfRange: _, isDateDisabled: function (e) { var t = { date: e, view: this._getViewName() }; return this._disabledDatesHandler(t) }, _isOtherView: _, _getCellText: _, _getFirstCellData: _, _getNextCellData: _, _renderContouredDate: function (e) { if (this.option("focusStateEnabled")) { e = e || this.option("contouredDate"); var t = this._$table.find(".".concat("dx-calendar-contoured-date")), n = this._getCellByDate(e); t.removeClass("dx-calendar-contoured-date"), n.addClass("dx-calendar-contoured-date") } }, _changeValue: function (e) { if (e) { var t = this.option("value"), n = t ? new Date(t) : new Date; n.setDate(e.getDate()), n.setMonth(e.getMonth()), n.setFullYear(e.getFullYear()), n.setDate(e.getDate()), this.option("value", n) } else this.option("value", null) }, _renderValue: function () { if (this.option("allowValueSelection")) { var e = this.option("value"), t = this._getCellByDate(e); this._selectedCell && this._selectedCell.removeClass("dx-calendar-selected-date"), t.addClass("dx-calendar-selected-date"), this._selectedCell = t } }, getCellAriaLabel: function (e) { return this._getCellText(e) }, _getFirstAvailableDate: function () { var e = this.option("date"), t = this.option("min"); return e = d.default.getFirstDateView(this._getViewName(), e), new Date(t && e < t ? t : e) }, _getCellByDate: _, isBoundary: _, _optionChanged: function (e) { var t = e.name, n = e.value; switch (t) { case "value": this._renderValue(); break; case "contouredDate": this._renderContouredDate(n); break; case "onCellClick": this._createCellClickAction(); break; case "disabledDates": case "cellTemplate": this._invalidate(); break; case "rtlEnabled": this._cacheAppendMethodName(n), this.callBase(e); break; case "_todayDate": this._renderBody(); break; default: this.callBase(e) } } }); t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = n(7), o = u(n(441)), s = u(n(134)), r = n(41), l = n(1), d = u(n(87)), c = u(n(10)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, a.getWindow)(), f = s.default.inherit({ NAME: "DateView", getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { openOnFieldClick: !0, applyButtonText: c.default.format("OK"), "dropDownOptions.showTitle": !0 }) }, getDisplayFormat: function (e) { return e || d.default.FORMATS_MAP[this.dateBox.option("type")] }, popupConfig: function (e) { return { toolbarItems: this.dateBox._popupToolbarItemsConfig(), onInitialized: e.onInitialized, defaultOptionsRules: [{ device: { platform: "android" }, options: { width: 333, height: 331 } }, { device: function (e) { var t = e.platform; return "generic" === t || "ios" === t }, options: { width: "auto", height: "auto" } }, { device: function (e) { var t = e.platform, n = e.phone; return "generic" === t && n }, options: { width: 333, maxWidth: "100%", maxHeight: "100%", height: "auto", position: { collision: "flipfit flip" } } }, { device: { platform: "ios", phone: !0 }, options: { width: "100%", position: { my: "bottom", at: "bottom", of: h } } }] } }, _renderWidget: function () { if ((0, r.inputType)(this.dateBox.option("mode")) && this.dateBox._isNativeType() || this.dateBox.option("readOnly")) this._widget && (this._widget.$element().remove(), this._widget = null); else { var e = this._getPopup(); if (this._widget) this._widget.option(this._getWidgetOptions()); else { var t = (0, i.default)("<div>").appendTo(e.$content()); this._widget = this._createWidget(t) } this._widget.$element().appendTo(this._getWidgetContainer()) } }, _getWidgetName: function () { return o.default }, renderOpenedState: function () { this.callBase(), this._widget && this._widget.option("value", this._widget._getCurrentDate()) }, _getWidgetOptions: function () { return { value: this.dateBoxValue() || new Date, type: this.dateBox.option("type"), minDate: this.dateBox.dateOption("min") || new Date(1900, 0, 1), maxDate: this.dateBox.dateOption("max") || new Date(Date.now() + 50 * d.default.ONE_YEAR), onDisposing: function () { this._widget = null }.bind(this) } } }); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = h(n(71)), o = h(n(442)), s = h(n(49)), r = n(3), l = n(1), d = h(n(87)), c = h(n(11)), u = h(n(32)); function h(e) { return e && e.__esModule ? e : { default: e } } var f = "date", p = "year", g = "month", m = "day", _ = "hours", v = a.default.inherit({ _valueOption: function () { var e = this.option("value"), t = new Date(e); return !e || isNaN(t) ? this._getDefaultDate() : t }, _getDefaultDate: function () { var e = new Date; return this.option("type") === f ? new Date(e.getFullYear(), e.getMonth(), e.getDate()) : e }, _getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { minDate: d.default.MIN_DATEVIEW_DEFAULT_DATE, maxDate: d.default.MAX_DATEVIEW_DEFAULT_DATE, type: f, value: new Date, applyCompactClass: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function (e) { return "desktop" !== e.deviceType }, options: { applyCompactClass: !0 } }]) }, _render: function () { this.callBase(), this.$element().addClass("dx-dateview"), this._toggleFormatClasses(this.option("type")), this._toggleCompactClass() }, _toggleFormatClasses: function (e, t) { this.$element().addClass("dx-dateview-" + e), t && this.$element().removeClass("dx-dateview-" + t) }, _toggleCompactClass: function () { this.$element().toggleClass("dx-dateview-compact", this.option("applyCompactClass")) }, _wrapper: function () { return this._$wrapper }, _renderContentImpl: function () { this._$wrapper = (0, i.default)("<div>").addClass("dx-dateview-wrapper"), this._renderRollers(), this._$wrapper.appendTo(this.$element()) }, _renderRollers: function () { this._$rollersContainer || (this._$rollersContainer = (0, i.default)("<div>").addClass("dx-dateview-rollers")), this._$rollersContainer.empty(), this._createRollerConfigs(), this._rollers = {}; var e = this; (0, r.each)(e._rollerConfigs, (function (t) { var n = (0, i.default)("<div>").appendTo(e._$rollersContainer).addClass("dx-dateviewroller-" + e._rollerConfigs[t].type); e._rollers[e._rollerConfigs[t].type] = e._createComponent(n, o.default, { items: e._rollerConfigs[t].displayItems, selectedIndex: e._rollerConfigs[t].selectedIndex, showScrollbar: !1, onStart: function (n) { var i = n.component; i._toggleActive(!0), e._setActiveRoller(e._rollerConfigs[t], i.option("selectedIndex")) }, onEnd: function (e) { e.component._toggleActive(!1) }, onClick: function (n) { var i = n.component; i._toggleActive(!0), e._setActiveRoller(e._rollerConfigs[t], i.option("selectedIndex")), e._setRollerState(e._rollerConfigs[t], i.option("selectedIndex")), i._toggleActive(!1) }, onSelectedIndexChanged: function (n) { var i = n.component; e._setRollerState(e._rollerConfigs[t], i.option("selectedIndex")) } }) })), e._$rollersContainer.appendTo(e._wrapper()) }, _createRollerConfigs: function (e) { var t = this; e = e || t.option("type"), t._rollerConfigs = {}, u.default.getFormatParts(d.default.FORMATS_MAP[e]).forEach((function (e) { t._createRollerConfig(e) })) }, _createRollerConfig: function (e) { for (var t = d.default.DATE_COMPONENTS_INFO[e], n = this._calculateRollerConfigValueRange(e), i = n.startValue, a = n.endValue, o = t.formatter, s = this._getCurrentDate(), r = { type: e, setValue: t.setter, valueItems: [], displayItems: [], getIndex: function (e) { return e[t.getter]() - i } }, l = i; l <= a; l++)r.valueItems.push(l), r.displayItems.push(o(l, s)); r.selectedIndex = r.getIndex(s), this._rollerConfigs[e] = r }, _setActiveRoller: function (e) { var t = e && this._rollers[e.type]; (0, r.each)(this._rollers, (function () { this.toggleActiveState(this === t) })) }, _updateRollersPosition: function () { var e = this; (0, r.each)(this._rollers, (function (t) { var n = e._rollerConfigs[t].getIndex(e._getCurrentDate()); this.option("selectedIndex", n) })) }, _setRollerState: function (e, t) { if (t !== e.selectedIndex) { var n = e.valueItems[t], i = e.setValue, a = new Date(this._getCurrentDate()), o = a.getDate(), r = this.option("minDate"), l = this.option("maxDate"); e.type === g ? o = Math.min(o, d.default.getMaxMonthDay(a.getFullYear(), n)) : e.type === p && (o = Math.min(o, d.default.getMaxMonthDay(n, a.getMonth()))), a.setDate(o), a[i](n); var c = s.default.normalizeDate(a, r, l); a = d.default.mergeDates(c, a, "time"), a = s.default.normalizeDate(a, r, l), this.option("value", a), e.selectedIndex = t } e.type === p && this._refreshRollers(), e.type === g && (this._refreshRoller(m), this._refreshRoller(_)) }, _refreshRoller: function (e) { var t = this._rollers[e]; if (t) { this._createRollerConfig(e); var n = this._rollerConfigs[e]; e !== m && n.displayItems.toString() === t.option("items").toString() || t.option({ items: n.displayItems, selectedIndex: n.selectedIndex }) } }, _getCurrentDate: function () { var e = this._valueOption(), t = this.option("minDate"), n = this.option("maxDate"); return s.default.normalizeDate(e, t, n) }, _calculateRollerConfigValueRange: function (e) { var t = this._getCurrentDate(), n = this.option("minDate"), i = this.option("maxDate"), a = s.default.sameYear(t, n), o = a && t.getMonth() === n.getMonth(), r = s.default.sameYear(t, i), l = r && t.getMonth() === i.getMonth(), c = o && t.getDate() === n.getDate(), u = l && t.getDate() === i.getDate(), h = d.default.DATE_COMPONENTS_INFO[e], f = h.startValue, v = h.endValue; return e === p && (f = n.getFullYear(), v = i.getFullYear()), e === g && (a && (f = n.getMonth()), r && (v = i.getMonth())), e === m && (v = d.default.getMaxMonthDay(t.getFullYear(), t.getMonth()), a && o && (f = n.getDate()), r && l && (v = i.getDate())), e === _ && (f = c ? n.getHours() : f, v = u ? i.getHours() : v), { startValue: f, endValue: v } }, _refreshRollers: function () { this._refreshRoller(g), this._refreshRoller(m), this._refreshRoller(_) }, _optionChanged: function (e) { switch (e.name) { case "minDate": case "maxDate": case "type": this._renderRollers(), this._toggleFormatClasses(e.value, e.previousValue); break; case "visible": this.callBase(e), e.value && this._renderRollers(); break; case "value": this.option("value", this._valueOption()), this._refreshRollers(), this._updateRollersPosition(); break; default: this.callBase(e) } }, _clean: function () { this.callBase(), delete this._$rollersContainer } }); (0, c.default)("dxDateView", v); var y = v; t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(5)), o = p(n(11)), s = n(1), r = n(3), l = n(8), d = n(19), c = p(n(85)), u = p(n(12)), h = p(n(38)), f = n(30); function p(e) { return e && e.__esModule ? e : { default: e } } var g = c.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { showScrollbar: !1, useNative: !1, selectedIndex: 0, bounceEnabled: !1, items: [], showOnClick: !1, onClick: null, onSelectedIndexChanged: null }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "generic" }, options: { scrollByContent: !0 } }]) }, _init: function () { this.callBase(), this._renderSelectedItemFrame() }, _render: function () { this.callBase(), this.$element().addClass("dx-dateviewroller"), this._renderContainerClick(), this._renderItems(), this._renderSelectedValue(), this._renderItemsClick(), this._renderWheelEvent(), this._wrapAction("_endAction", this._endActionHandler.bind(this)), this._renderSelectedIndexChanged() }, _renderSelectedIndexChanged: function () { this._selectedIndexChanged = this._createActionByOption("onSelectedIndexChanged") }, _renderWheelEvent: function () { var e = this; a.default.on(this._$container, "dxmousewheel", (function (t) { e._isWheelScrolled = !0 })) }, _renderContainerClick: function () { if (this.option("showOnClick")) { var e = (0, l.addNamespace)(d.name, this.NAME), t = this._createActionByOption("onClick"); a.default.off(this._$container, e), a.default.on(this._$container, e, (function (e) { t({ event: e }) })) } }, _wrapAction: function (e, t) { var n = this._strategy, i = n[e]; n[e] = function () { return t.apply(this, arguments), i.apply(this, arguments) } }, _renderItems: function () { var e = this.option("items") || [], t = (0, i.default)(); this._$content.empty(), e.forEach((function (e) { t = t.add((0, i.default)("<div>").addClass("dx-dateview-item").append(e)) })), this._$content.append(t), this._$items = t, this.update() }, _renderSelectedItemFrame: function () { (0, i.default)("<div>").addClass("dx-dateview-item-selected-frame").append((0, i.default)("<div>").addClass("dx-dateview-item-selected-border")).appendTo(this._$container) }, _renderSelectedValue: function (e) { var t = this._fitIndex(e || this.option("selectedIndex")); this._moveTo({ top: this._getItemPosition(t) }), this._renderActiveStateItem() }, _fitIndex: function (e) { var t = (this.option("items") || []).length; return e >= t ? t - 1 : e < 0 ? 0 : e }, _getItemPosition: function (e) { return Math.round(this._itemHeight() * e) }, _renderItemsClick: function () { var e = this._getItemSelector(), t = (0, l.addNamespace)(d.name, this.NAME); a.default.off(this.$element(), t, e), a.default.on(this.$element(), t, e, this._itemClickHandler.bind(this)) }, _getItemSelector: function () { return ".dx-dateview-item" }, _itemClickHandler: function (e) { this.option("selectedIndex", this._itemElementIndex(e.currentTarget)) }, _itemElementIndex: function (e) { return this._itemElements().index(e) }, _itemElements: function () { return this.$element().find(this._getItemSelector()) }, _renderActiveStateItem: function () { var e = this.option("selectedIndex"); (0, r.each)(this._$items, (function (t) { (0, i.default)(this).toggleClass("dx-dateview-item-selected", e === t) })) }, _shouldScrollToNeighborItem: function () { return "desktop" === u.default.real().deviceType && this._isWheelScrolled }, _moveTo: function (e) { e = this._normalizeLocation(e); var t = this._location(), n = { x: -(t.left - e.left), y: -(t.top - e.top) }; if (this._isVisible() && (n.x || n.y)) if (this._strategy._prepareDirections(!0), this._animation && !this._shouldScrollToNeighborItem()) { var i = this; h.default.stop(this._$content), h.default.animate(this._$content, { duration: 200, type: "slide", to: { top: Math.floor(n.y) }, complete: function () { (0, f.resetPosition)(i._$content), i._strategy.handleMove({ delta: n }) } }), delete this._animation } else this._strategy.handleMove({ delta: n }) }, _validate: function (e) { return this._strategy.validate(e) }, _fitSelectedIndexInRange: function (e) { var t = this.option("items").length; return Math.max(Math.min(e, t - 1), 0) }, _isInNullNeighborhood: function (e) { return -.1 <= e && e <= .1 }, _getSelectedIndexAfterScroll: function (e) { var t = -this._location().top - e * this._itemHeight(); if (this._isInNullNeighborhood(t)) return e; var n = t > 0 ? 1 : -1; return this._fitSelectedIndexInRange(e + n) }, _getNewSelectedIndex: function (e) { if (this._shouldScrollToNeighborItem()) return this._getSelectedIndexAfterScroll(e); this._animation = !0; var t = -this._location().top / this._itemHeight(); return Math.round(t) }, _endActionHandler: function () { var e = this.option("selectedIndex"), t = this._getNewSelectedIndex(e); t === e ? this._renderSelectedValue(t) : this.option("selectedIndex", t), this._isWheelScrolled = !1 }, _itemHeight: function () { return this._$items.first().height() }, _toggleActive: function (e) { this.$element().toggleClass("dx-state-active", e) }, _isVisible: function () { return this._$container.is(":visible") }, _fireSelectedIndexChanged: function (e, t) { this._selectedIndexChanged({ value: e, previousValue: t, event: void 0 }) }, _visibilityChanged: function (e) { this.callBase(e), e && this._renderSelectedValue(this.option("selectedIndex")), this.toggleActiveState(!1) }, toggleActiveState: function (e) { this.$element().toggleClass("dx-dateviewroller-current", e) }, _refreshSelectedIndex: function () { var e = this.option("selectedIndex"), t = this._fitIndex(e); t === e ? this._renderActiveStateItem() : this.option("selectedIndex", t) }, _optionChanged: function (e) { switch (e.name) { case "selectedIndex": this._fireSelectedIndexChanged(e.value, e.previousValue), this._renderSelectedValue(e.value); break; case "items": this._renderItems(), this._refreshSelectedIndex(); break; case "onClick": case "showOnClick": this._renderContainerClick(); break; case "onSelectedIndexChanged": this._renderSelectedIndexChanged(); break; default: this.callBase(e) } } }); (0, o.default)("dxDateViewRoller", g); var m = g; t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(4), a = u(n(134)), o = n(41), s = n(14), r = u(n(87)), l = u(n(55)), d = n(1), c = u(n(12)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = a.default.inherit({ NAME: "Native", popupConfig: function (e) { return (0, d.extend)({}, e, { width: "auto" }) }, getParsedText: function (e, t) { return e ? "datetime" === this.dateBox.option("type") ? new Date(e.replace(/-/g, "/").replace("T", " ").split(".")[0]) : this._isTextInput() ? this.callBase(e, t) : r.default.fromStandardDateFormat(e) : null }, _isTextInput: function () { return "text" === this.dateBox._input().prop("type") }, renderPopupContent: i.noop, _getWidgetName: i.noop, _getWidgetOptions: i.noop, _getDateBoxType: function () { var e = this.dateBox.option("type"); return -1 === (0, s.inArray)(e, r.default.SUPPORTED_FORMATS) ? e = "date" : "datetime" !== e || (0, o.inputType)(e) || (e = "datetime-local"), e }, customizeButtons: function () { var e = this.dateBox.getButton("dropDown"); c.default.real().android && e && e.on("click", function () { this.dateBox._input().get(0).click() }.bind(this)) }, getDefaultOptions: function () { return { mode: this._getDateBoxType() } }, getDisplayFormat: function (e) { var t = this._getDateBoxType(); return e || r.default.FORMATS_MAP[t] }, renderInputMinMax: function (e) { e.attr({ min: l.default.serializeDate(this.dateBox.dateOption("min"), "yyyy-MM-dd"), max: l.default.serializeDate(this.dateBox.dateOption("max"), "yyyy-MM-dd") }) } }); t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = n(7), o = u(n(238)), s = u(n(445)), r = u(n(32)), l = n(1), d = u(n(164)), c = u(n(87)); function u(e) { return e && e.__esModule ? e : { default: e } } var h = (0, a.getWindow)(), f = o.default.inherit({ NAME: "CalendarWithTime", getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { applyValueMode: "useButtons", buttonsLocation: "bottom after", "dropDownOptions.showTitle": !1 }) }, getDisplayFormat: function (e) { return e || "shortdateshorttime" }, _is24HourFormat: function () { return r.default.is24HourFormat(this.getDisplayFormat(this.dateBox.option("displayFormat"))) }, _renderWidget: function () { this.callBase(), this._timeView = this.dateBox._createComponent((0, i.default)("<div>"), s.default, { value: this.dateBoxValue(), _showClock: !this._isShrinkView(), use24HourFormat: this._is24HourFormat(), onValueChanged: this._valueChangedHandler.bind(this), stylingMode: this.dateBox.option("stylingMode") }), this._timeView.registerKeyHandler("escape", this._escapeHandler.bind(this)) }, renderOpenedState: function () { this.callBase(); var e = this._getPopup(); e && e._wrapper().toggleClass("dx-datebox-adaptivity-mode", this._isSmallScreen()), clearTimeout(this._repaintTimer), this._repaintTimer = setTimeout(function () { this._getPopup() && this._getPopup().repaint() }.bind(this), 0) }, isAdaptivityChanged: function () { var e = this._isShrinkView(), t = this._currentAdaptiveMode; return e !== t ? (this._currentAdaptiveMode = e, void 0 !== t) : this.callBase() }, _updateValue: function (e) { var t = this.dateBoxValue(); t || e || (t = new Date, c.default.normalizeTime(t)), this.callBase(), this._timeView && (t && this._timeView.option("value", t), this._timeView.option("use24HourFormat", this._is24HourFormat())) }, _isSmallScreen: function () { return (0, i.default)(h).width() <= 573 }, _isShrinkView: function () { return !this.dateBox.option("showAnalogClock") || this.dateBox.option("adaptivityEnabled") && this._isSmallScreen() }, _getBoxItems: function () { var e = [{ ratio: 0, shrink: 0, baseSize: "auto", name: "calendar" }]; return this._isShrinkView() || e.push({ ratio: 0, shrink: 0, baseSize: "auto", name: "time" }), e }, renderPopupContent: function () { this.callBase(), this._currentAdaptiveMode = this._isShrinkView(); var e = this._getPopup().$content(); this._box = this.dateBox._createComponent((0, i.default)("<div>").appendTo(e), d.default, { direction: "row", crossAlign: "start", items: this._getBoxItems(), itemTemplate: function (e) { var t = (0, i.default)("<div>"); switch (e.name) { case "calendar": t.append(this._widget.$element()), this._isShrinkView() && t.append(this._timeView.$element()); break; case "time": t.append(this._timeView.$element()) }return t }.bind(this) }), this._attachTabHandler() }, popupConfig: function (e) { var t = this.callBase(e); return (0, l.extend)(t, { width: "auto", onShowing: function () { if ("fallback" === this._box.option("_layoutStrategy")) { var e = this._getPopup().$content().find(".dx-timeview-clock").css("minWidth"); this._timeView.$element().css("maxWidth", e) } }.bind(this) }) }, getFirstPopupElement: function () { return this._timeView._hourBox.$element().find("input") }, _attachTabHandler: function () { var e = this.dateBox; this._timeView._hourBox.registerKeyHandler("tab", (function (t) { t.shiftKey && (t.preventDefault(), e.focus()) })) }, _preventFocusOnPopup: function (e) { (0, i.default)(e.target).hasClass("dx-texteditor-input") || (this.callBase.apply(this, arguments), this.dateBox._hasFocusClass() || this.dateBox.focus()) }, getValue: function () { var e = this._widget.option("value"), t = this._timeView.option("value"); return (e = e ? new Date(e) : new Date).setHours(t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds()), e }, dispose: function () { clearTimeout(this._removeMinWidthTimer), clearTimeout(this._repaintTimer), this.callBase() } }); t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = h(n(2)), a = h(n(71)), o = h(n(132)), s = h(n(133)), r = h(n(164)), l = n(1), d = h(n(11)), c = h(n(32)), u = h(n(87)); function h(e) { return e && e.__esModule ? e : { default: e } } var f = function (e, t, n) { p(e, t, n) }, p = function (e, t, n) { e.css("transform", "rotate(" + t + "deg) translate(0," + n + "px)") }, g = a.default.inherit({ _getDefaultOptions: function () { return (0, l.extend)(this.callBase(), { value: new Date(Date.now()), use24HourFormat: !0, _showClock: !0, _arrowOffset: 0, stylingMode: void 0 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "android" }, options: { _arrowOffset: 15 } }, { device: { platform: "generic" }, options: { _arrowOffset: 5 } }]) }, _getValue: function () { return this.option("value") || new Date }, _init: function () { this.callBase(), this.$element().addClass("dx-timeview") }, _render: function () { this.callBase(), this._renderBox(), this._updateTime() }, _renderBox: function () { var e = (0, i.default)("<div>").appendTo(this.$element()), t = []; this.option("_showClock") && t.push({ ratio: 1, shrink: 0, baseSize: "auto", template: this._renderClock.bind(this) }), t.push({ ratio: 0, shrink: 0, baseSize: 50, template: this._renderField.bind(this) }), this._createComponent(e, r.default, { height: "100%", width: "100%", direction: "col", items: t }) }, _renderClock: function (e, t, n) { this._$hourArrow = (0, i.default)("<div>").addClass("dx-timeview-hourarrow"), this._$minuteArrow = (0, i.default)("<div>").addClass("dx-timeview-minutearrow"); var a = (0, i.default)(n); a.addClass("dx-timeview-clock").append(this._$hourArrow).append(this._$minuteArrow), this.setAria("role", "presentation", a) }, _updateClock: function () { var e = this._getValue(), t = e.getHours() / 12 * 360 + e.getMinutes() / 60 * 30, n = e.getMinutes() / 60 * 360; f(this._$hourArrow, t, this.option("_arrowOffset")), f(this._$minuteArrow, n, this.option("_arrowOffset")) }, _getBoxItems: function (e) { var t = this, n = [{ ratio: 0, shrink: 0, baseSize: "auto", template: function () { return t._hourBox.$element() } }, { ratio: 0, shrink: 0, baseSize: "auto", template: (0, i.default)("<div>").addClass("dx-timeview-time-separator").text(c.default.getTimeSeparator()) }, { ratio: 0, shrink: 0, baseSize: "auto", template: function () { return t._minuteBox.$element() } }]; return e && n.push({ ratio: 0, shrink: 0, baseSize: "auto", template: function () { return t._format12.$element() } }), n }, _renderField: function () { var e = !this.option("use24HourFormat"); return this._createHourBox(e), this._createMinuteBox(), e && this._createFormat12Box(), this._createComponent((0, i.default)("<div>").addClass("dx-timeview-field"), r.default, { direction: "row", align: "center", crossAlign: "center", items: this._getBoxItems(e) }).$element() }, _createHourBox: function (e) { var t = this; (this._hourBox = this._createComponent((0, i.default)("<div>"), o.default, (0, l.extend)({ min: -1, max: e ? 12 : 24, value: this._getValue().getHours(), onValueChanged: this._onHourBoxValueChanged.bind(this), onKeyboardHandled: function (e) { return t._keyboardHandler(e) } }, this._getNumberBoxConfig()))).setAria("label", "hours") }, _isPM: function () { return !this.option("use24HourFormat") && 1 === this._format12.option("value") }, _onHourBoxValueChanged: function (e) { var t = this._getValue(), n = new Date(t), i = this._convertMaxHourToMin(e.value); this._isPM() && (i += 12), n.setHours(i), u.default.normalizeTime(n), this.option("value", n) }, _convertMaxHourToMin: function (e) { var t = this.option("use24HourFormat") ? 24 : 12; return (t + e) % t }, _createMinuteBox: function () { var e = this; (this._minuteBox = this._createComponent((0, i.default)("<div>"), o.default, (0, l.extend)({ min: -1, max: 60, value: this._getValue().getMinutes(), onKeyboardHandled: function (t) { return e._keyboardHandler(t) }, onValueChanged: function (t) { var n = (60 + t.value) % 60; t.component.option("value", n); var i = new Date(e._getValue()); i.setMinutes(n), u.default.normalizeTime(i), e.option("value", i) } }, this._getNumberBoxConfig()))).setAria("label", "minutes") }, _createFormat12Box: function () { var e = this, t = c.default.getPeriodNames(); (this._format12 = this._createComponent((0, i.default)("<div>").addClass("dx-timeview-format12"), s.default, { items: [{ value: -1, text: t[0] }, { value: 1, text: t[1] }], valueExpr: "value", displayExpr: "text", onKeyboardHandled: function (t) { return e._keyboardHandler(t) }, onValueChanged: function (t) { var n = t.value, i = e._getValue().getHours(), a = new Date(e._getValue()), o = (i + 12 * n) % 24; a.setHours(o), e.option("value", a) }, value: this._getValue().getHours() >= 12 ? 1 : -1, stylingMode: this.option("stylingMode") })).setAria("label", "type") }, _refreshFormat12: function () { if (!this.option("use24HourFormat")) { var e = this._getValue().getHours() >= 12 ? 1 : -1; this._silentEditorValueUpdate(this._format12, e) } }, _silentEditorValueUpdate: function (e, t) { e && (e._suppressValueChangeAction(), e.option("value", t), e._resumeValueChangeAction()) }, _getNumberBoxConfig: function () { return { showSpinButtons: !0, displayValueFormatter: function (e) { return (e < 10 ? "0" : "") + e }, stylingMode: this.option("stylingMode") } }, _normalizeHours: function (e) { return this.option("use24HourFormat") ? e : e % 12 || 12 }, _updateField: function () { var e = this._normalizeHours(this._getValue().getHours()); this._silentEditorValueUpdate(this._hourBox, e), this._silentEditorValueUpdate(this._minuteBox, this._getValue().getMinutes()), this._refreshFormat12() }, _updateTime: function () { this.option("_showClock") && this._updateClock(), this._updateField() }, _visibilityChanged: function (e) { e && this._updateTime() }, _optionChanged: function (e) { switch (e.name) { case "value": this._updateTime(), this.callBase(e); break; case "_arrowOffset": break; case "use24HourFormat": case "_showClock": case "stylingMode": this._invalidate(); break; default: this.callBase(e) } } }); (0, d.default)("dxTimeView", g); var m = g; t.default = m, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = n(7), o = p(n(130)), s = p(n(134)), r = n(4), l = n(0), d = n(1), c = p(n(87)), u = p(n(32)), h = p(n(55)), f = n(236); function p(e) { return e && e.__esModule ? e : { default: e } } var g = (0, a.getWindow)(), m = { min: new Date(0, 0, 0, 0, 0), max: new Date(0, 0, 0, 23, 59) }, _ = s.default.inherit({ NAME: "List", supportedKeys: function () { return { tab: function () { this.option("opened") && this.close() }, space: r.noop, home: r.noop, end: r.noop } }, getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { applyValueMode: "instantly" }) }, getDisplayFormat: function (e) { return e || "shorttime" }, popupConfig: function (e) { return e }, useCurrentDateByDefault: function () { return !0 }, getDefaultDate: function () { return new Date(null) }, popupShowingHandler: function () { this.dateBox._dimensionChanged() }, _renderWidget: function () { this.callBase(), this._refreshItems() }, _getWidgetName: function () { return o.default }, _getWidgetOptions: function () { return { itemTemplate: this._timeListItemTemplate.bind(this), onItemClick: this._listItemClickHandler.bind(this), tabIndex: -1, onFocusedItemChanged: this._refreshActiveDescendant.bind(this), selectionMode: "single" } }, _refreshActiveDescendant: function (e) { this.dateBox.setAria("activedescendant", ""), this.dateBox.setAria("activedescendant", e.actionValue) }, _refreshItems: function () { this._widgetItems = this._getTimeListItems(), this._widget.option("items", this._widgetItems) }, renderOpenedState: function () { this._widget && (this._widget.option("focusedElement", null), this._setSelectedItemsByValue(), this._widget.option("templatesRenderAsynchronously") ? this._asyncScrollTimeout = setTimeout(this._scrollToSelectedItem.bind(this)) : this._scrollToSelectedItem()) }, dispose: function () { this.callBase(), clearTimeout(this._asyncScrollTimeout) }, _updateValue: function () { this._widget && (this._refreshItems(), this._setSelectedItemsByValue(), this._scrollToSelectedItem()) }, _setSelectedItemsByValue: function () { var e = this.dateBoxValue(), t = this._getDateIndex(e); -1 === t ? this._widget.option("selectedItems", []) : this._widget.option("selectedIndex", t) }, _scrollToSelectedItem: function () { this._widget.scrollToItem(this._widget.option("selectedIndex")) }, _getDateIndex: function (e) { for (var t = -1, n = 0, i = this._widgetItems.length; n < i; n++)if (this._areDatesEqual(e, this._widgetItems[n])) { t = n; break } return t }, _areDatesEqual: function (e, t) { return (0, l.isDate)(e) && (0, l.isDate)(t) && e.getHours() === t.getHours() && e.getMinutes() === t.getMinutes() }, _getTimeListItems: function () { var e = this.dateBox.dateOption("min") || this._getBoundaryDate("min"), t = this.dateBox.dateOption("max") || this._getBoundaryDate("max"), n = this.dateBox.dateOption("value") || null, i = t - e, a = e.getMinutes() % this.dateBox.option("interval"); return i < 0 ? [] : (i > c.default.ONE_DAY && (i = c.default.ONE_DAY), n - e < c.default.ONE_DAY ? this._getRangeItems(e, new Date(e), i) : ((e = this._getBoundaryDate("min")).setMinutes(a), n && Math.abs(n - t) < c.default.ONE_DAY && (i = (60 * t.getHours() + Math.abs(t.getMinutes() - a)) * c.default.ONE_MINUTE), this._getRangeItems(e, new Date(e), i))) }, _getRangeItems: function (e, t, n) { for (var i = [], a = this.dateBox.option("interval"); t - e <= n;)i.push(new Date(t)), t.setMinutes(t.getMinutes() + a); return i }, _getBoundaryDate: function (e) { var t = m[e], n = new Date((0, r.ensureDefined)(this.dateBox.dateOption("value"), 0)); return new Date(n.getFullYear(), n.getMonth(), n.getDate(), t.getHours(), t.getMinutes()) }, _timeListItemTemplate: function (e) { var t = this.dateBox.option("displayFormat"); return u.default.format(e, this.getDisplayFormat(t)) }, _listItemClickHandler: function (e) { this.dateBox.option("opened", !1); var t = this.dateBox.option("value"), n = e.itemData, i = n.getHours(), a = n.getMinutes(), o = n.getSeconds(), s = n.getFullYear(), r = n.getMonth(), l = n.getDate(); t ? ((t = this.dateBox.option("dateSerializationFormat") ? h.default.deserializeDate(t) : new Date(t)).setHours(i), t.setMinutes(a), t.setSeconds(o), t.setFullYear(s), t.setMonth(r), t.setDate(l)) : t = new Date(s, r, l, i, a, 0, 0), this.dateBoxValue(t, e.event) }, getKeyboardListener: function () { return this._widget }, _updatePopupHeight: function () { var e = (0, f.getSizeValue)(this.dateBox.option("dropDownOptions.height")); if (void 0 === e || "auto" === e) { this.dateBox._setPopupOption("height", "auto"); var t = this._widget.$element().outerHeight(), n = .45 * (0, i.default)(g).height(); this.dateBox._setPopupOption("height", Math.min(t, n)) } this.dateBox._timeList && this.dateBox._timeList.updateDimensions() }, getParsedText: function (e, t) { var n = this.callBase(e, t); return n && (n = c.default.mergeDates(n, new Date(null), "date")), n } }); t.default = _, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = O(n(2)), o = O(n(9)), s = n(7), r = O(n(5)), l = O(n(36)), d = n(0), c = n(3), u = n(1), h = O(n(24)), f = n(19), p = n(124), g = O(n(23)), m = O(n(22)), _ = n(62), v = n(8), y = n(448), w = O(n(10)), x = O(n(35)), b = O(n(47)), C = O(n(12)), k = O(n(165)), I = O(n(77)), S = n(6), E = n(4), D = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = A(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(83)), T = O(n(85)); function A() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return A = function () { return e }, e } function O(e) { return e && e.__esModule ? e : { default: e } } function B(e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable }))), n.push.apply(n, i) } return n } function M(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? B(Object(n), !0).forEach((function (t) { P(e, t, n[t]) })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : B(Object(n)).forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) })) } return e } function P(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e } function R(e) { return function (e) { if (Array.isArray(e)) return F(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return F(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return F(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function F(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var V = "__DX_INSERT_INDEX__", q = ["batch", "row", "cell", "form", "popup"], L = ["row", "form", "popup"], H = ["batch", "cell"], z = ["form", "popup"], N = ["row", "form"], W = { save: "dx-link-save", cancel: "dx-link-cancel", edit: "dx-link-edit", undelete: "dx-link-undelete", delete: "dx-link-delete", add: "dx-link-add" }, $ = { save: "save", cancel: "revert", edit: "edit", undelete: "revert", delete: "trash", add: "add" }, j = { edit: "editRow", delete: "deleteRow", undelete: "undeleteRow", save: "saveEditData", cancel: "cancelEditData", add: "addRowByRowIndex" }, K = { add: "allowAdding", edit: "allowUpdating", delete: "allowDeleting" }, G = ["edit", "save", "cancel", "delete", "undelete"], U = function (e) { return function (t) { var n = t instanceof Error ? t : new Error(t && String(t) || "Unknown error"); e.reject(n) } }, Y = function (e) { var t = e.option("editing.mode"); return -1 !== q.indexOf(t) ? t : "row" }, X = function (e) { var t = Y(e); return -1 !== L.indexOf(t) }, Z = function (e, t) { return t.isEditing || e && t.column.allowEditing }, J = function (e, t) { var n = !!t.column.command, i = Z(e, t), a = !n && (i || t.column.showEditorAlways); return "data" === t.rowType && a }, Q = { defaultOptions: function () { return { editing: { mode: "row", refreshMode: "full", allowAdding: !1, allowUpdating: !1, allowDeleting: !1, useIcons: !1, selectTextOnEditStart: !1, confirmDelete: !0, texts: { editRow: w.default.format("dxDataGrid-editingEditRow"), saveAllChanges: w.default.format("dxDataGrid-editingSaveAllChanges"), saveRowChanges: w.default.format("dxDataGrid-editingSaveRowChanges"), cancelAllChanges: w.default.format("dxDataGrid-editingCancelAllChanges"), cancelRowChanges: w.default.format("dxDataGrid-editingCancelRowChanges"), addRow: w.default.format("dxDataGrid-editingAddRow"), deleteRow: w.default.format("dxDataGrid-editingDeleteRow"), undeleteRow: w.default.format("dxDataGrid-editingUndeleteRow"), confirmDeleteMessage: w.default.format("dxDataGrid-editingConfirmDeleteMessage"), confirmDeleteTitle: "" }, form: { colCount: 2 }, popup: {}, startEditAction: "click", editRowKey: null, editColumnName: null, changes: [] } } }, controllers: { editing: h.default.ViewController.inherit(function () { var e = function (e) { return function (t, n) { var i = (0, a.default)("<div>").appendTo(t); e.getController("editorFactory").createEditor(i, (0, u.extend)({}, n.column, { value: n.value, setValue: n.setValue, row: n.row, parentType: "dataRow", width: null, readOnly: !n.setValue, isOnForm: n.isOnForm, id: n.id })) } }, t = function (e, t) { var i = -1; return e.some((function (e, a) { if (n(e) === t) return i = a, !0 })), i }; function n(e) { return (0, d.isObject)(e) ? e.name : e } return { init: function () { var e, t, n = this; (n._columnsController = n.getController("columns"), n._dataController = n.getController("data"), n._rowsView = n.getView("rowsView"), n._editForm = null, n._updateEditFormDeferred = null, n._lastOperation = null, n._deferreds && n._deferreds.forEach((function (e) { return e.reject("cancel") })), n._deferreds = [], n._dataChangedHandler || (n._dataChangedHandler = n._handleDataChanged.bind(n), n._dataController.changed.add(n._dataChangedHandler)), n._saveEditorHandler) || (n.createAction("onInitNewRow", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowInserting", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowInserted", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onEditingStart", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowUpdating", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowUpdated", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowRemoving", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onRowRemoved", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onSaved", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onSaving", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onEditCanceling", { excludeValidators: ["disabled", "readOnly"] }), n.createAction("onEditCanceled", { excludeValidators: ["disabled", "readOnly"] }), n._pointerUpEditorHandler = function () { var e; t = null === (e = n.getController("columnsResizer")) || void 0 === e ? void 0 : e.isResizing() }, n._pointerDownEditorHandler = function (t) { return e = (0, a.default)(t.target) }, n._saveEditorHandler = n.createAction((function (i) { var o = i.event, r = (0, a.default)(o.target), l = o.targetComponent; if ((!e || !e.is("input") || e.is(r)) && !X(n) && !n._editCellInProgress) { var d = g(r) || g(null == l ? void 0 : l.$element()), c = !!r.closest((0, s.getWindow)().document).length, u = l && !l._disposed && l !== n.component, h = !!r.closest(".".concat(n.addWidgetPrefix("addrow-button"))).length, f = r.hasClass(n.addWidgetPrefix("focus-overlay")), p = "cell" === Y(n); t || d || f || h && p && n.isEditing() || !c && !u || n._closeEditItem.bind(n)(r) } function g(e) { return e && !!e.closest(".".concat("dx-dropdowneditor-overlay")).length } })), r.default.on(o.default.getDocument(), g.default.up, n._pointerUpEditorHandler), r.default.on(o.default.getDocument(), g.default.down, n._pointerDownEditorHandler), r.default.on(o.default.getDocument(), f.name, n._saveEditorHandler)); n._updateEditColumn(), n._updateEditButtons(), this._internalState || (this._internalState = []), this.component._optionsByReference["editing.editRowKey"] = !0, this.component._optionsByReference["editing.changes"] = !0 }, getChanges: function () { return this.option("editing.changes") }, resetChanges: function () { var e = this.getChanges(); (null == e ? void 0 : e.length) && this._silentOption("editing.changes", []) }, _getInternalData: function (e) { return this._internalState.filter((function (t) { return t.key === e }))[0] }, _addInternalData: function (e) { var t = this._getInternalData(e.key); return t ? (0, u.extend)(t, e) : (this._internalState.push(e), e) }, _getOldData: function (e) { var t; return null === (t = this._getInternalData(e)) || void 0 === t ? void 0 : t.oldData }, getUpdatedData: function (e) { var t = this._dataController.keyOf(e), n = this.getChanges(), i = m.default.getIndexByKey(t, n); return n[i] ? (0, _.createObjectWithChanges)(e, n[i].data) : e }, getInsertedData: function () { return this.getChanges().filter((function (e) { return e.data && "insert" === e.type })).map((function (e) { return e.data })) }, getRemovedData: function () { var e = this; return this.getChanges().filter((function (t) { return e._getOldData(t.key) && "remove" === t.type })).map((function (t) { return e._getOldData(t.key) })) }, _fireDataErrorOccurred: function (e) { if ("cancel" !== e) { var t = this.getPopupContent(); this._dataController.dataErrorOccurred.fire(e, t) } }, _needToCloseEditableCell: function (e) { var t = this.component.$element(), n = this.isEditing(); if ((!t || !!e.closest(t).length) && e.closest(".dx-data-row").length) { var i = this.getView("rowsView"), a = e.closest(".dx-row> td"), o = i.getRowIndex(a.parent()), s = i.getCellElements(o).index(a), r = this._columnsController.getVisibleColumns(), l = r[s] && r[s].allowEditing; n = n && !l && !this.isEditCell(o, s) } return n }, _closeEditItem: function (e) { this._needToCloseEditableCell(e) && this.closeEditCell() }, _handleDataChanged: function (e) { var t = this._editForm; "refresh" === e.changeType && "popup" === Y(this) && t && t.option("visible") && this._repaintEditPopup() }, _isDefaultButtonVisible: function (e, t) { var n = !0, i = X(this), a = "batch" === Y(this), o = t.row && t.row.rowIndex === this._getVisibleEditRowIndex() && i; switch (e.name) { case "edit": n = !o && this.allowUpdating(t) && i; break; case "save": case "cancel": n = o; break; case "delete": n = !o && this.allowDeleting(t) && (!a || !t.row.removed); break; case "undelete": n = a && this.allowDeleting(t) && t.row.removed }return n }, _isButtonVisible: function (e, t) { var n = e.visible; return (0, d.isDefined)(n) ? (0, d.isFunction)(n) ? n.call(e, { component: t.component, row: t.row, column: t.column }) : n : this._isDefaultButtonVisible(e, t) }, _getButtonConfig: function (e, t) { var i = this, a = (0, d.isObject)(e) ? e : {}, o = n(e), s = function (e) { var t = e.component.option("editing.texts") || {}; return { save: t.saveRowChanges, cancel: t.cancelRowChanges, edit: t.editRow, undelete: t.undeleteRow, delete: t.deleteRow, add: t.addRowToNode } }(t), r = j[o], l = this.option("editing"), c = K[o], h = !c || l[c]; return (0, u.extend)({ name: o, text: s[o], cssClass: W[o], onClick: function (e) { var n = e.event; n.stopPropagation(), n.preventDefault(), setTimeout((function () { t.row && h && i[r] && i[r](t.row.rowIndex) })) } }, a) }, _getEditingButtons: function (e) { var n, i = this, a = !!e.column.buttons, o = (e.column.buttons || []).slice(); return a ? ((n = t(o, "edit")) >= 0 && (t(o, "save") < 0 && o.splice(n + 1, 0, "save"), t(o, "cancel") < 0 && o.splice(t(o, "save") + 1, 0, "cancel")), (n = t(o, "delete")) >= 0 && t(o, "undelete") < 0 && o.splice(n + 1, 0, "undelete")) : o = G.slice(), o.map((function (t) { return i._getButtonConfig(t, e) })) }, _renderEditingButtons: function (e, t, n) { var i = this; t.forEach((function (t) { i._isButtonVisible(t, n) && i._createButton(e, t, n) })) }, _getEditCommandCellTemplate: function () { var e = this; return function (t, n) { var i = (0, a.default)(t); if ("data" === n.rowType) { var o = e._getEditingButtons(n); e._renderEditingButtons(i, o, n), n.watch && n.watch((function () { return o.map((function (t) { return e._isButtonVisible(t, n) })) }), (function () { i.empty(), e._renderEditingButtons(i, o, n) })) } else m.default.setEmptyText(i) } }, isRowEditMode: function () { return X(this) }, isFormEditMode: function () { var e = Y(this); return -1 !== z.indexOf(e) }, isCellOrBatchEditMode: function () { var e = this.getEditMode(); return -1 !== H.indexOf(e) }, getEditMode: function () { return Y(this) }, getFirstEditableColumnIndex: function () { var e, t = this.getController("columns"), n = this._firstFormItem; if ("form" === Y(this) && n) { var i = this.option("editing.editRowKey"), a = this._dataController.getRowIndexByKey(i), o = this._rowsView.getCellElements(a); e = this._rowsView._getEditFormEditorVisibleIndex(o, n.column) } else { var s = t.getVisibleColumns(); (0, c.each)(s, (function (t, n) { if (n.allowEditing) return e = t, !1 })) } return e }, getFirstEditableCellInRow: function (e) { var t = this.getView("rowsView"); return t && t._getCellElement(e || 0, this.getFirstEditableColumnIndex()) }, getFocusedCellInRow: function (e) { return this.getFirstEditableCellInRow(e) }, getIndexByKey: function (e, t) { return m.default.getIndexByKey(e, t) }, hasChanges: function (e) { for (var t = this.getChanges(), n = !1, i = 0; i < (null == t ? void 0 : t.length); i++)if (t[i].type && (!(0, d.isDefined)(e) || this._dataController.getRowIndexByKey(t[i].key) === e)) { n = !0; break } return n }, dispose: function () { this.callBase(), clearTimeout(this._inputFocusTimeoutID), r.default.off(o.default.getDocument(), g.default.up, this._pointerUpEditorHandler), r.default.off(o.default.getDocument(), g.default.down, this._pointerDownEditorHandler), r.default.off(o.default.getDocument(), f.name, this._saveEditorHandler) }, optionChanged: function (e) { if ("editing" === e.name) { var t = e.fullName, n = this._editPopup; if (t && 0 === t.indexOf("editing.popup")) { if (n) { var i = t.slice("editing.popup".length + 1); i ? n.option(i, e.value) : n.option(e.value) } } else n && n.option("visible") && 0 === t.indexOf("editing.form") ? this._repaintEditPopup() : "editing.editRowKey" === t ? this._handleEditRowKeyChange(e) : "editing.editColumnName" === t ? this._handleEditColumnNameChange(e) : "editing.changes" === t ? this._handleChangesChange(e) : (this.init(), this.resetChanges(), this._resetEditColumnName(), this._resetEditRowKey()); e.handled = !0 } else this.callBase(e) }, _handleEditRowKeyChange: function (e) { var t = this._dataController.getRowIndexByKey(e.value), n = this._getEditRowIndexCorrection(), i = this._dataController.getRowIndexByKey(e.previousValue) + n, a = this._getVisibleEditColumnIndex(); this.isCellOrBatchEditMode() ? (0, d.isDefined)(e.value) && e.value !== e.previousValue && this._editCellFromOptionChanged(a, a, i) : (0, d.isDefined)(e.value) ? e.value !== e.previousValue && this._editRowFromOptionChanged(t, i) : this.cancelEditData() }, _handleEditColumnNameChange: function (e) { var t = this._getVisibleEditRowIndex(e.previousValue); if (this.isCellOrBatchEditMode() && -1 !== t && (0, d.isDefined)(e.value) && e.value !== e.previousValue) { var n = this._columnsController.getVisibleColumnIndex(e.value), i = this._columnsController.getVisibleColumnIndex(e.previousValue); this._editCellFromOptionChanged(n, i, t) } }, _handleChangesChange: function (e) { var t = this._dataController; (e.value.length || e.previousValue.length) && t.updateItems({ repaintChangesOnly: !0 }) }, _editCellFromOptionChanged: function (e, t, n) { var i = this, a = this._columnsController.getVisibleColumns(); e > -1 && (0, E.deferRender)((function () { i._repaintEditCell(a[e], a[t], n) })) }, publicMethods: function () { return ["addRow", "deleteRow", "undeleteRow", "editRow", "editCell", "closeEditCell", "saveEditData", "cancelEditData", "hasEditData"] }, refresh: function (e) { var t = "batch" === Y(this) || e && "virtual" !== this.option("scrolling.mode"); (0, d.isDefined)(this._pageIndex) && (this.isCellOrBatchEditMode() ? t && (this._resetEditColumnName(), this._resetEditRowKey()) : (this.resetChanges(), this.init(), (0, d.isDefined)(this.option("editing.editRowKey")) && this._resetEditRowKey())) }, isEditing: function () { var e = (0, d.isDefined)(this.option("editing.editRowKey")), t = (0, d.isDefined)(this.option("editing.editColumnName")); return this.isCellOrBatchEditMode() ? e && t : e }, isEditRow: function (e) { var t = Y(this); return this._getVisibleEditRowIndex() === e && -1 !== L.indexOf(t) }, _setEditRowKey: function (e, t) { t ? this._silentOption("editing.editRowKey", e) : this.option("editing.editRowKey", e) }, _setEditRowKeyByIndex: function (e, t) { var n = this._dataController.getKeyByRowIndex(e); void 0 !== n ? this._setEditRowKey(n, t) : this._dataController.fireError("E1043") }, getEditRowIndex: function () { return this._getVisibleEditRowIndex() }, getEditFormRowIndex: function () { var e = Y(this); return "form" === e || "popup" === e ? this._getVisibleEditRowIndex() : -1 }, isEditCell: function (e, t) { return this._getVisibleEditRowIndex() === e && this._getVisibleEditColumnIndex() === t }, getPopupContent: function () { var e = Y(this), t = this._editPopup && this._editPopup.option("visible"); if ("popup" === e && t) return this._$popupContent }, getEditForm: function () { return this._editForm }, _needInsertItem: function (e, t) { var n = this._dataController.dataSource(), i = this.option("scrolling.mode"), a = n.pageIndex(), o = n.beginPageIndex ? n.beginPageIndex() : a, s = n.endPageIndex ? n.endPageIndex() : a; if ("standard" !== i) switch (t) { case "append": return e.key.pageIndex === s; case "prepend": return e.key.pageIndex === o; case "refresh": e.key.rowIndex = 0, e.key.dataRowIndex = 0, e.key.pageIndex = 0; break; default: return e.key.pageIndex >= o && e.key.pageIndex <= s }return e.key.pageIndex === a }, _generateNewItem: function (e) { var t = { key: e }; return e && e[V] && (t[V] = e[V]), t }, _getLoadedRowIndexByInsertKey: function (e, t, n) { var i = this._dataController, a = i.getRowIndexOffset(!0), o = n.dataRowIndex - a; "append" === t.changeType && (o -= i.items(!0).length, t.removeCount && (o += t.removeCount)); for (var s = 0; s < o; s++)e[s] && e[s][V] && o++; return o }, processItems: function (e, t) { var n = this, i = t.changeType; return this.update(i), this.getChanges().forEach((function (a) { var o = a.key; if ((0, d.isDefined)(o) && "insert" === a.type) { var s = n._getLoadedRowIndexByInsertKey(e, t, o), r = n._generateNewItem(o); s >= 0 && n._needInsertItem(a, i, e, r) && e.splice(o.dataRowIndex ? s : 0, 0, r) } })), e }, processDataItem: function (e, t, n) { var i = t.visibleColumns, a = e.data[V] ? e.data.key : e.key, o = this.getChanges(), s = m.default.getIndexByKey(a, o); if (e.isEditing = !1, s >= 0) { var r = Y(this), l = o[s], d = l.data; switch (l.type) { case "insert": "popup" === r && (e.visible = !1), e.isNewRow = !0, e.key = a, e.data = d; break; case "update": e.modified = !0, e.oldData = e.data, e.data = (0, _.createObjectWithChanges)(e.data, d), e.modifiedValues = n(d, i, !0); break; case "remove": "batch" === r && (e.data = (0, _.createObjectWithChanges)(e.data, d)), e.removed = !0 } } }, _initNewRow: function (e) { var t = this; if (this.executeAction("onInitNewRow", e), e.promise) { var n = new S.Deferred; return (0, S.when)((0, S.fromPromise)(e.promise)).done(n.resolve).fail(U(n)).fail((function (e) { return t._fireDataErrorOccurred(e) })), n } }, _getInsertKey: function (e) { var t = this._dataController, n = t.items(), i = Y(this), a = { parentKey: e, pageIndex: t.pageIndex(), rowIndex: this._getInsertRowIndex(e) }, o = n[a.rowIndex]; return o && (!o.isEditing && "detail" === o.rowType || "detailAdaptive" === o.rowType) && a.rowIndex++, a.dataRowIndex = t.getRowIndexOffset() + n.filter((function (e, t) { return t < a.rowIndex && ("data" === e.rowType && !e.isNewRow || "group" === e.rowType) })).length, "batch" !== i && this._setEditRowKey(a, !0), a[V] = this._getInsertIndex(), a }, _getInsertRowIndex: function (e) { var t = this.getView("rowsView"), n = this._dataController.getRowIndexByKey(e); return n >= 0 ? n + 1 : t ? t.getTopVisibleItemIndex(!0) : 0 }, _getInsertIndex: function () { var e = 0; return this.getChanges().forEach((function (t) { "insert" === t.type && t.key[V] > e && (e = t.key[V]) })), e + 1 }, addRow: function (e) { var t = this, n = t._dataController, i = n.store(), a = i && i.key(), o = { data: {} }, s = Y(t), r = t._getVisibleEditRowIndex(), d = new S.Deferred; return i ? "cell" === s && t.hasChanges() ? (t.saveEditData().done((function () { t.hasChanges() ? d.reject("cancel") : t.addRow(e).done(d.resolve).fail(d.reject) })), d.promise()) : (t.refresh(), t._allowRowAdding() ? (a || (o.data.__KEY__ = String(new l.default)), (0, S.when)(t._initNewRow(o, e)).done((function () { t._allowRowAdding() ? (t._addRowCore(o.data, e, r), d.resolve()) : d.reject("cancel") })).fail(d.reject), d.promise()) : d.reject("cancel")) : (n.fireError("E1052", this.component.NAME), d.reject()) }, _allowRowAdding: function () { var e = Y(this), t = this._getInsertIndex(); return !("batch" !== e && t > 1) }, _addRowCore: function (e, t, n) { var i = this._getVisibleEditRowIndex(), a = this._getInsertKey(t), o = Y(this); this._addChange({ key: a, data: e, type: "insert" }), this._dataController.updateItems({ changeType: "update", rowIndices: [n, i, a.rowIndex] }), "popup" === o ? this._showEditPopup(a.rowIndex) : this._focusFirstEditableCellInRow(a.rowIndex), this._afterInsertRow({ key: a, data: e }) }, _focusFirstEditableCellInRow: function (e) { var t = this, n = t.getFirstEditableCellInRow(e); t._editCellInProgress = !0, t._delayedInputFocus(n, (function () { t._editCellInProgress = !1; var n = t.getFirstEditableCellInRow(e), i = "dblClick" === t.option("editing.startEditAction") ? p.name : f.name; n && r.default.trigger(n, i) })) }, _isEditingStart: function (e) { return this.executeAction("onEditingStart", e), e.cancel }, _beforeEditCell: function (e, t, n) { var i = this; if ("cell" === Y(i) && !n.isNewRow && i.hasChanges()) { var a = new S.Deferred; return i.saveEditData().always((function () { a.resolve(i.hasChanges()) })), a } }, _beforeUpdateItems: function () { }, _getVisibleEditColumnIndex: function () { var e = this.option("editing.editColumnName"); return (0, d.isDefined)(e) ? this._columnsController.getVisibleColumnIndex(e) : -1 }, _setEditColumnNameByIndex: function (e, t) { var n, i = this._columnsController.getVisibleColumns(); this._setEditColumnName(null === (n = i[e]) || void 0 === n ? void 0 : n.name, t) }, _setEditColumnName: function (e, t) { t ? this._silentOption("editing.editColumnName", e) : this.option("editing.editColumnName", e) }, _resetEditColumnName: function () { this._setEditColumnName(null, !0) }, _getEditColumn: function () { var e = this.option("editing.editColumnName"); return this._getColumnByName(e) }, _getColumnByName: function (e) { var t, n = this._columnsController.getVisibleColumns(); return (0, d.isDefined)(e) && n.some((function (n) { if (n.name === e) return t = n, !0 })), t }, _getVisibleEditRowIndex: function (e) { var t = this._dataController, n = this.option("editing.editRowKey"), i = t.getRowIndexByKey(n); return -1 === i ? i : i + this._getEditRowIndexCorrection(e) }, _getEditRowIndexCorrection: function (e) { var t = e ? this._getColumnByName(e) : this._getEditColumn(); return "adaptiveHidden" === (null == t ? void 0 : t.visibleWidth) ? 1 : 0 }, _resetEditRowKey: function () { this._setEditRowKey(null, !0) }, _resetEditIndices: function () { this._resetEditColumnName(), this._resetEditRowKey() }, editRow: function (e) { var t = this._dataController, n = t.items()[e], i = { data: n && n.data, cancel: !1 }, a = this._getVisibleEditRowIndex(); if (n) return e === a || void (void 0 !== n.key ? (n.isNewRow || (i.key = n.key), this._isEditingStart(i) || (this.resetChanges(), this.init(), this._resetEditColumnName(), this._pageIndex = t.pageIndex(), this._addInternalData({ key: n.key, oldData: n.data }), this._setEditRowKey(n.key))) : this._dataController.fireError("E1043")) }, _editRowFromOptionChanged: function (e, t) { var n = [t, e], i = Y(this); this._beforeUpdateItems(n, e, t), "popup" === i ? this._showEditPopup(e) : (this._needFocusEditor = !0, this._dataController.updateItems({ changeType: "update", rowIndices: n })) }, _focusEditorIfNeed: function () { var e = this, t = Y(this); if (this._needFocusEditor) { if (-1 !== N.indexOf(t)) { var n = this.getFocusedCellInRow(this._getVisibleEditRowIndex()); this._delayedInputFocus(n, (function () { n && e.component.focus(n) })) } else if (-1 !== H.indexOf(t)) { var i, a = this._getVisibleEditColumnIndex(), o = null === (i = this._rowsView) || void 0 === i ? void 0 : i._getCellElement(this._getVisibleEditRowIndex(), a); o && !o.find(":focus").length ? this._focusEditingCell((function () { e._editCellInProgress = !1 }), o, !0) : this._editCellInProgress = !1 } this._needFocusEditor = !1 } }, _showEditPopup: function (e, t) { var n = this, i = "desktop" !== C.default.current().deviceType, o = (0, u.extend)({ showTitle: !1, fullScreen: i, toolbarItems: [{ toolbar: "bottom", location: "after", widget: "dxButton", options: n._getSaveButtonConfig() }, { toolbar: "bottom", location: "after", widget: "dxButton", options: n._getCancelButtonConfig() }], contentTemplate: n._getPopupEditFormTemplate(e) }, n.option("editing.popup")); if (!n._editPopup) { var s = (0, a.default)("<div>").appendTo(n.component.$element()).addClass(n.addWidgetPrefix("edit-popup")); n._editPopup = n._createComponent(s, b.default, {}), n._editPopup.on("hiding", n._getEditPopupHiddenHandler()), n._editPopup.on("shown", (function (e) { r.default.trigger(e.component.$content().find("[tabindex], input:not([type='hidden'])").not(".dx-scrollable-container").first(), "focus"), t && n._editForm && n._editForm.repaint() })) } n._editPopup.option(o), n._editPopup.show() }, _repaintEditPopup: function () { var e = this._getVisibleEditRowIndex(); if (this._editPopup && this._editPopup.option("visible") && e >= 0) { var t = this._editPopup.option("animation"); this._editPopup.option("animation", null), this._showEditPopup(e, !0), this._editPopup.option("animation", t) } }, _getEditPopupHiddenHandler: function () { var e = this; return function (t) { e.isEditing() && e.cancelEditData() } }, _getPopupEditFormTemplate: function (e) { var t = this, n = t.component.getVisibleRows()[e], i = { row: n, rowType: n.rowType, key: n.key }; return function (e) { var n = t.getEditFormTemplate(), o = t._createComponent((0, a.default)("<div>").appendTo(e), T.default); t._$popupContent = o.$content(), n(t._$popupContent, i, !0) } }, _getSaveButtonConfig: function () { return { text: this.option("editing.texts.saveRowChanges"), onClick: this.saveEditData.bind(this) } }, _getCancelButtonConfig: function () { return { text: this.option("editing.texts.cancelRowChanges"), onClick: this.cancelEditData.bind(this) } }, _removeInternalData: function (e) { var t = this._getInternalData(e), n = this._internalState.indexOf(t); n > -1 && this._internalState.splice(n, 1) }, _removeChange: function (e) { if (e >= 0) { var t = R(this.getChanges()); this._removeInternalData(t[e].key), t.splice(e, 1), this._silentOption("editing.changes", t) } }, executeOperation: function (e, t) { var n = this; this._lastOperation && this._lastOperation.reject(), this._lastOperation = e, this.waitForDeferredOperations().done((function () { "rejected" !== e.state() && (t(), n._lastOperation = null) })).fail((function () { e.reject(), n._lastOperation = null })) }, waitForDeferredOperations: function () { return S.when.apply(void 0, R(this._deferreds)) }, editCell: function (e, t) { return this._editCell({ rowIndex: e, columnIndex: t }) }, _editCell: function (e) { var t, n = this, i = new S.Deferred; return this.executeOperation(i, (function () { t = n._editCellCore(e), (0, S.when)(t).done(i.resolve).fail(i.reject) })), void 0 !== t ? t : i.promise() }, _getNormalizedEditCellOptions: function (e) { var t, n = e.oldColumnIndex, i = e.oldRowIndex, a = e.columnIndex, o = e.rowIndex, s = this._columnsController, r = s.getVisibleColumns(), l = this._dataController.items()[o]; return t = (0, d.isDefined)(n) ? r[n] : this._getEditColumn(), (0, d.isDefined)(i) || (i = this._getVisibleEditRowIndex()), (0, d.isString)(a) && (a = s.columnOption(a, "index"), a = s.getVisibleIndex(a)), { oldColumn: t, columnIndex: a, oldRowIndex: i, rowIndex: o, column: r[a], item: l } }, _editCellCore: function (e) { var t = this, n = this._dataController, i = (0, d.isDefined)(e.oldColumnIndex) || (0, d.isDefined)(e.oldRowIndex), a = this._getNormalizedEditCellOptions(e), o = a.columnIndex, s = a.rowIndex, r = a.column, l = a.item, c = { data: null == l ? void 0 : l.data, cancel: !1, column: r }; if (void 0 !== l.key) { if (r && l && ("data" === l.rowType || "detailAdaptive" === l.rowType) && !l.removed && !X(this)) { if (!i && this.isEditCell(s, o)) return !0; var u = s + n.getRowIndexOffset(); return (0, S.when)(this._beforeEditCell(s, o, l)).done((function (e) { e || t._prepareEditCell(c, l, o, u) || t._processCanceledEditingCell() })) } return !1 } this._dataController.fireError("E1043") }, _processCanceledEditingCell: function () { }, _prepareEditCell: function (e, t, n, i) { return t.isNewRow || (e.key = t.key), !this._isEditingStart(e) && (this._pageIndex = this._dataController.pageIndex(), this._setEditRowKey(t.key), this._setEditColumnNameByIndex(n), e.column.showEditorAlways || this._addInternalData({ key: t.key, oldData: t.data }), !0) }, _repaintEditCell: function (e, t, n) { this._needFocusEditor = !0, !e || !e.showEditorAlways || t && !t.showEditorAlways ? (this._editCellInProgress = !0, this.getController("editorFactory").loseFocus(), this._dataController.updateItems({ changeType: "update", rowIndices: [n, this._getVisibleEditRowIndex()] })) : this._dataController.updateItems({ changeType: "update", rowIndices: [] }) }, _delayedInputFocus: function (e, t, n) { var i = this; function a() { if (t && t(), e) { var n = e.find("[tabindex], input:not([type='hidden'])").first(); m.default.focusAndSelectElement(i, n) } i._beforeFocusCallback = null } C.default.real().ios || C.default.real().android ? a() : (i._beforeFocusCallback && i._beforeFocusCallback(), clearTimeout(i._inputFocusTimeoutID), n && (i._beforeFocusCallback = t), i._inputFocusTimeoutID = setTimeout(a)) }, _focusEditingCell: function (e, t, n) { var i = this.getView("rowsView"), a = this._getVisibleEditColumnIndex(); t = t || i && i._getCellElement(this._getVisibleEditRowIndex(), a), this._delayedInputFocus(t, e, n) }, deleteRow: function (e) { var t = this; if ("cell" === this.option("editing.mode") && this.isEditing()) { var n = this._dataController.items()[e].isNewRow; this.closeEditCell(null, n).always((function () { t._checkAndDeleteRow(e) })) } else this._checkAndDeleteRow(e) }, _checkAndDeleteRow: function (e) { var t = this, n = t.option("editing"), i = n && n.texts, a = n && "batch" === n.mode, o = n && n.confirmDelete, s = i && i.confirmDeleteMessage, r = t._dataController.items()[e], l = a || !t.isEditing() || r.isNewRow; if (r && l) if (!a && o && s) { var c = i && i.confirmDeleteTitle, u = (0, d.isDefined)(c) && c.length > 0; (0, y.confirm)(s, c, u).done((function (n) { n && t._deleteRowCore(e) })) } else t._deleteRowCore(e) }, _deleteRowCore: function (e) { var t = this._dataController, n = t.items()[e], i = n && n.key, a = this._getVisibleEditRowIndex(), o = "batch" === this.option("editing.mode"); this.refresh(); var s = this.getChanges(), r = m.default.getIndexByKey(i, s); r >= 0 ? "insert" === s[r].type ? this._removeChange(r) : this._addChange({ key: i, type: "remove" }) : this._addChange({ key: i, oldData: n.data, type: "remove" }), o ? t.updateItems({ changeType: "update", rowIndices: [a, e] }) : this.saveEditData() }, undeleteRow: function (e) { var t = this._dataController, n = t.items()[e], i = this._getVisibleEditRowIndex(), a = n && n.key, o = this.getChanges(); if (n) { var s = m.default.getIndexByKey(a, o); if (s >= 0) { var r = o[s].data; (0, d.isEmptyObject)(r) ? this._removeChange(s) : this._addChange({ key: a, type: "update" }), t.updateItems({ changeType: "update", rowIndices: [i, e] }) } } }, _fireOnSaving: function () { var e = this, t = { cancel: !1, promise: null, changes: R(this.getChanges()) }; this.executeAction("onSaving", t); var n = new S.Deferred; return (0, S.when)((0, S.fromPromise)(t.promise)).done((function () { n.resolve(t) })).fail((function (t) { U(n), e._fireDataErrorOccurred(t), n.resolve({ cancel: !0 }) })), n }, _executeEditingAction: function (e, t, n) { if (this.component._disposed) return null; var i = new S.Deferred; return this.executeAction(e, t), (0, S.when)((0, S.fromPromise)(t.cancel)).done((function (e) { e ? setTimeout((function () { i.resolve("cancel") })) : n(t).done(i.resolve).fail(U(i)) })).fail(U(i)), i }, _processChanges: function (e, t, n, i) { var a = this, o = this._dataController.store(); (0, c.each)(i, (function (s, r) { var l, c, u = a._getOldData(r.key), h = r.data, f = r.type, p = M({}, r); if (!a._beforeSaveEditData(r, s)) { switch (f) { case "remove": c = { data: u, key: r.key, cancel: !1 }, l = a._executeEditingAction("onRowRemoving", c, (function () { return o.remove(r.key).done((function (e) { n.push({ type: "remove", key: e }) })) })); break; case "insert": c = { data: h, cancel: !1 }, l = a._executeEditingAction("onRowInserting", c, (function () { return o.insert(c.data).done((function (e, t) { (0, d.isDefined)(t) && (p.key = t), e && (0, d.isObject)(e) && e !== c.data && (p.data = e), n.push({ type: "insert", data: e, index: 0 }) })) })); break; case "update": c = { newData: h, oldData: u, key: r.key, cancel: !1 }, l = a._executeEditingAction("onRowUpdating", c, (function () { return o.update(r.key, c.newData).done((function (e, t) { e && (0, d.isObject)(e) && e !== c.newData && (p.data = e), n.push({ type: "update", key: t, data: e }) })) })) }if (i[s] = p, l) { var g = new S.Deferred; l.always((function (e) { t.push({ key: r.key, result: e }) })).always(g.resolve), e.push(g.promise()) } } })) }, _processSaveEditDataResult: function (e) { for (var t = !1, n = Y(this), i = R(this.getChanges()), a = i.length, o = 0; o < e.length; o++) { var s = e[o].result, r = "cancel" === s, l = m.default.getIndexByKey(e[o].key, i), d = i[l]; if (s && s instanceof Error) { if (d && this._addInternalData({ key: d.key, error: s }), this._fireDataErrorOccurred(s), "batch" !== n) { "remove" === (null == d ? void 0 : d.type) && l >= 0 && i.splice(l, 1); break } } else r && d && ("batch" === n || "remove" !== d.type) || (l >= 0 && i.splice(l, 1), t = !r) } return i.length < a && this._silentOption("editing.changes", i), t }, _fireSaveEditDataEvents: function (e) { var t = this; (0, c.each)(e, (function (e, n) { var i = n.data, a = n.key, o = n.type, s = t._addInternalData({ key: a }), r = { key: a, data: i }; switch (s.error && (r.error = s.error), o) { case "remove": t.executeAction("onRowRemoved", (0, u.extend)({}, r, { data: s.oldData })); break; case "insert": t.executeAction("onRowInserted", r); break; case "update": t.executeAction("onRowUpdated", r) } })), this.executeAction("onSaved", { changes: e }) }, saveEditData: function () { var e = this, t = new S.Deferred; return this.waitForDeferredOperations().done((function () { e.isSaving() ? e._resolveAfterSave(t) : (0, S.when)(e._beforeSaveEditData()).done((function (n) { n ? e._resolveAfterSave(t, { cancel: n }) : (e._saving = !0, e._saveEditDataInner().done(t.resolve).fail(t.reject).always((function () { e._saving = !1 }))) })).fail(t.reject) })).fail(t.reject), t.promise() }, _resolveAfterSave: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.cancel, i = t.error; (0, S.when)(this._afterSaveEditData(n)).done((function () { e.resolve(i) })).fail(e.reject) }, _saveEditDataInner: function () { var e = this, t = [], n = [], i = [], a = this._dataController.dataSource(), o = new S.Deferred; return (0, S.when)(this._fireOnSaving()).done((function (s) { var r = s.cancel, l = s.changes; return r ? o.resolve().promise() : (e._processChanges(n, t, i, l), n.length ? (null == a || a.beginLoading(), S.when.apply(void 0, n).done((function () { e._processSaveEditDataResult(t) ? e._endSaving(i, l, o) : (null == a || a.endLoading(), o.resolve()) })).fail((function (e) { null == a || a.endLoading(), o.resolve(e) })), o.always((function () { e._focusEditingCell() })).promise()) : void e._cancelSaving(o)) })).fail(o.reject), o.promise() }, _resetModifiedClassCells: function (e) { var t = this; if ("batch" === Y(this)) { var n = this._columnsController.getVisibleColumns().length; e.forEach((function (e) { var i = e.key, a = t._dataController.getRowIndexByKey(i); if (-1 !== a) for (var o = 0; o < n; o++)t._rowsView._getCellElement(a, o).removeClass("dx-cell-modified") })) } }, _endSaving: function (e, t, n) { var i, a = Y(this), o = this._dataController.dataSource(); "cell" !== a ? (this._resetModifiedClassCells(t), this._resetEditIndices()) : "update" !== (null === (i = t[0]) || void 0 === i ? void 0 : i.type) && this._resetEditIndices(), "popup" === a && this._editPopup && this._editPopup.hide(), null == o || o.endLoading(), this._refreshDataAfterSave(e, t, n) }, _cancelSaving: function (e) { var t = Y(this), n = this._dataController; X(this) ? this.hasChanges() || this._cancelEditDataCore() : this.isCellOrBatchEditMode() ? ("cell" !== t && this._resetEditIndices(), n.updateItems()) : this._focusEditingCell(), this.executeAction("onSaved", { changes: [] }), this._resolveAfterSave(e) }, _refreshDataAfterSave: function (e, t, n) { var i = this, a = this._dataController, o = this.option("editing.refreshMode"), s = "reshape" !== o && "repaint" !== o; s || a.push(e), (0, S.when)(a.refresh({ selection: s, reload: s, load: "reshape" === o, changesOnly: this.option("repaintChangesOnly") })).always((function () { i._fireSaveEditDataEvents(t) })).done((function () { i._resolveAfterSave(n) })).fail((function (e) { i._resolveAfterSave(n, { error: e }) })) }, isSaving: function () { return this._saving }, _updateEditColumn: function () { var e = this._isEditColumnVisible(), t = "dx-command-edit" + (this.option("editing.useIcons") ? " dx-command-edit-with-icons" : ""); this._columnsController.addCommandColumn({ type: "buttons", command: "edit", visible: e, cssClass: t, width: "auto", alignment: "center", cellTemplate: this._getEditCommandCellTemplate(), fixedPosition: "right" }), this._columnsController.columnOption("command:edit", { visible: e, cssClass: t }) }, _isEditColumnVisible: function () { var e = this.option("editing"); if (e) { var t = !1; switch (Y(this)) { case "row": t = e.allowUpdating || e.allowAdding; break; case "form": case "popup": t = e.allowUpdating }return e.allowDeleting || t } }, _updateEditButtons: function () { var e = this.getView("headerPanel"), t = this.hasChanges(); e && (e.setToolbarItemDisabled("saveButton", !t), e.setToolbarItemDisabled("revertButton", !t)) }, _applyModified: function (e) { e && e.addClass("dx-cell-modified") }, _beforeCloseEditCellInBatchMode: function () { }, cancelEditData: function () { var e = this.getChanges(), t = { cancel: !1, changes: e }; this.executeAction("onEditCanceling", t), t.cancel || (this._cancelEditDataCore(), this.executeAction("onEditCanceled", { changes: e })) }, _cancelEditDataCore: function () { var e = Y(this), t = this._getVisibleEditRowIndex(), n = this._dataController; this._beforeCancelEditData(), this.init(), this.resetChanges(), this._resetEditColumnName(), this._resetEditRowKey(), -1 !== L.indexOf(e) && t >= 0 ? n.updateItems({ changeType: "update", rowIndices: [t, t + 1] }) : n.updateItems({ repaintChangesOnly: this.option("repaintChangesOnly") }), "popup" === e && this._hideEditPopup() }, _hideEditPopup: function () { this._editPopup && this._editPopup.option("visible", !1) }, hasEditData: function () { return this.hasChanges() }, closeEditCell: function (e, t) { var n = this, i = (0, S.when)(), a = this._getVisibleEditRowIndex(); return X(this) || (i = (0, S.Deferred)(), this.executeOperation(i, (function () { n._closeEditCellCore(e, a, t), i.resolve() }))), i.promise() }, _closeEditCellCore: function (e, t, n) { var i = this, a = Y(i), o = i._dataController; if ("cell" === a && i.hasChanges()) n || i.saveEditData().done((function (e) { i.hasChanges() || i.closeEditCell(!!e) })); else if (t >= 0) { var s = [t]; this._resetEditRowKey(), i._resetEditColumnName(), i._beforeCloseEditCellInBatchMode(s), e || o.updateItems({ changeType: "update", rowIndices: s }) } }, update: function (e) { var t = this._dataController; t && this._pageIndex !== t.pageIndex() && ("refresh" === e && this.refresh(!0), this._pageIndex = t.pageIndex()), this._updateEditButtons() }, _getRowIndicesForCascadeUpdating: function (e, t) { return t ? [] : [e.rowIndex] }, addDeferred: function (e) { var t = this; this._deferreds.indexOf(e) < 0 && (this._deferreds.push(e), e.always((function () { var n = t._deferreds.indexOf(e); n >= 0 && t._deferreds.splice(n, 1) }))) }, _prepareChange: function (e, t, n) { var i, o = this, s = {}, r = null === (i = e.row) || void 0 === i ? void 0 : i.data, l = e.key, c = (0, a.default)(e.cellElement), h = Y(o), f = new S.Deferred; void 0 !== l && ("batch" === h && o._applyModified(c, e), e.value = t, (0, S.fromPromise)(e.column.setCellValue(s, t, (0, u.extend)(!0, {}, r), n)).done((function () { f.resolve({ data: s, key: l, oldData: r, type: "update" }) })).fail(U(f)).fail((function (e) { return o._fireDataErrorOccurred(e) })), (0, d.isDefined)(n) && e.column.displayValueMap && (e.column.displayValueMap[t] = n), o._updateRowValues(e), o.addDeferred(f)); return f }, _updateRowValues: function (e) { if (e.values) { var t = this._dataController, n = t.getRowIndexByKey(e.key), i = t.getVisibleRows()[n]; i && (e.values = i.values), e.values[e.columnIndex] = e.value } }, updateFieldValue: function (e, t, n, i) { var a = this, o = e.key, s = new S.Deferred; return void 0 === o && this._dataController.fireError("E1043"), e.column.setCellValue ? this._prepareChange(e, t, n).done((function (t) { (0, S.when)(a._applyChange(e, t, i)).always((function () { s.resolve() })) })) : s.resolve(), s.promise() }, _focusPreviousEditingCellIfNeed: function (e) { if (this.hasEditData() && !this.isEditCell(e.rowIndex, e.columnIndex)) return this._focusEditingCell(), this._updateEditRow(e.row, !0), !0 }, _needUpdateRow: function (e) { var t = this._columnsController.getVisibleColumns(); e || (e = this._getEditColumn()); var n = e && e.setCellValue !== e.defaultSetCellValue, i = t.some((function (e) { return e.calculateCellValue !== e.defaultCalculateCellValue })); return n || i }, _applyChange: function (e, t, n) { var i = Y(this), a = e.column.setCellValue !== e.column.defaultSetCellValue, o = e.column.showEditorAlways, s = "cell" === i && e.row && !e.row.isNewRow; if (o && !n && s && this.hasEditData() && !this.isEditCell(e.rowIndex, e.columnIndex)) return this._focusEditingCell(), void this._updateEditRow(e.row, !0, a); if (this._addChange(t, e.row), this._updateEditButtons(), o && !n) { if (s) return this._setEditRowKey(e.row.key, !0), this._setEditColumnNameByIndex(e.columnIndex, !0), this.saveEditData(); "batch" === i && (n = this._needUpdateRow(e.column)) } var r = e.row; r && (n || a ? this._updateEditRow(r, n, a) : r.update && r.update()) }, _updateEditRowCore: function (e, t, n) { var i = this._editForm; "popup" === Y(this) ? this.option("repaintChangesOnly") ? e.update && e.update(e) : i && (this._updateEditFormDeferred = (new S.Deferred).done((function () { return i.repaint() })), this._updateLockCount || this._updateEditFormDeferred.resolve()) : this._dataController.updateItems({ changeType: "update", rowIndices: this._getRowIndicesForCascadeUpdating(e, t) }) }, _endUpdateCore: function () { this._updateEditFormDeferred && this._updateEditFormDeferred.resolve() }, _updateEditRow: function (e, t, n) { var i = this; if (t || !X(i)) i._updateEditRowCore(e, !t, n), t || i._focusEditingCell(); else { var s = new S.Deferred; i.addDeferred(s), setTimeout((function () { var t = (0, a.default)(o.default.getActiveElement()), r = i._rowsView.getCellIndex(t, e.rowIndex), l = t.get(0), d = m.default.getSelectionRange(l); if (i._updateEditRowCore(e, !1, n), r >= 0) { var c = i._rowsView._getCellElement(e.rowIndex, r); i._delayedInputFocus(c, (function () { setTimeout((function () { l = o.default.getActiveElement(), d.selectionStart >= 0 && m.default.setSelectionRange(l, d) })) })) } s.resolve() })) } }, _addChange: function (e, t) { var n = R(this.getChanges()), i = m.default.getIndexByKey(e.key, n); i < 0 && (i = n.length, this._addInternalData({ key: e.key, oldData: e.oldData }), delete e.oldData, n.push(e)); var a = M({}, n[i]); return a && (e.data && (a.data = (0, _.createObjectWithChanges)(a.data, e.data)), a.type && e.data || !e.type || (a.type = e.type), t && (t.oldData = this._getOldData(t.key), t.data = (0, _.createObjectWithChanges)(t.data, e.data))), n[i] = a, this._silentOption("editing.changes", n), i }, _getFormEditItemTemplate: function (t, n) { return n.editCellTemplate || e(this) }, renderFormEditTemplate: function (e, t, n, i, o) { var r = this, l = (0, a.default)(i), d = t.column, c = function (e) { var t = e.column; return e.isCustomEditorType ? e.editorType : t.formItem && t.formItem.editorType }(t), h = null == e ? void 0 : e.row.data, f = (0, u.extend)({}, e, { data: h, cellElement: null, isOnForm: !0, item: t, column: (0, u.extend)({}, d, { editorType: c, editorOptions: t.editorOptions }), id: n.getItemID(t.name || t.dataField), columnIndex: d.index, setValue: !o && d.allowEditing && function (e) { r.updateFieldValue(f, e) } }); f.value = d.calculateCellValue(h); var p = r._getFormEditItemTemplate.bind(r)(f, d); return r._rowsView.renderTemplate(l, p, f, !!l.closest((0, s.getWindow)().document).length).done((function () { r._rowsView._updateCell(l, f) })), f }, getFormEditorTemplate: function (e, t) { var n = this, i = this.component.columnOption(t.dataField); return function (o, s) { var r = (0, a.default)(s); e.row.watch && e.row.watch((function () { return i.selector(e.row.data) }), (function () { var i, a = r.find(".dx-widget").first(), s = a.data("dxValidator"), l = null === (i = s) || void 0 === i ? void 0 : i.option(); r.contents().remove(), e = n.renderFormEditTemplate.bind(n)(e, t, o.component, r), s = (a = r.find(".dx-widget").first()).data("dxValidator"), l && !s && a.dxValidator({ validationRules: l.validationRules, validationGroup: l.validationGroup, dataGetter: l.dataGetter }) })), e = n.renderFormEditTemplate.bind(n)(e, t, o.component, r) } }, getEditFormOptions: function (e) { var t = this.option("editing.form.customizeItem"), n = this.addWidgetPrefix("edit-form-item"), i = this.option("editing.form.items"), a = {}, o = this; if (i) !function e(t, n) { t.forEach((function (t) { t.items || t.tabs ? e(t.items || t.tabs, n) : n(t) })) }(i, (function (e) { var t = (null == e ? void 0 : e.name) || (null == e ? void 0 : e.dataField); t && (a[t] = !!e.editorType) })); else { var s = this.getController("columns").getColumns(); i = [], (0, c.each)(s, (function (e, t) { t.isBand || t.type || i.push({ column: t, name: t.name, dataField: t.dataField }) })) } return { items: i, formID: "dx-" + new l.default, customizeItem: function (i) { var s, r = i.name || i.dataField; if ((i.column || r) && (s = i.column || o._columnsController.columnOption(i.name ? "name:" + i.name : "dataField:" + i.dataField)), s) { i.label = i.label || {}, i.label.text = i.label.text || s.caption, i.template = i.template || o.getFormEditorTemplate(e, i), i.column = s, i.isCustomEditorType = a[r], s.formItem && (0, u.extend)(i, s.formItem), void 0 === i.isRequired && s.validationRules && (i.isRequired = s.validationRules.some((function (e) { return "required" === e.type })), i.validationRules = []); var l = !(0, d.isDefined)(i.visible) || i.visible; !o._firstFormItem && l && (o._firstFormItem = i) } t && t.call(this, i), i.cssClass = (0, d.isString)(i.cssClass) ? i.cssClass + " " + n : n } } }, getEditFormTemplate: function () { var e = this; return function (t, n, i) { var o = e.option("editing.form"), s = e.getEditFormOptions(n); if (e._firstFormItem = void 0, e._editForm = e._createComponent((0, a.default)("<div>").appendTo(t), k.default, (0, u.extend)({}, o, s)), !i) { var r = (0, a.default)("<div>").addClass(e.addWidgetPrefix("form-buttons-container")).appendTo(t); e._createComponent((0, a.default)("<div>").appendTo(r), x.default, e._getSaveButtonConfig()), e._createComponent((0, a.default)("<div>").appendTo(r), x.default, e._getCancelButtonConfig()) } e._editForm.on("contentReady", (function () { e._editPopup && e._editPopup.repaint() })) } }, getColumnTemplate: function (t) { var n, i, a = this, o = t.column, s = t.row && t.row.rowIndex, r = X(a), l = a.isEditRow(s), d = a.isEditCell(s, t.columnIndex); !(o.showEditorAlways || o.setCellValue && (l && o.allowEditing || d)) || "data" !== t.rowType && "detailAdaptive" !== t.rowType || o.command ? "detail" === o.command && "detail" === t.rowType && l && (n = a.getEditFormTemplate(t)) : (((a.allowUpdating(t) || l) && o.allowEditing || d) && (r && l || !r) && (o.showEditorAlways && !r && (i = { cancel: !1, key: t.row.isNewRow ? void 0 : t.row.key, data: t.row.data, column: o }, a._isEditingStart(i)), i && i.cancel || (t.setValue = function (e, n) { a.updateFieldValue(t, e, n) })), n = o.editCellTemplate || e(a)); return n }, _createButton: function (e, t, n) { var i = $[t.name], o = this.option("editing.useIcons"), s = (0, a.default)("<a>").attr("href", "#").addClass("dx-link").addClass(t.cssClass); if (t.template) this._rowsView.renderTemplate(e, t.template, n, !0); else { if (o && i || t.icon) { i = t.icon || i; var l = D.getImageSourceType(i); "image" === l || "svg" === l ? s = D.getImageContainer(i).addClass(t.cssClass) : s.addClass("dx-icon" + ("dxIcon" === l ? "-" : " ") + i).attr("title", t.text), s.addClass("dx-link-icon"), e.addClass("dx-command-edit-with-icons"); var c = this.getButtonLocalizationNames()[t.name]; c && s.attr("aria-label", w.default.format(c)) } else s.text(t.text); (0, d.isDefined)(t.hint) && s.attr("title", t.hint), r.default.on(s, (0, v.addNamespace)("click", "dxDataGridEditing"), this.createAction((function (e) { t.onClick.call(t, (0, u.extend)({}, e, { row: n.row, column: n.column })), e.event.preventDefault(), e.event.stopPropagation() }))), e.append(s, "&nbsp;") } }, getButtonLocalizationNames: function () { return { edit: "dxDataGrid-editingEditRow", save: "dxDataGrid-editingSaveRowChanges", delete: "dxDataGrid-editingDeleteRow", undelete: "dxDataGrid-editingUndeleteRow", cancel: "dxDataGrid-editingCancelRowChanges" } }, prepareEditButtons: function (e) { var t = this, n = t.option("editing") || {}, i = t.option("editing.texts") || {}, o = { revert: i.cancelAllChanges, save: i.saveAllChanges, addRow: i.addRow }, s = { revert: "cancel", save: "save", addRow: "addrow" }, r = [], l = function (n, i, r) { var l = s[n], d = o[n], c = ("save" === l || "cancel" === l) && !t.hasChanges(); return { widget: "dxButton", options: { onInitialized: function (n) { (0, a.default)(n.element).addClass(e._getToolbarButtonClass("dx-edit-button " + t.addWidgetPrefix(l) + "-button")) }, icon: "edit-button-" + l, disabled: c, onClick: function () { setTimeout((function () { t[i]() })) }, text: d, hint: d }, showText: "inMenu", name: n + "Button", location: "after", locateInMenu: "auto", sortIndex: r } }; return n.allowAdding && r.push(l("addRow", "addRow", 20)), (n.allowUpdating || n.allowAdding || n.allowDeleting) && "batch" === Y(t) && (r.push(l("save", "saveEditData", 21)), r.push(l("revert", "cancelEditData", 22))), r }, highlightDataCell: function (e, t) { this.isCellModified(t) && t.column.setCellValue && e.addClass("dx-cell-modified") }, _afterInsertRow: function () { }, _beforeSaveEditData: function (e) { if (e && !(0, d.isDefined)(e.key) && (0, d.isDefined)(e.type)) return !0 }, _afterSaveEditData: function () { }, _beforeCancelEditData: function () { }, _allowEditAction: function (e, t) { var n = this.option("editing." + e); return (0, d.isFunction)(n) && (n = n({ component: this.component, row: t.row })), n }, allowUpdating: function (e, t) { var n = this.option("editing.startEditAction") || "click", i = !(arguments.length > 1) || (n === t || "down" === t); return i && this._allowEditAction("allowUpdating", e) }, allowDeleting: function (e) { return this._allowEditAction("allowDeleting", e) }, isCellModified: function (e) { var t = e.columnIndex, n = e.row && (e.row.isNewRow ? e.row.values : e.row.modifiedValues); return !!n && void 0 !== n[t] } } }()) }, extenders: { controllers: { data: { init: function () { this._editingController = this.getController("editing"), this.callBase() }, reload: function (e, t) { return !t && this._editingController.refresh(), this.callBase.apply(this, arguments) }, repaintRows: function () { if (!this.getController("editing").isSaving()) return this.callBase.apply(this, arguments) }, _updateEditRow: function (e) { var t = this._editingController, n = this.option("editing.editRowKey"), i = e[m.default.getIndexByKey(n, e)]; i && (i.isEditing = !0, "form" === t.getEditMode() && (i.rowType = "detail")) }, _updateItemsCore: function (e) { this.callBase(e), this._updateEditRow(this.items()) }, _applyChangeUpdate: function (e) { this._updateEditRow(e.items), this.callBase(e) }, _applyChangesOnly: function (e) { this._updateEditRow(e.items), this.callBase(e) }, _processItems: function (e, t) { return e = this._editingController.processItems(e, t), this.callBase(e, t) }, _processDataItem: function (e, t) { return this._editingController.processDataItem(e, t, this.generateDataValues), this.callBase(e, t) }, _processItem: function (e, t) { return (e = this.callBase(e, t)).isNewRow && (t.dataIndex--, delete e.dataIndex), e }, _getChangedColumnIndices: function (e, t, n, i) { var a = this.getController("editing"), o = a.isRowEditMode(); if (!(e.isNewRow !== t.isNewRow || e.removed !== t.removed || o && e.isEditing !== t.isEditing)) return this.callBase.apply(this, arguments) }, _isCellChanged: function (e, t, n, i, a) { var o = this.getController("editing"), s = e.cells && e.cells[i], r = o && o.isEditCell(n, i); return (!a || !r) && (!(!s || !s.column || s.column.showEditorAlways || s.isEditing === r) || this.callBase.apply(this, arguments)) } } }, views: { rowsView: { init: function () { this.callBase(), this._editingController = this.getController("editing") }, getCellElements: function (e) { var t = this.callBase(e), n = this._editingController, i = n.getEditForm(); return n.getEditFormRowIndex() === e && t && i ? i.$element().find("." + this.addWidgetPrefix("edit-form-item") + ", .dx-button") : t }, getCellIndex: function (e, t) { if (!e.is("td") && t >= 0) { var n = this.getCellElements(t), i = -1; return (0, c.each)(n, (function (t, n) { (0, a.default)(n).find(e).length && (i = t) })), i } return this.callBase.apply(this, arguments) }, _getVisibleColumnIndex: function (e, t, n) { var i = this._editingController.getEditFormRowIndex(); if (i === t && (0, d.isString)(n)) { var a = this._columnsController.columnOption(n); return this._getEditFormEditorVisibleIndex(e, a) } return this.callBase.apply(this, arguments) }, _getEditFormEditorVisibleIndex: function (e, t) { var n = -1; return (0, c.each)(e, (function (e, i) { var o = (0, a.default)(i).find(".dx-field-item-content").data("dx-form-item"); if (o && o.column && t && o.column.index === t.index) return n = e, !1 })), n }, publicMethods: function () { return this.callBase().concat(["cellValue"]) }, _getCellTemplate: function (e) { return this._editingController.getColumnTemplate(e) || this.callBase(e) }, _isNativeClick: function () { return (C.default.real().ios || C.default.real().android) && this.option("editing.allowUpdating") }, _createTable: function () { var e = this, t = e.callBase.apply(e, arguments); return !X(e) && e.option("editing.allowUpdating") && r.default.on(t, (0, v.addNamespace)(I.default.name, "dxDataGridRowsView"), "td:not(.dx-editor-cell)", e.createAction((function () { var t = e._editingController; t.isEditing() && t.closeEditCell() }))), t }, _createRow: function (e) { var t = this.callBase(e); if (e) { var n = this._editingController.isEditRow(e.rowIndex), i = !!e.removed, a = !!e.isNewRow, o = !!e.modified; "batch" === Y(this) ? i && t.addClass("dx-row-removed") : n && t.addClass("dx-edit-row"), a && t.addClass("dx-row-inserted"), o && t.addClass("dx-row-modified"), (n || a || i) && t.removeClass("dx-selection"), n && "detail" === e.rowType && t.addClass(this.addWidgetPrefix("edit-form")) } return t }, _getColumnIndexByElement: function (e) { for (var t = e.closest("table"), n = this.getTableElements(); t.length && !n.filter(t).length;)e = t.closest("td"), t = e.closest("table"); return this._getColumnIndexByElementCore(e) }, _getColumnIndexByElementCore: function (e) { var t = e.closest(".dx-row> td:not(.dx-master-detail-cell)"); return this.getCellIndex(t) }, _editCellByClick: function (e, t) { var n = this._editingController, i = (0, a.default)(e.event.target), o = this._getColumnIndexByElement(i), s = this._dataController.items()[e.rowIndex], r = n.allowUpdating({ row: s }, t) || s && s.isNewRow, l = this._columnsController.getVisibleColumns()[o], d = r && l && (l.allowEditing || n.isEditCell(e.rowIndex, o)), c = this.option("editing.startEditAction") || "click"; return "down" === t ? l && l.showEditorAlways && d && n.editCell(e.rowIndex, o) : ("click" !== t || "dblClick" !== c || n.isEditCell(e.rowIndex, o) || n.closeEditCell(), d && t === c ? n.editCell(e.rowIndex, o) || n.isEditRow(e.rowIndex) : void 0) }, _rowPointerDown: function (e) { var t = this; this._pointerDownTimeout = setTimeout((function () { t._editCellByClick(e, "down") })) }, _rowClick: function (e) { var t = (0, a.default)(e.rowElement).hasClass(this.addWidgetPrefix("edit-form")); e.event.targetComponent = this.component, this._editCellByClick(e, "click") || t || this.callBase.apply(this, arguments) }, _rowDblClick: function (e) { this._editCellByClick(e, "dblClick") || this.callBase.apply(this, arguments) }, _cellPrepared: function (e, t) { var n = this._editingController, i = !!t.column.command, a = t.setValue, o = n.isEditRow(t.rowIndex), s = Z(o, t); if (J(o, t)) { var r = t.column.alignment; e.toggleClass(this.addWidgetPrefix("readonly"), !a).toggleClass("dx-cell-focus-disabled", !a), r && e.find("input:not([type='hidden'])").first().css("textAlign", r) } s && this._editCellPrepared(e), t.column && !i && n.highlightDataCell(e, t), this.callBase.apply(this, arguments) }, _editCellPrepared: function (e) { }, _formItemPrepared: function () { }, _isFormItem: function (e) { var t = "detail" === e.rowType || "detailAdaptive" === e.rowType, n = "data" === e.rowType && "popup" === Y(this); return (t || n) && e.item }, _updateCell: function (e, t) { this._isFormItem(t) ? this._formItemPrepared(t, e) : this.callBase(e, t) }, _update: function (e) { this.callBase(e), "updateSelection" === e.changeType && this.getTableElements().children("tbody").children(".dx-edit-row").removeClass("dx-selection") }, _getCellOptions: function (e) { var t = this.callBase(e); return t.isEditing = this._editingController.isEditCell(t.rowIndex, t.columnIndex), t }, _createCell: function (e) { var t = this.callBase(e), n = this._editingController.isEditRow(e.rowIndex); return J(n, e) && t.addClass("dx-editor-cell"), t }, _renderCellContent: function (e, t) { "data" === t.rowType && "popup" === Y(this) && !1 === t.row.visible || this.callBase.apply(this, arguments) }, cellValue: function (e, t, n, i) { var a = this.getCellOptions(e, t); if (a) { if (void 0 === n) return a.value; this._editingController.updateFieldValue(a, n, i, !0) } }, dispose: function () { this.callBase.apply(this, arguments), clearTimeout(this._pointerDownTimeout) }, _renderCore: function () { this.callBase.apply(this, arguments), this._editingController._focusEditorIfNeed() } }, headerPanel: { _getToolbarItems: function () { var e = this.callBase(); return this.getController("editing").prepareEditButtons(this).concat(e) }, optionChanged: function (e) { var t = e.fullName; switch (e.name) { case "editing": t && !["editing.popup", "editing.changes", "editing.editColumnName", "editing.editRowKey"].some((function (e) { return e === t })) && this._invalidate(), this.callBase(e); break; default: this.callBase(e) } }, isVisible: function () { var e = this.getController("editing").option("editing"); return this.callBase() || e && (e.allowAdding || (e.allowUpdating || e.allowDeleting) && "batch" === e.mode) } } } } }; t.default = Q, e.exports = t.default }, function (e, t, n) { "use strict"; t.confirm = t.alert = t.custom = t.title = t.FakeDialogComponent = void 0; var i = w(n(2)), a = w(n(97)), o = w(n(98)), s = w(n(12)), r = w(n(27)), l = n(28), d = n(6), c = n(0), u = n(3), h = n(1), f = n(7), p = w(n(5)), g = n(74), m = w(n(10)), _ = w(n(17)), v = w(n(47)), y = n(4); function w(e) { return e && e.__esModule ? e : { default: e } } var x = (0, f.getWindow)(), b = { text: "OK", onClick: function () { return !0 } }, C = "".concat("dx-dialog", "-wrapper"), k = "".concat("dx-dialog", "-root"), I = "".concat("dx-dialog", "-content"), S = "".concat("dx-dialog", "-message"), E = "".concat("dx-dialog", "-buttons"), D = "".concat("dx-dialog", "-button"), T = a.default.inherit({ ctor: function (e, t) { this.callBase(t) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: { platform: "ios" }, options: { width: 276 } }, { device: { platform: "android" }, options: { lWidth: "60%", pWidth: "80%" } }]) } }); t.FakeDialogComponent = T; t.title = ""; var A = function (e) { var t = new d.Deferred, n = (new T).option(); e = (0, h.extend)(n, e); var a = (0, i.default)("<div>").addClass("dx-dialog").appendTo((0, g.value)()), f = "messageHtml" in e; "message" in e && _.default.log("W1013"); var m = String(f ? e.messageHtml : e.message), w = (0, i.default)("<div>").addClass(S).html(m), A = []; (0, u.each)(e.buttons || [b], (function () { var e = new o.default(this.onClick, { context: O }); A.push({ toolbar: "bottom", location: s.default.current().android ? "after" : "center", widget: "dxButton", options: (0, h.extend)({}, this, { onClick: function () { var t = e.execute.apply(e, arguments); B(t) } }) }) })); var O = new v.default(a, (0, h.extend)({ title: e.title || "", showTitle: (0, y.ensureDefined)(e.showTitle, !0), dragEnabled: (0, y.ensureDefined)(e.dragEnabled, !0), height: "auto", width: function () { var t = ((0, i.default)(x).height() > (0, i.default)(x).width() ? "p" : "l") + "Width", n = Object.prototype.hasOwnProperty.call(e, t) ? e[t] : e.width; return (0, c.isFunction)(n) ? n() : n }, showCloseButton: e.showCloseButton || !1, ignoreChildEvents: !1, onContentReady: function (e) { e.component.$content().addClass(I).append(w) }, onShowing: function (e) { e.component.bottomToolbar().addClass(E).find(".".concat("dx-button")).addClass(D), (0, l.resetActiveElement)() }, onShown: function (e) { var t = e.component.bottomToolbar().find(".".concat("dx-button")).first(); p.default.trigger(t, "focus") }, onHiding: function () { t.reject() }, toolbarItems: A, animation: { show: { type: "pop", duration: 400 }, hide: { type: "pop", duration: 400, to: { opacity: 0, scale: 0 }, from: { opacity: 1, scale: 1 } } }, rtlEnabled: (0, r.default)().rtlEnabled, boundaryOffset: { h: 10, v: 0 } }, e.popupOptions)); function B(e) { t.resolve(e), O.hide().done((function () { O.$element().remove() })) } return O._wrapper().addClass(C), e.position && O.option("position", e.position), O._wrapper().addClass(k), { show: function () { return O.show(), t.promise() }, hide: B } }; t.custom = A; t.alert = function (e, t, n) { var i = (0, c.isPlainObject)(e) ? e : { title: t, messageHtml: e, showTitle: n, dragEnabled: n }; return A(i).show() }; t.confirm = function (e, t, n) { var i = (0, c.isPlainObject)(e) ? e : { title: t, messageHtml: e, showTitle: n, buttons: [{ text: m.default.format("Yes"), onClick: function () { return !0 } }, { text: m.default.format("No"), onClick: function () { return !1 } }], dragEnabled: n }; return A(i).show() } }, function (e, t, n) { "use strict"; t.default = void 0; var i = T(n(2)), a = T(n(5)), o = T(n(11)), s = T(n(36)), r = n(4), l = n(0), d = n(3), c = n(14), u = n(1), h = n(31), f = T(n(15)), p = n(59), g = n(18), m = T(n(10)), _ = T(n(29)), v = T(n(71)), y = n(7), w = T(n(82)), x = T(n(240)), b = T(n(450)), C = T(n(85)), k = n(6), I = n(34), S = T(n(457)); n(459); var E = n(241); n(243), n(462); var D = n(242); function T(e) { return e && e.__esModule ? e : { default: e } } function A(e) { return function (e) { if (Array.isArray(e)) return O(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return O(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return O(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function O(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var B = ["items", "isRequired", "validationRules", "visible"], M = _.default.inherit({ _init: function () { this.callBase(), this._cachedColCountOptions = [], this._itemsRunTimeInfo = new x.default, this._groupsColCount = [], this._attachSyncSubscriptions() }, _initOptions: function (e) { "screenByWidth" in e || (e.screenByWidth = y.defaultScreenFactorFunc), this.callBase(e) }, _getDefaultOptions: function () { return (0, u.extend)(this.callBase(), { formID: "dx-" + new s.default, formData: {}, colCount: 1, screenByWidth: null, colCountByScreen: void 0, labelLocation: "left", readOnly: !1, onFieldDataChanged: null, customizeItem: null, onEditorEnterKey: null, minColWidth: 200, alignItemLabels: !0, alignItemLabelsInAllGroups: !0, alignRootItemLabels: !0, showColonAfterLabel: !0, showRequiredMark: !0, showOptionalMark: !1, requiredMark: "*", optionalMark: m.default.format("dxForm-optionalMark"), requiredMessage: m.default.getFormatter("dxForm-requiredMessage"), showValidationSummary: !1, items: void 0, scrollingEnabled: !1, validationGroup: void 0, stylingMode: void 0 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return (0, I.isMaterial)() }, options: { showColonAfterLabel: !1, labelLocation: "top" } }]) }, _setOptionsByReference: function () { this.callBase(), (0, u.extend)(this._optionsByReference, { formData: !0, validationGroup: !0 }) }, _getGroupColCount: function (e) { return parseInt(e.attr(D.GROUP_COL_COUNT_ATTR)) }, _createHiddenElement: function (e) { this._$hiddenElement = (0, i.default)("<div>").addClass("dx-widget").addClass(D.HIDDEN_LABEL_CLASS).appendTo("body"); var t = e._renderLabel({ text: " ", location: this._labelLocation() }).appendTo(this._$hiddenElement); this._hiddenLabelText = t.find("." + D.FIELD_ITEM_LABEL_TEXT_CLASS)[0] }, _removeHiddenElement: function () { this._$hiddenElement.remove(), this._hiddenLabelText = null }, _getLabelWidthByText: function (e) { return this._hiddenLabelText.innerHTML = e, this._hiddenLabelText.offsetWidth }, _getLabelsSelectorByCol: function (e, t) { return "." + ((t = t || {}).inOneColumn ? D.FIELD_ITEM_CLASS : D.FORM_FIELD_ITEM_COL_CLASS + e) + (t.excludeTabbed ? ":not(." + D.FIELD_ITEM_TAB_CLASS + ")" : "") + ("> ." + D.FIELD_ITEM_LABEL_CLASS + " > ." + D.FIELD_ITEM_LABEL_CONTENT_CLASS) }, _getLabelText: function (e) { var t, n, i = e.children.length, a = ""; for (n = 0; n < i; n++)t = e.children[n], a += (0, h.isEmpty)(t.innerText) ? t.innerHTML : t.innerText; return a }, _applyLabelsWidthByCol: function (e, t, n) { var i, a, o = e.find(this._getLabelsSelectorByCol(t, n)), s = o.length, r = 0; for (a = 0; a < s; a++)(i = this._getLabelWidthByText(this._getLabelText(o[a]))) > r && (r = i); for (a = 0; a < s; a++)o[a].style.width = r + "px" }, _applyLabelsWidth: function (e, t, n, i) { i = n ? 1 : i || this._getGroupColCount(e); var a, o = { excludeTabbed: t, inOneColumn: n }; for (a = 0; a < i; a++)this._applyLabelsWidthByCol(e, a, o) }, _getGroupElementsInColumn: function (e, t, n) { var i = (0, l.isDefined)(n) ? "." + D.GROUP_COL_COUNT_CLASS + n : "", a = "." + D.FORM_FIELD_ITEM_COL_CLASS + t + " > ." + D.FIELD_ITEM_CONTENT_CLASS + " > ." + D.FORM_GROUP_CLASS + i; return e.find(a) }, _applyLabelsWidthWithGroups: function (e, t, n) { if (!0 === this.option("alignRootItemLabels") && this._alignRootSimpleItems(e, t, n), this.option("alignItemLabelsInAllGroups")) this._applyLabelsWidthWithNestedGroups(e, t, n); else { var i, a = this.$element().find("." + D.FORM_GROUP_CLASS); for (i = 0; i < a.length; i++)this._applyLabelsWidth(a.eq(i), n) } }, _alignRootSimpleItems: function (e, t, n) { for (var i = e.find(".".concat(D.ROOT_SIMPLE_ITEM_CLASS)), a = 0; a < t; a++)this._applyLabelsWidthByCol(i, a, n) }, _applyLabelsWidthWithNestedGroups: function (e, t, n) { var i, a, o, s, r = { excludeTabbed: n }; for (i = 0; i < t; i++)for (s = this._getGroupElementsInColumn(e, i), this._applyLabelsWidthByCol(s, 0, r), a = 0; a < this._groupsColCount.length; a++) { s = this._getGroupElementsInColumn(e, i, this._groupsColCount[a]); var l = this._getGroupColCount(s); for (o = 1; o < l; o++)this._applyLabelsWidthByCol(s, o, r) } }, _labelLocation: function () { return this.option("labelLocation") }, _alignLabelsInColumn: function (e) { var t = e.layoutManager, n = e.inOneColumn, i = e.$container, a = e.excludeTabbed, o = e.items; (0, y.hasWindow)() && "top" !== this._labelLocation() && (this._createHiddenElement(t), n ? this._applyLabelsWidth(i, a, !0) : this._checkGrouping(o) ? this._applyLabelsWidthWithGroups(i, t._getColCount(), a) : this._applyLabelsWidth(i, a, !1, t._getColCount()), this._removeHiddenElement()) }, _prepareFormData: function () { (0, l.isDefined)(this.option("formData")) || this.option("formData", {}) }, _initMarkup: function () { w.default.addGroup(this._getValidationGroup()), this._clearCachedInstances(), this._prepareFormData(), this.$element().addClass(D.FORM_CLASS), this.callBase(), this.setAria("role", "form", this.$element()), this.option("scrollingEnabled") && this._renderScrollable(), this._renderLayout(), this._renderValidationSummary(), this._lastMarkupScreenFactor = this._targetScreenFactor || this._getCurrentScreenFactor() }, _getCurrentScreenFactor: function () { return (0, y.hasWindow)() ? (0, y.getCurrentScreenFactor)(this.option("screenByWidth")) : "lg" }, _clearCachedInstances: function () { this._itemsRunTimeInfo.clear(), this._cachedLayoutManagers = [] }, _alignLabels: function (e, t) { this._alignLabelsInColumn({ $container: this.$element(), layoutManager: e, excludeTabbed: !0, items: this.option("items"), inOneColumn: t }) }, _clean: function () { this.callBase(), this._groupsColCount = [], this._cachedColCountOptions = [], this._lastMarkupScreenFactor = void 0 }, _renderScrollable: function () { var e = this.option("useNativeScrolling"); this._scrollable = new C.default(this.$element(), { useNative: !!e, useSimulatedScrollbar: !e, useKeyboard: !1, direction: "both", bounceEnabled: !1 }) }, _getContent: function () { return this.option("scrollingEnabled") ? this._scrollable.$content() : this.$element() }, _renderValidationSummary: function () { var e = this.$element().find("." + D.FORM_VALIDATION_SUMMARY); if (e.length > 0 && e.remove(), this.option("showValidationSummary")) { var t = (0, i.default)("<div>").addClass(D.FORM_VALIDATION_SUMMARY).appendTo(this._getContent()); this._validationSummary = t.dxValidationSummary({ validationGroup: this._getValidationGroup() }).dxValidationSummary("instance") } }, _prepareItems: function (e, t, n, i) { if (e) { for (var a = [], o = 0; o < e.length; o++) { var s = e[o], r = (0, E.concatPaths)(n, (0, E.createItemPathByIndex)(o, i)), d = this._itemsRunTimeInfo.add({ item: s, itemIndex: o, path: r }); if ((0, l.isString)(s) && (s = { dataField: s }), (0, l.isObject)(s)) { var c = (0, u.extend)({}, s); c.guid = d, this._tryPrepareGroupItem(c), this._tryPrepareTabbedItem(c, r), this._tryPrepareItemTemplate(c), t && (c.cssItemClass = D.FIELD_ITEM_TAB_CLASS), c.items && (c.items = this._prepareItems(c.items, t, r)), a.push(c) } else a.push(s) } return a } }, _tryPrepareGroupItem: function (e) { "group" === e.itemType && (e.alignItemLabels = (0, r.ensureDefined)(e.alignItemLabels, !0), e.template && (e.groupContentTemplate = this._getTemplate(e.template)), e.template = this._itemGroupTemplate.bind(this, e)) }, _tryPrepareTabbedItem: function (e, t) { "tabbed" === e.itemType && (e.template = this._itemTabbedTemplate.bind(this, e), e.tabs = this._prepareItems(e.tabs, !0, t, !0)) }, _tryPrepareItemTemplate: function (e) { e.template && (e.template = this._getTemplate(e.template)) }, _checkGrouping: function (e) { if (e) for (var t = 0; t < e.length; t++) { if ("group" === e[t].itemType) return !0 } }, _renderLayout: function () { var e = this, t = e.option("items"), n = e._getContent(); t = e._prepareItems(t), e._rootLayoutManager = e._renderLayoutManager(t, n, { isRoot: !0, colCount: e.option("colCount"), alignItemLabels: e.option("alignItemLabels"), screenByWidth: this.option("screenByWidth"), colCountByScreen: this.option("colCountByScreen"), onLayoutChanged: function (t) { e._alignLabels.bind(e)(e._rootLayoutManager, t) }, onContentReady: function (t) { e._alignLabels(t.component, t.component.isSingleColumnMode()) } }) }, _tryGetItemsForTemplate: function (e) { return e.items || [] }, _itemTabbedTemplate: function (e, t, n) { var a = this, o = (0, i.default)("<div>").appendTo(n), s = (0, u.extend)({}, e.tabPanelOptions, { dataSource: e.tabs, onItemRendered: function (e) { return (0, p.triggerShownEvent)(e.itemElement) }, itemTemplate: function (e, t, n) { var o = (0, i.default)(n), s = (0, r.ensureDefined)(e.alignItemLabels, !0), l = a._renderLayoutManager(a._tryGetItemsForTemplate(e), o, { colCount: e.colCount, alignItemLabels: s, screenByWidth: a.option("screenByWidth"), colCountByScreen: e.colCountByScreen, cssItemClass: e.cssItemClass, onLayoutChanged: function (t) { a._alignLabelsInColumn({ $container: o, layoutManager: l, items: e.items, inOneColumn: t }) } }); a._itemsRunTimeInfo && a._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid, { layoutManager: l }), s && a._alignLabelsInColumn({ $container: o, layoutManager: l, items: e.items, inOneColumn: l.isSingleColumnMode() }) } }), l = function (e, t) { Array.isArray(e) && e.forEach((function (e) { return a._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid, { widgetInstance: t }) })) }, d = this._createComponent(o, b.default, s); (0, i.default)(n).parent().addClass(D.FIELD_ITEM_CONTENT_HAS_TABS_CLASS), d.on("optionChanged", (function (e) { "dataSource" === e.fullName && l(e.value, e.component) })), l([{ guid: e.guid }].concat(A(e.tabs)), d) }, _itemGroupTemplate: function (e, t, n) { var a, o, s = (0, i.default)("<div>").toggleClass(D.FORM_GROUP_WITH_CAPTION_CLASS, (0, l.isDefined)(e.caption) && e.caption.length).addClass(D.FORM_GROUP_CLASS).appendTo(n); (0, i.default)(n).parent().addClass(D.FIELD_ITEM_CONTENT_HAS_GROUP_CLASS), e.caption && (0, i.default)("<span>").addClass(D.FORM_GROUP_CAPTION_CLASS).text(e.caption).appendTo(s); var r = (0, i.default)("<div>").addClass(D.FORM_GROUP_CONTENT_CLASS).appendTo(s); if (e.groupContentTemplate) { var d = { formData: this.option("formData"), component: this }; e.groupContentTemplate.render({ model: d, container: (0, g.getPublicElement)(r) }) } else o = this._renderLayoutManager(this._tryGetItemsForTemplate(e), r, { colCount: e.colCount, colCountByScreen: e.colCountByScreen, alignItemLabels: e.alignItemLabels, cssItemClass: e.cssItemClass }), this._itemsRunTimeInfo && this._itemsRunTimeInfo.extendRunTimeItemInfoByKey(e.guid, { layoutManager: o }), a = o._getColCount(), -1 === (0, c.inArray)(a, this._groupsColCount) && this._groupsColCount.push(a), s.addClass(D.GROUP_COL_COUNT_CLASS + a), s.attr(D.GROUP_COL_COUNT_ATTR, a) }, _renderLayoutManager: function (e, t, n) { var a = (0, i.default)("<div>"), o = this, s = o._getLayoutManagerConfig(e, n), r = { lg: n.colCount, md: n.colCount, sm: n.colCount, xs: 1 }; o._cachedColCountOptions.push({ colCountByScreen: (0, u.extend)(r, n.colCountByScreen) }), a.appendTo(t); var l = o._createComponent(a, "dxLayoutManager", s); return l.on("autoColCountChanged", (function () { o._refresh() })), o._cachedLayoutManagers.push(l), l }, _getValidationGroup: function () { return this.option("validationGroup") || this }, _getLayoutManagerConfig: function (e, t) { var n = this, i = { form: this, isRoot: t.isRoot, validationGroup: this._getValidationGroup(), showRequiredMark: this.option("showRequiredMark"), showOptionalMark: this.option("showOptionalMark"), requiredMark: this.option("requiredMark"), optionalMark: this.option("optionalMark"), requiredMessage: this.option("requiredMessage"), screenByWidth: this.option("screenByWidth"), layoutData: this.option("formData"), labelLocation: this.option("labelLocation"), customizeItem: this.option("customizeItem"), minColWidth: this.option("minColWidth"), showColonAfterLabel: this.option("showColonAfterLabel"), onEditorEnterKey: this.option("onEditorEnterKey"), onFieldDataChanged: function (e) { n._isDataUpdating || n._triggerOnFieldDataChanged(e) }, validationBoundary: this.option("scrollingEnabled") ? this.$element() : void 0 }; return (0, u.extend)(i, { items: e, onContentReady: function (e) { n._itemsRunTimeInfo.addItemsOrExtendFrom(e.component._itemsRunTimeInfo), t.onContentReady && t.onContentReady(e) }, onDisposing: function (e) { var t = e.component.getItemsRunTimeInfo(); n._itemsRunTimeInfo.removeItemsByItems(t) }, colCount: t.colCount, alignItemLabels: t.alignItemLabels, cssItemClass: t.cssItemClass, colCountByScreen: t.colCountByScreen, onLayoutChanged: t.onLayoutChanged, width: t.width }) }, _createComponent: function (e, t, n) { return n = n || {}, this._extendConfig(n, { readOnly: this.option("readOnly") }), this.callBase(e, t, n) }, _attachSyncSubscriptions: function () { var e = this; e.on("optionChanged", (function (t) { var n = t.fullName; "formData" === n && ((0, l.isDefined)(t.value) || e._options.silent("formData", t.value = {}), e._triggerOnFieldDataChangedByDataSet(t.value)), e._cachedLayoutManagers.length && (0, d.each)(e._cachedLayoutManagers, (function (i, a) { "formData" === n && (e._isDataUpdating = !0, a.option("layoutData", t.value), e._isDataUpdating = !1), "readOnly" !== t.name && "disabled" !== t.name || a.option(n, t.value) })) })) }, _optionChanged: function (e) { var t = this._getRootLevelOfExpectedComplexOption(e.fullName, ["formData", "items"]); if (t) this._customHandlerOfComplexOption(e, t); else switch (e.name) { case "formData": this.option("items") ? (0, l.isEmptyObject)(e.value) && this._resetValues() : this._invalidate(); break; case "items": case "colCount": case "onFieldDataChanged": case "onEditorEnterKey": case "labelLocation": case "alignItemLabels": case "showColonAfterLabel": case "customizeItem": case "alignItemLabelsInAllGroups": case "showRequiredMark": case "showOptionalMark": case "requiredMark": case "optionalMark": case "requiredMessage": case "scrollingEnabled": case "formID": case "colCountByScreen": case "screenByWidth": case "stylingMode": this._invalidate(); break; case "showValidationSummary": this._renderValidationSummary(); break; case "minColWidth": "auto" === this.option("colCount") && this._invalidate(); break; case "alignRootItemLabels": case "readOnly": break; case "width": this.callBase(e), this._rootLayoutManager.option(e.name, e.value), this._alignLabels(this._rootLayoutManager, this._rootLayoutManager.isSingleColumnMode()); break; case "visible": this.callBase(e), e.value && (0, p.triggerShownEvent)(this.$element()); break; case "validationGroup": w.default.removeGroup(e.previousValue || this), this._invalidate(); break; default: this.callBase(e) } }, _getRootLevelOfExpectedComplexOption: function (e, t) { var n, i = e.split("."); if (i.length > 1) { var a, o = i[0]; for (a = 0; a < t.length; a++)-1 !== o.search(t[a]) && (n = t[a]) } return n }, _tryCreateItemOptionAction: function (e, t, n, i, a) { return "tabs" === e && (this._itemsRunTimeInfo.removeItemsByPathStartWith("".concat(a, ".tabs")), n = this._prepareItems(n, !0, a, !0)), (0, S.default)(e, { item: t, value: n, previousValue: i, itemsRunTimeInfo: this._itemsRunTimeInfo }) }, _tryExecuteItemOptionAction: function (e) { return e && e.tryExecute() }, _updateValidationGroupAndSummaryIfNeeded: function (e) { var t = (0, E.getOptionNameFromFullName)(e); B.indexOf(t) > -1 && (w.default.addGroup(this._getValidationGroup()), this.option("showValidationSummary") && this._validationSummary && this._validationSummary._initGroupRegistration()) }, _setLayoutManagerItemOption: function (e, t, n, i) { var a = this; if (this._updateLockCount > 0) { !e._updateLockCount && e.beginUpdate(); var o = this._itemsRunTimeInfo.getKeyByPath(i); this.postponedOperations.add(o, (function () { return !e._disposed && e.endUpdate(), (new k.Deferred).resolve() })) } e.on("contentReady", (function e(t) { if (t.component.off("contentReady", e), (0, E.isFullPathContainsTabs)(i)) { var n = (0, E.tryGetTabPath)(i), o = a._itemsRunTimeInfo.getGroupOrTabLayoutManagerByPath(n); a._alignLabelsInColumn({ items: o.option("items"), layoutManager: o, $container: o.$element(), inOneColumn: o.isSingleColumnMode() }) } else a._alignLabels(a._rootLayoutManager, a._rootLayoutManager.isSingleColumnMode()) })), e.option(t, n), this._updateValidationGroupAndSummaryIfNeeded(t) }, _tryChangeLayoutManagerItemOption: function (e, t) { var n = e.split("."), i = (0, E.getOptionNameFromFullName)(e); if ("items" === i && n.length > 1) { var a = this._getItemPath(n), o = this._itemsRunTimeInfo.getGroupOrTabLayoutManagerByPath(a); if (o) { this._itemsRunTimeInfo.removeItemsByItems(o.getItemsRunTimeInfo()); var s = this._prepareItems(t, !1, a); return this._setLayoutManagerItemOption(o, i, s, a), !0 } } else if (n.length > 2) { var r = n.length - 2, l = this._getItemPath(n.slice(0, r)), d = this._itemsRunTimeInfo.getGroupOrTabLayoutManagerByPath(l); if (d) { var c = (0, E.getFullOptionName)(n[r], i); if ("editorType" === i && d.option(c) !== t) return !1; if ("visible" === i) { var u = this.option((0, E.getFullOptionName)(l, "items")); if (u && u.length) { var h = d.option("items"); u.forEach((function (e, t) { h[t].visibleIndex = e.visibleIndex })) } } return this._setLayoutManagerItemOption(d, c, t, l), !0 } } return !1 }, _tryChangeLayoutManagerItemOptions: function (e, t) { var n, i = this; return this.beginUpdate(), (0, d.each)(t, (function (t, a) { if (!(n = i._tryChangeLayoutManagerItemOption((0, E.getFullOptionName)(e, t), a))) return !1 })), this.endUpdate(), n }, _customHandlerOfComplexOption: function (e, t) { var n = e.fullName.split("."), i = e.value; if ("items" === t) { var a = this._getItemPath(n), o = this.option(a), s = e.fullName.replace(a + ".", ""), r = s.split(".")[0].replace(/\[\d+]/, ""), l = this._tryCreateItemOptionAction(r, o, o[r], e.previousValue, a); if (!this._tryExecuteItemOptionAction(l) && !this._tryChangeLayoutManagerItemOption(e.fullName, i) && o) { this._changeItemOption(o, s, i); var d = this._generateItemsFromData(this.option("items")); this.option("items", d) } } if ("formData" === t) { var c = n.slice(1).join("."), u = this.getEditor(c); u ? u.option("value", i) : this._triggerOnFieldDataChanged({ dataField: c, value: i }) } }, _getItemPath: function (e) { var t, n = e[0]; for (t = 1; t < e.length && -1 !== e[t].search(/items\[\d+]|tabs\[\d+]/); t++)n += "." + e[t]; return n }, _triggerOnFieldDataChanged: function (e) { this._createActionByOption("onFieldDataChanged")(e) }, _triggerOnFieldDataChangedByDataSet: function (e) { var t = this; e && (0, l.isObject)(e) && (0, d.each)(e, (function (e, n) { t._triggerOnFieldDataChanged({ dataField: e, value: n }) })) }, _updateFieldValue: function (e, t) { if ((0, l.isDefined)(this.option("formData"))) { var n = this.getEditor(e); if (this.option("formData." + e, t), n) n.option("value") !== t && n.option("value", t) } }, _generateItemsFromData: function (e) { var t = this.option("formData"), n = []; return !e && (0, l.isDefined)(t) && (0, d.each)(t, (function (e) { n.push({ dataField: e }) })), e && (0, d.each)(e, (function (e, t) { (0, l.isObject)(t) ? n.push(t) : n.push({ dataField: t }) })), n }, _getItemByField: function (e, t) { var n, i = this, a = (0, l.isObject)(e) ? e : i._getFieldParts(e), o = a.fieldName, s = a.fieldPath; return t.length && (0, d.each)(t, (function (e, t) { var a = t.itemType; if (s.length) { var r = s.slice(); t = i._getItemByFieldPath(r, o, t) } else if ("group" === a && !t.caption && !t.name || "tabbed" === a && !t.name) { var l = i._getSubItemField(a); t.items = i._generateItemsFromData(t.items), t = i._getItemByField({ fieldName: o, fieldPath: s }, t[l]) } if ((0, E.isExpectedItem)(t, o)) return n = t, !1 })), n }, _getFieldParts: function (e) { for (var t = e, n = t.indexOf("."), i = []; -1 !== n;)i.push(t.substr(0, n)), n = (t = t.substr(n + 1)).indexOf("."); return { fieldName: t, fieldPath: i.reverse() } }, _getItemByFieldPath: function (e, t, n) { var i, a = n.itemType, o = this._getSubItemField(a), s = "group" === a || "tabbed" === a || n.title; do { if (!s) break; var r = n.name || n.caption || n.title, d = (0, l.isDefined)(r), c = (0, E.getTextWithoutSpaces)(r), u = void 0; if (n[o] = this._generateItemsFromData(n[o]), d && (u = e.pop()), !e.length && (i = this._getItemByField(t, n[o]))) break; (!d || d && c === u) && e.length && (i = this._searchItemInEverySubItem(e, t, n[o])) } while (e.length && !(0, l.isDefined)(i)); return i }, _getSubItemField: function (e) { return "tabbed" === e ? "tabs" : "items" }, _searchItemInEverySubItem: function (e, t, n) { var i, a = this; return (0, d.each)(n, (function (n, o) { if (i = a._getItemByFieldPath(e.slice(), t, o)) return !1 })), i || (i = !1), i }, _changeItemOption: function (e, t, n) { (0, l.isObject)(e) && (e[t] = n) }, _dimensionChanged: function () { var e = this._getCurrentScreenFactor(); this._lastMarkupScreenFactor !== e && (this._isColCountChanged(this._lastMarkupScreenFactor, e) && (this._targetScreenFactor = e, this._refresh(), this._targetScreenFactor = void 0), this._lastMarkupScreenFactor = e) }, _isColCountChanged: function (e, t) { var n = !1; return (0, d.each)(this._cachedColCountOptions, (function (i, a) { if (a.colCountByScreen[e] !== a.colCountByScreen[t]) return n = !0, !1 })), n }, _refresh: function () { a.default.trigger(this.$element().find(".dx-state-focused input, .dx-state-focused textarea"), "change"), this.callBase() }, _resetValues: function () { this._itemsRunTimeInfo.each((function (e, t) { (0, l.isDefined)(t.widgetInstance) && t.widgetInstance instanceof v.default && (t.widgetInstance.reset(), t.widgetInstance.option("isValid", !0)) })), w.default.resetGroup(this._getValidationGroup()) }, _updateData: function (e, t, n) { var i = this, a = n ? t : e; (0, l.isObject)(a) ? (0, d.each)(a, (function (t, a) { i._updateData(n ? e + "." + t : t, a, (0, l.isObject)(a)) })) : (0, l.isString)(e) && i._updateFieldValue(e, t) }, registerKeyHandler: function (e, t) { this.callBase(e, t), this._itemsRunTimeInfo.each((function (n, i) { (0, l.isDefined)(i.widgetInstance) && i.widgetInstance.registerKeyHandler(e, t) })) }, _focusTarget: function () { return this.$element().find("." + D.FIELD_ITEM_CONTENT_CLASS + " [tabindex]").first() }, _visibilityChanged: function (e) { e && f.default.msie && this._refresh() }, _dispose: function () { w.default.removeGroup(this._getValidationGroup()), this.callBase() }, resetValues: function () { this._resetValues() }, updateData: function (e, t) { this._updateData(e, t) }, getEditor: function (e) { return this._itemsRunTimeInfo.findWidgetInstanceByDataField(e) || this._itemsRunTimeInfo.findWidgetInstanceByName(e) }, getButton: function (e) { return this._itemsRunTimeInfo.findWidgetInstanceByName(e) }, updateDimensions: function () { var e = this, t = new k.Deferred; return e._scrollable ? e._scrollable.update().done((function () { t.resolveWith(e) })) : t.resolveWith(e), t.promise() }, itemOption: function (e, t, n) { var i = this, a = this._generateItemsFromData(this.option("items")), o = this._getItemByField(e, a), s = (0, E.getItemPath)(a, o); if (o) switch (arguments.length) { case 1: return o; case 3: var r = this._tryCreateItemOptionAction(t, o, n, o[t], s); this._changeItemOption(o, t, n); var c = (0, E.getFullOptionName)(s, t); this._tryExecuteItemOptionAction(r) || this._tryChangeLayoutManagerItemOption(c, n) || this.option("items", a); break; default: var u; if ((0, l.isObject)(t)) if (!this._tryChangeLayoutManagerItemOptions(s, t)) (0, d.each)(t, (function (e, t) { var n = i._tryCreateItemOptionAction(e, o, t, o[e], s); i._changeItemOption(o, e, t), u || i._tryExecuteItemOptionAction(n) || (u = !0) })), u && this.option("items", a) } }, validate: function () { return w.default.validateGroup(this._getValidationGroup()) }, getItemID: function (e) { return "dx_" + this.option("formID") + "_" + (e || new s.default) }, getTargetScreenFactor: function () { return this._targetScreenFactor } }); (0, o.default)("dxForm", M); var P = M; t.default = P, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = _(n(2)), a = n(41), o = n(1), s = _(n(12)), r = _(n(9)), l = _(n(11)), d = _(n(451)), c = _(n(453)), u = _(n(456)), h = n(83), f = n(18), p = n(0), g = n(70), m = n(7); function _(e) { return e && e.__esModule ? e : { default: e } } var v = d.default.inherit({ _getDefaultOptions: function () { return (0, o.extend)(this.callBase(), { itemTitleTemplate: "title", hoverStateEnabled: !0, showNavButtons: !1, scrollByContent: !0, scrollingEnabled: !0, onTitleClick: null, onTitleHold: null, onTitleRendered: null, badgeExpr: function (e) { return e ? e.badge : void 0 } }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === s.default.real().deviceType && !s.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: function () { return !a.touch }, options: { swipeEnabled: !1 } }, { device: { platform: "generic" }, options: { animationEnabled: !1 } }]) }, _init: function () { this.callBase(), this.$element().addClass("dx-tabpanel"), this.setAria("role", "tabpanel") }, _initMarkup: function () { this.callBase(), this._createTitleActions(), this._renderLayout() }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ title: new g.BindableTemplate((function (e, t) { if ((0, p.isPlainObject)(t)) { var n = (0, h.getImageContainer)(t.icon); n && e.append(n), (0, p.isDefined)(t.title) && !(0, p.isPlainObject)(t.title) && e.append(r.default.createTextNode(t.title)) } else (0, p.isDefined)(t) && e.text(String(t)); e.wrapInner((0, i.default)("<span>").addClass("dx-tab-text")) }), ["title", "icon"], this.option("integrationOptions.watchMethod")) }) }, _createTitleActions: function () { this._createTitleClickAction(), this._createTitleHoldAction(), this._createTitleRenderedAction() }, _createTitleClickAction: function () { this._titleClickAction = this._createActionByOption("onTitleClick") }, _createTitleHoldAction: function () { this._titleHoldAction = this._createActionByOption("onTitleHold") }, _createTitleRenderedAction: function () { this._titleRenderedAction = this._createActionByOption("onTitleRendered") }, _renderContent: function () { var e = this; this.callBase(), this.option("templatesRenderAsynchronously") && (this._resizeEventTimer = setTimeout((function () { e._updateLayout() }), 0)) }, _renderLayout: function () { if (this._tabs) this._updateLayout(); else { var e = this.$element(); this._$tabContainer = (0, i.default)("<div>").addClass("dx-tabpanel-tabs").appendTo(e); var t = (0, i.default)("<div>").appendTo(this._$tabContainer); this._tabs = this._createComponent(t, c.default, this._tabConfig()), this._$container = (0, i.default)("<div>").addClass("dx-tabpanel-container").appendTo(e), this._$container.append(this._$wrapper), this._updateLayout() } }, _updateLayout: function () { if ((0, m.hasWindow)()) { var e = this._$tabContainer.outerHeight(); this._$container.css({ marginTop: -e, paddingTop: e }) } }, _refreshActiveDescendant: function () { if (this._tabs) { var e = this._tabs, t = e.itemElements(), n = (0, i.default)(t[e.option("selectedIndex")]), a = this.getFocusedItemId(); this.setAria("controls", void 0, (0, i.default)(t)), this.setAria("controls", a, n) } }, _tabConfig: function () { return { selectOnFocus: !0, focusStateEnabled: this.option("focusStateEnabled"), hoverStateEnabled: this.option("hoverStateEnabled"), repaintChangesOnly: this.option("repaintChangesOnly"), tabIndex: this.option("tabIndex"), selectedIndex: this.option("selectedIndex"), badgeExpr: this.option("badgeExpr"), onItemClick: this._titleClickAction.bind(this), onItemHold: this._titleHoldAction.bind(this), itemHoldTimeout: this.option("itemHoldTimeout"), onSelectionChanged: function (e) { this.option("selectedIndex", e.component.option("selectedIndex")), this._refreshActiveDescendant() }.bind(this), onItemRendered: this._titleRenderedAction.bind(this), itemTemplate: this._getTemplateByOption("itemTitleTemplate"), items: this.option("items"), noDataText: null, scrollingEnabled: this.option("scrollingEnabled"), scrollByContent: this.option("scrollByContent"), showNavButtons: this.option("showNavButtons"), itemTemplateProperty: "tabTemplate", loopItemFocus: this.option("loop"), selectionRequired: !0, onOptionChanged: function (e) { if ("focusedElement" === e.name) if (e.value) { var t = (0, i.default)(e.value), n = this._itemElements().eq(t.index()); this.option("focusedElement", (0, f.getPublicElement)(n)) } else this.option("focusedElement", e.value) }.bind(this), onFocusIn: function (e) { this._focusInHandler(e.event) }.bind(this), onFocusOut: function (e) { this._isFocusOutHandlerExecuting || this._focusOutHandler(e.event) }.bind(this) } }, _renderFocusTarget: function () { this._focusTarget().attr("tabIndex", -1) }, _updateFocusState: function (e, t) { this.callBase(e, t), e.target === this._tabs._focusTarget().get(0) && this._toggleFocusClass(t, this._focusTarget()) }, _focusOutHandler: function (e) { this._isFocusOutHandlerExecuting = !0, this.callBase.apply(this, arguments), this._tabs._focusOutHandler(e), this._isFocusOutHandlerExecuting = !1 }, _setTabsOption: function (e, t) { this._tabs && this._tabs.option(e, t) }, _visibilityChanged: function (e) { e && (this._tabs._dimensionChanged(), this._updateLayout()) }, registerKeyHandler: function (e, t) { this.callBase(e, t), this._tabs && this._tabs.registerKeyHandler(e, t) }, repaint: function () { this.callBase(), this._tabs.repaint() }, _optionChanged: function (e) { var t = e.name, n = e.value, a = e.fullName; switch (t) { case "dataSource": this.callBase(e); break; case "items": this._setTabsOption(t, this.option(t)), this._updateLayout(), this.option("repaintChangesOnly") || this._tabs.repaint(), this.callBase(e); break; case "width": this.callBase(e), this._tabs.repaint(); break; case "selectedIndex": case "selectedItem": if (this._setTabsOption(a, n), this.callBase(e), !0 === this.option("focusStateEnabled")) { var o = this.option("selectedIndex"), s = this._itemElements().eq(o); this.option("focusedElement", (0, f.getPublicElement)(s)) } break; case "itemHoldTimeout": case "focusStateEnabled": case "hoverStateEnabled": this._setTabsOption(a, n), this.callBase(e); break; case "scrollingEnabled": case "scrollByContent": case "showNavButtons": this._setTabsOption(a, n); break; case "focusedElement": var r = n ? (0, i.default)(n).index() : n, l = n ? this._tabs._itemElements().eq(r) : n; this._setTabsOption("focusedElement", (0, f.getPublicElement)(l)), this.callBase(e); break; case "itemTitleTemplate": this._setTabsOption("itemTemplate", this._getTemplateByOption("itemTitleTemplate")); break; case "onTitleClick": this._createTitleClickAction(), this._setTabsOption("onItemClick", this._titleClickAction.bind(this)); break; case "onTitleHold": this._createTitleHoldAction(), this._setTabsOption("onItemHold", this._titleHoldAction.bind(this)); break; case "onTitleRendered": this._createTitleRenderedAction(), this._setTabsOption("onItemRendered", this._titleRenderedAction.bind(this)); break; case "loop": this._setTabsOption("loopItemFocus", n); break; case "badgeExpr": this._invalidate(); break; default: this.callBase(e) } }, _clean: function () { clearTimeout(this._resizeEventTimer), this.callBase() } }); v.ItemClass = u.default, (0, l.default)("dxTabPanel", v); var y = v; t.default = y, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = _(n(2)), a = n(30), o = n(452), s = n(37), r = n(1), l = n(4), d = n(59), c = n(18), u = n(0), h = _(n(12)), f = _(n(11)), p = _(n(163)), g = _(n(239)), m = n(6); function _(e) { return e && e.__esModule ? e : { default: e } } var v = function (e) { return +e }, y = p.default.inherit({ _activeStateUnit: ".dx-multiview-item", _supportedKeys: function () { return (0, r.extend)(this.callBase(), { pageUp: l.noop, pageDown: l.noop }) }, _getDefaultOptions: function () { return (0, r.extend)(this.callBase(), { selectedIndex: 0, swipeEnabled: !0, animationEnabled: !0, loop: !1, deferRendering: !0, _itemAttributes: { role: "tabpanel" }, loopItemFocus: !1, selectOnFocus: !0, selectionMode: "single", selectionRequired: !0, selectionByClick: !1 }) }, _defaultOptionsRules: function () { return this.callBase().concat([{ device: function () { return "desktop" === h.default.real().deviceType && !h.default.isSimulator() }, options: { focusStateEnabled: !0 } }]) }, _itemClass: function () { return "dx-multiview-item" }, _itemDataKey: function () { return "dxMultiViewItemData" }, _itemContainer: function () { return this._$itemContainer }, _itemElements: function () { return this._itemContainer().children(this._itemSelector()) }, _itemWidth: function () { return this._itemWidthValue || (this._itemWidthValue = this._$wrapper.width()), this._itemWidthValue }, _clearItemWidthCache: function () { delete this._itemWidthValue }, _itemsCount: function () { return this.option("items").length }, _normalizeIndex: function (e) { var t = this._itemsCount(); return e < 0 && (e += t), e >= t && (e -= t), e }, _getRTLSignCorrection: function () { return this.option("rtlEnabled") ? -1 : 1 }, _init: function () { this.callBase.apply(this, arguments); var e = this.$element(); e.addClass("dx-multiview"), this._$wrapper = (0, i.default)("<div>").addClass("dx-multiview-wrapper"), this._$wrapper.appendTo(e), this._$itemContainer = (0, i.default)("<div>").addClass("dx-multiview-item-container"), this._$itemContainer.appendTo(this._$wrapper), this.option("loopItemFocus", this.option("loop")), this._initSwipeable() }, _initMarkup: function () { this._deferredItems = [], this.callBase(); var e = this._getSelectedItemIndices(); this._updateItemsVisibility(e[0]) }, _afterItemElementDeleted: function (e, t) { this.callBase(e, t), this._deferredItems && this._deferredItems.splice(t.itemIndex, 1) }, _beforeItemElementInserted: function (e) { this.callBase.apply(this, arguments), this._deferredItems && this._deferredItems.splice(e.index, 0, null) }, _executeItemRenderAction: function (e, t, n) { e = (this.option("items") || []).indexOf(t), this.callBase(e, t, n) }, _renderItemContent: function (e) { var t = new m.Deferred, n = this, i = this.callBase, a = new m.Deferred; return a.done((function () { var a = i.call(n, e); t.resolve(a) })), this._deferredItems[e.index] = a, this.option("deferRendering") || a.resolve(), t.promise() }, _render: function () { var e = this; this.callBase(), (0, l.deferRender)((function () { var t = e._getSelectedItemIndices(); e._updateItems(t[0]) })) }, _updateItems: function (e, t) { this._updateItemsPosition(e, t), this._updateItemsVisibility(e, t) }, _modifyByChanges: function () { this.callBase.apply(this, arguments); var e = this._getSelectedItemIndices(); this._updateItemsVisibility(e[0]) }, _updateItemsPosition: function (e, t) { var n = this._itemElements(), i = (0, u.isDefined)(t) ? -this._animationDirection(t, e) : void 0, a = n.eq(e); o._translator.move(a, 0), (0, u.isDefined)(t) && o._translator.move(n.eq(t), 100 * i + "%") }, _updateItemsVisibility: function (e, t) { this._itemElements().each(function (n, a) { var o = (0, i.default)(a), s = n !== e && n !== t; s || this._renderSpecificItem(n), o.toggleClass("dx-multiview-item-hidden", s), this.setAria("hidden", s || void 0, o) }.bind(this)) }, _renderSpecificItem: function (e) { var t = this._itemElements().eq(e), n = t.find(this._itemContentClass()).length > 0; (0, u.isDefined)(e) && !n && (this._deferredItems[e].resolve(), (0, d.triggerResizeEvent)(t)) }, _refreshItem: function (e, t) { this.callBase(e, t), this._updateItemsVisibility(this.option("selectedIndex")) }, _setAriaSelected: l.noop, _updateSelection: function (e, t) { var n = e[0], i = t[0]; o.animation.complete(this._$itemContainer), this._updateItems(i, n); var a = this._animationDirection(n, i); this._animateItemContainer(a * this._itemWidth(), function () { o._translator.move(this._$itemContainer, 0), this._updateItems(n), this._$itemContainer.width() }.bind(this)) }, _animateItemContainer: function (e, t) { var n = this.option("animationEnabled") ? 200 : 0; o.animation.moveTo(this._$itemContainer, e, n, t) }, _animationDirection: function (e, t) { var n, i = (n = this._$itemContainer, (0, a.locate)(n).left), o = (t - e) * this._getRTLSignCorrection() * this._getItemFocusLoopSignCorrection(), r = 0 !== i ? i : o; return (0, s.sign)(r) }, _getSwipeDisabledState: function () { return !this.option("swipeEnabled") || this._itemsCount() <= 1 }, _initSwipeable: function () { var e = this; this._createComponent(this.$element(), g.default, { disabled: this._getSwipeDisabledState(), elastic: !1, itemSizeFunc: this._itemWidth.bind(this), onStart: function (t) { return e._swipeStartHandler(t.event) }, onUpdated: function (t) { return e._swipeUpdateHandler(t.event) }, onEnd: function (t) { return e._swipeEndHandler(t.event) } }) }, _swipeStartHandler: function (e) { o.animation.complete(this._$itemContainer); var t = this.option("selectedIndex"), n = this.option("loop"), i = this._itemsCount() - 1, a = this.option("rtlEnabled"); e.maxLeftOffset = v(n || (a ? t > 0 : t < i)), e.maxRightOffset = v(n || (a ? t < i : t > 0)), this._swipeDirection = null }, _swipeUpdateHandler: function (e) { var t = e.offset, n = (0, s.sign)(t) * this._getRTLSignCorrection(); if (o._translator.move(this._$itemContainer, t * this._itemWidth()), n !== this._swipeDirection) { this._swipeDirection = n; var i = this.option("selectedIndex"), a = this._normalizeIndex(i - n); this._updateItems(i, a) } }, _swipeEndHandler: function (e) { var t = e.targetOffset * this._getRTLSignCorrection(); if (t) { this.option("selectedIndex", this._normalizeIndex(this.option("selectedIndex") - t)); var n = this.itemElements().filter(".dx-item-selected"); this.option("focusStateEnabled") && this.option("focusedElement", (0, c.getPublicElement)(n)) } else this._animateItemContainer(0, l.noop) }, _getItemFocusLoopSignCorrection: function () { return this._itemFocusLooped ? -1 : 1 }, _moveFocus: function () { this.callBase.apply(this, arguments), this._itemFocusLooped = !1 }, _prevItem: function (e) { var t = this.callBase.apply(this, arguments); return this._itemFocusLooped = t.is(e.last()), t }, _nextItem: function (e) { var t = this.callBase.apply(this, arguments); return this._itemFocusLooped = t.is(e.first()), t }, _dimensionChanged: function () { this._clearItemWidthCache() }, _visibilityChanged: function (e) { e && this._dimensionChanged() }, _updateSwipeDisabledState: function () { var e = this._getSwipeDisabledState(); g.default.getInstance(this.$element()).option("disabled", e) }, _optionChanged: function (e) { var t = e.value; switch (e.name) { case "loop": this.option("loopItemFocus", t); break; case "animationEnabled": break; case "swipeEnabled": this._updateSwipeDisabledState(); break; case "deferRendering": this._invalidate(); break; case "items": this._updateSwipeDisabledState(), this.callBase(e); break; default: this.callBase(e) } } }); (0, f.default)("dxMultiView", y); var w = y; t.default = w, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.animation = t._translator = void 0; var i, a = (i = n(38)) && i.__esModule ? i : { default: i }, o = n(30); var s = { move: function (e, t) { (0, o.move)(e, { left: t }) } }; t._translator = s; var r = { moveTo: function (e, t, n, i) { a.default.animate(e, { type: "slide", to: { left: t }, duration: n, complete: i }) }, complete: function (e) { a.default.stop(e, !0) } }; t.animation = r }, function (e, t, n) { "use strict"; t.default = void 0; var i = C(n(2)), a = C(n(5)), o = C(n(12)), s = C(n(11)), r = C(n(35)), l = n(81), d = n(8), c = n(1), u = n(0), h = C(n(23)), f = n(3), p = C(n(454)), g = n(455), m = n(34), _ = C(n(77)), v = C(n(85)), y = C(n(163)), w = n(83), x = n(70), b = n(6); function C(e) { return e && e.__esModule ? e : { default: e } } var k = y.default.inherit({ _activeStateUnit: ".dx-tab", _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), { hoverStateEnabled: !0, showNavButtons: !0, scrollByContent: !0, scrollingEnabled: !0, selectionMode: "single", activeStateEnabled: !0, selectionRequired: !1, selectOnFocus: !0, loopItemFocus: !1, useInkRipple: !1, badgeExpr: function (e) { return e ? e.badge : void 0 }, _itemAttributes: { role: "tab" } }) }, _defaultOptionsRules: function () { var e = (0, m.current)(); return this.callBase().concat([{ device: function () { return "desktop" !== o.default.real().deviceType }, options: { showNavButtons: !1 } }, { device: { deviceType: "desktop" }, options: { scrollByContent: !1 } }, { device: function () { return "desktop" === o.default.real().deviceType && !o.default.isSimulator() }, options: { focusStateEnabled: !0 } }, { device: function () { return (0, m.isMaterial)(e) }, options: { useInkRipple: !0, selectOnFocus: !1 } }]) }, _init: function () { this.callBase(), this.setAria("role", "tablist"), this.$element().addClass("dx-tabs"), this._renderWrapper(), this._renderMultiple(), this._feedbackHideTimeout = 100 }, _initTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ item: new x.BindableTemplate(function (e, t) { (0, u.isPlainObject)(t) ? this._prepareDefaultItemTemplate(t, e) : e.text(String(t)); var n = (0, w.getImageContainer)(t.icon); n && n.prependTo(e), e.wrapInner((0, i.default)("<span>").addClass("dx-tab-text")) }.bind(this), ["text", "html", "icon"], this.option("integrationOptions.watchMethod")) }) }, _createItemByTemplate: function (e, t) { var n = this, i = t.itemData, a = t.container, o = t.index; return this._deferredTemplates[o] = new b.Deferred, e.render({ model: i, container: a, index: o, onRendered: function () { return n._deferredTemplates[o].resolve() } }) }, _itemClass: function () { return "dx-tab" }, _selectedItemClass: function () { return "dx-tab-selected" }, _itemDataKey: function () { return "dxTabData" }, _initMarkup: function () { this._deferredTemplates = [], this.callBase(), this.option("useInkRipple") && this._renderInkRipple(), this.$element().addClass("dx-overflow-hidden") }, _render: function () { this.callBase(), this._deferRenderScrolling() }, _deferRenderScrolling: function () { var e = this; b.when.apply(this, this._deferredTemplates).done((function () { return e._renderScrolling() })) }, _renderScrolling: function () { var e = ["dx-tabs-stretched", g.TABS_EXPANDED_CLASS, "dx-overflow-hidden"]; this.$element().removeClass(e.join(" ")), this.option("scrollingEnabled") && this._isItemsWidthExceeded() && (this._scrollable || (this._renderScrollable(), this._renderNavButtons()), this._scrollable.update(), this._updateNavButtonsVisibility(), this.option("rtlEnabled") && this._scrollable.scrollTo({ left: this._scrollable.scrollWidth() - this._scrollable.clientWidth() }), this._scrollToItem(this.option("selectedItem"))), this.option("scrollingEnabled") && this._isItemsWidthExceeded() || (this._cleanScrolling(), this._needStretchItems() && !this._isItemsWidthExceeded() && this.$element().addClass("dx-tabs-stretched"), this.$element().removeClass("dx-tabs-nav-buttons").addClass(g.TABS_EXPANDED_CLASS)) }, _isItemsWidthExceeded: function () { return this._getSummaryItemsWidth(this._getVisibleItems(), !0) - 1 > this.$element().width() }, _needStretchItems: function () { var e = this._getVisibleItems(), t = this.$element().width(), n = []; return (0, f.each)(e, (function (e, t) { n.push((0, i.default)(t).outerWidth(!0)) })), Math.max.apply(null, n) > t / e.length }, _cleanNavButtons: function () { this._leftButton && this._rightButton && (this._leftButton.$element().remove(), this._rightButton.$element().remove(), this._leftButton = null, this._rightButton = null) }, _cleanScrolling: function () { this._scrollable && (this._$wrapper.appendTo(this.$element()), this._scrollable.$element().remove(), this._scrollable = null, this._cleanNavButtons()) }, _renderInkRipple: function () { this._inkRipple = (0, l.render)() }, _toggleActiveState: function (e, t, n) { if (this.callBase.apply(this, arguments), this._inkRipple) { var i = { element: e, event: n }; t ? this._inkRipple.showWave(i) : this._inkRipple.hideWave(i) } }, _renderMultiple: function () { "multiple" === this.option("selectionMode") && this.option("selectOnFocus", !1) }, _renderWrapper: function () { this._$wrapper = (0, i.default)("<div>").addClass("dx-tabs-wrapper"), this.$element().append(this._$wrapper) }, _itemContainer: function () { return this._$wrapper }, _renderScrollable: function () { var e = this.$element().wrapInner((0, i.default)("<div>").addClass("dx-tabs-scrollable")).children(); this._scrollable = this._createComponent(e, v.default, { direction: "horizontal", showScrollbar: !1, useKeyboard: !1, useNative: !1, scrollByContent: this.option("scrollByContent"), onScroll: this._updateNavButtonsVisibility.bind(this) }), this.$element().append(this._scrollable.$element()) }, _scrollToItem: function (e) { if (this._scrollable) { var t = this._editStrategy.getItemElement(e); this._scrollable.scrollToElement(t) } }, _renderNavButtons: function () { if (this.$element().toggleClass("dx-tabs-nav-buttons", this.option("showNavButtons")), this.option("showNavButtons")) { var e = this.option("rtlEnabled"); this._leftButton = this._createNavButton(-30, e ? "chevronnext" : "chevronprev"); var t = this._leftButton.$element(); t.addClass("dx-tabs-nav-button-left"), this.$element().prepend(t), this._rightButton = this._createNavButton(30, e ? "chevronprev" : "chevronnext"); var n = this._rightButton.$element(); n.addClass("dx-tabs-nav-button-right"), this.$element().append(n) } }, _updateNavButtonsVisibility: function () { this._leftButton && this._leftButton.option("disabled", this._scrollable.scrollLeft() <= 0), this._rightButton && this._rightButton.option("disabled", this._scrollable.scrollLeft() >= Math.round(this._scrollable.scrollWidth() - this._scrollable.clientWidth())) }, _updateScrollPosition: function (e, t) { this._scrollable.update(), this._scrollable.scrollBy(e / t) }, _createNavButton: function (e, t) { var n = this, o = n._createAction((function () { n._holdInterval = setInterval((function () { n._updateScrollPosition(e, 5) }), 5) })), s = (0, d.addNamespace)(_.default.name, "dxNavButton"), l = (0, d.addNamespace)(h.default.up, "dxNavButton"), c = (0, d.addNamespace)(h.default.out, "dxNavButton"), u = this._createComponent((0, i.default)("<div>").addClass("dx-tabs-nav-button"), r.default, { focusStateEnabled: !1, icon: t, onClick: function () { n._updateScrollPosition(e, 1) }, integrationOptions: {} }), f = u.$element(); return a.default.on(f, s, { timeout: 300 }, function (e) { o({ event: e }) }.bind(this)), a.default.on(f, l, (function () { n._clearInterval() })), a.default.on(f, c, (function () { n._clearInterval() })), u }, _clearInterval: function () { this._holdInterval && clearInterval(this._holdInterval) }, _updateSelection: function (e) { this._scrollable && this._scrollable.scrollToElement(this.itemElements().eq(e[0]), { left: 1, right: 1 }) }, _visibilityChanged: function (e) { e && this._dimensionChanged() }, _dimensionChanged: function () { this._renderScrolling() }, _itemSelectHandler: function (e) { "single" === this.option("selectionMode") && this.isItemSelected(e.currentTarget) || this.callBase(e) }, _clean: function () { this._deferredTemplates = [], this._cleanScrolling(), this.callBase() }, _optionChanged: function (e) { switch (e.name) { case "useInkRipple": case "scrollingEnabled": case "showNavButtons": this._invalidate(); break; case "scrollByContent": this._scrollable && this._scrollable.option(e.name, e.value); break; case "width": this.callBase(e), this._dimensionChanged(); break; case "selectionMode": this._renderMultiple(), this.callBase(e); break; case "badgeExpr": this._invalidate(); break; default: this.callBase(e) } }, _afterItemElementInserted: function () { this.callBase(), this._deferRenderScrolling() }, _afterItemElementDeleted: function (e, t) { this.callBase(e, t), this._renderScrolling() } }); k.ItemClass = p.default, (0, s.default)("dxTabs", k); var I = k; t.default = I, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = o(n(2)), a = o(n(92)); function o(e) { return e && e.__esModule ? e : { default: e } } var s = a.default.inherit({ _renderWatchers: function () { this.callBase(), this._startWatcher("badge", this._renderBadge.bind(this)) }, _renderBadge: function (e) { if (this._$element.children(".dx-badge").remove(), e) { var t = (0, i.default)("<div>").addClass("dx-tabs-item-badge").addClass("dx-badge").text(e); this._$element.append(t) } } }); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.TABS_EXPANDED_CLASS = void 0; t.TABS_EXPANDED_CLASS = "dx-tabs-expanded" }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a, o = (a = n(92)) && a.__esModule ? a : { default: a }, s = n(4); function r(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function l(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function d(e, t, n) { return (d = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = f(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function c(e, t) { return (c = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function u(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = f(e); if (t) { var a = f(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return h(this, n) } } function h(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function f(e) { return (f = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var p = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && c(e, t) }(o, e); var t, n, i, a = u(o); function o() { return r(this, o), a.apply(this, arguments) } return t = o, (n = [{ key: "_renderWatchers", value: function () { return this._startWatcher("badge", s.noop), d(f(o.prototype), "_renderWatchers", this).call(this) } }]) && l(t.prototype, n), i && l(t, i), o }(o.default); t.default = p, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a, o = (a = n(458)) && a.__esModule ? a : { default: a }, s = n(39), r = n(1), l = n(241); function d(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function c(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function u(e, t, n) { return t && c(e.prototype, t), n && c(e, n), e } function h(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && f(e, t) } function f(e, t) { return (f = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function p(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = m(e); if (t) { var a = m(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return g(this, n) } } function g(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function m(e) { return (m = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var _ = function (e) { h(n, e); var t = p(n); function n() { return d(this, n), t.apply(this, arguments) } return u(n, [{ key: "tryExecute", value: function () { var e = this._options.value, t = this.findInstance(); return !!t && (t.option(e), !0) } }]), n }(o.default), v = function (e) { h(n, e); var t = p(n); function n() { return d(this, n), t.apply(this, arguments) } return u(n, [{ key: "tryExecute", value: function () { var e = this.findInstance(); if (e) { var t = this._options, n = t.optionName, i = t.item, a = t.value, o = this._itemsRunTimeInfo.findItemIndexByItem(i); if (o >= 0) return e.option((0, l.getFullOptionName)("items[".concat(o, "]"), n), a), !0 } return !1 } }]), n }(o.default), y = function (e) { h(n, e); var t = p(n); function n() { return d(this, n), t.apply(this, arguments) } return u(n, [{ key: "tryExecute", value: function () { var e = this.findInstance(); if (e) { var t = this._options.value; return e.option("dataSource", t), !0 } return !1 } }]), n }(o.default), w = function (e) { h(n, e); var t = p(n); function n() { return d(this, n), t.apply(this, arguments) } return u(n, [{ key: "tryExecute", value: function () { var e = this._options.item, t = this.findInstance(), n = t && (0, s.data)(t.$element()[0], "dxValidator"); if (n && e) { var i = function (e) { return "required" === e.type }, a = (n.option("validationRules") || []).some(i), o = (e.validationRules || []).some(i); if (!a && !o || a && o) return n.option("validationRules", e.validationRules), !0 } return !1 } }]), n }(o.default), x = function (e) { h(n, e); var t = p(n); function n() { return d(this, n), t.apply(this, arguments) } return u(n, [{ key: "tryExecute", value: function () { var e = this.findItemContainer(), t = this._options, n = t.previousValue, i = t.value; return !!e && (e.removeClass(n).addClass(i), !0) } }]), n }(o.default), b = function (e, t) { switch (e) { case "editorOptions": case "buttonOptions": return new _(t); case "validationRules": return new w(t); case "cssClass": return new x(t); case "badge": case "disabled": case "icon": case "template": case "tabTemplate": case "title": return new v((0, r.extend)(t, { optionName: e })); case "tabs": return new y(t); default: return null } }; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = (i = n(13)) && i.__esModule ? i : { default: i }; function o(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var s = function () { function e(t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._options = t, this._itemsRunTimeInfo = this._options.itemsRunTimeInfo } var t, n, i; return t = e, (n = [{ key: "findInstance", value: function () { return this._itemsRunTimeInfo.findWidgetInstanceByItem(this._options.item) } }, { key: "findItemContainer", value: function () { return this._itemsRunTimeInfo.findItemContainerByItem(this._options.item) } }, { key: "tryExecute", value: function () { a.default.abstract() } }]) && o(t.prototype, n), i && o(t, i), e }(); t.default = s, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = D(n(2)), a = D(n(5)), o = D(n(36)), s = D(n(240)), r = D(n(11)), l = n(0), d = n(18), c = D(n(73)), u = n(7), h = n(31), f = n(3), p = n(1), g = n(14), m = n(20), _ = D(n(100)), v = n(19), y = D(n(17)), w = D(n(10)), x = n(64), b = n(43), C = D(n(29)), k = D(n(166)), I = D(n(461)), S = n(34), E = n(242); function D(e) { return e && e.__esModule ? e : { default: e } } function T(e) { return (T = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function A(e) { return function (e) { if (Array.isArray(e)) return O(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return O(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return O(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function O(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } n(128), n(132), n(112), n(237), n(35); var B = ["dataSource", "items"], M = ["dxTagBox", "dxRangeSlider"], P = C.default.inherit({ _getDefaultOptions: function () { return (0, p.extend)(this.callBase(), { layoutData: {}, readOnly: !1, colCount: 1, colCountByScreen: void 0, labelLocation: "left", onFieldDataChanged: null, onEditorEnterKey: null, customizeItem: null, alignItemLabels: !0, minColWidth: 200, showRequiredMark: !0, screenByWidth: null, showOptionalMark: !1, requiredMark: "*", optionalMark: w.default.format("dxForm-optionalMark"), requiredMessage: w.default.getFormatter("dxForm-requiredMessage") }) }, _setOptionsByReference: function () { this.callBase(), (0, p.extend)(this._optionsByReference, { layoutData: !0, validationGroup: !0 }) }, _init: function () { var e = this.option("layoutData"); this.callBase(), this._itemWatchers = [], this._itemsRunTimeInfo = new s.default, this._updateReferencedOptions(e), this._initDataAndItems(e) }, _dispose: function () { this.callBase(), this._cleanItemWatchers() }, _initDataAndItems: function (e) { this._syncDataWithItems(), this._updateItems(e) }, _syncDataWithItems: function () { var e = this, t = this.option("layoutData"), n = this.option("items"); (0, l.isDefined)(n) && n.forEach((function (n) { var i; n.dataField && void 0 === e._getDataByField(n.dataField) && (n.editorOptions && (i = n.editorOptions.value), ((0, l.isDefined)(i) || n.dataField in t) && e._updateFieldValue(n.dataField, i)) })) }, _getDataByField: function (e) { return e ? this.option("layoutData." + e) : null }, _isCheckboxUndefinedStateEnabled: function (e) { if (!0 === e.allowIndeterminateState && "dxCheckBox" === e.editorType) { var t = ["layoutData"].concat(A(e.dataField.split("."))), n = t.pop(), i = this.option(t.join(".")); return i && n in i } return !1 }, _updateFieldValue: function (e, t) { var n = this.option("layoutData"), i = t; !c.default.isWrapped(n[e]) && (0, l.isDefined)(e) ? this.option("layoutData." + e, i) : c.default.isWritableWrapped(n[e]) && (i = (0, l.isFunction)(i) ? i() : i, n[e](i)), this._triggerOnFieldDataChanged({ dataField: e, value: i }) }, _triggerOnFieldDataChanged: function (e) { this._createActionByOption("onFieldDataChanged")(e) }, _updateItems: function (e) { var t = this, n = this.option("items"), i = (0, l.isDefined)(n), a = t.option("customizeItem"), o = i ? n : this._generateItemsByData(e); if ((0, l.isDefined)(o)) { var s = []; (0, f.each)(o, (function (e, n) { t._isAcceptableItem(n) && (n = t._processItem(n), a && a(n), (0, l.isObject)(n) && !1 !== c.default.unwrap(n.visible) && s.push(n)) })), t._itemWatchers.length && i || t._updateItemWatchers(o), this._setItems(s), this._sortItems() } }, _cleanItemWatchers: function () { this._itemWatchers.forEach((function (e) { e() })), this._itemWatchers = [] }, _updateItemWatchers: function (e) { var t = this, n = t._getWatch(); e.forEach((function (e) { (0, l.isObject)(e) && (0, l.isDefined)(e.visible) && (0, l.isFunction)(n) && t._itemWatchers.push(n((function () { return c.default.unwrap(e.visible) }), (function () { t._updateItems(t.option("layoutData")), t.repaint() }), { skipImmediate: !0 })) })) }, _generateItemsByData: function (e) { var t = []; return (0, l.isDefined)(e) && (0, f.each)(e, (function (e) { t.push({ dataField: e }) })), t }, _isAcceptableItem: function (e) { var t = e.dataField || e, n = this._getDataByField(t); return !((0, l.isFunction)(n) && !c.default.isWrapped(n)) }, _processItem: function (e) { if ("string" == typeof e && (e = { dataField: e }), "object" !== T(e) || e.itemType || (e.itemType = "simple"), !(0, l.isDefined)(e.editorType) && (0, l.isDefined)(e.dataField)) { var t = this._getDataByField(e.dataField); e.editorType = (0, l.isDefined)(t) ? this._getEditorTypeByDataType((0, l.type)(t)) : "dxTextBox" } var n; "dxCheckBox" === e.editorType && (e.allowIndeterminateState = null === (n = e.allowIndeterminateState) || void 0 === n || n); return e }, _getEditorTypeByDataType: function (e) { switch (e) { case "number": return "dxNumberBox"; case "date": return "dxDateBox"; case "boolean": return "dxCheckBox"; default: return "dxTextBox" } }, _sortItems: function () { (0, g.normalizeIndexes)(this._items, "visibleIndex"), this._sortIndexes() }, _sortIndexes: function () { this._items.sort((function (e, t) { var n = e.visibleIndex, i = t.visibleIndex; return n > i ? 1 : n < i ? -1 : 0 })) }, _initMarkup: function () { this._itemsRunTimeInfo.clear(), this.$element().addClass(E.FORM_LAYOUT_MANAGER_CLASS), this.callBase(), this._renderResponsiveBox() }, _hasBrowserFlex: function () { return "flex" === (0, x.styleProp)("flex") }, _renderResponsiveBox: function () { var e = []; if (this._items && this._items.length) { var t = this._getColCount(), n = (0, i.default)("<div>").appendTo(this.$element()); this._prepareItemsWithMerging(t); var a = this._generateLayoutItems(); this._extendItemsWithDefaultTemplateOptions(a, this._items), this._responsiveBox = this._createComponent(n, I.default, this._getResponsiveBoxConfig(a, t, e)), (0, u.hasWindow)() || this._renderTemplates(e) } }, _extendItemsWithDefaultTemplateOptions: function (e, t) { t.forEach((function (t) { t.merged || ((0, l.isDefined)(t.disabled) && (e[t.visibleIndex].disabled = t.disabled), (0, l.isDefined)(t.visible) && (e[t.visibleIndex].visible = t.visible)) })) }, _itemStateChangedHandler: function (e) { this._refresh() }, _renderTemplate: function (e, t) { switch (t.itemType) { case "empty": this._renderEmptyItem(e); break; case "button": this._renderButtonItem(t, e); break; default: this._renderFieldItem(t, e) } }, _renderTemplates: function (e) { var t = this; (0, f.each)(e, (function (e, n) { t._renderTemplate(n.container, n.formItem) })) }, _getResponsiveBoxConfig: function (e, t, n) { var a = this, o = a.option("colCountByScreen"), s = o && o.xs; return { onItemStateChanged: this._itemStateChangedHandler.bind(this), _layoutStrategy: a._hasBrowserFlex() ? "flex" : "fallback", onLayoutChanged: function () { var e = a.option("onLayoutChanged"), t = a.isSingleColumnMode(); e && (a.$element().toggleClass(E.LAYOUT_MANAGER_ONE_COLUMN, t), e(t)) }, onContentReady: function (e) { (0, u.hasWindow)() && a._renderTemplates(n), a.option("onLayoutChanged") && a.$element().toggleClass(E.LAYOUT_MANAGER_ONE_COLUMN, a.isSingleColumnMode(e.component)) }, itemTemplate: function (e, o, s) { if (e.location) { var r = (0, i.default)(s), l = e.location.row * t, d = a._items[e.location.col + l], c = (0, i.default)("<div>").addClass(d.cssClass).appendTo(r); n.push({ container: c, formItem: d }), r.toggleClass(E.SINGLE_COLUMN_ITEM_CONTENT, a.isSingleColumnMode(this)), 0 === e.location.row && c.addClass("dx-first-row"), 0 === e.location.col && c.addClass("dx-first-col"), "simple" === d.itemType && a.option("isRoot") && r.addClass(E.ROOT_SIMPLE_ITEM_CLASS); var u = e.location.col === t - 1 || e.location.col + e.location.colspan === t, h = a._getRowsCount(), f = e.location.row === h - 1; u && c.addClass("dx-last-col"), f && c.addClass("dx-last-row") } }, cols: a._generateRatio(t), rows: a._generateRatio(a._getRowsCount(), !0), dataSource: e, screenByWidth: a.option("screenByWidth"), singleColumnScreen: !s && "xs" } }, _getColCount: function () { var e = this.option("colCount"), t = this.option("colCountByScreen"); if (t) { var n = this.option("form").getTargetScreenFactor(); n || (n = (0, u.hasWindow)() ? (0, u.getCurrentScreenFactor)(this.option("screenByWidth")) : "lg"), e = t[n] || e } if ("auto" === e) { if (this._cashedColCount) return this._cashedColCount; this._cashedColCount = e = this._getMaxColCount() } return e < 1 ? 1 : e }, _getMaxColCount: function () { if (!(0, u.hasWindow)()) return 1; var e = this.option("minColWidth"), t = this.$element().width(), n = this._items.length, i = Math.floor(t / e) || 1; return n < i ? n : i }, isCachedColCountObsolete: function () { return this._cashedColCount && this._getMaxColCount() !== this._cashedColCount }, _prepareItemsWithMerging: function (e) { var t, n, i, a, o = this._items.slice(0), s = []; for (a = 0; a < o.length; a++)if (t = o[a], s.push(t), (this.option("alignItemLabels") || t.alignItemLabels || t.colSpan) && (t.col = this._getColByIndex(s.length - 1, e)), t.colSpan > 1 && t.col + t.colSpan <= e) { for (n = [], i = 0; i < t.colSpan - 1; i++)n.push({ merged: !0 }); s = s.concat(n) } else delete t.colSpan; this._setItems(s) }, _getColByIndex: function (e, t) { return e % t }, _setItems: function (e) { this._items = e, this._cashedColCount = null }, _generateLayoutItems: function () { var e, t, n = this._items, i = this._getColCount(), a = []; for (t = 0; t < n.length; t++)if (!(e = n[t]).merged) { var o = { location: { row: parseInt(t / i), col: this._getColByIndex(t, i) } }; (0, l.isDefined)(e.colSpan) && (o.location.colspan = e.colSpan), (0, l.isDefined)(e.rowSpan) && (o.location.rowspan = e.rowSpan), a.push(o) } return a }, _renderEmptyItem: function (e) { return e.addClass(E.FIELD_EMPTY_ITEM_CLASS).html("&nbsp;") }, _getButtonHorizontalAlignment: function (e) { return (0, l.isDefined)(e.horizontalAlignment) ? e.horizontalAlignment : "right" }, _getButtonVerticalAlignment: function (e) { switch (e.verticalAlignment) { case "center": return "center"; case "bottom": return "flex-end"; default: return "flex-start" } }, _renderButtonItem: function (e, t) { var n = (0, i.default)("<div>").appendTo(t), a = { validationGroup: this.option("validationGroup") }; t.addClass(E.FIELD_BUTTON_ITEM_CLASS).css("textAlign", this._getButtonHorizontalAlignment(e)), t.parent().css("justifyContent", this._getButtonVerticalAlignment(e)); var o = this._createComponent(n, "dxButton", (0, p.extend)(a, e.buttonOptions)); return this._itemsRunTimeInfo.add({ item: e, widgetInstance: o, guid: e.guid, $itemContainer: t }), this._addItemClasses(t, e.col), n }, _addItemClasses: function (e, t) { e.addClass(E.FIELD_ITEM_CLASS).addClass(this.option("cssItemClass")).addClass((0, l.isDefined)(t) ? "dx-col-" + t : "") }, _renderFieldItem: function (e, t) { var n, a = this._getName(e), s = this.getItemID(a), r = (0, l.isDefined)(e.isRequired) ? e.isRequired : !!this._hasRequiredRuleInSet(e.validationRules), d = this._getLabelOptions(e, s, r), c = (0, i.default)("<div>"), u = e.helpText ? "dx-" + new o.default : null; this._addItemClasses(t, e.col), t.addClass(r ? E.FIELD_ITEM_REQUIRED_CLASS : E.FIELD_ITEM_OPTIONAL_CLASS), d.visible && d.text && (n = this._renderLabel(d).appendTo(t)), "simple" === e.itemType && (this._isLabelNeedBaselineAlign(e) && "top" !== d.location && t.addClass(E.FIELD_ITEM_LABEL_ALIGN_CLASS), this._hasBrowserFlex() && t.addClass(E.FLEX_LAYOUT_CLASS)), c.data("dx-form-item", e), this._appendEditorToField({ $fieldItem: t, $label: n, $editor: c, labelOptions: d }); var h = this._renderEditor({ $container: c, dataField: e.dataField, name: e.name, editorType: e.editorType, editorOptions: e.editorOptions, template: this._getTemplateByFieldItem(e), isRequired: r, helpID: u, labelID: d.labelID, id: s, validationBoundary: this.option("validationBoundary"), allowIndeterminateState: e.allowIndeterminateState }); this._itemsRunTimeInfo.add({ item: e, widgetInstance: h, guid: e.guid, $itemContainer: t }); var f = c.children().first(), p = f.hasClass("dx-template-wrapper") ? f.children().first() : f, g = p && p.data("dx-validation-target"); g && (this._renderValidator(p, e), (0, S.isMaterial)() && this._addWrapperInvalidClass(g)), this._renderHelpText(e, c, u), this._attachClickHandler(n, c, e.editorType) }, _hasRequiredRuleInSet: function (e) { var t; return e && e.length && (0, f.each)(e, (function (e, n) { if ("required" === n.type) return t = !0, !1 })), t }, _getName: function (e) { return e.dataField || e.name }, _isLabelNeedBaselineAlign: function (e) { return !!e.helpText && !this._hasBrowserFlex() || -1 !== (0, g.inArray)(e.editorType, ["dxTextArea", "dxRadioGroup", "dxCalendar", "dxHtmlEditor"]) }, _isLabelNeedId: function (e) { return -1 !== (0, g.inArray)(e.editorType, ["dxRadioGroup", "dxCheckBox", "dxLookup", "dxSlider", "dxRangeSlider", "dxSwitch", "dxHtmlEditor"]) }, _getLabelOptions: function (e, t, n) { var i = (0, p.extend)({ showColon: this.option("showColonAfterLabel"), location: this.option("labelLocation"), id: t, visible: !0, isRequired: n }, e ? e.label : {}); return this._isLabelNeedId(e) && (i.labelID = "dx-label-".concat(new o.default)), !i.text && e.dataField && (i.text = (0, b.captionize)(e.dataField)), i.text && (i.text += i.showColon ? ":" : ""), i }, _renderLabel: function (e) { var t = e.text, n = e.id, a = e.location, o = e.alignment, s = e.isRequired, r = e.labelID, d = void 0 === r ? null : r; if ((0, l.isDefined)(t) && t.length > 0) { var c = E.FIELD_ITEM_LABEL_CLASS + " " + E.FIELD_ITEM_LABEL_LOCATION_CLASS + a, u = (0, i.default)("<label>").addClass(c).attr("for", n).attr("id", d), h = (0, i.default)("<span>").addClass(E.FIELD_ITEM_LABEL_CONTENT_CLASS).appendTo(u); return (0, i.default)("<span>").addClass(E.FIELD_ITEM_LABEL_TEXT_CLASS).text(t).appendTo(h), o && u.css("textAlign", o), h.append(this._renderLabelMark(s)), u } }, _renderLabelMark: function (e) { var t, n = this._getRequiredMarksConfig(), a = n.showRequiredMark && e, o = n.showOptionalMark && !e; if (a || o) { var s = a ? E.FIELD_ITEM_REQUIRED_MARK_CLASS : E.FIELD_ITEM_OPTIONAL_MARK_CLASS, r = a ? n.requiredMark : n.optionalMark; t = (0, i.default)("<span>").addClass(s).html("&nbsp" + r) } return t }, _getRequiredMarksConfig: function () { return this._cashedRequiredConfig || (this._cashedRequiredConfig = { showRequiredMark: this.option("showRequiredMark"), showOptionalMark: this.option("showOptionalMark"), requiredMark: this.option("requiredMark"), optionalMark: this.option("optionalMark") }), this._cashedRequiredConfig }, _renderEditor: function (e) { var t = this._getDataByField(e.dataField), n = void 0 !== t || this._isCheckboxUndefinedStateEnabled(e) ? { value: t } : {}; -1 !== M.indexOf(e.editorType) && (n.value = n.value || []); var i = this.option("form"), a = (0, p.extend)(!0, n, e.editorOptions, { inputAttr: { id: e.id }, validationBoundary: e.validationBoundary, stylingMode: i && i.option("stylingMode") }); this._replaceDataOptions(e.editorOptions, a); var o = { editorType: e.editorType, dataField: e.dataField, template: e.template, name: e.name, helpID: e.helpID, labelID: e.labelID, isRequired: e.isRequired }; return this._createEditor(e.$container, o, a) }, _replaceDataOptions: function (e, t) { e && B.forEach((function (n) { t[n] && (t[n] = e[n]) })) }, _renderValidator: function (e, t) { var n = this._getFieldLabelName(t), i = this._prepareValidationRules(t.validationRules, t.isRequired, t.itemType, n); Array.isArray(i) && i.length && this._createComponent(e, k.default, { validationRules: i, validationGroup: this.option("validationGroup"), dataGetter: function () { return { formItem: t } } }) }, _getFieldLabelName: function (e) { var t = e.label && e.label.text, n = t ? null : this._getName(e); return t ? e.label.text : n && (0, b.captionize)(n) }, _prepareValidationRules: function (e, t, n, i) { var a; if ("simple" === n) if (e) a = e; else { var o = (0, h.format)(this.option("requiredMessage"), i || ""); a = t ? [{ type: "required", message: o }] : null } return a }, _addWrapperInvalidClass: function (e) { var t = "." + E.FIELD_ITEM_CONTENT_WRAPPER_CLASS, n = function (e) { (0, i.default)(e.element).parents(t).toggleClass("dx-invalid", e.component._isFocused() && !1 === e.component.option("isValid")) }; e.on("focusIn", n).on("focusOut", n).on("enterKey", n) }, _createEditor: function (e, t, n) { var a, o = t.template; if (t.dataField && !n.name && (n.name = t.dataField), this._addItemContentClasses(e), o) { var s = { dataField: t.dataField, editorType: t.editorType, editorOptions: n, component: this._getComponentOwner(), name: t.name }; o.render({ model: s, container: (0, d.getPublicElement)(e) }) } else { var r = (0, i.default)("<div>").appendTo(e); try { (a = this._createComponent(r, t.editorType, n)).setAria("describedby", t.helpID), a.setAria("labelledby", t.labelID), a.setAria("required", t.isRequired), t.dataField && this._bindDataField(a, t, e) } catch (e) { y.default.log("E1035", e.message) } } return a }, _getComponentOwner: function () { return this.option("form") || this }, _bindDataField: function (e, t, n) { var i = this._getComponentOwner(); e.on("enterKey", (function (e) { i._createActionByOption("onEditorEnterKey")((0, p.extend)(e, { dataField: t.dataField })) })), this._createWatcher(e, n, t), this.linkEditorToDataField(e, t.dataField, t.editorType) }, _createWatcher: function (e, t, n) { var i = this, o = i._getWatch(); if ((0, l.isFunction)(o)) { var s = o((function () { return i._getDataByField(n.dataField) }), (function () { e.option("value", i._getDataByField(n.dataField)) }), { deep: !0, skipImmediate: !0 }); a.default.on(t, _.default, s) } }, _getWatch: function () { if (!(0, l.isDefined)(this._watch)) { var e = this.option("form"); this._watch = e && e.option("integrationOptions.watchMethod") } return this._watch }, _addItemContentClasses: function (e) { var t = this._getItemContentLocationSpecificClass(); e.addClass([E.FIELD_ITEM_CONTENT_CLASS, t].join(" ")) }, _getItemContentLocationSpecificClass: function () { var e = this.option("labelLocation"); return E.FIELD_ITEM_CONTENT_LOCATION_CLASS + { right: "left", left: "right", top: "bottom" }[e] }, _createComponent: function (e, t, n) { var i = this.option("readOnly"), a = this.callBase(e, t, n); return i && a.option("readOnly", i), this.on("optionChanged", (function (e) { "readOnly" !== e.name || (0, l.isDefined)(n.readOnly) || a.option(e.name, e.value) })), a }, _getTemplateByFieldItem: function (e) { return e.template ? this._getTemplate(e.template) : null }, _appendEditorToField: function (e) { if (e.$label) { var t = e.labelOptions.location; "top" !== t && "left" !== t || e.$fieldItem.append(e.$editor), "right" === t && e.$fieldItem.prepend(e.$editor), this._addInnerItemAlignmentClass(e.$fieldItem, t) } else e.$fieldItem.append(e.$editor) }, _addInnerItemAlignmentClass: function (e, t) { "top" === t ? e.addClass(E.LABEL_VERTICAL_ALIGNMENT_CLASS) : e.addClass(E.LABEL_HORIZONTAL_ALIGNMENT_CLASS) }, _renderHelpText: function (e, t, n) { var a = e.helpText, o = "simple" === e.itemType; if (a && o) { var s = (0, i.default)("<div>").addClass(E.FIELD_ITEM_CONTENT_WRAPPER_CLASS); t.wrap(s), (0, i.default)("<div>").addClass(E.FIELD_ITEM_HELP_TEXT_CLASS).attr("id", n).text(a).appendTo(t.parent()) } }, _attachClickHandler: function (e, t, n) { e && ("dxCheckBox" === n || "dxSwitch" === n) && a.default.on(e, v.name, (function () { a.default.trigger(t.children(), v.name) })) }, _generateRatio: function (e, t) { var n, i, a = []; for (i = 0; i < e; i++)n = { ratio: 1 }, t && (n.baseSize = "auto"), a.push(n); return a }, _getRowsCount: function () { return Math.ceil(this._items.length / this._getColCount()) }, _updateReferencedOptions: function (e) { var t = this, n = this.option("layoutData"); (0, l.isObject)(n) && Object.getOwnPropertyNames(n).forEach((function (e) { return delete t._optionsByReference["layoutData." + e] })), (0, l.isObject)(e) && Object.getOwnPropertyNames(e).forEach((function (e) { return t._optionsByReference["layoutData." + e] = !0 })) }, _resetWidget: function (e) { this._disableEditorValueChangedHandler = !0, e.reset(), this._disableEditorValueChangedHandler = !1, e.option("isValid", !0) }, _optionChanged: function (e) { var t = this; if (0 !== e.fullName.search("layoutData.")) switch (e.name) { case "showRequiredMark": case "showOptionalMark": case "requiredMark": case "optionalMark": this._cashedRequiredConfig = null, this._invalidate(); break; case "layoutData": this._updateReferencedOptions(e.value), this.option("items") ? (0, l.isEmptyObject)(e.value) || this._itemsRunTimeInfo.each((function (n, i) { if ((0, l.isDefined)(i.item)) { var a = i.item.dataField; if (a && (0, l.isDefined)(i.widgetInstance)) { var o = (0, m.compileGetter)(a)(e.value); void 0 !== o || t._isCheckboxUndefinedStateEnabled(i.item) ? i.widgetInstance.option("value", o) : t._resetWidget(i.widgetInstance) } } })) : (this._initDataAndItems(e.value), this._invalidate()); break; case "items": this._cleanItemWatchers(), this._initDataAndItems(e.value), this._invalidate(); break; case "alignItemLabels": case "labelLocation": case "requiredMessage": this._invalidate(); break; case "customizeItem": this._updateItems(this.option("layoutData")), this._invalidate(); break; case "colCount": this._resetColCount(); break; case "minColWidth": "auto" === this.option("colCount") && this._resetColCount(); break; case "readOnly": break; case "width": this.callBase(e), "auto" === this.option("colCount") && this._resetColCount(); break; case "onFieldDataChanged": break; default: this.callBase(e) } }, _resetColCount: function () { this._cashedColCount = null, this._invalidate() }, linkEditorToDataField: function (e, t) { var n = this; this.on("optionChanged", (function (n) { n.fullName === "layoutData.".concat(t) && e._setOptionWithoutOptionChange("value", n.value) })), e.on("valueChanged", (function (e) { var i = (0, l.isObject)(e.value) || Array.isArray(e.value); n._disableEditorValueChangedHandler || i && e.value === e.previousValue || n._updateFieldValue(t, e.value) })) }, _dimensionChanged: function () { "auto" === this.option("colCount") && this.isCachedColCountObsolete() && this._eventsStrategy.fireEvent("autoColCountChanged") }, getItemID: function (e) { var t = this.option("form"); return t && t.getItemID(e) }, updateData: function (e, t) { var n = this; (0, l.isObject)(e) ? (0, f.each)(e, (function (e, t) { n._updateFieldValue(e, t) })) : "string" == typeof e && n._updateFieldValue(e, t) }, getEditor: function (e) { return this._itemsRunTimeInfo.findWidgetInstanceByDataField(e) || this._itemsRunTimeInfo.findWidgetInstanceByName(e) }, isSingleColumnMode: function (e) { var t = this._responsiveBox || e; if (t) return t.option("currentScreenFactor") === t.option("singleColumnScreen") }, getItemsRunTimeInfo: function () { return this._itemsRunTimeInfo } }); (0, r.default)("dxLayoutManager", P); var R = P; t.default = R, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(13)) && i.__esModule ? i : { default: i }).default.inherit({ ctor: function (e, t) { var n = this; this.editor = e, this.validator = t, this.validationRequestsCallbacks = []; var i = function (e) { n.validationRequestsCallbacks.forEach((function (t) { return t(e) })) }; e.validationRequest.add(i), e.on("disposing", (function () { e.validationRequest.remove(i) })) }, getValue: function () { return this.editor.option("value") }, getCurrentValidationError: function () { return this.editor.option("validationError") }, bypass: function () { return this.editor.option("disabled") }, applyValidationResults: function (e) { this.editor.option({ validationErrors: e.brokenRules, validationStatus: e.status }) }, reset: function () { this.editor.reset() }, focus: function () { this.editor.focus() } }); t.default = a, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(5)), o = n(4), s = n(0), r = p(n(17)), l = n(7), d = n(3), c = n(1), u = p(n(11)), h = p(n(164)), f = p(n(84)); function p(e) { return e && e.__esModule ? e : { default: e } } var g = (0, l.getWindow)(), m = f.default.inherit({ _getDefaultOptions: function () { return (0, c.extend)(this.callBase(), { rows: [], cols: [], screenByWidth: null, singleColumnScreen: "", height: "100%", width: "100%", activeStateEnabled: !1, focusStateEnabled: !1, onItemStateChanged: void 0, onLayoutChanged: null, currentScreenFactor: void 0, _layoutStrategy: void 0 }) }, _init: function () { this.option("screenByWidth") || this._options.silent("screenByWidth", l.defaultScreenFactorFunc), this.callBase(), this._initLayoutChangedAction() }, _initLayoutChangedAction: function () { this._layoutChangedAction = this._createActionByOption("onLayoutChanged", { excludeValidators: ["disabled", "readonly"] }) }, _itemClass: function () { return "dx-box-item" }, _itemDataKey: function () { return "dxBoxItemData" }, _initMarkup: function () { this.callBase(), this.$element().addClass("dx-responsivebox"), this._updateRootBox() }, _updateRootBox: function () { clearTimeout(this._updateTimer), this._updateTimer = setTimeout(function () { this._$root && a.default.triggerHandler(this._$root, "dxupdate") }.bind(this)) }, _renderItems: function () { this._setScreenSize(), this._screenItems = this._itemsByScreen(), this._prepareGrid(), this._spreadItems(), this._layoutItems(), this._linkNodeToItem() }, _itemOptionChanged: function (e) { var t = this._findItemElementByItem(e); t.length && (this._refreshItem(t, e), this._clearItemNodeTemplates(), this._update(!0)) }, _setScreenSize: function () { var e = this._getCurrentScreen(); this._removeScreenSizeClass(), this.$element().addClass("dx-responsivebox-screen-" + e), this.option("currentScreenFactor", e) }, _removeScreenSizeClass: function () { var e = this.option("currentScreenFactor"); e && this.$element().removeClass("dx-responsivebox-screen-" + e) }, _prepareGrid: function () { var e = this._grid = []; this._prepareRowsAndCols(), (0, d.each)(this._rows, function () { var t = []; e.push(t), (0, d.each)(this._cols, function () { t.push(this._createEmptyCell()) }.bind(this)) }.bind(this)) }, getSingleColumnRows: function () { var e = this.option("rows"), t = this._screenItems.length; if (e.length) { for (var n = this._filterByScreen(e), i = [], a = 0; a < t; a++) { var o = this._defaultSizeConfig(); a < n.length && (0, s.isDefined)(n[a].shrink) && (o.shrink = n[a].shrink), i.push(o) } return i } return this._defaultSizeConfig(t) }, _prepareRowsAndCols: function () { this._isSingleColumnScreen() ? (this._prepareSingleColumnScreenItems(), this._rows = this.getSingleColumnRows(), this._cols = this._defaultSizeConfig(1)) : (this._rows = this._sizesByScreen(this.option("rows")), this._cols = this._sizesByScreen(this.option("cols"))) }, _isSingleColumnScreen: function () { return this._screenRegExp().test(this.option("singleColumnScreen")) || !this.option("rows").length || !this.option("cols").length }, _prepareSingleColumnScreenItems: function () { this._screenItems.sort((function (e, t) { return e.location.row - t.location.row || e.location.col - t.location.col })), (0, d.each)(this._screenItems, (function (e, t) { (0, c.extend)(t.location, { row: e, col: 0, rowspan: 1, colspan: 1 }) })) }, _sizesByScreen: function (e) { return (0, d.map)(this._filterByScreen(e), function (e) { return (0, c.extend)(this._defaultSizeConfig(), e) }.bind(this)) }, _createDefaultSizeConfig: function () { return { ratio: 1, baseSize: 0, minSize: 0, maxSize: 0 } }, _defaultSizeConfig: function (e) { var t = this._createDefaultSizeConfig(); if (!arguments.length) return t; for (var n = [], i = 0; i < e; i++)n.push(t); return n }, _filterByScreen: function (e) { var t = this._screenRegExp(); return (0, o.grep)(e, (function (e) { return !e.screen || t.test(e.screen) })) }, _screenRegExp: function () { var e = this._getCurrentScreen(); return new RegExp("(^|\\s)" + e + "($|\\s)", "i") }, _getCurrentScreen: function () { var e = this._screenWidth(); return this.option("screenByWidth")(e) }, _screenWidth: function () { return (0, l.hasWindow)() ? (0, i.default)(g).width() : 1920 }, _createEmptyCell: function () { return { item: {}, location: { colspan: 1, rowspan: 1 } } }, _spreadItems: function () { (0, d.each)(this._screenItems, function (e, t) { var n = t.location || {}, i = n.col, a = n.row, o = this._grid[a], s = o && o[i]; this._occupyCells(s, t) }.bind(this)) }, _itemsByScreen: function () { var e = this; return this.option("items").reduce((function (t, n) { var i = n.location || {}; return i = (0, s.isPlainObject)(i) ? [i] : i, e._filterByScreen(i).forEach((function (e) { t.push({ item: n, location: (0, c.extend)({ rowspan: 1, colspan: 1 }, e) }) })), t }), []) }, _occupyCells: function (e, t) { e && !this._isItemCellOccupied(e, t) && ((0, c.extend)(e, t), this._markSpanningCell(e)) }, _isItemCellOccupied: function (e, t) { if (!(0, s.isEmptyObject)(e.item)) return !0; var n = !1; return this._loopOverSpanning(t.location, (function (e) { n = n || !(0, s.isEmptyObject)(e.item) })), n }, _loopOverSpanning: function (e, t) { var n = e.row + e.rowspan - 1, i = e.col + e.colspan - 1, a = Math.min(n, this._rows.length - 1), o = Math.min(i, this._cols.length - 1); e.rowspan -= n - a, e.colspan -= i - o; for (var s = e.row; s <= a; s++)for (var r = e.col; r <= o; r++)s === e.row && r === e.col || t(this._grid[s][r]) }, _markSpanningCell: function (e) { this._loopOverSpanning(e.location, (function (t) { (0, c.extend)(t, { item: e.item, spanningCell: e }) })) }, _linkNodeToItem: function () { (0, d.each)(this._itemElements(), (function (e, t) { var n = (0, i.default)(t), a = n.data("dxBoxItemData"); a.box || (a.node = n.children()) })) }, _layoutItems: function () { var e = this._grid.length, t = e && this._grid[0].length; if (e || t) { var n = this._layoutBlock({ direction: "col", row: { start: 0, end: e - 1 }, col: { start: 0, end: t - 1 } }), a = this._prepareBoxConfig(n.box || { direction: "row", items: [(0, c.extend)(n, { ratio: 1 })] }); (0, c.extend)(a, this._rootBoxConfig(a.items)), this._$root = (0, i.default)("<div>").appendTo(this._itemContainer()), this._createComponent(this._$root, h.default, a) } }, _rootBoxConfig: function (e) { var t = (0, d.each)(e, function (e, t) { this._needApplyAutoBaseSize(t) && (0, c.extend)(t, { baseSize: "auto" }) }.bind(this)); return (0, c.extend)({ width: "100%", height: "100%", items: t, itemTemplate: this._getTemplateByOption("itemTemplate"), itemHoldTimeout: this.option("itemHoldTimeout"), onItemHold: this._createActionByOption("onItemHold"), onItemClick: this._createActionByOption("onItemClick"), onItemContextMenu: this._createActionByOption("onItemContextMenu"), onItemRendered: this._createActionByOption("onItemRendered") }, { _layoutStrategy: this.option("_layoutStrategy") }) }, _needApplyAutoBaseSize: function (e) { return !(e.baseSize || e.minSize && "auto" !== e.minSize || e.maxSize && "auto" !== e.maxSize) }, _prepareBoxConfig: function (e) { return (0, c.extend)(e || {}, { crossAlign: "stretch", onItemStateChanged: this.option("onItemStateChanged") }) }, _layoutBlock: function (e) { return this._isSingleItem(e) ? this._itemByCell(e.row.start, e.col.start) : this._layoutDirection(e) }, _isSingleItem: function (e) { var t = this._grid[e.row.start][e.col.start].location, n = e.row.end - e.row.start == t.rowspan - 1, i = e.col.end - e.col.start == t.colspan - 1; return n && i }, _itemByCell: function (e, t) { var n = this._grid[e][t]; return n.spanningCell ? null : n.item }, _layoutDirection: function (e) { for (var t, n = [], i = e.direction, a = this._crossDirection(i); t = this._nextBlock(e);) { if (this._isBlockIndivisible(e.prevBlockOptions, t)) throw r.default.Error("E1025"); var o = this._layoutBlock({ direction: a, row: t.row, col: t.col, prevBlockOptions: e }); o && ((0, c.extend)(o, this._blockSize(t, a)), n.push(o)), e[a].start = t[a].end + 1 } return { box: this._prepareBoxConfig({ direction: i, items: n }) } }, _isBlockIndivisible: function (e, t) { return e && e.col.start === t.col.start && e.col.end === t.col.end && e.row.start === t.row.start && e.row.end === t.row.end }, _crossDirection: function (e) { return "col" === e ? "row" : "col" }, _nextBlock: function (e) { var t = e.direction, n = this._crossDirection(t), i = e[t].start, a = e[t].end, o = e[n].start; if (o > e[n].end) return null; for (var s = 1, r = o; r < o + s; r++) { for (var l = 1, d = i; d <= a; d++) { var c = this._cellByDirection(t, d, r); l = Math.max(l, c.location[n + "span"]) } var u = r + l, h = o + s; u > h && (s += u - h) } var f = {}; return f[t] = { start: i, end: a }, f[n] = { start: o, end: o + s - 1 }, f }, _cellByDirection: function (e, t, n) { return "col" === e ? this._grid[n][t] : this._grid[t][n] }, _blockSize: function (e, t) { for (var n = "row" === t ? "auto" : 0, i = "row" === t ? this._rows : this._cols, a = (0, c.extend)(this._createDefaultSizeConfig(), { ratio: 0 }), o = e[t].start; o <= e[t].end; o++) { var r = i[o]; a.ratio += r.ratio, a.baseSize += r.baseSize, a.minSize += r.minSize, a.maxSize += r.maxSize, (0, s.isDefined)(r.shrink) && (a.shrink = r.shrink) } return a.minSize = a.minSize ? a.minSize : n, a.maxSize = a.maxSize ? a.maxSize : "auto", this._isSingleColumnScreen() && (a.baseSize = "auto"), a }, _update: function (e) { var t = this._$root; this._renderItems(), t && (e ? t.remove() : (t.detach(), this._saveAssistantRoot(t))), this._layoutChangedAction(), this._updateRootBox() }, _saveAssistantRoot: function (e) { this._assistantRoots = this._assistantRoots || [], this._assistantRoots.push(e) }, _dispose: function () { clearTimeout(this._updateTimer), this._clearItemNodeTemplates(), this._cleanUnusedRoots(), this.callBase.apply(this, arguments) }, _cleanUnusedRoots: function () { this._assistantRoots && (0, d.each)(this._assistantRoots, (function (e, t) { (0, i.default)(t).remove() })) }, _clearItemNodeTemplates: function () { (0, d.each)(this.option("items"), (function () { delete this.node })) }, _toggleVisibility: function (e) { this.callBase(e), e && this._updateRootBox() }, _attachClickEvent: o.noop, _optionChanged: function (e) { switch (e.name) { case "rows": case "cols": case "screenByWidth": case "_layoutStrategy": case "singleColumnScreen": this._clearItemNodeTemplates(), this._invalidate(); break; case "width": case "height": this.callBase(e), this._update(); break; case "onLayoutChanged": this._initLayoutChangedAction(); break; case "itemTemplate": this._clearItemNodeTemplates(), this.callBase(e); break; case "currentScreenFactor": break; default: this.callBase(e) } }, _dimensionChanged: function () { this._getCurrentScreen() !== this.option("currentScreenFactor") && this._update() }, repaint: function () { this._update() } }); (0, u.default)("dxResponsiveBox", m); var _ = m; t.default = _, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = c(n(2)), o = c(n(11)), s = c(n(57)), r = c(n(243)), l = c(n(82)), d = c(n(166)); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function f(e, t, n) { return (f = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = _(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function p(e, t) { return (p = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function g(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = _(e); if (t) { var a = _(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return m(this, n) } } function m(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function _(e) { return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var v = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && p(e, t) }(s, e); var t, n, i, o = g(s); function s() { return u(this, s), o.apply(this, arguments) } return t = s, (n = [{ key: "_getDefaultOptions", value: function () { return f(_(s.prototype), "_getDefaultOptions", this).call(this) } }, { key: "_init", value: function () { f(_(s.prototype), "_init", this).call(this), l.default.addGroup(this) } }, { key: "_initMarkup", value: function () { var e = this.$element(); e.addClass("dx-validationgroup"), e.find(".".concat("dx-validator")).each((function (e, t) { d.default.getInstance((0, a.default)(t))._initGroupRegistration() })), e.find(".".concat("dx-validationsummary")).each((function (e, t) { r.default.getInstance((0, a.default)(t))._initGroupRegistration() })), f(_(s.prototype), "_initMarkup", this).call(this) } }, { key: "validate", value: function () { return l.default.validateGroup(this) } }, { key: "reset", value: function () { return l.default.resetGroup(this) } }, { key: "_dispose", value: function () { l.default.removeGroup(this), this.$element().removeClass("dx-validationgroup"), f(_(s.prototype), "_dispose", this).call(this) } }, { key: "_useTemplates", value: function () { return !1 } }]) && h(t.prototype, n), i && h(t, i), s }(s.default); (0, o.default)("dxValidationGroup", v); var y = v; t.default = y, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; var i = n(1), a = s(n(16)), o = s(n(464)); function s(e) { return e && e.__esModule ? e : { default: e } } var r = (0, i.extend)({}, o.default.extenders.controllers.editing); delete r.processItems, delete r.processDataItem, a.default.registerModule("validating", { defaultOptions: o.default.defaultOptions, controllers: o.default.controllers, extenders: { controllers: { editing: r, editorFactory: o.default.extenders.controllers.editorFactory }, views: o.default.extenders.views } }) }, function (e, t, n) { "use strict"; t.default = void 0; var i = I(n(2)), a = I(n(5)), o = I(n(24)), s = I(n(22)), r = n(62), l = n(4), d = n(3), c = n(0), u = n(1), h = n(51), f = I(n(10)), p = I(n(35)), g = I(n(23)), m = I(n(82)), _ = I(n(166)), v = I(n(465)), y = I(n(69)), w = I(n(17)), x = n(6), b = I(n(63)), C = n(31), k = I(n(15)); function I(e) { return e && e.__esModule ? e : { default: e } } function S(e) { return function (e) { if (Array.isArray(e)) return E(e) }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) }(e) || function (e, t) { if (!e) return; if ("string" == typeof e) return E(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n || "Set" === n) return Array.from(e); if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return E(e, t) }(e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") }() } function E(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } var D = ["popup", "form"], T = "valid", A = "invalid", O = "pending", B = function (e) { return (0, c.isDefined)(e) && "cancel" !== e }, M = function (e, t) { return void 0 !== e || void 0 === e && t && !t.isNewRow }, P = { defaultOptions: function () { return { editing: { texts: { validationCancelChanges: f.default.format("dxDataGrid-validationCancelChanges") } } } }, controllers: { validating: o.default.Controller.inherit({ init: function () { this._editingController = this.getController("editing"), this.createAction("onRowValidating"), this._validationState || (this._validationState = []) }, _rowIsValidated: function (e) { var t = this._getValidationData(null == e ? void 0 : e.key); return !!t && !!t.validated }, _getValidationData: function (e, t) { var n = this._validationState.filter((function (t) { return t.key === e }))[0]; return !n && t && (n = { key: e, isValid: !0 }, this._validationState.push(n)), n }, _getBrokenRules: function (e, t) { return t ? t.brokenRules || t.brokenRule && [t.brokenRule] : e.brokenRules || [] }, _rowValidating: function (e, t) { var n = new x.Deferred, i = this._editingController.getChangeByKey(null == e ? void 0 : e.key), a = this._getBrokenRules(e, t), o = { brokenRules: a, isValid: t ? t.isValid : e.isValid, key: i.key, newData: i.data, oldData: this._editingController._getOldData(i.key), promise: null, errorText: this.getHiddenValidatorsErrorText(a) }; return this.executeAction("onRowValidating", o), (0, x.when)(o.promise).always((function () { e.isValid = o.isValid, e.errorText = o.errorText, n.resolve(o) })), n.promise() }, getHiddenValidatorsErrorText: function (e) { var t = []; return (0, d.each)(e, (function (e, n) { var i = n.column, a = i && void 0 !== i.groupIndex && !i.showWhenGrouped, o = i && i.visible; n.validator.$element().parent().length || o && !a || t.push(n.message) })), t.join(", ") }, validate: function (e) { var t = this, n = !0, i = this._editingController, a = new x.Deferred, o = [], s = i.getEditMode(); if (e = e || "row" === s, this._isValidationInProgress) return a.resolve(!1).promise(); if (this._isValidationInProgress = !0, e) { i.addDeferred(a); var r = i.getChanges(); (0, d.each)(r, (function (e, i) { var a = i.type, s = i.key; if ("remove" !== a) { var r = t._getValidationData(s), l = t.validateGroup(r); o.push(l), l.done((function (e) { r.validated = !0, n = n && e.isValid })) } })) } else if (this._currentCellValidator) { var l = this.validateGroup(this._currentCellValidator._findGroup()); o.push(l), l.done((function (e) { n = e.isValid })) } return x.when.apply(void 0, o).done((function () { t._isValidationInProgress = !1, a.resolve(n) })), a.promise() }, validateGroup: function (e) { var t, n, i = this, a = new x.Deferred, o = e && m.default.getGroupConfig(e); return null != o && o.validators.length && (this.resetRowValidationResults(e), n = m.default.validateGroup(e)), (0, x.when)((null === (t = n) || void 0 === t ? void 0 : t.complete) || n).done((function (t) { (0, x.when)(i._rowValidating(e, t)).done(a.resolve) })), a.promise() }, isRowDataModified: function (e) { return !(0, c.isEmptyObject)(e.data) }, updateValidationState: function (e) { var t = this._editingController.getEditMode(), n = e.key, i = this._getValidationData(n, !0); if (-1 === D.indexOf(t)) { if ("insert" === e.type && !this.isRowDataModified(e)) return void (i.isValid = !0); if (this.setDisableApplyValidationResults(!0), m.default.getGroupConfig(i)) { var a = m.default.validateGroup(i); (0, x.when)(a.complete || a).done((function (e) { i.isValid = e.isValid, i.brokenRules = e.brokenRules })) } else i.brokenRules && i.brokenRules.length || (i.isValid = !0); this.setDisableApplyValidationResults(!1) } else i.isValid = !0 }, setValidator: function (e) { this._currentCellValidator = e }, renderCellPendingIndicator: function (e) { var t = e.find(".dx-pending-indicator"); if (!t.length) { var n = e; t = (0, i.default)("<div>").appendTo(n).addClass("dx-pending-indicator"), this._createComponent(t, b.default), e.addClass("dx-validation-pending") } }, disposeCellPendingIndicator: function (e) { var t = e.find(".dx-pending-indicator"); if (t.length) { var n = b.default.getInstance(t); n && (n.dispose(), n.$element().remove()), e.removeClass("dx-validation-pending") } }, validationStatusChanged: function (e) { var t = e.validator, n = t.option("validationGroup"), i = t.option("dataGetter")().column; this.updateCellValidationResult({ rowKey: n.key, columnIndex: i.index, validationResult: e }) }, validatorInitialized: function (e) { e.component.on("validating", this.validationStatusChanged.bind(this)), e.component.on("validated", this.validationStatusChanged.bind(this)) }, validatorDisposing: function (e) { var t = e.component, n = t.option("validationGroup"), i = t.option("dataGetter")().column, a = this.getCellValidationResult({ rowKey: null == n ? void 0 : n.key, columnIndex: i.index }); B(a) && a.status === O && this.cancelCellValidationResult({ change: n, columnIndex: i.index }) }, applyValidationResult: function (e, t) { var n = t.validator, i = n.option("validationGroup"), o = n.option("dataGetter")().column; if (t.brokenRules && t.brokenRules.forEach((function (e) { e.columnIndex = o.index, e.column = o })), e) { var s = this.getCellValidationResult({ rowKey: i.key, columnIndex: o.index }), r = B(s) && s.disabledPendingId === t.id; if (this._disableApplyValidationResults || r) return; if (t.status === A) { var l = e.find(":focus"); (0, h.focused)(l) || (a.default.trigger(l, "focus"), a.default.trigger(l, g.default.down)) } var d = !o.editCellTemplate && this.getController("editorFactory").getEditorInstance(e); t.status === O ? d ? d.option("validationStatus", O) : this.renderCellPendingIndicator(e) : d ? d.option("validationStatus", T) : this.disposeCellPendingIndicator(e), e.toggleClass(this.addWidgetPrefix("invalid"), t.status === A) } }, createValidator: function (e, t) { var n = this, a = this._editingController, o = e.column, s = o.showEditorAlways; if (!(0, c.isDefined)(o.command) && o.validationRules && Array.isArray(o.validationRules) && o.validationRules.length) { var d = a.getIndexByKey(e.key, a.getChanges()) > -1; if (!d) { if (!s) { var h = this.getController("columns"); s = ((null == h ? void 0 : h.getVisibleColumns()) || []).some((function (e) { return e.showEditorAlways })) } var f = (0, l.equalByValue)(this.option("editing.editRowKey"), e.key), p = a.isCellOrBatchEditMode() && a.allowUpdating({ row: e.row }); d = f || p && s, p && s && a._addInternalData({ key: e.key, oldData: e.data }) } if (d) { if (t && !t.length) return void w.default.log("E1050"); var g = this._getValidationData(e.key, !0), m = function () { var t = a.getChangeByKey(null == g ? void 0 : g.key), n = o.calculateCellValue((null == t ? void 0 : t.data) || {}); return void 0 !== n ? n : e.value }, v = t && t.hasClass("dx-widget"); t && t.addClass(this.addWidgetPrefix("validator")); var y = new _.default(t || (0, i.default)("<div>"), { name: o.caption, validationRules: (0, u.extend)(!0, [], o.validationRules), validationGroup: g, adapter: v ? null : { getValue: m, applyValidationResults: function (e) { n.applyValidationResult(t, e) } }, dataGetter: function () { var e = null == g ? void 0 : g.key, t = a.getChangeByKey(e), n = a._getOldData(e); return { data: (0, r.createObjectWithChanges)(n, null == t ? void 0 : t.data), column: o } }, onInitialized: this.validatorInitialized.bind(this), onDisposing: this.validatorDisposing.bind(this) }); if (v) { var x = y.option("adapter"); x && (x.getValue = m, x.validationRequestsCallbacks = []) } return y } } }, setDisableApplyValidationResults: function (e) { this._disableApplyValidationResults = e }, getDisableApplyValidationResults: function () { return this._disableApplyValidationResults }, isCurrentValidatorProcessing: function (e) { var t = e.rowKey, n = e.columnIndex; return this._currentCellValidator && this._currentCellValidator.option("validationGroup").key === t && this._currentCellValidator.option("dataGetter")().column.index === n }, validateCell: function (e) { var t = { rowKey: e.option("validationGroup").key, columnIndex: e.option("dataGetter")().column.index }, n = this.getCellValidationResult(t), i = B(n); i || (n = e.validate()); var a = new x.Deferred, o = e.option("adapter"); return i && n.status === O && (this.updateCellValidationResult(t), o.applyValidationResults(n)), (0, x.when)(n.complete || n).done((function (e) { i && o.applyValidationResults(e), a.resolve(e) })), a.promise() }, updateCellValidationResult: function (e) { var t = e.rowKey, n = e.columnIndex, i = e.validationResult, a = this._getValidationData(t); if (a) { var o; if (a.validationResults || (a.validationResults = {}), i) { if (o = (0, u.extend)({}, i), a.validationResults[n] = o, i.status === O && ("cell" === this._editingController.getEditMode() && (o.deferred = new x.Deferred, o.complete.always((function () { o.deferred.resolve() })), this._editingController.addDeferred(o.deferred)), this._disableApplyValidationResults)) return void (o.disabledPendingId = i.id) } else o = a.validationResults[n]; o && o.disabledPendingId && delete o.disabledPendingId } }, getCellValidationResult: function (e) { var t, n = e.rowKey, i = e.columnIndex, a = this._getValidationData(n, !0); return null == a ? void 0 : null === (t = a.validationResults) || void 0 === t ? void 0 : t[i] }, removeCellValidationResult: function (e) { var t = e.change, n = e.columnIndex, i = this._getValidationData(null == t ? void 0 : t.key); i && i.validationResults && (this.cancelCellValidationResult({ change: t, columnIndex: n }), delete i.validationResults[n]) }, cancelCellValidationResult: function (e) { var t = e.change, n = e.columnIndex, i = this._getValidationData(t.key); if (t && i.validationResults) { var a = i.validationResults[n]; a && (a.deferred && a.deferred.reject("cancel"), i.validationResults[n] = "cancel") } }, resetRowValidationResults: function (e) { e && (e.validationResults && delete e.validationResults, delete e.validated) }, isInvalidCell: function (e) { var t = e.rowKey, n = e.columnIndex, i = this.getCellValidationResult({ rowKey: t, columnIndex: n }); return B(i) && i.status === A }, getCellValidator: function (e) { var t = e.rowKey, n = e.columnIndex, i = this._getValidationData(t), a = i && m.default.getGroupConfig(i), o = a && a.validators; return o && o.filter((function (e) { var t = e.option("dataGetter")().column; return !!t && t.index === n }))[0] }, setCellValidationStatus: function (e) { var t = this.getCellValidationResult({ rowKey: e.key, columnIndex: e.column.index }); (0, c.isDefined)(t) ? e.validationStatus = "cancel" !== t ? t.status : "cancel" : delete e.validationStatus } }) }, extenders: { controllers: { editing: { _addChange: function (e, t) { var n = this.callBase(e, t), i = this.getController("validating"); if (n >= 0 && "remove" !== e.type) { var a = this.getChanges()[n]; a && i.updateValidationState(a) } return n }, _handleChangesChange: function (e) { this.callBase.apply(this, arguments); var t = this.getController("validating"); e.value.forEach((function (e) { void 0 === t._getValidationData(e.key) && t.updateValidationState(e) })) }, _updateRowAndPageIndices: function () { var e = this, t = this, n = t.getView("rowsView").getTopVisibleItemIndex(), i = n; (0, d.each)(t.getChanges(), (function (a, o) { var s = o.key, r = o.type, l = e.getController("validating")._getValidationData(s); l && !l.isValid && l.pageIndex !== t._pageIndex && (l.pageIndex = t._pageIndex, l.rowIndex = "insert" === r ? n : i, i++) })) }, getEditFormOptions: function (e) { var t = this.callBase.apply(this, arguments), n = this.getController("validating"), i = n._getValidationData(e.key, !0); return (0, u.extend)({}, t, { validationGroup: i }) }, _updateEditRowCore: function (e, t, n) { this.callBase.apply(this, arguments), n && this._editForm && !e.isNewRow && this._editForm.validate() }, _needInsertItem: function (e) { var t = e.key, n = this.callBase.apply(this, arguments), i = this.getController("validating")._getValidationData(t); return !n || null != i && i.isValid || (n = t.pageIndex === this._pageIndex), n }, _prepareEditCell: function (e) { var t = this.callBase.apply(this, arguments), n = this.getController("validating"); return t && e.column.showEditorAlways && n.updateValidationState({ key: e.key }), t }, processItems: function (e, t) { var n, i = this.getChanges(), a = this.getController("data"), o = this.getController("validating"), s = (e = this.callBase(e, t)).length, r = function (t, n) { var i = { key: t.key }; if (!(function (e, t) { var n = -1, i = "insert" === e.type, o = e.key; return (0, d.each)(t, (function (e, t) { if ((0, l.equalByValue)(o, i ? t : a.keyOf(t))) return n = e, !1 })), n }(t, e) >= 0)) { n.rowIndex = n.rowIndex > s ? n.rowIndex % s : n.rowIndex; var o = n.rowIndex; i.__DX_INSERT_INDEX__ = 1, e.splice(o, 0, i) } }; if ("batch" === this.getEditMode() && "prepend" !== t && "append" !== t) for (n = 0; n < i.length; n++) { var c = i[n].key, u = o._getValidationData(c); u && i[n].type && u.pageIndex === this._pageIndex && c.pageIndex !== this._pageIndex && r(i[n], u) } return e }, processDataItem: function (e) { var t = e.data.__DX_INSERT_INDEX__, n = t ? e.data.key : e.key, i = this.getEditMode(); if ("batch" === i && t && n) { var a = this.getChanges(), o = s.default.getIndexByKey(n, a); if (o >= 0) { var r = a[o]; if ("insert" !== r.type) { var l = this._getOldData(r.key); e.data = (0, u.extend)(!0, {}, l, r.data), e.key = n } } } this.callBase.apply(this, arguments) }, _createInvisibleColumnValidators: function (e) { var t = this, n = this, i = this.getController("validating"), a = this.getController("columns"), o = a.getColumns(), s = a.getInvisibleColumns().filter((function (e) { return !e.isBand })), l = a.getGroupColumns().filter((function (e) { return !e.showWhenGrouped && -1 === s.indexOf(e) })), c = []; return s.push.apply(s, S(l)), -1 === D.indexOf(this.getEditMode()) && (0, d.each)(o, (function (a, o) { e.forEach((function (e) { var a; if (!function (e, n) { return t._dataController.getRowIndexByKey(n) >= 0 && s.indexOf(e) < 0 }(o, e.key)) { if ("insert" === e.type) a = e.data; else if ("update" === e.type) { var l = n._getOldData(e.key); a = (0, r.createObjectWithChanges)(l, e.data) } if (a) { var d = i.createValidator({ column: o, key: e.key, value: o.calculateCellValue(a) }); d && c.push(d) } } })) })), function () { c.forEach((function (e) { e.dispose() })) } }, _beforeSaveEditData: function (e, t) { var n = this, i = this.callBase.apply(this, arguments), a = this.getController("validating"), o = a._getValidationData(null == e ? void 0 : e.key); if (e) { var s = "remove" === e.type || o.isValid; i = i || !s } else { var r = this._createInvisibleColumnValidators(this.getChanges()); i = new x.Deferred, this.executeOperation(i, (function () { a.validate(!0).done((function (e) { switch (r(), n._updateRowAndPageIndices(), n.getEditMode()) { case "cell": e || n._focusEditingCell(); break; case "batch": e || (n._resetEditRowKey(), n._resetEditColumnName(), n.getController("data").updateItems()) }i.resolve(!e) })) })) } return i.promise ? i.promise() : i }, _beforeEditCell: function (e, t, n) { var i = this.callBase(e, t, n); if ("cell" === this.getEditMode()) { var a = this._rowsView._getCellElement(e, t), o = a && a.data("dxValidator"), s = a && a.closest(".dx-row").data("options"), r = o && o.option("adapter").getValue(); if (o && M(r, s)) { var l = this.getController("validating"), d = new x.Deferred; return (0, x.when)(l.validateCell(o), i).done((function (e, t) { d.resolve(e.status === T && t) })), d.promise() } if (!o) return i } }, _afterSaveEditData: function (e) { var t, n = this; if ((0, d.each)(this.getChanges(), (function (e, i) { var a = n._showErrorRow(i); t = t || a })), t) { var i = this._rowsView.getScrollable(); i && (i.update(), i.scrollToElement(t)) } if (e && "cell" === this.getEditMode() && this._needUpdateRow()) { var a = this.getEditRowIndex(); this._dataController.updateItems({ changeType: "update", rowIndices: [a] }), this._focusEditingCell() } else e || (this.getController("validating")._validationState = []) }, _handleDataChanged: function (e) { var t = this.getController("validating")._validationState; "standard" === this.option("scrolling.mode") && this.resetRowAndPageIndices(), "prepend" === e.changeType && (0, d.each)(t, (function (t, n) { n.rowIndex += e.items.length })), this.callBase(e) }, resetRowAndPageIndices: function () { var e = this, t = this.getController("validating")._validationState; (0, d.each)(t, (function (t, n) { n.pageIndex !== e._pageIndex && (delete n.pageIndex, delete n.rowIndex) })) }, _beforeCancelEditData: function () { this.getController("validating")._validationState = [], this.callBase() }, _showErrorRow: function (e) { var t, n = this.getController("errorHandling"), i = this.getController("data").items(), a = this.getIndexByKey(e.key, i), o = this.getController("validating")._getValidationData(e.key); if ((null == o || !o.isValid) && null != o && o.errorText && a >= 0) return t = this.getPopupContent(), n && n.renderErrorRow(null == o ? void 0 : o.errorText, a, t) }, updateFieldValue: function (e) { var t = this, n = this.getController("validating"), i = new x.Deferred; return n.removeCellValidationResult({ change: this.getChangeByKey(e.key), columnIndex: e.column.index }), this.callBase.apply(this, arguments).done((function () { var a = n.getCellValidator({ rowKey: e.key, columnIndex: e.column.index }); (0, x.when)(a && n.validateCell(a)).done((function (e) { t.getController("editorFactory").refocus(), i.resolve(e) })) })), i.promise() }, highlightDataCell: function (e, t) { this.callBase.apply(this, arguments); var n = this.getController("validating"); n.setCellValidationStatus(t); var i = !!t.setValue, a = this.isCellModified(t), o = (0, c.isDefined)(t.validationStatus), s = a && t.column.setCellValue || i && !a && !(t.row.isNewRow || !o); if (s) { var r = e.data("dxValidator"); r && (0, x.when)(this.getController("validating").validateCell(r)).done((function () { n.setCellValidationStatus(t) })) } }, getChangeByKey: function (e) { var t = this.getChanges(); return t[s.default.getIndexByKey(e, t)] }, isCellModified: function (e) { var t = this.callBase(e), n = this.getChangeByKey(e.key), i = !!e.row && this.getController("validating").isInvalidCell({ rowKey: e.key, columnIndex: e.column.index }); return t || this.getController("validating")._rowIsValidated(n) && i } }, editorFactory: { _showRevertButton: function (e) { var t = this; if (e && e.length) { var n = e.find("." + this.addWidgetPrefix("revert-tooltip")); n && n.remove(), n = (0, i.default)("<div>").addClass(this.addWidgetPrefix("revert-tooltip")).appendTo(e); var a = { animation: null, visible: !0, target: e, container: e, closeOnOutsideClick: !1, closeOnTargetScroll: !1, contentTemplate: function () { var e = (0, i.default)("<div>").addClass("dx-revert-button"), n = { icon: "revert", hint: t.option("editing.texts.validationCancelChanges"), onClick: function () { t._editingController.cancelEditData() } }; return new p.default(e, n).$element() }, position: { my: "left top", at: "right top", of: e, offset: "1 0", collision: "flip", boundary: this._rowsView.element() }, onPositioned: this._positionedHandler.bind(this) }; return new v.default(n, a) } }, _hideFixedGroupCell: function (e, t) { var n, a, o = this._rowsView.isFixedColumns(), s = this._editingController.isFormEditMode(); if (o && !s) { var r = e.closest(".dx-row").next().data("options"); r && "group" === r.rowType && (n = (0, i.default)(this._rowsView.getRowElement(r.rowIndex)).last(), (a = n.find(".dx-group-cell")).length && "hidden" !== a.get(0).style.visibility && (a.css("visibility", "hidden"), t.onDisposing = function () { a.css("visibility", "") })) } }, _positionedHandler: function (e, t) { if (!e.component.__skipPositionProcessing) { var n = (0, i.default)(e.element).hasClass(this.addWidgetPrefix("revert-tooltip")), a = !n && this._rowsView.updateFreeSpaceRowHeight(), o = this._normalizeValidationMessagePositionAndMaxWidth(e, n, t); e.component.__skipPositionProcessing = !(!a && !o), o ? e.component.option(o) : a && e.component.repaint() } }, _showValidationMessage: function (e, t, n, a) { var o = this, s = e.find(".dx-dropdowneditor-overlay").data("dxPopup"), r = s && s.option("visible"), l = r ? "top right" : "top " + n, d = r ? "top left" : "bottom " + n, c = e.closest(".".concat(this.addWidgetPrefix("content"))), u = ""; t && t.forEach((function (e) { u += (u.length ? "<br/>" : "") + (0, C.encodeHtml)(e) })); var h = (0, i.default)("<div>").addClass("dx-invalid-message").addClass("dx-invalid-message-always").addClass(this.addWidgetPrefix("invalid-message")).html(u).appendTo(e), f = { target: e, container: c, shading: !1, width: "auto", height: "auto", visible: !0, animation: !1, propagateOutsideClick: !0, closeOnOutsideClick: !1, closeOnTargetScroll: !1, position: { collision: "flip", boundary: this._rowsView.element(), boundaryOffset: "0 0", offset: { x: 0, y: r || !k.default.mozilla && !k.default.msie ? 0 : -1 }, my: l, at: d }, onPositioned: function (t) { o._positionedHandler(t, r), o._shiftValidationMessageIfNeed(t.component.$content(), a && a.$content(), e) } }; this._hideFixedGroupCell(e, f), new y.default(h, f) }, _normalizeValidationMessagePositionAndMaxWidth: function (e, t, n) { var a = this._columnsController.getFixedColumns(); if (a && a.length) { var o, s, r, l, d, c = !t && (s = this, r = e.element, l = (0, i.default)(r).closest("tr").index(), d = (0, i.default)(s._rowsView.getRowElement(l)).first().children().filter(":not(.dx-hidden-cell)"), s._rowsView._getWidths(d).reduce((function (e, t) { return e + t }), 0)), u = (t ? e.component.overlayContent() : e.component.$content()).outerWidth(!0), h = !t && u > c, f = this._rowsView.getCellIndex((0, i.default)(e.element).closest("td")), p = function (e) { var t, n; return e.some((function (i, a) { if ("transparent" === i.command) return t = 0 === a ? -1 : a, n = a === e.length - 1 ? -1 : a + i.colspan - 1, !0 })), { startColumnIndex: t, endColumnIndex: n } }(a); return t || f !== p.startColumnIndex && !h ? f === p.endColumnIndex && (o = { collision: "none flip", my: "top right", at: t || n ? "top left" : "bottom right" }, t && (o.offset = "-1 0")) : o = { collision: "none flip", my: "top left", at: n ? "top right" : "bottom left" }, o && { position: o, maxWidth: h ? c - 2 : void 0 } } }, _shiftValidationMessageIfNeed: function (e, t, n) { if (t) { var i = e.offset(), a = t.offset(); if (i.top === a.top && i.left + e.width() > a.left) { var o = t.width() + 2; e.css("left", a.left < n.offset().left ? -o : o) } } }, _getTooltipsSelector: function () { var e = this.addWidgetPrefix("invalid-message"); return ".dx-editor-cell ." + this.addWidgetPrefix("revert-tooltip") + ", .dx-editor-cell ." + e + ", .dx-cell-modified ." + e }, init: function () { this.callBase(), this._editingController = this.getController("editing"), this._columnsController = this.getController("columns"), this._rowsView = this.getView("rowsView") }, loseFocus: function (e) { e || this.getController("validating").setValidator(null), this.callBase() }, updateCellState: function (e, t, n) { var i, a = null == e ? void 0 : e.closest(this._getFocusCellSelector()), o = null != a && a.is("td") ? a : null, s = null == a ? void 0 : a.closest(".dx-row").data("options"), r = s ? this.getController("editing").getChangeByKey(s.key) : null, l = o && this.getController("columns").getVisibleColumns()[o.index()]; if ((t && t.status === A || "update" === (null == r ? void 0 : r.type) && !this._editingController.isSaving()) && "cell" === this._editingController.getEditMode() && (i = this._showRevertButton(a)), t && t.status === A && o && l && t && t.brokenRules) { var d = []; t.brokenRules.forEach((function (e) { d.push(e.message) })), this._showValidationMessage(a, d, l.alignment || "left", i) } !n && this._rowsView.element() && this._rowsView.updateFreeSpaceRowHeight() }, focus: function (e, t) { var n = this; if (!arguments.length) return this.callBase(); var i = e && e.closest("." + this.addWidgetPrefix("rowsview")).find(this._getTooltipsSelector()); if (i && i.remove(), null != e && e.hasClass("dx-row")) return this.callBase(e, t); var a, o = null == e ? void 0 : e.closest(this._getFocusCellSelector()), s = this.callBase, r = o && (o.data("dxValidator") || e.find("." + this.addWidgetPrefix("validator")).eq(0).data("dxValidator")), l = o && o.closest(".dx-row").data("options"), d = this.getController("editing"), c = l ? d.getChangeByKey(l.key) : null, u = o && o.is("td") ? o : null, h = u && this.getController("columns").getVisibleColumns()[u.index()], f = this.getController("validating"); if (r) { f.setValidator(r); var p = r.option("adapter").getValue(); if (M(p, l) || f._rowIsValidated(c)) return d.waitForDeferredOperations().done((function () { (0, x.when)(f.validateCell(r)).done((function (i) { a = i, c && h && !f.isCurrentValidatorProcessing({ rowKey: c.key, columnIndex: h.index }) || (a.status === A && (t = !0), n.updateCellState(e, a, t), s.call(n, e, t)) })) })), this.callBase(e, t) } return this.updateCellState(e, a, t), this.callBase(e, t) }, getEditorInstance: function (e) { var t = e.find(".dx-texteditor").eq(0); return s.default.getWidgetInstance(t) } }, data: { _isCellChanged: function (e, t, n, a, o) { var s = e.cells[a], r = s && s.validationStatus, l = this.getController("validating"), d = l.getCellValidationResult({ rowKey: e.key, columnIndex: a }), c = l._getValidationData(e.key), u = B(d) ? d.status : d, h = JSON.stringify(t.modifiedValues) !== JSON.stringify(e.modifiedValues), f = (0, i.default)(null == s ? void 0 : s.cellElement).hasClass(this.addWidgetPrefix("invalid")); return !!(r !== u && h || c.isValid && f) || this.callBase.apply(this, arguments) } } }, views: { rowsView: { updateFreeSpaceRowHeight: function (e) { var t, n, i, a = this.element(), o = a && a.find("." + this.addWidgetPrefix("invalid-message") + " .dx-overlay-content"); if (this.callBase(e), o && o.length && (t = this._getRowElements(), (n = (i = this._getFreeSpaceRowElements(e)).first()) && 1 === t.length && (!n.is(":visible") || o.outerHeight() > n.outerHeight()))) return i.show(), i.height(o.outerHeight()), !0 }, _formItemPrepared: function (e, t) { var n = this; this.callBase.apply(this, arguments), (0, l.deferUpdate)((function () { var i = t.find(".dx-widget").first(); i.length && !i.children().length || n.getController("validating").createValidator(e, i) })) }, _cellPrepared: function (e, t) { this.getController("editing").isFormEditMode() || this.getController("validating").createValidator(t, e), this.callBase.apply(this, arguments) } } } } }; t.default = P, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(466)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = d(n(2)), a = d(n(36)), o = d(n(11)), s = n(1), r = d(n(160)), l = n(0); function d(e) { return e && e.__esModule ? e : { default: e } } var c = r.default.inherit({ _getDefaultOptions: function () { return (0, s.extend)(this.callBase(), { toolbarItems: [], showCloseButton: !1, showTitle: !1, title: null, titleTemplate: null, onTitleRendered: null, bottomTemplate: null, propagateOutsideClick: !0 }) }, _render: function () { this.$element().addClass("dx-tooltip"), this._wrapper().addClass("dx-tooltip-wrapper"), this.callBase() }, _renderContent: function () { this.callBase(), this._contentId = "dx-" + new a.default, this._$content.attr({ id: this._contentId, role: "tooltip" }), this._toggleAriaDescription(!0) }, _toggleAriaDescription: function (e) { var t = (0, i.default)(this.option("target")), n = e ? this._contentId : void 0; (0, l.isWindow)(t.get(0)) || this.setAria("describedby", n, t) } }); (0, o.default)("dxTooltip", c); var u = c; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; var i = r(n(16)), a = r(n(232)), o = r(n(468)), s = n(1); function r(e) { return e && e.__esModule ? e : { default: e } } var l = o.default.defaultOptions, d = o.default.extenders.controllers.data, c = o.default.extenders.dataSourceAdapter; o.default.extenders.controllers.data = (0, s.extend)({}, d, { _loadOnOptionChange: function () { var e = this._dataSource && this._dataSource._virtualScrollController; e && e.reset(), this.callBase() } }), o.default.extenders.dataSourceAdapter = (0, s.extend)({}, c, { changeRowExpand: function () { var e = this; return this.callBase.apply(this, arguments).done((function () { var t = e.getViewportItemIndex(); t >= 0 && e.setViewportItemIndex(t) })) } }), i.default.registerModule("virtualScrolling", (0, s.extend)({}, o.default, { defaultOptions: function () { return (0, s.extend)(!0, l(), { scrolling: { mode: "virtual" } }) } })), a.default.extend(o.default.extenders.dataSourceAdapter) }, function (e, t, n) { "use strict"; t.default = void 0; var i = g(n(2)), a = n(7), o = n(4), s = n(201), r = g(n(22)), l = n(3), d = n(6), c = n(30), u = g(n(63)), h = g(n(15)), f = n(25), p = n(0); function g(e) { return e && e.__esModule ? e : { default: e } } var m, _, v, y, w = function (e) { return "virtual" === e.option("scrolling.mode") }, x = function (e) { return "infinite" === e.option("scrolling.mode") }, b = function (e) { var t = e.option("scrolling.rowRenderingMode"); return "virtual" === t || "standard" !== t && void 0 }, C = function (e, t, n, i) { for (var a = 0; a < t + 1; a++) { var o = e[n ? e.length - 1 - a : a]; o && !i(o, a === t, n) && t++ } return t }, k = function (e, t) { return "data" === e.rowType && !e.isNewRow || "group" === e.rowType && t.isGroupItemCountable(e.data) }, I = (m = function (e) { var t = e._virtualScrollController.beginPageIndex(-1); w(e) && (t < 0 || e.viewportSize() >= 0 && e.getViewportItemIndex() >= 0 && (t * e.pageSize() > e.getViewportItemIndex() || t * e.pageSize() + e.itemsCount() < e.getViewportItemIndex() + e.viewportSize()) && e._dataSource.isLoading() ? e._isLoading || (e._isLoading = !0, e.loadingChanged.fire(!0)) : e._isLoading && (e._isLoading = !1, e.loadingChanged.fire(!1))) }, _ = { init: function (e) { var t = this; t.callBase.apply(t, arguments), t._items = [], t._isLoaded = !0, t._virtualScrollController = new s.VirtualScrollController(t.component, { pageSize: function () { return t.pageSize() }, totalItemsCount: function () { return t.totalItemsCount() }, hasKnownLastPage: function () { return t.hasKnownLastPage() }, pageIndex: function (t) { return e.pageIndex(t) }, isLoading: function () { return e.isLoading() && !t.isCustomLoading() }, pageCount: function () { return t.pageCount() }, load: function () { return e.load() }, updateLoading: function () { m(t) }, itemsCount: function () { return t.itemsCount(!0) }, items: function () { return e.items() }, viewportItems: function (e) { return e && (t._items = e), t._items }, onChanged: function (e) { t.changed.fire(e) }, changingDuration: function (e) { return t.isLoading() ? 300 : t._renderTime || 0 } }) }, _handleLoadingChanged: function (e) { w(this) && !this._isLoadingAll || (this._isLoading = e, this.callBase.apply(this, arguments)), this._startLoadTime = e ? new Date : void 0 }, _handleLoadError: function () { var e = this; e._isLoading = !1, e.loadingChanged.fire(!1), e.callBase.apply(e, arguments) }, _handleDataChanged: function (e) { var t = this.callBase.bind(this); this._virtualScrollController.handleDataChanged(t, e) }, _customizeRemoteOperations: function (e, t) { var n = this; !n.option("legacyRendering") && w(n) && !t.reload && t.skip && n._renderTime < n.option("scrolling.renderingThreshold") && (e.delay = void 0), n.callBase.apply(n, arguments) }, items: function () { return this._items }, itemsCount: function (e) { return e ? this.callBase() : this._virtualScrollController.itemsCount() }, load: function (e) { return e ? this.callBase(e) : this._virtualScrollController.load() }, isLoading: function () { return this._isLoading }, isLoaded: function () { return this._dataSource.isLoaded() && this._isLoaded }, resetPagesCache: function (e) { e || this._virtualScrollController.reset(!0), this.callBase.apply(this, arguments) }, _changeRowExpandCore: function () { var e = this.callBase.apply(this, arguments); return this.resetPagesCache(), m(this), e }, reload: function () { this._dataSource.pageIndex(this.pageIndex()); var e = this._virtualScrollController; if (e) { var t = new d.Deferred; return this.callBase.apply(this, arguments).done((function (n) { var i = e._delayDeferred; i ? i.done(t.resolve).fail(t.reject) : t.resolve(n) })).fail(t.reject), t } return this.callBase.apply(this, arguments) }, refresh: function (e, t) { var n = this, i = e.storeLoadOptions, a = n._dataSource; return t.reload ? (n._virtualScrollController.reset(), a.items().length = 0, n._isLoaded = !1, m(n), n._isLoaded = !0, x(n) ? (n.pageIndex(0), a.pageIndex(0), i.pageIndex = 0, e.pageIndex = 0, i.skip = 0) : (a.pageIndex(n.pageIndex()), a.paginate() && (e.pageIndex = n.pageIndex(), i.skip = n.pageIndex() * n.pageSize()))) : x(n) && i.skip && n._skipCorrection < 0 && (i.skip += n._skipCorrection), n.callBase.apply(n, arguments) }, dispose: function () { this._virtualScrollController.dispose(), this.callBase.apply(this, arguments) } }, ["virtualItemsCount", "getContentOffset", "getVirtualContentSize", "setContentSize", "setViewportPosition", "getViewportItemIndex", "setViewportItemIndex", "getItemIndexByPosition", "viewportSize", "viewportItemSize", "getItemSize", "getItemSizes", "pageIndex", "beginPageIndex", "endPageIndex", "loadIfNeed"].forEach((function (e) { _[e] = function () { var t = this._virtualScrollController; return t[e].apply(t, arguments) } })), _), S = (v = function (e, t) { var n = e.toArray().map((function (e) { return (0, i.default)(e).parent("." + t).get(0) })).filter((function (e) { return e })); n.length && (e = (0, i.default)(n)); for (var a = "dx-freespace-row" === t ? e.length - 1 : e.length, o = 0; o < a; o++)e.eq(o).remove() }, { init: function () { var e, t = this, n = this.getController("data"); this.callBase(), n.pageChanged.add((function () { t.scrollToPage(n.pageIndex()) })), null === (e = n.stateLoaded) || void 0 === e || e.add((function () { t._scrollToCurrentPageOnResize() })), this._scrollToCurrentPageOnResize() }, _scrollToCurrentPageOnResize: function () { var e = this, t = this.getController("data"); !this.option("legacyRendering") && t.pageIndex() > 0 && this.resizeCompleted.add((function n() { e.resizeCompleted.remove(n), e.scrollToPage(t.pageIndex()) })) }, scrollToPage: function (e) { var t, n = this._dataController, i = n ? n.pageSize() : 0; if (w(this) || x(this)) { var a = n.getItemSize(), o = n.getItemSizes(), s = e * i; for (var r in t = s * a, o) r < s && (t += o[r] - a) } else t = 0; this.scrollTo({ y: t, x: this._scrollLeft }) }, renderDelayedTemplates: function (e) { this._updateContentPosition(!0), this.callBase.apply(this, arguments) }, _renderCore: function (e) { var t = this, n = new Date; t.callBase.apply(t, arguments); var i = t._dataController._dataSource; if (i && e) { var a = e.items ? e.items.length : 20, o = t._dataController.viewportSize() || 20; b(t) ? i._renderTime = (new Date - n) * o / a : i._renderTime = new Date - n } }, _getRowElements: function (e) { var t = this.callBase(e); return t && t.not(".dx-virtual-row") }, _renderContent: function (e, t) { var n = this, i = n._dataController.virtualItemsCount(); return i && n.option("legacyRendering") ? ((0, a.hasWindow)() && t.addClass(n.addWidgetPrefix("table-content")), e.children().length ? e.children().first().replaceWith(t) : e.append(t), 1 === e.children("table").length && (e.append(n._createTable()), n._contentHeight = 0), e) : n.callBase.apply(n, arguments) }, _removeRowsElements: function (e, t, n) { var a = this._getRowElements(e).toArray(); a = "append" === n ? a.slice(0, t) : a.slice(-t); var o = this.getController("errorHandling"); a.map((function (e) { var t = (0, i.default)(e); o && o.removeErrorRow(t.next()), t.remove() })) }, _restoreErrorRow: function (e) { var t = this.getController("editing"); t && t.hasChanges() && this._getRowElements(e).each((function (e, n) { var a = (0, i.default)(n).data("options"); if (a) { var o = t.getChangeByKey(a.key); o && t._showErrorRow(o) } })) }, _updateContent: function (e, t) { var n, i = this, a = i._findContentElement(), o = t && t.changeType; if ("append" === o || "prepend" === o) { var s = a.children().first(), r = i._getBodies(e); i.option("legacyRendering") || 1 !== r.length ? r["append" === o ? "appendTo" : "prependTo"](s) : i._getBodies(s)["append" === o ? "append" : "prepend"](r.children()), e.remove(), n = i._getFreeSpaceRowElements(s), v(n, "dx-freespace-row"), t.removeCount && i._removeRowsElements(s, t.removeCount, o), i._restoreErrorRow(s) } else i.callBase.apply(i, arguments); i._updateBottomLoading() }, _addVirtualRow: function (e, t, n, i) { if (i) { var a = this._createEmptyRow("dx-virtual-row", t, i); a = this._wrapRowIfNeed(e, a), this._appendEmptyRow(e, a, n) } }, _getRowHeights: function () { return this._getRowElements(this._tableElement).toArray().map((function (e) { return (0, f.getBoundingRect)(e).height })) }, _correctRowHeights: function (e) { for (var t = this._dataController, n = t._dataSource, i = [], a = t.getVisibleRows(), o = 0, s = !0, r = 0; r < e.length; r++) { var l = a[r]; (0, p.isDefined)(l) && (k(l, n) && (s ? s = !1 : (i.push(o), o = 0)), o += e[r]) } return o > 0 && i.push(o), i }, _updateContentPosition: function (e) { var t = this, n = t._dataController, a = t._rowHeight || 20; if (n.viewportItemSize(a), t.option("legacyRendering") || !w(t) && !b(t)) (0, o.deferUpdate)((function () { t._updateContentPositionCore() })); else { if (!e) { var s = t._getRowHeights(), r = t._correctRowHeights(s); n.setContentSize(r) } var l = n.getContentOffset("begin"), d = n.getContentOffset("end"), c = t.getTableElements(), u = c.children("tbody").children(".dx-virtual-row"); v(u, "dx-virtual-row"), c.each((function (e) { var n = e > 0; t._isFixedTableRendering = n, t._addVirtualRow((0, i.default)(this), n, "top", l), t._addVirtualRow((0, i.default)(this), n, "bottom", d), t._isFixedTableRendering = !1 })) } }, _updateContentPositionCore: function () { var e, t, n, i = this, a = i._rowHeight || 20; if (i._dataController.virtualItemsCount()) { t = i._findContentElement().children(), n = t.eq(0); var s = t.eq(1); i._contentTableHeight = n[0].offsetHeight, i._dataController.viewportItemSize(a), i._dataController.setContentSize(i._contentTableHeight), e = i._dataController.getVirtualContentSize(); var r = i._dataController.getContentOffset(); (0, o.deferRender)((function () { (0, c.move)(n, { left: 0, top: r }), (i._contentHeight !== e || 0 === e || !i._isTableLinesDisplaysCorrect(s) || !i._isColumnElementsEqual(n.find("col"), s.find("col"))) && (i._contentHeight = e, i._renderVirtualTableContent(s, e)) })) } }, _isTableLinesDisplaysCorrect: function (e) { return e.find(".dx-column-lines").length > 0 === this.option("showColumnLines") }, _isColumnElementsEqual: function (e, t) { var n = e.length === t.length; return n && (0, l.each)(e, (function (e, i) { if (i.style.width !== t[e].style.width) return n = !1 })), n }, _renderVirtualTableContent: function (e, t) { for (var n = this._columnsController.getVisibleColumns(), i = this._createColGroup(n).prop("outerHTML"), a = "", o = this.option("showColumnLines") ? "dx-column-lines" : "", s = function (e) { return "<tr style='height:" + e + "px;' class='dx-freespace-row dx-row " + o + "' >" + a + "</tr>" }, r = 0; r < n.length; r++) { var l = this._getCellClasses(n[r]), d = l.length ? " class='" + l.join(" ") + "'" : ""; a += "<td" + d + "/>" } for (; t > 25e4;)i += s(25e4), t -= 25e4; i += s(t), e.addClass(this.addWidgetPrefix("table")), e.html(i) }, _getCellClasses: function (e) { var t = [], n = e.cssClass, i = "expand" === e.command; return n && t.push(n), i && t.push(this.addWidgetPrefix("group-space")), t }, _findBottomLoadPanel: function (e) { var t = e || this.element(), n = t && t.find("." + this.addWidgetPrefix("bottom-load-panel")); if (n && n.length) return n }, _updateBottomLoading: function () { var e = this.option("scrolling.mode"), t = "virtual" === e, n = "infinite" === e, a = !this._dataController.hasKnownLastPage() && this._dataController.isLoaded() && (t || n), o = this._findContentElement(), s = this._findBottomLoadPanel(o); a ? s || (0, i.default)("<div>").addClass(this.addWidgetPrefix("bottom-load-panel")).append(this._createComponent((0, i.default)("<div>"), u.default).$element()).appendTo(o) : s && s.remove() }, _handleScroll: function (e) { var t = this; t._hasHeight && t._rowHeight && t._dataController.setViewportPosition(e.scrollOffset.top), t.callBase.apply(t, arguments) }, _needUpdateRowHeight: function (e) { var t = this; return t.callBase.apply(t, arguments) || e > 0 && "infinite" === t.option("scrolling.mode") && "virtual" !== t.option("scrolling.rowRenderingMode") }, _updateRowHeight: function () { var e = this; if (e.callBase.apply(e, arguments), e._rowHeight) { e._updateContentPosition(); var t = e._hasHeight ? e.element().outerHeight() : (0, i.default)((0, a.getWindow)()).outerHeight(); e._dataController.viewportSize(Math.ceil(t / e._rowHeight)) } }, updateFreeSpaceRowHeight: function () { var e = this.callBase.apply(this, arguments); return e && this._updateContentPosition(), e }, setLoading: function (e, t) { var n = this.callBase, i = this._dataController; i.pageIndex() > 0 && i.isLoaded() && !!this._findBottomLoadPanel() && (e = !1), n.call(this, e, t) }, _resizeCore: function () { var e = this, t = e.element(); e.callBase(), e.component.$element() && !e._windowScroll && t.closest((0, a.getWindow)().document).length && (e._windowScroll = (0, s.subscribeToExternalScrollers)(t, (function (t) { !e._hasHeight && e._rowHeight && e._dataController.setViewportPosition(t) }), e.component.$element()), e.on("disposing", (function () { e._windowScroll.dispose() }))), e.loadIfNeed() }, loadIfNeed: function () { var e = this._dataController; e && e.loadIfNeed && e.loadIfNeed() }, setColumnWidths: function (e) { var t, n = this.getScrollable(); this.callBase.apply(this, arguments), "virtual" === this.option("scrolling.mode") && (t = n ? n.$content() : this.element(), this.callBase(e, t.children("." + this.addWidgetPrefix("content")).children(":not(." + this.addWidgetPrefix("table-content") + ")"))) }, dispose: function () { clearTimeout(this._scrollTimeoutID), this.callBase() } }), E = { defaultOptions: function () { return { scrolling: { timeout: 300, updateTimeout: 300, minTimeout: 0, renderingThreshold: 100, removeInvisiblePages: !0, rowPageSize: 5, mode: "standard", preloadEnabled: !1, rowRenderingMode: "standard", loadTwoPagesOnStart: !1 } } }, extenders: { dataSourceAdapter: I, controllers: { data: (y = { _refreshDataSource: function () { var e = this.callBase.apply(this, arguments) || (new d.Deferred).resolve().promise(); return e.done(this.initVirtualRows.bind(this)), e }, getRowPageSize: function () { var e = this.option("scrolling.rowPageSize"), t = this.pageSize(); return t && t < e ? t : e }, _applyFilter: function () { return this.setViewportPosition(0), this.callBase.apply(this, arguments) }, reload: function () { var e = this, t = e._rowsScrollController || e._dataSource, n = t && t.getItemIndexByPosition(), a = this.callBase.apply(this, arguments); return a && a.done((function () { if (w(e) || b(e)) { var t = e.getRowIndexOffset(), a = Math.floor(n) - t, o = e.component, s = o.getScrollable && o.getScrollable(), r = e.dataSource().operationTypes().sorting; if (s && !e.option("legacyRendering") && !r) { var l = o.getRowElement(a), d = l && l[0] && (0, i.default)(l[0]), c = d && d.position().top; c > (h.default.mozilla || h.default.msie ? 1 : 0) && (c = Math.round(c + d.outerHeight() * (n % 1)), s.scrollTo({ y: c })) } } })) }, initVirtualRows: function () { var e = this, t = b(e); if ("virtual" !== e.option("scrolling.mode") && !0 !== t || !1 === t || e.option("legacyRendering") || !e.option("scrolling.rowPageSize")) return e._visibleItems = null, void (e._rowsScrollController = null); e._rowPageIndex = Math.ceil(e.pageIndex() * e.pageSize() / e.getRowPageSize()), e._visibleItems = []; var n = function (t) { return k(t, e._dataSource) }; e._rowsScrollController = new s.VirtualScrollController(e.component, { pageSize: function () { return e.getRowPageSize() }, totalItemsCount: function () { return w(e) ? e.totalItemsCount() : e._items.filter(n).length }, hasKnownLastPage: function () { return !0 }, pageIndex: function (t) { return void 0 !== t && (e._rowPageIndex = t), e._rowPageIndex }, isLoading: function () { return e.isLoading() }, pageCount: function () { var e = Math.ceil(this.totalItemsCount() / this.pageSize()); return e || 1 }, load: function () { e._rowsScrollController.pageIndex() >= this.pageCount() && (e._rowPageIndex = this.pageCount() - 1, e._rowsScrollController.pageIndex(e._rowPageIndex)), !e._rowsScrollController._dataSource.items().length && this.totalItemsCount() || e._rowsScrollController.handleDataChanged((function (t) { (t = t || {}).changeType = t.changeType || "refresh", t.items = t.items || e._visibleItems, e._visibleItems.forEach((function (e, t) { e.rowIndex = t })), e._fireChanged(t) })) }, updateLoading: function () { }, itemsCount: function () { return e._rowsScrollController._dataSource.items().filter(n).length }, correctCount: function (e, t, i) { return C(e, t, i, (function (e, t, i) { return e.isNewRow ? t && !i : t && i ? !e.isNewRow : n(e) })) }, items: function (t) { var i = e.dataSource(), a = i && i.virtualItemsCount(), o = a ? a.begin : 0, s = e.getRowPageSize(), r = e._rowPageIndex * s - o, l = s, d = e._items; return r < 0 ? [] : (r && (r = this.correctCount(d, r), d = d.slice(r)), l && (l = this.correctCount(d, l), d = d.slice(0, l)), t ? d.filter(n) : d) }, viewportItems: function (t) { return t && (e._visibleItems = t), e._visibleItems }, onChanged: function () { }, changingDuration: function (t) { var n = e.dataSource(); return n.isLoading() ? 300 : (null == n ? void 0 : n._renderTime) || 0 } }, !0), e._rowsScrollController.positionChanged.add((function () { var t; null === (t = e._dataSource) || void 0 === t || t.setViewportItemIndex(e._rowsScrollController.getViewportItemIndex()) })), e.isLoaded() && e._rowsScrollController.load() }, _updateItemsCore: function (e) { var t = this, n = this.getRowIndexDelta(); this.callBase.apply(this, arguments); var i = this._rowsScrollController; if (i) { var a = this._visibleItems, o = "refresh" === e.changeType || e.isLiveUpdate; if ("append" === e.changeType && e.items && !e.items.length) return; o || "append" === e.changeType || "prepend" === e.changeType ? (e.cancel = !0, o && i.reset(!0), i.load()) : ("update" === e.changeType ? e.rowIndices.forEach((function (t, n) { var i = e.changeTypes[n], o = e.items[n]; "update" === i ? a[t] = o : "insert" === i ? a.splice(t, 0, o) : "remove" === i && a.splice(t, 1) })) : (a.forEach((function (e, i) { a[i] = t._items[i + n] || a[i] })), e.items = a), a.forEach((function (e, t) { e.rowIndex = t }))) } }, _applyChange: function (e) { var t = this, n = e.items, i = e.changeType, a = e.removeCount; if (a) { var o = "prepend" === i; a = C(t._items, a, o, (function (e, n) { return "data" === e.rowType && !e.isNewRow || "group" === e.rowType && (t._dataSource.isGroupItemCountable(e.data) || n) })), e.removeCount = a } switch (i) { case "prepend": t._items.unshift.apply(t._items, n), a && t._items.splice(-a); break; case "append": t._items.push.apply(t._items, n), a && t._items.splice(0, a); break; default: t.callBase(e) } }, items: function (e) { return e ? this._items : this._visibleItems || this._items }, getRowIndexDelta: function () { var e = this._visibleItems, t = 0; return e && e[0] && (t = this._items.indexOf(e[0])), t < 0 ? 0 : t }, getRowIndexOffset: function (e) { var t = 0, n = this.dataSource(), i = this._rowsScrollController; return i && !e ? t = i.beginPageIndex() * i._dataSource.pageSize() : "virtual" === this.option("scrolling.mode") && n && (t = n.beginPageIndex() * n.pageSize()), t }, viewportSize: function () { var e = this._rowsScrollController; e && e.viewportSize.apply(e, arguments); var t = this._dataSource; return t && t.viewportSize.apply(t, arguments) }, viewportItemSize: function () { var e = this._rowsScrollController; e && e.viewportItemSize.apply(e, arguments); var t = this._dataSource; return t && t.viewportItemSize.apply(t, arguments) }, setViewportPosition: function () { var e = this._rowsScrollController, t = this._dataSource; e ? e.setViewportPosition.apply(e, arguments) : null == t || t.setViewportPosition.apply(t, arguments) }, setContentSize: function (e) { var t = this._rowsScrollController; t && t.setContentSize(e); var n = this._dataSource; return n && n.setContentSize(e) }, loadIfNeed: function () { var e = this._rowsScrollController; e && e.loadIfNeed(); var t = this._dataSource; return t && t.loadIfNeed() }, getItemSize: function () { var e = this._rowsScrollController; if (e) return e.getItemSize.apply(e, arguments); var t = this._dataSource; return t && t.getItemSize.apply(t, arguments) }, getItemSizes: function () { var e = this._rowsScrollController; if (e) return e.getItemSizes.apply(e, arguments); var t = this._dataSource; return t && t.getItemSizes.apply(t, arguments) }, getContentOffset: function () { var e = this._rowsScrollController; if (e) return e.getContentOffset.apply(e, arguments); var t = this._dataSource; return t && t.getContentOffset.apply(t, arguments) }, refresh: function (e) { var t = this._dataSource; return t && e && e.load && x(this) && t.resetCurrentTotalCount(), this.callBase.apply(this, arguments) }, dispose: function () { var e = this._rowsScrollController; e && e.dispose(), this.callBase.apply(this, arguments) } }, r.default.proxyMethod(y, "virtualItemsCount"), r.default.proxyMethod(y, "getVirtualContentSize"), r.default.proxyMethod(y, "setViewportItemIndex"), y), resizing: { resize: function () { var e, t = this, n = t.callBase; if (t.option("legacyRendering") || !w(t) && !b(t)) e = n.apply(t); else { clearTimeout(t._resizeTimeout); var i = new Date - t._lastTime, a = t.option("scrolling.updateTimeout"); t._lastTime && i < a ? (e = new d.Deferred, t._resizeTimeout = setTimeout((function () { n.apply(t).done(e.resolve).fail(e.reject), t._lastTime = new Date }), a), t._lastTime = new Date) : (e = n.apply(t), t._dataController.isLoaded() && (t._lastTime = new Date)) } return e }, dispose: function () { this.callBase.apply(this, arguments), clearTimeout(this._resizeTimeout) } } }, views: { rowsView: S } } }; t.default = E, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(470)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("filterRow", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = m(n(2)), a = m(n(5)), o = n(0), s = n(1), r = n(8), l = n(3), d = m(n(24)), c = m(n(22)), u = m(n(10)), h = m(n(71)), f = m(n(69)), p = m(n(471)), g = n(86); function m(e) { return e && e.__esModule ? e : { default: e } } var _ = { "=": "filter-operation-equals", "<>": "filter-operation-not-equals", "<": "filter-operation-less", "<=": "filter-operation-less-equal", ">": "filter-operation-greater", ">=": "filter-operation-greater-equal", default: "filter-operation-default", notcontains: "filter-operation-not-contains", contains: "filter-operation-contains", startswith: "filter-operation-starts-with", endswith: "filter-operation-ends-with", between: "filter-operation-between" }, v = { "=": "equal", "<>": "notEqual", "<": "lessThan", "<=": "lessThanOrEqual", ">": "greaterThan", ">=": "greaterThanOrEqual", startswith: "startsWith", contains: "contains", notcontains: "notContains", endswith: "endsWith", between: "between" }, y = ["date", "datetime", "number"]; function w(e) { return "onClick" === e.option("filterRow.applyFilter") } var x = function () { var e = function (e) { var t = e && e.children(), n = t && t.data("dxComponents"), i = n && n.length && t.data(n[0]); if (i instanceof h.default) return i }, t = function (e, t) { var i = "", a = "", s = n(e, t), r = c.default.getFormatOptionsByColumn(t, "filterRow"); return Array.isArray(s) ? (i = c.default.formatValue(s[0], r), "" !== (a = c.default.formatValue(s[1], r)) && (i += " - " + a)) : (0, o.isDefined)(s) && (i = c.default.formatValue(s, r)), i }; function n(e, t) { if (t) return w(e) && void 0 !== t.bufferedFilterValue ? t.bufferedFilterValue : t.filterValue } var d = function (e, t) { if (t) return w(e) && void 0 !== t.bufferedSelectedFilterOperation ? t.bufferedSelectedFilterOperation : t.selectedFilterOperation }, m = function (e, t, i) { var a = e._columnsController.columnOption(t), o = n(e, a), s = i.closest("." + e.addWidgetPrefix("filter-range-overlay")).length, r = i.hasClass(e.addWidgetPrefix("filter-range-start")); return o && Array.isArray(o) && "between" === d(e, a) ? r ? o[0] : o[1] : !s && function (e, t) { return !(t && y.indexOf(t.dataType) >= 0 && Array.isArray(e)) && void 0 !== e }(o, a) ? o : null }, x = function (e, t) { var i = "" === t.value ? null : t.value, a = t.container, s = e._columnsController.columnOption(t.column.index), r = m(e, s.index, a); ((0, o.isDefined)(r) || (0, o.isDefined)(i)) && (e._applyFilterViewController.setHighLight(a, r !== i), e._columnsController.columnOption(s.index, w(e) ? "bufferedFilterValue" : "filterValue", function (e, t, i, a) { if ("between" === d(e, i)) { var o = n(e, i); return a.hasClass(e.addWidgetPrefix("filter-range-start")) ? [t, Array.isArray(o) ? o[1] : void 0] : [Array.isArray(o) ? o[0] : o, t] } return t }(e, i, s, a), t.notFireEvent)) }; return { _updateEditorValue: function (t, n) { var i = e(n); i && i.option("value", m(this, t.index, n)) }, _columnOptionChanged: function (e) { var n, a, o, s, r = e.optionNames; if (c.default.checkChanges(r, ["filterValue", "bufferedFilterValue", "selectedFilterOperation", "bufferedSelectedFilterOperation"]) && void 0 !== e.columnIndex) { var l = this._columnsController.getVisibleIndex(e.columnIndex), u = this._columnsController.columnOption(e.columnIndex); if (a = (n = this._getCellElement(this.element().find("." + this.addWidgetPrefix("filter-row")).index(), l) || (0, i.default)()).find(".dx-editor-container").first(), r.filterValue || r.bufferedFilterValue) { this._updateEditorValue(u, a); var h = n.find("." + this.addWidgetPrefix("filter-range-overlay")).data("dxOverlay"); h && (o = h.$content().find(".dx-editor-container"), this._updateEditorValue(u, o.first()), this._updateEditorValue(u, o.last())), h && h.option("visible") || this._updateFilterRangeContent(n, t(this, u)) } (r.selectedFilterOperation || r.bufferedSelectedFilterOperation) && l >= 0 && u && (s = n.find(".dx-menu")).length && (this._updateFilterOperationChooser(s, u, a), "between" === d(this, u) ? this._renderFilterRangeContent(n, u) : a.find(".dx-filter-range-content").length && (this._renderEditor(a, this._getEditorOptions(a, u)), this._hideFilterRange())) } else this.callBase(e) }, _renderCore: function () { this._filterRangeOverlayInstance = null, this.callBase.apply(this, arguments) }, _resizeCore: function () { this.callBase.apply(this, arguments), this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.repaint() }, isFilterRowVisible: function () { return this._isElementVisible(this.option("filterRow")) }, isVisible: function () { return this.callBase() || this.isFilterRowVisible() }, init: function () { this.callBase(), this._applyFilterViewController = this.getController("applyFilter") }, _initFilterRangeOverlay: function (e, n) { var o = this, s = {}, l = e.find(".dx-editor-container"), c = (0, i.default)("<div>").addClass(o.addWidgetPrefix("filter-range-overlay")).appendTo(e); return o._createComponent(c, f.default, { height: "auto", shading: !1, showTitle: !1, focusStateEnabled: !1, closeOnTargetScroll: !1, closeOnOutsideClick: !0, animation: !1, position: { my: "top", at: "top", of: l.length && l || e, offset: "0 -1" }, contentTemplate: function (t) { var l, d = (0, i.default)("<div>").addClass("dx-editor-container " + o.addWidgetPrefix("filter-range-start")).appendTo(t); return n = o._columnsController.columnOption(n.index), (l = o._getEditorOptions(d, n)).sharedData = s, o._renderEditor(d, l), a.default.on(d.find("input:not([type='hidden'])"), "keydown", (function (t) { var n = e.find("[tabindex]").not(t.target).first(); "tab" === (0, r.normalizeKeyName)(t) && t.shiftKey && (t.preventDefault(), o._hideFilterRange(), n.length || (n = e.prev().find("[tabindex]").last()), a.default.trigger(n, "focus")) })), d = (0, i.default)("<div>").addClass("dx-editor-container " + o.addWidgetPrefix("filter-range-end")).appendTo(t), (l = o._getEditorOptions(d, n)).sharedData = s, o._renderEditor(d, l), a.default.on(d.find("input:not([type='hidden'])"), "keydown", (function (t) { "tab" !== (0, r.normalizeKeyName)(t) || t.shiftKey || (t.preventDefault(), o._hideFilterRange(), a.default.trigger(e.next().find("[tabindex]").first(), "focus")) })), (0, i.default)(t).addClass(o.getWidgetContainerClass()) }, onShown: function (e) { var t = e.component.$content().find(".dx-editor-container").first(); a.default.trigger(t.find("input:not([type='hidden'])"), "focus") }, onHidden: function () { n = o._columnsController.columnOption(n.index), e.find(".dx-menu").parent().addClass("dx-editor-with-menu"), "between" === d(o, n) && (o._updateFilterRangeContent(e, t(o, n)), o.component.updateDimensions()) } }) }, _updateFilterRangeOverlay: function (e) { var t = this._filterRangeOverlayInstance; t && t.option(e) }, _showFilterRange: function (e, t) { var n = e.children("." + this.addWidgetPrefix("filter-range-overlay")), i = n.length && n.data("dxOverlay"); !i && t && (i = this._initFilterRangeOverlay(e, t)), i.option("visible") || (this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.hide(), this._filterRangeOverlayInstance = i, this._updateFilterRangeOverlay({ width: e.outerWidth(!0) + 1 }), this._filterRangeOverlayInstance && this._filterRangeOverlayInstance.show()) }, _hideFilterRange: function () { var e = this._filterRangeOverlayInstance; e && e.hide() }, getFilterRangeOverlayInstance: function () { return this._filterRangeOverlayInstance }, _createRow: function (e) { var t = this, n = this.callBase(e); return "filter" === e.rowType && (n.addClass(this.addWidgetPrefix("filter-row")), this.option("useLegacyKeyboardNavigation") || a.default.on(n, "keydown", (function (e) { return (0, g.selectView)("filterRow", t, e) }))), n }, _getRows: function () { var e = this.callBase(); return this.isFilterRowVisible() && e.push({ rowType: "filter" }), e }, _renderFilterCell: function (e, t) { var n = t.column, a = (0, i.default)(e); this.component.option("showColumnHeaders") && this.setAria("describedby", n.headerId, a), this.setAria("label", u.default.format("dxDataGrid-ariaFilterCell"), a), a.addClass("dx-editor-cell"); var o = (0, i.default)("<div>").appendTo(a), s = (0, i.default)("<div>").addClass("dx-editor-container").appendTo(o); if ("between" === d(this, n)) this._renderFilterRangeContent(a, n); else { var r = this._getEditorOptions(s, n); this._renderEditor(s, r) } var l = n.alignment; l && "center" !== l && a.find("input:not([type='hidden'])").first().css("textAlign", n.alignment), n.filterOperations && n.filterOperations.length && this._renderFilterOperationChooser(o, n, s) }, _renderCellContent: function (e, t) { var n = this, i = t.column; if ("filter" === t.rowType) if (i.command) e.html("&nbsp;"); else if (i.allowFiltering) return void n.renderTemplate(e, n._renderFilterCell.bind(n), t).done((function () { n._updateCell(e, t) })); n.callBase(e, t) }, _getEditorOptions: function (e, t) { var n = this, i = { editorOptions: { inputAttr: n._getFilterInputAccessibilityAttributes(t) } }, a = (0, s.extend)(i, t, { value: m(n, t.index, e), parentType: "filterRow", showAllText: n.option("filterRow.showAllText"), updateValueTimeout: "onClick" === n.option("filterRow.applyFilter") ? 0 : 700, width: null, setValue: function (i, a) { x(n, { column: t, value: i, container: e, notFireEvent: a }) } }); return "between" === d(n, t) && (e.hasClass(n.addWidgetPrefix("filter-range-start")) ? a.placeholder = n.option("filterRow.betweenStartText") : a.placeholder = n.option("filterRow.betweenEndText")), a }, _getFilterInputAccessibilityAttributes: function (e) { var t = u.default.format("dxDataGrid-ariaFilterCell"); return this.component.option("showColumnHeaders") ? { "aria-label": t, "aria-describedby": e.headerId } : { "aria-label": t } }, _renderEditor: function (e, t) { return e.empty(), this.getController("editorFactory").createEditor((0, i.default)("<div>").appendTo(e), t) }, _renderFilterRangeContent: function (e, n) { var o = this, s = e.find(".dx-editor-container").first(); s.empty(); var r = (0, i.default)("<div>").addClass("dx-filter-range-content").attr("tabindex", this.option("tabIndex")); a.default.on(r, "focusin", (function () { o._showFilterRange(e, n) })), r.appendTo(s), o._updateFilterRangeContent(e, t(o, n)) }, _updateFilterRangeContent: function (e, t) { var n = e.find(".dx-filter-range-content"); n.length && ("" === t ? n.html("&nbsp;") : n.text(t)) }, _updateFilterOperationChooser: function (t, n, i) { var o, s = this, r = function () { var e = p.default.getInstance(t); e && e.option("focusedElement", null), o && s._focusEditor(i) }; s._createComponent(t, p.default, { integrationOptions: {}, activeStateEnabled: !1, selectionMode: "single", cssClass: s.getWidgetContainerClass() + " dx-cell-focus-disabled dx-filter-menu", showFirstSubmenuMode: "onHover", hideSubmenuOnMouseLeave: !0, items: [{ disabled: !n.filterOperations || !n.filterOperations.length, icon: _[d(s, n) || "default"], selectable: !1, items: s._getFilterOperationMenuItems(n) }], onItemClick: function (t) { var a = t.itemData.name, o = d(s, n), r = !1, l = w(s), c = {}; if (!(t.itemData.items || a && a === o)) { if (a ? (c[l ? "bufferedSelectedFilterOperation" : "selectedFilterOperation"] = a, "between" !== a && "between" !== o || (r = "between" === a, c[l ? "bufferedFilterValue" : "filterValue"] = null)) : (c[l ? "bufferedFilterValue" : "filterValue"] = null, c[l ? "bufferedSelectedFilterOperation" : "selectedFilterOperation"] = n.defaultSelectedFilterOperation || null), s._columnsController.columnOption(n.index, c), s._applyFilterViewController.setHighLight(i, !0), !a) { var u = e(i); u && "dxDateBox" === u.NAME && !u.option("isValid") && (u.reset(), u.option("isValid", !0)) } r ? s._showFilterRange(i.closest(".dx-editor-cell"), n) : s._focusEditor(i) } }, onSubmenuShown: function () { o = s._isEditorFocused(i), s.getController("editorFactory").loseFocus() }, onSubmenuHiding: function () { a.default.trigger(t, "blur"), r() }, onContentReady: function (e) { a.default.on(t, "blur", (function () { var t = e.component; t._hideSubmenu(t._visibleSubmenu), r() })) }, rtlEnabled: s.option("rtlEnabled") }) }, _isEditorFocused: function (e) { return e.hasClass("dx-focused") || e.parents(".dx-focused").length }, _focusEditor: function (e) { this.getController("editorFactory").focus(e), a.default.trigger(e.find("input:not([type='hidden'])"), "focus") }, _renderFilterOperationChooser: function (e, t, n) { var a; this.option("filterRow.showOperationChooser") && (e.addClass("dx-editor-with-menu"), a = (0, i.default)("<div>").prependTo(e), this._updateFilterOperationChooser(a, t, n)) }, _getFilterOperationMenuItems: function (e) { var t = this, n = [{}], i = t.option("filterRow"), a = i && i.operationDescriptions || {}; if (e.filterOperations && e.filterOperations.length) { var s = e.filterOperations.filter((function (e) { return (0, o.isDefined)(v[e]) })); (n = (0, l.map)(s, (function (n) { var i = v[n]; return { name: n, selected: (d(t, e) || e.defaultFilterOperation) === n, text: a[i], icon: _[n] } }))).push({ name: null, text: i && i.resetOperationText, icon: _.default }) } return n }, optionChanged: function (e) { switch (e.name) { case "filterRow": case "showColumnLines": this._invalidate(!0, !0), e.handled = !0; break; default: this.callBase(e) } } } }(), b = { skipCalculateColumnFilters: function () { return !1 }, _calculateAdditionalFilter: function () { if (this.skipCalculateColumnFilters()) return this.callBase(); var e = [this.callBase()], t = this._columnsController.getVisibleColumns(null, !0); return (0, l.each)(t, (function () { if (this.allowFiltering && this.calculateFilterExpression && (0, o.isDefined)(this.filterValue)) { var t = this.createFilterExpression(this.filterValue, this.selectedFilterOperation || this.defaultFilterOperation, "filterRow"); e.push(t) } })), c.default.combineFilters(e) } }, C = { defaultOptions: function () { return { filterRow: { visible: !1, showOperationChooser: !0, showAllText: u.default.format("dxDataGrid-filterRowShowAllText"), resetOperationText: u.default.format("dxDataGrid-filterRowResetOperationText"), applyFilter: "auto", applyFilterText: u.default.format("dxDataGrid-applyFilterText"), operationDescriptions: { equal: u.default.format("dxDataGrid-filterRowOperationEquals"), notEqual: u.default.format("dxDataGrid-filterRowOperationNotEquals"), lessThan: u.default.format("dxDataGrid-filterRowOperationLess"), lessThanOrEqual: u.default.format("dxDataGrid-filterRowOperationLessOrEquals"), greaterThan: u.default.format("dxDataGrid-filterRowOperationGreater"), greaterThanOrEqual: u.default.format("dxDataGrid-filterRowOperationGreaterOrEquals"), startsWith: u.default.format("dxDataGrid-filterRowOperationStartsWith"), contains: u.default.format("dxDataGrid-filterRowOperationContains"), notContains: u.default.format("dxDataGrid-filterRowOperationNotContains"), endsWith: u.default.format("dxDataGrid-filterRowOperationEndsWith"), between: u.default.format("dxDataGrid-filterRowOperationBetween"), isBlank: u.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: u.default.format("dxFilterBuilder-filterOperationIsNotBlank") }, betweenStartText: u.default.format("dxDataGrid-filterRowOperationBetweenStartText"), betweenEndText: u.default.format("dxDataGrid-filterRowOperationBetweenEndText") } } }, controllers: { applyFilter: d.default.ViewController.inherit({ _getHeaderPanel: function () { return this._headerPanel || (this._headerPanel = this.getView("headerPanel")), this._headerPanel }, setHighLight: function (e, t) { w(this) && (e && e.toggleClass("dx-highlight-outline", t) && e.closest(".dx-editor-cell").toggleClass("dx-filter-modified", t), this._getHeaderPanel().enableApplyButton(t)) }, applyFilter: function () { var e = this.getController("columns"), t = e.getColumns(); e.beginUpdate(); for (var n = 0; n < t.length; n++) { var i = t[n]; void 0 !== i.bufferedFilterValue && (e.columnOption(n, "filterValue", i.bufferedFilterValue), i.bufferedFilterValue = void 0), void 0 !== i.bufferedSelectedFilterOperation && (e.columnOption(n, "selectedFilterOperation", i.bufferedSelectedFilterOperation), i.bufferedSelectedFilterOperation = void 0) } e.endUpdate(), this.removeHighLights() }, removeHighLights: function () { if (w(this)) { var e = this.getView("columnHeadersView").element(); e.find("." + this.addWidgetPrefix("filter-row") + " .dx-highlight-outline").removeClass("dx-highlight-outline"), e.find("." + this.addWidgetPrefix("filter-row") + " .dx-filter-modified").removeClass("dx-filter-modified"), this._getHeaderPanel().enableApplyButton(!1) } } }) }, extenders: { controllers: { data: b, columnsResizer: { _startResizing: function () { var e = this; if (e.callBase.apply(e, arguments), e.isResizing()) { var t = e._columnHeadersView.getFilterRangeOverlayInstance(); if (t) { var n = t.$element().closest("td").index(); n !== e._targetPoint.columnIndex && n !== e._targetPoint.columnIndex + 1 || t.$content().hide() } } }, _endResizing: function () { var e, t = this; if (t.isResizing()) { var n = t._columnHeadersView.getFilterRangeOverlayInstance(); n && (e = n.$element().closest("td"), t._columnHeadersView._updateFilterRangeOverlay({ width: e.outerWidth(!0) + 1 }), n.$content().show()) } t.callBase.apply(t, arguments) } } }, views: { columnHeadersView: x, headerPanel: { _getToolbarItems: function () { var e = this.callBase(); return this._prepareFilterItem(e).concat(e) }, _prepareFilterItem: function () { var e = this, t = []; if (e._isShowApplyFilterButton()) { var n = e.option("filterRow.applyFilterText"), a = { widget: "dxButton", options: { icon: "apply-filter", disabled: !e._columnsController.getColumns().filter((function (e) { return void 0 !== e.bufferedFilterValue })).length, onClick: function () { e._applyFilterViewController.applyFilter() }, hint: n, text: n, onInitialized: function (t) { (0, i.default)(t.element).addClass(e._getToolbarButtonClass("dx-apply-button")) } }, showText: "inMenu", name: "applyFilterButton", location: "after", locateInMenu: "auto", sortIndex: 10 }; t.push(a) } return t }, _isShowApplyFilterButton: function () { var e = this.option("filterRow"); return e && e.visible && "onClick" === e.applyFilter }, init: function () { this.callBase(), this._dataController = this.getController("data"), this._applyFilterViewController = this.getController("applyFilter") }, enableApplyButton: function (e) { this.setToolbarItemDisabled("applyFilterButton", !e) }, isVisible: function () { return this.callBase() || this._isShowApplyFilterButton() }, optionChanged: function (e) { "filterRow" === e.name ? (this._invalidate(), e.handled = !0) : this.callBase(e) } } } } }; t.default = C, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(472)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = x(n(2)), o = x(n(5)), s = x(n(11)), r = n(4), l = n(18), d = n(3), c = n(0), u = n(1), h = n(244), f = n(8), p = x(n(23)), g = n(107), m = x(n(227)), _ = x(n(69)), v = x(n(473)), y = x(n(35)), w = x(n(111)); function x(e) { return e && e.__esModule ? e : { default: e } } function b(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function C(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function k(e, t, n) { return (k = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = D(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function I(e, t) { return (I = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function S(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = D(e); if (t) { var a = D(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return E(this, n) } } function E(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function D(e) { return (D = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var T = { show: 50, hide: 300 }, A = ["onSubmenuShowing", "onSubmenuShown", "onSubmenuHiding", "onSubmenuHidden", "onItemContextMenu", "onItemClick", "onSelectionChanged", "onItemRendered"], O = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && I(e, t) }(m, e); var t, n, i, s = S(m); function m() { return b(this, m), s.apply(this, arguments) } return t = m, (n = [{ key: "_getDefaultOptions", value: function () { return (0, u.extend)(k(D(m.prototype), "_getDefaultOptions", this).call(this), { orientation: "horizontal", submenuDirection: "auto", showFirstSubmenuMode: { name: "onClick", delay: { show: 50, hide: 300 } }, hideSubmenuOnMouseLeave: !1, onSubmenuShowing: null, onSubmenuShown: null, onSubmenuHiding: null, onSubmenuHidden: null, adaptivityEnabled: !1 }) } }, { key: "_setOptionsByReference", value: function () { k(D(m.prototype), "_setOptionsByReference", this).call(this), (0, u.extend)(this._optionsByReference, { animation: !0, selectedItem: !0 }) } }, { key: "_itemElements", value: function () { var e = k(D(m.prototype), "_itemElements", this).call(this), t = this._submenuItemElements(); return e.add(t) } }, { key: "_submenuItemElements", value: function () { var e = [], t = ".".concat("dx-menu-item"), n = this._submenus.length && this._submenus[0]; return n && n.itemsContainer() && (e = n.itemsContainer().find(t)), e } }, { key: "_focusTarget", value: function () { return this.$element() } }, { key: "_isMenuHorizontal", value: function () { return "horizontal" === this.option("orientation") } }, { key: "_moveFocus", value: function (e) { var t, n, i, a = this._getAvailableItems(), o = this._isMenuHorizontal(), s = this._getActiveItem(!0); switch (e) { case "up": n = o ? "showSubmenu" : this._getItemsNavigationOperation("prevItem"), t = o ? s : a, i = this._getKeyboardNavigationAction(n, t)(); break; case "down": n = o ? "showSubmenu" : this._getItemsNavigationOperation("nextItem"), t = o ? s : a, i = this._getKeyboardNavigationAction(n, t)(); break; case "right": n = o ? this._getItemsNavigationOperation("nextItem") : "showSubmenu", t = o ? a : s, i = this._getKeyboardNavigationAction(n, t)(); break; case "left": n = o ? this._getItemsNavigationOperation("prevItem") : "showSubmenu", t = o ? a : s, i = this._getKeyboardNavigationAction(n, t)(); break; default: return k(D(m.prototype), "_moveFocus", this).call(this, e) }i && 0 !== i.length && this.option("focusedElement", (0, l.getPublicElement)(i)) } }, { key: "_getItemsNavigationOperation", value: function (e) { var t = e; return this.option("rtlEnabled") && (t = "prevItem" === e ? "nextItem" : "prevItem"), t } }, { key: "_getKeyboardNavigationAction", value: function (e, t) { var n = r.noop; switch (e) { case "showSubmenu": t.hasClass("dx-state-disabled") || (n = this._showSubmenu.bind(this, t)); break; case "nextItem": n = this._nextItem.bind(this, t); break; case "prevItem": n = this._prevItem.bind(this, t) }return n } }, { key: "_clean", value: function () { k(D(m.prototype), "_clean", this).call(this), this.option("templatesRenderAsynchronously") && clearTimeout(this._resizeEventTimer) } }, { key: "_visibilityChanged", value: function (e) { e && (this._menuItemsWidth || this._updateItemsWidthCache(), this._dimensionChanged()) } }, { key: "_isAdaptivityEnabled", value: function () { return this.option("adaptivityEnabled") && "horizontal" === this.option("orientation") } }, { key: "_updateItemsWidthCache", value: function () { var e = this.$element().find("ul").first().children("li").children(".".concat("dx-menu-item")); this._menuItemsWidth = this._getSummaryItemsWidth(e, !0) } }, { key: "_dimensionChanged", value: function () { if (this._isAdaptivityEnabled()) { var e = this.$element().outerWidth(); this._toggleAdaptiveMode(this._menuItemsWidth > e) } } }, { key: "_init", value: function () { k(D(m.prototype), "_init", this).call(this), this._submenus = [] } }, { key: "_initActions", value: function () { var e = this; this._actions = {}, (0, d.each)(A, (function (t, n) { e._actions[n] = e._createActionByOption(n) })) } }, { key: "_initMarkup", value: function () { this._visibleSubmenu = null, this.$element().addClass("dx-menu"), k(D(m.prototype), "_initMarkup", this).call(this), this.setAria("role", "menubar") } }, { key: "_render", value: function () { k(D(m.prototype), "_render", this).call(this), this._initAdaptivity() } }, { key: "_renderHamburgerButton", value: function () { return this._hamburger = new y.default((0, a.default)("<div>").addClass("dx-menu-hamburger-button"), { icon: "menu", activeStateEnabled: !1, onClick: this._toggleTreeView.bind(this) }), this._hamburger.$element() } }, { key: "_toggleTreeView", value: function (e) { (0, c.isPlainObject)(e) && (e = !this._overlay.option("visible")), this._overlay.option("visible", e), this._toggleHamburgerActiveState(e) } }, { key: "_toggleHamburgerActiveState", value: function (e) { this._hamburger && this._hamburger.$element().toggleClass("dx-state-active", e) } }, { key: "_toggleAdaptiveMode", value: function (e) { var t = this.$element().find(".".concat("dx-menu-horizontal")), n = this.$element().find(".".concat("dx-menu-adaptive-mode")); e ? this._hideVisibleSubmenu() : (this._treeView && this._treeView.collapseAll(), this._overlay && this._toggleTreeView(e)), t.toggle(!e), n.toggle(e) } }, { key: "_removeAdaptivity", value: function () { this._$adaptiveContainer && (this._toggleAdaptiveMode(!1), this._$adaptiveContainer.remove(), this._$adaptiveContainer = null, this._treeView = null, this._hamburger = null, this._overlay = null) } }, { key: "_treeviewItemClickHandler", value: function (e) { this._actions.onItemClick(e), e.node.children.length || this._toggleTreeView(!1) } }, { key: "_getAdaptiveOverlayOptions", value: function () { var e = this, t = this.option("rtlEnabled") ? "right" : "left"; return { maxHeight: function () { return (0, h.getElementMaxHeightByWindow)(e.$element()) }, deferRendering: !1, shading: !1, animation: !1, closeOnTargetScroll: !0, onHidden: function () { e._toggleHamburgerActiveState(!1) }, height: "auto", closeOnOutsideClick: function (e) { return !(0, a.default)(e.target).closest(".".concat("dx-menu-hamburger-button")).length }, position: { collision: "flipfit", at: "bottom " + t, my: "top " + t, of: this._hamburger.$element() } } } }, { key: "_getTreeViewOptions", value: function () { var e = this, t = {}; return (0, d.each)(["rtlEnabled", "width", "accessKey", "activeStateEnabled", "animation", "dataSource", "disabled", "displayExpr", "displayExpr", "focusStateEnabled", "hint", "hoverStateEnabled", "itemsExpr", "items", "itemTemplate", "selectedExpr", "selectionMode", "tabIndex", "visible"], (function (n, i) { t[i] = e.option(i) })), (0, d.each)(["onItemContextMenu", "onSelectionChanged"], (function (n, i) { t[i] = function (t) { e._actions[i](t) } })), (0, u.extend)(t, { dataSource: this.getDataSource(), animationEnabled: !!this.option("animation"), onItemClick: this._treeviewItemClickHandler.bind(this), onItemExpanded: function (t) { e._overlay.repaint(), e._actions.onSubmenuShown(t) }, onItemCollapsed: function (t) { e._overlay.repaint(), e._actions.onSubmenuHidden(t) }, selectNodesRecursive: !1, selectByClick: this.option("selectByClick"), expandEvent: "click" }) } }, { key: "_initAdaptivity", value: function () { if (this._isAdaptivityEnabled()) { this._$adaptiveContainer = (0, a.default)("<div>").addClass("dx-menu-adaptive-mode"); var e = this._renderHamburgerButton(); this._treeView = this._createComponent((0, a.default)("<div>"), w.default, this._getTreeViewOptions()), this._overlay = this._createComponent((0, a.default)("<div>"), _.default, this._getAdaptiveOverlayOptions()), this._overlay.$content().append(this._treeView.$element()).addClass("dx-menu-adaptive-mode").addClass(this.option("cssClass")), this._overlay._wrapper().addClass("dx-menu-adaptive-mode-overlay-wrapper"), this._$adaptiveContainer.append(e), this._$adaptiveContainer.append(this._overlay.$element()), this.$element().append(this._$adaptiveContainer), this._updateItemsWidthCache(), this._dimensionChanged() } } }, { key: "_getDelay", value: function (e) { var t = this.option("showFirstSubmenuMode").delay; return (0, c.isDefined)(t) ? (0, c.isObject)(t) ? t[e] : t : T[e] } }, { key: "_keyboardHandler", value: function (e) { return k(D(m.prototype), "_keyboardHandler", this).call(this, e, !!this._visibleSubmenu) } }, { key: "_renderContainer", value: function () { var e = (0, a.default)("<div>"); return e.appendTo(this.$element()).addClass(this._isMenuHorizontal() ? "dx-menu-horizontal" : "dx-menu-vertical"), k(D(m.prototype), "_renderContainer", this).call(this, e) } }, { key: "_renderSubmenuItems", value: function (e, t) { var n = this._createSubmenu(e, t); return this._submenus.push(n), this._renderBorderElement(t), n } }, { key: "_getKeyboardListeners", value: function () { return k(D(m.prototype), "_getKeyboardListeners", this).call(this).concat(this._visibleSubmenu) } }, { key: "_createSubmenu", value: function (e, t) { var n = (0, a.default)("<div>").addClass("dx-context-menu").appendTo(t), i = this._getChildNodes(e), o = this._createComponent(n, v.default, (0, u.extend)(this._getSubmenuOptions(), { _dataAdapter: this._dataAdapter, _parentKey: e.internalFields.key, items: i, onHoverStart: this._clearTimeouts.bind(this), position: this.getSubmenuPosition(t) })); return this._attachSubmenuHandlers(t, o), o } }, { key: "_getSubmenuOptions", value: function () { var e = this, t = (0, a.default)("<div>"), n = this._isMenuHorizontal(); return { itemTemplate: this.option("itemTemplate"), target: t, orientation: this.option("orientation"), selectionMode: this.option("selectionMode"), cssClass: this.option("cssClass"), selectByClick: this.option("selectByClick"), hoverStateEnabled: this.option("hoverStateEnabled"), activeStateEnabled: this.option("activeStateEnabled"), focusStateEnabled: this.option("focusStateEnabled"), animation: this.option("animation"), showSubmenuMode: this.option("showSubmenuMode"), displayExpr: this.option("displayExpr"), disabledExpr: this.option("disabledExpr"), selectedExpr: this.option("selectedExpr"), itemsExpr: this.option("itemsExpr"), onFocusedItemChanged: function (t) { t.component.option("visible") && e.option("focusedElement", t.component.option("focusedElement")) }, onSelectionChanged: this._nestedItemOnSelectionChangedHandler.bind(this), onItemClick: this._nestedItemOnItemClickHandler.bind(this), onItemRendered: this._nestedItemOnItemRenderedHandler.bind(this), onLeftFirstItem: n ? null : this._moveMainMenuFocus.bind(this, "prevItem"), onLeftLastItem: n ? null : this._moveMainMenuFocus.bind(this, "nextItem"), onCloseRootSubmenu: this._moveMainMenuFocus.bind(this, n ? "prevItem" : null), onExpandLastSubmenu: n ? this._moveMainMenuFocus.bind(this, "nextItem") : null } } }, { key: "_getShowFirstSubmenuMode", value: function () { if (!this._isDesktopDevice()) return "onClick"; var e = this.option("showFirstSubmenuMode"); return (0, c.isObject)(e) ? e.name : e } }, { key: "_moveMainMenuFocus", value: function (e) { var t = this._getAvailableItems(), n = t.length, i = t.filter(".".concat("dx-menu-item-expanded")).eq(0), a = t.index(i); this._hideSubmenu(this._visibleSubmenu), (a += "prevItem" === e ? -1 : 1) >= n ? a = 0 : a < 0 && (a = n - 1); var o = t.eq(a); this.option("focusedElement", (0, l.getPublicElement)(o)) } }, { key: "_nestedItemOnSelectionChangedHandler", value: function (e) { var t = e.addedItems.length && e.addedItems[0], n = v.default.getInstance(e.element); (0, this._actions.onSelectionChanged)(e), t && this._clearSelectionInSubmenus(t[0], n), this._clearRootSelection(), this._setOptionWithoutOptionChange("selectedItem", t) } }, { key: "_clearSelectionInSubmenus", value: function (e, t) { var n = this, i = !arguments.length; (0, d.each)(this._submenus, (function (e, a) { var o = a._itemContainer(), s = !o.is(t && t._itemContainer()), r = o.find(".".concat(n._selectedItemClass())); if (s && r.length || i) { r.removeClass(n._selectedItemClass()); var l = n._getItemData(r); l && (l.selected = !1), a._clearSelectedItems() } })) } }, { key: "_clearRootSelection", value: function () { var e = this.$element().find(".".concat("dx-menu-items-container")).first().children().children().filter(".".concat(this._selectedItemClass())); e.length && (this._getItemData(e).selected = !1, e.removeClass(this._selectedItemClass())) } }, { key: "_nestedItemOnItemClickHandler", value: function (e) { this._actions.onItemClick(e) } }, { key: "_nestedItemOnItemRenderedHandler", value: function (e) { this._actions.onItemRendered(e) } }, { key: "_attachSubmenuHandlers", value: function (e, t) { var n = this, i = t.getOverlayContent().find(".".concat("dx-submenu")), a = (0, f.addNamespace)(g.end, this.NAME + "_submenu"); t.option({ onShowing: this._submenuOnShowingHandler.bind(this, e, t), onShown: this._submenuOnShownHandler.bind(this, e, t), onHiding: this._submenuOnHidingHandler.bind(this, e, t), onHidden: this._submenuOnHiddenHandler.bind(this, e, t) }), (0, d.each)(i, (function (t, i) { o.default.off(i, a), o.default.on(i, a, null, n._submenuMouseLeaveHandler.bind(n, e)) })) } }, { key: "_submenuOnShowingHandler", value: function (e, t) { var n = e.children(".".concat("dx-context-menu-container-border")); this._actions.onSubmenuShowing({ rootItem: (0, l.getPublicElement)(e), submenu: t }), n.show(), e.addClass("dx-menu-item-expanded") } }, { key: "_submenuOnShownHandler", value: function (e, t) { this._actions.onSubmenuShown({ rootItem: (0, l.getPublicElement)(e), submenu: t }) } }, { key: "_submenuOnHidingHandler", value: function (e, t, n) { var i = e.children(".".concat("dx-context-menu-container-border")), a = n; a.rootItem = (0, l.getPublicElement)(e), a.submenu = t, this._actions.onSubmenuHiding(a), (n = a).cancel || (this._visibleSubmenu === t && (this._visibleSubmenu = null), i.hide(), e.removeClass("dx-menu-item-expanded")) } }, { key: "_submenuOnHiddenHandler", value: function (e, t) { this._actions.onSubmenuHidden({ rootItem: (0, l.getPublicElement)(e), submenu: t }) } }, { key: "_submenuMouseLeaveHandler", value: function (e, t) { var n = (0, a.default)(t.relatedTarget).parents(".".concat("dx-context-menu"))[0], i = this._getSubmenuByRootElement(e).getOverlayContent()[0]; this.option("hideSubmenuOnMouseLeave") && n !== i && (this._clearTimeouts(), setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay("hide"))) } }, { key: "_hideSubmenuAfterTimeout", value: function () { if (this._visibleSubmenu) { var e = (0, a.default)(this._visibleSubmenu.$element().context).hasClass("dx-state-hover"), t = this._visibleSubmenu.getOverlayContent().find(".".concat("dx-state-hover")).length; this._visibleSubmenu.getOverlayContent().get(0).querySelector(":hover") || t || e || this._visibleSubmenu.hide() } } }, { key: "_getSubmenuByRootElement", value: function (e) { if (!e) return !1; var t = e.children(".".concat("dx-context-menu")); return t.length && v.default.getInstance(t) } }, { key: "getSubmenuPosition", value: function (e) { var t = this._isMenuHorizontal(), n = this.option("submenuDirection").toLowerCase(), i = this.option("rtlEnabled"), a = { collision: "flip", of: e }; switch (n) { case "leftortop": a.at = "left top", a.my = t ? "left bottom" : "right top"; break; case "rightorbottom": a.at = t ? "left bottom" : "right top", a.my = "left top"; break; default: t ? (a.at = i ? "right bottom" : "left bottom", a.my = i ? "right top" : "left top") : (a.at = i ? "left top" : "right top", a.my = i ? "right top" : "left top") }return a } }, { key: "_renderBorderElement", value: function (e) { (0, a.default)("<div>").appendTo(e).addClass("dx-context-menu-container-border").hide() } }, { key: "_itemPointerDownHandler", value: function (e) { (0, a.default)(e.target).closest(this._itemElements()).hasClass("dx-menu-item-has-submenu") ? this.option("focusedElement", null) : k(D(m.prototype), "_itemPointerDownHandler", this).call(this, e) } }, { key: "_hoverStartHandler", value: function (e) { var t = (0, f.addNamespace)(p.default.move, this.NAME), n = this._getItemElementByEventArgs(e), i = this._dataAdapter.getNodeByItem(this._getItemData(n)), a = (0, c.isDefined)(e.buttons) && 1 === e.buttons || !(0, c.isDefined)(e.buttons) && 1 === e.which; if (!this._isItemDisabled(n)) if (o.default.off(n, t), this._hasChildren(i)) { if ("onHover" === this._getShowFirstSubmenuMode() && !a) { var s = this._getSubmenuByElement(n); this._clearTimeouts(), s.isOverlayVisible() || (o.default.on(n, t, this._itemMouseMoveHandler.bind(this)), this._showSubmenuTimer = this._getDelay("hide")) } } else this._showSubmenuTimer = setTimeout(this._hideSubmenuAfterTimeout.bind(this), this._getDelay("hide")) } }, { key: "_hoverEndHandler", value: function (e) { var t = this, n = this._getItemElementByEventArgs(e), i = (0, a.default)(e.relatedTarget); k(D(m.prototype), "_hoverEndHandler", this).call(this, e), this._clearTimeouts(), this._isItemDisabled(n) || i.hasClass("dx-context-menu-content-delimiter") || this.option("hideSubmenuOnMouseLeave") && !i.hasClass("dx-menu-items-container") && (this._hideSubmenuTimer = setTimeout((function () { t._hideSubmenuAfterTimeout() }), this._getDelay("hide"))) } }, { key: "_hideVisibleSubmenu", value: function () { return !!this._visibleSubmenu && (this._hideSubmenu(this._visibleSubmenu), !0) } }, { key: "_showSubmenu", value: function (e) { var t = this._getSubmenuByElement(e); this._visibleSubmenu !== t && this._hideVisibleSubmenu(), t && (this._clearTimeouts(), t.show(), this.option("focusedElement", t.option("focusedElement"))), this._visibleSubmenu = t, this._hoveredRootItem = e } }, { key: "_hideSubmenu", value: function (e) { e && e.hide(), this._visibleSubmenu === e && (this._visibleSubmenu = null), this._hoveredRootItem = null } }, { key: "_itemMouseMoveHandler", value: function (e) { var t = this; if (!e.pointers || !e.pointers.length) { var n = (0, a.default)(e.currentTarget); (0, c.isDefined)(this._showSubmenuTimer) && (this._clearTimeouts(), this._showSubmenuTimer = setTimeout((function () { var e = t._getSubmenuByElement(n); e && !e.isOverlayVisible() && t._showSubmenu(n) }), this._getDelay("show"))) } } }, { key: "_clearTimeouts", value: function () { clearTimeout(this._hideSubmenuTimer), clearTimeout(this._showSubmenuTimer) } }, { key: "_getSubmenuByElement", value: function (e, t) { var n = this._getSubmenuByRootElement(e); if (n) return n; t = t || this._getItemData(e); var i = this._dataAdapter.getNodeByItem(t); return this._hasChildren(i) && this._renderSubmenuItems(i, e) } }, { key: "_updateSubmenuVisibilityOnClick", value: function (e) { var t = e.args.length && e.args[0]; if (t && !this._disabledGetter(t.itemData)) { var n = (0, a.default)(t.itemElement), i = this._getSubmenuByElement(n, t.itemData); if (this._updateSelectedItemOnClick(e), this._visibleSubmenu) { if (this._visibleSubmenu === i) return void ("onClick" === this.option("showFirstSubmenuMode") && this._hideSubmenu(this._visibleSubmenu)); this._hideSubmenu(this._visibleSubmenu) } i && (i.isOverlayVisible() || this._showSubmenu(n)) } } }, { key: "_optionChanged", value: function (e) { if (A.indexOf(e.name) >= 0) this._initActions(); else switch (e.name) { case "orientation": case "submenuDirection": this._invalidate(); break; case "showFirstSubmenuMode": case "hideSubmenuOnMouseLeave": break; case "showSubmenuMode": this._changeSubmenusOption(e.name, e.value); break; case "adaptivityEnabled": e.value ? this._initAdaptivity() : this._removeAdaptivity(); break; case "width": this._isAdaptivityEnabled() && (this._treeView.option(e.name, e.value), this._overlay.option(e.name, e.value)), k(D(m.prototype), "_optionChanged", this).call(this, e), this._dimensionChanged(); break; case "animation": this._isAdaptivityEnabled() && this._treeView.option("animationEnabled", !!e.value), k(D(m.prototype), "_optionChanged", this).call(this, e); break; default: this._isAdaptivityEnabled() && this._treeView.option(e.name, e.value), k(D(m.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_changeSubmenusOption", value: function (e, t) { (0, d.each)(this._submenus, (function (n, i) { i.option(e, t) })) } }, { key: "selectItem", value: function (e) { this._hideSubmenu(this._visibleSubmenu), k(D(m.prototype), "selectItem", this).call(this, e) } }, { key: "unselectItem", value: function (e) { this._hideSubmenu(this._visibleSubmenu), k(D(m.prototype), "selectItem", this).call(this, e) } }]) && C(t.prototype, n), i && C(t, i), m }(m.default); (0, s.default)("dxMenu", O); var B = O; t.default = B, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = c(n(2)), o = n(4), s = n(18), r = c(n(60)), l = n(1), d = c(n(113)); function c(e) { return e && e.__esModule ? e : { default: e } } function u(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function f(e, t, n) { return (f = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = _(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function p(e, t) { return (p = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function g(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = _(e); if (t) { var a = _(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return m(this, n) } } function m(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function _(e) { return (_ = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var v = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && p(e, t) }(c, e); var t, n, i, d = g(c); function c() { return u(this, c), d.apply(this, arguments) } return t = c, (n = [{ key: "_getDefaultOptions", value: function () { return (0, l.extend)(f(_(c.prototype), "_getDefaultOptions", this).call(this), { orientation: "horizontal", tabIndex: null, onHoverStart: o.noop }) } }, { key: "_initDataAdapter", value: function () { this._dataAdapter = this.option("_dataAdapter"), this._dataAdapter || f(_(c.prototype), "_initDataAdapter", this).call(this) } }, { key: "_renderContentImpl", value: function () { this._renderContextMenuOverlay(), f(_(c.prototype), "_renderContentImpl", this).call(this); var e = this._dataAdapter.getNodeByKey(this.option("_parentKey")); e && this._renderItems(this._getChildNodes(e)), this._renderDelimiter() } }, { key: "_renderDelimiter", value: function () { this.$contentDelimiter = (0, a.default)("<div>").appendTo(this._itemContainer()).addClass("dx-context-menu-content-delimiter") } }, { key: "_getOverlayOptions", value: function () { return (0, l.extend)(f(_(c.prototype), "_getOverlayOptions", this).call(this), { onPositioned: this._overlayPositionedActionHandler.bind(this) }) } }, { key: "_overlayPositionedActionHandler", value: function (e) { this._showDelimiter(e) } }, { key: "_hoverEndHandler", value: function (e) { f(_(c.prototype), "_hoverEndHandler", this).call(this, e), this._toggleFocusClass(!1, e.currentTarget) } }, { key: "_isMenuHorizontal", value: function () { return "horizontal" === this.option("orientation") } }, { key: "_hoverStartHandler", value: function (e) { this.option("onHoverStart")(e), f(_(c.prototype), "_hoverStartHandler", this).call(this, e), this._toggleFocusClass(!0, e.currentTarget) } }, { key: "_drawSubmenu", value: function (e) { this._actions.onShowing({ rootItem: (0, s.getPublicElement)(e), submenu: this }), f(_(c.prototype), "_drawSubmenu", this).call(this, e), this._actions.onShown({ rootItem: (0, s.getPublicElement)(e), submenu: this }) } }, { key: "_hideSubmenu", value: function (e) { this._actions.onHiding({ cancel: !0, rootItem: (0, s.getPublicElement)(e), submenu: this }), f(_(c.prototype), "_hideSubmenu", this).call(this, e), this._actions.onHidden({ rootItem: (0, s.getPublicElement)(e), submenu: this }) } }, { key: "_showDelimiter", value: function (e) { if (this.$contentDelimiter) { var t = this._itemContainer().children(".".concat("dx-submenu")).eq(0), n = this.option("position").of, i = { of: t }, a = e.position, o = a.v.location, s = a.h.location, l = n.offset(), d = Math.round(l.left), c = Math.round(l.top), u = n.width(), h = n.height(), f = t.width(), p = t.height(); this.$contentDelimiter.css("display", "block"), this.$contentDelimiter.width(this._isMenuHorizontal() ? u < f ? u - 2 : f : 2), this.$contentDelimiter.height(this._isMenuHorizontal() ? 2 : h < p ? h - 2 : p), this._isMenuHorizontal() ? o > c ? Math.round(s) === d ? (i.offset = "1 -1", i.at = i.my = "left top") : (i.offset = "-1 -1", i.at = i.my = "right top") : (this.$contentDelimiter.height(5), Math.round(s) === d ? (i.offset = "1 4", i.at = i.my = "left bottom") : (i.offset = "-1 2", i.at = i.my = "right bottom")) : s > d ? Math.round(o) === c ? (i.offset = "-1 1", i.at = i.my = "left top") : (i.offset = "-1 -1", i.at = i.my = "left bottom") : Math.round(o) === c ? (i.offset = "1 1", i.at = i.my = "right top") : (i.offset = "1 -1", i.at = i.my = "right bottom"), r.default.setup(this.$contentDelimiter, i) } } }, { key: "_getContextMenuPosition", value: function () { return this.option("position") } }, { key: "isOverlayVisible", value: function () { return this._overlay.option("visible") } }, { key: "getOverlayContent", value: function () { return this._overlay.$content() } }]) && h(t.prototype, n), i && h(t, i), c }(d.default); t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(475)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("headerFilter", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = w(n(5)), a = w(n(24)), o = w(n(109)), s = w(n(22)), r = n(209), l = w(n(10)), d = n(19), c = n(20), u = n(3), h = n(0), f = n(25), p = n(1), g = n(53), m = w(n(32)), _ = w(n(73)), v = n(6), y = n(86); function w(e) { return e && e.__esModule ? e : { default: e } } var x = { month: function (e) { return m.default.getMonthNames()[e - 1] }, quarter: function (e) { return m.default.format(new Date(2e3, 3 * e - 1), "quarter") } }, b = a.default.ViewController.inherit({ init: function () { this._columnsController = this.getController("columns"), this._dataController = this.getController("data"), this._headerFilterView = this.getView("headerFilterView") }, _updateSelectedState: function (e, t) { for (var n = e.length, i = "exclude" === t.filterType; n--;) { var a = e[n]; "items" in e[n] && this._updateSelectedState(e[n].items, t), (0, r.updateHeaderFilterItemSelectionState)(a, s.default.getIndexByKey(e[n].value, t.filterValues, null) > -1, i) } }, _normalizeGroupItem: function (e, t, n) { var i, a, o = n.path, s = n.valueSelector, r = n.displaySelector, l = n.column; return s && r ? (i = s(e), a = r(e)) : a = i = e.key, e = (0, h.isObject)(e) ? (0, p.extend)({}, e) : {}, o.push(i), 1 === o.length ? e.value = o[0] : e.value = o.join("/"), e.text = this.getHeaderItemText(a, l, t, n.headerFilterOptions), e }, getHeaderItemText: function (e, t, n, i) { var a = s.default.formatValue(e, function (e, t, n) { var i = o.default.getGroupInterval(t), a = s.default.getFormatOptionsByColumn(t, "headerFilter"); return i && (a.groupInterval = i[n], s.default.isDateType(t.dataType) ? a.format = x[i[n]] : "number" === t.dataType && (a.getDisplayFormat = function () { var a = { format: t.format, target: "headerFilter" }, o = s.default.formatValue(e, a), r = e + i[n], l = s.default.formatValue(r, a); return o && l ? o + " - " + l : "" })), a }(e, t, n)); return a || (a = i.texts.emptyValue), a }, _processGroupItems: function (e, t, n, i) { var a, o, s = i.column.lookup, r = i.level; n = n || [], t = t || 0, s && (a = (0, c.compileGetter)(s.displayExpr), o = (0, c.compileGetter)(s.valueExpr)); for (var l = 0; l < e.length; l++)e[l] = this._normalizeGroupItem(e[l], t, { column: i.column, headerFilterOptions: i.headerFilterOptions, displaySelector: a, valueSelector: o, path: n }), "items" in e[l] && (t !== r && (0, h.isDefined)(e[l].value) ? this._processGroupItems(e[l].items, t + 1, n, i) : delete e[l].items), n.pop() }, getDataSource: function (e) { var t = this, n = t._dataController.dataSource(), i = s.default.getHeaderFilterGroupParameters(e, n && n.remoteOperations().grouping), a = e.headerFilter && e.headerFilter.dataSource, o = t.option("headerFilter"), r = !1, l = { component: t.component }; if (n) { if ((0, h.isDefined)(a) && !(0, h.isFunction)(a)) l.dataSource = (0, g.normalizeDataSourceOptions)(a); else if (e.lookup) { var d; r = !0, e.lookup.items ? d = e.lookup.items : (d = e.lookup.dataSource, (0, h.isFunction)(d) && !_.default.isWrapped(d) && (d = d({}))), l.dataSource = (0, g.normalizeDataSourceOptions)(d) } else { var c = Array.isArray(i) ? i.length - 1 : 0; t._currentColumn = e; var u = t._dataController.getCombinedFilter(); t._currentColumn = null, l.dataSource = { filter: u, group: i, useDefaultSearch: !0, load: function (i) { var a = new v.Deferred; return i.dataField = e.dataField || e.name, n.load(i).done((function (n) { t._processGroupItems(n, null, null, { level: c, column: e, headerFilterOptions: o }), a.resolve(n) })).fail(a.reject), a } } } (0, h.isFunction)(a) && a.call(e, l); var f = l.dataSource.postProcess; return l.dataSource.postProcess = function (n) { var i = n; return r && (0 !== this.pageIndex() || this.searchValue() || (i = i.slice(0)).unshift(null), t._processGroupItems(i, null, null, { level: 0, column: e, headerFilterOptions: o })), i = f && f.call(this, i) || i, t._updateSelectedState(i, e), i }, l.dataSource } }, getCurrentColumn: function () { return this._currentColumn }, showHeaderFilterMenu: function (e, t) { var n = this._columnsController, i = (0, p.extend)(!0, {}, this._columnsController.getColumns()[e]); if (i) { var a = n.getVisibleIndex(e), o = t ? this.getView("headerPanel") : this.getView("columnHeadersView"), s = s || o.getColumnElements().eq(t ? i.groupIndex : a); this.showHeaderFilterMenuBase({ columnElement: s, column: i, applyFilter: !0, apply: function () { n.columnOption(e, { filterValues: this.filterValues, filterType: this.filterType }) } }) } }, showHeaderFilterMenuBase: function (e) { var t = this, n = this, i = e.column; if (i) { var a = o.default.getGroupInterval(i), s = n._dataController.dataSource(), r = s && s.remoteOperations().filtering; (0, p.extend)(e, i, { type: a && a.length > 1 ? "tree" : "list", remoteFiltering: r, onShowing: function (t) { var i = t.component.overlayContent().dxResizable("instance"); i && i.option("onResizeEnd", (function (t) { var i = n.getController("columns"), a = i.columnOption(e.dataField, "headerFilter"); (a = a || {}).width = t.width, a.height = t.height, i.columnOption(e.dataField, "headerFilter", a, !0) })) }, onHidden: function () { return (0, y.restoreFocus)(t) } }), e.dataSource = n.getDataSource(e), e.isFilterBuilder && (e.dataSource.filter = null, e.alignment = "right"), n._headerFilterView.showHeaderFilterMenu(e.columnElement, e) } }, hideHeaderFilterMenu: function () { this._headerFilterView.hideHeaderFilterMenu() } }), C = (0, p.extend)({}, r.headerFilterMixin, { _renderCellContent: function (e, t) { var n, i = t.column; !i.command && (0, r.allowHeaderFiltering)(i) && this.option("headerFilter.visible") && "header" === t.rowType && (n = this._applyColumnState({ name: "headerFilter", rootElement: e, column: i, showColumnLines: this.option("showColumnLines") })) && this._subscribeToIndicatorEvent(n, i, "headerFilter"), this.callBase(e, t) }, _subscribeToIndicatorEvent: function (e, t, n) { var a = this; "headerFilter" === n && i.default.on(e, d.name, a.createAction((function (e) { e.event.stopPropagation(), a.getController("headerFilter").showHeaderFilterMenu(t.index, !1) }))) }, _updateIndicator: function (e, t, n) { var i = this.callBase(e, t, n); i && this._subscribeToIndicatorEvent(i, t, n) }, _updateHeaderFilterIndicators: function () { this.option("headerFilter.visible") && this._updateIndicators("headerFilter") }, _needUpdateFilterIndicators: function () { return !0 }, _columnOptionChanged: function (e) { var t = e.optionNames; s.default.checkChanges(t, ["filterValues", "filterType"]) ? this._needUpdateFilterIndicators() && this._updateHeaderFilterIndicators() : this.callBase(e) } }), k = (0, p.extend)({}, r.headerFilterMixin, { _createGroupPanelItem: function (e, t) { var n, a = this, o = a.callBase.apply(a, arguments); return !t.command && (0, r.allowHeaderFiltering)(t) && a.option("headerFilter.visible") && (n = a._applyColumnState({ name: "headerFilter", rootElement: o, column: { alignment: (0, f.getDefaultAlignment)(a.option("rtlEnabled")), filterValues: t.filterValues, allowHeaderFiltering: !0 }, showColumnLines: !0 })) && i.default.on(n, d.name, a.createAction((function (e) { e.event.stopPropagation(), a.getController("headerFilter").showHeaderFilterMenu(t.index, !0) }))), o } }); var I = { skipCalculateColumnFilters: function () { return !1 }, _calculateAdditionalFilter: function () { if (this.skipCalculateColumnFilters()) return this.callBase(); var e = [this.callBase()], t = this._columnsController.getVisibleColumns(null, !0), n = this.getController("headerFilter").getCurrentColumn(); return (0, u.each)(t, (function (t, i) { var a; if ((!n || n.index !== i.index) && (0, r.allowHeaderFiltering)(i) && i.calculateFilterExpression && Array.isArray(i.filterValues) && i.filterValues.length) { var o = []; (0, u.each)(i.filterValues, (function (e, t) { Array.isArray(t) ? a = t : (i.deserializeValue && !s.default.isDateType(i.dataType) && "number" !== i.dataType && (t = i.deserializeValue(t)), a = i.createFilterExpression(t, "=", "headerFilter")), a && (a.columnIndex = i.index), o.push(a) })), o = s.default.combineFilters(o, "or"), e.push("exclude" === i.filterType ? ["!", o] : o) } })), s.default.combineFilters(e) } }, S = { invertFilterExpression: function (e) { return ["!", e] }, defaultOptions: function () { return { headerFilter: { visible: !1, width: 252, height: 325, allowSearch: !1, searchTimeout: 500, texts: { emptyValue: l.default.format("dxDataGrid-headerFilterEmptyValue"), ok: l.default.format("dxDataGrid-headerFilterOK"), cancel: l.default.format("dxDataGrid-headerFilterCancel") } } } }, controllers: { headerFilter: b }, views: { headerFilterView: r.HeaderFilterView }, extenders: { controllers: { data: I }, views: { columnHeadersView: C, headerPanel: k } } }; t.default = S, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(477)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("filterSync", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = n(0), a = c(n(24)), o = n(135), s = c(n(17)), r = c(n(22)), l = c(n(109)), d = n(480); function c(e) { return e && e.__esModule ? e : { default: e } } var u = ["=", "<>", "<", "<=", ">", ">=", "notcontains", "contains", "startswith", "endswith", "between"]; function h(e) { return e.dataField || e.name } var f, p, g, m, _, v = { defaultOptions: function () { return { filterValue: null, filterSyncEnabled: "auto" } }, controllers: { filterSync: a.default.Controller.inherit((f = function (e) { return !(l.default.getGroupInterval(e) || e.headerFilter && e.headerFilter.dataSource) }, p = function (e) { var t = e.filterValue; if ((0, i.isDefined)(t)) { var n = e.selectedFilterOperation || e.defaultFilterOperation || (0, o.getDefaultOperation)(e); return [h(e), n, e.filterValue] } return null }, g = function (e) { var t, n, i = e.filterValues; return i ? (f(e) && 1 === e.filterValues.length && !Array.isArray(i[0]) ? (t = "exclude" === e.filterType ? "<>" : "=", n = i[0]) : (t = "exclude" === e.filterType ? "noneof" : "anyof", n = i), [h(e), t, n]) : null }, m = function (e, t, n) { var i = function (e, t) { if (!e) return { filterType: "include", filterValues: void 0 }; var n, i = e[1], a = e[2], o = Array.isArray(a); if (!o && !f(t)) return { filterType: "include", filterValues: void 0 }; switch (i) { case "anyof": case "=": n = "include"; break; case "noneof": case "<>": n = "exclude"; break; default: return { filterType: "include", filterValues: void 0 } }return { filterType: n, filterValues: o ? a : [a] } }(n, t); e.columnOption(h(t), i) }, _ = function (e, t, n) { var a, o = n && n[1], s = t.filterOperations || t.defaultFilterOperations; (!s || s.indexOf(o) >= 0 || o === t.defaultFilterOperation) && u.indexOf(o) >= 0 ? (o !== t.defaultFilterOperation || (0, i.isDefined)(t.selectedFilterOperation) || (o = t.selectedFilterOperation), a = { filterValue: n[2], selectedFilterOperation: o }) : a = { filterValue: void 0, selectedFilterOperation: void 0 }, e.columnOption(h(t), a) }, { syncFilterValue: function () { var e = this, t = e.getController("columns"), n = t.getFilteringColumns(); this._skipSyncColumnOptions = !0, n.forEach((function (n) { var a = (0, o.getMatchedConditions)(e.option("filterValue"), h(n)); if (1 === a.length) { var s = a[0]; m(t, n, s), _(t, n, s) } else (0, i.isDefined)(n.filterValues) && m(t, n), (0, i.isDefined)(n.filterValue) && _(t, n) })), this._skipSyncColumnOptions = !1 }, _initSync: function () { var e = this.getController("columns").getColumns(), t = this.getController("data"), n = t.pageIndex(); if (function (e) { e.forEach((function (e) { var t = h(e); if (!(0, i.isDefined)(t) && e.allowFiltering) throw new s.default.Error("E1049", e.caption) })) }(e), !this.option("filterValue")) { var a = this.getController("columns").getFilteringColumns(), o = this.getFilterValueFromColumns(a); this.option("filterValue", o) } this.syncFilterValue(), t.pageIndex(n) }, init: function () { var e = this, t = this.getController("data"); t.isFilterSyncActive() && (this.getController("columns").isAllDataTypesDefined() ? this._initSync() : t.dataSourceChanged.add((function () { return e._initSync() }))) }, _getSyncFilterRow: function (e, t) { var n = p(t); return (0, i.isDefined)(n) ? (0, o.syncFilters)(e, n) : (0, o.removeFieldConditionsFromFilter)(e, h(t)) }, _getSyncHeaderFilter: function (e, t) { var n = g(t); return n ? (0, o.syncFilters)(e, n) : (0, o.removeFieldConditionsFromFilter)(e, h(t)) }, getFilterValueFromColumns: function (e) { if (!this.getController("data").isFilterSyncActive()) return null; var t = ["and"]; return e && e.forEach((function (e) { var n = g(e), i = p(e); n && (0, o.addItem)(n, t), i && (0, o.addItem)(i, t) })), (0, o.getNormalizedFilter)(t) }, syncFilterRow: function (e, t) { this.option("filterValue", this._getSyncFilterRow(this.option("filterValue"), e)) }, syncHeaderFilter: function (e) { this.option("filterValue", this._getSyncHeaderFilter(this.option("filterValue"), e)) }, getCustomFilterOperations: function () { var e = this.option("filterBuilder.customOperations") || []; return [(0, d.anyOf)(this.component), (0, d.noneOf)(this.component)].concat(e) }, publicMethods: function () { return ["getCustomFilterOperations"] } })) }, extenders: { controllers: { data: { isFilterSyncActive: function () { var e = this.option("filterSyncEnabled"); return "auto" === e ? this.option("filterPanel.visible") : e }, skipCalculateColumnFilters: function () { return (0, i.isDefined)(this.option("filterValue")) && this.isFilterSyncActive() }, _calculateAdditionalFilter: function () { if (!1 === this.option("filterPanel.filterEnabled")) return this.callBase(); var e = [this.callBase()], t = this.getController("columns").getFilteringColumns(), n = this.option("filterValue"); if (this.isFilterSyncActive()) { var i = this.getController("headerFilter").getCurrentColumn(); i && n && (n = (0, o.removeFieldConditionsFromFilter)(n, h(i))) } var a = this.getController("filterSync").getCustomFilterOperations(), s = (0, o.getFilterExpression)(n, t, a, "filterBuilder"); return s && e.push(s), r.default.combineFilters(e) }, _parseColumnPropertyName: function (e) { return e.match(/.*\.(.*)/)[1] }, clearFilter: function (e) { this.component.beginUpdate(), arguments.length > 0 ? ("filterValue" === e && this.option("filterValue", null), this.callBase(e)) : (this.option("filterValue", null), this.callBase()), this.component.endUpdate() }, optionChanged: function (e) { switch (e.name) { case "filterValue": this._applyFilter(), this.isFilterSyncActive() && this.getController("filterSync").syncFilterValue(), e.handled = !0; break; case "filterSyncEnabled": e.handled = !0; break; case "columns": if (this.isFilterSyncActive()) { var t = this.getController("columns").getColumnByPath(e.fullName), n = this.getController("filterSync"); if (t && !n._skipSyncColumnOptions) { var i = this._parseColumnPropertyName(e.fullName); n._skipSyncColumnOptions = !0, "filterType" === i ? "exclude" !== e.value && "exclude" !== e.previousValue || n.syncHeaderFilter(t) : "filterValues" === i ? n.syncHeaderFilter(t) : ["filterValue", "selectedFilterOperation"].indexOf(i) > -1 && n.syncFilterRow(t, t.filterValue), n._skipSyncColumnOptions = !1 } } this.callBase(e); break; default: this.callBase(e) } } } }, views: { columnHeadersView: { _isHeaderFilterEmpty: function (e) { return this.getController("data").isFilterSyncActive() ? !(0, o.filterHasField)(this.option("filterValue"), h(e)) : this.callBase(e) }, _needUpdateFilterIndicators: function () { return !this.getController("data").isFilterSyncActive() }, optionChanged: function (e) { "filterValue" === e.name ? this._updateHeaderFilterIndicators() : this.callBase(e) } } } } }; t.default = v, e.exports = t.default }, function (e, t, n) { "use strict"; t.getConfig = function (e, t) { return { name: "between", caption: e, icon: "range", valueSeparator: "–", dataTypes: ["number", "date", "datetime"], editorTemplate: s.bind(t), notForLookup: !0 } }; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(1); function s(e, t) { var n = (0, a.default)("<div>").addClass("dx-filterbuilder-range-start"), i = (0, a.default)("<div>").addClass("dx-filterbuilder-range-end"), s = e.value || [], r = function (e) { return e && e.length > 0 ? e[0] : null }, l = function (e) { return e && 2 === e.length ? e[1] : null }; t.append(n), t.append((0, a.default)("<span>").addClass("dx-filterbuilder-range-separator").text("–")), t.append(i), t.addClass("dx-filterbuilder-range"), this._editorFactory.createEditor.call(this, n, (0, o.extend)({}, e.field, e, { value: r(s), parentType: "filterBuilder", setValue: function (t) { s = [t, l(s)], e.setValue(s) } })), this._editorFactory.createEditor.call(this, i, (0, o.extend)({}, e.field, e, { value: l(s), parentType: "filterBuilder", setValue: function (t) { s = [r(s), t], e.setValue(s) } })) } }, function (e, t, n) { "use strict"; t.default = void 0; var i = { "=": "equal", "<>": "notequal", "<": "less", "<=": "lessorequal", ">": "greater", ">=": "greaterorequal", notcontains: "doesnotcontain", contains: "contains", startswith: "startswith", endswith: "endswith", isblank: "isblank", isnotblank: "isnotblank" }, a = { "=": "equal", "<>": "notEqual", "<": "lessThan", "<=": "lessThanOrEqual", ">": "greaterThan", ">=": "greaterThanOrEqual", startswith: "startsWith", contains: "contains", notcontains: "notContains", endswith: "endsWith", isblank: "isBlank", isnotblank: "isNotBlank", between: "between" }, o = { getIconByFilterOperation: function (e) { return i[e] }, getNameByFilterOperation: function (e) { return a[e] } }; t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.anyOf = function (e) { return (0, o.extend)(c(e), { name: "anyof", icon: "selectall", caption: a.default.format("dxFilterBuilder-filterOperationAnyOf") }) }, t.noneOf = function (e) { var t = c(e); return (0, o.extend)({}, t, { calculateFilterExpression: function (e, n, i) { var a = t.calculateFilterExpression(e, n, i); return a && 0 !== a.length ? "!" === a[0] ? a : ["!", a] : null }, name: "noneof", icon: "unselectall", caption: a.default.format("dxFilterBuilder-filterOperationNoneOf") }) }; var i = d(n(2)), a = d(n(10)), o = n(1), s = n(52), r = n(6), l = n(135); function d(e) { return e && e.__esModule ? e : { default: e } } function c(e) { var t = function (e, t) { return t ? t + "/" + e : e }, n = e && e.getController("headerFilter"); return { dataTypes: ["string", "date", "datetime", "number", "boolean", "object"], calculateFilterExpression: function (e, t, n) { var i = [], a = e.length - 1; return e && e.forEach((function (e, o) { if ((0, l.isCondition)(e) || (0, l.isGroup)(e)) { var s = (0, l.getFilterExpression)(e, n, [], "headerFilter"); i.push(s) } else i.push((0, l.getFilterExpression)([t.dataField, "=", e], n, [], "headerFilter")); o !== a && i.push("or") })), 1 === i.length && (i = i[0]), i }, editorTemplate: function (t, a) { var s = (0, i.default)("<div>").addClass("dx-filterbuilder-item-value-text").appendTo(a), r = (0, o.extend)(!0, {}, e.columnOption(t.field.dataField)); (0, l.renderValueText)(s, t.text && t.text.split("|")); return r.filterType = "include", r.filterValues = t.value ? t.value.slice() : [], n.showHeaderFilterMenuBase({ columnElement: s, column: r, apply: function () { var e; e = this.filterValues, t.setValue(e), n.hideHeaderFilterMenu(), t.closeEditor() }, onHidden: function () { t.closeEditor() }, isFilterBuilder: !0 }), a }, customizeText: function (i) { var a = i.value, l = e.columnOption(i.field.dataField), d = l && l.headerFilter, c = l && l.lookup; if (d && d.dataSource || c && c.dataSource) { l = (0, o.extend)({}, l, { filterType: "include", filterValues: [a] }); var u = n.getDataSource(l); u.paginate = !1; var h = new s.DataSource(u), f = new r.Deferred, p = h.store().key(); return p && h.filter([p, "=", i.value]), h.load().done((function (e) { f.resolve(function e(n, i) { var a = []; return n.forEach((function (n) { if (n.items) { var o = e(n.items, t(n.text, i)); a = a.concat(o) } n.selected && a.push(t(n.text, i)) })), a }(e)[0]) })), f } return n.getHeaderItemText(a, l, 0, e.option("headerFilter")) } } } }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(482)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("filterBuilder", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(24)), o = n(1), s = u(n(483)), r = u(n(10)), l = u(n(162)), d = u(n(47)), c = n(86); function u(e) { return e && e.__esModule ? e : { default: e } } var h = { defaultOptions: function () { return { filterBuilder: { groupOperationDescriptions: { and: r.default.format("dxFilterBuilder-and"), or: r.default.format("dxFilterBuilder-or"), notAnd: r.default.format("dxFilterBuilder-notAnd"), notOr: r.default.format("dxFilterBuilder-notOr") }, filterOperationDescriptions: { between: r.default.format("dxFilterBuilder-filterOperationBetween"), equal: r.default.format("dxFilterBuilder-filterOperationEquals"), notEqual: r.default.format("dxFilterBuilder-filterOperationNotEquals"), lessThan: r.default.format("dxFilterBuilder-filterOperationLess"), lessThanOrEqual: r.default.format("dxFilterBuilder-filterOperationLessOrEquals"), greaterThan: r.default.format("dxFilterBuilder-filterOperationGreater"), greaterThanOrEqual: r.default.format("dxFilterBuilder-filterOperationGreaterOrEquals"), startsWith: r.default.format("dxFilterBuilder-filterOperationStartsWith"), contains: r.default.format("dxFilterBuilder-filterOperationContains"), notContains: r.default.format("dxFilterBuilder-filterOperationNotContains"), endsWith: r.default.format("dxFilterBuilder-filterOperationEndsWith"), isBlank: r.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: r.default.format("dxFilterBuilder-filterOperationIsNotBlank") } }, filterBuilderPopup: {} } }, views: { filterBuilderView: a.default.View.inherit({ _renderCore: function () { this._updatePopupOptions() }, _updatePopupOptions: function () { this.option("filterBuilderPopup.visible") ? this._initPopup() : this._filterBuilderPopup && this._filterBuilderPopup.hide() }, _disposePopup: function () { this._filterBuilderPopup && (this._filterBuilderPopup.dispose(), this._filterBuilderPopup = void 0), this._filterBuilder && (this._filterBuilder.dispose(), this._filterBuilder = void 0) }, _initPopup: function () { var e = this; e._disposePopup(), e._filterBuilderPopup = e._createComponent(e.element(), d.default, (0, o.extend)({ title: r.default.format("dxDataGrid-filterBuilderPopupTitle"), contentTemplate: function (t) { return e._getPopupContentTemplate(t) }, onOptionChanged: function (t) { "visible" === t.name && e.option("filterBuilderPopup.visible", t.value) }, toolbarItems: e._getPopupToolbarItems() }, e.option("filterBuilderPopup"), { onHidden: function (t) { (0, c.restoreFocus)(e), e._disposePopup() } })) }, _getPopupContentTemplate: function (e) { var t = (0, i.default)(e), n = (0, i.default)("<div>").appendTo((0, i.default)(e)); this._filterBuilder = this._createComponent(n, s.default, (0, o.extend)({ value: this.option("filterValue"), fields: this.getController("columns").getFilteringColumns() }, this.option("filterBuilder"), { customOperations: this.getController("filterSync").getCustomFilterOperations() })), this._createComponent(t, l.default, { direction: "both" }) }, _getPopupToolbarItems: function () { var e = this; return [{ toolbar: "bottom", location: "after", widget: "dxButton", options: { text: r.default.format("OK"), onClick: function (t) { var n = e._filterBuilder.option("value"); e.option("filterValue", n), e._filterBuilderPopup.hide() } } }, { toolbar: "bottom", location: "after", widget: "dxButton", options: { text: r.default.format("Cancel"), onClick: function (t) { e._filterBuilderPopup.hide() } } }] }, optionChanged: function (e) { switch (e.name) { case "filterBuilder": case "filterBuilderPopup": this._invalidate(), e.handled = !0; break; default: this.callBase(e) } } }) } }; t.default = h, e.exports = t.default }, function (e, t, n) { "use strict"; var i; t.default = void 0; var a = ((i = n(484)) && i.__esModule ? i : { default: i }).default; t.default = a, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = y(n(2)), a = y(n(9)), o = y(n(13)), s = y(n(5)), r = y(n(29)), l = y(n(11)), d = n(1), c = y(n(10)), u = n(6), h = n(0), f = y(n(111)), p = y(n(47)), g = n(244), m = y(n(234)), _ = n(8), v = n(135); function y(e) { return e && e.__esModule ? e : { default: e } } var w = [{ name: "onEditorPreparing", config: { excludeValidators: ["disabled", "readOnly"], category: "rendering" } }, { name: "onEditorPrepared", config: { excludeValidators: ["disabled", "readOnly"], category: "rendering" } }, { name: "onValueChanged", config: { excludeValidators: ["disabled", "readOnly"] } }], x = { and: "and", or: "or", notAnd: "!and", notOr: "!or" }, b = o.default.inherit(m.default), C = r.default.inherit({ _getDefaultOptions: function () { return (0, d.extend)(this.callBase(), { onEditorPreparing: null, onEditorPrepared: null, onValueChanged: null, fields: [], defaultGroupOperation: "and", groupOperations: ["and", "or", "notAnd", "notOr"], maxGroupLevel: void 0, value: null, allowHierarchicalFields: !1, groupOperationDescriptions: { and: c.default.format("dxFilterBuilder-and"), or: c.default.format("dxFilterBuilder-or"), notAnd: c.default.format("dxFilterBuilder-notAnd"), notOr: c.default.format("dxFilterBuilder-notOr") }, customOperations: [], closePopupOnTargetScroll: !0, filterOperationDescriptions: { between: c.default.format("dxFilterBuilder-filterOperationBetween"), equal: c.default.format("dxFilterBuilder-filterOperationEquals"), notEqual: c.default.format("dxFilterBuilder-filterOperationNotEquals"), lessThan: c.default.format("dxFilterBuilder-filterOperationLess"), lessThanOrEqual: c.default.format("dxFilterBuilder-filterOperationLessOrEquals"), greaterThan: c.default.format("dxFilterBuilder-filterOperationGreater"), greaterThanOrEqual: c.default.format("dxFilterBuilder-filterOperationGreaterOrEquals"), startsWith: c.default.format("dxFilterBuilder-filterOperationStartsWith"), contains: c.default.format("dxFilterBuilder-filterOperationContains"), notContains: c.default.format("dxFilterBuilder-filterOperationNotContains"), endsWith: c.default.format("dxFilterBuilder-filterOperationEndsWith"), isBlank: c.default.format("dxFilterBuilder-filterOperationIsBlank"), isNotBlank: c.default.format("dxFilterBuilder-filterOperationIsNotBlank") } }) }, _optionChanged: function (e) { switch (e.name) { case "closePopupOnTargetScroll": break; case "onEditorPreparing": case "onEditorPrepared": case "onValueChanged": this._initActions(); break; case "customOperations": this._initCustomOperations(), this._invalidate(); break; case "fields": case "defaultGroupOperation": case "maxGroupLevel": case "groupOperations": case "allowHierarchicalFields": case "groupOperationDescriptions": case "filterOperationDescriptions": this._invalidate(); break; case "value": if (e.value !== e.previousValue) { var t = this._disableInvalidateForValue; t || (this._initModel(), this._invalidate()), this._disableInvalidateForValue = !1, this.executeAction("onValueChanged", { value: e.value, previousValue: e.previousValue }), this._disableInvalidateForValue = t } break; default: this.callBase(e) } }, getFilterExpression: function () { var e = this._getNormalizedFields(), t = (0, d.extend)(!0, [], this._model); return (0, v.getFilterExpression)((0, v.getNormalizedFilter)(t), e, this._customOperations, "filterBuilder") }, _getNormalizedFields: function () { return (0, v.getNormalizedFields)(this.option("fields")) }, _updateFilter: function () { this._disableInvalidateForValue = !0; var e = (0, d.extend)(!0, [], this._model), t = (0, v.getNormalizedFilter)(e), n = (0, v.getNormalizedFilter)(this._getModel(this.option("value"))); JSON.stringify(n) !== JSON.stringify(t) && this.option("value", t), this._disableInvalidateForValue = !1, this._fireContentReadyAction() }, _init: function () { this._initCustomOperations(), this._initModel(), this._initEditorFactory(), this._initActions(), this.callBase() }, _initEditorFactory: function () { this._editorFactory = new b }, _initCustomOperations: function () { this._customOperations = (0, v.getMergedOperations)(this.option("customOperations"), this.option("filterOperationDescriptions.between"), this) }, _getModel: function (e) { return (0, v.convertToInnerStructure)(e, this._customOperations) }, _initModel: function () { this._model = this._getModel(this.option("value")) }, _initActions: function () { var e = this; e._actions = {}, w.forEach((function (t) { var n = (0, d.extend)({}, t.config); e._actions[t.name] = e._createActionByOption(t.name, n) })) }, executeAction: function (e, t) { var n = this._actions[e]; return n && n(t) }, _initMarkup: function () { this.$element().addClass("dx-filterbuilder"), this.callBase(), this._createGroupElementByCriteria(this._model).appendTo(this.$element()) }, _createConditionElement: function (e, t) { return (0, i.default)("<div>").addClass("dx-filterbuilder-group").append(this._createConditionItem(e, t)) }, _createGroupElementByCriteria: function (e, t) { for (var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, i = this._createGroupElement(e, t, n), a = i.find(".dx-filterbuilder-group-content"), o = (0, v.getGroupCriteria)(e), s = 0; s < o.length; s++) { var r = o[s]; (0, v.isGroup)(r) ? this._createGroupElementByCriteria(r, o, n + 1).appendTo(a) : (0, v.isCondition)(r) && this._createConditionElement(r, o).appendTo(a) } return i }, _createGroupElement: function (e, t, n) { var a = this, o = (0, i.default)("<div>").addClass("dx-filterbuilder-group-item"), s = (0, i.default)("<div>").addClass("dx-filterbuilder-group-content"), r = (0, i.default)("<div>").addClass("dx-filterbuilder-group").append(o).append(s); return null != t && this._createRemoveButton((function () { (0, v.removeItem)(t, e), r.remove(), a._updateFilter() })).appendTo(o), this._createGroupOperationButton(e).appendTo(o), this._createAddButton((function () { var t = (0, v.createEmptyGroup)(a.option("defaultGroupOperation")); (0, v.addItem)(t, e), a._createGroupElement(t, e, n + 1).appendTo(s), a._updateFilter() }), (function () { var t = a.option("fields")[0], n = (0, v.createCondition)(t, a._customOperations); (0, v.addItem)(n, e), a._createConditionElement(n, e).appendTo(s), a._updateFilter() }), n).appendTo(o), r }, _createButton: function (e) { return (0, i.default)("<div>").text(e) }, _createGroupOperationButton: function (e) { var t = this, n = this._getGroupOperations(e), i = (0, v.getGroupMenuItem)(e, n), a = i.text, o = n && n.length < 2 ? this._createButton(a).addClass("dx-state-disabled") : this._createButtonWithMenu({ caption: a, menu: { items: n, displayExpr: "text", keyExpr: "value", onItemClick: function (n) { i !== n.itemData && ((0, v.setGroupValue)(e, n.itemData.value), o.html(n.itemData.text), i = n.itemData, t._updateFilter()) }, onContentReady: function (e) { e.component.selectItem(i) }, cssClass: "dx-filterbuilder-group-operations" } }); return o.addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-group-operation").attr("tabindex", 0) }, _createButtonWithMenu: function (e) { var t, n = this, a = function () { n.$element().find(".dx-state-active").removeClass("dx-state-active"), n.$element().find(".dx-overlay .dx-treeview").remove(), n.$element().find(".dx-overlay").remove() }, o = this.option("rtlEnabled"), r = o ? "right" : "left", l = this._createButton(e.caption); return (0, d.extend)(e.menu, { focusStateEnabled: !0, selectionMode: "single", onItemClick: (t = e.menu.onItemClick, function (e) { t(e), "dxclick" === e.event.type && a() }), onHiding: function (e) { l.removeClass("dx-state-active") }, position: { my: r + " top", at: r + " bottom", offset: "0 1", of: l, collision: "flip" }, animation: null, onHidden: function () { a() }, cssClass: "dx-filterbuilder-overlay " + e.menu.cssClass, rtlEnabled: o }), e.popup = { onShown: function (t) { var n = (0, i.default)(t.component.content()).find(".dx-treeview"), a = n.dxTreeView("instance"); s.default.on(n, "keyup keydown", (function (n) { var i = (0, _.normalizeKeyName)(n); ("keydown" === n.type && "tab" === i || "keyup" === n.type && ("escape" === i || "enter" === i)) && (t.component.hide(), s.default.trigger(e.menu.position.of, "focus")) })), a.focus(), a.option("focusedElement", null) } }, this._subscribeOnClickAndEnterKey(l, (function () { a(), n._createPopupWithTreeView(e, n.$element()), l.addClass("dx-state-active") })), l }, _hasValueButton: function (e) { var t = (0, v.getCustomOperation)(this._customOperations, e[1]); return t ? !1 !== t.hasValue : null !== e[2] }, _createOperationButtonWithMenu: function (e, t) { var n = this, a = this, o = (0, v.getAvailableOperations)(t, this.option("filterOperationDescriptions"), this._customOperations), s = (0, v.getOperationFromAvailable)((0, v.getOperationValue)(e), o), r = this._createButtonWithMenu({ caption: s.text, menu: { items: o, displayExpr: "text", onItemRendered: function (e) { e.itemData.isCustom && (0, i.default)(e.itemElement).addClass("dx-filterbuilder-menu-custom-operation") }, onContentReady: function (e) { e.component.selectItem(s) }, onItemClick: function (i) { if (s !== i.itemData) { s = i.itemData, (0, v.updateConditionByOperation)(e, s.value, a._customOperations); var o = r.siblings().filter(".dx-filterbuilder-item-value"); a._hasValueButton(e) ? (0 !== o.length && o.remove(), a._createValueButton(e, t).appendTo(r.parent())) : o.remove(), r.html(s.text), n._updateFilter() } }, cssClass: "dx-filterbuilder-operations" } }).addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-operation").attr("tabindex", 0); return r }, _createOperationAndValueButtons: function (e, t, n) { this._createOperationButtonWithMenu(e, t).appendTo(n), this._hasValueButton(e) && this._createValueButton(e, t).appendTo(n) }, _createFieldButtonWithMenu: function (e, t, n) { var i = this, a = this, o = this.option("allowHierarchicalFields"), s = (0, v.getItems)(e, o), r = (0, v.getField)(n.name || n.dataField, s), l = function (e, t) { return o ? (0, v.getCaptionWithParents)(e, t) : e.caption }, d = this._createButtonWithMenu({ caption: l(r, s), menu: { items: s, dataStructure: "plain", keyExpr: "id", parentId: "parentId", displayExpr: "caption", onItemClick: function (e) { if (r !== e.itemData) { r = e.itemData, t[0] = r.name || r.dataField, t[2] = "object" === r.dataType ? null : "", (0, v.updateConditionByOperation)(t, (0, v.getDefaultOperation)(r), a._customOperations), d.siblings().filter(".dx-filterbuilder-text").remove(), a._createOperationAndValueButtons(t, r, d.parent()); var n = l(r, e.component.option("items")); d.html(n), i._updateFilter() } }, onContentReady: function (e) { e.component.selectItem(r) }, cssClass: "dx-filterbuilder-fields" } }).addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-field").attr("tabindex", 0); return d }, _createConditionItem: function (e, t) { var n = this, a = (0, i.default)("<div>").addClass("dx-filterbuilder-group-item"), o = this._getNormalizedFields(), s = (0, v.getField)(e[0], o); return this._createRemoveButton((function () { (0, v.removeItem)(t, e), 1 === a.parent().children().length ? a.parent().remove() : a.remove(), n._updateFilter() })).appendTo(a), this._createFieldButtonWithMenu(o, e, s).appendTo(a), this._createOperationAndValueButtons(e, s, a), a }, _getGroupOperations: function (e) { var t = this.option("groupOperations"), n = this.option("groupOperationDescriptions"); return t && t.length || (t = [(0, v.getGroupValue)(e).replace("!", "not")]), t.map((function (e) { return { text: n[e], value: x[e] } })) }, _createRemoveButton: function (e) { var t = (0, i.default)("<div>").addClass("dx-filterbuilder-action-icon").addClass("dx-icon-remove").addClass("dx-filterbuilder-action").attr("tabindex", 0); return this._subscribeOnClickAndEnterKey(t, e), t }, _createAddButton: function (e, t, n) { var i, a = this.option("maxGroupLevel"); return (0, h.isDefined)(a) && n >= a ? (i = this._createButton(), this._subscribeOnClickAndEnterKey(i, t)) : i = this._createButtonWithMenu({ menu: { items: [{ caption: c.default.format("dxFilterBuilder-addCondition"), click: t }, { caption: c.default.format("dxFilterBuilder-addGroup"), click: e }], displayExpr: "caption", onItemClick: function (e) { e.itemData.click() }, cssClass: "dx-filterbuilder-add-condition" } }), i.addClass("dx-filterbuilder-action-icon").addClass("dx-icon-plus").addClass("dx-filterbuilder-action").attr("tabindex", 0) }, _createValueText: function (e, t, n) { var a = this, o = (0, i.default)("<div>").html("&nbsp;").addClass("dx-filterbuilder-item-value-text").attr("tabindex", 0).appendTo(n), s = e[2], r = (0, v.getCustomOperation)(a._customOperations, e[1]); return !r && t.lookup ? (0, v.getCurrentLookupValueText)(t, s, (function (e) { (0, v.renderValueText)(o, e) })) : (0, u.when)((0, v.getCurrentValueText)(t, s, r)).done((function (e) { (0, v.renderValueText)(o, e, r) })), a._subscribeOnClickAndEnterKey(o, (function (i) { "keyup" === i.type && i.stopPropagation(), a._createValueEditorWithEvents(e, t, n) })), o }, _updateConditionValue: function (e, t, n) { e[2] !== t && (e[2] = t), n(), this._updateFilter() }, _addDocumentKeyUp: function (e, t) { var n = !1, i = !1, o = a.default.getDocument(), r = function (e) { n || i ? i = !1 : t(e) }; s.default.on(o, "keyup", r); var l = e.find("input"); s.default.on(l, "compositionstart", (function () { n = !0 })), s.default.on(l, "compositionend", (function () { n = !1, i = !0 })), s.default.on(l, "keydown", (function (e) { 229 !== e.which && (i = !1) })), this._documentKeyUpHandler = r }, _addDocumentClick: function (e, t) { var n = this, i = a.default.getDocument(), o = function (i) { n._isFocusOnEditorParts(e, i.target) || (s.default.trigger(e.find("input"), "change"), t()) }; s.default.on(i, "dxpointerdown", o), this._documentClickHandler = o }, _isFocusOnEditorParts: function (e, t) { var n = t || a.default.getActiveElement(); return (0, i.default)(n).closest(e.children()).length || (0, i.default)(n).closest(".dx-dropdowneditor-overlay").length }, _removeEvents: function () { var e = a.default.getDocument(); (0, h.isDefined)(this._documentKeyUpHandler) && s.default.off(e, "keyup", this._documentKeyUpHandler), (0, h.isDefined)(this._documentClickHandler) && s.default.off(e, "dxpointerdown", this._documentClickHandler) }, _dispose: function () { this._removeEvents(), this.callBase() }, _createValueEditorWithEvents: function (e, t, n) { var i = this, a = e[2], o = function () { return n.empty(), i._removeEvents(), i._createValueText(e, t, n) }, r = function () { i._updateConditionValue(e, a, (function () { o() })) }, l = { value: "" === a ? null : a, filterOperation: (0, v.getOperationValue)(e), setValue: function (e) { a = null === e ? "" : e }, closeEditor: r, text: n.text() }; n.empty(); var d = this._createValueEditor(n, t, l); s.default.trigger(d.find("input").not(":hidden").eq(0), "focus"), this._removeEvents(), this._addDocumentClick(d, r), this._addDocumentKeyUp(d, (function (t) { var r = (0, _.normalizeKeyName)(t); if ("tab" === r) { if (i._isFocusOnEditorParts(d)) return; i._updateConditionValue(e, a, (function () { o(), t.shiftKey && s.default.trigger(n.prev(), "focus") })) } "escape" === r && s.default.trigger(o(), "focus"), "enter" === r && i._updateConditionValue(e, a, (function () { s.default.trigger(o(), "focus") })) })), this._fireContentReadyAction() }, _createValueButton: function (e, t) { var n = (0, i.default)("<div>").addClass("dx-filterbuilder-text").addClass("dx-filterbuilder-item-value"); return this._createValueText(e, t, n), n }, _createValueEditor: function (e, t, n) { var a = (0, i.default)("<div>").attr("tabindex", 0).appendTo(e), o = (0, v.getCustomOperation)(this._customOperations, n.filterOperation), s = o && o.editorTemplate ? o.editorTemplate : t.editorTemplate; s ? this._getTemplate(s).render({ model: (0, d.extend)({ field: t }, n), container: a }) : this._editorFactory.createEditor.call(this, a, (0, d.extend)({}, t, n, { parentType: "filterBuilder" })); return a }, _createPopupWithTreeView: function (e, t) { var n = this, a = (0, i.default)("<div>").addClass(e.menu.cssClass).appendTo(t); this._createComponent(a, p.default, { onHiding: e.menu.onHiding, onHidden: e.menu.onHidden, rtlEnabled: e.menu.rtlEnabled, position: e.menu.position, animation: e.menu.animation, contentTemplate: function (t) { var a = (0, i.default)("<div>").appendTo(t); n._createComponent(a, f.default, e.menu), this.repaint() }, maxHeight: function () { return (0, g.getElementMaxHeightByWindow)(e.menu.position.of) }, visible: !0, focusStateEnabled: !1, closeOnTargetScroll: this.option("closePopupOnTargetScroll"), closeOnOutsideClick: !0, onShown: e.popup.onShown, shading: !1, width: "auto", height: "auto", showTitle: !1 }) }, _subscribeOnClickAndEnterKey: function (e, t) { s.default.on(e, "dxclick", t), s.default.on(e, "keyup", (function (e) { "enter" === (0, _.normalizeKeyName)(e) && t(e) })) } }); (0, l.default)("dxFilterBuilder", C); var k = C; t.default = k, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(486)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("filterPanel", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = n(0), o = p(n(24)), s = p(n(22)), r = p(n(5)), l = p(n(10)), d = p(n(112)), c = n(135), u = n(6), h = n(43), f = n(231); function p(e) { return e && e.__esModule ? e : { default: e } } var g = { defaultOptions: function () { return { filterPanel: { visible: !1, filterEnabled: !0, texts: { createFilter: l.default.format("dxDataGrid-filterPanelCreateFilter"), clearFilter: l.default.format("dxDataGrid-filterPanelClearFilter"), filterEnabledHint: l.default.format("dxDataGrid-filterPanelFilterEnabledHint") } } } }, views: { filterPanelView: o.default.View.inherit({ isVisible: function () { return this.option("filterPanel.visible") && this.getController("data").dataSource() }, init: function () { var e = this; this.getController("data").dataSourceChanged.add((function () { return e.render() })) }, _renderCore: function () { var e = this.element(); e.empty().addClass(this.addWidgetPrefix("filter-panel")); var t = (0, i.default)("<div>").addClass(this.addWidgetPrefix("filter-panel-left")).appendTo(e); this.option("filterValue") || this._filterValueBuffer ? (t.append(this._getCheckElement()).append(this._getFilterElement()).append(this._getTextElement()), e.append(this._getRemoveButtonElement())) : t.append(this._getFilterElement()).append(this._getTextElement()) }, _getCheckElement: function () { var e = this, t = (0, i.default)("<div>").addClass(this.addWidgetPrefix("filter-panel-checkbox")); return e._createComponent(t, d.default, { value: e.option("filterPanel.filterEnabled"), onValueChanged: function (t) { e.option("filterPanel.filterEnabled", t.value) } }), t.attr("title", this.option("filterPanel.texts.filterEnabledHint")), t }, _getFilterElement: function () { var e = this, t = (0, i.default)("<div>").addClass("dx-icon-filter"); return r.default.on(t, "click", (function () { return e._showFilterBuilder() })), (0, f.registerKeyboardAction)("filterPanel", e, t, void 0, (function () { return e._showFilterBuilder() })), e._addTabIndexToElement(t), t }, _getTextElement: function () { var e, t = this, n = (0, i.default)("<div>").addClass(t.addWidgetPrefix("filter-panel-text")), a = t.option("filterValue"); return a ? (0, u.when)(t.getFilterText(a, t.getController("filterSync").getCustomFilterOperations())).done((function (e) { var i = t.option("filterPanel.customizeText"); if (i) { var o = i({ component: t.component, filterValue: a, text: e }); "string" == typeof o && (e = o) } n.text(e) })) : (e = t.option("filterPanel.texts.createFilter"), n.text(e)), r.default.on(n, "click", (function () { return t._showFilterBuilder() })), (0, f.registerKeyboardAction)("filterPanel", t, n, void 0, (function () { return t._showFilterBuilder() })), t._addTabIndexToElement(n), n }, _showFilterBuilder: function () { this.option("filterBuilderPopup.visible", !0) }, _getRemoveButtonElement: function () { var e = this, t = function () { return e.option("filterValue", null) }, n = (0, i.default)("<div>").addClass(e.addWidgetPrefix("filter-panel-clear-filter")).text(e.option("filterPanel.texts.clearFilter")); return r.default.on(n, "click", t), (0, f.registerKeyboardAction)("filterPanel", this, n, void 0, t), e._addTabIndexToElement(n), n }, _addTabIndexToElement: function (e) { if (!this.option("useLegacyKeyboardNavigation")) { var t = this.option("tabindex") || 0; e.attr("tabindex", t) } }, optionChanged: function (e) { switch (e.name) { case "filterValue": this._invalidate(), this.option("filterPanel.filterEnabled", !0), e.handled = !0; break; case "filterPanel": this._invalidate(), e.handled = !0; break; default: this.callBase(e) } }, _getConditionText: function (e, t, n) { var i = "[".concat(e, "] ").concat(t); return (0, a.isDefined)(n) && (i += n), i }, _getValueMaskedText: function (e) { return Array.isArray(e) ? "('".concat(e.join("', '"), "')") : " '".concat(e, "'") }, _getValueText: function (e, t, n) { var i = this, o = new u.Deferred, r = t && t.customizeText; if ((0, a.isDefined)(n) || r) if (!r && e.lookup) (0, c.getCurrentLookupValueText)(e, n, (function (e) { o.resolve(i._getValueMaskedText(e)) })); else { var l = Array.isArray(n) ? n : s.default.getDisplayValue(e, n); (0, u.when)((0, c.getCurrentValueText)(e, l, t, "filterPanel")).done((function (e) { o.resolve(i._getValueMaskedText(e)) })) } else o.resolve(""); return o.promise() }, getConditionText: function (e, t) { var n, i = this, a = e[1], o = new u.Deferred, s = (0, c.getCustomOperation)(t.customOperations, a), r = (0, c.getField)(e[0], t.columns), l = r.caption || "", d = e[2]; return n = s ? s.caption || (0, h.captionize)(s.name) : null === d ? (0, c.getCaptionByOperation)("=" === a ? "isblank" : "isnotblank", t.filterOperationDescriptions) : (0, c.getCaptionByOperation)(a, t.filterOperationDescriptions), this._getValueText(r, s, d).done((function (e) { o.resolve(i._getConditionText(l, n, e)) })), o }, getGroupText: function (e, t, n) { var i = this, a = new u.Deferred, o = [], s = (0, c.getGroupValue)(e); return e.forEach((function (e) { (0, c.isCondition)(e) ? o.push(i.getConditionText(e, t)) : (0, c.isGroup)(e) && o.push(i.getGroupText(e, t, !0)) })), u.when.apply(this, o).done((function () { for (var e, i = arguments.length, o = new Array(i), r = 0; r < i; r++)o[r] = arguments[r]; if ("!" === s[0]) { var l = t.groupOperationDescriptions["not" + s.substring(1, 2).toUpperCase() + s.substring(2)].split(" "); e = "".concat(l[0], " ").concat(o[0]) } else e = o.join(" ".concat(t.groupOperationDescriptions[s], " ")); n && (e = "(".concat(e, ")")), a.resolve(e) })), a }, getFilterText: function (e, t) { var n = { customOperations: t, columns: this.getController("columns").getFilteringColumns(), filterOperationDescriptions: this.option("filterBuilder.filterOperationDescriptions"), groupOperationDescriptions: this.option("filterBuilder.groupOperationDescriptions") }; return (0, c.isCondition)(e) ? this.getConditionText(e, n) : this.getGroupText(e, n) } }) }, extenders: { controllers: { data: { optionChanged: function (e) { switch (e.name) { case "filterPanel": this._applyFilter(), e.handled = !0; break; default: this.callBase(e) } } } } } }; t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(488)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("pager", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(24)), a = l(n(489)), o = n(14), s = n(0), r = n(7); function l(e) { return e && e.__esModule ? e : { default: e } } var d = function (e) { return 1 + (parseInt(e.pageIndex()) || 0) }, c = { defaultOptions: function () { return { pager: { visible: "auto", showPageSizeSelector: !1, allowedPageSizes: "auto" } } }, views: { pagerView: i.default.View.inherit({ init: function () { var e = this, t = e.getController("data"); e._isVisible = !1, t.changed.add((function (n) { if (n && n.repaintChangesOnly) { var i = e._getPager(); i ? i.option({ pageIndex: d(t), pageSize: t.pageSize(), pageCount: t.pageCount(), totalCount: t.totalCount(), hasKnownLastPage: t.hasKnownLastPage() }) : e.render() } else (!n || "update" !== n.changeType && "updateSelection" !== n.changeType) && e.render() })) }, _getPager: function () { var e = this.element(); return e && e.data("dxPager") }, _renderCore: function () { var e = this.element().addClass(this.addWidgetPrefix("pager")), t = this.option("pager") || {}, n = this.getController("data"), i = this.getController("keyboardNavigation"), o = { maxPagesCount: 10, pageIndex: d(n), pageCount: n.pageCount(), pageSize: n.pageSize(), showPageSizes: t.showPageSizeSelector, showInfo: t.showInfo, displayMode: t.displayMode, pagesNavigatorVisible: t.visible, showNavigationButtons: t.showNavigationButtons, pageSizes: this.getPageSizes(), totalCount: n.totalCount(), hasKnownLastPage: n.hasKnownLastPage(), pageIndexChanged: function (e) { n.pageIndex() !== e - 1 && setTimeout((function () { n.pageIndex(e - 1) })) }, pageSizeChanged: function (e) { setTimeout((function () { n.pageSize(e) })) }, onKeyDown: function (e) { return i && i.executeAction("onKeyDown", e) }, useLegacyKeyboardNavigation: this.option("useLegacyKeyboardNavigation"), useKeyboard: this.option("keyboardNavigation.enabled") }; (0, s.isDefined)(t.infoText) && (o.infoText = t.infoText), this._createComponent(e, a.default, o) }, getPageSizes: function () { var e = this.getController("data"), t = this.option("pager"), n = t && t.allowedPageSizes, i = e.pageSize(); return (0, s.isDefined)(this._pageSizes) && -1 !== (0, o.inArray)(i, this._pageSizes) || (this._pageSizes = [], t && (Array.isArray(n) ? this._pageSizes = n : n && i > 1 && (this._pageSizes = [Math.floor(i / 2), i, 2 * i]))), this._pageSizes }, isVisible: function () { var e = this.getController("data"), t = this.option("pager"), n = t && t.visible, i = this.option("scrolling"); return !!this._isVisible || ("auto" === n && (n = (!i || "virtual" !== i.mode && "infinite" !== i.mode) && (e.pageCount() > 1 || e.isLoaded() && !e.hasKnownLastPage())), this._isVisible = n, n) }, getHeight: function () { return this.getElementHeight() }, optionChanged: function (e) { var t = e.name, n = "pager" === t, i = "paging" === t, a = "dataSource" === t, o = "scrolling" === t, s = this.getController("data"); if (n || i || o || a) { if (e.handled = !0, s.skipProcessingPagingChange(e.fullName)) return; (n || i) && (this._pageSizes = null), (n || i || o) && (this._isVisible = !1), a || (this._invalidate(), (0, r.hasWindow)() && n && this.component && this.component.resize()) } } }) } }; t.default = c, e.exports = t.default }, function (e, t, n) { "use strict"; t.default = void 0; var i = w(n(2)), a = w(n(5)), o = w(n(13)), s = n(31), r = w(n(11)), l = n(4), d = n(3), c = n(0), u = n(1), h = n(19), f = w(n(23)), p = w(n(10)), g = w(n(29)), m = w(n(133)), _ = w(n(132)), v = n(8), y = n(86); function w(e) { return e && e.__esModule ? e : { default: e } } var x = o.default.inherit({ ctor: function (e, t) { this.index = t, this._$page = (0, i.default)("<div>").text(e).addClass("dx-page") }, value: function (e) { if (!(0, c.isDefined)(e)) { var t = this._$page.text(); return (0, c.isNumeric)(t) ? parseInt(t) : t } this._$page.text(e) }, element: function () { return this._$page }, select: function (e) { this._$page.toggleClass("dx-selection", e) }, render: function (e, t) { t ? this._$page.prependTo(e) : this._$page.appendTo(e) } }), b = g.default.inherit({ _getDefaultOptions: function () { return (0, u.extend)(this.callBase(), { visible: !0, pagesNavigatorVisible: "auto", pageIndex: 1, maxPagesCount: 10, pageCount: 10, totalCount: 0, pageSize: 5, showPageSizes: !0, pageSizes: [5, 10], hasKnownLastPage: !0, showNavigationButtons: !1, showInfo: !1, infoText: p.default.getFormatter("dxPager-infoText"), pagesCountText: p.default.getFormatter("dxPager-pagesCountText"), rtlEnabled: !1, lightModeEnabled: !1, pageIndexChanged: l.noop, pageSizeChanged: l.noop }) }, _toggleVisibility: function (e) { var t = this.$element(); t && t.css("display", e ? "" : "none") }, _getPages: function (e, t) { var n, i, a = [], o = !this.option("hasKnownLastPage"); if (t > 0 || o) if (t <= this.option("maxPagesCount")) { for (i = 1; i <= t; i++)a.push(new x(i, i - 1)); o && a.push(new x(">", i - 1)) } else { for (a.push(new x(1, 0)), n = e ? e.value() - e.index : 1, i = 1; i <= 4; i++)a.push(new x(n + i, i)); a.push(new x(t, 5)), o && a.push(new x(">", 5)) } return a }, _getPageByValue: function (e) { var t, n; for (n = 0; n < this._pages.length; n++)if ((t = this._pages[n]).value() === e) return t }, _processSelectedPage: function (e, t, n) { var i, a = !1; this._pages && ((0, d.each)(this._pages, (function (e, n) { t === n.value() && (a = !0) })), a || (this.selectedPage = null)), (0, c.isDefined)(this.selectedPage) ? t === n && n > e && 5 !== this.selectedPage.index && (this.selectedPage.index = 5) : t > 4 && t < n && (i = n - 4 < t ? 4 - (n - t) + 1 : 2, this.selectedPage = new x(t, i)) }, _selectPageByValue: function (e) { var t, n, i, a = this._getPageByValue(e), o = this._pages, s = o.length; if ((0, c.isDefined)(a)) { var r = this._pages[a.index - 1]; if ((n = this._pages[a.index + 1]) && ">" === n.value() && (i = n, n = void 0, s--, o.pop()), this.selectedPage && this.selectedPage.select(!1), a.select(!0), this.selectedPage = a, n && n.value() - e > 1) if (0 !== a.index) for (r.value(e + 1), this._pages.splice(a.index, 1), this._pages.splice(a.index - 1, 0, a), this._pages[a.index].index = a.index, a.index = a.index - 1, t = a.index - 1; t > 0; t--)this._pages[t].value(this._pages[t + 1].value() - 1); else for (t = 0; t < s - 1; t++)this._pages[t].value(t + 1); if (r && e - r.value() > 1) if (a.index !== s - 1) for (n.value(e - 1), this._pages.splice(a.index, 1), this._pages.splice(a.index + 1, 0, a), this._pages[a.index].index = a.index, a.index = a.index + 1, t = a.index + 1; t < s - 1; t++)this._pages[t].value(this._pages[t - 1].value() + 1); else for (t = 1; t <= s - 2; t++)this._pages[s - 1 - t].value(this._pages[s - 1].value() - t); i && o.push(i) } }, _updatePagesTabIndices: function () { var e = this, t = this.selectedPage._$page; a.default.on(t, "focus", (function n() { var o = (0, i.default)(e.element()).find("[role=button]:not(.dx-button-disable)"); (0, d.each)(o, (function (e, t) { return (0, i.default)(t).attr("tabindex", 0) })), a.default.off(t, "focus", n) })) }, _nextPage: function (e) { var t = this.option("pageIndex"), n = this.option("pageCount"); (0, c.isDefined)(t) && (t = "next" === e ? ++t : --t) > 0 && t <= n && this.option("pageIndex", t) }, _wrapClickAction: function (e) { var t = this; return function (n) { if ("dxpointerup" === n.type) t._pointerUpHappened = !0; else if (t._pointerUpHappened) return void (t._pointerUpHappened = !1); e({ event: n }) } }, _renderPages: function (e) { var t, n, o = this, s = e.length, r = o._createAction((function (e) { var t = e.event, n = (0, i.default)(t.target).text(), a = ">" === n ? o.option("pageCount") + 1 : Number(n); o.option("pageIndex", a) })); s > 1 && (o._pageClickHandler = this._wrapClickAction(r), a.default.on(o._$pagesChooser, (0, v.addNamespace)([f.default.up, h.name], o.Name + "Pages"), ".dx-page", o._pageClickHandler), (0, y.registerKeyboardAction)("pager", o, o._$pagesChooser, ".dx-page", r)); for (var l = 0; l < s; l++)(n = e[l]).render(o._$pagesChooser, o.option("rtlEnabled")), o.setAria({ role: "button", label: "Page " + n.value() }, n.element()), (0, y.setTabIndex)(o, n.element()), e[l + 1] && e[l + 1].value() - n.value() > 1 && (t = (0, i.default)("<div>").text(". . .").addClass("dx-separator"), o.option("rtlEnabled") ? t.prependTo(o._$pagesChooser) : t.appendTo(o._$pagesChooser)) }, _calculateLightPagesWidth: function (e, t) { return Number(e.css("minWidth").replace("px", "")) + 10 * t.toString().length }, _renderLightPages: function () { var e = this, t = this.option("pageCount"), n = this.option("pageIndex"), o = e._createAction((function () { e.option("pageIndex", t) })), s = this.option("pagesCountText"), r = (0, i.default)("<div>").addClass("dx-light-pages").appendTo(this._$pagesChooser), l = (0, i.default)("<div>").addClass("dx-page-index").appendTo(r); e._pageIndexEditor = e._createComponent(l, _.default, { value: n, min: 1, max: t, width: e._calculateLightPagesWidth(l, t), onValueChanged: function (t) { null !== t.value && e.option("pageIndex", t.value) } }), (0, i.default)("<span>").text(s).addClass("dx-info-text dx-info").appendTo(r); var d = (0, i.default)("<span>").addClass("dx-pages-count").text(t); a.default.on(d, (0, v.addNamespace)(h.name, e.Name + "PagesCount"), (function (e) { o({ event: e }) })), (0, y.registerKeyboardAction)("pager", e, d, void 0, o), d.appendTo(r), e.setAria({ role: "button", label: "Navigates to the last page" }, d) }, _renderPagesChooser: function () { var e = this.option("lightModeEnabled"), t = this.option("pagesNavigatorVisible"), n = this.$element(); this._$pagesChooser && this._$pagesChooser.remove(), t && (this._pages && 0 === this._pages.length ? this.selectedPage = null : (this._$pagesChooser = (0, i.default)("<div>").addClass("dx-pages").appendTo(n), "auto" === t && this._$pagesChooser.css("visibility", 1 === this.option("pageCount") ? "hidden" : ""), e || this._renderInfo(), this._renderNavigateButton("prev"), e ? this._renderLightPages() : this._renderPages(this._pages), this._renderNavigateButton("next"), this._updatePagesChooserWidth())) }, _renderPageSizes: function () { var e, t, n, o = this, s = o.option("pageSizes"), r = s && s.length, l = o.option("pageSize"), d = o._createAction((function (e) { var n = e.event; t = parseInt((0, i.default)(n.target).text()), o.option("pageSize", t) })); for (a.default.on(o._$pagesSizeChooser, (0, v.addNamespace)(h.name, o.Name + "PageSize"), ".dx-page-size", (function (e) { d({ event: e }) })), (0, y.registerKeyboardAction)("pager", o, o._$pagesSizeChooser, ".dx-page-size", d), e = 0; e < r; e++)n = (0, i.default)("<div>").text(s[e]).addClass("dx-page-size"), o.setAria({ role: "button", label: "Display " + s[e] + " items on page" }, n), (0, y.setTabIndex)(o, n), l === s[e] && n.addClass("dx-selection"), o._$pagesSizeChooser.append(n) }, _calculateLightPageSizesWidth: function (e) { return Number(this._$pagesSizeChooser.css("minWidth").replace("px", "")) + 10 * Math.max.apply(Math, e).toString().length }, _renderLightPageSizes: function () { var e = this, t = e.option("pageSizes"), n = (0, i.default)("<div>").appendTo(e._$pagesSizeChooser); e._pageSizeEditor = e._createComponent(n, m.default, { dataSource: t, value: e.option("pageSize"), onSelectionChanged: function (t) { e.option("pageSize", t.selectedItem) }, width: e._calculateLightPageSizesWidth(t) }) }, _renderPagesSizeChooser: function () { var e = this.option("pageSizes"), t = this.option("showPageSizes"), n = e && e.length, a = this.$element(); this._$pagesSizeChooser && this._$pagesSizeChooser.remove(), t && n && (this._$pagesSizeChooser = (0, i.default)("<div>").addClass("dx-page-sizes").appendTo(a), this.option("lightModeEnabled") ? this._renderLightPageSizes() : this._renderPageSizes(), this._pagesSizeChooserWidth = this._$pagesSizeChooser.width()) }, _renderInfo: function () { var e = this.option("infoText"); this.option("showInfo") && (0, c.isDefined)(e) && (this._$info = (0, i.default)("<div>").css("display", this._isInfoHide ? "none" : "").addClass("dx-info").text((0, s.format)(e, this.selectedPage && this.selectedPage.value(), this.option("pageCount"), this.option("totalCount"))).appendTo(this._$pagesChooser), this._isInfoHide || (this._infoWidth = this._$info.outerWidth(!0))) }, _renderNavigateButton: function (e) { var t, n = this, o = n._createAction((function () { n._nextPage(e) })); (n.option("showNavigationButtons") || n.option("lightModeEnabled")) && (t = (0, i.default)("<div>").addClass("dx-navigate-button"), a.default.on(t, (0, v.addNamespace)([f.default.up, h.name], n.Name + "Pages"), n._wrapClickAction(o)), (0, y.registerKeyboardAction)("pager", n, t, void 0, o), n.setAria({ role: "button", label: "prev" === e ? "Previous page" : " Next page" }, t), (0, y.setTabIndex)(n, t), n.option("rtlEnabled") ? (t.addClass("prev" === e ? "dx-next-button" : "dx-prev-button"), t.prependTo(this._$pagesChooser)) : (t.addClass("prev" === e ? "dx-prev-button" : "dx-next-button"), t.appendTo(this._$pagesChooser))) }, _renderContentImpl: function () { this.$element().toggleClass("dx-light-mode", this.option("lightModeEnabled")), this._toggleVisibility(this.option("visible")), this._updatePageSizes(!0), this._updatePages(!0), (0, y.restoreFocus)(this) }, _initMarkup: function () { var e = this.$element(); e.addClass("dx-pager"); var t = (0, i.default)("<div>").addClass("dx-page"); this._$pagesChooser = (0, i.default)("<div>").addClass("dx-pages").append(t).appendTo(e) }, _render: function () { this.option().lightModeEnabled = !1, this.callBase(), this._updateLightMode() }, _updatePageSizes: function (e) { var t = this.option("lightModeEnabled"), n = this.option("pageSize"), i = this.option("pageSizes"); t && this._pageSizeEditor && this._pageSizeEditor.option({ value: n, dataSource: i, width: this._calculateLightPageSizesWidth(i) }), t && !e || this._renderPagesSizeChooser() }, _updatePages: function (e) { var t = this.option("pageCount"), n = this.option("pageIndex"), i = this.option("lightModeEnabled"); i ? this._pageIndexEditor && this._pageIndexEditor.option({ value: n, width: this._calculateLightPagesWidth(this._pageIndexEditor.$element(), t) }) : (this._processSelectedPage(this.option("maxPagesCount"), n, t), this._pages = this._getPages(this.selectedPage, t), this._selectPageByValue(n)), i && !e || this._renderPagesChooser(), this._updateButtonsState(n) }, _isPageIndexInvalid: function (e, t) { var n = "next" === e, i = this.option("rtlEnabled"); return i && n || !i && !n ? t <= 1 : t >= this.option("pageCount") }, _updateButtonsState: function (e) { var t = this.$element().find(".dx-next-button"), n = this.$element().find(".dx-prev-button"); t.toggleClass("dx-button-disable", this._isPageIndexInvalid("next", e)), n.toggleClass("dx-button-disable", this._isPageIndexInvalid("prev", e)) }, _optionChanged: function (e) { switch (e.name) { case "visible": this._toggleVisibility(e.value); break; case "pageIndex": var t = this.option("pageIndexChanged"); t && t(e.value), this._updatePages(); break; case "maxPagesCount": case "pageCount": case "totalCount": case "hasKnownLastPage": case "pagesNavigatorVisible": case "showNavigationButtons": this._updatePages(); break; case "pageSize": var n = this.option("pageSizeChanged"); n && n(e.value), this._updatePageSizes(); break; case "pageSizes": this._updatePageSizes(); break; case "lightModeEnabled": this._renderContentImpl(), !e.value && this._updateLightMode(); break; default: this._invalidate() } }, _clean: function () { this._$pagesChooser && (a.default.off(this._$pagesChooser, (0, v.addNamespace)([f.default.up, h.name], this.Name + "Pages"), ".dx-page", this._pageClickHandler), (0, y.registerKeyboardAction)("pager", this, this._$pagesChooser, ".dx-page", this._pageKeyDownHandler)), this.callBase() }, _getMinPagerWidth: function () { return ((0, c.isDefined)(this._pagesChooserWidth) ? this._pagesChooserWidth : 0) + ((0, c.isDefined)(this._pagesSizeChooserWidth) ? this._pagesSizeChooserWidth : 0) }, _updatePagesChooserWidth: (0, l.deferUpdater)((function () { var e = this._pages && this._pages.length > 0 ? this._pages[this._pages.length - 1]._$page.width() : 0; this._pagesChooserWidth = this._$pagesChooser.width() + e })), _updateLightMode: (0, l.deferUpdater)((function () { var e = this, t = this.$element().width(), n = (0, c.isDefined)(this._infoWidth) ? this._infoWidth : 0; (0, l.deferRender)((function () { e._isInfoHide && t > e._getMinPagerWidth() + n && (e._$info.show(), e._updatePagesChooserWidth(), e._isInfoHide = !1), !e._isInfoHide && t > e._getMinPagerWidth() - n && t < e._getMinPagerWidth() && (e._$info.hide(), e._updatePagesChooserWidth(), e._isInfoHide = !0), (0, l.deferUpdate)((function () { (0, l.deferRender)((function () { e.option("lightModeEnabled") && t > e._previousWidth ? e.option("lightModeEnabled", !1) : t < e._getMinPagerWidth() && e.option("lightModeEnabled", !0), e._previousWidth = t })) })) })) })), _dimensionChanged: function () { this._updateLightMode() }, getHeight: function () { return this.option("visible") ? this.$element().outerHeight() : 0 } }), C = b; t.default = C, (0, r.default)("dxPager", b), e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(491)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("columnsResizingReordering", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = v(n(2)), a = v(n(9)), o = v(n(5)), s = v(n(26)), r = n(0), l = n(3), d = n(1), c = n(25), u = n(8), h = v(n(23)), f = n(91), p = v(n(24)), g = v(n(22)), m = v(n(38)), _ = v(n(153)); function v(e) { return e && e.__esModule ? e : { default: e } } var y = "dxDataGridResizingReordering", w = function (e) { return e.option("allowColumnResizing") || e.getController("columns").isColumnOptionUsed("allowResizing") }, x = function (e) { return e.option("allowColumnReordering") || e.getController("columns").isColumnOptionUsed("allowReordering") }, b = p.default.View.inherit({ _renderCore: function () { this.callBase(), this.element().addClass(this.addWidgetPrefix("tracker")), this.hide() }, _unsubscribeFromCallback: function () { this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged) }, _subscribeToCallback: function () { var e = this; e._positionChanged = function (t) { var n = e.element(); n && n.hasClass(e.addWidgetPrefix("tracker")) && (n.css({ top: t.top }), n.height(t.height)) }, this._tablePositionController.positionChanged.add(e._positionChanged) }, optionChanged: function (e) { "allowColumnResizing" === e.name && (this._unsubscribeFromCallback(), e.value && (this._subscribeToCallback(), this._invalidate())), this.callBase(e) }, init: function () { this.callBase(), this._tablePositionController = this.getController("tablePosition"), this._subscribeToCallback() }, isVisible: function () { return w(this) }, show: function () { this.element().show() }, hide: function () { this.element() && this.element().hide() }, setHeight: function (e) { this.element().height(e) }, dispose: function () { this._unsubscribeFromCallback(), this.callBase() } }), C = p.default.View.inherit({ _renderSeparator: function () { }, _renderCore: function (e) { this.callBase(e), this._isShown = !0, this._renderSeparator(), this.hide() }, show: function () { this._isShown = !0 }, hide: function () { this._isShown = !1 }, height: function (e) { var t = this.element(); if (t) { if (!(0, r.isDefined)(e)) return t.height(); t.height(e) } }, width: function (e) { var t = this.element(); if (t) { if (!(0, r.isDefined)(e)) return t.width(); t.width(e) } } }), k = C.inherit({ _renderSeparator: function () { this.callBase(), this.element().addClass(this.addWidgetPrefix("columns-separator")) }, _subscribeToCallback: function () { var e, t = this; t._positionChanged = function (n) { (e = t.element()) && (e.css({ top: n.top }), e.height(n.height)) }, t._tablePositionController.positionChanged.add(t._positionChanged) }, _unsubscribeFromCallback: function () { this._positionChanged && this._tablePositionController.positionChanged.remove(this._positionChanged) }, _init: function () { this._isTransparent = w(this), this.isVisible() && this._subscribeToCallback() }, isVisible: function () { return this.option("showColumnHeaders") && (x(this) || w(this)) }, optionChanged: function (e) { "allowColumnResizing" === e.name && (e.value ? (this._init(), this._invalidate(), this.hide(!0)) : (this._unsubscribeFromCallback(), this._isTransparent = w(this), this.hide(!0))), this.callBase(e) }, init: function () { this.callBase(), this._tablePositionController = this.getController("tablePosition"), this._init() }, show: function () { var e = this.element(); e && !this._isShown && (this._isTransparent ? e.removeClass(this.addWidgetPrefix("columns-separator-transparent")) : e.show()), this.callBase() }, hide: function (e) { var t = this.element(), n = this.addWidgetPrefix("columns-separator-transparent"); t && (this._isShown || e) && (this._isTransparent ? (t.addClass(n), t.css("left", ""), t.show()) : (t.hasClass(n) && t.removeClass(n), t.hide())), this.callBase() }, moveByX: function (e) { var t = this.element(); t && t.css("left", e - this._parentElement().offset().left) }, changeCursor: function (e) { e = (0, r.isDefined)(e) ? e : ""; var t = this.element(); t && t.css("cursor", e) }, dispose: function () { this._unsubscribeFromCallback(), this.callBase() } }), I = C.inherit({ init: function () { var e = this; this.callBase(), this.getController("data").loadingChanged.add((function (t) { t || e.hide() })) }, _renderSeparator: function () { this.callBase(), this.element().addClass("dx-block-separator").html("&nbsp;") }, hide: function () { var e = this._parentElement(), t = this.element(); t && this._isShown && t.css("display", "none"), e && !e.children(".dx-block-separator").length && e.prepend(this.element()), this.callBase() }, isVisible: function () { var e = this.option("groupPanel"), t = this.option("columnChooser"); return e && e.visible || t && t.enabled }, show: function (e) { var t = this.element(), n = function (e) { m.default.stop(t, !0), m.default.animate(t, { type: "slide", from: { width: 0, display: e.display }, to: e, duration: 300, easing: "swing" }) }; if (t && !this._isShown) switch (e) { case "group": n({ width: "50px", display: "inline-block" }); break; case "columnChooser": n({ width: "100%", display: "block" }); break; default: t.css("display", "") }this.callBase() } }), S = p.default.View.inherit({ _isDragging: !1, isDragging: function () { return this._isDragging }, _getDraggingPanelByPos: function (e) { var t; return (0, l.each)(this._dragOptions.draggingPanels, (function (n, i) { if (i) { var a = i.getBoundingRect(); if (a && (void 0 === a.bottom || e.y < a.bottom) && (void 0 === a.top || e.y > a.top) && (void 0 === a.left || e.x > a.left) && (void 0 === a.right || e.x < a.right)) return t = i, !1 } })), t }, _renderCore: function () { this.element().addClass(this.addWidgetPrefix("drag-header") + " " + this.addWidgetPrefix("text-content") + " dx-widget").hide() }, _resetTargetColumnOptions: function () { var e = this._dropOptions; e.targetColumnIndex = -1, delete e.targetColumnElement, delete e.isLast, delete e.posX, delete e.posY }, _getVisibleIndexObject: function (e, t) { return (0, r.isDefined)(e) ? { columnIndex: t, rowIndex: e } : t }, dispose: function () { var e = this.element(); this._dragOptions = null, e && e.parent().find("." + this.addWidgetPrefix("drag-header")).remove() }, isVisible: function () { var e = this.getController("columns").getCommonSettings(); return this.option("showColumnHeaders") && (x(this) || e.allowGrouping || e.allowHiding) }, init: function () { var e = this; this.callBase(), this._controller = this.getController("draggingHeader"), this._columnsResizerViewController = this.getController("columnsResizer"), this.getController("data").loadingChanged.add((function (t) { var n = e.element(); !t && n && n.hide() })) }, dragHeader: function (e) { var t = e.columnElement, n = !!e.sourceColumn.type; this._isDragging = !0, this._dragOptions = e, this._dropOptions = { sourceIndex: e.index, sourceColumnIndex: this._getVisibleIndexObject(e.rowIndex, e.columnIndex), sourceColumnElement: e.columnElement, sourceLocation: e.sourceLocation }; var i = a.default.getDocument(); this._onSelectStart = i.onselectstart, i.onselectstart = function () { return !1 }, this._controller.drag(this._dropOptions), this.element().css({ textAlign: t && t.css("textAlign"), height: t && (n && t.get(0).clientHeight || t.height()), width: t && (n && t.get(0).clientWidth || t.width()), whiteSpace: t && t.css("whiteSpace") }).addClass(this.addWidgetPrefix("drag-action")).toggleClass("dx-drag-command-cell", n).text(n ? "" : e.sourceColumn.caption), this.element().appendTo(_.default.getSwatchContainer(t)) }, moveHeader: function (e) { var t = e.event, n = t.data.that, i = (0, u.eventData)(t), a = !!n._columnsResizerViewController && n._columnsResizerViewController.isResizing(), o = n._dragOptions; if (n._isDragging && !a) { var s = n.element(), r = Math.abs(i.x - o.columnElement.offset().left - o.deltaX), l = Math.abs(i.y - o.columnElement.offset().top - o.deltaY); if (s.is(":visible") || r > 5 || l > 5) { s.show(); var d = i.x - o.deltaX, c = i.y - o.deltaY; s.css({ left: d, top: c }), n.dockHeader(i) } t.preventDefault() } }, dockHeader: function (e) { var t = this._getDraggingPanelByPos(e), n = this._controller, a = this._dropOptions, o = this._dragOptions; if (t) { var s = this.option("rtlEnabled"), r = "columnChooser" === t.getName(), l = r ? "y" : "x", c = t.getName(), u = "headers" === c ? o.rowIndex : void 0, h = o.sourceColumn, f = t.getColumnElements(u, h && h.ownerBand) || [], p = o.pointsByTarget = o.pointsByTarget || {}, g = "columnChooser" === c ? [] : p[c] || n._generatePointsByColumns((0, d.extend)({}, o, { targetDraggingPanel: t, columns: t.getColumns(u), columnElements: f, isVerticalOrientation: r, startColumnIndex: "headers" === c && (0, i.default)(f[0]).index() })); if (p[c] = g, a.targetLocation = c, g.length > 0) for (var m = 0; m < g.length; m++) { var _ = g[m + 1] && (g[m][l] + g[m + 1][l]) / 2; if (void 0 === _ || (s && "x" === l ? e[l] > _ : e[l] < _)) { a.targetColumnIndex = this._getVisibleIndexObject(u, g[m].columnIndex), f[m] ? (a.targetColumnElement = f.eq(m), a.isLast = !1) : (a.targetColumnElement = f.last(), a.isLast = !0), a.posX = g[m].x, a.posY = g[m].y, n.dock(a); break } } else this._resetTargetColumnOptions(), n.dock(a) } }, dropHeader: function (e) { var t = e.event.data.that, n = t._controller; t.element().hide(), n && t._isDragging && n.drop(t._dropOptions), t.element().appendTo(t._parentElement()), t._dragOptions = null, t._dropOptions = null, t._isDragging = !1, a.default.getDocument().onselectstart = t._onSelectStart || null } }), E = function (e) { return "widget" !== e.option("columnResizingMode") }, D = p.default.ViewController.inherit({ _isHeadersRowArea: function (e) { if (this._columnHeadersView) { var t = this._columnHeadersView.element(); if (t) { var n = t.offset().top, i = this._columnHeadersView.getHeadersRowHeight(); return e >= n && e <= n + i } } return !1 }, _isRtlParentStyle: function () { var e; return this.option("rtlEnabled") && "rtl" === (null === (e = this._$parentContainer) || void 0 === e ? void 0 : e.parent().css("direction")) }, _pointCreated: function (e, t, n) { var i = E(this), a = this.option("rtlEnabled"), o = this._isRtlParentStyle(), s = i || !a || o ? 1 : 0; if (e.index >= s && e.index < t + (i || a && !o ? 0 : 1)) { e.columnIndex -= s; var r = n[e.columnIndex] || {}, l = n[e.columnIndex + 1] || {}; return !(i ? r.allowResizing && l.allowResizing : r.allowResizing) } return !0 }, _getTargetPoint: function (e, t, n) { if (e) for (var i = 0; i < e.length; i++)if ((e[i].x !== e[0].x || !e[i + 1] || e[i].x !== e[i + 1].x) && e[i].x - n <= t && t <= e[i].x + n) return e[i]; return null }, _moveSeparator: function (e) { var t = e.event, n = t.data, i = n._columnsSeparatorView.width(), a = E(n), o = i / 2, s = n._$parentContainer.offset(), r = s.left, l = (0, u.eventData)(t), d = n.option("rtlEnabled"), c = this._isRtlParentStyle(); if (n._isResizing && n._resizingInfo) { if ((r <= l.x || !a && c) && (!a || l.x <= r + n._$parentContainer.width()) && n._updateColumnsWidthIfNeeded(l.x)) { var h = n._columnHeadersView.getColumnElements().eq(n._resizingInfo.currentColumnIndex), f = h[0]; if (f) { var p = f.getBoundingClientRect().width; n._columnsSeparatorView.moveByX(h.offset().left + ((a || c) && d ? 0 : p)), n._tablePositionController.update(n._targetPoint.y), t.preventDefault() } } } else n._isHeadersRowArea(l.y) ? (n._previousParentOffset && (n._previousParentOffset.left === s.left && n._previousParentOffset.top === s.top || n.pointsByColumns(null)), n._targetPoint = n._getTargetPoint(n.pointsByColumns(), l.x, i), n._previousParentOffset = s, n._isReadyResizing = !1, n._targetPoint ? (n._columnsSeparatorView.changeCursor("col-resize"), n._columnsSeparatorView.moveByX(n._targetPoint.x - o), n._tablePositionController.update(n._targetPoint.y), n._isReadyResizing = !0, t.preventDefault()) : n._columnsSeparatorView.changeCursor()) : (n.pointsByColumns(null), n._isReadyResizing = !1, n._columnsSeparatorView.changeCursor()) }, _endResizing: function (e) { var t = e.event.data; t._isResizing && (t.pointsByColumns(null), t._resizingInfo = null, t._columnsSeparatorView.hide(), t._columnsSeparatorView.changeCursor(), t._trackerView.hide(), t._isReadyResizing = !1, t._isResizing = !1) }, _getNextColumnIndex: function (e) { return e + 1 }, _setupResizingInfo: function (e) { var t = this._targetPoint.columnIndex, n = this._getNextColumnIndex(t), i = this._columnHeadersView.getHeaderElement(t), a = this._columnHeadersView.getHeaderElement(n); this._resizingInfo = { startPosX: e, currentColumnIndex: t, currentColumnWidth: i && i.length > 0 ? (0, c.getBoundingRect)(i[0]).width : 0, nextColumnIndex: n, nextColumnWidth: a && a.length > 0 ? (0, c.getBoundingRect)(a[0]).width : 0 } }, _startResizing: function (e) { var t = e.event, n = t.data, i = (0, u.eventData)(t); if ((0, u.isTouchEvent)(t) && (n._isHeadersRowArea(i.y) ? (n._targetPoint = n._getTargetPoint(n.pointsByColumns(), i.x, 10), n._targetPoint && (n._columnsSeparatorView.moveByX(n._targetPoint.x - n._columnsSeparatorView.width() / 2), n._isReadyResizing = !0)) : n._isReadyResizing = !1), n._isReadyResizing) { n._setupResizingInfo(i.x), n._isResizing = !0, n._tablePositionController.update(n._targetPoint.y), n._columnsSeparatorView.show(), n._trackerView.show(); var a = n.component.getScrollable(); a && n._isRtlParentStyle() && (n._scrollRight = a.$content().width() - a._container().width() - a.scrollLeft()), t.preventDefault(), t.stopPropagation() } this.isResizing() && this.getController("editorFactory").loseFocus() }, _generatePointsByColumns: function () { var e = this, t = e._columnsController ? e._columnsController.getVisibleColumns() : [], n = e._columnHeadersView.getColumnElements(), i = []; n && n.length > 0 && (i = g.default.getPointsByColumns(n, (function (i) { return e._pointCreated(i, n.length, t) }))), e._pointsByColumns = i }, _unsubscribeFromEvents: function () { this._moveSeparatorHandler && o.default.off(a.default.getDocument(), (0, u.addNamespace)(h.default.move, y), this._moveSeparatorHandler), this._startResizingHandler && o.default.off(this._$parentContainer, (0, u.addNamespace)(h.default.down, y), this._startResizingHandler), this._endResizingHandler && (o.default.off(this._columnsSeparatorView.element(), (0, u.addNamespace)(h.default.up, y), this._endResizingHandler), o.default.off(a.default.getDocument(), (0, u.addNamespace)(h.default.up, y), this._endResizingHandler)) }, _subscribeToEvents: function () { this._moveSeparatorHandler = this.createAction(this._moveSeparator), this._startResizingHandler = this.createAction(this._startResizing), this._endResizingHandler = this.createAction(this._endResizing), o.default.on(a.default.getDocument(), (0, u.addNamespace)(h.default.move, y), this, this._moveSeparatorHandler), o.default.on(this._$parentContainer, (0, u.addNamespace)(h.default.down, y), this, this._startResizingHandler), o.default.on(this._columnsSeparatorView.element(), (0, u.addNamespace)(h.default.up, y), this, this._endResizingHandler), o.default.on(a.default.getDocument(), (0, u.addNamespace)(h.default.up, y), this, this._endResizingHandler) }, _updateColumnsWidthIfNeeded: function (e) { var t, n, i, a, o, s = !1, l = this._resizingInfo, d = this._columnsController, c = d.getVisibleColumns(), u = this._columnsSeparatorView.width(), h = this._rowsView.contentWidth(), f = E(this), p = f && this.option("adaptColumnWidthByRatio") && !this.option("columnAutoWidth"), m = this.option("rtlEnabled"), _ = this._isRtlParentStyle(); function v(e) { return (0, r.isString)(e) && "%" === e.slice(-1) } function y(e, t, n, i) { if (e) { var a = e.width; a && (i = v(a)), i ? (e && d.columnOption(e.index, "visibleWidth", t), e && d.columnOption(e.index, "width", (t / n * 100).toFixed(3) + "%")) : (e && d.columnOption(e.index, "visibleWidth", null), e && d.columnOption(e.index, "width", t)) } } t = e - l.startPosX, (f || _) && m && (t = -t), o = l.currentColumnWidth + t; var w = c[l.currentColumnIndex]; if (s = o >= (i = w && w.minWidth || u), f && (n = l.nextColumnWidth - t, i = (a = c[l.nextColumnIndex]) && a.minWidth || u, s = s && n >= i), s) { if (d.beginUpdate(), y(w, o = Math.floor(o), h = function (e, t) { if (t.every((function (e) { return e.width }))) { var n = t.reduce((function (e, t) { return v(t.width) && (e += parseFloat(t.width)), e }), 0); n > 100 && (e = e / n * 100) } return e }(h, c), p), f) y(a, n = Math.floor(n), h, p); else { var x = this._columnHeadersView.getColumnWidths(); if (x[l.currentColumnIndex] = o, !(x.reduce((function (e, t) { return e + t }), 0) > this._rowsView.contentWidth())) { var b = g.default.getLastResizableColumnIndex(c); b >= 0 && d.columnOption(c[b].index, "visibleWidth", "auto") } for (var C = 0; C < x.length; C++)c[C] && c[C] !== w && void 0 === c[C].width && d.columnOption(c[C].index, "width", x[C]) } if (d.endUpdate(), !f) { this.component.updateDimensions(); var k = this.component.getScrollable(); if (k && _) { var I = k.$content().width() - k._container().width() - this._scrollRight; k.scrollTo({ left: I }) } } } return s }, _subscribeToCallback: function (e, t) { e.add(t), this._subscribesToCallbacks.push({ callback: e, handler: t }) }, _unsubscribeFromCallbacks: function () { for (var e = 0; e < this._subscribesToCallbacks.length; e++) { var t = this._subscribesToCallbacks[e]; t.callback.remove(t.handler) } this._subscribesToCallbacks = [] }, _unsubscribes: function () { this._unsubscribeFromEvents(), this._unsubscribeFromCallbacks() }, _init: function () { var e = this, t = function () { e._isResizing || e.pointsByColumns(null) }, n = function (t) { e._scrollLeft !== t.left && (e._scrollLeft = t.left, e.pointsByColumns(null)) }; e._columnsSeparatorView = e.getView("columnsSeparatorView"), e._columnHeadersView = e.getView("columnHeadersView"), e._trackerView = e.getView("trackerView"), e._rowsView = e.getView("rowsView"), e._columnsController = e.getController("columns"), e._tablePositionController = e.getController("tablePosition"), e._$parentContainer = e.component.$element(), e._subscribeToCallback(e._columnHeadersView.renderCompleted, t), e._subscribeToCallback(e._columnHeadersView.resizeCompleted, t), e._subscribeToCallback(e._columnsSeparatorView.renderCompleted, (function () { e._unsubscribeFromEvents(), e._subscribeToEvents() })), e._subscribeToCallback(e._rowsView.renderCompleted, (function () { e._rowsView.scrollChanged.remove(n), e._rowsView.scrollChanged.add(n) })); var i = 0 !== e._rowsView.getScrollbarWidth(), a = 0; e._subscribeToCallback(e.getController("tablePosition").positionChanged, (function (t) { if (e._isResizing && !e._rowsView.isResizing) { var n = 0 !== e._rowsView.getScrollbarWidth(); i !== n || a && a !== t.height ? (i = n, a = t.height, e.component.updateDimensions()) : e._rowsView.updateFreeSpaceRowHeight() } a = t.height })) }, optionChanged: function (e) { this.callBase(e), "allowColumnResizing" === e.name && (e.value ? (this._init(), this._subscribeToEvents()) : this._unsubscribes()) }, isResizing: function () { return this._isResizing }, init: function () { this._subscribesToCallbacks = [], w(this) && this._init() }, pointsByColumns: function (e) { if (void 0 === e) return this._pointsByColumns || this._generatePointsByColumns(), this._pointsByColumns; this._pointsByColumns = e }, dispose: function () { this._unsubscribes(), this.callBase() } }), T = p.default.ViewController.inherit({ update: function (e) { var t = {}, n = this._columnHeadersView.element(), i = n && n.offset(), a = i && i.top || 0, o = (0, r.isDefined)(e) ? Math.abs(e - a) : 0, s = this._columnHeadersView ? this._columnHeadersView.getHeight() : 0, l = this._rowsView.getScrollbarWidth(!0), d = this._rowsView ? this._rowsView.height() - l : 0, c = this.component.getController("columnsResizer"), u = this.component.getView("draggingHeaderView"); t.height = s, (!1 !== c.isResizing() || u.isDragging()) && (t.height += d - o), null !== e && n && n.length && (t.top = n[0].offsetTop + o), this.positionChanged.fire(t) }, init: function () { var e = this; e.callBase(), e._columnHeadersView = this.getView("columnHeadersView"), e._rowsView = this.getView("rowsView"), e._pagerView = this.getView("pagerView"), e._rowsView.resizeCompleted.add((function () { if (e.option("allowColumnResizing")) { var t = e.getController("columnsResizer")._targetPoint; e.update(t ? t.y : null) } })) }, ctor: function (e) { this.callBase(e), this.positionChanged = (0, s.default)() } }), A = { views: { columnsSeparatorView: k, blockSeparatorView: I, draggingHeaderView: S, trackerView: b }, controllers: { draggingHeader: p.default.ViewController.inherit({ _generatePointsByColumns: function (e) { var t = this; return g.default.getPointsByColumns(e.columnElements, (function (n) { return t._pointCreated(n, e.columns, e.targetDraggingPanel.getName(), e.sourceColumn) }), e.isVerticalOrientation, e.startColumnIndex) }, _pointCreated: function (e, t, n, i) { var a = t[e.columnIndex], o = t[e.columnIndex - 1]; switch (n) { case "columnChooser": return !0; case "headers": return i && !i.allowReordering || (!a || !a.allowReordering) && (!o || !o.allowReordering); default: return 0 === t.length } }, _subscribeToEvents: function (e, t) { var n = this; (0, l.each)(t, (function (a, s) { if (s) for (var r, d = s.getRowCount ? s.getRowCount() : 1, c = s.getName(), h = function (a, l) { if (l) { var d = (0, i.default)(l), h = r[a]; s.allowDragging(h, c, t) && (d.addClass(n.addWidgetPrefix("drag-action")), o.default.on(d, (0, u.addNamespace)(f.start, y), n.createAction((function (o) { var s = o.event, r = (0, u.eventData)(s); e.dragHeader({ deltaX: r.x - (0, i.default)(s.currentTarget).offset().left, deltaY: r.y - (0, i.default)(s.currentTarget).offset().top, sourceColumn: h, index: h.index, columnIndex: a, columnElement: d, sourceLocation: c, draggingPanels: t, rowIndex: n._columnsController.getRowIndex(h.index, !0) }) }))), o.default.on(d, (0, u.addNamespace)(f.move, y), { that: e }, n.createAction(e.moveHeader)), o.default.on(d, (0, u.addNamespace)(f.end, y), { that: e }, n.createAction(e.dropHeader))) } }, p = 0; p < d; p++) { var g = s.getColumnElements(p) || []; g.length && (r = s.getColumns(p) || [], (0, l.each)(g, h)) } })) }, _unsubscribeFromEvents: function (e, t) { var n = this; (0, l.each)(t, (function (e, t) { if (t) { var a = t.getColumnElements() || []; (0, l.each)(a, (function (e, t) { var a = (0, i.default)(t); o.default.off(a, (0, u.addNamespace)(f.start, y)), o.default.off(a, (0, u.addNamespace)(f.move, y)), o.default.off(a, (0, u.addNamespace)(f.end, y)), a.removeClass(n.addWidgetPrefix("drag-action")) })) } })) }, _getSeparator: function (e) { return "headers" === e ? this._columnsSeparatorView : this._blockSeparatorView }, hideSeparators: function (e) { var t = this._blockSeparatorView, n = this._columnsSeparatorView; this._animationColumnIndex = null, t && t.hide(), "block" !== e && n && n.hide() }, init: function () { var e = this; e.callBase(), e._columnsController = e.getController("columns"), e._columnHeadersView = e.getView("columnHeadersView"), e._columnsSeparatorView = e.getView("columnsSeparatorView"), e._draggingHeaderView = e.getView("draggingHeaderView"), e._rowsView = e.getView("rowsView"), e._blockSeparatorView = e.getView("blockSeparatorView"), e._headerPanelView = e.getView("headerPanel"), e._columnChooserView = e.getView("columnChooserView"); var t = function () { if (e._draggingHeaderView) { var t = [e._columnChooserView, e._columnHeadersView, e._headerPanelView]; e._unsubscribeFromEvents(e._draggingHeaderView, t), e._subscribeToEvents(e._draggingHeaderView, t) } }; e._columnHeadersView.renderCompleted.add(t), e._headerPanelView && e._headerPanelView.renderCompleted.add(t), e._columnChooserView && e._columnChooserView.renderCompleted.add(t) }, allowDrop: function (e) { return this._columnsController.allowMoveColumn(e.sourceColumnIndex, e.targetColumnIndex, e.sourceLocation, e.targetLocation) }, drag: function (e) { var t = e.sourceIndex, n = e.sourceLocation, i = e.sourceColumnElement, a = this._columnHeadersView, o = this._rowsView; i && (i.css({ opacity: .5 }), "headers" === n && (a && a.setRowsOpacity(t, .5), o && o.setRowsOpacity(t, .5))) }, dock: function (e) { var t = this, n = (0, r.isObject)(e.targetColumnIndex) ? e.targetColumnIndex.columnIndex : e.targetColumnIndex, i = e.sourceLocation, a = e.targetLocation, o = t._getSeparator(a), s = n >= 0; t._columnHeadersView.element().find(".dx-header-row").toggleClass(t.addWidgetPrefix("drop-highlight"), "headers" !== i && "headers" === a && !s), o && (t.allowDrop(e) && s ? "group" === a || "columnChooser" === a ? t._animationColumnIndex !== n && (t.hideSeparators(), o.element()[e.isLast ? "insertAfter" : "insertBefore"](e.targetColumnElement), t._animationColumnIndex = n, o.show(a)) : (t.hideSeparators("block"), t.getController("tablePosition").update(e.posY), o.moveByX(e.posX - o.width()), o.show()) : t.hideSeparators()) }, drop: function (e) { var t = e.sourceColumnElement; if (t && (t.css({ opacity: "" }), this._columnHeadersView.setRowsOpacity(e.sourceIndex, ""), this._rowsView.setRowsOpacity(e.sourceIndex, ""), this._columnHeadersView.element().find(".dx-header-row").removeClass(this.addWidgetPrefix("drop-highlight"))), this.allowDrop(e)) { var n = this._getSeparator(e.targetLocation); n && n.hide(), this._columnsController.moveColumn(e.sourceColumnIndex, e.targetColumnIndex, e.sourceLocation, e.targetLocation) } }, dispose: function () { this._draggingHeaderView && this._unsubscribeFromEvents(this._draggingHeaderView, [this._columnChooserView, this._columnHeadersView, this._headerPanelView]) } }), tablePosition: T, columnsResizer: D }, extenders: { views: { rowsView: { _needUpdateRowHeight: function (e) { var t = this.option("wordWrapEnabled"), n = this.getController("columnsResizer"), i = n.isResizing(); return this.callBase.apply(this, arguments) || e > 0 && t && i } } }, controllers: { editorFactory: { renderFocusOverlay: function () { if (!this.getController("columnsResizer").isResizing()) return this.callBase.apply(this, arguments) } } } } }; t.default = A, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(493)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("columnFixing", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = p(n(2)), a = p(n(5)), o = n(150), s = p(n(10)), r = p(n(22)), l = n(0), d = n(1), c = n(3), u = p(n(15)), h = n(25), f = n(30); function p(e) { return e && e.__esModule ? e : { default: e } } var g, m = function (e) { var t = -1; return (0, c.each)(e, (function (e, n) { if ("transparent" === n.command) return t = e, !1 })), t }, _ = function (e, t, n) { var i = 0; if (e && t && n) for (var a = 0; a < e.length; a++)"transparent" === e[a].command ? i += e[a].colspan : (t[i] < n[a] && (t[i] = n[a]), i++); return t }, v = { init: function () { this.callBase(), this._isFixedTableRendering = !1, this._isFixedColumns = !1 }, _createCol: function (e) { return this.callBase(e).toggleClass("dx-col-fixed", !(!this._isFixedTableRendering || !(e.fixed || e.command && "transparent" !== e.command))) }, _correctColumnIndicesForFixedColumns: function (e, t) { var n = m(e), i = e[n].colspan, a = t && t.columnIndices; a && (t.columnIndices = a.map((function (e) { if (e) return e.map((function (e) { return e < n ? e : e >= n + i ? e - i + 1 : -1 })).filter((function (e) { return e >= 0 })) }))) }, _renderTable: function (e) { var t, n = this.getFixedColumns(); this._isFixedColumns = !!n.length; var i = this.callBase(e); if (this._isFixedColumns) { this._isFixedTableRendering = !0; var a = e && e.change, o = a && a.columnIndices; this._correctColumnIndicesForFixedColumns(n, a), t = this._createTable(n), this._renderRows(t, (0, d.extend)({}, e, { columns: n })), this._updateContent(t, a), o && (a.columnIndices = o), this._isFixedTableRendering = !1 } else this._fixedTableElement && this._fixedTableElement.parent().remove(), this._fixedTableElement = null; return i }, _renderRow: function (e, t) { var n, i = t.row.cells; if (this.callBase.apply(this, arguments), this._isFixedTableRendering && i && i.length) { n = 0; var a = t.row.cells || []; i = i.slice(), t.row.cells = i; for (var o = 0; o < a.length; o++)a[o].column && "transparent" === a[o].column.command ? n = (a[o].column.colspan || 1) - 1 : i[o + n] = a[o] } }, _createCell: function (e) { var t, n, i, a = this, o = e.column, s = o && o.command, l = e.rowType, d = a.callBase.apply(a, arguments); (a._isFixedTableRendering || "filter" === l) && (n = (t = a.getFixedColumns())[(i = m(t)) - 1]), a._isFixedTableRendering ? "transparent" === s && (d.addClass("dx-pointer-events-none").toggleClass("dx-first-cell", 0 === i || n && "expand" === n.command).toggleClass("dx-last-cell", t.length && i === t.length - 1), "freeSpace" !== l && r.default.setEmptyText(d)) : "filter" === l && d.toggleClass("dx-first-cell", e.columnIndex === i); var c = a.option("rowAlternationEnabled") && e.isAltRow; return u.default.mozilla && e.column.fixed && "group" !== e.rowType && !c && d.addClass("dx-col-fixed"), d }, _wrapTableInScrollContainer: function () { var e = this.callBase.apply(this, arguments); return this._isFixedTableRendering && e.addClass(this.addWidgetPrefix("content-fixed")), e }, _renderCellContent: function (e, t) { var n, i = t.column, a = this._isFixedTableRendering, o = "group" === t.rowType && (0, l.isDefined)(i.groupIndex); if (a && o && !i.command && !i.groupCellTemplate && e.css("pointerEvents", "none"), !a && this._isFixedColumns) { if (n = i.fixed || i.command && !1 !== i.fixed, o && (n = !1, t.row.summaryCells && t.row.summaryCells.length)) { var s = this._columnsController.getVisibleColumns(), r = this._getAlignByColumnCellCount ? this._getAlignByColumnCellCount(i.colspan, { columns: s, row: t.row, isFixed: !0 }) : 0; if (r > 0) { var d = m(this._columnsController.getFixedColumns()); n = s.length - r < d } } if (n) { if (this.option("legacyRendering") || i.command && "buttons" !== i.type || "group" === t.rowType) return void e.html("&nbsp;").addClass(i.cssClass); e.addClass("dx-hidden-cell") } } "transparent" !== i.command && this.callBase(e, t) }, _getCellElementsCore: function (e) { var t = this, n = t.callBase(e), i = n.parent().hasClass("dx-group-row"), a = "columnHeadersView" === t.name ? e : void 0; if (t._fixedTableElement && n) { var o = t.getFixedColumns(a), s = t._getRowElements(t._fixedTableElement).eq(e).children("td"); (0, c.each)(s, (function (e, r) { if (i) n[e] && "hidden" !== r.style.visibility && (n[e] = r); else { var l = o[e]; if (l) if ("transparent" === l.command) s.eq(e).hasClass("dx-master-detail-cell") && (n[e] = r || n[e]); else { var d = t._columnsController.getVisibleIndex(l.index, a); n[d] = r || n[d] } } })) } return n }, getColumnWidths: function () { var e, t = this.callBase(), n = this.getFixedColumns(); return this._fixedTableElement && t.length && (e = this.callBase(this._fixedTableElement)), _(n, t, e) }, _getTableElement: function () { return this._isFixedTableRendering ? this._fixedTableElement : this.callBase() }, _setTableElement: function (e) { this._isFixedTableRendering ? this._fixedTableElement = e.addClass("dx-pointer-events-none") : this.callBase(e) }, getColumns: function (e, t) { return t = t || this._getTableElement(), this._isFixedTableRendering || t && t.closest("table").parent("." + this.addWidgetPrefix("content-fixed")).length ? this.getFixedColumns(e) : this.callBase(e, t) }, getRowIndex: function (e) { var t = this._fixedTableElement; return t && t.find(e).length ? this._getRowElements(t).index(e) : this.callBase(e) }, getTableElements: function () { var e = this.callBase.apply(this, arguments); return this._fixedTableElement && (e = (0, i.default)([e.get(0), this._fixedTableElement.get(0)])), e }, getFixedColumns: function (e) { return this._columnsController.getFixedColumns(e) }, getFixedColumnsOffset: function () { var e, t = { left: 0, right: 0 }; if (this._fixedTableElement) { var n = (e = this.getTransparentColumnElement()).position(); t = { left: n.left, right: this.element().outerWidth(!0) - (e.outerWidth(!0) + n.left) } } return t }, getTransparentColumnElement: function () { return this._fixedTableElement && this._fixedTableElement.find(".dx-pointer-events-none").first() }, getFixedTableElement: function () { return this._fixedTableElement }, isFixedColumns: function () { return this._isFixedColumns }, _resizeCore: function () { this.callBase(), this.synchronizeRows() }, setColumnWidths: function (e) { var t, n = this._columnsController.getVisibleColumns(), i = e.widths, a = i && i.length && (0, l.isDefined)(n[0].visibleWidth), o = e.optionNames, s = o && o.width, r = !1; if (this.callBase.apply(this, arguments), this._fixedTableElement) { if (this.option("legacyRendering")) r = i && i.length && !this.isScrollbarVisible(!0); else { var c = i && i.some((function (e) { return "auto" === e })); r = c && (!a || !this.isScrollbarVisible(!0)) } r && (t = n), this.callBase((0, d.extend)({}, e, { $tableElement: this._fixedTableElement, columns: t, fixed: !0 })) } (a || s && this.option("wordWrapEnabled")) && this.synchronizeRows() }, _createColGroup: function (e) { if (!this.option("legacyRendering") && this._isFixedTableRendering && !this.option("columnAutoWidth")) { var t = this._columnsController.getVisibleColumns(); t.filter((function (e) { return !e.width })).length && (e = t) } return this.callBase(e) }, _getClientHeight: function (e) { var t = e.getBoundingClientRect && (0, h.getBoundingRect)(e); return t && t.height ? t.height : e.clientHeight }, synchronizeRows: function () { var e, t, n, i, a = [], o = []; if (this._isFixedColumns && this._tableElement && this._fixedTableElement) { var s = this._getClientHeight(this._tableElement.get(0)), r = this._getClientHeight(this._fixedTableElement.get(0)); if (t = this._getRowElements(this._tableElement), n = this._getRowElements(this._fixedTableElement), i = this._findContentElement(), s !== r) { for (i && i.css("height", s), t.css("height", ""), n.css("height", ""), e = 0; e < t.length; e++)a.push(this._getClientHeight(t.get(e))), o.push(this._getClientHeight(n.get(e))); for (e = 0; e < t.length; e++) { var l = a[e], d = o[e]; l > d ? n.eq(e).css("height", l) : l < d && t.eq(e).css("height", d) } i && i.css("height", "") } } }, setScrollerSpacing: function (e) { var t = this.option("rtlEnabled"); this.callBase(e), this.element().children("." + this.addWidgetPrefix("content-fixed")).css({ paddingLeft: t ? e : "", paddingRight: t ? "" : e }) } }, y = { defaultOptions: function () { return { columnFixing: { enabled: !1, texts: { fix: s.default.format("dxDataGrid-columnFixingFix"), unfix: s.default.format("dxDataGrid-columnFixingUnfix"), leftPosition: s.default.format("dxDataGrid-columnFixingLeftPosition"), rightPosition: s.default.format("dxDataGrid-columnFixingRightPosition") } } } }, extenders: { views: { columnHeadersView: (0, d.extend)({}, v, { _getRowVisibleColumns: function (e) { return this._isFixedTableRendering ? this.getFixedColumns(e) : this.callBase(e) }, getContextMenuItems: function (e) { var t = this, n = e.column, i = t.option("columnFixing"), a = t.callBase(e); if (e.row && "header" === e.row.rowType && n && n.allowFixing) { var o = function (e) { switch (e.itemData.value) { case "none": t._columnsController.columnOption(n.index, "fixed", !1); break; case "left": t._columnsController.columnOption(n.index, { fixed: !0, fixedPosition: "left" }); break; case "right": t._columnsController.columnOption(n.index, { fixed: !0, fixedPosition: "right" }) } }; (a = a || []).push({ text: i.texts.fix, beginGroup: !0, items: [{ text: i.texts.leftPosition, value: "left", disabled: n.fixed && (!n.fixedPosition || "left" === n.fixedPosition), onItemClick: o }, { text: i.texts.rightPosition, value: "right", disabled: n.fixed && "right" === n.fixedPosition, onItemClick: o }] }, { text: i.texts.unfix, value: "none", disabled: !n.fixed, onItemClick: o }) } return a }, getFixedColumnElements: function (e) { if ((0, l.isDefined)(e)) return this._fixedTableElement && this._getRowElements(this._fixedTableElement).eq(e).children(); var t = this.getColumnElements(), n = this.getTransparentColumnElement(); if (t && n && n.length) { var i = m(this.getFixedColumns()); t.splice(i, n.get(0).colSpan, n.get(0)) } return t }, getColumnWidths: function () { var e, t = this.callBase(), n = this.getFixedColumnElements(), i = this.getFixedColumns(); return this._fixedTableElement && (e = n && n.length ? this._getWidths(n) : this.callBase(this._fixedTableElement)), _(i, t, e) } }), rowsView: (0, d.extend)({}, v, { _detachHoverEvents: function () { this._fixedTableElement && a.default.off(this._fixedTableElement, "mouseover mouseout", ".dx-data-row"), this._tableElement && a.default.off(this._tableElement, "mouseover mouseout", ".dx-data-row") }, _attachHoverEvents: function () { var e = this, t = function (t) { a.default.on(t, "mouseover mouseout", ".dx-data-row", e.createAction((function (t) { var n = t.event, a = e.getRowIndex((0, i.default)(n.target).closest(".dx-row")), o = "mouseover" === n.type; a >= 0 && (e._tableElement && e._getRowElements(e._tableElement).eq(a).toggleClass("dx-state-hover", o), e._fixedTableElement && e._getRowElements(e._fixedTableElement).eq(a).toggleClass("dx-state-hover", o)) }))) }; e._fixedTableElement && e._tableElement && (t(e._fixedTableElement), t(e._tableElement)) }, _findContentElement: function () { var e, t, n = this, s = n.addWidgetPrefix("content"), r = n.element(), l = u.default.mozilla ? 60 : 0; if (r && n._isFixedTableRendering) { e = r.children("." + s); var d = n.getScrollable(); return !e.length && d && (e = (0, i.default)("<div>").addClass(s), a.default.on(e, "scroll", (function (e) { clearTimeout(n._fixedScrollTimeout), n._fixedScrollTimeout = setTimeout((function () { t = (0, i.default)(e.target).scrollTop(), d.scrollTo({ y: t }) }), l) })), a.default.on(e, o.name, (function (e) { var a = (0, i.default)(e.target).closest(".dx-scrollable"); if (d && d.$element().is(a) && (t = d.scrollTop(), d.scrollTo({ y: t - e.delta }), d.scrollTop() > 0 && d.scrollTop() + d.clientHeight() < d.scrollHeight() + n.getScrollbarWidth())) return !1 })), e.appendTo(r)), e } return n.callBase() }, _updateScrollable: function () { this.callBase(); var e = this.getScrollable(), t = e && e.scrollOffset().top; this._updateFixedTablePosition(t) }, _renderContent: function (e, t) { return this._isFixedTableRendering ? e.empty().addClass(this.addWidgetPrefix("content") + " " + this.addWidgetPrefix("content-fixed")).append(t) : this.callBase(e, t) }, _getGroupCellOptions: function (e) { return this._isFixedTableRendering ? this.callBase((0, d.extend)({}, e, { columns: this._columnsController.getVisibleColumns() })) : this.callBase(e) }, _renderGroupedCells: function (e, t) { return this.callBase(e, (0, d.extend)({}, t, { columns: this._columnsController.getVisibleColumns() })) }, _renderGroupSummaryCells: function (e, t) { this._isFixedTableRendering ? this.callBase(e, (0, d.extend)({}, t, { columns: this._columnsController.getVisibleColumns() })) : this.callBase(e, t) }, _hasAlignByColumnSummaryItems: function (e, t) { var n = this.callBase.apply(this, arguments), i = t.columns[e]; return t.isFixed ? i.fixed && (n || "right" === i.fixedPosition) : n && !i.fixed }, _renderGroupSummaryCellsCore: function (e, t, n, i) { var a; if (this._isFixedTableRendering) { t.isFixed = !0, a = this._getAlignByColumnCellCount(n, t), t.isFixed = !1; var o = t.columns.length - a; t = (0, d.extend)({}, t, { columns: this.getFixedColumns() }); var s = m(t.columns); o < s ? (a -= t.columns[s].colspan - 1 || 0, n -= t.columns[s].colspan - 1 || 0) : i > 0 && e.css("visibility", "hidden"), i = a } this.callBase(e, t, n, i) }, _getSummaryCellIndex: function (e, t) { if (this._isFixedTableRendering) { var n = m(t); return e > n && (e += t[n].colspan - 1), e } return this.callBase.apply(this, arguments) }, _renderCore: function (e) { this._detachHoverEvents(), this.callBase(e); var t = this._isFixedColumns; this.element().toggleClass("dx-fixed-columns", t), this.option("hoverStateEnabled") && t && this._attachHoverEvents() }, setRowsOpacity: function (e, t) { this.callBase(e, t); var n = this._getRowElements(this._fixedTableElement); this._setRowsOpacityCore(n, this.getFixedColumns(), e, t) }, optionChanged: function (e) { this.callBase(e), "hoverStateEnabled" === e.name && this._isFixedColumns && (e.value ? this._attachHoverEvents() : this._detachHoverEvents()) }, getCellIndex: function (e) { var t = this._fixedTableElement, n = 0; if (t && e.is("td") && e.closest(t).length) { var i = this.getFixedColumns(); return (0, c.each)(i, (function (t, i) { if (t === e[0].cellIndex) return !1; i.colspan ? n += i.colspan : n++ })), n } return this.callBase.apply(this, arguments) }, _updateFixedTablePosition: function (e, t) { if (this._fixedTableElement && this._tableElement) { var n, i = this.getController("editorFactory"); this._fixedTableElement.parent().scrollTop(e), t && i && (n = i.focus()) && i.focus(n) } }, setScrollerSpacing: function (e, t) { var n = { marginBottom: 0 }, i = this.element().children("." + this.addWidgetPrefix("content-fixed")); i.length && this._fixedTableElement && (i.css(n), this._fixedTableElement.css(n), n[this.option("rtlEnabled") ? "marginLeft" : "marginRight"] = e, n.marginBottom = t, (this._scrollable && this._scrollable.option("useNative") ? i : this._fixedTableElement).css(n)) }, _getElasticScrollTop: function (e) { var t = 0, n = this.getScrollbarWidth(!0); if (e.scrollOffset.top < 0) t = -e.scrollOffset.top; else if (e.reachedBottom) { var i = this._findContentElement(), a = e.component._container(); t = Math.max(i.height() + n - a.height(), 0) - e.scrollOffset.top } return t }, _applyElasticScrolling: function (e) { if (this._fixedTableElement) { var t = this._getElasticScrollTop(e); 0 !== Math.ceil(t) ? (0, f.move)(this._fixedTableElement, { top: t }) : this._fixedTableElement.css("transform", "") } }, _handleScroll: function (e) { this._updateFixedTablePosition(e.scrollOffset.top, !0), this._applyElasticScrolling(e), this.callBase(e) }, _updateContentPosition: function (e) { this.callBase.apply(this, arguments), e || this._updateFixedTablePosition(this._scrollTop) }, _afterRowPrepared: function (e) { this._isFixedTableRendering || this.callBase(e) }, _scrollToElement: function (e) { this.callBase(e, this.getFixedColumnsOffset()) }, dispose: function () { this.callBase.apply(this, arguments), clearTimeout(this._fixedScrollTimeout) } }), footerView: v }, controllers: (g = function (e, t, n) { var i = m(t), a = e.length - t.length; return (0, c.each)(n, (function (e, t) { t.index > i && (t.columnIndex += a, t.index += a) })), n }, { draggingHeader: { _generatePointsByColumns: function (e) { var t = e.columns, n = e.targetDraggingPanel; if (n && "headers" === n.getName() && n.isFixedColumns() && e.sourceColumn.fixed) { e.rowIndex || (e.columnElements = n.getFixedColumnElements(0)), e.columns = n.getFixedColumns(e.rowIndex); var i = this.callBase(e); return g(t, e.columns, i), i } return this.callBase(e) }, _pointCreated: function (e, t, n, i) { var a = this.callBase.apply(this, arguments), o = this._columnHeadersView.getTransparentColumnElement(); if (!a && "headers" === n && o && o.length) { var s = (0, h.getBoundingRect)(o.get(0)); return i && i.fixed ? "right" === i.fixedPosition ? e.x < s.right : e.x > s.left : e.x < s.left || e.x > s.right } return a } }, columnsResizer: { _generatePointsByColumns: function () { var e = this, t = e._columnsController, n = t && e._columnsController.getVisibleColumns(), i = t && e._columnsController.getFixedColumns(), a = e._columnHeadersView.getFixedColumnElements(), o = []; e.callBase(), a && a.length > 0 && (o = r.default.getPointsByColumns(a, (function (t) { return e._pointCreated(t, a.length, i) })), e._pointsByFixedColumns = g(n, i, o)) }, _pointCreated: function (e, t, n) { var i = "widget" === this.option("columnResizingMode"); if (e.index > 0 && e.index < t) { var a = n[e.columnIndex - 1] || {}, o = n[e.columnIndex] || {}; if (a.fixed || o.fixed) return e.columnIndex -= 1, !((a.allowResizing || "transparent" === a.command) && (i || o.allowResizing || "transparent" === o.command)) } return this.callBase.apply(this, arguments) }, _getTargetPoint: function (e, t, n) { var i = this._columnHeadersView.getTransparentColumnElement(); if (i && i.length) { var a = (0, h.getBoundingRect)(i.get(0)); if (t <= a.left || t >= a.right) return this.callBase(this._pointsByFixedColumns, t, n) } return this.callBase(e, t, n) } } }) } }; t.default = y, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(495)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("adaptivity", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = y(n(2)), a = y(n(5)), o = n(8), s = n(19), r = n(0), l = y(n(15)), d = y(n(36)), c = y(n(24)), u = y(n(165)), h = y(n(22)), f = n(34), p = n(7), g = n(4), m = n(3), _ = n(1), v = n(6); function y(e) { return e && e.__esModule ? e : { default: e } } var w = ["columnHeadersView", "rowsView", "footerView"]; function x(e, t) { return e._columnsController.getColumnId(t) } function b(e) { return e.find("td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])") } function C(e, t) { var n, r = (0, i.default)(e), l = t.component.getController("adaptiveColumns"); "data" === t.rowType ? (n = (0, i.default)("<span>").addClass(l.addWidgetPrefix("adaptive-more")), a.default.on(n, (0, o.addNamespace)(s.name, "dxDataGridAdaptivity"), l.createAction((function () { l.toggleExpandAdaptiveDetailRow(t.key) }))), n.appendTo(r)) : h.default.setEmptyText(r) } var k = { defaultOptions: function () { return { columnHidingEnabled: !1, onAdaptiveDetailRowPreparing: null } }, controllers: { adaptiveColumns: c.default.ViewController.inherit({ _isRowEditMode: function () { return "row" === this._getEditMode() }, _isItemModified: function (e, t) { var n = this._columnsController.getVisibleIndex(e.column.index), i = this._dataController.getRowIndexByKey(t.key), a = this._dataController.items()[i + 1]; return a && a.modifiedValues && (0, r.isDefined)(a.modifiedValues[n]) }, _renderFormViewTemplate: function (e, t, n) { var i = e.column, o = this.createAction((function () { a.default.trigger(n, s.name) })), l = i.calculateCellValue(t.data), d = h.default.getDisplayValue(i, l, t.data, t.rowType), c = h.default.formatValue(d, i), u = this._editingController.isCellOrBatchEditMode(), f = this._rowsView; if (i.allowEditing && this.getController("keyboardNavigation").isKeyboardEnabled() && (n.attr("tabIndex", this.option("tabIndex")), u && (a.default.off(n, "focus", o), a.default.on(n, "focus", o))), i.cellTemplate) { var g = (0, _.extend)({}, t, { value: l, displayValue: d, text: c, column: i }), m = !!n.closest((0, p.getWindow)().document).length; f.renderTemplate(n, i.cellTemplate, g, m).done((function () { f._cellPrepared(n, t) })) } else { var v = n.get(0); i.encodeHtml ? v.textContent = c : v.innerHTML = c, n.addClass("dx-adaptive-item-text"), (0, r.isDefined)(c) && "" !== c || n.html("&nbsp;"), this._isRowEditMode() || this._isItemModified(e, t) && n.addClass("dx-item-modified"), f._cellPrepared(n, t) } }, _getTemplate: function (e, t) { var n = this, a = e.column, o = this.getController("editing"); return function (s, r) { var l = (0, i.default)(r), d = n._columnsController.getVisibleIndex(a.visibleIndex), c = (0, _.extend)({}, t), u = function () { var i = n._isItemEdited(e); c.value = t.row.values[d], i || a.showEditorAlways ? o.renderFormEditTemplate(c, e, s.component, l, !i) : (c.column = a, c.columnIndex = d, n._renderFormViewTemplate(e, c, l)) }; u(), c.watch && c.watch((function () { return { isItemEdited: n._isItemEdited(e), value: t.row.values[d] } }), (function () { l.contents().remove(), l.removeClass("dx-adaptive-item-text"), u() })) } }, _isVisibleColumnsValid: function (e) { return !(e < 2) && !(e.length - function () { for (var t = 0, n = 0; n < e.length; n++) { e[n].command && t++ } return t }() <= 1) }, _calculatePercentWidths: function (e, t) { var n = this, i = 0; return t.forEach((function (t, a) { "adaptiveHidden" !== e[a] && (i += n._getItemPercentWidth(t)) })), i }, _isPercentWidth: function (e) { return (0, r.isString)(e) && "%" === e.slice(-1) }, _isColumnHidden: function (e) { return this._hiddenColumns.filter((function (t) { return t.index === e.index })).length > 0 }, _getAverageColumnsWidth: function (e, t, n) { var i = this, a = 0, o = 0; return t.forEach((function (s) { if (!i._isColumnHidden(s)) { var l = s.width; (0, r.isDefined)(l) && !isNaN(parseFloat(l)) ? a += i._isPercentWidth(l) ? i._calculatePercentWidth({ visibleIndex: s.visibleIndex, columnsCount: t.length, columnsCanFit: n, bestFitWidth: s.bestFitWidth, columnWidth: l, containerWidth: e }) : parseFloat(l) : o++ } })), (e - a) / o }, _calculateColumnWidth: function (e, t, n, i) { var a, o = x(this, e), s = this._columnsController.columnOption(o, "width"), r = this._columnsController.columnOption(o, "bestFitWidth"), l = n.length; if (s && "auto" !== s) { if (!this._isPercentWidth(s)) return s; a = this._calculatePercentWidth({ visibleIndex: e.visibleIndex, columnsCount: l, columnsCanFit: i, bestFitWidth: r, columnWidth: s, containerWidth: t }) } else { a = this.option("columnAutoWidth") || e.command ? r : this._getAverageColumnsWidth(t, n, i) } return a }, _calculatePercentWidth: function (e) { var t = e.visibleIndex < e.columnsCount - 1 && e.columnsCanFit, n = e.containerWidth * parseFloat(e.columnWidth) / 100, i = e.columnsCanFit && n < e.bestFitWidth ? e.bestFitWidth : n; return t ? e.containerWidth * parseFloat(e.columnWidth) / 100 : i }, _getNotTruncatedColumnWidth: function (e, t, n, i) { var a = x(this, e), o = this._columnsController.columnOption(a, "width"), s = this._columnsController.columnOption(a, "bestFitWidth"); if (o && "auto" !== o && !this._isPercentWidth(o)) return parseFloat(o); var r = this._calculateColumnWidth(e, t, n, i); return r < s ? null : r }, _getItemPercentWidth: function (e) { var t = 0; return e.width && this._isPercentWidth(e.width) && (t = parseFloat(e.width)), t }, _getCommandColumnsWidth: function () { var e = this, t = e._columnsController.getVisibleColumns(), n = 0; return (0, m.each)(t, (function (t, i) { (i.index < 0 || i.command) && (n += e._columnsController.columnOption(x(e, i), "bestFitWidth") || 0) })), n }, _isItemEdited: function (e) { if (this.isFormEditMode()) return !1; if (!this._isRowEditMode()) { var t = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1, n = this._columnsController.getVisibleIndex(e.column.index); return this._editingController.isEditCell(t, n) } var i = this.option("editing.editRowKey"); return !!(0, g.equalByValue)(i, this._dataController.adaptiveExpandedKey()) || void 0 }, _getFormItemsByHiddenColumns: function (e) { var t = []; return (0, m.each)(e, (function (e, n) { t.push({ column: n, name: n.name, dataField: n.dataField, visibleIndex: n.visibleIndex }) })), t }, _getAdaptiveColumnVisibleIndex: function (e) { for (var t = 0; t < e.length; t++) { if ("adaptive" === e[t].command) return t } }, _hideAdaptiveColumn: function (e, t) { var n = this._getAdaptiveColumnVisibleIndex(t); (0, r.isDefined)(n) && (e[n] = "adaptiveHidden", this._hideVisibleColumn({ isCommandColumn: !0, visibleIndex: n })) }, _showHiddenCellsInView: function (e) { var t = e.$cells, n = e.isCommandColumn ? "dx-command-adaptive-hidden" : this.addWidgetPrefix("hidden-column"); t.removeClass(n) }, _showHiddenColumns: function () { for (var e = 0; e < w.length; e++) { var t = this.getView(w[e]); if (t && t.isVisible() && t.element()) { var n = t.name, i = t.element().find(".dx-command-adaptive-hidden"); this._showHiddenCellsInView({ viewName: n, $cells: i, isCommandColumn: !0 }); var a = t.element().find("." + this.addWidgetPrefix("hidden-column")); this._showHiddenCellsInView({ viewName: n, $cells: a }) } } }, _isCellValid: function (e) { return e && e.length && !e.hasClass("dx-master-detail-cell") && !e.hasClass("dx-group-cell") }, _hideVisibleColumn: function (e) { var t = e.isCommandColumn, n = e.visibleIndex, i = this; w.forEach((function (e) { var a = i.getView(e); a && i._hideVisibleColumnInView({ view: a, isCommandColumn: t, visibleIndex: n }) })) }, _hideVisibleColumnInView: function (e) { var t, n = e.view, i = e.isCommandColumn, a = e.visibleIndex, o = n.name, s = this._columnsController.getVisibleColumns()[a], r = this._editingController && this._editingController.getEditFormRowIndex(); if (n && n.isVisible() && s) for (var l = n.getRowsCount(), d = n._getRowElements(), c = 0; c < l; c++) { if (!(c === r && "rowsView" === o && "popup" !== this.option("editing.mode"))) { var u = "columnHeadersView" === o ? this._columnsController.getVisibleIndex(s.index, c) : a; if (u >= 0) { var h = d.eq(c); t = this._findCellElementInRow(h, u), this._isCellValid(t) && this._hideVisibleCellInView({ viewName: o, isCommandColumn: i, $cell: t }) } } } }, _findCellElementInRow: function (e, t) { var n = e.children(), i = t, a = !1; if (e.hasClass("dx-group-row")) { var o = e.find(".".concat("dx-group-cell")), s = o.attr("colspan"); if (o.length && (0, r.isDefined)(s)) { var l = parseInt(s); t > o.index() + l - 1 ? i = t - l + 1 : a = !0 } } return a ? void 0 : n.eq(i) }, _hideVisibleCellInView: function (e) { var t = e.$cell, n = e.isCommandColumn ? "dx-command-adaptive-hidden" : this.addWidgetPrefix("hidden-column"); t.addClass(n) }, _getEditMode: function () { return this._editingController.getEditMode() }, isFormEditMode: function () { var e = this._getEditMode(); return "form" === e || "popup" === e }, hideRedundantColumns: function (e, t, n) { if (this._hiddenColumns = [], this._isVisibleColumnsValid(t) && n.length) { var i, a, o, s = 0, r = this.component.$element(), l = r.width() - this._getCommandColumnsWidth(), d = function () { var e = this; return t.filter((function (t) { return !t.command && 0 === e._hiddenColumns.filter((function (e) { return e.index === t.index })).length })) }.bind(this), c = d(), u = c.length; do { o = !1, s = 0; var h = this._calculatePercentWidths(e, t), f = h < 100 && 0 !== h; for (i = 0; i < t.length; i++) { var p = t[i], g = this._getNotTruncatedColumnWidth(p, l, c, f), m = x(this, p), _ = this._columnsController.columnOption(m, "width"), v = this._columnsController.columnOption(m, "minWidth"), y = this._columnsController.columnOption(m, "bestFitWidth"); if ("adaptiveHidden" !== e[i]) { if (!g && !p.command && !p.fixed) { o = !0; break } _ && "auto" !== _ || (g = Math.max(y || 0, v || 0)), ("adaptive" !== p.command || a) && (s += g) } else a = !0 } if (o = o || s > r.width()) { var w = n.pop(), b = this._columnsController.getVisibleIndex(w.index); l += this._calculateColumnWidth(w, l, c, f), this._hideVisibleColumn({ visibleIndex: b }), e[b] = "adaptiveHidden", this._hiddenColumns.push(w), c = d() } } while (o && c.length > 1 && n.length); u === c.length && this._hideAdaptiveColumn(e, t) } else this._hideAdaptiveColumn(e, t) }, getItemContentByColumnIndex: function (e) { for (var t, n = 0; n < this._$itemContents.length; n++) { var i = (t = this._$itemContents.eq(n)).data("dx-form-item"); if (i && i.column && this._columnsController.getVisibleIndex(i.column.index) === e) return t } }, toggleExpandAdaptiveDetailRow: function (e, t) { this.isFormEditMode() && this._editingController.isEditing() || this.getController("data").toggleExpandAdaptiveDetailRow(e, t) }, createFormByHiddenColumns: function (e, t) { var n = this, a = (0, i.default)(e), o = { items: n._getFormItemsByHiddenColumns(n._hiddenColumns), formID: "dx-" + new d.default }, s = (0, f.isMaterial)() ? { colCount: 2 } : {}; this.executeAction("onAdaptiveDetailRowPreparing", { formOptions: o }), n._$itemContents = null, n._form = n._createComponent((0, i.default)("<div>").appendTo(a), u.default, (0, _.extend)(s, o, { customizeItem: function (e) { var i = e.column || n._columnsController.columnOption(e.name || e.dataField); i && (e.label = e.label || {}, e.label.text = e.label.text || i.caption, e.column = i, e.template = n._getTemplate(e, t, n.updateForm.bind(n))), o.customizeItem && o.customizeItem.call(this, e) }, onContentReady: function (e) { o.onContentReady && o.onContentReady.call(this, e), n._$itemContents = a.find(".dx-field-item-content") } })) }, hasAdaptiveDetailRowExpanded: function () { return (0, r.isDefined)(this._dataController.adaptiveExpandedKey()) }, updateForm: function (e) { this.hasAdaptiveDetailRowExpanded() && this._form && (0, r.isDefined)(this._form._contentReadyAction) && (e && e.length ? this._form.option("items", this._getFormItemsByHiddenColumns(e)) : this._form.repaint()) }, updateHidingQueue: function (e) { var t, n, i = e.filter((function (e) { return e.visible && !e.type && !e.fixed && !((0, r.isDefined)(e.groupIndex) && e.groupIndex >= 0) })); if (this._hidingColumnsQueue = [], this.option("allowColumnResizing") && "widget" === this.option("columnResizingMode")) return this._hidingColumnsQueue; for (n = 0; n < i.length; n++)(0, r.isDefined)(i[n].hidingPriority) && i[n].hidingPriority >= 0 && (t = !0, this._hidingColumnsQueue[i[n].hidingPriority] = i[n]); if (t) this._hidingColumnsQueue.reverse(); else if (this.option("columnHidingEnabled")) for (n = 0; n < i.length; n++) { var a = this._columnsController.getVisibleIndex(i[n].index); this._hidingColumnsQueue[a] = i[n] } return this._hidingColumnsQueue = this._hidingColumnsQueue.filter(Object), this._hidingColumnsQueue }, getHiddenColumns: function () { return this._hiddenColumns }, hasHiddenColumns: function () { return this._hiddenColumns.length > 0 }, getHidingColumnsQueue: function () { return this._hidingColumnsQueue }, init: function () { var e = this; e._columnsController = e.getController("columns"), e._dataController = e.getController("data"), e._rowsView = e.getView("rowsView"), e._columnsController.addCommandColumn({ type: "adaptive", command: "adaptive", visible: !0, adaptiveHidden: !0, cssClass: "dx-command-adaptive", alignment: "center", width: "auto", cellTemplate: C, fixedPosition: "right" }), e._columnsController.columnsChanged.add((function () { var t = !!e.updateHidingQueue(e._columnsController.getColumns()).length; e._columnsController.columnOption("command:adaptive", "adaptiveHidden", !t, !0) })), e._editingController = e.getController("editing"), e._hidingColumnsQueue = [], e._hiddenColumns = [], e.createAction("onAdaptiveDetailRowPreparing"), e.callBase() }, optionChanged: function (e) { "columnHidingEnabled" === e.name && this._columnsController.columnOption("command:adaptive", "adaptiveHidden", !e.value), this.callBase(e) }, publicMethods: function () { return ["isAdaptiveDetailRowExpanded", "expandAdaptiveDetailRow", "collapseAdaptiveDetailRow"] }, isAdaptiveDetailRowExpanded: function (e) { return this._dataController.adaptiveExpandedKey() && (0, g.equalByValue)(this._dataController.adaptiveExpandedKey(), e) }, expandAdaptiveDetailRow: function (e) { this.hasAdaptiveDetailRowExpanded() || this.toggleExpandAdaptiveDetailRow(e) }, collapseAdaptiveDetailRow: function () { this.hasAdaptiveDetailRowExpanded() && this.toggleExpandAdaptiveDetailRow() } }) }, extenders: { views: { rowsView: { _getCellTemplate: function (e) { var t = this, n = e.column; return "detailAdaptive" === e.rowType && "detail" === n.command ? function (e, n) { t._adaptiveColumnsController.createFormByHiddenColumns((0, i.default)(e), n) } : t.callBase(e) }, _createRow: function (e) { var t = this.callBase(e); return e && "detailAdaptive" === e.rowType && e.key === this._dataController.adaptiveExpandedKey() && t.addClass("dx-adaptive-detail-row"), t }, _renderCells: function (e, t) { this.callBase(e, t); var n = this._adaptiveColumnsController.getHidingColumnsQueue().length, i = this._adaptiveColumnsController.getHiddenColumns().length; n && !i && b(e).last().addClass("dx-last-data-cell") }, _getColumnIndexByElementCore: function (e) { var t = e.closest(".dx-field-item-content"); if (t.length && t.closest(this.component.$element()).length) { var n = t.length ? t.first().data("dx-form-item") : null; return n && n.column && this._columnsController.getVisibleIndex(n.column.index) } return this.callBase(e) }, _cellPrepared: function (e, t) { this.callBase.apply(this, arguments), "detailAdaptive" !== t.row.rowType && "adaptiveHidden" === t.column.visibleWidth && e.addClass(this.addWidgetPrefix("hidden-column")) }, _getCellElement: function (e, t) { var n = this._dataController.items()[e]; return n && "detailAdaptive" === n.rowType ? this._adaptiveColumnsController.getItemContentByColumnIndex(t) : this.callBase(e, t) }, getContextMenuItems: function (e) { if (e.row && "detailAdaptive" === e.row.rowType) { var t = this.component.getView("columnHeadersView"), n = (0, i.default)(e.targetElement).closest(".dx-field-item-label").next().data("dx-form-item"); return e.column = n ? n.column : e.column, t.getContextMenuItems && t.getContextMenuItems(e) } return this.callBase && this.callBase(e) }, isClickableElement: function (e) { return !!this.callBase && this.callBase(e) || !!e.closest(".dx-command-adaptive").length }, init: function () { this.callBase(), this._adaptiveColumnsController = this.getController("adaptiveColumns") } } }, controllers: { export: { _updateColumnWidth: function (e, t) { this.callBase(e, "adaptiveHidden" === e.visibleWidth ? e.bestFitWidth : t) } }, columnsResizer: { _pointCreated: function (e, t, n) { var i = this.callBase(e, t, n), a = n[e.columnIndex] || {}, o = this._getNextColumnIndex(e.columnIndex), s = n[o] || {}, r = o !== e.columnIndex + 1 && s.command, l = "adaptiveHidden" === a.visibleWidth || r; return i || l }, _getNextColumnIndex: function (e) { for (var t = this._columnsController.getVisibleColumns(), n = this.callBase(e); t[n] && "adaptiveHidden" === t[n].visibleWidth;)n++; return n } }, draggingHeader: { _pointCreated: function (e, t, n, i) { var a = this.callBase(e, t, n, i), o = "adaptiveHidden" === (t[e.columnIndex - 1] || {}).visibleWidth; return a || o } }, editing: { _isRowEditMode: function () { return "row" === this.getEditMode() }, _getFormEditItemTemplate: function (e, t) { return "row" !== this.getEditMode() && "detailAdaptive" === e.rowType ? (e.columnIndex = this._columnsController.getVisibleIndex(t.index), this.getColumnTemplate(e)) : this.callBase(e, t) }, _closeEditItem: function (e) { var t = e.closest(".dx-field-item-content"), n = this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey()) + 1, i = t.length ? t.first().data("dx-form-item") : null, a = i && i.column && this._columnsController.getVisibleIndex(i.column.index); this.isEditCell(n, a) || this.callBase(e) }, _beforeUpdateItems: function (e, t) { if (!this._adaptiveController.isFormEditMode() && this._adaptiveController.hasHiddenColumns()) { var n = this._dataController.items(), i = n[t], a = h.default.getIndexByKey(this._dataController.adaptiveExpandedKey(), n); this._isForceRowAdaptiveExpand = !this._adaptiveController.hasAdaptiveDetailRowExpanded(), a >= 0 && e.push(a + 1), e.push(t + 1), this._dataController.adaptiveExpandedKey(i.key) } }, _afterInsertRow: function (e) { this.callBase(e), this._adaptiveController.hasHiddenColumns() && (this._adaptiveController.toggleExpandAdaptiveDetailRow(e.key, this.isRowEditMode()), this._isForceRowAdaptiveExpand = !0) }, _collapseAdaptiveDetailRow: function () { this._isRowEditMode() && this._isForceRowAdaptiveExpand && (this._adaptiveController.collapseAdaptiveDetailRow(), this._isForceRowAdaptiveExpand = !1) }, _cancelEditAdaptiveDetailRow: function () { this._adaptiveController.hasHiddenColumns() && this._collapseAdaptiveDetailRow() }, _afterSaveEditData: function () { var e = this; this.callBase.apply(this, arguments); var t = new v.Deferred; return this._isRowEditMode() && this._adaptiveController.hasHiddenColumns() ? (0, v.when)(this.getController("validating").validate(!0)).done((function (n) { n && e._cancelEditAdaptiveDetailRow(), t.resolve() })) : t.resolve(), t.promise() }, _beforeCancelEditData: function () { this.callBase(), this._cancelEditAdaptiveDetailRow() }, _getRowIndicesForCascadeUpdating: function (e) { var t = this.callBase.apply(this, arguments); return this._adaptiveController.isAdaptiveDetailRowExpanded(e.key) && t.push("detailAdaptive" === e.rowType ? e.rowIndex - 1 : e.rowIndex + 1), t }, _beforeCloseEditCellInBatchMode: function (e) { var t = this._dataController._adaptiveExpandedKey; if (t) { var n = h.default.getIndexByKey(t, this._dataController.items()); n > -1 && e.unshift(n) } }, editRow: function (e) { this._adaptiveController.isFormEditMode() && this._adaptiveController.collapseAdaptiveDetailRow(), this.callBase(e) }, deleteRow: function (e) { var t = this._dataController.getKeyByRowIndex(e); "batch" === this.getEditMode() && this._adaptiveController.isAdaptiveDetailRowExpanded(t) && this._adaptiveController.collapseAdaptiveDetailRow(), this.callBase(e) }, init: function () { this.callBase(), this._adaptiveController = this.getController("adaptiveColumns") } }, resizing: { _needBestFit: function () { return this.callBase() || !!this._adaptiveColumnsController.getHidingColumnsQueue().length }, _updateScrollableForIE: function () { var e = this; l.default.msie && parseInt(l.default.version) <= 11 && (this._updateScrollableTimeoutID = setTimeout((function () { e.getView("rowsView")._updateScrollable() }))) }, _correctColumnWidths: function (e, t) { var n = this._adaptiveColumnsController, i = this.option("columnAutoWidth"), a = n.getHiddenColumns(), o = n.updateHidingQueue(this._columnsController.getColumns()); n.hideRedundantColumns(e, t, o); var s = n.getHiddenColumns(); return n.hasAdaptiveDetailRowExpanded() && a.length !== s.length && n.updateForm(s), !s.length && n.collapseAdaptiveDetailRow(), i && o.length && !s.length && this._updateScrollableForIE(), this.callBase.apply(this, arguments) }, _toggleBestFitMode: function (e) { e && this._adaptiveColumnsController._showHiddenColumns(), this.callBase(e) }, _needStretch: function () { var e = this._adaptiveColumnsController; return this.callBase.apply(this, arguments) || e.getHidingColumnsQueue().length || e.hasHiddenColumns() }, init: function () { this._adaptiveColumnsController = this.getController("adaptiveColumns"), this.callBase() }, dispose: function () { this.callBase.apply(this, arguments), clearTimeout(this._updateScrollableTimeoutID) } }, data: { _processItems: function (e, t) { var n = this, i = t.changeType; if (e = n.callBase.apply(n, arguments), "loadingAll" === i || !(0, r.isDefined)(n._adaptiveExpandedKey)) return e; var a = h.default.getIndexByKey(n._adaptiveExpandedKey, e); if (a >= 0) { var o = e[a]; e.splice(a + 1, 0, { visible: !0, rowType: "detailAdaptive", key: o.key, data: o.data, node: o.node, modifiedValues: o.modifiedValues, isNewRow: o.isNewRow, values: o.values }) } else "refresh" === i && (n._adaptiveExpandedKey = void 0); return e }, _getRowIndicesForExpand: function (e) { var t = this.callBase.apply(this, arguments); if (this.getController("adaptiveColumns").isAdaptiveDetailRowExpanded(e)) { var n = t[t.length - 1]; t.push(n + 1) } return t }, adaptiveExpandedKey: function (e) { if (!(0, r.isDefined)(e)) return this._adaptiveExpandedKey; this._adaptiveExpandedKey = e }, toggleExpandAdaptiveDetailRow: function (e, t) { var n = h.default.getIndexByKey(this._adaptiveExpandedKey, this._items), i = h.default.getIndexByKey(e, this._items); n >= 0 && n === i && !t && (e = void 0, i = -1), this._adaptiveExpandedKey = e, n >= 0 && n++, i >= 0 && i++; var a = this.getRowIndexDelta(); this.updateItems({ allowInvisibleRowIndices: !0, changeType: "update", rowIndices: [n - a, i - a] }) }, init: function () { this.callBase(), this._adaptiveExpandedKey = void 0 } }, editorFactory: { _getFocusCellSelector: function () { return this.callBase() + ", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content" }, _getTooltipsSelector: function () { return this.callBase() + ", .dx-field-item-content ." + this.addWidgetPrefix("revert-tooltip") } }, columns: { _isColumnVisible: function (e) { return this.callBase(e) && !e.adaptiveHidden } }, keyboardNavigation: { _isCellValid: function (e) { return this.callBase.apply(this, arguments) && !e.hasClass(this.addWidgetPrefix("hidden-column")) }, _processNextCellInMasterDetail: function (e) { this.callBase(e); var t = this._editingController.isCellOrBatchEditMode(); if (!this._isInsideEditForm(e) && e && t) { a.default.on(e, "focus", (function t() { a.default.off(e, "focus", t), a.default.trigger(e, "dxclick") })) } }, _handleTabKeyOnMasterDetailCell: function (e, t) { var n = this.callBase(e, t), i = this._getFocusedCell(), a = i && i.parent(); if (!n && a && a.length) { var o = b(a), s = "next" === t ? o.last() : o.first(), r = a.get(0).rowIndex, l = this._adaptiveController, d = this._dataController.getKeyByRowIndex("next" === t ? r : r - 1), c = i && s && i.get(0) === s.get(0); return l.isAdaptiveDetailRowExpanded(d) && c } return n }, init: function () { this.callBase(), this._adaptiveController = this.getController("adaptiveColumns") } } } } }; t.default = k, e.exports = t.default }, function (e, t, n) { "use strict"; var i = d(n(2)), a = d(n(16)), o = n(4), s = d(n(497)), r = n(1), l = n(0); function d(e) { return e && e.__esModule ? e : { default: e } } var c = s.default.extenders.views.rowsView._rowClick, u = s.default.extenders.controllers.data._handleDataChanged, h = function (e, t) { return !!e.filter((function (e) { return e === t })).length }; a.default.registerModule("selection", (0, r.extend)(!0, {}, s.default, { defaultOptions: function () { return (0, r.extend)(!0, s.default.defaultOptions(), { selection: { showCheckBoxesMode: "always", recursive: !1 } }) }, extenders: { controllers: { data: { _handleDataChanged: function (e) { var t = this.getController("selection"), n = t.isRecursiveSelection(); !n || e && "updateSelectionState" === e.changeType || t.updateSelectionState({ selectedItemKeys: this.option("selectedRowKeys") }), u.apply(this, arguments) }, loadDescendants: function () { var e = this, t = e.callBase.apply(e, arguments), n = e.getController("selection"), i = n.isRecursiveSelection(); return i && t.done((function () { n.updateSelectionState({ selectedItemKeys: e.option("selectedRowKeys") }) })), t } }, selection: { init: function () { this.callBase.apply(this, arguments), this._selectionStateByKey = {} }, _getSelectionConfig: function () { var e = arguments, t = this, n = this.callBase.apply(this, arguments), i = n.plainItems; return n.plainItems = function (n) { return n ? t._dataController.getCachedStoreData() || [] : i.apply(t, e).map((function (e) { return e.data })) }, n.isItemSelected = function (e) { var n = t._dataController.keyOf(e); return t.isRowSelected(n) }, n.isSelectableItem = function () { return !0 }, n.getItemData = function (e) { return e }, n }, renderSelectCheckBoxContainer: function (e, t) { var n = this.component.getView("rowsView"); e.addClass("dx-cell-focus-disabled"); var i = n._renderSelectCheckBox(e, { value: t.row.isSelected, row: t.row, column: t.column }); n._attachCheckBoxClickEvent(i) }, _updateSelectColumn: o.noop, _getSelectAllNodeKeys: function () { var e = this.component, t = e.getRootNode(), n = {}, i = [], o = this.isRecursiveSelection(); return t && a.default.foreachNodes(t.children, (function (t) { return void 0 !== t.key && (t.visible || o) && i.push(t.key), !t.visible || !o && e.isRowExpanded(t.key, n) })), i }, isSelectAll: function () { var e = this.component, t = this._getSelectAllNodeKeys(), n = t.filter((function (t) { return e.isRowSelected(t) })); return n.length ? n.length === t.length || void 0 : !!t.some((function (t) { return void 0 === e.isRowSelected(t) })) && void 0 }, selectAll: function () { var e = this, t = e._getSelectAllNodeKeys().filter((function (t) { return !e.isRowSelected(t) })); return e.selectRows(t, !0) }, deselectAll: function () { var e = this._getSelectAllNodeKeys(); return this.deselectRows(e) }, selectedItemKeys: function (e, t, n, i) { var a = this, s = a.option("selectedRowKeys"), r = this.isRecursiveSelection() && a._normalizeSelectionArgs({ keys: (0, l.isDefined)(e) ? e : [] }, !n); return r && !(0, o.equalByValue)(r.selectedRowKeys, s) ? (a._isSelectionNormalizing = !0, this.callBase(r.selectedRowKeys, !1, !1, !1).always((function () { a._isSelectionNormalizing = !1 })).done((function (e) { r.selectedRowsData = e, a._fireSelectionChanged(r) }))) : this.callBase(e, t, n, i) }, changeItemSelection: function (e, t) { var n = this.isRecursiveSelection(); if (n && !t.shift) { var i = this._dataController.getKeyByRowIndex(e); return this.selectedItemKeys(i, !0, this.isRowSelected(i)) } return this.callBase.apply(this, arguments) }, _updateParentSelectionState: function (e, t) { var n = this, i = t, a = e.parent; if (a) { if (a.children.length > 1) if (!1 === t) i = !!a.children.some((function (e, t, i) { return n._selectionStateByKey[e.key] })) && void 0; else if (!0 === t) i = !a.children.some((function (e) { return !n._selectionStateByKey[e.key] })) || void 0; this._selectionStateByKey[a.key] = i, a.parent && a.parent.level >= 0 && this._updateParentSelectionState(a, i) } }, _updateChildrenSelectionState: function (e, t) { var n = this, i = e.children; i && i.forEach((function (e) { n._selectionStateByKey[e.key] = t, e.children.length > 0 && n._updateChildrenSelectionState(e, t) })) }, _updateSelectionStateCore: function (e, t) { for (var n = this._dataController, i = 0; i < e.length; i++) { this._selectionStateByKey[e[i]] = t; var a = n.getNodeByKey(e[i]); a && (this._updateParentSelectionState(a, t), this._updateChildrenSelectionState(a, t)) } }, _getSelectedParentKeys: function (e, t, n) { for (var i, a = this._dataController.getNodeByKey(e), o = a && a.parent, s = []; o && o.level >= 0;) { if (s.unshift(o.key), n ? !h(t, o.key) && this.isRowSelected(o.key) : t.indexOf(o.key) >= 0) { i = o, s = this._getSelectedParentKeys(i.key, t, n).concat(s); break } if (n) break; o = o.parent } return i && s || [] }, _getSelectedChildKeys: function (e, t) { var n = this, i = []; return e && a.default.foreachNodes(e.children, (function (e) { var a = t.indexOf(e.key); return a < 0 && i.push(e.key), a > 0 || a < 0 && void 0 === n._selectionStateByKey[e.key] })), i }, _normalizeParentKeys: function (e, t) { var n = [e], i = this._getSelectedParentKeys(e, t.selectedRowKeys); if (i.length) { (n = n.concat(i)).forEach((function (e) { var n = t.selectedRowKeys.indexOf(e); n >= 0 && t.selectedRowKeys.splice(n, 1) })); var a = this._dataController.getNodeByKey(i[0]), o = this._getSelectedChildKeys(a, n); t.selectedRowKeys = t.selectedRowKeys.concat(o) } }, _normalizeChildrenKeys: function (e, t) { var n = this, i = n._dataController.getNodeByKey(e); i && i.children.forEach((function (e) { var i = t.selectedRowKeys.indexOf(e.key); i >= 0 && t.selectedRowKeys.splice(i, 1), n._normalizeChildrenKeys(e.key, t) })) }, _normalizeSelectedRowKeysCore: function (e, t, n) { var i = this; e.forEach((function (e) { if (i.isRowSelected(e) !== n) { i._normalizeChildrenKeys(e, t); var a = t.selectedRowKeys.indexOf(e); n ? (a < 0 && t.selectedRowKeys.push(e), t.currentSelectedRowKeys.push(e)) : (a >= 0 && t.selectedRowKeys.splice(a, 1), t.currentDeselectedRowKeys.push(e), i._normalizeParentKeys(e, t)) } })) }, _normalizeSelectionArgs: function (e, t) { var n, i = Array.isArray(e.keys) ? e.keys : [e.keys], a = this.option("selectedRowKeys") || []; return i.length && (n = { currentSelectedRowKeys: [], currentDeselectedRowKeys: [], selectedRowKeys: a.slice(0) }, this._normalizeSelectedRowKeysCore(i, n, t)), n }, _updateSelectedItems: function (e) { this.updateSelectionState(e), this.callBase(e) }, _fireSelectionChanged: function () { this._isSelectionNormalizing || this.callBase.apply(this, arguments) }, _isModeLeavesOnly: function (e) { return "leavesOnly" === e }, _getAllSelectedRowKeys: function (e) { var t = this, n = []; return e.forEach((function (e) { var i = n.length, a = t._getSelectedParentKeys(e, n, !0), o = t._dataController.getChildNodeKeys(e); n.splice.apply(n, [i, 0].concat(a)), n.push(e), n = n.concat(o) })), n }, _getParentSelectedRowKeys: function (e) { var t = this, n = []; return e.forEach((function (i) { !t._getSelectedParentKeys(i, e).length && n.push(i) })), n }, _getLeafSelectedRowKeys: function (e) { var t = [], n = this._dataController; return e.forEach((function (e) { var i = n.getNodeByKey(e); i && !i.hasChildren && t.push(e) })), t }, isRecursiveSelection: function () { var e = this.option("selection.mode"), t = this.option("selection.recursive"); return "multiple" === e && t }, updateSelectionState: function (e) { var t = e.removedItemKeys || [], n = e.selectedItemKeys || []; this._updateSelectionStateCore(t, !1), this._updateSelectionStateCore(n, !0) }, isRowSelected: function (e) { var t = this.callBase.apply(this, arguments), n = this.isRecursiveSelection(); return !t && n ? e in this._selectionStateByKey && this._selectionStateByKey[e] : t }, getSelectedRowKeys: function (e) { var t = this; if (!t._dataController) return []; var n = t.callBase.apply(t, arguments); return e && (this.isRecursiveSelection() && (n = this._getAllSelectedRowKeys(n)), "all" !== e && ("excludeRecursive" === e ? n = t._getParentSelectedRowKeys(n) : t._isModeLeavesOnly(e) && (n = t._getLeafSelectedRowKeys(n)))), n }, getSelectedRowsData: function (e) { var t = this._dataController, n = this.getSelectedRowKeys(e) || [], i = []; return n.forEach((function (e) { var n = t.getNodeByKey(e); n && i.push(n.data) })), i }, refresh: function () { return this._selectionStateByKey = {}, this.callBase.apply(this, arguments) } } }, views: { columnHeadersView: { _processTemplate: function (e, t) { var n = this, i = this.callBase(e, t), a = n._columnsController.getFirstDataColumnIndex(); return i && "header" === t.rowType && t.column.index === a ? { render: function (e) { "multiple" === n.option("selection.mode") && n.renderSelectAll(e.container, e.model), i.render(e) } } : i }, renderSelectAll: function (e, t) { e.addClass("dx-treelist-select-all"), this._renderSelectAllCheckBox(e) }, _isSortableElement: function (e) { return this.callBase(e) && !e.closest(".dx-select-checkbox").length } }, rowsView: { _renderIcons: function (e, t) { return this.callBase.apply(this, arguments), "multiple" === this.option("selection.mode") && this.getController("selection").renderSelectCheckBoxContainer(e, t), e }, _rowClick: function (e) { var t = (0, i.default)(e.event.target); this.isExpandIcon(t) ? this.callBase.apply(this, arguments) : c.apply(this, arguments) } } } } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = _(n(2)), a = _(n(5)), o = _(n(233)), s = _(n(22)), r = n(0), l = n(3), d = n(1), c = n(41), u = n(19), h = _(n(10)), f = n(8), p = _(n(77)), g = _(n(206)), m = n(6); function _(e) { return e && e.__esModule ? e : { default: e } } var v, y, w = "selection.showCheckBoxesMode", x = function (e, t) { var n = e.getController("selection"), a = e.getView("rowsView"), o = (0, i.default)(t.target).closest(".dx-data-row"), s = a.getRowIndex(o); s < 0 || ("onLongTap" === e.option(w) ? n.isSelectionWithCheckboxes() ? n.stopSelectionWithCheckboxes() : n.startSelectionWithCheckboxes() : ("onClick" === e.option(w) && n.startSelectionWithCheckboxes(), "always" !== e.option(w) && n.changeItemSelection(s, { control: !0 }))) }, b = { defaultOptions: function () { return { selection: { mode: "none", showCheckBoxesMode: "onClick", allowSelectAll: !0, selectAllMode: "allPages", maxFilterLengthInRequest: 1500, deferred: !1 }, selectionFilter: [], selectedRowKeys: [] } }, controllers: { selection: o.default.Controller.inherit((v = function (e, t) { var n = t.component, a = n.getView("rowsView"); n.option("renderAsync") && !n.option("selection.deferred") && (t.value = n.isRowSelected(t.row.key)), a.renderSelectCheckBoxContainer((0, i.default)(e), t) }, y = function (e, t) { var n = t.column, a = (0, i.default)(e), o = t.component.getView("columnHeadersView"); a.addClass("dx-editor-cell"), o._renderSelectAllCheckBox(a, n), o._attachSelectAllCheckBoxClickEvent(a) }, { init: function () { this._dataController = this.getController("data"), this._selectionMode = this.option("selection.mode"), this._isSelectionWithCheckboxes = !1, this._selection = this._createSelection(), this._updateSelectColumn(), this.createAction("onSelectionChanged", { excludeValidators: ["disabled", "readOnly"] }) }, _getSelectionConfig: function () { var e = this._dataController, t = this.option("selection") || {}; return { selectedKeys: this.option("selectedRowKeys"), mode: this._selectionMode, deferred: t.deferred, maxFilterLengthInRequest: t.maxFilterLengthInRequest, selectionFilter: this.option("selectionFilter"), key: function () { return e && e.key() }, keyOf: function (t) { return e && e.keyOf(t) }, dataFields: function () { return e.dataSource() && e.dataSource().select() }, load: function (t) { return e.dataSource() && e.dataSource().load(t) || (new m.Deferred).resolve([]) }, plainItems: function () { return e.items(!0) }, isItemSelected: function (e) { return e.selected }, isSelectableItem: function (e) { return e && "data" === e.rowType && !e.isNewRow }, getItemData: function (e) { return e && (e.oldData || e.data || e) }, filter: function () { return e.getCombinedFilter() }, totalCount: function () { return e.totalCount() }, onSelectionChanged: this._updateSelectedItems.bind(this) } }, _updateSelectColumn: function () { var e = this.getController("columns"), t = this.isSelectColumnVisible(); e.addCommandColumn({ type: "selection", command: "select", visible: t, visibleIndex: -1, dataType: "boolean", alignment: "center", cssClass: "dx-command-select", width: "auto", cellTemplate: v, headerCellTemplate: y }), e.columnOption("command:select", "visible", t) }, _createSelection: function () { var e = this._getSelectionConfig(); return new g.default(e) }, _fireSelectionChanged: function (e) { e && this.executeAction("onSelectionChanged", e); var t = this.option("selection.deferred") ? { selectionFilter: this.option("selectionFilter") } : { selectedRowKeys: this.option("selectedRowKeys") }; this.selectionChanged.fire(t) }, _updateCheckboxesState: function (e) { var t = e.isDeferredMode, n = e.selectionFilter, i = e.selectedItemKeys, a = e.removedItemKeys; "onClick" === this.option(w) && ((t ? n && function (e, t) { var n = 0, i = e._dataController.store(), a = i && i.key(), o = Array.isArray(a); if (!t.length) return !1; if (o && Array.isArray(t[0]) && "and" === t[1]) { for (var s = 0; s < t.length; s++)if (Array.isArray(t[s])) { if (t[s][0] !== a[n] || "=" !== t[s][1]) return !0; n++ } return !1 } return a !== t[0] }(this, n) : i.length > 1) ? this.startSelectionWithCheckboxes() : (t ? n && !n.length : 0 === i.length && a.length) && this.stopSelectionWithCheckboxes()) }, _updateSelectedItems: function (e) { var t, n = this.option("selection.deferred"), i = this._selection.selectionFilter(), a = this._dataController, o = a.items(); if (o) { var s = this.isSelectionWithCheckboxes(), r = this.getChangedItemIndexes(o); this._updateCheckboxesState({ selectedItemKeys: e.selectedItemKeys, removedItemKeys: e.removedItemKeys, selectionFilter: i, isDeferredMode: n }), (r.length || s !== this.isSelectionWithCheckboxes()) && a.updateItems({ changeType: "updateSelection", itemIndexes: r }), n ? (this.option("selectionFilter", i), t = {}) : (e.addedItemKeys.length || e.removedItemKeys.length) && (this._selectedItemsInternalChange = !0, this.option("selectedRowKeys", e.selectedItemKeys.slice(0)), this._selectedItemsInternalChange = !1, t = { selectedRowsData: e.selectedItems.slice(0), selectedRowKeys: e.selectedItemKeys.slice(0), currentSelectedRowKeys: e.addedItemKeys.slice(0), currentDeselectedRowKeys: e.removedItemKeys.slice(0) }), this._fireSelectionChanged(t) } }, getChangedItemIndexes: function (e) { for (var t = [], n = this.option("selection.deferred"), i = 0, a = e.length; i < a; i++) { var o = e[i], s = this.isRowSelected(n ? o.data : o.key); this._selection.isDataItem(o) && o.isSelected !== s && t.push(i) } return t }, callbackNames: function () { return ["selectionChanged"] }, optionChanged: function (e) { var t = this; switch (t.callBase(e), e.name) { case "selection": var n = t._selectionMode; t.init(); var i = t._selectionMode, a = t.option("selectedRowKeys"); n !== i && ("single" === i ? a.length > 1 && (a = [a[0]]) : "multiple" !== i && (a = [])), t.selectRows(a).always((function () { t._fireSelectionChanged() })), t.getController("columns").updateColumns(), e.handled = !0; break; case "selectionFilter": this._selection.selectionFilter(e.value), e.handled = !0; break; case "selectedRowKeys": var o = e.value || []; !Array.isArray(o) || t._selectedItemsInternalChange || !t.component.getDataSource() && o.length || t.selectRows(o), e.handled = !0 } }, publicMethods: function () { return ["selectRows", "deselectRows", "selectRowsByIndexes", "getSelectedRowKeys", "getSelectedRowsData", "clearSelection", "selectAll", "deselectAll", "startSelectionWithCheckboxes", "stopSelectionWithCheckboxes", "isRowSelected"] }, isRowSelected: function (e) { return this._selection.isItemSelected(e) }, isSelectColumnVisible: function () { return "multiple" === this.option("selection.mode") && ("always" === this.option(w) || "onClick" === this.option(w) || this._isSelectionWithCheckboxes) }, _isOnePageSelectAll: function () { return "page" === this.option("selection.selectAllMode") }, isSelectAll: function () { return this._selection.getSelectAllState(this._isOnePageSelectAll()) }, selectAll: function () { return "onClick" === this.option(w) && this.startSelectionWithCheckboxes(), this._selection.selectAll(this._isOnePageSelectAll()) }, deselectAll: function () { return this._selection.deselectAll(this._isOnePageSelectAll()) }, clearSelection: function () { return this.selectedItemKeys([]) }, refresh: function () { var e = this.option("selectedRowKeys") || []; return !this.option("selection.deferred") && e.length ? this.selectedItemKeys(e) : (new m.Deferred).resolve().promise() }, selectedItemKeys: function (e, t, n, i) { return this._selection.selectedItemKeys(e, t, n, i) }, getSelectedRowKeys: function () { return this._selection.getSelectedItemKeys() }, selectRows: function (e, t) { return this.selectedItemKeys(e, t) }, deselectRows: function (e) { return this.selectedItemKeys(e, !0, !0) }, selectRowsByIndexes: function (e) { var t = this._dataController.items(), n = []; return Array.isArray(e) || (e = Array.prototype.slice.call(arguments, 0)), (0, l.each)(e, (function () { var e = t[this]; e && "data" === e.rowType && n.push(e.key) })), this.selectRows(n) }, getSelectedRowsData: function () { return this._selection.getSelectedItems() }, changeItemSelection: function (e, t) { return t = t || {}, this.isSelectionWithCheckboxes() && (t.control = !0), this._selection.changeItemSelection(this._dataController.getRowIndexDelta() + e, t) }, focusedItemIndex: function (e) { if (!(0, r.isDefined)(e)) return this._selection._focusedItemIndex; this._selection._focusedItemIndex = e }, isSelectionWithCheckboxes: function () { return "multiple" === this.option("selection.mode") && ("always" === this.option(w) || this._isSelectionWithCheckboxes) }, startSelectionWithCheckboxes: function () { return "multiple" === this.option("selection.mode") && !this.isSelectionWithCheckboxes() && (this._isSelectionWithCheckboxes = !0, this._updateSelectColumn(), !0) }, stopSelectionWithCheckboxes: function () { return !!this._isSelectionWithCheckboxes && (this._isSelectionWithCheckboxes = !1, this._updateSelectColumn(), !0) } })) }, extenders: { controllers: { data: { init: function () { var e = this.getController("selection"), t = this.option("selection.deferred"); this.callBase.apply(this, arguments), t && e._updateCheckboxesState({ isDeferredMode: !0, selectionFilter: this.option("selectionFilter") }) }, _loadDataSource: function () { var e = this; return e.callBase().done((function () { e.getController("selection").refresh() })) }, _processDataItem: function (e, t) { var n = this, i = n.getController("selection"), a = i.isSelectColumnVisible(), o = t.isDeferredSelection = void 0 === t.isDeferredSelection ? this.option("selection.deferred") : t.isDeferredSelection, s = this.callBase.apply(this, arguments); if (s.isSelected = i.isRowSelected(o ? s.data : s.key), a && s.values) for (var r = 0; r < t.visibleColumns.length; r++)if ("select" === t.visibleColumns[r].command) { s.values[r] = s.isSelected; break } return s }, refresh: function (e) { var t = this, n = new m.Deferred; return this.callBase.apply(this, arguments).done((function () { !e || e.selection ? t.getController("selection").refresh().done(n.resolve).fail(n.reject) : n.resolve() })).fail(n.reject), n.promise() }, _handleDataChanged: function (e) { this.callBase.apply(this, arguments), e && "refresh" !== e.changeType || this._repaintChangesOnly || this.getController("selection").focusedItemIndex(-1) }, _applyChange: function (e) { var t = this; if (!e || "updateSelection" !== e.changeType) return this.callBase.apply(this, arguments); e.items.forEach((function (e, n) { var i = t._items[n]; i && (i.isSelected = e.isSelected, i.values = e.values) })) }, _endUpdateCore: function () { var e = this._changes, t = e.length > 1 && e.every((function (e) { return "updateSelection" === e.changeType })); if (t) { var n = e.map((function (e) { return e.itemIndexes || [] })).reduce((function (e, t) { return e.concat(t) })); this._changes = [{ changeType: "updateSelection", itemIndexes: n }] } this.callBase.apply(this, arguments) }, push: function (e) { this.callBase.apply(this, arguments); var t = e.filter((function (e) { return "remove" === e.type })).map((function (e) { return e.key })); t.length && this.getController("selection").deselectRows(t) } }, contextMenu: { _contextMenuPrepared: function (e) { var t = e.event; t.originalEvent && "dxhold" !== t.originalEvent.type || e.items && e.items.length > 0 || x(this, t) } } }, views: { columnHeadersView: { init: function () { this.callBase(), this.getController("selection").selectionChanged.add(this._updateSelectAllValue.bind(this)) }, _updateSelectAllValue: function () { var e = this.element(), t = e && e.find(".dx-select-checkbox"); e && t.length && "multiple" === this.option("selection.mode") && t.dxCheckBox("instance").option({ visible: !this.getController("data").isEmpty(), value: this.getController("selection").isSelectAll() }) }, _handleDataChanged: function (e) { this.callBase(e), e && "refresh" !== e.changeType || this._updateSelectAllValue() }, _renderSelectAllCheckBox: function (e, t) { var n = this, a = n.getController("selection"), o = n.getController("data").isEmpty(), s = (0, i.default)("<div>").appendTo(e).addClass("dx-select-checkbox"); return n.setAria("label", h.default.format("dxDataGrid-ariaSelectAll"), e), n.getController("editorFactory").createEditor(s, (0, d.extend)({}, t, { parentType: "headerRow", dataType: "boolean", value: a.isSelectAll(), editorOptions: { visible: !o && (n.option("selection.allowSelectAll") || !1 !== a.isSelectAll()) }, tabIndex: n.option("useLegacyKeyboardNavigation") ? -1 : n.option("tabIndex") || 0, setValue: function (e, t) { var i = n.option("selection.allowSelectAll"); t.component.option("visible", i || !1 !== t.component.option("value")), t.event && a.isSelectAll() !== e && (t.value && !i ? t.component.option("value", !1) : t.value ? a.selectAll() : a.deselectAll(), t.event.preventDefault()) } })), s }, _attachSelectAllCheckBoxClickEvent: function (e) { a.default.on(e, u.name, this.createAction((function (e) { var t = e.event; (0, i.default)(t.target).closest(".dx-select-checkbox").length || a.default.trigger((0, i.default)(t.currentTarget).children(".dx-select-checkbox"), u.name), t.preventDefault() }))) } }, rowsView: { renderSelectCheckBoxContainer: function (e, t) { "data" !== t.rowType || t.row.isNewRow ? s.default.setEmptyText(e) : (e.addClass("dx-editor-cell"), this._attachCheckBoxClickEvent(e), this.setAria("label", h.default.format("dxDataGrid-ariaSelectRow"), e), this._renderSelectCheckBox(e, t)) }, _renderSelectCheckBox: function (e, t) { var n = (0, i.default)("<div>").addClass("dx-select-checkbox").appendTo(e); return this.getController("editorFactory").createEditor(n, (0, d.extend)({}, t.column, { parentType: "dataRow", dataType: "boolean", lookup: null, value: t.value, setValue: function (e, t) { var n; "keydown" === (null == t ? void 0 : null === (n = t.event) || void 0 === n ? void 0 : n.type) && a.default.trigger(t.element, u.name, t) }, row: t.row })), n }, _attachCheckBoxClickEvent: function (e) { a.default.on(e, u.name, this.createAction((function (e) { var t = this.getController("selection"), n = e.event, a = this.getRowIndex((0, i.default)(n.currentTarget).closest(".dx-row")); a >= 0 && (t.startSelectionWithCheckboxes(), t.changeItemSelection(a, { shift: n.shiftKey }), (0, i.default)(n.target).closest(".dx-select-checkbox").length && this.getController("data").updateItems({ changeType: "updateSelection", itemIndexes: [a] })) }))) }, _update: function (e) { var t = this, n = t.getTableElements(); "updateSelection" === e.changeType ? n.length > 0 && ((0, l.each)(n, (function (n, a) { (0, l.each)(e.itemIndexes || [], (function (n, o) { var s; if (e.items[o] && (s = t._getRowElements((0, i.default)(a)).eq(o)).length) { var r = e.items[o].isSelected; s.toggleClass("dx-selection", void 0 !== r && r).find(".dx-select-checkbox").dxCheckBox("option", "value", r), t.setAria("selected", r, s) } })) })), t._updateCheckboxesClass()) : t.callBase(e) }, _createTable: function () { var e = this, t = e.option("selection.mode"), n = e.callBase.apply(e, arguments); return "none" !== t && ("onLongTap" !== e.option(w) && c.touch || a.default.on(n, (0, f.addNamespace)(p.default.name, "dxDataGridRowsView"), ".dx-data-row", e.createAction((function (t) { x(e.component, t.event), t.event.stopPropagation() }))), a.default.on(n, "mousedown selectstart", e.createAction((function (e) { var t = e.event; t.shiftKey && t.preventDefault() })))), n }, _createRow: function (e) { var t = this.callBase(e); if (e) { var n = !!e.isSelected; n && t.addClass("dx-selection"), this.setAria("selected", n, t) } return t }, _rowClick: function (e) { var t = e.event, n = (0, i.default)(t.target).closest(".dx-selection-disabled").length; this.isClickableElement((0, i.default)(t.target)) || (n || "multiple" === this.option("selection.mode") && "always" === this.option(w) || this.getController("selection").changeItemSelection(e.rowIndex, { control: (0, f.isCommandKeyPressed)(t), shift: t.shiftKey }) && (t.preventDefault(), e.handled = !0), this.callBase(e)) }, isClickableElement: function (e) { return !!e.closest(".dx-command-select").length }, _renderCore: function (e) { this.callBase(e), this._updateCheckboxesClass() }, _updateCheckboxesClass: function () { var e = this.getTableElements(), t = this.getController("selection"), n = t.isSelectColumnVisible() && !t.isSelectionWithCheckboxes(); (0, l.each)(e, (function (e, t) { (0, i.default)(t).toggleClass("dx-select-checkboxes-hidden", n) })) } } } } }; t.default = b, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(499)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("search", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = u(n(2)), a = u(n(9)), o = n(0), s = n(20), r = n(3), l = u(n(22)), d = u(n(10)), c = u(n(44)); function u(e) { return e && e.__esModule ? e : { default: e } } function h(e) { return (0, o.isDefined)(e.allowSearch) ? e.allowSearch : e.allowFiltering } function f(e, t) { var n = e.lookup; return e.parseValue ? n ? e.parseValue.call(n, t) : e.parseValue(t) : t } var p, g = { defaultOptions: function () { return { searchPanel: { visible: !1, width: 160, placeholder: d.default.format("dxDataGrid-searchPanelPlaceholder"), highlightSearchText: !0, highlightCaseSensitive: !1, text: "", searchVisibleColumnsOnly: !1 } } }, extenders: { controllers: { data: { publicMethods: function () { return this.callBase().concat(["searchByText"]) }, _calculateAdditionalFilter: function () { var e = this.callBase(), t = function (e, t) { var n, i, a, o = e._columnsController.getColumns(), r = e.option("searchPanel.searchVisibleColumnsOnly"), d = []; if (!t) return null; function u(e) { for (var t = (0, s.compileGetter)(a.valueExpr), n = 0; n < e.length; n++) { var o = t(e[n]); d.push(i.createFilterExpression(o, null, "search")) } } for (n = 0; n < o.length; n++)if (i = o[n], (!r || i.visible) && h(i) && i.calculateFilterExpression) { a = i.lookup; var p = f(i, t); a && a.items ? (0, c.default)(a.items).filter(i.createFilterExpression.call({ dataField: a.displayExpr, dataType: a.dataType, calculateFilterExpression: i.calculateFilterExpression }, p, null, "search")).enumerate().done(u) : void 0 !== p && d.push(i.createFilterExpression(p, null, "search")) } return l.default.combineFilters(d, "or") }(this, this.option("searchPanel.text")); return l.default.combineFilters([e, t]) }, searchByText: function (e) { this.option("searchPanel.text", e) }, optionChanged: function (e) { switch (e.fullName) { case "searchPanel.text": case "searchPanel": this._applyFilter(), e.handled = !0; break; default: this.callBase(e) } } } }, views: { headerPanel: (p = function (e) { return e.option("searchPanel") }, { _getToolbarItems: function () { var e = this.callBase(); return this._prepareSearchItem(e) }, _prepareSearchItem: function (e) { var t = this, n = t.getController("data"), a = p(t); if (a && a.visible) { var o = { template: function (e, o, s) { var r = (0, i.default)("<div>").addClass(t.addWidgetPrefix("search-panel")).appendTo(s); t.getController("editorFactory").createEditor(r, { width: a.width, placeholder: a.placeholder, parentType: "searchPanel", value: t.option("searchPanel.text"), updateValueTimeout: 700, setValue: function (e) { n.searchByText(e) }, editorOptions: { inputAttr: { "aria-label": d.default.format("dxDataGrid-ariaSearchInGrid") } } }), t.resize() }, name: "searchPanel", location: "after", locateInMenu: "never", sortIndex: 40 }; e.push(o) } return e }, getSearchTextEditor: function () { var e = this, t = e.element(), n = t.find("." + e.addWidgetPrefix("search-panel")).filter((function () { return (0, i.default)(this).closest("." + e.addWidgetPrefix("header-panel")).is(t) })); return n.length ? n.dxTextBox("instance") : null }, isVisible: function () { var e = p(this); return this.callBase() || e && e.visible }, optionChanged: function (e) { if ("searchPanel" === e.name) { if ("searchPanel.text" === e.fullName) { var t = this.getSearchTextEditor(); t && t.option("value", e.value) } else this._invalidate(); e.handled = !0 } else this.callBase(e) } }), rowsView: { init: function () { this.callBase.apply(this, arguments), this._searchParams = [] }, _getFormattedSearchText: function (e, t) { var n = f(e, t), i = l.default.getFormatOptionsByColumn(e, "search"); return l.default.formatValue(n, i) }, _getStringNormalizer: function () { var e = this.option("searchPanel.highlightCaseSensitive"); return function (t) { return e ? t : t.toLowerCase() } }, _findHighlightingTextNodes: function (e, t, n) { var a, o = t.parent(), s = this._getStringNormalizer(), r = s(n); if (o.length) { if (e) if (e.groupIndex >= 0 && !e.showWhenGrouped) a = t; else { var l = this._columnsController.getVisibleIndex(e.index); a = o.children("td").eq(l).find("*") } } else o = (0, i.default)("<div>").append(t); return a = (a = a && a.length ? a : o.find("*")).filter((function (e, t) { for (var n = (0, i.default)(t).contents(), a = 0; a < n.length; a++) { var o = n.get(a); return 3 === o.nodeType && s(o.textContent || o.nodeValue).indexOf(r) > -1 } })) }, _highlightSearchTextCore: function (e, t) { var n = (0, i.default)("<span>").addClass(this.addWidgetPrefix("search-text")), o = e.text(), s = e[0], r = this._getStringNormalizer(), l = r(o).indexOf(r(t)); if (l >= 0) return s.textContent ? s.textContent = o.substr(0, l) : s.nodeValue = o.substr(0, l), e.after(n.text(o.substr(l, t.length))), e = (0, i.default)(a.default.createTextNode(o.substr(l + t.length))).insertAfter(n), this._highlightSearchTextCore(e, t) }, _highlightSearchText: function (e, t, n) { var a = this, o = this._getStringNormalizer(), s = a.option("searchPanel.text"); if (t && n && (s = s && a._getFormattedSearchText(n, s)), s && a.option("searchPanel.highlightSearchText")) { var l = a._findHighlightingTextNodes(n, e, s); (0, r.each)(l, (function (e, n) { (0, r.each)((0, i.default)(n).contents(), (function (e, n) { t ? o((0, i.default)(n).text()) === o(s) && (0, i.default)(this).replaceWith((0, i.default)("<span>").addClass(a.addWidgetPrefix("search-text")).text((0, i.default)(n).text())) : a._highlightSearchTextCore((0, i.default)(n), s) })) })) } }, _renderCore: function () { this.callBase.apply(this, arguments), this.option("rowTemplate") && (this.option("templatesRenderAsynchronously") ? (clearTimeout(this._highlightTimer), this._highlightTimer = setTimeout(function () { this._highlightSearchText(this._getTableElement()) }.bind(this))) : this._highlightSearchText(this._getTableElement())) }, _updateCell: function (e, t) { var n = t.column, i = "string" !== (n.lookup && n.lookup.dataType || n.dataType); h(n) && (this.option("templatesRenderAsynchronously") ? (this._searchParams.length || (clearTimeout(this._highlightTimer), this._highlightTimer = setTimeout(function () { this._searchParams.forEach(function (e) { this._highlightSearchText.apply(this, e) }.bind(this)), this._searchParams = [] }.bind(this))), this._searchParams.push([e, i, n])) : this._highlightSearchText(e, i, n)), this.callBase(e, t) }, dispose: function () { clearTimeout(this._highlightTimer), this.callBase() } } } } }; t.default = g, e.exports = t.default }, function (e, t, n) { "use strict"; var i = s(n(16)), a = s(n(501)), o = n(1); function s(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("keyboardNavigation", (0, o.extend)(!0, {}, a.default, { extenders: { controllers: { keyboardNavigation: { _leftRightKeysHandler: function (e, t) { var n = this.getVisibleRowIndex(), i = this._dataController; if (!e.ctrl) return this.callBase.apply(this, arguments); var a = this._getDirectionCodeByKey(e.keyName), o = i.getKeyByRowIndex(n); "nextInRow" === a ? i.expandRow(o) : i.collapseRow(o) } } } } })) }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = x(n(2)), o = x(n(9)), s = x(n(5)), r = x(n(24)), l = x(n(22)), d = n(0), c = n(14), u = n(51), h = n(8), f = x(n(23)), p = n(19), g = n(4), m = function (e) { if (e && e.__esModule) return e; if (null === e || "object" !== i(e) && "function" != typeof e) return { default: e }; var t = w(); if (t && t.has(e)) return t.get(e); var n = {}, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var o in e) if (Object.prototype.hasOwnProperty.call(e, o)) { var s = a ? Object.getOwnPropertyDescriptor(e, o) : null; s && (s.get || s.set) ? Object.defineProperty(n, o, s) : n[o] = e[o] } n.default = e, t && t.set(e, n); return n }(n(86)), _ = x(n(15)), v = n(102), y = x(n(12)); function w() { if ("function" != typeof WeakMap) return null; var e = new WeakMap; return w = function () { return e }, e } function x(e) { return e && e.__esModule ? e : { default: e } } var b = "input:not([type='hidden']), textarea, a, select, button, [tabindex]"; function C(e) { return e && e.hasClass("dx-group-row") } function k(e) { return e && e.hasClass("dx-master-detail-row") } function I(e) { return e && !C(e) && !k(e) } function S(e) { return e.length && "TD" === e[0].tagName } function E(e, t) { return !e._isRowEditMode() && t && !t.hasClass("dx-command-select") && t.hasClass("dx-editor-cell") } function D(e) { return (0, d.isDefined)(e) && e.length > 0 } function T() { return "desktop" !== y.default.current().deviceType } function A(e) { return !!e.parent(".".concat("dx-header-row")).length } var O = { defaultOptions: function () { return { useLegacyKeyboardNavigation: !1, keyboardNavigation: { enabled: !0, enterKeyAction: "startEdit", enterKeyDirection: "none", editOnKeyPress: !1 } } }, controllers: { keyboardNavigation: r.default.ViewController.inherit({ init: function () { var e = this; if (this._dataController = this.getController("data"), this._selectionController = this.getController("selection"), this._editingController = this.getController("editing"), this._headerPanel = this.getView("headerPanel"), this._columnsController = this.getController("columns"), this._editorFactory = this.getController("editorFactory"), this.isKeyboardEnabled()) { m.subscribeVisibilityChange(), this._updateFocusTimeout = null, this._fastEditingStarted = !1, this._focusedCellPosition = {}, this._canceledCellPosition = null; this._editorFactory.focused.add((function (t) { e.setupFocusedView(), e._isNeedScroll && t.is(":visible") && e._focusedView && e._focusedView.getScrollable && (e._focusedView._scrollToElement(t), e._isNeedScroll = !1) })), this._initViewHandlers(), this._initDocumentHandlers(), this.createAction("onKeyDown") } }, _initViewHandlers: function () { var e = this, t = this.getView("rowsView"), n = function (n) { var i = (0, a.default)(n.target), o = (0, a.default)(n.relatedTarget).closest(t.element()).length; if (i.hasClass("dx-link") && !o) { var r = e._getFocusedCell(); r = D(r) ? r : t.getCellElements(0).filter("[tabindex]").eq(0), i.closest(r).length || (n.preventDefault(), s.default.trigger(r, "focus")) } }; t.renderCompleted.add((function (i) { var o = t.element(), r = !i || "refresh" === i.changeType, l = e._focusedView && e._focusedView.name === t.name, d = i && ("append" === i.changeType || "prepend" === i.changeType), c = (0, a.default)(":focus"), u = !c.length || c.closest(o).length || _.default.msie && c.is("body"); s.default.off(o, "focusin", n), s.default.on(o, "focusin", n), e._initPointerEventHandler(), e._initKeyDownHandler(), e._setRowsViewAttributes(), l && u && (e._isNeedFocus ? !d : e._isHiddenFocus && r) && e._updateFocus(!0) })) }, _initDocumentHandlers: function () { var e = this, t = o.default.getDocument(); this._documentClickHandler = this.createAction((function (t) { var n = (0, a.default)(t.event.target), i = e._isEventInCurrentGrid(t.event) && n.closest(".".concat(e.addWidgetPrefix("rowsview"))).length, o = n.closest(".".concat("dx-dropdowneditor-overlay")).length, s = e.getController("columnsResizer"), r = !!s && s.isResizing(); i || o || r || e._resetFocusedView() })), s.default.on(t, (0, h.addNamespace)(f.default.down, "dxDataGridKeyboardNavigation"), this._documentClickHandler) }, _setRowsViewAttributes: function () { var e = this._getRowsViewElement(); !this._dataController.getVisibleRows().length && this._applyTabIndexToElement(e) }, _initPointerEventHandler: function () { var e = T() ? p.name : f.default.down, t = ".".concat("dx-row", " > td, .").concat("dx-row"), n = this._getRowsViewElement(); (0, d.isDefined)(this._pointerEventAction) || (this._pointerEventAction = this.createAction(this._pointerEventHandler)), s.default.off(n, (0, h.addNamespace)(e, "dxDataGridKeyboardNavigation"), this._pointerEventAction), s.default.on(n, (0, h.addNamespace)(e, "dxDataGridKeyboardNavigation"), t, this._pointerEventAction) }, _initKeyDownHandler: function () { var e = this, t = this._getRowsViewElement(); v.keyboard.off(this._keyDownListener), this._keyDownListener = v.keyboard.on(t, null, (function (t) { return e._keyDownHandler(t) })) }, dispose: function () { this.callBase(), this._resetFocusedView(), v.keyboard.off(this._keyDownListener), s.default.off(o.default.getDocument(), (0, h.addNamespace)(f.default.down, "dxDataGridKeyboardNavigation"), this._documentClickHandler), clearTimeout(this._updateFocusTimeout), m.unsubscribeVisibilityChange() }, optionChanged: function (e) { switch (e.name) { case "keyboardNavigation": case "useLegacyKeyboardNavigation": e.handled = !0; break; default: this.callBase(e) } }, isRowFocusType: function () { return "row" === this.focusType }, isCellFocusType: function () { return "cell" === this.focusType }, setRowFocusType: function () { this.option("focusedRowEnabled") && (this.focusType = "row") }, setCellFocusType: function () { this.focusType = "cell" }, _keyDownHandler: function (e) { var t = this._editingController.isEditing(), n = !0, i = e.originalEvent, a = this._processOnKeyDown(e); if (!i.isDefaultPrevented() && (this._isNeedFocus = !0, this._isNeedScroll = !0, this._updateFocusedCellPositionByTarget(i.target), !a)) { switch (e.keyName) { case "leftArrow": case "rightArrow": this._leftRightKeysHandler(e, t); break; case "upArrow": case "downArrow": e.ctrl ? m.selectView("rowsView", this, i) : this._upDownKeysHandler(e, t); break; case "pageUp": case "pageDown": this._pageUpDownKeyHandler(e); break; case "space": this._spaceKeyHandler(e, t); break; case "A": e.ctrl ? this._ctrlAKeyHandler(e, t) : this._beginFastEditing(e.originalEvent); break; case "tab": this._tabKeyHandler(e, t); break; case "enter": this._enterKeyHandler(e, t); break; case "escape": this._escapeKeyHandler(e, t); break; case "F": e.ctrl ? this._ctrlFKeyHandler(e) : this._beginFastEditing(e.originalEvent); break; case "F2": this._f2KeyHandler(); break; case "del": case "backspace": this._isFastEditingAllowed() && !this._isFastEditingStarted() && this._beginFastEditing(i, !0); break; default: this._beginFastEditing(i) || (this._isNeedFocus = !1, this._isNeedScroll = !1, n = !1) }n && i.stopPropagation() } }, _processOnKeyDown: function (e) { var t = e.originalEvent, n = { handled: !1, event: t }; return this.executeAction("onKeyDown", n), e.ctrl = t.ctrlKey, e.alt = t.altKey, e.shift = t.shiftKey, !!n.handled }, _closeEditCell: function () { var e = this; setTimeout((function () { e._editingController.closeEditCell() })) }, _leftRightKeysHandler: function (e, t) { var n = this.getVisibleRowIndex(), i = e.originalEvent, a = this._focusedView && this._focusedView.getRow(n), o = this._getDirectionCodeByKey(e.keyName), s = this._isFastEditingStarted(); if ((!t || s) && I(a)) { this.setCellFocusType(), s && this._closeEditCell(), this._isVirtualColumnRender() && this._processVirtualHorizontalPosition(o); var r = this._getNextCell(o); D(r) && this._arrowKeysHandlerFocusCell(i, r, o), i && i.preventDefault() } }, _upDownKeysHandler: function (e, t) { var n = this._focusedCellPosition.rowIndex, i = this.getVisibleRowIndex(), a = this._focusedView && this._focusedView.getRow(i), o = e.originalEvent, s = "upArrow" === e.keyName, r = this._dataController.dataSource(), l = this._isFastEditingStarted(); if ((!t || l) && a && !k(a)) { if (l && this._closeEditCell(), !this._navigateNextCell(o, e.keyName) && this._isVirtualRowRender() && s && r && !r.isLoading()) { var d = a.outerHeight(); n = this._focusedCellPosition.rowIndex - 1, this._scrollBy(0, -d, n, o) } o && o.preventDefault() } }, _pageUpDownKeyHandler: function (e) { var t = this._dataController.pageIndex(), n = this._dataController.pageCount(), i = this.option("paging.enabled"), a = "pageUp" === e.keyName, o = a ? -1 : 1, s = this.getView("rowsView").getScrollable(); i && !this._isVirtualScrolling() ? (a ? t > 0 : t < n - 1) && !this._isVirtualScrolling() && (this._dataController.pageIndex(t + o), e.originalEvent.preventDefault()) : s && s._container().height() < s.$content().height() && (this._scrollBy(0, s._container().height() * o), e.originalEvent.preventDefault()) }, _spaceKeyHandler: function (e, t) { var n = this.getVisibleRowIndex(), i = (0, a.default)(e.originalEvent && e.originalEvent.target); if (this.option("selection") && "none" !== this.option("selection").mode && !t) { var o = "row" === this._getElementType(i) && this.isRowFocusType() && I(i); i.hasClass("dx-command-select") && "onClick" === this.option("selection.showCheckBoxesMode") && this._selectionController.startSelectionWithCheckboxes(), (o || i.parent().hasClass("dx-data-row") || i.hasClass(this.addWidgetPrefix("rowsview"))) && (this._selectionController.changeItemSelection(n, { shift: e.shift, control: e.ctrl }), e.originalEvent.preventDefault()) } else this._beginFastEditing(e.originalEvent) }, _ctrlAKeyHandler: function (e, t) { !t && e.ctrl && !e.alt && "multiple" === this.option("selection.mode") && this.option("selection.allowSelectAll") && (this._selectionController.selectAll(), e.originalEvent.preventDefault()) }, _tabKeyHandler: function (e, t) { var n = this.option("editing"), i = e.shift ? "previous" : "next", o = !((0, d.isDefined)(this._focusedCellPosition) && !(0, d.isEmptyObject)(this._focusedCellPosition)) || !e.shift && this._isLastValidCell(this._focusedCellPosition) || e.shift && this._isFirstValidCell(this._focusedCellPosition), s = e.originalEvent.target, r = this._focusedView && this._focusedView.element(); if (!this._handleTabKeyOnMasterDetailCell(s, i)) { if ((0, a.default)(r).addClass("dx-state-focused"), n && s && !o) if ((0, a.default)(s).hasClass(this.addWidgetPrefix("rowsview")) && this._resetFocusedCell(), this._isVirtualColumnRender() && this._processVirtualHorizontalPosition(i), t) { if (!this._editingCellTabHandler(e, i)) return } else this._targetCellTabHandler(e, i) && (o = !0); o ? (this._editorFactory.loseFocus(), this._editingController.isEditing() && !this._isRowEditMode() && (this._resetFocusedView(), this._closeEditCell())) : e.originalEvent.preventDefault() } }, _getMaxHorizontalOffset: function () { var e = this.component.getScrollable(), t = this.getView("rowsView"); return e ? e.scrollWidth() - (0, a.default)(t.element()).width() : 0 }, _isColumnRendered: function (e) { var t = this._columnsController.getVisibleColumns(null, !0), n = this._columnsController.getVisibleColumns(), i = t[e], a = !1; return i && (a = n.indexOf(i) >= 0), a }, _isFixedColumn: function (e) { var t = this._columnsController.getVisibleColumns(null, !0)[e]; return !!t && !!t.fixed }, _isColumnVirtual: function (e) { var t = e - this._columnsController.getColumnIndexOffset(), n = this._columnsController.getVisibleColumns()[t]; return !!n && "virtual" === n.command }, _processVirtualHorizontalPosition: function (e) { var t, n = this.component.getScrollable(), i = this.getColumnIndex(), a = 0, o = !1; switch (e) { case "next": case "nextInRow": var s = this._getVisibleColumnCount(); t = i + 1, a = this.option("rtlEnabled") ? this._getMaxHorizontalOffset() : 0, o = "next" === e ? s === t || this._isFixedColumn(i) && !this._isColumnRendered(t) : s > t && this._isFixedColumn(i) && !this._isColumnRendered(t); break; case "previous": case "previousInRow": if (t = i - 1, a = this.option("rtlEnabled") ? 0 : this._getMaxHorizontalOffset(), "previous" === e) { var r = this._columnsController.getColumnIndexOffset(); o = t < 0 && 0 === r || this._isFixedColumn(i) && !this._isColumnRendered(t) } else o = t >= 0 && this._isFixedColumn(i) && !this._isColumnRendered(t) }o ? n.scrollTo({ left: a }) : (0, d.isDefined)(t) && (0, d.isDefined)(e) && this._isColumnVirtual(t) && 0 !== (a = this._getHorizontalScrollPositionOffset(e)) && n.scrollBy({ left: a, top: 0 }) }, _getHorizontalScrollPositionOffset: function (e) { var t = 0, n = this._getCell(this._focusedCellPosition), i = n && n.outerWidth(); if (i > 0) { var a = this.option("rtlEnabled") ? -1 : 1; t = "nextInRow" === e || "next" === e ? i * a : i * a * -1 } return t }, _editingCellTabHandler: function (e, t) { var n, i = e.originalEvent.target, a = this._getCellElementFromTarget(i), o = e.originalEvent, s = this._getElementType(i); if (a.is("[class^=dx-command]")) return !this._targetCellTabHandler(e, t); this._updateFocusedCellPosition(a); var r = this._getNextCellByTabKey(o, t, s); if (!(a = r.$cell) || this._handleTabKeyOnMasterDetailCell(a, t)) return !1; var l = this._columnsController, d = this.getView("rowsView").getCellIndex(a) + l.getColumnIndexOffset(), c = l.getVisibleColumns(null, !0)[d], u = a && a.parent(), h = this._getRowIndex(u), f = this._dataController.items()[h], p = this._editingController; if (c && c.allowEditing) { var g = !f || "data" === f.rowType; n = p.allowUpdating({ row: f }) ? g : f && f.isNewRow } return n || this._closeEditCell(), this._focusCell(a, !r.isHighlighted) && (!this._isRowEditMode() && n ? this._editFocusedCell() : this._focusInteractiveElement(a, e.shift)), !0 }, _targetCellTabHandler: function (e, t) { var n, i = e.originalEvent, o = i.target, s = this._getCellElementFromTarget(o), r = this._getInteractiveElement(s, !e.shift), l = !1; if (!E(this, s) && r.length && o !== r.get(0)) l = !0; else { void 0 === this._focusedCellPosition.rowIndex && (0, a.default)(o).hasClass("dx-row") && this._updateFocusedCellPosition(s), n = this._getElementType(o), this.isRowFocusType() && (this.setCellFocusType(), "row" === n && I((0, a.default)(o)) && (o = this.getFirstValidCellInRow((0, a.default)(o)), n = this._getElementType(o))); var d = this._getNextCellByTabKey(i, t, n); if (!(s = d.$cell)) return !1; if (!(s = this._checkNewLineTransition(i, s))) return !1; this._focusCell(s, !d.isHighlighted), E(this, s) || this._focusInteractiveElement(s, e.shift) } return l }, _getNextCellByTabKey: function (e, t, n) { var i = this._getNextCell(t, n), a = i && this._fireFocusedCellChanging(e, i, !0); return !a || a.cancel ? {} : (a.$newCellElement && (i = a.$newCellElement), { $cell: i, isHighlighted: a.isHighlighted }) }, _checkNewLineTransition: function (e, t) { var n = this.getVisibleRowIndex(), i = t.parent(); if (n !== this._getRowIndex(i)) { var a = this._getCellPosition(t), o = this._fireFocusedRowChanging(e, i); if (o.cancel) return; o.rowIndexChanged && (this.setFocusedColumnIndex(a.columnIndex), t = this._getFocusedCell()) } return t }, _enterKeyHandler: function (e, t) { var n = this._getFocusedCell(), i = this.getVisibleRowIndex(), a = this._focusedView && this._focusedView.getRow(i); if (this.option("grouping.allowCollapsing") && C(a) || this.option("masterDetail.enabled") && n && n.hasClass("dx-command-expand")) { var o = this._dataController.getKeyByRowIndex(i), s = this._dataController.items()[i]; void 0 !== o && s && s.data && !s.data.isContinuation && this._dataController.changeRowExpand(o) } else this._processEnterKeyForDataCell(e, t) }, _processEnterKeyForDataCell: function (e, t) { var n = this._getEnterKeyDirection(e), i = this._allowEditingOnEnterKey(); t || !i && n ? (this._handleEnterKeyEditingCell(e.originalEvent), "next" === n || "previous" === n ? this._targetCellTabHandler(e, n) : "upArrow" !== n && "downArrow" !== n || this._navigateNextCell(e.originalEvent, n)) : i && this._startEditing(e) }, _getEnterKeyDirection: function (e) { var t = this.option("keyboardNavigation.enterKeyDirection"), n = e.shift; return "column" === t ? n ? "upArrow" : "downArrow" : "row" === t ? n ? "previous" : "next" : void 0 }, _handleEnterKeyEditingCell: function (e) { var t = e.target, n = this._getCellElementFromTarget(t), i = this._isRowEditMode(); this._updateFocusedCellPosition(n), i ? (this._focusEditFormCell(n), setTimeout(this._editingController.saveEditData.bind(this._editingController))) : (s.default.trigger((0, a.default)(t), "change"), this._closeEditCell(), e.preventDefault()) }, _escapeKeyHandler: function (e, t) { var n = this._getCellElementFromTarget(e.originalEvent.target); t && (this._updateFocusedCellPosition(n), this._isRowEditMode() ? (this._focusEditFormCell(n), this._editingController.cancelEditData(), 0 === this._dataController.items().length && (this._resetFocusedCell(), this._editorFactory.loseFocus())) : "cell" === this._editingController.getEditMode() ? this._editingController.cancelEditData() : this._closeEditCell(), e.originalEvent.preventDefault()) }, _ctrlFKeyHandler: function (e) { if (this.option("searchPanel.visible")) { var t = this._headerPanel.getSearchTextEditor(); t && (t.focus(), e.originalEvent.preventDefault()) } }, _f2KeyHandler: function () { var e = this._editingController.isEditing(), t = this.getVisibleRowIndex(), n = this._focusedView && this._focusedView.getRow(t); !e && I(n) && this._startEditing() }, _navigateNextCell: function (e, t) { var n = this._getNextCell(t), i = this._getDirectionCodeByKey(t); return !!(n && this._isCellValid(n)) && this._arrowKeysHandlerFocusCell(e, n, i) }, _arrowKeysHandlerFocusCell: function (e, t, n) { var i = "prevRow" === n || "nextRow" === n, a = this._fireFocusChangingEvents(e, t, i, !0); return t = a.$newCellElement, !(a.cancel || !this._isCellValid(t)) && (this._focus(t, !a.isHighlighted), !0) }, _beginFastEditing: function (e, t) { if (!this._isFastEditingAllowed() || e.altKey || e.ctrlKey || this._editingController.isEditing()) return !1; if (t) this._startEditing(e, "delete"); else { var n = e.key, i = e.keyCode || e.which, a = n || i && String.fromCharCode(i); !a || 1 !== a.length && "delete" !== a || this._startEditing(e, a) } return !0 }, _pointerEventHandler: function (e) { var t = e.event || e, n = (0, a.default)(t.currentTarget), i = this.getView("rowsView"), o = i && i.element(), s = n.parent(), r = (0, a.default)(t.target).is(b), l = !!(0, a.default)(t.target).closest(".".concat("dx-revert-button")).length, d = n.hasClass("dx-command-expand"); !l && this._isEventInCurrentGrid(t) && (this._isCellValid(n, !r) || d) ? (n = this._isInsideEditForm(n) ? (0, a.default)(t.target) : n, this._focusView(), (0, a.default)(o).removeClass("dx-state-focused"), s.hasClass("dx-freespace-row") ? (this._updateFocusedCellPosition(n), this._applyTabIndexToElement(this._focusedView.element()), this._focusedView.focus()) : this._isMasterDetailCell(n) ? this._updateFocusedCellPosition(n) : this._clickTargetCellHandler(t, n)) : n.is("td") && this._resetFocusedCell() }, _clickTargetCellHandler: function (e, t) { var n = this.getView("rowsView").getCellIndex(t), i = this._columnsController.getVisibleColumns()[n], o = this._isCellEditMode(); this.setCellFocusType(); var s = this._fireFocusChangingEvents(e, t, !0); if (t = s.$newCellElement, s.cancel) this.setRowFocusType(), this.setFocusedRowIndex(s.prevRowIndex), t = this._getFocusedCell(), this._editingController.isEditing() && o && this._closeEditCell(); else { if (s.resetFocusedRow) return void this.getController("focus")._resetFocusedRow(); if (s.rowIndexChanged && (t = this._getFocusedCell()), s.isHighlighted || o || this.setRowFocusType(), this._updateFocusedCellPosition(t), this._allowRowUpdating() && o && i && i.allowEditing) this._isNeedFocus = !1, this._isHiddenFocus = !1; else { var r = e && (0, a.default)(e.target).closest(b + ", td"), l = r && r.not(t).is(b), d = !(!!i && !i.command && t.hasClass("dx-editor-cell")) && (!s.isHighlighted || l); this._focus(t, d, l) } } }, _allowRowUpdating: function () { var e = this.getVisibleRowIndex(), t = this._dataController.items()[e]; return this._editingController.allowUpdating({ row: t }, "click") }, focus: function (e) { var t, n = this.option("focusedRowEnabled"), i = S((0, a.default)(e)); e || (t = ".dx-datagrid-rowsview .dx-row[tabindex]", n || (t += ", .dx-datagrid-rowsview .dx-row > td[tabindex]"), e = this.component.$element().find(t).first()), e && this._focusElement((0, a.default)(e), i) }, getFocusedView: function () { return this._focusedView }, setupFocusedView: function () { this.isKeyboardEnabled() && !(0, d.isDefined)(this._focusedView) && this._focusView() }, _focusElement: function (e, t) { var n = (0, a.default)(this._getRowsViewElement()), i = e.closest(n), o = this.isRowFocusType(), s = {}; !i.length || S(e) && !this._isCellValid(e) || (this._focusView(), this._isNeedFocus = !0, this._isNeedScroll = !0, (S(e) || C(e)) && (this.setCellFocusType(), e = (s = this._fireFocusChangingEvents(null, e, !1, t)).$newCellElement, o && !s.isHighlighted && this.setRowFocusType()), s.cancel || (this._focus(e, !s.isHighlighted), this._focusInteractiveElement(e))) }, _getFocusedViewByElement: function (e) { var t = this.getFocusedView(), n = t && (0, a.default)(t.element()); return e && 0 !== e.closest(n).length }, _focusView: function () { this._focusedView = this.getView("rowsView") }, _resetFocusedView: function () { var e = this._getFocusedCell(); this._resetFocusedCell(e, !0), this.setRowFocusType(), this._focusedView = null }, _focusInteractiveElement: function (e, t) { if (e) { var n = this._getInteractiveElement(e, t); l.default.focusAndSelectElement(this, n) } }, _focus: function (e, t, n) { var i = e && !e.hasClass("dx-row") ? e.closest(".".concat("dx-row")) : e; if (!i || !function (e) { return !e || e.hasClass("dx-freespace-row") || e.hasClass("dx-virtual-row") }(i)) { var a, o = this._focusedView, r = o && o.element(); this._isHiddenFocus = t, C(i) || this.isRowFocusType() ? (a = i, o && this.setFocusedRowIndex(this._getRowIndex(i))) : S(e) && (a = e, this._updateFocusedCellPosition(e)), a && (r && r.find(".dx-row[tabindex], .dx-row > td[tabindex]").not(a).removeClass("dx-cell-focus-disabled").removeAttr("tabindex"), s.default.one(a, "blur", (function (e) { e.relatedTarget && a.removeClass("dx-cell-focus-disabled") })), n || (this._applyTabIndexToElement(a), s.default.trigger(a, "focus")), t ? a.addClass("dx-cell-focus-disabled") : this._editorFactory.focus(a)) } }, _updateFocus: function (e) { var t = this; this._updateFocusTimeout = setTimeout((function () { var n = t._getFocusedCell(), i = t._editingController.isEditing(); if (n && (!t._isMasterDetailCell(n) || t._isRowEditMode())) { if (t._hasSkipRow(n.parent())) { var a = t._focusedCellPosition && t._focusedCellPosition.rowIndex > 0 ? "upArrow" : "downArrow"; n = t._getNextCell(a) } if (D(n)) { if (e && !i && t._checkCellOverlapped(n)) return; if (n.is("td") || n.hasClass(t.addWidgetPrefix("edit-form-item"))) { var o = n.is("[class^=dx-command]"); if (!e && o || !t._editorFactory.focus()) (t._isNeedFocus || t._isHiddenFocus) && t._focus(n, t._isHiddenFocus); else { var r = n.find(":focus"), d = D(r); if (o && d) return void l.default.focusAndSelectElement(t, r); !d && t._focus(n) } i && t._focusInteractiveElement.bind(t)(n) } else s.default.trigger(n, "focus") } } })) }, _checkCellOverlapped: function (e) { var t = e.offset(), n = !1; return this.component.getScrollable && this.component.getScrollable() && (t.left < 0 ? n = e.width() + t.left <= 0 : t.top < 0 && (n = e.height() + t.top <= 0)), n }, _getFocusedCell: function () { return (0, a.default)(this._getCell(this._focusedCellPosition)) }, _updateFocusedCellPositionByTarget: function (e) { var t; if ("row" === this._getElementType(e) && (0, d.isDefined)(null === (t = this._focusedCellPosition) || void 0 === t ? void 0 : t.columnIndex)) { var n = (0, a.default)(e); this._focusedView && C(n) && this.setFocusedRowIndex(this._getRowIndex(n)) } else this._updateFocusedCellPosition(this._getCellElementFromTarget(e)) }, _updateFocusedCellPosition: function (e, t) { var n = this._getCellPosition(e, t); return n && (!e.length || n.rowIndex >= 0 && n.columnIndex >= 0) && this.setFocusedCellPosition(n.rowIndex, n.columnIndex), n }, _getFocusedColumnIndexOffset: function (e) { var t = 0, n = this._columnsController.getVisibleColumns()[e]; return n && n.fixed ? t = this._getFixedColumnIndexOffset(n) : e >= 0 && (t = this._columnsController.getColumnIndexOffset()), t }, _getFixedColumnIndexOffset: function (e) { return function (e, t) { return e.option("rtlEnabled") ? !("right" === t.fixedPosition || (0, d.isDefined)(t.command) && !(0, d.isDefined)(t.fixedPosition)) : !(!(0, d.isDefined)(t.fixedPosition) || "left" === t.fixedPosition) }(this, e) ? this._getVisibleColumnCount() - this._columnsController.getVisibleColumns().length : 0 }, _getCellPosition: function (e, t) { var n, i = D(e) && e.closest("tr"), a = this.getView("rowsView"); if (D(i)) { var o = this._getRowIndex(i); return n = a.getCellIndex(e, o), n += this._getFocusedColumnIndexOffset(n), t && (n = "previous" === t ? n - 1 : n + 1, n = this._applyColumnIndexBoundaries(n)), { rowIndex: o, columnIndex: n } } }, _focusCell: function (e, t) { if (this._isCellValid(e)) return this._focus(e, t), !0 }, _focusEditFormCell: function (e) { e.hasClass("dx-master-detail-cell") && this._editorFactory.focus(e, !0) }, _resetFocusedCell: function (e, t) { var n, i = D(e) ? e : this._getFocusedCell(); D(i) && i.removeAttr("tabindex"), this._isNeedFocus = !1, this._isNeedScroll = !1, this._focusedCellPosition = {}, clearTimeout(this._updateFocusTimeout), null === (n = this._focusedView) || void 0 === n || n.renderFocusState(t) }, restoreFocusableElement: function (e, t) { var n, i, a = (0, d.isDefined)(e), o = this.getView("rowsView"), r = o.element(), l = this._focusedCellPosition.columnIndex, c = this._dataController.getRowIndexOffset(); e = a ? e : o.getTopVisibleItemIndex() + c, a ? (i = o.getRow(e - c), !(n = this._fireFocusedRowChanging(t, i)).cancel && n.rowIndexChanged && (e = n.newRowIndex)) : (this._editorFactory.loseFocus(), this._applyTabIndexToElement(r), s.default.trigger(r, "focus")), a && n.cancel || this.setFocusedCellPosition(e, l), a && this._updateFocus() }, _getNewPositionByCode: function (e, t, n) { var i = e.columnIndex, a = e.rowIndex; if (void 0 === e.rowIndex && "next" === n) return { columnIndex: 0, rowIndex: 0 }; switch (n) { case "nextInRow": case "next": i < this._getVisibleColumnCount() - 1 && "row" !== t && this._hasValidCellAfterPosition({ columnIndex: i, rowIndex: a }) ? i++ : this._isLastRow(a) || "next" !== n || (i = 0, a++); break; case "previousInRow": case "previous": i > 0 && "row" !== t && this._hasValidCellBeforePosition({ columnIndex: i, rowIndex: a }) ? i-- : a > 0 && "previous" === n && (a--, i = this._getVisibleColumnCount() - 1); break; case "upArrow": a = a > 0 ? a - 1 : a; break; case "downArrow": a = this._isLastRow(a) ? a : a + 1 }return { columnIndex: i, rowIndex: a } }, setFocusedCellPosition: function (e, t) { this.setFocusedRowIndex(e), this.setFocusedColumnIndex(t) }, setFocusedRowIndex: function (e) { this._focusedCellPosition || (this._focusedCellPosition = {}), this._focusedCellPosition.rowIndex = e }, setFocusedColumnIndex: function (e) { this._focusedCellPosition || (this._focusedCellPosition = {}), this._focusedCellPosition.columnIndex = e }, getRowIndex: function () { return this._focusedCellPosition ? this._focusedCellPosition.rowIndex : -1 }, getColumnIndex: function () { return this._focusedCellPosition ? this._focusedCellPosition.columnIndex : -1 }, getVisibleRowIndex: function () { var e = this._focusedCellPosition && this._focusedCellPosition.rowIndex; return (0, d.isDefined)(e) ? e - this._dataController.getRowIndexOffset() : -1 }, getVisibleColumnIndex: function () { var e = this._focusedCellPosition && this._focusedCellPosition.columnIndex; return (0, d.isDefined)(e) ? e - this._columnsController.getColumnIndexOffset() : -1 }, _applyColumnIndexBoundaries: function (e) { var t = this._getVisibleColumnCount(); return e < 0 ? e = 0 : e >= t && (e = t - 1), e }, _isCellByPositionValid: function (e) { var t = (0, a.default)(this._getCell(e)); return this._isCellValid(t) }, _isLastRow: function (e) { return this._isVirtualRowRender() ? e >= this._dataController.totalItemsCount() - 1 : e === this._dataController.items().length - 1 }, _isFirstValidCell: function (e) { var t = !1; return 0 === e.rowIndex && e.columnIndex >= 0 && (t = t || !this._hasValidCellBeforePosition(e)), t }, _hasValidCellBeforePosition: function (e) { for (var t = e.columnIndex, n = !1; t > 0 && !n;) { var i = { columnIndex: --t, rowIndex: e.rowIndex }; n = this._isCellByPositionValid(i) } return n }, _hasValidCellAfterPosition: function (e) { for (var t = e.columnIndex, n = !1, i = this._getVisibleColumnCount(); t < i - 1 && !n;) { var a = { columnIndex: ++t, rowIndex: e.rowIndex }; n = this._isCellByPositionValid(a) } return n }, _isLastValidCell: function (e) { var t = e.columnIndex >= 0 ? e.columnIndex + 1 : 0, n = e.rowIndex, i = { columnIndex: t, rowIndex: n }, a = this._dataController.getVisibleRows(), o = a && a[n]; return !!this._isLastRow(n) && (!!(o && "group" === o.rowType && e.columnIndex > 0) || (e.columnIndex === this._getVisibleColumnCount() - 1 || !this._isCellByPositionValid(i) && this._isLastValidCell(i))) }, _isCellValid: function (e, t) { if (D(e)) { var n = this.getView("rowsView"), i = e.parent(), a = this._columnsController, o = n.getCellIndex(e) + a.getColumnIndexOffset(), s = a.getVisibleColumns(null, !0)[o], r = this._getVisibleColumnCount(), l = this._editingController, c = k(i), u = s && s.showWhenGrouped, h = s && !e.hasClass("dx-command-expand") && I(i); if (this._isMasterDetailCell(e)) return !0; if (r > o && (!c && s && (!(0, d.isDefined)(s.groupIndex) || u && h) || parseInt(e.attr("colspan")) > 1)) { var f = this._dataController.items(), p = n.getRowIndex(i), g = f[p], m = l && this._isCellEditMode() && l.isEditing(), _ = l && l.isEditRow(p), v = _ || m; return s.command ? this._isLegacyNavigation() ? !v && "expand" === s.command : !m && (_ ? "select" !== s.command : !v) : (!m || !g || "data" === g.rowType) && (!v || s.allowEditing || t) } } }, getFirstValidCellInRow: function (e, t) { for (var n, i, a = e.find("> td"), o = t = t || 0; o < a.length; ++o)if (n = a.eq(o), this._isCellValid(n)) { i = n; break } return i }, _getNextCell: function (e, t, n) { var i, o, s = n || this._focusedCellPosition, r = this.isRowFocusType(), l = r || (0, c.inArray)(e, ["next", "previous"]) > -1; if (this._focusedView && s) { var d = this._getNewPositionByCode(s, t, e); i = (0, a.default)(this._getCell(d)); var u = "previous" === e ? this._isFirstValidCell(d) : this._isLastValidCell(d); if (D(i) && !this._isCellValid(i) && this._isCellInRow(d, l) && !u && (i = r ? this.getFirstValidCellInRow(i.parent(), d.columnIndex) : this._getNextCell(e, "cell", d)), o = D(i) && i.parent(), this._hasSkipRow(o)) { var h = this._getRowIndex(o); if (this._isLastRow(h)) return null; i = this._getNextCell(e, "row", { columnIndex: s.columnIndex, rowIndex: h }) } return D(i) ? i : null } return null }, _startEditing: function (e, t) { var n = this._focusedCellPosition, i = this.getVisibleRowIndex(), a = this.getVisibleColumnIndex(), o = this._dataController.items()[i], s = this._columnsController.getVisibleColumns()[a]; this._isAllowEditing(o, s) && (this._isRowEditMode() ? this._editingController.editRow(i) : n && this._startEditCell(e, t)) }, _isAllowEditing: function (e, t) { return this._editingController.allowUpdating({ row: e }) && t && t.allowEditing }, _editFocusedCell: function () { var e = this.getVisibleRowIndex(), t = this.getVisibleColumnIndex(); return this._editingController.editCell(e, t) }, _startEditCell: function (e, t) { var n = this; this._fastEditingStarted = (0, d.isDefined)(t); var i = this._editFocusedCell(); if (this._isFastEditingStarted()) if (!0 === i) this._editingCellHandler(e, t); else if (i && i.done) { var a = "delete" !== t ? t : ""; i.done((function () { return n._editingCellHandler(e, a) })) } }, _editingCellHandler: function (e, t) { var n = this._getFocusedCell().find(".dx-texteditor-input").eq(0), i = (0, h.createEvent)(e, { type: "keydown", target: n.get(0) }), a = (0, h.createEvent)(e, { type: "keypress", target: n.get(0) }), o = (0, h.createEvent)(e, { type: "input", target: n.get(0) }); if (s.default.trigger(n, i), !i.isDefaultPrevented() && (s.default.trigger(n, a), !a.isDefaultPrevented())) { var r = _.default.mozilla ? 25 : 0; setTimeout((function () { n.val(t); var e = n.closest(".".concat("dx-widget")); s.default.off(e, "focusout"), s.default.one(e, "focusout", (function () { s.default.trigger(n, "change") })), s.default.trigger(n, o) }), r) } }, _fireFocusChangingEvents: function (e, t, n, i) { var o = {}, s = this._getCellPosition(t) || {}; return this.isCellFocusType() && ((o = this._fireFocusedCellChanging(e, t, i)).cancel || (s.columnIndex = o.newColumnIndex, s.rowIndex = o.newRowIndex, i = o.isHighlighted, t = (0, a.default)(this._getCell(s)))), !o.cancel && n && t && ((o = this._fireFocusedRowChanging(e, t.parent())).cancel || (s.rowIndex = o.newRowIndex, o.isHighlighted = i)), o.$newCellElement = (0, a.default)(this._getCell(s)), o.$newCellElement.length || (o.$newCellElement = t), o }, _fireFocusedCellChanging: function (e, t, n) { var i = this.option("focusedColumnIndex"), o = this.option("focusedRowIndex"), s = this._getCellPosition(t), r = s ? s.columnIndex : -1, l = s ? s.rowIndex : -1, d = { cellElement: t, prevColumnIndex: i, prevRowIndex: o, newColumnIndex: r, newRowIndex: l, rows: this._dataController.getVisibleRows(), columns: this._columnsController.getVisibleColumns(), event: e, isHighlighted: n || !1, cancel: !1 }; return this._canceledCellPosition = null, this.executeAction("onFocusedCellChanging", d), d.newColumnIndex === r && d.newRowIndex === l || (d.$newCellElement = (0, a.default)(this._getCell({ columnIndex: d.newColumnIndex, rowIndex: d.newRowIndex }))), d.cancel && (this._canceledCellPosition = { rowIndex: l, columnIndex: r }), d }, _fireFocusedCellChanged: function (e, t, n) { var i = this._dataController, a = this.getView("rowsView").getCellIndex(e), o = this._getRowIndex(e && e.parent()), s = Math.min(o - i.getRowIndexOffset(), i.items().length - 1), r = this._editingController.isEditCell(s, a), l = i.items()[s]; r || t === a && n === o || this.executeAction("onFocusedCellChanged", { cellElement: e, columnIndex: a, rowIndex: o, row: l, column: this._columnsController.getVisibleColumns()[a] }) }, _fireFocusedRowChanging: function (e, t) { var n = this._getRowIndex(t), i = this._dataController, a = this.option("focusedRowIndex"), o = i.loadingOperationTypes(), s = { rowElement: t, prevRowIndex: a, newRowIndex: n, event: e, rows: i.getVisibleRows(), cancel: !1 }; return !i || i.isLoading() && (o.reload || o.paging) ? (s.cancel = !0, s) : (this.option("focusedRowEnabled") && (this.executeAction("onFocusedRowChanging", s), s.cancel || s.newRowIndex === n || (s.resetFocusedRow = s.newRowIndex < 0, s.resetFocusedRow || this.setFocusedRowIndex(s.newRowIndex), s.rowIndexChanged = !0)), s) }, _fireFocusedRowChanged: function (e) { var t, n = this.option("focusedRowKey"), i = this.getController("focus"), a = null == i ? void 0 : i.getFocusedRowIndexByKey(n); if (this.option("focusedRowEnabled")) { if (a >= 0) { var o = this._dataController; t = a >= 0 && o.getVisibleRows()[a - o.getRowIndexOffset()] } this.executeAction("onFocusedRowChanged", { rowElement: e, rowIndex: a, row: t }) } }, _isEventInCurrentGrid: function (e) { return l.default.isElementInCurrentGrid(this, (0, a.default)(e.target)) }, _isRowEditMode: function () { var e = this._editingController.getEditMode(); return "row" === e || "form" === e }, _isCellEditMode: function () { var e = this._editingController.getEditMode(); return "cell" === e || "batch" === e }, _isFastEditingAllowed: function () { return this._isCellEditMode() && this.option("keyboardNavigation.editOnKeyPress") }, _getInteractiveElement: function (e, t) { var n = e.find(b).filter(":visible"); return t ? n.last() : n.first() }, _applyTabIndexToElement: function (e) { var t = this.option("tabIndex") || 0; e.attr("tabindex", (0, d.isDefined)(t) ? t : 0) }, _getCell: function (e) { if (this._focusedView && e) { var t = this._dataController.getRowIndexOffset(), n = this._columnsController.getVisibleColumns(null, !0)[e.columnIndex], i = n && n.fixed ? this._getFixedColumnIndexOffset(n) : this._columnsController.getColumnIndexOffset(), a = e.rowIndex >= 0 ? e.rowIndex - t : -1, o = e.columnIndex >= 0 ? e.columnIndex - i : -1; return this._focusedView.getCell({ rowIndex: a, columnIndex: o }) } }, _getRowIndex: function (e) { var t = this.getView("rowsView").getRowIndex(e); return t >= 0 && (t += this._dataController.getRowIndexOffset()), t }, _hasSkipRow: function (e) { var t = e && e.get(0); return t && ("none" === t.style.display || e.hasClass(this.addWidgetPrefix("group-footer")) || k(e) && !e.hasClass(this.addWidgetPrefix("edit-form"))) }, _allowEditingOnEnterKey: function () { return "startEdit" === this.option("keyboardNavigation.enterKeyAction") }, _isLegacyNavigation: function () { return this.option("useLegacyKeyboardNavigation") }, _getDirectionCodeByKey: function (e) { var t; switch (e) { case "upArrow": t = "prevRow"; break; case "downArrow": t = "nextRow"; break; case "leftArrow": t = this.option("rtlEnabled") ? "nextInRow" : "previousInRow"; break; case "rightArrow": t = this.option("rtlEnabled") ? "previousInRow" : "nextInRow" }return t }, _isVirtualScrolling: function () { var e = this.option("scrolling.mode"); return "virtual" === e || "infinite" === e }, _isVirtualRowRender: function () { return this._isVirtualScrolling() || "virtual" === this.option("scrolling.rowRenderingMode") }, _isVirtualColumnRender: function () { return "virtual" === this.option("scrolling.columnRenderingMode") }, _scrollBy: function (e, t, n, i) { var a = this, o = this.getView("rowsView").getScrollable(); if (a._focusedCellPosition) { o.on("scroll", (function e() { o.off("scroll", e), setTimeout(a.restoreFocusableElement.bind(a, n, i)) })) } return o.scrollBy({ left: e, top: t }) }, _isInsideEditForm: function (e) { return (0, a.default)(e).closest("." + this.addWidgetPrefix("edit-form")).length > 0 }, _isMasterDetailCell: function (e) { var t = (0, a.default)(e).closest(".dx-master-detail-cell"), n = t.closest("." + this.getWidgetContainerClass()).parent(); return t.length && n.is(this.component.$element()) }, _processNextCellInMasterDetail: function (e) { !this._isInsideEditForm(e) && e && this._applyTabIndexToElement(e) }, _handleTabKeyOnMasterDetailCell: function (e, t) { if (this._isMasterDetailCell(e)) { this._updateFocusedCellPosition((0, a.default)(e), t); var n = this._getNextCell(t, "row"); return this._processNextCellInMasterDetail(n), !0 } return !1 }, _getElementType: function (e) { return (0, a.default)(e).is("tr") ? "row" : "cell" }, _isFastEditingStarted: function () { return this._isFastEditingAllowed() && this._fastEditingStarted }, _getVisibleColumnCount: function () { return this._columnsController.getVisibleColumns(null, !0).length }, _isCellInRow: function (e, t) { var n = e.columnIndex, i = this._getVisibleColumnCount(); return t ? n >= 0 && n <= i - 1 : n > 0 && n < i - 1 }, _getCellElementFromTarget: function (e) { var t = this._getElementType(e), n = (0, a.default)(e); return "cell" === t ? n.closest(".".concat("dx-row", " > td")) : n.children().not(".dx-command-expand").first() }, _getRowsViewElement: function () { var e = this.getView("rowsView"); return e && e.element() }, isKeyboardEnabled: function () { return this.option("keyboardNavigation.enabled") }, _processCanceledEditCellPosition: function (e, t) { if (this._canceledCellPosition) { var n = this._canceledCellPosition.rowIndex === e && this._canceledCellPosition.columnIndex === t; return this._canceledCellPosition = null, n } } }) }, extenders: { views: { rowsView: { _rowClick: function (e) { var t = this.getController("editing").getEditRowIndex(), n = this.getController("keyboardNavigation"); t === e.rowIndex && n.setCellFocusType(); var i = T() && this.option("focusedRowEnabled"); i && this._triggerPointerDownEventHandler(e), this.callBase.apply(this, arguments) }, _triggerPointerDownEventHandler: function (e) { var t = e.event.originalEvent; if (t) { var n = this.getController("keyboardNavigation"), i = (0, a.default)(t.target), o = this.getCellIndex(i), s = this.getController("columns").getVisibleColumns()[o], r = this.getController("data").items()[e.rowIndex]; if (n._isAllowEditing(r, s)) { var l = (0, h.createEvent)(t, { currentTarget: t.target }); n._pointerEventHandler(l) } } }, renderFocusState: function (e) { var t = this.getController("keyboardNavigation"), n = this.element(); n && !(0, u.focused)(n) && n.attr("tabindex", null); var i = t.getVisibleRowIndex(); (!(0, d.isDefined)(i) || i < 0) && (i = 0); var a = this.getCellElements(i); t.isKeyboardEnabled() && a.length && this.updateFocusElementTabIndex(a, e) }, updateFocusElementTabIndex: function (e) { var t = this.getController("keyboardNavigation"), n = e.eq(0).parent(); if (C(n)) t._applyTabIndexToElement(n); else { var i = t.getColumnIndex(); (!(0, d.isDefined)(i) || i < 0) && (i = 0), this._updateFocusedCellTabIndex(e, i) } }, _updateFocusedCellTabIndex: function (e, t) { var n = this.getController("keyboardNavigation"), i = e ? e.length : -1, o = function (e) { var t = n._isMasterDetailCell(e), i = n._isCellValid(e); if (!t && i && S(e)) return n._applyTabIndexToElement(e), n.setCellFocusType(), !0 }, s = e.filter("[aria-colindex='".concat(t + 1, "']")); if (s.length) o(s); else { i <= t && (t = i - 1); for (var r = t; r < i && !o((0, a.default)(e[r])); ++r); } }, renderDelayedTemplates: function (e) { this.callBase.apply(this, arguments), e && e.repaintChangesOnly || this.renderFocusState() }, _renderCore: function (e) { this.callBase(e), e && e.repaintChangesOnly || this.renderFocusState() }, _editCellPrepared: function (e) { var t = this._getEditorInstance(e), n = this.getController("keyboardNavigation"), i = n && n._isFastEditingStarted(); t && i && this._handleEditingNavigationMode(t), this.callBase.apply(this, arguments) }, _handleEditingNavigationMode: function (e) { ["downArrow", "upArrow"].forEach((function (t) { var n = e._supportedKeys()[t]; e.registerKeyHandler(t, (function (t) { if ("true" === e._input().attr("aria-expanded")) return n && n.call(e, t) })) })), e.registerKeyHandler("leftArrow", g.noop), e.registerKeyHandler("rightArrow", g.noop), "dxDateBox" === e.NAME && e.option("useMaskBehavior") && e.registerKeyHandler("enter", g.noop) }, _getEditorInstance: function (e) { var t = e.find(".dx-texteditor").eq(0); return l.default.getWidgetInstance(t) } } }, controllers: { editing: { editCell: function (e, t) { var n = this.getController("keyboardNavigation"); if (n._processCanceledEditCellPosition(e, t)) return !1; var i = this.callBase(e, t); return i && n.setupFocusedView(), i }, editRow: function (e) { var t = this.getController("keyboardNavigation"), n = t.getVisibleColumnIndex(), i = this._columnsController.getVisibleColumns()[n]; (i && i.type || "form" === this.option("editing.mode")) && t._resetFocusedCell(), this.callBase(e) }, addRow: function (e) { return this.getController("keyboardNavigation").setupFocusedView(), this.callBase.apply(this, arguments) }, getFocusedCellInRow: function (e) { var t = this.getController("keyboardNavigation"), n = this.callBase(e); if (t.isKeyboardEnabled() && t._focusedCellPosition.rowIndex === e) { var i = t._getFocusedCell(); D(i) && !i.hasClass("dx-command-edit") && (n = i) } return n }, _processCanceledEditingCell: function () { var e = this; this.closeEditCell().done((function () { e.getController("keyboardNavigation")._updateFocus() })) }, init: function () { this.callBase(), this._keyboardNavigationController = this.getController("keyboardNavigation") }, closeEditCell: function () { var e = this.getController("keyboardNavigation"); e._fastEditingStarted = !1; var t = this.callBase.apply(this, arguments); return e._updateFocus(), t }, _delayedInputFocus: function () { this._keyboardNavigationController._isNeedScroll = !0, this.callBase.apply(this, arguments) }, _isEditingStart: function () { var e = this.getController("keyboardNavigation"), t = this.callBase.apply(this, arguments); if (t && !e._isNeedFocus) { var n = e._getFocusedCell(); e._focus(n, !0) } return t } }, data: { _correctRowIndices: function (e) { var t = this, n = t.getController("keyboardNavigation"), i = t.getController("editorFactory"), a = n._focusedCellPosition; if (t.callBase.apply(t, arguments), a && a.rowIndex >= 0) { var o = e(a.rowIndex); o && (a.rowIndex += o, i.refocus()) } } }, adaptiveColumns: { _showHiddenCellsInView: function (e) { var t = e.viewName, n = e.$cells, i = e.isCommandColumn; this.callBase.apply(this, arguments), "columnHeadersView" === t && !i && n.each((function (e, t) { var n = (0, a.default)(t); A(n) && n.attr("tabindex", 0) })) }, _hideVisibleCellInView: function (e) { var t = e.viewName, n = e.$cell, i = e.isCommandColumn; this.callBase.apply(this, arguments), "columnHeadersView" === t && !i && A(n) && n.removeAttr("tabindex") } } } } }; t.default = O, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(503)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("virtualColumns", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i, a = n(7), o = n(202), s = { _renderCore: function () { var e = this, t = e._scrollLeft; e.callBase.apply(e, arguments), e._columnsController.isVirtualMode() && t >= 0 && (e._scrollLeft = 0, e.scrollTo({ left: t })) } }, r = { defaultOptions: function () { return { scrolling: { columnRenderingMode: "standard", columnPageSize: 5, columnRenderingThreshold: 300 } } }, extenders: { controllers: { columns: (i = function (e) { return e.map((function (e) { return e.visibleWidth || parseFloat(e.width) || 50 })) }, { init: function () { this.callBase(), this._beginPageIndex = 0, this._endPageIndex = 0, this._position = 0, this._virtualVisibleColumns = {} }, resetColumnsCache: function () { this.callBase(), this._virtualVisibleColumns = {} }, getBeginPageIndex: function (e) { for (var t = this.getVisibleColumns(void 0, !0), n = i(t), a = 0, o = 0; o < n.length; o++) { if (a >= e) return Math.floor(o / this.getColumnPageSize()); a += n[o] } return 0 }, getTotalWidth: function () { var e = this.option("width"); return "number" == typeof e ? e : this.getController("resizing")._lastWidth || this.component.$element().outerWidth() }, getEndPageIndex: function (e) { var t = this.getVisibleColumns(void 0, !0), n = i(t), a = 0; e += this.getTotalWidth(); for (var o = 0; o < n.length; o++) { if (a >= e) return Math.ceil(o / this.getColumnPageSize()); a += n[o] } return Math.ceil(n.length / this.getColumnPageSize()) }, getColumnPageSize: function () { return this.option("scrolling.columnPageSize") }, _fireColumnsChanged: function () { var e = new Date; this.columnsChanged.fire({ optionNames: { all: !0, length: 1 }, changeTypes: { columns: !0, length: 1 } }), this._renderTime = new Date - e }, setScrollPosition: function (e) { var t = this, n = t.option("scrolling.columnRenderingThreshold"); t._renderTime > n ? (clearTimeout(t._changedTimeout), t._changedTimeout = setTimeout((function () { t._setScrollPositionCore(e) }), t.option("scrolling.timeout"))) : t._setScrollPositionCore(e) }, isVirtualMode: function () { return (0, a.hasWindow)() && "virtual" === this.option("scrolling.columnRenderingMode") }, resize: function () { this._setScrollPositionCore(this._position) }, _setScrollPositionCore: function (e) { if (this.isVirtualMode()) { var t = this.getBeginPageIndex(e), n = this.getEndPageIndex(e), i = e < this._position ? this._beginPageIndex > t : this._endPageIndex < n; this._position = e, i && (this._beginPageIndex = t, this._endPageIndex = n, this._fireColumnsChanged()) } }, getFixedColumns: function (e, t) { var n = this.callBase(e); if (this.isVirtualMode() && !t && n.length) { var i = n.map((function (e) { return e.command })).indexOf("transparent"); return n[i].colspan = this.getVisibleColumns().length - this.callBase().length + 1, n } return n }, getVisibleColumns: function (e, t) { if (t || !this.isVirtualMode()) return this.callBase(e); this._beginPageIndex || this._endPageIndex || (this._beginPageIndex = this.getBeginPageIndex(this._position), this._endPageIndex = this.getEndPageIndex(this._position)); var n = this._beginPageIndex, a = this._endPageIndex, s = e + "-" + n + "-" + a; if (this._virtualVisibleColumns[s]) return this._virtualVisibleColumns[s]; var r = this.callBase(), l = this.getRowCount(), d = this.getColumnPageSize(), c = n * d, u = a * d, h = this.getFixedColumns(void 0, !0), f = h.map((function (e) { return e.command })).indexOf("transparent"), p = h.length ? f : 0, g = r.slice(0, p), m = r.slice(p, c), _ = i(m).reduce((function (e, t) { return e + t }), 0); _ || (c = 0); var v = h.length ? h.length - f - 1 : 0, y = r.slice(r.length - v), w = r.slice(u, r.length - v), x = i(w).reduce((function (e, t) { return e + t }), 0); if (x || (u = r.length), l > 1 && "number" == typeof e) { for (var b = [], C = 0; C < l; C++)b.push(this.callBase(C)); g = (0, o.createColumnsInfo)(b, 0, g.length)[e] || [], y = (0, o.createColumnsInfo)(b, r.length - y.length, r.length)[e] || [], r = (0, o.createColumnsInfo)(b, c, u)[e] || [] } else r = r.slice(c, u); return _ && (r.unshift({ command: "virtual", width: _ }), r = g.concat(r)), x && (r.push({ command: "virtual", width: x }), r = r.concat(y)), this._virtualVisibleColumns[s] = r, r }, getColumnIndexOffset: function () { var e = 0; if (this._beginPageIndex > 0) { var t = this.getFixedColumns().map((function (e) { return e.command })).indexOf("transparent"), n = t >= 0 ? t : 0; e = this._beginPageIndex * this.getColumnPageSize() - n - 1 } return e > 0 ? e : 0 }, dispose: function () { clearTimeout(this._changedTimeout), this.callBase.apply(this, arguments) } }) }, views: { columnHeadersView: s, footerView: s, rowsView: { _resizeCore: function () { this.callBase.apply(this, arguments), this._columnsController.resize() }, _handleScroll: function (e) { var t = this, n = this.getScrollable(), i = e.scrollOffset.left; t.callBase.apply(t, arguments), t.option("rtlEnabled") && n && (i = n.$content().width() - n.$element().width() - i), t._columnsController.setScrollPosition(i) } } } } }; t.default = r, e.exports = t.default }, function (e, t, n) { "use strict"; var i = r(n(16)), a = n(1), o = n(6), s = r(n(505)); function r(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("focus", (0, a.extend)(!0, {}, s.default, { extenders: { controllers: { data: { changeRowExpand: function (e) { return this.option("focusedRowEnabled") && this.isRowExpanded(e) && this._isFocusedRowInside(e) && this.option("focusedRowKey", e), this.callBase.apply(this, arguments) }, _isFocusedRowInside: function (e) { for (var t = this.option("focusedRowKey"), n = this.getRowIndexByKey(t), i = n >= 0 && this.getVisibleRows()[n], a = i && i.node.parent; a;) { if (a.key === e) return !0; a = a.parent } return !1 }, getParentKey: function (e) { var t = this._dataSource, n = this.getNodeByKey(e), i = new o.Deferred; return n ? i.resolve(n.parent ? n.parent.key : void 0) : t.load({ filter: [t.getKeyExpr(), "=", e] }).done((function (e) { var n = e[0]; n ? i.resolve(t.parentKeyOf(n)) : i.reject() })).fail(i.reject), i.promise() }, expandAscendants: function (e) { var t = this, n = t._dataSource, i = new o.Deferred; return t.getParentKey(e).done((function (e) { n && void 0 !== e && e !== t.option("rootValue") ? (n._isNodesInitializing = !0, t.expandRow(e), n._isNodesInitializing = !1, t.expandAscendants(e).done(i.resolve).fail(i.reject)) : i.resolve() })).fail(i.reject), i.promise() }, getPageIndexByKey: function (e) { var t = this, n = t._dataSource, i = new o.Deferred; return t.expandAscendants(e).done((function () { n.load({ filter: t.getCombinedFilter(), sort: t.getController("columns").getSortDataSourceParameters(!n.remoteOperations().sorting), parentIds: [] }).done((function (n) { var a, o, s = (a = function (n) { return t.keyOf(n.data) === e }, o = -1, n.forEach((function (e, t) { a(e) && (o = t) })), o), r = t.pageIndex(); s >= 0 && (r = Math.floor(s / t.pageSize())), i.resolve(r) })).fail(i.reject) })).fail(i.reject), i.promise() } } } } })) }, function (e, t, n) { "use strict"; t.default = void 0; var i = c(n(2)), a = c(n(24)), o = n(3), s = c(n(22)), r = n(4), l = n(0), d = n(6); function c(e) { return e && e.__esModule ? e : { default: e } } var u = { defaultOptions: function () { return { focusedRowEnabled: !1, autoNavigateToFocusedRow: !0, focusedRowKey: void 0, focusedRowIndex: -1, focusedColumnIndex: -1 } }, controllers: { focus: a.default.ViewController.inherit({ init: function () { this._dataController = this.getController("data"), this._keyboardController = this.getController("keyboardNavigation"), this.component._optionsByReference.focusedRowKey = !0 }, optionChanged: function (e) { if ("focusedRowIndex" === e.name) { var t = this.option("focusedRowKey"); this._focusRowByIndex(e.value), this._triggerFocusedRowChangedIfNeed(t, e.value), e.handled = !0 } else if ("focusedRowKey" === e.name) { var n = this.option("focusedRowIndex"); this._focusRowByKey(e.value), this._triggerFocusedRowChangedIfNeed(e.value, n), e.handled = !0 } else "focusedColumnIndex" === e.name ? e.handled = !0 : "focusedRowEnabled" === e.name ? e.handled = !0 : "autoNavigateToFocusedRow" === e.name ? e.handled = !0 : this.callBase(e) }, _triggerFocusedRowChangedIfNeed: function (e, t) { if (t === this.getFocusedRowIndexByKey(e)) { var n = this._dataController.getRowIndexByKey(e); if (n >= 0) { var a = (0, i.default)(this.getView("rowsView").getRowElement(n)); this.getController("keyboardNavigation")._fireFocusedRowChanged(a, t) } } }, isAutoNavigateToFocusedRow: function () { return "infinite" !== this.option("scrolling.mode") && this.option("autoNavigateToFocusedRow") }, _focusRowByIndex: function (e) { this.option("focusedRowEnabled") && ((e = void 0 !== e ? e : this.option("focusedRowIndex")) < 0 ? this.isAutoNavigateToFocusedRow() && this._resetFocusedRow() : this._focusRowByIndexCore(e)) }, _focusRowByIndexCore: function (e) { var t = this, n = this.getController("data"), i = n.pageSize(), a = function () { if (t._isValidFocusedRowIndex(e)) { var i = e - n.getRowIndexOffset(), a = n._getLastItemIndex(), o = Math.min(i, a), s = n.getKeyByRowIndex(o); (0, l.isDefined)(s) && !t.isRowFocused(s) && t.option("focusedRowKey", s) } }; if (i >= 0) if (this._isLocalRowIndex(e)) a(); else { var o = Math.floor(e / n.pageSize()); (0, d.when)(n.pageIndex(o), n.waitReady()).done((function () { a() })) } }, _isLocalRowIndex: function (e) { var t = this.getController("data"); if (this.getController("keyboardNavigation")._isVirtualScrolling()) { var n = Math.floor(e / t.pageSize()), i = t.virtualItemsCount(), a = i ? i.begin : -1, o = t.getVisibleRows().length + t.getRowIndexOffset(), s = Math.ceil(o / t.pageSize()); return a <= e && s > n } return !0 }, _setFocusedRowKeyByIndex: function (e) { var t = this.getController("data"); if (this._isValidFocusedRowIndex(e)) { var n = Math.min(e - t.getRowIndexOffset(), t.items().length - 1), i = t.getKeyByRowIndex(n); (0, l.isDefined)(i) && !this.isRowFocused(i) && this.option("focusedRowKey", i) } }, _focusRowByKey: function (e) { (0, l.isDefined)(e) ? this._navigateToRow(e, !0) : this._resetFocusedRow() }, _resetFocusedRow: function () { var e = this.option("focusedRowKey"), t = (0, l.isDefined)(e); if (t || !(this.option("focusedRowIndex") < 0)) { var n = this.getController("keyboardNavigation"); t && this.option("focusedRowKey", void 0), n.setFocusedRowIndex(-1), this.option("focusedRowIndex", -1), this.getController("data").updateItems({ changeType: "updateFocusedRow", focusedRowKey: void 0 }), n._fireFocusedRowChanged(void 0, -1) } }, _isValidFocusedRowIndex: function (e) { var t = this.getController("data").getVisibleRows()[e]; return !t || "data" === t.rowType || "group" === t.rowType }, publicMethods: function () { return ["navigateToRow", "isRowFocused"] }, navigateToRow: function (e) { this.isAutoNavigateToFocusedRow() || this.option("focusedRowIndex", -1), this._navigateToRow(e) }, _navigateToRow: function (e, t) { var n = this, i = n.getController("data"), a = n.isAutoNavigateToFocusedRow(), o = new d.Deferred; if (void 0 === e || !i.dataSource()) return o.reject().promise(); var s = n.getFocusedRowIndexByKey(e), r = i.getDataSource().paginate(); return !a && t || !r || s >= 0 ? n._navigateTo(e, o, t) : i.getPageIndexByKey(e).done((function (a) { a < 0 ? o.resolve(-1) : a === i.pageIndex() ? i.reload().done((function () { n.isRowFocused(e) ? o.resolve(n.getFocusedRowIndexByKey(e)) : n._navigateTo(e, o, t) })).fail(o.reject) : i.pageIndex(a).done((function () { n._navigateTo(e, o, t) })).fail(o.reject) })).fail(o.reject), o.promise() }, _navigateTo: function (e, t, n) { var i = this.getController("data").getRowIndexByKey(e), a = "virtual" === this.option("scrolling.rowRenderingMode"); this.isAutoNavigateToFocusedRow() && a && i < 0 ? this._navigateToVirtualRow(e, t, n) : this._navigateToVisibleRow(e, t, n) }, _navigateToVisibleRow: function (e, t, n) { n ? this._triggerUpdateFocusedRow(e, t) : this.getView("rowsView").scrollToRowElement(e) }, _navigateToVirtualRow: function (e, t, n) { var i = this, a = this.getController("data"), o = a._rowsScrollController, r = s.default.getIndexByKey(e, a.items(!0)), l = i.getView("rowsView").getScrollable(); if (o && l && r >= 0) { var d = r + a.getRowIndexOffset() - a.getRowIndexDelta(), c = o.getItemOffset(d); n && i.component.on("contentReady", (function n() { i.component.off("contentReady", n), i._triggerUpdateFocusedRow(e, t) })), l.scrollTo({ y: c }) } }, _triggerUpdateFocusedRow: function (e, t) { var n = this.getController("data"), i = this.getFocusedRowIndexByKey(e); this._isValidFocusedRowIndex(i) ? (this.option("focusedRowEnabled") ? n.updateItems({ changeType: "updateFocusedRow", focusedRowKey: e }) : this.getView("rowsView").scrollToRowElement(e), this.getController("keyboardNavigation").setFocusedRowIndex(i), t && t.resolve(i)) : t && t.resolve(-1) }, getFocusedRowIndexByKey: function (e) { var t = this.getController("data"), n = t.getRowIndexByKey(e); return n >= 0 ? n + t.getRowIndexOffset() : -1 }, _focusRowByKeyOrIndex: function () { var e = this, t = this.option("focusedRowKey"), n = this.option("focusedRowIndex"), i = this.getController("keyboardNavigation"), a = this.getController("data"); if ((0, l.isDefined)(t)) { var o = a.getRowIndexByKey(t); o >= 0 ? (i._isVirtualScrolling() && (n = o + a.getRowIndexOffset()), i.setFocusedRowIndex(n), this._triggerUpdateFocusedRow(t)) : this._navigateToRow(t, !0).done((function (t) { n >= 0 && t < 0 && e._focusRowByIndex() })) } else n >= 0 && this.getController("focus")._focusRowByIndex(n) }, isRowFocused: function (e) { var t = this.option("focusedRowKey"); if ((0, l.isDefined)(t)) return (0, r.equalByValue)(e, this.option("focusedRowKey")) }, updateFocusedRow: function (e) { var t, n = this, a = n._dataController.getRowIndexByKey(e.focusedRowKey), s = n.getView("rowsView"); (0, o.each)(s.getTableElements(), (function (o, s) { var r, l = 0 === o; t = (0, i.default)(s), n._clearPreviousFocusedRow(t, a), n._prepareFocusedRow({ changedItem: null == e ? void 0 : null === (r = e.items) || void 0 === r ? void 0 : r[a], $tableElement: t, focusedRowIndex: a, isMainTable: l }) })) }, _clearPreviousFocusedRow: function (e, t) { var n = this, a = e.find(".dx-row.dx-row-focused").filter((function (t, a) { var o = (0, i.default)(a).closest(".".concat(n.addWidgetPrefix("table"))); return e.is(o) })); a.removeClass("dx-row-focused").removeClass("dx-cell-focus-disabled").removeAttr("tabindex"), a.children("td").removeAttr("tabindex"), 0 !== t && (0, i.default)(this.getView("rowsView").getRowElement(0)).removeClass("dx-cell-focus-disabled").removeAttr("tabIndex") }, _prepareFocusedRow: function (e) { var t, n = e.changedItem; if (n && ("data" === n.rowType || "group" === n.rowType)) { var a = e.focusedRowIndex, o = e.$tableElement, s = e.isMainTable, r = this.option("tabindex") || 0, l = this.getView("rowsView"); (t = (0, i.default)(l._getRowElements(o).eq(a))).addClass("dx-row-focused").attr("tabindex", r), s && l.scrollToElementVertically(t) } return t } }) }, extenders: { controllers: { keyboardNavigation: { init: function () { var e = this.option("focusedRowIndex"), t = this.option("focusedColumnIndex"); this.createAction("onFocusedRowChanging", { excludeValidators: ["disabled", "readOnly"] }), this.createAction("onFocusedRowChanged", { excludeValidators: ["disabled", "readOnly"] }), this.createAction("onFocusedCellChanging", { excludeValidators: ["disabled", "readOnly"] }), this.createAction("onFocusedCellChanged", { excludeValidators: ["disabled", "readOnly"] }), this.callBase(), this.setRowFocusType(), this._focusedCellPosition = {}, (0, l.isDefined)(e) && (this._focusedCellPosition.rowIndex = this.option("focusedRowIndex")), (0, l.isDefined)(t) && (this._focusedCellPosition.columnIndex = this.option("focusedColumnIndex")) }, setFocusedRowIndex: function (e) { var t = this.getController("data"); this.callBase(e); var n = e - t.getRowIndexOffset(), i = t.getVisibleRows()[n]; i && i.isNewRow || this.option("focusedRowIndex", e) }, setFocusedColumnIndex: function (e) { this.callBase(e), this.option("focusedColumnIndex", e) }, _escapeKeyHandler: function (e, t) { !t && this.option("focusedRowEnabled") ? this.isCellFocusType() && (this.setRowFocusType(), this._focus(this._getCellElementFromTarget(e.originalEvent.target), !0)) : this.callBase(e, t) }, _updateFocusedCellPosition: function (e, t) { var n = this.option("focusedRowIndex"), i = this.option("focusedColumnIndex"), a = this.callBase(e, t); a && a.columnIndex >= 0 && this._fireFocusedCellChanged(e, i, n) } }, editorFactory: { renderFocusOverlay: function (e, t) { var n, i = this.getController("keyboardNavigation"), a = this.option("focusedRowEnabled"), o = this.getController("editing"), s = "row" === i._getElementType(e); a && i.isRowFocusType() && !o.isEditing() ? a && s && !e.hasClass("dx-row-focused") && (n = i.getFirstValidCellInRow(e), i.focus(n)) : this.callBase(e, t) } }, columns: { getSortDataSourceParameters: function (e, t) { var n = this, i = this.callBase.apply(this, arguments), a = this.getController("data"), o = a._dataSource, s = a.store(), r = s && s.key(), l = o && o.remoteOperations() || {}, d = Object.keys(l).every((function (e) { return !l[e] })); if (r && (this.option("focusedRowEnabled") && !1 !== this.getController("focus").isAutoNavigateToFocusedRow() || t)) { var c = (r = Array.isArray(r) ? r : [r]).filter((function (e) { return !n.columnOption(e, "sortOrder") })); c.length && (i = i || [], d ? i.push({ selector: o.getDataIndexGetter(), desc: !1 }) : c.forEach((function (e) { return i.push({ selector: e, desc: !1 }) }))) } return i } }, data: { _applyChange: function (e) { if (!e || "updateFocusedRow" !== e.changeType) return this.callBase.apply(this, arguments) }, _fireChanged: function (e) { if (this.callBase(e), this.option("focusedRowEnabled") && this._dataSource) { var t = "update" === e.changeType && e.repaintChangesOnly && e.changeTypes && e.changeTypes.indexOf("remove") >= 0; "refresh" === e.changeType && e.items.length || t ? (this._updatePageIndexes(), this.processUpdateFocusedRow(e)) : "append" !== e.changeType && "prepend" !== e.changeType || this._updatePageIndexes() } }, _updatePageIndexes: function () { var e = this._lastRenderingPageIndex || 0, t = this._rowsScrollController ? this._rowsScrollController.pageIndex() : 0; this._lastRenderingPageIndex = t, this._isPagingByRendering = t !== e }, isPagingByRendering: function () { return this._isPagingByRendering }, processUpdateFocusedRow: function (e) { var t = e.operationTypes || {}, n = this.getController("focus"), i = t.reload, a = t.fullReload, o = this.getController("keyboardNavigation")._isVirtualScrolling(), s = this.option("focusedRowKey"), r = n.isAutoNavigateToFocusedRow(); if (i && !a && (0, l.isDefined)(s)) n._navigateToRow(s, !0).done((function (e) { e < 0 && n._focusRowByIndex() })); else if (t.paging && !o) if (r) { var d = this.getRowIndexByKey(s), c = d >= 0, u = this.option("focusedRowIndex"); u >= 0 && (u === d || !c) && n._focusRowByIndex() } else this.getRowIndexByKey(s) < 0 && this.option("focusedRowIndex", -1); else t.fullReload && n._focusRowByKeyOrIndex() }, getPageIndexByKey: function (e) { var t = this, n = new d.Deferred; return t.getGlobalRowIndexByKey(e).done((function (e) { n.resolve(e >= 0 ? Math.floor(e / t.pageSize()) : -1) })).fail(n.reject), n.promise() }, getGlobalRowIndexByKey: function (e) { return this._dataSource.group() ? this._calculateGlobalRowIndexByGroupedData(e) : this._calculateGlobalRowIndexByFlatData(e) }, _calculateGlobalRowIndexByFlatData: function (e, t, n) { var i = this, a = new d.Deferred, o = i._dataSource, s = i._generateFilterByKey(e); return o.load({ filter: i._concatWithCombinedFilter(s), skip: 0, take: 1 }).done((function (r) { r.length > 0 ? (s = i._generateOperationFilterByKey(e, r[0], n), o.load({ filter: i._concatWithCombinedFilter(s, t), skip: 0, take: 1, requireTotalCount: !0 }).done((function (e, t) { a.resolve(t.totalCount) }))) : a.resolve(-1) })), a.promise() }, _concatWithCombinedFilter: function (e, t) { var n = this.getCombinedFilter(); return s.default.combineFilters([e, n, t]) }, _generateBooleanFilter: function (e, t, n) { var i; return !1 === t ? i = [e, "=", !!n.desc || null] : (!0 === t ? !n.desc : n.desc) && (i = [e, "<>", t]), i }, _generateOperationFilterByKey: function (e, t, n) { var i = this, a = i._dataSource, o = i._generateFilterByKey(e, "<"), s = i._columnsController.getSortDataSourceParameters(!a.remoteOperations().filtering, !0); if (n) { var r = i._columnsController.getGroupDataSourceParameters(!a.remoteOperations().filtering); r && (s = s ? r.concat(s) : r) } return s && s.slice().reverse().forEach((function (e) { var n, a = e.selector, s = (n = "function" == typeof a ? a : i._columnsController.columnOption(a, "selector")) ? n(t) : t[a]; if (o = [[a, "=", s], "and", o], null === s || (0, l.isBoolean)(s)) { var r = i._generateBooleanFilter(a, s, e); r && (o = [r, "or", o]) } else { var d = [a, e.desc ? ">" : "<", s]; e.desc || (d = [d, "or", [a, "=", null]]), o = [d, "or", o] } })), o }, _generateFilterByKey: function (e, t) { var n = this._dataSource.key(), i = []; if (t || (t = "="), Array.isArray(n)) for (var a = 0; a < n.length; ++a) { var o = e[n[a]]; o && (i.length > 0 && i.push("and"), i.push([n[a], t, o])) } else i = [n, t, e]; return i }, _getLastItemIndex: function () { return this.items(!0).length - 1 } } }, views: { rowsView: { _createRow: function (e) { var t = this.callBase(e); return this.option("focusedRowEnabled") && e && this.getController("focus").isRowFocused(e.key) && t.addClass("dx-row-focused"), t }, _checkRowKeys: function (e) { if (this.callBase.apply(this, arguments), this.option("focusedRowEnabled") && this.option("dataSource")) { var t = this._dataController.store(); t && !t.key() && this._dataController.fireError("E1042", "Row focusing") } }, _update: function (e) { "updateFocusedRow" === e.changeType ? this.option("focusedRowEnabled") && this.getController("focus").updateFocusedRow(e) : this.callBase(e) }, updateFocusElementTabIndex: function (e, t) { this.option("focusedRowEnabled") ? this._setFocusedRowElementTabIndex(t) : this.callBase(e) }, _setFocusedRowElementTabIndex: function (e) { var t = this, n = this.option("focusedRowKey"), i = this.option("tabIndex") || 0, a = this._dataController, o = this._columnsController, s = a.getRowIndexByKey(n), r = this.option("focusedColumnIndex"), d = this._findRowElementForTabIndex(); if ((0, l.isDefined)(this._scrollToFocusOnResize) || (this._scrollToFocusOnResize = function () { t.scrollToElementVertically(t._findRowElementForTabIndex()), t.resizeCompleted.remove(t._scrollToFocusOnResize) }), d.attr("tabIndex", i), s >= 0 && !e && (r < 0 && (r = 0), s += a.getRowIndexOffset(), r += o.getColumnIndexOffset(), this.getController("keyboardNavigation").setFocusedCellPosition(s, r), this.getController("focus").isAutoNavigateToFocusedRow())) { var c = a.dataSource(), u = c && c.operationTypes(); !u || u.paging || a.isPagingByRendering() || (this.resizeCompleted.remove(this._scrollToFocusOnResize), this.resizeCompleted.add(this._scrollToFocusOnResize)) } }, _findRowElementForTabIndex: function () { var e = this.option("focusedRowKey"), t = this._dataController.getRowIndexByKey(e); return (0, i.default)(this.getRowElement(t >= 0 ? t : 0)) }, scrollToRowElement: function (e) { var t = this.getController("data").getRowIndexByKey(e), n = (0, i.default)(this.getRow(t)); this.scrollToElementVertically(n) }, scrollToElementVertically: function (e) { var t = this.getScrollable(); if (t) { var n = t.getScrollElementPosition(e, "vertical"); t.scrollTo({ top: n }) } } } } } }; t.default = u, e.exports = t.default }, function (e, t, n) { "use strict"; var i = o(n(16)), a = o(n(507)); function o(e) { return e && e.__esModule ? e : { default: e } } i.default.registerModule("rowDragging", a.default) }, function (e, t, n) { "use strict"; t.default = void 0; var i = l(n(2)), a = n(1), o = l(n(223)), s = l(n(22)), r = l(n(15)); function l(e) { return e && e.__esModule ? e : { default: e } } var d = { defaultOptions: function () { return { rowDragging: { showDragIcons: !0, dropFeedbackMode: "indicate", allowReordering: !1, allowDropInsideItem: !1 } } }, extenders: { views: { rowsView: { init: function () { this.callBase.apply(this, arguments), this._updateHandleColumn() }, _allowReordering: function () { var e = this.option("rowDragging"); return !(!e || !(e.allowReordering || e.allowDropInsideItem || e.group)) }, _updateHandleColumn: function () { var e = this.option("rowDragging"), t = this._allowReordering(), n = this._columnsController, i = t && e.showDragIcons; n && n.addCommandColumn({ type: "drag", command: "drag", visibleIndex: -2, alignment: "center", cssClass: "dx-command-drag", width: "auto", cellTemplate: this._getHandleTemplate(), visible: i }), n.columnOption("type:drag", "visible", i) }, _renderContent: function () { var e = this, t = this.option("rowDragging"), n = this._allowReordering(), i = this.callBase.apply(this, arguments), s = this._isFixedTableRendering, l = "_sortable", d = "_sortableFixed", c = s ? d : l, u = s ? l : d, h = function (t) { var n; null === (n = e[d]) || void 0 === n || n.$element().css("pointerEvents", t ? "auto" : "") }; return n && i.length && (this[c] = this._createComponent(i, o.default, (0, a.extend)({ component: this.component, contentTemplate: null, filter: "> table > tbody > .dx-row:not(.dx-freespace-row):not(.dx-virtual-row)", dragTemplate: this._getDraggableRowTemplate(), handle: t.showDragIcons && ".".concat("dx-command-drag"), dropFeedbackMode: "indicate" }, t, { onDragStart: function (e) { var n, i = e.component.getVisibleRows()[e.fromIndex]; e.itemData = i && i.data; var a = i && "data" === i.rowType; e.cancel = !a, null === (n = t.onDragStart) || void 0 === n || n.call(t, e) }, onDragEnter: function () { h(!0) }, onDragLeave: function () { h(!1) }, onDragEnd: function (e) { var n; h(!1), null === (n = t.onDragEnd) || void 0 === n || n.call(t, e) }, dropFeedbackMode: r.default.msie ? "indicate" : t.dropFeedbackMode, onOptionChanged: function (t) { e[d] && ("fromIndex" !== t.name && "toIndex" !== t.name || e[u].option(t.name, t.value)) } })), i.toggleClass("dx-sortable-without-handle", !t.showDragIcons)), i }, _resizeCore: function () { this.callBase.apply(this, arguments); var e = this._dataController.getRowIndexOffset();[this._sortable, this._sortableFixed].forEach((function (t) { null == t || t.option("offset", e), null == t || t.update() })) }, _getDraggableGridOptions: function (e) { var t = this.option(), n = this.getColumns(), a = (0, i.default)(this.getRowElement(e.rowIndex)); return { dataSource: [{ id: 1, parentId: 0 }], showBorders: !0, showColumnHeaders: !1, scrolling: { useNative: !1, showScrollbar: !1 }, pager: { visible: !1 }, loadingTimeout: void 0, columnFixing: t.columnFixing, columnAutoWidth: t.columnAutoWidth, showColumnLines: t.showColumnLines, columns: n.map((function (e) { return { width: e.width || e.visibleWidth, fixed: e.fixed, fixedPosition: e.fixedPosition } })), onRowPrepared: function (e) { var t = e.component.getView("rowsView"); (0, i.default)(e.rowElement).replaceWith(a.eq(t._isFixedTableRendering ? 1 : 0).clone()) } } }, _getDraggableRowTemplate: function () { var e = this; return function (t) { var n = e.component.$element(), a = (0, i.default)("<div>").width(n.width()), o = e._dataController.items(), s = o && o[t.fromIndex], r = e._getDraggableGridOptions(s); return e._createComponent(a, e.component.NAME, r), a.find(".dx-gridbase-container").children(":not(.".concat(e.addWidgetPrefix("rowsview"), ")")).hide(), a } }, _getHandleTemplate: function () { var e = this; return function (t, n) { if ("data" === n.rowType) return (0, i.default)(t).addClass("dx-cell-focus-disabled"), (0, i.default)("<span>").addClass(e.addWidgetPrefix("drag-icon")); s.default.setEmptyText((0, i.default)(t)) } }, optionChanged: function (e) { "rowDragging" === e.name && (this._updateHandleColumn(), this._invalidate(!0, !0), e.handled = !0), this.callBase.apply(this, arguments) } } } } }; t.default = d, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = s(n(97)), o = s(n(110)); function s(e) { return e && e.__esModule ? e : { default: e } } function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function l(e, t) { return (l = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function d(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = u(e); if (t) { var a = u(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return c(this, n) } } function c(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function u(e) { return (u = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var h = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && l(e, t) }(o, e); var t, n, i, a = d(o); function o(e, t, n) { var i; return function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, o), (i = a.call(this))._optionName = e, i._loadPanel = t, i._dataSourceChangedCallback = n, i } return t = o, (n = [{ key: "insert", value: function (e, t, n) { var i = this; this._showLoadPanel(), this._getStore().insert(e).done((function (e) { t && t(e), i._hideLoadPanel() })).fail((function (e) { n && n(e), i._hideLoadPanel() })) } }, { key: "update", value: function (e, t, n, i) { var a = this; this._showLoadPanel(), this._getStore().update(e, t).done((function (e, t) { n && n(e, t), a._hideLoadPanel() })).fail((function (e) { i && i(e), a._hideLoadPanel() })) } }, { key: "remove", value: function (e, t, n) { var i = this; this._showLoadPanel(), this._getStore().remove(e).done((function (e) { t && t(e), i._hideLoadPanel() })).fail((function (e) { n && n(e), i._hideLoadPanel() })) } }, { key: "_dataSourceChangedHandler", value: function (e, t) { this._dataSourceChangedCallback(this._optionName, e) } }, { key: "_dataSourceOptions", value: function () { return { paginate: !1 } } }, { key: "_dataSourceLoadingChangedHandler", value: function (e) { e && !this._dataSource.isLoaded() ? this._showLoadPanel() : this._hideLoadPanel() } }, { key: "_showLoadPanel", value: function () { this._loadPanel.show() } }, { key: "_hideLoadPanel", value: function () { this._loadPanel.hide() } }, { key: "_getStore", value: function () { return this._dataSource.store() } }, { key: "_getItems", value: function () { return this._getStore()._array || this._dataSource.items() } }]) && r(t.prototype, n), i && r(t, i), o }(a.default); h.include(o.default); var f = h; t.default = f, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.default = void 0; var a = h(n(2)), o = h(n(29)), s = h(n(9)), r = h(n(5)), l = h(n(23)), d = n(7), c = n(8), u = n(0); function h(e) { return e && e.__esModule ? e : { default: e } } function f(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function p(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function g(e, t, n) { return (g = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = y(e));); return e }(e, t); if (i) { var a = Object.getOwnPropertyDescriptor(i, t); return a.get ? a.get.call(n) : a.value } })(e, t, n || e) } function m(e, t) { return (m = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function _(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = y(e); if (t) { var a = y(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return v(this, n) } } function v(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function y(e) { return (y = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } var w = (0, d.getWindow)(), x = "".concat("dx-splitter", "-wrapper"), b = "".concat("dx-splitter", "-inactive"), C = "".concat("dx-splitter", "-border"), k = "".concat("dx-splitter", "-initial"), I = (0, c.addNamespace)(l.default.down, "dxSplitterResizing"), S = (0, c.addNamespace)(l.default.move, "dxSplitterResizing"), E = (0, c.addNamespace)(l.default.up, "dxSplitterResizing"), D = function (e) { !function (e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && m(e, t) }(l, e); var t, n, i, o = _(l); function l() { return f(this, l), o.apply(this, arguments) } return t = l, (n = [{ key: "_initMarkup", value: function () { this._$container = this.option("container"), this._$leftElement = this.option("leftElement"), this._$rightElement = this.option("rightElement"), this._onApplyPanelSize = this._createActionByOption("onApplyPanelSize"), this.$element().addClass(x).addClass(k), this._$splitterBorder = (0, a.default)("<div>").addClass(C).appendTo(this.$element()), this._$splitter = (0, a.default)("<div>").addClass("dx-splitter").addClass(b).appendTo(this._$splitterBorder) } }, { key: "_render", value: function () { g(y(l.prototype), "_render", this).call(this), this._detachEventHandlers(), this._attachEventHandlers() } }, { key: "_clean", value: function () { this._detachEventHandlers(), g(y(l.prototype), "_clean", this).call(this) } }, { key: "_attachEventHandlers", value: function () { var e = s.default.getDocument(); r.default.on(this._$splitterBorder, I, this._onMouseDownHandler.bind(this)), r.default.on(e, S, this._onMouseMoveHandler.bind(this)), r.default.on(e, E, this._onMouseUpHandler.bind(this)) } }, { key: "_detachEventHandlers", value: function () { var e = s.default.getDocument(); r.default.off(this._$splitterBorder, I), r.default.off(e, S), r.default.off(e, E) } }, { key: "_dimensionChanged", value: function () { if (void 0 === this._leftPanelPercentageWidth) { var e = this._$leftElement.get(0).clientWidth + this.getSplitterOffset(); this._leftPanelPercentageWidth = this._convertLeftPanelWidthToPercentage(e) } var t = 100 - this._leftPanelPercentageWidth; this._onApplyPanelSize({ leftPanelWidth: this._leftPanelPercentageWidth + "%", rightPanelWidth: t + "%" }), this.setSplitterPositionLeft(this._$leftElement.get(0).clientWidth - this.getSplitterOffset()) } }, { key: "_onMouseDownHandler", value: function (e) { e.preventDefault(), this._offsetX = e.pageX - this._$splitterBorder.offset().left <= this._getSplitterBorderWidth() ? e.pageX - this._$splitterBorder.offset().left : 0, this._isSplitterActive = !0, this._containerWidth = this._$container.get(0).clientWidth, this.$element().removeClass(k), this._$splitter.removeClass(b), this.setSplitterPositionLeft(null, !0) } }, { key: "_onMouseMoveHandler", value: function (e) { this._isSplitterActive && this.setSplitterPositionLeft(this._getNewSplitterPositionLeft(e), !0) } }, { key: "_onMouseUpHandler", value: function () { this._isSplitterActive && (this._$splitter.addClass(b), this._isSplitterActive = !1) } }, { key: "_getNewSplitterPositionLeft", value: function (e) { var t = e.pageX - this._getContainerLeftOffset() - this._offsetX; return t = Math.max(0 - this.getSplitterOffset(), t), t = Math.min(this._containerWidth - this.getSplitterOffset() - this._getSplitterWidth(), t) } }, { key: "_getContainerLeftOffset", value: function () { var e = this._$container.offset().left; if (w) { var t = w.getComputedStyle(this._$container.get(0)); e += (parseFloat(t.paddingLeft) || 0) + (parseFloat(t.borderLeftWidth) || 0) } return e } }, { key: "_isDomElement", value: function (e) { return e && e.nodeType && 1 === e.nodeType } }, { key: "_isPercentValue", value: function (e) { return (0, u.isString)(e) && "%" === e.slice(-1) } }, { key: "getSplitterOffset", value: function () { return (this._getSplitterBorderWidth() - this._getSplitterWidth()) / 2 } }, { key: "_getSplitterWidth", value: function () { return this._$splitter.get(0).clientWidth } }, { key: "_getSplitterBorderWidth", value: function () { return this._$splitterBorder.get(0).clientWidth } }, { key: "toggleState", value: function (e) { var t = e ? "removeClass" : "addClass"; this.$element()[t]("dx-state-disabled"), this._$splitter[t]("dx-state-disabled") } }, { key: "isSplitterMoved", value: function () { return !this.$element().hasClass(k) } }, { key: "setSplitterPositionLeft", value: function (e, t) { if (e = e || this._$leftElement.get(0).clientWidth - this.getSplitterOffset(), this.$element().css("left", e), t) { var n = e + this.getSplitterOffset(), i = this._containerWidth - n; this._onApplyPanelSize({ leftPanelWidth: n, rightPanelWidth: i }), this._leftPanelPercentageWidth = this._convertLeftPanelWidthToPercentage(n) } } }, { key: "_optionChanged", value: function (e) { switch (e.name) { case "initialLeftPanelWidth": this._leftPanelPercentageWidth = this._convertLeftPanelWidthToPercentage(e.value), this._dimensionChanged(); break; case "leftElement": this.repaint(); break; default: g(y(l.prototype), "_optionChanged", this).call(this, e) } } }, { key: "_convertLeftPanelWidthToPercentage", value: function (e) { return e / this._$container.get(0).clientWidth * 100 } }]) && p(t.prototype, n), i && p(t, i), l }(o.default); t.default = D, e.exports = t.default }, function (e, t, n) { "use strict"; function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } t.GanttDialog = void 0; var a = r(n(47)), o = r(n(165)); n(511); var s = r(n(10)); function r(e) { return e && e.__esModule ? e : { default: e } } function l(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && d(e, t) } function d(e, t) { return (d = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function c(e) { var t = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } }(); return function () { var n, i = h(e); if (t) { var a = h(this).constructor; n = Reflect.construct(i, arguments, a) } else n = i.apply(this, arguments); return u(this, n) } } function u(e, t) { return !t || "object" !== i(t) && "function" != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e }(e) : t } function h(e) { return (h = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function f(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function p(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function g(e, t, n) { return t && p(e.prototype, t), n && p(e, n), e } var m = function () { function e(t, n) { f(this, e), this._popupInstance = t._createComponent(n, a.default), this.infoMap = { TaskEdit: v, Resources: y, Confirmation: w, ConstraintViolation: x } } return g(e, [{ key: "_apply", value: function () { var e = this._dialogInfo.getResult(); this._callback(e), this.hide() } }, { key: "show", value: function (e, t, n, i, a) { this._callback = n, this._afterClosing = i, this.infoMap[e] && (this._dialogInfo = new this.infoMap[e](t, this._apply.bind(this), this.hide.bind(this), a), this._popupInstance.option({ showTitle: !!this._dialogInfo.getTitle(), title: this._dialogInfo.getTitle(), toolbarItems: this._dialogInfo.getToolbarItems(), maxWidth: this._dialogInfo.getMaxWidth(), height: this._dialogInfo.getHeight(), contentTemplate: this._dialogInfo.getContentTemplate() }), this._popupInstance.show()) } }, { key: "hide", value: function () { this._popupInstance.hide(), this._afterClosing && this._afterClosing() } }]), e }(); t.GanttDialog = m; var _ = function () { function e(t, n, i, a) { f(this, e), this._parameters = t, this._applyAction = n, this._hideAction = i, this._editingOptions = a } return g(e, [{ key: "_getFormItems", value: function () { return {} } }, { key: "_getFormCssClass", value: function () { return "" } }, { key: "_getFormData", value: function () { return this._parameters } }, { key: "_updateParameters", value: function () { } }, { key: "_getOkToolbarItem", value: function () { return this._getToolbarItem("OK", this._applyAction) } }, { key: "_getCancelToolbarItem", value: function () { return this._getToolbarItem("Cancel", this._hideAction) } }, { key: "_getYesToolbarItem", value: function () { return this._getToolbarItem("Yes", this._applyAction) } }, { key: "_getNoToolbarItem", value: function () { return this._getToolbarItem("No", this._hideAction) } }, { key: "_getToolbarItem", value: function (e, t) { return { widget: "dxButton", toolbar: "bottom", options: { text: s.default.format(e), onClick: t } } } }, { key: "getTitle", value: function () { return "" } }, { key: "getToolbarItems", value: function () { return this._editingOptions.enabled ? [this._getOkToolbarItem(), this._getCancelToolbarItem()] : [this._getCancelToolbarItem()] } }, { key: "getMaxWidth", value: function () { return 400 } }, { key: "getHeight", value: function () { return "auto" } }, { key: "getContentTemplate", value: function () { var e = this; return function (t) { return e._form = new o.default(t, { formData: e._getFormData(), items: e._getFormItems(), elementAttr: { class: e._getFormCssClass() } }), t } } }, { key: "getResult", value: function () { var e = this._form && this._form.option("formData"); return this._updateParameters(e), this._parameters } }]), e }(), v = function (e) { l(n, e); var t = c(n); function n() { return f(this, n), t.apply(this, arguments) } return g(n, [{ key: "getTitle", value: function () { return s.default.format("dxGantt-dialogTaskDetailsTitle") } }, { key: "_getFormItems", value: function () { var e = this, t = !this._editingOptions.enabled || !this._editingOptions.allowTaskUpdating, n = t || !this._parameters.enableRangeEdit; return [{ dataField: "title", editorType: "dxTextBox", label: { text: s.default.format("dxGantt-dialogTitle") }, editorOptions: { readOnly: t || this._isReadOnlyField("title") }, visible: !this._isHiddenField("title") }, { dataField: "start", editorType: "dxDateBox", label: { text: s.default.format("dxGantt-dialogStartTitle") }, editorOptions: { type: "datetime", width: "100%", readOnly: n || this._isReadOnlyField("start") }, visible: !this._isHiddenField("start") }, { dataField: "end", editorType: "dxDateBox", label: { text: s.default.format("dxGantt-dialogEndTitle") }, editorOptions: { type: "datetime", width: "100%", readOnly: n || this._isReadOnlyField("end") }, visible: !this._isHiddenField("end") }, { dataField: "progress", editorType: "dxNumberBox", label: { text: s.default.format("dxGantt-dialogProgressTitle") }, editorOptions: { showSpinButtons: !0, min: 0, max: 1, format: "#0%", step: .01, readOnly: n || this._isReadOnlyField("progress") }, visible: !this._isHiddenField("progress") }, { dataField: "assigned.items", editorType: "dxTagBox", label: { text: s.default.format("dxGantt-dialogResourcesTitle") }, editorOptions: { readOnly: t || !this._editingOptions.allowTaskResourceUpdating, dataSource: this._parameters.resources.items, displayExpr: "text", buttons: [{ name: "editResources", location: "after", options: { disabled: !this._editingOptions.allowResourceAdding && !this._editingOptions.allowResourceDeleting, text: "...", hint: s.default.format("dxGantt-dialogEditResourceListHint"), onClick: function () { e._parameters.showResourcesDialogCommand.execute((function () { e._parameters.showTaskEditDialogCommand.execute() })) } } }] } }] } }, { key: "_isReadOnlyField", value: function (e) { return this._parameters.readOnlyFields.indexOf(e) > -1 } }, { key: "_isHiddenField", value: function (e) { return this._parameters.hiddenFields.indexOf(e) > -1 } }, { key: "_getFormData", value: function () { var e = {}; for (var t in this._parameters) e[t] = "progress" === t ? this._parameters[t] / 100 : this._parameters[t]; return e } }, { key: "_updateParameters", value: function (e) { this._parameters.title = e.title, this._parameters.start = e.start, this._parameters.end = e.end, this._parameters.progress = 100 * e.progress, this._parameters.assigned = e.assigned } }]), n }(_), y = function (e) { l(n, e); var t = c(n); function n() { return f(this, n), t.apply(this, arguments) } return g(n, [{ key: "getTitle", value: function () { return s.default.format("dxGantt-dialogResourceManagerTitle") } }, { key: "_getFormItems", value: function () { var e = this; return [{ label: { visible: !1 }, dataField: "resources.items", editorType: "dxList", editorOptions: { allowItemDeleting: this._editingOptions.enabled && this._editingOptions.allowResourceDeleting, itemDeleteMode: "static", selectionMode: "none", items: this._parameters.resources.items, height: 250, noDataText: s.default.format("dxGantt-dialogEditNoResources"), onInitialized: function (t) { e.list = t.component }, onItemDeleted: function (t) { e._parameters.resources.remove(t.itemData) } } }, { label: { visible: !1 }, editorType: "dxTextBox", editorOptions: { readOnly: !this._editingOptions.enabled || !this._editingOptions.allowResourceAdding, onInitialized: function (t) { e.textBox = t.component }, onInput: function (e) { var t = e.component.getButton("addResource"), n = e.component.option("text"); t.option("disabled", 0 === n.length) }, buttons: [{ name: "addResource", location: "after", options: { text: s.default.format("dxGantt-dialogButtonAdd"), disabled: !0, onClick: function (t) { var n = e._parameters.resources.createItem(); n.text = e.textBox.option("text"), e._parameters.resources.add(n), e.list.option("items", e._parameters.resources.items), e.list.scrollToItem(n), e.textBox.reset(), t.component.option("disabled", !0) } } }] } }] } }]), n }(_), w = function (e) { l(n, e); var t = c(n); function n() { return f(this, n), t.apply(this, arguments) } return g(n, [{ key: "getContentTemplate", value: function () { var e = this; return function (t) { return e._getConfirmMessage() } } }, { key: "_getConfirmMessage", value: function () { switch (this._parameters.type) { case 0: return s.default.format("dxGantt-dialogTaskDeleteConfirmation"); case 1: return s.default.format("dxGantt-dialogDependencyDeleteConfirmation"); case 2: return s.default.format("dxGantt-dialogResourcesDeleteConfirmation", this._parameters.message); default: return "" } } }, { key: "getToolbarItems", value: function () { return [this._getYesToolbarItem(), this._getNoToolbarItem()] } }]), n }(_), x = function (e) { l(n, e); var t = c(n); function n() { return f(this, n), t.apply(this, arguments) } return g(n, [{ key: "_getFormItems", value: function () { var e = []; return e.push({ text: s.default.format("dxGantt-dialogCancelOperationMessage"), value: 0 }), e.push({ text: s.default.format("dxGantt-dialogDeleteDependencyMessage"), value: 1 }), this._parameters.validationError.critical || e.push({ text: s.default.format("dxGantt-dialogMoveTaskAndKeepDependencyMessage"), value: 2 }), [{ template: this._parameters.validationError.critical ? s.default.format("dxGantt-dialogConstraintCriticalViolationMessage") : s.default.format("dxGantt-dialogConstraintViolationMessage") }, { cssClass: "dx-cv-dialog-row", dataField: "option", label: { visible: !1 }, editorType: "dxRadioGroup", editorOptions: { items: e, valueExpr: "value", value: 0 } }] } }, { key: "_getFormCssClass", value: function () { return "dx-cv-dialog" } }, { key: "_updateParameters", value: function (e) { this._parameters.option = e.option } }]), n }(_) }, function (e, t, n) { "use strict"; t.default = void 0; var i = E(n(2)), a = E(n(12)), o = n(39), s = E(n(5)), r = E(n(11)), l = n(4), d = n(208), c = n(6), u = n(28), h = n(18), f = n(0), p = n(7), g = n(1), m = n(14), _ = n(3), v = E(n(10)), y = n(8), w = n(19), x = E(n(211)), b = n(53), C = E(n(512)), k = E(n(133)), I = n(70), S = n(513); function E(e) { return e && e.__esModule ? e : { default: e } } function D(e) { return (D = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } var T = k.default.inherit({ _supportedKeys: function () { var e = this, t = this.callBase(), n = function (t) { return e._list._keyboardHandler(t) }, i = this.option("rtlEnabled"); return (0, g.extend)({}, t, { backspace: function (e) { if (this._isCaretAtTheStart()) { this._processKeyboardEvent(e), this._isTagRemoved = !0; var t = this._$focusedTag || this._tagElements().last(); this._$focusedTag && this._moveTagFocus("prev", !0), 0 !== t.length && (this._preserveFocusedTag = !0, this._removeTagElement(t), delete this._preserveFocusedTag) } }, upArrow: function (i, a) { return i.altKey || !e._list ? t.upArrow.call(e, i) : n(a) }, downArrow: function (i, a) { return i.altKey || !e._list ? t.downArrow.call(e, i) : n(a) }, del: function (e) { if (this._$focusedTag && this._isCaretAtTheStart()) { this._processKeyboardEvent(e), this._isTagRemoved = !0; var t = this._$focusedTag; this._moveTagFocus("next", !0), this._preserveFocusedTag = !0, this._removeTagElement(t), delete this._preserveFocusedTag } }, enter: function (e, t) { var i = this._list && null !== this._list.option("focusedElement"); if (this.option("acceptCustomValue") && !i) return e.preventDefault(), void ("" !== this._searchValue() && this._customItemAddedHandler(e)); this.option("opened") && (this._saveValueChangeEvent(e), n(t), e.preventDefault()) }, space: function (e, t) { var i = this.option("opened"), a = this._shouldRenderSearchEvent(); i && !a && (this._saveValueChangeEvent(e), n(t), e.preventDefault()) }, leftArrow: function (e) { if (!(!this._isCaretAtTheStart() || this._isEmpty() || this._isEditable() && i && !this._$focusedTag)) { e.preventDefault(); var t = i ? "next" : "prev"; this._moveTagFocus(t), !this.option("multiline") && this._scrollContainer(t) } }, rightArrow: function (e) { if (this._isCaretAtTheStart() && !this._isEmpty() && (!this._isEditable() || i || this._$focusedTag)) { e.preventDefault(); var t = i ? "prev" : "next"; this._moveTagFocus(t), !this.option("multiline") && this._scrollContainer(t) } } }) }, _processKeyboardEvent: function (e) { e.preventDefault(), e.stopPropagation(), this._saveValueChangeEvent(e) }, _isEmpty: function () { return 0 === this._getValue().length }, _updateTagsContainer: function (e) { this._$tagsContainer = e.addClass("dx-tag-container").addClass("dx-native-click"), this._$tagsContainer.parent().addClass("dx-native-click") }, _allowSelectItemByTab: function () { return !1 }, _isCaretAtTheStart: function () { var e = (0, x.default)(this._input()); return 0 === e.start && 0 === e.end }, _moveTagFocus: function (e, t) { if (!this._$focusedTag) { var n = this._tagElements(); return this._$focusedTag = "next" === e ? n.first() : n.last(), void this._toggleFocusClass(!0, this._$focusedTag) } var i = this._$focusedTag[e](".".concat("dx-tag")); i.length > 0 ? this._replaceFocusedTag(i) : (t || "next" === e && this._isEditable()) && this._clearTagFocus() }, _replaceFocusedTag: function (e) { this._toggleFocusClass(!1, this._$focusedTag), this._$focusedTag = e, this._toggleFocusClass(!0, this._$focusedTag) }, _clearTagFocus: function () { this._$focusedTag && (this._toggleFocusClass(!1, this._$focusedTag), delete this._$focusedTag) }, _focusClassTarget: function (e) { return e && e.length && e[0] !== this._focusTarget()[0] ? e : this.callBase() }, _scrollContainer: function (e) { if (!this.option("multiline") && (0, p.hasWindow)() && this._$tagsContainer) { var t = this._getScrollPosition(e); this._$tagsContainer.scrollLeft(t) } }, _getScrollPosition: function (e) { return "start" === e || "end" === e ? this._getBorderPosition(e) : this._$focusedTag ? this._getFocusedTagPosition(e) : this._getBorderPosition("end") }, _getBorderPosition: function (e) { var t = this.option("rtlEnabled"), n = "end" === e ^ t, i = (0, C.default)(), a = t && i.decreasing ^ i.positive, o = !t || i.positive ? 1 : -1; return n ^ !a ? 0 : o * (this._$tagsContainer.get(0).scrollWidth - this._$tagsContainer.outerWidth()) }, _getFocusedTagPosition: function (e) { var t = this.option("rtlEnabled"), n = "next" === e ^ t, i = this._$focusedTag.position().left, a = this._$tagsContainer.scrollLeft(); if (n && (i += this._$focusedTag.outerWidth(!0) - this._$tagsContainer.outerWidth()), n ^ i < 0) { var o = (0, C.default)(); a += i * (t && !o.decreasing && o.positive ? -1 : 1) } return a }, _setNextValue: l.noop, _getDefaultOptions: function () { return (0, g.extend)(this.callBase(), { value: [], showDropDownButton: !1, maxFilterLength: 1500, tagTemplate: "tag", selectAllText: v.default.format("dxList-selectAll"), hideSelectedItems: !1, selectedItems: [], selectAllMode: "page", onSelectAllValueChanged: null, maxDisplayedTags: void 0, showMultiTagOnly: !0, onMultiTagPreparing: null, multiline: !0, useSubmitBehavior: !0 }) }, _init: function () { this.callBase(), this._selectedItems = [], this._initSelectAllValueChangedAction() }, _initActions: function () { this.callBase(), this._initMultiTagPreparingAction() }, _initMultiTagPreparingAction: function () { this._multiTagPreparingAction = this._createActionByOption("onMultiTagPreparing", { beforeExecute: function (e) { this._multiTagPreparingHandler(e.args[0]) }.bind(this), excludeValidators: ["disabled", "readOnly"] }) }, _multiTagPreparingHandler: function (e) { var t = this._getValue().length; this.option("showMultiTagOnly") ? e.text = v.default.getFormatter("dxTagBox-selected")(t) : e.text = v.default.getFormatter("dxTagBox-moreSelected")(t - this.option("maxDisplayedTags") + 1) }, _initDynamicTemplates: function () { this.callBase(), this._templateManager.addDefaultTemplates({ tag: new I.BindableTemplate((function (e, t) { var n = (0, i.default)("<div>").addClass("dx-tag-content"); (0, i.default)("<span>").text(t.text || t).appendTo(n), (0, i.default)("<div>").addClass("dx-tag-remove-button").appendTo(n), e.append(n) }), ["text"], this.option("integrationOptions.watchMethod"), { text: this._displayGetter }) }) }, _toggleSubmitElement: function (e) { e ? (this._renderSubmitElement(), this._setSubmitValue()) : (this._$submitElement && this._$submitElement.remove(), delete this._$submitElement) }, _renderSubmitElement: function () { this.option("useSubmitBehavior") && (this._$submitElement = (0, i.default)("<select>").attr("multiple", "multiple").css("display", "none").appendTo(this.$element())) }, _setSubmitValue: function () { if (this.option("useSubmitBehavior")) { for (var e = this._getValue(), t = [], n = 0, a = e.length; n < a; n++) { var o = this._shouldUseDisplayValue(e[n]); t.push((0, i.default)("<option>").val(o ? this._displayGetter(e[n]) : e[n]).attr("selected", "selected")) } this._getSubmitElement().empty().append(t) } }, _initMarkup: function () { this._tagElementsCache = (0, i.default)(); var e = !this.option("multiline"); this.$element().addClass("dx-tagbox").toggleClass("dx-tagbox-only-select", !(this.option("searchEnabled") || this.option("acceptCustomValue"))).toggleClass("dx-tagbox-single-line", e), this._initTagTemplate(), this.callBase() }, _render: function () { this.callBase(), this._renderTagRemoveAction(), this._renderSingleLineScroll(), this._scrollContainer("start") }, _initTagTemplate: function () { this._tagTemplate = this._getTemplateByOption("tagTemplate") }, _renderField: function () { var e = !(0, f.isDefined)(this.option("fieldTemplate")); this.$element().toggleClass("dx-tagbox-default-template", e).toggleClass("dx-tagbox-custom-template", !e), this.callBase() }, _renderTagRemoveAction: function () { var e = this._createAction(this._removeTagHandler.bind(this)), t = (0, y.addNamespace)(w.name, "dxTagBoxTagRemove"); s.default.off(this._$tagsContainer, t), s.default.on(this._$tagsContainer, t, ".".concat("dx-tag-remove-button"), (function (t) { e({ event: t }) })), this._renderTypingEvent() }, _renderSingleLineScroll: function () { var e = (0, y.addNamespace)("dxmousewheel", this.NAME), t = this.$element(), n = this.option("multiline"); s.default.off(t, e), "desktop" === a.default.real().deviceType ? n || s.default.on(t, e, this._tagContainerMouseWheelHandler.bind(this)) : this._$tagsContainer && this._$tagsContainer.css("overflowX", n ? "" : "auto") }, _tagContainerMouseWheelHandler: function (e) { var t = this._$tagsContainer.scrollLeft(), n = -.3 * e.delta; if ((0, S.allowScroll)(this._$tagsContainer, n, !0)) return this._$tagsContainer.scrollLeft(t + n), !1 }, _renderTypingEvent: function () { var e = this; s.default.on(this._input(), (0, y.addNamespace)("keydown", this.NAME), (function (t) { var n = (0, y.normalizeKeyName)(t); !e._isControlKey(n) && e._isEditable() && e._clearTagFocus() })) }, _popupWrapperClass: function () { return this.callBase() + " dx-tagbox-popup-wrapper" }, _renderInput: function () { this.callBase(), this._renderPreventBlur(this._inputWrapper()) }, _renderInputValueImpl: function () { return this._renderMultiSelect() }, _loadInputValue: function () { return (0, c.when)() }, _clearTextValue: function () { this._input().val(""), this._toggleEmptinessEventHandler(), this.option("text", "") }, _focusInHandler: function (e) { this._preventNestedFocusEvent(e) || this._scrollContainer("end"), this.callBase(e) }, _renderInputValue: function () { return this.option("displayValue", this._searchValue()), this.callBase() }, _restoreInputText: function (e) { e || this._clearTextValue() }, _focusOutHandler: function (e) { this._preventNestedFocusEvent(e) || (this._clearTagFocus(), this._scrollContainer("start")), this.callBase(e) }, _getFirstPopupElement: function () { return this.option("showSelectionControls") ? this._list.$element() : this.callBase() }, _initSelectAllValueChangedAction: function () { this._selectAllValueChangeAction = this._createActionByOption("onSelectAllValueChanged") }, _renderList: function () { var e = this; this.callBase(), this._setListDataSourceFilter(), this.option("showSelectionControls") && (this._list.registerKeyHandler("tab", (function (t) { return e._popupElementTabHandler(t) })), this._list.registerKeyHandler("escape", (function (t) { return e._popupElementEscHandler(t) }))) }, _canListHaveFocus: function () { return "useButtons" === this.option("applyValueMode") }, _listConfig: function () { var e = this, t = this.option("showSelectionControls") ? "all" : "multiple"; return (0, g.extend)(this.callBase(), { selectionMode: t, selectAllText: this.option("selectAllText"), onSelectAllValueChanged: function (t) { var n = t.value; e._selectAllValueChangeAction({ value: n }) }, selectAllMode: this.option("selectAllMode"), selectedItems: this._selectedItems, onFocusedItemChanged: null }) }, _renderMultiSelect: function () { var e = this, t = new c.Deferred; return this._updateTagsContainer(this._$textEditorInputContainer), this._renderInputSize(), this._renderTags().done((function () { e._popup && e._popup.refreshPosition(), t.resolve() })).fail(t.reject), t.promise() }, _listItemClickHandler: function (e) { !this.option("showSelectionControls") && this._clearTextValue(), "useButtons" !== this.option("applyValueMode") && (this.callBase(e), this._saveValueChangeEvent(void 0)) }, _shouldClearFilter: function () { var e = this.callBase(); return !this.option("showSelectionControls") && e }, _renderInputSize: function () { var e = this._input(), t = e.val(), n = (0, f.isString)(t) && t, i = "", a = "", o = this.option("searchEnabled") || this.option("acceptCustomValue"); if (n && o) { var s = (0, u.createTextElementHiddenCopy)(e, t, { includePaddings: !0 }); s.insertAfter(e), i = s.outerWidth() + 5, s.remove() } else t || (a = 1); e.css("width", i), e.attr("size", a) }, _renderInputSubstitution: function () { this.callBase(), this._renderInputSize() }, _getValue: function () { return this.option("value") || [] }, _multiTagRequired: function () { var e = this._getValue(), t = this.option("maxDisplayedTags"); return (0, f.isDefined)(t) && e.length > t }, _renderMultiTag: function (e) { var t = (0, i.default)("<div>").addClass("dx-tag").addClass("dx-tagbox-multi-tag"), n = { multiTagElement: (0, h.getPublicElement)(t), selectedItems: this.option("selectedItems") }; return this._multiTagPreparingAction(n), !n.cancel && (t.data("dxTagData", n.text), t.insertBefore(e), this._tagTemplate.render({ model: n.text, container: (0, h.getPublicElement)(t) }), t) }, _getFilteredItems: function (e) { var t = this, n = new d.SelectionFilterCreator(e), i = this._list && this._list.option("selectedItems") || this.option("selectedItems"), a = n.getLocalFilter(this._valueGetter), o = i.filter(a), s = o.length === e.length, r = new c.Deferred; if (!this._isDataSourceChanged && s) return r.resolve(o).promise(); var l = this._dataSource, u = l.filter(), h = n.getCombinedFilter(this.option("valueExpr"), u), f = encodeURI(JSON.stringify(h)).length > this.option("maxFilterLength") ? void 0 : h, p = l.loadOptions(), g = p.customQueryParams, m = p.expand; return l.store().load({ filter: f, customQueryParams: g, expand: m }).done((function (e, n) { if (t._isDataSourceChanged = !1, t._disposed) r.reject(); else { var i = (0, b.normalizeLoadResult)(e, n).data, o = l._applyMapFunction(i); r.resolve(o.filter(a)) } })).fail(r.reject), r.promise() }, _createTagsData: function (e, t) { var n = this, i = [], a = {}, o = "this" === this._valueGetterExpr(), s = {}; t.forEach((function (e) { var t = o ? JSON.stringify(e) : n._valueGetter(e); s[t] = e })); var r = []; e.forEach((function (e, t) { var l = s[o ? JSON.stringify(e) : e]; if (o && !(0, f.isDefined)(l)) r.push(n._loadItem(e, a).always((function (a) { var o = n._createTagData(i, a, e, t); i.splice(t, 0, o) }))); else { var d = n._createTagData(i, l, e, t); i.splice(t, 0, d) } })); var l = new c.Deferred; return c.when.apply(this, r).always((function () { l.resolve(i) })), l.promise() }, _createTagData: function (e, t, n, i) { if ((0, f.isDefined)(t)) return this._selectedItems.push(t), t; var a = this.option("selectedItem"); return this._valueGetter(a) === n ? a : n }, _isGroupedData: function () { return this.option("grouped") && !this._dataSource.group() }, _getItemsByValues: function (e) { var t = []; return e.forEach(function (e) { var n = this._getItemFromPlain(e); (0, f.isDefined)(n) && t.push(n) }.bind(this)), t }, _getFilteredGroupedItems: function (e) { var t = new c.Deferred; return this._dataSource.items().length ? t.resolve(this._getItemsByValues(e)) : this._dataSource.load().done(function () { t.resolve(this._getItemsByValues(e)) }.bind(this)).fail(t.resolve([])), t.promise() }, _loadTagsData: function () { var e = this, t = this._getValue(), n = new c.Deferred; return this._selectedItems = [], (this._isGroupedData() ? this._getFilteredGroupedItems(t) : this._getFilteredItems(t)).done((function (i) { e._createTagsData(t, i).always((function (e) { n.resolve(e) })) })).fail(n.reject.bind(this)), n.promise() }, _renderTags: function () { var e = this, t = new c.Deferred, n = !1; return this._shouldGetItemsFromPlain(this._valuesToUpdate) && (this._selectedItems = this._getItemsFromPlain(this._valuesToUpdate), this._selectedItems.length === this._valuesToUpdate.length && (this._renderTagsImpl(this._selectedItems), n = !0, t.resolve())), n || this._loadTagsData().done((function (n) { e._disposed ? t.reject() : (e._renderTagsImpl(n), t.resolve()) })).fail(t.reject), t.promise() }, _renderTagsImpl: function (e) { this._renderTagsCore(e), this._renderEmptyState(), this._preserveFocusedTag || this._clearTagFocus() }, _shouldGetItemsFromPlain: function (e) { return e && this._dataSource.isLoaded() && e.length <= this._getPlainItems().length }, _getItemsFromPlain: function (e) { var t = this; return this._getPlainItems().filter((function (n) { for (var i, a = 0; a < e.length; a++)if (i = e[a], (0, f.isObject)(i)) { if (t._isValueEquals(n, i)) return !0 } else if (t._isValueEquals(t._valueGetter(n), i)) return !0; return !1 }), this) }, _integrateInput: function () { this.callBase(), this._updateTagsContainer((0, i.default)(".".concat("dx-texteditor-input-container"))), this._renderTagRemoveAction() }, _renderTagsCore: function (e) { var t = this; this._renderField(), this.option("selectedItems", this._selectedItems.slice()), this._cleanTags(); var n = this._multiTagRequired() && this._renderMultiTag(this._input()), i = this.option("showMultiTagOnly"), a = this.option("maxDisplayedTags"); e.forEach((function (e, o) { if (n && i || n && !i && o - a >= -1) return !1; t._renderTag(e, n || t._input()) })), this._isFocused() && this._scrollContainer("end"), this._refreshTagElements() }, _cleanTags: function () { if (this._multiTagRequired()) this._tagElements().remove(); else { var e = this._tagElements(), t = this._getValue(); (0, _.each)(e, (function (e, n) { var a = (0, i.default)(n); (0, m.inArray)(a.data("dxTagData"), t) < 0 && a.remove() })) } }, _renderEmptyState: function () { var e = !(this._getValue().length || this._selectedItems.length || this._searchValue()); this._toggleEmptiness(e), this._renderDisplayText() }, _renderDisplayText: function () { this._renderInputSize() }, _refreshTagElements: function () { this._tagElementsCache = this.$element().find(".".concat("dx-tag")) }, _tagElements: function () { return this._tagElementsCache }, _applyTagTemplate: function (e, t) { this._tagTemplate.render({ model: e, container: (0, h.getPublicElement)(t) }) }, _renderTag: function (e, t) { var n = this._valueGetter(e); if ((0, f.isDefined)(n)) { var i = this._getTag(n), a = this._displayGetter(e), o = this._getItemModel(e, a); i ? ((0, f.isDefined)(a) && (i.empty(), this._applyTagTemplate(o, i)), i.removeClass("dx-tag-custom")) : (i = this._createTag(n, t), (0, f.isDefined)(e) ? this._applyTagTemplate(o, i) : (i.addClass("dx-tag-custom"), this._applyTagTemplate(n, i))) } }, _getItemModel: function (e, t) { return (0, f.isObject)(e) && t ? e : (0, l.ensureDefined)(t, "") }, _getTag: function (e) { for (var t = this._tagElements(), n = t.length, a = !1, s = 0; s < n; s++) { var r = t[s], d = (0, o.data)(r, "dxTagData"); if (e === d || (0, l.equalByValue)(e, d)) { a = (0, i.default)(r); break } } return a }, _createTag: function (e, t) { return (0, i.default)("<div>").addClass("dx-tag").data("dxTagData", e).insertBefore(t) }, _toggleEmptinessEventHandler: function () { this._toggleEmptiness(!this._getValue().length && !this._searchValue().length) }, _customItemAddedHandler: function (e) { this.callBase(e), this._clearTextValue() }, _removeTagHandler: function (e) { var t = e.event; t.stopPropagation(), this._saveValueChangeEvent(t); var n = (0, i.default)(t.target).closest(".".concat("dx-tag")); this._removeTagElement(n) }, _removeTagElement: function (e) { if (e.hasClass("dx-tagbox-multi-tag")) this.option("showMultiTagOnly") ? this.reset() : this.option("value", this._getValue().slice(0, this.option("maxDisplayedTags"))); else { var t = e.data("dxTagData"); this._removeTagWithUpdate(t), this._refreshTagElements() } }, _updateField: l.noop, _removeTagWithUpdate: function (e) { var t = this._getValue().slice(); this._removeTag(t, e), this.option("value", t), 0 === t.length && this._clearTagFocus() }, _getCurrentValue: function () { return this._lastValue() }, _selectionChangeHandler: function (e) { var t = this; if ("useButtons" !== this.option("applyValueMode")) { var n = this._getValue().slice(); if ((0, _.each)(e.removedItems || [], (function (e, i) { t._removeTag(n, t._valueGetter(i)) })), (0, _.each)(e.addedItems || [], (function (e, i) { t._addTag(n, t._valueGetter(i)) })), this._updateWidgetHeight(), !(0, l.equalByValue)(this._list.option("selectedItemKeys"), this.option("value"))) { var i = this._list._getSelectionChangeEvent(); i && this._saveValueChangeEvent(i), this.option("value", n) } this._list._saveSelectionChangeEvent(void 0) } }, _removeTag: function (e, t) { var n = this._valueIndex(t, e); n >= 0 && e.splice(n, 1) }, _addTag: function (e, t) { this._valueIndex(t) < 0 && e.push(t) }, _fieldRenderData: function () { return this._selectedItems.slice() }, _completeSelection: function (e) { this.option("showSelectionControls") || this._setValue(e) }, _setValue: function (e) { if (null !== e) { var t = "useButtons" === this.option("applyValueMode"), n = this._valueIndex(e), i = (t ? this._list.option("selectedItemKeys") : this._getValue()).slice(); n >= 0 ? i.splice(n, 1) : i.push(e), "useButtons" === this.option("applyValueMode") ? this._list.option("selectedItemKeys", i) : this.option("value", i) } }, _isSelectedValue: function (e, t) { return this._valueIndex(e, null, t) > -1 }, _valueIndex: function (e, t, n) { var i = this, a = -1; return n && "object" !== D(e) && (n.indexByValues || (n.indexByValues = {}, (t = t || this._getValue()).forEach((function (e, t) { n.indexByValues[e] = t }))), e in n.indexByValues) ? n.indexByValues[e] : (t = t || this._getValue(), (0, _.each)(t, (function (t, n) { if (i._isValueEquals(e, n)) return a = t, !1 })), a) }, _lastValue: function () { var e = this._getValue(), t = e[e.length - 1]; return (0, f.isDefined)(t) ? t : null }, _valueChangeEventHandler: l.noop, _shouldRenderSearchEvent: function () { return this.option("searchEnabled") || this.option("acceptCustomValue") }, _searchHandler: function (e) { this.option("searchEnabled") && e && !this._isTagRemoved && (this.callBase(e), this._setListDataSourceFilter()), this._updateWidgetHeight(), delete this._isTagRemoved }, _updateWidgetHeight: function () { var e = this.$element(), t = e.height(); this._renderInputSize(); var n = e.height(); this._popup && this.option("opened") && this._isEditable() && n !== t && this._popup.repaint() }, _refreshSelected: function () { var e; (null === (e = this._list) || void 0 === e ? void 0 : e.getDataSource()) && this._list.option("selectedItems", this._selectedItems) }, _resetListDataSourceFilter: function () { var e = this._getDataSource(); e && (delete this._userFilter, e.filter(null), e.reload()) }, _setListDataSourceFilter: function () { if (this.option("hideSelectedItems") && this._list) { var e = this._getDataSource(); if (e) { var t = this._valueGetterExpr(); if ((0, f.isString)(t) && "this" !== t) { var n = this._dataSourceFilterExpr(); void 0 === this._userFilter && (this._userFilter = e.filter() || null), this._userFilter && n.push(this._userFilter), n.length ? e.filter(n) : e.filter(null) } else e.filter(this._dataSourceFilterFunction.bind(this)); e.load() } } }, _dataSourceFilterExpr: function () { var e = this, t = []; return (0, _.each)(this._getValue(), (function (n, i) { t.push(["!", [e._valueGetterExpr(), i]]) })), t }, _dataSourceFilterFunction: function (e) { var t = this, n = this._valueGetter(e), i = !0; return (0, _.each)(this._getValue(), (function (e, a) { if (t._isValueEquals(a, n)) return i = !1, !1 })), i }, _dataSourceChangedHandler: function () { this._list && (this._isDataSourceChanged = !0), this.callBase.apply(this, arguments) }, _applyButtonHandler: function () { this.option("value", this._getSortedListValues()), this._clearTextValue(), this._clearFilter(), this.callBase() }, _getSortedListValues: function () { var e = this._getListValues(), t = this.option("value") || [], n = e.length ? t.filter((function (t) { return -1 !== e.indexOf(t) })) : [], i = n.length ? e.filter((function (e) { return -1 === t.indexOf(e) })) : e; return n.concat(i) }, _getListValues: function () { var e = this; if (!this._list) return []; var t = this._getPlainItems(this._list.option("selectedItems")), n = []; return (0, _.each)(t, (function (t, i) { n[t] = e._valueGetter(i) })), n }, _setListDataSource: function () { var e = this._getValue(); this.callBase(), e !== this.option("value") && this.option("value", e), this._refreshSelected() }, _renderOpenedState: function () { this.callBase(), "useButtons" !== this.option("applyValueMode") || this.option("opened") || this._refreshSelected() }, reset: function () { this._restoreInputText(); var e = this._getDefaultOptions().value, t = this.option("value"); e && 0 === e.length && t && e.length === t.length || this.callBase() }, _clean: function () { this.callBase(), delete this._defaultTagTemplate, delete this._valuesToUpdate, delete this._tagTemplate }, _removeDuplicates: function (e, t) { var n = this, i = []; return (0, _.each)(e, (function (e, a) { t.filter((function (e) { return n._valueGetter(a) === n._valueGetter(e) })).length || i.push(a) })), i }, _optionChanged: function (e) { switch (e.name) { case "onSelectAllValueChanged": this._initSelectAllValueChangedAction(); break; case "onMultiTagPreparing": this._initMultiTagPreparingAction(), this._renderTags(); break; case "hideSelectedItems": e.value ? this._setListDataSourceFilter() : this._resetListDataSourceFilter(); break; case "useSubmitBehavior": this._toggleSubmitElement(e.value); break; case "displayExpr": this.callBase(e), this._initTemplates(), this._invalidate(); break; case "tagTemplate": this._initTagTemplate(), this._invalidate(); break; case "selectAllText": this._setListOption("selectAllText", this.option("selectAllText")); break; case "value": this._valuesToUpdate = null == e ? void 0 : e.value, this.callBase(e), this._valuesToUpdate = void 0, this._setListDataSourceFilter(); break; case "maxDisplayedTags": case "showMultiTagOnly": this._renderTags(); break; case "selectAllMode": this._setListOption(e.name, e.value); break; case "selectedItem": break; case "selectedItems": this._selectionChangedAction({ addedItems: this._removeDuplicates(e.value, e.previousValue), removedItems: this._removeDuplicates(e.previousValue, e.value) }); break; case "multiline": this.$element().toggleClass("dx-tagbox-single-line", !e.value), this._renderSingleLineScroll(); break; case "maxFilterLength": break; default: this.callBase(e) } }, _getActualSearchValue: function () { return this.callBase() || this._searchValue() }, _popupHidingHandler: function () { this.callBase(), this._clearFilter() } }); (0, r.default)("dxTagBox", T); var A = T; t.default = A, e.exports = t.default, e.exports.default = e.exports }, function (e, t, n) { "use strict"; t.default = void 0; var i = a(n(9)); function a(e) { return e && e.__esModule ? e : { default: e } } var o = (0, a(n(56)).default)((function () { var e = i.default.getDocument(); e.body.insertAdjacentHTML("beforeend", "<div style='direction: rtl;\n       position: absolute; left: 0; top: -1; overflow: hidden; width: 1px;\n       height: 1px;'><div style='width: 2px; height: 1px;'></div></div>"); var t = e.body.lastElementChild, n = t.scrollLeft > 0; t.scrollLeft = -1; var a = t.scrollLeft < 0, o = { decreasing: a || n, positive: !a }; return e.body.removeChild(t), o })); t.default = o, e.exports = t.default }, function (e, t, n) { "use strict"; t.prepareScrollData = t.allowScroll = void 0; var i, a = (i = n(2)) && i.__esModule ? i : { default: i }, o = n(8); var s = function (e, t, n) { var i = (0, a.default)(e), o = n ? i.scrollLeft() : i.scrollTop(), s = n ? "Width" : "Height", r = i.prop("scroll".concat(s)) - i.prop("client".concat(s)) - o; return (0 !== o || 0 !== r) && (!!(0 === o && t >= 0 || 0 === r && t <= 0 || o > 0 && r > 0) || void 0) }; t.allowScroll = s; t.prepareScrollData = function (e, t) { var n = (0, a.default)(e); return { validate: function (i) { if ((0, o.isDxMouseWheelEvent)(i) && (r = i.target, !t || (0, a.default)(r).is(e))) return !!s(n, -i.delta, i.shiftKey) && (i._needSkipEvent = !0, !0); var r } } } }, function (e, t, n) { "use strict"; t.GanttDataCache = void 0; var i = n(1); function a(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } var o = function () { function e() { !function (e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), this._cache = {}, this._timers = {} } var t, n, o; return t = e, (n = [{ key: "saveData", value: function (e, t, n) { if (t) { this._clearTimer(e); var a = this._getCache(e, !0); (0, i.extendFromObject)(a, t, !0), n && this._setExpireTimer(e, n) } } }, { key: "pullDataFromCache", value: function (e, t) { var n = this._getCache(e); n && (0, i.extendFromObject)(t, n), this._onKeyExpired(e) } }, { key: "hasData", value: function (e) { return !!this._cache[e] } }, { key: "_getCache", value: function (e, t) { return !this._cache[e] && t && (this._cache[e] = {}), this._cache[e] } }, { key: "_setExpireTimer", value: function (e, t) { var n = this; this._timers[e] = setTimeout((function () { t(e, n._getCache(e)), n._onKeyExpired(e) }), 200) } }, { key: "_onKeyExpired", value: function (e) { this._clearCache(e), this._clearTimer(e) } }, { key: "_clearCache", value: function (e) { delete this._cache[e] } }, { key: "_clearTimer", value: function (e) { var t = this._timers; t && t[e] && (clearTimeout(t[e]), delete t[e]) } }]) && a(t.prototype, n), o && a(t, o), e }(); t.GanttDataCache = o }, function (e, t, n) { "use strict"; n(114), e.exports = DevExpress.viz = DevExpress.viz || {} }, function (e, t, n) { "use strict"; t.plugin = t.ExportMenu = t.combineMarkups = t.exportWidgets = t.getMarkup = t.exportFromMarkup = void 0; var i = n(1), a = n(7), o = n(167), s = n(139), r = f(n(10)), l = n(0), d = n(136), c = n(107), u = f(n(23)), h = n(94); function f(e) { return e && e.__esModule ? e : { default: e } } var p = [u.default.down, u.default.move].join(" "), g = [[9, 12, 26, 12, 26, 14, 9, 14], [9, 17, 26, 17, 26, 19, 9, 19], [9, 22, 26, 22, 26, 24, 9, 24]], m = ["PNG", "JPEG", "GIF"], _ = ["PDF", "SVG"], v = /data-backgroundcolor="([^"]*)"/; function y() { var e = s.image.testFormats(m); return { unsupported: e.unsupported, supported: e.supported.concat(_) } } function w(e, t, n) { if (n = n || y(), e = String(e).toUpperCase(), -1 !== n.supported.indexOf(e)) return e; -1 !== n.unsupported.indexOf(e) && t && t("W2108", [e]) } function x(e) { return "SVG" === e ? s.svg.getData : "PDF" === e ? s.pdf.getData : s.image.getData } function b(e, t) { var n = (0, a.getWindow)().document, i = n.createElement("iframe"); i.onload = function (e, t) { return function () { var t = this, n = this.contentWindow, i = n.document.createElement("img"); n.document.body.appendChild(i); var a = function () { t.parentElement.removeChild(t) }; i.addEventListener("load", (function () { n.focus(), n.print() })), i.addEventListener("error", a), n.addEventListener("afterprint", (function () { setTimeout(a, 0) })), i.src = e } }(e), i.style.position = "fixed", i.style.width = "0", i.style.height = "0", i.style.right = "0", i.style.bottom = "0", n.body.appendChild(i) } function C(e, t, n) { var i = {}, a = n.type, s = n.format, r = function (e, t, n) { var i = -85, a = 40 + 30 * n, o = { rect: { width: 118, height: 30, x: -84, y: a }, text: { x: i + (e.rtl ? 105 : 15), y: a + 30 - 8 } }; return "printing" === t && (o.separator = { stroke: e.button.default.borderColor, "stroke-width": 1, cursor: "pointer", sharp: "v", d: "M -85 " + (a + 30 - 1) + " L 35 " + (a + 30 - 1) }), o }(t, a, n.itemIndex), l = (0, o.patchFontOptions)(t.font); l["pointer-events"] = "none"; var d = e.g().attr({ class: "dx-export-menu-list-item" }); i["export-element-type"] = a, s && (i["export-element-format"] = s); var u = e.rect(); u.attr(r.rect).css({ cursor: "pointer", "pointer-events": "all" }).data(i), u.on(c.start + ".export", (function () { return u.attr({ fill: t.button.hover.backgroundColor }) })).on(c.end + ".export", (function () { return u.attr({ fill: null }) })), u.append(d); var h = e.text(n.text).css(l).attr(r.text).append(d); return "printing" === a && e.path(null, "line").attr(r.separator).append(d), { g: d, rect: u, resetState: function () { return u.attr({ fill: null }) }, fixPosition: function () { var e = h.getBBox(); h.move(r.text.x - e.x - (t.rtl ? e.width : 0)) } } } var k = function (e, t) { t.format = w(t.format) || "PNG", t.fileName = t.fileName || "file", t.exportingAction = t.onExporting, t.exportedAction = t.onExported, t.fileSavingAction = t.onFileSaving, t.margin = (0, l.isDefined)(t.margin) ? t.margin : 10, t.backgroundColor = (0, l.isDefined)(t.backgroundColor) ? t.backgroundColor : function (e) { var t = v.exec(e); return null == t ? void 0 : t[1] }(e) || (0, d.getTheme)().backgroundColor, (0, s.export)(e, t, x(t.format)) }; t.exportFromMarkup = k; t.getMarkup = function (e) { return I(e).markup }; t.exportWidgets = function (e, t) { var n = I(e, { gridLayout: (t = t || {}).gridLayout, verticalAlignment: t.verticalAlignment, horizontalAlignment: t.horizontalAlignment }); t.width = n.width, t.height = n.height, k(n.markup, t) }; var I = function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; Array.isArray(e) ? Array.isArray(e[0]) || (e = e.map((function (e) { return [e] }))) : e = [[e]]; var n = !t.gridLayout, i = e.reduce((function (e, t, i) { var a = t.reduce((function (e, t, n) { var a = t.getSize(), o = t.option("backgroundColor") || (0, d.getTheme)(t.option("theme")).backgroundColor; return o && -1 === e.backgroundColors.indexOf(o) && e.backgroundColors.push(o), e.hOffset = e.width, e.width += a.width, e.height = Math.max(e.height, a.height), e.itemWidth = Math.max(e.itemWidth, a.width), e.items.push({ markup: t.svg(), width: a.width, height: a.height, c: n, r: i, hOffset: e.hOffset }), e }), { items: [], height: 0, itemWidth: 0, hOffset: 0, width: 0, backgroundColors: e.backgroundColors }); return e.rowOffsets.push(e.totalHeight), e.rowHeights.push(a.height), e.totalHeight += a.height, e.items = e.items.concat(a.items), e.itemWidth = Math.max(e.itemWidth, a.itemWidth), e.maxItemLen = Math.max(e.maxItemLen, a.items.length), e.totalWidth = n ? Math.max(e.totalWidth, a.width) : e.maxItemLen * e.itemWidth, e }), { items: [], rowOffsets: [], rowHeights: [], itemWidth: 0, totalHeight: 0, maxItemLen: 0, totalWidth: 0, backgroundColors: [] }), a = 'data-backgroundcolor="'.concat(1 === i.backgroundColors.length ? i.backgroundColors[0] : "", '" '), o = function (e) { var n = t.verticalAlignment, a = i.rowHeights[e.r] - e.height; return i.rowOffsets[e.r] + ("bottom" === n ? a : "center" === n ? a / 2 : 0) }, s = function (e) { if (n) return e.hOffset; var a = t.horizontalAlignment, o = i.itemWidth, s = o - e.width; return e.c * o + ("right" === a ? s : "center" === a ? s / 2 : 0) }, r = i.totalHeight, l = i.totalWidth; return { markup: "<svg " + a + 'height="' + r + '" width="' + l + '" version="1.1" xmlns="http://www.w3.org/2000/svg">' + i.items.map((function (e) { return '<g transform="translate('.concat(s(e), ",").concat(o(e), ')">').concat(e.markup, "</g>") })).join("") + "</svg>", width: l, height: r } }; t.combineMarkups = I; var S = function (e) { var t = this._renderer = e.renderer; this._incidentOccurred = e.incidentOccurred, this._exportTo = e.exportTo, this._print = e.print, this._shadow = t.shadowFilter("-50%", "-50%", "200%", "200%", 2, 6, 3), this._shadow.attr({ opacity: .8 }), this._group = t.g().attr({ class: "dx-export-menu", "hidden-for-export": !0 }).linkOn(t.root, { name: "export-menu", after: "peripheral" }), this._buttonGroup = t.g().attr({ class: "dx-export-menu-button" }).append(this._group), this._listGroup = t.g().attr({ class: "dx-export-menu-list" }).append(this._group), this._overlay = t.rect(-85, 39, 120, 0), this._overlay.attr({ "stroke-width": 1, cursor: "pointer", rx: 4, ry: 4, filter: this._shadow.id }), this._overlay.data({ "export-element-type": "list" }), this.validFormats = y(), this._subscribeEvents() }; function E(e, t, n, i) { return (i || t.format) && (i = w(i || t.format, e._incidentOccurred)), { format: i || "PNG", fileName: n || t.fileName || "file", proxyUrl: t.proxyUrl, backgroundColor: t.backgroundColor, width: e._canvas.width, height: e._canvas.height, margin: t.margin, svgToCanvas: t.svgToCanvas, forceProxy: t.forceProxy, exportingAction: e._createActionByOption("onExporting"), exportedAction: e._createActionByOption("onExported"), fileSavingAction: e._createActionByOption("onFileSaving") } } t.ExportMenu = S, (0, i.extend)(S.prototype, { getLayoutOptions: function () { if (this._hiddenDueToLayout) return { width: 0, height: 0, cutSide: "vertical", cutLayoutSide: "top" }; var e = this._buttonGroup.getBBox(); return e.cutSide = "vertical", e.cutLayoutSide = "top", e.height += 10, e.position = { vertical: "top", horizontal: "right" }, e.verticalAlignment = "top", e.horizontalAlignment = "right", e }, shift: function (e, t) { this._group.attr({ translateY: this._group.attr("translateY") + t }) }, draw: function (e, t, n) { this._group.move(e - 35 - 2 - 3 + n.left, Math.floor(t / 2 - 17.5)); var i = this.getLayoutOptions(); return (i.width > e || i.height > t) && this.freeSpace(), this }, show: function () { this._group.linkAppend() }, hide: function () { this._group.linkRemove() }, setOptions: function (e) { var t = this; this._options = e, e.formats ? e.formats = e.formats.reduce((function (e, n) { return (n = w(n, t._incidentOccurred, t.validFormats)) && e.push(n), e }), []) : e.formats = this.validFormats.supported.slice(), e.printingEnabled = void 0 === e.printingEnabled || e.printingEnabled, e.enabled && (e.formats.length || e.printingEnabled) ? (this.show(), this._updateButton(), this._updateList(), this._hideList()) : this.hide() }, dispose: function () { this._unsubscribeEvents(), this._group.linkRemove().linkOff(), this._group.dispose(), this._shadow.dispose() }, layoutOptions: function () { return this._options.enabled && { horizontalAlignment: "right", verticalAlignment: "top", weak: !0 } }, measure: function () { this._fillSpace(); var e = this._options.button.margin; return [35 + e.left + e.right, 35 + e.top + e.bottom] }, move: function (e) { var t = this._options.button.margin; this._group.attr({ translateX: Math.round(e[0]) + t.left, translateY: Math.round(e[1]) + t.top }) }, _fillSpace: function () { this._hiddenDueToLayout = !1, this.show() }, freeSpace: function () { this._incidentOccurred("W2107"), this._hiddenDueToLayout = !0, this.hide() }, _hideList: function () { this._listGroup.remove(), this._listShown = !1, this._setButtonState("default"), this._menuItems.forEach((function (e) { return e.resetState() })) }, _showList: function () { this._listGroup.append(this._group), this._listShown = !0, this._menuItems.forEach((function (e) { return e.fixPosition() })) }, _setButtonState: function (e) { var t = this._options.button[e]; this._button.attr({ stroke: t.borderColor, fill: t.backgroundColor }), this._icon.attr({ fill: t.color }) }, _subscribeEvents: function () { var e = this; this._renderer.root.on(u.default.up + ".export", (function (t) { var n = t.target["export-element-type"]; n ? "button" === n ? e._listShown ? (e._setButtonState("default"), e._hideList()) : (e._setButtonState("focus"), e._showList()) : "printing" === n ? (e._print(), e._hideList()) : "exporting" === n && (e._exportTo(t.target["export-element-format"]), e._hideList()) : e._button && e._hideList() })), this._listGroup.on(p, (function (e) { return e.stopPropagation() })), this._buttonGroup.on(u.default.enter, (function () { return e._setButtonState("hover") })), this._buttonGroup.on(u.default.leave, (function () { return e._setButtonState(e._listShown ? "focus" : "default") })), this._buttonGroup.on(u.default.down + ".export", (function () { return e._setButtonState("active") })) }, _unsubscribeEvents: function () { this._renderer.root.off(".export"), this._listGroup.off(), this._buttonGroup.off() }, _updateButton: function () { var e = this._renderer, t = this._options, n = { "export-element-type": "button" }; this._button || (this._button = e.rect(0, 0, 35, 35).append(this._buttonGroup), this._button.attr({ rx: 4, ry: 4, fill: t.button.default.backgroundColor, stroke: t.button.default.borderColor, "stroke-width": 1, cursor: "pointer" }), this._button.data(n), this._icon = e.path(g).append(this._buttonGroup), this._icon.attr({ fill: t.button.default.color, cursor: "pointer" }), this._icon.data(n), this._buttonGroup.setTitle(r.default.format("vizExport-titleMenuText"))) }, _updateList: function () { var e = this._options, t = e.button.default, n = this._listGroup, i = function (e, t) { var n = []; return t.printingEnabled && n.push(C(e, t, { type: "printing", text: r.default.format("vizExport-printingButtonText"), itemIndex: n.length })), n = t.formats.reduce((function (n, i) { return n.push(C(e, t, { type: "exporting", text: r.default.getFormatter("vizExport-exportButtonText")(i), format: i, itemIndex: n.length })), n }), n) }(this._renderer, e); this._shadow.attr({ color: e.shadowColor }), this._overlay.attr({ height: 30 * i.length + 2, fill: t.backgroundColor, stroke: t.borderColor }), n.clear(), this._overlay.append(n), i.forEach((function (e) { return e.g.append(n) })), this._menuItems = i } }); var D = { name: "export", init: function () { var e = this; this._exportMenu = new S({ renderer: this._renderer, incidentOccurred: this._incidentOccurred, print: function () { return e.print() }, exportTo: function (t) { return e.exportTo(void 0, t) } }), this._layout.add(this._exportMenu) }, dispose: function () { this._exportMenu.dispose() }, members: { _getExportMenuOptions: function () { return (0, i.extend)({}, this._getOption("export"), { rtl: this._getOption("rtlEnabled", !0) }) }, _disablePointerEvents: function () { var e = this._renderer.root.attr("pointer-events"); return this._renderer.root.attr({ "pointer-events": "none" }), e }, exportTo: function (e, t) { var n = this, i = this._exportMenu, a = E(this, this._getOption("export") || {}, e, t); i && i.hide(); var o = this._disablePointerEvents(), r = (0, s.export)(this._renderer.root.element, a, x(a.format)).fail(h.logger.error).always((function () { n._renderer.root.attr({ "pointer-events": o }) })); return i && i.show(), r }, print: function () { var e = this, t = this._exportMenu, n = E(this, this._getOption("export") || {}); n.exportingAction = null, n.exportedAction = null, n.margin = 0, n.format = "PNG", n.forceProxy = !0, n.fileSavingAction = function (e) { b("data:image/png;base64,".concat(e.data), n.__test), e.cancel = !0 }; var i = this._disablePointerEvents(); t && t.hide(); var a = (0, s.export)(this._renderer.root.element, n, x(n.format)).fail(h.logger.error).always((function () { e._renderer.root.attr({ "pointer-events": i }) })); return t && t.show(), a } }, customize: function (e) { var t = e.prototype; e.addChange({ code: "EXPORT", handler: function () { this._exportMenu.setOptions(this._getExportMenuOptions()), this._change(["LAYOUT"]) }, isThemeDependent: !0, isOptionChange: !0, option: "export" }), t._optionChangesMap.onExporting = "EXPORT", t._optionChangesMap.onExported = "EXPORT", t._optionChangesMap.onFileSaving = "EXPORT" }, fontFields: ["export.font"] }; t.plugin = D }]);
!function (a) { "function" === typeof define && define.amd ? define(["jquery"], a) : "object" === typeof exports ? module.exports = a : a(jQuery); }(function (a) { function b(b) { var g = b || window.event, h = i.call(arguments, 1), j = 0, l = 0, m = 0, n = 0, o = 0, p = 0; if (b = a.event.fix(g), b.type = "mousewheel", "detail" in g && (m = -1 * g.detail), "wheelDelta" in g && (m = g.wheelDelta), "wheelDeltaY" in g && (m = g.wheelDeltaY), "wheelDeltaX" in g && (l = -1 * g.wheelDeltaX), "axis" in g && g.axis === g.HORIZONTAL_AXIS && (l = -1 * m, m = 0), j = 0 === m ? l : m, "deltaY" in g && (m = -1 * g.deltaY, j = m), "deltaX" in g && (l = g.deltaX, 0 === m && (j = -1 * l)), 0 !== m || 0 !== l) { if (1 === g.deltaMode) { var q = a.data(this, "mousewheel-line-height"); j *= q, m *= q, l *= q; } else if (2 === g.deltaMode) { var r = a.data(this, "mousewheel-page-height"); j *= r, m *= r, l *= r; } if (n = Math.max(Math.abs(m), Math.abs(l)), (!f || f > n) && (f = n, d(g, n) && (f /= 40)), d(g, n) && (j /= 40, l /= 40, m /= 40), j = Math[j >= 1 ? "floor" : "ceil"](j / f), l = Math[l >= 1 ? "floor" : "ceil"](l / f), m = Math[m >= 1 ? "floor" : "ceil"](m / f), k.settings.normalizeOffset && this.getBoundingClientRect) { var s = this.getBoundingClientRect(); o = b.clientX - s.left, p = b.clientY - s.top; } return b.deltaX = l, b.deltaY = m, b.deltaFactor = f, b.offsetX = o, b.offsetY = p, b.deltaMode = 0, h.unshift(b, j, l, m), e && clearTimeout(e), e = setTimeout(c, 200), (a.event.dispatch || a.event.handle).apply(this, h); } } function c() { f = null; } function d(a, b) { return k.settings.adjustOldDeltas && "mousewheel" === a.type && b % 120 === 0; } var e, f, g = ["wheel", "mousewheel", "DOMMouseScroll", "MozMousePixelScroll"], h = "onwheel" in document || document.documentMode >= 9 ? ["wheel"] : ["mousewheel", "DomMouseScroll", "MozMousePixelScroll"], i = Array.prototype.slice; if (a.event.fixHooks) for (var j = g.length; j;)a.event.fixHooks[g[--j]] = a.event.mouseHooks; var k = a.event.special.mousewheel = { version: "3.1.12", setup: function () { if (this.addEventListener) for (var c = h.length; c;)this.addEventListener(h[--c], b, !1); else this.onmousewheel = b; a.data(this, "mousewheel-line-height", k.getLineHeight(this)), a.data(this, "mousewheel-page-height", k.getPageHeight(this)); }, teardown: function () { if (this.removeEventListener) for (var c = h.length; c;)this.removeEventListener(h[--c], b, !1); else this.onmousewheel = null; a.removeData(this, "mousewheel-line-height"), a.removeData(this, "mousewheel-page-height"); }, getLineHeight: function (b) { var c = a(b), d = c["offsetParent" in a.fn ? "offsetParent" : "parent"](); return d.length || (d = a("body")), parseInt(d.css("fontSize"), 10) || parseInt(c.css("fontSize"), 10) || 16; }, getPageHeight: function (b) { return a(b).height(); }, settings: { adjustOldDeltas: !0, normalizeOffset: !0 } }; a.fn.extend({ mousewheel: function (a) { return a ? this.bind("mousewheel", a) : this.trigger("mousewheel"); }, unmousewheel: function (a) { return this.unbind("mousewheel", a); } }); });
!function(e){"function"===typeof define&&define.amd?define(["jquery"],e):"undefined"!==typeof module&&module.exports?module.exports=e:e(jQuery,window,document);}(function(e){var t,o,a,n,i,r,l,s,c,d,u,f,m,h,p,g,v,x,S,_,w,C,b,$,y,B,T,k,M,O,I,D,E,W,R,A,L,z,P,H,U,F,q,j,Y,X,N,V,Q,G,J,K,Z,ee,te,oe,ae,ne; oe="function"===typeof define&&define.amd,ae="undefined"!==typeof module&&module.exports,ne="https:"==document.location.protocol?"https:":"http:",oe||(ae?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI(`%3Cscript src=${ne}//cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js%3E%3C/script%3E`))),o="mCustomScrollbar",a={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},n=0,i={},r=window.attachEvent&&!window.addEventListener?1:0,l=!1,s=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],c={init:function(t){var t=e.extend(!0,{},a,t),o=d.call(this); if(t.live){var r=t.liveSelector||this.selector||".mCustomScrollbar",l=e(r); if("off"===t.live)return void f(r); i[r]=setTimeout(function(){l.mCustomScrollbar(t),"once"===t.live&&l.length&&f(r);},500);}else f(r); return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":m(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!==typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=h(t.scrollButtons.scrollType),u(t),e(o).each(function(){var o=e(this); if(!o.data("mCS")){o.data("mCS",{idx:++n,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:o.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}}); var a=o.data("mCS"),i=a.opt,r=o.data("mcs-axis"),l=o.data("mcs-scrollbar-position"),d=o.data("mcs-theme"); r&&(i.axis=r),l&&(i.scrollbarPosition=l),d&&(i.theme=d,u(i)),p.call(this),a&&i.callbacks.onCreate&&"function"===typeof i.callbacks.onCreate&&i.callbacks.onCreate.call(this),e(`#mCSB_${a.idx}_container img:not(.${s[2]})`).addClass(s[2]),c.update.call(null,o);}});},update:function(t,o){var a=t||d.call(this); return e(a).each(function(){var t=e(this); if(t.data("mCS")){var a=t.data("mCS"),n=a.opt,i=e(`#mCSB_${a.idx}_container`),r=e(`#mCSB_${a.idx}`),l=[e(`#mCSB_${a.idx}_dragger_vertical`),e(`#mCSB_${a.idx}_dragger_horizontal`)]; if(!i.length)return; a.tweenRunning&&Y(t),o&&a&&n.callbacks.onBeforeUpdate&&"function"===typeof n.callbacks.onBeforeUpdate&&n.callbacks.onBeforeUpdate.call(this),t.hasClass(s[3])&&t.removeClass(s[3]),t.hasClass(s[4])&&t.removeClass(s[4]),r.css("max-height","none"),r.height()!==t.height()&&r.css("max-height",t.height()-2),v.call(this),"y"===n.axis||n.advanced.autoExpandHorizontalScroll||i.css("width",g(i)),a.overflowed=C.call(this),B.call(this),n.autoDraggerLength&&S.call(this),_.call(this),$.call(this); var c=[Math.abs(i[0].offsetTop),Math.abs(i[0].offsetLeft)]; "x"!==n.axis&&(a.overflowed[0]?l[0].height()>l[0].parent().height()?b.call(this):(X(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}),a.contentReset.y=null):(b.call(this),"y"===n.axis?y.call(this):"yx"===n.axis&&a.overflowed[1]&&X(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==n.axis&&(a.overflowed[1]?l[1].width()>l[1].parent().width()?b.call(this):(X(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}),a.contentReset.x=null):(b.call(this),"x"===n.axis?y.call(this):"yx"===n.axis&&a.overflowed[0]&&X(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),o&&a&&(2===o&&n.callbacks.onImageLoad&&"function"===typeof n.callbacks.onImageLoad?n.callbacks.onImageLoad.call(this):3===o&&n.callbacks.onSelectorChange&&"function"===typeof n.callbacks.onSelectorChange?n.callbacks.onSelectorChange.call(this):n.callbacks.onUpdate&&"function"===typeof n.callbacks.onUpdate&&n.callbacks.onUpdate.call(this)),j.call(this);}});},scrollTo:function(t,o){if(void 0!==t&&null!=t){var a=d.call(this); return e(a).each(function(){var a=e(this); if(a.data("mCS")){var n=a.data("mCS"),i=n.opt,r={trigger:"external",scrollInertia:i.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},l=e.extend(!0,{},r,o),s=F.call(this,t),c=l.scrollInertia>0&&l.scrollInertia<17?17:l.scrollInertia; s[0]=q.call(this,s[0],"y"),s[1]=q.call(this,s[1],"x"),l.moveDragger&&(s[0]*=n.scrollRatio.y,s[1]*=n.scrollRatio.x),l.dur=te()?0:c,setTimeout(function(){null!==s[0]&&void 0!==s[0]&&"x"!==i.axis&&n.overflowed[0]&&(l.dir="y",l.overwrite="all",X(a,s[0].toString(),l)),null!==s[1]&&void 0!==s[1]&&"y"!==i.axis&&n.overflowed[1]&&(l.dir="x",l.overwrite="none",X(a,s[1].toString(),l));},l.timeout);}});}},stop:function(){var t=d.call(this); return e(t).each(function(){var t=e(this); t.data("mCS")&&Y(t);});},disable:function(t){var o=d.call(this); return e(o).each(function(){var o=e(this); o.data("mCS")&&(o.data("mCS"),j.call(this,"remove"),y.call(this),t&&b.call(this),B.call(this,!0),o.addClass(s[3]));});},destroy:function(){var t=d.call(this); return e(t).each(function(){var a=e(this); if(a.data("mCS")){var n=a.data("mCS"),i=n.opt,r=e(`#mCSB_${n.idx}`),l=e(`#mCSB_${n.idx}_container`),c=e(`.mCSB_${n.idx}_scrollbar`); i.live&&f(i.liveSelector||e(t).selector),j.call(this,"remove"),y.call(this),b.call(this),a.removeData("mCS"),G(this,"mcs"),c.remove(),l.find(`img.${s[2]}`).removeClass(s[2]),r.replaceWith(l.contents()),a.removeClass(`${o} _mCS_${n.idx} ${s[6]} ${s[7]} ${s[5]} ${s[3]}`).addClass(s[4]);}});}},d=function(){return"object"!==typeof e(this)||e(this).length<1?".mCustomScrollbar":this;},u=function(t){t.autoDraggerLength=!(e.inArray(t.theme,["rounded","rounded-dark","rounded-dots","rounded-dots-dark"])>-1)&&t.autoDraggerLength,t.autoExpandScrollbar=!(e.inArray(t.theme,["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"])>-1)&&t.autoExpandScrollbar,t.scrollButtons.enable=!(e.inArray(t.theme,["minimal","minimal-dark"])>-1)&&t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,["minimal","minimal-dark"])>-1||t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,["minimal","minimal-dark"])>-1?"outside":t.scrollbarPosition;},f=function(e){i[e]&&(clearTimeout(i[e]),G(i,e));},m=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y";},h=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless";},p=function(){var t=e(this),a=t.data("mCS"),n=a.opt,i=n.autoExpandScrollbar?` ${s[1]}_expand`:"",r=[`<div id='mCSB_${a.idx}_scrollbar_vertical' class='mCSB_scrollTools mCSB_${a.idx}_scrollbar mCS-${n.theme} mCSB_scrollTools_vertical${i}'><div class='${s[12]}'><div id='mCSB_${a.idx}_dragger_vertical' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar'></div></div><div class='mCSB_draggerRail'></div></div></div>`,`<div id='mCSB_${a.idx}_scrollbar_horizontal' class='mCSB_scrollTools mCSB_${a.idx}_scrollbar mCS-${n.theme} mCSB_scrollTools_horizontal${i}'><div class='${s[12]}'><div id='mCSB_${a.idx}_dragger_horizontal' class='mCSB_dragger' style='position:absolute;'><div class='mCSB_dragger_bar'></div></div><div class='mCSB_draggerRail'></div></div></div>`],l="yx"===n.axis?"mCSB_vertical_horizontal":"x"===n.axis?"mCSB_horizontal":"mCSB_vertical",c="yx"===n.axis?r[0]+r[1]:"x"===n.axis?r[1]:r[0],d="yx"===n.axis?`<div id='mCSB_${a.idx}_container_wrapper' class='mCSB_container_wrapper'></div>`:"",u=n.autoHideScrollbar?` ${s[6]}`:"",f="x"!==n.axis&&"rtl"===a.langDir?` ${s[7]}`:""; n.setWidth&&t.css("width",n.setWidth),n.setHeight&&t.css("height",n.setHeight),n.setLeft="y"!==n.axis&&"rtl"===a.langDir?"989999px":n.setLeft,t.addClass(`${o} _mCS_${a.idx}${u}${f}`).wrapInner(`<div id='mCSB_${a.idx}' class='mCustomScrollBox mCS-${n.theme} ${l}'><div id='mCSB_${a.idx}_container' class='mCSB_container' style='position:relative; top:${n.setTop}; left:${n.setLeft};' dir='${a.langDir}' ></div></div>`); var m=e(`#mCSB_${a.idx}`),h=e(`#mCSB_${a.idx}_container`); "y"===n.axis||n.advanced.autoExpandHorizontalScroll||h.css("width",g(h)),"outside"===n.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),m.addClass("mCSB_outside").after(c)):(m.addClass("mCSB_inside").append(c),h.wrap(d)),x.call(this); var p=[e(`#mCSB_${a.idx}_dragger_vertical`),e(`#mCSB_${a.idx}_dragger_horizontal`)]; p[0].css("min-height",p[0].height()),p[1].css("min-width",p[1].width());},g=function(t){if(t.length>0){var o=[t[0].scrollWidth,Math.max.apply(Math,t.children().map(function(){return e(this).outerWidth(!0);}).get())],a=t.parent().width(); return o[0]>a?o[0]:o[1]>a?o[1]:"100%";}return"100%";},v=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=e(`#mCSB_${o.idx}_container`); if(a.advanced.autoExpandHorizontalScroll&&"y"!==a.axis){n.css({width:"auto","min-width":0,"overflow-x":"scroll"}); var i=Math.ceil(n[0].scrollWidth); 3===a.advanced.autoExpandHorizontalScroll||2!==a.advanced.autoExpandHorizontalScroll&&i>n.parent().width()?n.css({width:i,"min-width":"100%","overflow-x":"inherit"}):n.css({"overflow-x":"inherit",position:"absolute"}).wrap("<div class='mCSB_h_wrapper' style='position:relative; left:0; width:999999px;'></div>").css({width:Math.ceil(n[0].getBoundingClientRect().right+.4)-Math.floor(n[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap();}},x=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=e(`.mCSB_${o.idx}_scrollbar:first`),i=Z(a.scrollButtons.tabindex)?`tabindex='${a.scrollButtons.tabindex}'`:"",r=[`<a href='#' class='${s[13]}' ${i} ></a>`,`<a href='#' class='${s[14]}' ${i} ></a>`,`<a href='#' class='${s[15]}' ${i} ></a>`,`<a href='#' class='${s[16]}' ${i} ></a>`],l=["x"===a.axis?r[2]:r[0],"x"===a.axis?r[3]:r[1],r[2],r[3]]; a.scrollButtons.enable&&n.prepend(l[0]).append(l[1]).next(".mCSB_scrollTools").prepend(l[2]).append(l[3]);},S=function(){var t=e(this),o=t.data("mCS"),a=e(`#mCSB_${o.idx}`),n=e(`#mCSB_${o.idx}_container`),i=[e(`#mCSB_${o.idx}_dragger_vertical`),e(`#mCSB_${o.idx}_dragger_horizontal`)],l=[a.height()/n.outerHeight(!1),a.width()/n.outerWidth(!1)],s=[parseInt(i[0].css("min-height")),Math.round(l[0]*i[0].parent().height()),parseInt(i[1].css("min-width")),Math.round(l[1]*i[1].parent().width())],c=r&&s[1]<s[0]?s[0]:s[1],d=r&&s[3]<s[2]?s[2]:s[3]; i[0].css({height:c,"max-height":i[0].parent().height()-10}).find(".mCSB_dragger_bar").css({"line-height":`${s[0]}px`}),i[1].css({width:d,"max-width":i[1].parent().width()-10});},_=function(){var t=e(this),o=t.data("mCS"),a=e(`#mCSB_${o.idx}`),n=e(`#mCSB_${o.idx}_container`),i=[e(`#mCSB_${o.idx}_dragger_vertical`),e(`#mCSB_${o.idx}_dragger_horizontal`)],r=[n.outerHeight(!1)-a.height(),n.outerWidth(!1)-a.width()],l=[r[0]/(i[0].parent().height()-i[0].height()),r[1]/(i[1].parent().width()-i[1].width())]; o.scrollRatio={y:l[0],x:l[1]};},w=function(e,t,o){var a=o?`${s[0]}_expanded`:"",n=e.closest(".mCSB_scrollTools"); "active"===t?(e.toggleClass(`${s[0]} ${a}`),n.toggleClass(s[1]),e[0]._draggable=e[0]._draggable?0:1):e[0]._draggable||("hide"===t?(e.removeClass(s[0]),n.removeClass(s[1])):(e.addClass(s[0]),n.addClass(s[1])));},C=function(){var t=e(this),o=t.data("mCS"),a=e(`#mCSB_${o.idx}`),n=e(`#mCSB_${o.idx}_container`),i=null==o.overflowed?n.height():n.outerHeight(!1),r=null==o.overflowed?n.width():n.outerWidth(!1),l=n[0].scrollHeight,s=n[0].scrollWidth; return l>i+5&&(i=l),s>r&&(r=s),[i>a.height(),r>a.width()];},b=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=e(`#mCSB_${o.idx}`),i=e(`#mCSB_${o.idx}_container`),r=[e(`#mCSB_${o.idx}_dragger_vertical`),e(`#mCSB_${o.idx}_dragger_horizontal`)]; if(Y(t),("x"!==a.axis&&!o.overflowed[0]||"y"===a.axis&&o.overflowed[0])&&(r[0].add(i).css("top",0),X(t,"_resetY")),"y"!==a.axis&&!o.overflowed[1]||"x"===a.axis&&o.overflowed[1]){var l=dx=0; "rtl"===o.langDir&&(l=n.width()-i.outerWidth(!1),dx=Math.abs(l/o.scrollRatio.x)),i.css("left",l),r[1].css("left",dx),X(t,"_resetX");}},$=function(){var t=e(this),o=t.data("mCS"),a=o.opt; if(!o.bindEvents){var n; if(k.call(this),a.contentTouchScroll&&M.call(this),O.call(this),a.mouseWheel.enable)!function o(){n=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(n),I.call(t[0])):o();},100);}(); A.call(this),z.call(this),a.advanced.autoScrollOnFocus&&L.call(this),a.scrollButtons.enable&&P.call(this),a.keyboard.enable&&H.call(this),o.bindEvents=!0;}},y=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=`mCS_${o.idx}`,i=`.mCSB_${o.idx}_scrollbar`,r=e(`#mCSB_${o.idx},#mCSB_${o.idx}_container,#mCSB_${o.idx}_container_wrapper,${i} .${s[12]},#mCSB_${o.idx}_dragger_vertical,#mCSB_${o.idx}_dragger_horizontal,${i}>a`),l=e(`#mCSB_${o.idx}_container`); a.advanced.releaseDraggableSelectors&&r.add(e(a.advanced.releaseDraggableSelectors)),a.advanced.extraDraggableSelectors&&r.add(e(a.advanced.extraDraggableSelectors)),o.bindEvents&&(e(document).add(e(!E()||top.document)).unbind(`.${n}`),r.each(function(){e(this).unbind(`.${n}`);}),clearTimeout(t[0]._focusTimeout),G(t[0],"_focusTimeout"),clearTimeout(o.sequential.step),G(o.sequential,"step"),clearTimeout(l[0].onCompleteTimeout),G(l[0],"onCompleteTimeout"),o.bindEvents=!1);},B=function(t){var o=e(this),a=o.data("mCS"),n=a.opt,i=e(`#mCSB_${a.idx}_container_wrapper`),r=i.length?i:e(`#mCSB_${a.idx}_container`),l=[e(`#mCSB_${a.idx}_scrollbar_vertical`),e(`#mCSB_${a.idx}_scrollbar_horizontal`)],c=[l[0].find(".mCSB_dragger"),l[1].find(".mCSB_dragger")]; "x"!==n.axis&&(a.overflowed[0]&&!t?(l[0].add(c[0]).add(l[0].children("a")).css("display","block"),r.removeClass(`${s[8]} ${s[10]}`)):(n.alwaysShowScrollbar?(2!==n.alwaysShowScrollbar&&c[0].css("display","none"),r.removeClass(s[10])):(l[0].css("display","none"),r.addClass(s[10])),r.addClass(s[8]))),"y"!==n.axis&&(a.overflowed[1]&&!t?(l[1].add(c[1]).add(l[1].children("a")).css("display","block"),r.removeClass(`${s[9]} ${s[11]}`)):(n.alwaysShowScrollbar?(2!==n.alwaysShowScrollbar&&c[1].css("display","none"),r.removeClass(s[11])):(l[1].css("display","none"),r.addClass(s[11])),r.addClass(s[9]))),a.overflowed[0]||a.overflowed[1]?o.removeClass(s[5]):o.addClass(s[5]);},T=function(t){var o=t.type,a=t.target.ownerDocument!==document&&null!==frameElement?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=E()&&t.target.ownerDocument!==top.document&&null!==frameElement?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0]; switch(o){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return a?[t.originalEvent.pageY-a[0]+n[0],t.originalEvent.pageX-a[1]+n[1],!1]:[t.originalEvent.pageY,t.originalEvent.pageX,!1]; case"touchstart":case"touchmove":case"touchend":var i=t.originalEvent.touches[0]||t.originalEvent.changedTouches[0],r=t.originalEvent.touches.length||t.originalEvent.changedTouches.length; return t.target.ownerDocument!==document?[i.screenY,i.screenX,r>1]:[i.pageY,i.pageX,r>1]; default:return a?[t.pageY-a[0]+n[0],t.pageX-a[1]+n[1],!1]:[t.pageY,t.pageX,!1];}},k=function(){var t,o,a,n=e(this),i=n.data("mCS"),s=i.opt,c=`mCS_${i.idx}`,d=[`mCSB_${i.idx}_dragger_vertical`,`mCSB_${i.idx}_dragger_horizontal`],u=e(`#mCSB_${i.idx}_container`),f=e(`#${d[0]},#${d[1]}`),m=s.advanced.releaseDraggableSelectors?f.add(e(s.advanced.releaseDraggableSelectors)):f,h=s.advanced.extraDraggableSelectors?e(!E()||top.document).add(e(s.advanced.extraDraggableSelectors)):E(window)?e(window.document):e(top.document); function p(e,o,a,r){if(u[0].idleTimer=s.scrollInertia<233?250:0,t.attr("id")===d[1])var l="x",c=(t[0].offsetLeft-o+r)*i.scrollRatio.x; else var l="y",c=(t[0].offsetTop-e+a)*i.scrollRatio.y; X(n,c.toString(),{dir:l,drag:!0});}f.bind(`contextmenu.${c}`,function(e){e.preventDefault();}).bind(`mousedown.${c} touchstart.${c} pointerdown.${c} MSPointerDown.${c}`,function(i){if(i.stopImmediatePropagation(),i.preventDefault(),J(i)){l=!0,r&&(document.onselectstart=function(){return!1;}),W.call(u,!1),Y(n); var c=(t=e(this)).offset(),d=T(i)[0]-c.top,f=T(i)[1]-c.left,m=t.height()+c.top,h=t.width()+c.left; d<m&&d>0&&f<h&&f>0&&(o=d,a=f),w(t,"active",s.autoExpandScrollbar);}}).bind(`touchmove.${c}`,function(e){e.stopImmediatePropagation(),e.preventDefault(); var n=t.offset(),i=T(e)[0]-n.top,r=T(e)[1]-n.left; p(o,a,i,r);}),e(document).add(h).bind(`mousemove.${c} pointermove.${c} MSPointerMove.${c}`,function(e){if(t){var n=t.offset(),i=T(e)[0]-n.top,r=T(e)[1]-n.left; if(o===i&&a===r)return; p(o,a,i,r);}}).add(m).bind(`mouseup.${c} touchend.${c} pointerup.${c} MSPointerUp.${c}`,function(e){t&&(w(t,"active",s.autoExpandScrollbar),t=null),l=!1,r&&(document.onselectstart=null),W.call(u,!0);});},M=function(){var o,a,n,i,r,s,c,d,u,f,m,h,p,g,v=e(this),x=v.data("mCS"),S=x.opt,_=`mCS_${x.idx}`,w=e(`#mCSB_${x.idx}`),C=e(`#mCSB_${x.idx}_container`),b=[e(`#mCSB_${x.idx}_dragger_vertical`),e(`#mCSB_${x.idx}_dragger_horizontal`)],$=[],y=[],B=0,k="yx"===S.axis?"none":"all",M=[],O=C.find("iframe"),I=[`touchstart.${_} pointerdown.${_} MSPointerDown.${_}`,`touchmove.${_} pointermove.${_} MSPointerMove.${_}`,`touchend.${_} pointerup.${_} MSPointerUp.${_}`],D=void 0!==document.body.style.touchAction&&""!==document.body.style.touchAction; function W(e){if(!K(e)||l||T(e)[2])t=0; else{t=1,p=0,g=0,o=1,v.removeClass("mCS_touch_action"); var i=C.offset(); a=T(e)[0]-i.top,n=T(e)[1]-i.left,M=[T(e)[0],T(e)[1]];}}function R(e){if(K(e)&&!l&&!T(e)[2]&&(S.documentTouchScroll||e.preventDefault(),e.stopImmediatePropagation(),(!g||p)&&o)){c=V(); var t=w.offset(),i=T(e)[0]-t.top,r=T(e)[1]-t.left; if($.push(i),y.push(r),M[2]=Math.abs(T(e)[0]-M[0]),M[3]=Math.abs(T(e)[1]-M[1]),x.overflowed[0])var s=b[0].parent().height()-b[0].height(),d=a-i>0&&i-a>-s*x.scrollRatio.y&&(2*M[3]<M[2]||"yx"===S.axis); if(x.overflowed[1])var u=b[1].parent().width()-b[1].width(),f=n-r>0&&r-n>-u*x.scrollRatio.x&&(2*M[2]<M[3]||"yx"===S.axis); d||f?(D||e.preventDefault(),p=1):(g=1,v.addClass("mCS_touch_action")),D&&e.preventDefault(),m="yx"===S.axis?[a-i,n-r]:"x"===S.axis?[null,n-r]:[a-i,null],C[0].idleTimer=250,x.overflowed[0]&&P(m[0],B,"mcsLinearOut","y","all",!0),x.overflowed[1]&&P(m[1],B,"mcsLinearOut","x",k,!0);}}function A(e){if(!K(e)||l||T(e)[2])t=0; else{t=1,e.stopImmediatePropagation(),Y(v),s=V(); var o=w.offset(); i=T(e)[0]-o.top,r=T(e)[1]-o.left,$=[],y=[];}}function L(e){if(K(e)&&!l&&!T(e)[2]){o=0,e.stopImmediatePropagation(),p=0,g=0,d=V(); var t=w.offset(),a=T(e)[0]-t.top,n=T(e)[1]-t.left; if(!(d-c>30)){var v=(f=1e3/(d-s))<2.5,_=v?[$[$.length-2],y[y.length-2]]:[0,0]; u=v?[a-_[0],n-_[1]]:[a-i,n-r]; var b=[Math.abs(u[0]),Math.abs(u[1])]; f=v?[Math.abs(u[0]/4),Math.abs(u[1]/4)]:[f,f]; var B=[Math.abs(C[0].offsetTop)-u[0]*z(b[0]/f[0],f[0]),Math.abs(C[0].offsetLeft)-u[1]*z(b[1]/f[1],f[1])]; m="yx"===S.axis?[B[0],B[1]]:"x"===S.axis?[null,B[1]]:[B[0],null],h=[4*b[0]+S.scrollInertia,4*b[1]+S.scrollInertia]; var M=parseInt(S.contentTouchScroll)||0; m[0]=b[0]>M?m[0]:0,m[1]=b[1]>M?m[1]:0,x.overflowed[0]&&P(m[0],h[0],"mcsEaseOut","y",k,!1),x.overflowed[1]&&P(m[1],h[1],"mcsEaseOut","x",k,!1);}}}function z(e,t){var o=[1.5*t,2*t,t/1.5,t/2]; return e>90?t>4?o[0]:o[3]:e>60?t>3?o[3]:o[2]:e>30?t>8?o[1]:t>6?o[0]:t>4?t:o[2]:t>8?t:o[3];}function P(e,t,o,a,n,i){e&&X(v,e.toString(),{dur:t,scrollEasing:o,dir:a,overwrite:n,drag:i});}C.bind(I[0],function(e){W(e);}).bind(I[1],function(e){R(e);}),w.bind(I[0],function(e){A(e);}).bind(I[2],function(e){L(e);}),O.length&&O.each(function(){e(this).bind("load",function(){E(this)&&e(this.contentDocument||this.contentWindow.document).bind(I[0],function(e){W(e),A(e);}).bind(I[1],function(e){R(e);}).bind(I[2],function(e){L(e);});});});},O=function(){var o,a=e(this),n=a.data("mCS"),i=n.opt,r=n.sequential,s=`mCS_${n.idx}`,c=e(`#mCSB_${n.idx}_container`),d=c.parent(); function u(e,t,n){r.type=n&&o?"stepped":"stepless",r.scrollAmount=10,U(a,e,t,"mcsLinearOut",n?60:null);}c.bind(`mousedown.${s}`,function(e){t||o||(o=1,l=!0);}).add(document).bind(`mousemove.${s}`,function(e){if(!t&&o&&(window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type&&document.selection.createRange().text)){var a=c.offset(),l=T(e)[0]-a.top+c[0].offsetTop,s=T(e)[1]-a.left+c[0].offsetLeft; l>0&&l<d.height()&&s>0&&s<d.width()?r.step&&u("off",null,"stepped"):("x"!==i.axis&&n.overflowed[0]&&(l<0?u("on",38):l>d.height()&&u("on",40)),"y"!==i.axis&&n.overflowed[1]&&(s<0?u("on",37):s>d.width()&&u("on",39)));}}).bind(`mouseup.${s} dragend.${s}`,function(e){t||(o&&(o=0,u("off",null)),l=!1);});},I=function(){if(e(this).data("mCS")){var t=e(this),o=t.data("mCS"),a=o.opt,n=`mCS_${o.idx}`,i=e(`#mCSB_${o.idx}`),l=[e(`#mCSB_${o.idx}_dragger_vertical`),e(`#mCSB_${o.idx}_dragger_horizontal`)],s=e(`#mCSB_${o.idx}_container`).find("iframe"); s.length&&s.each(function(){e(this).bind("load",function(){E(this)&&e(this.contentDocument||this.contentWindow.document).bind(`mousewheel.${n}`,function(e,t){c(e,t);});});}),i.bind(`mousewheel.${n}`,function(e,t){c(e,t);});}function c(n,s){if(Y(t),!R(t,n.target)){var c="auto"!==a.mouseWheel.deltaFactor?parseInt(a.mouseWheel.deltaFactor):r&&n.deltaFactor<100?100:n.deltaFactor||100,d=a.scrollInertia; if("x"===a.axis||"x"===a.mouseWheel.axis)var u="x",f=[Math.round(c*o.scrollRatio.x),parseInt(a.mouseWheel.scrollAmount)],m="auto"!==a.mouseWheel.scrollAmount?f[1]:f[0]>=i.width()?.9*i.width():f[0],h=Math.abs(e(`#mCSB_${o.idx}_container`)[0].offsetLeft),p=l[1][0].offsetLeft,g=l[1].parent().width()-l[1].width(),v="y"===a.mouseWheel.axis?n.deltaY||s:n.deltaX; else var u="y",f=[Math.round(c*o.scrollRatio.y),parseInt(a.mouseWheel.scrollAmount)],m="auto"!==a.mouseWheel.scrollAmount?f[1]:f[0]>=i.height()?.9*i.height():f[0],h=Math.abs(e(`#mCSB_${o.idx}_container`)[0].offsetTop),p=l[0][0].offsetTop,g=l[0].parent().height()-l[0].height(),v=n.deltaY||s; "y"===u&&!o.overflowed[0]||"x"===u&&!o.overflowed[1]||((a.mouseWheel.invert||n.webkitDirectionInvertedFromDevice)&&(v=-v),a.mouseWheel.normalizeDelta&&(v=v<0?-1:1),(v>0&&0!==p||v<0&&p!==g||a.mouseWheel.preventDefault)&&(n.stopImmediatePropagation(),n.preventDefault()),n.deltaFactor<5&&!a.mouseWheel.normalizeDelta&&(m=n.deltaFactor,d=17),X(t,(h-v*m).toString(),{dir:u,dur:d}));}}},D=new Object,E=function(t){var o=!1,a=!1,n=null; if(void 0===t?a="#empty":void 0!==e(t).attr("id")&&(a=e(t).attr("id")),!1!==a&&void 0!==D[a])return D[a]; if(t){try{var i=t.document||t.contentDocument||t.contentWindow.document; n=i.body.innerHTML;}catch(e){}o=null!==n;}else{try{var i=top.document; n=i.body.innerHTML;}catch(e){}o=null!==n;}return!1!==a&&(D[a]=o),o;},W=function(e){var t=this.find("iframe"); if(t.length){var o=e?"auto":"none"; t.css("pointer-events",o);}},R=function(t,o){var a=o.nodeName.toLowerCase(),n=t.data("mCS").opt.mouseWheel.disableOver; return e.inArray(a,n)>-1&&!(e.inArray(a,["select","textarea"])>-1&&!e(o).is(":focus"));},A=function(){var t,o=e(this),a=o.data("mCS"),n=`mCS_${a.idx}`,i=e(`#mCSB_${a.idx}_container`),r=i.parent(),c=e(`.mCSB_${a.idx}_scrollbar .${s[12]}`); c.bind(`mousedown.${n} touchstart.${n} pointerdown.${n} MSPointerDown.${n}`,function(o){l=!0,e(o.target).hasClass("mCSB_dragger")||(t=1);}).bind(`touchend.${n} pointerup.${n} MSPointerUp.${n}`,function(e){l=!1;}).bind(`click.${n}`,function(n){if(t&&(t=0,e(n.target).hasClass(s[12])||e(n.target).hasClass("mCSB_draggerRail"))){Y(o); var l=e(this),c=l.find(".mCSB_dragger"); if(l.parent(".mCSB_scrollTools_horizontal").length>0){if(!a.overflowed[1])return; var d="x",u=n.pageX>c.offset().left?-1:1,f=Math.abs(i[0].offsetLeft)-u*(.9*r.width());}else{if(!a.overflowed[0])return; var d="y",u=n.pageY>c.offset().top?-1:1,f=Math.abs(i[0].offsetTop)-u*(.9*r.height());}X(o,f.toString(),{dir:d,scrollEasing:"mcsEaseInOut"});}});},L=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=`mCS_${o.idx}`,i=e(`#mCSB_${o.idx}_container`),r=i.parent(); i.bind(`focusin.${n}`,function(o){var n=e(document.activeElement),l=i.find(".mCustomScrollBox").length; n.is(a.advanced.autoScrollOnFocus)&&(Y(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=l?17*l:0,t[0]._focusTimeout=setTimeout(function(){var e=[ee(n)[0],ee(n)[1]],o=[i[0].offsetTop,i[0].offsetLeft],l=[o[0]+e[0]>=0&&o[0]+e[0]<r.height()-n.outerHeight(!1),o[1]+e[1]>=0&&o[0]+e[1]<r.width()-n.outerWidth(!1)],s="yx"!==a.axis||l[0]||l[1]?"all":"none"; "x"===a.axis||l[0]||X(t,e[0].toString(),{dir:"y",scrollEasing:"mcsEaseInOut",overwrite:s,dur:0}),"y"===a.axis||l[1]||X(t,e[1].toString(),{dir:"x",scrollEasing:"mcsEaseInOut",overwrite:s,dur:0});},t[0]._focusTimer));});},z=function(){var t=e(this),o=t.data("mCS"),a=`mCS_${o.idx}`,n=e(`#mCSB_${o.idx}_container`).parent(); n.bind(`scroll.${a}`,function(t){0===n.scrollTop()&&0===n.scrollLeft()||e(`.mCSB_${o.idx}_scrollbar`).css("visibility","hidden");});},P=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=o.sequential,i=`mCS_${o.idx}`,r=`.mCSB_${o.idx}_scrollbar`,s=e(`${r}>a`); s.bind(`contextmenu.${i}`,function(e){e.preventDefault();}).bind(`mousedown.${i} touchstart.${i} pointerdown.${i} MSPointerDown.${i} mouseup.${i} touchend.${i} pointerup.${i} MSPointerUp.${i} mouseout.${i} pointerout.${i} MSPointerOut.${i} click.${i}`,function(i){if(i.preventDefault(),J(i)){var r=e(this).attr("class"); switch(n.type=a.scrollButtons.scrollType,i.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===n.type)return; l=!0,o.tweenRunning=!1,s("on",r); break; case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===n.type)return; l=!1,n.dir&&s("off",r); break; case"click":if("stepped"!==n.type||o.tweenRunning)return; s("on",r);}}function s(e,o){n.scrollAmount=a.scrollButtons.scrollAmount,U(t,e,o);}});},H=function(){var t=e(this),o=t.data("mCS"),a=o.opt,n=o.sequential,i=`mCS_${o.idx}`,r=e(`#mCSB_${o.idx}`),l=e(`#mCSB_${o.idx}_container`),s=l.parent(),c="input,textarea,select,datalist,keygen,[contenteditable='true']",d=l.find("iframe"),u=[`blur.${i} keydown.${i} keyup.${i}`]; function f(i){switch(i.type){case"blur":o.tweenRunning&&n.dir&&h("off",null); break; case"keydown":case"keyup":var r=i.keyCode?i.keyCode:i.which,d="on"; if("x"!==a.axis&&(38===r||40===r)||"y"!==a.axis&&(37===r||39===r)){if((38===r||40===r)&&!o.overflowed[0]||(37===r||39===r)&&!o.overflowed[1])return; "keyup"===i.type&&(d="off"),e(document.activeElement).is(c)||(i.preventDefault(),i.stopImmediatePropagation(),h(d,r));}else if(33===r||34===r){if((o.overflowed[0]||o.overflowed[1])&&(i.preventDefault(),i.stopImmediatePropagation()),"keyup"===i.type){Y(t); var u=34===r?-1:1; if("x"===a.axis||"yx"===a.axis&&o.overflowed[1]&&!o.overflowed[0])var f="x",m=Math.abs(l[0].offsetLeft)-u*(.9*s.width()); else var f="y",m=Math.abs(l[0].offsetTop)-u*(.9*s.height()); X(t,m.toString(),{dir:f,scrollEasing:"mcsEaseInOut"});}}else if((35===r||36===r)&&!e(document.activeElement).is(c)&&((o.overflowed[0]||o.overflowed[1])&&(i.preventDefault(),i.stopImmediatePropagation()),"keyup"===i.type)){if("x"===a.axis||"yx"===a.axis&&o.overflowed[1]&&!o.overflowed[0])var f="x",m=35===r?Math.abs(s.width()-l.outerWidth(!1)):0; else var f="y",m=35===r?Math.abs(s.height()-l.outerHeight(!1)):0; X(t,m.toString(),{dir:f,scrollEasing:"mcsEaseInOut"});}}function h(e,i){n.type=a.keyboard.scrollType,n.scrollAmount=a.keyboard.scrollAmount,"stepped"===n.type&&o.tweenRunning||U(t,e,i);}}d.length&&d.each(function(){e(this).bind("load",function(){E(this)&&e(this.contentDocument||this.contentWindow.document).bind(u[0],function(e){f(e);});});}),r.attr("tabindex","0").bind(u[0],function(e){f(e);});},U=function(t,o,a,n,i){var r=t.data("mCS"),l=r.opt,c=r.sequential,d=e(`#mCSB_${r.idx}_container`),u="stepped"===c.type,f=l.scrollInertia<26?26:l.scrollInertia,m=l.scrollInertia<1?17:l.scrollInertia; switch(o){case"on":if(c.dir=[a===s[16]||a===s[15]||39===a||37===a?"x":"y",a===s[13]||a===s[15]||38===a||37===a?-1:1],Y(t),Z(a)&&"stepped"===c.type)return; h(u); break; case"off":clearTimeout(c.step),G(c,"step"),Y(t),(u||r.tweenRunning&&c.dir)&&h(!0);}function h(e){l.snapAmount&&(c.scrollAmount=l.snapAmount instanceof Array?"x"===c.dir[0]?l.snapAmount[1]:l.snapAmount[0]:l.snapAmount); var o="stepped"!==c.type,a=i||(e?o?f/1.5:m:1e3/60),s=e?o?7.5:40:2.5,u=[Math.abs(d[0].offsetTop),Math.abs(d[0].offsetLeft)],p=[r.scrollRatio.y>10?10:r.scrollRatio.y,r.scrollRatio.x>10?10:r.scrollRatio.x],g="x"===c.dir[0]?u[1]+c.dir[1]*(p[1]*s):u[0]+c.dir[1]*(p[0]*s),v="x"===c.dir[0]?u[1]+c.dir[1]*parseInt(c.scrollAmount):u[0]+c.dir[1]*parseInt(c.scrollAmount),x="auto"!==c.scrollAmount?v:g,S=n||(e?o?"mcsLinearOut":"mcsEaseInOut":"mcsLinear"),_=!!e; e&&a<17&&(x="x"===c.dir[0]?u[1]:u[0]),X(t,x.toString(),{dir:c.dir[0],scrollEasing:S,dur:a,onComplete:_}),e?c.dir=!1:(clearTimeout(c.step),c.step=setTimeout(function(){h();},a));}},F=function(t){var o=e(this).data("mCS").opt,a=[]; return"function"===typeof t&&(t=t()),t instanceof Array?a=t.length>1?[t[0],t[1]]:"x"===o.axis?[null,t[0]]:[t[0],null]:(a[0]=t.y?t.y:t.x||"x"===o.axis?null:t,a[1]=t.x?t.x:t.y||"y"===o.axis?null:t),"function"===typeof a[0]&&(a[0]=a[0]()),"function"===typeof a[1]&&(a[1]=a[1]()),a;},q=function(t,o){if(null!=t&&void 0!==t){var a=e(this),n=a.data("mCS"),i=n.opt,r=e(`#mCSB_${n.idx}_container`),l=r.parent(),s=typeof t; o||(o="x"===i.axis?"x":"y"); var d="x"===o?r.outerWidth(!1)-l.width():r.outerHeight(!1)-l.height(),u="x"===o?r[0].offsetLeft:r[0].offsetTop,f="x"===o?"left":"top"; switch(s){case"function":return t(); case"object":var m=t.jquery?t:e(t); if(!m.length)return; return"x"===o?ee(m)[1]:ee(m)[0]; case"string":case"number":if(Z(t))return Math.abs(t); if(-1!==t.indexOf("%"))return Math.abs(d*parseInt(t)/100); if(-1!==t.indexOf("-="))return Math.abs(u-parseInt(t.split("-=")[1])); if(-1!==t.indexOf("+=")){var h=u+parseInt(t.split("+=")[1]); return h>=0?0:Math.abs(h);}if(-1!==t.indexOf("px")&&Z(t.split("px")[0]))return Math.abs(t.split("px")[0]); if("top"===t||"left"===t)return 0; if("bottom"===t)return Math.abs(l.height()-r.outerHeight(!1)); if("right"===t)return Math.abs(l.width()-r.outerWidth(!1)); if("first"===t||"last"===t){var m=r.find(`:${t}`); return"x"===o?ee(m)[1]:ee(m)[0];}return e(t).length?"x"===o?ee(e(t))[1]:ee(e(t))[0]:(r.css(f,t),void c.update.call(null,a[0]));}}},j=function(t){var o=e(this),a=o.data("mCS"),n=a.opt,i=e(`#mCSB_${a.idx}_container`); if(t)return clearTimeout(i[0].autoUpdate),void G(i[0],"autoUpdate"); function r(e){clearTimeout(i[0].autoUpdate),c.update.call(null,o[0],e);}!function t(){clearTimeout(i[0].autoUpdate),0!==o.parents("html").length?i[0].autoUpdate=setTimeout(function(){return n.advanced.updateOnSelectorChange&&(a.poll.change.n=function(){!0===n.advanced.updateOnSelectorChange&&(n.advanced.updateOnSelectorChange="*"); var e=0,t=i.find(n.advanced.updateOnSelectorChange); return n.advanced.updateOnSelectorChange&&t.length>0&&t.each(function(){e+=this.offsetHeight+this.offsetWidth;}),e;}(),a.poll.change.n!==a.poll.change.o)?(a.poll.change.o=a.poll.change.n,void r(3)):n.advanced.updateOnContentResize&&(a.poll.size.n=o[0].scrollHeight+o[0].scrollWidth+i[0].offsetHeight+o[0].offsetHeight+o[0].offsetWidth,a.poll.size.n!==a.poll.size.o)?(a.poll.size.o=a.poll.size.n,void r(1)):!n.advanced.updateOnImageLoad||"auto"===n.advanced.updateOnImageLoad&&"y"===n.axis||(a.poll.img.n=i.find("img").length,a.poll.img.n===a.poll.img.o)?void((n.advanced.updateOnSelectorChange||n.advanced.updateOnContentResize||n.advanced.updateOnImageLoad)&&t()):(a.poll.img.o=a.poll.img.n,void i.find("img").each(function(){!function(t){if(e(t).hasClass(s[2]))r(); else{var o,a,n=new Image; n.onload=(o=n,a=function(){this.onload=null,e(t).addClass(s[2]),r(2);},function(){return a.apply(o,arguments);}),n.src=t.src;}}(this);}));},n.advanced.autoUpdateTimeout):o=null;}();},Y=function(t){var o=t.data("mCS"),a=e(`#mCSB_${o.idx}_container,#mCSB_${o.idx}_container_wrapper,#mCSB_${o.idx}_dragger_vertical,#mCSB_${o.idx}_dragger_horizontal`); a.each(function(){Q.call(this);});},X=function(t,o,a){var n=t.data("mCS"),i=n.opt,r={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:i.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},a=e.extend(r,a),l=[a.dur,a.drag?0:a.dur],s=e(`#mCSB_${n.idx}`),c=e(`#mCSB_${n.idx}_container`),d=c.parent(),u=i.callbacks.onTotalScrollOffset?F.call(t,i.callbacks.onTotalScrollOffset):[0,0],f=i.callbacks.onTotalScrollBackOffset?F.call(t,i.callbacks.onTotalScrollBackOffset):[0,0]; if(n.trigger=a.trigger,0===d.scrollTop()&&0===d.scrollLeft()||(e(`.mCSB_${n.idx}_scrollbar`).css("visibility","visible"),d.scrollTop(0).scrollLeft(0)),"_resetY"!==o||n.contentReset.y||($("onOverflowYNone")&&i.callbacks.onOverflowYNone.call(t[0]),n.contentReset.y=1),"_resetX"!==o||n.contentReset.x||($("onOverflowXNone")&&i.callbacks.onOverflowXNone.call(t[0]),n.contentReset.x=1),"_resetY"!==o&&"_resetX"!==o){if(!n.contentReset.y&&t[0].mcs||!n.overflowed[0]||($("onOverflowY")&&i.callbacks.onOverflowY.call(t[0]),n.contentReset.x=null),!n.contentReset.x&&t[0].mcs||!n.overflowed[1]||($("onOverflowX")&&i.callbacks.onOverflowX.call(t[0]),n.contentReset.x=null),i.snapAmount){var m=i.snapAmount instanceof Array?"x"===a.dir?i.snapAmount[1]:i.snapAmount[0]:i.snapAmount; o=function(e,t,o){return Math.round(e/t)*t-o;}(o,m,i.snapOffset);}switch(a.dir){case"x":var h=e(`#mCSB_${n.idx}_dragger_horizontal`),p="left",g=c[0].offsetLeft,v=[s.width()-c.outerWidth(!1),h.parent().width()-h.width()],x=[o,0===o?0:o/n.scrollRatio.x],S=u[1],_=f[1],C=S>0?S/n.scrollRatio.x:0,b=_>0?_/n.scrollRatio.x:0; break; case"y":var h=e(`#mCSB_${n.idx}_dragger_vertical`),p="top",g=c[0].offsetTop,v=[s.height()-c.outerHeight(!1),h.parent().height()-h.height()],x=[o,0===o?0:o/n.scrollRatio.y],S=u[0],_=f[0],C=S>0?S/n.scrollRatio.y:0,b=_>0?_/n.scrollRatio.y:0;}x[1]<0||0===x[0]&&0===x[1]?x=[0,0]:x[1]>=v[1]?x=[v[0],v[1]]:x[0]=-x[0],t[0].mcs||(y(),$("onInit")&&i.callbacks.onInit.call(t[0])),clearTimeout(c[0].onCompleteTimeout),N(h[0],p,Math.round(x[1]),l[1],a.scrollEasing),!n.tweenRunning&&(0===g&&x[0]>=0||g===v[0]&&x[0]<=v[0])||N(c[0],p,Math.round(x[0]),l[0],a.scrollEasing,a.overwrite,{onStart:function(){a.callbacks&&a.onStart&&!n.tweenRunning&&($("onScrollStart")&&(y(),i.callbacks.onScrollStart.call(t[0])),n.tweenRunning=!0,w(h),n.cbOffsets=[i.callbacks.alwaysTriggerOffsets||g>=v[0]+S,i.callbacks.alwaysTriggerOffsets||g<=-_]);},onUpdate:function(){a.callbacks&&a.onUpdate&&$("whileScrolling")&&(y(),i.callbacks.whileScrolling.call(t[0]));},onComplete:function(){if(a.callbacks&&a.onComplete){"yx"===i.axis&&clearTimeout(c[0].onCompleteTimeout); var e=c[0].idleTimer||0; c[0].onCompleteTimeout=setTimeout(function(){$("onScroll")&&(y(),i.callbacks.onScroll.call(t[0])),$("onTotalScroll")&&x[1]>=v[1]-C&&n.cbOffsets[0]&&(y(),i.callbacks.onTotalScroll.call(t[0])),$("onTotalScrollBack")&&x[1]<=b&&n.cbOffsets[1]&&(y(),i.callbacks.onTotalScrollBack.call(t[0])),n.tweenRunning=!1,c[0].idleTimer=0,w(h,"hide");},e);}}});}function $(e){return n&&i.callbacks[e]&&"function"===typeof i.callbacks[e];}function y(){var e=[c[0].offsetTop,c[0].offsetLeft],o=[h[0].offsetTop,h[0].offsetLeft],n=[c.outerHeight(!1),c.outerWidth(!1)],i=[s.height(),s.width()]; t[0].mcs={content:c,top:e[0],left:e[1],draggerTop:o[0],draggerLeft:o[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(n[0])-i[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(n[1])-i[1])),direction:a.dir};}},N=function(e,t,o,a,n,i,r){e._mTween||(e._mTween={top:{},left:{}}); var l,s,r=r||{},c=r.onStart||function(){},d=r.onUpdate||function(){},u=r.onComplete||function(){},f=V(),m=0,h=e.offsetTop,p=e.style,g=e._mTween[t]; "left"===t&&(h=e.offsetLeft); var v=o-h; function x(){g.stop||(m||c.call(),m=V()-f,S(),m>=g.time&&(g.time=m>g.time?m+l-(m-g.time):m+l-1,g.time<m+1&&(g.time=m+1)),g.time<a?g.id=s(x):u.call());}function S(){a>0?(g.currVal=function(e,t,o,a,n){switch(n){case"linear":case"mcsLinear":return o*e/a+t; case"mcsLinearOut":return e/=a,e--,o*Math.sqrt(1-e*e)+t; case"easeInOutSmooth":return(e/=a/2)<1?o/2*e*e+t:-o/2*(--e*(e-2)-1)+t; case"easeInOutStrong":return(e/=a/2)<1?o/2*Math.pow(2,10*(e-1))+t:(e--,o/2*(2-Math.pow(2,-10*e))+t); case"easeInOut":case"mcsEaseInOut":return(e/=a/2)<1?o/2*e*e*e+t:o/2*((e-=2)*e*e+2)+t; case"easeOutSmooth":return e/=a,-o*(--e*e*e*e-1)+t; case"easeOutStrong":return o*(1-Math.pow(2,-10*e/a))+t; case"easeOut":case"mcsEaseOut":default:var i=(e/=a)*e,r=i*e; return t+o*(.499999999999997*r*i+-2.5*i*i+5.5*r+-6.5*i+4*e);}}(g.time,h,v,a,n),p[t]=`${Math.round(g.currVal)}px`):p[t]=`${o}px`,d.call();}g.stop=0,"none"!==i&&null!=g.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(g.id):clearTimeout(g.id),g.id=null),l=1e3/60,g.time=m+l,s=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return S(),setTimeout(e,.01);},g.id=s(x);},V=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime();},Q=function(){var e=this; e._mTween||(e._mTween={top:{},left:{}}); for(var t=["top","left"],o=0; o<t.length; o++){var a=t[o]; e._mTween[a].id&&(window.requestAnimationFrame?window.cancelAnimationFrame(e._mTween[a].id):clearTimeout(e._mTween[a].id),e._mTween[a].id=null,e._mTween[a].stop=1);}},G=function(e,t){try{delete e[t];}catch(o){e[t]=null;}},J=function(e){return!(e.which&&1!==e.which);},K=function(e){var t=e.originalEvent.pointerType; return!(t&&"touch"!==t&&2!==t);},Z=function(e){return!isNaN(parseFloat(e))&&isFinite(e);},ee=function(e){var t=e.parents(".mCSB_container"); return[e.offset().top-t.offset().top,e.offset().left-t.offset().left];},te=function(){var e=function(){var e=["webkit","moz","ms","o"]; if("hidden"in document)return"hidden"; for(var t=0; t<e.length; t++)if(`${e[t]}Hidden`in document)return`${e[t]}Hidden`; return null;}(); return!!e&&document[e];},e.fn[o]=function(t){return c[t]?c[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!==typeof t&&t?void e.error(`Method ${t} does not exist`):c.init.apply(this,arguments);},e[o]=function(t){return c[t]?c[t].apply(this,Array.prototype.slice.call(arguments,1)):"object"!==typeof t&&t?void e.error(`Method ${t} does not exist`):c.init.apply(this,arguments);},e[o].defaults=a,window[o]=!0,e(window).bind("load",function(){e(".mCustomScrollbar")[o](),e.extend(e.expr[":"],{mcsInView:e.expr[":"].mcsInView||function(t){var o,a,n=e(t),i=n.parents(".mCSB_container"); if(i.length)return o=i.parent(),(a=[i[0].offsetTop,i[0].offsetLeft])[0]+ee(n)[0]>=0&&a[0]+ee(n)[0]<o.height()-n.outerHeight(!1)&&a[1]+ee(n)[1]>=0&&a[1]+ee(n)[1]<o.width()-n.outerWidth(!1);},mcsInSight:e.expr[":"].mcsInSight||function(t,o,a){var n,i,r,l,s=e(t),c=s.parents(".mCSB_container"),d="exact"===a[3]?[[1,0],[1,0]]:[[.9,.1],[.6,.4]]; if(c.length)return n=[s.outerHeight(!1),s.outerWidth(!1)],r=[c[0].offsetTop+ee(s)[0],c[0].offsetLeft+ee(s)[1]],i=[c.parent()[0].offsetHeight,c.parent()[0].offsetWidth],r[0]-i[0]*(l=[n[0]<i[0]?d[0]:d[1],n[1]<i[1]?d[0]:d[1]])[0][0]<0&&r[0]+n[0]-i[0]*l[0][1]>=0&&r[1]-i[1]*l[1][0]<0&&r[1]+n[1]-i[1]*l[1][1]>=0;},mcsOverflow:e.expr[":"].mcsOverflow||function(t){var o=e(t).data("mCS"); if(o)return o.overflowed[0]||o.overflowed[1];}});});});
/* Web Font Loader v1.6.27 - (c) Adobe Systems, Google. License: Apache 2.0 */(function () {
    function aa(a, b, c) { return a.call.apply(a.bind, arguments) } function ba(a, b, c) { if (!a) throw Error(); if (2 < arguments.length) { var d = Array.prototype.slice.call(arguments, 2); return function () { var c = Array.prototype.slice.call(arguments); Array.prototype.unshift.apply(c, d); return a.apply(b, c) } } return function () { return a.apply(b, arguments) } } function p(a, b, c) { p = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? aa : ba; return p.apply(null, arguments) } var q = Date.now || function () { return +new Date }; function ca(a, b) { this.a = a; this.m = b || a; this.c = this.m.document } var da = !!window.FontFace; function t(a, b, c, d) { b = a.c.createElement(b); if (c) for (var e in c) c.hasOwnProperty(e) && ("style" == e ? b.style.cssText = c[e] : b.setAttribute(e, c[e])); d && b.appendChild(a.c.createTextNode(d)); return b } function u(a, b, c) { a = a.c.getElementsByTagName(b)[0]; a || (a = document.documentElement); a.insertBefore(c, a.lastChild) } function v(a) { a.parentNode && a.parentNode.removeChild(a) }
    function w(a, b, c) { b = b || []; c = c || []; for (var d = a.className.split(/\s+/), e = 0; e < b.length; e += 1) { for (var f = !1, g = 0; g < d.length; g += 1)if (b[e] === d[g]) { f = !0; break } f || d.push(b[e]) } b = []; for (e = 0; e < d.length; e += 1) { f = !1; for (g = 0; g < c.length; g += 1)if (d[e] === c[g]) { f = !0; break } f || b.push(d[e]) } a.className = b.join(" ").replace(/\s+/g, " ").replace(/^\s+|\s+$/, "") } function y(a, b) { for (var c = a.className.split(/\s+/), d = 0, e = c.length; d < e; d++)if (c[d] == b) return !0; return !1 }
    function z(a) { if ("string" === typeof a.f) return a.f; var b = a.m.location.protocol; "about:" == b && (b = a.a.location.protocol); return "https:" == b ? "https:" : "http:" } function ea(a) { return a.m.location.hostname || a.a.location.hostname }
    function A(a, b, c) { function d() { k && e && f && (k(g), k = null) } b = t(a, "link", { rel: "stylesheet", href: b, media: "all" }); var e = !1, f = !0, g = null, k = c || null; da ? (b.onload = function () { e = !0; d() }, b.onerror = function () { e = !0; g = Error("Stylesheet failed to load"); d() }) : setTimeout(function () { e = !0; d() }, 0); u(a, "head", b) }
    function B(a, b, c, d) { var e = a.c.getElementsByTagName("head")[0]; if (e) { var f = t(a, "script", { src: b }), g = !1; f.onload = f.onreadystatechange = function () { g || this.readyState && "loaded" != this.readyState && "complete" != this.readyState || (g = !0, c && c(null), f.onload = f.onreadystatechange = null, "HEAD" == f.parentNode.tagName && e.removeChild(f)) }; e.appendChild(f); setTimeout(function () { g || (g = !0, c && c(Error("Script load timeout"))) }, d || 5E3); return f } return null }; function C() { this.a = 0; this.c = null } function D(a) { a.a++; return function () { a.a--; E(a) } } function F(a, b) { a.c = b; E(a) } function E(a) { 0 == a.a && a.c && (a.c(), a.c = null) }; function G(a) { this.a = a || "-" } G.prototype.c = function (a) { for (var b = [], c = 0; c < arguments.length; c++)b.push(arguments[c].replace(/[\W_]+/g, "").toLowerCase()); return b.join(this.a) }; function H(a, b) { this.c = a; this.f = 4; this.a = "n"; var c = (b || "n4").match(/^([nio])([1-9])$/i); c && (this.a = c[1], this.f = parseInt(c[2], 10)) } function fa(a) { return I(a) + " " + (a.f + "00") + " 300px " + J(a.c) } function J(a) { var b = []; a = a.split(/,\s*/); for (var c = 0; c < a.length; c++) { var d = a[c].replace(/['"]/g, ""); -1 != d.indexOf(" ") || /^\d/.test(d) ? b.push("'" + d + "'") : b.push(d) } return b.join(",") } function K(a) { return a.a + a.f } function I(a) { var b = "normal"; "o" === a.a ? b = "oblique" : "i" === a.a && (b = "italic"); return b }
    function ga(a) { var b = 4, c = "n", d = null; a && ((d = a.match(/(normal|oblique|italic)/i)) && d[1] && (c = d[1].substr(0, 1).toLowerCase()), (d = a.match(/([1-9]00|normal|bold)/i)) && d[1] && (/bold/i.test(d[1]) ? b = 7 : /[1-9]00/.test(d[1]) && (b = parseInt(d[1].substr(0, 1), 10)))); return c + b }; function ha(a, b) { this.c = a; this.f = a.m.document.documentElement; this.h = b; this.a = new G("-"); this.j = !1 !== b.events; this.g = !1 !== b.classes } function ia(a) { a.g && w(a.f, [a.a.c("wf", "loading")]); L(a, "loading") } function M(a) { if (a.g) { var b = y(a.f, a.a.c("wf", "active")), c = [], d = [a.a.c("wf", "loading")]; b || c.push(a.a.c("wf", "inactive")); w(a.f, c, d) } L(a, "inactive") } function L(a, b, c) { if (a.j && a.h[b]) if (c) a.h[b](c.c, K(c)); else a.h[b]() }; function ja() { this.c = {} } function ka(a, b, c) { var d = [], e; for (e in b) if (b.hasOwnProperty(e)) { var f = a.c[e]; f && d.push(f(b[e], c)) } return d }; function N(a, b) { this.c = a; this.f = b; this.a = t(this.c, "span", { "aria-hidden": "true" }, this.f) } function O(a) { u(a.c, "body", a.a) } function P(a) { return "display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:" + J(a.c) + ";" + ("font-style:" + I(a) + ";font-weight:" + (a.f + "00") + ";") }; function Q(a, b, c, d, e, f) { this.g = a; this.j = b; this.a = d; this.c = c; this.f = e || 3E3; this.h = f || void 0 } Q.prototype.start = function () { var a = this.c.m.document, b = this, c = q(), d = new Promise(function (d, e) { function k() { q() - c >= b.f ? e() : a.fonts.load(fa(b.a), b.h).then(function (a) { 1 <= a.length ? d() : setTimeout(k, 25) }, function () { e() }) } k() }), e = new Promise(function (a, d) { setTimeout(d, b.f) }); Promise.race([e, d]).then(function () { b.g(b.a) }, function () { b.j(b.a) }) }; function R(a, b, c, d, e, f, g) {
        this.v = a; this.B = b; this.c = c; this.a = d; this.s = g || "BESbswy"; this.f = {}; this.w = e || 3E3; this.u = f || null; this.o = this.j = this.h = this.g = null; this.g = new N(this.c, this.s); this.h = new N(this.c, this.s); this.j = new N(this.c, this.s); this.o = new N(this.c, this.s); a = new H(this.a.c + ",serif", K(this.a)); a = P(a); this.g.a.style.cssText = a; a = new H(this.a.c + ",sans-serif", K(this.a)); a = P(a); this.h.a.style.cssText = a; a = new H("serif", K(this.a)); a = P(a); this.j.a.style.cssText = a; a = new H("sans-serif", K(this.a)); a =
            P(a); this.o.a.style.cssText = a; O(this.g); O(this.h); O(this.j); O(this.o)
    } var S = { D: "serif", C: "sans-serif" }, T = null; function U() { if (null === T) { var a = /AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent); T = !!a && (536 > parseInt(a[1], 10) || 536 === parseInt(a[1], 10) && 11 >= parseInt(a[2], 10)) } return T } R.prototype.start = function () { this.f.serif = this.j.a.offsetWidth; this.f["sans-serif"] = this.o.a.offsetWidth; this.A = q(); la(this) };
    function ma(a, b, c) { for (var d in S) if (S.hasOwnProperty(d) && b === a.f[S[d]] && c === a.f[S[d]]) return !0; return !1 } function la(a) { var b = a.g.a.offsetWidth, c = a.h.a.offsetWidth, d; (d = b === a.f.serif && c === a.f["sans-serif"]) || (d = U() && ma(a, b, c)); d ? q() - a.A >= a.w ? U() && ma(a, b, c) && (null === a.u || a.u.hasOwnProperty(a.a.c)) ? V(a, a.v) : V(a, a.B) : na(a) : V(a, a.v) } function na(a) { setTimeout(p(function () { la(this) }, a), 50) } function V(a, b) { setTimeout(p(function () { v(this.g.a); v(this.h.a); v(this.j.a); v(this.o.a); b(this.a) }, a), 0) }; function W(a, b, c) { this.c = a; this.a = b; this.f = 0; this.o = this.j = !1; this.s = c } var X = null; W.prototype.g = function (a) { var b = this.a; b.g && w(b.f, [b.a.c("wf", a.c, K(a).toString(), "active")], [b.a.c("wf", a.c, K(a).toString(), "loading"), b.a.c("wf", a.c, K(a).toString(), "inactive")]); L(b, "fontactive", a); this.o = !0; oa(this) };
    W.prototype.h = function (a) { var b = this.a; if (b.g) { var c = y(b.f, b.a.c("wf", a.c, K(a).toString(), "active")), d = [], e = [b.a.c("wf", a.c, K(a).toString(), "loading")]; c || d.push(b.a.c("wf", a.c, K(a).toString(), "inactive")); w(b.f, d, e) } L(b, "fontinactive", a); oa(this) }; function oa(a) { 0 == --a.f && a.j && (a.o ? (a = a.a, a.g && w(a.f, [a.a.c("wf", "active")], [a.a.c("wf", "loading"), a.a.c("wf", "inactive")]), L(a, "active")) : M(a.a)) }; function pa(a) { this.j = a; this.a = new ja; this.h = 0; this.f = this.g = !0 } pa.prototype.load = function (a) { this.c = new ca(this.j, a.context || this.j); this.g = !1 !== a.events; this.f = !1 !== a.classes; qa(this, new ha(this.c, a), a) };
    function ra(a, b, c, d, e) {
        var f = 0 == --a.h; (a.f || a.g) && setTimeout(function () {
            var a = e || null, k = d || null || {}; if (0 === c.length && f) M(b.a); else {
                b.f += c.length; f && (b.j = f); var h, m = []; for (h = 0; h < c.length; h++) {
                    var l = c[h], n = k[l.c], r = b.a, x = l; r.g && w(r.f, [r.a.c("wf", x.c, K(x).toString(), "loading")]); L(r, "fontloading", x); r = null; if (null === X) if (window.FontFace) {
                        var x = /Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent), ya = /OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent) && /Apple/.exec(window.navigator.vendor);
                        X = x ? 42 < parseInt(x[1], 10) : ya ? !1 : !0
                    } else X = !1; X ? r = new Q(p(b.g, b), p(b.h, b), b.c, l, b.s, n) : r = new R(p(b.g, b), p(b.h, b), b.c, l, b.s, a, n); m.push(r)
                } for (h = 0; h < m.length; h++)m[h].start()
            }
        }, 0)
    } function qa(a, b, c) { var d = [], e = c.timeout; ia(b); var d = ka(a.a, c, a.c), f = new W(a.c, b, e); a.h = d.length; b = 0; for (c = d.length; b < c; b++)d[b].load(function (b, d, c) { ra(a, f, b, d, c) }) }; function sa(a, b) { this.c = a; this.a = b } function ta(a, b, c) { var d = z(a.c); a = (a.a.api || "fast.fonts.net/jsapi").replace(/^.*http(s?):(\/\/)?/, ""); return d + "//" + a + "/" + b + ".js" + (c ? "?v=" + c : "") }
    sa.prototype.load = function (a) {
        function b() { if (f["__mti_fntLst" + d]) { var c = f["__mti_fntLst" + d](), e = [], h; if (c) for (var m = 0; m < c.length; m++) { var l = c[m].fontfamily; void 0 != c[m].fontStyle && void 0 != c[m].fontWeight ? (h = c[m].fontStyle + c[m].fontWeight, e.push(new H(l, h))) : e.push(new H(l)) } a(e) } else setTimeout(function () { b() }, 50) } var c = this, d = c.a.projectId, e = c.a.version; if (d) {
            var f = c.c.m; B(this.c, ta(c, d, e), function (e) { e ? a([]) : (f["__MonotypeConfiguration__" + d] = function () { return c.a }, b()) }).id = "__MonotypeAPIScript__" +
                d
        } else a([])
    }; function ua(a, b) { this.c = a; this.a = b } ua.prototype.load = function (a) { var b, c, d = this.a.urls || [], e = this.a.families || [], f = this.a.testStrings || {}, g = new C; b = 0; for (c = d.length; b < c; b++)A(this.c, d[b], D(g)); var k = []; b = 0; for (c = e.length; b < c; b++)if (d = e[b].split(":"), d[1]) for (var h = d[1].split(","), m = 0; m < h.length; m += 1)k.push(new H(d[0], h[m])); else k.push(new H(d[0])); F(g, function () { a(k, f) }) }; function va(a, b, c) { a ? this.c = a : this.c = b + wa; this.a = []; this.f = []; this.g = c || "" } var wa = "//fonts.googleapis.com/css"; function xa(a, b) { for (var c = b.length, d = 0; d < c; d++) { var e = b[d].split(":"); 3 == e.length && a.f.push(e.pop()); var f = ""; 2 == e.length && "" != e[1] && (f = ":"); a.a.push(e.join(f)) } }
    function za(a) { if (0 == a.a.length) throw Error("No fonts to load!"); if (-1 != a.c.indexOf("kit=")) return a.c; for (var b = a.a.length, c = [], d = 0; d < b; d++)c.push(a.a[d].replace(/ /g, "+")); b = a.c + "?family=" + c.join("%7C"); 0 < a.f.length && (b += "&subset=" + a.f.join(",")); 0 < a.g.length && (b += "&text=" + encodeURIComponent(a.g)); return b }; function Aa(a) { this.f = a; this.a = []; this.c = {} }
    var Ba = { latin: "BESbswy", "latin-ext": "\u00e7\u00f6\u00fc\u011f\u015f", cyrillic: "\u0439\u044f\u0416", greek: "\u03b1\u03b2\u03a3", khmer: "\u1780\u1781\u1782", Hanuman: "\u1780\u1781\u1782" }, Ca = { thin: "1", extralight: "2", "extra-light": "2", ultralight: "2", "ultra-light": "2", light: "3", regular: "4", book: "4", medium: "5", "semi-bold": "6", semibold: "6", "demi-bold": "6", demibold: "6", bold: "7", "extra-bold": "8", extrabold: "8", "ultra-bold": "8", ultrabold: "8", black: "9", heavy: "9", l: "3", r: "4", b: "7" }, Da = { i: "i", italic: "i", n: "n", normal: "n" },
        Ea = /^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;
    function Fa(a) {
        for (var b = a.f.length, c = 0; c < b; c++) {
            var d = a.f[c].split(":"), e = d[0].replace(/\+/g, " "), f = ["n4"]; if (2 <= d.length) {
                var g; var k = d[1]; g = []; if (k) for (var k = k.split(","), h = k.length, m = 0; m < h; m++) { var l; l = k[m]; if (l.match(/^[\w-]+$/)) { var n = Ea.exec(l.toLowerCase()); if (null == n) l = ""; else { l = n[2]; l = null == l || "" == l ? "n" : Da[l]; n = n[1]; if (null == n || "" == n) n = "4"; else var r = Ca[n], n = r ? r : isNaN(n) ? "4" : n.substr(0, 1); l = [l, n].join("") } } else l = ""; l && g.push(l) } 0 < g.length && (f = g); 3 == d.length && (d = d[2], g = [], d = d ? d.split(",") :
                    g, 0 < d.length && (d = Ba[d[0]]) && (a.c[e] = d))
            } a.c[e] || (d = Ba[e]) && (a.c[e] = d); for (d = 0; d < f.length; d += 1)a.a.push(new H(e, f[d]))
        }
    }; function Ga(a, b) { this.c = a; this.a = b } var Ha = { Arimo: !0, Cousine: !0, Tinos: !0 }; Ga.prototype.load = function (a) { var b = new C, c = this.c, d = new va(this.a.api, z(c), this.a.text), e = this.a.families; xa(d, e); var f = new Aa(e); Fa(f); A(c, za(d), D(b)); F(b, function () { a(f.a, f.c, Ha) }) }; function Ia(a, b) { this.c = a; this.a = b } Ia.prototype.load = function (a) { var b = this.a.id, c = this.c.m; b ? B(this.c, (this.a.api || "https://use.typekit.net") + "/" + b + ".js", function (b) { if (b) a([]); else if (c.Typekit && c.Typekit.config && c.Typekit.config.fn) { b = c.Typekit.config.fn; for (var e = [], f = 0; f < b.length; f += 2)for (var g = b[f], k = b[f + 1], h = 0; h < k.length; h++)e.push(new H(g, k[h])); try { c.Typekit.load({ events: !1, classes: !1, async: !0 }) } catch (m) { } a(e) } }, 2E3) : a([]) }; function Ja(a, b) { this.c = a; this.f = b; this.a = [] } Ja.prototype.load = function (a) { var b = this.f.id, c = this.c.m, d = this; b ? (c.__webfontfontdeckmodule__ || (c.__webfontfontdeckmodule__ = {}), c.__webfontfontdeckmodule__[b] = function (b, c) { for (var g = 0, k = c.fonts.length; g < k; ++g) { var h = c.fonts[g]; d.a.push(new H(h.name, ga("font-weight:" + h.weight + ";font-style:" + h.style))) } a(d.a) }, B(this.c, z(this.c) + (this.f.api || "//f.fontdeck.com/s/css/js/") + ea(this.c) + "/" + b + ".js", function (b) { b && a([]) })) : a([]) }; var Y = new pa(window); Y.a.c.custom = function (a, b) { return new ua(b, a) }; Y.a.c.fontdeck = function (a, b) { return new Ja(b, a) }; Y.a.c.monotype = function (a, b) { return new sa(b, a) }; Y.a.c.typekit = function (a, b) { return new Ia(b, a) }; Y.a.c.google = function (a, b) { return new Ga(b, a) }; var Z = { load: p(Y.load, Y) }; "function" === typeof define && define.amd ? define(function () { return Z }) : "undefined" !== typeof module && module.exports ? module.exports = Z : (window.WebFont = Z, window.WebFontConfig && Y.load(window.WebFontConfig));
}());
!function (t, e) { "object" === typeof exports && "undefined" !== typeof module ? e(exports) : "function" === typeof define && define.amd ? define(["exports"], e) : e((t = t || self).canvg = {}); }(this, (function (t) { "use strict"; var e = "undefined" !== typeof globalThis ? globalThis : "undefined" !== typeof window ? window : "undefined" !== typeof global ? global : "undefined" !== typeof self ? self : {}; function r(t, e) { return t(e = { exports: {} }, e.exports), e.exports; } var n = function (t) { return t && t.Math == Math && t; }, i = n("object" === typeof globalThis && globalThis) || n("object" === typeof window && window) || n("object" === typeof self && self) || n("object" === typeof e && e) || Function("return this")(), o = function (t) { try { return !!t(); } catch (t) { return !0; } }, a = !o((function () { return 7 != Object.defineProperty({}, 1, { get: function () { return 7; } })[1]; })), u = {}.propertyIsEnumerable, s = Object.getOwnPropertyDescriptor, c = { f: s && !u.call({ 1: 2 }, 1) ? function (t) { var e = s(this, t); return !!e && e.enumerable; } : u }, l = function (t, e) { return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: e }; }, f = {}.toString, h = function (t) { return f.call(t).slice(8, -1); }, p = "".split, g = o((function () { return !Object("z").propertyIsEnumerable(0); })) ? function (t) { return "String" == h(t) ? p.call(t, "") : Object(t); } : Object, y = function (t) { if (null == t) throw TypeError(`Can't call method on ${  t}`); return t; }, v = function (t) { return g(y(t)); }, d = function (t) { return "object" === typeof t ? null !== t : "function" === typeof t; }, m = function (t, e) { if (!d(t)) return t; var r, n; if (e && "function" === typeof (r = t.toString) && !d(n = r.call(t))) return n; if ("function" === typeof (r = t.valueOf) && !d(n = r.call(t))) return n; if (!e && "function" === typeof (r = t.toString) && !d(n = r.call(t))) return n; throw TypeError("Can't convert object to primitive value"); }, x = {}.hasOwnProperty, b = function (t, e) { return x.call(t, e); }, w = i.document, S = d(w) && d(w.createElement), k = function (t) { return S ? w.createElement(t) : {}; }, P = !a && !o((function () { return 7 != Object.defineProperty(k("div"), "a", { get: function () { return 7; } }).a; })), R = Object.getOwnPropertyDescriptor, A = { f: a ? R : function (t, e) { if (t = v(t), e = m(e, !0), P) try { return R(t, e); } catch (t) { } if (b(t, e)) return l(!c.f.call(t, e), t[e]); } }, E = function (t) { if (!d(t)) throw TypeError(`${String(t)  } is not an object`); return t; }, C = Object.defineProperty, T = { f: a ? C : function (t, e, r) { if (E(t), e = m(e, !0), E(r), P) try { return C(t, e, r); } catch (t) { } if ("get" in r || "set" in r) throw TypeError("Accessors not supported"); return "value" in r && (t[e] = r.value), t; } }, O = a ? function (t, e, r) { return T.f(t, e, l(1, r)); } : function (t, e, r) { return t[e] = r, t; }, M = function (t, e) { try { O(i, t, e); } catch (r) { i[t] = e; } return e; }, D = i["__core-js_shared__"] || M("__core-js_shared__", {}), V = Function.toString; "function" !== typeof D.inspectSource && (D.inspectSource = function (t) { return V.call(t); }); var N, I, L, j = D.inspectSource, z = i.WeakMap, B = "function" === typeof z && /native code/.test(j(z)), F = r((function (t) { (t.exports = function (t, e) { return D[t] || (D[t] = void 0 !== e ? e : {}); })("versions", []).push({ version: "3.6.4", mode: "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" }); })), _ = 0, $ = Math.random(), G = function (t) { return `Symbol(${  String(void 0 === t ? "" : t)  })_${  (++_ + $).toString(36)}`; }, q = F("keys"), U = function (t) { return q[t] || (q[t] = G(t)); }, W = {}, H = i.WeakMap; if (B) { var X = new H, Y = X.get, Q = X.has, Z = X.set; N = function (t, e) { return Z.call(X, t, e), e; }, I = function (t) { return Y.call(X, t) || {}; }, L = function (t) { return Q.call(X, t); }; } else { var K = U("state"); W[K] = !0, N = function (t, e) { return O(t, K, e), e; }, I = function (t) { return b(t, K) ? t[K] : {}; }, L = function (t) { return b(t, K); }; } var J, tt, et = { set: N, get: I, has: L, enforce: function (t) { return L(t) ? I(t) : N(t, {}); }, getterFor: function (t) { return function (e) { var r; if (!d(e) || (r = I(e)).type !== t) throw TypeError(`Incompatible receiver, ${  t  } required`); return r; }; } }, rt = r((function (t) { var e = et.get, r = et.enforce, n = String(String).split("String"); (t.exports = function (t, e, o, a) { var u = !!a && !!a.unsafe, s = !!a && !!a.enumerable, c = !!a && !!a.noTargetGet; "function" === typeof o && ("string" !== typeof e || b(o, "name") || O(o, "name", e), r(o).source = n.join("string" === typeof e ? e : "")), t !== i ? (u ? !c && t[e] && (s = !0) : delete t[e], s ? t[e] = o : O(t, e, o)) : s ? t[e] = o : M(e, o); })(Function.prototype, "toString", (function () { return "function" === typeof this && e(this).source || j(this); })); })), nt = i, it = function (t) { return "function" === typeof t ? t : void 0; }, ot = function (t, e) { return arguments.length < 2 ? it(nt[t]) || it(i[t]) : nt[t] && nt[t][e] || i[t] && i[t][e]; }, at = Math.ceil, ut = Math.floor, st = function (t) { return isNaN(t = +t) ? 0 : (t > 0 ? ut : at)(t); }, ct = Math.min, lt = function (t) { return t > 0 ? ct(st(t), 9007199254740991) : 0; }, ft = Math.max, ht = Math.min, pt = function (t, e) { var r = st(t); return r < 0 ? ft(r + e, 0) : ht(r, e); }, gt = function (t) { return function (e, r, n) { var i, o = v(e), a = lt(o.length), u = pt(n, a); if (t && r != r) { for (; a > u;)if ((i = o[u++]) != i) return !0; } else for (; a > u; u++)if ((t || u in o) && o[u] === r) return t || u || 0; return !t && -1; }; }, yt = { includes: gt(!0), indexOf: gt(!1) }, vt = yt.indexOf, dt = function (t, e) { var r, n = v(t), i = 0, o = []; for (r in n) !b(W, r) && b(n, r) && o.push(r); for (; e.length > i;)b(n, r = e[i++]) && (~vt(o, r) || o.push(r)); return o; }, mt = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"], xt = mt.concat("length", "prototype"), bt = { f: Object.getOwnPropertyNames || function (t) { return dt(t, xt); } }, wt = { f: Object.getOwnPropertySymbols }, St = ot("Reflect", "ownKeys") || function (t) { var e = bt.f(E(t)), r = wt.f; return r ? e.concat(r(t)) : e; }, kt = function (t, e) { for (var r = St(e), n = T.f, i = A.f, o = 0; o < r.length; o++) { var a = r[o]; b(t, a) || n(t, a, i(e, a)); } }, Pt = /#|\.prototype\./, Rt = function (t, e) { var r = Et[At(t)]; return r == Tt || r != Ct && ("function" === typeof e ? o(e) : !!e); }, At = Rt.normalize = function (t) { return String(t).replace(Pt, ".").toLowerCase(); }, Et = Rt.data = {}, Ct = Rt.NATIVE = "N", Tt = Rt.POLYFILL = "P", Ot = Rt, Mt = A.f, Dt = function (t, e) { var r, n, o, a, u, s = t.target, c = t.global, l = t.stat; if (r = c ? i : l ? i[s] || M(s, {}) : (i[s] || {}).prototype) for (n in e) { if (a = e[n], o = t.noTargetGet ? (u = Mt(r, n)) && u.value : r[n], !Ot(c ? n : s + (l ? "." : "#") + n, t.forced) && void 0 !== o) { if (typeof a === typeof o) continue; kt(a, o); } (t.sham || o && o.sham) && O(a, "sham", !0), rt(r, n, a, t); } }, Vt = function (t) { if ("function" !== typeof t) throw TypeError(`${String(t)  } is not a function`); return t; }, Nt = function (t, e, r) { if (Vt(t), void 0 === e) return t; switch (r) { case 0: return function () { return t.call(e); }; case 1: return function (r) { return t.call(e, r); }; case 2: return function (r, n) { return t.call(e, r, n); }; case 3: return function (r, n, i) { return t.call(e, r, n, i); }; }return function () { return t.apply(e, arguments); }; }, It = function (t) { return Object(y(t)); }, Lt = Array.isArray || function (t) { return "Array" == h(t); }, jt = !!Object.getOwnPropertySymbols && !o((function () { return !String(Symbol()); })), zt = jt && !Symbol.sham && "symbol" === typeof Symbol.iterator, Bt = F("wks"), Ft = i.Symbol, _t = zt ? Ft : Ft && Ft.withoutSetter || G, $t = function (t) { return b(Bt, t) || (jt && b(Ft, t) ? Bt[t] = Ft[t] : Bt[t] = _t(`Symbol.${  t}`)), Bt[t]; }, Gt = $t("species"), qt = function (t, e) { var r; return Lt(t) && ("function" !== typeof (r = t.constructor) || r !== Array && !Lt(r.prototype) ? d(r) && null === (r = r[Gt]) && (r = void 0) : r = void 0), new (void 0 === r ? Array : r)(0 === e ? 0 : e); }, Ut = [].push, Wt = function (t) { var e = 1 == t, r = 2 == t, n = 3 == t, i = 4 == t, o = 6 == t, a = 5 == t || o; return function (u, s, c, l) { for (var f, h, p = It(u), y = g(p), v = Nt(s, c, 3), d = lt(y.length), m = 0, x = l || qt, b = e ? x(u, d) : r ? x(u, 0) : void 0; d > m; m++)if ((a || m in y) && (h = v(f = y[m], m, p), t)) if (e) b[m] = h; else if (h) switch (t) { case 3: return !0; case 5: return f; case 6: return m; case 2: Ut.call(b, f); } else if (i) return !1; return o ? -1 : n || i ? i : b; }; }, Ht = { forEach: Wt(0), map: Wt(1), filter: Wt(2), some: Wt(3), every: Wt(4), find: Wt(5), findIndex: Wt(6) }, Xt = ot("navigator", "userAgent") || "", Yt = i.process, Qt = Yt && Yt.versions, Zt = Qt && Qt.v8; Zt ? tt = (J = Zt.split("."))[0] + J[1] : Xt && (!(J = Xt.match(/Edge\/(\d+)/)) || J[1] >= 74) && (J = Xt.match(/Chrome\/(\d+)/)) && (tt = J[1]); var Kt = tt && +tt, Jt = $t("species"), te = function (t) { return Kt >= 51 || !o((function () { var e = []; return (e.constructor = {})[Jt] = function () { return { foo: 1 }; }, 1 !== e[t](Boolean).foo; })); }, ee = Object.defineProperty, re = {}, ne = function (t) { throw t; }, ie = function (t, e) { if (b(re, t)) return re[t]; e || (e = {}); var r = [][t], n = !!b(e, "ACCESSORS") && e.ACCESSORS, i = b(e, 0) ? e[0] : ne, u = b(e, 1) ? e[1] : void 0; return re[t] = !!r && !o((function () { if (n && !a) return !0; var t = { length: -1 }; n ? ee(t, 1, { enumerable: !0, get: ne }) : t[1] = 1, r.call(t, i, u); })); }, oe = Ht.map, ae = te("map"), ue = ie("map"); Dt({ target: "Array", proto: !0, forced: !ae || !ue }, { map: function (t) { return oe(this, t, arguments.length > 1 ? arguments[1] : void 0); } }); var se = function () { var t = E(this), e = ""; return t.global && (e += "g"), t.ignoreCase && (e += "i"), t.multiline && (e += "m"), t.dotAll && (e += "s"), t.unicode && (e += "u"), t.sticky && (e += "y"), e; }; function ce(t, e) { return RegExp(t, e); } var le, fe, he = { UNSUPPORTED_Y: o((function () { var t = ce("a", "y"); return t.lastIndex = 2, null != t.exec("abcd"); })), BROKEN_CARET: o((function () { var t = ce("^r", "gy"); return t.lastIndex = 2, null != t.exec("str"); })) }, pe = RegExp.prototype.exec, ge = String.prototype.replace, ye = pe, ve = (le = /a/, fe = /b*/g, pe.call(le, "a"), pe.call(fe, "a"), 0 !== le.lastIndex || 0 !== fe.lastIndex), de = he.UNSUPPORTED_Y || he.BROKEN_CARET, me = void 0 !== /()??/.exec("")[1]; (ve || me || de) && (ye = function (t) { var e, r, n, i, o = this, a = de && o.sticky, u = se.call(o), s = o.source, c = 0, l = t; return a && (-1 === (u = u.replace("y", "")).indexOf("g") && (u += "g"), l = String(t).slice(o.lastIndex), o.lastIndex > 0 && (!o.multiline || o.multiline && "\n" !== t[o.lastIndex - 1]) && (s = `(?: ${  s  })`, l = ` ${  l}`, c++), r = new RegExp(`^(?:${  s  })`, u)), me && (r = new RegExp(`^${  s  }$(?!\\s)`, u)), ve && (e = o.lastIndex), n = pe.call(a ? r : o, l), a ? n ? (n.input = n.input.slice(c), n[0] = n[0].slice(c), n.index = o.lastIndex, o.lastIndex += n[0].length) : o.lastIndex = 0 : ve && n && (o.lastIndex = o.global ? n.index + n[0].length : e), me && n && n.length > 1 && ge.call(n[0], r, (function () { for (i = 1; i < arguments.length - 2; i++)void 0 === arguments[i] && (n[i] = void 0); })), n; }); var xe = ye; Dt({ target: "RegExp", proto: !0, forced: /./.exec !== xe }, { exec: xe }); var be = $t("species"), we = !o((function () { var t = /./; return t.exec = function () { var t = []; return t.groups = { a: "7" }, t; }, "7" !== "".replace(t, "$<a>"); })), Se = "$0" === "a".replace(/./, "$0"), ke = $t("replace"), Pe = !!/./[ke] && "" === /./[ke]("a", "$0"), Re = !o((function () { var t = /(?:)/, e = t.exec; t.exec = function () { return e.apply(this, arguments); }; var r = "ab".split(t); return 2 !== r.length || "a" !== r[0] || "b" !== r[1]; })), Ae = function (t, e, r, n) { var i = $t(t), a = !o((function () { var e = {}; return e[i] = function () { return 7; }, 7 != ""[t](e); })), u = a && !o((function () { var e = !1, r = /a/; return "split" === t && ((r = {}).constructor = {}, r.constructor[be] = function () { return r; }, r.flags = "", r[i] = /./[i]), r.exec = function () { return e = !0, null; }, r[i](""), !e; })); if (!a || !u || "replace" === t && (!we || !Se || Pe) || "split" === t && !Re) { var s = /./[i], c = r(i, ""[t], (function (t, e, r, n, i) { return e.exec === xe ? a && !i ? { done: !0, value: s.call(e, r, n) } : { done: !0, value: t.call(r, e, n) } : { done: !1 }; }), { REPLACE_KEEPS_$0: Se, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: Pe }), l = c[0], f = c[1]; rt(String.prototype, t, l), rt(RegExp.prototype, i, 2 == e ? function (t, e) { return f.call(t, this, e); } : function (t) { return f.call(t, this); }); } n && O(RegExp.prototype[i], "sham", !0); }, Ee = function (t) { return function (e, r) { var n, i, o = String(y(e)), a = st(r), u = o.length; return a < 0 || a >= u ? t ? "" : void 0 : (n = o.charCodeAt(a)) < 55296 || n > 56319 || a + 1 === u || (i = o.charCodeAt(a + 1)) < 56320 || i > 57343 ? t ? o.charAt(a) : n : t ? o.slice(a, a + 2) : i - 56320 + (n - 55296 << 10) + 65536; }; }, Ce = { codeAt: Ee(!1), charAt: Ee(!0) }, Te = Ce.charAt, Oe = function (t, e, r) { return e + (r ? Te(t, e).length : 1); }, Me = function (t, e) { var r = t.exec; if ("function" === typeof r) { var n = r.call(t, e); if ("object" !== typeof n) throw TypeError("RegExp exec method returned something other than an Object or null"); return n; } if ("RegExp" !== h(t)) throw TypeError("RegExp#exec called on incompatible receiver"); return xe.call(t, e); }; Ae("match", 1, (function (t, e, r) { return [function (e) { var r = y(this), n = null == e ? void 0 : e[t]; return void 0 !== n ? n.call(e, r) : new RegExp(e)[t](String(r)); }, function (t) { var n = r(e, t, this); if (n.done) return n.value; var i = E(t), o = String(this); if (!i.global) return Me(i, o); var a = i.unicode; i.lastIndex = 0; for (var u, s = [], c = 0; null !== (u = Me(i, o));) { var l = String(u[0]); s[c] = l, "" === l && (i.lastIndex = Oe(o, lt(i.lastIndex), a)), c++; } return 0 === c ? null : s; }]; })); var De = Math.max, Ve = Math.min, Ne = Math.floor, Ie = /\$([$&'`]|\d\d?|<[^>]*>)/g, Le = /\$([$&'`]|\d\d?)/g; Ae("replace", 2, (function (t, e, r, n) { var i = n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, o = n.REPLACE_KEEPS_$0, a = i ? "$" : "$0"; return [function (r, n) { var i = y(this), o = null == r ? void 0 : r[t]; return void 0 !== o ? o.call(r, i, n) : e.call(String(i), r, n); }, function (t, n) { if (!i && o || "string" === typeof n && -1 === n.indexOf(a)) { var s = r(e, t, this, n); if (s.done) return s.value; } var c = E(t), l = String(this), f = "function" === typeof n; f || (n = String(n)); var h = c.global; if (h) { var p = c.unicode; c.lastIndex = 0; } for (var g = []; ;) { var y = Me(c, l); if (null === y) break; if (g.push(y), !h) break; "" === String(y[0]) && (c.lastIndex = Oe(l, lt(c.lastIndex), p)); } for (var v, d = "", m = 0, x = 0; x < g.length; x++) { y = g[x]; for (var b = String(y[0]), w = De(Ve(st(y.index), l.length), 0), S = [], k = 1; k < y.length; k++)S.push(void 0 === (v = y[k]) ? v : String(v)); var P = y.groups; if (f) { var R = [b].concat(S, w, l); void 0 !== P && R.push(P); var A = String(n.apply(void 0, R)); } else A = u(b, l, w, S, P, n); w >= m && (d += l.slice(m, w) + A, m = w + b.length); } return d + l.slice(m); }]; function u(t, r, n, i, o, a) { var u = n + t.length, s = i.length, c = Le; return void 0 !== o && (o = It(o), c = Ie), e.call(a, c, (function (e, a) { var c; switch (a.charAt(0)) { case "$": return "$"; case "&": return t; case "`": return r.slice(0, n); case "'": return r.slice(u); case "<": c = o[a.slice(1, -1)]; break; default: var l = +a; if (0 === l) return e; if (l > s) { var f = Ne(l / 10); return 0 === f ? e : f <= s ? void 0 === i[f - 1] ? a.charAt(1) : i[f - 1] + a.charAt(1) : e; } c = i[l - 1]; }return void 0 === c ? "" : c; })); } })); var je, ze = $t("match"), Be = function (t) { var e; return d(t) && (void 0 !== (e = t[ze]) ? !!e : "RegExp" == h(t)); }, Fe = function (t) { if (Be(t)) throw TypeError("The method doesn't accept regular expressions"); return t; }, _e = $t("match"), $e = function (t) { var e = /./; try { "/./"[t](e); } catch (r) { try { return e[_e] = !1, "/./"[t](e); } catch (t) { } } return !1; }, Ge = A.f, qe = "".startsWith, Ue = Math.min, We = $e("startsWith"), He = !(We || (je = Ge(String.prototype, "startsWith"), !je || je.writable)); function Xe(t) { return t.replace(/(?!\u3000)\s+/gm, " "); } function Ye(t) { return t.replace(/^[\n \t]+/, ""); } function Qe(t) { return t.replace(/[\n \t]+$/, ""); } function Ze(t) { return ((t || "").match(/-?(\d+(?:\.\d*(?:[eE][+-]?\d+)?)?|\.\d+)(?=\D|$)/gm) || []).map(parseFloat); } Dt({ target: "String", proto: !0, forced: !He && !We }, { startsWith: function (t) { var e = String(y(this)); Fe(t); var r = lt(Ue(arguments.length > 1 ? arguments[1] : void 0, e.length)), n = String(t); return qe ? qe.call(e, n, r) : e.slice(r, r + n.length) === n; } }); var Ke = /^[A-Z-]+$/; function Je(t) { return Ke.test(t) ? t.toLowerCase() : t; } function tr(t) { var e = t.match(/url\(('([^']+)'|"([^"]+)"|([^'"\)]+))\)/) || []; return e[2] || e[3] || e[4]; } function er(t) { if (!t.startsWith("rgb")) return t; var e = 3; return t.replace(/\d+(\.\d+)?/g, (function (t, r) { return e-- && r ? String(Math.round(parseFloat(t))) : t; })); } var rr = function (t, e) { var r = [][t]; return !!r && o((function () { r.call(null, e || function () { throw 1; }, 1); })); }, nr = [].join, ir = g != Object, or = rr("join", ","); Dt({ target: "Array", proto: !0, forced: ir || !or }, { join: function (t) { return nr.call(v(this), void 0 === t ? "," : t); } }); var ar = function (t) { if (Array.isArray(t)) return t; }; var ur = function (t, e) { if ("undefined" !== typeof Symbol && Symbol.iterator in Object(t)) { var r = [], n = !0, i = !1, o = void 0; try { for (var a, u = t[Symbol.iterator](); !(n = (a = u.next()).done) && (r.push(a.value), !e || r.length !== e); n = !0); } catch (t) { i = !0, o = t; } finally { try { n || null == u.return || u.return(); } finally { if (i) throw o; } } return r; } }; var sr = function (t, e) { (null == e || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++)n[r] = t[r]; return n; }; var cr = function (t, e) { if (t) { if ("string" === typeof t) return sr(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); return "Object" === r && t.constructor && (r = t.constructor.name), "Map" === r || "Set" === r ? Array.from(r) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? sr(t, e) : void 0; } }; var lr = function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }; var fr = function (t, e) { return ar(t) || ur(t, e) || cr(t, e) || lr(); }, hr = /(\[[^\]]+\])/g, pr = /(#[^\s\+>~\.\[:]+)/g, gr = /(\.[^\s\+>~\.\[:]+)/g, yr = /(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi, vr = /(:[\w-]+\([^\)]*\))/gi, dr = /(:[^\s\+>~\.\[:]+)/g, mr = /([^\s\+>~\.\[:]+)/g; function xr(t, e) { var r = t.match(e); return r ? [t.replace(e, " "), r.length] : [t, 0]; } function br(t) { var e = [0, 0, 0], r = t.replace(/:not\(([^\)]*)\)/g, "     $1 ").replace(/{[\s\S]*/gm, " "), n = 0, i = xr(r, hr), o = fr(i, 2); r = o[0], n = o[1], e[1] += n; var a = xr(r, pr), u = fr(a, 2); r = u[0], n = u[1], e[0] += n; var s = xr(r, gr), c = fr(s, 2); r = c[0], n = c[1], e[1] += n; var l = xr(r, yr), f = fr(l, 2); r = f[0], n = f[1], e[2] += n; var h = xr(r, vr), p = fr(h, 2); r = p[0], n = p[1], e[1] += n; var g = xr(r, dr), y = fr(g, 2); r = y[0], n = y[1], e[1] += n; var v = xr(r = r.replace(/[\*\s\+>~]/g, " ").replace(/[#\.]/g, " "), mr), d = fr(v, 2); return r = d[0], n = d[1], e[2] += n, e.join(""); } function wr(t) { return Math.sqrt(Math.pow(t[0], 2) + Math.pow(t[1], 2)); } function Sr(t, e) { return (t[0] * e[0] + t[1] * e[1]) / (wr(t) * wr(e)); } function kr(t, e) { return (t[0] * e[1] < t[1] * e[0] ? -1 : 1) * Math.acos(Sr(t, e)); } function Pr(t) { return t * t * t; } function Rr(t) { return 3 * t * t * (1 - t); } function Ar(t) { return 3 * t * (1 - t) * (1 - t); } function Er(t) { return (1 - t) * (1 - t) * (1 - t); } function Cr(t) { return t * t; } function Tr(t) { return 2 * t * (1 - t); } function Or(t) { return (1 - t) * (1 - t); } var Mr, Dr = Object.keys || function (t) { return dt(t, mt); }, Vr = a ? Object.defineProperties : function (t, e) { E(t); for (var r, n = Dr(e), i = n.length, o = 0; i > o;)T.f(t, r = n[o++], e[r]); return t; }, Nr = ot("document", "documentElement"), Ir = U("IE_PROTO"), Lr = function () { }, jr = function (t) { return `<script>${  t  }<\/script>`; }, zr = function () { try { Mr = document.domain && new ActiveXObject("htmlfile"); } catch (t) { } var t, e; zr = Mr ? function (t) { t.write(jr("")), t.close(); var e = t.parentWindow.Object; return t = null, e; }(Mr) : ((e = k("iframe")).style.display = "none", Nr.appendChild(e), e.src = String("javascript:"), (t = e.contentWindow.document).open(), t.write(jr("document.F=Object")), t.close(), t.F); for (var r = mt.length; r--;)delete zr.prototype[mt[r]]; return zr(); }; W[Ir] = !0; var Br = Object.create || function (t, e) { var r; return null !== t ? (Lr.prototype = E(t), r = new Lr, Lr.prototype = null, r[Ir] = t) : r = zr(), void 0 === e ? r : Vr(r, e); }, Fr = bt.f, _r = {}.toString, $r = "object" === typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [], Gr = { f: function (t) { return $r && "[object Window]" == _r.call(t) ? function (t) { try { return Fr(t); } catch (t) { return $r.slice(); } }(t) : Fr(v(t)); } }, qr = { f: $t }, Ur = T.f, Wr = function (t) { var e = nt.Symbol || (nt.Symbol = {}); b(e, t) || Ur(e, t, { value: qr.f(t) }); }, Hr = T.f, Xr = $t("toStringTag"), Yr = function (t, e, r) { t && !b(t = r ? t : t.prototype, Xr) && Hr(t, Xr, { configurable: !0, value: e }); }, Qr = Ht.forEach, Zr = U("hidden"), Kr = $t("toPrimitive"), Jr = et.set, tn = et.getterFor("Symbol"), en = Object.prototype, rn = i.Symbol, nn = ot("JSON", "stringify"), on = A.f, an = T.f, un = Gr.f, sn = c.f, cn = F("symbols"), ln = F("op-symbols"), fn = F("string-to-symbol-registry"), hn = F("symbol-to-string-registry"), pn = F("wks"), gn = i.QObject, yn = !gn || !gn.prototype || !gn.prototype.findChild, vn = a && o((function () { return 7 != Br(an({}, "a", { get: function () { return an(this, "a", { value: 7 }).a; } })).a; })) ? function (t, e, r) { var n = on(en, e); n && delete en[e], an(t, e, r), n && t !== en && an(en, e, n); } : an, dn = function (t, e) { var r = cn[t] = Br(rn.prototype); return Jr(r, { type: "Symbol", tag: t, description: e }), a || (r.description = e), r; }, mn = zt ? function (t) { return "symbol" === typeof t; } : function (t) { return Object(t) instanceof rn; }, xn = function (t, e, r) { t === en && xn(ln, e, r), E(t); var n = m(e, !0); return E(r), b(cn, n) ? (r.enumerable ? (b(t, Zr) && t[Zr][n] && (t[Zr][n] = !1), r = Br(r, { enumerable: l(0, !1) })) : (b(t, Zr) || an(t, Zr, l(1, {})), t[Zr][n] = !0), vn(t, n, r)) : an(t, n, r); }, bn = function (t, e) { E(t); var r = v(e), n = Dr(r).concat(Pn(r)); return Qr(n, (function (e) { a && !wn.call(r, e) || xn(t, e, r[e]); })), t; }, wn = function (t) { var e = m(t, !0), r = sn.call(this, e); return !(this === en && b(cn, e) && !b(ln, e)) && (!(r || !b(this, e) || !b(cn, e) || b(this, Zr) && this[Zr][e]) || r); }, Sn = function (t, e) { var r = v(t), n = m(e, !0); if (r !== en || !b(cn, n) || b(ln, n)) { var i = on(r, n); return !i || !b(cn, n) || b(r, Zr) && r[Zr][n] || (i.enumerable = !0), i; } }, kn = function (t) { var e = un(v(t)), r = []; return Qr(e, (function (t) { b(cn, t) || b(W, t) || r.push(t); })), r; }, Pn = function (t) { var e = t === en, r = un(e ? ln : v(t)), n = []; return Qr(r, (function (t) { !b(cn, t) || e && !b(en, t) || n.push(cn[t]); })), n; }; if (jt || (rt((rn = function () { if (this instanceof rn) throw TypeError("Symbol is not a constructor"); var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0, e = G(t), r = function (t) { this === en && r.call(ln, t), b(this, Zr) && b(this[Zr], e) && (this[Zr][e] = !1), vn(this, e, l(1, t)); }; return a && yn && vn(en, e, { configurable: !0, set: r }), dn(e, t); }).prototype, "toString", (function () { return tn(this).tag; })), rt(rn, "withoutSetter", (function (t) { return dn(G(t), t); })), c.f = wn, T.f = xn, A.f = Sn, bt.f = Gr.f = kn, wt.f = Pn, qr.f = function (t) { return dn($t(t), t); }, a && (an(rn.prototype, "description", { configurable: !0, get: function () { return tn(this).description; } }), rt(en, "propertyIsEnumerable", wn, { unsafe: !0 }))), Dt({ global: !0, wrap: !0, forced: !jt, sham: !jt }, { Symbol: rn }), Qr(Dr(pn), (function (t) { Wr(t); })), Dt({ target: "Symbol", stat: !0, forced: !jt }, { for: function (t) { var e = String(t); if (b(fn, e)) return fn[e]; var r = rn(e); return fn[e] = r, hn[r] = e, r; }, keyFor: function (t) { if (!mn(t)) throw TypeError(`${t  } is not a symbol`); if (b(hn, t)) return hn[t]; }, useSetter: function () { yn = !0; }, useSimple: function () { yn = !1; } }), Dt({ target: "Object", stat: !0, forced: !jt, sham: !a }, { create: function (t, e) { return void 0 === e ? Br(t) : bn(Br(t), e); }, defineProperty: xn, defineProperties: bn, getOwnPropertyDescriptor: Sn }), Dt({ target: "Object", stat: !0, forced: !jt }, { getOwnPropertyNames: kn, getOwnPropertySymbols: Pn }), Dt({ target: "Object", stat: !0, forced: o((function () { wt.f(1); })) }, { getOwnPropertySymbols: function (t) { return wt.f(It(t)); } }), nn) { var Rn = !jt || o((function () { var t = rn(); return "[null]" != nn([t]) || "{}" != nn({ a: t }) || "{}" != nn(Object(t)); })); Dt({ target: "JSON", stat: !0, forced: Rn }, { stringify: function (t, e, r) { for (var n, i = [t], o = 1; arguments.length > o;)i.push(arguments[o++]); if (n = e, (d(e) || void 0 !== t) && !mn(t)) return Lt(e) || (e = function (t, e) { if ("function" === typeof n && (e = n.call(this, t, e)), !mn(e)) return e; }), i[1] = e, nn.apply(null, i); } }); } rn.prototype[Kr] || O(rn.prototype, Kr, rn.prototype.valueOf), Yr(rn, "Symbol"), W[Zr] = !0; var An = Ht.filter, En = te("filter"), Cn = ie("filter"); Dt({ target: "Array", proto: !0, forced: !En || !Cn }, { filter: function (t) { return An(this, t, arguments.length > 1 ? arguments[1] : void 0); } }); var Tn = Ht.forEach, On = rr("forEach"), Mn = ie("forEach"), Dn = On && Mn ? [].forEach : function (t) { return Tn(this, t, arguments.length > 1 ? arguments[1] : void 0); }; Dt({ target: "Array", proto: !0, forced: [].forEach != Dn }, { forEach: Dn }); var Vn = A.f, Nn = o((function () { Vn(1); })); Dt({ target: "Object", stat: !0, forced: !a || Nn, sham: !a }, { getOwnPropertyDescriptor: function (t, e) { return Vn(v(t), e); } }); var In = function (t, e, r) { var n = m(e); n in t ? T.f(t, n, l(0, r)) : t[n] = r; }; Dt({ target: "Object", stat: !0, sham: !a }, { getOwnPropertyDescriptors: function (t) { for (var e, r, n = v(t), i = A.f, o = St(n), a = {}, u = 0; o.length > u;)void 0 !== (r = i(n, e = o[u++])) && In(a, e, r); return a; } }); var Ln = o((function () { Dr(1); })); Dt({ target: "Object", stat: !0, forced: Ln }, { keys: function (t) { return Dr(It(t)); } }); var jn = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 }; for (var zn in jn) { var Bn = i[zn], Fn = Bn && Bn.prototype; if (Fn && Fn.forEach !== Dn) try { O(Fn, "forEach", Dn); } catch (t) { Fn.forEach = Dn; } } var _n = r((function (t) { var e = function (t) { var e = Object.prototype, r = e.hasOwnProperty, n = "function" === typeof Symbol ? Symbol : {}, i = n.iterator || "@@iterator", o = n.asyncIterator || "@@asyncIterator", a = n.toStringTag || "@@toStringTag"; function u(t, e, r, n) { var i = e && e.prototype instanceof l ? e : l, o = Object.create(i.prototype), a = new S(n || []); return o._invoke = function (t, e, r) { var n = "suspendedStart"; return function (i, o) { if ("executing" === n) throw new Error("Generator is already running"); if ("completed" === n) { if ("throw" === i) throw o; return P(); } for (r.method = i, r.arg = o; ;) { var a = r.delegate; if (a) { var u = x(a, r); if (u) { if (u === c) continue; return u; } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if ("suspendedStart" === n) throw n = "completed", r.arg; r.dispatchException(r.arg); } else "return" === r.method && r.abrupt("return", r.arg); n = "executing"; var l = s(t, e, r); if ("normal" === l.type) { if (n = r.done ? "completed" : "suspendedYield", l.arg === c) continue; return { value: l.arg, done: r.done }; } "throw" === l.type && (n = "completed", r.method = "throw", r.arg = l.arg); } }; }(t, r, a), o; } function s(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } t.wrap = u; var c = {}; function l() { } function f() { } function h() { } var p = {}; p[i] = function () { return this; }; var g = Object.getPrototypeOf, y = g && g(g(k([]))); y && y !== e && r.call(y, i) && (p = y); var v = h.prototype = l.prototype = Object.create(p); function d(t) { ["next", "throw", "return"].forEach((function (e) { t[e] = function (t) { return this._invoke(e, t); }; })); } function m(t, e) { var n; this._invoke = function (i, o) { function a() { return new e((function (n, a) { !function n(i, o, a, u) { var c = s(t[i], t, o); if ("throw" !== c.type) { var l = c.arg, f = l.value; return f && "object" === typeof f && r.call(f, "__await") ? e.resolve(f.__await).then((function (t) { n("next", t, a, u); }), (function (t) { n("throw", t, a, u); })) : e.resolve(f).then((function (t) { l.value = t, a(l); }), (function (t) { return n("throw", t, a, u); })); } u(c.arg); }(i, o, n, a); })); } return n = n ? n.then(a, a) : a(); }; } function x(t, e) { var r = t.iterator[e.method]; if (void 0 === r) { if (e.delegate = null, "throw" === e.method) { if (t.iterator.return && (e.method = "return", e.arg = void 0, x(t, e), "throw" === e.method)) return c; e.method = "throw", e.arg = new TypeError("The iterator does not provide a 'throw' method"); } return c; } var n = s(r, t.iterator, e.arg); if ("throw" === n.type) return e.method = "throw", e.arg = n.arg, e.delegate = null, c; var i = n.arg; return i ? i.done ? (e[t.resultName] = i.value, e.next = t.nextLoc, "return" !== e.method && (e.method = "next", e.arg = void 0), e.delegate = null, c) : i : (e.method = "throw", e.arg = new TypeError("iterator result is not an object"), e.delegate = null, c); } function b(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function w(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function S(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(b, this), this.reset(!0); } function k(t) { if (t) { var e = t[i]; if (e) return e.call(t); if ("function" === typeof t.next) return t; if (!isNaN(t.length)) { var n = -1, o = function e() { for (; ++n < t.length;)if (r.call(t, n)) return e.value = t[n], e.done = !1, e; return e.value = void 0, e.done = !0, e; }; return o.next = o; } } return { next: P }; } function P() { return { value: void 0, done: !0 }; } return f.prototype = v.constructor = h, h.constructor = f, h[a] = f.displayName = "GeneratorFunction", t.isGeneratorFunction = function (t) { var e = "function" === typeof t && t.constructor; return !!e && (e === f || "GeneratorFunction" === (e.displayName || e.name)); }, t.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, h) : (t.__proto__ = h, a in t || (t[a] = "GeneratorFunction")), t.prototype = Object.create(v), t; }, t.awrap = function (t) { return { __await: t }; }, d(m.prototype), m.prototype[o] = function () { return this; }, t.AsyncIterator = m, t.async = function (e, r, n, i, o) { void 0 === o && (o = Promise); var a = new m(u(e, r, n, i), o); return t.isGeneratorFunction(r) ? a : a.next().then((function (t) { return t.done ? t.value : a.next(); })); }, d(v), v[a] = "Generator", v[i] = function () { return this; }, v.toString = function () { return "[object Generator]"; }, t.keys = function (t) { var e = []; for (var r in t) e.push(r); return e.reverse(), function r() { for (; e.length;) { var n = e.pop(); if (n in t) return r.value = n, r.done = !1, r; } return r.done = !0, r; }; }, t.values = k, S.prototype = { constructor: S, reset: function (t) { if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = "next", this.arg = void 0, this.tryEntries.forEach(w), !t) for (var e in this) "t" === e.charAt(0) && r.call(this, e) && !isNaN(+e.slice(1)) && (this[e] = void 0); }, stop: function () { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function (t) { if (this.done) throw t; var e = this; function n(r, n) { return a.type = "throw", a.arg = t, e.next = r, n && (e.method = "next", e.arg = void 0), !!n; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var o = this.tryEntries[i], a = o.completion; if ("root" === o.tryLoc) return n("end"); if (o.tryLoc <= this.prev) { var u = r.call(o, "catchLoc"), s = r.call(o, "finallyLoc"); if (u && s) { if (this.prev < o.catchLoc) return n(o.catchLoc, !0); if (this.prev < o.finallyLoc) return n(o.finallyLoc); } else if (u) { if (this.prev < o.catchLoc) return n(o.catchLoc, !0); } else { if (!s) throw new Error("try statement without catch or finally"); if (this.prev < o.finallyLoc) return n(o.finallyLoc); } } } }, abrupt: function (t, e) { for (var n = this.tryEntries.length - 1; n >= 0; --n) { var i = this.tryEntries[n]; if (i.tryLoc <= this.prev && r.call(i, "finallyLoc") && this.prev < i.finallyLoc) { var o = i; break; } } o && ("break" === t || "continue" === t) && o.tryLoc <= e && e <= o.finallyLoc && (o = null); var a = o ? o.completion : {}; return a.type = t, a.arg = e, o ? (this.method = "next", this.next = o.finallyLoc, c) : this.complete(a); }, complete: function (t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), c; }, finish: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), w(r), c; } }, catch: function (t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var i = n.arg; w(r); } return i; } } throw new Error("illegal catch attempt"); }, delegateYield: function (t, e, r) { return this.delegate = { iterator: k(t), resultName: e, nextLoc: r }, "next" === this.method && (this.arg = void 0), c; } }, t; }(t.exports); try { regeneratorRuntime = e; } catch (t) { Function("r", "regeneratorRuntime = r")(e); } })); function $n(t, e, r, n, i, o, a) { try { var u = t[o](a), s = u.value; } catch (t) { return void r(t); } u.done ? e(s) : Promise.resolve(s).then(n, i); } var Gn = function (t) { return function () { var e = this, r = arguments; return new Promise((function (n, i) { var o = t.apply(e, r); function a(t) { $n(o, n, i, a, u, "next", t); } function u(t) { $n(o, n, i, a, u, "throw", t); } a(void 0); })); }; }; var qn = function (t, e, r) { return e in t ? Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = r, t; }; var Un = function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); }; function Wn(t, e) { for (var r = 0; r < e.length; r++) { var n = e[r]; n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, n.key, n); } } var Hn = function (t, e, r) { return e && Wn(t.prototype, e), r && Wn(t, r), t; }, Xn = $t("isConcatSpreadable"), Yn = Kt >= 51 || !o((function () { var t = []; return t[Xn] = !1, t.concat()[0] !== t; })), Qn = te("concat"), Zn = function (t) { if (!d(t)) return !1; var e = t[Xn]; return void 0 !== e ? !!e : Lt(t); }; Dt({ target: "Array", proto: !0, forced: !Yn || !Qn }, { concat: function (t) { var e, r, n, i, o, a = It(this), u = qt(a, 0), s = 0; for (e = -1, n = arguments.length; e < n; e++)if (o = -1 === e ? a : arguments[e], Zn(o)) { if (s + (i = lt(o.length)) > 9007199254740991) throw TypeError("Maximum allowed index exceeded"); for (r = 0; r < i; r++, s++)r in o && In(u, s, o[r]); } else { if (s >= 9007199254740991) throw TypeError("Maximum allowed index exceeded"); In(u, s++, o); } return u.length = s, u; } }); var Kn = Ht.every, Jn = rr("every"), ti = ie("every"); Dt({ target: "Array", proto: !0, forced: !Jn || !ti }, { every: function (t) { return Kn(this, t, arguments.length > 1 ? arguments[1] : void 0); } }); var ei = function (t) { return function (e, r, n, i) { Vt(r); var o = It(e), a = g(o), u = lt(o.length), s = t ? u - 1 : 0, c = t ? -1 : 1; if (n < 2) for (; ;) { if (s in a) { i = a[s], s += c; break; } if (s += c, t ? s < 0 : u <= s) throw TypeError("Reduce of empty array with no initial value"); } for (; t ? s >= 0 : u > s; s += c)s in a && (i = r(i, a[s], s, o)); return i; }; }, ri = { left: ei(!1), right: ei(!0) }.left, ni = rr("reduce"), ii = ie("reduce", { 1: 0 }); Dt({ target: "Array", proto: !0, forced: !ni || !ii }, { reduce: function (t) { return ri(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0); } }); var oi = {}; oi[$t("toStringTag")] = "z"; var ai = "[object z]" === String(oi), ui = $t("toStringTag"), si = "Arguments" == h(function () { return arguments; }()), ci = ai ? h : function (t) { var e, r, n; return void 0 === t ? "Undefined" : null === t ? "Null" : "string" === typeof (r = function (t, e) { try { return t[e]; } catch (t) { } }(e = Object(t), ui)) ? r : si ? h(e) : "Object" == (n = h(e)) && "function" === typeof e.callee ? "Arguments" : n; }, li = ai ? {}.toString : function () { return `[object ${  ci(this)  }]`; }; ai || rt(Object.prototype, "toString", li, { unsafe: !0 }); var fi = i.Promise, hi = function (t, e, r) { for (var n in e) rt(t, n, e[n], r); return t; }, pi = $t("species"), gi = function (t) { var e = ot(t), r = T.f; a && e && !e[pi] && r(e, pi, { configurable: !0, get: function () { return this; } }); }, yi = function (t, e, r) { if (!(t instanceof e)) throw TypeError(`Incorrect ${  r ? `${r  } ` : ""  }invocation`); return t; }, vi = {}, di = $t("iterator"), mi = Array.prototype, xi = function (t) { return void 0 !== t && (vi.Array === t || mi[di] === t); }, bi = $t("iterator"), wi = function (t) { if (null != t) return t[bi] || t["@@iterator"] || vi[ci(t)]; }, Si = function (t, e, r, n) { try { return n ? e(E(r)[0], r[1]) : e(r); } catch (e) { var i = t.return; throw void 0 !== i && E(i.call(t)), e; } }, ki = r((function (t) { var e = function (t, e) { this.stopped = t, this.result = e; }; (t.exports = function (t, r, n, i, o) { var a, u, s, c, l, f, h, p = Nt(r, n, i ? 2 : 1); if (o) a = t; else { if ("function" !== typeof (u = wi(t))) throw TypeError("Target is not iterable"); if (xi(u)) { for (s = 0, c = lt(t.length); c > s; s++)if ((l = i ? p(E(h = t[s])[0], h[1]) : p(t[s])) && l instanceof e) return l; return new e(!1); } a = u.call(t); } for (f = a.next; !(h = f.call(a)).done;)if ("object" === typeof (l = Si(a, p, h.value, i)) && l && l instanceof e) return l; return new e(!1); }).stop = function (t) { return new e(!0, t); }; })), Pi = $t("iterator"), Ri = !1; try { var Ai = 0, Ei = { next: function () { return { done: !!Ai++ }; }, return: function () { Ri = !0; } }; Ei[Pi] = function () { return this; }, Array.from(Ei, (function () { throw 2; })); } catch (t) { } var Ci, Ti, Oi, Mi = function (t, e) { if (!e && !Ri) return !1; var r = !1; try { var n = {}; n[Pi] = function () { return { next: function () { return { done: r = !0 }; } }; }, t(n); } catch (t) { } return r; }, Di = $t("species"), Vi = function (t, e) { var r, n = E(t).constructor; return void 0 === n || null == (r = E(n)[Di]) ? e : Vt(r); }, Ni = /(iphone|ipod|ipad).*applewebkit/i.test(Xt), Ii = i.location, Li = i.setImmediate, ji = i.clearImmediate, zi = i.process, Bi = i.MessageChannel, Fi = i.Dispatch, _i = 0, $i = {}, Gi = function (t) { if ($i.hasOwnProperty(t)) { var e = $i[t]; delete $i[t], e(); } }, qi = function (t) { return function () { Gi(t); }; }, Ui = function (t) { Gi(t.data); }, Wi = function (t) { i.postMessage(`${t  }`, `${Ii.protocol  }//${  Ii.host}`); }; Li && ji || (Li = function (t) { for (var e = [], r = 1; arguments.length > r;)e.push(arguments[r++]); return $i[++_i] = function () { ("function" === typeof t ? t : Function(t)).apply(void 0, e); }, Ci(_i), _i; }, ji = function (t) { delete $i[t]; }, "process" == h(zi) ? Ci = function (t) { zi.nextTick(qi(t)); } : Fi && Fi.now ? Ci = function (t) { Fi.now(qi(t)); } : Bi && !Ni ? (Oi = (Ti = new Bi).port2, Ti.port1.onmessage = Ui, Ci = Nt(Oi.postMessage, Oi, 1)) : !i.addEventListener || "function" !== typeof postMessage || i.importScripts || o(Wi) ? Ci = "onreadystatechange" in k("script") ? function (t) { Nr.appendChild(k("script")).onreadystatechange = function () { Nr.removeChild(this), Gi(t); }; } : function (t) { setTimeout(qi(t), 0); } : (Ci = Wi, i.addEventListener("message", Ui, !1))); var Hi, Xi, Yi, Qi, Zi, Ki, Ji, to, eo = { set: Li, clear: ji }, ro = A.f, no = eo.set, io = i.MutationObserver || i.WebKitMutationObserver, oo = i.process, ao = i.Promise, uo = "process" == h(oo), so = ro(i, "queueMicrotask"), co = so && so.value; co || (Hi = function () { var t, e; for (uo && (t = oo.domain) && t.exit(); Xi;) { e = Xi.fn, Xi = Xi.next; try { e(); } catch (t) { throw Xi ? Qi() : Yi = void 0, t; } } Yi = void 0, t && t.enter(); }, uo ? Qi = function () { oo.nextTick(Hi); } : io && !Ni ? (Zi = !0, Ki = document.createTextNode(""), new io(Hi).observe(Ki, { characterData: !0 }), Qi = function () { Ki.data = Zi = !Zi; }) : ao && ao.resolve ? (Ji = ao.resolve(void 0), to = Ji.then, Qi = function () { to.call(Ji, Hi); }) : Qi = function () { no.call(i, Hi); }); var lo, fo, ho, po, go = co || function (t) { var e = { fn: t, next: void 0 }; Yi && (Yi.next = e), Xi || (Xi = e, Qi()), Yi = e; }, yo = function (t) { var e, r; this.promise = new t((function (t, n) { if (void 0 !== e || void 0 !== r) throw TypeError("Bad Promise constructor"); e = t, r = n; })), this.resolve = Vt(e), this.reject = Vt(r); }, vo = { f: function (t) { return new yo(t); } }, mo = function (t, e) { if (E(t), d(e) && e.constructor === t) return e; var r = vo.f(t); return (0, r.resolve)(e), r.promise; }, xo = function (t) { try { return { error: !1, value: t() }; } catch (t) { return { error: !0, value: t }; } }, bo = eo.set, wo = $t("species"), So = "Promise", ko = et.get, Po = et.set, Ro = et.getterFor(So), Ao = fi, Eo = i.TypeError, Co = i.document, To = i.process, Oo = ot("fetch"), Mo = vo.f, Do = Mo, Vo = "process" == h(To), No = !!(Co && Co.createEvent && i.dispatchEvent), Io = Ot(So, (function () { if (!(j(Ao) !== String(Ao))) { if (66 === Kt) return !0; if (!Vo && "function" !== typeof PromiseRejectionEvent) return !0; } if (Kt >= 51 && /native code/.test(Ao)) return !1; var t = Ao.resolve(1), e = function (t) { t((function () { }), (function () { })); }; return (t.constructor = {})[wo] = e, !(t.then((function () { })) instanceof e); })), Lo = Io || !Mi((function (t) { Ao.all(t).catch((function () { })); })), jo = function (t) { var e; return !(!d(t) || "function" !== typeof (e = t.then)) && e; }, zo = function (t, e, r) { if (!e.notified) { e.notified = !0; var n = e.reactions; go((function () { for (var i = e.value, o = 1 == e.state, a = 0; n.length > a;) { var u, s, c, l = n[a++], f = o ? l.ok : l.fail, h = l.resolve, p = l.reject, g = l.domain; try { f ? (o || (2 === e.rejection && $o(t, e), e.rejection = 1), !0 === f ? u = i : (g && g.enter(), u = f(i), g && (g.exit(), c = !0)), u === l.promise ? p(Eo("Promise-chain cycle")) : (s = jo(u)) ? s.call(u, h, p) : h(u)) : p(i); } catch (t) { g && !c && g.exit(), p(t); } } e.reactions = [], e.notified = !1, r && !e.rejection && Fo(t, e); })); } }, Bo = function (t, e, r) { var n, o; No ? ((n = Co.createEvent("Event")).promise = e, n.reason = r, n.initEvent(t, !1, !0), i.dispatchEvent(n)) : n = { promise: e, reason: r }, (o = i[`on${  t}`]) ? o(n) : "unhandledrejection" === t && function (t, e) { var r = i.console; r && r.error && (1 === arguments.length ? r.error(t) : r.error(t, e)); }("Unhandled promise rejection", r); }, Fo = function (t, e) { bo.call(i, (function () { var r, n = e.value; if (_o(e) && (r = xo((function () { Vo ? To.emit("unhandledRejection", n, t) : Bo("unhandledrejection", t, n); })), e.rejection = Vo || _o(e) ? 2 : 1, r.error)) throw r.value; })); }, _o = function (t) { return 1 !== t.rejection && !t.parent; }, $o = function (t, e) { bo.call(i, (function () { Vo ? To.emit("rejectionHandled", t) : Bo("rejectionhandled", t, e.value); })); }, Go = function (t, e, r, n) { return function (i) { t(e, r, i, n); }; }, qo = function (t, e, r, n) { e.done || (e.done = !0, n && (e = n), e.value = r, e.state = 2, zo(t, e, !0)); }, Uo = function (t, e, r, n) { if (!e.done) { e.done = !0, n && (e = n); try { if (t === r) throw Eo("Promise can't be resolved itself"); var i = jo(r); i ? go((function () { var n = { done: !1 }; try { i.call(r, Go(Uo, t, n, e), Go(qo, t, n, e)); } catch (r) { qo(t, n, r, e); } })) : (e.value = r, e.state = 1, zo(t, e, !1)); } catch (r) { qo(t, { done: !1 }, r, e); } } }; Io && (Ao = function (t) { yi(this, Ao, So), Vt(t), lo.call(this); var e = ko(this); try { t(Go(Uo, this, e), Go(qo, this, e)); } catch (t) { qo(this, e, t); } }, (lo = function (t) { Po(this, { type: So, done: !1, notified: !1, parent: !1, reactions: [], rejection: !1, state: 0, value: void 0 }); }).prototype = hi(Ao.prototype, { then: function (t, e) { var r = Ro(this), n = Mo(Vi(this, Ao)); return n.ok = "function" !== typeof t || t, n.fail = "function" === typeof e && e, n.domain = Vo ? To.domain : void 0, r.parent = !0, r.reactions.push(n), 0 != r.state && zo(this, r, !1), n.promise; }, catch: function (t) { return this.then(void 0, t); } }), fo = function () { var t = new lo, e = ko(t); this.promise = t, this.resolve = Go(Uo, t, e), this.reject = Go(qo, t, e); }, vo.f = Mo = function (t) { return t === Ao || t === ho ? new fo(t) : Do(t); }, "function" === typeof fi && (po = fi.prototype.then, rt(fi.prototype, "then", (function (t, e) { var r = this; return new Ao((function (t, e) { po.call(r, t, e); })).then(t, e); }), { unsafe: !0 }), "function" === typeof Oo && Dt({ global: !0, enumerable: !0, forced: !0 }, { fetch: function (t) { return mo(Ao, Oo.apply(i, arguments)); } }))), Dt({ global: !0, wrap: !0, forced: Io }, { Promise: Ao }), Yr(Ao, So, !1), gi(So), ho = ot(So), Dt({ target: So, stat: !0, forced: Io }, { reject: function (t) { var e = Mo(this); return e.reject.call(void 0, t), e.promise; } }), Dt({ target: So, stat: !0, forced: Io }, { resolve: function (t) { return mo(this, t); } }), Dt({ target: So, stat: !0, forced: Lo }, { all: function (t) { var e = this, r = Mo(e), n = r.resolve, i = r.reject, o = xo((function () { var r = Vt(e.resolve), o = [], a = 0, u = 1; ki(t, (function (t) { var s = a++, c = !1; o.push(void 0), u++, r.call(e, t).then((function (t) { c || (c = !0, o[s] = t, --u || n(o)); }), i); })), --u || n(o); })); return o.error && i(o.value), r.promise; }, race: function (t) { var e = this, r = Mo(e), n = r.reject, i = xo((function () { var i = Vt(e.resolve); ki(t, (function (t) { i.call(e, t).then(r.resolve, n); })); })); return i.error && n(i.value), r.promise; } }); var Wo = [].push, Ho = Math.min, Xo = !o((function () { return !RegExp(4294967295, "y"); })); Ae("split", 2, (function (t, e, r) { var n; return n = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function (t, r) { var n = String(y(this)), i = void 0 === r ? 4294967295 : r >>> 0; if (0 === i) return []; if (void 0 === t) return [n]; if (!Be(t)) return e.call(n, t, i); for (var o, a, u, s = [], c = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), l = 0, f = new RegExp(t.source, `${c  }g`); (o = xe.call(f, n)) && !((a = f.lastIndex) > l && (s.push(n.slice(l, o.index)), o.length > 1 && o.index < n.length && Wo.apply(s, o.slice(1)), u = o[0].length, l = a, s.length >= i));)f.lastIndex === o.index && f.lastIndex++; return l === n.length ? !u && f.test("") || s.push("") : s.push(n.slice(l)), s.length > i ? s.slice(0, i) : s; } : "0".split(void 0, 0).length ? function (t, r) { return void 0 === t && 0 === r ? [] : e.call(this, t, r); } : e, [function (e, r) { var i = y(this), o = null == e ? void 0 : e[t]; return void 0 !== o ? o.call(e, i, r) : n.call(String(i), e, r); }, function (t, i) { var o = r(n, t, this, i, n !== e); if (o.done) return o.value; var a = E(t), u = String(this), s = Vi(a, RegExp), c = a.unicode, l = (a.ignoreCase ? "i" : "") + (a.multiline ? "m" : "") + (a.unicode ? "u" : "") + (Xo ? "y" : "g"), f = new s(Xo ? a : `^(?:${  a.source  })`, l), h = void 0 === i ? 4294967295 : i >>> 0; if (0 === h) return []; if (0 === u.length) return null === Me(f, u) ? [u] : []; for (var p = 0, g = 0, y = []; g < u.length;) { f.lastIndex = Xo ? g : 0; var v, d = Me(f, Xo ? u : u.slice(g)); if (null === d || (v = Ho(lt(f.lastIndex + (Xo ? 0 : g)), u.length)) === p) g = Oe(u, g, c); else { if (y.push(u.slice(p, g)), y.length === h) return y; for (var m = 1; m <= d.length - 1; m++)if (y.push(d[m]), y.length === h) return y; g = p = v; } } return y.push(u.slice(p)), y; }]; }), !Xo); var Yo = "undefined" !== typeof global ? global : "undefined" !== typeof self ? self : "undefined" !== typeof window ? window : {}; function Qo() { throw new Error("setTimeout has not been defined"); } function Zo() { throw new Error("clearTimeout has not been defined"); } var Ko = Qo, Jo = Zo; function ta(t) { if (Ko === setTimeout) return setTimeout(t, 0); if ((Ko === Qo || !Ko) && setTimeout) return Ko = setTimeout, setTimeout(t, 0); try { return Ko(t, 0); } catch (e) { try { return Ko.call(null, t, 0); } catch (e) { return Ko.call(this, t, 0); } } } "function" === typeof Yo.setTimeout && (Ko = setTimeout), "function" === typeof Yo.clearTimeout && (Jo = clearTimeout); var ea, ra = [], na = !1, ia = -1; function oa() { na && ea && (na = !1, ea.length ? ra = ea.concat(ra) : ia = -1, ra.length && aa()); } function aa() { if (!na) { var t = ta(oa); na = !0; for (var e = ra.length; e;) { for (ea = ra, ra = []; ++ia < e;)ea && ea[ia].run(); ia = -1, e = ra.length; } ea = null, na = !1, function (t) { if (Jo === clearTimeout) return clearTimeout(t); if ((Jo === Zo || !Jo) && clearTimeout) return Jo = clearTimeout, clearTimeout(t); try { Jo(t); } catch (e) { try { return Jo.call(null, t); } catch (e) { return Jo.call(this, t); } } }(t); } } function ua(t, e) { this.fun = t, this.array = e; } ua.prototype.run = function () { this.fun.apply(null, this.array); }; function sa() { } var ca = sa, la = sa, fa = sa, ha = sa, pa = sa, ga = sa, ya = sa; var va = Yo.performance || {}, da = va.now || va.mozNow || va.msNow || va.oNow || va.webkitNow || function () { return (new Date).getTime(); }; var ma = new Date; for (var xa = { nextTick: function (t) { var e = new Array(arguments.length - 1); if (arguments.length > 1) for (var r = 1; r < arguments.length; r++)e[r - 1] = arguments[r]; ra.push(new ua(t, e)), 1 !== ra.length || na || ta(aa); }, title: "browser", browser: !0, env: {}, argv: [], version: "", versions: {}, on: ca, addListener: la, once: fa, off: ha, removeListener: pa, removeAllListeners: ga, emit: ya, binding: function (t) { throw new Error("process.binding is not supported"); }, cwd: function () { return "/"; }, chdir: function (t) { throw new Error("process.chdir is not supported"); }, umask: function () { return 0; }, hrtime: function (t) { var e = .001 * da.call(va), r = Math.floor(e), n = Math.floor(e % 1 * 1e9); return t && (r -= t[0], (n -= t[1]) < 0 && (r--, n += 1e9)), [r, n]; }, platform: "browser", release: {}, config: {}, uptime: function () { return (new Date - ma) / 1e3; } }, ba = r((function (t) { (function () { var e, r, n, i, o, a; "undefined" !== typeof performance && null !== performance && performance.now ? t.exports = function () { return performance.now(); } : null != xa && xa.hrtime ? (t.exports = function () { return (e() - o) / 1e6; }, r = xa.hrtime, i = (e = function () { var t; return 1e9 * (t = r())[0] + t[1]; })(), a = 1e9 * xa.uptime(), o = i - a) : Date.now ? (t.exports = function () { return Date.now() - n; }, n = Date.now()) : (t.exports = function () { return (new Date).getTime() - n; }, n = (new Date).getTime()); }).call(e); })), wa = "undefined" === typeof window ? e : window, Sa = ["moz", "webkit"], ka = "AnimationFrame", Pa = wa[`request${  ka}`], Ra = wa[`cancel${  ka}`] || wa[`cancelRequest${  ka}`], Aa = 0; !Pa && Aa < Sa.length; Aa++)Pa = wa[`${Sa[Aa]  }Request${  ka}`], Ra = wa[`${Sa[Aa]  }Cancel${  ka}`] || wa[`${Sa[Aa]  }CancelRequest${  ka}`]; if (!Pa || !Ra) { var Ea = 0, Ca = 0, Ta = []; Pa = function (t) { if (0 === Ta.length) { var e = ba(), r = Math.max(0, 1e3 / 60 - (e - Ea)); Ea = r + e, setTimeout((function () { var t = Ta.slice(0); Ta.length = 0; for (var e = 0; e < t.length; e++)if (!t[e].cancelled) try { t[e].callback(Ea); } catch (t) { setTimeout((function () { throw t; }), 0); } }), Math.round(r)); } return Ta.push({ handle: ++Ca, callback: t, cancelled: !1 }), Ca; }, Ra = function (t) { for (var e = 0; e < Ta.length; e++)Ta[e].handle === t && (Ta[e].cancelled = !0); }; } var Oa = function (t) { return Pa.call(wa, t); }; Oa.cancel = function () { Ra.apply(wa, arguments); }, Oa.polyfill = function (t) { t || (t = wa), t.requestAnimationFrame = Pa, t.cancelAnimationFrame = Ra; }; var Ma = T.f, Da = Function.prototype, Va = Da.toString, Na = /^\s*function ([^ (]*)/; a && !("name" in Da) && Ma(Da, "name", { configurable: !0, get: function () { try { return Va.call(this).match(Na)[1]; } catch (t) { return ""; } } }); var Ia = function (t) { this.ok = !1, this.alpha = 1, "#" == t.charAt(0) && (t = t.substr(1, 6)), t = (t = t.replace(/ /g, "")).toLowerCase(); var e = { aliceblue: "f0f8ff", antiquewhite: "faebd7", aqua: "00ffff", aquamarine: "7fffd4", azure: "f0ffff", beige: "f5f5dc", bisque: "ffe4c4", black: "000000", blanchedalmond: "ffebcd", blue: "0000ff", blueviolet: "8a2be2", brown: "a52a2a", burlywood: "deb887", cadetblue: "5f9ea0", chartreuse: "7fff00", chocolate: "d2691e", coral: "ff7f50", cornflowerblue: "6495ed", cornsilk: "fff8dc", crimson: "dc143c", cyan: "00ffff", darkblue: "00008b", darkcyan: "008b8b", darkgoldenrod: "b8860b", darkgray: "a9a9a9", darkgreen: "006400", darkkhaki: "bdb76b", darkmagenta: "8b008b", darkolivegreen: "556b2f", darkorange: "ff8c00", darkorchid: "9932cc", darkred: "8b0000", darksalmon: "e9967a", darkseagreen: "8fbc8f", darkslateblue: "483d8b", darkslategray: "2f4f4f", darkturquoise: "00ced1", darkviolet: "9400d3", deeppink: "ff1493", deepskyblue: "00bfff", dimgray: "696969", dodgerblue: "1e90ff", feldspar: "d19275", firebrick: "b22222", floralwhite: "fffaf0", forestgreen: "228b22", fuchsia: "ff00ff", gainsboro: "dcdcdc", ghostwhite: "f8f8ff", gold: "ffd700", goldenrod: "daa520", gray: "808080", green: "008000", greenyellow: "adff2f", honeydew: "f0fff0", hotpink: "ff69b4", indianred: "cd5c5c", indigo: "4b0082", ivory: "fffff0", khaki: "f0e68c", lavender: "e6e6fa", lavenderblush: "fff0f5", lawngreen: "7cfc00", lemonchiffon: "fffacd", lightblue: "add8e6", lightcoral: "f08080", lightcyan: "e0ffff", lightgoldenrodyellow: "fafad2", lightgrey: "d3d3d3", lightgreen: "90ee90", lightpink: "ffb6c1", lightsalmon: "ffa07a", lightseagreen: "20b2aa", lightskyblue: "87cefa", lightslateblue: "8470ff", lightslategray: "778899", lightsteelblue: "b0c4de", lightyellow: "ffffe0", lime: "00ff00", limegreen: "32cd32", linen: "faf0e6", magenta: "ff00ff", maroon: "800000", mediumaquamarine: "66cdaa", mediumblue: "0000cd", mediumorchid: "ba55d3", mediumpurple: "9370d8", mediumseagreen: "3cb371", mediumslateblue: "7b68ee", mediumspringgreen: "00fa9a", mediumturquoise: "48d1cc", mediumvioletred: "c71585", midnightblue: "191970", mintcream: "f5fffa", mistyrose: "ffe4e1", moccasin: "ffe4b5", navajowhite: "ffdead", navy: "000080", oldlace: "fdf5e6", olive: "808000", olivedrab: "6b8e23", orange: "ffa500", orangered: "ff4500", orchid: "da70d6", palegoldenrod: "eee8aa", palegreen: "98fb98", paleturquoise: "afeeee", palevioletred: "d87093", papayawhip: "ffefd5", peachpuff: "ffdab9", peru: "cd853f", pink: "ffc0cb", plum: "dda0dd", powderblue: "b0e0e6", purple: "800080", rebeccapurple: "663399", red: "ff0000", rosybrown: "bc8f8f", royalblue: "4169e1", saddlebrown: "8b4513", salmon: "fa8072", sandybrown: "f4a460", seagreen: "2e8b57", seashell: "fff5ee", sienna: "a0522d", silver: "c0c0c0", skyblue: "87ceeb", slateblue: "6a5acd", slategray: "708090", snow: "fffafa", springgreen: "00ff7f", steelblue: "4682b4", tan: "d2b48c", teal: "008080", thistle: "d8bfd8", tomato: "ff6347", turquoise: "40e0d0", violet: "ee82ee", violetred: "d02090", wheat: "f5deb3", white: "ffffff", whitesmoke: "f5f5f5", yellow: "ffff00", yellowgreen: "9acd32" }; t = e[t] || t; for (var r = [{ re: /^rgba\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3}),\s*((?:\d?\.)?\d)\)$/, example: ["rgba(123, 234, 45, 0.8)", "rgba(255,234,245,1.0)"], process: function (t) { return [parseInt(t[1]), parseInt(t[2]), parseInt(t[3]), parseFloat(t[4])]; } }, { re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/, example: ["rgb(123, 234, 45)", "rgb(255,234,245)"], process: function (t) { return [parseInt(t[1]), parseInt(t[2]), parseInt(t[3])]; } }, { re: /^([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, example: ["#00ff00", "336699"], process: function (t) { return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)]; } }, { re: /^([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, example: ["#fb0", "f0f"], process: function (t) { return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)]; } }], n = 0; n < r.length; n++) { var i = r[n].re, o = r[n].process, a = i.exec(t); if (a) { var u = o(a); this.r = u[0], this.g = u[1], this.b = u[2], u.length > 3 && (this.alpha = u[3]), this.ok = !0; } } this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r, this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g, this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b, this.alpha = this.alpha < 0 ? 0 : this.alpha > 1 || isNaN(this.alpha) ? 1 : this.alpha, this.toRGB = function () { return `rgb(${  this.r  }, ${  this.g  }, ${  this.b  })`; }, this.toRGBA = function () { return `rgba(${  this.r  }, ${  this.g  }, ${  this.b  }, ${  this.alpha  })`; }, this.toHex = function () { var t = this.r.toString(16), e = this.g.toString(16), r = this.b.toString(16); return 1 == t.length && (t = `0${  t}`), 1 == e.length && (e = `0${  e}`), 1 == r.length && (r = `0${  r}`), `#${  t  }${e  }${r}`; }, this.getHelpXML = function () { for (var t = new Array, n = 0; n < r.length; n++)for (var i = r[n].example, o = 0; o < i.length; o++)t[t.length] = i[o]; for (var a in e) t[t.length] = a; var u = document.createElement("ul"); u.setAttribute("id", "rgbcolor-examples"); for (n = 0; n < t.length; n++)try { var s = document.createElement("li"), c = new RGBColor(t[n]), l = document.createElement("div"); l.style.cssText = `margin: 3px; border: 1px solid black; background:${  c.toHex()  }; color:${  c.toHex()}`, l.appendChild(document.createTextNode("test")); var f = document.createTextNode(` ${  t[n]  } -> ${  c.toRGB()  } -> ${  c.toHex()}`); s.appendChild(l), s.appendChild(f), u.appendChild(s); } catch (t) { } return u; }; }, La = function () { function t(e, r, n) { Un(this, t), this.document = e, this.name = r, this.value = n, this.isNormalizedColor = !1; } return Hn(t, [{ key: "hasValue", value: function () { var t = this.value; return null !== t && "" !== t && 0 !== t && void 0 !== t; } }, { key: "isString", value: function (t) { var e = this.value, r = "string" === typeof e; return r && t ? t.test(e) : r; } }, { key: "isUrlDefinition", value: function () { return this.isString(/^url\(/); } }, { key: "isPixels", value: function () { if (!this.hasValue()) return !1; var t = this.getString(); switch (!0) { case /px$/.test(t): case /^[0-9]+$/.test(t): return !0; default: return !1; } } }, { key: "setValue", value: function (t) { return this.value = t, this; } }, { key: "getValue", value: function (t) { return void 0 === t || this.hasValue() ? this.value : t; } }, { key: "getNumber", value: function (t) { if (!this.hasValue()) return void 0 === t ? 0 : parseFloat(t); var e = this.value, r = parseFloat(e); return this.isString(/%$/) && (r /= 100), r; } }, { key: "getString", value: function (t) { return void 0 === t || this.hasValue() ? void 0 === this.value ? "" : String(this.value) : String(t); } }, { key: "getColor", value: function (t) { var e = this.getString(t); return this.isNormalizedColor || (this.isNormalizedColor = !0, e = er(e), this.value = e), e; } }, { key: "getDpi", value: function () { return 96; } }, { key: "getRem", value: function () { return this.document.rootEmSize; } }, { key: "getEm", value: function () { return this.document.emSize; } }, { key: "getUnits", value: function () { return this.getString().replace(/[0-9\.\-]/g, ""); } }, { key: "getPixels", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if (!this.hasValue()) return 0; var r = "boolean" === typeof t ? [void 0, t] : [t], n = fr(r, 2), i = n[0], o = n[1], a = this.document.screen.viewPort; switch (!0) { case this.isString(/vmin$/): return this.getNumber() / 100 * Math.min(a.computeSize("x"), a.computeSize("y")); case this.isString(/vmax$/): return this.getNumber() / 100 * Math.max(a.computeSize("x"), a.computeSize("y")); case this.isString(/vw$/): return this.getNumber() / 100 * a.computeSize("x"); case this.isString(/vh$/): return this.getNumber() / 100 * a.computeSize("y"); case this.isString(/rem$/): return this.getNumber() * this.getRem(); case this.isString(/em$/): return this.getNumber() * this.getEm(); case this.isString(/ex$/): return this.getNumber() * this.getEm() / 2; case this.isString(/px$/): return this.getNumber(); case this.isString(/pt$/): return this.getNumber() * this.getDpi() * (1 / 72); case this.isString(/pc$/): return 15 * this.getNumber(); case this.isString(/cm$/): return this.getNumber() * this.getDpi() / 2.54; case this.isString(/mm$/): return this.getNumber() * this.getDpi() / 25.4; case this.isString(/in$/): return this.getNumber() * this.getDpi(); case this.isString(/%$/) && o: return this.getNumber() * this.getEm(); case this.isString(/%$/): return this.getNumber() * a.computeSize(i); default: var u = this.getNumber(); return e && u < 1 ? u * a.computeSize(i) : u; } } }, { key: "getMilliseconds", value: function () { return this.hasValue() ? this.isString(/ms$/) ? this.getNumber() : 1e3 * this.getNumber() : 0; } }, { key: "getRadians", value: function () { if (!this.hasValue()) return 0; switch (!0) { case this.isString(/deg$/): return this.getNumber() * (Math.PI / 180); case this.isString(/grad$/): return this.getNumber() * (Math.PI / 200); case this.isString(/rad$/): return this.getNumber(); default: return this.getNumber() * (Math.PI / 180); } } }, { key: "getDefinition", value: function () { var t = this.getString(), e = t.match(/#([^\)'"]+)/); return e && (e = e[1]), e || (e = t), this.document.definitions[e]; } }, { key: "getFillStyleDefinition", value: function (t, e) { var r = this.getDefinition(); if (!r) return null; if ("function" === typeof r.createGradient) return r.createGradient(this.document.ctx, t, e); if ("function" === typeof r.createPattern) { if (r.getHrefAttribute().hasValue()) { var n = r.getAttribute("patternTransform"); r = r.getHrefAttribute().getDefinition(), n.hasValue() && r.getAttribute("patternTransform", !0).setValue(n.value); } return r.createPattern(this.document.ctx, t, e); } return null; } }, { key: "getTextBaseline", value: function () { return this.hasValue() ? t.textBaselineMapping[this.getString()] : null; } }, { key: "addOpacity", value: function (e) { for (var r = this.getColor(), n = r.length, i = 0, o = 0; o < n && ("," === r[o] && i++, 3 !== i); o++); if (e.hasValue() && this.isString() && 3 !== i) { var a = new Ia(r); a.ok && (a.alpha = e.getNumber(), r = a.toRGBA()); } return new t(this.document, this.name, r); } }], [{ key: "empty", value: function (e) { return new t(e, "EMPTY", ""); } }]), t; }(); La.textBaselineMapping = { baseline: "alphabetic", "before-edge": "top", "text-before-edge": "top", middle: "middle", central: "middle", "after-edge": "bottom", "text-after-edge": "bottom", ideographic: "ideographic", alphabetic: "alphabetic", hanging: "hanging", mathematical: "alphabetic" }; var ja = function () { function t() { Un(this, t), this.viewPorts = []; } return Hn(t, [{ key: "clear", value: function () { this.viewPorts = []; } }, { key: "setCurrent", value: function (t, e) { this.viewPorts.push({ width: t, height: e }); } }, { key: "removeCurrent", value: function () { this.viewPorts.pop(); } }, { key: "getCurrent", value: function () { var t = this.viewPorts; return t[t.length - 1]; } }, { key: "computeSize", value: function (t) { return "number" === typeof t ? t : "x" === t ? this.width : "y" === t ? this.height : Math.sqrt(Math.pow(this.width, 2) + Math.pow(this.height, 2)) / Math.sqrt(2); } }, { key: "width", get: function () { return this.getCurrent().width; } }, { key: "height", get: function () { return this.getCurrent().height; } }]), t; }(), za = function () { function t(e, r) { Un(this, t), this.x = e, this.y = r; } return Hn(t, [{ key: "angleTo", value: function (t) { return Math.atan2(t.y - this.y, t.x - this.x); } }, { key: "applyTransform", value: function (t) { var e = this.x, r = this.y, n = e * t[0] + r * t[2] + t[4], i = e * t[1] + r * t[3] + t[5]; this.x = n, this.y = i; } }], [{ key: "parse", value: function (e) { var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = Ze(e), i = fr(n, 2), o = i[0], a = void 0 === o ? r : o, u = i[1], s = void 0 === u ? r : u; return new t(a, s); } }, { key: "parseScale", value: function (e) { var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, n = Ze(e), i = fr(n, 2), o = i[0], a = void 0 === o ? r : o, u = i[1], s = void 0 === u ? a : u; return new t(a, s); } }, { key: "parsePath", value: function (e) { for (var r = Ze(e), n = r.length, i = [], o = 0; o < n; o += 2)i.push(new t(r[o], r[o + 1])); return i; } }]), t; }(), Ba = function () { function t(e) { Un(this, t), this.screen = e, this.working = !1, this.events = [], this.eventElements = [], this.onClick = this.onClick.bind(this), this.onMouseMove = this.onMouseMove.bind(this); } return Hn(t, [{ key: "isWorking", value: function () { return this.working; } }, { key: "start", value: function () { if (!this.working) { var t = this.screen, e = this.onClick, r = this.onMouseMove, n = t.ctx.canvas; n.onclick = e, n.onmousemove = r, this.working = !0; } } }, { key: "stop", value: function () { if (this.working) { var t = this.screen.ctx.canvas; this.working = !1, t.onclick = null, t.onmousemove = null; } } }, { key: "hasEvents", value: function () { return this.working && this.events.length > 0; } }, { key: "runEvents", value: function () { if (this.working) { var t = this.screen, e = this.events, r = this.eventElements, n = t.ctx.canvas.style; n && (n.cursor = ""), e.forEach((function (t, e) { for (var n = t.run, i = r[e]; i;)n(i), i = i.parent; })), this.events = [], this.eventElements = []; } } }, { key: "checkPath", value: function (t, e) { if (this.working && e) { var r = this.events, n = this.eventElements; r.forEach((function (r, i) { var o = r.x, a = r.y; !n[i] && e.isPointInPath && e.isPointInPath(o, a) && (n[i] = t); })); } } }, { key: "checkBoundingBox", value: function (t, e) { if (this.working && e) { var r = this.events, n = this.eventElements; r.forEach((function (r, i) { var o = r.x, a = r.y; !n[i] && e.isPointInBox(o, a) && (n[i] = t); })); } } }, { key: "mapXY", value: function (t, e) { for (var r = this.screen, n = r.window, i = r.ctx, o = new za(t, e), a = i.canvas; a;)o.x -= a.offsetLeft, o.y -= a.offsetTop, a = a.offsetParent; return n.scrollX && (o.x += n.scrollX), n.scrollY && (o.y += n.scrollY), o; } }, { key: "onClick", value: function (t) { var e = this.mapXY((t || event).clientX, (t || event).clientY), r = e.x, n = e.y; this.events.push({ type: "onclick", x: r, y: n, run: function (t) { t.onClick && t.onClick(); } }); } }, { key: "onMouseMove", value: function (t) { var e = this.mapXY((t || event).clientX, (t || event).clientY), r = e.x, n = e.y; this.events.push({ type: "onmousemove", x: r, y: n, run: function (t) { t.onMouseMove && t.onMouseMove(); } }); } }]), t; }(), Fa = "undefined" !== typeof window ? window : null, _a = "undefined" !== typeof fetch ? fetch.bind(void 0) : null, $a = function () { function t(e) { var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = r.fetch, i = void 0 === n ? _a : n, o = r.window, a = void 0 === o ? Fa : o; Un(this, t), this.ctx = e, this.FRAMERATE = 30, this.MAX_VIRTUAL_PIXELS = 3e4, this.CLIENT_WIDTH = 800, this.CLIENT_HEIGHT = 600, this.viewPort = new ja, this.mouse = new Ba(this), this.animations = [], this.waits = [], this.frameDuration = 0, this.isReadyLock = !1, this.isFirstRender = !0, this.intervalId = null, this.window = a, this.fetch = i; } return Hn(t, [{ key: "wait", value: function (t) { this.waits.push(t); } }, { key: "ready", value: function () { return this.readyPromise ? this.readyPromise : Promise.resolve(); } }, { key: "isReady", value: function () { if (this.isReadyLock) return !0; var t = this.waits.every((function (t) { return t(); })); return t && (this.waits = [], this.resolveReady && this.resolveReady()), this.isReadyLock = t, t; } }, { key: "setDefaults", value: function (t) { t.strokeStyle = "rgba(0,0,0,0)", t.lineCap = "butt", t.lineJoin = "miter", t.miterLimit = 4; } }, { key: "setViewBox", value: function (t) { var e = t.document, r = t.ctx, n = t.aspectRatio, i = t.width, o = t.desiredWidth, a = t.height, u = t.desiredHeight, s = t.minX, c = void 0 === s ? 0 : s, l = t.minY, f = void 0 === l ? 0 : l, h = t.refX, p = t.refY, g = t.clip, y = void 0 !== g && g, v = t.clipX, d = void 0 === v ? 0 : v, m = t.clipY, x = void 0 === m ? 0 : m, b = Xe(n).replace(/^defer\s/, "").split(" "), w = fr(b, 2), S = w[0] || "xMidYMid", k = w[1] || "meet", P = i / o, R = a / u, A = Math.min(P, R), E = Math.max(P, R), C = o, T = u; "meet" === k && (C *= A, T *= A), "slice" === k && (C *= E, T *= E); var O = new La(e, "refX", h), M = new La(e, "refY", p), D = O.hasValue() && M.hasValue(); if (D && r.translate(-A * O.getPixels("x"), -A * M.getPixels("y")), y) { var V = A * d, N = A * x; r.beginPath(), r.moveTo(V, N), r.lineTo(i, N), r.lineTo(i, a), r.lineTo(V, a), r.closePath(), r.clip(); } if (!D) { var I = "meet" === k && A === R, L = "slice" === k && E === R, j = "meet" === k && A === P, z = "slice" === k && E === P; /^xMid/.test(S) && (I || L) && r.translate(i / 2 - C / 2, 0), /YMid$/.test(S) && (j || z) && r.translate(0, a / 2 - T / 2), /^xMax/.test(S) && (I || L) && r.translate(i - C, 0), /YMax$/.test(S) && (j || z) && r.translate(0, a - T); } switch (!0) { case "none" === S: r.scale(P, R); break; case "meet" === k: r.scale(A, A); break; case "slice" === k: r.scale(E, E); }r.translate(-c, -f); } }, { key: "start", value: function (t) { var e = this, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = r.enableRedraw, i = void 0 !== n && n, o = r.ignoreMouse, a = void 0 !== o && o, u = r.ignoreAnimation, s = void 0 !== u && u, c = r.ignoreDimensions, l = void 0 !== c && c, f = r.ignoreClear, h = void 0 !== f && f, p = r.forceRedraw, g = r.scaleWidth, y = r.scaleHeight, v = r.offsetX, d = r.offsetY, m = this.FRAMERATE, x = this.mouse, b = 1e3 / m; if (this.frameDuration = b, this.readyPromise = new Promise((function (t) { e.resolveReady = t; })), this.isReady() && this.render(t, l, h, g, y, v, d), i) { var w = Date.now(), S = w, k = 0, P = function r() { w = Date.now(), (k = w - S) >= b && (S = w - k % b, e.shouldUpdate(s, p) && (e.render(t, l, h, g, y, v, d), x.runEvents())), e.intervalId = Oa(r); }; a || x.start(), this.intervalId = Oa(P); } } }, { key: "stop", value: function () { this.intervalId && (Oa.cancel(this.intervalId), this.intervalId = null), this.mouse.stop(); } }, { key: "shouldUpdate", value: function (t, e) { if (!t) { var r = this.frameDuration, n = this.animations.reduce((function (t, e) { return e.update(r) || t; }), !1); if (n) return !0; } return !("function" !== typeof e || !e()) || (!(this.isReadyLock || !this.isReady()) || !!this.mouse.hasEvents()); } }, { key: "render", value: function (t, e, r, n, i, o, a) { var u = this.CLIENT_WIDTH, s = this.CLIENT_HEIGHT, c = this.viewPort, l = this.ctx, f = this.isFirstRender, h = l.canvas; c.clear(), h.width && h.height ? c.setCurrent(h.width, h.height) : c.setCurrent(u, s); var p = t.getStyle("width"), g = t.getStyle("height"); !e && (f || "number" !== typeof n && "number" !== typeof i) && (p.hasValue() && (h.width = p.getPixels("x"), h.style && (h.style.width = "".concat(h.width, "px"))), g.hasValue() && (h.height = g.getPixels("y"), h.style && (h.style.height = "".concat(h.height, "px")))); var y = h.clientWidth || h.width, v = h.clientHeight || h.height; if (e && p.hasValue() && g.hasValue() && (y = p.getPixels("x"), v = g.getPixels("y")), c.setCurrent(y, v), "number" === typeof o && t.getAttribute("x", !0).setValue(o), "number" === typeof a && t.getAttribute("y", !0).setValue(a), "number" === typeof n || "number" === typeof i) { var d = Ze(t.getAttribute("viewBox").getString()), m = 0, x = 0; if ("number" === typeof n) { var b = t.getStyle("width"); b.hasValue() ? m = b.getPixels("x") / n : isNaN(d[2]) || (m = d[2] / n); } if ("number" === typeof i) { var w = t.getStyle("height"); w.hasValue() ? x = w.getPixels("y") / i : isNaN(d[3]) || (x = d[3] / i); } m || (m = x), x || (x = m), t.getAttribute("width", !0).setValue(n), t.getAttribute("height", !0).setValue(i); var S = t.getStyle("transform", !0, !0); S.setValue("".concat(S.getString(), " scale(").concat(1 / m, ", ").concat(1 / x, ")")); } r || l.clearRect(0, 0, y, v), t.render(l), f && (this.isFirstRender = !1); } }]), t; }(); $a.defaultWindow = Fa, $a.defaultFetch = _a; var Ga = $a.defaultFetch, qa = "undefined" !== typeof DOMParser ? DOMParser : null, Ua = function () { function t() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, r = e.fetch, n = void 0 === r ? Ga : r, i = e.DOMParser, o = void 0 === i ? qa : i; Un(this, t), this.fetch = n, this.DOMParser = o; } var e, r; return Hn(t, [{ key: "parse", value: (r = Gn(_n.mark((function t(e) { return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: if (!/^</.test(e)) { t.next = 2; break; } return t.abrupt("return", this.parseFromString(e)); case 2: return t.abrupt("return", this.load(e)); case 3: case "end": return t.stop(); } }), t, this); }))), function (t) { return r.apply(this, arguments); }) }, { key: "parseFromString", value: function (t) { var e = new this.DOMParser; try { return this.checkDocument(e.parseFromString(t, "image/svg+xml")); } catch (r) { return this.checkDocument(e.parseFromString(t, "text/xml")); } } }, { key: "checkDocument", value: function (t) { var e = t.getElementsByTagName("parsererror")[0]; if (e) throw new Error(e.textContent); return t; } }, { key: "load", value: (e = Gn(_n.mark((function t(e) { var r, n; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.next = 2, this.fetch(e); case 2: return r = t.sent, t.next = 5, r.text(); case 5: return n = t.sent, t.abrupt("return", this.parseFromString(n)); case 7: case "end": return t.stop(); } }), t, this); }))), function (t) { return e.apply(this, arguments); }) }]), t; }(), Wa = [].slice, Ha = {}, Xa = function (t, e, r) { if (!(e in Ha)) { for (var n = [], i = 0; i < e; i++)n[i] = `a[${  i  }]`; Ha[e] = Function("C,a", `return new C(${  n.join(",")  })`); } return Ha[e](t, r); }, Ya = Function.bind || function (t) { var e = Vt(this), r = Wa.call(arguments, 1), n = function () { var i = r.concat(Wa.call(arguments)); return this instanceof n ? Xa(e, i.length, i) : e.apply(t, i); }; return d(e.prototype) && (n.prototype = e.prototype), n; }, Qa = ot("Reflect", "construct"), Za = o((function () { function t() { } return !(Qa((function () { }), [], t) instanceof t); })), Ka = !o((function () { Qa((function () { })); })), Ja = Za || Ka; Dt({ target: "Reflect", stat: !0, forced: Ja, sham: Ja }, { construct: function (t, e) { Vt(t), E(e); var r = arguments.length < 3 ? t : Vt(arguments[2]); if (Ka && !Za) return Qa(t, e, r); if (t == r) { switch (e.length) { case 0: return new t; case 1: return new t(e[0]); case 2: return new t(e[0], e[1]); case 3: return new t(e[0], e[1], e[2]); case 4: return new t(e[0], e[1], e[2], e[3]); }var n = [null]; return n.push.apply(n, e), new (Ya.apply(t, n)); } var i = r.prototype, o = Br(d(i) ? i : Object.prototype), a = Function.apply.call(t, o, e); return d(a) ? a : o; } }); var tu = RegExp.prototype, eu = tu.toString, ru = o((function () { return "/a/b" != eu.call({ source: "a", flags: "b" }); })), nu = "toString" != eu.name; (ru || nu) && rt(RegExp.prototype, "toString", (function () { var t = E(this), e = String(t.source), r = t.flags; return `/${  e  }/${  String(void 0 === r && t instanceof RegExp && !("flags" in tu) ? se.call(t) : r)}`; }), { unsafe: !0 }); var iu = r((function (t) { function e(r) { return "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? t.exports = e = function (t) { return typeof t; } : t.exports = e = function (t) { return t && "function" === typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; }, e(r); } t.exports = e; })); var ou = function (t) { if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t; }; var au = function (t, e) { return !e || "object" !== iu(e) && "function" !== typeof e ? ou(t) : e; }, uu = r((function (t) { function e(r) { return t.exports = e = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, e(r); } t.exports = e; })), su = r((function (t) { function e(r, n) { return t.exports = e = Object.setPrototypeOf || function (t, e) { return t.__proto__ = e, t; }, e(r, n); } t.exports = e; })); var cu = function (t, e) { if ("function" !== typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), e && su(t, e); }, lu = !Mi((function (t) { Array.from(t); })); Dt({ target: "Array", stat: !0, forced: lu }, { from: function (t) { var e, r, n, i, o, a, u = It(t), s = "function" === typeof this ? this : Array, c = arguments.length, l = c > 1 ? arguments[1] : void 0, f = void 0 !== l, h = wi(u), p = 0; if (f && (l = Nt(l, c > 2 ? arguments[2] : void 0, 2)), null == h || s == Array && xi(h)) for (r = new s(e = lt(u.length)); e > p; p++)a = f ? l(u[p], p) : u[p], In(r, p, a); else for (o = (i = h.call(u)).next, r = new s; !(n = o.call(i)).done; p++)a = f ? Si(i, l, [n.value, p], !0) : n.value, In(r, p, a); return r.length = p, r; } }); var fu = $t("unscopables"), hu = Array.prototype; null == hu[fu] && T.f(hu, fu, { configurable: !0, value: Br(null) }); var pu = function (t) { hu[fu][t] = !0; }, gu = yt.includes, yu = ie("indexOf", { ACCESSORS: !0, 1: 0 }); Dt({ target: "Array", proto: !0, forced: !yu }, { includes: function (t) { return gu(this, t, arguments.length > 1 ? arguments[1] : void 0); } }), pu("includes"); var vu = Ht.some, du = rr("some"), mu = ie("some"); Dt({ target: "Array", proto: !0, forced: !du || !mu }, { some: function (t) { return vu(this, t, arguments.length > 1 ? arguments[1] : void 0); } }), Dt({ target: "String", proto: !0, forced: !$e("includes") }, { includes: function (t) { return !!~String(y(this)).indexOf(Fe(t), arguments.length > 1 ? arguments[1] : void 0); } }); var xu, bu, wu, Su = !o((function () { function t() { } return t.prototype.constructor = null, Object.getPrototypeOf(new t) !== t.prototype; })), ku = U("IE_PROTO"), Pu = Object.prototype, Ru = Su ? Object.getPrototypeOf : function (t) { return t = It(t), b(t, ku) ? t[ku] : "function" === typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? Pu : null; }, Au = $t("iterator"), Eu = !1; [].keys && ("next" in (wu = [].keys()) ? (bu = Ru(Ru(wu))) !== Object.prototype && (xu = bu) : Eu = !0), null == xu && (xu = {}), b(xu, Au) || O(xu, Au, (function () { return this; })); var Cu = { IteratorPrototype: xu, BUGGY_SAFARI_ITERATORS: Eu }, Tu = Cu.IteratorPrototype, Ou = function () { return this; }, Mu = Object.setPrototypeOf || ("__proto__" in {} ? function () { var t, e = !1, r = {}; try { (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(r, []), e = r instanceof Array; } catch (t) { } return function (r, n) { return E(r), function (t) { if (!d(t) && null !== t) throw TypeError(`Can't set ${  String(t)  } as a prototype`); }(n), e ? t.call(r, n) : r.__proto__ = n, r; }; }() : void 0), Du = Cu.IteratorPrototype, Vu = Cu.BUGGY_SAFARI_ITERATORS, Nu = $t("iterator"), Iu = function () { return this; }, Lu = function (t, e, r, n, i, o, a) { !function (t, e, r) { var n = `${e  } Iterator`; t.prototype = Br(Tu, { next: l(1, r) }), Yr(t, n, !1), vi[n] = Ou; }(r, e, n); var u, s, c, f = function (t) { if (t === i && v) return v; if (!Vu && t in g) return g[t]; switch (t) { case "keys": case "values": case "entries": return function () { return new r(this, t); }; }return function () { return new r(this); }; }, h = `${e  } Iterator`, p = !1, g = t.prototype, y = g[Nu] || g["@@iterator"] || i && g[i], v = !Vu && y || f(i), d = "Array" == e && g.entries || y; if (d && (u = Ru(d.call(new t)), Du !== Object.prototype && u.next && (Ru(u) !== Du && (Mu ? Mu(u, Du) : "function" !== typeof u[Nu] && O(u, Nu, Iu)), Yr(u, h, !0))), "values" == i && y && "values" !== y.name && (p = !0, v = function () { return y.call(this); }), g[Nu] !== v && O(g, Nu, v), vi[e] = v, i) if (s = { values: f("values"), keys: o ? v : f("keys"), entries: f("entries") }, a) for (c in s) (Vu || p || !(c in g)) && rt(g, c, s[c]); else Dt({ target: e, proto: !0, forced: Vu || p }, s); return s; }, ju = Ce.charAt, zu = et.set, Bu = et.getterFor("String Iterator"); Lu(String, "String", (function (t) { zu(this, { type: "String Iterator", string: String(t), index: 0 }); }), (function () { var t, e = Bu(this), r = e.string, n = e.index; return n >= r.length ? { value: void 0, done: !0 } : (t = ju(r, n), e.index += t.length, { value: t, done: !1 }); })); var Fu = "\t\n\v\f\r                　\u2028\u2029\ufeff", _u = `[${  Fu  }]`, $u = RegExp(`^${  _u  }${_u  }*`), Gu = RegExp(`${_u + _u  }*$`), qu = function (t) { return function (e) { var r = String(y(e)); return 1 & t && (r = r.replace($u, "")), 2 & t && (r = r.replace(Gu, "")), r; }; }, Uu = { start: qu(1), end: qu(2), trim: qu(3) }, Wu = Uu.trim; Dt({ target: "String", proto: !0, forced: function (t) { return o((function () { return !!Fu[t]() || "​᠎" != "​᠎"[t]() || Fu[t].name !== t; })); }("trim") }, { trim: function () { return Wu(this); } }); var Hu = function (t) { if (Array.isArray(t)) return sr(t); }; var Xu = function (t) { if ("undefined" !== typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t); }; var Yu = function () { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }; var Qu = function (t) { return Hu(t) || Xu(t) || cr(t) || Yu(); }, Zu = function () { function t(e, r) { Un(this, t), this.type = "translate", this.point = null, this.point = za.parse(r); } return Hn(t, [{ key: "apply", value: function (t) { var e = this.point, r = e.x, n = e.y; t.translate(r || 0, n || 0); } }, { key: "unapply", value: function (t) { var e = this.point, r = e.x, n = e.y; t.translate(-1 * r || 0, -1 * n || 0); } }, { key: "applyToPoint", value: function (t) { var e = this.point, r = e.x, n = e.y; t.applyTransform([1, 0, 0, 1, r || 0, n || 0]); } }]), t; }(), Ku = function () { function t(e, r) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : []; Un(this, t), this.type = "rotate", this.angle = null, this.cx = 0, this.cy = 0; var i = Ze(r); this.angle = new La(e, "angle", i[0]), this.cx = (i[1] || 0) + (n[0] || 0), this.cy = (i[2] || 0) + (n[1] || 0); } return Hn(t, [{ key: "apply", value: function (t) { var e = this.cx, r = this.cy, n = this.angle; t.translate(e, r), t.rotate(n.getRadians()), t.translate(-e, -r); } }, { key: "unapply", value: function (t) { var e = this.cx, r = this.cy, n = this.angle; t.translate(e, r), t.rotate(-1 * n.getRadians()), t.translate(-e, -r); } }, { key: "applyToPoint", value: function (t) { var e = this.cx, r = this.cy, n = this.angle.getRadians(); t.applyTransform([1, 0, 0, 1, e || 0, r || 0]), t.applyTransform([Math.cos(n), Math.sin(n), -Math.sin(n), Math.cos(n), 0, 0]), t.applyTransform([1, 0, 0, 1, -e || 0, -r || 0]); } }]), t; }(), Ju = function () { function t(e, r) { Un(this, t), this.type = "scale", this.scale = null; var n = za.parseScale(r); 0 !== n.x && 0 !== n.y || (n.x = 1e-8, n.y = 1e-8), this.scale = n; } return Hn(t, [{ key: "apply", value: function (t) { var e = this.scale, r = e.x, n = e.y; t.scale(r, n || r); } }, { key: "unapply", value: function (t) { var e = this.scale, r = e.x, n = e.y; t.scale(1 / r, 1 / n || r); } }, { key: "applyToPoint", value: function (t) { var e = this.scale, r = e.x, n = e.y; t.applyTransform([r || 0, 0, 0, n || 0, 0, 0]); } }]), t; }(), ts = function () { function t(e, r) { Un(this, t), this.type = "matrix", this.matrix = [], this.matrix = Ze(r); } return Hn(t, [{ key: "apply", value: function (t) { var e = this.matrix; t.transform(e[0], e[1], e[2], e[3], e[4], e[5]); } }, { key: "unapply", value: function (t) { var e = this.matrix, r = e[0], n = e[2], i = e[4], o = e[1], a = e[3], u = e[5], s = 1 / (r * (1 * a - 0 * u) - n * (1 * o - 0 * u) + i * (0 * o - 0 * a)); t.transform(s * (1 * a - 0 * u), s * (0 * u - 1 * o), s * (0 * i - 1 * n), s * (1 * r - 0 * i), s * (n * u - i * a), s * (i * o - r * u)); } }, { key: "applyToPoint", value: function (t) { t.applyTransform(this.matrix); } }]), t; }(); function es() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var rs = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (es()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e) { var i; return Un(this, n), (i = r.call(this, t, e)).type = "skew", i.angle = null, i.angle = new La(t, "angle", e), i; } return n; }(ts); function ns() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var is = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (ns()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e) { var i; return Un(this, n), (i = r.call(this, t, e)).type = "skewX", i.matrix = [1, 0, Math.tan(i.angle.getRadians()), 1, 0, 0], i; } return n; }(rs); function os() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var as = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (os()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e) { var i; return Un(this, n), (i = r.call(this, t, e)).type = "skewY", i.matrix = [1, Math.tan(i.angle.getRadians()), 0, 1, 0, 0], i; } return n; }(rs); var us = function () { function t(e, r, n) { var i = this; Un(this, t), this.document = e, this.transforms = []; var o = function (t) { return Xe(t).trim().replace(/\)([a-zA-Z])/g, ") $1").replace(/\)(\s?,\s?)/g, ") ").split(/\s(?=[a-z])/); }(r), a = n ? Ze(n) : []; o.forEach((function (e) { if ("none" !== e) { var r = function (t) { var e = t.split("("), r = fr(e, 2), n = r[0], i = r[1]; return [n.trim(), i.trim().replace(")", "")]; }(e), n = fr(r, 2), o = n[0], u = n[1], s = t.transformTypes[o]; void 0 !== s && i.transforms.push(new s(i.document, u, a)); } })); } return Hn(t, [{ key: "apply", value: function (t) { for (var e = this.transforms, r = e.length, n = 0; n < r; n++)e[n].apply(t); } }, { key: "unapply", value: function (t) { for (var e = this.transforms, r = e.length - 1; r >= 0; r--)e[r].unapply(t); } }, { key: "applyToPoint", value: function (t) { for (var e = this.transforms, r = e.length, n = 0; n < r; n++)e[n].applyToPoint(t); } }], [{ key: "fromElement", value: function (e, r) { var n = r.getStyle("transform", !1, !0), i = r.getStyle("transform-origin", !1, !0); return n.hasValue() ? new t(e, n.getString(), i.getString()) : null; } }]), t; }(); us.transformTypes = { translate: Zu, rotate: Ku, scale: Ju, matrix: ts, skewX: is, skewY: as }; var ss = function () { function t(e, r) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if (Un(this, t), this.document = e, this.node = r, this.captureTextNodes = i, this.attributes = {}, this.styles = {}, this.stylesSpecificity = {}, this.animationFrozen = !1, this.animationFrozenValue = "", this.parent = null, this.children = [], r && 1 === r.nodeType) { if (Array.from(r.attributes).forEach((function (t) { var r = Je(t.nodeName); n.attributes[r] = new La(e, r, t.value); })), this.addStylesFromStyleDefinition(), this.getAttribute("style").hasValue()) { var o = this.getAttribute("style").getString().split(";").map((function (t) { return t.trim(); })); o.forEach((function (t) { if (t) { var r = t.split(":").map((function (t) { return t.trim(); })), i = fr(r, 2), o = i[0], a = i[1]; n.styles[o] = new La(e, o, a); } })); } var a = e.definitions, u = this.getAttribute("id"); u.hasValue() && (a[u.getValue()] || (a[u.getValue()] = this)), Array.from(r.childNodes).forEach((function (t) { if (1 === t.nodeType) n.addChild(t); else if (i && (3 === t.nodeType || 4 === t.nodeType)) { var r = e.createTextNode(t); r.getText().length > 0 && n.addChild(r); } })); } } return Hn(t, [{ key: "getAttribute", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], r = this.attributes[t]; if (!r && e) { var n = new La(this.document, t, ""); return this.attributes[t] = n, n; } return r || La.empty(this.document); } }, { key: "getHrefAttribute", value: function () { for (var t in this.attributes) if ("href" === t || /:href$/.test(t)) return this.attributes[t]; return La.empty(this.document); } }, { key: "getStyle", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n = this.styles[t]; if (n) return n; var i = this.getAttribute(t); if (i && i.hasValue()) return this.styles[t] = i, i; if (!r) { var o = this.parent; if (o) { var a = o.getStyle(t); if (a && a.hasValue()) return a; } } if (e) { var u = new La(this.document, t, ""); return this.styles[t] = u, u; } return n || La.empty(this.document); } }, { key: "render", value: function (t) { if ("none" !== this.getStyle("display").getString() && "hidden" !== this.getStyle("visibility").getString()) { if (t.save(), this.getStyle("mask").hasValue()) { var e = this.getStyle("mask").getDefinition(); e && (this.applyEffects(t), e.apply(t, this)); } else if ("none" !== this.getStyle("filter").getValue("none")) { var r = this.getStyle("filter").getDefinition(); r && (this.applyEffects(t), r.apply(t, this)); } else this.setContext(t), this.renderChildren(t), this.clearContext(t); t.restore(); } } }, { key: "setContext", value: function (t) { } }, { key: "applyEffects", value: function (t) { var e = us.fromElement(this.document, this); e && e.apply(t); var r = this.getStyle("clip-path", !1, !0); if (r.hasValue()) { var n = r.getDefinition(); n && n.apply(t); } } }, { key: "clearContext", value: function (t) { } }, { key: "renderChildren", value: function (t) { this.children.forEach((function (e) { e.render(t); })); } }, { key: "addChild", value: function (e) { var r = e instanceof t ? e : this.document.createElement(e); r.parent = this, t.ignoreChildTypes.includes(r.type) || this.children.push(r); } }, { key: "matchesSelector", value: function (t) { var e = this.node; if ("function" === typeof e.matches) return e.matches(t); var r = e.getAttribute("class"); return !(!r || "" === r) && r.split(" ").some((function (e) { if (".".concat(e) === t) return !0; })); } }, { key: "addStylesFromStyleDefinition", value: function () { var t = this.document, e = t.styles, r = t.stylesSpecificity; for (var n in e) if ("@" !== n[0] && this.matchesSelector(n)) { var i = e[n], o = r[n]; if (i) for (var a in i) { var u = this.stylesSpecificity[a]; void 0 === u && (u = "000"), o >= u && (this.styles[a] = i[a], this.stylesSpecificity[a] = o); } } } }, { key: "removeStyles", value: function (t, e) { return e.reduce((function (e, r) { var n = t.getStyle(r); if (!n.hasValue()) return e; var i = n.getString(); return n.setValue(""), [].concat(Qu(e), [[r, i]]); }), []); } }, { key: "restoreStyles", value: function (t, e) { e.forEach((function (e) { var r = fr(e, 2), n = r[0], i = r[1]; t.getStyle(n, !0).setValue(i); })); } }]), t; }(); function cs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } ss.ignoreChildTypes = ["title"]; var ls = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (cs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { return Un(this, n), r.call(this, t, e, i); } return n; }(ss), fs = yt.indexOf, hs = [].indexOf, ps = !!hs && 1 / [1].indexOf(1, -0) < 0, gs = rr("indexOf"), ys = ie("indexOf", { ACCESSORS: !0, 1: 0 }); Dt({ target: "Array", proto: !0, forced: ps || !gs || !ys }, { indexOf: function (t) { return ps ? hs.apply(this, arguments) || 0 : fs(this, t, arguments.length > 1 ? arguments[1] : void 0); } }); var vs = [].reverse, ds = [1, 2]; Dt({ target: "Array", proto: !0, forced: String(ds) === String(ds.reverse()) }, { reverse: function () { return Lt(this) && (this.length = this.length), vs.call(this); } }); var ms = function (t, e) { for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = uu(t));); return t; }, xs = r((function (t) { function e(r, n, i) { return "undefined" !== typeof Reflect && Reflect.get ? t.exports = e = Reflect.get : t.exports = e = function (t, e, r) { var n = ms(t, e); if (n) { var i = Object.getOwnPropertyDescriptor(n, e); return i.get ? i.get.call(r) : i.value; } }, e(r, n, i || r); } t.exports = e; })); function bs(t) { var e = t.trim(); return /^('|")/.test(e) ? e : '"'.concat(e, '"'); } function ws(t) { if (!t) return ""; var e = t.trim().toLowerCase(); switch (e) { case "normal": case "italic": case "oblique": case "inherit": case "initial": case "unset": return e; default: return /^oblique\s+(-|)\d+deg$/.test(e) ? e : ""; } } function Ss(t) { if (!t) return ""; var e = t.trim().toLowerCase(); switch (e) { case "normal": case "bold": case "lighter": case "bolder": case "inherit": case "initial": case "unset": return e; default: return /^[\d.]+$/.test(e) ? e : ""; } } var ks = function () { function t(e, r, n, i, o, a) { Un(this, t); var u = a ? "string" === typeof a ? t.parse(a) : a : {}; this.fontFamily = o || u.fontFamily, this.fontSize = i || u.fontSize, this.fontStyle = e || u.fontStyle, this.fontWeight = n || u.fontWeight, this.fontVariant = r || u.fontVariant; } return Hn(t, [{ key: "toString", value: function () { return [ws(this.fontStyle), this.fontVariant, Ss(this.fontWeight), this.fontSize, (t = this.fontFamily, "undefined" === typeof process ? t : t.trim().split(",").map(bs).join(","))].join(" ").trim(); var t; } }], [{ key: "parse", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", r = arguments.length > 1 ? arguments[1] : void 0, n = "", i = "", o = "", a = "", u = "", s = Xe(e).trim().split(" "), c = { fontSize: !1, fontStyle: !1, fontWeight: !1, fontVariant: !1 }; return s.forEach((function (e) { switch (!0) { case !c.fontStyle && t.styles.includes(e): "inherit" !== e && (n = e), c.fontStyle = !0; break; case !c.fontVariant && t.variants.includes(e): "inherit" !== e && (i = e), c.fontStyle = !0, c.fontVariant = !0; break; case !c.fontWeight && t.weights.includes(e): "inherit" !== e && (o = e), c.fontStyle = !0, c.fontVariant = !0, c.fontWeight = !0; break; case !c.fontSize: if ("inherit" !== e) { var r = e.split("/"), s = fr(r, 1); a = s[0]; } c.fontStyle = !0, c.fontVariant = !0, c.fontWeight = !0, c.fontSize = !0; break; default: "inherit" !== e && (u += e); } })), new t(n, i, o, a, u, r); } }]), t; }(); ks.styles = "normal|italic|oblique|inherit", ks.variants = "normal|small-caps|inherit", ks.weights = "normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit"; var Ps = function (t, e, r) { var n, i; return Mu && "function" === typeof (n = e.constructor) && n !== r && d(i = n.prototype) && i !== r.prototype && Mu(t, i), t; }, Rs = bt.f, As = A.f, Es = T.f, Cs = Uu.trim, Ts = i.Number, Os = Ts.prototype, Ms = "Number" == h(Br(Os)), Ds = function (t) { var e, r, n, i, o, a, u, s, c = m(t, !1); if ("string" === typeof c && c.length > 2) if (43 === (e = (c = Cs(c)).charCodeAt(0)) || 45 === e) { if (88 === (r = c.charCodeAt(2)) || 120 === r) return NaN; } else if (48 === e) { switch (c.charCodeAt(1)) { case 66: case 98: n = 2, i = 49; break; case 79: case 111: n = 8, i = 55; break; default: return +c; }for (a = (o = c.slice(2)).length, u = 0; u < a; u++)if ((s = o.charCodeAt(u)) < 48 || s > i) return NaN; return parseInt(o, n); } return +c; }; if (Ot("Number", !Ts(" 0o1") || !Ts("0b1") || Ts("+0x1"))) { for (var Vs, Ns = function (t) { var e = arguments.length < 1 ? 0 : t, r = this; return r instanceof Ns && (Ms ? o((function () { Os.valueOf.call(r); })) : "Number" != h(r)) ? Ps(new Ts(Ds(e)), r, Ns) : Ds(e); }, Is = a ? Rs(Ts) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), Ls = 0; Is.length > Ls; Ls++)b(Ts, Vs = Is[Ls]) && !b(Ns, Vs) && Es(Ns, Vs, As(Ts, Vs)); Ns.prototype = Os, Os.constructor = Ns, rt(i, "Number", Ns); } var js = function () { function t() { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Number.NaN, r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Number.NaN, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Number.NaN, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : Number.NaN; Un(this, t), this.x1 = e, this.y1 = r, this.x2 = n, this.y2 = i, this.addPoint(e, r), this.addPoint(n, i); } return Hn(t, [{ key: "addPoint", value: function (t, e) { void 0 !== t && ((isNaN(this.x1) || isNaN(this.x2)) && (this.x1 = t, this.x2 = t), t < this.x1 && (this.x1 = t), t > this.x2 && (this.x2 = t)), void 0 !== e && ((isNaN(this.y1) || isNaN(this.y2)) && (this.y1 = e, this.y2 = e), e < this.y1 && (this.y1 = e), e > this.y2 && (this.y2 = e)); } }, { key: "addX", value: function (t) { this.addPoint(t, null); } }, { key: "addY", value: function (t) { this.addPoint(null, t); } }, { key: "addBoundingBox", value: function (t) { if (t) { var e = t.x1, r = t.y1, n = t.x2, i = t.y2; this.addPoint(e, r), this.addPoint(n, i); } } }, { key: "sumCubic", value: function (t, e, r, n, i) { return Math.pow(1 - t, 3) * e + 3 * Math.pow(1 - t, 2) * t * r + 3 * (1 - t) * Math.pow(t, 2) * n + Math.pow(t, 3) * i; } }, { key: "bezierCurveAdd", value: function (t, e, r, n, i) { var o = 6 * e - 12 * r + 6 * n, a = -3 * e + 9 * r - 9 * n + 3 * i, u = 3 * r - 3 * e; if (0 !== a) { var s = Math.pow(o, 2) - 4 * u * a; if (!(s < 0)) { var c = (-o + Math.sqrt(s)) / (2 * a); 0 < c && c < 1 && (t ? this.addX(this.sumCubic(c, e, r, n, i)) : this.addY(this.sumCubic(c, e, r, n, i))); var l = (-o - Math.sqrt(s)) / (2 * a); 0 < l && l < 1 && (t ? this.addX(this.sumCubic(l, e, r, n, i)) : this.addY(this.sumCubic(l, e, r, n, i))); } } else { if (0 === o) return; var f = -u / o; 0 < f && f < 1 && (t ? this.addX(this.sumCubic(f, e, r, n, i)) : this.addY(this.sumCubic(f, e, r, n, i))); } } }, { key: "addBezierCurve", value: function (t, e, r, n, i, o, a, u) { this.addPoint(t, e), this.addPoint(a, u), this.bezierCurveAdd(!0, t, r, i, a), this.bezierCurveAdd(!1, e, n, o, u); } }, { key: "addQuadraticCurve", value: function (t, e, r, n, i, o) { var a = t + 2 / 3 * (r - t), u = e + 2 / 3 * (n - e), s = a + 1 / 3 * (i - t), c = u + 1 / 3 * (o - e); this.addBezierCurve(t, e, a, s, u, c, i, o); } }, { key: "isPointInBox", value: function (t, e) { var r = this.x1, n = this.y1, i = this.x2, o = this.y2; return r <= t && t <= i && n <= e && e <= o; } }, { key: "x", get: function () { return this.x1; } }, { key: "y", get: function () { return this.y1; } }, { key: "width", get: function () { return this.x2 - this.x1; } }, { key: "height", get: function () { return this.y2 - this.y1; } }]), t; }(); function zs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Bs = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (zs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).modifiedEmSizeStack = !1, t; } return Hn(n, [{ key: "calculateOpacity", value: function () { for (var t = 1, e = this; e;) { var r = e.getStyle("opacity", !1, !0); r.hasValue() && (t *= r.getNumber()), e = e.parent; } return t; } }, { key: "setContext", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if (!e) { var r = this.getStyle("fill"), n = this.getStyle("fill-opacity"), i = this.getStyle("stroke"), o = this.getStyle("stroke-opacity"); if (r.isUrlDefinition()) { var a = r.getFillStyleDefinition(this, n); a && (t.fillStyle = a); } else if (r.hasValue()) { "currentColor" === r.getString() && r.setValue(this.getStyle("color").getColor()); var u = r.getColor(); "inherit" !== u && (t.fillStyle = "none" === u ? "rgba(0,0,0,0)" : u); } if (n.hasValue()) { var s = new La(this.document, "fill", t.fillStyle).addOpacity(n).getColor(); t.fillStyle = s; } if (i.isUrlDefinition()) { var c = i.getFillStyleDefinition(this, o); c && (t.strokeStyle = c); } else if (i.hasValue()) { "currentColor" === i.getString() && i.setValue(this.getStyle("color").getColor()); var l = i.getString(); "inherit" !== l && (t.strokeStyle = "none" === l ? "rgba(0,0,0,0)" : l); } if (o.hasValue()) { var f = new La(this.document, "stroke", t.strokeStyle).addOpacity(o).getString(); t.strokeStyle = f; } var h = this.getStyle("stroke-width"); if (h.hasValue()) { var p = h.getPixels(); t.lineWidth = p || 1e-8; } var g = this.getStyle("stroke-linecap"), y = this.getStyle("stroke-linejoin"), v = this.getStyle("stroke-miterlimit"), d = this.getStyle("paint-order"), m = this.getStyle("stroke-dasharray"), x = this.getStyle("stroke-dashoffset"); if (g.hasValue() && (t.lineCap = g.getString()), y.hasValue() && (t.lineJoin = y.getString()), v.hasValue() && (t.miterLimit = v.getNumber()), d.hasValue() && (t.paintOrder = d.getValue()), m.hasValue() && "none" !== m.getString()) { var b = Ze(m.getString()); void 0 !== t.setLineDash ? t.setLineDash(b) : void 0 !== t.webkitLineDash ? t.webkitLineDash = b : void 0 === t.mozDash || 1 === b.length && 0 === b[0] || (t.mozDash = b); var w = x.getPixels(); void 0 !== t.lineDashOffset ? t.lineDashOffset = w : void 0 !== t.webkitLineDashOffset ? t.webkitLineDashOffset = w : void 0 !== t.mozDashOffset && (t.mozDashOffset = w); } } if (this.modifiedEmSizeStack = !1, void 0 !== t.font) { var S = this.getStyle("font"), k = this.getStyle("font-style"), P = this.getStyle("font-variant"), R = this.getStyle("font-weight"), A = this.getStyle("font-size"), E = this.getStyle("font-family"), C = new ks(k.getString(), P.getString(), R.getString(), A.hasValue() ? "".concat(A.getPixels(!0), "px") : "", E.getString(), ks.parse(S.getString(), t.font)); k.setValue(C.fontStyle), P.setValue(C.fontVariant), R.setValue(C.fontWeight), A.setValue(C.fontSize), E.setValue(C.fontFamily), t.font = C.toString(), A.isPixels() && (this.document.emSize = A.getPixels(), this.modifiedEmSizeStack = !0); } e || (this.applyEffects(t), t.globalAlpha = this.calculateOpacity()); } }, { key: "clearContext", value: function (t) { xs(uu(n.prototype), "clearContext", this).call(this, t), this.modifiedEmSizeStack && this.document.popEmSize(); } }]), n; }(ss); function Fs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var _s = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Fs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, (this instanceof n ? this.constructor : void 0) === n || i)).type = "text", o.x = 0, o.y = 0, o.measureCache = -1, o; } return Hn(n, [{ key: "setContext", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; xs(uu(n.prototype), "setContext", this).call(this, t, e); var r = this.getStyle("dominant-baseline").getTextBaseline() || this.getStyle("alignment-baseline").getTextBaseline(); r && (t.textBaseline = r); } }, { key: "initializeCoordinates", value: function (t) { this.x = this.getAttribute("x").getPixels("x"), this.y = this.getAttribute("y").getPixels("y"); var e = this.getAttribute("dx"), r = this.getAttribute("dy"); e.hasValue() && (this.x += e.getPixels("x")), r.hasValue() && (this.y += r.getPixels("y")), this.x += this.getAnchorDelta(t, this, 0); } }, { key: "getBoundingBox", value: function (t) { var e = this; if ("text" !== this.type) return this.getTElementBoundingBox(t); this.initializeCoordinates(t); var r = null; return this.children.forEach((function (n, i) { var o = e.getChildBoundingBox(t, e, e, i); r ? r.addBoundingBox(o) : r = o; })), r; } }, { key: "getFontSize", value: function () { var t = this.document, e = this.parent, r = ks.parse(t.ctx.font).fontSize; return e.getStyle("font-size").getNumber(r); } }, { key: "getTElementBoundingBox", value: function (t) { var e = this.getFontSize(); return new js(this.x, this.y - e, this.x + this.measureText(t), this.y); } }, { key: "getGlyph", value: function (t, e, r) { var n = e[r], i = null; if (t.isArabic) { var o = e.length, a = e[r - 1], u = e[r + 1], s = "isolated"; (0 === r || " " === a) && r < o - 2 && " " !== u && (s = "terminal"), r > 0 && " " !== a && r < o - 2 && " " !== u && (s = "medial"), r > 0 && " " !== a && (r === o - 1 || " " === u) && (s = "initial"), void 0 !== t.glyphs[n] && ((i = t.glyphs[n][s]) || "glyph" !== t.glyphs[n].type || (i = t.glyphs[n])); } else i = t.glyphs[n]; return i || (i = t.missingGlyph), i; } }, { key: "getText", value: function () { return ""; } }, { key: "getTextFromNode", value: function (t) { var e = t || this.node, r = Array.from(e.parentNode.childNodes), n = r.indexOf(e), i = r.length - 1, o = Xe(e.value || e.text || e.textContent || ""); return 0 === n && (o = Ye(o)), n === i && (o = Qe(o)), o; } }, { key: "renderChildren", value: function (t) { var e = this; if ("text" === this.type) { this.initializeCoordinates(t), this.children.forEach((function (r, n) { e.renderChild(t, e, e, n); })); var r = this.document.screen.mouse; r.isWorking() && r.checkBoundingBox(this, this.getBoundingBox(t)); } else this.renderTElementChildren(t); } }, { key: "renderTElementChildren", value: function (t) { var e = this.document, r = this.parent, n = this.getText(), i = r.getStyle("font-family").getDefinition(); if (i) for (var o = i.fontFace.unitsPerEm, a = ks.parse(e.ctx.font), u = r.getStyle("font-size").getNumber(a.fontSize), s = r.getStyle("font-style").getString(a.fontStyle), c = u / o, l = i.isRTL ? n.split("").reverse().join("") : n, f = Ze(r.getAttribute("dx").getString()), h = l.length, p = 0; p < h; p++) { var g = this.getGlyph(i, l, p); t.translate(this.x, this.y), t.scale(c, -c); var y = t.lineWidth; t.lineWidth = t.lineWidth * o / u, "italic" === s && t.transform(1, 0, .4, 1, 0, 0), g.render(t), "italic" === s && t.transform(1, 0, -.4, 1, 0, 0), t.lineWidth = y, t.scale(1 / c, -1 / c), t.translate(-this.x, -this.y), this.x += u * (g.horizAdvX || i.horizAdvX) / o, void 0 === f[p] || isNaN(f[p]) || (this.x += f[p]); } else { var v = this.x, d = this.y; "stroke" === t.paintOrder ? (t.strokeStyle && t.strokeText(n, v, d), t.fillStyle && t.fillText(n, v, d)) : (t.fillStyle && t.fillText(n, v, d), t.strokeStyle && t.strokeText(n, v, d)); } } }, { key: "getAnchorDelta", value: function (t, e, r) { var n = this.getStyle("text-anchor").getString("start"); if ("start" !== n) { for (var i = e.children, o = i.length, a = null, u = 0, s = r; s < o && (a = i[s], !(s > r && a.getAttribute("x").hasValue() || a.getAttribute("text-anchor").hasValue())); s++)u += a.measureTextRecursive(t); return -1 * ("end" === n ? u : u / 2); } return 0; } }, { key: "adjustChildCoordinates", value: function (t, e, r, n) { var i = r.children[n]; if ("function" !== typeof i.measureText) return i; t.save(), i.setContext(t, !0); var o = i.getAttribute("x"), a = i.getAttribute("y"), u = i.getAttribute("dx"), s = i.getAttribute("dy"), c = i.getAttribute("text-anchor").getString("start"); if (0 === n && "textNode" !== i.type && (o.hasValue() || o.setValue(e.getAttribute("x").getValue("0")), a.hasValue() || a.setValue(e.getAttribute("y").getValue("0")), u.hasValue() || u.setValue(e.getAttribute("dx").getValue("0")), s.hasValue() || s.setValue(e.getAttribute("dy").getValue("0"))), o.hasValue()) { if (i.x = o.getPixels("x") + e.getAnchorDelta(t, r, n), "start" !== c) { var l = i.measureTextRecursive(t); i.x += -1 * ("end" === c ? l : l / 2); } u.hasValue() && (i.x += u.getPixels("x")); } else { if ("start" !== c) { var f = i.measureTextRecursive(t); e.x += -1 * ("end" === c ? f : f / 2); } u.hasValue() && (e.x += u.getPixels("x")), i.x = e.x; } return e.x = i.x + i.measureText(t), a.hasValue() ? (i.y = a.getPixels("y"), s.hasValue() && (i.y += s.getPixels("y"))) : (s.hasValue() && (e.y += s.getPixels("y")), i.y = e.y), e.y = i.y, i.clearContext(t), t.restore(), i; } }, { key: "getChildBoundingBox", value: function (t, e, r, n) { var i = this.adjustChildCoordinates(t, e, r, n), o = i.getBoundingBox(t); return o ? (i.children.forEach((function (r, n) { var a = e.getChildBoundingBox(t, e, i, n); o.addBoundingBox(a); })), o) : null; } }, { key: "renderChild", value: function (t, e, r, n) { var i = this.adjustChildCoordinates(t, e, r, n); i.render(t), i.children.forEach((function (r, n) { e.renderChild(t, e, i, n); })); } }, { key: "measureTextRecursive", value: function (t) { return this.children.reduce((function (e, r) { return e + r.measureTextRecursive(t); }), this.measureText(t)); } }, { key: "measureText", value: function (t) { var e = this.measureCache; if (~e) return e; var r = this.getText(), n = this.measureTargetText(t, r); return this.measureCache = n, n; } }, { key: "measureTargetText", value: function (t, e) { if (!e.length) return 0; var r = this.parent, n = r.getStyle("font-family").getDefinition(); if (n) { for (var i = this.getFontSize(), o = n.isRTL ? e.split("").reverse().join("") : e, a = Ze(r.getAttribute("dx").getString()), u = o.length, s = 0, c = 0; c < u; c++) { s += (this.getGlyph(n, o, c).horizAdvX || n.horizAdvX) * i / n.fontFace.unitsPerEm, void 0 === a[c] || isNaN(a[c]) || (s += a[c]); } return s; } if (!t.measureText) return 10 * e.length; t.save(), this.setContext(t, !0); var l = t.measureText(e).width; return this.clearContext(t), t.restore(), l; } }]), n; }(Bs); function $s() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Gs = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if ($s()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, (this instanceof n ? this.constructor : void 0) === n || i)).type = "tspan", o.text = o.children.length > 0 ? "" : o.getTextFromNode(), o; } return Hn(n, [{ key: "getText", value: function () { return this.text; } }]), n; }(_s); function qs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Us = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (qs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "textNode", t; } return n; }(Gs); Dt({ target: "Array", proto: !0 }, { fill: function (t) { for (var e = It(this), r = lt(e.length), n = arguments.length, i = pt(n > 1 ? arguments[1] : void 0, r), o = n > 2 ? arguments[2] : void 0, a = void 0 === o ? r : pt(o, r); a > i;)e[i++] = t; return e; } }), pu("fill"); var Ws = function () { function t(e) { Un(this, t), this.control = null, this.start = null, this.current = null, this.command = "", this.tokens = [], this.i = -1, this.previousCommand = "", this.points = [], this.angles = [], this.tokens = function (t) { return Xe(t.replace(/,/gm, " ").replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, "$1 $2").replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, "$1 $2").replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2").replace(/([0-9])([+\-])/gm, "$1 $2").replace(/(\.[0-9]*)(\.)/gm, "$1 $2").replace(/(\.[0-9]*)(\.)/gm, "$1 $2").replace(/([Aa](?:\s+(?:[0-9]*\.)?[0-9]+){3})\s+([01])\s*([01])/gm, "$1 $2 $3 ")).trim(); }(e).split(" "); } return Hn(t, [{ key: "reset", value: function () { this.i = -1, this.command = "", this.previousCommand = "", this.start = new za(0, 0), this.control = new za(0, 0), this.current = new za(0, 0), this.points = [], this.angles = []; } }, { key: "isEnd", value: function () { return this.i >= this.tokens.length - 1; } }, { key: "isCommandOrEnd", value: function () { if (this.isEnd()) return !0; var t = this.i, e = this.tokens; return /^[A-Za-z]$/.test(e[t + 1]); } }, { key: "isRelativeCommand", value: function () { switch (this.command) { case "m": case "l": case "h": case "v": case "c": case "s": case "q": case "t": case "a": case "z": return !0; default: return !1; } } }, { key: "getToken", value: function () { return this.i++, this.tokens[this.i]; } }, { key: "getScalar", value: function () { return parseFloat(this.getToken()); } }, { key: "nextCommand", value: function () { this.previousCommand = this.command, this.command = this.getToken(); } }, { key: "getPoint", value: function () { var t = new za(this.getScalar(), this.getScalar()); return this.makeAbsolute(t); } }, { key: "getAsControlPoint", value: function () { var t = this.getPoint(); return this.control = t, t; } }, { key: "getAsCurrentPoint", value: function () { var t = this.getPoint(); return this.current = t, t; } }, { key: "getReflectedControlPoint", value: function () { var t = this.previousCommand.toLowerCase(); if ("c" !== t && "s" !== t && "q" !== t && "t" !== t) return this.current; var e = this.current, r = e.x, n = e.y, i = this.control, o = i.x, a = i.y; return new za(2 * r - o, 2 * n - a); } }, { key: "makeAbsolute", value: function (t) { if (this.isRelativeCommand()) { var e = this.current, r = e.x, n = e.y; t.x += r, t.y += n; } return t; } }, { key: "addMarker", value: function (t, e, r) { var n = this.points, i = this.angles; r && i.length > 0 && !i[i.length - 1] && (i[i.length - 1] = n[n.length - 1].angleTo(r)), this.addMarkerAngle(t, e ? e.angleTo(t) : null); } }, { key: "addMarkerAngle", value: function (t, e) { this.points.push(t), this.angles.push(e); } }, { key: "getMarkerPoints", value: function () { return this.points; } }, { key: "getMarkerAngles", value: function () { for (var t = this.angles, e = t.length, r = 0; r < e; r++)if (!t[r]) for (var n = r + 1; n < e; n++)if (t[n]) { t[r] = t[n]; break; } return t; } }]), t; }(); function Hs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Xs = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Hs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "path", o.pathParser = null, o.pathParser = new Ws(o.getAttribute("d").getString()), o; } return Hn(n, [{ key: "path", value: function (t) { var e = this.pathParser, r = new js; for (e.reset(), t && t.beginPath(); !e.isEnd();)switch (e.nextCommand(), e.command) { case "M": case "m": this.pathM(t, r); break; case "L": case "l": this.pathL(t, r); break; case "H": case "h": this.pathH(t, r); break; case "V": case "v": this.pathV(t, r); break; case "C": case "c": this.pathC(t, r); break; case "S": case "s": this.pathS(t, r); break; case "Q": case "q": this.pathQ(t, r); break; case "T": case "t": this.pathT(t, r); break; case "A": case "a": this.pathA(t, r); break; case "Z": case "z": this.pathZ(t, r); }return r; } }, { key: "getBoundingBox", value: function (t) { return this.path(); } }, { key: "getMarkers", value: function () { var t = this.pathParser, e = t.getMarkerPoints(), r = t.getMarkerAngles(); return e.map((function (t, e) { return [t, r[e]]; })); } }, { key: "renderChildren", value: function (t) { this.path(t), this.document.screen.mouse.checkPath(this, t); var e = this.getStyle("fill-rule"); "" !== t.fillStyle && ("inherit" !== e.getString("inherit") ? t.fill(e.getString()) : t.fill()), "" !== t.strokeStyle && t.stroke(); var r = this.getMarkers(); if (r) { var n = r.length - 1, i = this.getStyle("marker-start"), o = this.getStyle("marker-mid"), a = this.getStyle("marker-end"); if (i.isUrlDefinition()) { var u = i.getDefinition(), s = fr(r[0], 2), c = s[0], l = s[1]; u.render(t, c, l); } if (o.isUrlDefinition()) for (var f = o.getDefinition(), h = 1; h < n; h++) { var p = fr(r[h], 2), g = p[0], y = p[1]; f.render(t, g, y); } if (a.isUrlDefinition()) { var v = a.getDefinition(), d = fr(r[n], 2), m = d[0], x = d[1]; v.render(t, m, x); } } } }, { key: "pathM", value: function (t, e) { var r = this.pathParser, n = r.getAsCurrentPoint(), i = n.x, o = n.y; for (r.addMarker(n), e.addPoint(i, o), t && t.moveTo(i, o), r.start = r.current; !r.isCommandOrEnd();) { var a = r.getAsCurrentPoint(), u = a.x, s = a.y; r.addMarker(a, r.start), e.addPoint(u, s), t && t.lineTo(u, s); } } }, { key: "pathL", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getAsCurrentPoint(), o = i.x, a = i.y; r.addMarker(i, n), e.addPoint(o, a), t && t.lineTo(o, a); } } }, { key: "pathH", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = new za((r.isRelativeCommand() ? n.x : 0) + r.getScalar(), n.y); r.addMarker(i, n), r.current = i, e.addPoint(i.x, i.y), t && t.lineTo(i.x, i.y); } } }, { key: "pathV", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = new za(n.x, (r.isRelativeCommand() ? n.y : 0) + r.getScalar()); r.addMarker(i, n), r.current = i, e.addPoint(i.x, i.y), t && t.lineTo(i.x, i.y); } } }, { key: "pathC", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getPoint(), o = r.getAsControlPoint(), a = r.getAsCurrentPoint(); r.addMarker(a, o, i), e.addBezierCurve(n.x, n.y, i.x, i.y, o.x, o.y, a.x, a.y), t && t.bezierCurveTo(i.x, i.y, o.x, o.y, a.x, a.y); } } }, { key: "pathS", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getReflectedControlPoint(), o = r.getAsControlPoint(), a = r.getAsCurrentPoint(); r.addMarker(a, o, i), e.addBezierCurve(n.x, n.y, i.x, i.y, o.x, o.y, a.x, a.y), t && t.bezierCurveTo(i.x, i.y, o.x, o.y, a.x, a.y); } } }, { key: "pathQ", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getAsControlPoint(), o = r.getAsCurrentPoint(); r.addMarker(o, i, i), e.addQuadraticCurve(n.x, n.y, i.x, i.y, o.x, o.y), t && t.quadraticCurveTo(i.x, i.y, o.x, o.y); } } }, { key: "pathT", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getReflectedControlPoint(); r.control = i; var o = r.getAsCurrentPoint(); r.addMarker(o, i, i), e.addQuadraticCurve(n.x, n.y, i.x, i.y, o.x, o.y), t && t.quadraticCurveTo(i.x, i.y, o.x, o.y); } } }, { key: "pathA", value: function (t, e) { for (var r = this.pathParser; !r.isCommandOrEnd();) { var n = r.current, i = r.getScalar(), o = r.getScalar(), a = r.getScalar() * (Math.PI / 180), u = r.getScalar(), s = r.getScalar(), c = r.getAsCurrentPoint(), l = new za(Math.cos(a) * (n.x - c.x) / 2 + Math.sin(a) * (n.y - c.y) / 2, -Math.sin(a) * (n.x - c.x) / 2 + Math.cos(a) * (n.y - c.y) / 2), f = Math.pow(l.x, 2) / Math.pow(i, 2) + Math.pow(l.y, 2) / Math.pow(o, 2); f > 1 && (i *= Math.sqrt(f), o *= Math.sqrt(f)); var h = (u === s ? -1 : 1) * Math.sqrt((Math.pow(i, 2) * Math.pow(o, 2) - Math.pow(i, 2) * Math.pow(l.y, 2) - Math.pow(o, 2) * Math.pow(l.x, 2)) / (Math.pow(i, 2) * Math.pow(l.y, 2) + Math.pow(o, 2) * Math.pow(l.x, 2))); isNaN(h) && (h = 0); var p = new za(h * i * l.y / o, h * -o * l.x / i), g = new za((n.x + c.x) / 2 + Math.cos(a) * p.x - Math.sin(a) * p.y, (n.y + c.y) / 2 + Math.sin(a) * p.x + Math.cos(a) * p.y), y = kr([1, 0], [(l.x - p.x) / i, (l.y - p.y) / o]), v = [(l.x - p.x) / i, (l.y - p.y) / o], d = [(-l.x - p.x) / i, (-l.y - p.y) / o], m = kr(v, d); Sr(v, d) <= -1 && (m = Math.PI), Sr(v, d) >= 1 && (m = 0); var x = 1 - s ? 1 : -1, b = y + x * (m / 2), w = new za(g.x + i * Math.cos(b), g.y + o * Math.sin(b)); if (r.addMarkerAngle(w, b - x * Math.PI / 2), r.addMarkerAngle(c, b - x * Math.PI), e.addPoint(c.x, c.y), t && !isNaN(y) && !isNaN(m)) { var S = i > o ? i : o, k = i > o ? 1 : i / o, P = i > o ? o / i : 1; t.translate(g.x, g.y), t.rotate(a), t.scale(k, P), t.arc(0, 0, S, y, y + m, Boolean(1 - s)), t.scale(1 / k, 1 / P), t.rotate(-a), t.translate(-g.x, -g.y); } } } }, { key: "pathZ", value: function (t, e) { var r = this.pathParser; t && e.x1 !== e.x2 && e.y1 !== e.y2 && t.closePath(), r.current = r.start; } }]), n; }(Bs); function Ys() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Qs = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Ys()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "svg", t.root = !1, t; } return Hn(n, [{ key: "clearContext", value: function (t) { xs(uu(n.prototype), "clearContext", this).call(this, t), this.document.screen.viewPort.removeCurrent(); } }, { key: "setContext", value: function (t) { var e = this.document, r = e.screen, i = e.window, o = t.canvas; if (r.setDefaults(t), o.style && void 0 !== t.font && i && void 0 !== i.getComputedStyle) { t.font = i.getComputedStyle(o).getPropertyValue("font"); var a = new La(e, "fontSize", ks.parse(t.font).fontSize); a.hasValue() && (e.rootEmSize = a.getPixels("y"), e.emSize = e.rootEmSize); } xs(uu(n.prototype), "setContext", this).call(this, t), this.getAttribute("x").hasValue() || this.getAttribute("x", !0).setValue(0), this.getAttribute("y").hasValue() || this.getAttribute("y", !0).setValue(0), t.translate(this.getAttribute("x").getPixels("x"), this.getAttribute("y").getPixels("y")); var u = r.viewPort, s = u.width, c = u.height; this.getStyle("width").hasValue() || this.getStyle("width", !0).setValue("100%"), this.getStyle("height").hasValue() || this.getStyle("height", !0).setValue("100%"), this.getStyle("color").hasValue() || this.getStyle("color", !0).setValue("black"); var l = this.getAttribute("refX"), f = this.getAttribute("refY"), h = this.getAttribute("viewBox"), p = h.hasValue() ? Ze(h.getString()) : null, g = !this.root && "visible" !== this.getAttribute("overflow").getValue("hidden"), y = 0, v = 0, d = 0, m = 0; p && (y = p[0], v = p[1]), this.root || (s = this.getStyle("width").getPixels("x"), c = this.getStyle("height").getPixels("y"), "marker" === this.type && (d = y, m = v, y = 0, v = 0)), r.viewPort.setCurrent(s, c), p && (s = p[2], c = p[3]), e.setViewBox({ ctx: t, aspectRatio: this.getAttribute("preserveAspectRatio").getString(), width: r.viewPort.width, desiredWidth: s, height: r.viewPort.height, desiredHeight: c, minX: y, minY: v, refX: l.getValue(), refY: f.getValue(), clip: g, clipX: d, clipY: m }), p && (r.viewPort.removeCurrent(), r.viewPort.setCurrent(s, c)); } }, { key: "resize", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t, r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n = this.getAttribute("width", !0), i = this.getAttribute("height", !0), o = this.getAttribute("viewBox"), a = this.getAttribute("style"), u = n.getNumber(0), s = i.getNumber(0); if (r) if ("string" === typeof r) this.getAttribute("preserveAspectRatio", !0).setValue(r); else { var c = this.getAttribute("preserveAspectRatio"); c.hasValue() && c.setValue(c.getString().replace(/^\s*(\S.*\S)\s*$/, "$1")); } if (n.setValue(t), i.setValue(e), o.hasValue() || o.setValue("0 0 ".concat(u || t, " ").concat(s || e)), a.hasValue()) { var l = this.getStyle("width"), f = this.getStyle("height"); l.hasValue() && l.setValue("".concat(t, "px")), f.hasValue() && f.setValue("".concat(e, "px")); } } }]), n; }(Bs); function Zs() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Ks = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Zs()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "rect", t; } return Hn(n, [{ key: "path", value: function (t) { var e = this.getAttribute("x").getPixels("x"), r = this.getAttribute("y").getPixels("y"), n = this.getStyle("width").getPixels("x"), i = this.getStyle("height").getPixels("y"), o = this.getAttribute("rx"), a = this.getAttribute("ry"), u = o.getPixels("x"), s = a.getPixels("y"); if (o.hasValue() && !a.hasValue() && (s = u), a.hasValue() && !o.hasValue() && (u = s), u = Math.min(u, n / 2), s = Math.min(s, i / 2), t) { var c = (Math.sqrt(2) - 1) / 3 * 4; t.beginPath(), i > 0 && n > 0 && (t.moveTo(e + u, r), t.lineTo(e + n - u, r), t.bezierCurveTo(e + n - u + c * u, r, e + n, r + s - c * s, e + n, r + s), t.lineTo(e + n, r + i - s), t.bezierCurveTo(e + n, r + i - s + c * s, e + n - u + c * u, r + i, e + n - u, r + i), t.lineTo(e + u, r + i), t.bezierCurveTo(e + u - c * u, r + i, e, r + i - s + c * s, e, r + i - s), t.lineTo(e, r + s), t.bezierCurveTo(e, r + s - c * s, e + u - c * u, r, e + u, r), t.closePath()); } return new js(e, r, e + n, r + i); } }, { key: "getMarkers", value: function () { return null; } }]), n; }(Xs); function Js() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var tc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Js()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "circle", t; } return Hn(n, [{ key: "path", value: function (t) { var e = this.getAttribute("cx").getPixels("x"), r = this.getAttribute("cy").getPixels("y"), n = this.getAttribute("r").getPixels(); return t && n > 0 && (t.beginPath(), t.arc(e, r, n, 0, 2 * Math.PI, !1), t.closePath()), new js(e - n, r - n, e + n, r + n); } }, { key: "getMarkers", value: function () { return null; } }]), n; }(Xs); function ec() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var rc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (ec()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "ellipse", t; } return Hn(n, [{ key: "path", value: function (t) { var e = (Math.sqrt(2) - 1) / 3 * 4, r = this.getAttribute("rx").getPixels("x"), n = this.getAttribute("ry").getPixels("y"), i = this.getAttribute("cx").getPixels("x"), o = this.getAttribute("cy").getPixels("y"); return t && r > 0 && n > 0 && (t.beginPath(), t.moveTo(i + r, o), t.bezierCurveTo(i + r, o + e * n, i + e * r, o + n, i, o + n), t.bezierCurveTo(i - e * r, o + n, i - r, o + e * n, i - r, o), t.bezierCurveTo(i - r, o - e * n, i - e * r, o - n, i, o - n), t.bezierCurveTo(i + e * r, o - n, i + r, o - e * n, i + r, o), t.closePath()), new js(i - r, o - n, i + r, o + n); } }, { key: "getMarkers", value: function () { return null; } }]), n; }(Xs); function nc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var ic = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (nc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "line", t; } return Hn(n, [{ key: "getPoints", value: function () { return [new za(this.getAttribute("x1").getPixels("x"), this.getAttribute("y1").getPixels("y")), new za(this.getAttribute("x2").getPixels("x"), this.getAttribute("y2").getPixels("y"))]; } }, { key: "path", value: function (t) { var e = this.getPoints(), r = fr(e, 2), n = r[0], i = n.x, o = n.y, a = r[1], u = a.x, s = a.y; return t && (t.beginPath(), t.moveTo(i, o), t.lineTo(u, s)), new js(i, o, u, s); } }, { key: "getMarkers", value: function () { var t = this.getPoints(), e = fr(t, 2), r = e[0], n = e[1], i = r.angleTo(n); return [[r, i], [n, i]]; } }]), n; }(Xs); function oc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var ac = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (oc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "polyline", o.points = [], o.points = za.parsePath(o.getAttribute("points").getString()), o; } return Hn(n, [{ key: "path", value: function (t) { var e = this.points, r = fr(e, 1)[0], n = r.x, i = r.y, o = new js(n, i); return t && (t.beginPath(), t.moveTo(n, i)), e.forEach((function (e) { var r = e.x, n = e.y; o.addPoint(r, n), t && t.lineTo(r, n); })), o; } }, { key: "getMarkers", value: function () { var t = this.points, e = t.length - 1, r = []; return t.forEach((function (n, i) { i !== e && r.push([n, n.angleTo(t[i + 1])]); })), r.length > 0 && r.push([t[t.length - 1], r[r.length - 1][1]]), r; } }]), n; }(Xs); function uc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var sc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (uc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "polygon", t; } return Hn(n, [{ key: "path", value: function (t) { var e = xs(uu(n.prototype), "path", this).call(this, t), r = fr(this.points, 1)[0], i = r.x, o = r.y; return t && (t.lineTo(i, o), t.closePath()), e; } }]), n; }(ac), cc = A.f; function lc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } Dt({ target: "Reflect", stat: !0 }, { deleteProperty: function (t, e) { var r = cc(E(t), e); return !(r && !r.configurable) && delete t[e]; } }); var fc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (lc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "pattern", t; } return Hn(n, [{ key: "createPattern", value: function (t, e, r) { var n = this.getStyle("width").getPixels("x", !0), i = this.getStyle("height").getPixels("y", !0), o = new Qs(this.document, null); o.attributes.viewBox = new La(this.document, "viewBox", this.getAttribute("viewBox").getValue()), o.attributes.width = new La(this.document, "width", "".concat(n, "px")), o.attributes.height = new La(this.document, "height", "".concat(i, "px")), o.attributes.transform = new La(this.document, "transform", this.getAttribute("patternTransform").getValue()), o.children = this.children; var a = this.document.createCanvas(n, i), u = a.getContext("2d"), s = this.getAttribute("x"), c = this.getAttribute("y"); s.hasValue() && c.hasValue() && u.translate(s.getPixels("x", !0), c.getPixels("y", !0)), r.hasValue() ? this.styles["fill-opacity"] = r : Reflect.deleteProperty(this.styles, "fill-opacity"); for (var l = -1; l <= 1; l++)for (var f = -1; f <= 1; f++)u.save(), o.attributes.x = new La(this.document, "x", l * a.width), o.attributes.y = new La(this.document, "y", f * a.height), o.render(u), u.restore(); return t.createPattern(a, "repeat"); } }]), n; }(ss); function hc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var pc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (hc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "marker", t; } return Hn(n, [{ key: "render", value: function (t, e, r) { if (e) { var n = e.x, i = e.y, o = this.getAttribute("orient").getValue("auto"), a = this.getAttribute("markerUnits").getValue("strokeWidth"); t.translate(n, i), "auto" === o && t.rotate(r), "strokeWidth" === a && t.scale(t.lineWidth, t.lineWidth), t.save(); var u = new Qs(this.document, null); u.type = this.type, u.attributes.viewBox = new La(this.document, "viewBox", this.getAttribute("viewBox").getValue()), u.attributes.refX = new La(this.document, "refX", this.getAttribute("refX").getValue()), u.attributes.refY = new La(this.document, "refY", this.getAttribute("refY").getValue()), u.attributes.width = new La(this.document, "width", this.getAttribute("markerWidth").getValue()), u.attributes.height = new La(this.document, "height", this.getAttribute("markerHeight").getValue()), u.attributes.overflow = new La(this.document, "overflow", this.getAttribute("overflow").getValue()), u.attributes.fill = new La(this.document, "fill", this.getAttribute("fill").getColor("black")), u.attributes.stroke = new La(this.document, "stroke", this.getAttribute("stroke").getValue("none")), u.children = this.children, u.render(t), t.restore(), "strokeWidth" === a && t.scale(1 / t.lineWidth, 1 / t.lineWidth), "auto" === o && t.rotate(-r), t.translate(-n, -i); } } }]), n; }(ss); function gc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var yc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (gc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "defs", t; } return Hn(n, [{ key: "render", value: function () { } }]), n; }(ss); function vc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var dc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (vc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "g", t; } return Hn(n, [{ key: "getBoundingBox", value: function (t) { var e = new js; return this.children.forEach((function (r) { e.addBoundingBox(r.getBoundingBox(t)); })), e; } }]), n; }(Bs); function mc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var xc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (mc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).attributesToInherit = ["gradientUnits"], o.stops = []; var a = ou(o), u = a.stops; return a.children.forEach((function (t) { "stop" === t.type && u.push(t); })), o; } return Hn(n, [{ key: "getGradientUnits", value: function () { return this.getAttribute("gradientUnits").getString("objectBoundingBox"); } }, { key: "createGradient", value: function (t, e, r) { var n = this, i = this; this.getHrefAttribute().hasValue() && (i = this.getHrefAttribute().getDefinition(), this.inheritStopContainer(i)); var o = i.stops, a = this.getGradient(t, e); if (!a) return this.addParentOpacity(r, o[o.length - 1].color); if (o.forEach((function (t) { a.addColorStop(t.offset, n.addParentOpacity(r, t.color)); })), this.getAttribute("gradientTransform").hasValue()) { var u = this.document, s = u.screen, c = s.MAX_VIRTUAL_PIXELS, l = s.viewPort, f = fr(l.viewPorts, 1)[0], h = new Ks(u, null); h.attributes.x = new La(u, "x", -c / 3), h.attributes.y = new La(u, "y", -c / 3), h.attributes.width = new La(u, "width", c), h.attributes.height = new La(u, "height", c); var p = new dc(u, null); p.attributes.transform = new La(u, "transform", this.getAttribute("gradientTransform").getValue()), p.children = [h]; var g = new Qs(u, null); g.attributes.x = new La(u, "x", 0), g.attributes.y = new La(u, "y", 0), g.attributes.width = new La(u, "width", f.width), g.attributes.height = new La(u, "height", f.height), g.children = [p]; var y = u.createCanvas(f.width, f.height), v = y.getContext("2d"); return v.fillStyle = a, g.render(v), v.createPattern(y, "no-repeat"); } return a; } }, { key: "inheritStopContainer", value: function (t) { var e = this; this.attributesToInherit.forEach((function (r) { !e.getAttribute(r).hasValue() && t.getAttribute(r).hasValue() && e.getAttribute(r, !0).setValue(t.getAttribute(r).getValue()); })); } }, { key: "addParentOpacity", value: function (t, e) { return t.hasValue() ? new La(this.document, "color", e).addOpacity(t).getColor() : e; } }]), n; }(ss); function bc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var wc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (bc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "linearGradient", o.attributesToInherit.push("x1", "y1", "x2", "y2"), o; } return Hn(n, [{ key: "getGradient", value: function (t, e) { var r = "objectBoundingBox" === this.getGradientUnits(), n = r ? e.getBoundingBox(t) : null; if (r && !n) return null; this.getAttribute("x1").hasValue() || this.getAttribute("y1").hasValue() || this.getAttribute("x2").hasValue() || this.getAttribute("y2").hasValue() || (this.getAttribute("x1", !0).setValue(0), this.getAttribute("y1", !0).setValue(0), this.getAttribute("x2", !0).setValue(1), this.getAttribute("y2", !0).setValue(0)); var i = r ? n.x + n.width * this.getAttribute("x1").getNumber() : this.getAttribute("x1").getPixels("x"), o = r ? n.y + n.height * this.getAttribute("y1").getNumber() : this.getAttribute("y1").getPixels("y"), a = r ? n.x + n.width * this.getAttribute("x2").getNumber() : this.getAttribute("x2").getPixels("x"), u = r ? n.y + n.height * this.getAttribute("y2").getNumber() : this.getAttribute("y2").getPixels("y"); return i === a && o === u ? null : t.createLinearGradient(i, o, a, u); } }]), n; }(xc); function Sc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var kc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Sc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "radialGradient", o.attributesToInherit.push("cx", "cy", "r", "fx", "fy", "fr"), o; } return Hn(n, [{ key: "getGradient", value: function (t, e) { var r = "objectBoundingBox" === this.getGradientUnits(), n = e.getBoundingBox(t); if (r && !n) return null; this.getAttribute("cx").hasValue() || this.getAttribute("cx", !0).setValue("50%"), this.getAttribute("cy").hasValue() || this.getAttribute("cy", !0).setValue("50%"), this.getAttribute("r").hasValue() || this.getAttribute("r", !0).setValue("50%"); var i = r ? n.x + n.width * this.getAttribute("cx").getNumber() : this.getAttribute("cx").getPixels("x"), o = r ? n.y + n.height * this.getAttribute("cy").getNumber() : this.getAttribute("cy").getPixels("y"), a = i, u = o; this.getAttribute("fx").hasValue() && (a = r ? n.x + n.width * this.getAttribute("fx").getNumber() : this.getAttribute("fx").getPixels("x")), this.getAttribute("fy").hasValue() && (u = r ? n.y + n.height * this.getAttribute("fy").getNumber() : this.getAttribute("fy").getPixels("y")); var s = r ? (n.width + n.height) / 2 * this.getAttribute("r").getNumber() : this.getAttribute("r").getPixels(), c = this.getAttribute("fr").getPixels(); return t.createRadialGradient(a, u, c, i, o, s); } }]), n; }(xc); function Pc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Rc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Pc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).type = "stop"; var a = Math.max(0, Math.min(1, o.getAttribute("offset").getNumber())), u = o.getStyle("stop-opacity"), s = o.getStyle("stop-color", !0); return "" === s.getString() && s.setValue("#000"), u.hasValue() && (s = s.addOpacity(u)), o.offset = a, o.color = s.getColor(), o; } return n; }(ss), Ac = et.set, Ec = et.getterFor("Array Iterator"), Cc = Lu(Array, "Array", (function (t, e) { Ac(this, { type: "Array Iterator", target: v(t), index: 0, kind: e }); }), (function () { var t = Ec(this), e = t.target, r = t.kind, n = t.index++; return !e || n >= e.length ? (t.target = void 0, { value: void 0, done: !0 }) : "keys" == r ? { value: n, done: !1 } : "values" == r ? { value: e[n], done: !1 } : { value: [n, e[n]], done: !1 }; }), "values"); vi.Arguments = vi.Array, pu("keys"), pu("values"), pu("entries"); var Tc = $t("iterator"), Oc = $t("toStringTag"), Mc = Cc.values; for (var Dc in jn) { var Vc = i[Dc], Nc = Vc && Vc.prototype; if (Nc) { if (Nc[Tc] !== Mc) try { O(Nc, Tc, Mc); } catch (t) { Nc[Tc] = Mc; } if (Nc[Oc] || O(Nc, Oc, Dc), jn[Dc]) for (var Ic in Cc) if (Nc[Ic] !== Cc[Ic]) try { O(Nc, Ic, Cc[Ic]); } catch (t) { Nc[Ic] = Cc[Ic]; } } } function Lc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var jc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Lc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "animate", o.duration = 0, o.initialValue = null, o.initialUnits = "", o.removed = !1, o.frozen = !1, t.screen.animations.push(ou(o)), o.begin = o.getAttribute("begin").getMilliseconds(), o.maxDuration = o.begin + o.getAttribute("dur").getMilliseconds(), o.from = o.getAttribute("from"), o.to = o.getAttribute("to"), o.values = o.getAttribute("values"), o.values.hasValue() && o.values.setValue(o.values.getString().split(";")), o; } return Hn(n, [{ key: "getProperty", value: function () { var t = this.getAttribute("attributeType").getString(), e = this.getAttribute("attributeName").getString(); return "CSS" === t ? this.parent.getStyle(e, !0) : this.parent.getAttribute(e, !0); } }, { key: "calcValue", value: function () { var t = this.initialUnits, e = this.getProgress(), r = e.progress, n = e.from, i = e.to, o = n.getNumber() + (i.getNumber() - n.getNumber()) * r; return "%" === t && (o *= 100), "".concat(o).concat(t); } }, { key: "update", value: function (t) { var e = this.parent, r = this.getProperty(); if (this.initialValue || (this.initialValue = r.getString(), this.initialUnits = r.getUnits()), this.duration > this.maxDuration) { var n = this.getAttribute("fill").getString("remove"); if ("indefinite" === this.getAttribute("repeatCount").getString() || "indefinite" === this.getAttribute("repeatDur").getString()) this.duration = 0; else if ("freeze" !== n || this.frozen) { if ("remove" === n && !this.removed) return this.removed = !0, r.setValue(e.animationFrozen ? e.animationFrozenValue : this.initialValue), !0; } else this.frozen = !0, e.animationFrozen = !0, e.animationFrozenValue = r.getString(); return !1; } this.duration += t; var i = !1; if (this.begin < this.duration) { var o = this.calcValue(), a = this.getAttribute("type"); if (a.hasValue()) { var u = a.getString(); o = "".concat(u, "(").concat(o, ")"); } r.setValue(o), i = !0; } return i; } }, { key: "getProgress", value: function () { var t = this.document, e = this.values, r = { progress: (this.duration - this.begin) / (this.maxDuration - this.begin) }; if (e.hasValue()) { var n = r.progress * (e.getValue().length - 1), i = Math.floor(n), o = Math.ceil(n); r.from = new La(t, "from", parseFloat(e.getValue()[i])), r.to = new La(t, "to", parseFloat(e.getValue()[o])), r.progress = (n - i) / (o - i); } else r.from = this.from, r.to = this.to; return r; } }]), n; }(ss); function zc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Bc = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (zc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "animateColor", t; } return Hn(n, [{ key: "calcValue", value: function () { var t = this.getProgress(), e = t.progress, r = t.from, n = t.to, i = new Ia(r.getColor()), o = new Ia(n.getColor()); if (i.ok && o.ok) { var a = i.r + (o.r - i.r) * e, u = i.g + (o.g - i.g) * e, s = i.b + (o.b - i.b) * e; return "rgb(".concat(parseInt(a, 10), ", ").concat(parseInt(u, 10), ", ").concat(parseInt(s, 10), ")"); } return this.getAttribute("from").getColor(); } }]), n; }(jc); function Fc() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var _c = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Fc()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "animateTransform", t; } return Hn(n, [{ key: "calcValue", value: function () { var t = this.getProgress(), e = t.progress, r = t.from, n = t.to, i = Ze(r.getString()), o = Ze(n.getString()); return i.map((function (t, r) { return t + (o[r] - t) * e; })).join(" "); } }]), n; }(jc), $c = T.f, Gc = i.Symbol; if (a && "function" === typeof Gc && (!("description" in Gc.prototype) || void 0 !== Gc().description)) { var qc = {}, Uc = function () { var t = arguments.length < 1 || void 0 === arguments[0] ? void 0 : String(arguments[0]), e = this instanceof Uc ? new Gc(t) : void 0 === t ? Gc() : Gc(t); return "" === t && (qc[e] = !0), e; }; kt(Uc, Gc); var Wc = Uc.prototype = Gc.prototype; Wc.constructor = Uc; var Hc = Wc.toString, Xc = "Symbol(test)" == String(Gc("test")), Yc = /^Symbol\((.*)\)[^)]+$/; $c(Wc, "description", { configurable: !0, get: function () { var t = d(this) ? this.valueOf() : this, e = Hc.call(t); if (b(qc, t)) return ""; var r = Xc ? e.slice(7, -1) : e.replace(Yc, "$1"); return "" === r ? void 0 : r; } }), Dt({ global: !0, forced: !0 }, { Symbol: Uc }); } Wr("iterator"); var Qc = te("slice"), Zc = ie("slice", { ACCESSORS: !0, 0: 0, 1: 2 }), Kc = $t("species"), Jc = [].slice, tl = Math.max; function el(t) { if ("undefined" === typeof Symbol || null == t[Symbol.iterator]) { if (Array.isArray(t) || (t = function (t, e) { if (!t) return; if ("string" === typeof t) return rl(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); "Object" === r && t.constructor && (r = t.constructor.name); if ("Map" === r || "Set" === r) return Array.from(r); if ("Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return rl(t, e); }(t))) { var e = 0, r = function () { }; return { s: r, n: function () { return e >= t.length ? { done: !0 } : { done: !1, value: t[e++] }; }, e: function (t) { throw t; }, f: r }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var n, i, o = !0, a = !1; return { s: function () { n = t[Symbol.iterator](); }, n: function () { var t = n.next(); return o = t.done, t; }, e: function (t) { a = !0, i = t; }, f: function () { try { o || null == n.return || n.return(); } finally { if (a) throw i; } } }; } function rl(t, e) { (null == e || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++)n[r] = t[r]; return n; } function nl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } Dt({ target: "Array", proto: !0, forced: !Qc || !Zc }, { slice: function (t, e) { var r, n, i, o = v(this), a = lt(o.length), u = pt(t, a), s = pt(void 0 === e ? a : e, a); if (Lt(o) && ("function" !== typeof (r = o.constructor) || r !== Array && !Lt(r.prototype) ? d(r) && null === (r = r[Kc]) && (r = void 0) : r = void 0, r === Array || void 0 === r)) return Jc.call(o, u, s); for (n = new (void 0 === r ? Array : r)(tl(s - u, 0)), i = 0; u < s; u++, i++)u in o && In(n, i, o[u]); return n.length = i, n; } }); var il = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (nl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).type = "font", o.glyphs = {}, o.horizAdvX = o.getAttribute("horiz-adv-x").getNumber(); var a, u = t.definitions, s = el(ou(o).children); try { for (s.s(); !(a = s.n()).done;) { var c = a.value; switch (c.type) { case "font-face": o.fontFace = c; var l = c.getStyle("font-family"); l.hasValue() && (u[l.getString()] = ou(o)); break; case "missing-glyph": o.missingGlyph = c; break; case "glyph": var f = c; f.arabicForm ? (o.isRTL = !0, o.isArabic = !0, void 0 === o.glyphs[f.unicode] && (o.glyphs[f.unicode] = {}), o.glyphs[f.unicode][f.arabicForm] = f) : o.glyphs[f.unicode] = f; } } } catch (t) { s.e(t); } finally { s.f(); } return o; } return Hn(n, [{ key: "render", value: function () { } }]), n; }(ss); function ol() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var al = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (ol()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "font-face", o.ascent = o.getAttribute("ascent").getNumber(), o.descent = o.getAttribute("descent").getNumber(), o.unitsPerEm = o.getAttribute("units-per-em").getNumber(), o; } return n; }(ss); function ul() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var sl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (ul()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "missing-glyph", t.horizAdvX = 0, t; } return n; }(Xs); function cl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var ll = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (cl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "glyph", o.horizAdvX = o.getAttribute("horiz-adv-x").getNumber(), o.unicode = o.getAttribute("unicode").getString(), o.arabicForm = o.getAttribute("arabic-form").getString(), o; } return n; }(Xs); function fl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var hl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (fl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "tref", t; } return Hn(n, [{ key: "getText", value: function () { var t = this.getHrefAttribute().getDefinition(); if (t) { var e = t.children[0]; if (e) return e.getText(); } return ""; } }]), n; }(_s); function pl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var gl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (pl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).type = "a"; var a = e.childNodes, u = a[0], s = a.length > 0 && Array.from(a).every((function (t) { return 3 === t.nodeType; })); return o.hasText = s, o.text = s ? o.getTextFromNode(u) : "", o; } return Hn(n, [{ key: "getText", value: function () { return this.text; } }, { key: "renderChildren", value: function (t) { if (this.hasText) { xs(uu(n.prototype), "renderChildren", this).call(this, t); var e = this.document, r = this.x, i = this.y, o = e.screen.mouse, a = new La(e, "fontSize", ks.parse(e.ctx.font).fontSize); o.isWorking() && o.checkBoundingBox(this, new js(r, i - a.getPixels("y"), r + this.measureText(t), i)); } else if (this.children.length > 0) { var u = new dc(this.document, null); u.children = this.children, u.parent = this, u.render(t); } } }, { key: "onClick", value: function () { var t = this.document.window; t && t.open(this.getHrefAttribute().getString()); } }, { key: "onMouseMove", value: function () { this.document.ctx.canvas.style.cursor = "pointer"; } }]), n; }(_s), yl = !o((function () { return Object.isExtensible(Object.preventExtensions({})); })), vl = r((function (t) { var e = T.f, r = G("meta"), n = 0, i = Object.isExtensible || function () { return !0; }, o = function (t) { e(t, r, { value: { objectID: `O${  ++n}`, weakData: {} } }); }, a = t.exports = { REQUIRED: !1, fastKey: function (t, e) { if (!d(t)) return "symbol" === typeof t ? t : ("string" === typeof t ? "S" : "P") + t; if (!b(t, r)) { if (!i(t)) return "F"; if (!e) return "E"; o(t); } return t[r].objectID; }, getWeakData: function (t, e) { if (!b(t, r)) { if (!i(t)) return !0; if (!e) return !1; o(t); } return t[r].weakData; }, onFreeze: function (t) { return yl && a.REQUIRED && i(t) && !b(t, r) && o(t), t; } }; W[r] = !0; })), dl = (vl.REQUIRED, vl.fastKey, vl.getWeakData, vl.onFreeze, T.f), ml = vl.fastKey, xl = et.set, bl = et.getterFor; !function (t, e, r) { var n = -1 !== t.indexOf("Map"), a = -1 !== t.indexOf("Weak"), u = n ? "set" : "add", s = i[t], c = s && s.prototype, l = s, f = {}, h = function (t) { var e = c[t]; rt(c, t, "add" == t ? function (t) { return e.call(this, 0 === t ? 0 : t), this; } : "delete" == t ? function (t) { return !(a && !d(t)) && e.call(this, 0 === t ? 0 : t); } : "get" == t ? function (t) { return a && !d(t) ? void 0 : e.call(this, 0 === t ? 0 : t); } : "has" == t ? function (t) { return !(a && !d(t)) && e.call(this, 0 === t ? 0 : t); } : function (t, r) { return e.call(this, 0 === t ? 0 : t, r), this; }); }; if (Ot(t, "function" !== typeof s || !(a || c.forEach && !o((function () { (new s).entries().next(); }))))) l = r.getConstructor(e, t, n, u), vl.REQUIRED = !0; else if (Ot(t, !0)) { var p = new l, g = p[u](a ? {} : -0, 1) != p, y = o((function () { p.has(1); })), v = Mi((function (t) { new s(t); })), m = !a && o((function () { for (var t = new s, e = 5; e--;)t[u](e, e); return !t.has(-0); })); v || ((l = e((function (e, r) { yi(e, l, t); var i = Ps(new s, e, l); return null != r && ki(r, i[u], i, n), i; }))).prototype = c, c.constructor = l), (y || m) && (h("delete"), h("has"), n && h("get")), (m || g) && h(u), a && c.clear && delete c.clear; } f[t] = l, Dt({ global: !0, forced: l != s }, f), Yr(l, t), a || r.setStrong(l, t, n); }("Map", (function (t) { return function () { return t(this, arguments.length ? arguments[0] : void 0); }; }), { getConstructor: function (t, e, r, n) { var i = t((function (t, o) { yi(t, i, e), xl(t, { type: e, index: Br(null), first: void 0, last: void 0, size: 0 }), a || (t.size = 0), null != o && ki(o, t[n], t, r); })), o = bl(e), u = function (t, e, r) { var n, i, u = o(t), c = s(t, e); return c ? c.value = r : (u.last = c = { index: i = ml(e, !0), key: e, value: r, previous: n = u.last, next: void 0, removed: !1 }, u.first || (u.first = c), n && (n.next = c), a ? u.size++ : t.size++, "F" !== i && (u.index[i] = c)), t; }, s = function (t, e) { var r, n = o(t), i = ml(e); if ("F" !== i) return n.index[i]; for (r = n.first; r; r = r.next)if (r.key == e) return r; }; return hi(i.prototype, { clear: function () { for (var t = o(this), e = t.index, r = t.first; r;)r.removed = !0, r.previous && (r.previous = r.previous.next = void 0), delete e[r.index], r = r.next; t.first = t.last = void 0, a ? t.size = 0 : this.size = 0; }, delete: function (t) { var e = o(this), r = s(this, t); if (r) { var n = r.next, i = r.previous; delete e.index[r.index], r.removed = !0, i && (i.next = n), n && (n.previous = i), e.first == r && (e.first = n), e.last == r && (e.last = i), a ? e.size-- : this.size--; } return !!r; }, forEach: function (t) { for (var e, r = o(this), n = Nt(t, arguments.length > 1 ? arguments[1] : void 0, 3); e = e ? e.next : r.first;)for (n(e.value, e.key, this); e && e.removed;)e = e.previous; }, has: function (t) { return !!s(this, t); } }), hi(i.prototype, r ? { get: function (t) { var e = s(this, t); return e && e.value; }, set: function (t, e) { return u(this, 0 === t ? 0 : t, e); } } : { add: function (t) { return u(this, t = 0 === t ? 0 : t, t); } }), a && dl(i.prototype, "size", { get: function () { return o(this).size; } }), i; }, setStrong: function (t, e, r) { var n = `${e  } Iterator`, i = bl(e), o = bl(n); Lu(t, e, (function (t, e) { xl(this, { type: n, target: t, state: i(t), kind: e, last: void 0 }); }), (function () { for (var t = o(this), e = t.kind, r = t.last; r && r.removed;)r = r.previous; return t.target && (t.last = r = r ? r.next : t.state.first) ? "keys" == e ? { value: r.key, done: !1 } : "values" == e ? { value: r.value, done: !1 } : { value: [r.key, r.value], done: !1 } : (t.target = void 0, { value: void 0, done: !0 }); }), r ? "entries" : "values", !r, !0), gi(e); } }); function wl(t) { if ("undefined" === typeof Symbol || null == t[Symbol.iterator]) { if (Array.isArray(t) || (t = function (t, e) { if (!t) return; if ("string" === typeof t) return Sl(t, e); var r = Object.prototype.toString.call(t).slice(8, -1); "Object" === r && t.constructor && (r = t.constructor.name); if ("Map" === r || "Set" === r) return Array.from(r); if ("Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return Sl(t, e); }(t))) { var e = 0, r = function () { }; return { s: r, n: function () { return e >= t.length ? { done: !0 } : { done: !1, value: t[e++] }; }, e: function (t) { throw t; }, f: r }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var n, i, o = !0, a = !1; return { s: function () { n = t[Symbol.iterator](); }, n: function () { var t = n.next(); return o = t.done, t; }, e: function (t) { a = !0, i = t; }, f: function () { try { o || null == n.return || n.return(); } finally { if (a) throw i; } } }; } function Sl(t, e) { (null == e || e > t.length) && (e = t.length); for (var r = 0, n = new Array(e); r < e; r++)n[r] = t[r]; return n; } function kl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Pl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (kl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).type = "textPath", o.textWidth = 0, o.textHeight = 0, o.pathLength = -1, o.glyphInfo = null, o.letterSpacingCache = [], o.measuresCache = new Map([["", 0]]); var a = o.getHrefAttribute().getDefinition(); return o.text = o.getTextFromNode(), o.dataArray = o.parsePathData(a), o; } return Hn(n, [{ key: "getText", value: function () { return this.text; } }, { key: "path", value: function (t) { var e = this.dataArray; t && t.beginPath(), e.forEach((function (e) { var r = e.command, n = e.points; switch (r) { case "L": t && t.lineTo(n[0], n[1]); break; case "M": t && t.moveTo(n[0], n[1]); break; case "C": t && t.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]); break; case "Q": t && t.quadraticCurveTo(n[0], n[1], n[2], n[3]); break; case "A": var i = n[0], o = n[1], a = n[2], u = n[3], s = n[4], c = n[5], l = n[6], f = n[7], h = a > u ? a : u, p = a > u ? 1 : a / u, g = a > u ? u / a : 1; t && (t.translate(i, o), t.rotate(l), t.scale(p, g), t.arc(0, 0, h, s, s + c, Boolean(1 - f)), t.scale(1 / p, 1 / g), t.rotate(-l), t.translate(-i, -o)); break; case "z": t && t.closePath(); } })); } }, { key: "renderChildren", value: function (t) { this.setTextData(t), t.save(); var e = this.parent.getStyle("text-decoration").getString(), r = this.getFontSize(), n = this.glyphInfo, i = t.fillStyle; "underline" === e && t.beginPath(), n.forEach((function (i, o) { var a = i.p0, u = i.p1, s = i.text; t.save(), t.translate(a.x, a.y), t.rotate(n[o].rotation), t.fillStyle && t.fillText(s, 0, 0), t.strokeStyle && t.strokeText(s, 0, 0), t.restore(), "underline" === e && (0 === o && t.moveTo(a.x, a.y + r / 8), t.lineTo(u.x, u.y + r / 5)); })), "underline" === e && (t.lineWidth = r / 20, t.strokeStyle = i, t.stroke(), t.closePath()), t.restore(); } }, { key: "getLetterSpacingAt", value: function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0; return this.letterSpacingCache[t] || 0; } }, { key: "findSegmentToFitChar", value: function (t, e, r, n, i, o, a, u) { var s = o, c = this.measureText(t, a); " " === a && "justify" === e && r < n && (c += (n - r) / i), u > -1 && (s += this.getLetterSpacingAt(u)); var l = this.textHeight / 20, f = { p0: this.getEquidistantPointOnPath(s, l), p1: this.getEquidistantPointOnPath(s + c, l) }; return { offset: s += c, segment: f }; } }, { key: "measureText", value: function (t, e) { var r = this.measuresCache, n = e || this.getText(); if (r.has(n)) return r.get(n); var i = this.measureTargetText(t, n); return r.set(n, i), i; } }, { key: "setTextData", value: function (t) { var e = this; if (!this.glyphInfo) { var r = this.getText(), n = r.split(""), i = r.split(" ").length - 1, o = Ze(this.parent.getAttribute("dx").getString("0")), a = this.parent.getStyle("text-anchor").getString("start"), u = this.getStyle("letter-spacing"), s = this.parent.getStyle("letter-spacing"), c = 0; u.hasValue() && "inherit" !== u.getValue() ? u.hasValue() && "initial" !== u.getValue() && "unset" !== u.getValue() && (c = u.getPixels()) : c = s.getPixels(); var l = [], f = r.length; this.letterSpacingCache = l; for (var h = 0; h < f; h++)l.push(void 0 !== o[h] ? o[h] : c); var p = l.reduce((function (t, e) { return t + e || 0; }), 0); this.textWidth = this.measureText(t), this.textHeight = this.getFontSize(); var g = Math.max(this.textWidth + p, 0); this.glyphInfo = []; var y = this.getPathLength(), v = this.getStyle("startOffset").getNumber(0) * y, d = 0; "middle" !== a && "center" !== a || (d = -g / 2), "end" !== a && "right" !== a || (d = -g), d += v, n.forEach((function (r, o) { var u = e.findSegmentToFitChar(t, a, g, y, i, d, r, o), s = u.offset, c = u.segment; if (d = s, c.p0 && c.p1) { var l = e.getLineLength(c.p0.x, c.p0.y, c.p1.x, c.p1.y), f = e.getPointOnLine(0 + l / 2, c.p0.x, c.p0.y, c.p1.x, c.p1.y), h = Math.atan2(c.p1.y - c.p0.y, c.p1.x - c.p0.x); e.glyphInfo.push({ transposeX: f.x, transposeY: f.y, text: n[o], p0: c.p0, p1: c.p1, rotation: h }); } })); } } }, { key: "parsePathData", value: function (t) { if (this.pathLength = -1, !t) return []; var e = [], r = t.pathParser; for (r.reset(); !r.isEnd();) { var n = r.current, i = n ? n.x : 0, o = n ? n.y : 0, a = "", u = []; r.nextCommand(); var s = r.command.toUpperCase(); switch (r.command) { case "M": case "m": a = this.pathM(r, u); break; case "L": case "l": a = this.pathL(r, u); break; case "H": case "h": a = this.pathH(r, u); break; case "V": case "v": a = this.pathV(r, u); break; case "C": case "c": this.pathC(r, u); break; case "S": case "s": a = this.pathS(r, u); break; case "Q": case "q": this.pathQ(r, u); break; case "T": case "t": a = this.pathT(r, u); break; case "A": case "a": u = this.pathA(r); break; case "Z": case "z": r.current = r.start; }"Z" !== s ? e.push({ command: a || s, points: u, start: { x: i, y: o }, pathLength: this.calcLength(i, o, a || s, u) }) : e.push({ command: "z", points: [], pathLength: 0 }); } return e; } }, { key: "pathM", value: function (t, e) { var r = t.getAsCurrentPoint(); for (e.push(r.x, r.y), t.start = t.current; !t.isCommandOrEnd();) { var n = t.getAsCurrentPoint(); return e.push(n.x, n.y), "L"; } } }, { key: "pathL", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.getAsCurrentPoint(); e.push(r.x, r.y); } return "L"; } }, { key: "pathH", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.current, n = new za((t.isRelativeCommand() ? r.x : 0) + t.getScalar(), r.y); e.push(n.x, n.y), t.current = n; } return "L"; } }, { key: "pathV", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.current, n = new za(r.x, (t.isRelativeCommand() ? r.y : 0) + t.getScalar()); e.push(n.x, n.y), t.current = n; } return "L"; } }, { key: "pathC", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.getPoint(), n = t.getAsControlPoint(), i = t.getAsCurrentPoint(); e.push(r.x, r.y, n.x, n.y, i.x, i.y); } } }, { key: "pathS", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.getReflectedControlPoint(), n = t.getAsControlPoint(), i = t.getAsCurrentPoint(); e.push(r.x, r.y, n.x, n.y, i.x, i.y); } return "C"; } }, { key: "pathQ", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.getAsControlPoint(), n = t.getAsCurrentPoint(); e.push(r.x, r.y, n.x, n.y); } } }, { key: "pathT", value: function (t, e) { for (; !t.isCommandOrEnd();) { var r = t.getReflectedControlPoint(); t.control = r; var n = t.getAsCurrentPoint(); e.push(r.x, r.y, n.x, n.y); } return "Q"; } }, { key: "pathA", value: function (t) { for (; !t.isCommandOrEnd();) { var e = t.current, r = t.getScalar(), n = t.getScalar(), i = t.getScalar() * (Math.PI / 180), o = t.getScalar(), a = t.getScalar(), u = t.getAsCurrentPoint(), s = new za(Math.cos(i) * (e.x - u.x) / 2 + Math.sin(i) * (e.y - u.y) / 2, -Math.sin(i) * (e.x - u.x) / 2 + Math.cos(i) * (e.y - u.y) / 2), c = Math.pow(s.x, 2) / Math.pow(r, 2) + Math.pow(s.y, 2) / Math.pow(n, 2); c > 1 && (r *= Math.sqrt(c), n *= Math.sqrt(c)); var l = (o === a ? -1 : 1) * Math.sqrt((Math.pow(r, 2) * Math.pow(n, 2) - Math.pow(r, 2) * Math.pow(s.y, 2) - Math.pow(n, 2) * Math.pow(s.x, 2)) / (Math.pow(r, 2) * Math.pow(s.y, 2) + Math.pow(n, 2) * Math.pow(s.x, 2))); isNaN(l) && (l = 0); var f = new za(l * r * s.y / n, l * -n * s.x / r), h = new za((e.x + u.x) / 2 + Math.cos(i) * f.x - Math.sin(i) * f.y, (e.y + u.y) / 2 + Math.sin(i) * f.x + Math.cos(i) * f.y), p = kr([1, 0], [(s.x - f.x) / r, (s.y - f.y) / n]), g = [(s.x - f.x) / r, (s.y - f.y) / n], y = [(-s.x - f.x) / r, (-s.y - f.y) / n], v = kr(g, y); return Sr(g, y) <= -1 && (v = Math.PI), Sr(g, y) >= 1 && (v = 0), 0 === a && v > 0 && (v -= 2 * Math.PI), 1 === a && v < 0 && (v += 2 * Math.PI), [h.x, h.y, r, n, p, v, i, a]; } } }, { key: "calcLength", value: function (t, e, r, n) { var i = 0, o = null, a = null, u = 0; switch (r) { case "L": return this.getLineLength(t, e, n[0], n[1]); case "C": for (i = 0, o = this.getPointOnCubicBezier(0, t, e, n[0], n[1], n[2], n[3], n[4], n[5]), u = .01; u <= 1; u += .01)a = this.getPointOnCubicBezier(u, t, e, n[0], n[1], n[2], n[3], n[4], n[5]), i += this.getLineLength(o.x, o.y, a.x, a.y), o = a; return i; case "Q": for (i = 0, o = this.getPointOnQuadraticBezier(0, t, e, n[0], n[1], n[2], n[3]), u = .01; u <= 1; u += .01)a = this.getPointOnQuadraticBezier(u, t, e, n[0], n[1], n[2], n[3]), i += this.getLineLength(o.x, o.y, a.x, a.y), o = a; return i; case "A": i = 0; var s = n[4], c = n[5], l = n[4] + c, f = Math.PI / 180; if (Math.abs(s - l) < f && (f = Math.abs(s - l)), o = this.getPointOnEllipticalArc(n[0], n[1], n[2], n[3], s, 0), c < 0) for (u = s - f; u > l; u -= f)a = this.getPointOnEllipticalArc(n[0], n[1], n[2], n[3], u, 0), i += this.getLineLength(o.x, o.y, a.x, a.y), o = a; else for (u = s + f; u < l; u += f)a = this.getPointOnEllipticalArc(n[0], n[1], n[2], n[3], u, 0), i += this.getLineLength(o.x, o.y, a.x, a.y), o = a; return a = this.getPointOnEllipticalArc(n[0], n[1], n[2], n[3], l, 0), i += this.getLineLength(o.x, o.y, a.x, a.y); }return 0; } }, { key: "getPointOnLine", value: function (t, e, r, n, i) { var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : e, a = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : r, u = (i - r) / (n - e + 1e-8), s = Math.sqrt(t * t / (1 + u * u)); n < e && (s *= -1); var c = u * s, l = null; if (n === e) l = { x: o, y: a + c }; else if ((a - r) / (o - e + 1e-8) === u) l = { x: o + s, y: a + c }; else { var f = 0, h = 0, p = this.getLineLength(e, r, n, i); if (p < 1e-8) return null; var g = (o - e) * (n - e) + (a - r) * (i - r); f = e + (g /= p * p) * (n - e), h = r + g * (i - r); var y = this.getLineLength(o, a, f, h), v = Math.sqrt(t * t - y * y); s = Math.sqrt(v * v / (1 + u * u)), n < e && (s *= -1), l = { x: f + s, y: h + (c = u * s) }; } return l; } }, { key: "getPointOnPath", value: function (t) { var e = this.getPathLength(), r = 0, n = null; if (t < -5e-5 || t - 5e-5 > e) return null; var i, o = wl(this.dataArray); try { for (o.s(); !(i = o.n()).done;) { var a = i.value; if (!a || !(a.pathLength < 5e-5 || r + a.pathLength + 5e-5 < t)) { var u = t - r, s = 0; switch (a.command) { case "L": n = this.getPointOnLine(u, a.start.x, a.start.y, a.points[0], a.points[1], a.start.x, a.start.y); break; case "A": var c = a.points[4], l = a.points[5], f = a.points[4] + l; if (s = c + u / a.pathLength * l, l < 0 && s < f || l >= 0 && s > f) break; n = this.getPointOnEllipticalArc(a.points[0], a.points[1], a.points[2], a.points[3], s, a.points[6]); break; case "C": (s = u / a.pathLength) > 1 && (s = 1), n = this.getPointOnCubicBezier(s, a.start.x, a.start.y, a.points[0], a.points[1], a.points[2], a.points[3], a.points[4], a.points[5]); break; case "Q": (s = u / a.pathLength) > 1 && (s = 1), n = this.getPointOnQuadraticBezier(s, a.start.x, a.start.y, a.points[0], a.points[1], a.points[2], a.points[3]); }if (n) return n; break; } r += a.pathLength; } } catch (t) { o.e(t); } finally { o.f(); } return null; } }, { key: "getLineLength", value: function (t, e, r, n) { return Math.sqrt((r - t) * (r - t) + (n - e) * (n - e)); } }, { key: "getPathLength", value: function () { return -1 === this.pathLength && (this.pathLength = this.dataArray.reduce((function (t, e) { return e.pathLength > 0 ? t + e.pathLength : t; }), 0)), this.pathLength; } }, { key: "getPointOnCubicBezier", value: function (t, e, r, n, i, o, a, u, s) { return { x: u * Pr(t) + o * Rr(t) + n * Ar(t) + e * Er(t), y: s * Pr(t) + a * Rr(t) + i * Ar(t) + r * Er(t) }; } }, { key: "getPointOnQuadraticBezier", value: function (t, e, r, n, i, o, a) { return { x: o * Cr(t) + n * Tr(t) + e * Or(t), y: a * Cr(t) + i * Tr(t) + r * Or(t) }; } }, { key: "getPointOnEllipticalArc", value: function (t, e, r, n, i, o) { var a = Math.cos(o), u = Math.sin(o), s = r * Math.cos(i), c = n * Math.sin(i); return { x: t + (s * a - c * u), y: e + (s * u + c * a) }; } }, { key: "buildEquidistantCache", value: function (t, e) { var r = this.getPathLength(), n = e || .25, i = t || r / 100; if (!this.equidistantCache || this.equidistantCache.step !== i || this.equidistantCache.precision !== n) { this.equidistantCache = { step: i, precision: n, points: [] }; for (var o = 0, a = 0; a <= r; a += n) { var u = this.getPointOnPath(a), s = this.getPointOnPath(a + n); u && s && ((o += this.getLineLength(u.x, u.y, s.x, s.y)) >= i && (this.equidistantCache.points.push({ x: u.x, y: u.y, distance: a }), o -= i)); } } } }, { key: "getEquidistantPointOnPath", value: function (t, e, r) { if (this.buildEquidistantCache(e, r), t < 0 || t - this.getPathLength() > 5e-5) return null; var n = Math.round(t / this.getPathLength() * (this.equidistantCache.points.length - 1)); return this.equidistantCache.points[n] || null; } }]), n; }(_s); function Rl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Al = function (t) { cu(o, t); var e, r, n, i = (e = o, function () { var t, r = uu(e); if (Rl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function o(t, e, r) { var n; Un(this, o), (n = i.call(this, t, e, r)).type = "image", n.loaded = !1; var a = n.getHrefAttribute().getString(); if (!a) return au(n); var u = /\.svg$/.test(a); return t.images.push(ou(n)), u ? n.loadSvg(a) : n.loadImage(a), n.isSvg = u, n; } return Hn(o, [{ key: "loadImage", value: (n = Gn(_n.mark((function t(e) { var r; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.prev = 0, t.next = 3, this.document.createImage(e); case 3: r = t.sent, this.image = r, t.next = 10; break; case 7: t.prev = 7, t.t0 = t.catch(0), console.error('Error while loading image "'.concat(e, '":'), t.t0); case 10: this.loaded = !0; case 11: case "end": return t.stop(); } }), t, this, [[0, 7]]); }))), function (t) { return n.apply(this, arguments); }) }, { key: "loadSvg", value: (r = Gn(_n.mark((function t(e) { var r, n; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.prev = 0, t.next = 3, this.document.fetch(e); case 3: return r = t.sent, t.next = 6, r.text(); case 6: n = t.sent, this.image = n, t.next = 13; break; case 10: t.prev = 10, t.t0 = t.catch(0), console.error('Error while loading image "'.concat(e, '":'), t.t0); case 13: this.loaded = !0; case 14: case "end": return t.stop(); } }), t, this, [[0, 10]]); }))), function (t) { return r.apply(this, arguments); }) }, { key: "renderChildren", value: function (t) { var e = this.document, r = this.image, n = this.loaded, i = this.getAttribute("x").getPixels("x"), o = this.getAttribute("y").getPixels("y"), a = this.getStyle("width").getPixels("x"), u = this.getStyle("height").getPixels("y"); if (n && r && a && u) { if (t.save(), this.isSvg) e.canvg.forkString(t, this.image, { ignoreMouse: !0, ignoreAnimation: !0, ignoreDimensions: !0, ignoreClear: !0, offsetX: i, offsetY: o, scaleWidth: a, scaleHeight: u }).render(); else { var s = this.image; t.translate(i, o), e.setViewBox({ ctx: t, aspectRatio: this.getAttribute("preserveAspectRatio").getString(), width: a, desiredWidth: s.width, height: u, desiredHeight: s.height }), this.loaded && (void 0 === s.complete || s.complete) && t.drawImage(s, 0, 0); } t.restore(); } } }, { key: "getBoundingBox", value: function () { var t = this.getAttribute("x").getPixels("x"), e = this.getAttribute("y").getPixels("y"), r = this.getStyle("width").getPixels("x"), n = this.getStyle("height").getPixels("y"); return new js(t, e, t + r, e + n); } }]), o; }(Bs); function El() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Cl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (El()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "symbol", t; } return Hn(n, [{ key: "render", value: function (t) { } }]), n; }(Bs), Tl = function () { function t(e) { Un(this, t), this.document = e, this.loaded = !1, e.fonts.push(this); } var e; return Hn(t, [{ key: "load", value: (e = Gn(_n.mark((function t(e, r) { var n, i, o; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return t.prev = 0, n = this.document, t.next = 4, n.canvg.parser.load(r); case 4: i = t.sent, o = i.getElementsByTagName("font"), Array.from(o).forEach((function (t) { var r = n.createElement(t); n.definitions[e] = r; })), t.next = 12; break; case 9: t.prev = 9, t.t0 = t.catch(0), console.error('Error while loading font "'.concat(r, '":'), t.t0); case 12: this.loaded = !0; case 13: case "end": return t.stop(); } }), t, this, [[0, 9]]); }))), function (t, r) { return e.apply(this, arguments); }) }]), t; }(); function Ol() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Ml = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Ol()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "style", Xe(Array.from(e.childNodes).map((function (t) { return t.data; })).join("").replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, "").replace(/@import.*;/g, "")).split("}").forEach((function (e) { var r = e.trim(); if (r) { var n = r.split("{"), i = n[0].split(","), o = n[1].split(";"); i.forEach((function (e) { var r = e.trim(); if (r) { var n = t.styles[r] || {}; if (o.forEach((function (e) { var r = e.indexOf(":"), i = e.substr(0, r).trim(), o = e.substr(r + 1, e.length - r).trim(); i && o && (n[i] = new La(t, i, o)); })), t.styles[r] = n, t.stylesSpecificity[r] = br(r), "@font-face" === r) { var i = n["font-family"].getString().replace(/"|'/g, ""); n.src.getString().split(",").forEach((function (e) { if (e.indexOf('format("svg")') > 0) { var r = tr(e); r && new Tl(t).load(i, r); } })); } } })); } })), o; } return n; }(ss); function Dl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } Ml.parseExternalUrl = tr; var Vl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Dl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "use", t; } return Hn(n, [{ key: "setContext", value: function (t) { xs(uu(n.prototype), "setContext", this).call(this, t); var e = this.getAttribute("x"), r = this.getAttribute("y"); e.hasValue() && t.translate(e.getPixels("x"), 0), r.hasValue() && t.translate(0, r.getPixels("y")); } }, { key: "path", value: function (t) { var e = this.element; e && e.path(t); } }, { key: "renderChildren", value: function (t) { var e = this.document, r = this.element; if (r) { var n = r; if ("symbol" === r.type && ((n = new Qs(e, null)).attributes.viewBox = new La(e, "viewBox", r.getAttribute("viewBox").getString()), n.attributes.preserveAspectRatio = new La(e, "preserveAspectRatio", r.getAttribute("preserveAspectRatio").getString()), n.attributes.overflow = new La(e, "overflow", r.getAttribute("overflow").getString()), n.children = r.children), "svg" === n.type) { var i = this.getStyle("width", !1, !0), o = this.getStyle("height", !1, !0); i.hasValue() && (n.attributes.width = new La(e, "width", i.getString())), o.hasValue() && (n.attributes.height = new La(e, "height", o.getString())); } var a = n.parent; n.parent = this, n.render(t), n.parent = a; } } }, { key: "getBoundingBox", value: function (t) { var e = this.element; return e ? e.getBoundingBox(t) : null; } }, { key: "elementTransform", value: function () { var t = this.document, e = this.element; return us.fromElement(t, e); } }, { key: "element", get: function () { return this._element || (this._element = this.getHrefAttribute().getDefinition()), this._element; } }]), n; }(Bs); function Nl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } function Il(t, e, r, n, i, o) { return t[r * n * 4 + 4 * e + o]; } function Ll(t, e, r, n, i, o, a) { t[r * n * 4 + 4 * e + o] = a; } function jl(t, e, r) { var n = t[e]; return n * (n < 0 ? r - 255 : r); } function zl(t, e, r, n) { return e + Math.cos(t) * r + Math.sin(t) * n; } var Bl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Nl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; Un(this, n), (o = r.call(this, t, e, i)).type = "feColorMatrix"; var a = Ze(o.getAttribute("values").getString()); switch (o.getAttribute("type").getString("matrix")) { case "saturate": var u = a[0]; a = [.213 + .787 * u, .715 - .715 * u, .072 - .072 * u, 0, 0, .213 - .213 * u, .715 + .285 * u, .072 - .072 * u, 0, 0, .213 - .213 * u, .715 - .715 * u, .072 + .928 * u, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; break; case "hueRotate": var s = a[0] * Math.PI / 180; a = [zl(s, .213, .787, -.213), zl(s, .715, -.715, -.715), zl(s, .072, -.072, .928), 0, 0, zl(s, .213, -.213, .143), zl(s, .715, .285, .14), zl(s, .072, -.072, -.283), 0, 0, zl(s, .213, -.213, -.787), zl(s, .715, -.715, .715), zl(s, .072, .928, .072), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1]; break; case "luminanceToAlpha": a = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .2125, .7154, .0721, 0, 0, 0, 0, 0, 0, 1]; }return o.matrix = a, o.includeOpacity = o.getAttribute("includeOpacity").hasValue(), o; } return Hn(n, [{ key: "apply", value: function (t, e, r, n, i) { for (var o = this.includeOpacity, a = this.matrix, u = t.getImageData(0, 0, n, i), s = 0; s < i; s++)for (var c = 0; c < n; c++) { var l = Il(u.data, c, s, n, 0, 0), f = Il(u.data, c, s, n, 0, 1), h = Il(u.data, c, s, n, 0, 2), p = Il(u.data, c, s, n, 0, 3), g = jl(a, 0, l) + jl(a, 1, f) + jl(a, 2, h) + jl(a, 3, p) + jl(a, 4, 1), y = jl(a, 5, l) + jl(a, 6, f) + jl(a, 7, h) + jl(a, 8, p) + jl(a, 9, 1), v = jl(a, 10, l) + jl(a, 11, f) + jl(a, 12, h) + jl(a, 13, p) + jl(a, 14, 1), d = jl(a, 15, l) + jl(a, 16, f) + jl(a, 17, h) + jl(a, 18, p) + jl(a, 19, 1); o && (g = y = v = 0, d *= p / 255), Ll(u.data, c, s, n, 0, 0, g), Ll(u.data, c, s, n, 0, 1, y), Ll(u.data, c, s, n, 0, 2, v), Ll(u.data, c, s, n, 0, 3, d); } t.clearRect(0, 0, n, i), t.putImageData(u, 0, 0); } }]), n; }(ss); function Fl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var _l = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Fl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "mask", t; } return Hn(n, [{ key: "apply", value: function (t, e) { var r = this.document, i = this.getAttribute("x").getPixels("x"), o = this.getAttribute("y").getPixels("y"), a = this.getStyle("width").getPixels("x"), u = this.getStyle("height").getPixels("y"); if (!a && !u) { var s = new js; this.children.forEach((function (e) { s.addBoundingBox(e.getBoundingBox(t)); })), i = Math.floor(s.x1), o = Math.floor(s.y1), a = Math.floor(s.width), u = Math.floor(s.height); } var c = this.removeStyles(e, n.ignoreStyles), l = r.createCanvas(i + a, o + u), f = l.getContext("2d"); r.screen.setDefaults(f), this.renderChildren(f), new Bl(r, { nodeType: 1, childNodes: [], attributes: [{ nodeName: "type", value: "luminanceToAlpha" }, { nodeName: "includeOpacity", value: "true" }] }).apply(f, 0, 0, i + a, o + u); var h = r.createCanvas(i + a, o + u), p = h.getContext("2d"); r.screen.setDefaults(p), e.render(p), p.globalCompositeOperation = "destination-in", p.fillStyle = f.createPattern(l, "no-repeat"), p.fillRect(0, 0, i + a, o + u), t.fillStyle = p.createPattern(h, "no-repeat"), t.fillRect(0, 0, i + a, o + u), this.restoreStyles(e, c); } }, { key: "render", value: function (t) { } }]), n; }(ss); _l.ignoreStyles = ["mask", "transform", "clip-path"]; var $l = ot("Reflect", "apply"), Gl = Function.apply, ql = !o((function () { $l((function () { })); })); function Ul() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } Dt({ target: "Reflect", stat: !0, forced: ql }, { apply: function (t, e, r) { return Vt(t), E(r), $l ? $l(t, e, r) : Gl.call(t, e, r); } }), Dt({ target: "Reflect", stat: !0, sham: !Su }, { getPrototypeOf: function (t) { return Ru(E(t)); } }); var Wl = function () { }, Hl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Ul()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "clipPath", t; } return Hn(n, [{ key: "apply", value: function (t) { var e = this.document, r = Reflect.getPrototypeOf(t), n = t.beginPath, i = t.closePath; r && (r.beginPath = Wl, r.closePath = Wl), Reflect.apply(n, t, []), this.children.forEach((function (n) { if (void 0 !== n.path) { var o = void 0 !== n.elementTransform ? n.elementTransform() : null; o || (o = us.fromElement(e, n)), o && o.apply(t), n.path(t), r && (r.closePath = i), o && o.unapply(t); } })), Reflect.apply(i, t, []), t.clip(), r && (r.beginPath = n, r.closePath = i); } }, { key: "render", value: function (t) { } }]), n; }(ss); function Xl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Yl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Xl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "filter", t; } return Hn(n, [{ key: "apply", value: function (t, e) { var r = this.document, i = this.children, o = e.getBoundingBox(t); if (o) { var a = 0, u = 0; i.forEach((function (t) { var e = t.extraFilterDistance || 0; a = Math.max(a, e), u = Math.max(u, e); })); var s = Math.floor(o.width), c = Math.floor(o.height), l = s + 2 * a, f = c + 2 * u; if (!(l < 1 || f < 1)) { var h = Math.floor(o.x), p = Math.floor(o.y), g = this.removeStyles(e, n.ignoreStyles), y = r.createCanvas(l, f), v = y.getContext("2d"); r.screen.setDefaults(v), v.translate(-h + a, -p + u), e.render(v), i.forEach((function (t) { "function" === typeof t.apply && t.apply(v, 0, 0, l, f); })), t.drawImage(y, 0, 0, l, f, h - a, p - u, l, f), this.restoreStyles(e, g); } } } }, { key: "render", value: function (t) { } }]), n; }(ss); function Ql() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } Yl.ignoreStyles = ["filter", "transform", "clip-path"]; var Zl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Ql()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "feDropShadow", o.addStylesFromStyleDefinition(), o; } return Hn(n, [{ key: "apply", value: function (t, e, r, n, i) { } }]), n; }(ss); function Kl() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var Jl = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (Kl()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "feMorphology", t; } return Hn(n, [{ key: "apply", value: function (t, e, r, n, i) { } }]), n; }(ss); function tf() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var ef = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (tf()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "feComposite", t; } return Hn(n, [{ key: "apply", value: function (t, e, r, n, i) { } }]), n; }(ss); function rf(t) { return (rf = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ? function (t) { return typeof t; } : function (t) { return t && "function" === typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t; })(t); } var nf = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259], of = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]; function af(t, e, r, n, i, o) { if (!(isNaN(o) || o < 1)) { o |= 0; var a = function (t, e, r, n, i) { if ("string" === typeof t && (t = document.getElementById(t)), !t || "object" !== rf(t) || !("getContext" in t)) throw new TypeError("Expecting canvas with `getContext` method in processCanvasRGB(A) calls!"); var o = t.getContext("2d"); try { return o.getImageData(e, r, n, i); } catch (t) { throw new Error(`unable to access image data: ${  t}`); } }(t, e, r, n, i); a = function (t, e, r, n, i, o) { var a, u, s, c, l, f, h, p, g, y, v, d, m, x, b, w, S, k, P, R, A, E, C, T, O, M = t.data, D = 2 * o + 1, V = n - 1, N = i - 1, I = o + 1, L = I * (I + 1) / 2, j = new uf, z = j; for (s = 1; s < D; s++)z = z.next = new uf, s === I && (O = z); z.next = j; var B = null, F = null; h = f = 0; var _ = nf[o], $ = of[o]; for (u = 0; u < i; u++) { for (w = S = k = P = p = g = y = v = 0, d = I * (R = M[f]), m = I * (A = M[f + 1]), x = I * (E = M[f + 2]), b = I * (C = M[f + 3]), p += L * R, g += L * A, y += L * E, v += L * C, z = j, s = 0; s < I; s++)z.r = R, z.g = A, z.b = E, z.a = C, z = z.next; for (s = 1; s < I; s++)c = f + ((V < s ? V : s) << 2), p += (z.r = R = M[c]) * (T = I - s), g += (z.g = A = M[c + 1]) * T, y += (z.b = E = M[c + 2]) * T, v += (z.a = C = M[c + 3]) * T, w += R, S += A, k += E, P += C, z = z.next; for (B = j, F = O, a = 0; a < n; a++)M[f + 3] = C = v * _ >> $, 0 !== C ? (C = 255 / C, M[f] = (p * _ >> $) * C, M[f + 1] = (g * _ >> $) * C, M[f + 2] = (y * _ >> $) * C) : M[f] = M[f + 1] = M[f + 2] = 0, p -= d, g -= m, y -= x, v -= b, d -= B.r, m -= B.g, x -= B.b, b -= B.a, c = h + ((c = a + o + 1) < V ? c : V) << 2, w += B.r = M[c], S += B.g = M[c + 1], k += B.b = M[c + 2], P += B.a = M[c + 3], p += w, g += S, y += k, v += P, B = B.next, d += R = F.r, m += A = F.g, x += E = F.b, b += C = F.a, w -= R, S -= A, k -= E, P -= C, F = F.next, f += 4; h += n; } for (a = 0; a < n; a++) { for (S = k = P = w = g = y = v = p = 0, d = I * (R = M[f = a << 2]), m = I * (A = M[f + 1]), x = I * (E = M[f + 2]), b = I * (C = M[f + 3]), p += L * R, g += L * A, y += L * E, v += L * C, z = j, s = 0; s < I; s++)z.r = R, z.g = A, z.b = E, z.a = C, z = z.next; for (l = n, s = 1; s <= o; s++)f = l + a << 2, p += (z.r = R = M[f]) * (T = I - s), g += (z.g = A = M[f + 1]) * T, y += (z.b = E = M[f + 2]) * T, v += (z.a = C = M[f + 3]) * T, w += R, S += A, k += E, P += C, z = z.next, s < N && (l += n); for (f = a, B = j, F = O, u = 0; u < i; u++)M[(c = f << 2) + 3] = C = v * _ >> $, C > 0 ? (C = 255 / C, M[c] = (p * _ >> $) * C, M[c + 1] = (g * _ >> $) * C, M[c + 2] = (y * _ >> $) * C) : M[c] = M[c + 1] = M[c + 2] = 0, p -= d, g -= m, y -= x, v -= b, d -= B.r, m -= B.g, x -= B.b, b -= B.a, c = a + ((c = u + I) < N ? c : N) * n << 2, p += w += B.r = M[c], g += S += B.g = M[c + 1], y += k += B.b = M[c + 2], v += P += B.a = M[c + 3], B = B.next, d += R = F.r, m += A = F.g, x += E = F.b, b += C = F.a, w -= R, S -= A, k -= E, P -= C, F = F.next, f += n; } return t; }(a, 0, 0, n, i, o), t.getContext("2d").putImageData(a, e, r); } } var uf = function t() { !function (t, e) { if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function"); }(this, t), this.r = 0, this.g = 0, this.b = 0, this.a = 0, this.next = null; }; function sf() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var cf = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (sf()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n(t, e, i) { var o; return Un(this, n), (o = r.call(this, t, e, i)).type = "feGaussianBlur", o.blurRadius = Math.floor(o.getAttribute("stdDeviation").getNumber()), o.extraFilterDistance = o.blurRadius, o; } return Hn(n, [{ key: "apply", value: function (t, e, r, n, i) { var o = this.document, a = this.blurRadius, u = o.window ? o.window.document.body : null, s = t.canvas; s.id = o.getUniqueId(), u && (s.style.display = "none", u.appendChild(s)), af(s, e, r, n, i, a), u && u.removeChild(s); } }]), n; }(ss); function lf() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var ff = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (lf()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "title", t; } return n; }(ss); function hf() { if ("undefined" === typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" === typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0; } catch (t) { return !1; } } var pf = function (t) { cu(n, t); var e, r = (e = n, function () { var t, r = uu(e); if (hf()) { var n = uu(this).constructor; t = Reflect.construct(r, arguments, n); } else t = r.apply(this, arguments); return au(this, t); }); function n() { var t; return Un(this, n), (t = r.apply(this, arguments)).type = "desc", t; } return n; }(ss), gf = { svg: Qs, rect: Ks, circle: tc, ellipse: rc, line: ic, polyline: ac, polygon: sc, path: Xs, pattern: fc, marker: pc, defs: yc, linearGradient: wc, radialGradient: kc, stop: Rc, animate: jc, animateColor: Bc, animateTransform: _c, font: il, "font-face": al, "missing-glyph": sl, glyph: ll, text: _s, tspan: Gs, tref: hl, a: gl, textPath: Pl, image: Al, g: dc, symbol: Cl, style: Ml, use: Vl, mask: _l, clipPath: Hl, filter: Yl, feDropShadow: Zl, feMorphology: Jl, feComposite: ef, feColorMatrix: Bl, feGaussianBlur: cf, title: ff, desc: pf }; function yf(t, e) { var r = Object.keys(t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(t); e && (n = n.filter((function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable; }))), r.push.apply(r, n); } return r; } function vf() { return (vf = Gn(_n.mark((function t(e) { var r, n, i = arguments; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return r = i.length > 1 && void 0 !== i[1] && i[1], n = document.createElement("img"), r && (n.crossOrigin = "Anonymous"), t.abrupt("return", new Promise((function (t, r) { n.onload = function () { t(n); }, n.onerror = function () { r(); }, n.src = e; }))); case 4: case "end": return t.stop(); } }), t); })))).apply(this, arguments); } var df = function () { function t(e) { var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = r.rootEmSize, i = void 0 === n ? 12 : n, o = r.emSize, a = void 0 === o ? 12 : o, u = r.createCanvas, s = void 0 === u ? t.createCanvas : u, c = r.createImage, l = void 0 === c ? t.createImage : c, f = r.anonymousCrossOrigin; Un(this, t), this.canvg = e, this.definitions = {}, this.styles = {}, this.stylesSpecificity = {}, this.images = [], this.fonts = [], this.emSizeStack = [], this.uniqueId = 0, this.screen = e.screen, this.rootEmSize = i, this.emSize = a, this.createCanvas = s, this.createImage = this.bindCreateImage(l, f), this.screen.wait(this.isImagesLoaded.bind(this)), this.screen.wait(this.isFontsLoaded.bind(this)); } return Hn(t, [{ key: "bindCreateImage", value: function (t, e) { return "boolean" === typeof e ? function (r, n) { return t(r, "boolean" === typeof n ? n : e); } : t; } }, { key: "popEmSize", value: function () { this.emSizeStack.pop(); } }, { key: "getUniqueId", value: function () { return "canvg".concat(++this.uniqueId); } }, { key: "isImagesLoaded", value: function () { return this.images.every((function (t) { return t.loaded; })); } }, { key: "isFontsLoaded", value: function () { return this.fonts.every((function (t) { return t.loaded; })); } }, { key: "createDocumentElement", value: function (t) { var e = this.createElement(t.documentElement); return e.root = !0, e.addStylesFromStyleDefinition(), this.documentElement = e, e; } }, { key: "createElement", value: function (e) { var r = e.nodeName.replace(/^[^:]+:/, ""), n = t.elementTypes[r]; return void 0 !== n ? new n(this, e) : new ls(this, e); } }, { key: "createTextNode", value: function (t) { return new Us(this, t); } }, { key: "setViewBox", value: function (t) { this.screen.setViewBox(function (t) { for (var e = 1; e < arguments.length; e++) { var r = null != arguments[e] ? arguments[e] : {}; e % 2 ? yf(Object(r), !0).forEach((function (e) { qn(t, e, r[e]); })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : yf(Object(r)).forEach((function (e) { Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e)); })); } return t; }({ document: this }, t)); } }, { key: "window", get: function () { return this.screen.window; } }, { key: "fetch", get: function () { return this.screen.fetch; } }, { key: "ctx", get: function () { return this.screen.ctx; } }, { key: "emSize", get: function () { var t = this.emSizeStack; return t[t.length - 1]; }, set: function (t) { this.emSizeStack.push(t); } }]), t; }(); function mf(t, e) { var r = Object.keys(t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(t); e && (n = n.filter((function (e) { return Object.getOwnPropertyDescriptor(t, e).enumerable; }))), r.push.apply(r, n); } return r; } function xf(t) { for (var e = 1; e < arguments.length; e++) { var r = null != arguments[e] ? arguments[e] : {}; e % 2 ? mf(Object(r), !0).forEach((function (e) { qn(t, e, r[e]); })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : mf(Object(r)).forEach((function (e) { Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e)); })); } return t; } df.createCanvas = function (t, e) { var r = document.createElement("canvas"); return r.width = t, r.height = e, r; }, df.createImage = function (t) { return vf.apply(this, arguments); }, df.elementTypes = gf; var bf = function () { function t(e, r) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; Un(this, t), this.parser = new Ua(n), this.screen = new $a(e, n), this.options = n; var i = new df(this, n), o = i.createDocumentElement(r); this.document = i, this.documentElement = o; } var e, r; return Hn(t, [{ key: "fork", value: function (e, r) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return t.from(e, r, xf({}, this.options, {}, n)); } }, { key: "forkString", value: function (e, r) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return t.fromString(e, r, xf({}, this.options, {}, n)); } }, { key: "ready", value: function () { return this.screen.ready(); } }, { key: "isReady", value: function () { return this.screen.isReady(); } }, { key: "render", value: (r = Gn(_n.mark((function t() { var e, r = arguments; return _n.wrap((function (t) { for (; ;)switch (t.prev = t.next) { case 0: return e = r.length > 0 && void 0 !== r[0] ? r[0] : {}, this.start(xf({ enableRedraw: !0, ignoreAnimation: !0, ignoreMouse: !0 }, e)), t.next = 4, this.ready(); case 4: this.stop(); case 5: case "end": return t.stop(); } }), t, this); }))), function () { return r.apply(this, arguments); }) }, { key: "start", value: function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, e = this.documentElement, r = this.screen, n = this.options; r.start(e, xf({ enableRedraw: !0 }, n, {}, t)); } }, { key: "stop", value: function () { this.screen.stop(); } }, { key: "resize", value: function (t) { var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t, r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; this.documentElement.resize(t, e, r); } }], [{ key: "from", value: (e = Gn(_n.mark((function e(r, n) { var i, o, a, u = arguments; return _n.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return i = u.length > 2 && void 0 !== u[2] ? u[2] : {}, o = new Ua(i), e.next = 4, o.parse(n); case 4: return a = e.sent, e.abrupt("return", new t(r, a, i)); case 6: case "end": return e.stop(); } }), e); }))), function (t, r) { return e.apply(this, arguments); }) }, { key: "fromString", value: function (e, r) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = new Ua(n), o = i.parseFromString(r); return new t(e, o, n); } }]), t; }(); var wf = Object.freeze({ __proto__: null, offscreen: function () { var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, e = t.DOMParser, r = { window: null, ignoreAnimation: !0, ignoreMouse: !0, DOMParser: e, createCanvas: function (t, e) { return new OffscreenCanvas(t, e); }, createImage: function (t) { return Gn(_n.mark((function e() { var r, n, i; return _n.wrap((function (e) { for (; ;)switch (e.prev = e.next) { case 0: return e.next = 2, fetch(t); case 2: return r = e.sent, e.next = 5, r.blob(); case 5: return n = e.sent, e.next = 8, createImageBitmap(n); case 8: return i = e.sent, e.abrupt("return", i); case 10: case "end": return e.stop(); } }), e); })))(); } }; return "undefined" === typeof DOMParser && void 0 !== e || Reflect.deleteProperty(r, "DOMParser"), r; }, node: function (t) { var e = t.DOMParser, r = t.canvas; return { window: null, ignoreAnimation: !0, ignoreMouse: !0, DOMParser: e, fetch: t.fetch, createCanvas: r.createCanvas, createImage: r.loadImage }; } }); t.AElement = gl, t.AnimateColorElement = Bc, t.AnimateElement = jc, t.AnimateTransformElement = _c, t.BoundingBox = js, t.CB1 = Pr, t.CB2 = Rr, t.CB3 = Ar, t.CB4 = Er, t.Canvg = bf, t.CircleElement = tc, t.ClipPathElement = Hl, t.DefsElement = yc, t.DescElement = pf, t.Document = df, t.Element = ss, t.EllipseElement = rc, t.FeColorMatrixElement = Bl, t.FeCompositeElement = ef, t.FeDropShadowElement = Zl, t.FeGaussianBlurElement = cf, t.FeMorphologyElement = Jl, t.FilterElement = Yl, t.Font = ks, t.FontElement = il, t.FontFaceElement = al, t.GElement = dc, t.GlyphElement = ll, t.GradientElement = xc, t.ImageElement = Al, t.LineElement = ic, t.LinearGradientElement = wc, t.MarkerElement = pc, t.MaskElement = _l, t.Matrix = ts, t.MissingGlyphElement = sl, t.Mouse = Ba, t.PSEUDO_ZERO = 1e-8, t.Parser = Ua, t.PathElement = Xs, t.PathParser = Ws, t.PatternElement = fc, t.Point = za, t.PolygonElement = sc, t.PolylineElement = ac, t.Property = La, t.QB1 = Cr, t.QB2 = Tr, t.QB3 = Or, t.RadialGradientElement = kc, t.RectElement = Ks, t.RenderedElement = Bs, t.Rotate = Ku, t.SVGElement = Qs, t.SVGFontLoader = Tl, t.Scale = Ju, t.Screen = $a, t.Skew = rs, t.SkewX = is, t.SkewY = as, t.StopElement = Rc, t.StyleElement = Ml, t.SymbolElement = Cl, t.TRefElement = hl, t.TSpanElement = Gs, t.TextElement = _s, t.TextPathElement = Pl, t.TitleElement = ff, t.Transform = us, t.Translate = Zu, t.UnknownElement = ls, t.UseElement = Vl, t.ViewPort = ja, t.compressSpaces = Xe, t.default = bf, t.getSelectorSpecificity = br, t.normalizeAttributeName = Je, t.normalizeColor = er, t.parseExternalUrl = tr, t.presets = wf, t.toNumbers = Ze, t.trimLeft = Ye, t.trimRight = Qe, t.vectorMagnitude = wr, t.vectorsAngle = kr, t.vectorsRatio = Sr, Object.defineProperty(t, "__esModule", { value: !0 }); }));

!function (A, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (A = A || self).html2canvas = e() }(this, function () { "use strict"; var A = function (e, t) { return (A = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (A, e) { A.__proto__ = e } || function (A, e) { for (var t in e) e.hasOwnProperty(t) && (A[t] = e[t]) })(e, t) }; function e(e, t) { function r() { this.constructor = e } A(e, t), e.prototype = null === t ? Object.create(t) : (r.prototype = t.prototype, new r) } var t = function () { return (t = Object.assign || function (A) { for (var e, t = 1, r = arguments.length; t < r; t++)for (var n in e = arguments[t]) Object.prototype.hasOwnProperty.call(e, n) && (A[n] = e[n]); return A }).apply(this, arguments) }; function r(A, e, t, r) { return new (t || (t = Promise))(function (n, B) { function s(A) { try { i(r.next(A)) } catch (A) { B(A) } } function o(A) { try { i(r.throw(A)) } catch (A) { B(A) } } function i(A) { A.done ? n(A.value) : new t(function (e) { e(A.value) }).then(s, o) } i((r = r.apply(A, e || [])).next()) }) } function n(A, e) { var t, r, n, B, s = { label: 0, sent: function () { if (1 & n[0]) throw n[1]; return n[1] }, trys: [], ops: [] }; return B = { next: o(0), throw: o(1), return: o(2) }, "function" == typeof Symbol && (B[Symbol.iterator] = function () { return this }), B; function o(B) { return function (o) { return function (B) { if (t) throw new TypeError("Generator is already executing."); for (; s;)try { if (t = 1, r && (n = 2 & B[0] ? r.return : B[0] ? r.throw || ((n = r.return) && n.call(r), 0) : r.next) && !(n = n.call(r, B[1])).done) return n; switch (r = 0, n && (B = [2 & B[0], n.value]), B[0]) { case 0: case 1: n = B; break; case 4: return s.label++, { value: B[1], done: !1 }; case 5: s.label++, r = B[1], B = [0]; continue; case 7: B = s.ops.pop(), s.trys.pop(); continue; default: if (!(n = (n = s.trys).length > 0 && n[n.length - 1]) && (6 === B[0] || 2 === B[0])) { s = 0; continue } if (3 === B[0] && (!n || B[1] > n[0] && B[1] < n[3])) { s.label = B[1]; break } if (6 === B[0] && s.label < n[1]) { s.label = n[1], n = B; break } if (n && s.label < n[2]) { s.label = n[2], s.ops.push(B); break } n[2] && s.ops.pop(), s.trys.pop(); continue }B = e.call(A, s) } catch (A) { B = [6, A], r = 0 } finally { t = n = 0 } if (5 & B[0]) throw B[1]; return { value: B[0] ? B[1] : void 0, done: !0 } }([B, o]) } } } for (var B = function () { function A(A, e, t, r) { this.left = A, this.top = e, this.width = t, this.height = r } return A.prototype.add = function (e, t, r, n) { return new A(this.left + e, this.top + t, this.width + r, this.height + n) }, A.fromClientRect = function (e) { return new A(e.left, e.top, e.width, e.height) }, A }(), s = function (A) { return B.fromClientRect(A.getBoundingClientRect()) }, o = function (A) { for (var e = [], t = 0, r = A.length; t < r;) { var n = A.charCodeAt(t++); if (n >= 55296 && n <= 56319 && t < r) { var B = A.charCodeAt(t++); 56320 == (64512 & B) ? e.push(((1023 & n) << 10) + (1023 & B) + 65536) : (e.push(n), t--) } else e.push(n) } return e }, i = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; if (String.fromCodePoint) return String.fromCodePoint.apply(String, A); var t = A.length; if (!t) return ""; for (var r = [], n = -1, B = ""; ++n < t;) { var s = A[n]; s <= 65535 ? r.push(s) : (s -= 65536, r.push(55296 + (s >> 10), s % 1024 + 56320)), (n + 1 === t || r.length > 16384) && (B += String.fromCharCode.apply(String, r), r.length = 0) } return B }, a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", c = "undefined" == typeof Uint8Array ? [] : new Uint8Array(256), Q = 0; Q < a.length; Q++)c[a.charCodeAt(Q)] = Q; var u, w = function (A, e, t) { return A.slice ? A.slice(e, t) : new Uint16Array(Array.prototype.slice.call(A, e, t)) }, U = function () { function A(A, e, t, r, n, B) { this.initialValue = A, this.errorValue = e, this.highStart = t, this.highValueIndex = r, this.index = n, this.data = B } return A.prototype.get = function (A) { var e; if (A >= 0) { if (A < 55296 || A > 56319 && A <= 65535) return e = ((e = this.index[A >> 5]) << 2) + (31 & A), this.data[e]; if (A <= 65535) return e = ((e = this.index[2048 + (A - 55296 >> 5)]) << 2) + (31 & A), this.data[e]; if (A < this.highStart) return e = 2080 + (A >> 11), e = this.index[e], e += A >> 5 & 63, e = ((e = this.index[e]) << 2) + (31 & A), this.data[e]; if (A <= 1114111) return this.data[this.highValueIndex] } return this.errorValue }, A }(), l = 10, C = 13, g = 15, E = 17, F = 18, h = 19, H = 20, d = 21, f = 22, p = 24, N = 25, K = 26, I = 27, T = 28, m = 30, R = 32, L = 33, O = 34, v = 35, D = 37, b = 38, S = 39, M = 40, y = 42, _ = "!", P = function (A) { var e, t, r, n = function (A) { var e, t, r, n, B, s = .75 * A.length, o = A.length, i = 0; "=" === A[A.length - 1] && (s--, "=" === A[A.length - 2] && s--); var a = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array && void 0 !== Uint8Array.prototype.slice ? new ArrayBuffer(s) : new Array(s), Q = Array.isArray(a) ? a : new Uint8Array(a); for (e = 0; e < o; e += 4)t = c[A.charCodeAt(e)], r = c[A.charCodeAt(e + 1)], n = c[A.charCodeAt(e + 2)], B = c[A.charCodeAt(e + 3)], Q[i++] = t << 2 | r >> 4, Q[i++] = (15 & r) << 4 | n >> 2, Q[i++] = (3 & n) << 6 | 63 & B; return a }(A), B = Array.isArray(n) ? function (A) { for (var e = A.length, t = [], r = 0; r < e; r += 4)t.push(A[r + 3] << 24 | A[r + 2] << 16 | A[r + 1] << 8 | A[r]); return t }(n) : new Uint32Array(n), s = Array.isArray(n) ? function (A) { for (var e = A.length, t = [], r = 0; r < e; r += 2)t.push(A[r + 1] << 8 | A[r]); return t }(n) : new Uint16Array(n), o = w(s, 12, B[4] / 2), i = 2 === B[5] ? w(s, (24 + B[4]) / 2) : (e = B, t = Math.ceil((24 + B[4]) / 4), e.slice ? e.slice(t, r) : new Uint32Array(Array.prototype.slice.call(e, t, r))); return new U(B[0], B[1], B[2], B[3], o, i) }("KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA"), x = [m, 36], V = [1, 2, 3, 5], z = [l, 8], X = [I, K], J = V.concat(z), G = [b, S, M, O, v], k = [g, C], W = function (A, e, t, r) { var n = r[t]; if (Array.isArray(A) ? -1 !== A.indexOf(n) : A === n) for (var B = t; B <= r.length;) { if ((i = r[++B]) === e) return !0; if (i !== l) break } if (n === l) for (B = t; B > 0;) { var s = r[--B]; if (Array.isArray(A) ? -1 !== A.indexOf(s) : A === s) for (var o = t; o <= r.length;) { var i; if ((i = r[++o]) === e) return !0; if (i !== l) break } if (s !== l) break } return !1 }, Y = function (A, e) { for (var t = A; t >= 0;) { var r = e[t]; if (r !== l) return r; t-- } return 0 }, q = function (A, e, t, r, n) { if (0 === t[r]) return "×"; var B = r - 1; if (Array.isArray(n) && !0 === n[B]) return "×"; var s = B - 1, o = B + 1, i = e[B], a = s >= 0 ? e[s] : 0, c = e[o]; if (2 === i && 3 === c) return "×"; if (-1 !== V.indexOf(i)) return _; if (-1 !== V.indexOf(c)) return "×"; if (-1 !== z.indexOf(c)) return "×"; if (8 === Y(B, e)) return "÷"; if (11 === P.get(A[B]) && (c === D || c === R || c === L)) return "×"; if (7 === i || 7 === c) return "×"; if (9 === i) return "×"; if (-1 === [l, C, g].indexOf(i) && 9 === c) return "×"; if (-1 !== [E, F, h, p, T].indexOf(c)) return "×"; if (Y(B, e) === f) return "×"; if (W(23, f, B, e)) return "×"; if (W([E, F], d, B, e)) return "×"; if (W(12, 12, B, e)) return "×"; if (i === l) return "÷"; if (23 === i || 23 === c) return "×"; if (16 === c || 16 === i) return "÷"; if (-1 !== [C, g, d].indexOf(c) || 14 === i) return "×"; if (36 === a && -1 !== k.indexOf(i)) return "×"; if (i === T && 36 === c) return "×"; if (c === H && -1 !== x.concat(H, h, N, D, R, L).indexOf(i)) return "×"; if (-1 !== x.indexOf(c) && i === N || -1 !== x.indexOf(i) && c === N) return "×"; if (i === I && -1 !== [D, R, L].indexOf(c) || -1 !== [D, R, L].indexOf(i) && c === K) return "×"; if (-1 !== x.indexOf(i) && -1 !== X.indexOf(c) || -1 !== X.indexOf(i) && -1 !== x.indexOf(c)) return "×"; if (-1 !== [I, K].indexOf(i) && (c === N || -1 !== [f, g].indexOf(c) && e[o + 1] === N) || -1 !== [f, g].indexOf(i) && c === N || i === N && -1 !== [N, T, p].indexOf(c)) return "×"; if (-1 !== [N, T, p, E, F].indexOf(c)) for (var Q = B; Q >= 0;) { if ((u = e[Q]) === N) return "×"; if (-1 === [T, p].indexOf(u)) break; Q-- } if (-1 !== [I, K].indexOf(c)) for (Q = -1 !== [E, F].indexOf(i) ? s : B; Q >= 0;) { var u; if ((u = e[Q]) === N) return "×"; if (-1 === [T, p].indexOf(u)) break; Q-- } if (b === i && -1 !== [b, S, O, v].indexOf(c) || -1 !== [S, O].indexOf(i) && -1 !== [S, M].indexOf(c) || -1 !== [M, v].indexOf(i) && c === M) return "×"; if (-1 !== G.indexOf(i) && -1 !== [H, K].indexOf(c) || -1 !== G.indexOf(c) && i === I) return "×"; if (-1 !== x.indexOf(i) && -1 !== x.indexOf(c)) return "×"; if (i === p && -1 !== x.indexOf(c)) return "×"; if (-1 !== x.concat(N).indexOf(i) && c === f || -1 !== x.concat(N).indexOf(c) && i === F) return "×"; if (41 === i && 41 === c) { for (var w = t[B], U = 1; w > 0 && 41 === e[--w];)U++; if (U % 2 != 0) return "×" } return i === R && c === L ? "×" : "÷" }, Z = function (A, e) { e || (e = { lineBreak: "normal", wordBreak: "normal" }); var t = function (A, e) { void 0 === e && (e = "strict"); var t = [], r = [], n = []; return A.forEach(function (A, B) { var s = P.get(A); if (s > 50 ? (n.push(!0), s -= 50) : n.push(!1), -1 !== ["normal", "auto", "loose"].indexOf(e) && -1 !== [8208, 8211, 12316, 12448].indexOf(A)) return r.push(B), t.push(16); if (4 === s || 11 === s) { if (0 === B) return r.push(B), t.push(m); var o = t[B - 1]; return -1 === J.indexOf(o) ? (r.push(r[B - 1]), t.push(o)) : (r.push(B), t.push(m)) } return r.push(B), 31 === s ? t.push("strict" === e ? d : D) : s === y ? t.push(m) : 29 === s ? t.push(m) : 43 === s ? A >= 131072 && A <= 196605 || A >= 196608 && A <= 262141 ? t.push(D) : t.push(m) : void t.push(s) }), [r, t, n] }(A, e.lineBreak), r = t[0], n = t[1], B = t[2]; return "break-all" !== e.wordBreak && "break-word" !== e.wordBreak || (n = n.map(function (A) { return -1 !== [N, m, y].indexOf(A) ? D : A })), [r, n, "keep-all" === e.wordBreak ? B.map(function (e, t) { return e && A[t] >= 19968 && A[t] <= 40959 }) : void 0] }, j = function () { function A(A, e, t, r) { this.codePoints = A, this.required = e === _, this.start = t, this.end = r } return A.prototype.slice = function () { return i.apply(void 0, this.codePoints.slice(this.start, this.end)) }, A }(); !function (A) { A[A.STRING_TOKEN = 0] = "STRING_TOKEN", A[A.BAD_STRING_TOKEN = 1] = "BAD_STRING_TOKEN", A[A.LEFT_PARENTHESIS_TOKEN = 2] = "LEFT_PARENTHESIS_TOKEN", A[A.RIGHT_PARENTHESIS_TOKEN = 3] = "RIGHT_PARENTHESIS_TOKEN", A[A.COMMA_TOKEN = 4] = "COMMA_TOKEN", A[A.HASH_TOKEN = 5] = "HASH_TOKEN", A[A.DELIM_TOKEN = 6] = "DELIM_TOKEN", A[A.AT_KEYWORD_TOKEN = 7] = "AT_KEYWORD_TOKEN", A[A.PREFIX_MATCH_TOKEN = 8] = "PREFIX_MATCH_TOKEN", A[A.DASH_MATCH_TOKEN = 9] = "DASH_MATCH_TOKEN", A[A.INCLUDE_MATCH_TOKEN = 10] = "INCLUDE_MATCH_TOKEN", A[A.LEFT_CURLY_BRACKET_TOKEN = 11] = "LEFT_CURLY_BRACKET_TOKEN", A[A.RIGHT_CURLY_BRACKET_TOKEN = 12] = "RIGHT_CURLY_BRACKET_TOKEN", A[A.SUFFIX_MATCH_TOKEN = 13] = "SUFFIX_MATCH_TOKEN", A[A.SUBSTRING_MATCH_TOKEN = 14] = "SUBSTRING_MATCH_TOKEN", A[A.DIMENSION_TOKEN = 15] = "DIMENSION_TOKEN", A[A.PERCENTAGE_TOKEN = 16] = "PERCENTAGE_TOKEN", A[A.NUMBER_TOKEN = 17] = "NUMBER_TOKEN", A[A.FUNCTION = 18] = "FUNCTION", A[A.FUNCTION_TOKEN = 19] = "FUNCTION_TOKEN", A[A.IDENT_TOKEN = 20] = "IDENT_TOKEN", A[A.COLUMN_TOKEN = 21] = "COLUMN_TOKEN", A[A.URL_TOKEN = 22] = "URL_TOKEN", A[A.BAD_URL_TOKEN = 23] = "BAD_URL_TOKEN", A[A.CDC_TOKEN = 24] = "CDC_TOKEN", A[A.CDO_TOKEN = 25] = "CDO_TOKEN", A[A.COLON_TOKEN = 26] = "COLON_TOKEN", A[A.SEMICOLON_TOKEN = 27] = "SEMICOLON_TOKEN", A[A.LEFT_SQUARE_BRACKET_TOKEN = 28] = "LEFT_SQUARE_BRACKET_TOKEN", A[A.RIGHT_SQUARE_BRACKET_TOKEN = 29] = "RIGHT_SQUARE_BRACKET_TOKEN", A[A.UNICODE_RANGE_TOKEN = 30] = "UNICODE_RANGE_TOKEN", A[A.WHITESPACE_TOKEN = 31] = "WHITESPACE_TOKEN", A[A.EOF_TOKEN = 32] = "EOF_TOKEN" }(u || (u = {})); var $ = function (A) { return A >= 48 && A <= 57 }, AA = function (A) { return $(A) || A >= 65 && A <= 70 || A >= 97 && A <= 102 }, eA = function (A) { return 10 === A || 9 === A || 32 === A }, tA = function (A) { return function (A) { return function (A) { return A >= 97 && A <= 122 }(A) || function (A) { return A >= 65 && A <= 90 }(A) }(A) || function (A) { return A >= 128 }(A) || 95 === A }, rA = function (A) { return tA(A) || $(A) || 45 === A }, nA = function (A) { return A >= 0 && A <= 8 || 11 === A || A >= 14 && A <= 31 || 127 === A }, BA = function (A, e) { return 92 === A && 10 !== e }, sA = function (A, e, t) { return 45 === A ? tA(e) || BA(e, t) : !!tA(A) || !(92 !== A || !BA(A, e)) }, oA = function (A, e, t) { return 43 === A || 45 === A ? !!$(e) || 46 === e && $(t) : $(46 === A ? e : A) }, iA = function (A) { var e = 0, t = 1; 43 !== A[e] && 45 !== A[e] || (45 === A[e] && (t = -1), e++); for (var r = []; $(A[e]);)r.push(A[e++]); var n = r.length ? parseInt(i.apply(void 0, r), 10) : 0; 46 === A[e] && e++; for (var B = []; $(A[e]);)B.push(A[e++]); var s = B.length, o = s ? parseInt(i.apply(void 0, B), 10) : 0; 69 !== A[e] && 101 !== A[e] || e++; var a = 1; 43 !== A[e] && 45 !== A[e] || (45 === A[e] && (a = -1), e++); for (var c = []; $(A[e]);)c.push(A[e++]); var Q = c.length ? parseInt(i.apply(void 0, c), 10) : 0; return t * (n + o * Math.pow(10, -s)) * Math.pow(10, a * Q) }, aA = { type: u.LEFT_PARENTHESIS_TOKEN }, cA = { type: u.RIGHT_PARENTHESIS_TOKEN }, QA = { type: u.COMMA_TOKEN }, uA = { type: u.SUFFIX_MATCH_TOKEN }, wA = { type: u.PREFIX_MATCH_TOKEN }, UA = { type: u.COLUMN_TOKEN }, lA = { type: u.DASH_MATCH_TOKEN }, CA = { type: u.INCLUDE_MATCH_TOKEN }, gA = { type: u.LEFT_CURLY_BRACKET_TOKEN }, EA = { type: u.RIGHT_CURLY_BRACKET_TOKEN }, FA = { type: u.SUBSTRING_MATCH_TOKEN }, hA = { type: u.BAD_URL_TOKEN }, HA = { type: u.BAD_STRING_TOKEN }, dA = { type: u.CDO_TOKEN }, fA = { type: u.CDC_TOKEN }, pA = { type: u.COLON_TOKEN }, NA = { type: u.SEMICOLON_TOKEN }, KA = { type: u.LEFT_SQUARE_BRACKET_TOKEN }, IA = { type: u.RIGHT_SQUARE_BRACKET_TOKEN }, TA = { type: u.WHITESPACE_TOKEN }, mA = { type: u.EOF_TOKEN }, RA = function () { function A() { this._value = [] } return A.prototype.write = function (A) { this._value = this._value.concat(o(A)) }, A.prototype.read = function () { for (var A = [], e = this.consumeToken(); e !== mA;)A.push(e), e = this.consumeToken(); return A }, A.prototype.consumeToken = function () { var A = this.consumeCodePoint(); switch (A) { case 34: return this.consumeStringToken(34); case 35: var e = this.peekCodePoint(0), t = this.peekCodePoint(1), r = this.peekCodePoint(2); if (rA(e) || BA(t, r)) { var n = sA(e, t, r) ? 2 : 1, B = this.consumeName(); return { type: u.HASH_TOKEN, value: B, flags: n } } break; case 36: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), uA; break; case 39: return this.consumeStringToken(39); case 40: return aA; case 41: return cA; case 42: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), FA; break; case 43: if (oA(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken(); break; case 44: return QA; case 45: var s = A, o = this.peekCodePoint(0), a = this.peekCodePoint(1); if (oA(s, o, a)) return this.reconsumeCodePoint(A), this.consumeNumericToken(); if (sA(s, o, a)) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); if (45 === o && 62 === a) return this.consumeCodePoint(), this.consumeCodePoint(), fA; break; case 46: if (oA(A, this.peekCodePoint(0), this.peekCodePoint(1))) return this.reconsumeCodePoint(A), this.consumeNumericToken(); break; case 47: if (42 === this.peekCodePoint(0)) for (this.consumeCodePoint(); ;) { var c = this.consumeCodePoint(); if (42 === c && 47 === (c = this.consumeCodePoint())) return this.consumeToken(); if (-1 === c) return this.consumeToken() } break; case 58: return pA; case 59: return NA; case 60: if (33 === this.peekCodePoint(0) && 45 === this.peekCodePoint(1) && 45 === this.peekCodePoint(2)) return this.consumeCodePoint(), this.consumeCodePoint(), dA; break; case 64: var Q = this.peekCodePoint(0), w = this.peekCodePoint(1), U = this.peekCodePoint(2); if (sA(Q, w, U)) { B = this.consumeName(); return { type: u.AT_KEYWORD_TOKEN, value: B } } break; case 91: return KA; case 92: if (BA(A, this.peekCodePoint(0))) return this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); break; case 93: return IA; case 61: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), wA; break; case 123: return gA; case 125: return EA; case 117: case 85: var l = this.peekCodePoint(0), C = this.peekCodePoint(1); return 43 !== l || !AA(C) && 63 !== C || (this.consumeCodePoint(), this.consumeUnicodeRangeToken()), this.reconsumeCodePoint(A), this.consumeIdentLikeToken(); case 124: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), lA; if (124 === this.peekCodePoint(0)) return this.consumeCodePoint(), UA; break; case 126: if (61 === this.peekCodePoint(0)) return this.consumeCodePoint(), CA; break; case -1: return mA }return eA(A) ? (this.consumeWhiteSpace(), TA) : $(A) ? (this.reconsumeCodePoint(A), this.consumeNumericToken()) : tA(A) ? (this.reconsumeCodePoint(A), this.consumeIdentLikeToken()) : { type: u.DELIM_TOKEN, value: i(A) } }, A.prototype.consumeCodePoint = function () { var A = this._value.shift(); return void 0 === A ? -1 : A }, A.prototype.reconsumeCodePoint = function (A) { this._value.unshift(A) }, A.prototype.peekCodePoint = function (A) { return A >= this._value.length ? -1 : this._value[A] }, A.prototype.consumeUnicodeRangeToken = function () { for (var A = [], e = this.consumeCodePoint(); AA(e) && A.length < 6;)A.push(e), e = this.consumeCodePoint(); for (var t = !1; 63 === e && A.length < 6;)A.push(e), e = this.consumeCodePoint(), t = !0; if (t) { var r = parseInt(i.apply(void 0, A.map(function (A) { return 63 === A ? 48 : A })), 16), n = parseInt(i.apply(void 0, A.map(function (A) { return 63 === A ? 70 : A })), 16); return { type: u.UNICODE_RANGE_TOKEN, start: r, end: n } } var B = parseInt(i.apply(void 0, A), 16); if (45 === this.peekCodePoint(0) && AA(this.peekCodePoint(1))) { this.consumeCodePoint(), e = this.consumeCodePoint(); for (var s = []; AA(e) && s.length < 6;)s.push(e), e = this.consumeCodePoint(); n = parseInt(i.apply(void 0, s), 16); return { type: u.UNICODE_RANGE_TOKEN, start: B, end: n } } return { type: u.UNICODE_RANGE_TOKEN, start: B, end: B } }, A.prototype.consumeIdentLikeToken = function () { var A = this.consumeName(); return "url" === A.toLowerCase() && 40 === this.peekCodePoint(0) ? (this.consumeCodePoint(), this.consumeUrlToken()) : 40 === this.peekCodePoint(0) ? (this.consumeCodePoint(), { type: u.FUNCTION_TOKEN, value: A }) : { type: u.IDENT_TOKEN, value: A } }, A.prototype.consumeUrlToken = function () { var A = []; if (this.consumeWhiteSpace(), -1 === this.peekCodePoint(0)) return { type: u.URL_TOKEN, value: "" }; var e = this.peekCodePoint(0); if (39 === e || 34 === e) { var t = this.consumeStringToken(this.consumeCodePoint()); return t.type === u.STRING_TOKEN && (this.consumeWhiteSpace(), -1 === this.peekCodePoint(0) || 41 === this.peekCodePoint(0)) ? (this.consumeCodePoint(), { type: u.URL_TOKEN, value: t.value }) : (this.consumeBadUrlRemnants(), hA) } for (; ;) { var r = this.consumeCodePoint(); if (-1 === r || 41 === r) return { type: u.URL_TOKEN, value: i.apply(void 0, A) }; if (eA(r)) return this.consumeWhiteSpace(), -1 === this.peekCodePoint(0) || 41 === this.peekCodePoint(0) ? (this.consumeCodePoint(), { type: u.URL_TOKEN, value: i.apply(void 0, A) }) : (this.consumeBadUrlRemnants(), hA); if (34 === r || 39 === r || 40 === r || nA(r)) return this.consumeBadUrlRemnants(), hA; if (92 === r) { if (!BA(r, this.peekCodePoint(0))) return this.consumeBadUrlRemnants(), hA; A.push(this.consumeEscapedCodePoint()) } else A.push(r) } }, A.prototype.consumeWhiteSpace = function () { for (; eA(this.peekCodePoint(0));)this.consumeCodePoint() }, A.prototype.consumeBadUrlRemnants = function () { for (; ;) { var A = this.consumeCodePoint(); if (41 === A || -1 === A) return; BA(A, this.peekCodePoint(0)) && this.consumeEscapedCodePoint() } }, A.prototype.consumeStringSlice = function (A) { for (var e = ""; A > 0;) { var t = Math.min(6e4, A); e += i.apply(void 0, this._value.splice(0, t)), A -= t } return this._value.shift(), e }, A.prototype.consumeStringToken = function (A) { for (var e = "", t = 0; ;) { var r = this._value[t]; if (-1 === r || void 0 === r || r === A) return e += this.consumeStringSlice(t), { type: u.STRING_TOKEN, value: e }; if (10 === r) return this._value.splice(0, t), HA; if (92 === r) { var n = this._value[t + 1]; -1 !== n && void 0 !== n && (10 === n ? (e += this.consumeStringSlice(t), t = -1, this._value.shift()) : BA(r, n) && (e += this.consumeStringSlice(t), e += i(this.consumeEscapedCodePoint()), t = -1)) } t++ } }, A.prototype.consumeNumber = function () { var A = [], e = 4, t = this.peekCodePoint(0); for (43 !== t && 45 !== t || A.push(this.consumeCodePoint()); $(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); t = this.peekCodePoint(0); var r = this.peekCodePoint(1); if (46 === t && $(r)) for (A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = 8; $(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); t = this.peekCodePoint(0), r = this.peekCodePoint(1); var n = this.peekCodePoint(2); if ((69 === t || 101 === t) && ((43 === r || 45 === r) && $(n) || $(r))) for (A.push(this.consumeCodePoint(), this.consumeCodePoint()), e = 8; $(this.peekCodePoint(0));)A.push(this.consumeCodePoint()); return [iA(A), e] }, A.prototype.consumeNumericToken = function () { var A = this.consumeNumber(), e = A[0], t = A[1], r = this.peekCodePoint(0), n = this.peekCodePoint(1), B = this.peekCodePoint(2); if (sA(r, n, B)) { var s = this.consumeName(); return { type: u.DIMENSION_TOKEN, number: e, flags: t, unit: s } } return 37 === r ? (this.consumeCodePoint(), { type: u.PERCENTAGE_TOKEN, number: e, flags: t }) : { type: u.NUMBER_TOKEN, number: e, flags: t } }, A.prototype.consumeEscapedCodePoint = function () { var A = this.consumeCodePoint(); if (AA(A)) { for (var e = i(A); AA(this.peekCodePoint(0)) && e.length < 6;)e += i(this.consumeCodePoint()); eA(this.peekCodePoint(0)) && this.consumeCodePoint(); var t = parseInt(e, 16); return 0 === t || function (A) { return A >= 55296 && A <= 57343 }(t) || t > 1114111 ? 65533 : t } return -1 === A ? 65533 : A }, A.prototype.consumeName = function () { for (var A = ""; ;) { var e = this.consumeCodePoint(); if (rA(e)) A += i(e); else { if (!BA(e, this.peekCodePoint(0))) return this.reconsumeCodePoint(e), A; A += i(this.consumeEscapedCodePoint()) } } }, A }(), LA = function () { function A(A) { this._tokens = A } return A.create = function (e) { var t = new RA; return t.write(e), new A(t.read()) }, A.parseValue = function (e) { return A.create(e).parseComponentValue() }, A.parseValues = function (e) { return A.create(e).parseComponentValues() }, A.prototype.parseComponentValue = function () { for (var A = this.consumeToken(); A.type === u.WHITESPACE_TOKEN;)A = this.consumeToken(); if (A.type === u.EOF_TOKEN) throw new SyntaxError("Error parsing CSS component value, unexpected EOF"); this.reconsumeToken(A); var e = this.consumeComponentValue(); do { A = this.consumeToken() } while (A.type === u.WHITESPACE_TOKEN); if (A.type === u.EOF_TOKEN) return e; throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one") }, A.prototype.parseComponentValues = function () { for (var A = []; ;) { var e = this.consumeComponentValue(); if (e.type === u.EOF_TOKEN) return A; A.push(e), A.push() } }, A.prototype.consumeComponentValue = function () { var A = this.consumeToken(); switch (A.type) { case u.LEFT_CURLY_BRACKET_TOKEN: case u.LEFT_SQUARE_BRACKET_TOKEN: case u.LEFT_PARENTHESIS_TOKEN: return this.consumeSimpleBlock(A.type); case u.FUNCTION_TOKEN: return this.consumeFunction(A) }return A }, A.prototype.consumeSimpleBlock = function (A) { for (var e = { type: A, values: [] }, t = this.consumeToken(); ;) { if (t.type === u.EOF_TOKEN || PA(t, A)) return e; this.reconsumeToken(t), e.values.push(this.consumeComponentValue()), t = this.consumeToken() } }, A.prototype.consumeFunction = function (A) { for (var e = { name: A.value, values: [], type: u.FUNCTION }; ;) { var t = this.consumeToken(); if (t.type === u.EOF_TOKEN || t.type === u.RIGHT_PARENTHESIS_TOKEN) return e; this.reconsumeToken(t), e.values.push(this.consumeComponentValue()) } }, A.prototype.consumeToken = function () { var A = this._tokens.shift(); return void 0 === A ? mA : A }, A.prototype.reconsumeToken = function (A) { this._tokens.unshift(A) }, A }(), OA = function (A) { return A.type === u.DIMENSION_TOKEN }, vA = function (A) { return A.type === u.NUMBER_TOKEN }, DA = function (A) { return A.type === u.IDENT_TOKEN }, bA = function (A) { return A.type === u.STRING_TOKEN }, SA = function (A, e) { return DA(A) && A.value === e }, MA = function (A) { return A.type !== u.WHITESPACE_TOKEN }, yA = function (A) { return A.type !== u.WHITESPACE_TOKEN && A.type !== u.COMMA_TOKEN }, _A = function (A) { var e = [], t = []; return A.forEach(function (A) { if (A.type === u.COMMA_TOKEN) { if (0 === t.length) throw new Error("Error parsing function args, zero tokens for arg"); return e.push(t), void (t = []) } A.type !== u.WHITESPACE_TOKEN && t.push(A) }), t.length && e.push(t), e }, PA = function (A, e) { return e === u.LEFT_CURLY_BRACKET_TOKEN && A.type === u.RIGHT_CURLY_BRACKET_TOKEN || (e === u.LEFT_SQUARE_BRACKET_TOKEN && A.type === u.RIGHT_SQUARE_BRACKET_TOKEN || e === u.LEFT_PARENTHESIS_TOKEN && A.type === u.RIGHT_PARENTHESIS_TOKEN) }, xA = function (A) { return A.type === u.NUMBER_TOKEN || A.type === u.DIMENSION_TOKEN }, VA = function (A) { return A.type === u.PERCENTAGE_TOKEN || xA(A) }, zA = function (A) { return A.length > 1 ? [A[0], A[1]] : [A[0]] }, XA = { type: u.NUMBER_TOKEN, number: 0, flags: 4 }, JA = { type: u.PERCENTAGE_TOKEN, number: 50, flags: 4 }, GA = { type: u.PERCENTAGE_TOKEN, number: 100, flags: 4 }, kA = function (A, e, t) { var r = A[0], n = A[1]; return [WA(r, e), WA(void 0 !== n ? n : r, t)] }, WA = function (A, e) { if (A.type === u.PERCENTAGE_TOKEN) return A.number / 100 * e; if (OA(A)) switch (A.unit) { case "rem": case "em": return 16 * A.number; case "px": default: return A.number }return A.number }, YA = function (A) { if (A.type === u.DIMENSION_TOKEN) switch (A.unit) { case "deg": return Math.PI * A.number / 180; case "grad": return Math.PI / 200 * A.number; case "rad": return A.number; case "turn": return 2 * Math.PI * A.number }throw new Error("Unsupported angle type") }, qA = function (A) { return A.type === u.DIMENSION_TOKEN && ("deg" === A.unit || "grad" === A.unit || "rad" === A.unit || "turn" === A.unit) }, ZA = function (A) { switch (A.filter(DA).map(function (A) { return A.value }).join(" ")) { case "to bottom right": case "to right bottom": case "left top": case "top left": return [XA, XA]; case "to top": case "bottom": return jA(0); case "to bottom left": case "to left bottom": case "right top": case "top right": return [XA, GA]; case "to right": case "left": return jA(90); case "to top left": case "to left top": case "right bottom": case "bottom right": return [GA, GA]; case "to bottom": case "top": return jA(180); case "to top right": case "to right top": case "left bottom": case "bottom left": return [GA, XA]; case "to left": case "right": return jA(270) }return 0 }, jA = function (A) { return Math.PI * A / 180 }, $A = function (A) { if (A.type === u.FUNCTION) { var e = ae[A.name]; if (void 0 === e) throw new Error('Attempting to parse an unsupported color function "' + A.name + '"'); return e(A.values) } if (A.type === u.HASH_TOKEN) { if (3 === A.value.length) { var t = A.value.substring(0, 1), r = A.value.substring(1, 2), n = A.value.substring(2, 3); return te(parseInt(t + t, 16), parseInt(r + r, 16), parseInt(n + n, 16), 1) } if (4 === A.value.length) { t = A.value.substring(0, 1), r = A.value.substring(1, 2), n = A.value.substring(2, 3); var B = A.value.substring(3, 4); return te(parseInt(t + t, 16), parseInt(r + r, 16), parseInt(n + n, 16), parseInt(B + B, 16) / 255) } if (6 === A.value.length) { t = A.value.substring(0, 2), r = A.value.substring(2, 4), n = A.value.substring(4, 6); return te(parseInt(t, 16), parseInt(r, 16), parseInt(n, 16), 1) } if (8 === A.value.length) { t = A.value.substring(0, 2), r = A.value.substring(2, 4), n = A.value.substring(4, 6), B = A.value.substring(6, 8); return te(parseInt(t, 16), parseInt(r, 16), parseInt(n, 16), parseInt(B, 16) / 255) } } if (A.type === u.IDENT_TOKEN) { var s = ce[A.value.toUpperCase()]; if (void 0 !== s) return s } return ce.TRANSPARENT }, Ae = function (A) { return 0 == (255 & A) }, ee = function (A) { var e = 255 & A, t = 255 & A >> 8, r = 255 & A >> 16, n = 255 & A >> 24; return e < 255 ? "rgba(" + n + "," + r + "," + t + "," + e / 255 + ")" : "rgb(" + n + "," + r + "," + t + ")" }, te = function (A, e, t, r) { return (A << 24 | e << 16 | t << 8 | Math.round(255 * r) << 0) >>> 0 }, re = function (A, e) { if (A.type === u.NUMBER_TOKEN) return A.number; if (A.type === u.PERCENTAGE_TOKEN) { var t = 3 === e ? 1 : 255; return 3 === e ? A.number / 100 * t : Math.round(A.number / 100 * t) } return 0 }, ne = function (A) { var e = A.filter(yA); if (3 === e.length) { var t = e.map(re), r = t[0], n = t[1], B = t[2]; return te(r, n, B, 1) } if (4 === e.length) { var s = e.map(re), o = (r = s[0], n = s[1], B = s[2], s[3]); return te(r, n, B, o) } return 0 }; function Be(A, e, t) { return t < 0 && (t += 1), t >= 1 && (t -= 1), t < 1 / 6 ? (e - A) * t * 6 + A : t < .5 ? e : t < 2 / 3 ? 6 * (e - A) * (2 / 3 - t) + A : A } var se, oe, ie = function (A) { var e = A.filter(yA), t = e[0], r = e[1], n = e[2], B = e[3], s = (t.type === u.NUMBER_TOKEN ? jA(t.number) : YA(t)) / (2 * Math.PI), o = VA(r) ? r.number / 100 : 0, i = VA(n) ? n.number / 100 : 0, a = void 0 !== B && VA(B) ? WA(B, 1) : 1; if (0 === o) return te(255 * i, 255 * i, 255 * i, 1); var c = i <= .5 ? i * (o + 1) : i + o - i * o, Q = 2 * i - c, w = Be(Q, c, s + 1 / 3), U = Be(Q, c, s), l = Be(Q, c, s - 1 / 3); return te(255 * w, 255 * U, 255 * l, a) }, ae = { hsl: ie, hsla: ie, rgb: ne, rgba: ne }, ce = { ALICEBLUE: 4042850303, ANTIQUEWHITE: 4209760255, AQUA: 16777215, AQUAMARINE: 2147472639, AZURE: 4043309055, BEIGE: 4126530815, BISQUE: 4293182719, BLACK: 255, BLANCHEDALMOND: 4293643775, BLUE: 65535, BLUEVIOLET: 2318131967, BROWN: 2771004159, BURLYWOOD: 3736635391, CADETBLUE: 1604231423, CHARTREUSE: 2147418367, CHOCOLATE: 3530104575, CORAL: 4286533887, CORNFLOWERBLUE: 1687547391, CORNSILK: 4294499583, CRIMSON: 3692313855, CYAN: 16777215, DARKBLUE: 35839, DARKCYAN: 9145343, DARKGOLDENROD: 3095837695, DARKGRAY: 2846468607, DARKGREEN: 6553855, DARKGREY: 2846468607, DARKKHAKI: 3182914559, DARKMAGENTA: 2332068863, DARKOLIVEGREEN: 1433087999, DARKORANGE: 4287365375, DARKORCHID: 2570243327, DARKRED: 2332033279, DARKSALMON: 3918953215, DARKSEAGREEN: 2411499519, DARKSLATEBLUE: 1211993087, DARKSLATEGRAY: 793726975, DARKSLATEGREY: 793726975, DARKTURQUOISE: 13554175, DARKVIOLET: 2483082239, DEEPPINK: 4279538687, DEEPSKYBLUE: 12582911, DIMGRAY: 1768516095, DIMGREY: 1768516095, DODGERBLUE: 512819199, FIREBRICK: 2988581631, FLORALWHITE: 4294635775, FORESTGREEN: 579543807, FUCHSIA: 4278255615, GAINSBORO: 3705462015, GHOSTWHITE: 4177068031, GOLD: 4292280575, GOLDENROD: 3668254975, GRAY: 2155905279, GREEN: 8388863, GREENYELLOW: 2919182335, GREY: 2155905279, HONEYDEW: 4043305215, HOTPINK: 4285117695, INDIANRED: 3445382399, INDIGO: 1258324735, IVORY: 4294963455, KHAKI: 4041641215, LAVENDER: 3873897215, LAVENDERBLUSH: 4293981695, LAWNGREEN: 2096890111, LEMONCHIFFON: 4294626815, LIGHTBLUE: 2916673279, LIGHTCORAL: 4034953471, LIGHTCYAN: 3774873599, LIGHTGOLDENRODYELLOW: 4210742015, LIGHTGRAY: 3553874943, LIGHTGREEN: 2431553791, LIGHTGREY: 3553874943, LIGHTPINK: 4290167295, LIGHTSALMON: 4288707327, LIGHTSEAGREEN: 548580095, LIGHTSKYBLUE: 2278488831, LIGHTSLATEGRAY: 2005441023, LIGHTSLATEGREY: 2005441023, LIGHTSTEELBLUE: 2965692159, LIGHTYELLOW: 4294959359, LIME: 16711935, LIMEGREEN: 852308735, LINEN: 4210091775, MAGENTA: 4278255615, MAROON: 2147483903, MEDIUMAQUAMARINE: 1724754687, MEDIUMBLUE: 52735, MEDIUMORCHID: 3126187007, MEDIUMPURPLE: 2473647103, MEDIUMSEAGREEN: 1018393087, MEDIUMSLATEBLUE: 2070474495, MEDIUMSPRINGGREEN: 16423679, MEDIUMTURQUOISE: 1221709055, MEDIUMVIOLETRED: 3340076543, MIDNIGHTBLUE: 421097727, MINTCREAM: 4127193855, MISTYROSE: 4293190143, MOCCASIN: 4293178879, NAVAJOWHITE: 4292783615, NAVY: 33023, OLDLACE: 4260751103, OLIVE: 2155872511, OLIVEDRAB: 1804477439, ORANGE: 4289003775, ORANGERED: 4282712319, ORCHID: 3664828159, PALEGOLDENROD: 4008225535, PALEGREEN: 2566625535, PALETURQUOISE: 2951671551, PALEVIOLETRED: 3681588223, PAPAYAWHIP: 4293907967, PEACHPUFF: 4292524543, PERU: 3448061951, PINK: 4290825215, PLUM: 3718307327, POWDERBLUE: 2967529215, PURPLE: 2147516671, REBECCAPURPLE: 1714657791, RED: 4278190335, ROSYBROWN: 3163525119, ROYALBLUE: 1097458175, SADDLEBROWN: 2336560127, SALMON: 4202722047, SANDYBROWN: 4104413439, SEAGREEN: 780883967, SEASHELL: 4294307583, SIENNA: 2689740287, SILVER: 3233857791, SKYBLUE: 2278484991, SLATEBLUE: 1784335871, SLATEGRAY: 1887473919, SLATEGREY: 1887473919, SNOW: 4294638335, SPRINGGREEN: 16744447, STEELBLUE: 1182971135, TAN: 3535047935, TEAL: 8421631, THISTLE: 3636451583, TOMATO: 4284696575, TRANSPARENT: 0, TURQUOISE: 1088475391, VIOLET: 4001558271, WHEAT: 4125012991, WHITE: 4294967295, WHITESMOKE: 4126537215, YELLOW: 4294902015, YELLOWGREEN: 2597139199 }; !function (A) { A[A.VALUE = 0] = "VALUE", A[A.LIST = 1] = "LIST", A[A.IDENT_VALUE = 2] = "IDENT_VALUE", A[A.TYPE_VALUE = 3] = "TYPE_VALUE", A[A.TOKEN_VALUE = 4] = "TOKEN_VALUE" }(se || (se = {})), function (A) { A[A.BORDER_BOX = 0] = "BORDER_BOX", A[A.PADDING_BOX = 1] = "PADDING_BOX", A[A.CONTENT_BOX = 2] = "CONTENT_BOX" }(oe || (oe = {})); var Qe, ue = { name: "background-clip", initialValue: "border-box", prefix: !1, type: se.LIST, parse: function (A) { return A.map(function (A) { if (DA(A)) switch (A.value) { case "padding-box": return oe.PADDING_BOX; case "content-box": return oe.CONTENT_BOX }return oe.BORDER_BOX }) } }, we = { name: "background-color", initialValue: "transparent", prefix: !1, type: se.TYPE_VALUE, format: "color" }, Ue = function (A) { var e = $A(A[0]), t = A[1]; return t && VA(t) ? { color: e, stop: t } : { color: e, stop: null } }, le = function (A, e) { var t = A[0], r = A[A.length - 1]; null === t.stop && (t.stop = XA), null === r.stop && (r.stop = GA); for (var n = [], B = 0, s = 0; s < A.length; s++) { var o = A[s].stop; if (null !== o) { var i = WA(o, e); i > B ? n.push(i) : n.push(B), B = i } else n.push(null) } var a = null; for (s = 0; s < n.length; s++) { var c = n[s]; if (null === c) null === a && (a = s); else if (null !== a) { for (var Q = s - a, u = (c - n[a - 1]) / (Q + 1), w = 1; w <= Q; w++)n[a + w - 1] = u * w; a = null } } return A.map(function (A, t) { return { color: A.color, stop: Math.max(Math.min(1, n[t] / e), 0) } }) }, Ce = function (A, e, t) { var r = "number" == typeof A ? A : function (A, e, t) { var r = e / 2, n = t / 2, B = WA(A[0], e) - r, s = n - WA(A[1], t); return (Math.atan2(s, B) + 2 * Math.PI) % (2 * Math.PI) }(A, e, t), n = Math.abs(e * Math.sin(r)) + Math.abs(t * Math.cos(r)), B = e / 2, s = t / 2, o = n / 2, i = Math.sin(r - Math.PI / 2) * o, a = Math.cos(r - Math.PI / 2) * o; return [n, B - a, B + a, s - i, s + i] }, ge = function (A, e) { return Math.sqrt(A * A + e * e) }, Ee = function (A, e, t, r, n) { return [[0, 0], [0, e], [A, 0], [A, e]].reduce(function (A, e) { var B = e[0], s = e[1], o = ge(t - B, r - s); return (n ? o < A.optimumDistance : o > A.optimumDistance) ? { optimumCorner: e, optimumDistance: o } : A }, { optimumDistance: n ? 1 / 0 : -1 / 0, optimumCorner: null }).optimumCorner }, Fe = function (A) { var e = jA(180), t = []; return _A(A).forEach(function (A, r) { if (0 === r) { var n = A[0]; if (n.type === u.IDENT_TOKEN && -1 !== ["top", "left", "right", "bottom"].indexOf(n.value)) return void (e = ZA(A)); if (qA(n)) return void (e = (YA(n) + jA(270)) % jA(360)) } var B = Ue(A); t.push(B) }), { angle: e, stops: t, type: Qe.LINEAR_GRADIENT } }, he = function (A) { return 0 === A[0] && 255 === A[1] && 0 === A[2] && 255 === A[3] }, He = function (A, e, t, r, n) { var B = "http://www.w3.org/2000/svg", s = document.createElementNS(B, "svg"), o = document.createElementNS(B, "foreignObject"); return s.setAttributeNS(null, "width", A.toString()), s.setAttributeNS(null, "height", e.toString()), o.setAttributeNS(null, "width", "100%"), o.setAttributeNS(null, "height", "100%"), o.setAttributeNS(null, "x", t.toString()), o.setAttributeNS(null, "y", r.toString()), o.setAttributeNS(null, "externalResourcesRequired", "true"), s.appendChild(o), o.appendChild(n), s }, de = function (A) { return new Promise(function (e, t) { var r = new Image; r.onload = function () { return e(r) }, r.onerror = t, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent((new XMLSerializer).serializeToString(A)) }) }, fe = { get SUPPORT_RANGE_BOUNDS() { var A = function (A) { if (A.createRange) { var e = A.createRange(); if (e.getBoundingClientRect) { var t = A.createElement("boundtest"); t.style.height = "123px", t.style.display = "block", A.body.appendChild(t), e.selectNode(t); var r = e.getBoundingClientRect(), n = Math.round(r.height); if (A.body.removeChild(t), 123 === n) return !0 } } return !1 }(document); return Object.defineProperty(fe, "SUPPORT_RANGE_BOUNDS", { value: A }), A }, get SUPPORT_SVG_DRAWING() { var A = function (A) { var e = new Image, t = A.createElement("canvas"), r = t.getContext("2d"); if (!r) return !1; e.src = "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>"; try { r.drawImage(e, 0, 0), t.toDataURL() } catch (A) { return !1 } return !0 }(document); return Object.defineProperty(fe, "SUPPORT_SVG_DRAWING", { value: A }), A }, get SUPPORT_FOREIGNOBJECT_DRAWING() { var A = "function" == typeof Array.from && "function" == typeof window.fetch ? function (A) { var e = A.createElement("canvas"); e.width = 100, e.height = 100; var t = e.getContext("2d"); if (!t) return Promise.reject(!1); t.fillStyle = "rgb(0, 255, 0)", t.fillRect(0, 0, 100, 100); var r = new Image, n = e.toDataURL(); r.src = n; var B = He(100, 100, 0, 0, r); return t.fillStyle = "red", t.fillRect(0, 0, 100, 100), de(B).then(function (e) { t.drawImage(e, 0, 0); var r = t.getImageData(0, 0, 100, 100).data; t.fillStyle = "red", t.fillRect(0, 0, 100, 100); var B = A.createElement("div"); return B.style.backgroundImage = "url(" + n + ")", B.style.height = "100px", he(r) ? de(He(100, 100, 0, 0, B)) : Promise.reject(!1) }).then(function (A) { return t.drawImage(A, 0, 0), he(t.getImageData(0, 0, 100, 100).data) }).catch(function () { return !1 }) }(document) : Promise.resolve(!1); return Object.defineProperty(fe, "SUPPORT_FOREIGNOBJECT_DRAWING", { value: A }), A }, get SUPPORT_CORS_IMAGES() { var A = void 0 !== (new Image).crossOrigin; return Object.defineProperty(fe, "SUPPORT_CORS_IMAGES", { value: A }), A }, get SUPPORT_RESPONSE_TYPE() { var A = "string" == typeof (new XMLHttpRequest).responseType; return Object.defineProperty(fe, "SUPPORT_RESPONSE_TYPE", { value: A }), A }, get SUPPORT_CORS_XHR() { var A = "withCredentials" in new XMLHttpRequest; return Object.defineProperty(fe, "SUPPORT_CORS_XHR", { value: A }), A } }, pe = function () { function A(A) { var e = A.id, t = A.enabled; this.id = e, this.enabled = t, this.start = Date.now() } return A.prototype.debug = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && ("undefined" != typeof window && window.console && "function" == typeof console.debug ? console.debug.apply(console, [this.id, this.getTime() + "ms"].concat(A)) : this.info.apply(this, A)) }, A.prototype.getTime = function () { return Date.now() - this.start }, A.create = function (e) { A.instances[e.id] = new A(e) }, A.destroy = function (e) { delete A.instances[e] }, A.getInstance = function (e) { var t = A.instances[e]; if (void 0 === t) throw new Error("No logger instance found with id " + e); return t }, A.prototype.info = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && "undefined" != typeof window && window.console && "function" == typeof console.info && console.info.apply(console, [this.id, this.getTime() + "ms"].concat(A)) }, A.prototype.error = function () { for (var A = [], e = 0; e < arguments.length; e++)A[e] = arguments[e]; this.enabled && ("undefined" != typeof window && window.console && "function" == typeof console.error ? console.error.apply(console, [this.id, this.getTime() + "ms"].concat(A)) : this.info.apply(this, A)) }, A.instances = {}, A }(), Ne = function () { function A() { } return A.create = function (e, t) { return A._caches[e] = new Ke(e, t) }, A.destroy = function (e) { delete A._caches[e] }, A.open = function (e) { var t = A._caches[e]; if (void 0 !== t) return t; throw new Error('Cache with key "' + e + '" not found') }, A.getOrigin = function (e) { var t = A._link; return t ? (t.href = e, t.href = t.href, t.protocol + t.hostname + t.port) : "about:blank" }, A.isSameOrigin = function (e) { return A.getOrigin(e) === A._origin }, A.setContext = function (e) { A._link = e.document.createElement("a"), A._origin = A.getOrigin(e.location.href) }, A.getInstance = function () { var e = A._current; if (null === e) throw new Error("No cache instance attached"); return e }, A.attachInstance = function (e) { A._current = e }, A.detachInstance = function () { A._current = null }, A._caches = {}, A._origin = "about:blank", A._current = null, A }(), Ke = function () { function A(A, e) { this.id = A, this._options = e, this._cache = {} } return A.prototype.addImage = function (A) { var e = Promise.resolve(); return this.has(A) ? e : ve(A) || Re(A) ? (this._cache[A] = this.loadImage(A), e) : e }, A.prototype.match = function (A) { return this._cache[A] }, A.prototype.loadImage = function (A) { return r(this, void 0, void 0, function () { var e, t, r, B, s = this; return n(this, function (n) { switch (n.label) { case 0: return e = Ne.isSameOrigin(A), t = !Le(A) && !0 === this._options.useCORS && fe.SUPPORT_CORS_IMAGES && !e, r = !Le(A) && !e && "string" == typeof this._options.proxy && fe.SUPPORT_CORS_XHR && !t, e || !1 !== this._options.allowTaint || Le(A) || r || t ? (B = A, r ? [4, this.proxy(B)] : [3, 2]) : [2]; case 1: B = n.sent(), n.label = 2; case 2: return pe.getInstance(this.id).debug("Added image " + A.substring(0, 256)), [4, new Promise(function (A, e) { var r = new Image; r.onload = function () { return A(r) }, r.onerror = e, (Oe(B) || t) && (r.crossOrigin = "anonymous"), r.src = B, !0 === r.complete && setTimeout(function () { return A(r) }, 500), s._options.imageTimeout > 0 && setTimeout(function () { return e("Timed out (" + s._options.imageTimeout + "ms) loading image") }, s._options.imageTimeout) })]; case 3: return [2, n.sent()] } }) }) }, A.prototype.has = function (A) { return void 0 !== this._cache[A] }, A.prototype.keys = function () { return Promise.resolve(Object.keys(this._cache)) }, A.prototype.proxy = function (A) { var e = this, t = this._options.proxy; if (!t) throw new Error("No proxy defined"); var r = A.substring(0, 256); return new Promise(function (n, B) { var s = fe.SUPPORT_RESPONSE_TYPE ? "blob" : "text", o = new XMLHttpRequest; if (o.onload = function () { if (200 === o.status) if ("text" === s) n(o.response); else { var A = new FileReader; A.addEventListener("load", function () { return n(A.result) }, !1), A.addEventListener("error", function (A) { return B(A) }, !1), A.readAsDataURL(o.response) } else B("Failed to proxy resource " + r + " with status code " + o.status) }, o.onerror = B, o.open("GET", t + "?url=" + encodeURIComponent(A) + "&responseType=" + s), "text" !== s && o instanceof XMLHttpRequest && (o.responseType = s), e._options.imageTimeout) { var i = e._options.imageTimeout; o.timeout = i, o.ontimeout = function () { return B("Timed out (" + i + "ms) proxying " + r) } } o.send() }) }, A }(), Ie = /^data:image\/svg\+xml/i, Te = /^data:image\/.*;base64,/i, me = /^data:image\/.*/i, Re = function (A) { return fe.SUPPORT_SVG_DRAWING || !De(A) }, Le = function (A) { return me.test(A) }, Oe = function (A) { return Te.test(A) }, ve = function (A) { return "blob" === A.substr(0, 4) }, De = function (A) { return "svg" === A.substr(-3).toLowerCase() || Ie.test(A) }, be = function (A) { var e = Se.CIRCLE, t = Me.FARTHEST_CORNER, r = [], n = []; return _A(A).forEach(function (A, B) { var s = !0; if (0 === B ? s = A.reduce(function (A, e) { if (DA(e)) switch (e.value) { case "center": return n.push(JA), !1; case "top": case "left": return n.push(XA), !1; case "right": case "bottom": return n.push(GA), !1 } else if (VA(e) || xA(e)) return n.push(e), !1; return A }, s) : 1 === B && (s = A.reduce(function (A, r) { if (DA(r)) switch (r.value) { case "circle": return e = Se.CIRCLE, !1; case "ellipse": return e = Se.ELLIPSE, !1; case "contain": case "closest-side": return t = Me.CLOSEST_SIDE, !1; case "farthest-side": return t = Me.FARTHEST_SIDE, !1; case "closest-corner": return t = Me.CLOSEST_CORNER, !1; case "cover": case "farthest-corner": return t = Me.FARTHEST_CORNER, !1 } else if (xA(r) || VA(r)) return Array.isArray(t) || (t = []), t.push(r), !1; return A }, s)), s) { var o = Ue(A); r.push(o) } }), { size: t, shape: e, stops: r, position: n, type: Qe.RADIAL_GRADIENT } }; !function (A) { A[A.URL = 0] = "URL", A[A.LINEAR_GRADIENT = 1] = "LINEAR_GRADIENT", A[A.RADIAL_GRADIENT = 2] = "RADIAL_GRADIENT" }(Qe || (Qe = {})); var Se, Me; !function (A) { A[A.CIRCLE = 0] = "CIRCLE", A[A.ELLIPSE = 1] = "ELLIPSE" }(Se || (Se = {})), function (A) { A[A.CLOSEST_SIDE = 0] = "CLOSEST_SIDE", A[A.FARTHEST_SIDE = 1] = "FARTHEST_SIDE", A[A.CLOSEST_CORNER = 2] = "CLOSEST_CORNER", A[A.FARTHEST_CORNER = 3] = "FARTHEST_CORNER" }(Me || (Me = {})); var ye = function (A) { if (A.type === u.URL_TOKEN) { var e = { url: A.value, type: Qe.URL }; return Ne.getInstance().addImage(A.value), e } if (A.type === u.FUNCTION) { var t = Pe[A.name]; if (void 0 === t) throw new Error('Attempting to parse an unsupported image function "' + A.name + '"'); return t(A.values) } throw new Error("Unsupported image type") }; var _e, Pe = { "linear-gradient": function (A) { var e = jA(180), t = []; return _A(A).forEach(function (A, r) { if (0 === r) { var n = A[0]; if (n.type === u.IDENT_TOKEN && "to" === n.value) return void (e = ZA(A)); if (qA(n)) return void (e = YA(n)) } var B = Ue(A); t.push(B) }), { angle: e, stops: t, type: Qe.LINEAR_GRADIENT } }, "-moz-linear-gradient": Fe, "-ms-linear-gradient": Fe, "-o-linear-gradient": Fe, "-webkit-linear-gradient": Fe, "radial-gradient": function (A) { var e = Se.CIRCLE, t = Me.FARTHEST_CORNER, r = [], n = []; return _A(A).forEach(function (A, B) { var s = !0; if (0 === B) { var o = !1; s = A.reduce(function (A, r) { if (o) if (DA(r)) switch (r.value) { case "center": return n.push(JA), A; case "top": case "left": return n.push(XA), A; case "right": case "bottom": return n.push(GA), A } else (VA(r) || xA(r)) && n.push(r); else if (DA(r)) switch (r.value) { case "circle": return e = Se.CIRCLE, !1; case "ellipse": return e = Se.ELLIPSE, !1; case "at": return o = !0, !1; case "closest-side": return t = Me.CLOSEST_SIDE, !1; case "cover": case "farthest-side": return t = Me.FARTHEST_SIDE, !1; case "contain": case "closest-corner": return t = Me.CLOSEST_CORNER, !1; case "farthest-corner": return t = Me.FARTHEST_CORNER, !1 } else if (xA(r) || VA(r)) return Array.isArray(t) || (t = []), t.push(r), !1; return A }, s) } if (s) { var i = Ue(A); r.push(i) } }), { size: t, shape: e, stops: r, position: n, type: Qe.RADIAL_GRADIENT } }, "-moz-radial-gradient": be, "-ms-radial-gradient": be, "-o-radial-gradient": be, "-webkit-radial-gradient": be, "-webkit-gradient": function (A) { var e = jA(180), t = [], r = Qe.LINEAR_GRADIENT, n = Se.CIRCLE, B = Me.FARTHEST_CORNER; return _A(A).forEach(function (A, e) { var n = A[0]; if (0 === e) { if (DA(n) && "linear" === n.value) return void (r = Qe.LINEAR_GRADIENT); if (DA(n) && "radial" === n.value) return void (r = Qe.RADIAL_GRADIENT) } if (n.type === u.FUNCTION) if ("from" === n.name) { var B = $A(n.values[0]); t.push({ stop: XA, color: B }) } else if ("to" === n.name) B = $A(n.values[0]), t.push({ stop: GA, color: B }); else if ("color-stop" === n.name) { var s = n.values.filter(yA); if (2 === s.length) { B = $A(s[1]); var o = s[0]; vA(o) && t.push({ stop: { type: u.PERCENTAGE_TOKEN, number: 100 * o.number, flags: o.flags }, color: B }) } } }), r === Qe.LINEAR_GRADIENT ? { angle: (e + jA(180)) % jA(360), stops: t, type: r } : { size: B, shape: n, stops: t, position: [], type: r } } }, xe = { name: "background-image", initialValue: "none", type: se.LIST, prefix: !1, parse: function (A) { if (0 === A.length) return []; var e = A[0]; return e.type === u.IDENT_TOKEN && "none" === e.value ? [] : A.filter(function (A) { return yA(A) && function (A) { return A.type !== u.FUNCTION || Pe[A.name] }(A) }).map(ye) } }, Ve = { name: "background-origin", initialValue: "border-box", prefix: !1, type: se.LIST, parse: function (A) { return A.map(function (A) { if (DA(A)) switch (A.value) { case "padding-box": return 1; case "content-box": return 2 }return 0 }) } }, ze = { name: "background-position", initialValue: "0% 0%", type: se.LIST, prefix: !1, parse: function (A) { return _A(A).map(function (A) { return A.filter(VA) }).map(zA) } }; !function (A) { A[A.REPEAT = 0] = "REPEAT", A[A.NO_REPEAT = 1] = "NO_REPEAT", A[A.REPEAT_X = 2] = "REPEAT_X", A[A.REPEAT_Y = 3] = "REPEAT_Y" }(_e || (_e = {})); var Xe, Je = { name: "background-repeat", initialValue: "repeat", prefix: !1, type: se.LIST, parse: function (A) { return _A(A).map(function (A) { return A.filter(DA).map(function (A) { return A.value }).join(" ") }).map(Ge) } }, Ge = function (A) { switch (A) { case "no-repeat": return _e.NO_REPEAT; case "repeat-x": case "repeat no-repeat": return _e.REPEAT_X; case "repeat-y": case "no-repeat repeat": return _e.REPEAT_Y; case "repeat": default: return _e.REPEAT } }; !function (A) { A.AUTO = "auto", A.CONTAIN = "contain", A.COVER = "cover" }(Xe || (Xe = {})); var ke, We = { name: "background-size", initialValue: "0", prefix: !1, type: se.LIST, parse: function (A) { return _A(A).map(function (A) { return A.filter(Ye) }) } }, Ye = function (A) { return DA(A) || VA(A) }, qe = function (A) { return { name: "border-" + A + "-color", initialValue: "transparent", prefix: !1, type: se.TYPE_VALUE, format: "color" } }, Ze = qe("top"), je = qe("right"), $e = qe("bottom"), At = qe("left"), et = function (A) { return { name: "border-radius-" + A, initialValue: "0 0", prefix: !1, type: se.LIST, parse: function (A) { return zA(A.filter(VA)) } } }, tt = et("top-left"), rt = et("top-right"), nt = et("bottom-right"), Bt = et("bottom-left"); !function (A) { A[A.NONE = 0] = "NONE", A[A.SOLID = 1] = "SOLID" }(ke || (ke = {})); var st, ot = function (A) { return { name: "border-" + A + "-style", initialValue: "solid", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "none": return ke.NONE }return ke.SOLID } } }, it = ot("top"), at = ot("right"), ct = ot("bottom"), Qt = ot("left"), ut = function (A) { return { name: "border-" + A + "-width", initialValue: "0", type: se.VALUE, prefix: !1, parse: function (A) { return OA(A) ? A.number : 0 } } }, wt = ut("top"), Ut = ut("right"), lt = ut("bottom"), Ct = ut("left"), gt = { name: "color", initialValue: "transparent", prefix: !1, type: se.TYPE_VALUE, format: "color" }, Et = { name: "display", initialValue: "inline-block", prefix: !1, type: se.LIST, parse: function (A) { return A.filter(DA).reduce(function (A, e) { return A | Ft(e.value) }, 0) } }, Ft = function (A) { switch (A) { case "block": return 2; case "inline": return 4; case "run-in": return 8; case "flow": return 16; case "flow-root": return 32; case "table": return 64; case "flex": case "-webkit-flex": return 128; case "grid": case "-ms-grid": return 256; case "ruby": return 512; case "subgrid": return 1024; case "list-item": return 2048; case "table-row-group": return 4096; case "table-header-group": return 8192; case "table-footer-group": return 16384; case "table-row": return 32768; case "table-cell": return 65536; case "table-column-group": return 131072; case "table-column": return 262144; case "table-caption": return 524288; case "ruby-base": return 1048576; case "ruby-text": return 2097152; case "ruby-base-container": return 4194304; case "ruby-text-container": return 8388608; case "contents": return 16777216; case "inline-block": return 33554432; case "inline-list-item": return 67108864; case "inline-table": return 134217728; case "inline-flex": return 268435456; case "inline-grid": return 536870912 }return 0 }; !function (A) { A[A.NONE = 0] = "NONE", A[A.LEFT = 1] = "LEFT", A[A.RIGHT = 2] = "RIGHT", A[A.INLINE_START = 3] = "INLINE_START", A[A.INLINE_END = 4] = "INLINE_END" }(st || (st = {})); var ht, Ht = { name: "float", initialValue: "none", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "left": return st.LEFT; case "right": return st.RIGHT; case "inline-start": return st.INLINE_START; case "inline-end": return st.INLINE_END }return st.NONE } }, dt = { name: "letter-spacing", initialValue: "0", prefix: !1, type: se.VALUE, parse: function (A) { return A.type === u.IDENT_TOKEN && "normal" === A.value ? 0 : A.type === u.NUMBER_TOKEN ? A.number : A.type === u.DIMENSION_TOKEN ? A.number : 0 } }; !function (A) { A.NORMAL = "normal", A.STRICT = "strict" }(ht || (ht = {})); var ft, pt = { name: "line-break", initialValue: "normal", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "strict": return ht.STRICT; case "normal": default: return ht.NORMAL } } }, Nt = { name: "line-height", initialValue: "normal", prefix: !1, type: se.TOKEN_VALUE }, Kt = { name: "list-style-image", initialValue: "none", type: se.VALUE, prefix: !1, parse: function (A) { return A.type === u.IDENT_TOKEN && "none" === A.value ? null : ye(A) } }; !function (A) { A[A.INSIDE = 0] = "INSIDE", A[A.OUTSIDE = 1] = "OUTSIDE" }(ft || (ft = {})); var It, Tt = { name: "list-style-position", initialValue: "outside", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "inside": return ft.INSIDE; case "outside": default: return ft.OUTSIDE } } }; !function (A) { A[A.NONE = -1] = "NONE", A[A.DISC = 0] = "DISC", A[A.CIRCLE = 1] = "CIRCLE", A[A.SQUARE = 2] = "SQUARE", A[A.DECIMAL = 3] = "DECIMAL", A[A.CJK_DECIMAL = 4] = "CJK_DECIMAL", A[A.DECIMAL_LEADING_ZERO = 5] = "DECIMAL_LEADING_ZERO", A[A.LOWER_ROMAN = 6] = "LOWER_ROMAN", A[A.UPPER_ROMAN = 7] = "UPPER_ROMAN", A[A.LOWER_GREEK = 8] = "LOWER_GREEK", A[A.LOWER_ALPHA = 9] = "LOWER_ALPHA", A[A.UPPER_ALPHA = 10] = "UPPER_ALPHA", A[A.ARABIC_INDIC = 11] = "ARABIC_INDIC", A[A.ARMENIAN = 12] = "ARMENIAN", A[A.BENGALI = 13] = "BENGALI", A[A.CAMBODIAN = 14] = "CAMBODIAN", A[A.CJK_EARTHLY_BRANCH = 15] = "CJK_EARTHLY_BRANCH", A[A.CJK_HEAVENLY_STEM = 16] = "CJK_HEAVENLY_STEM", A[A.CJK_IDEOGRAPHIC = 17] = "CJK_IDEOGRAPHIC", A[A.DEVANAGARI = 18] = "DEVANAGARI", A[A.ETHIOPIC_NUMERIC = 19] = "ETHIOPIC_NUMERIC", A[A.GEORGIAN = 20] = "GEORGIAN", A[A.GUJARATI = 21] = "GUJARATI", A[A.GURMUKHI = 22] = "GURMUKHI", A[A.HEBREW = 22] = "HEBREW", A[A.HIRAGANA = 23] = "HIRAGANA", A[A.HIRAGANA_IROHA = 24] = "HIRAGANA_IROHA", A[A.JAPANESE_FORMAL = 25] = "JAPANESE_FORMAL", A[A.JAPANESE_INFORMAL = 26] = "JAPANESE_INFORMAL", A[A.KANNADA = 27] = "KANNADA", A[A.KATAKANA = 28] = "KATAKANA", A[A.KATAKANA_IROHA = 29] = "KATAKANA_IROHA", A[A.KHMER = 30] = "KHMER", A[A.KOREAN_HANGUL_FORMAL = 31] = "KOREAN_HANGUL_FORMAL", A[A.KOREAN_HANJA_FORMAL = 32] = "KOREAN_HANJA_FORMAL", A[A.KOREAN_HANJA_INFORMAL = 33] = "KOREAN_HANJA_INFORMAL", A[A.LAO = 34] = "LAO", A[A.LOWER_ARMENIAN = 35] = "LOWER_ARMENIAN", A[A.MALAYALAM = 36] = "MALAYALAM", A[A.MONGOLIAN = 37] = "MONGOLIAN", A[A.MYANMAR = 38] = "MYANMAR", A[A.ORIYA = 39] = "ORIYA", A[A.PERSIAN = 40] = "PERSIAN", A[A.SIMP_CHINESE_FORMAL = 41] = "SIMP_CHINESE_FORMAL", A[A.SIMP_CHINESE_INFORMAL = 42] = "SIMP_CHINESE_INFORMAL", A[A.TAMIL = 43] = "TAMIL", A[A.TELUGU = 44] = "TELUGU", A[A.THAI = 45] = "THAI", A[A.TIBETAN = 46] = "TIBETAN", A[A.TRAD_CHINESE_FORMAL = 47] = "TRAD_CHINESE_FORMAL", A[A.TRAD_CHINESE_INFORMAL = 48] = "TRAD_CHINESE_INFORMAL", A[A.UPPER_ARMENIAN = 49] = "UPPER_ARMENIAN", A[A.DISCLOSURE_OPEN = 50] = "DISCLOSURE_OPEN", A[A.DISCLOSURE_CLOSED = 51] = "DISCLOSURE_CLOSED" }(It || (It = {})); var mt, Rt = { name: "list-style-type", initialValue: "none", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "disc": return It.DISC; case "circle": return It.CIRCLE; case "square": return It.SQUARE; case "decimal": return It.DECIMAL; case "cjk-decimal": return It.CJK_DECIMAL; case "decimal-leading-zero": return It.DECIMAL_LEADING_ZERO; case "lower-roman": return It.LOWER_ROMAN; case "upper-roman": return It.UPPER_ROMAN; case "lower-greek": return It.LOWER_GREEK; case "lower-alpha": return It.LOWER_ALPHA; case "upper-alpha": return It.UPPER_ALPHA; case "arabic-indic": return It.ARABIC_INDIC; case "armenian": return It.ARMENIAN; case "bengali": return It.BENGALI; case "cambodian": return It.CAMBODIAN; case "cjk-earthly-branch": return It.CJK_EARTHLY_BRANCH; case "cjk-heavenly-stem": return It.CJK_HEAVENLY_STEM; case "cjk-ideographic": return It.CJK_IDEOGRAPHIC; case "devanagari": return It.DEVANAGARI; case "ethiopic-numeric": return It.ETHIOPIC_NUMERIC; case "georgian": return It.GEORGIAN; case "gujarati": return It.GUJARATI; case "gurmukhi": return It.GURMUKHI; case "hebrew": return It.HEBREW; case "hiragana": return It.HIRAGANA; case "hiragana-iroha": return It.HIRAGANA_IROHA; case "japanese-formal": return It.JAPANESE_FORMAL; case "japanese-informal": return It.JAPANESE_INFORMAL; case "kannada": return It.KANNADA; case "katakana": return It.KATAKANA; case "katakana-iroha": return It.KATAKANA_IROHA; case "khmer": return It.KHMER; case "korean-hangul-formal": return It.KOREAN_HANGUL_FORMAL; case "korean-hanja-formal": return It.KOREAN_HANJA_FORMAL; case "korean-hanja-informal": return It.KOREAN_HANJA_INFORMAL; case "lao": return It.LAO; case "lower-armenian": return It.LOWER_ARMENIAN; case "malayalam": return It.MALAYALAM; case "mongolian": return It.MONGOLIAN; case "myanmar": return It.MYANMAR; case "oriya": return It.ORIYA; case "persian": return It.PERSIAN; case "simp-chinese-formal": return It.SIMP_CHINESE_FORMAL; case "simp-chinese-informal": return It.SIMP_CHINESE_INFORMAL; case "tamil": return It.TAMIL; case "telugu": return It.TELUGU; case "thai": return It.THAI; case "tibetan": return It.TIBETAN; case "trad-chinese-formal": return It.TRAD_CHINESE_FORMAL; case "trad-chinese-informal": return It.TRAD_CHINESE_INFORMAL; case "upper-armenian": return It.UPPER_ARMENIAN; case "disclosure-open": return It.DISCLOSURE_OPEN; case "disclosure-closed": return It.DISCLOSURE_CLOSED; case "none": default: return It.NONE } } }, Lt = function (A) { return { name: "margin-" + A, initialValue: "0", prefix: !1, type: se.TOKEN_VALUE } }, Ot = Lt("top"), vt = Lt("right"), Dt = Lt("bottom"), bt = Lt("left"); !function (A) { A[A.VISIBLE = 0] = "VISIBLE", A[A.HIDDEN = 1] = "HIDDEN", A[A.SCROLL = 2] = "SCROLL", A[A.AUTO = 3] = "AUTO" }(mt || (mt = {})); var St, Mt = { name: "overflow", initialValue: "visible", prefix: !1, type: se.LIST, parse: function (A) { return A.filter(DA).map(function (A) { switch (A.value) { case "hidden": return mt.HIDDEN; case "scroll": return mt.SCROLL; case "auto": return mt.AUTO; case "visible": default: return mt.VISIBLE } }) } }; !function (A) { A.NORMAL = "normal", A.BREAK_WORD = "break-word" }(St || (St = {})); var yt, _t = { name: "overflow-wrap", initialValue: "normal", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "break-word": return St.BREAK_WORD; case "normal": default: return St.NORMAL } } }, Pt = function (A) { return { name: "padding-" + A, initialValue: "0", prefix: !1, type: se.TYPE_VALUE, format: "length-percentage" } }, xt = Pt("top"), Vt = Pt("right"), zt = Pt("bottom"), Xt = Pt("left"); !function (A) { A[A.LEFT = 0] = "LEFT", A[A.CENTER = 1] = "CENTER", A[A.RIGHT = 2] = "RIGHT" }(yt || (yt = {})); var Jt, Gt = { name: "text-align", initialValue: "left", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "right": return yt.RIGHT; case "center": case "justify": return yt.CENTER; case "left": default: return yt.LEFT } } }; !function (A) { A[A.STATIC = 0] = "STATIC", A[A.RELATIVE = 1] = "RELATIVE", A[A.ABSOLUTE = 2] = "ABSOLUTE", A[A.FIXED = 3] = "FIXED", A[A.STICKY = 4] = "STICKY" }(Jt || (Jt = {})); var kt, Wt = { name: "position", initialValue: "static", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "relative": return Jt.RELATIVE; case "absolute": return Jt.ABSOLUTE; case "fixed": return Jt.FIXED; case "sticky": return Jt.STICKY }return Jt.STATIC } }, Yt = { name: "text-shadow", initialValue: "none", type: se.LIST, prefix: !1, parse: function (A) { return 1 === A.length && SA(A[0], "none") ? [] : _A(A).map(function (A) { for (var e = { color: ce.TRANSPARENT, offsetX: XA, offsetY: XA, blur: XA }, t = 0, r = 0; r < A.length; r++) { var n = A[r]; xA(n) ? (0 === t ? e.offsetX = n : 1 === t ? e.offsetY = n : e.blur = n, t++) : e.color = $A(n) } return e }) } }; !function (A) { A[A.NONE = 0] = "NONE", A[A.LOWERCASE = 1] = "LOWERCASE", A[A.UPPERCASE = 2] = "UPPERCASE", A[A.CAPITALIZE = 3] = "CAPITALIZE" }(kt || (kt = {})); var qt, Zt = { name: "text-transform", initialValue: "none", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "uppercase": return kt.UPPERCASE; case "lowercase": return kt.LOWERCASE; case "capitalize": return kt.CAPITALIZE }return kt.NONE } }, jt = { name: "transform", initialValue: "none", prefix: !0, type: se.VALUE, parse: function (A) { if (A.type === u.IDENT_TOKEN && "none" === A.value) return null; if (A.type === u.FUNCTION) { var e = $t[A.name]; if (void 0 === e) throw new Error('Attempting to parse an unsupported transform function "' + A.name + '"'); return e(A.values) } return null } }, $t = { matrix: function (A) { var e = A.filter(function (A) { return A.type === u.NUMBER_TOKEN }).map(function (A) { return A.number }); return 6 === e.length ? e : null }, matrix3d: function (A) { var e = A.filter(function (A) { return A.type === u.NUMBER_TOKEN }).map(function (A) { return A.number }), t = e[0], r = e[1], n = (e[2], e[3], e[4]), B = e[5], s = (e[6], e[7], e[8], e[9], e[10], e[11], e[12]), o = e[13]; e[14], e[15]; return 16 === e.length ? [t, r, n, B, s, o] : null } }, Ar = { type: u.PERCENTAGE_TOKEN, number: 50, flags: 4 }, er = [Ar, Ar], tr = { name: "transform-origin", initialValue: "50% 50%", prefix: !0, type: se.LIST, parse: function (A) { var e = A.filter(VA); return 2 !== e.length ? er : [e[0], e[1]] } }; !function (A) { A[A.VISIBLE = 0] = "VISIBLE", A[A.HIDDEN = 1] = "HIDDEN", A[A.COLLAPSE = 2] = "COLLAPSE" }(qt || (qt = {})); var rr, nr = { name: "visible", initialValue: "none", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "hidden": return qt.HIDDEN; case "collapse": return qt.COLLAPSE; case "visible": default: return qt.VISIBLE } } }; !function (A) { A.NORMAL = "normal", A.BREAK_ALL = "break-all", A.KEEP_ALL = "keep-all" }(rr || (rr = {})); var Br, sr = { name: "word-break", initialValue: "normal", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "break-all": return rr.BREAK_ALL; case "keep-all": return rr.KEEP_ALL; case "normal": default: return rr.NORMAL } } }, or = { name: "z-index", initialValue: "auto", prefix: !1, type: se.VALUE, parse: function (A) { if (A.type === u.IDENT_TOKEN) return { auto: !0, order: 0 }; if (vA(A)) return { auto: !1, order: A.number }; throw new Error("Invalid z-index number parsed") } }, ir = { name: "opacity", initialValue: "1", type: se.VALUE, prefix: !1, parse: function (A) { return vA(A) ? A.number : 1 } }, ar = { name: "text-decoration-color", initialValue: "transparent", prefix: !1, type: se.TYPE_VALUE, format: "color" }, cr = { name: "text-decoration-line", initialValue: "none", prefix: !1, type: se.LIST, parse: function (A) { return A.filter(DA).map(function (A) { switch (A.value) { case "underline": return 1; case "overline": return 2; case "line-through": return 3; case "none": return 4 }return 0 }).filter(function (A) { return 0 !== A }) } }, Qr = { name: "font-family", initialValue: "", prefix: !1, type: se.LIST, parse: function (A) { return A.filter(ur).map(function (A) { return A.value }) } }, ur = function (A) { return A.type === u.STRING_TOKEN || A.type === u.IDENT_TOKEN }, wr = { name: "font-size", initialValue: "0", prefix: !1, type: se.TYPE_VALUE, format: "length" }, Ur = { name: "font-weight", initialValue: "normal", type: se.VALUE, prefix: !1, parse: function (A) { if (vA(A)) return A.number; if (DA(A)) switch (A.value) { case "bold": return 700; case "normal": default: return 400 }return 400 } }, lr = { name: "font-variant", initialValue: "none", type: se.LIST, prefix: !1, parse: function (A) { return A.filter(DA).map(function (A) { return A.value }) } }; !function (A) { A.NORMAL = "normal", A.ITALIC = "italic", A.OBLIQUE = "oblique" }(Br || (Br = {})); var Cr, gr = { name: "font-style", initialValue: "normal", prefix: !1, type: se.IDENT_VALUE, parse: function (A) { switch (A) { case "oblique": return Br.OBLIQUE; case "italic": return Br.ITALIC; case "normal": default: return Br.NORMAL } } }, Er = function (A, e) { return 0 != (A & e) }, Fr = { name: "content", initialValue: "none", type: se.LIST, prefix: !1, parse: function (A) { if (0 === A.length) return []; var e = A[0]; return e.type === u.IDENT_TOKEN && "none" === e.value ? [] : A } }, hr = { name: "counter-increment", initialValue: "none", prefix: !0, type: se.LIST, parse: function (A) { if (0 === A.length) return null; var e = A[0]; if (e.type === u.IDENT_TOKEN && "none" === e.value) return null; for (var t = [], r = A.filter(MA), n = 0; n < r.length; n++) { var B = r[n], s = r[n + 1]; if (B.type === u.IDENT_TOKEN) { var o = s && vA(s) ? s.number : 1; t.push({ counter: B.value, increment: o }) } } return t } }, Hr = { name: "counter-reset", initialValue: "none", prefix: !0, type: se.LIST, parse: function (A) { if (0 === A.length) return []; for (var e = [], t = A.filter(MA), r = 0; r < t.length; r++) { var n = t[r], B = t[r + 1]; if (DA(n) && "none" !== n.value) { var s = B && vA(B) ? B.number : 0; e.push({ counter: n.value, reset: s }) } } return e } }, dr = { name: "quotes", initialValue: "none", prefix: !0, type: se.LIST, parse: function (A) { if (0 === A.length) return null; var e = A[0]; if (e.type === u.IDENT_TOKEN && "none" === e.value) return null; var t = [], r = A.filter(bA); if (r.length % 2 != 0) return null; for (var n = 0; n < r.length; n += 2) { var B = r[n].value, s = r[n + 1].value; t.push({ open: B, close: s }) } return t } }, fr = function (A, e, t) { if (!A) return ""; var r = A[Math.min(e, A.length - 1)]; return r ? t ? r.open : r.close : "" }, pr = { name: "box-shadow", initialValue: "none", type: se.LIST, prefix: !1, parse: function (A) { return 1 === A.length && SA(A[0], "none") ? [] : _A(A).map(function (A) { for (var e = { color: 255, offsetX: XA, offsetY: XA, blur: XA, spread: XA, inset: !1 }, t = 0, r = 0; r < A.length; r++) { var n = A[r]; SA(n, "inset") ? e.inset = !0 : xA(n) ? (0 === t ? e.offsetX = n : 1 === t ? e.offsetY = n : 2 === t ? e.blur = n : e.spread = n, t++) : e.color = $A(n) } return e }) } }, Nr = function () { function A(A) { this.backgroundClip = Tr(ue, A.backgroundClip), this.backgroundColor = Tr(we, A.backgroundColor), this.backgroundImage = Tr(xe, A.backgroundImage), this.backgroundOrigin = Tr(Ve, A.backgroundOrigin), this.backgroundPosition = Tr(ze, A.backgroundPosition), this.backgroundRepeat = Tr(Je, A.backgroundRepeat), this.backgroundSize = Tr(We, A.backgroundSize), this.borderTopColor = Tr(Ze, A.borderTopColor), this.borderRightColor = Tr(je, A.borderRightColor), this.borderBottomColor = Tr($e, A.borderBottomColor), this.borderLeftColor = Tr(At, A.borderLeftColor), this.borderTopLeftRadius = Tr(tt, A.borderTopLeftRadius), this.borderTopRightRadius = Tr(rt, A.borderTopRightRadius), this.borderBottomRightRadius = Tr(nt, A.borderBottomRightRadius), this.borderBottomLeftRadius = Tr(Bt, A.borderBottomLeftRadius), this.borderTopStyle = Tr(it, A.borderTopStyle), this.borderRightStyle = Tr(at, A.borderRightStyle), this.borderBottomStyle = Tr(ct, A.borderBottomStyle), this.borderLeftStyle = Tr(Qt, A.borderLeftStyle), this.borderTopWidth = Tr(wt, A.borderTopWidth), this.borderRightWidth = Tr(Ut, A.borderRightWidth), this.borderBottomWidth = Tr(lt, A.borderBottomWidth), this.borderLeftWidth = Tr(Ct, A.borderLeftWidth), this.boxShadow = Tr(pr, A.boxShadow), this.color = Tr(gt, A.color), this.display = Tr(Et, A.display), this.float = Tr(Ht, A.cssFloat), this.fontFamily = Tr(Qr, A.fontFamily), this.fontSize = Tr(wr, A.fontSize), this.fontStyle = Tr(gr, A.fontStyle), this.fontVariant = Tr(lr, A.fontVariant), this.fontWeight = Tr(Ur, A.fontWeight), this.letterSpacing = Tr(dt, A.letterSpacing), this.lineBreak = Tr(pt, A.lineBreak), this.lineHeight = Tr(Nt, A.lineHeight), this.listStyleImage = Tr(Kt, A.listStyleImage), this.listStylePosition = Tr(Tt, A.listStylePosition), this.listStyleType = Tr(Rt, A.listStyleType), this.marginTop = Tr(Ot, A.marginTop), this.marginRight = Tr(vt, A.marginRight), this.marginBottom = Tr(Dt, A.marginBottom), this.marginLeft = Tr(bt, A.marginLeft), this.opacity = Tr(ir, A.opacity); var e = Tr(Mt, A.overflow); this.overflowX = e[0], this.overflowY = e[e.length > 1 ? 1 : 0], this.overflowWrap = Tr(_t, A.overflowWrap), this.paddingTop = Tr(xt, A.paddingTop), this.paddingRight = Tr(Vt, A.paddingRight), this.paddingBottom = Tr(zt, A.paddingBottom), this.paddingLeft = Tr(Xt, A.paddingLeft), this.position = Tr(Wt, A.position), this.textAlign = Tr(Gt, A.textAlign), this.textDecorationColor = Tr(ar, A.textDecorationColor || A.color), this.textDecorationLine = Tr(cr, A.textDecorationLine), this.textShadow = Tr(Yt, A.textShadow), this.textTransform = Tr(Zt, A.textTransform), this.transform = Tr(jt, A.transform), this.transformOrigin = Tr(tr, A.transformOrigin), this.visibility = Tr(nr, A.visibility), this.wordBreak = Tr(sr, A.wordBreak), this.zIndex = Tr(or, A.zIndex) } return A.prototype.isVisible = function () { return this.display > 0 && this.opacity > 0 && this.visibility === qt.VISIBLE }, A.prototype.isTransparent = function () { return Ae(this.backgroundColor) }, A.prototype.isTransformed = function () { return null !== this.transform }, A.prototype.isPositioned = function () { return this.position !== Jt.STATIC }, A.prototype.isPositionedWithZIndex = function () { return this.isPositioned() && !this.zIndex.auto }, A.prototype.isFloating = function () { return this.float !== st.NONE }, A.prototype.isInlineLevel = function () { return Er(this.display, 4) || Er(this.display, 33554432) || Er(this.display, 268435456) || Er(this.display, 536870912) || Er(this.display, 67108864) || Er(this.display, 134217728) }, A }(), Kr = function () { return function (A) { this.content = Tr(Fr, A.content), this.quotes = Tr(dr, A.quotes) } }(), Ir = function () { return function (A) { this.counterIncrement = Tr(hr, A.counterIncrement), this.counterReset = Tr(Hr, A.counterReset) } }(), Tr = function (A, e) { var t = new RA, r = null != e ? e.toString() : A.initialValue; t.write(r); var n = new LA(t.read()); switch (A.type) { case se.IDENT_VALUE: var B = n.parseComponentValue(); return A.parse(DA(B) ? B.value : A.initialValue); case se.VALUE: return A.parse(n.parseComponentValue()); case se.LIST: return A.parse(n.parseComponentValues()); case se.TOKEN_VALUE: return n.parseComponentValue(); case se.TYPE_VALUE: switch (A.format) { case "angle": return YA(n.parseComponentValue()); case "color": return $A(n.parseComponentValue()); case "image": return ye(n.parseComponentValue()); case "length": var s = n.parseComponentValue(); return xA(s) ? s : XA; case "length-percentage": var o = n.parseComponentValue(); return VA(o) ? o : XA } }throw new Error("Attempting to parse unsupported css format type " + A.format) }, mr = function () { return function (A) { this.styles = new Nr(window.getComputedStyle(A, null)), this.textNodes = [], this.elements = [], null !== this.styles.transform && un(A) && (A.style.transform = "none"), this.bounds = s(A), this.flags = 0 } }(), Rr = function () { return function (A, e) { this.text = A, this.bounds = e } }(), Lr = function (A, e, t) { var r = Dr(A, e), n = [], B = 0; return r.forEach(function (A) { if (e.textDecorationLine.length || A.trim().length > 0) if (fe.SUPPORT_RANGE_BOUNDS) n.push(new Rr(A, vr(t, B, A.length))); else { var r = t.splitText(A.length); n.push(new Rr(A, Or(t))), t = r } else fe.SUPPORT_RANGE_BOUNDS || (t = t.splitText(A.length)); B += A.length }), n }, Or = function (A) { var e = A.ownerDocument; if (e) { var t = e.createElement("html2canvaswrapper"); t.appendChild(A.cloneNode(!0)); var r = A.parentNode; if (r) { r.replaceChild(t, A); var n = s(t); return t.firstChild && r.replaceChild(t.firstChild, t), n } } return new B(0, 0, 0, 0) }, vr = function (A, e, t) { var r = A.ownerDocument; if (!r) throw new Error("Node has no owner document"); var n = r.createRange(); return n.setStart(A, e), n.setEnd(A, e + t), B.fromClientRect(n.getBoundingClientRect()) }, Dr = function (A, e) { return 0 !== e.letterSpacing ? o(A).map(function (A) { return i(A) }) : br(A, e) }, br = function (A, e) { for (var t, r = function (A, e) { var t = o(A), r = Z(t, e), n = r[0], B = r[1], s = r[2], i = t.length, a = 0, c = 0; return { next: function () { if (c >= i) return { done: !0, value: null }; for (var A = "×"; c < i && "×" === (A = q(t, B, n, ++c, s));); if ("×" !== A || c === i) { var e = new j(t, A, a, c); return a = c, { value: e, done: !1 } } return { done: !0, value: null } } } }(A, { lineBreak: e.lineBreak, wordBreak: e.overflowWrap === St.BREAK_WORD ? "break-word" : e.wordBreak }), n = []; !(t = r.next()).done;)t.value && n.push(t.value.slice()); return n }, Sr = function () { return function (A, e) { this.text = Mr(A.data, e.textTransform), this.textBounds = Lr(this.text, e, A) } }(), Mr = function (A, e) { switch (e) { case kt.LOWERCASE: return A.toLowerCase(); case kt.CAPITALIZE: return A.replace(yr, _r); case kt.UPPERCASE: return A.toUpperCase(); default: return A } }, yr = /(^|\s|:|-|\(|\))([a-z])/g, _r = function (A, e, t) { return A.length > 0 ? e + t.toUpperCase() : A }, Pr = function (A) { function t(e) { var t = A.call(this, e) || this; return t.src = e.currentSrc || e.src, t.intrinsicWidth = e.naturalWidth, t.intrinsicHeight = e.naturalHeight, Ne.getInstance().addImage(t.src), t } return e(t, A), t }(mr), xr = function (A) { function t(e) { var t = A.call(this, e) || this; return t.canvas = e, t.intrinsicWidth = e.width, t.intrinsicHeight = e.height, t } return e(t, A), t }(mr), Vr = function (A) { function t(e) { var t = A.call(this, e) || this, r = new XMLSerializer; return t.svg = "data:image/svg+xml," + encodeURIComponent(r.serializeToString(e)), t.intrinsicWidth = e.width.baseVal.value, t.intrinsicHeight = e.height.baseVal.value, Ne.getInstance().addImage(t.svg), t } return e(t, A), t }(mr), zr = function (A) { function t(e) { var t = A.call(this, e) || this; return t.value = e.value, t } return e(t, A), t }(mr), Xr = function (A) { function t(e) { var t = A.call(this, e) || this; return t.start = e.start, t.reversed = "boolean" == typeof e.reversed && !0 === e.reversed, t } return e(t, A), t }(mr), Jr = [{ type: u.DIMENSION_TOKEN, flags: 0, unit: "px", number: 3 }], Gr = [{ type: u.PERCENTAGE_TOKEN, flags: 0, number: 50 }], kr = function (A) { return A.width > A.height ? new B(A.left + (A.width - A.height) / 2, A.top, A.height, A.height) : A.width < A.height ? new B(A.left, A.top + (A.height - A.width) / 2, A.width, A.width) : A }, Wr = function (A) { var e = A.type === Zr ? new Array(A.value.length + 1).join("•") : A.value; return 0 === e.length ? A.placeholder || "" : e }, Yr = "checkbox", qr = "radio", Zr = "password", jr = function (A) { function t(e) { var t = A.call(this, e) || this; switch (t.type = e.type.toLowerCase(), t.checked = e.checked, t.value = Wr(e), t.type !== Yr && t.type !== qr || (t.styles.backgroundColor = 3739148031, t.styles.borderTopColor = t.styles.borderRightColor = t.styles.borderBottomColor = t.styles.borderLeftColor = 2779096575, t.styles.borderTopWidth = t.styles.borderRightWidth = t.styles.borderBottomWidth = t.styles.borderLeftWidth = 1, t.styles.borderTopStyle = t.styles.borderRightStyle = t.styles.borderBottomStyle = t.styles.borderLeftStyle = ke.SOLID, t.styles.backgroundClip = [oe.BORDER_BOX], t.styles.backgroundOrigin = [0], t.bounds = kr(t.bounds)), t.type) { case Yr: t.styles.borderTopRightRadius = t.styles.borderTopLeftRadius = t.styles.borderBottomRightRadius = t.styles.borderBottomLeftRadius = Jr; break; case qr: t.styles.borderTopRightRadius = t.styles.borderTopLeftRadius = t.styles.borderBottomRightRadius = t.styles.borderBottomLeftRadius = Gr }return t } return e(t, A), t }(mr), $r = function (A) { function t(e) { var t = A.call(this, e) || this, r = e.options[e.selectedIndex || 0]; return t.value = r && r.text || "", t } return e(t, A), t }(mr), An = function (A) { function t(e) { var t = A.call(this, e) || this; return t.value = e.value, t } return e(t, A), t }(mr), en = function (A) { return $A(LA.create(A).parseComponentValue()) }, tn = function (A) { function t(e) { var t = A.call(this, e) || this; t.src = e.src, t.width = parseInt(e.width, 10) || 0, t.height = parseInt(e.height, 10) || 0, t.backgroundColor = t.styles.backgroundColor; try { if (e.contentWindow && e.contentWindow.document && e.contentWindow.document.documentElement) { t.tree = sn(e.contentWindow.document.documentElement); var r = e.contentWindow.document.documentElement ? en(getComputedStyle(e.contentWindow.document.documentElement).backgroundColor) : ce.TRANSPARENT, n = e.contentWindow.document.body ? en(getComputedStyle(e.contentWindow.document.body).backgroundColor) : ce.TRANSPARENT; t.backgroundColor = Ae(r) ? Ae(n) ? t.styles.backgroundColor : n : r } } catch (A) { } return t } return e(t, A), t }(mr), rn = ["OL", "UL", "MENU"], nn = function (A, e, t) { for (var r = A.firstChild, n = void 0; r; r = n)if (n = r.nextSibling, cn(r) && r.data.trim().length > 0) e.textNodes.push(new Sr(r, e.styles)); else if (Qn(r)) { var B = Bn(r); B.styles.isVisible() && (on(r, B, t) ? B.flags |= 4 : an(B.styles) && (B.flags |= 2), -1 !== rn.indexOf(r.tagName) && (B.flags |= 8), e.elements.push(B), fn(r) || Cn(r) || pn(r) || nn(r, B, t)) } }, Bn = function (A) { return Fn(A) ? new Pr(A) : En(A) ? new xr(A) : Cn(A) ? new Vr(A) : wn(A) ? new zr(A) : Un(A) ? new Xr(A) : ln(A) ? new jr(A) : pn(A) ? new $r(A) : fn(A) ? new An(A) : hn(A) ? new tn(A) : new mr(A) }, sn = function (A) { var e = Bn(A); return e.flags |= 4, nn(A, e, e), e }, on = function (A, e, t) { return e.styles.isPositionedWithZIndex() || e.styles.opacity < 1 || e.styles.isTransformed() || gn(A) && t.styles.isTransparent() }, an = function (A) { return A.isPositioned() || A.isFloating() }, cn = function (A) { return A.nodeType === Node.TEXT_NODE }, Qn = function (A) { return A.nodeType === Node.ELEMENT_NODE }, un = function (A) { return void 0 !== A.style }, wn = function (A) { return "LI" === A.tagName }, Un = function (A) { return "OL" === A.tagName }, ln = function (A) { return "INPUT" === A.tagName }, Cn = function (A) { return "svg" === A.tagName }, gn = function (A) { return "BODY" === A.tagName }, En = function (A) { return "CANVAS" === A.tagName }, Fn = function (A) { return "IMG" === A.tagName }, hn = function (A) { return "IFRAME" === A.tagName }, Hn = function (A) { return "STYLE" === A.tagName }, dn = function (A) { return "SCRIPT" === A.tagName }, fn = function (A) { return "TEXTAREA" === A.tagName }, pn = function (A) { return "SELECT" === A.tagName }, Nn = function () { function A() { this.counters = {} } return A.prototype.getCounterValue = function (A) { var e = this.counters[A]; return e && e.length ? e[e.length - 1] : 1 }, A.prototype.getCounterValues = function (A) { var e = this.counters[A]; return e || [] }, A.prototype.pop = function (A) { var e = this; A.forEach(function (A) { return e.counters[A].pop() }) }, A.prototype.parse = function (A) { var e = this, t = A.counterIncrement, r = A.counterReset, n = !0; null !== t && t.forEach(function (A) { var t = e.counters[A.counter]; t && 0 !== A.increment && (n = !1, t[Math.max(0, t.length - 1)] += A.increment) }); var B = []; return n && r.forEach(function (A) { var t = e.counters[A.counter]; B.push(A.counter), t || (t = e.counters[A.counter] = []), t.push(A.reset) }), B }, A }(), Kn = { integers: [1e3, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], values: ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"] }, In = { integers: [9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["Ք", "Փ", "Ւ", "Ց", "Ր", "Տ", "Վ", "Ս", "Ռ", "Ջ", "Պ", "Չ", "Ո", "Շ", "Ն", "Յ", "Մ", "Ճ", "Ղ", "Ձ", "Հ", "Կ", "Ծ", "Խ", "Լ", "Ի", "Ժ", "Թ", "Ը", "Է", "Զ", "Ե", "Դ", "Գ", "Բ", "Ա"] }, Tn = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["י׳", "ט׳", "ח׳", "ז׳", "ו׳", "ה׳", "ד׳", "ג׳", "ב׳", "א׳", "ת", "ש", "ר", "ק", "צ", "פ", "ע", "ס", "נ", "מ", "ל", "כ", "יט", "יח", "יז", "טז", "טו", "י", "ט", "ח", "ז", "ו", "ה", "ד", "ג", "ב", "א"] }, mn = { integers: [1e4, 9e3, 8e3, 7e3, 6e3, 5e3, 4e3, 3e3, 2e3, 1e3, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], values: ["ჵ", "ჰ", "ჯ", "ჴ", "ხ", "ჭ", "წ", "ძ", "ც", "ჩ", "შ", "ყ", "ღ", "ქ", "ფ", "ჳ", "ტ", "ს", "რ", "ჟ", "პ", "ო", "ჲ", "ნ", "მ", "ლ", "კ", "ი", "თ", "ჱ", "ზ", "ვ", "ე", "დ", "გ", "ბ", "ა"] }, Rn = function (A, e, t, r, n, B) { return A < e || A > t ? bn(A, n, B.length > 0) : r.integers.reduce(function (e, t, n) { for (; A >= t;)A -= t, e += r.values[n]; return e }, "") + B }, Ln = function (A, e, t, r) { var n = ""; do { t || A--, n = r(A) + n, A /= e } while (A * e >= e); return n }, On = function (A, e, t, r, n) { var B = t - e + 1; return (A < 0 ? "-" : "") + (Ln(Math.abs(A), B, r, function (A) { return i(Math.floor(A % B) + e) }) + n) }, vn = function (A, e, t) { void 0 === t && (t = ". "); var r = e.length; return Ln(Math.abs(A), r, !1, function (A) { return e[Math.floor(A % r)] }) + t }, Dn = function (A, e, t, r, n, B) { if (A < -9999 || A > 9999) return bn(A, It.CJK_DECIMAL, n.length > 0); var s = Math.abs(A), o = n; if (0 === s) return e[0] + o; for (var i = 0; s > 0 && i <= 4; i++) { var a = s % 10; 0 === a && Er(B, 1) && "" !== o ? o = e[a] + o : a > 1 || 1 === a && 0 === i || 1 === a && 1 === i && Er(B, 2) || 1 === a && 1 === i && Er(B, 4) && A > 100 || 1 === a && i > 1 && Er(B, 8) ? o = e[a] + (i > 0 ? t[i - 1] : "") + o : 1 === a && i > 0 && (o = t[i - 1] + o), s = Math.floor(s / 10) } return (A < 0 ? r : "") + o }, bn = function (A, e, t) { var r = t ? ". " : "", n = t ? "、" : "", B = t ? ", " : "", s = t ? " " : ""; switch (e) { case It.DISC: return "•" + s; case It.CIRCLE: return "◦" + s; case It.SQUARE: return "◾" + s; case It.DECIMAL_LEADING_ZERO: var o = On(A, 48, 57, !0, r); return o.length < 4 ? "0" + o : o; case It.CJK_DECIMAL: return vn(A, "〇一二三四五六七八九", n); case It.LOWER_ROMAN: return Rn(A, 1, 3999, Kn, It.DECIMAL, r).toLowerCase(); case It.UPPER_ROMAN: return Rn(A, 1, 3999, Kn, It.DECIMAL, r); case It.LOWER_GREEK: return On(A, 945, 969, !1, r); case It.LOWER_ALPHA: return On(A, 97, 122, !1, r); case It.UPPER_ALPHA: return On(A, 65, 90, !1, r); case It.ARABIC_INDIC: return On(A, 1632, 1641, !0, r); case It.ARMENIAN: case It.UPPER_ARMENIAN: return Rn(A, 1, 9999, In, It.DECIMAL, r); case It.LOWER_ARMENIAN: return Rn(A, 1, 9999, In, It.DECIMAL, r).toLowerCase(); case It.BENGALI: return On(A, 2534, 2543, !0, r); case It.CAMBODIAN: case It.KHMER: return On(A, 6112, 6121, !0, r); case It.CJK_EARTHLY_BRANCH: return vn(A, "子丑寅卯辰巳午未申酉戌亥", n); case It.CJK_HEAVENLY_STEM: return vn(A, "甲乙丙丁戊己庚辛壬癸", n); case It.CJK_IDEOGRAPHIC: case It.TRAD_CHINESE_INFORMAL: return Dn(A, "零一二三四五六七八九", "十百千萬", "負", n, 14); case It.TRAD_CHINESE_FORMAL: return Dn(A, "零壹貳參肆伍陸柒捌玖", "拾佰仟萬", "負", n, 15); case It.SIMP_CHINESE_INFORMAL: return Dn(A, "零一二三四五六七八九", "十百千萬", "负", n, 14); case It.SIMP_CHINESE_FORMAL: return Dn(A, "零壹贰叁肆伍陆柒捌玖", "拾佰仟萬", "负", n, 15); case It.JAPANESE_INFORMAL: return Dn(A, "〇一二三四五六七八九", "十百千万", "マイナス", n, 0); case It.JAPANESE_FORMAL: return Dn(A, "零壱弐参四伍六七八九", "拾百千万", "マイナス", n, 7); case It.KOREAN_HANGUL_FORMAL: return Dn(A, "영일이삼사오육칠팔구", "십백천만", "마이너스", B, 7); case It.KOREAN_HANJA_INFORMAL: return Dn(A, "零一二三四五六七八九", "十百千萬", "마이너스", B, 0); case It.KOREAN_HANJA_FORMAL: return Dn(A, "零壹貳參四五六七八九", "拾百千", "마이너스", B, 7); case It.DEVANAGARI: return On(A, 2406, 2415, !0, r); case It.GEORGIAN: return Rn(A, 1, 19999, mn, It.DECIMAL, r); case It.GUJARATI: return On(A, 2790, 2799, !0, r); case It.GURMUKHI: return On(A, 2662, 2671, !0, r); case It.HEBREW: return Rn(A, 1, 10999, Tn, It.DECIMAL, r); case It.HIRAGANA: return vn(A, "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん"); case It.HIRAGANA_IROHA: return vn(A, "いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす"); case It.KANNADA: return On(A, 3302, 3311, !0, r); case It.KATAKANA: return vn(A, "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン", n); case It.KATAKANA_IROHA: return vn(A, "イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス", n); case It.LAO: return On(A, 3792, 3801, !0, r); case It.MONGOLIAN: return On(A, 6160, 6169, !0, r); case It.MYANMAR: return On(A, 4160, 4169, !0, r); case It.ORIYA: return On(A, 2918, 2927, !0, r); case It.PERSIAN: return On(A, 1776, 1785, !0, r); case It.TAMIL: return On(A, 3046, 3055, !0, r); case It.TELUGU: return On(A, 3174, 3183, !0, r); case It.THAI: return On(A, 3664, 3673, !0, r); case It.TIBETAN: return On(A, 3872, 3881, !0, r); case It.DECIMAL: default: return On(A, 48, 57, !0, r) } }, Sn = function () { function A(A, e) { if (this.options = e, this.scrolledElements = [], this.referenceElement = A, this.counters = new Nn, this.quoteDepth = 0, !A.ownerDocument) throw new Error("Cloned element does not have an owner document"); this.documentElement = this.cloneNode(A.ownerDocument.documentElement) } return A.prototype.toIFrame = function (A, e) { var t = this, B = yn(A, e); if (!B.contentWindow) return Promise.reject("Unable to find iframe window"); var s = A.defaultView.pageXOffset, o = A.defaultView.pageYOffset, i = B.contentWindow, a = i.document, c = _n(B).then(function () { return r(t, void 0, void 0, function () { var A; return n(this, function (t) { switch (t.label) { case 0: return this.scrolledElements.forEach(zn), i && (i.scrollTo(e.left, e.top), !/(iPad|iPhone|iPod)/g.test(navigator.userAgent) || i.scrollY === e.top && i.scrollX === e.left || (a.documentElement.style.top = -e.top + "px", a.documentElement.style.left = -e.left + "px", a.documentElement.style.position = "absolute")), A = this.options.onclone, void 0 === this.clonedReferenceElement ? [2, Promise.reject("Error finding the " + this.referenceElement.nodeName + " in the cloned document")] : a.fonts && a.fonts.ready ? [4, a.fonts.ready] : [3, 2]; case 1: t.sent(), t.label = 2; case 2: return "function" == typeof A ? [2, Promise.resolve().then(function () { return A(a) }).then(function () { return B })] : [2, B] } }) }) }); return a.open(), a.write(xn(document.doctype) + "<html></html>"), Vn(this.referenceElement.ownerDocument, s, o), a.replaceChild(a.adoptNode(this.documentElement), a.documentElement), a.close(), c }, A.prototype.createElementClone = function (A) { return En(A) ? this.createCanvasClone(A) : Hn(A) ? this.createStyleClone(A) : A.cloneNode(!1) }, A.prototype.createStyleClone = function (A) { try { var e = A.sheet; if (e && e.cssRules) { var t = [].slice.call(e.cssRules, 0).reduce(function (A, e) { return e && "string" == typeof e.cssText ? A + e.cssText : A }, ""), r = A.cloneNode(!1); return r.textContent = t, r } } catch (A) { if (pe.getInstance(this.options.id).error("Unable to access cssRules property", A), "SecurityError" !== A.name) throw A } return A.cloneNode(!1) }, A.prototype.createCanvasClone = function (A) { if (this.options.inlineImages && A.ownerDocument) { var e = A.ownerDocument.createElement("img"); try { return e.src = A.toDataURL(), e } catch (A) { pe.getInstance(this.options.id).info("Unable to clone canvas contents, canvas is tainted") } } var t = A.cloneNode(!1); try { t.width = A.width, t.height = A.height; var r = A.getContext("2d"), n = t.getContext("2d"); return n && (r ? n.putImageData(r.getImageData(0, 0, A.width, A.height), 0, 0) : n.drawImage(A, 0, 0)), t } catch (A) { } return t }, A.prototype.cloneNode = function (A) { if (cn(A)) return document.createTextNode(A.data); if (!A.ownerDocument) return A.cloneNode(!1); var e = A.ownerDocument.defaultView; if (un(A) && e) { var t = this.createElementClone(A), r = e.getComputedStyle(A), n = e.getComputedStyle(A, ":before"), B = e.getComputedStyle(A, ":after"); this.referenceElement === A && (this.clonedReferenceElement = t), gn(t) && Gn(t); for (var s = this.counters.parse(new Ir(r)), o = this.resolvePseudoContent(A, t, n, Cr.BEFORE), i = A.firstChild; i; i = i.nextSibling)Qn(i) && (dn(i) || i.hasAttribute("data-html2canvas-ignore") || "function" == typeof this.options.ignoreElements && this.options.ignoreElements(i)) || this.options.copyStyles && Qn(i) && Hn(i) || t.appendChild(this.cloneNode(i)); o && t.insertBefore(o, t.firstChild); var a = this.resolvePseudoContent(A, t, B, Cr.AFTER); return a && t.appendChild(a), this.counters.pop(s), r && this.options.copyStyles && !hn(A) && Pn(r, t), 0 === A.scrollTop && 0 === A.scrollLeft || this.scrolledElements.push([t, A.scrollLeft, A.scrollTop]), (fn(A) || pn(A)) && (fn(t) || pn(t)) && (t.value = A.value), t } return A.cloneNode(!1) }, A.prototype.resolvePseudoContent = function (A, e, t, r) { var n = this; if (t) { var B = t.content, s = e.ownerDocument; if (s && B && "none" !== B && "-moz-alt-content" !== B && "none" !== t.display) { this.counters.parse(new Ir(t)); var o = new Kr(t), i = s.createElement("html2canvaspseudoelement"); Pn(t, i), o.content.forEach(function (e) { if (e.type === u.STRING_TOKEN) i.appendChild(s.createTextNode(e.value)); else if (e.type === u.URL_TOKEN) { var t = s.createElement("img"); t.src = e.value, t.style.opacity = "1", i.appendChild(t) } else if (e.type === u.FUNCTION) { if ("attr" === e.name) { var r = e.values.filter(DA); r.length && i.appendChild(s.createTextNode(A.getAttribute(r[0].value) || "")) } else if ("counter" === e.name) { var B = e.values.filter(yA), a = B[0], c = B[1]; if (a && DA(a)) { var Q = n.counters.getCounterValue(a.value), w = c && DA(c) ? Rt.parse(c.value) : It.DECIMAL; i.appendChild(s.createTextNode(bn(Q, w, !1))) } } else if ("counters" === e.name) { var U = e.values.filter(yA), l = (a = U[0], U[1]); c = U[2]; if (a && DA(a)) { var C = n.counters.getCounterValues(a.value), g = c && DA(c) ? Rt.parse(c.value) : It.DECIMAL, E = l && l.type === u.STRING_TOKEN ? l.value : "", F = C.map(function (A) { return bn(A, g, !1) }).join(E); i.appendChild(s.createTextNode(F)) } } } else if (e.type === u.IDENT_TOKEN) switch (e.value) { case "open-quote": i.appendChild(s.createTextNode(fr(o.quotes, n.quoteDepth++, !0))); break; case "close-quote": i.appendChild(s.createTextNode(fr(o.quotes, --n.quoteDepth, !1))); break; default: i.appendChild(s.createTextNode(e.value)) } }), i.className = Xn + " " + Jn; var a = r === Cr.BEFORE ? " " + Xn : " " + Jn; return "object" == typeof e.className ? e.className.baseValue += a : e.className += a, i } } }, A.destroy = function (A) { return !!A.parentNode && (A.parentNode.removeChild(A), !0) }, A }(); !function (A) { A[A.BEFORE = 0] = "BEFORE", A[A.AFTER = 1] = "AFTER" }(Cr || (Cr = {})); var Mn, yn = function (A, e) { var t = A.createElement("iframe"); return t.className = "html2canvas-container", t.style.visibility = "hidden", t.style.position = "fixed", t.style.left = "-10000px", t.style.top = "0px", t.style.border = "0", t.width = e.width.toString(), t.height = e.height.toString(), t.scrolling = "no", t.setAttribute("data-html2canvas-ignore", "true"), A.body.appendChild(t), t }, _n = function (A) { return new Promise(function (e, t) { var r = A.contentWindow; if (!r) return t("No window assigned for iframe"); var n = r.document; r.onload = A.onload = n.onreadystatechange = function () { r.onload = A.onload = n.onreadystatechange = null; var t = setInterval(function () { n.body.childNodes.length > 0 && "complete" === n.readyState && (clearInterval(t), e(A)) }, 50) } }) }, Pn = function (A, e) { for (var t = A.length - 1; t >= 0; t--) { var r = A.item(t); "content" !== r && e.style.setProperty(r, A.getPropertyValue(r)) } return e }, xn = function (A) { var e = ""; return A && (e += "<!DOCTYPE ", A.name && (e += A.name), A.internalSubset && (e += A.internalSubset), A.publicId && (e += '"' + A.publicId + '"'), A.systemId && (e += '"' + A.systemId + '"'), e += ">"), e }, Vn = function (A, e, t) { A && A.defaultView && (e !== A.defaultView.pageXOffset || t !== A.defaultView.pageYOffset) && A.defaultView.scrollTo(e, t) }, zn = function (A) { var e = A[0], t = A[1], r = A[2]; e.scrollLeft = t, e.scrollTop = r }, Xn = "___html2canvas___pseudoelement_before", Jn = "___html2canvas___pseudoelement_after", Gn = function (A) { kn(A, "." + Xn + ':before{\n    content: "" !important;\n    display: none !important;\n}\n         .' + Jn + ':after{\n    content: "" !important;\n    display: none !important;\n}') }, kn = function (A, e) { var t = A.ownerDocument; if (t) { var r = t.createElement("style"); r.textContent = e, A.appendChild(r) } }; !function (A) { A[A.VECTOR = 0] = "VECTOR", A[A.BEZIER_CURVE = 1] = "BEZIER_CURVE" }(Mn || (Mn = {})); var Wn, Yn = function (A, e) { return A.length === e.length && A.some(function (A, t) { return A === e[t] }) }, qn = function () { function A(A, e) { this.type = Mn.VECTOR, this.x = A, this.y = e } return A.prototype.add = function (e, t) { return new A(this.x + e, this.y + t) }, A }(), Zn = function (A, e, t) { return new qn(A.x + (e.x - A.x) * t, A.y + (e.y - A.y) * t) }, jn = function () { function A(A, e, t, r) { this.type = Mn.BEZIER_CURVE, this.start = A, this.startControl = e, this.endControl = t, this.end = r } return A.prototype.subdivide = function (e, t) { var r = Zn(this.start, this.startControl, e), n = Zn(this.startControl, this.endControl, e), B = Zn(this.endControl, this.end, e), s = Zn(r, n, e), o = Zn(n, B, e), i = Zn(s, o, e); return t ? new A(this.start, r, s, i) : new A(i, o, B, this.end) }, A.prototype.add = function (e, t) { return new A(this.start.add(e, t), this.startControl.add(e, t), this.endControl.add(e, t), this.end.add(e, t)) }, A.prototype.reverse = function () { return new A(this.end, this.endControl, this.startControl, this.start) }, A }(), $n = function (A) { return A.type === Mn.BEZIER_CURVE }, AB = function () { return function (A) { var e = A.styles, t = A.bounds, r = kA(e.borderTopLeftRadius, t.width, t.height), n = r[0], B = r[1], s = kA(e.borderTopRightRadius, t.width, t.height), o = s[0], i = s[1], a = kA(e.borderBottomRightRadius, t.width, t.height), c = a[0], Q = a[1], u = kA(e.borderBottomLeftRadius, t.width, t.height), w = u[0], U = u[1], l = []; l.push((n + o) / t.width), l.push((w + c) / t.width), l.push((B + U) / t.height), l.push((i + Q) / t.height); var C = Math.max.apply(Math, l); C > 1 && (n /= C, B /= C, o /= C, i /= C, c /= C, Q /= C, w /= C, U /= C); var g = t.width - o, E = t.height - Q, F = t.width - c, h = t.height - U, H = e.borderTopWidth, d = e.borderRightWidth, f = e.borderBottomWidth, p = e.borderLeftWidth, N = WA(e.paddingTop, A.bounds.width), K = WA(e.paddingRight, A.bounds.width), I = WA(e.paddingBottom, A.bounds.width), T = WA(e.paddingLeft, A.bounds.width); this.topLeftBorderBox = n > 0 || B > 0 ? eB(t.left, t.top, n, B, Wn.TOP_LEFT) : new qn(t.left, t.top), this.topRightBorderBox = o > 0 || i > 0 ? eB(t.left + g, t.top, o, i, Wn.TOP_RIGHT) : new qn(t.left + t.width, t.top), this.bottomRightBorderBox = c > 0 || Q > 0 ? eB(t.left + F, t.top + E, c, Q, Wn.BOTTOM_RIGHT) : new qn(t.left + t.width, t.top + t.height), this.bottomLeftBorderBox = w > 0 || U > 0 ? eB(t.left, t.top + h, w, U, Wn.BOTTOM_LEFT) : new qn(t.left, t.top + t.height), this.topLeftPaddingBox = n > 0 || B > 0 ? eB(t.left + p, t.top + H, Math.max(0, n - p), Math.max(0, B - H), Wn.TOP_LEFT) : new qn(t.left + p, t.top + H), this.topRightPaddingBox = o > 0 || i > 0 ? eB(t.left + Math.min(g, t.width + p), t.top + H, g > t.width + p ? 0 : o - p, i - H, Wn.TOP_RIGHT) : new qn(t.left + t.width - d, t.top + H), this.bottomRightPaddingBox = c > 0 || Q > 0 ? eB(t.left + Math.min(F, t.width - p), t.top + Math.min(E, t.height + H), Math.max(0, c - d), Q - f, Wn.BOTTOM_RIGHT) : new qn(t.left + t.width - d, t.top + t.height - f), this.bottomLeftPaddingBox = w > 0 || U > 0 ? eB(t.left + p, t.top + h, Math.max(0, w - p), U - f, Wn.BOTTOM_LEFT) : new qn(t.left + p, t.top + t.height - f), this.topLeftContentBox = n > 0 || B > 0 ? eB(t.left + p + T, t.top + H + N, Math.max(0, n - (p + T)), Math.max(0, B - (H + N)), Wn.TOP_LEFT) : new qn(t.left + p + T, t.top + H + N), this.topRightContentBox = o > 0 || i > 0 ? eB(t.left + Math.min(g, t.width + p + T), t.top + H + N, g > t.width + p + T ? 0 : o - p + T, i - (H + N), Wn.TOP_RIGHT) : new qn(t.left + t.width - (d + K), t.top + H + N), this.bottomRightContentBox = c > 0 || Q > 0 ? eB(t.left + Math.min(F, t.width - (p + T)), t.top + Math.min(E, t.height + H + N), Math.max(0, c - (d + K)), Q - (f + I), Wn.BOTTOM_RIGHT) : new qn(t.left + t.width - (d + K), t.top + t.height - (f + I)), this.bottomLeftContentBox = w > 0 || U > 0 ? eB(t.left + p + T, t.top + h, Math.max(0, w - (p + T)), U - (f + I), Wn.BOTTOM_LEFT) : new qn(t.left + p + T, t.top + t.height - (f + I)) } }(); !function (A) { A[A.TOP_LEFT = 0] = "TOP_LEFT", A[A.TOP_RIGHT = 1] = "TOP_RIGHT", A[A.BOTTOM_RIGHT = 2] = "BOTTOM_RIGHT", A[A.BOTTOM_LEFT = 3] = "BOTTOM_LEFT" }(Wn || (Wn = {})); var eB = function (A, e, t, r, n) { var B = (Math.sqrt(2) - 1) / 3 * 4, s = t * B, o = r * B, i = A + t, a = e + r; switch (n) { case Wn.TOP_LEFT: return new jn(new qn(A, a), new qn(A, a - o), new qn(i - s, e), new qn(i, e)); case Wn.TOP_RIGHT: return new jn(new qn(A, e), new qn(A + s, e), new qn(i, a - o), new qn(i, a)); case Wn.BOTTOM_RIGHT: return new jn(new qn(i, e), new qn(i, e + o), new qn(A + s, a), new qn(A, a)); case Wn.BOTTOM_LEFT: default: return new jn(new qn(i, a), new qn(i - s, a), new qn(A, e + o), new qn(A, e)) } }, tB = function (A) { return [A.topLeftBorderBox, A.topRightBorderBox, A.bottomRightBorderBox, A.bottomLeftBorderBox] }, rB = function (A) { return [A.topLeftPaddingBox, A.topRightPaddingBox, A.bottomRightPaddingBox, A.bottomLeftPaddingBox] }, nB = function () { return function (A, e, t) { this.type = 0, this.offsetX = A, this.offsetY = e, this.matrix = t, this.target = 6 } }(), BB = function () { return function (A, e) { this.type = 1, this.target = e, this.path = A } }(), sB = function () { return function (A) { this.element = A, this.inlineLevel = [], this.nonInlineLevel = [], this.negativeZIndex = [], this.zeroOrAutoZIndexOrTransformedOrOpacity = [], this.positiveZIndex = [], this.nonPositionedFloats = [], this.nonPositionedInlineLevel = [] } }(), oB = function () { function A(A, e) { if (this.container = A, this.effects = e.slice(0), this.curves = new AB(A), null !== A.styles.transform) { var t = A.bounds.left + A.styles.transformOrigin[0].number, r = A.bounds.top + A.styles.transformOrigin[1].number, n = A.styles.transform; this.effects.push(new nB(t, r, n)) } if (A.styles.overflowX !== mt.VISIBLE) { var B = tB(this.curves), s = rB(this.curves); Yn(B, s) ? this.effects.push(new BB(B, 6)) : (this.effects.push(new BB(B, 2)), this.effects.push(new BB(s, 4))) } } return A.prototype.getParentEffects = function () { var A = this.effects.slice(0); if (this.container.styles.overflowX !== mt.VISIBLE) { var e = tB(this.curves), t = rB(this.curves); Yn(e, t) || A.push(new BB(t, 6)) } return A }, A }(), iB = function (A, e, t, r) { A.container.elements.forEach(function (n) { var B = Er(n.flags, 4), s = Er(n.flags, 2), o = new oB(n, A.getParentEffects()); Er(n.styles.display, 2048) && r.push(o); var i = Er(n.flags, 8) ? [] : r; if (B || s) { var a = B || n.styles.isPositioned() ? t : e, c = new sB(o); if (n.styles.isPositioned() || n.styles.opacity < 1 || n.styles.isTransformed()) { var Q = n.styles.zIndex.order; if (Q < 0) { var u = 0; a.negativeZIndex.some(function (A, e) { return Q > A.element.container.styles.zIndex.order ? (u = e, !1) : u > 0 }), a.negativeZIndex.splice(u, 0, c) } else if (Q > 0) { var w = 0; a.positiveZIndex.some(function (A, e) { return Q > A.element.container.styles.zIndex.order ? (w = e + 1, !1) : w > 0 }), a.positiveZIndex.splice(w, 0, c) } else a.zeroOrAutoZIndexOrTransformedOrOpacity.push(c) } else n.styles.isFloating() ? a.nonPositionedFloats.push(c) : a.nonPositionedInlineLevel.push(c); iB(o, c, B ? c : t, i) } else n.styles.isInlineLevel() ? e.inlineLevel.push(o) : e.nonInlineLevel.push(o), iB(o, e, t, i); Er(n.flags, 8) && aB(n, i) }) }, aB = function (A, e) { for (var t = A instanceof Xr ? A.start : 1, r = A instanceof Xr && A.reversed, n = 0; n < e.length; n++) { var B = e[n]; B.container instanceof zr && "number" == typeof B.container.value && 0 !== B.container.value && (t = B.container.value), B.listValue = bn(t, B.container.styles.listStyleType, !0), t += r ? -1 : 1 } }, cB = function (A, e, t, r) { var n = []; return $n(A) ? n.push(A.subdivide(.5, !1)) : n.push(A), $n(t) ? n.push(t.subdivide(.5, !0)) : n.push(t), $n(r) ? n.push(r.subdivide(.5, !0).reverse()) : n.push(r), $n(e) ? n.push(e.subdivide(.5, !1).reverse()) : n.push(e), n }, QB = function (A) { var e = A.bounds, t = A.styles; return e.add(t.borderLeftWidth, t.borderTopWidth, -(t.borderRightWidth + t.borderLeftWidth), -(t.borderTopWidth + t.borderBottomWidth)) }, uB = function (A) { var e = A.styles, t = A.bounds, r = WA(e.paddingLeft, t.width), n = WA(e.paddingRight, t.width), B = WA(e.paddingTop, t.width), s = WA(e.paddingBottom, t.width); return t.add(r + e.borderLeftWidth, B + e.borderTopWidth, -(e.borderRightWidth + e.borderLeftWidth + r + n), -(e.borderTopWidth + e.borderBottomWidth + B + s)) }, wB = function (A, e, t) { var r, n, B = (r = gB(A.styles.backgroundOrigin, e), n = A, 0 === r ? n.bounds : 2 === r ? uB(n) : QB(n)), s = function (A, e) { return A === oe.BORDER_BOX ? e.bounds : A === oe.CONTENT_BOX ? uB(e) : QB(e) }(gB(A.styles.backgroundClip, e), A), o = CB(gB(A.styles.backgroundSize, e), t, B), i = o[0], a = o[1], c = kA(gB(A.styles.backgroundPosition, e), B.width - i, B.height - a); return [EB(gB(A.styles.backgroundRepeat, e), c, o, B, s), Math.round(B.left + c[0]), Math.round(B.top + c[1]), i, a] }, UB = function (A) { return DA(A) && A.value === Xe.AUTO }, lB = function (A) { return "number" == typeof A }, CB = function (A, e, t) { var r = e[0], n = e[1], B = e[2], s = A[0], o = A[1]; if (VA(s) && o && VA(o)) return [WA(s, t.width), WA(o, t.height)]; var i = lB(B); if (DA(s) && (s.value === Xe.CONTAIN || s.value === Xe.COVER)) return lB(B) ? t.width / t.height < B != (s.value === Xe.COVER) ? [t.width, t.width / B] : [t.height * B, t.height] : [t.width, t.height]; var a = lB(r), c = lB(n), Q = a || c; if (UB(s) && (!o || UB(o))) return a && c ? [r, n] : i || Q ? Q && i ? [a ? r : n * B, c ? n : r / B] : [a ? r : t.width, c ? n : t.height] : [t.width, t.height]; if (i) { var u = 0, w = 0; return VA(s) ? u = WA(s, t.width) : VA(o) && (w = WA(o, t.height)), UB(s) ? u = w * B : o && !UB(o) || (w = u / B), [u, w] } var U = null, l = null; if (VA(s) ? U = WA(s, t.width) : o && VA(o) && (l = WA(o, t.height)), null === U || o && !UB(o) || (l = a && c ? U / r * n : t.height), null !== l && UB(s) && (U = a && c ? l / n * r : t.width), null !== U && null !== l) return [U, l]; throw new Error("Unable to calculate background-size for element") }, gB = function (A, e) { var t = A[e]; return void 0 === t ? A[0] : t }, EB = function (A, e, t, r, n) { var B = e[0], s = e[1], o = t[0], i = t[1]; switch (A) { case _e.REPEAT_X: return [new qn(Math.round(r.left), Math.round(r.top + s)), new qn(Math.round(r.left + r.width), Math.round(r.top + s)), new qn(Math.round(r.left + r.width), Math.round(i + r.top + s)), new qn(Math.round(r.left), Math.round(i + r.top + s))]; case _e.REPEAT_Y: return [new qn(Math.round(r.left + B), Math.round(r.top)), new qn(Math.round(r.left + B + o), Math.round(r.top)), new qn(Math.round(r.left + B + o), Math.round(r.height + r.top)), new qn(Math.round(r.left + B), Math.round(r.height + r.top))]; case _e.NO_REPEAT: return [new qn(Math.round(r.left + B), Math.round(r.top + s)), new qn(Math.round(r.left + B + o), Math.round(r.top + s)), new qn(Math.round(r.left + B + o), Math.round(r.top + s + i)), new qn(Math.round(r.left + B), Math.round(r.top + s + i))]; default: return [new qn(Math.round(n.left), Math.round(n.top)), new qn(Math.round(n.left + n.width), Math.round(n.top)), new qn(Math.round(n.left + n.width), Math.round(n.height + n.top)), new qn(Math.round(n.left), Math.round(n.height + n.top))] } }, FB = function () { function A(A) { this._data = {}, this._document = A } return A.prototype.parseMetrics = function (A, e) { var t = this._document.createElement("div"), r = this._document.createElement("img"), n = this._document.createElement("span"), B = this._document.body; t.style.visibility = "hidden", t.style.fontFamily = A, t.style.fontSize = e, t.style.margin = "0", t.style.padding = "0", B.appendChild(t), r.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", r.width = 1, r.height = 1, r.style.margin = "0", r.style.padding = "0", r.style.verticalAlign = "baseline", n.style.fontFamily = A, n.style.fontSize = e, n.style.margin = "0", n.style.padding = "0", n.appendChild(this._document.createTextNode("Hidden Text")), t.appendChild(n), t.appendChild(r); var s = r.offsetTop - n.offsetTop + 2; t.removeChild(n), t.appendChild(this._document.createTextNode("Hidden Text")), t.style.lineHeight = "normal", r.style.verticalAlign = "super"; var o = r.offsetTop - t.offsetTop + 2; return B.removeChild(t), { baseline: s, middle: o } }, A.prototype.getMetrics = function (A, e) { var t = A + " " + e; return void 0 === this._data[t] && (this._data[t] = this.parseMetrics(A, e)), this._data[t] }, A }(), hB = function () { function A(A) { this._activeEffects = [], this.canvas = A.canvas ? A.canvas : document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.options = A, A.canvas || (this.canvas.width = Math.floor(A.width * A.scale), this.canvas.height = Math.floor(A.height * A.scale), this.canvas.style.width = A.width + "px", this.canvas.style.height = A.height + "px"), this.fontMetrics = new FB(document), this.ctx.scale(this.options.scale, this.options.scale), this.ctx.translate(-A.x + A.scrollX, -A.y + A.scrollY), this.ctx.textBaseline = "bottom", this._activeEffects = [], pe.getInstance(A.id).debug("Canvas renderer initialized (" + A.width + "x" + A.height + " at " + A.x + "," + A.y + ") with scale " + A.scale) } return A.prototype.applyEffects = function (A, e) { for (var t = this; this._activeEffects.length;)this.popEffect(); A.filter(function (A) { return Er(A.target, e) }).forEach(function (A) { return t.applyEffect(A) }) }, A.prototype.applyEffect = function (A) { this.ctx.save(), function (A) { return 0 === A.type }(A) && (this.ctx.translate(A.offsetX, A.offsetY), this.ctx.transform(A.matrix[0], A.matrix[1], A.matrix[2], A.matrix[3], A.matrix[4], A.matrix[5]), this.ctx.translate(-A.offsetX, -A.offsetY)), function (A) { return 1 === A.type }(A) && (this.path(A.path), this.ctx.clip()), this._activeEffects.push(A) }, A.prototype.popEffect = function () { this._activeEffects.pop(), this.ctx.restore() }, A.prototype.renderStack = function (A) { return r(this, void 0, void 0, function () { var e; return n(this, function (t) { switch (t.label) { case 0: return (e = A.element.container.styles).isVisible() ? (this.ctx.globalAlpha = e.opacity, [4, this.renderStackContent(A)]) : [3, 2]; case 1: t.sent(), t.label = 2; case 2: return [2] } }) }) }, A.prototype.renderNode = function (A) { return r(this, void 0, void 0, function () { return n(this, function (e) { switch (e.label) { case 0: return A.container.styles.isVisible() ? [4, this.renderNodeBackgroundAndBorders(A)] : [3, 3]; case 1: return e.sent(), [4, this.renderNodeContent(A)]; case 2: e.sent(), e.label = 3; case 3: return [2] } }) }) }, A.prototype.renderTextWithLetterSpacing = function (A, e) { var t = this; 0 === e ? this.ctx.fillText(A.text, A.bounds.left, A.bounds.top + A.bounds.height) : o(A.text).map(function (A) { return i(A) }).reduce(function (e, r) { return t.ctx.fillText(r, e, A.bounds.top + A.bounds.height), e + t.ctx.measureText(r).width }, A.bounds.left) }, A.prototype.createFontStyle = function (A) { var e = A.fontVariant.filter(function (A) { return "normal" === A || "small-caps" === A }).join(""); const t = A.fontFamily.map(function (A) { return "'" + A + "'" }).join(", "); var r = OA(A.fontSize) ? "" + A.fontSize.number + A.fontSize.unit : A.fontSize.number + "px"; return [[A.fontStyle, e, A.fontWeight, r, t].join(" "), t, r] }, A.prototype.renderTextNode = function (A, e) { return r(this, void 0, void 0, function () { var t, r, B, s, o = this; return n(this, function (n) { return t = this.createFontStyle(e), r = t[0], B = t[1], s = t[2], this.ctx.font = r, A.textBounds.forEach(function (A) { o.ctx.fillStyle = ee(e.color), o.renderTextWithLetterSpacing(A, e.letterSpacing); var t = e.textShadow; t.length && A.text.trim().length && (t.slice(0).reverse().forEach(function (e) { o.ctx.shadowColor = ee(e.color), o.ctx.shadowOffsetX = e.offsetX.number * o.options.scale, o.ctx.shadowOffsetY = e.offsetY.number * o.options.scale, o.ctx.shadowBlur = e.blur.number, o.ctx.fillText(A.text, A.bounds.left, A.bounds.top + A.bounds.height) }), o.ctx.shadowColor = "", o.ctx.shadowOffsetX = 0, o.ctx.shadowOffsetY = 0, o.ctx.shadowBlur = 0), e.textDecorationLine.length && (o.ctx.fillStyle = ee(e.textDecorationColor || e.color), e.textDecorationLine.forEach(function (e) { switch (e) { case 1: var t = o.fontMetrics.getMetrics(B, s).baseline; o.ctx.fillRect(A.bounds.left, Math.round(A.bounds.top + t), A.bounds.width, 1); break; case 2: o.ctx.fillRect(A.bounds.left, Math.round(A.bounds.top), A.bounds.width, 1); break; case 3: var r = o.fontMetrics.getMetrics(B, s).middle; o.ctx.fillRect(A.bounds.left, Math.ceil(A.bounds.top + r), A.bounds.width, 1) } })) }), [2] }) }) }, A.prototype.renderReplacedElement = function (A, e, t) { if (t && A.intrinsicWidth > 0 && A.intrinsicHeight > 0) { var r = uB(A), n = rB(e); this.path(n), this.ctx.save(), this.ctx.clip(), this.ctx.drawImage(t, 0, 0, A.intrinsicWidth, A.intrinsicHeight, r.left, r.top, r.width, r.height), this.ctx.restore() } }, A.prototype.renderNodeContent = function (e) { return r(this, void 0, void 0, function () { var t, r, s, o, i, a, c, Q, w, U, l, C, g, E; return n(this, function (n) { switch (n.label) { case 0: this.applyEffects(e.effects, 4), t = e.container, r = e.curves, s = t.styles, o = 0, i = t.textNodes, n.label = 1; case 1: return o < i.length ? (a = i[o], [4, this.renderTextNode(a, s)]) : [3, 4]; case 2: n.sent(), n.label = 3; case 3: return o++, [3, 1]; case 4: if (!(t instanceof Pr)) return [3, 8]; n.label = 5; case 5: return n.trys.push([5, 7, , 8]), [4, this.options.cache.match(t.src)]; case 6: return C = n.sent(), this.renderReplacedElement(t, r, C), [3, 8]; case 7: return n.sent(), pe.getInstance(this.options.id).error("Error loading image " + t.src), [3, 8]; case 8: if (t instanceof xr && this.renderReplacedElement(t, r, t.canvas), !(t instanceof Vr)) return [3, 12]; n.label = 9; case 9: return n.trys.push([9, 11, , 12]), [4, this.options.cache.match(t.svg)]; case 10: return C = n.sent(), this.renderReplacedElement(t, r, C), [3, 12]; case 11: return n.sent(), pe.getInstance(this.options.id).error("Error loading svg " + t.svg.substring(0, 255)), [3, 12]; case 12: return t instanceof tn && t.tree ? [4, new A({ id: this.options.id, scale: this.options.scale, backgroundColor: t.backgroundColor, x: 0, y: 0, scrollX: 0, scrollY: 0, width: t.width, height: t.height, cache: this.options.cache, windowWidth: t.width, windowHeight: t.height }).render(t.tree)] : [3, 14]; case 13: c = n.sent(), t.width && t.height && this.ctx.drawImage(c, 0, 0, t.width, t.height, t.bounds.left, t.bounds.top, t.bounds.width, t.bounds.height), n.label = 14; case 14: if (t instanceof jr && (Q = Math.min(t.bounds.width, t.bounds.height), t.type === Yr ? t.checked && (this.ctx.save(), this.path([new qn(t.bounds.left + .39363 * Q, t.bounds.top + .79 * Q), new qn(t.bounds.left + .16 * Q, t.bounds.top + .5549 * Q), new qn(t.bounds.left + .27347 * Q, t.bounds.top + .44071 * Q), new qn(t.bounds.left + .39694 * Q, t.bounds.top + .5649 * Q), new qn(t.bounds.left + .72983 * Q, t.bounds.top + .23 * Q), new qn(t.bounds.left + .84 * Q, t.bounds.top + .34085 * Q), new qn(t.bounds.left + .39363 * Q, t.bounds.top + .79 * Q)]), this.ctx.fillStyle = ee(707406591), this.ctx.fill(), this.ctx.restore()) : t.type === qr && t.checked && (this.ctx.save(), this.ctx.beginPath(), this.ctx.arc(t.bounds.left + Q / 2, t.bounds.top + Q / 2, Q / 4, 0, 2 * Math.PI, !0), this.ctx.fillStyle = ee(707406591), this.ctx.fill(), this.ctx.restore())), HB(t) && t.value.length) { switch (this.ctx.font = this.createFontStyle(s)[0], this.ctx.fillStyle = ee(s.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = fB(t.styles.textAlign), E = uB(t), w = 0, t.styles.textAlign) { case yt.CENTER: w += E.width / 2; break; case yt.RIGHT: w += E.width }U = E.add(w, 0, 0, -E.height / 2 + 1), this.ctx.save(), this.path([new qn(E.left, E.top), new qn(E.left + E.width, E.top), new qn(E.left + E.width, E.top + E.height), new qn(E.left, E.top + E.height)]), this.ctx.clip(), this.renderTextWithLetterSpacing(new Rr(t.value, U), s.letterSpacing), this.ctx.restore(), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left" } if (!Er(t.styles.display, 2048)) return [3, 20]; if (null === t.styles.listStyleImage) return [3, 19]; if ((l = t.styles.listStyleImage).type !== Qe.URL) return [3, 18]; C = void 0, g = l.url, n.label = 15; case 15: return n.trys.push([15, 17, , 18]), [4, this.options.cache.match(g)]; case 16: return C = n.sent(), this.ctx.drawImage(C, t.bounds.left - (C.width + 10), t.bounds.top), [3, 18]; case 17: return n.sent(), pe.getInstance(this.options.id).error("Error loading list-style-image " + g), [3, 18]; case 18: return [3, 20]; case 19: e.listValue && t.styles.listStyleType !== It.NONE && (this.ctx.font = this.createFontStyle(s)[0], this.ctx.fillStyle = ee(s.color), this.ctx.textBaseline = "middle", this.ctx.textAlign = "right", E = new B(t.bounds.left, t.bounds.top + WA(t.styles.paddingTop, t.bounds.width), t.bounds.width, (F = s.lineHeight, h = s.fontSize.number, (DA(F) && "normal" === F.value ? 1.2 * h : F.type === u.NUMBER_TOKEN ? h * F.number : VA(F) ? WA(F, h) : h) / 2 + 1)), this.renderTextWithLetterSpacing(new Rr(e.listValue, E), s.letterSpacing), this.ctx.textBaseline = "bottom", this.ctx.textAlign = "left"), n.label = 20; case 20: return [2] }var F, h }) }) }, A.prototype.renderStackContent = function (A) { return r(this, void 0, void 0, function () { var e, t, r, B, s, o, i, a, c, Q, u, w, U, l, C; return n(this, function (n) { switch (n.label) { case 0: return [4, this.renderNodeBackgroundAndBorders(A.element)]; case 1: n.sent(), e = 0, t = A.negativeZIndex, n.label = 2; case 2: return e < t.length ? (C = t[e], [4, this.renderStack(C)]) : [3, 5]; case 3: n.sent(), n.label = 4; case 4: return e++, [3, 2]; case 5: return [4, this.renderNodeContent(A.element)]; case 6: n.sent(), r = 0, B = A.nonInlineLevel, n.label = 7; case 7: return r < B.length ? (C = B[r], [4, this.renderNode(C)]) : [3, 10]; case 8: n.sent(), n.label = 9; case 9: return r++, [3, 7]; case 10: s = 0, o = A.nonPositionedFloats, n.label = 11; case 11: return s < o.length ? (C = o[s], [4, this.renderStack(C)]) : [3, 14]; case 12: n.sent(), n.label = 13; case 13: return s++, [3, 11]; case 14: i = 0, a = A.nonPositionedInlineLevel, n.label = 15; case 15: return i < a.length ? (C = a[i], [4, this.renderStack(C)]) : [3, 18]; case 16: n.sent(), n.label = 17; case 17: return i++, [3, 15]; case 18: c = 0, Q = A.inlineLevel, n.label = 19; case 19: return c < Q.length ? (C = Q[c], [4, this.renderNode(C)]) : [3, 22]; case 20: n.sent(), n.label = 21; case 21: return c++, [3, 19]; case 22: u = 0, w = A.zeroOrAutoZIndexOrTransformedOrOpacity, n.label = 23; case 23: return u < w.length ? (C = w[u], [4, this.renderStack(C)]) : [3, 26]; case 24: n.sent(), n.label = 25; case 25: return u++, [3, 23]; case 26: U = 0, l = A.positiveZIndex, n.label = 27; case 27: return U < l.length ? (C = l[U], [4, this.renderStack(C)]) : [3, 30]; case 28: n.sent(), n.label = 29; case 29: return U++, [3, 27]; case 30: return [2] } }) }) }, A.prototype.mask = function (A) { this.ctx.beginPath(), this.ctx.moveTo(0, 0), this.ctx.lineTo(this.canvas.width, 0), this.ctx.lineTo(this.canvas.width, this.canvas.height), this.ctx.lineTo(0, this.canvas.height), this.ctx.lineTo(0, 0), this.formatPath(A.slice(0).reverse()), this.ctx.closePath() }, A.prototype.path = function (A) { this.ctx.beginPath(), this.formatPath(A), this.ctx.closePath() }, A.prototype.formatPath = function (A) { var e = this; A.forEach(function (A, t) { var r = $n(A) ? A.start : A; 0 === t ? e.ctx.moveTo(r.x, r.y) : e.ctx.lineTo(r.x, r.y), $n(A) && e.ctx.bezierCurveTo(A.startControl.x, A.startControl.y, A.endControl.x, A.endControl.y, A.end.x, A.end.y) }) }, A.prototype.renderRepeat = function (A, e, t, r) { this.path(A), this.ctx.fillStyle = e, this.ctx.translate(t, r), this.ctx.fill(), this.ctx.translate(-t, -r) }, A.prototype.resizeImage = function (A, e, t) { if (A.width === e && A.height === t) return A; var r = this.canvas.ownerDocument.createElement("canvas"); return r.width = e, r.height = t, r.getContext("2d").drawImage(A, 0, 0, A.width, A.height, 0, 0, e, t), r }, A.prototype.renderBackgroundImage = function (A) { return r(this, void 0, void 0, function () { var e, t, r, B, s, o; return n(this, function (i) { switch (i.label) { case 0: e = A.styles.backgroundImage.length - 1, t = function (t) { var B, s, o, i, a, c, Q, u, w, U, l, C, g, E, F, h, H, d, f, p, N, K, I, T, m, R, L, O, v, D, b; return n(this, function (n) { switch (n.label) { case 0: if (t.type !== Qe.URL) return [3, 5]; B = void 0, s = t.url, n.label = 1; case 1: return n.trys.push([1, 3, , 4]), [4, r.options.cache.match(s)]; case 2: return B = n.sent(), [3, 4]; case 3: return n.sent(), pe.getInstance(r.options.id).error("Error loading background-image " + s), [3, 4]; case 4: return B && (o = wB(A, e, [B.width, B.height, B.width / B.height]), h = o[0], K = o[1], I = o[2], f = o[3], p = o[4], E = r.ctx.createPattern(r.resizeImage(B, f, p), "repeat"), r.renderRepeat(h, E, K, I)), [3, 6]; case 5: t.type === Qe.LINEAR_GRADIENT ? (i = wB(A, e, [null, null, null]), h = i[0], K = i[1], I = i[2], f = i[3], p = i[4], a = Ce(t.angle, f, p), c = a[0], Q = a[1], u = a[2], w = a[3], U = a[4], (l = document.createElement("canvas")).width = f, l.height = p, C = l.getContext("2d"), g = C.createLinearGradient(Q, w, u, U), le(t.stops, c).forEach(function (A) { return g.addColorStop(A.stop, ee(A.color)) }), C.fillStyle = g, C.fillRect(0, 0, f, p), f > 0 && p > 0 && (E = r.ctx.createPattern(l, "repeat"), r.renderRepeat(h, E, K, I))) : function (A) { return A.type === Qe.RADIAL_GRADIENT }(t) && (F = wB(A, e, [null, null, null]), h = F[0], H = F[1], d = F[2], f = F[3], p = F[4], N = 0 === t.position.length ? [JA] : t.position, K = WA(N[0], f), I = WA(N[N.length - 1], p), T = function (A, e, t, r, n) { var B = 0, s = 0; switch (A.size) { case Me.CLOSEST_SIDE: A.shape === Se.CIRCLE ? B = s = Math.min(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)) : A.shape === Se.ELLIPSE && (B = Math.min(Math.abs(e), Math.abs(e - r)), s = Math.min(Math.abs(t), Math.abs(t - n))); break; case Me.CLOSEST_CORNER: if (A.shape === Se.CIRCLE) B = s = Math.min(ge(e, t), ge(e, t - n), ge(e - r, t), ge(e - r, t - n)); else if (A.shape === Se.ELLIPSE) { var o = Math.min(Math.abs(t), Math.abs(t - n)) / Math.min(Math.abs(e), Math.abs(e - r)), i = Ee(r, n, e, t, !0), a = i[0], c = i[1]; s = o * (B = ge(a - e, (c - t) / o)) } break; case Me.FARTHEST_SIDE: A.shape === Se.CIRCLE ? B = s = Math.max(Math.abs(e), Math.abs(e - r), Math.abs(t), Math.abs(t - n)) : A.shape === Se.ELLIPSE && (B = Math.max(Math.abs(e), Math.abs(e - r)), s = Math.max(Math.abs(t), Math.abs(t - n))); break; case Me.FARTHEST_CORNER: if (A.shape === Se.CIRCLE) B = s = Math.max(ge(e, t), ge(e, t - n), ge(e - r, t), ge(e - r, t - n)); else if (A.shape === Se.ELLIPSE) { o = Math.max(Math.abs(t), Math.abs(t - n)) / Math.max(Math.abs(e), Math.abs(e - r)); var Q = Ee(r, n, e, t, !1); a = Q[0], c = Q[1], s = o * (B = ge(a - e, (c - t) / o)) } }return Array.isArray(A.size) && (B = WA(A.size[0], r), s = 2 === A.size.length ? WA(A.size[1], n) : B), [B, s] }(t, K, I, f, p), m = T[0], R = T[1], m > 0 && m > 0 && (L = r.ctx.createRadialGradient(H + K, d + I, 0, H + K, d + I, m), le(t.stops, 2 * m).forEach(function (A) { return L.addColorStop(A.stop, ee(A.color)) }), r.path(h), r.ctx.fillStyle = L, m !== R ? (O = A.bounds.left + .5 * A.bounds.width, v = A.bounds.top + .5 * A.bounds.height, b = 1 / (D = R / m), r.ctx.save(), r.ctx.translate(O, v), r.ctx.transform(1, 0, 0, D, 0, 0), r.ctx.translate(-O, -v), r.ctx.fillRect(H, b * (d - v) + v, f, p * b), r.ctx.restore()) : r.ctx.fill())), n.label = 6; case 6: return e--, [2] } }) }, r = this, B = 0, s = A.styles.backgroundImage.slice(0).reverse(), i.label = 1; case 1: return B < s.length ? (o = s[B], [5, t(o)]) : [3, 4]; case 2: i.sent(), i.label = 3; case 3: return B++, [3, 1]; case 4: return [2] } }) }) }, A.prototype.renderBorder = function (A, e, t) { return r(this, void 0, void 0, function () { return n(this, function (r) { return this.path(function (A, e) { switch (e) { case 0: return cB(A.topLeftBorderBox, A.topLeftPaddingBox, A.topRightBorderBox, A.topRightPaddingBox); case 1: return cB(A.topRightBorderBox, A.topRightPaddingBox, A.bottomRightBorderBox, A.bottomRightPaddingBox); case 2: return cB(A.bottomRightBorderBox, A.bottomRightPaddingBox, A.bottomLeftBorderBox, A.bottomLeftPaddingBox); case 3: default: return cB(A.bottomLeftBorderBox, A.bottomLeftPaddingBox, A.topLeftBorderBox, A.topLeftPaddingBox) } }(t, e)), this.ctx.fillStyle = ee(A), this.ctx.fill(), [2] }) }) }, A.prototype.renderNodeBackgroundAndBorders = function (A) { return r(this, void 0, void 0, function () { var e, t, r, B, s, o, i, a, c = this; return n(this, function (n) { switch (n.label) { case 0: return this.applyEffects(A.effects, 2), e = A.container.styles, t = !Ae(e.backgroundColor) || e.backgroundImage.length, r = [{ style: e.borderTopStyle, color: e.borderTopColor }, { style: e.borderRightStyle, color: e.borderRightColor }, { style: e.borderBottomStyle, color: e.borderBottomColor }, { style: e.borderLeftStyle, color: e.borderLeftColor }], B = dB(gB(e.backgroundClip, 0), A.curves), t || e.boxShadow.length ? (this.ctx.save(), this.path(B), this.ctx.clip(), Ae(e.backgroundColor) || (this.ctx.fillStyle = ee(e.backgroundColor), this.ctx.fill()), [4, this.renderBackgroundImage(A.container)]) : [3, 2]; case 1: n.sent(), this.ctx.restore(), e.boxShadow.slice(0).reverse().forEach(function (e) { c.ctx.save(); var t, r, n, B, s, o = tB(A.curves), i = e.inset ? 0 : 1e4, a = (t = o, r = -i + (e.inset ? 1 : -1) * e.spread.number, n = (e.inset ? 1 : -1) * e.spread.number, B = e.spread.number * (e.inset ? -2 : 2), s = e.spread.number * (e.inset ? -2 : 2), t.map(function (A, e) { switch (e) { case 0: return A.add(r, n); case 1: return A.add(r + B, n); case 2: return A.add(r + B, n + s); case 3: return A.add(r, n + s) }return A })); e.inset ? (c.path(o), c.ctx.clip(), c.mask(a)) : (c.mask(o), c.ctx.clip(), c.path(a)), c.ctx.shadowOffsetX = e.offsetX.number + i, c.ctx.shadowOffsetY = e.offsetY.number, c.ctx.shadowColor = ee(e.color), c.ctx.shadowBlur = e.blur.number, c.ctx.fillStyle = e.inset ? ee(e.color) : "rgba(0,0,0,1)", c.ctx.fill(), c.ctx.restore() }), n.label = 2; case 2: s = 0, o = 0, i = r, n.label = 3; case 3: return o < i.length ? (a = i[o]).style === ke.NONE || Ae(a.color) ? [3, 5] : [4, this.renderBorder(a.color, s, A.curves)] : [3, 7]; case 4: n.sent(), n.label = 5; case 5: s++, n.label = 6; case 6: return o++, [3, 3]; case 7: return [2] } }) }) }, A.prototype.render = function (A) { return r(this, void 0, void 0, function () { var e; return n(this, function (t) { switch (t.label) { case 0: return this.options.backgroundColor && (this.ctx.fillStyle = ee(this.options.backgroundColor), this.ctx.fillRect(this.options.x - this.options.scrollX, this.options.y - this.options.scrollY, this.options.width, this.options.height)), r = new oB(A, []), n = new sB(r), iB(r, n, n, B = []), aB(r.container, B), e = n, [4, this.renderStack(e)]; case 1: return t.sent(), this.applyEffects([], 2), [2, this.canvas] }var r, n, B }) }) }, A }(), HB = function (A) { return A instanceof An || (A instanceof $r || A instanceof jr && A.type !== qr && A.type !== Yr) }, dB = function (A, e) { switch (A) { case oe.BORDER_BOX: return tB(e); case oe.CONTENT_BOX: return function (A) { return [A.topLeftContentBox, A.topRightContentBox, A.bottomRightContentBox, A.bottomLeftContentBox] }(e); case oe.PADDING_BOX: default: return rB(e) } }, fB = function (A) { switch (A) { case yt.CENTER: return "center"; case yt.RIGHT: return "right"; case yt.LEFT: default: return "left" } }, pB = function () { function A(A) { this.canvas = A.canvas ? A.canvas : document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.options = A, this.canvas.width = Math.floor(A.width * A.scale), this.canvas.height = Math.floor(A.height * A.scale), this.canvas.style.width = A.width + "px", this.canvas.style.height = A.height + "px", this.ctx.scale(this.options.scale, this.options.scale), this.ctx.translate(-A.x + A.scrollX, -A.y + A.scrollY), pe.getInstance(A.id).debug("EXPERIMENTAL ForeignObject renderer initialized (" + A.width + "x" + A.height + " at " + A.x + "," + A.y + ") with scale " + A.scale) } return A.prototype.render = function (A) { return r(this, void 0, void 0, function () { var e, t; return n(this, function (r) { switch (r.label) { case 0: return e = He(Math.max(this.options.windowWidth, this.options.width) * this.options.scale, Math.max(this.options.windowHeight, this.options.height) * this.options.scale, this.options.scrollX * this.options.scale, this.options.scrollY * this.options.scale, A), [4, NB(e)]; case 1: return t = r.sent(), this.options.backgroundColor && (this.ctx.fillStyle = ee(this.options.backgroundColor), this.ctx.fillRect(0, 0, this.options.width * this.options.scale, this.options.height * this.options.scale)), this.ctx.drawImage(t, -this.options.x * this.options.scale, -this.options.y * this.options.scale), [2, this.canvas] } }) }) }, A }(), NB = function (A) { return new Promise(function (e, t) { var r = new Image; r.onload = function () { e(r) }, r.onerror = t, r.src = "data:image/svg+xml;charset=utf-8," + encodeURIComponent((new XMLSerializer).serializeToString(A)) }) }, KB = function (A) { return $A(LA.create(A).parseComponentValue()) }; Ne.setContext(window); var IB = function (A, e) { return r(void 0, void 0, void 0, function () { var r, o, i, a, c, Q, u, w, U, l, C, g, E, F, h, H, d, f, p, N, K, I, T; return n(this, function (n) { switch (n.label) { case 0: if (!(r = A.ownerDocument)) throw new Error("Element is not attached to a Document"); if (!(o = r.defaultView)) throw new Error("Document is not attached to a Window"); return i = (Math.round(1e3 * Math.random()) + Date.now()).toString(16), a = gn(A) || "HTML" === A.tagName ? function (A) { var e = A.body, t = A.documentElement; if (!e || !t) throw new Error("Unable to get document size"); var r = Math.max(Math.max(e.scrollWidth, t.scrollWidth), Math.max(e.offsetWidth, t.offsetWidth), Math.max(e.clientWidth, t.clientWidth)), n = Math.max(Math.max(e.scrollHeight, t.scrollHeight), Math.max(e.offsetHeight, t.offsetHeight), Math.max(e.clientHeight, t.clientHeight)); return new B(0, 0, r, n) }(r) : s(A), c = a.width, Q = a.height, u = a.left, w = a.top, U = t({}, { allowTaint: !1, imageTimeout: 15e3, proxy: void 0, useCORS: !1 }, e), l = { backgroundColor: "#ffffff", cache: e.cache ? e.cache : Ne.create(i, U), logging: !0, removeContainer: !0, foreignObjectRendering: !1, scale: o.devicePixelRatio || 1, windowWidth: o.innerWidth, windowHeight: o.innerHeight, scrollX: o.pageXOffset, scrollY: o.pageYOffset, x: u, y: w, width: Math.ceil(c), height: Math.ceil(Q), id: i }, C = t({}, l, U, e), g = new B(C.scrollX, C.scrollY, C.windowWidth, C.windowHeight), pe.create({ id: i, enabled: C.logging }), pe.getInstance(i).debug("Starting document clone"), E = new Sn(A, { id: i, onclone: C.onclone, ignoreElements: C.ignoreElements, inlineImages: C.foreignObjectRendering, copyStyles: C.foreignObjectRendering }), (F = E.clonedReferenceElement) ? [4, E.toIFrame(r, g)] : [2, Promise.reject("Unable to find element in cloned iframe")]; case 1: return h = n.sent(), H = r.documentElement ? KB(getComputedStyle(r.documentElement).backgroundColor) : ce.TRANSPARENT, d = r.body ? KB(getComputedStyle(r.body).backgroundColor) : ce.TRANSPARENT, f = e.backgroundColor, p = "string" == typeof f ? KB(f) : null === f ? ce.TRANSPARENT : 4294967295, N = A === r.documentElement ? Ae(H) ? Ae(d) ? p : d : H : p, K = { id: i, cache: C.cache, canvas: C.canvas, backgroundColor: N, scale: C.scale, x: C.x, y: C.y, scrollX: C.scrollX, scrollY: C.scrollY, width: C.width, height: C.height, windowWidth: C.windowWidth, windowHeight: C.windowHeight }, C.foreignObjectRendering ? (pe.getInstance(i).debug("Document cloned, using foreign object rendering"), [4, new pB(K).render(F)]) : [3, 3]; case 2: return I = n.sent(), [3, 5]; case 3: return pe.getInstance(i).debug("Document cloned, using computed rendering"), Ne.attachInstance(C.cache), pe.getInstance(i).debug("Starting DOM parsing"), T = sn(F), Ne.detachInstance(), N === T.styles.backgroundColor && (T.styles.backgroundColor = ce.TRANSPARENT), pe.getInstance(i).debug("Starting renderer"), [4, new hB(K).render(T)]; case 4: I = n.sent(), n.label = 5; case 5: return !0 === C.removeContainer && (Sn.destroy(h) || pe.getInstance(i).error("Cannot detach cloned iframe as it is not in the DOM anymore")), pe.getInstance(i).debug("Finished rendering"), pe.destroy(i), Ne.destroy(i), [2, I] } }) }) }; return function (A, e) { return void 0 === e && (e = {}), IB(A, e) } });
window.i4_WidgetPalettes={Ocre:["#54a1b7","#64b79a","#a6cb6a","#d6c15d","#df8e43","#dd5e38","#af73ab"],Rainbow:["#7ab04c","#00a064","#01a1d9","#047ed6","#897ed7","#d07bd6","#ff5175","#ff2844","#ff7e4d","#fbba3b","#d2d1d6"],Master:["#e75140","#a4c765","#02aa68","#00b1d5","#544e91","#e65391","#c54b48","#e96e5b","#efa451","#d8d4ce","#d6d662","#78ba67","#65b1a4","#648bb6","#c1bfba","#8a8886","#5b5b5a","#ad4a71","#c9bda7","#99755a"],Candy:["#1db1e2","#78e4cb","#ff3744","#fed465","#fe5858","#212121"],Toy:["#28ad97","#e84e91","#a7cd57","#a6986e","#dda05e","#dae0e0"],Fabric:["#585b8e","#339bc6","#f48e7a","#009c8b","#f2d697","#acbad1","#c06f96"],Soil:["#b88056","#febf54","#eb7a34","#b45134","#055d83","#c3dfea","#6dc2df"],Fashion:["#9f6ba4","#e32e2b","#f99e3b","#f9d24e","#abd260","#1d2125","#79c7ea","#cdcbc9","#f6f1dc"],Spice:["#cd6938","#ba1927","#0093a1","#e15331","#95ab8e","#ebbe61"],Desert:["#8e906c","#f4cf41","#da6821","#d94488","#991d76","#016b96","#35b7dc","#80b335","#6f7e75"],Sunset:["#d9a12b","#025d7e","#00ace9","#82afda","#e58142","#f6442e","#f02c8b"],Dolphin:["#c6d9ef","#8db5df","#558fd1","#1f4979"],Navy:["#c6d9ef","#8db5df","#558fd1","#ffffff"],Few:["#d9d9d9","#8d8d8d","#000000","#af8b1b"],Flat:["#b3ddf3","#fbda4f","#88d2b7","#f98564","#f3b9b8","#efb3e7"],"Blue Light":["#003b73","#0074b7","#60a3d9","#bfd7ed"]},window.i4_WidgetHeatPalette=["#61A53D","#B2B000","#FEB500","#FC7C00","#FA4018"];
//# sourceMappingURL=Palettes.js.map

var WidgetsCommon={parseDataUsingGrouping:function(t,e){if("string"!=typeof e)return e;if(!t||!t.length)return new Date(e).toISOString();try{if(t.length&&1===t.length){var a;switch(t[0]){case"month":a=new Date("2014-{0}-02".format(e)).toISOString();break;case"year":a=new Date("{0}-01-02".format(e)).toISOString();break;case"day":a=new Date("2014-01-{0}".format(e)).toISOString();break;case"quarter":a=moment.utc(new Date("2014-01-02").toISOString()).quarter(e);break;case"week":a=moment.utc(new Date("2014-01-02").toISOString()).week(e);break;case"weekDay":a=moment().startOf("week").add("days",parseInt(e));break;default:a=new Date(this.value).toISOString()}return a}if(t.length){for(var n,r="year-month-day 12:00",i=e.split("-"),o=WidgetsCommon.splitValuesFromDataGrouping(t,e),s=0;s<t.length;s++)var l=i[i.length-1-s],r=r.replace(t[s],l);return r=(r=r.replace("year","2015")).replace("month","06"),-1===t.indexOf("day")&&(r=-1!==t.indexOf("weekDay")?(n=moment(r.replace("day","01")).startOf("week").add(parseInt(o.weekDay),"days").date(),r.replace("day",n)):r.replace("day","01")),o.week&&(r=1===parseInt(o.week)?moment(r).startOf("year"):moment(r).week(o.week).startOf("isoWeek")),o.quarter&&(r=moment(r).quarter(o.quarter)),moment(r).toISOString()}}catch(t){return e}},parseTime:function(t,e,a){var n,r,i,o,s;return a?(n=a.split(":"),r=moment.utc(),n[s=o=i=0]&&(i=parseInt(n[0]),-1!=a.indexOf("PM")&&i&&i<12&&(i+=12),24<i&&(i=NaN)),n[1]&&60<(o=parseInt(n[1]))&&(o=NaN),n[2]&&60<(s=parseInt(n[2]))&&(s=NaN),r.set("hour",i),r.set("minute",o),r.set("second",s),Utils.formatValue(r.toISOString(),DashboardUtils.applyFormat(t,e))):""},splitValuesFromDataGrouping:function(t,e){var t=t.join("-"),e=e.split("-"),a=-1!=t.indexOf("week"),n=-1!=t.indexOf("weekDay"),r=-1!=t.indexOf("quarter"),i=(t.indexOf("day"),-1!=t.indexOf("month")),o=0,s={quarter:null,week:null,weekDay:null};return-1!=t.indexOf("year")&&o++,r&&(s.quarter=e[o],o++),i&&o++,a&&(s.week=e[o],o++),n&&(s.weekDay=e[o],o++),s},getFormattedAxisLabel:function(t,e,a,n,r,i){if(null==t||""===t)return"";var o;if(n)return o=(o=r)||"System.DateTime",t=Utils.utcTZtoDateString(t,r,i),Utils.formatValue(t,DashboardUtils.applyFormat(e,o,i));if(a&&0<a.length){if(!e&&3!==a.length)return Utils.formatValue(t,e);if("string"!=typeof t)return t=Utils.utcTZtoDateString(t,r,i),t=Utils.formatValue(t,DashboardUtils.applyFormat(e,o,i));t=WidgetsCommon.parseDataUsingGrouping(a,t)}return Utils.formatValue(t,e)},getFontSize:function(t,e,a){var n,r,i;return a.autofit?(n=(t=$("<div>").text(Utils.formatValue(t,a.format)).css({position:"absolute","white-space":e.css("white-space"),visibility:"hidden","font-family":a.font.family,"font-size":"".concat(10,"px"),"font-weight":Utils.FontUtils.getFontWeight(a.font.family,a.font.font_weight),"font-style":a.font.italic?"italic":"normal","text-shadow":a.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.font.underline?"underline":"none","text-align":a.font.halign}).appendTo("body")).outerWidth(),r=t.outerHeight(),i=e.outerWidth(),e=e.outerHeight(),i=10*Math.min(i/n,e/r),t.remove(),"".concat(i-2*a.shape.border.width-(this.class.options.autofitSizeDelta||0),"px")):"".concat(a.font.size,"px")}};
//# sourceMappingURL=WidgetsCommon.js.map

var ChartUtils={CATEGORY_NAME_SEPARATOR:" - ",SERIES_NAME_SEPARATOR:" - ",SERIES_NAME_VALUE_SEPARATOR:" : ",TOOLTIP_DIMENSION_VALUE_SEPARATOR:" - ",YAXIS_NAMES_SEPARATOR:" - ",FunnelChartType:{FunnelTop:"funnel_top",FunnelBottom:"funnel_bottom",PyramidTop:"pyramid_top",PyramidBottom:"pyramid_bottom"},fixTooltip:function(){Highcharts._scaleFixeApplied||(Highcharts.wrap(Highcharts.Pointer.prototype,"normalize",function(t,e,n){var t=t.call(this,e,n),e=this.chart.container;return e&&e.offsetWidth&&e.offsetHeight&&(n=e.getBoundingClientRect().width/e.offsetWidth,e=e.getBoundingClientRect().height/e.offsetHeight,1!=n&&(t.chartX=parseInt(t.chartX/n,10)),1!=e&&(t.chartY=parseInt(t.chartY/e,10))),t}),Highcharts._scaleFixeApplied=!0)},widgetVisibilityOnEditor:function(t){var e=t._lastvisibilityValue;return e=t.dashboard&&t.dashboard.in_editor&&"visible"!==t.dashboard.model.view_hidden?!0:e},resetSelectedOutputs:function(i){Highcharts.wrap(Highcharts.Pointer.prototype,"onContainerClick",function(t,e){var n=$(e.target).closest(".widget");0<n.length&&(n=n.attr("id").replace("widget_",""),i.guid==n&&i.resetSelectedOutput($(e.target))),t.apply(this,Array.prototype.slice.call(arguments,1))})},handleToolbarZoom:function(t,e){!t||"zoom"!==t.trigger&&"setExtremes"!==t.type||(t=void 0!==t.userMin&&null!==t.userMin||void 0!==t.userMax&&null!==t.userMax,$(".resetChartZoom",e).attr("disabled",!t))},resetChartZoom:function(t){t=t.ui.highcharts();t&&(t.xAxis&&t.xAxis.length&&(t.xAxis[0].update({userMin:null,userMax:null}),t.xAxis[0].setExtremes(void 0,void 0,!0),Highcharts.fireEvent(t.xAxis[0],"afterSetExtremes")),t.zoomOut())},drillUp:function(t){t=t.ui.highcharts();t&&t.drillUp&&t.drillUp()},updateDrillUpButton:function(t){var e=$(".drillUp",t.container),n="";t._drilldownPaths&&1<t._drilldownPaths.length&&(n="".concat(_("DrillUpTo")," ").concat(t._drilldownPaths[t._drilldownPaths.length-2])),e.attr("title",n),e.attr("disabled",!n),ChartUtils.handleToolbarZoom({trigger:"zoom"},t.container)},disableHighchartsZoom:function(){Highcharts.wrap(Highcharts.Chart.prototype,"showResetZoom",function(t){var e;this.container&&(e=this.container.closest(".widget"))&&$(".resetChartZoom",e).attr("disabled",!1)})},resizeChart:function(t,i,o,e){t.debouncedResizeChart||(t.debouncedResizeChart=Utils.debounce(function(){var t,e,n;i.highcharts&&i.highcharts()&&(t=!(!o||null==o)&&o,e=i.outerWidth(),n=i.outerHeight(),i.highcharts().setSize(e,n,t))}.bind(this),e?0:50)),t.debouncedResizeChart()},destroyChart:function(t){t&&t.highcharts&&t.highcharts()&&t.highcharts().destroy()},putPlotAreaOnTop:function(t){var e,t=t.highcharts();t&&t.plotBorder&&(e=t.plotBorder.element,t.renderer.box.appendChild(e))},getSerieLabelAlignmentFromRotation:Utils.memoize(function(t,e){n=e;var n,i=function(t){return Utils.arrayFirst(t,function(t){return t.rotation===n})};switch(t){case"bar":return i([{rotation:0,align:"left",x:0},{rotation:90,align:"center",x:10},{rotation:270,align:"center",x:10},{rotation:30,align:"left",x:6}]);case"line":case"area":return i([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}])}},function(t,e){return t+e}),support3D:function(t){return-1<["area","pie","column","line","scatter"].indexOf(t)},getSeriesLabelPosition:function(t,e,n,i){var o=i&&i.stacked||!1,a={start:"bottom",middle:"middle",end:"top"};switch(t){case"column":var l={inside:!0,verticalAlign:a[e]};switch(e){case"end":"30"==n?l={inside:!0,verticalAlign:"top",y:15}:"90"==n?l={inside:!0,verticalAlign:a[e],align:"left",y:6}:"270"==n&&(l={inside:!0,verticalAlign:a[e],align:"right",y:6});break;case"start":"30"==n?l={inside:!0,verticalAlign:a[e],y:-8}:"90"==n?l={inside:!0,verticalAlign:a[e],y:-8,align:"right"}:"270"==n&&(l={inside:!0,verticalAlign:a[e],y:-8,align:"left"});break;case"middle":"90"!=n&&"270"!=n||(l={inside:!0,verticalAlign:a[e],align:"center"});break;case"outside":l="30"==n?{verticalAlign:"bottom"}:"90"==n?{verticalAlign:"bottom",align:"right"}:"270"==n?{verticalAlign:"bottom",align:"left"}:{verticalAlign:"bottom"},o&&(l.inside=!1)}return l;case"bar":return"outside"==e?{align:"left"}:{inside:!0,align:{start:"left",middle:"center",end:"right"}[e]};default:return{verticalAlign:"bottom"}}},_plotOptionsTemplate:'<header class="tabHeader nomargin plotOptions"><p class="tabHeader">'.concat(_("ChartPlot_TabTitle"),'</p><span class="tabDescription">').concat(_("ChartPlot_TabSubtitle"),'</span></header>                            <div class="chartplot_actionContainer">                                 <button type="button" data-type="band" class= "btn btn-default btn-grey">').concat(_("ChartPlot_AddBand"),'</button>                                 <button type="button" data-type="line" class= "btn btn-default btn-grey">').concat(_("ChartPlot_AddLine"),'</button>                            </div>                            <div class="chartplot_listContainer"></div>'),_plotOptionsDropdownTemplate:'<ul id="plotItemActionsDropdown" class="dropdown-menu pull-right dropdown-menu-right dropdown-arrow free-position">                                        <li>                                            <a class="edit">'.concat(_("EditButtonLabel"),'</a>                                            <a class="delete">').concat(_("DeleteButtonString"),"</a>                                        </li>                                    </ul>"),renderPlotOptionsWithZTab:function(t){ChartUtils.renderPlotOptionsTab.call(this,t,!0)},applyPlotOptions:function(t,e,n){var i=ChartUtils.widgetVisibilityOnEditor(t);if(t.p.plot_options&&t.p.plot_options.length&&i){for(var o=t.p.plot_options.filter(function(t){return t.axis_type===n&&0===t.axis_index}),a=[],l=[],r=0;r<o.length;r++){var s=o[r];t.loadFont(s.font.family),"band"===s.type?a.push(ChartUtils.getHighChartsObject(s)):"line"===s.type&&l.push(ChartUtils.getHighChartsObject(s))}a.length&&(e.plotBands=a),l.length&&(e.plotLines=l)}},renderPlotOptionsTab:function(t,e){t.content.append(ChartUtils._plotOptionsTemplate),this.p.plot_options||(this.p.plot_options=[]),$("#plotItemActionsDropdown").length||$("body").append(ChartUtils._plotOptionsDropdownTemplate),this.plotSortableList=new SortableList({container:$(".chartplot_listContainer",t.content),object:this.p,property:"plot_options",enableDelete:!1,enableSort:!1,columns:[{name:_("ChartPlot_Description"),width:"auto",cellFormat:function(t,e){t=$("<label class='description'>".concat(t.description,"</label></div>"));e.append(t)}},{name:_("ChartPlot_Type"),width:100,cellFormat:function(t,e){t=$("<label>".concat(_("ChartPlot_Type_{0}".format(t.type)),"</label></div>"));e.append(t)}},{name:"",width:50,classes:"centeredContent",headerClass:"centeredContent",cellFormat:function(t,e){e.append('<button type="button" class="btn btn-default small actionButton"><i class="fas fa-cog" ></i></button >')}}]}),this.plotEventBounds||(ChartUtils.bindPlotEvent.call(this,t,e),this.plotEventBounds=!0)},getYFromRotation:function(i,t,e){function n(t,e,n){switch(i.font.valign){case"top":return t;case"bottom":return e;case"middle":return n}}var o,a=1;return"line"===i.type&&(a=i.line.thickness),i.rotation&&180!==i.rotation&&360!==i.rotation?(o=Utils.getRotatedRectangleSize(t,i.rotation),90===i.rotation||270===i.rotation?n(-t-5,5,0):n(-o.height,5,-o.height/2)):n(15-e,a+2,0)},getFormattedLabel:function(t){var e,n={align:t.font.halign,verticalAlign:t.font.valign,rotation:t.rotation,style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}};return t._results&&t._results.label&&t._results.label.value?(n.text="<span>{0}</span>".format(Utils.formatValue(t._results.label.value,t.label_format)),n.useHTML=!1):n.text="","line"===t.type&&(e=t.line,"top"===t.font.valign?n.y=Math.min(-e.thickness,-5):"bottom"===t.font.valign&&(n.y=Math.max(e.thickness+6,10))),n},getHighChartsObject:function(t){var e,n,i=!!t._results,o=ChartUtils.getFormattedLabel(t);return"band"===t.type?(n=t.band,{zIndex:t.z_index||0,borderColor:n.border.color,borderWidth:n.border.width,from:(e=function(t,e){return i&&t[e]?InternalType.parse(t[e].type).isDate()?new Date(t[e].value):t[e].value:0})(t._results,"from_value"),to:e(t._results,"to_value"),label:o,color:n.background.gradient?{linearGradient:{x1:0,y1:1,x2:1,y2:1},stops:[[0,n.background.color],[1,DashboardUtils.shadeBlend(null,n.background.color)]]}:n.background.color}):"line"===t.type?(e=t.line,n=0,i&&t._results.fixed_value&&t._results.fixed_value.value&&(n=InternalType.parse(t._results.fixed_value.type).isDate()?new Date(t._results.fixed_value.value):t._results.fixed_value.value),{zIndex:t.z_index||0,color:e.color,width:e.thickness,dashStyle:e.pattern,value:n,label:o}):void 0},bindPlotEvent:function(t,n){var i=this;t.content.on("click",".chartplot_actionContainer button",function(){var t=$(this).data("type");ChartUtils.addPlotOption.call(i,t,n||!1)}),t.content.on("click",".actionButton",function(t){i._currentplotItem=$(this).closest("tr");var e=$(".dialogBody").outerWidth()-($(this).offset().left+$(this).outerWidth()),n=$(this).offset().top;return $("#plotItemActionsDropdown").show(),$("#plotItemActionsDropdown").css("top","".concat(n+25,"px")),$("#plotItemActionsDropdown").css("right","".concat(e-10,"px")),!1}),$("body").on("click",function(){$("#plotItemActionsDropdown").hide()}),$("#plotItemActionsDropdown .edit").on("click",function(){var t=i._currentplotItem.index(),e=i.p.plot_options[t],t=(e._index=t,n||!1);ChartUtils.openPlotOptionsSettings.call(i,e,!1,t)}),$("#plotItemActionsDropdown .delete").on("click",function(){var t=i._currentplotItem;i.p.plot_options.splice(t.index(),1),t.remove(),i._currentplotItem=null,i.tryUpdate()})},openPlotOptionsSettings:function(t,e,n){var i=this,o=e||!1;Dialog.show("/dashboard/chartplotoptionsettings",{plotProperties:t,displayZAxis:n,widget:this,widget_types:Widget.types,dashboard:this.settings._original_widget.dashboard,saveCallBack:function(t){o?i.plotSortableList.addNewObject(t):i._currentplotItem&&(t=i._currentplotItem.index(),t=i.p.plot_options[t],$(".description",i._currentplotItem).text(t.description),i._currentplotItem=null),i.tryUpdate()}})},addPlotOption:function(t,e){t={description:_("PlotDescription_{0}".format(t)),type:t,label:null,axis_type:"vertical",label_format:null,z_index:3,axis_index:0,band:{from_value:null,to_value:null,background:{color:null,gradient:!1},border:{color:"#000000",width:1}},line:{value_formula:null,value_type:"maximum",pattern:"solid",thickness:1,color:"#000000"},font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"left",valign:"middle"},rotation:0};ChartUtils.openPlotOptionsSettings.call(this,t,!0,e||!1)},addPlotProperties:function(t,e){e?t.push({icon:"charts-plot-tab.png",text:_("PlotLineBand"),code:"plots",renderer:ChartUtils.renderPlotOptionsWithZTab.bind(this)}):t.push({icon:"charts-plot-tab.png",text:_("PlotLineBand"),code:"plots",renderer:ChartUtils.renderPlotOptionsTab.bind(this)})},getPercentage:function(t,e,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:"y";if(!Utils.isEmpty(t))return t;for(var o=0,a=0;a<e.length;a++)o+=e[a][i];return 100*n/o},adjustLegendHeight:function(t,e){var n;t._preventUpdate?t._preventUpdate=!1:"middle"===e.legend.options.verticalAlign&&(n=(e.title.getBBox().height+e.subtitle.getBBox().height)/2,e.legend.legendHeight-e.legend.padding!==e.plotHeight&&(t._preventUpdate=!0,e.legend.update({maxHeight:e.plotHeight,y:n})))}};
//# sourceMappingURL=ChartUtils.js.map

var DashboardDialog={_id:1,_hasChanges:!1,display:function(n,o,e,a,t){(o&&o.in_editor?Dialog:DashboardDialog).show(n,o,e,a,t)},show:function(n,a,o,e,t,i,s){var c=$('<iframe class="dialog" src="about:blank" style="display:none; width: 100%; height: 100%; position: fixed; top: 0; right: 0; left: 0; bottom: 0; background: transparent; z-index: 10000000000000;">'),r=(c.attr({id:"popup-".concat(DashboardDialog._id),src:s?n:"/legacy".concat(n)}),this._body=$("body"),$(".dashboardIsFullScreen").length&&(this._body=$(".fullScreen_container")),this._body.append(c),DashboardDialog._id);return i||(s=$('<div  id="iframeLoadingLayer" style="z-index:10000000000000;"><div class="loadingContainer"><i class="spinner far fa-spinner fa-pulse fa-2x"></i></div></div>'),this._body.append(s)),c.on("load",function(){var o,e=this,n=this;this.contentWindow&&(this.contentWindow.closeDialog=function(){DashboardDialog.close(r)},this.contentWindow.focus(),this.contentWindow._ParentFrame=a&&a.ParentFrame?a.ParentFrame:window,o=0,function n(){10<=o||("function"==typeof e.contentWindow.Initialize?e.contentWindow.Initialize(a):(o++,setTimeout(n,100)))}(),$(this.contentDocument).ready(function(){$("#iframeLoadingLayer").remove(),c.show()}),$(this.contentWindow).on("keydown keyup keypress",function(n){switch(n.which){case 27:DashboardDialog.close(r,t);break;case 8:if($(n.target).attr("readonly"))return!1}}),$(this.contentDocument).on("click","header .closeWindow",function(){DashboardDialog.close(r,t)}),$(this.contentDocument).on("click","header .toggleSize",function(){n.contentWindow.HandleDraggableOnResize&&n.contentWindow.HandleDraggableOnResize(!$(".dialogContentContainer",n.contentDocument).hasClass("fullscreen")),$(".dialogContentContainer",n.contentDocument).toggleClass("fullscreen"),n.contentWindow.OnResize&&n.contentWindow.OnResize()}),$(this.contentDocument).on("click","footer .cancelButton",function(){DashboardDialog.close(r,t)}))}),DashboardDialog._id++},close:function(n,o){DashboardDialog._hasChanges?DashboardDialog.confirm(_("UnSaveChangeTitle"),"<p>".concat(_("UnSaveChangeText"),"</p>"),function(){DashboardDialog._hasChanges=!1,DashboardDialog.removeWindow(n),o&&o()},null,null):(DashboardDialog.removeWindow(n),o&&o())},removeWindow:function(n){this._body.children("#popup-".concat(n)).attr("src","about:blank").remove(),$(".blur").removeClass("blur")},resize:function(n,o,e){}};
//# sourceMappingURL=DashboardDialogs.js.map

var FormulaUtils={generateArrayFormulaExpression:function(e){var a="ToArray(";if(!(0<e.length))return"";for(var r=0;r<e.length;r++){var n=e[r];0<r&&(a+=","),a+=n||""==n?"string"==typeof n?"'".concat(n.replaceAll("'","\\'").replace(/\v/g,""),"'"):n:"null"}return a+=")"},generateTeamParameterExpression:function(e){return"TeamParameter('".concat(e,"')")},generateUserParameterExpression:function(e){return"UserParameter('".concat(e,"')")},generateAccountParameterExpression:function(e){return"AccountParameter('".concat(e,"')")},generateWidgetExpression:function(e,a){return a?"widget('".concat(e,"', '").concat(a,"')"):""},generateWidgetFilterExpression:function(e){return"WidgetFilter('".concat(e,"')")},generateFilterPanelExpression:function(e,a,r){return r?"filterpanel('".concat(e,"','").concat(a,"', '").concat(r,"')"):""},generateDataExpression:function(e,a){return"Data('".concat(e,"', '").concat(a,"')")},generateDashboardInfoExpression:function(e,a){return"DashboardInfo('".concat(e,"', '").concat(a,"')")},generateBinderInfoExpression:function(e,a){return"BinderInfo('".concat(e,"', '").concat(a,"')")},generateDashboardFormulaExpression:function(e){return"DashboardFormula('".concat(e,"')")},generateDashboardParameterExpression:function(e){return"DashboardParameter('".concat(e,"')")},generateDashboardFilterExpression:function(e){return"DashboardFilter('".concat(e,"')")},generateDataExpressionFromTemplate:function(e,a){for(var r=e.EditorTemplate.substring(0,e.EditorTemplate.indexOf("(")+1),n=e.EditorTemplate.substring(e.EditorTemplate.indexOf("(")).replace("(","").replace(")","").split(","),t=0;t<e.FunctionParametersType.length;t++){switch(e.FunctionParametersType[t]){case"dataname":r+=a.dataCloneName?"'".concat(a.dataCloneName,"'"):n[t];break;case"datacolumnname":r+=a.dataColumnName?"'".concat(a.dataColumnName,"'"):n[t];break;default:r+=n[t]}t<e.FunctionParametersType.length-1&&(r+=",")}return e.EditorTemplate=r+=")",e.EditorTemplate},formulaWidgetDependencyRegex:function(){return/widget\(\s*'([^']+)'\s*,\s*'(\w+)'\s*(,.*)?\)/gi},formulaWidgetFilterDependencyRegex:function(){return/widgetfilter\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)/gi},formulaDashboardFilterDependencyRegex:function(){return/dashboardfilter\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)/gi},formulaFilterPanelDependencyRegex:function(){return/filterpanel\(\s*'([^']+)'\s*,\s*'([^']+)'\s*,\s*'(\w+)'\s*(,.*)?\)/gi},formulaDashboardFormulaDependencyRegex:/DashboardFormula\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)|SessionParameter\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)/gi,formulaDashboardFormulaRemoveComment:/\/\*[\s\S]*?\*\/|([^:]|^)\/\/.*/gi,formulaDashboardFormulaDependencyRegexBis:function(){return/dashboardformula\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)|sessionparameter\(\s*'([^']+)'\s*(?:,\s*([^)]+)\s*)?\)/gi},evaluateFormula:function(t){var r=Array.isArray(t.formula),e="FormulaEditor/Resolve",a={Formulas:r?t.formula:[t.formula]};if(t.widget&&(t.customDependenciesFunction?t.widget.addDependencies(t.formula,t.customDependenciesFunction,!0):t.widget.addDependencies(t.formula,void 0,void 0,void 0,t.addCycling),e="FormulaEditor/Resolve/".concat(t.widget.guid),a.DashboardRecId=t.dashboard?t.dashboard.id:t.widget.dashboard&&t.widget.dashboard.id,a.FilterDependencies=t.widget.getDashboardFiltersDependencies(),a.Dependencies=t.widget.getDependenciesValues(),a.FormulasDependencies=t.widget.getFormulasDependenciesValues(),a.ParametersDependencies=t.widget.getParametersDependencies(),a.ContextualParameters=!t.is_visibility&&t.widget.getContextualParameters?t.widget.getContextualParameters():null,a.ForbiddenFormulas=t.forbiddenFormulas),t.dashboardFormulaObj){if(t.dashboardFormulaObj.dependenciesFunction(t.dashboardFormulaObj.formula,t.dashboardFormulaObj.dashboard),a.DashboardRecId=null==(o=t.dashboardFormulaObj.dashboard)?void 0:o.id,a.Dependencies=t.dashboardFormulaObj.getDependencies(t.dashboardFormulaObj.formula,t.dashboardFormulaObj.dashboard),a.ParametersDependencies=t.dashboardFormulaObj.parameterDependencies,a.FilterDependencies=null==(o=t.dashboardFormulaObj.dashboard)?void 0:o.getDashboardFiltersDependencies(),!a.Dependencies.every(function(e){return e.resolved}))return;(a.Dependencies.length||a.ParametersDependencies&&a.ParametersDependencies.length||a.FilterDependencies&&a.FilterDependencies.length)&&(o=t.dashboardFormulaObj.formula.client_identifier,e=(t.dashboardFormulaObj.is_filter?"FormulaEditor/DashboardFilterFormulas/":"FormulaEditor/DashboardFormulas/").concat(o))}t.customParameters&&t.customParameters.length&&(a.ParametersDependencies=t.customParameters),t.beforePost&&t.beforePost();function n(e){var a,r,n;t.dashboardFormulaObj&&t.dashboardFormulaObj.storeInSession&&(a=t.dashboardFormulaObj.formula.name,(r=null)!==(n=sessionStorage.getItem("cd-parameters"))?(n=(r=JSON.parse(n)).find(function(e){return e.parameter===a}))?n.value=e:r.push({parameter:a,value:e}):r=[{parameter:a,value:e}],sessionStorage.setItem("cd-parameters",JSON.stringify(r)))}var o=WS.post(e,a,{context:this}).done(function(e){var a;e.Success?r?(n(e.Result),t.sucessCallback&&t.sucessCallback(e.Result)):(a=e.Result&&e.Result[0].value,n(a),t.sucessCallback&&t.sucessCallback(a)):(n(a),t.errorCallback&&t.errorCallback(e))}).always(function(){t.completeCallback&&t.completeCallback()});if(t.getAjaxObject)return o}};
//# sourceMappingURL=FormulaUtils.js.map

function ownKeys(t,e){var i,r=Object.keys(t);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(t),e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,i)),r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(i),!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(Object(i)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},e=Object.prototype,l=e.hasOwnProperty,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",i=t.asyncIterator||"@@asyncIterator",o=t.toStringTag||"@@toStringTag";function n(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{n({},"")}catch(e){n=function(e,t,i){return e[t]=i}}function s(e,t,i,r){var o,n,a,s,t=t&&t.prototype instanceof u?t:u,t=Object.create(t.prototype),r=new v(r||[]);return t._invoke=(o=e,n=i,a=r,s="suspendedStart",function(e,t){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===e)throw t;return D()}for(a.method=e,a.arg=t;;){var i=a.delegate;if(i){i=function e(t,i){var r=t.iterator[i.method];if(void 0===r){if(i.delegate=null,"throw"===i.method){if(t.iterator.return&&(i.method="return",i.arg=void 0,e(t,i),"throw"===i.method))return c;i.method="throw",i.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}r=d(r,t.iterator,i.arg);if("throw"===r.type)return i.method="throw",i.arg=r.arg,i.delegate=null,c;r=r.arg;return r?r.done?(i[t.resultName]=r.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=void 0),i.delegate=null,c):r:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,c)}(i,a);if(i){if(i===c)continue;return i}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===s)throw s="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);s="executing";i=d(o,n,a);if("normal"===i.type){if(s=a.done?"completed":"suspendedYield",i.arg===c)continue;return{value:i.arg,done:a.done}}"throw"===i.type&&(s="completed",a.method="throw",a.arg=i.arg)}}),t}function d(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}a.wrap=s;var c={};function u(){}function h(){}function p(){}var t={},f=(n(t,r,function(){return this}),Object.getPrototypeOf),f=f&&f(f(w([]))),m=(f&&f!==e&&l.call(f,r)&&(t=f),p.prototype=u.prototype=Object.create(t));function g(e){["next","throw","return"].forEach(function(t){n(e,t,function(e){return this._invoke(t,e)})})}function _(a,s){var t;this._invoke=function(i,r){function e(){return new s(function(e,t){!function t(e,i,r,o){var n,e=d(a[e],a,i);if("throw"!==e.type)return(i=(n=e.arg).value)&&"object"==_typeof(i)&&l.call(i,"__await")?s.resolve(i.__await).then(function(e){t("next",e,r,o)},function(e){t("throw",e,r,o)}):s.resolve(i).then(function(e){n.value=e,r(n)},function(e){return t("throw",e,r,o)});o(e.arg)}(i,r,e,t)})}return t=t?t.then(e,e):e()}}function b(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function y(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function v(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(b,this),this.reset(!0)}function w(t){if(t){var i,e=t[r];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return i=-1,(e=function e(){for(;++i<t.length;)if(l.call(t,i))return e.value=t[i],e.done=!1,e;return e.value=void 0,e.done=!0,e}).next=e}return{next:D}}function D(){return{value:void 0,done:!0}}return n(m,"constructor",h.prototype=p),n(p,"constructor",h),h.displayName=n(p,o,"GeneratorFunction"),a.isGeneratorFunction=function(e){e="function"==typeof e&&e.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e},a.awrap=function(e){return{__await:e}},g(_.prototype),n(_.prototype,i,function(){return this}),a.AsyncIterator=_,a.async=function(e,t,i,r,o){void 0===o&&(o=Promise);var n=new _(s(e,t,i,r),o);return a.isGeneratorFunction(t)?n:n.next().then(function(e){return e.done?e.value:n.next()})},g(m),n(m,o,"Generator"),n(m,r,function(){return this}),n(m,"toString",function(){return"[object Generator]"}),a.keys=function(i){var e,r=[];for(e in i)r.push(e);return r.reverse(),function e(){for(;r.length;){var t=r.pop();if(t in i)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=w,v.prototype={constructor:v,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(y),!e)for(var t in this)"t"===t.charAt(0)&&l.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(i){if(this.done)throw i;var r=this;function e(e,t){return n.type="throw",n.arg=i,r.next=e,t&&(r.method="next",r.arg=void 0),!!t}for(var t=this.tryEntries.length-1;0<=t;--t){var o=this.tryEntries[t],n=o.completion;if("root"===o.tryLoc)return e("end");if(o.tryLoc<=this.prev){var a=l.call(o,"catchLoc"),s=l.call(o,"finallyLoc");if(a&&s){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;0<=i;--i){var r=this.tryEntries[i];if(r.tryLoc<=this.prev&&l.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var o=r;break}}var n=(o=o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc?null:o)?o.completion:{};return n.type=e,n.arg=t,o?(this.method="next",this.next=o.finallyLoc,c):this.complete(n)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),c},finish:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var i=this.tryEntries[t];if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),y(i),c}},catch:function(e){for(var t=this.tryEntries.length-1;0<=t;--t){var i,r,o=this.tryEntries[t];if(o.tryLoc===e)return"throw"===(i=o.completion).type&&(r=i.arg,y(o)),r}throw new Error("illegal catch attempt")},delegateYield:function(e,t,i){return this.delegate={iterator:w(e),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=void 0),c}},a}function _createForOfIteratorHelper(e,t){var i,r,o,n,a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return r=!(i=!0),{s:function(){a=a.call(e)},n:function(){var e=a.next();return i=e.done,e},e:function(e){r=!0,o=e},f:function(){try{i||null==a.return||a.return()}finally{if(r)throw o}}};if(Array.isArray(e)||(a=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return a&&(e=a),n=0,{s:t=function(){},n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var i;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(i="Object"===(i=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:i)||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=new Array(t);i<t;i++)r[i]=e[i];return r}function asyncGeneratorStep(e,t,i,r,o,n,a){try{var s=e[n](a),l=s.value}catch(e){return void i(e)}s.done?t(l):Promise.resolve(l).then(r,o)}function _asyncToGenerator(s){return function(){var e=this,a=arguments;return new Promise(function(t,i){var r=s.apply(e,a);function o(e){asyncGeneratorStep(r,t,i,o,n,"next",e)}function n(e){asyncGeneratorStep(r,t,i,o,n,"throw",e)}o(void 0)})}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var _WidgetIconsReferences;!function(){var i,r,A=["selectedcategory","selectedgeography","selectedseries","selectedcolor","selectedregion","selectedregioncode","selectedregions","selectedregioncodes","selectedx","selectedxarray","selectedy","selectedyarray","selectedvaluearray","selectedseriesarray","selectedpoint","selectedpointarray","selectedz","selectedzarray","selectedseriesarray","selectedpoint","selectedpointarray"];function n(e,t){this.model=e,this.dashboard=t,this._bindEvents(),this._dependencies=[],this._removedDependencies=[],this._dashboardFormulasDependencies=[],this._dashboardFilterDependencies=[]}(window.Widget=n).loadedScriptsPromises={},n.loadedStyles={},n.loadedFonts={},n.prototype=$.extend({_bindEvents:function(){var e,t=this;this.dashboard&&this.dashboard.in_editor&&(e=function(){t.isTooltipEnabled()&&(t.updateTooltipText(),t.updateTooltipStyle()),t.p.interactions&&t.p.interactions.toolbar_information_enabled&&""!==t.p.interactions.toolbar_information_text&&(t.updateTooltipText(t.p.interactions.toolbar_information_text),t.updateTooltipStyle())},this.on(WidgetLayer.Events.POSITIONAPPLIED,e),this.on(WidgetLayer.Events.RESIZED,e))},_bindToolbarDrilldownInteraction:function(){var e=this;void 0!==_typeof(this.p.drilldown_categories)&&this.p.drilldown_categories&&!this._drilldownInteractionBound&&(this.container.on("click",".toolbar .drillUp:not([disabled])",function(){ChartUtils.drillUp(e)}),this._drilldownInteractionBound=!0)},_bindToolbarZoomInteraction:function(){var e=this,t=void 0!==_typeof(this.p.interactions.allow_zoom)&&this.p.interactions.allow_zoom;(t=this.isZoomAllowed?this.isZoomAllowed():t)&&!this._zoomInteractionBound&&(this.container.on("click",".toolbar .resetChartZoom:not([disabled])",function(){ChartUtils.resetChartZoom(e)}),this._zoomInteractionBound=!0)},_initExportDataSignalREvent:function(r){var o=this;this.dashboard.dashboardHub&&this.dashboard.dashboardHub.on("exportAC1ProgressUpdate",function(e,t){var i;(r&&o.exportTaskGUID===e||o.dashboard.exportTaskGUID===e)&&(e=window._App.webservices_url+"File/{0}?key={1}&id={2}&type={3}".format(t,Utils.getSessionKey(),Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()),Utils.isMobileDevice()?window.location=e:null==window.open(e)&&(i=DashboardDialog.show(e,null,null,null,null,!0,!0),setTimeout(function(){DashboardDialog.removeWindow(i)},1e3)),r?o.exportTaskGUID=null:o.dashboard.exportTaskGUID=null),o.hideExportLoading?o.hideExportLoading():(o.hideLoading(),$(".toolbar #dataDownload",o.container).length&&$(".toolbar #dataDownload",o.container).addClass("fa-file-export").removeClass("fa-spinner fa-pulse"))},window)},_bindContainerInteractionEvents:function(){var a=this,s=this;if(this.p&&this.p.interactions){if(this.container.on("mouseenter",function(){s.isTooltipEnabled()&&(s.updateTooltipText(),s.updateTooltipStyle())}),this.p.interactions.ondblclick){var i=this.p.interactions.ondblclick,r=this.p.interactions.onseriesdblclick;switch(i.type){case Enums.InteractionActionType.Dashboard:this.container.noDoubleTapZoom().on("dblclick",function(e){var t;e.target.parentElement&&(t=e.target.parentElement.getAttribute("class")),null!=r&&t&&(-1<t.indexOf("highcharts-series")||-1<t.indexOf("highcharts-tracker"))||s.handleDashboardInteraction(i)});break;case Enums.InteractionActionType.Binder:this.container.noDoubleTapZoom().on("dblclick",function(e){var t;e.target.parentElement&&(t=e.target.parentElement.getAttribute("class")),null!=r&&t&&(-1<t.indexOf("highcharts-series")||-1<t.indexOf("highcharts-tracker"))||s.handleBinderInteraction(i)});break;case Enums.InteractionActionType.Url:this.container.noDoubleTapZoom().on("dblclick",function(e){var t;e.target.parentElement&&(t=e.target.parentElement.getAttribute("class")),null!=r&&t&&(-1<t.indexOf("highcharts-series")||-1<t.indexOf("highcharts-tracker"))||DashboardUtils.handleUrlInteraction(s.dashboard,s,i)});break;case Enums.InteractionActionType.WS:this.container.noDoubleTapZoom().on("dblclick",function(e){var t;e.target.parentElement&&(t=e.target.parentElement.getAttribute("class")),null!=r&&t&&(-1<t.indexOf("highcharts-series")||-1<t.indexOf("highcharts-tracker"))||s.handleWSInteraction(i)})}}function e(t){var e,i,r,o=a.container,n=o.find("[data-highcharts-chart]");0<n.length?(n=n.highcharts(),i=a.p.background.background_color||a.p.background.color,i=n.getSVG({chart:{backgroundColor:i&&"transparent"!==i?i:"#fff"},exporting:{sourceHeight:n.chartHeight,sourceWidth:n.chartWidth}}),-1!==["CH9","SC1"].indexOf(a.model.type)&&(i=i.replace(/stroke-opacity="[^"]*" stroke-width*/gm," stroke-width")),e=(n=document.createElement("canvas")).getContext("2d"),canvg.Canvg.fromString(e,i,{ignoreDimensions:!1}).start(),t(n)):(e=s.dashboard.ui.get(0),i=parseFloat(window.getComputedStyle(e).transform.replace("matrix(","").split(",")[0]),html2canvas(o.get(0),{allowTaint:!0,logging:!1,scale:s.container.hasClass("fullscreen")||1<i?window.devicePixelRatio:1.35*i,scrollX:0,scrollY:s.container.hasClass("fullscreen")?null:-window.scrollY,useCORS:!0,onclone:(r=_asyncToGenerator(_regeneratorRuntime().mark(function e(t){var i,r,o;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:(i=t.querySelector("div#widget_".concat(s.model.guid))).style.boxShadow=null,i=i.getElementsByClassName("mCustomScrollbar"),r=_createForOfIteratorHelper(i);try{for(r.s();!(o=r.n()).done;)o.value.style.boxShadow=null}catch(e){r.e(e)}finally{r.f()}return e.next=7,new Promise(function(e){return setTimeout(e,250)});case 7:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})}).then(function(e){t(e)}))}this.p.interactions.toolbar_copy_enabled&&"undefined"!=typeof ClipboardItem&&this.container.on("click",".toolbar #copy",function(){return e(function(e){e.toBlob(function(e){navigator.clipboard.write([new ClipboardItem(_defineProperty({},e.type,e))])},"image/png",1)}),!1}),this.dashboard&&!this.dashboard.in_editor&&((this.p.interactions.ondblclick||this.p.interactions.onclick||this.p.onrowdblclick)&&this.container.addClass("interactions"),this.p.interactions.toolbar_zoom_enabled&&this.container.on("click",".toolbar #zoom",function(){var e,t;return s.container.hasClass("fullscreen")?($(this).addClass("fa-expand-alt").removeClass("fa-compress-alt").attr("title",_("Maximize")),s.dashboard.ui.removeClass("no-temp-scale"),s.dashboard.trigger("minimized"),s.container.removeClass("fullscreen")):($(this).removeClass("fa-expand-alt").addClass("fa-compress-alt").attr("title",_("Minimize")),s.dashboard.ui.addClass("no-temp-scale"),s.dashboard.trigger("maximized"),s.container.addClass("fullscreen")),s.trigger("height",!0),s.ui.highcharts&&s.ui.highcharts()&&((e=s.ui.highcharts()).render(),t=e.options.legend,e.legend.update(t,!0)),!1}),this.p.interactions.toolbar_data_download_enabled&&(this.container.on("click",".toolbar #dataDownload",function(){var e=-1!==WidgetAC1.WidgetUsingDisplayExportMode.indexOf(a.model.type)?Enums.AC1WidgetExportMode.Display:Enums.AC1WidgetExportMode.Data;a.exportWidgetData(e,!0)}),this._initExportDataSignalREvent()),this.p.interactions.toolbar_download_enabled&&this.container.on("click",".toolbar #download",function(){return e(function(e){var t;e.msToBlob?(t=e.msToBlob(),window.navigator.msSaveBlob(t,"".concat(s.model.name,".png"))):((t=document.createElement("a")).href=e.toDataURL("image/png",1),t.download="".concat(s.model.name,".png"),t.click())}),!1}))}},handleWSInteraction:function(s){function t(a){Utils._resolveDashboardParameters(e.dashboard,s,function(e){var t=null;if("GET"===s.method){var i,r="",o=_createForOfIteratorHelper(e);try{for(o.s();!(i=o.n()).done;){var n=i.value;r+="".concat(n.name,"=").concat(n.value)}}catch(e){o.e(e)}finally{o.f()}0<r.length&&(a="".concat(a,"?").concat(r))}else t=e.map(function(e){return _defineProperty({},e.name,e.value)});$.ajax({type:s.method,url:a,data:t})})}var e=this;s.url_type||(s.url_type="id");"id"===s.url_type&&""!==s.url?t(s.url):""!==s.url_formula&&this.dashboard.evaluateDashboardFormula({_dependencies:[],formula:s.url_formula,name:""},function(e){e.Result&&t(e.Result)})},handleBinderInteraction:function(e){e.selection_mode||(e.selection_mode="id"),"id"===e.selection_mode&&e.binder_id&&this.dashboard&&this.dashboard.trigger("showBinder",{binder_id:e.binder_id,mode:e.mode,parameters:e.parameters}),e.selection_mode&&"formula"===e.selection_mode&&this.processInteractionBinderFormula(e)},processInteractionBinderFormula:function(t){var i=this,e={formula:t.binder_name_formula,name:"",_dependencies:[]};this.dashboard.evaluateDashboardFormula(e,function(e){WS.post("Binder/GetBinderInfoByName",{Name:e}).done(function(e){e.Result&&i.dashboard.trigger("showBinder",{binder_id:e.Result,mode:t.mode,parameters:t.parameters})})})},handleDashboardInteraction:function(e){e.selection_mode||(e.selection_mode="id"),"id"===e.selection_mode&&e.dashboard_id&&this.dashboard&&this.dashboard.trigger("dashboardchanged",{dashboard_id:e.dashboard_id,mode:e.mode,parameters:e.parameters}),e.selection_mode&&"formula"===e.selection_mode&&this.processInteractionDashboardFormula(e)},processInteractionDashboardFormula:function(t){var i=this,e={formula:t.dashboard_name_formula,name:"",_dependencies:[]};this.dashboard.evaluateDashboardFormula(e,function(e){WS.post("Dashboard/GetDashboardInfoByName",{Name:e}).done(function(e){e.Result&&i.dashboard.trigger("dashboardchanged",{dashboard_id:e.Result,mode:t.mode,parameters:t.parameters,widget:i})})})},applyVisibility:function(e,t){this.loading&&e.tryUpdate(),void 0===e.visible&&e.createProperty("visible"),e.container.removeClass("notvisible"),t?(this.dashboard&&this.dashboard.in_editor?e.container.removeClass("visibilityLayer"):this.settings||e.container.css("visibility","visible"),e.visible=!0):(this.dashboard&&this.dashboard.in_editor?e.container.addClass("visibilityLayer"):this.settings||(e.container.css("visibility","hidden"),e.container.addClass("notvisible")),e.visible=!1),this._scriptsLoaded&&!this.loading&&e.onVisibilityChange&&e.onVisibilityChange(),this.trigger("visibility_changed")},onVisibilitydependenciesChange:function(e,t){e.resolved=!0,t.evaluateAndExecuteWidgetVisibility()},resetPendingState:function(){null!=this.pending_state&&this.resetState(this.pending_state,!0)},evaluateAndExecuteWidgetVisibility:function(){var t=this;if(this._from&&this._from.dashboard)return this._lastvisibilityValue=!0;this.visibility_state==Enums.WidgetVisibilityState.Conditional&&this.visibility_formula?!this._dependencies.length||this._dependencies.filter(function(e){return e.visibility_dependency}).every(function(e){return e.resolved})?(this._visibilityPromise&&this._visibilityPromise.abort(),this._visibilityPromise=FormulaUtils.evaluateFormula({formula:this.visibility_formula,is_visibility:!0,getAjaxObject:!0,customDependenciesFunction:this.onVisibilitydependenciesChange,widget:this,sucessCallback:function(e){t._lastvisibilityValue=!0===e,t.applyVisibility(t,t._lastvisibilityValue)},errorCallback:function(){t.applyVisibility(t,!1)}})):t.applyVisibility(t,t._lastvisibilityValue):(this._lastvisibilityValue=this.visibility_state==Enums.WidgetVisibilityState.Visible,this.applyVisibility(this,this.visibility_state==Enums.WidgetVisibilityState.Visible)),this.trigger("visibility_changed")},getVisibilityClass:function(){var e="";return this.dashboard&&this.dashboard.in_editor?e="visibilityLayer":this.settings&&(e=""),e},updateWidgetCustomClass:function(){this._customClassApplied&&this.container.removeClass(this._customClassApplied),this.custom_class&&(this._customClassApplied=this.custom_class,this.container.addClass(this.custom_class))},createWidgetContainerDOM:function(){var e=this.getVisibilityClass();this.container=$('<div class="widget" tabindex="-1">').attr("id","widget_".concat(this.guid)).addClass("".concat(this.model.type," ").concat(e)),this.updateWidgetCustomClass(),this.dashboard&&this.dashboard.in_editor&&this.class.options.layer&&(this.layer=$('<div class="blocking-layer">').appendTo(this.container)),this.visibility_state==Enums.WidgetVisibilityState.Conditional&&(this.isPasted||this.settings||(this.container.addClass("notvisible"),this.container.css("visibility","hidden")),this.addDependencies(this.visibility_formula,this.onVisibilitydependenciesChange,!0)),this.ui=$('<div class="ui">').appendTo(this.container),this.isPasted?this.applyVisibility(this,this._lastvisibilityValue):(this._lastvisibilityValue=!1,this.evaluateAndExecuteWidgetVisibility()),this._bindContainerInteractionEvents()},_render:function(e){var t=this;this.container||this.createWidgetContainerDOM(),e.append(this.container),!this._stylesLoaded&&$.isArray(this.styles)&&0<this.styles.length&&(this._loadStyles(),this._stylesLoaded=!0),!this._scriptsLoaded&&$.isArray(this.scripts)&&0<this.scripts.length?this._loadScripts(function(){t._scriptsLoaded=!0,t._init()}):this._init()},visibilityDependenciesFunction:function(e,t){e.resolved=!0,t.evaluateAndExecuteWidgetVisibility()},_init:function(){this.updateFormulaDependencies(),this.class._bindingInitialized||(this.class._bindingInitialized=!0,this._createFormulaResultBindings()),this.init()},_createFormulaResultBindings:function(){var r=this;this.traverseFormulaInput(function(e,t,i){EventHandler.createProperty(r,"".concat(i,"_result")),r.class.options.bindings_output||(r.class.options.bindings_output=[])})},updateContainerStyle:function(e){e=this.p[e];this.container.css({background:e.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background_color,DashboardUtils.shadeBlend(null,e.background_color)):e.background_color,"border-width":"".concat(e.border.width,"px"),"border-radius":"".concat(e.roundness?e.border.width+e.roundness:0,"px"),"border-color":e.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(e.shadow)}),$(".os-scrollbar-vertical",this.container).css({"border-width":e.border.width||0,"border-left-width":e.border.width?1:0,"border-color":e.border.color}),$(".mCSB_scrollTools_vertical",this.container).css({"border-width":e.border.width||0,"border-left-width":e.border.width?1:0,"border-color":e.border.color})},getShadowCssFromShadowConfiguration:function(e){return e.radius?"0 1px {0}px rgba(0,0,0,{1})".format(e.radius,e.opacity):"none"},showLoading:function(t){var i=this;this._loadingDOM||(this._loadingTimerHandler=setTimeout(function(){var e;this._loaded||(this._loadingDOM&&this._loadingDOM.remove(),e=t?"z-index: {0};".format(t):"",this._loadingDOM=$('<div class="loading" style="'.concat(e,'">\n                                            <svg id="SVG-Circus-').concat(i.guid,'" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid meet">\n                                                <circle id="background_1" cx="50" cy="50" r="50" fill="rgba(60,60,60,0.5)"></circle>\n                                                <circle id="actor_3" cx="50" cy="75" r="8" fill="rgba(255,255,255,1)"></circle>\n                                                <circle id="actor_2" cx="50" cy="75" r="8" fill="rgba(255,255,255,1)"></circle>\n                                                <circle id="actor_1" cx="50" cy="75" r="8" fill="rgba(255,255,255,1)"></circle>\n                                                <script type="text/ecmascript"><![CDATA[(function(){var actors={};actors.actor_1={node:document.getElementById("SVG-Circus-').concat(i.guid,'").getElementById("actor_1"),type:"circle",cx:50,cy:75,dx:20,dy:28,opacity:1};actors.actor_2={node:document.getElementById("SVG-Circus-').concat(i.guid,'").getElementById("actor_2"),type:"circle",cx:50,cy:75,dx:20,dy:28,opacity:1};actors.actor_3={node:document.getElementById("SVG-Circus-').concat(i.guid,'").getElementById("actor_3"),type:"circle",cx:50,cy:75,dx:20,dy:28,opacity:1};var tricks={};tricks.trick_1=(function(_,t){t=(function(n){return.5>n?2*n*n:-1+(4-2*n)*n})(t)%1,t=t*3%1,t=0>t?1+t:t;var a=(_.node,-25*Math.cos(-90*Math.PI/180)),i=25*Math.sin(-90*Math.PI/180);a+=25*Math.cos((-90-360*t*1)*Math.PI/180),i-=25*Math.sin((-90-360*t*1)*Math.PI/180),_._tMatrix[4]+=a,_._tMatrix[5]+=i});tricks.trick_2=(function(t,i){i=(function(n){return.5>n?2*n*n:-1+(4-2*n)*n})(i)%1,i=0>i?1+i:i;var _=t.node;0.1>=i?_.setAttribute("opacity",i*(t.opacity/0.1)):i>=0.9?_.setAttribute("opacity",t.opacity-(i-0.9)*(t.opacity/(1-0.9))):_.setAttribute("opacity",t.opacity)});var scenarios={};scenarios.scenario_1={actors: ["actor_1","actor_2","actor_3"],tricks: [{trick: "trick_1",start:0,end:1},{trick: "trick_2",start:0,end:1}],startAfter:0,duration:4000,actorDelay:250,repeat:0,repeatDelay:100};var _reqAnimFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.oRequestAnimationFrame,fnTick=function(t){var r,a,i,e,n,o,s,c,m,f,d,k,w;for(c in actors)actors[c]._tMatrix=[1,0,0,1,0,0];for(s in scenarios)for(o=scenarios[s],m=t-o.startAfter,r=0,a=o.actors.length;a>r;r++){if(i=actors[o.actors[r]],i&&i.node&&i._tMatrix)for(f=0,m>=0&&(d=o.duration+o.repeatDelay,o.repeat>0&&m>d*o.repeat&&(f=1),f+=m%d/o.duration),e=0,n=o.tricks.length;n>e;e++)k=o.tricks[e],w=(f-k.start)*(1/(k.end-k.start)),tricks[k.trick]&&tricks[k.trick](i,Math.max(0,Math.min(1,w)));m-=o.actorDelay}for(c in actors)i=actors[c],i&&i.node&&i._tMatrix&&i.node.setAttribute("transform","matrix("+i._tMatrix.join()+")");_reqAnimFrame(fnTick)};_reqAnimFrame(fnTick);})()]]><\/script>\n                                            </svg>\n                                        </div>')).appendTo(this.container),i.showLoadingCallback&&i.showLoadingCallback())}.bind(this),300))},hideLoading:function(){clearTimeout(this._loadingTimerHandler),this._loadingDOM&&(this._loadingDOM.remove(),delete this._loadingDOM,this.hideLoadingCallback&&this.hideLoadingCallback()),this.updateToolbar()},showError:function(e){this._errorDOM&&this._errorDOM.remove(),this._errorDOM=$('<div class="widgetError"><div><i class="fas fa-exclamation-triangle"></i></div></div>');var e=e||_("GenericWidgetErrorMessage"),t=(this.container.addClass("in-error"),this.container.append(this._errorDOM),0<$("#dashboard").length?$("#dashboard"):$("#widgetpreview"));t&&0!==t.length||0<$(".binderTabsViewFrame .dashboard").length&&(t=$(".binderTabsViewFrame .dashboard")),this.toomanyvalues&&this.onUpdateDataTooManyValues?this.onUpdateDataTooManyValues():this.setCustomError?this.setCustomError(_("GenericWidgetErrorMessage"),e):this.setSample?this.setSample():this.render&&this.render(),t&&0<t.length&&this.initErrorTooltip(t,e)},initErrorTooltip:function(r,o){var n=this,a=$("#widgetErrorTooltip");a&&0!=a.length||(a=this._errorTooltipDOM=$(Mustache.render('<div id="widgetErrorTooltip">                                                                                    <div class="header error"><span>{{tooltipHeader}}</span></div>                                                                                <div class="formulaResult"></div>',{tooltipHeader:_("Error")})),$("body").append(this._errorTooltipDOM)),this._errorDOM.on("mouseover","> div i",function(){var e=$(this),t=e.offset().left+e.outerWidth(),i=r.offset().left+r.outerWidth(),t=t+a.outerWidth();a.removeClass("left right"),t<i*(n.dashboard?n.dashboard.ui[0].getBoundingClientRect().width/n.dashboard.ui[0].offsetWidth:1)?(a.css({top:"".concat(e.offset().top+e.outerHeight()/2,"px"),left:"".concat(e.offset().left+e.outerWidth(),"px")}),a.addClass("right")):(a.css({top:"".concat(e.offset().top+e.outerHeight()/2,"px"),left:"".concat(e.offset().left-a.outerWidth(),"px")}),a.addClass("left")),$(".formulaResult",a).html(o),a.fadeIn(100)}),this._errorDOM.on("mouseout",function(){a.fadeOut(100),$(".formulaResult",a).text("")})},hideError:function(){this.container&&(this.container.removeClass("in-error"),this._errorDOM&&this._errorDOM.remove())},showLegacyErrorTooltip:function(e,t){var i=null,e=(this.hideLegacyErrorTooltip(),i=$(Mustache.render('<div id="widgetErrorTooltip" class="vueWidgetLegacyError">                                          <div class="header error"><span>{{tooltipHeader}}</span></div>                                          <div class="formulaResult"></div>',{tooltipHeader:_("Error")})),$("body").append(i),i.data("widgetid",self.guid),$(e)),r=e.offset().left+e.outerWidth(),o=e.parent().offset().left+e.parent().outerWidth(),r=r+i.outerWidth();i.removeClass("left right"),r<o?(i.css({top:"".concat(e.offset().top+e.outerHeight()/2,"px"),left:"".concat(e.offset().left+e.outerWidth(),"px")}),i.addClass("right")):(i.css({top:"".concat(e.offset().top+e.outerHeight()/2,"px"),left:"".concat(e.offset().left-i.outerWidth(),"px")}),i.addClass("left")),$(".formulaResult",i).html(t),i.fadeIn(100)},hideLegacyErrorTooltip:function(){$(".vueWidgetLegacyError").each(function(e){$(this).data("widgetid")===self.guid&&($(this).fadeOut(100),$(this).remove())})},_loadStyles:function(){for(var e=0;e<this.styles.length;e++){var t=this.styles[e];n.loadedStyles[t]||($("head").append($('<link rel="stylesheet">').attr("href",t)),n.loadedStyles[t]=!0)}},_loadScripts:function(i){var o,t=this,e=this.dashboard||this._from.dashboard,r=[],e=(e&&e.model&&(r=(null==(e=e.model.scripts.find(function(e){return e.Key===t.model.type}))?void 0:e.Value)||[]),!0);(e="MA2"===this.model.type?0<r.length&&!this.model.prevent_load:e)?(o=r.concat(this.scripts),function e(r){var t=o[r];-1==t.indexOf("?")&&(t="".concat(t,"?").concat(_App.version)),(n.loadedScriptsPromises[t]||(n.loadedScriptsPromises[t]=$.ajax({type:"GET",dataType:"script",cache:!0,url:t}))).fail(function(e,t,i){console.error("Could not load: ".concat(o[r]),e,t,i)}).then(function(){o.length>r+1?e(r+1):i()})}(0)):this.error=_("MA2RenderingLimitExceeded")},tryUpdate:function(e){var t=this;this._dependencies.length&&!this._dependencies.every(function(e){return e.resolved||e.notNeededToRender})||this._dashboardFormulasDependencies.length&&!this._dashboardFormulasDependencies.every(function(e){return e.resolved||e.notNeededToRender})||this._dashboardFilterDependencies.length&&!this._dashboardFilterDependencies.every(function(e){return e.resolved||e.notNeededToRender})?void 0!==this.updateService&&(this.loading=!0):function(){t._loaded=!1,t.forceUpdate=!1,t.updatedPrevented=!1,t.updatedFromDependency=e,t.update()}()},update:function(){this._loaded=!1,this.__debouncedUpdate||(this.__debouncedUpdate=Utils.debounce(this.__update.bind(this),20)),this.__debouncedUpdate()},convertCustomDataToHeaders:function(e){return{rows:(e=e||this.p.data.custom)[0]?[{name:e[0][0],type:"string",id:-1}]:[],columns:[{name:_("Series"),type:"string",id:-2}],values:[{id:-3,name:_("Value"),aggregation:"sum",type:"float"}],rowHeaders:e[0]?e.slice(1).map(function(e){return{name:e[0],count:1,subtotals:0}}):[],columnHeaders:e[0]?e[0].slice(1).map(function(e){return{name:e,count:1,subtotals:0}}):[],data:e[0]?[e.slice(1).map(function(e){return e.slice(1)})]:[]}},__update:function(){var e,t,i,r;this.loading=!0,this.error=!1,this.toomanyvalues=!1,this._currentUpdateDataWSCall&&"pending"===this._currentUpdateDataWSCall.state()&&this._currentUpdateDataWSCall.abort(),this._currentResolveFiltersWS&&"pending"===this._currentResolveFiltersWS.state()&&this._currentResolveFiltersWS.abort(),this.p.data&&"custom"===this.p.data.mode?this._updateCustomModeData():this.p.data&&"formula"===this.p.data.mode?this._updateFormulaModeData():this.p.data&&"bindings"===this.p.data.mode&&Array.isArray(this.p.data_bindings)&&!this.p.data_bindings.length||this.canUpdateData&&!1===this.canUpdateData()?(this.loading=!1,this.setSample&&this.setSample()):(e="function"==typeof this.updateService?this.updateService():this.updateService)?"Tx3Data"!==e||this.p.formulas.length?!this.class.options.forceServiceCall&&void 0!==this.__lastDataResult&&(this._from&&!this.__previewLoaded||this.__settingsSaved)?(this.loading=!1,this.updateServiceSuccess&&this.updateServiceSuccess(JSON.parse(JSON.stringify(this.__lastDataResult))),this.__previewLoaded=!0,this.__settingsSaved=!1):(t=this.getUpdateDataQueryString?"?".concat(this.getUpdateDataQueryString()):"",i=function(){return"Formulas"!==e?"DashboardEditor/".concat(this.guid,"/").concat(e).concat(t):"FormulaEditor/Resolve/".concat(this.guid)}.bind(this)(),(r=this.getDataToSendForUpdate())&&void 0!==r.Widget&&null===r.Widget?(this.setLoadingState(),this.error=_("UnknownErroroccurred"),this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror")):(delete this.__lastDataResult,this._currentUpdateDataWSCall=WS.post(i,r,{context:this}).done(function(e){var t;this.setLoadingState(),void 0!==e.Success?e.Success?(this.__lastDataResult=JSON.parse(JSON.stringify(e.Result)),this.updateServiceSuccess&&this.updateServiceSuccess(e.Result),this.trigger("updatedatasuccess")):(t=Utils.getWidgetErrorMessage(e),this.error=null!==t?t:e.error_details,this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror")):e.too_many_values?(this.toomanyvalues=!0,this.error=_("TooManyValues"),this.updateServiceError&&this.updateServiceError(),this.trigger("updatedatatoomanyvalues")):(this.__lastDataResult=JSON.parse(JSON.stringify(e)),this.updateServiceSuccess&&this.updateServiceSuccess(e),this.trigger("updatedatasuccess"))}).fail(function(e){var t;0===e.status&&"abort"===e.statusText||(this.setLoadingState(),447===e.status?this.error=_("DataError_requesttimeout"):(t=Utils.getWidgetErrorMessage(e.responseJSON),this.error=null!==t?t:e.responseJSON||_("UnknownErroroccurred")),this.updateServiceError&&this.updateServiceError(e),this.trigger("updatedataerror"))}).always(function(){this.trigger("updatedatacomplete")}))):(this.loading=!1,this.updateServiceSuccess&&this.updateServiceSuccess(this.p.text)):(this._loaded=!0,this.loading=!1)},setLoadingState:function(){-1===["MA2"].indexOf(this.model.type)&&(this.loading=!1)},refreshAllowExport:function(e){this.p.interactions.onseriesdblclick&&"data"===this.p.interactions.onseriesdblclick.type?e.settings.Format.addBoolean({container:$(".allow-export-div",e.ui),label:_("AllowExport"),object:this.p.interactions,property:"allow_export",id:"allowExport"}):$("#prop_allowExport",e.ui).remove()},_resolveScaleMinMaxCustom:function(s,l,d,c){var e,u=this,t=[];s.scaleFormulaResults=[],s.intervalFormulaResult=[],this.traverseFormulaInput(function(e){t.push(e)}),t.length?(e={DashboardRecId:(this._from||this).dashboard.id,Formulas:t,FilterDependencies:this.getDashboardFiltersDependencies(),Widget:this.model,Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},WS.post("FormulaEditor/Resolve/".concat(this.guid),e,{context:this}).done(function(e){if(this.loading=!1,e.Success){var t=e.Result,i=0,r=d||u.p.y_axis,o=c||u.p.x_axis,n={max_result:null,min_result:null};if(u.p.sort_filter&&u.p.sort_filter.filters)for(var a=0;a<u.p.sort_filter.filters.length;a++)u.p.sort_filter.filters[a]&&u.p.sort_filter.filters[a].formula&&i++;n={max_result:null,min_result:null},null!==r.scale.max&&(n.max_result=t[i]),i++,null!==r.scale.min&&(n.min_result=t[i]),i++,s.scaleFormulaResults.push(n),n={max_result:null,min_result:null},o.scale&&null!==o.scale.max&&(n.max_result=t[i]),i++,o.scale&&null!==o.scale.min&&(n.min_result=t[i]),i++;o={value:null,type:null};r.scale.interval&&(o=t[i]),i++,s.intervalFormulaResult.push(o),s.scaleFormulaResults.push(n),l()}else{r=Utils.getWidgetErrorMessage(e);this.error=null!==r?r:e.error_details||_("UnknownErroroccurred"),this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror")}})):l()},_updateCustomModeData:function(){var e,r=[],t=[];this.p.sort_filter&&Array.isArray(this.p.sort_filter.filters)&&(r=this.p.sort_filter.filters.filter(function(e){return e.state!=Enums.WidgetFilterState.Disabled&&null!==e.operator&&null!==e.column})),"function"==typeof this.getCustomFormulaToResolve&&(t=this.getCustomFormulaToResolve()),0<r.length||0<t.length?(e=r.map(function(e){return e.formula}),e={DashboardRecId:(this._from||this).dashboard.id,Formulas:e.concat(t),FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},this._currentResolveFiltersWS=WS.post("FormulaEditor/Resolve/".concat(this.guid),e,{context:this}).done(function(e){if(this.loading=!1,e.Success){for(var t=0;t<r.length;t++)r[t].formula_result=e.Result[t].value;var i=e.Result.slice(r.length);this.updateServiceSuccess&&this.updateServiceSuccess(i)}else{i=Utils.getWidgetErrorMessage(e);this.error=null!==i?i:e.Result.error_details||_("UnknownErroroccurred"),this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror")}})):(this.loading=!1,this.updateServiceSuccess&&this.updateServiceSuccess())},_updateFormulaModeData:function(){var e,t=[];this.traverseFormulaInput(function(e){t.push(e)},!0),this.p.sort_filter&&$.isArray(this.p.sort_filter.filters)&&(0<(e=this.p.sort_filter.filters.filter(function(e){return e.state!=Enums.WidgetFilterState.Disabled&&null!==e.operator&&null!==e.column})).length&&(t=t.concat(e.map(function(e){return e.formula})))),this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{DashboardRecId:(this._from||this).dashboard.id,Formulas:t,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(e){var t;this.loading=!1,e.Success?(this.updateServiceSuccess&&this.updateServiceSuccess(e.Result),this.trigger("updatedatasuccess")):(t=Utils.getWidgetErrorMessage(e),this.error=null!==t?t:e.error_details,this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror"))})},getDataToSendForUpdate:function(){var e,t,i,r,o,n="function"==typeof this.updateService?this.updateService():this.updateService;return 0<=["CH10Data","CH2Data","CH7Data","CH8Data","CHData","ColumnsDistinctValues","ColumnsInfo","DA1Data","DC2Data","DC3Data","DC4Data","DI4Data","FlatData","GAData","GenericData","ID1MixedData","ID4Data","IDData","IN4Data","IN5Data","IN8Data","IN9Data","LIData","MA1Data","MA2Data","MA3Data","SC1Data","SC3Data","SC7Data","TA1Data","TA2Data","TA3Data","TA4Data","TA5Data","Tx3Data","TX4Data"].indexOf(n)?this.widgetDataToSendForUpdate():(n=this.getDashboardFiltersDependencies(),e=this.getFormulasDependenciesValues(),t=this.getParametersDependencies(),i=!this._from&&this.dashboard&&this.dashboard.model&&this.dashboard.model.binder_id?this.dashboard.model.binder_id:null,r=this.getDependenciesValues(),o=[],this.traverseFormulaInput(function(e){o.push(e)}),{BinderRecId:i,DashboardRecId:(this._from||this).dashboard.id,Dependencies:r,FilterDependencies:n,Formulas:o,FormulasDependencies:e,ParametersDependencies:t})},widgetDataToSendForUpdate:function(e){var t,i=!this._from&&this.dashboard&&this.dashboard.model&&this.dashboard.model.binder_id?this.dashboard.model.binder_id:null,r=["__type","type","guid","properties","name","state"],o=Utils.clone(this.model);for(t in o)-1===r.indexOf(t)&&delete o[t];if(e)return{BinderRecId:i,DashboardRecId:(this._from||this).dashboard.id,Widget:o};var n,e=this.getDashboardFiltersDependencies(),a=this.getFormulasDependenciesValues(),s=this.getParametersDependencies(),l=this.getDependenciesValues(!1,o),l=Utils.clone(l),d=_createForOfIteratorHelper(l);try{for(d.s();!(n=d.n()).done;){var c=n.value;delete c.lastValue,delete c.isSelf,delete c.resolved,delete c.visibility_dependency}}catch(e){d.e(e)}finally{d.f()}return{BinderRecId:i,DashboardRecId:(this._from||this).dashboard.id,Dependencies:l,FilterDependencies:e,FormulasDependencies:a,ParametersDependencies:s,Widget:o}},traverseFormulaInput:function(a,e,t){var i,r;(t||this.class.options.formula_input)&&(i=this.p,"function"==typeof(t=t||this.class.options.formula_input)&&(t=t(this.model.properties)),e&&(t=t.filter(function(e){return-1==e.indexOf("calculated_columns")})),r=function t(e,i){var r=i.split(".")[0],o=e[r],n=i.substring(r.length+1);$.isPlainObject(o)?!o||o.state&&o.state==Enums.WidgetFilterState.Disabled||t(o,n):$.isArray(o)?o.forEach(function(e){!e||e.state&&e.state==Enums.WidgetFilterState.Disabled||t(e,n)}):a(o,e,r)},t.forEach(function(e){r(i,e)}))},traverseCustomFormulaInput:function(a,e){var t,i;(e||this.class.options.custom_formula_input)&&(t=this.p,"function"==typeof(e=e||this.class.options.custom_formula_input)&&(e=e(this.model.properties)),i=function t(e,i){var r=i.split(".")[0],o=e[r],n=i.substring(r.length+1);$.isPlainObject(o)?t(o,n):$.isArray(o)?o.forEach(function(e){!e||e.state&&e.state==Enums.WidgetFilterState.Disabled||t(e,n)}):a(o,e,r)},e.forEach(function(e){i(t,e)}))},updateFormulaDependencies:function(){var e,t=this;this.p.sort_filter&&void 0!==this.p.sort_filter.filters&&(e=this.p.sort_filter.filters.filter(function(e){return e.state==Enums.WidgetFilterState.Disabled}),this.findAndRemoveFilterDependencies(e),this._removedFilters&&this._removedFilters.length&&(this.findAndRemoveFilterDependencies(this._removedFilters),this._removedFilters=[])),this.traverseFormulaInput(function(e){t.addDependencies(e)}),this.traverseCustomFormulaInput(function(e){t.addDependencies(e,null,!1,void 0,!1,!0)}),this.visibility_state==Enums.WidgetVisibilityState.Conditional&&this.visibility_formula&&t.addDependencies(this.visibility_formula,this.onVisibilitydependenciesChange,!0)},findAndRemoveFilterDependencies:function(e){for(var t=0;t<e.length;t++){for(var i=e[t],r=FormulaUtils.formulaWidgetDependencyRegex(),o=r.exec(i.formula);o;){var n=o[1].toLowerCase(),a=o[2].toLowerCase(),s=(l=this.dashboard||this._from.dashboard)?l.findWidgetByName(n):null;null!==s&&(Utils.arrayRemove(this._dependencies,function(e){return e.guid===s.guid&&e.fn===a}),s.off(a,this.guid)),o=r.exec(i.formula)}for(var l,d=FormulaUtils.formulaFilterPanelDependencyRegex(),c=d.exec(i.formula);c;){var u=c[1].toLowerCase(),n=c[2].toLowerCase(),a=c[3].toLowerCase();null===(s=l?l.findWidgetByName(u):null)||(u=Utils.arrayFirst(s.model.properties.filters_custom,function(e){return null!==e.filter_name&&e.filter_name.toUpperCase()===n.toUpperCase()}))&&(a="".concat(a,"_").concat(u.binding_guid.toString()),Utils.arrayRemove(this._dependencies,function(e){return e.guid===s.guid&&e.fn===a}),s.off(a,this.guid)),c=d.exec(i.formula)}i.type===Enums.WidgetFilterType.DashboardFilter&&""!==i.dashboard_filter_client_id&&(l=this.dashboard||this._from.dashboard,Utils.arrayRemove(this._dashboardFilterDependencies,function(e){return e.name===i.dashboard_filter_client_id}))}},buildHierarchy:function(e,t,i){var r=e.widgets.find(function(e){return e.guid===t.guid});if(r&&"IN4"!==r.model.type){var o,n=_createForOfIteratorHelper(r._dependencies);try{for(n.s();!(o=n.n()).done;){var a=o.value;i.includes(a.guid)||a.visibility_dependency||A.includes(t.fn)||(i.push(a.guid),this.buildHierarchy(e,a,i))}}catch(e){n.e(e)}finally{n.f()}}},buildDependencyHierarchy:function(e,t){var i,r=_createForOfIteratorHelper(t._dependencies);try{for(r.s();!(i=r.n()).done;){var o=i.value;o.hierarchy=[],this.buildHierarchy(e,o,o.hierarchy)}}catch(e){r.e(e)}finally{r.f()}},addDependencies:function(e,r,t,i,o,n){for(var l=this,a=FormulaUtils.formulaWidgetDependencyRegex(),s=a.exec(e),d=n||!1;s;){var c=s[1].toLowerCase(),u=s[2].toLowerCase(),h=this,p=(I=this.dashboard||this._from.dashboard)?I.findWidgetByName(c):null,f=t||!1;if(p&&p.class.options.formula_output&&-1<p.class.options.formula_output.indexOf(u)){var m=p.guid;if(!Utils.arrayFirst(this._dependencies,function(e){return e.guid===m&&e.fn===u&&e.visibility_dependency===f})){var g=!!this._from||Utils.isDefined(p[u]),b={guid:m,name:p.name,fn:u,resolved:g,notNeededToRender:d,visibility_dependency:t||!1},y=!1;if(p._dependencies.forEach(function(e){e.guid===h.guid&&e.fn===u&&(y=!0)}),y||b.guid!=this.guid||(y=!0),!o&&y)return;this._dependencies.push(b),this.dashboard&&!y&&!function(o){var e=r?function(){r(o,h)}:function(){var e=!0;if(o.resolved&&(e=!1),!o.isSelf||JSON.stringify(o.lastValue)!==JSON.stringify(this[o.fn]))if(o.lastValue=this[o.fn],o.isSelf=o.guid===h.guid,o.resolved=!0,this.error)h.error=_("Widget_ErrorInDependencies").format(o.name),h.hideLoading(),h.updateServiceError&&h.updateServiceError();else{var i=!1;if(!e){this.buildDependencyHierarchy(I,h);var r,t=_createForOfIteratorHelper(h._dependencies.filter(function(e){return e.guid!==o.guid&&e.guid!==h.guid&&!e.visibility_dependency&&!A.includes(e.fn)}));try{for(t.s();!(r=t.n()).done;)if("break"===function(){var t=r.value;if(t.hierarchy.includes(o.guid)&&!o.hierarchy.includes(t.guid))return i=!0,"break";if(!o.hierarchy.includes(t.guid)){var e=I.widgets.find(function(e){return e.guid===t.guid});if(e&&e.loading)return i=!0,"break"}}())break}catch(e){t.e(e)}finally{t.f()}}!e&&i||(h.__settingsSaved=!1,h._loaded&&"IN16"===h.code&&(h.fullRender=!0),d||h.tryUpdate(!0))}};p.on(u,e,h.guid)}(b)}}s=a.exec(e)}for(a=FormulaUtils.formulaDashboardFormulaDependencyRegex,s=a.exec(e);s;){var v=s[1]||s[3],h=this,w=(I=this.dashboard||this._from.dashboard)?I.findFormulaByName(v):null,D=t||!1;if(w){if(!Utils.arrayFirst(this._dashboardFormulasDependencies,function(e){return e.name===w.name&&e.visibility_dependency===D})){for(var x,g=w.hasOwnProperty("result"),b={name:w.name,formula:w.formula,resolved:g,visibility_dependency:D,notNeededToRender:d,isSession:w.session_persisted&&-1<e.toLowerCase().indexOf("sessionparameter")},S=(this._dashboardFormulasDependencies.push(b),!1),C=FormulaUtils.formulaWidgetDependencyRegex(),F=C.exec(w.formula);!S&&F;){var E=F[1].toLowerCase(),E=I?I.findWidgetByName(E):null,k=F[2].toLowerCase();E&&E.class.options.formula_output&&-1<E.class.options.formula_output.indexOf(k)&&E.guid===h.guid&&(S=!0),F=C.exec(w.formula)}this.dashboard&&!S&&(x=this.dashboard,function(t){var e=r?function(){r(t,h)}:function(e){e===t.name&&(t.resolved=!0,d||h.tryUpdate(!0))};x.on("formulas",e)}(b))}}else{var T=this.getSessionStorageValue(v);T&&this._dashboardFormulasDependencies.push({name:v,formula:e,resolved:!0,result:T.value,visibility_dependency:!1,notNeededToRender:!0,isSession:!0})}s=a.exec(e)}for(a=FormulaUtils.formulaFilterPanelDependencyRegex(),s=a.exec(e);s;){var O=s[1].toLowerCase(),c=s[2].toLowerCase(),u=s[3].toLowerCase(),h=this,I=this.dashboard||this._from.dashboard;(p=I?I.findWidgetByName(O):null)&&!function(){var e,t,i=Utils.arrayFirst(p.model.properties.filters_custom,function(e){return null!==e.filter_name&&e.filter_name.toUpperCase()===c.toUpperCase()});i&&!i.config&&(i.config=Utils.arrayFirst(p.model.properties.filters_custom,function(e){return"all"===e.binding_guid}).config),i&&-1<Utils.arrayFirst(p.class.options.filters_output,function(e){return e.filter_type===i.config.filter_type}).outputs.indexOf(u)&&(u="".concat(u,"_").concat(i.binding_guid.toString()),m=p.guid,Utils.arrayFirst(l._dependencies,function(e){return e.guid===m&&e.fn===u&&!1===e.visibility_dependency})||(g=!!l._from||Utils.isDefined(p[u]),b={guid:m,name:p.name,fn:u,resolved:g,visibility_dependency:!1,filter_name:c,filter_guid:i.binding_guid,notNeededToRender:d},y=!1,p._dependencies.forEach(function(e){e.guid==h.guid&&e.fn==u&&(y=!0)}),(y=y||h.guid===p.guid)&&(p.loading=!1,p.error=_("Widget_CyclingFilters").format(h.name),h.loading=!1,h.error=_("Widget_CyclingFilters").format(p.name)),y||l._dependencies.push(b),l.dashboard&&!y&&(e=b,t=r?function(){r(e,h)}:function(){e.isSelf&&JSON.stringify(e.lastValue)==JSON.stringify(this[e.fn])||(e.lastValue=this[e.fn],e.isSelf=e.guid==h.guid,e.resolved=!0,this.error?(h.showError(_("Widget_ErrorInDependencies").format(e.name)),h.hideLoading()):d||h.tryUpdate(!0))},p.on(u,t,h.guid))))}(),s=a.exec(e)}I=(h=this).dashboard||this._from.dashboard;var W,n=void 0!==i?i:h;if(n.p.sort_filter){var U,R=_createForOfIteratorHelper(n.p.sort_filter.filters.filter(function(e){return e.type===Enums.WidgetFilterType.DashboardFilter&&e.state!==Enums.WidgetFilterState.Disabled}));try{for(R.s();!(U=R.n()).done;){var L=function(){var t,i=U.value;if(!Utils.arrayFirst(l._dashboardFilterDependencies,function(e){return e.name===i.dashboard_filter_client_id&&!1===e.visibility_dependency})){var r=Utils.arrayFirst(I.filters,function(e){return e.client_identifier===i.dashboard_filter_client_id});if(!r)return{v:void 0};g="function"==typeof r.isResolved&&r.isResolved(),b={name:i.dashboard_filter_client_id,resolved:g,visibility_dependency:!1,notNeededToRender:d},y=!1;var e,o=_createForOfIteratorHelper(r.properties.filters.filter(function(e){return e.state!==Enums.WidgetFilterState.Disabled}));try{for(o.s();!(e=o.n()).done;){var n=e.value;if(y)break;if(n._filterObj){var a,s=_createForOfIteratorHelper(n._filterObj._dependencies);try{for(s.s();!(a=s.n()).done;)if(a.value.guid===h.guid){y=!0;break}}catch(e){s.e(e)}finally{s.f()}}}}catch(e){o.e(e)}finally{o.f()}y&&(b.cycling=!0,h.loading=!1,h.error=_("Widget_CyclingDashboardFilters").format(r.name)),l._dashboardFilterDependencies.push(b),l.dashboard&&(x=l.dashboard,t=b,x.on("filters",function(e){e===t.name&&((r=Utils.arrayFirst(this.filters,function(e){return e.client_identifier===t.name}))&&t.cycling?(h.showError(_("Widget_CyclingDashboardFilters").format(r.name)),h.hideLoading()):r&&!r.isResolved()||(t.resolved=!0,h.tryUpdate(!0)))},t.name))}}();if("object"===_typeof(L))return L.v}}catch(e){R.e(e)}finally{R.f()}}for(a=FormulaUtils.formulaWidgetFilterDependencyRegex(),s=a.exec(e);s;)c=s[1].toLowerCase(),I=(h=this).dashboard||this._from.dashboard,(p=I?I.findWidgetByName(c):null)&&(p.traverseFormulaInput(function(e){h.addDependencies(e,null,!1,p)},!1,["sort_filter.filters.formula"]),Utils.arrayFirst(h._dependencies,function(e){return"filters"===e.fn&&e.guid===p.guid})||(W={fn:"filters",guid:p.guid,name:p.name,resolved:!0,visibility_dependency:!1},h._dependencies.push(W),W={fn:"data_id",guid:p.guid,name:p.name,resolved:!0,visibility_dependency:!1},h._dependencies.push(W),p.on("datachanged",function(){h.tryUpdate(!0)},h.guid))),s=a.exec(e);for(s=(a=FormulaUtils.formulaDashboardFilterDependencyRegex()).exec(e);s;)!function(){I=(h=l).dashboard||l._from.dashboard;var t,i=s[1].toLowerCase(),r=Utils.arrayFirst(I.filters,function(e){return e.name.toLowerCase()===i});r&&!Utils.arrayFirst(l._dashboardFilterDependencies,function(e){return e.name===r.client_identifier&&!1===e.visibility_dependency})&&(g="function"==typeof r.isResolved&&r.isResolved(),b={name:r.client_identifier,resolved:g,visibility_dependency:!1},l._dashboardFilterDependencies.push(b),l.dashboard&&(x=l.dashboard,t=b,x.on("filters",function(e){e===t.name&&(t.resolved=!0,h.tryUpdate(!0))},t.name))),s=a.exec(e)}()},getSessionStorageValue:function(t){var e=sessionStorage.getItem("cd-parameters");return(e=e||Utils.cookieGet("cd-parameters"))&&JSON.parse(e).find(function(e){return e.parameter===t})||null},getFormulasDependenciesValues:function(){var i=this,e=this._dashboardFormulasDependencies.map(function(e){var t=i.dashboard||i._from.dashboard,t=t?t.findFormulaByName(e.name):null;return t?(e.isSession=t.session_persisted,e.formula=t.formula,e.result=t.session_persisted?i.getSessionStorageValue(t.name).value:t.result,e.name=t.name,e):e.isSession?e:void 0});return $.grep(e,function(e){return null!=e})},getDashboardFiltersDependencies:function(){var r=this,o=this.dashboard||this._from&&this._from.dashboard;if(!o)return[];var e=o.filters,t=this._dashboardFilterDependencies.map(function(e){return e.name});if(e){var i,e=e.filter(function(e){return-1<t.indexOf(e.client_identifier)}),n=_createForOfIteratorHelper(e);try{for(n.s();!(i=n.n()).done;){var a,s=_createForOfIteratorHelper(i.value.properties.filters);try{for(s.s();!(a=s.n()).done;){for(var l=a.value,d=FormulaUtils.formulaWidgetDependencyRegex(),c=d.exec(l.formula);c;)!function(){var e=c[1].toLowerCase(),t=c[2].toLowerCase(),i=o?o.findWidgetByName(e):null;i&&!Utils.arrayFirst(r._dependencies,function(e){return e.guid===i.guid&&e.fn===t&&!1===e.visibility_dependency})&&r._dependencies.push({guid:i.guid,name:i.name,fn:t,resolved:!0,visibility_dependency:!1,canBeIgnored:!1,replaceBy:null,replaceByDeps:null,value:i[t]}),c=d.exec(l.formula)}();for(d=FormulaUtils.formulaDashboardFormulaDependencyRegex,c=d.exec(l.formula);c;){var u=c[1],h=o?o.findFormulaByName(u):null;h&&this._dashboardFormulasDependencies.push({name:h.name,resolved:!0,visibility_dependency:!1,formula:h.formula}),c=d.exec(l.formula)}for(d=FormulaUtils.formulaFilterPanelDependencyRegex(),c=d.exec(l.formula);c;){var p,f=c[1].toLowerCase(),m=c[2].toLowerCase(),g=c[3].toLowerCase(),_=o?o.findWidgetByName(f):null;_&&_.model.properties.filters_custom&&((p=Utils.arrayFirst(_.model.properties.filters_custom,function(e){return null!==e.filter_name&&e.filter_name.toUpperCase()===m.toUpperCase()}))&&(p.config||(p.config=Utils.arrayFirst(_.model.properties.filters_custom,function(e){return"all"===e.binding_guid}).config),g="".concat(g,"_").concat(p.binding_guid.toString()),Utils.arrayFirst(this._dependencies,function(e){return e.guid===_.guid&&e.fn===g&&!1===e.visibility_dependency})||this._dependencies.push({name:_.name,guid:_.guid,fn:g,resolved:!0,visibility_dependency:!1,filter_name:m,filter_guid:p.binding_guid,value:_[g]}))),c=d.exec(l.formula)}}}catch(e){s.e(e)}finally{s.f()}}}catch(e){n.e(e)}finally{n.f()}return e}},getParametersDependencies:function(){var e=this.dashboard||this._from&&this._from.dashboard;return e&&e.parameters?e.parameters:null},getDependenciesValues:function(m,e){var g=this,_=["LI3","LI4","IN8","LI6","LI8","IN16"],t=Utils.clone(this._dependencies),b=e||Utils.clone(g.model);return t.map(function(e){var t=g.dashboard||g._from.dashboard,i=t?t.findWidget(e.guid):null,t=[],r=(i&&i.p.sort_filter&&(t=Utils.clone(i.p.sort_filter.filters)),!1);if(!m&&-1<_.indexOf(i.code)&&"formula"!==i.p.data.mode&&g.p.data_id&&i.p.data_id===g.p.data_id){var o=!0;if(e.filter_guid){var n=Utils.arrayFirst(i.p.filters_custom,function(e){return"all"===e.binding_guid}).config;if(o=null===n?!1:o){var a,s=_createForOfIteratorHelper(i.p.filters_custom);try{for(s.s();!(a=s.n()).done;){var l=a.value;if("all"!==l.binding_guid)if(!(o=(l.config||n).list.allow_multiple_selection&&i["__selectedvalues_".concat(l.binding_guid)]&&0!==i["__count_".concat(l.binding_guid)]&&i["__count_".concat(l.binding_guid)]===i["__selectedvalues_".concat(l.binding_guid)].length&&0<i["__count_".concat(l.binding_guid)]))break}}catch(e){s.e(e)}finally{s.f()}}}else o=i.p.allow_multiple_selection&&i.__selectedvalues&&i.__count===i.__selectedvalues.length&&0<i.__count;if(o){var d=i.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Values||"Label"===e.area||e.area===Enums.WidgetAreas.Filters}).map(function(e){return e.column_id});if(d&&0<d.length){var c,u=0<b.properties.sort_filter.filters.filter(function(e){return e.state&&"disabled"!==e.state&&("equals"===e.operator||"in"===e.operator)&&("inputwidget"===e.type||"formula"===e.type||"filterpanel"===e.type)&&e.formula&&""!==e.formula&&-1<d.indexOf(e.column_id)}).length;if(u||0<(c=b.properties.sort_filter.filters.filter(function(e){return e.state&&"disabled"!==e.state&&("equals"===e.operator||"in"===e.operator)&&null!==e.dashboard_filter_client_id}).map(function(e){return e.dashboard_filter_client_id})).length&&(u=0<(g._from||g).dashboard.filters.filter(function(e){return-1<c.indexOf(e.client_identifier)}).map(function(e){return e.properties.filters}).flat().filter(function(e){return e.state&&"disabled"!==e.state&&("equals"===e.operator||"in"===e.operator)&&("inputwidget"===e.type||"formula"===e.type||"filterpanel"===e.type)&&e.formula&&""!==e.formula&&-1<d.indexOf(e.column_id)}).length),u){u=t.filter(function(e){return e.state&&"disabled"!==e.state&&("formula"===e.type?e.formula&&""!==e.formula:0<e.selected_values.length)});if(0===u.length)r=!0;else{var h,p=null,f=_createForOfIteratorHelper(u);try{for(f.s();!(h=f.n()).done;)if("break"===function(){var t=h.value;if(!(p=Utils.arrayFirst(b.properties.sort_filter.filters,function(e){return e.column_id===t.column_id&&e.operator===t.operator&&"disabled"!==e.state&&e.type===t.type&&("formula"!==e.type||e.formula===t.formula)&&("inputwidget"!==e.type||Utils.arraysEqual(e.selected_values,t.selected_values))&&null!==e.filterOperator&&null!==t.filterOperator&&e.filterOperator.operator===t.filterOperator.operator&&"AND"===t.filterOperator.operator})))return"break"}())break}catch(e){f.e(e)}finally{f.f()}p&&(r=!0)}}}}}e.canBeIgnored=r,e.replaceBy=null,e.replaceByDeps=null,e.value=i[e.fn]}),t},removeDependenciesTo:function(t){Utils.arrayRemove(this._dependencies,function(e){return e.guid===t.guid})},storeAndRemoveDependenciesTo:function(t){for(var e=this._dependencies.filter(function(e){return e.guid===t.guid}),i=0;i<e.length;i++)this._removedDependencies.push(e[i]);this.removeDependenciesTo(t)},restoreRemovedDependencies:function(t){for(var e=this._removedDependencies.filter(function(e){return e.guid===t.guid}),i=0;i<e.length;i++){var r=e[i];this._dependencies.push(r)}this.clearRemovedDependencies(t)},clearRemovedDependencies:function(t){Utils.arrayRemove(this._removedDependencies,function(e){return e.guid===t.guid})},getColorSchemeColor:function(e){return window.i4_WidgetPalettes[this.p.colors][e||0]},getStyleConfig:function(){var t=this;return Utils.getValueFromPropertyName(window.i4_WidgetThemes,function(e){return e===t.p.style})},getWidgetStyleConfig:function(){return this.getStyleConfig().widgets[this.code]},applyCurrentStyle:function(){var e=this.getStyleConfig();e?(e=e.widgets[this.code])?($.extend(!0,this.p,e),this.onApplyStyle&&this.onApplyStyle()):console.error("There is no style configuration for the current widget: ",this.code):console.error("The current style does not exist: ",this.style)},setUpWidgetTooltip:function(){var e;this.p.tooltip&&this.p.tooltip.display?(e=this.p.tooltip.display&&!!this.p.tooltip.content,this.container.toggleClass("show_tooltip",e),e&&this.updateTooltipText()):($(".interactionTooltip",this.container).remove(),this.container.removeClass("show_tooltip"))},applyStyleToTooltip:function(e){var t;this.p.tooltip&&this.p.tooltip.display&&(this.p.tooltip.background||(this.p.tooltip.content="<p>".concat(this.p.tooltip.content,"</p>"),this.p.tooltip.background={color:"#fff2cc",border:{width:0,color:"#cccccc"},roundness:0}),t=this.p.tooltip.background,e.css({"background-color":t.color,border:"".concat(t.border.width,"px solid ").concat(t.border.color),"border-radius":"".concat(t.roundness,"px")}))},handleTooltipState:function(){this.p.interactions||(this.p.interactions={onhover:null}),this.isTooltipEnabled()?(this.updateTooltipText(),this.container.addClass("show_tooltip"),this.updateTooltipStyle()):($(".interactionTooltip",this.container).remove(),this.container.removeClass("show_tooltip"))},widgetTypeUsingCustomTooltip:["IN2","IN10","DS1","IN3"],isTooltipEnabled:function(){return-1!==this.widgetTypeUsingCustomTooltip.indexOf(this.model.type)?this.p.tooltip&&this.p.tooltip.display&&!!this.p.tooltip.content:this.p.interactions&&this.p.interactions.onhover&&"show_tooltip"===this.p.interactions.onhover.type&&""!==this.p.interactions.onhover.tooltip_text},updateTooltipStyle:function(e){this.p.interactions&&this.p.interactions.onhover&&$(".tooltip",this.container).css({cursor:e||this.p.interactions.onhover&&this.p.interactions.onhover.type?"pointer":"default"})},updateTooltipText:function(e){var t,i=this,r=$("body").hasClass("responsive"),o=this._from?this.container.parent():this.dashboard.ui,n=Utils.arrayFirst($(".interactionTooltip"),function(e){return $(e).data("widget-guid")===i.guid}),n=(n&&n.remove(),$("<div></div>").addClass("interactionTooltip top center").data("widget-guid",this.guid));this.customTooltipContent?(n.addClass("no-arrow"),n.append(this.customTooltipContent()),this.applyStyleToTooltip(n)):n.append($("<p />").text(e||this.p.interactions.onhover&&this.p.interactions.onhover.tooltip_text||this.p.tooltip&&this.p.tooltip.content||"")),o.append(n),n.height()>this.model.height/2?(e=Math.min(n.height()/(this.model.height/2),3),o=this.model.width*e,n.css({height:"auto","max-width":"".concat(o,"px"),width:"".concat(o,"px")})):n.css({"max-width":"".concat(this.model.width,"px"),width:"".concat(this.model.width,"px")}),n.css({top:"".concat(-(n.outerHeight()+5),"px")}),n.addClass("positioning"),r?(e=this.dashboard.ui[0].getBoundingClientRect(),n.removeClass("center"),o=this.container[0].getBoundingClientRect(),r=0,"none"!==$("#toolbar").css("display")&&(r=$("#toolbar").outerHeight()),n.css({top:o.top-n.outerHeight()-10-r,left:o.left+o.width/2-n.outerWidth()/2}),((t=n.offset()).top<e.top||t.top<$("header").outerHeight())&&n.css({top:o.top+o.height+10-r}).removeClass("top").addClass("bottom")):this.dashboard?(e=this.dashboard.ui[0].getBoundingClientRect(),n.css({top:this.model.top-n.outerHeight()-10,left:this.model.left+this.model.width/2-n.outerWidth()/2}),n.removeClass("center"),((t=n.offset()).top<e.top||t.top<$("header").outerHeight())&&n.css({top:this.model.top+this.model.height+10}).removeClass("top").addClass("bottom"),r=(o=n[0].getBoundingClientRect()).width,o.left<e.left||o.left<(this.dashboard.in_editor?$("#dashboard-container")[0].offsetLeft:$(window).scrollLeft())?(n.removeClass("center").addClass("left"),n.css({left:10})):(o.left+r>e.left+e.width||o.left+r-(this.dashboard.in_editor?0:$(window).scrollLeft())>$(window).width())&&(n.removeClass("center").addClass("right"),n.css({left:e.width-r-10}))):(t=this.container.offset(),o=this.container.parent().offset(),e=t.top-o.top,r=t.left-o.left,n.css({top:e-n.outerHeight()-10,left:r+t.width/2-n.outerWidth()/2})),n.removeClass("positioning"),this._handleTooltipDisplay||(o="",0<$(".toolbar #tooltip",this.container).length&&(o=".toolbar #tooltip"),this.container.on("mouseover","".concat(o),function(){var e=Utils.arrayFirst($(".interactionTooltip"),function(e){return $(e).data("widget-guid")===i.guid});if(i.customTooltipContent&&!i.customTooltipContent())return!1;$(e).show()}),this.container.on("mouseleave","".concat(o),function(){var e=Utils.arrayFirst($(".interactionTooltip"),function(e){return $(e).data("widget-guid")===i.guid});$(e).hide()}),this._handleTooltipDisplay=!0)},setModifiedState:function(){this.state===Enums.DataRecordState.Unchanged&&(this.state=Enums.DataRecordState.Modified)},resetSortAndFilters:function(t){this.p.sort_filter&&(0<this.p.sort_filter.sorts.length&&(t?Utils.arrayRemove(this.p.sort_filter.sorts,function(e){return e.column==t.guid||t.column_id==e.column}):this.p.sort_filter.sorts=[]),!this.p.sort_filter.top_bottom||t&&t.guid!=this.p.sort_filter.top_bottom.column&&t.column_id!=this.p.sort_filter.top_bottom.column||(this.p.sort_filter.top_bottom.enabled=!1,this.p.sort_filter.top_bottom.direction="top",this.p.sort_filter.top_bottom.column=null),this.p.sort_filter.filters&&!t&&(this.p.sort_filter.filters=[],this.trigger("datachanged")))},loadWidgetIcons:function(e){this.settings&&this.settings.editorData&&(_WidgetIconsReferences=this.settings.editorData.iconsReferences)||_WidgetIconsReferences&&_WidgetIconsReferences.length||(_WidgetIconsReferences=window.i4_Icons),e&&e()},_quickToolbarOptions:function(){var e=[];return this.model.is_locked||e.push({class:"dragging",icon_class:"fa-arrows"}),e=e.concat([{class:"properties",icon_class:"fa-cog",title:_("WidgetsActionsBar.Properties"),no_multiple_selection:!0},{class:"duplicate",icon_class:"fa-copy",title:_("WidgetsActionsBar.Clone")},{class:"delete",icon_class:"fa-trash",title:_("WidgetsActionsBar.Delete")},{class:"move",title:_("WidgetsActionsBar.Arrange"),icon_class:"fa-object-ungroup",no_multiple_selection:!0,renderAllIcons:!0,selection_event:function(e,t){switch(e){case"front":t.arrange_bringFront(),t.updateArrangeButtons();break;case"back":t.arrange_sendBack(),t.updateArrangeButtons();break;case"forward":t.arrange_bringForward(),t.updateArrangeButtons();break;case"backward":t.arrange_sendBackward(),t.updateArrangeButtons()}},additional_controls:[{icon_class:"fa-reply fa-rotation-45",title:_("BringFront"),id:"front"},{icon_class:"fa-reply-all fa-rotation-45",title:_("BringForward"),id:"forward"},{icon_class:"fa-reply-all fa-rotation-315",title:_("SendBackward"),id:"backward"},{icon_class:"fa-reply fa-rotation-315",title:_("SendBack"),id:"back"}]}]),this.p.sort_filter&&e.push({class:"quick_filter",no_multiple_selection:!0,icon_class:"fa-filter",title:_("WidgetsActionsBar.QuickFilter")}),Utils.WidgetFormat.canFormatBePasted(this.model.type)&&e.push({class:"copy_format",icon_class:"fa-brush",title:_("WidgetsActionsBar.CopyFormat")}),e},quickToolbarOptions:function(){return this._quickToolbarOptions()},updatePropertiesWithDashboardDefault:function(e,t){t&&Utils.findNestedProperties(e,"family",t.font)},displayCustomErrorMessage:function(e,t){$(".widgetError",this.container).empty(),$(".widgetError",this.container).append('<div class="widgetCustomErrorMessage"><div>                     <div class="errorTitle"><span>{0}</span></div>                     <div class="errorSubtitle"><span>{1}</span></div>                 </div></div>'.format(e,t))},handleDisplayExport:(r=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,i,r){var o,n;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(i!==Enums.AC1WidgetExportMode.Display||-1===WidgetAC1.WidgetUsingDisplayExportMode.indexOf(t.model.type))e.next=18;else{if(t.toomanyvalues)return e.abrupt("return",!1);e.next=3}break;case 3:if("TA4"===t.model.type)return e.next=6,t.getDisplayData();e.next=15;break;case 6:return o=e.sent,(n=new FormData).append("data",o,"".concat(t.name,".xlsx")),e.next=11,WS.post("File/?type={0}&id={1}&objtype={2}".format(Enums.FileSystemItemType.TemporaryInternal,Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()),n,{form_data:!0});case 11:o=e.sent,r.XlsxFileId=o.guid,e.next=18;break;case 15:n=t.getDisplayData&&t.getDisplayData().parsetable()||"",t.displayDataPostParse&&t.displayDataPostParse(n),r.DOMToExport=JSON.stringify(n);case 18:case"end":return e.stop()}},e)})),function(e,t,i){return r.apply(this,arguments)}),exportWidgetData:(i=_asyncToGenerator(_regeneratorRuntime().mark(function e(t,i){var r,o,n,a;return _regeneratorRuntime().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.dashboard||this._from&&this._from.dashboard){e.next=3;break}return e.abrupt("return");case 3:if((o=this).exportXHR)e.next=14;else{if(-1===WidgetAC1.WidgetAvailableForExport.indexOf(this.model.type))return e.abrupt("return");e.next=7}break;case 7:return this.showLoading(1001),i&&$(".toolbar #dataDownload",this.container).removeClass("fa-file-export").addClass("fa-spinner fa-pulse"),n={Widget:this.model,ExportType:t||Enums.AC1WidgetExportMode.Data,DashboardRecId:r.id,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies(),ExportHiddenColumns:!1,ColumnsFormat:!this.error&&this.getColumnsFormat&&this.getColumnsFormat()||[]},e.next=12,this.handleDisplayExport(this,t,n);case 12:a={Widgets:[n]},this.exportXHR=WS.post("Export/Dashboard/{0}/AC1".format(r.id),{Filename:this.model.name,Widgets:a}).done(function(e){o.exportXHR=null,r.exportTaskGUID=e,o.hideLoading()}).fail(function(e){403===e.status?Messages.alert(_("NoDatasourceToExport")):WS.displayDefaultError(),o.exportXHR=null,o.hideLoading()});case 14:case"end":return e.stop()}},e,this)})),function(e,t){return i.apply(this,arguments)}),getColorsFromPalette:function(){var t=this,e=[];if("undefined"!=typeof _User&&_User?e=_User.CustomPalettes:top&&top._User&&(e=top._User.CustomPalettes),e&&e.length){var i=Utils.arrayFirst(e,function(e){return e.id==t.p.colors});if(i){var r=[];switch(i.type){case"manual":Utils.arrayRemove(i.colors,function(e){return"transparent"===e.value}),r=i.colors.map(function(e){return e.value});break;case"gradient":for(var o=0;o<i.steps;o++)r.push(Utils.ColorUtils.interpolateColor(i.start,i.end,o/i.steps))}return r}}return window.i4_WidgetPalettes[this.p.colors]||window.i4_WidgetPalettes.Ocre},displayRowDataPopup:function(e){function i(){DashboardDialog.display("/dashboard/ta2rowdetails",{livelinkObjectRecId:"undefined"!=typeof _LiveLinkObjectRecId?_LiveLinkObjectRecId:void 0,livelinkObjectType:"undefined"!=typeof _LiveLinkObjectType?_LiveLinkObjectType:void 0,widget:r,sessionKey:Utils.getSessionKey(),datacloneId:r.p.data_id,filters:e,in_editor:r.dashboard.in_editor,allow_export:!!r.p.interactions&&r.p.interactions.allow_export})}var r=this,o=e.filter(function(e){return e.ColumnId<0});if(0<o.length){var n,a=[],t=_createForOfIteratorHelper(o);try{for(t.s();!(n=t.n()).done;)!function(){var t=n.value,e=Utils.arrayFirst(r.p.calculated_columns,function(e){return e.id===t.ColumnId});null!==e&&a.push(e.formula)}()}catch(e){t.e(e)}finally{t.f()}FormulaUtils.evaluateFormula({formula:a,widget:r,sucessCallback:function(e){for(var t=0;t<o.length;t++)o[t].Column=e[t].value;i()},errorCallback:function(){i()}})}else i()},getAndApplyWidgetSelection:function(e){var t,i=!1;this.dashboard&&!this.dashboard.in_editor&&this.remember_selection&&(t=sessionStorage.getItem("widget-state-".concat(this.guid)))&&(t=JSON.parse(t),this.resetState&&t&&(i=!0,this.resetState(t))),i||e&&e()},getContextualCalculations:function(){return[]},getContextualCustomExample:function(){return""},updateToolbar:function(){var e=this.p.interactions,t=void 0!==e&&void 0!==e.allow_zoom&&e.allow_zoom,i=(this.isZoomAllowed&&(t=this.isZoomAllowed()),void 0!==this.p.drilldown_categories&&this.p.drilldown_categories);if(null!=e&&void 0!==e.toolbar_zoom_enabled||t||i)if(e.toolbar_zoom_enabled||e.toolbar_export_enabled||e.toolbar_copy_enabled||e.toolbar_download_enabled||e.toolbar_data_download_enabled||e.toolbar_information_enabled&&""!==e.toolbar_information_text||t||i){this.toolbar||(this.toolbar=$('<div class="toolbar" data-html2canvas-ignore="true"></div>').appendTo(this.container)),this.toolbar.empty(),i&&(this.toolbar.append($('<i class="far fa-level-up drillUp" disabled></i>')),this._bindToolbarDrilldownInteraction()),t&&(this.toolbar.append($('<i class="far fa-search-minus resetChartZoom" title="'.concat(_("ResetZoom"),'" disabled></i>'))),this._bindToolbarZoomInteraction()),e.toolbar_download_enabled&&this.toolbar.append($('<i class="far fa-download" id="download" title="'.concat(_("Download"),'"></i>'))),e.toolbar_copy_enabled&&"undefined"!=typeof ClipboardItem&&this.toolbar.append($('<i class="far fa-copy" id="copy" title="'.concat(_("Copy"),'"></i>'))),e.toolbar_information_enabled&&""!==e.toolbar_information_text?(this.toolbar.append($('<i class="far fa-info-circle" id="tooltip"></i>')),"TA5"===this.code&&this._from||(this.updateTooltipText(this.p.interactions.toolbar_information_text),this.updateTooltipStyle(!0))):$(".interactionTooltip",this.container).remove(),e.toolbar_zoom_enabled&&this.toolbar.append($('<i class="far fa-expand-alt" id="zoom" title="'.concat(_("Maximize"),'"></i>'))),e.toolbar_data_download_enabled&&this.toolbar.append($('<i class="far fa-file-export" id="dataDownload" title="'.concat(_("DataDownload"),'"></i>')));var i=e.toolbar_position||"top_right",t=e.toolbar_buttons_color,e=i.split("_")[0],r=null,t={bottom:"bottom"===e?"0px":"",color:t,top:"top"===e?"0px":""};switch(i.split("_")[1]){case"left":r={left:"0%",right:"",transform:"none"};break;case"center":r={left:"50%",right:"",transform:"translateX(-50%)"};break;case"right":r={left:"",right:"0%",transform:"none"}}this.toolbar.css(_objectSpread(_objectSpread({},t),r))}else this.toolbar&&(this.toolbar.remove(),this.toolbar=null)},renderToolbarProperties:function(e){var t=this.updateToolbar.bind(this),i=(e.addSeparator(),e.settings.Format.addBoolean({callback:t,container:e.ui,label:_("Interaction_Fullscreen"),object:this.p.interactions,property:"toolbar_zoom_enabled"}),e.settings.Format.addBoolean({callback:t,container:e.ui,label:_("Interaction_EnableCopy"),object:this.p.interactions,property:"toolbar_copy_enabled",side_label:_("Interaction_CopyAvailibilty")}),e.settings.Format.addBoolean({callback:t,container:e.ui,label:_("Interaction_EnableDownload"),object:this.p.interactions,property:"toolbar_download_enabled"}),e.settings.Format.addBoolean({callback:t,container:e.ui,label:_("Interaction_DataDownload"),object:this.p.interactions,property:"toolbar_data_download_enabled"}),e.settings.Format.addSection());e.settings.Format.addBoolean({callback:t,section:i,container:e.ui,label:_("Interaction_EnableInfoTooltip"),object:this.p.interactions,property:"toolbar_information_enabled"}),e.settings.Format.addTextarea({callback:t,container:i,label:_("Interaction_Tooltip"),object:this.p.interactions,property:"toolbar_information_text"}),""!==this.p.interactions.toolbar_position&&null!==this.p.interactions.toolbar_position||(this.p.interactions.toolbar_position="top_right"),e.settings.Format.addDropdown({callback:t,combobox:{dataprovider:[{label:_("PosTopLeft"),value:"top_left"},{label:_("PosTopCenter"),value:"top_center"},{label:_("PosTopRight"),value:"top_right"},{label:_("PosBottomLeft"),value:"bottom_left"},{label:_("PosBottomCenter"),value:"bottom_center"},{label:_("PosBottomRight"),value:"bottom_right"}]},container:e.ui,label:_("Interaction_ButtonsPositions"),object:this.p.interactions,property:"toolbar_position"}),""!==this.p.interactions.toolbar_buttons_color&&null!==this.p.interactions.toolbar_buttons_color||(i=this.getWidgetStyleConfig().interactions)&&(this.p.interactions.toolbar_buttons_color=i.toolbar_buttons_color),e.settings.Format.addColor({callback:t,container:e.ui,dropDown:!1,label:_("Interaction_ButtonsColor"),object:this.p.interactions,property:"toolbar_buttons_color"})},displayWidgetCustomMessage:function(e,t){var i=this,r=(void 0!==this._customMessage&&null!==this._customMessage&&this._customMessage.remove(),function(){clearTimeout(self._customMessageTimeout),void 0!==i._customMessage&&null!==i._customMessage&&i._customMessage.animate({top:"-=40"},function(){i._customMessage.remove(),i._customMessage=null})}),o=function(){i._customMessageTimeout=setTimeout(function(){r()},5e3)};this._customMessage=$('<div class="widgetCustomMessage divMessage">').addClass(t).append($("<span>").attr("title",e).text(e)).append($('<button><i class="fas fa-times"></button>')).on("click",function(){r()}).on("mouseenter",function(){clearTimeout(i._customMessageTimeout)}).on("mouseleave",function(){o()}),this.ui.append(this._customMessage),Utils.requestAnimationFrameOnce("customWidgetMessage",function(){i._customMessage.animate({top:"+=40"},400,function(){o()})},{keepLastCallOnly:!0})},renderVueWidget:function(r,o){var n=this;if(r=r.toLowerCase(),!this._rendered&&this.ui){if("ta5"!==r)throw"Vue widget '".concat(r,"' not implemented yet.");this.ui[0].innerHTML="<".concat("ta5-score-card-table",' :widget="widget" :key="key" ref="').concat(r,'" @key-down="handleKeyDown" @hook:mounted="handleWidgetMounted" />'),this.dashboard.__v_skip=!0,this.__v_skip=!0,"undefined"!=typeof editor&&null!==editor&&(editor.__v_skip=!0),this.component=new window.Vue({i18n:window.vueI18n.instance,el:this.ui[0],data:function(){return{widget:n,key:0,state:null}},methods:{handleKeyDown:function(e){var t;null!=(t=editor)&&t.dashboardKeyPressedEvents(e.event.originalEvent)},handleWidgetMounted:function(){if(n.vueComponent=this.$refs[r],n.vueComponent.updateServiceSuccess(o),this.state)for(var e=0,t=Object.keys(this.state);e<t.length;e++){var i=t[e];n.vueComponent[i]=this.state[i]}0===n.component.key&&(n.hasBeenDrop&&window.editor.openWidgetSettings(),n.vueComponent.preview||this.$nextTick(function(){n.getAndApplyWidgetSelection()})),n._loaded=!0}}}),this._rendered=!0}else this.vueComponent.updateServiceSuccess(o),n._loaded=!0},updateBackgroundStyle:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-color":this.p.background.border.color,"border-style":this.p.background.border.style,"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-width":"".concat(this.p.background.border.width,"px")}),this.ui.css({"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},copyPropsOnArray:function(e,t,i,r){for(var o=0;o<t[i].length;o++)if(e[i][o]){var n,a=_createForOfIteratorHelper(r);try{for(a.s();!(n=a.n()).done;){var s=n.value;t[i][o][s]=e[i][o][s]}}catch(e){a.e(e)}finally{a.f()}}},copyObjOnArray:function(e,t,i,r,o){for(var n=0;n<t.length;n++){var a,s=_createForOfIteratorHelper(i);try{for(s.s();!(a=s.n()).done;){var l=a.value;if(e[n]){var d,c=Utils.clone(e[n][l]),u=_createForOfIteratorHelper(r);try{for(u.s();!(d=u.n()).done;){var h=d.value;c[h]&&delete c[h]}}catch(e){u.e(e)}finally{u.f()}t[n][l]=Utils.deepMerge(t[n][l],c)}else o&&(t[n]=Utils.deepMerge(t[n],o))}}catch(e){s.e(e)}finally{s.f()}}}},EventHandler.prototype),n.types={},n.createType=function(i){function e(e,t){EventHandler.call(this),n.call(this,e,t),e.state!==Enums.DataRecordState.Deleted&&(e=i.properties,t&&!this.model.properties.hasOwnProperty("__type")&&Utils.findNestedProperties(e,"family",t.font),this.model.properties=$.extend(!0,{__type:"Widget".concat(r,"Properties:#Infinis")},i.properties,this.model.properties),this.state||(this.state=Enums.DataRecordState.Unchanged),this.model.properties.style||(this.model.properties.style=this.dashboard?this.dashboard.style:Utils.getFirstPropertyName(window.i4_WidgetThemes)),this.model.properties.colors||(this.model.properties.colors=this.dashboard?this.dashboard.colors:Utils.getFirstPropertyName(window.i4_WidgetPalettes)),this.scripts=i.scripts,this.styles=i.styles)}var r=i.id,t=$.extend({width:200,height:200,min_width:null,min_height:null,max_width:null,max_height:null,sequence:window.i4_Widgets[r]?window.i4_Widgets[r].sequence:0,icon:null},i.options),o=(t&&t.formula_output&&t.formula_output.push("visible"),Object.create(n.prototype));e.prototype=$.extend(o,i.prototype),e.options=t,n.types[r]=e},n.create=function(e,t){if(n.types[e.type])return new n.types[e.type](e,t)},Object.defineProperty(n.prototype,"id",{get:function(){return this.model.id}}),Object.defineProperty(n.prototype,"code",{get:function(){return this.model.type}}),Object.defineProperty(n.prototype,"guid",{get:function(){return this.model.guid}}),Object.defineProperty(n.prototype,"bottom",{get:function(){return this.top+this.height}}),Object.defineProperty(n.prototype,"right",{get:function(){return this.left+this.width}}),Object.defineProperty(n.prototype,"class",{get:function(){return n.types[this.code]}}),Object.defineProperty(n.prototype,"filters",{get:function(){return this.model.properties.sort_filter?JSON.stringify(this.model.properties.sort_filter.filters):[]}}),Object.defineProperty(n.prototype,"data_id",{get:function(){return this.model.properties.data_id}}),["width","height","top","left","is_locked","zindex","custom_class","remember_selection"].forEach(function(i){Object.defineProperty(n.prototype,i,{get:function(){return this.model[i]},set:function(e){var t=this.model[i];this.model[i]=e,this.setModifiedState(),this.dashboard&&this.dashboard.updateWidgetLayout(this),this.trigger(i,e,t)}})}),["visibility_state","visibility_formula"].forEach(function(i){Object.defineProperty(n.prototype,i,{get:function(){return this.model[i]},set:function(e){var t=this.model[i];this.model[i]=e,this.setModifiedState(),this.dashboard&&!this.error&&this.evaluateAndExecuteWidgetVisibility(),this.trigger(i,e,t)}})}),Object.defineProperty(n.prototype,"error",{get:function(){return!!this.__errorMessage__},set:function(e){this.__errorMessage__=e,this.hideError(),this.__errorMessage__?this.showError(this.__errorMessage__):this.hideError(),this.trigger("errorchanged")}}),Object.defineProperty(n.prototype,"loading",{get:function(){return!!this.__isLoading__},set:function(e){this.__isLoading__=e,!this.__isLoading__||this.dashboard&&this.dashboard.model&&this.dashboard.model.loading_panel&&!this.dashboard.loadingPanelHasBeenShown?this.hideLoading():this.showLoading()}}),EventHandler.mapPropertyToModel(n.prototype,"state"),EventHandler.mapPropertyToModel(n.prototype,"name"),Object.defineProperty(n.prototype,"p",{get:function(){return this.model.properties},set:function(e){this.model.properties=e}}),Object.defineProperty(n.prototype,"style",{get:function(){return this.model.properties.style},set:function(e){this.p&&(this.model.properties.style=e,this.setModifiedState(),this.applyCurrentStyle(),this.trigger("stylechanged"))}}),Object.defineProperty(n.prototype,"hasBeenDrop",{get:function(){return this.dashboard&&this.dashboard.in_editor&&this.state===Enums.DataRecordState.Added&&!this.isPasted}}),Object.defineProperty(n.prototype,"font",{get:function(){return this.model.properties.font},set:function(e){this.p&&(Utils.findNestedProperties(this.model.properties,"family",e),this.setModifiedState(),this.trigger("fontchanged"))}}),Object.defineProperty(n.prototype,"colors",{get:function(){return this.model.properties.colors},set:function(e){this.p&&(this.model.properties.colors=e,this.setModifiedState(),this.trigger("colorschanged"))}})}();
//# sourceMappingURL=0widgetbase.js.map

function WidgetLI(){}WidgetLI.prototype={convertSelectionToProperType:function(t,e,a){if($.isArray(t))for(var i=0;i<t.length;i++)t[i]=Utils.utcTZtoDateString(t[i],e,a);else t=Utils.utcTZtoDateString(t,e,a);return t},canUpdateData:function(){return!this.p.data||"mixed"!==this.p.data.mode||!(Array.isArray(this.p.data_bindings)&&!this.p.data_bindings.length)&&void 0},setSample:function(){this._Data=this.p.data.custom},getBindingAreas:function(){return[{name:_("Columns"),placeholder:_("DropColumns"),area:Enums.WidgetAreas.Rows}]},getBackgroundValue:function(){return this.p.container.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color},widgetData:function(){var t;switch(this.p.data.mode){case"custom":t=this.p.data.custom;break;case"formula":t=this.p.data.formula_result;break;case"mixed":t=this._Data||this._from&&this._from._Data?this._Data||this._from&&this._from._Data:this.p.data.custom}return t},getCustomData:function(){return this.p.data.custom},appendDataToList:function(t,e,a,i,n,o){e.empty();var r=[];if(this.p.data){var r="mixed"!==this.p.data.mode?this.filterCustomAndFormulaData(t):t,l="mixed"!==this.p.data.mode?this.sortCustomAndFormulaData(r):r;Array.isArray(l)||(l=[l]);for(var s=[],d=0;d<l.length;d++){var u=this.getLabelAndValueFromDataRow(l[d]),c=u.label,p=a(c,u.value,!this.p.format);i?(p.setAttribute("data-label",c),p.setAttribute("data-value",null!=u.value?Utils.utcTZtoDateString(u.value,n,o):"{#DB.NULL#}"),p.setAttribute("original-index",d),s.push(p)):s.push($(p).data({label:c,value:null!=u.value?Utils.utcTZtoDateString(u.value,n,o):"{#DB.NULL#}","original-index":d}))}i?this._lis=s:e.append(s)}return r.length},getLabelAndValueFromDataRow:function(t){var e,a;return Array.isArray(t)?(void 0!==t[0]||0===t[0]?e=t[0]:void 0===t[1]&&0!==t[1]||(e=t[1]),void 0!==t[1]||0===t[1]?a=t[1]:void 0===t[0]&&0!==t[0]||(a=t[0])):a=e=t,{label:e=e&&"string"==typeof e?e.replace(/\r/g,""):e,value:a=a&&"string"==typeof a?a.replace(/\r/g,""):a}},sortCustomAndFormulaData:function(t){var e;return Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!==t.column})?(e=$.extend(!0,[],t),DashboardUtils.sortData(e,this.p.sort_filter.sorts),e):t},filterCustomAndFormulaData:function(t){var t=t.slice(),e=this.p.sort_filter.filters.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}});return DashboardUtils.filterData(t,e)},updateData:function(){switch(this.p.data.mode){case"formula":this.tryUpdate();break;case"mixed":0<this.p.data_bindings.length?this.tryUpdate():(this.setSample(),this.rendered||this.render());break;default:this.valueType="System.String";var t=this.render.bind(this);"formula"===this.p.default_selection_type?this.resolveDefaultSelectionFormula(t):t()}},updateService:function(){return"mixed"!==this.p.data.mode?"Formulas":"LIData"},updateServiceSuccess:function(t){this.valueType="System.String";var e=this.render.bind(this);switch(this.p.data.mode){case"formula":this.p.data.formula_result=t[0].value,"formula"===this.p.default_selection_type&&1<t.length&&(this.p.default_selection_formula_result=t[1].value||0===t[1].value?t[1].value:"");for(var a=t.splice(1,t.length),i=0;i<this.p.sort_filter.filters.length;i++)this.p.sort_filter.filters[i].formula_result=a[i].value;e();break;case"mixed":var n=Utils.arrayFirst(this.p.data_bindings,function(t){return"Label"===t.area})||Utils.arrayFirst(this.p.data_bindings,function(t){return"Value"===t.area}),o=Utils.arrayFirst(t.columns,function(t){return t.id===n.column_id});this.valueType=o.type,this.internalType=o.internal_type,this._Data=t.data,this.p.default_selection_formula_result=t.default_selection_formula_result||0===t.default_selection_formula_result?t.default_selection_formula_result.value:"",e();break;default:this.resolveDefaultSelectionFormula(e)}},resolveDefaultSelectionFormula:function(e){var a=this;FormulaUtils.evaluateFormula({formula:this.p.default_selection_formula,widget:this,sucessCallback:function(t){a.p.default_selection_formula_result=t,e()},errorCallback:function(){e()}})},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===t&&"mixed"===this.p.data.mode&&(a=!0),"formula"===this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)&&(a=!0),"formula"===this.p.default_selection_type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.default_selection_formula,e)&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"mixed"===this.p.data.mode&&this.p.data_id)for(var i=0;i<this.p.sort_filter.filters.length;i++){var n=this.p.sort_filter.filters[i];if(n.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,e)){a=!0;break}}a&&this.tryUpdate()},feedDummyCustomData:function(){this.p.data.custom.length<1&&(this.p.data.custom=[["Label 1",""],["Label 2",""],["Label 3",""],["Label 4",""],["Label 5",""],["Label 6",""],["Label 7",""],["Label 8",""],["Label 9",""]])},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                     <span>{{ based_on_label }}</span>                     <ul class="multiple_labels">                         <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                     </ul>                     </div>',{based_on_label:_("BasedOn"),data:_("Data"),data_desc:_("DropdownListDataDesc"),custom:_("DropdownListCustom"),custom_desc:_("DropdownListCustomDesc"),formula:_("Formula"),formula_desc:_("DropdownListFormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.resetSortAndFilters(),e.p.format=null,e.updateData(),e.setSortFilterTabState()})},getFormatTabs:function(){var t=[];return t.push({icon:"dropdown-shape.png",text:_("Container"),code:"container",renderer:this.getContainerProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t.push({icon:"list-options.png",text:_("ListOptions"),code:"listoptions",renderer:this.getListOptionsProperties.bind(this)}),t},getContainerProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.container,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.container,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"formula":this.renderDataFormula(t);break;case"mixed":this.renderDataBindings(t)}this.current_data_mode=this.p.data.mode}t.ui.addClass("propertiesContainer"),t.ui.toggleClass("dataCustom","custom"===this.p.data.mode);var e=$(".li_additional_properties",t.ui);0<e.length||(e=$('<div class="properties li_additional_properties"></div>'),t.ui.append(e)),this.renderDefaultSelection(e)},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("DropdownCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.render({object:this.p.data,property:"custom",callback:function(){e.resetSortAndFilters(),e.render(),e.rebuildDefaultSelectionDropdown()},fixed_columns:!0})},renderDataFormula:function(t){var e=this,t=t.ui;t.append($("<header>").text(_("LI4FormulaDataHeader"))),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}})},renderDataBindings:function(t){var e=this,a=new Settings.Data.Bindings(t);a.area_column_limits.Value=1,a.area_column_limits.Label=1,a.render([{name:_("Label"),placeholder:_("DropLabelColumnHere"),area:"Label",height_ratio:.5},{name:_("Value"),placeholder:_("DropOptionalValueHere"),area:"Value",height_ratio:.5}],{dateGrouping:!1,count:!1}),this.on("updatedatasuccess",function(){e.renderDefaultSelection()}),a.on("bindingCleared",function(){e.resetSortAndFilters()}),a.on("bindingRemoved",function(t){e.resetSortAndFilters(t,!1),e.updateData(),e.tryUpdate()}),a.ui.data_columns_list.off("click","li.datacolumn:not(.disabled):not(.calculated)").on("click","li.datacolumn:not(.disabled):not(.calculated)",function(){var t=parseInt($(this).attr("data-column-id")),e=a.ui.drop_areas.find('[data-area="{0}"]'.format("Value"));a._checkAreaBindings(e,t,function(){a.createBinding("Value",t)})})},getColumnsDropdownProvider:function(t){return t.map(function(t){return{label:t.name,value:t.id,data:t}})},renderDefaultSelection:function(t){var e=this,a=$("#li_default_selection_container"),t=(0<!a.length&&(a=$('<div id="li_default_selection_container"></div>'),t.append(a)),a.empty(),[]);this.p.allow_multiple_selection?(t.push({label:_("NoSelection"),value:"none"}),this.p.data.all_option_enabled&&t.push({label:_("AllItems"),value:"all"})):this.p.data.none_option_enabled&&t.push({label:_("SelectNoneItem"),value:"none_element"}),t.push({label:_("FirstItem"),value:"first"}),t.push({label:_("LastSelectedItem"),value:"last_selected"}),t.push({label:_("SpecificItems"),value:"specific"}),t.push({label:_("Formula"),value:"formula"}),this.settings.Format.addDropdownDynamic({container:a,label:_("DefaultSelection"),object:this.p,containerClass:"default_selection_container",property:"default_selection_type",id:"default_selection",callback:function(t){e.p.default_selection_type=t.value,e.render()},combobox:{dataprovider:t},dynamicControlRenderer:function(t){this._renderDefaultSelectionDynamicControl(t.value)}.bind(this)}),this._renderDefaultSelectionDynamicControl(this.p.default_selection_type)},_renderDefaultSelectionDynamicControl:function(t){var e=$("#prop_default_selection .dynamic_control");switch(e.empty(),t){case"specific":e.show(),this.rebuildDefaultSelectionDropdown();break;case"formula":this.rebuildDefaultSelectionFormula(e),e.show();break;default:e.hide()}},rebuildDefaultSelectionFormula:function(t){var e=this;this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("DefaultSelection"),object:this.p,dropup:!0,grid:!0,property:"default_selection_formula",callback:function(){e.tryUpdate()}})},rebuildDefaultSelectionDropdown:function(){var t=this,e=this.widgetData();$("#prop_default_selection .dynamic_control").append($('<select id="default_selection_dropdown"></select>')),e&&0<e.length&&this.appendDataToList(e,$("#default_selection_dropdown"),WidgetLI4.get_data_element_template.bind(this)),this.p.allow_multiple_selection&&$("#default_selection_dropdown").attr("multiple","multiple"),$("#default_selection_dropdown").comboBox({nSelectedText:_("NItemsSelected"),onDropdownShow:function(){$("input:radio[name=gender][value=specific]").prop("checked",!0).trigger("change")},onChange:function(){t.p.specific_selection_values=$.map(this.getSelected(),function(t){return t.value}),t.render()}}),$("#default_selection_dropdown").comboBox("select",this.p.specific_selection_values)},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","formula"===this.p.data.mode||"mixed"===this.p.data.mode&&!this.p.data_id)},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var l=this,t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(r){switch(l.p.data.mode){case"mixed":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var i=l.p.data_bindings[a],n=l.getColumnFromId(t.columns,i.column_id);n&&e.push({is_used:!0,icon:DashboardUtils.getIconForColumnType(n.type),label:i.name||n.name,value:"".concat(n.id).concat(i.aggregation||""),is_context:n.is_context||!1,column_id:n.id,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}e.push({sep:!0});var o=t.columns.concat(l.p.calculated_columns||[]),e=e.concat(o.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id,is_context:t.is_context||!1}}));r(e)});break;case"custom":case"formula":var t=[{label:_("Labels"),value:0},{label:_("Values"),value:1}];r(t)}},t.updateDataCallback=function(){e._isDirty=!0,l.updateData()},t.render()},renderFilter:function(e){var l=this,i=new Settings.SortFilter.Filter(e);i.getFilterColumns=function(r){switch(l.p.data.mode){case"mixed":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var i=l.p.data_bindings[a],n=l.getColumnFromId(t.columns,i.column_id);n&&e.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:i.name||n.name,value:"".concat(n.id).concat(i.aggregation||""),column_id:n.id,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var o=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(o.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));r(e)});break;case"custom":case"formula":var t=[{label:_("Labels"),value:0,icon:DashboardUtils.getIconForColumnType()},{label:_("Values"),value:1,icon:DashboardUtils.getIconForColumnType()}];r(t)}return t},i.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().value,i.updateOperatorDropdown(t,a),i.updateDataCallback()},i.getDataCloneId=function(){return l.p.data_id},i.updateDataCallback=function(){l.updateData(),l.tryUpdate()},i.render()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),this.settings.Format.addBoolean({container:t.ui,label:_("MoveSelectedToTop"),object:this.p,property:"move_selected_to_top",callback:this.render.bind(this)}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})}};
//# sourceMappingURL=LI.js.map

function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(d){function s(t){return ko.isObservable(t)&&void 0!==t.destroyAll}function l(t,e){this.options=this.mergeOptions(e),this.$select=d(t),this.originalOptions=this.$select.clone()[0].options,this.query="",this.buildOptions=!1,this.searchTimeout=null,this.options.multiple="multiple"===this.$select.attr("multiple"),this.options.onChange=d.proxy(this.options.onChange,this),this.options.onDropdownShow=d.proxy(this.options.onDropdownShow,this),this.options.onDropdownHide=d.proxy(this.options.onDropdownHide,this),this.buildContainer(),this.buildButton(),this.buildDropdown(),this.buildSelectAll(),this.options.buildItemsOnOpen?this.options.enablePlaceholder&&!this.options.multiple&&this.createPlaceholderOption():this.buildDropdownOptions(),this.buildFilter(),this.updateButtonText(),this.updateSelectAll(),this.$select.hide().after(this.$container),this.options.buildItemsOnOpen||d(".viewport",this.$ulContainer).setOverlayScrollbar()}null!==Array.prototype.forEach&&void 0!==Array.prototype.forEach||(Array.prototype.forEach=function(t){for(var e=0;e<this.length;++e)t(this[e])}),"undefined"!=typeof ko&&ko.bindingHandlers&&!ko.bindingHandlers.widgetDropdown&&(ko.bindingHandlers.widgetDropdown={init:function(o,t,e){e=e().selectedOptions,t=ko.utils.unwrapObservable(t());d(o).widgetDropdown(t),s(e)&&e.subscribe(function(t){var e=[],i=[];t.forEach(function(t){switch(t.status){case"added":e.push(t.value);break;case"deleted":i.push(t.value)}}),0<e.length&&d(o).widgetDropdown("select",e),0<i.length&&d(o).widgetDropdown("deselect",i)},null,"arrayChange")},update:function(t,e,i){var i=i().options,o=d(t).data("multiselect"),e=ko.utils.unwrapObservable(e());s(i)&&i.subscribe(function(){d(t).widgetDropdown("rebuild")}),o?o.updateOriginalOptions():d(t).widgetDropdown(e)}});function t(t){var e;return 0===t.length?this.nonSelectedText:t.length>this.numberDisplayed?"".concat(t.length," ").concat(this.nSelectedText):(e="",t.each(function(){var t=void 0!==d(this).attr("label")?d(this).attr("label"):d(this).text();e+="".concat(t,", ")}),e.substr(0,e.length-2))}l.prototype={defaults:{buttonText:t,buttonTitle:t,label:function(t){return d(t).attr("label")||d(t).text()},buttonClass:"btn2",dropRight:!1,selectedClass:"active",buttonWidth:"auto",buttonContainer:'<div class="btn-group cd-select cd-widgetDropdown"></div>',containerClasses:"",maxHeight:!1,checkboxName:Utils.newGuid(),includeSelectAllOption:!1,includeSelectAllIfMoreThan:0,moveSelectedToTop:!1,selectAllText:_("ComboboxDefaultSelectAllText"),selectAllValue:"widgetDropdown-all",enableFiltering:!1,enableCaseInsensitiveFiltering:!1,allowCustomValue:!1,filterPlaceholder:_("ComboboxDefaultFilterPlaceHolder"),filterBehavior:"text",preventInputChangeEvent:!1,enablePlaceholder:!1,placeholderLabel:_("ComboboxDefaultNonSelectedText"),nonSelectedText:_("ComboboxDefaultNonSelectedText"),input:{placeholder:_("ComboboxDefaultInputPlaceHolder"),regex:null},inputTemplate:null,IconClass:"fa-caret-down",IconLoadingClass:"fa-spin",buttonIcon:'<i class="fas fa-caret-down"></i>',buttonLoading:'<i class="fas fa-progress"></i>',liTemplate:null,nSelectedText:"selected",numberDisplayed:3,templates:{button:'<div class="widgetDropdown dropdown-toggle" data-toggle="dropdown" data-display="static" tabindex="0"></div>',input:'<input type="text" />',ul:'<ul class="widgetDropdown-container"></ul>',filter:'<div class="widgetDropdown-item filter"><div class="input-group"><input class="form-control widgetDropdown-search" type="text"></div></div>',li:'<li><a href="javascript:void(0);"><label></label></a></li>',divider:'<li class="widgetDropdown-item divider"></li>',liGroup:'<li class="widgetDropdown-item group"><label class="widgetDropdown-group"></label></li>'},buildItemsOnOpen:!1},constructor:l,buildContainer:function(){this.$container=d(this.options.buttonContainer).addClass("cd-widgetDropdown").addClass(this.options.containerClasses);var e=this;this.$container.on("show.bs.dropdown",function(){var t;e.options.buildItemsOnOpen&&!e.buildOptions&&(e.buildDropdownOptions(!0),d(".viewport",e.$ulContainer).setOverlayScrollbar(),e.options.onOpenCallBack&&e.options.onOpenCallBack(),e.$container.hasClass("open")||e.options.multiple||!e.lastValue.value||(t=e.getInputByValue(e.lastValue.value),setTimeout(function(){t.closest("li").trigger("focus"),OverlayScrollbars(d(".viewport",e.$ulContainer)).scroll(t.closest("li"))},150)),e.buildOptions=!0),e.updateSelectAll(),e.options.onDropdownShow&&e.options.onDropdownShow()}),this.$container.on("hide.bs.dropdown",this.options.onDropdownHide)},searchString:"",throttleClearSearchString:Utils.debounce(function(){this.searchString=""},200),buildButton:function(){this.$button=d(this.options.templates.button).addClass(this.options.buttonClass),this.$input=this.options.inputTemplate?d("<div>"):d(this.options.templates.input).attr("placeholder",this.options.input.placeholder),this.$caret=d("<div></div>").append(d(this.options.buttonIcon)).addClass("toggleIcon"),this.$select.prop("disabled")?this.disable():this.enable(),this.options.buttonWidth&&"auto"!==this.options.buttonWidth&&this.$button.css({width:this.options.buttonWidth});var t=this.$select.attr("tabindex");t&&this.$button.attr("tabindex",t),this.options.inputTemplate||this.options.allowCustomValue||d(this.$input).attr("readonly",!0),this.$input&&this.$button.append(this.$input),this.$button.append(this.$caret),this.$container.prepend(this.$button)},buildDropdown:function(){this.$ulContainer=d('<div class="widgetdropdown-dropdown-container dropdown-menu"></div>'),this.$ulViewport=d('<div class="viewport"></div>'),this.$ul=d(this.options.templates.ul),this.options.dropRight&&this.$ulContainer.addClass("pull-right dropdown-menu-right"),this.options.maxHeight&&this.$ulViewport.css({"max-height":"".concat(this.options.maxHeight,"px"),"overflow-y":"auto","overflow-x":"hidden"}),this.$ulViewport.append(this.$ul),this.$container.append(this.$ulContainer.append(this.$ulViewport))},updateCustomValue:function(t){var e,i;this.options.input.regex?(e=new RegExp(this.options.input.regex),(e=d(t).val().match(e))?this.options.input.valueFormat?(i=this.options.input.valueFormat.format(e[0]),this.lastValue={label:i,value:e[0]},d(t).val(i)):this.lastValue={label:d(t).val(),value:d(t).val()}:d(t).val(this.lastValue.label)):this.lastValue={label:d(t).val(),value:d(t).val()}},buildDropdownOptions:function(t){for(var p=this,e=[],i=(t||!this.options.enablePlaceholder||this.options.multiple||this.createPlaceholderOption(),this.$select.children().not("[placeholder]")),o=0;o<i.length;o++){var s=i[o],l=d(s),n=l.prop("tagName").toLowerCase();"optgroup"===n?e.push(p.createOptgroup(s)):"option"===n&&("divider"===l.data("role")?e.push(p.createDivider()):e.push(p.createOptionValue(l,s,o))),0===o&&(p.lastValue={label:l.text(),value:l.attr("value")})}this.$ul.append(e),this.options.inputTemplate||d(this.$input).on("change",Utils.debounce(function(t){p.options.allowCustomValue&&p.updateCustomValue(this),p.options.onChange&&p.options.onChange(t,this)},200)),d("li input",this.$ul).on("click",d.proxy(function(t){var e=p.lastValue,i=d(t.target),o=i.prop("checked")||!1,s=i.val()===this.options.selectAllValue,l=i.closest("li").hasClass("widgetDropdown-placeholder"),n=(this.options.selectedClass&&i.parents("li").toggleClass(this.options.selectedClass,o),i.val()),a=i.data("label"),n=null==a||n==a?this.getOptionByValue(n):this.getOptionByValueLabel(n,a),a=d("option",this.$select).not(n),r=d("input",this.$container).not(i);if(s&&(o?this.selectall():this.deselectall()),s||l||(t.shiftKey?(this.deselectall(),i.prop("checked",!0),n.prop("selected",!0),i.closest("li").addClass(this.options.selectedClass),this.$select.trigger("change"),this.updateButtonText(),this.updateSelectAll(),this.options.onChange(n,o,e),t.stopPropagation()):o?(n.prop("selected",!0),this.options.multiple?n.prop("selected",!0):(this.options.selectedClass&&d(r).parents("li").removeClass(this.options.selectedClass),d(r).prop("checked",!1),a.prop("selected",!1),this.close()),"active"===this.options.selectedClass&&a.parents("a").css("outline","")):n.prop("selected",!1)),l&&(d(r).parents("li").removeClass(this.options.selectedClass),i.closest("li").addClass(this.options.selectedClass),d("option",this.$select).prop("selected",!1),this.lastValue=null,this.close()),!this.options.moveSelectedToTop||s||l||(this.options.multiple||(t=d("li:not(.widgetDropdown-item)",this.$ul).first(),this.repositionDropdownElement(t,!1)),this.repositionDropdownElement(i.closest("li"),o)),this.$select.trigger("change"),this.updateButtonText(),this.updateSelectAll(),this.options.onChange(n,o,e),this.options.preventInputChangeEvent)return!1},this)),d("li > *",this.$ul).on("touchstart click",function(t){t.stopPropagation();var e,i=d(t.target);t.shiftKey&&i.prop("checked")&&(t=i.parents("li:last").siblings('li[class="active"]:first'),e=i.parents("li").index(),(t.index()<e?i.parents("li:last").prevUntil(t):i.parents("li:last").nextUntil(t)).each(function(){d(this).find("input:first").prop("checked",!0).trigger("change")})),i.trigger("blur")}),this.$ulContainer.on("click",".os-scrollbar-vertical",function(t){t.stopPropagation()}),this.$container.off("keydown").on("keydown",d.proxy(function(t){if(!d('input[type="text"]',this.$container).is(":focus"))if(9!==t.keyCode&&27!==t.keyCode||!this.$ulContainer.hasClass("open"))if(38!=t.keyCode&&40!=t.keyCode&&32!=t.keyCode&&13!=t.keyCode){var e,i=d(this.$container).find("li:not(.divider):not(.disabled) a").filter(":visible"),o=String.fromCharCode(t.keyCode).toLowerCase(),s=(this.searchString+=o,new RegExp("^".concat(this.searchString))),o=d.map(i,function(t,e){if(d("> label > input",t).val()&&""!=d("> label > input",t).val()&&d("> label",t).text().trim().toLowerCase().match(s))return e})[0];(e=i.eq(o)).trigger("focus"),this.throttleClearSearchString(),t.stopPropagation(),t.preventDefault()}else{i=d(this.$container).find("li:not(.divider):not(.disabled) a").filter(":visible");var l=d(this.$container).find("li:not(.divider):not(.disabled)").filter(":visible");if(i.length){if(o=i.index(i.filter(":focus")),38===t.keyCode&&0<=o){if(--o<0)return t.stopPropagation(),void t.preventDefault();d(l).filter(".currentIndex").removeClass("currentIndex"),d(l[o]).addClass("currentIndex")}else 40===t.keyCode&&o<i.length-1?(o++,d(l).filter(".currentIndex").removeClass("currentIndex"),d(l[o]).addClass("currentIndex")):~o||(o=0);(e=i.eq(o)).trigger("focus"),32!==t.keyCode&&13!==t.keyCode||((l=e.find("input")).prop("checked",!l.prop("checked")),l.trigger("click")),t.stopPropagation(),t.preventDefault()}}else this.close()},this)),this.$container.off("click").on("click",d.proxy(function(){var t;d(this.$container).find("li:not(.divider):not(.disabled)").filter(":visible .currentIndex").removeClass("currentIndex"),this.$container.hasClass("open")||this.options.multiple||!this.lastValue.value||(t=this.getInputByValue(this.lastValue.value),setTimeout(function(){t.closest("li").trigger("focus"),OverlayScrollbars(d(".viewport",this.$ulContainer)).scroll(t.closest("li"))}.bind(this),50))},this)),this.options.inputTemplate||this.options.allowCustomValue&&d("> input",this.$button).on("click",function(t){t.stopPropagation()}),(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering)&&d("input",this.$container).off("keydown").on("keydown",d.proxy(function(t){d(t.target).is("input")&&(clearTimeout(this.searchTimeout),this.searchTimeout=this.asyncFunction(d.proxy(function(){this.query!==t.target.value&&(this.query=t.target.value,d.each(d("li",this.$ul),d.proxy(function(t,e){var i=d("input",e).val(),o=d("label",e).text(),s="";"text"===this.options.filterBehavior?s=o:"value"===this.options.filterBehavior?s=i:"both"===this.options.filterBehavior&&(s="".concat(o,"\n").concat(i)),i!==this.options.selectAllValue&&o&&(i=!1,(i=this.options.enableCaseInsensitiveFiltering&&-1<s.toLowerCase().indexOf(this.query.toLowerCase())||-1<s.indexOf(this.query)?!0:i)?d(e).show().removeClass("filter-hidden"):d(e).hide().addClass("filter-hidden"))},this))),this.updateSelectAll()},this),300,this),t.stopPropagation())},this))},repositionDropdownElement:function(t,e){var i,o=t.data("original-index"),s=d(e?"li:not(.widgetDropdown-item).active":"li:not(.widgetDropdown-item):not(.active):not(.widgetDropdown-all)",this.$ul).not(t);if(0<s.length){for(var l=0;l<s.length;l++)(!i||Math.abs(d(s[l]).data("original-index")-o)<Math.abs(d(i).data("original-index")-o))&&(i=s[l]);o<d(i).data("original-index")?t.insertBefore(i):t.insertAfter(i)}else{var n=d("li.widgetDropdown-all",this.$ul)[0]||d("li.widgetDropdown-placeholder",this.$ul)[0];e?n?t.insertAfter(n):t.prependTo(this.$ul):t.appendTo(this.$ul)}},createOptionValue:function(t,e,i){t.is(":selected")&&t.prop("selected",!0);var o,s=this.options.label(e),e=d(e).data("label"),l=t.val(),n=this.options.multiple?"checkbox":"radio",s=(window.Mustache&&this.options.liTemplate?o=d(Mustache.render(this.options.liTemplate,t.data())):(o=d(this.options.templates.li),d("label",o).text(" ".concat(s))),d("label",o).addClass(n),d('<input type="'.concat(n,'" name="').concat(this.options.checkboxName,'" />'))),n=("checkbox"==n&&(d("label",o).prepend('<i class="far fa-check-square"></i>'),d("label",o).addClass("fa-checkbox")),d("label",o).prepend(s),t.prop("selected")||!1),s=d("input",o);return s.val(l),s.data("label",e),l===this.options.selectAllValue&&(o.addClass("widgetDropdown-item widgetDropdown-all"),s.parent().parent().addClass("widgetDropdown-all")),o.data("original-index",i),t.is(":disabled")&&s.attr("disabled","disabled").prop("disabled",!0).parents("a").attr("tabindex","-1").parents("li").addClass("disabled"),s.prop("checked",n),n&&this.options.selectedClass&&s.parents("li").addClass(this.options.selectedClass),o},createPlaceholderOption:function(){d("option[placeholder]",this.$select).remove(),this.clearSelection(),d("option[placeholder]"),this.$select&&this.$select.prepend("<option placeholder selected></option>");var t=d(this.options.templates.li),e=(d("label",t).append("").css("height","25px"),d("label",t).addClass("radio"),d('<input type="'.concat("radio",'" name="').concat(this.options.checkboxName,'" />'))),e=(d("label",t).prepend(e),d("input",t));e.val(null),t.addClass("widgetDropdown-item widgetDropdown-placeholder"),this.$ul.prepend(t),e.prop("checked",!1)},createDivider:function(){return d(this.options.templates.divider)},createOptgroup:function(t){var e=d(t).prop("label"),i=d(this.options.templates.liGroup);return d("label",i).text(e),d(t).is(":disabled")&&i.addClass("disabled"),d("option",t).each(d.proxy(function(t,e){this.createOptionValue(d(e),e,t)},this)),i},buildSelectAll:function(){var t,e;!this.hasSelectAll()&&this.options.includeSelectAllOption&&this.options.multiple&&d("option",this.$select).length>this.options.includeSelectAllIfMoreThan&&(this.options.includeSelectAllDivider&&this.$ul.prepend(d(this.options.templates.divider)),t=d(this.options.templates.li),d("label",t).addClass("checkbox fa-checkbox"),d("label",t).append('<input type="checkbox" name="'.concat(this.options.checkboxName,'" />')),d("label",t).append('<i class="far fa-check-square"></i>'),(e=d("input",t)).val(this.options.selectAllValue),t.addClass("widgetDropdown-item widgetDropdown-all"),e.parent().parent().addClass("widgetDropdown-all"),d("label",t).append(" ".concat(this.options.selectAllText)),this.$ul.prepend(t),e.prop("checked",!1))},buildFilter:function(){var t;(this.options.enableFiltering||this.options.enableCaseInsensitiveFiltering)&&(t=Math.max(this.options.enableFiltering,this.options.enableCaseInsensitiveFiltering),this.$select.find("option").length>=t&&(this.$filter=d(this.options.templates.filter),d("input",this.$filter).attr("placeholder",this.options.filterPlaceholder),this.options.includeFilterClearBtn&&((t=d(this.options.templates.filterClearBtn)).on("click",d.proxy(function(){clearTimeout(this.searchTimeout),this.$filter.find(".multiselect-search").val(""),d("li",this.$ul).show().removeClass("filter-hidden"),this.updateSelectAll()},this)),this.$filter.find(".input-group").append(t)),d(".dropdown-menu",this.$container).prepend(this.$filter),this.$filter.val(this.query).on("click",function(t){t.stopPropagation()}).on("input keydown",d.proxy(function(t){t.which===d.ui.keyCode.ENTER&&t.preventDefault(),t.which===d.ui.keyCode.BACKSPACE&&t.stopPropagation(),clearTimeout(this.searchTimeout),this.searchTimeout=this.asyncFunction(d.proxy(function(){var l,n;this.query!==t.target.value&&(this.query=t.target.value,d.each(d("li",this.$ul),d.proxy(function(t,e){var i=d("input",e).val(),o=d("label",e).text(),s="";"text"===this.options.filterBehavior?s=o:"value"===this.options.filterBehavior?s=i:"both"===this.options.filterBehavior&&(s="".concat(o,"\n").concat(i)),i!==this.options.selectAllValue&&o&&(i=!1,(this.options.enableCaseInsensitiveFiltering&&-1<s.toLowerCase().indexOf(this.query.toLowerCase())||-1<s.indexOf(this.query))&&(i=!0),d(e).toggle(i).toggleClass("filter-hidden",!i),o=d(e).data("originalIndex")+1,s=d("option:nth-child({0})".format(o),this.$select).prop("selected"),d(e).hasClass(this.options.selectedClass)&&(s=!0),d("option:nth-child({0})".format(o),this.$select).prop("selected",s&&i).trigger("change"),d(e).hasClass("multiselect-group")?(l=e,n=i):(i&&d(l).show().removeClass("filter-hidden"),!i&&n&&d(e).show().removeClass("filter-hidden")))},this))),this.updateSelectAll(),this.options.onChange&&this.options.onChange(t,this)},this),300,this)},this))))},destroy:function(){this.$container.remove(),this.$select.show(),this.$select.data("multiselect",null)},change:function(){this.options.onChange&&this.options.onChange(this)},refresh:function(){d("option",this.$select).each(d.proxy(function(t,e){var i=d("li input",this.$ul).filter(function(){return d(this).val()===d(e).val()});d(e).is(":selected")?(i.prop("checked",!0),this.options.selectedClass&&i.parents("li").addClass(this.options.selectedClass)):(i.prop("checked",!1),this.options.selectedClass&&i.parents("li").removeClass(this.options.selectedClass)),d(e).is(":disabled")?i.attr("disabled","disabled").prop("disabled",!0).parents("li").addClass("disabled"):i.prop("disabled",!1).parents("li").removeClass("disabled")},this)),this.updateButtonText(),this.updateSelectAll()},select:function(t){var e=!1;d.isArray(t)||(t=[t]);for(var i,o=0;o<t.length;o++){var s,l=t[o];null!=l&&(s=this.getOptionByValue(l),(l=this.getInputByValue(l))&&s?(this.options.multiple||d("input",this.$ul).parents("li").removeClass(this.options.selectedClass),this.options.selectedClass&&l.parents("li").addClass(this.options.selectedClass),l.prop("checked",!0),s.prop("selected",!0),this.options.moveSelectedToTop&&this.repositionDropdownElement(l.closest("li"),!0),e=!0):s&&(this.options.multiple||d("input",this.$ul).parents("li").removeClass(this.options.selectedClass),s.prop("selected",!0),e=!0))}!e&&this.options.allowCustomValue?(i=this.options.input.valueFormat?this.options.input.valueFormat.format(t[0]):t[0],this.lastValue={label:i,value:t[0]},this.$input.val(i)):this.updateButtonText()},clearSelection:function(){this.deselectall(!1),this.updateButtonText(),this.updateSelectAll()},deselect:function(t){d.isArray(t)||(t=[t]);for(var e=0;e<t.length;e++){var i=t[e],o=this.getOptionByValue(i),i=this.getInputByValue(i);this.options.selectedClass&&i.parents("li").removeClass(this.options.selectedClass),i.prop("checked",!1),o.prop("selected",!1)}this.updateButtonText()},getVisibleCheckboxes:function(t){return d("input",t.closest("li").filter(":visible"))},selectall:function(t){var e,i=d("li input[type='checkbox']:enabled",this.$ul),o=this.getVisibleCheckboxes(i),s=i.length,l=o.length;(t?(i.prop("checked",!0),d("li:not(.divider):not(.disabled)",this.$ul).addClass(this.options.selectedClass),d("option:enabled",this.$select)):(o.prop("checked",!0),d("li:not(.divider):not(.disabled)",this.$ul).filter(":visible").addClass(this.options.selectedClass),s===l?d("option:enabled",this.$select):(e=o.map(function(){return d(this).val()}).get(),d("option:enabled",this.$select).filter(function(){return-1!==d.inArray(d(this).val(),e)})))).prop("selected",!0),this.updateButtonText()},deselectall:function(t){var e,i=d("li input[type='checkbox']:enabled",this.$ul),o=void 0;((t=void 0===t||t)?(e=void 0,(o=this.getVisibleCheckboxes(i)).prop("checked",!1),e=o.map(function(){return d(this).val()}).get(),d("option:enabled",this.$select).filter(function(){return-1!==d.inArray(d(this).val(),e)}).prop("selected",!1),d("li:not(.divider):not(.disabled)",this.$ul).filter(":visible")):(i.prop("checked",!1),d("option:enabled",this.$select).prop("selected",!1),d("li:not(.divider):not(.disabled)",this.$ul))).removeClass(this.options.selectedClass)},rebuild:function(){this.$ul.html(""),this.options.multiple="multiple"===this.$select.attr("multiple"),this.buildSelectAll(),this.buildDropdownOptions(),this.updateButtonText(),this.updateSelectAll(),d(".viewport",this.$ulContainer).setOverlayScrollbar()},empty:function(){this.$select.empty(),this.rebuild()},close:function(){this.$ulContainer.removeClass("show"),d(".dropdown-backdrop",this.$container).remove(),this.$container.trigger("hide.bs.dropdown")},dataprovider:function(t){var i=this;t.forEach(function(t){var e=d("<option></option>");null!=t.value&&null!=t.value&&e.attr("value",t.value),null!=t.label&&null!=t.label&&(e.attr("label",t.label),e.text(t.label)),t.disabled&&e.prop("disabled",!0),e.data(t),i.$select.append(e)}),this.rebuild()},datagroupprovider:function(t){var e=this;t.forEach(function(t){var i=d('<optgroup label="{0}"></optgroup>'.format(t.name));t.data.forEach(function(t){var e=d("<option></option>");t.value&&e.attr("value",t.value),t.label&&(e.attr("label",t.label),e.text(t.label)),t.data&&e.data(t.data),i.append(e)}),e.$select.append(i)}),this.rebuild()},enable:function(){this.$select.prop("disabled",!1),this.$button.prop("disabled",!1).removeClass("disabled")},disable:function(){this.$select.prop("disabled",!0),this.$button.prop("disabled",!0).addClass("disabled")},setOptions:function(t){this.options=this.mergeOptions(t)},mergeOptions:function(t){return d.extend(!0,{},this.defaults,t)},hasSelectAll:function(){return 0<d("li.".concat(this.options.selectAllValue),this.$ul).length},updateSelectAll:function(){var t,e,i,o;this.hasSelectAll()&&(t=(e=d("li:not(.widgetDropdown-item):not(.filter-hidden) input:enabled",this.$ul)).length,e=e.filter(":checked").length,o=(i=d("li.".concat(this.options.selectAllValue),this.$ul)).find("input"),0<e&&e===t?(o.prop("checked",!0),i.addClass(this.options.selectedClass)):(o.prop("checked",!1),i.removeClass(this.options.selectedClass)))},updateButtonText:function(){var t=this.getSelected();this.lastValue={label:this.options.buttonText(t,this.$select),value:d(t[0]).attr("value")},this.options.inputTemplate?d(".widgetDropdown > :first-child",this.$container).html(d(Mustache.render(this.options.inputTemplate,d(t[0]).data()))):(d(".widgetDropdown input",this.$container).val(this.options.buttonText(t,this.$select)),d(".widgetDropdown input",this.$container).attr("title",this.options.buttonTitle(t,this.$select)))},getSelected:function(){return d("option",this.$select).filter(":selected")},getSelectedLabelsAndValues:function(){for(var t=d("option:selected:not([placeholder])",this.$select),e=[],i=[],o=0;o<t.length;o++){var s=t[o];e.push(d(s).data("label")),i.push(d(s).data("value"))}return{labels:e,values:i}},getValue:function(){return this.lastValue?this.lastValue.value:null},getOptionByValue:function(t){for(var e=d("option",this.$select),i=t.toString(),o=0;o<e.length;o+=1){var s=e[o];if(s.value===i)return d(s)}},getOptionByValueLabel:function(t,e){for(var i=d("option",this.$select),o=t.toString(),s=null!=e&&e.toString()||null,l=0;l<i.length;l+=1){var n=i[l],a=d(n).data("label")||null;if(a&&n.value===o&&a==s)return d(n)}},getInputByValue:function(t){for(var e=d("li input",this.$ul),i=t.toString(),o=0;o<e.length;o+=1){var s=e[o];if(s.value===i)return d(s)}},updateOriginalOptions:function(){this.originalOptions=this.$select.clone()[0].options},asyncFunction:function(t,e,i){var o=Array.prototype.slice.call(arguments,3);return setTimeout(function(){t.apply(i||window,o)},e)}},d.fn.widgetDropdown=function(i){var o,s=Array.apply(null,arguments);return s.shift(),this.each(function(){var t=d(this).data("widgetdropdown"),e="object"===_typeof(i)&&i;if(t||(t=new l(this,e),d(this).data("widgetdropdown",t)),"string"==typeof i){if(void 0!==(o=t[i].apply(t,s)))return!1;"destroy"===i&&d(this).data("widgetdropdown",!1)}}),void 0!==o?o:this},d.fn.widgetDropdown.Constructor=l,d(function(){d("select[data-role=widgetdropdown]").widgetDropdown()})}(window.jQuery);
//# sourceMappingURL=WidgetDropdown.js.map


//# sourceMappingURL=widgettemplate.js.map

function WidgetAC(){}WidgetAC.prototype={render:function(){this._rendered||(this._rendered=!0,this.ui.append("<div class='action-button'></div>")),this.updateDOM(),this._loaded=!0},destroy:function(){this._rendered=!1},bindEvents:function(){var e=this;this._eventsBound||(this.on("stylechanged",function(){e.updateDOM()}),this.on("fontchanged",function(){e.updateDOM()}),this.on("propertieschanged",function(){e.updateDOM()}),this.on("labelchanged",function(){var t=$("#prop_textinput").find("input");t.val()!=e.p.label.text&&t.val(e.p.label.text),e.updateDOM()}),this.on("icondisplaychanged",function(){$("#prop_display_icon").find(".cd-flipSwitch").toggleClass("on",e.p.icon.display_icon),e.updateDOM()}),this.on(["height","width"],function(){e.updateFontSize()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindInteractions(),this._eventsBound=!0)},updateDOM:function(){var i=this,n=this.ui.find("div"),t=(n.empty(),this.updateContainerStyle("shape"),$("<span></span>"));n.append(t),t.text(this.p.label.text),t.css({"font-family":this.p.label.font.family,"line-height":"".concat(this.p.label.font.size,"px"),"text-shadow":this.p.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.label.font.underline?"underline":"none",color:this.p.label.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.label.font.family,this.p.label.font.font_weight),"font-style":this.p.label.font.italic?"italic":"normal"}),Utils.FontUtils.loadFont(this.p.label.font.family,function(){i.updateFontSize()}),n.removeClass("flex-halign-left flex-halign-center flex-halign-right"),n.addClass("flex-halign-".concat(this.p.label.font.halign)),this.p.icon.display_icon&&(t=function(){var t=Utils.arrayFirst(_WidgetIconsReferences,function(t){return t.Code==i.p.icon.icon_id}),e="fa-arrow-circle-down",t=(t&&(e=t.IconClass),$("<i class='{0}'></i>".format(e)));"right"==this.p.icon.icon_placement?n.append(t):n.prepend(t),this.updateStyle()}.bind(this),this.loadWidgetIcons(t)),this.postRenderActions()},updateFontSize:function(){$(this.ui.find("div span")).css("font-size",this.getFontSize())},updateStyle:function(){var t=this.p.icon.size||14;$("i",this.ui).css({"font-size":t,color:this.p.label.font.color,"margin-left":4,"margin-right":4})},renderPropertiesTab:function(t){var e=this,i=t.ui.content;t.settings.Format.addText({id:"textinput",container:i,label:_("Label"),object:this.p.label,property:"text",callback:function(){e.updateDOM()}})},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Label"),code:"label",renderer:this.getLabelProperties.bind(this)}),t.push({icon:"button-icon.png",text:_("Icon"),code:"icon",renderer:this.getIconProperties.bind(this)}),t},getShapeProperties:function(t){var e=this.updateContainerStyle.bind(this,"shape");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:e}),t.addSeparator()},getLabelProperties:function(t){var e=this,i=this.updateDOM.bind(this),n=this.updateFontSize.bind(this);t.addText({label:_("Label"),object:this.p.label,property:"text",callback:function(){e.trigger("labelchanged")}}),t.addFont({object:this.p.label,property:"font",callback:i,autofit_property:"autofit",autofit_callback:n,dropDown:!0})},getFontSize:function(){var t,e,i,n,o;return this.p.label.autofit?(e=(t=$("<div>").text(this.p.label.text).css({position:"absolute",visibility:"hidden","font-family":this.p.label.font.family,"font-size":"".concat(10,"px"),"font-weight":Utils.FontUtils.getFontWeight(this.p.label.font.family,this.p.label.font.font_weight),"font-style":this.p.label.font.italic?"italic":"normal","text-shadow":this.p.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.label.font.underline?"underline":"none"}).appendTo("body")).outerWidth(),i=t.outerHeight(),o=this.ui.outerWidth(),this.p.label.autofit&&(o-=30),n=this.ui.outerHeight(),o=10*Math.min(o/e,n/i),t.remove(),"".concat(o-2*this.p.shape.border.width-(this.class.options.autofitSizeDelta||0),"px")):"".concat(this.p.label.font.size,"px")}};
//# sourceMappingURL=AC-base.js.map

function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _createForOfIteratorHelper(t,e){var r,n,o,i,a="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(a)return n=!(r=!0),{s:function(){a=a.call(t)},n:function(){var t=a.next();return r=t.done,t},e:function(t){n=!0,o=t},f:function(){try{r||null==a.return||a.return()}finally{if(n)throw o}}};if(Array.isArray(t)||(a=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return a&&(t=a),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var r;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(r="Object"===(r=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:r)||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function _regeneratorRuntime(){_regeneratorRuntime=function(){return a};var a={},t=Object.prototype,s=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function i(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{i({},"")}catch(t){i=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var o,i,a,c,e=e&&e.prototype instanceof u?e:u,e=Object.create(e.prototype),n=new x(n||[]);return e._invoke=(o=t,i=r,a=n,c="suspendedStart",function(t,e){if("executing"===c)throw new Error("Generator is already running");if("completed"===c){if("throw"===t)throw e;return w()}for(a.method=t,a.arg=e;;){var r=a.delegate;if(r){r=function t(e,r){var n=e.iterator[r.method];if(void 0===n){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=void 0,t(e,r),"throw"===r.method))return l;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}n=d(n,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,l;n=n.arg;return n?n.done?(r[e.resultName]=n.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,l):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,l)}(r,a);if(r){if(r===l)continue;return r}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===c)throw c="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);c="executing";r=d(o,i,a);if("normal"===r.type){if(c=a.done?"completed":"suspendedYield",r.arg===l)continue;return{value:r.arg,done:a.done}}"throw"===r.type&&(c="completed",a.method="throw",a.arg=r.arg)}}),e}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}a.wrap=c;var l={};function u(){}function p(){}function h(){}var e={},f=(i(e,n,function(){return this}),Object.getPrototypeOf),f=f&&f(f(_([]))),g=(f&&f!==t&&s.call(f,n)&&(e=f),h.prototype=u.prototype=Object.create(e));function y(t){["next","throw","return"].forEach(function(e){i(t,e,function(t){return this._invoke(e,t)})})}function m(a,c){var e;this._invoke=function(r,n){function t(){return new c(function(t,e){!function e(t,r,n,o){var i,t=d(a[t],a,r);if("throw"!==t.type)return(r=(i=t.arg).value)&&"object"==_typeof(r)&&s.call(r,"__await")?c.resolve(r.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):c.resolve(r).then(function(t){i.value=t,n(i)},function(t){return e("throw",t,n,o)});o(t.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}}function b(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function v(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function _(e){if(e){var r,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return r=-1,(t=function t(){for(;++r<e.length;)if(s.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t}).next=t}return{next:w}}function w(){return{value:void 0,done:!0}}return i(g,"constructor",p.prototype=h),i(h,"constructor",p),p.displayName=i(h,o,"GeneratorFunction"),a.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},a.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,i(t,o,"GeneratorFunction")),t.prototype=Object.create(g),t},a.awrap=function(t){return{__await:t}},y(m.prototype),i(m.prototype,r,function(){return this}),a.AsyncIterator=m,a.async=function(t,e,r,n,o){void 0===o&&(o=Promise);var i=new m(c(t,e,r,n),o);return a.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},y(g),i(g,o,"Generator"),i(g,n,function(){return this}),i(g,"toString",function(){return"[object Generator]"}),a.keys=function(r){var t,n=[];for(t in r)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},a.values=_,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(v),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function t(t,e){return i.type="throw",i.arg=r,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],i=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var a=s.call(o,"catchLoc"),c=s.call(o,"finallyLoc");if(a&&c){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var i=(o=o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc?null:o)?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,l):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),v(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r,n,o=this.tryEntries[e];if(o.tryLoc===t)return"throw"===(r=o.completion).type&&(n=r.arg,v(o)),n}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:_(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},a}function asyncGeneratorStep(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function _asyncToGenerator(c){return function(){var t=this,a=arguments;return new Promise(function(e,r){var n=c.apply(t,a);function o(t){asyncGeneratorStep(n,e,r,o,i,"next",t)}function i(t){asyncGeneratorStep(n,e,r,o,i,"throw",t)}o(void 0)})}}var WidgetAC1={WidgetAvailableForExport:["TA1","TA2","TA3","TA4","CH1","CH2","CH4","CH5","CH6","CH7","DC3","SC3","CH8","CH9","SC1","DC2"],WidgetUsingDisplayExportMode:["TA2","TA3","TA4"],NoWidgetPlaceholder_Template:'<div class="ac1_placeholder"><i class="far fa-file fa-3x"></i><span>'.concat(_("AC1_NoWidgetsPlaceholder"),"</span></div>"),InteractionsTab_Template:'<header class="nomargin">'.concat(_("AC1_TabHeader"),'</header>\n                                <div class="ac1_exportItems"><div class="ac1_sortable_list_container">\n                                </div></div>'),InteractionsTab_Template_WithChoice:"<header>'".concat(_("AC1_TabHeader"),'</header>\n        <div class="ac1_interactions_exportItems">\n            <div class="specificWidgets choice">\n                <label class="cd-radio hoverStyle">\n                    <input type="radio" name="exportOption" data-mode="widgets" selected />\n                    <i class="far"></i>\n                    ').concat(_("AC1_SpecificWidgetsOption"),'<br />\n                </label>\n                <div class="ac1_sortable_list_container">\n                </div>\n            </div>\n            <div class="specificData choice">\n                <label class="cd-radio hoverStyle">\n                    <input type="radio" name="exportOption" data-mode="data" />\n                    <i class="far"></i>\n                    ').concat(_("AC1_SpecificDataOption"),'<br />\n                </label>\n                <div class="dataSelectionContainer">\n                <select id="interactions_dataSelector" class="comboBoxSelect" cd-select disabled>\n                </select>\n                </div>\n            </div>\n        </div>')};Widget.createType({id:"AC1",options:{height:30,width:200,hide_datatab:!1,hasStyleProperty:!0,layer:!0},scripts:["/Libraries/jQueryTableParser/jquery.tableparser-min.js"],properties:{style:"",shape:{background_color:"#ffffff",background_gradient:!1,border:{width:0,color:"#bfbfbf"},roundness:2,shadow:{code:"light",opacity:.3,radius:5}},filename:"",label:{text:_("Label_Export"),autofit:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,halign:"center",color:"#3e4e5b"}},icon:{display_icon:!0,icon_id:"arcod",icon_placement:"right"},exportData:{type:"widgets",widgets:[],order:[]}},prototype:$.extend(!0,{},WidgetAC.prototype,{getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},init:function(){this.bindEvents(),this.render(),this.hasBeenDrop?this.prepareInteractionsProperties():this.checkExportableWidgetCount(),this._from||this._initExportDataSignalREvent(!0)},postRenderActions:function(){this.checkExportableWidgetCount()},showLoadingCallback:function(){$(".loading",this.container).css({color:this.p.label.font.color}),this.ui.hide()},hideLoadingCallback:function(){this.ui.show(),this.fullyLoaded=!0},showExportLoading:function(){this._loaded=!1,this.showLoading()},hideExportLoading:function(){this._loaded=!0,this.hideLoading()},bindInteractions:function(){var d=this;this._from||this.ui.on("click",Utils.debounce(_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,r,n,o,i,a,c,s;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(d.ui.hasClass("noExportableWidgets")||d.exportXHR)t.next=26;else{if(d.showExportLoading(),d.browseWidgets(),i=function(){var e=d.p.exportData.widgets.filter(function(t){return t.toExport}).map(function(t){return t.guid});return 0!==d.dashboard.widgets.filter(function(t){return e.includes(t.guid)&&!t._loaded&&!t.error}).length},!d.p.exportData.widgets.length||i())return d.hideExportLoading(),t.abrupt("return",!1);t.next=7}break;case 7:e=d.p.exportData.widgets.filter(function(t){return t.toExport}),r={Widgets:[]},n=0;case 10:if(!(n<e.length)){t.next=23;break}if(o=e[n].guid,i=e[n].exportType||Enums.AC1WidgetExportMode.Data,a=e[n].exportHiddenColumns||!1,!(c=Utils.arrayFirst(d.dashboard.widgets,function(t){return t.guid===o}))||c.error&&!c.toomanyvalues){t.next=20;break}return a={Widget:c.model,ExportType:i,ExportHiddenColumns:a,Dependencies:c.getDependenciesValues(),ColumnsFormat:!c.error&&c.getColumnsFormat&&c.getColumnsFormat(a)||[],FormulasDependencies:c.getFormulasDependenciesValues(),FilterDependencies:c.getDashboardFiltersDependencies(),ParametersDependencies:c.getParametersDependencies()},t.next=19,d.handleDisplayExport(c,i,a);case 19:r.Widgets.push(a);case 20:n++,t.next=10;break;case 23:c=d.p.filename,s=!d._from&&d.dashboard&&d.dashboard.model&&d.dashboard.model.binder_id?parseInt(d.dashboard.model.binder_id):null,d.exportXHR=WS.post("Export/Dashboard/".concat(d.dashboard.id,"/AC1"),{Widgets:r,Filename:c,BinderRecId:s}).done(function(t){d.exportXHR=null,d.exportTaskGUID=t}).fail(function(t){403===t.status?Messages.alert(_("NoDatasourceToExport")):WS.displayDefaultError(),d.exportXHR=null,d.hideExportLoading()});case 26:case"end":return t.stop()}},t)})),200))},prepareInteractionsProperties:function(){this.browseWidgets()},browseWidgets:function(){var r,n=this.dashboard.widgets.filter(function(t){return-1!==WidgetAC1.WidgetAvailableForExport.indexOf(t.model.type)&&t.state!==Enums.DataRecordState.Deleted}),o=this.p.exportData,i=o.widgets.filter(function(t){return t.toExport}).map(function(t){return{guid:t.guid,type:t.exportType,exportHiddenColumns:t.exportHiddenColumns}}),a=(o.widgets=[],function(t,e){var r=t.model,n=e?Enums.AC1WidgetExportMode.Display:Enums.AC1WidgetExportMode.Data,t=Utils.arrayFirst(i,function(t){return t.guid===r.guid&&t.type===n});o.widgets.push({name:r.name,guid:r.guid,exportType:n,exportHiddenColumns:t&&t.exportHiddenColumns||!1,toExport:null!==t})}),e=_createForOfIteratorHelper(this.p.exportData.order);try{for(e.s();!(r=e.n()).done;)!function(){var e=r.value,t=Utils.arrayFirst(n,function(t){return t.guid===e.guid});t&&a(t,e.exportType===Enums.AC1WidgetExportMode.Display)}()}catch(t){e.e(t)}finally{e.f()}for(var t=0;t<n.length;t++)!function(t){var e=t.model;Utils.arrayFirst(o.widgets,function(t){return t.guid===e.guid})||(o.widgets.push({name:e.name,guid:e.guid,exportType:Enums.AC1WidgetExportMode.Data,toExport:null!==Utils.arrayFirst(i,function(t){return t.guid===e.guid&&t.type===Enums.AC1WidgetExportMode.Data})}),-1!==WidgetAC1.WidgetUsingDisplayExportMode.indexOf(e.type)&&o.widgets.push({name:e.name,guid:e.guid,exportType:Enums.AC1WidgetExportMode.Display,toExport:null!==Utils.arrayFirst(i,function(t){return t.guid===e.guid&&t.type===Enums.AC1WidgetExportMode.Display})}))}(n[t]);this.checkExportableWidgetCount(),this.refreshOrder(),this.state===Enums.DataRecordState.Unchanged&&(this.state=Enums.DataRecordState.Modified)},checkExportableWidgetCount:function(){var t;null!==this.ui&&((t=this.p.exportData)&&t.widgets.length&&Utils.arrayFirst(t.widgets,function(t){return t.toExport})?this.ui.removeClass("noExportableWidgets"):this.ui.addClass("noExportableWidgets"))},getIconProperties:function(t){var e=this.updateDOM.bind(this),r=this.updateStyle.bind(this),n=this,o=t.addSection();t.addBoolean({section:o,label:_("DisplayIcon"),object:this.p.icon,property:"display_icon",callback:function(){n.trigger("icondisplaychanged")}}),t.addGlobalIconSelector({container:o,label:_("Icon"),object:this.p.icon,property:"icon_id",callback:e,widget:this}),t.addFontSize({container:o,label:_("Size"),object:this.p.icon,defaultValue:12,property:"size",callback:r}),t.addToggleButtons({container:o,label:_("IconPlacement"),object:this.p.icon,property:"icon_placement",numeric:!1,callback:e,buttons:[{image:"button-placement-left.png",value:"left"},{image:"button-placement-right.png",value:"right"}]}),t.addSeparator()},renderPropertiesTab:function(t){var e=this,r=t.ui.content;t.settings.Format.addText({id:"textinput_label",container:r,label:_("Label"),object:this.p.label,property:"text",callback:function(){e.updateDOM()}}),t.settings.Format.addText({id:"textinput_filename",container:r,label:_("ExportFilename"),object:this.p,property:"filename"})},refreshOrder:function(){this.p.exportData.order=[];var t,e=_createForOfIteratorHelper(this.p.exportData.widgets);try{for(e.s();!(t=e.n()).done;){var r=t.value;this.p.exportData.order.push(r)}}catch(t){e.e(t)}finally{e.f()}},renderDataTab:function(t){var n=this;this.eventBounds=!1,t.loaded||(this.p.exportData.widgets.length?(t.ui.append(WidgetAC1.InteractionsTab_Template),t.ui.addClass("ac1"),this.sortableList=new SortableList({container:$(".ac1_sortable_list_container",t.ui),object:this.p.exportData,property:"widgets",enableDelete:!1,enableSort:!0,onSortCallback:this.refreshOrder.bind(this),columns:[{name:_("Ac1_Interactions_WidgetName"),width:"auto",cellFormat:function(t,e){t=$("<div class='widgetRow'><label>".concat(Utils.sanitizeHTML(t.name),"</label></div>"));e.append(t)}},{name:_("Ac1_Interactions_WidgetExportType"),width:100,classes:"centeredContent",headerClass:"centeredContent",cellFormat:function(t,e){t=$("<div class='widgetRow'><label>".concat(_("WidgetAc1ExportType_".concat(t.exportType)),"</label></div>"));e.append(t)}},{name:_("Ac1_Interactions_WidgetExportHiddenColumns"),width:100,classes:"centeredContent",headerClass:"centeredContent includeHidden",cellFormat:function(t,e){var r=$("<input type='checkbox'/>");t.exportHiddenColumns&&r.attr("checked","checked"),e.append(r),t.exportType===Enums.AC1WidgetExportMode.Display?(r.prop("disabled",!0),e.attr("title",_("AC1HiddenColumnWithDisplay")),r.flipSwitch()):(r.flipSwitch(),r.on("change",function(){t.exportHiddenColumns=$(this).is(":checked"),n.checkExportableWidgetCount()}))}},{name:_("Ac1_Interactions_WidgetExportEnabled"),width:100,classes:"centeredContent",headerClass:"centeredContent",cellFormat:function(t,e){var r=$("<input type='checkbox'/>");t.toExport&&r.attr("checked","checked"),e.append(r),r.flipSwitch(),r.on("change",function(){t.toExport=$(this).is(":checked"),n.checkExportableWidgetCount()})}}]}),this.eventBounds||(this.bindInteractionEvent(t),this.eventBounds=!0)):t.ui.append(WidgetAC1.NoWidgetPlaceholder_Template),t.loaded=!0)},onDashboardSaving:function(){this.browseWidgets()},prepareWidgetBeforeOpeningProperties:function(){this.browseWidgets()},bindInteractionEvent:function(r){var n=this;$(".choice input",r.ui).on("change",function(){$(".choice.selected select",r.ui).comboBox("disable"),$(".choice.selected",r.ui).removeClass("selected");var t=$(this).closest(".choice"),e=$("input",t).attr("data-mode");n.p.exportData.type=e,t.addClass("selected"),$("select",t).comboBox("enable"),$("input",t).attr("disabled",!1),"widgets"===e?$(".specificWidgets  .cd-flipSwitch input").removeAttr("disabled"):$(".specificWidgets  .cd-flipSwitch input").attr("disabled","disabled")})}})});
//# sourceMappingURL=AC1-export.js.map

function WidgetAN(){}WidgetAN.prototype={getBackgroundValue:function(){return this.p.shape.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.shape.background_color,DashboardUtils.shadeBlend(null,this.p.shape.background_color)):this.p.shape.background_color},destroy:function(){this.svg=null,this.group=null,this.defs=null},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"})},renderDataCustom:function(t){var a=this,t=t.ui;t.append($("<header>").text(_("NoteCustomDataHeader")),'<label class="flex-row padded-label"><span>'.concat(_("Content"),'</span><textarea class="cd-input" placeholder="').concat(_("ContentPlaceholder"),'"></textarea></label>')),t.find("textarea").val(this.p.data.custom_content).on("keyup change",function(){a.p.data.custom_content=$(this).val(),a.updateText()})},renderDataFormula:function(t){t.appendHeader(_("ImageDataFormulaHeader"));var t=t.ui,a=this;this.settings.Format.addFormulaInput({container:t,widget:a,dashboard:a.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",callback:function(){a.settings.Data._isDirty=!0,a.tryUpdate()}})},getTextProperties:function(t){t.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),t.addSeparator()},toggleEditableText:function(t,a){var e,o=this;this.isEditing?(t.addClass("editing"),e=$("<textarea>").css("background-color","transparent").val(this.p.data.custom_content).on("focusout",function(){a.call(this)}).on("click",function(t){t.stopPropagation()}).on("keydown",function(t){t.stopPropagation(),t.which===$.ui.keyCode.ESCAPE&&(o.isEditing=!1)}),t.append(e),e.trigger("focus")):($("textarea",t).remove(),t.removeClass("editing"))},getSVGBackground:function(){var t,a;return this.p.shape.gradient?(t="background-gradient-".concat(this.guid),d3.select("#".concat(t)).remove(),(a=d3.select("#".concat(this.container.attr("id")," svg")).select("defs").append("svg:linearGradient").attr("id",t).attr("x1","0%").attr("y1","0%").attr("x2","0%").attr("y2","100%")).append("svg:stop").attr("offset","0%").attr("stop-color",this.p.shape.background_color).attr("stop-opacity",1),a.append("svg:stop").attr("offset","100%").attr("stop-color",DashboardUtils.shadeBlend(null,this.p.shape.background_color)).attr("stop-opacity",1),"url(#{0})".format(t)):this.p.shape.background_color},getSVGShadow:function(t,a){var e,o,n="shadow-".concat(this.guid);return d3.select("#".concat(n)).remove(),t&&t.radius?(e=this.defs.append("filter").attr("id",n).attr("height","130%"),o=t.radius/5*2,a=a?o/a:o,e.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",a).attr("result","blur"),e.append("feOffset").attr("dx",0).attr("dy",0).attr("result","offsetBlur"),e.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",t.opacity),(o=e.append("feMerge")).append("feMergeNode"),o.append("feMergeNode").attr("in","SourceGraphic"),"url(#{0})".format(n)):"none"}};
//# sourceMappingURL=AN.js.map

!function(){var n='<div class="datetime_container">                                 <span class="date_container datetime_element">                                    {{{Default_Date_Value}}}                                 </span>                                 <span class="time_container datetime_element">                                        {{{Default_Time_Value}}}                                 </span>                              </div>',a="current",o="last_updated",s="created",d="last_dataupdated",l="same_line",r="separate_line";Widget.createType({id:"AN2",options:{min_width:60,width:170,min_height:30,height:50,hide_datatab:!0,hasStyleProperty:!0,formula_output:["value"]},properties:{type:a,timezone:{mode:Enums.WidgetTimezone.Local,custom_value:null},container:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},datetime:{layout:l,halign:"center",valign:"middle",autofit:!1,display_date:{active:!0,format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},display_time:{active:!0,format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Time),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}}},interactions:{onclick:null,ondblclick:null}},prototype:{applyPastedStyle:function(){this.updateStyle()},init:function(){this.bindEvents(),this.render(),this._updateDatetimeValue()},bindInteractions:function(){var t=this,e=this;if(this.p.interactions.onclick){var i=this.p.interactions.onclick;switch(i.type){case"dashboard":this.container.on("click",function(){t.handleDashboardInteraction(i)});break;case"url":this.container.on("click",function(){DashboardUtils.handleUrlInteraction(e.dashboard,e,i)})}}},render:function(){this.ui.append(Mustache.render(n,{}))},bindEvents:function(){var t=this;this.createProperty("value"),this.on("fontchanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t._updateDatetimeValue()}),this.on("stylechanged",function(){t.updateStyle()}),this.on(["height","width"],function(){t.updateStyle()}),this.bindInteractions()},refreshFromDashboardDependency:function(t,e){switch(this.p.type){case o:null!=t&&(this.value=t,this._updateDOM());break;case d:this.value=e,this._updateDOM()}},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{value:this.value})},resetState:function(t){this.value=t.value,this._updateDOM()},updateStyle:function(){var t=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),e=this.getBackgroundValue("container");switch(this.container.css({border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:e,"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":"none"!=t?t:"none"}),this.p.container.border.width,$(".datetime_container",this.ui).css({padding:"5px 8px"}),$(".datetime_container",this.ui).removeClass("halign-center halign-left halign-right valign-middle valign-bottom valign-top"),this.p.datetime.layout!=r&&this.p.datetime.display_time.active&&this.p.datetime.display_date.active?$(".datetime_container",this.ui).addClass("sameLine"):$(".datetime_container",this.ui).removeClass("sameLine"),$(".datetime_container",this.ui).addClass("halign-".concat(this.p.datetime.halign)),$(".datetime_container",this.ui).addClass("valign-".concat(this.p.datetime.valign)),this.p.datetime.layout){case l:$(".datetime_element",this.ui).css({display:"inline-block"});break;case r:$(".datetime_element",this.ui).css({display:"block"})}this.p.datetime.display_date.active&&(Utils.FontUtils.loadFont(this.p.datetime.display_date.font.family),this.updateDateAndTimeStyle("display_date",$(".date_container",this.ui))),this.p.datetime.display_time.active&&(Utils.FontUtils.loadFont(this.p.datetime.display_time.font.family),this.updateDateAndTimeStyle("display_time",$(".time_container",this.ui))),this._applyFontSize()},updateDateAndTimeStyle:function(t,e){e.css({"text-shadow":this.p.datetime[t].font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.datetime[t].font.underline?"underline":"none",color:this.p.datetime[t].font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.datetime[t].font.family,this.p.datetime[t].font.font_weight),"font-style":this.p.datetime[t].font.italic?"italic":"normal","font-family":this.p.datetime[t].font.family})},_applyFontSize:function(){if(this.p.datetime.autofit){var t=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(10,"px")}).append(Mustache.render(n,{Default_Date_Value:this.date_value||"",Default_Time_Value:this.time_value||""}));switch(this.updateDateAndTimeStyle("display_date",$(".date_container",t)),this.updateDateAndTimeStyle("display_time",$(".date_container",t)),t.appendTo("body"),this.p.datetime.layout){case l:$(".datetime_element",t).css({display:"inline-block"});break;case r:$(".datetime_element",t).css({display:"block"})}var e=t.outerWidth()+10,i=t.outerHeight(),a=this.ui.outerWidth(),o=this.ui.outerHeight(),a=10*Math.min(a/e,o/i),e=(t.remove(),"".concat(a-2*this.p.container.border.width-(this.class.options.autofitSizeDelta||0),"px"));$(".date_container",this.ui).css({"font-size":e}),$(".time_container",this.ui).css({"font-size":e})}else $(".date_container",this.ui).css({"font-size":"".concat(this.p.datetime.display_date.font.size,"px")}),$(".time_container",this.ui).css({"font-size":"".concat(this.p.datetime.display_time.font.size,"px")})},getBackgroundValue:function(t){return this.p[t].gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p[t].background_color,DashboardUtils.shadeBlend(null,this.p[t].background_color)):this.p[t].background_color},destroy:function(){this.clockInterval&&clearInterval(this.clockInterval)},_updateDatetimeValue:function(){var e=this,t=(t=this.dashboard)||this.settings._original_widget.dashboard;switch(this.p.type){case s:clearInterval(this.clockInterval),this.value=t.model.created_date,this._updateDOM();break;case o:clearInterval(this.clockInterval),this.value=t.model.last_saved_date,this._updateDOM();break;case d:clearInterval(this.clockInterval),this.value=t.model.last_data_update_date,this._updateDOM();break;default:this.clockInterval||(this.value=moment().toISOString(),this.clockInterval=setInterval(function(){var t=moment().toISOString();e._updateDOM(t),e.currentClockTick||(e.currentClockTick=1),60===e.currentClockTick?(e.value=t,e.currentClockTick=0):e.currentClockTick++},1e3))}},_updateDOM:function(t){var e={},t=t||this.value;null!=t&&(this.p.timezone.mode===Enums.WidgetTimezone.Custom?(e.applyCustomTimezone=!0,e.customTimezone=this.p.timezone.custom_value):(e.applyCustomTimezone=!1,e.customTimezone=null,t=moment(t).toISOString())),this.p.datetime.display_date.active?null!=t?(this.date_value=Utils.formatValue(t,this.p.datetime.display_date.format,e),this._displayedValue=this.date_value,$(".date_container",this.ui).html(this.date_value)):$(".date_container",this.ui).html(_("-")):$(".date_container",this.ui).html(""),this.p.datetime.display_time.active?null!=t?(this.time_value=Utils.formatValue(t,this.p.datetime.display_time.format,e),this._displayedValue=this.time_value,$(".time_container",this.ui).html(this.time_value)):(this.value=null,$(".time_container",this.ui).html(_("-"))):$(".time_container",this.ui).html(""),this.updateStyle(),this._loaded=!0},renderPropertiesTab:function(t){var e=this,i=t.ui.content;i.addClass("AN2Properties"),t.addDropdown({container:i,label:_("Type"),object:this.p,property:"type",id:"type",combobox:{dataprovider:[{value:a,label:_("CurrentDateTime")},{value:s,label:_("DashboardCreatedDateTime")},{value:o,label:_("DashboardLastUpdatedDateTime")},{value:d,label:_("DashboardLastDataUpdatedDateTime")}],appendToBody:!0},callback:function(){e._updateDatetimeValue()}}),t.addDropdown({container:i,label:_("Display"),object:this.p.timezone,class:"timezone-dropdown",property:"mode",id:"mode",combobox:{dataprovider:[{value:Enums.WidgetTimezone.Local,label:_("LocalTime")},{value:Enums.WidgetTimezone.Custom,label:_("CustomTime")}],appendToBody:!0},callback:function(){e.p.timezone.mode==Enums.WidgetTimezone.Local?(e.p.timezone.value=null,e._hideTimeZoneDropdown(i)):(e.p.timezone.custom_value="Europe/Paris",e._initializeTimeZonesDropdown(i,t)),e._updateDOM()}}),e.p.timezone.mode==Enums.WidgetTimezone.Custom&&e._initializeTimeZonesDropdown(i,t)},_initializeTimeZonesDropdown:function(e,i){var a=this;this.Timezones&&0!=this.Timezones.length?$("#prop_custom_value").length?$("#prop_custom_value").show():(this._addTimeZonesDropdown(e,i),this._updateDOM()):WS.get("Common/Timezone/".concat(top._User.LanguageCode)).done(function(t){a.Timezones=$.map(t,function(t){return{value:t.Value,label:t.Label}}),a._addTimeZonesDropdown(e,i)}).fail(function(){Messages.error(_("ErrorWhenLoadingTimezones"))})},_addTimeZonesDropdown:function(t,e){var i=this;e.addDropdown({container:t,insertAfter:$(".timezone-dropdown").parent(),label:_("TimeZone"),object:this.p.timezone,property:"custom_value",id:"custom_value",combobox:{dataprovider:this.Timezones,appendToBody:!0},callback:function(){i._updateDOM()}})},_hideTimeZoneDropdown:function(t){$("#prop_custom_value").hide()},getFormatTabs:function(){var t=[];return t.push({icon:"rectangle-shape.png",text:_("Background"),code:"container",renderer:this.getContainerProperties.bind(this)}),t.push({icon:"time-date.png",text:_("Date/Time"),code:"datetime",renderer:this.getDateTimeProperties.bind(this)}),t},getContainerProperties:function(t){var e=this.updateStyle.bind(this);t.ui.content;t.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.container,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.container,property:"shadow",callback:e}),t.addSeparator()},getDateTimeProperties:function(t){this.updateStyle.bind(this);var e=t.ui.content,i=this;e.addClass("AN2Properties"),t.addDropdown({container:e,label:_("Layout"),object:this.p.datetime,property:"layout",combobox:{dataprovider:[{value:l,label:_("SameLine")},{value:r,label:_("SeparateLine")}]},callback:function(){i.updateStyle()}}),t.addHorizontalAlign({container:e,label:_("HorizontalAlign"),object:this.p.datetime,property:"halign",callback:function(t){i.updateStyle()}}),t.addVerticalAlign({container:e,label:_("VerticalAlign"),object:this.p.datetime,property:"valign",callback:function(t){i.updateStyle()}}),t.addBoolean({container:e,label:_("FitToShape"),object:this.p.datetime,property:"autofit",callback:function(){i.p.datetime.autofit?($("#prop_{0} select".format("date_fontsize")).comboBox("disable"),$("#prop_{0} select".format("time_fontsize")).comboBox("disable")):($("#prop_{0} select".format("date_fontsize")).comboBox("enable"),$("#prop_{0} select".format("time_fontsize")).comboBox("enable")),i.updateStyle()}}),t.addSeparator(),this._renderDisplayContainer("display_date",t,"date_fontsize"),t.addSeparator(),this._renderDisplayContainer("display_time",t,"time_fontsize")},_renderDisplayContainer:function(t,e,i){e.ui.content;var a=this,o=e.addSection();e.addBoolean({section:o,label:_("Display_".concat(t)),object:this.p.datetime[t],property:"active",callback:function(){a._updateDOM()}}),e.addFormat({container:o,label:_("Format"),object:this.p.datetime[t],property:"format",displayDdl:!0,dataTypes:"display_time"==t?[Enums.ClicFormat.DataType.Time]:[Enums.ClicFormat.DataType.Date],callback:function(){a._updateDOM()}}),$(".clicformat .initObject",e.ui.content).comboBox("disable"),e.addFont({container:o,object:this.p.datetime[t],property:"font",id:i,disabled_size:this.p.datetime.autofit,callback:this.updateStyle.bind(this),dropDown:!1})},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,property:"onclick"}),t.addSeparator(),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenDblClicking"),object:this.p.interactions,property:"ondblclick"})},applyStyleToTargetWidget:function(t){this.p.datetime.display_time.font=Utils.clone(t.datetime.display_time.font)}}})}();
//# sourceMappingURL=AN2-datetime.js.map

Widget.createType({id:"AN3",options:{min_height:100,min_width:100,hasStyleProperty:!0,formula_input:["data.formula"]},properties:{style:"",data:{mode:"custom",custom_content:"",formula:""},shape:{background_color:"rgba(255,255,136,1)",gradient:!1,border:{width:0,color:"#000000"},shadow:{code:"light",radius:5,opacity:.3}},font:{family:"Dancing Script",size:32,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center",valign:"middle"},interactions:{ondblclick:null}},prototype:$.extend(!0,{},WidgetAN.prototype,{init:function(){this.bindEvents(),this.injectDOM(),this.updateStyle(),"formula"===this.p.data.mode?this.tryUpdate():this.updateText()},bindEvents:function(){var t=this;this._eventsBound||(this.on("stylechanged",function(){t.updateStyle()}),this.on("fontchanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t.updateStyle(),t.updateText()}),EventHandler.createProperty(this,"isEditing",!1),this.on("isEditing",function(){t.toggleEditableText(t.ui,function(){t.p.data.mode="custom",t.p.data.custom_content=$(this).val(),t.setModifiedState(),t.isEditing=!1,t.updateText()})}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var t=this;this.dashboard&&this.dashboard.in_editor&&this.ui.on("dblclick",function(){t.isEditing=!0})},injectDOM:function(){0==$(".textblock",this.ui).length&&this.ui.append($("<blockquote />").addClass("textblock"))},updateText:function(t){var e="",e="custom"===this.p.data.mode?this.p.data.custom_content:this.p.data.formula_result;$(".textblock",this.ui).text(Utils.pickNonEmptyString(e,_("WidgetText_Placeholder"))),this._loaded=!0},setCustomError:function(t,e){this.updateText()},updateStyle:function(){var t;switch(Utils.FontUtils.loadFont(this.p.font.family),this.ui.css({border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.shape.shadow),"font-family":this.p.font.family,"font-size":"".concat(this.p.font.size,"px"),"text-align":this.p.font.halign,"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),t="transparent"==this.p.shape.background_color?0:DashboardUtils.parseRGBA(this.p.shape.background_color).a,this.container.toggleClass("no-corner-shadow",1!=t),this.p.font.italic&&$(".textblock",this.ui).css("padding-right",".1em"),this.p.font.valign){case"top":this.ui.removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-top");break;case"middle":this.ui.removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-middle");break;case"bottom":this.ui.removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-bottom")}},updateService:"Formulas",updateServiceSuccess:function(t){t&&(this.p.data.formula_result=t[0].value),this.updateText()},refreshFromDataDependency:function(t,e){var a=!1;(a="formula"==this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)?!0:a)&&this.tryUpdate()},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"formula":this.renderDataFormula(t)}this.current_data_mode=this.p.data.mode}},renderPropertiesTab:function(t){var t=t.ui.content,e=(t.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                       </div>',{label:_("BasedOn"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("TextFormulaDesc")})),this);t.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),t.on("change",".multiple_labels input[type=radio]",function(){e.p.data.mode=$(this).val(),"formula"===e.p.data.mode?e.tryUpdate():e.updateText()})},getShapeProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getFormatTabs:function(){var t=[];return t.push({icon:"note-shape.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t}})});
//# sourceMappingURL=AN3-note.js.map

Widget.createType({id:"AN4",options:{width:300,height:150,min_width:200,min_height:100,hasStyleProperty:!0,formula_input:["data.formula"]},scripts:["/Libraries/d3/d3.min.js"],properties:{style:"",data:{mode:"custom",custom_content:"",formula:""},shape:{background_color:"#2F3C46",gradient:!1,border:{width:2,color:"#FFFFFF"},shadow:{code:"none"}},font:{family:"Ubuntu",size:24,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#FFFFFF",halign:"center",valign:"middle"},interactions:{ondblclick:null}},prototype:$.extend(!0,{},WidgetAN.prototype,{init:function(){this.svg_original_width=400,this.svg_original_height=220,this.bindEvents(),this.drawBalloon(),"formula"===this.p.data.mode?this.tryUpdate():this.updateText()},bindEvents:function(){var t=this;this._eventsBound||(this.on("stylechanged",function(){t.updateStyle()}),this.on("fontchanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t.updateStyle(),t.updateText()}),this.on("dashboardresized",function(){t.resizeBalloon()}),this.on("responsiveresized",function(){t.resizeBalloon()}),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,this.resizeBalloon.bind(this)),this.on(WidgetLayer.Events.RESIZED,this.resizeBalloon.bind(this))),this.createProperty("isEditing",!1),this.on("isEditing",function(){t.toggleEditableText($(".text-container",t.ui),function(){t.p.data.mode="custom",t.p.data.custom_content=$(this).val(),t.setModifiedState(),t.isEditing=!1,t.updateText()})}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){this.dashboard&&this.dashboard.in_editor&&this.ui.on("dblclick",function(){"formula"===this.p.data.mode||this.isEditing||(this.isEditing=!0)}.bind(this))},setCustomError:function(t,e){this.updateText()},drawBalloon:function(){this.svg=d3.select($(".ui",this.container)[0]).append("svg"),this.svg.attr("width","100%"),this.svg.attr("height","100%"),this.defs=this.svg.append("defs"),this.svg.append("path").attr("class","balloon").attr("d","M400,100c0,55.2-89.5,100-200,100c-24.6,0-48.2-2.2-70-6.3c-1.7-0.3-5-1-5-1L85,220l0-38.2c0,0-3.4-1.2-5-1.8  c-48.6-18.2-80-47.3-80-80C0,44.8,89.5,0,200,0S400,44.8,400,100z"),this.ui.append($("<div></div>").addClass("text-container").append($("<blockquote />").addClass("textblock"))),this.updateStyle(),this._applyBalloonScale()},resizeBalloon:function(){Utils.requestAnimationFrameOnce("resizeBallon-".concat(this.guid),function(){this._applyBalloonScale()}.bind(this))},_applyBalloonScale:function(){var a=(this.ui.outerWidth()-this.p.shape.border.width)/this.svg_original_width,s=(this.ui.outerHeight()-this.p.shape.border.width)/this.svg_original_height,t=d3.select($(".balloon",this.container)[0]).transition().duration(1).attrTween("transform",function(t,e,i){return d3.interpolateString(i,"scale({0}, {1})".format(a,s))}),e=($("svg",this.ui).css("margin",this.p.shape.border.width/2),this.p.shape.border.width/Math.max(a,s));t.style("stroke-width",e)},updateText:function(t){var e="",e="custom"===this.p.data.mode?this.p.data.custom_content:this.p.data.formula_result;$(".textblock",this.ui).text(Utils.pickNonEmptyString(e,_("WidgetText_Placeholder"))),this._loaded=!0},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family);var t=Math.max(this.ui.outerWidth()/this.svg_original_width,this.ui.outerHeight()/this.svg_original_height);switch($(".balloon",this.ui).css({"stroke-width":"".concat(this.p.shape.border.width,"px"),stroke:this.p.shape.border.color,fill:this.getSVGBackground(),filter:this.getSVGShadow(this.p.shape.shadow,t)}),$(".text-container",this.ui).css({"font-family":this.p.font.family,"font-size":"".concat(this.p.font.size,"px"),"text-align":this.p.font.halign,"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),this.p.font.italic&&$(".textblock",this.ui).css("padding-right",".1em"),this.resizeBalloon(),this.p.font.valign){case"top":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-top");break;case"middle":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-middle");break;case"bottom":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-bottom")}},updateService:"Formulas",updateServiceSuccess:function(t){t&&t.length&&(this.p.data.formula_result=t[0].value),this.updateText()},refreshFromDataDependency:function(t,e){var i=!1;(i="formula"==this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)?!0:i)&&this.tryUpdate()},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"formula":this.renderDataFormula(t)}this.current_data_mode=this.p.data.mode}},renderPropertiesTab:function(t){var t=t.ui.content,e=(t.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                       </div>',{label:_("BasedOn"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("TextFormulaDesc")})),this);t.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),t.on("change",".multiple_labels input[type=radio]",function(){e.p.data.mode=$(this).val(),"formula"===e.p.data.mode?e.tryUpdate():e.updateText()})},getFormatTabs:function(){var t=[];return t.push({icon:"balloon-shape.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t},getShapeProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()}})});
//# sourceMappingURL=AN4-balloon.js.map

Widget.createType({id:"AN5",options:{width:300,height:300,min_width:10,min_height:10,hasStyleProperty:!0,formula_input:["data.formula"]},scripts:["/Libraries/d3/d3.min.js"],properties:{style:"",type:"rectangle",data:{mode:"custom",custom_content:"",formula:""},shape:{background_color:"#2F3C46",gradient:!1,border:{width:1,color:"#000000"},roundness:0,shadow:{code:"none"},rotation:0},font:{family:"Ubuntu",size:24,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#FFFFFF",halign:"center",valign:"middle"},interactions:{ondblclick:null}},prototype:$.extend(!0,{},WidgetAN.prototype,{init:function(){this.bindEvents(),this.render(),"formula"===this.p.data.mode?this.tryUpdate():this.updateText()},bindEvents:function(){var t=this;this._eventsBound||(this.on("stylechanged",function(){t.render()}),this.on("fontchanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t.render(),t.updateText()}),this.on("dashboardresized",function(){t.render()}),this.on("responsiveresized",function(){setTimeout(function(){t.render()},20)}),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,this.draw.bind(this)),this.on(WidgetLayer.Events.RESIZED,this.draw.bind(this))),this.createProperty("isEditing",!1),this.on("isEditing",function(){t.toggleEditableText($(".text-container",t.ui),function(){t.p.data.mode="custom",t.p.data.custom_content=$(this).val(),t.setModifiedState(),t.isEditing=!1,t.updateText()})}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){this.dashboard&&this.dashboard.in_editor&&this.ui.on("dblclick",function(){this.isEditing||(this.isEditing=!0)}.bind(this))},render:function(){var t;this.svg&&this.group.selectAll||(t=d3.select(this.ui[0]).selectAll("svg").data([{}]),this.svg=t.enter().append("svg"),this.group=this.svg.append("g"),this.defs=this.svg.append("defs")),0===$(".text-container",this.ui).length&&this.ui.append('<div class="text-container">                                  <blockquote class="textblock hidden"></blockquote>                              </div>'),this.draw()},draw:function(){switch(this.ui.removeClass().addClass("ui ".concat(this.p.type)),$(".text-container",this.ui).css("width","").css("height",""),this.p.type){case"rectangle":this.group.selectAll("path.shape").remove(),this.group.selectAll(".shape").data([{}]).enter().append("rect").attr("class","shape");break;case"circle":case"triangle":case"star":this.group.selectAll("rect.shape").remove(),this.group.selectAll(".shape").data([{}]).enter().append("path").attr("class","shape")}switch(this.p.type){case"circle":this._drawCircle();break;case"triangle":this._drawTriangle();break;case"rectangle":this._drawRectangle();break;case"star":this._drawStar()}this.applyRotationAndInnerScale(),this.updateStyle()},_drawCircle:function(){var e=this.ui.outerWidth()-this.p.shape.border.width,a=this.ui.outerHeight()-this.p.shape.border.width,i=d3.scale.linear().domain([0,1]).range([0,e]),s=d3.scale.linear().domain([0,1]).range([0,a]),t=d3.svg.line().interpolate(function(t){return t.join("A {0},{1} 0 0 1 ".format(e/2,a/2))}).x(function(t){return i(t.x)}).y(function(t){return s(t.y)});this.p.shape.border.width&&this.group.attr("transform","translate({0}, {0})".format(this.p.shape.border.width/2)),this.group.selectAll(".shape").datum([{x:0,y:.5},{x:1,y:.5},{x:0,y:.5}]).attr("d",t)},_drawRectangle:function(){var t=this.ui.outerWidth()-this.p.shape.border.width,e=this.ui.outerHeight()-this.p.shape.border.width;this.p.shape.border.width&&this.group.attr("transform","translate({0}, {0})".format(this.p.shape.border.width/2)),this.group.selectAll("rect").attr("class","shape").attr("rx",this.p.shape.roundness).attr("ry",this.p.shape.roundness).attr("x",0).attr("y",0).attr("width",t).attr("height",e)},_drawTriangle:function(){var t=this.ui.outerWidth()-this.p.shape.border.width,e=this.ui.outerHeight()-this.p.shape.border.width,a=d3.scale.linear().domain([0,1]).range([0,t]),i=d3.scale.linear().domain([0,1]).range([0,e]),t=d3.svg.line().interpolate("linear-closed").x(function(t){return a(t.x)}).y(function(t){return i(t.y)});this.p.shape.border.width&&this.group.attr("transform","translate({0}, {0})".format(this.p.shape.border.width/2)),this.group.selectAll(".shape").datum([{x:.5,y:0},{x:1,y:1},{x:0,y:1}]).attr("d",t)},_drawStar:function(){var t=this.ui.outerWidth(),e=this.ui.outerHeight(),a=Math.min(e,t),i=a/2-this.p.shape.border.width,s=i*Math.sin(Math.PI/8)/Math.sin(7*Math.PI/10),r=t/2,n=e/2,a=d3.svg.line().interpolate("linear-closed").x(function(t,e){var a=e*Math.PI/5-Math.PI/2;return r+(e%2==0?i:s)*Math.cos(a)}).y(function(t,e){var a=e*Math.PI/5-Math.PI/2;return n+(e%2==0?i:s)*Math.sin(a)}),t=(this.group.selectAll(".shape").datum(d3.range(10)).attr("d",a),Math.sqrt(Math.pow(2*s,2)/2));$(".text-container",this.ui).css("width",t).css("height",t)},applyRotationAndInnerScale:function(){function t(t){return t*(Math.PI/180)}var e,a,i=this.p.shape.rotation,s=this.container.innerWidth(),r=this.container.innerHeight(),n=1;r=0!==i&&360!==i?(0<i&&i<=90?e=t(i):90<i&&i<=180?e=t(90-(i-90)):180<i&&i<=270?e=t(i-180):270<i&&i<=360&&(e=t(90-(i-270))),n=(a=Math.min(s,r))/(Math.max(r,s)*Math.sin(e)+a*Math.cos(e)),"rotate(".concat(i,"deg) scale(").concat(n,")")):"",this.ui.css({"-webkit-transform":r,"-moz-transform":r,"-ms-transform":r,"-o-transform":r,transform:r})},updateService:"Formulas",updateServiceSuccess:function(t){t&&(this.p.data.formula_result=t[0].value,this.updateText())},refreshFromDataDependency:function(t,e){var a=!1;(a="formula"===this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)?!0:a)&&this.tryUpdate()},updateText:function(){var t="",t="custom"===this.p.data.mode?this.p.data.custom_content:this.p.data.formula_result;$(".textblock",this.ui).text(t),$(".textblock",this.ui).toggleClass("hidden",""===t||null===t),this._loaded=!0},updateStyle:function(){switch(Utils.FontUtils.loadFont(this.p.font.family),this.group.selectAll(".shape").attr("fill",this.getSVGBackground()).attr("filter",this.getSVGShadow(this.p.shape.shadow)).attr("stroke",this.p.shape.border.color).attr("stroke-width",this.p.shape.border.width),$(".text-container",this.ui).css({"font-family":this.p.font.family,"font-size":"".concat(this.p.font.size,"px"),"text-align":this.p.font.halign,"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),this.p.font.italic&&$(".textblock",this.ui).css("padding-right",".1em"),this.p.font.valign){case"top":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-top");break;case"middle":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-middle");break;case"bottom":$(".text-container",this.ui).removeClass("flex-valign-top flex-valign-middle flex-valign-bottom").addClass("flex-valign-bottom")}},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"})},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"formula":this.renderDataFormula(t)}this.current_data_mode=this.p.data.mode}},renderPropertiesTab:function(t){var e=this,a=t.ui.content;t.addLargeDropdown({container:a,id:"properties_shape_type",dataprovider:[{label:_("Circle"),value:"circle",image:"/Dashboard/Images/WidgetProperties/circle-shape.png"},{label:_("Triangle"),value:"triangle",image:"/Dashboard/Images/WidgetProperties/triangle-shape.png"},{label:_("Rectangle"),value:"rectangle",image:"/Dashboard/Images/WidgetProperties/background.png"},{label:_("Star"),value:"star",image:"/Dashboard/Images/WidgetProperties/star-shape.png"}],callback:function(){e.render()},object:this.p,property:"type"});a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                       </div>',{label:_("BasedOn"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("TextFormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){e.p.data.mode=$(this).val(),"formula"===e.p.data.mode?e.tryUpdate():e.updateText()})},getFormatTabs:function(){var t=[];return t.push({icon:"{0}-shape.png".format(this.p.type),text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t},getShapeProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.draw.bind(this)}),"rectangle"===this.p.type&&(t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:this.draw.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}})),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("Rotation"),object:this.p.shape,property:"rotation",callback:this.draw.bind(this),interval:5,min:0,max:360,valueLabelFormat:function(t){return"".concat(t,"°")}}),t.addSeparator()}})});
//# sourceMappingURL=AN5-shape.js.map

var _excluded=["rotation"];function _objectWithoutProperties(e,t){if(null==e)return{};var a,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(e),r=0;r<n.length;r++)a=n[r],0<=t.indexOf(a)||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a]);return i}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var a,i={},n=Object.keys(e),r=0;r<n.length;r++)a=n[r],0<=t.indexOf(a)||(i[a]=e[a]);return i}var LineDashArray=[{value:"none",displayValue:"none"},{value:"{{normalWidth}}, {{normalSpacing}}",displayValue:"5, 5"},{value:"{{normalWidth}}, {{mediumSpacing}}",displayValue:"5, 10"},{value:"{{mediumWidth}}, {{normalSpacing}}",displayValue:"10, 5"},{value:"{{normalWidth}}, {{smallSpacing}}",displayValue:"5, 1"},{value:"{{smallWidth}}, {{mediumSpacing}}",displayValue:"1, 5"},{value:"1{{#adjust}}, {{normalSpacing}} {{/adjust}}",displayValue:"0.9"},{value:"{{largeWidth}}, {{mediumSpacing}}, {{normalWidth}}",displayValue:"15, 10, 5"},{value:"{{largeWidth}}, {{mediumSpacing}}, {{normalWidth}}, {{mediumSpacing}}",displayValue:"15, 10, 5, 10"},{value:"{{largeWidth}}, {{mediumSpacing}}, {{normalWidth}}, {{mediumSpacing}}, {{largeWidth}}",displayValue:"15, 10, 5, 10, 15"},{value:"{{normalWidth}}, {{normalSpacing}}, {{smallWidth}}, {{normalSpacing}}",displayValue:"5, 5, 1, 5"}];Widget.createType({id:"AN9",options:{width:300,height:30,min_width:10,min_height:10,hasStyleProperty:!0,hide_datatab:!0,formula_input:[]},scripts:["/Libraries/d3/d3.min.js"],properties:{shape:{thickness:2,color:"rgba(255,255,255, 0.9)",gradient:!1,pattern:"none",linecap:"stop",roundness:0,shadow:{code:"none"},rotation:0}},prototype:$.extend(!0,{},WidgetAN.prototype,{init:function(){this.bindEvents(),this.render()},bindEvents:function(){var e=this;this._eventsBound||(this.on("stylechanged",function(){e.updateStyle()}),this.on("fontchanged",function(){e.updateStyle()}),this.on("propertieschanged",function(){e.updateStyle()}),this.on("dashboardresized",function(){e.updateStyle()}),this.on("responsiveresized",function(){e.updateStyle()}),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,this.updateStyle.bind(this)),this.on(WidgetLayer.Events.RESIZED,this.updateStyle.bind(this))),this._eventsBound=!0)},getLineCap:function(){var e=this.p.shape.shadow.radius?this.p.shape.shadow.radius/5:0;switch(this.p.shape.linecap){case"stop":return{cap:"butt",sizeDelta:e,strokeLengthDelta:0};case"square":return{cap:"square",sizeDelta:Math.min(this.p.shape.thickness,15)+e,strokeLengthDelta:4};case"circle":return{cap:"round",sizeDelta:Math.min(this.p.shape.thickness,15)+e,strokeLengthDelta:4}}},updateStyle:function(){var e=this.p.shape,t=($("svg",this.ui),$("svg line",this.ui)),a=this.getLineCap(),i=Mustache.render(e.pattern,{adjust:"stop"!=e.linecap,smallWidth:Math.max(e.thickness/5,1),normalWidth:2*e.thickness,mediumWidth:4*e.thickness,largeWidth:5*e.thickness,normalSpacing:"".concat(e.thickness/2+3,"%"),mediumSpacing:"".concat(e.thickness/2+5,"%"),largeSpacing:"".concat(e.thickness/2+10,"%"),smallSpacing:"".concat(e.thickness/2+1,"%")}),n=this.container.outerWidth()/2,r=this.container.outerHeight()/2,s=e.rotation/180*Math.PI,o=Math.cos(s),s=Math.sin(s),l=n-a.sizeDelta,d=s/o*l,o=n-(l=r<d||d<-r?o/s*(d=r-a.sizeDelta):l),s=n+l,n=r-d,l=r+d,r=(t.attr("x1",o),t.attr("x2",s),t.attr("y1",n),t.attr("y2",l),t.attr("stroke-dasharray",i),t.attr("shape-rendering","crispEdges"),e.thickness<1&&navigator&&navigator.userAgent&&-1<navigator.userAgent.toLowerCase().indexOf("firefox")&&t.attr("shape-rendering","geometricPrecision"),t.attr("filter",this.getLineShadow(this.p.shape.shadow)),e.color);e.gradient&&(r=DashboardUtils.shadeBlend(null,r)),t.css({"stroke-width":e.thickness,"stroke-linecap":a.cap,stroke:r})},getLineShadow:function(e,t){var a,i,n="shadow-".concat(this.guid);return d3.select("#".concat(n)).remove(),e&&e.radius?(a=this.defs.append("filter").attr("id",n).attr("height","130%").attr("filterUnits","userSpaceOnUse"),i=e.radius/5,t=t?i/t:i,a.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",t).attr("result","blur"),a.append("feOffset").attr("dx",0).attr("dy",0).attr("result","offsetBlur"),a.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",e.opacity),(i=a.append("feMerge")).append("feMergeNode"),i.append("feMergeNode").attr("in","SourceGraphic"),"url(#{0})".format(n)):"none"},render:function(){this.ui.append("<svg><line/></svg>"),this.svg=d3.select($("svg",this.container)[0]),this.defs=this.svg.append("defs"),this.updateStyle(),this._loaded=!0},getFormatTabs:function(){var e=[];return e.push({icon:"background.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),e},getShapeProperties:function(e){var t=this.updateStyle.bind(this);e.addSlider({label:_("Thickness"),object:this.p.shape,property:"thickness",callback:t,interval:.5,min:.5,max:20,valueLabelFormat:function(e){return e}}),e.addColor({label:_("Color"),object:this.p.shape,property:"color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:t}),e.addSeparator(),e.addShadow({object:this.p.shape,property:"shadow",callback:t}),e.addSeparator(),e.addDropdown({label:_("Pattern"),object:this.p.shape,property:"pattern",callback:t,combobox:{dataprovider:LineDashArray,inputTemplate:'<div class="lineSVG"><svg height="100%" width="100%"><line x1="0" x2="643" y1="14" y2="14" stroke-dasharray="{{displayValue}}" /></svg></div>',liTemplate:'<li class="lineSVGelement"><a href="javascript:void(0);"><label><svg height="100%" width="100%"><line x1="0" x2="678" y1="11" y2="11" stroke-dasharray="{{displayValue}}" /></svg></label></a></li>'}}),e.addTemplatedButtons({label:_("LineEnds"),template:$("#template_properties_line_end").html(),object:this.p.shape,property:"linecap",callback:t}),e.addSeparator(),e.addSlider({label:_("Rotation"),object:this.p.shape,property:"rotation",callback:t,interval:5,min:0,max:360,valueLabelFormat:function(e){return"".concat(e,"°")}}),e.addSeparator()},applyStyleToTargetWidget:function(e){e=Utils.clone(e.shape),e.rotation,e=_objectWithoutProperties(e,_excluded);this.p.shape=Utils.deepMerge(this.p.shape,e)}})});
//# sourceMappingURL=AN9-line.js.map

Enums.WidgetAV1={Adjustments:["grayscale","sepia","saturate","blur","contrast","brightness","invert","huerotate","opacity"],ResizeModes:["fit","original","fill","proportional","tile"]},Widget.createType({id:"AV1",options:{hasStyleProperty:!0,formula_input:["data.formula"],bindings_output:["data.formula"]},properties:{data:{mode:"upload",formula:"",image_guid:null,image_name:null,url:null,formula_fallback_image_guid:null,formula_fallback_image_name:null},placeholder:{resize_mode:"fit",background_color:"transparent",background_gradient:!1,border:{width:0,color:"#000000"},roundness:0,shadow:{code:"none"}},effects:{enabled:!1,adjustment:Enums.WidgetAV1.Adjustments[0],intensity:0},interactions:{ondblclick:null,onhover:null,onclick:null}},prototype:{init:function(){this.bindEvents(),this.updateStyle(),"formula"==this.p.data.mode?this.tryUpdate():(this.hasBeenDrop&&!this.p.data.image_guid&&this.displayImagePicker(),this.updateImage())},setCustomError:function(){this.updateImage()},bindEvents:function(){var e=this;this._eventsBound||(this.on("propertieschanged",function(){this.error=null,this.updateStyle(),"formula"==e.p.data.mode?e.tryUpdate():(e.updateImage(),e.updateStyle())}),this.on("stylechanged",function(){e.updateStyle()}),this._eventsBound=!0)},displayImagePicker:function(){var a=this;Dialog.openVueDialog("/utils/mediapicker",{onSelect:function(e){a.p.data.image_guid=e.FileId,a.p.data.image_name=e.Name,a.updateImage()},type:Enums.DocumentType.Image})},_bindContainerInteractionEvents:function(){var t=this;if(this._singleClickTrigerred=!1,this.container.on("mouseenter",function(){t.p.interactions.onhover&&"show_tooltip"==t.p.interactions.onhover.type&&""!=t.p.interactions.onhover.tooltip_text&&(t.updateTooltipText(),t.updateTooltipStyle())}),!this._from){function i(e,a){t.dashboard.trigger("urlopened",{url:e,mode:a.mode,parameters:a.parameters,widget:t})}if(this.container.noDoubleTapZoom().on("dblclick",function(e){if(t.p.interactions&&t.p.interactions.ondblclick){var a=t.p.interactions.ondblclick;switch(a.type){case"dashboard":t._singleClickTrigerred=!1,a.dashboard_id&&t.dashboard&&t.handleDashboardInteraction(a);break;case"url":t._singleClickTrigerred=!1,a.url_type&&"string"!==a.url_type?FormulaUtils.evaluateFormula({formula:a.url,widget:t,sucessCallback:function(e){i(e,a)}}):i(a.url,a)}}}),this.p&&this.p.interactions){if(this.p.interactions.onclick){var a=this.p.interactions.onclick;switch(a.type){case"dashboard":this.container.on("click",function(){t.singleClickInteractionHandler(function(){a.dashboard_id&&t.handleDashboardInteraction(a)})});break;case"url":this.container.on("click",function(){t.singleClickInteractionHandler(function(){a.url_type&&"string"!==a.url_type?FormulaUtils.evaluateFormula({formula:a.url,widget:t,sucessCallback:function(e){i(e,a)},errorCallback:function(){}}):i(a.url,a)})})}}this.dashboard&&!this.dashboard.in_editor&&(this.p.interactions.ondblclick||this.p.interactions.onclick||this.p.onrowdblclick)&&this.container.addClass("interactions")}}},singleClickInteractionHandler:function(e){var a=this;this._singleClickTrigerred=!0,setTimeout(function(){a._singleClickTrigerred&&e&&e()},200)},updateImage:function(){this.handleTooltipState();var e="/Dashboard/Images/Widgets/AV1.png";switch(this.p.data.mode){case"upload":this.p.data.image_guid&&(e=this.getImagePath(!1));break;case"url":this.p.data.url&&(e=this.p.data.url);break;case"formula":!this.error&&this.p.data.formula?e=this.p.data.formula_result:this.p.data.formula_fallback_image_guid&&(e=this.getImagePath(!0))}this.loadImagePath(e)},getImagePath:function(e){return window._App.webservices_url+"Media/Image/{0}?key={1}&id={2}&type={3}".format(e?this.p.data.formula_fallback_image_guid:this.p.data.image_guid,Utils.getSessionKey(),Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType(),this.width,this.height)},onImageLoaded:function(){this.loading=!1,this._loaded=!0},setDefaultImagepath:function(){var e="/Dashboard/Images/Widgets/AV1.png";"formula"==this.p.data.mode&&this.p.data.formula_fallback_image_guid&&(e=this.getImagePath(!0)),this.loadImagePath(e,!0)},loadImagePath:function(e,a){var t=this.onImageLoaded.bind(this);void 0===a?(this.loading=!0,a=this.setDefaultImagepath.bind(this),Utils.loadImage(e,t,a)):Utils.loadImage(e,t),this.ui.css("background-image","url(".concat(e,")"))},updateStyle:function(){switch(this.updateContainerStyle("placeholder"),this.p.placeholder.resize_mode){case"original":this.ui.css({"background-size":"","background-repeat":"no-repeat","background-position":"center center"});break;case"fill":this.ui.css({"background-size":"100% 100%","background-repeat":"no-repeat","background-position":"center center"});break;case"proportional":this.ui.css({"background-size":"cover","background-repeat":"no-repeat","background-position":"center center"});break;case"tile":this.ui.css({"background-size":"","background-repeat":"repeat","background-position":"top left"});break;case"fit":this.ui.css({"background-size":"contain","background-repeat":"no-repeat","background-position":"center center"})}this.applyImageFilter()},applyImageFilter:function(){function e(a){["","-webkit-","-moz-","-ms-","-o-"].forEach(function(e){t.css("".concat(e,"filter"),a)})}var t=this.ui;if(this.p.effects.enabled)switch(this.p.effects.adjustment){case"sepia":e("sepia(".concat(100*this.p.effects.intensity,"%)"));break;case"grayscale":e("grayscale(".concat(100*this.p.effects.intensity,"%)"));break;case"saturate":e("saturate(".concat(100*this.p.effects.intensity,")"));break;case"blur":e("blur(".concat(50*this.p.effects.intensity,"px)"));break;case"contrast":e("contrast(".concat(1+9*this.p.effects.intensity,")"));break;case"brightness":e("brightness(".concat(1+9*this.p.effects.intensity,")"));break;case"invert":e("invert(".concat(100*this.p.effects.intensity,"%)"));break;case"huerotate":e("hue-rotate(".concat(360*this.p.effects.intensity,"deg)"));break;case"opacity":e("opacity(".concat(100*(1-this.p.effects.intensity),"%)"))}else e("")},updateService:"Formulas",updateServiceSuccess:function(e){e&&(this.p.data.formula_result=e[0].value),this.updateImage()},updateServiceError:function(){this.p.data.formula_fallback_image_guid&&(this.error=null)},refreshFromDataDependency:function(e,a){var t=!1;(t="formula"==this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,a)?!0:t)&&this.tryUpdate()},renderPropertiesTab:function(e){var e=e.ui.content,a=(e.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="upload" id="baseon_upload" /><i class="far"></i><span>{{ upload }}</span><small>{{ upload_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="url" id="baseon_url" /><i class="far"></i><span>{{ url }}</span><small>{{ url_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                       </div>',{label:_("BasedOn"),upload:_("Upload"),upload_desc:_("UploadDesc"),url:_("URL"),url_desc:_("URLDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),this);e.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),e.on("change",".multiple_labels input[type=radio]",function(){a.p.data.mode=$(this).val(),a.error=null,"formula"===a.p.data.mode?a.tryUpdate():a.updateImage()})},renderInteractionsTab:function(e){e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,parameters:!0,property:"onclick"}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},renderDataTab:function(e){if(this.p.data.mode!==this.current_data_mode){switch(e.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"upload":this.renderDataUpload(e);break;case"formula":this.renderDataFormula(e);break;case"url":this.renderDataURL(e)}this.current_data_mode=this.p.data.mode}},renderDataUpload:function(e){e.appendHeader(_("ImageDataUploadHeader")),this.addBrowseImageInput(e,"Image","image_guid","image_name")},renderDataFormula:function(e){var a=this.updateImage.bind(this),t=e.ui,i=this;e.appendHeader(_("ImageDataFormulaHeader")),this.settings.Format.addFormulaInput({container:t,widget:i,dashboard:i.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",callback:function(e){i.p.data.formula_result=e,a()}}),this.addBrowseImageInput(e,"FormulaFallback","formula_fallback_image_guid","formula_fallback_image_name")},addBrowseImageInput:function(e,a,t,i){var n=this,e=e.ui,r=(e.append('<label class="flex-row image-data-upload property_formula"><span class="label">'.concat(_(a),'</span><input readonly class="browseInput" type="text" text="" style="padding-right: 8px; height: 30px;"/></label>')),e.find(".browseInput"));r.attr("text",_("Browse")).val(this.p.data[i]).initInputButton(),r.on("change",function(){$(this).val()||(n.p.data[t]=null,n.p.data[i]=null,n.tryUpdate(),n.updateImage())}),e.find(".btn-grey").on("click",function(){Dialog.openVueDialog("/utils/mediapicker",{onSelect:function(e){r.val(e.Name).trigger("change"),n.p.data[t]=e.FileId,n.p.data[i]=e.Name,n.tryUpdate(),n.updateImage()},type:Enums.DocumentType.Image})})},renderDataURL:function(e){var a=this,e=e.ui;e.append($("<header>").text(_("ImageDataURLHeader")),'<label class="flex-row"><span>'.concat(_("URL"),'</span><input type="text" class="cd-input" /></label>')),e.find("input").attr("icon","fa-long-arrow-down").val(this.p.data.url).on("keyup change",function(){a.p.data.url=$(this).val(),a.updateImage()})},getFormatTabs:function(){var e=[];return e.push({icon:"background.png",text:_("Placeholder"),code:"placeholder",renderer:this.getPlaceholderProperties.bind(this)}),e.push({icon:"image-effect.png",text:_("Effects"),code:"effects",renderer:this.getEffectsProperties.bind(this)}),e},getPlaceholderProperties:function(e){var a=this.updateContainerStyle.bind(this,"placeholder"),t=this.updateStyle.bind(this),t=(e.addDropdown({label:_("ImageResizeMode"),object:this.p.placeholder,property:"resize_mode",combobox:{inputTemplate:'<span class="imageResize" href="javascript:void(0);"><img src="{{ image }}" />{{label}}</span>',liTemplate:'<li><a href="javascript:void(0);"><label><img src="{{ image }}" /></i><span>{{label}}</span></label></a></li>',dataprovider:Enums.WidgetAV1.ResizeModes.map(function(e){return{value:e,label:_("ImageResizeMode_".concat(e)),image:"/Dashboard/Images/WidgetProperties/resize-".concat(e,".png")}}),containerClasses:"ddl-image-resize-types"},callback:t}),e.addSeparator(),e.addColor({label:_("BackgroundColor"),object:this.p.placeholder,property:"background_color",callback:a}),e.addSection());e.content.append(t),e.addBoolean({container:t,label:_("Gradient"),object:this.p.placeholder,property:"background_gradient",callback:a}),e.addSeparator(),e.addBorder({object:this.p.placeholder,property:"border",callback:a}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.placeholder,property:"roundness",callback:a,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.placeholder,property:"shadow",callback:a})},getEffectsProperties:function(e){var a=this,t=(e.addHeader({text:_("ImageEffectsCompatibilityWarning")}),e.addSection());e.addBoolean({section:t,label:_("ImageEnableEffects"),object:this.p.effects,property:"enabled",callback:this.applyImageFilter.bind(this)}),e.addDropdown({container:t,label:_("ImageEffectsAdjustments"),object:this.p.effects,property:"adjustment",combobox:{dataprovider:Enums.WidgetAV1.Adjustments.map(function(e){return{value:e,label:_("ImageEffect_".concat(e))}})},callback:function(){a.p.effects.intensity=0,a.applyImageFilter(),e.reload_panel()}}),e.addSlider({container:t,label:_("ImageEffectIntensity"),object:this.p.effects,property:"intensity",callback:this.applyImageFilter.bind(this)}),e.addSeparator()}}});
//# sourceMappingURL=AV1-image.js.map

function _createForOfIteratorHelper(t,e){var a,n,r,o,i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return n=!(a=!0),{s:function(){i=i.call(t)},n:function(){var t=i.next();return a=t.done,t},e:function(t){n=!0,r=t},f:function(){try{a||null==i.return||i.return()}finally{if(n)throw r}}};if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return i&&(t=i),o=0,{s:e=function(){},n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}var AV5_Placeholder='<div class="AV5_DefaultView">                             <i class="far fa-desktop"></i>                             <div class="titleContainer"><span>'.concat(_("AV5_DefaultViewTitle"),"</span></div>                         </div>"),AV5_HTMLTEMPLATE="".concat("<html>\n    <head>\n        <style>\n            body {font-family: Verdana, Geneva, sans-serif;}\n            h1 {padding:20px; text-align:center;}\n            p {text-align:center}\n        </style>\n    </head>\n    <body>\n        <h1>Custom Widget</h1>\n        <p>\n        ").concat(_("AV5DefaultTemplate_Title"),"\n")+"        </p>\n    </body>\n</html>";Widget.createType({id:"AV5",options:{hasStyleProperty:!0,hide_datatab:!0,height:250,width:300,layer:!0,formula_input:function(t){var e=[];return"formula"==t.data.mode&&e.push("data.formula_content"),e}},properties:{data:{check_url:!0,custom_content:null,formula_content:"",text:null,mode:"text"},background:{background_gradient:!1,border:{width:0,color:"rgba(191,191,191,1)"},roundness:0,shadow:{code:"none",opacity:0,radius:0},background_color:"#ffffff"}},prototype:{init:function(){this.bindEvents(),"text"===this.p.data.mode&&(this.error=!1,this.updateHtmlFrame(),"custom"!==this.p.data.mode)||this.tryUpdate()},updateService:"Formulas",updateServiceSuccess:function(t){var e;if(this.isEditing&&(this.isEditing=!1),"formula"===this.p.data.mode&&(e="",void 0!==t&&t&&t[0]&&void 0!==t[0].result.value&&(e=t[0].result.value),this.p.data.formula_content_result=e),"custom"===this.p.data.mode){this.p.data.custom_content_parsed=this.p.data.custom_content;var a,n=_createForOfIteratorHelper(t);try{for(n.s();!(a=n.n()).done;){var r=a.value;this.p.data.custom_content_parsed=this.p.data.custom_content_parsed.replace("{{{0}}}".format(r.formula),r.result.value)}}catch(t){n.e(t)}finally{n.f()}}this.updateHtmlFrame()},refreshFromDataDependency:function(t,e){var a=!1;(a=DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula_content,e)?!0:a)&&this.tryUpdate()},setCustomError:function(){this.renderPlaceholder()},__update:function(){this.loading=!0,this.error=!1,this.toomanyvalues=!1,this._currentUpdateDataWSCall&&"pending"===this._currentUpdateDataWSCall.state()&&this._currentUpdateDataWSCall.abort(),this._currentResolveFiltersWS&&"pending"===this._currentResolveFiltersWS.state()&&this._currentResolveFiltersWS.abort(),!this.p.data||"custom"!==this.p.data.mode&&"formula"!==this.p.data.mode||this._updateFormulaModeData()},_updateFormulaModeData:function(){var r=[];"formula"===this.p.data.mode&&this.traverseFormulaInput(function(t){r.push(t)},!0),"custom"===this.p.data.mode&&this.addCustomContentdependencies(r),this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{Formulas:r,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(t){var e=[];if(this.loading=!1,t.Success){for(var a=0;a<r.length;a++)e.push({formula:r[a],result:t.Result[a]});this.updateServiceSuccess&&this.updateServiceSuccess(e),this.trigger("updatedatasuccess")}else{var n=Utils.getWidgetErrorMessage(t);this.error=null!==n?n:t.error_details||_("UnknownErroroccurred"),this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror")}})},bindEvents:function(){var t=this,e=this;this._eventsBound||(this.dashboard&&this.dashboard.in_editor&&(this.on([WidgetLayer.Events.MOVING_START,WidgetLayer.Events.RESIZING_START],function(){t.ui.append('<div class="AV5_OverlappingDiv"></div>')}),this.on([WidgetLayer.Events.MOVED,WidgetLayer.Events.RESIZED],function(){t.ui.find(".AV5_OverlappingDiv").remove()})),this.on(["height","width"],function(){e.updateStyle()}),this.on("stylechanged",function(){e.updateStyle()}),this.on("propertieschanged",function(){e.init()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},updateStyle:function(){Utils.requestAnimationFrameOnce("updateStyle-".concat(this.guid),function(){this.updateContainerStyle("background")}.bind(this))},updateHtmlFrame:function(){switch(this.ui.empty(),this.p.data.mode){case"text":this.renderTextMode();break;case"custom":this.renderCustomMode();break;case"formula":this.renderFormulaMode()}this.updateStyle(),this._loaded=!0},renderPlaceholder:function(){this.ui.empty(),this.hideLoading(),this.ui.append(AV5_Placeholder)},renderCustomMode:function(){this.parseAndRenderHTML()},addCustomContentdependencies:function(t){for(var e=this.p.data.custom_content,a=/{{((.|\n){1,}?)}}/gim,n=a.exec(e);n;){var r=n[1];r&&0<r.trim().length&&(t&&t.push(r),this.addDependencies(r)),n=a.exec(e)}},parseAndRenderHTML:function(){this.ui.empty();var t=document.createElement("iframe"),e=this.p.data.custom_content_parsed||this.p.data.custom_content;t.setAttribute("id","av5_frame_{0}".format(this.guid)),t.src="data:text/html;charset=utf-8,".concat(encodeURIComponent(e)),this.ui.append(t)},renderTextMode:function(){this.openLink(this.p.data.text)},renderFormulaMode:function(){this.openLink(this.p.data.formula_content_result)},openLink:function(n){var r=this;if(!n)return this.renderPlaceholder(),!1;function e(){function t(){r._loaded=!0,r.hideLoading()}r.error=null,r.ui.empty();var e=$('<iframe name="av5_frame_{0}" id="av5_frame_{0}" src="{1}"><html><head></head><body></body></html>                              </iframe>'.format(r.guid,n)),a=(r.ui.append(e),e.on("load",function(){t()}),setTimeout(function(){t(),clearTimeout(a)},3e4))}this.p.data.check_url?(this.showLoading(),WS.post("DashboardEditor/AV5/TestLink",{Url:n},{no_result:!0}).done(function(t){e()}).fail(function(t){switch(t.status){case 406:r.error=_("AV5Error_Http");break;case 403:r.error=_("AV5Error_WrongUrl").format(n);break;case 405:r.error=_("AV5Error_XFrameOptions").format(n);break;default:WS.displayDefaultError()}r._loaded=!0,r.renderPlaceholder()})):e()},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                     <span>{{ label }}</span>                     <ul class="multiple_labels">                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isText}}checked{{/isText}} name="baseon" value="text" id="baseon_text" /><i class="far"></i><span>{{ text }}</span><small>{{ textDescription }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isFormula}}checked{{/isFormula}} name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formulaDescription }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isCustom}}checked{{/isCustom}} name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ customDescription }}</small></label></li>                     </ul>                 </div>',{label:_("BasedOn"),formula:_("AV5Formula"),formulaDescription:_("Av5TitleFormulaDesc"),custom:_("AV5Custom"),customDescription:_("Av5CustomTitleDesc"),text:_("AV5StaticURL"),textDescription:_("Av5TextTitleDesc"),isFormula:"formula"===this.p.data.mode,isCustom:"custom"===this.p.data.mode,isText:"text"===this.p.data.mode})),a.append('<div class="warningMessage"><p class="titleHeader">'.concat(_("AV5WarningTitle"),"</p><p>").concat(_("AV5WarningMessage"),"</p></div>")),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Format._isDirty=!0,e.p.data.mode=$(this).val(),"custom"==$(this).val()&&(e.p.data.custom_content=AV5_HTMLTEMPLATE),e.init()})},initializeSettings:function(t){var e=Mustache.render('                <button type="button" id="tab_content" quickTab-href="av5_content" class="quickTab">                    <i class="far fa-2x fa-code"></i>                    <p>{{ label }}</p>                </button>',{label:_("Av5Content")}),a=($("#tab_data").after(e),$('<div id="av5_content">'));a.prependTo(".content");t.Content=new function(t){this.settings=t,this.ui={content:a},this.show=function(){this.settings.toggleContent("av5_content"),this.settings._widget.renderContentTab(this)}}(t),routie("av5_content",function(){t.Content.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active")},renderContentTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(this.p.data.mode){case"text":this.renderContentAsText(t);break;case"custom":this.renderContentAsCustom(t);break;case"formula":this.renderContentAsFormula(t)}this.current_data_mode=this.p.data.mode}},renderContentAsText:function(t){var t=t.ui.content.empty(),e=(t.append("<header>{0}</header>".format(_("AV5TextHeader"))),this);this.settings.Format.addText({id:"av5Text",container:t,label:_("URL"),object:this.p.data,placeholder:_("AV5TextPlaceholder"),property:"text",callback:Utils.debounce(function(){e.updateHtmlFrame()},500)}),this.settings.Format.addBoolean({container:t,side_label:_("CheckURLDescription"),label:_("CheckURL"),object:this.p.data,property:"check_url",callback:function(t){e.updateHtmlFrame()}})},renderContentAsCustom:function(t){var e=this,t=t.ui.content.empty(),a=(this.updateHtmlFrame.bind(this),t.append($("<header>").text(_("Av5ContentHeader")),'<div class="aceEditorContainer"><div id="webhtml_custom_url"></div></div>'),ace.edit("webhtml_custom_url"));a.$blockScrolling=1/0,a.getSession().setMode("ace/mode/html"),a.getSession().setUseWrapMode(!0),a.setValue(this.p.data.custom_content||AV5_HTMLTEMPLATE),a.setDisplayIndentGuides(!0),a.clearSelection(),a.getSession().on("change",Utils.debounce(function(t){e.p.data.custom_content=a.getValue(),e.tryUpdate()},500)),$(".collapseButtonContainer .expand").on("click",function(){setTimeout(function(){a.resize()},100)}),window.OnResize=function(){a.resize()}},renderContentAsFormula:function(t){var t=t.ui.content.empty(),e=(t.append("<header>{0}</header>".format(_("AV5FormulaHeader"))),this);this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("URL"),object:this.p.data,property:"formula_content",callback:function(t){e.tryUpdate()}}),this.settings.Format.addBoolean({container:t,side_label:_("CheckURLDescription"),label:_("CheckURL"),object:this.p.data,property:"check_url",callback:function(t){e.tryUpdate()}})},getFormatTabs:function(t){var e=[];return e.push({icon:"note-shape.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e},getBackgroundProperties:function(t){var e=this.updateContainerStyle.bind(this,"background");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.background,property:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()}}});
//# sourceMappingURL=AV5-web-html.js.map

var _ScatterBase$prototyp;function _defineProperty(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function ScatterBase(){}ScatterBase.prototype=(_defineProperty(_ScatterBase$prototyp={onVisibilityChange:function(){this.render()},isZoomAllowed:function(){var t;return"zoom"===(null==(t=this.p.interactions)||null==(t=t.whendragging)?void 0:t.type)},onDashboardViewChange:function(){this._loaded&&this.render()},setOutputFromData:function(t){var e=[];t.forEach(function(t){t.data.forEach(function(t){e.push(t[0])})}),Utils.arrayDistinct(e),e.sort(),this.categories=e,this.series=t.map(function(t){return t.name}),this.updateState()},render:function(){ChartUtils.destroyChart(this.ui);try{var i=this,t=this.getHighchartsData(this._Data,this._Data.rows2,this._Data.rows,this._Data.columns).series,r=(this.setOutputFromData(t),!1),e={chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),boost:{seriesThreshold:2500},exporting:{enabled:!1},credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(t,this.p.legend),tooltip:this._getHighchartsTooltip(this.p.y_axis,this._Data.rows2),plotOptions:{series:{animation:!1,shadow:!1,turboThreshold:0,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0},events:{click:function(t){!Utils.isMobileDevice()&&i.p.interactions.onseriesclick&&"data_points"===i.p.interactions.onseriesclick.type&&(e=t.point,(a=-1!==this.chart.getSelectedPoints().indexOf(e))&&e.select(!1,!0),t.altKey||t.ctrlKey||i._resetChartSelection.call(this.chart,i),a||e.select(!0,!0),i.updateOutputFromChart(this.chart));var e,a,o=i.p.interactions.onseriesdblclick;if(r&&o){switch(o.type){case"url":DashboardUtils.handleUrlInteraction(i.dashboard,i,o);break;case"dashboard":i.handleDashboardInteraction(o)}r=!1}else r=!0,setTimeout(function(){r=!1},200)}}}},xAxis:this._getHighchartsXAxis(this.p.x_axis,this._Data.rows2),yAxis:this._getHighchartsYAxis(this.p.y_axis,this._Data.rows),series:this._getHighchartsSeries(this._Data.x_categories,t,this.p.x_axis,this.p.y_axis,this._Data.rows2),zAxis:{min:0,max:10,showFirstLabel:!1}};this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this.ui.highcharts(e),ChartUtils.putPlotAreaOnTop(this.ui),this.updateState()}catch(t){this.error=t}},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id==t&&"bindings"==this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var i=this.p.sort_filter.filters[o];if(i.state!=Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(i.formula,e)){a=!0;break}}a&&this.tryUpdate()},isCustomDataMode:function(){return"custom"===this.p.data.mode},customData:function(){return[{columns:[{column_id:-1,value:"Series 1"}],data:this.p.data.custom}]},setSample:function(){this._Data=this.customData(),this.render()},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.Rows).length&&1===this.getBindings(Enums.WidgetAreas.RowsBis).length},updateServiceError:function(){this._loaded=!1}},"refreshFromDataDependency",function(t,e){var a=!1;if(!(a=this.p.data_id===t&&"bindings"===this.p.data.mode?!0:a)&&this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var i=this.p.sort_filter.filters[o];if(i.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(i.formula,e)){a=!0;break}}a&&this.tryUpdate()}),_defineProperty(_ScatterBase$prototyp,"renderPropertiesTab",function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             \x3c!--<li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>--\x3e                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.p.sort_filter.sorts=[],e.p.sort_filter.top_bottom.enabled=!1,e.p.sort_filter.top_bottom.column=null,e.p.sort_filter.filters=[],e.update()})}),_defineProperty(_ScatterBase$prototyp,"renderSortFilterTab",function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))}),_defineProperty(_ScatterBase$prototyp,"renderTopBottom",function(t){var n=this,e=new Settings.SortFilter.TopBottom(t);e.updateDataCallback=function(){n._isDirty=!0,n.update()},e.getTopBottomColumns=function(r){switch(n.p.data.mode){case"bindings":t.settings.getDataClone(n.p.data_id,n._from.dashboard.id).then(function(t){for(var e=[],a=0;a<n.p.data_bindings.length;a++){var o,i=n.p.data_bindings[a];i.area!==Enums.WidgetAreas.Columns&&(i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),value:i.guid,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:!1}):(o=n.getColumnFromId(t.columns,i.column_id),e.push({label:i.name||o.name,value:i.guid,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:o.is_context||!1,column_id:o.id})))}r(e)});break;case"custom":r([{label:"Series 1",value:-1}])}},e.render()}),_defineProperty(_ScatterBase$prototyp,"getColumnFromId",function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})}),_defineProperty(_ScatterBase$prototyp,"renderFilter",function(e){var l=this,o=new Settings.SortFilter.Filter(e);o.getFilterColumns=function(n){switch(l.p.data.mode){case"bindings":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var o=l.p.data_bindings[a],i=l.getColumnFromId(t.columns,o.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:o.name||i.name,value:"".concat(i.id).concat(o.aggregation||""),column_id:i.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var r=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(r.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));n(e)});break;case"custom":var t=[{label:_("LabelXValues"),value:0,column_id:0},{label:_("LabelYValues"),value:1,column_id:1}];n(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){l.update()},o.render()}),_defineProperty(_ScatterBase$prototyp,"setSortFilterTabState",function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)}),_defineProperty(_ScatterBase$prototyp,"getFormatTabs",function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t.push({icon:"chart-line-y-axis.png",text:_("Vertical"),code:"yaxis",renderer:this.getYAxisProperties.bind(this)}),t.push({icon:"chart-line-x-axis.png",text:_("Horizontal"),code:"xaxis",renderer:this.getXAxisProperties.bind(this)}),t.push({icon:"chart-line-series.png",text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),t.push({icon:"chart-trend.png",text:_("Trends"),code:"trends",renderer:this.getTrendsProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,t),t}),_defineProperty(_ScatterBase$prototyp,"getTitleProperties",function(t){var e=this.render.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,dropDown:!0,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()}),_defineProperty(_ScatterBase$prototyp,"getBackgroundProperties",function(t){var e=this.render.bind(this),a=(t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addSection());t.content.append(a),t.addBoolean({section:a,label:_("PlotAreaBackground"),object:this.p.background.plot_background,property:"enabled",callback:e}),t.addColor({container:a,label:_("PlotAreaColor"),object:this.p.background.plot_background,property:"color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.background.plot_background,property:"gradient",callback:e}),t.addBorder({container:a,dropDown:!1,label:_("PlotAreaBorder"),object:this.p.background.plot_background,property:"border",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()}),_defineProperty(_ScatterBase$prototyp,"getLegendProperties",function(t){var e=this.render.bind(this),a=t.addSection();t.content.append(a),t.addBoolean({section:a,label:_("ShowLegend"),object:this.p.legend,property:"enabled",callback:e}),t.addSeparator({container:a}),t.addFont({container:a,object:this.p.legend,property:"font",callback:e}),t.addSeparator({container:a}),t.addToggleButtons({container:a,label:_("Layout"),object:this.p.legend,property:"layout",callback:e,buttons:[{image:"legend-layout-horizontal.png",value:"horizontal"},{image:"legend-layout-vertical.png",value:"vertical"}]}),t.addToggleButtons({container:a,label:_("Position"),object:this.p.legend,property:"position",callback:e,buttons:[{image:"legend-position-top.png",value:"top"},{image:"legend-position-right.png",value:"right"},{image:"legend-position-bottom.png",value:"bottom"},{image:"legend-position-left.png",value:"left"}]}),t.addBoolean({container:a,label:_("LegendReverse"),object:this.p.legend,property:"reversed",callback:e}),t.addBoolean({container:a,dropDown:!1,label:_("LegendEqualWidth"),object:this.p.legend,property:"fixed_width",callback:e}),t.addSeparator({container:a}),t.addColor({container:a,dropDown:!1,label:_("BackgroundColor"),object:this.p.legend,property:"background_color",callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,dropDown:!1,object:this.p.legend,property:"border",callback:e}),t.addSeparator({container:a}),t.addSlider({container:a,label:_("RoundedCorners"),object:this.p.legend,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:a})}),_defineProperty(_ScatterBase$prototyp,"getYAxisProperties",function(t){var e=this.render.bind(this),a=this.p.y_axis,o=t.addSection(),o=(t.addBoolean({section:o,label:_("ShowTitle"),object:a.title,property:"enabled",callback:e}),t.addText({container:o,label:_("AxisTitle"),placeholder:_("EnterTitlePlaceholder"),object:a.title,property:"text",callback:e,event:"focusout"}),t.addSection().appendTo(o)),o=(t.addFont({container:o,object:a.title,property:"font",callback:e}),t.addToggleButtons({container:o,label:_("Rotation"),object:a.title,property:"rotation",callback:e,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),t.addSeparator(),t.addSection());t.addBoolean({section:o,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:o,object:a.labels,property:"font",callback:e}),t.addNumber({container:o,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:o,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addSeparator(),t.addDropdown({label:_("AxisScale"),object:a.scale,property:"type",callback:e,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:a.scale,property:"max",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:a.scale,property:"min",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:a.scale,property:"interval",callback:this.tryUpdate.bind(this)}),t.addNumber({label:_("Threshold"),object:a.scale,property:"threshold",callback:e}),t.addBoolean({label:_("Reverse"),object:a.scale,property:"reverse",callback:e}),t.addSeparator(),t.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:e}),t.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()}),_defineProperty(_ScatterBase$prototyp,"getXAxisProperties",function(t){var e=this.render.bind(this),a=this.p.x_axis,o=t.addSection(),o=(t.addBoolean({section:o,label:_("ShowTitle"),object:a.title,property:"enabled",callback:e}),t.addText({container:o,label:_("AxisTitle"),placeholder:_("EnterTitlePlaceholder"),object:a.title,property:"text",callback:e,event:"focusout"}),t.addSection().appendTo(o)),o=(t.addFont({container:o,object:a.title,property:"font",callback:e}),t.addToggleButtons({container:o,label:_("Rotation"),object:a.title,property:"rotation",callback:e,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),t.addSeparator(),t.addSection());t.addBoolean({section:o,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:o,object:a.labels,property:"font",callback:e}),t.addToggleButtons({container:o,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:e,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addNumber({container:o,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:o,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addSeparator(),t.addDropdown({label:_("AxisScale"),object:a.scale,property:"type",callback:e,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:a.scale,property:"max",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:a.scale,property:"min",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:a.scale,property:"interval",callback:this.tryUpdate.bind(this)}),t.addNumber({label:_("Threshold"),object:a.scale,property:"threshold",callback:e}),t.addBoolean({label:_("Reverse"),object:a.scale,property:"reverse",callback:e}),t.addSeparator(),t.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:e}),t.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()}),_defineProperty(_ScatterBase$prototyp,"getSeriesProperties",function(l){var s,i,t,c,d=this,p=this.render.bind(this);this._Data&&(s=this.getSeriesCombinaisons(),i=d._Data.columns,(t=s.map(function(t){var o="";return t.columns.forEach(function(e){var t,a=e.value;i&&0<i.length&&((t=i.filter(function(t){return t.id===e.column_id})[0])&&Utils.isDateType(t.type)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,t.type)))),o+=(0<o.length?" - ":"").concat(a)}),{label:o,value:o,series:t}})).unshift({value:null,label:_("SelectASeries")}),l.addDropdown({label:_("Series"),object:{serie:null},property:"serie",callback:function(e){var a,t,o,i,r,n;c.empty(),null!==e.value&&(e.series.value&&-99===e.series.value?d.renderAllSeriesProperties(e.series,l,c):(o=e.series,(n=d.getSeriesConfiguration(o))||(t=null,s.length&&(t=Utils.arrayFirstIndex(s,function(t){return!(!t.columns||!t.columns.length)&&t.columns[0].value===e.value}),--t),n=$.extend({config:d.getDefaultSeriesConfiguration(t)},o),d.p.series_custom.push(n)),a=n.config,l.addText({container:c,label:_("Name"),placeholder:_("NamePlaceholder"),object:a,property:"name",callback:p,event:"focusout"}),l.addSeparator({container:c}),t=l.addSection(),l.addBoolean({container:c,section:t,label:_("ShowValueLabels"),object:a.labels,property:"enabled",callback:p}),l.addBoolean({container:t,label:_("DisplayMeasure"),object:a.labels,property:"show_measure",callback:p}),l.addBoolean({container:t,label:_("DisplayDimension"),object:a.labels,property:"show_dimension",callback:p}),l.addBoolean({container:t,label:_("DisplaySeries"),object:a.labels,property:"show_series",callback:p}),l.addFont({container:t,object:a.labels,property:"font",callback:p}),l.addToggleButtons({container:t,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:p,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),l.addFormat({container:t,label:_("Format"),object:a.labels,property:"format",callback:p}),l.addSeparator({container:c}),o=l.addSection(),i=function(){var t=a.scatter.marker.shape;t&&$("button div.img",r).css("background-image","url('Images/WidgetProperties/marker-".concat(t,".png')"))},l.addToggleButtons({container:c,label:_("Marker"),section:o,object:a.scatter.marker,property:"shape",callback:function(){i(),p()},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),r=l.addToggleButtons({container:o,label:_("Size"),object:a.scatter.marker,property:"width",callback:p,numeric:!0,buttons:[{image:"marker-circle.png",value:2,class:"small"},{image:"marker-circle.png",value:4},{image:"marker-circle.png",value:6,class:"big"}]}),i(),l.addColor({container:o,dropDown:!1,label:_("MarkerColor"),object:a.scatter.marker,property:"color",callback:p}),l.addBorder({container:o,dropDown:!1,label:_("MarkerBorder"),object:a.scatter.marker,property:"border",callback:p}),l.addSeparator({container:c}),n=l.addSection({container:c}),l.addBoolean({container:c,section:n,label:_("ColorForNegativeValues"),object:a.scatter.negative_values,property:"enabled",callback:p}),l.addColor({container:n,dropDown:!1,label:_("FillColor"),object:a.scatter.negative_values,property:"fill_color",callback:p}),l.addSeparator({container:c})))},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),c=l.addSection().addClass("nomargin").appendTo(l.ui.content))}),_defineProperty(_ScatterBase$prototyp,"getTrendsProperties",function(a){var i,t,o,r=this,n=this.render.bind(this);this._Data&&(t=this.getTrendsCombinaisons(),i=r._Data.columns,(t=t.map(function(t){var o="";return t.columns.forEach(function(e){var t,a=e.value;i&&0<i.length&&((t=i.filter(function(t){return t.id===e.column_id})[0])&&Utils.isDateType(t.type)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,t.type)))),o+=(0<o.length?" - ":"").concat(a)}),{label:o,value:o,series:t}})).unshift({value:null,label:_("SelectASeries")}),a.addDropdown({label:_("Series"),object:{serie:null},property:"serie",callback:function(t){var e;o.empty(),null!==t.value&&(t=t.series,(e=r.getTrendsConfiguration(t))||(e=$.extend({config:r.getDefaultTrendConfiguration()},t),r.p.trends_custom.push(e)),t=e.config,a.addText({container:o,label:_("Name"),placeholder:_("NamePlaceholder"),object:t,property:"name",callback:n,event:"focusout"}),a.addSeparator({container:o}),r._renderTrendsEnabled.bind(r,a,o,t,function(){n.call(r)})())},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),o=a.addSection().addClass("nomargin").appendTo(a.ui.content),a.addSeparator())}),_defineProperty(_ScatterBase$prototyp,"renderInteractionsTab",function(t){function e(t){(a.p.interactions[t]&&"data_points"===a.p.interactions[t].type?i:r)(t)}var a=this,o=this.render.bind(this),i=function(t){$(".subLine.{0}".format(t)).addClass("displayed")},r=function(t){$(".subLine.{0}".format(t)).removeClass("displayed")};t.settings.Format.addDropdown({container:t.ui,label:_("WhenDragging"),object:this.p.interactions.whendragging,property:"type",callback:function(){e("whendragging"),a.updateToolbar(),o()},combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"zoom",label:_("Interaction_Zoom")},{value:"data_points",label:_("Interaction_DataPoints")}]}}),t.ui.append('<small class="whendragging subLine">'.concat(_("LimitToDataPoints"),"</small>")),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),t.settings.Format.addDropdown({container:t.ui,label:_("InteractionType_OnSerieslClick"),object:this.p.interactions.onseriesclick,property:"type",callback:function(){e("onseriesclick"),o()},combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"data_points",label:_("Interaction_DataPoints")}]}}),t.ui.append('<small class="onseriesclick subLine">'.concat(_("LimitToDataPoints"),"</small>")),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",parameters:!0,label:_("InteractionType_OnSeriesDblClick"),items:[{type:null},{type:"dashboard"},{type:"url"}]}),e("whendragging"),e("onseriesclick"),this.renderToolbarProperties(t)}),_defineProperty(_ScatterBase$prototyp,"getSeriesCombinaisons",function(){var a=[],t={value:-99,columns:[{column_id:-99,value:_("AllSeries")}]};return a.push(t),this.isCustomDataMode()?a.push({columns:[{column_id:-1,value:"Series 1"}]}):this._Data.forEach(function(t){var e=[];t.columns.forEach(function(t){e.push({column_id:t.column_id,value:t.value})}),a.push({columns:e})}),a}),_defineProperty(_ScatterBase$prototyp,"getSeriesConfiguration",function(o){return o?Utils.arrayFirst(this.p.series_custom,function(t){if(t.columns.length===o.columns.length){for(var e=0;e<t.columns.length;e++){var a=t.columns[e];if(a.column_id!==o.columns[e].column_id)return!1;if(a.value!==o.columns[e].value)return!1}return!0}}):null}),_defineProperty(_ScatterBase$prototyp,"getOrCreateConfiguration",function(t){var e=this.getSeriesConfiguration(t);return e||(e=$.extend({config:this.getDefaultSeriesConfiguration()},t),this.p.series_custom.push(e)),e}),_defineProperty(_ScatterBase$prototyp,"getDefaultSeriesConfiguration",function(t){var e,a=null;return!t&&0!==t||(a=(e=this.getColorsFromPalette())[t%e.length]),{name:"",labels:{enabled:!1,show_measure:!0,show_dimension:!1,show_series:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,format:null},scatter:{marker:{shape:"diamond",width:4,color:a,border:{width:0,color:"opalwhite"===this.p.style?"#ffffff":"#464951"}},negative_values:{enabled:!1,fill_color:"#FFFFFF"}}}}),_defineProperty(_ScatterBase$prototyp,"getHighchartsData",function(s,c,d,i){var p=function(t,o){return function(t){var e;if(i)for(var a=0;a<i.length;a++)Utils.isDateType(i[a].type)&&(t.names[a]=Utils.formatValue(t.names[a],DashboardUtils.applyFormat(null,i[a].type)));return t.configuration.config.name?e=t.configuration.config.name:(e=t.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===o&&t.value&&(e=t.value.name)),$.extend(t,{name:e})}},u=function(o,i,r,n){return function(t){var e=(e=o(t))||{config:i(),columns:t.columns},a=(a=r(t))||{config:n(),columns:t.columns};return $.extend({},t,{configuration:e,trendConfiguration:a})}};return{series:function(t,e,a,o){for(var i=[],r=0;r<s.length;r++){var n={},l=s[r];n.columns=l.columns,n.names=l.columns.map(function(t){return t.value}),c&&Utils.isDateType(c.type)&&l.data.forEach(function(t){t[0]=moment(t[0]).valueOf()}),d&&Utils.isDateType(d.type)&&l.data.forEach(function(t){t[1]=moment(t[1]).valueOf()}),n.data=l.data,i.push(n)}return i=i.map(u(t,e,a,o)).map(p())}(this.getSeriesConfiguration.bind(this),this.getDefaultSeriesConfiguration.bind(this),this.getTrendsConfiguration.bind(this),this.getDefaultTrendConfiguration.bind(this))}}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsSeries",function(l,t,e,s,c){var d,p=c&&Utils.isDateType(c.type),u=c?c.original_type:null,b=t.slice(0);return b.sort(function(t,e){t=t.name,e=e.name;return!isNaN(t)&&!isNaN(e)&&parseFloat(t)<parseFloat(e)?-1:!isNaN(t)&&!isNaN(e)&&parseFloat(t)>parseFloat(e)?1:t.toString().toLowerCase()<e.toString().toLowerCase()?-1:t.toString().toLowerCase()>e.toString().toLowerCase()?1:0}),t.map(function(t){for(var e=0;e<b.length;e++)if(b[e].name===t.name){d=e;break}var a,o=t.configuration.config,i=t.trendConfiguration.config,r=(a=o.labels.rotation,Utils.arrayFirst([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}],function(t){return t.rotation===a})),n={marker:{enabled:!!(n=o).scatter.marker.shape,symbol:n.scatter.marker.shape,radius:n.scatter.marker.width,lineWidth:n.scatter.marker.border.width,lineColor:n.scatter.marker.border.color},color:n.scatter.marker.color,negativeColor:n.scatter.negative_values.enabled?n.scatter.negative_values.fill_color:null};return $.extend({regression:i.enabled,regressionSettings:{type:i.type,originalColumnType:u,isDateTimeMode:p,categories:l,groupings:c?c.groupings:null,color:i.line.color,periods:i.periods,shortPeriod:i.short_period,longPeriod:i.long_period,dashStyle:i.line_type,order:i.polynomial_order,extrapolate:i.polynomial_extrapolation,loessSmooth:i.loess_smooth,width:i.line.width,shadow:i.shadow,isScatter:!0,name:i.name||"".concat(o.name||t.name," (").concat(_("Trend"),")")},index:d,name:o.name||t.name,data:t.data,type:"scatter",yAxis:0,threshold:s.scale.threshold,userData:{seriesConfig:o},dataLabels:{enabled:o.labels.enabled,rotation:o.labels.rotation,y:r.y||0,x:r.x||0,style:{fontFamily:o.labels.font.family,fontSize:"".concat(o.labels.font.size,"px"),textShadow:o.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(o.labels.font.family,o.labels.font.font_weight),fontStyle:o.labels.font.italic?"italic":"",textDecoration:o.labels.font.underline?"underline":"",textOutline:null,color:o.labels.font.color},formatter:function(){var t,e=o.labels,a="";return e.show_dimension&&(t=this.key,(p||u&&Utils.isDateType(u))&&(t=new Date(t).toISOString()),a=Utils.formatValue(t,e.format)),e.show_measure&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.y,e.format)),e.show_series&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.series.name,e.format)),a}}},n)})}),_defineProperty(_ScatterBase$prototyp,"renderAllSeriesProperties",function(t,o,e){var r=this.getOrCreateConfiguration(t).config,n=this,i=function(t){for(var e=Utils.getNestedValue(r,t),a=this.getSeriesCombinaisons(),o=0;o<a.length;o++){var i=n.getOrCreateConfiguration(a[o]);Utils.setNestedProperty(i.config,t,e)}this.render()}.bind(this),l=o.addSection().addClass("nomargin").appendTo(e);!function(){l.empty(),o.addSeparator({container:l});function t(){var t=r.scatter.marker.shape;t&&$("button div.img",a).css("background-image","url('Images/WidgetProperties/marker-".concat(t,".png')"))}var e=o.addSection(),e=(o.addBoolean({container:l,section:e,label:_("ShowValueLabels"),object:r.labels,property:"enabled",callback:i.bind(this,"labels.enabled")}),o.addBoolean({container:e,label:_("DisplayMeasure"),object:r.labels,property:"show_measure",callback:i.bind(this,"labels.show_measure")}),o.addBoolean({container:e,label:_("DisplayDimension"),object:r.labels,property:"show_dimension",callback:i.bind(this,"labels.show_dimension")}),o.addBoolean({container:e,label:_("DisplaySeries"),object:r.labels,property:"show_series",callback:i.bind(this,"labels.show_series")}),o.addFont({container:e,object:r.labels,property:"font",callback:i.bind(this,"labels.font")}),o.addToggleButtons({container:e,label:_("Rotation"),object:r.labels,property:"rotation",numeric:!0,callback:i.bind(this,"labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),o.addFormat({container:e,label:_("Format"),object:r.labels,property:"format",callback:i.bind(this,"labels.format")}),o.addSeparator({container:l}),o.addSection()),a=(o.addToggleButtons({container:l,label:_("Marker"),section:e,object:r.scatter.marker,property:"shape",callback:function(){t(),i("scatter.marker.shape")},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),o.addToggleButtons({container:e,label:_("Size"),object:r.scatter.marker,property:"width",callback:i.bind(this,"scatter.marker.width"),numeric:!0,buttons:[{image:"marker-circle.png",value:2,class:"small"},{image:"marker-circle.png",value:4},{image:"marker-circle.png",value:6,class:"big"}]})),e=(t(),o.addColor({container:e,dropDown:!1,label:_("MarkerColor"),object:r.scatter.marker,property:"color",callback:i.bind(this,"scatter.marker.color")}),o.addBorder({container:e,dropDown:!1,label:_("MarkerBorder"),object:r.scatter.marker,property:"border",callback:i.bind(this,"scatter.marker.border")}),o.addSeparator({container:l}),o.addSection({container:l}));o.addBoolean({container:l,section:e,label:_("ColorForNegativeValues"),object:r.scatter.negative_values,property:"enabled",callback:i.bind(this,"scatter.negative_values.enabled")}),o.addColor({container:e,dropDown:!1,label:_("FillColor"),object:r.scatter.negative_values,property:"fill_color",callback:i.bind(this,"scatter.negative_values.fill_color")}),o.addSeparator({container:l})}()}),_defineProperty(_ScatterBase$prototyp,"getTrendsCombinaisons",function(){var a=[];return this.isCustomDataMode()?a.push({columns:[{column_id:-1,value:"Series 1"}]}):this._Data.forEach(function(t){var e=[];t.columns.forEach(function(t){e.push({column_id:t.column_id,value:t.value})}),a.push({columns:e})}),a}),_defineProperty(_ScatterBase$prototyp,"getTrendsConfiguration",function(o){return o?Utils.arrayFirst(this.p.trends_custom,function(t){if(t.columns.length===o.columns.length){for(var e=0;e<t.columns.length;e++){var a=t.columns[e];if(a.column_id!==o.columns[e].column_id)return!1;if(a.value!==o.columns[e].value)return!1}return!0}}):null}),_defineProperty(_ScatterBase$prototyp,"getDefaultTrendConfiguration",function(){return{enabled:!1,type:"linear",name:null,line:{width:1,color:null},line_type:"solid",shadow:{code:"none"},polynomial_order:2,polynomial_extrapolation:0,loess_smooth:1,periods:2,short_period:12,long_period:26}}),_defineProperty(_ScatterBase$prototyp,"_renderTrendsEnabled",function(t,e,a,o){function i(){switch(n.empty(),a.type){case"polynomial":t.addNumber({container:n,label:_("Order"),object:a,property:"polynomial_order",min:2,max:6,callback:o.bind(this,"polynomial_order")}),t.addNumber({container:n,label:_("Extrapolate"),object:a,property:"polynomial_extrapolation",min:0,max:120,callback:o.bind(this,"polynomial_extrapolation")});break;case"loess":t.addNumber({container:n,label:_("Smooth"),object:a,property:"loess_smooth",min:-100,max:100,callback:o.bind(this,"loess_smooth")});break;case"movingaverage":t.addNumber({container:n,label:_("Periods"),object:a,property:"periods",min:1,max:1e3,callback:o.bind(this,"movingaverage")});break;case"movingaverageconvdiv":t.addNumber({container:n,label:_("ShortPeriod"),object:a,property:"short_period",min:1,max:1e3,callback:o.bind(this,"movingaverageconvdiv")}),t.addNumber({container:n,label:_("LongPeriod"),object:a,property:"long_period",min:1,max:1e3,callback:o.bind(this,"movingaverageconvdiv")})}}var r=$("#trends_enabled_container",e),e=(0<!r.length&&(r=$('<div id="trends_enabled_container"></div>'),e.append(r)),r.empty(),t.addSection()),n=(t.addBoolean({container:r,section:e,label:_("TrendLine"),object:a,property:"enabled",callback:o.bind(this,"enabled")}),t.addSeparator({container:e}),t.addDropdown({container:e,label:_("Type"),object:a,property:"type",callback:function(t){i(t.value),o()},combobox:{appendToBody:!0,dataprovider:[{value:"linear",label:_("Linear")},{value:"exponential",label:_("Exponential")},{value:"logarithmic",label:_("Logarithmic")},{value:"polynomial",label:_("Polynomial")},{value:"power",label:_("Power")},{value:"loess",label:_("Loess")},{value:"movingaverage",label:_("MovingAverage")},{value:"movingaverageconvdiv",label:_("MovingAverageConvDiv")}]}}),t.addSection().appendTo(e));i(),t.addSeparator({container:e}),t.addBorder({container:e,label:_("LineThickness"),object:a,property:"line",label_color:_("LineColor"),callback:o.bind(this,"line")}),t.addToggleButtons({container:e,label:_("LineType"),object:a,property:"line_type",callback:o.bind(this,"line_type"),buttons:[{image:"line-type-plain.png",value:"solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),t.addShadow({container:e,object:a,property:"shadow",callback:o.bind(this,"shadow")})}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsChart",function(){var t=this,e={type:"scatter",width:this.width,zoomType:!Utils.isMobileDevice()&&this.p.interactions.whendragging&&null!==this.p.interactions.whendragging.type?"xy":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:this.p.background.plot_background.enabled?this.p.background.plot_background.border.width:0,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){t._loaded=!0},render:function(){ChartUtils.adjustLegendHeight(t,this)}},options3d:{enabled:!1,alpha:90*this.p.other.threeD.x,beta:90*this.p.other.threeD.y,depth:100,viewDistance:20*this.p.other.threeD.z+1},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right};return!Utils.isMobileDevice()&&this.p.interactions.whendragging&&"data_points"===this.p.interactions.whendragging.type&&(e.events.selection=function(e){return t._dragging=!0,e.altKey||e.ctrlKey||t._resetChartSelection.call(this,t),Highcharts.each(this.series,function(t){Highcharts.each(t.points,function(t){t.x>=e.xAxis[0].min&&t.x<=e.xAxis[0].max&&t.y>=e.yAxis[0].min&&t.y<=e.yAxis[0].max&&t.select(!0,!0)})}),t.updateOutputFromChart(this),!1}),e.events.click=function(){t._resetChartSelection.call(this,t)},e}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsTitle",function(t){return t.font.halign||(t.font.halign="center"),Utils.FontUtils.loadFont(t.font.family),{text:Utils.disableHTML(t.text),align:t.font.halign,style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}}}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsLegend",function(t,e){Utils.FontUtils.loadFont(e.font.family);var a,o=0,i="",t=(e.enabled&&e.fixed_width&&(a=e.font,t.forEach(function(t){o<t.name.length&&(o=t.name.length,i=t.name),t.trendConfiguration&&t.trendConfiguration.config.enabled&&(t=t.trendConfiguration.config.name||"".concat(t.name," (").concat(_("Trend"),")"),o<t.length&&(o=t.length,i=t))}),o=DashboardUtils.measureText(i,a.family,a.size,a.font_weight===Enums.FontWeights.Bold,a.italic)),{enabled:e.enabled,itemStyle:{fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color,opacity:1},itemMarginBottom:2,y:"top"===this.p.legend.position?this._getLegendYPosition():0,layout:e.layout,align:"left"===e.position?"left":"right"===e.position?"right":"center",verticalAlign:"top"===e.position?"top":"bottom"===e.position?"bottom":"middle",itemWidth:e.fixed_width?o+30:null,itemDistance:e.fixed_width?0:20,backgroundColor:e.background_color,borderColor:e.border.color,borderWidth:e.border.width,borderRadius:"".concat(e.roundness,"px"),reversed:e.reversed||!1,margin:6,itemHoverStyle:{color:e.font.color,opacity:.8}});return this._lastvisibilityValue||this.dashboard&&!this.dashboard.in_editor&&(t.enabled=!1,t.navigation={enabled:!1}),t}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsTooltip",function(a,o){var t,i=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(t={enabled:!0,shared:!1,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},t.pointFormatter=function(){var e=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.y,format:!0,defaultFormatting:function(){var t=this.series.userOptions.userData.seriesConfig;return(t&&t.labels.format?t:a).labels.format}.call(this)},{regex:"this.point.percentage",value:ChartUtils.getPercentage(this.percentage,this.series.points,this.y).toFixed(1),format:!1},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(t){return function(t){return Utils.formatValue(this.category,DashboardUtils.applyFormat(t||null,o?o.type:null,o?o.original_type:null))}.call(e,t)}}],i.p.tooltip.content,i)},t):{enabled:!1}}),_defineProperty(_ScatterBase$prototyp,"getTooltipMacro",function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsXAxis",function(e,a){var t=this,o=(Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family),a&&Utils.isDateType(a.type)),i=a?a.original_type:null,r={categories:this._getXAxisCategories(a),type:o?"datetime":e.scale.type,events:{afterSetExtremes:function(){ChartUtils.handleToolbarZoom(this.eventArgs,t.container)}},title:{text:e.title.enabled?e.title.text:"",align:e.title.align,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},lineColor:e.axis_line.color,lineWidth:e.axis_line.width,startOnTick:!0,endOnTick:!0,minorTickInterval:"auto",gridLineWidth:e.major_grid_lines.width,gridLineColor:e.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:e.minor_grid_lines.width,minorGridLineColor:e.minor_grid_lines.color,alternateGridColor:e.bands,tickColor:e.ticks,opposite:e.opposite,crosshair:t.p.tooltip&&t.p.tooltip.display&&t.p.tooltip.display_crosshair||!1,tickLength:5,tickWidth:"transparent"!==e.ticks?1:0,labels:{enabled:e.labels.enabled,rotation:e.labels.rotation,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}},reversed:e.scale.reverse},n=(t._Data.scaleFormulaResults&&((n=t._Data.scaleFormulaResults[1])&&null!==n.max_result&&$.isNumeric(n.max_result.value)&&(r.max=parseFloat(n.max_result.value)),n&&null!==n.min_result&&$.isNumeric(n.min_result.value)&&(r.min=parseFloat(n.min_result.value))),!t._Data.intervalFormulaResult||(n=t._Data.intervalFormulaResult[1])&&$.isNumeric(n.value)&&0<n.value&&(r.tickInterval=o?24*n.value*3600*1e3:n.value),e.labels.format&&(r.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,a?a.groupings:null,o,i)}),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&n){for(var l=this.p.plot_options.filter(function(t){return"horizontal"===t.axis_type&&0===t.axis_index}),s=[],c=[],d=0;d<l.length;d++){var p=l[d];Utils.FontUtils.loadFont(p.font.family),"band"===p.type?s.push(ChartUtils.getHighChartsObject(p)):"line"===p.type&&c.push(ChartUtils.getHighChartsObject(p))}s.length&&(r.plotBands=s),c.length&&(r.plotLines=c)}return r}),_defineProperty(_ScatterBase$prototyp,"_getXAxisCategories",function(t){return t&&"System.String"===t.type?this._Data.x_categories:null}),_defineProperty(_ScatterBase$prototyp,"_getYAxisCategories",function(t){return t&&"System.String"===t.type?this._Data.y_categories:null}),_defineProperty(_ScatterBase$prototyp,"_getHighchartsYAxis",function(e,a){var t,o,i=this,r=(Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family),a&&Utils.isDateType(a.type)),n=a?a.original_type:null,i=(_defineProperty(o={opposite:!1,stacking:null,title:{text:e.title.enabled?e.title.text:"",rotation:e.title.rotation,margin:90===e.title.rotation&&e.title.enabled?e.title.font.size:20,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},labels:{enabled:e.labels.enabled,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}},lineColor:e.axis_line.color,lineWidth:e.axis_line.width},"opposite",e.opposite),_defineProperty(o,"gridLineWidth",e.major_grid_lines.width),_defineProperty(o,"gridLineColor",e.major_grid_lines.color),_defineProperty(o,"minorGridLineWidth",e.minor_grid_lines.width),_defineProperty(o,"minorGridLineColor",e.minor_grid_lines.color),_defineProperty(o,"minorTickInterval","auto"),_defineProperty(o,"crosshair",i.p.tooltip&&i.p.tooltip.display&&i.p.tooltip.display_crosshair||!1),_defineProperty(o,"tickColor",e.ticks),_defineProperty(o,"tickWidth","transparent"!==e.ticks?1:0),_defineProperty(o,"tickLength",5),_defineProperty(o,"alternateGridColor",e.bands),_defineProperty(o,"type",a&&Utils.isDateType(a.type)?"datetime":e.scale.type),_defineProperty(o,"categories",this._getYAxisCategories(a)),_defineProperty(o,"reversed",e.scale.reverse),i._Data.scaleFormulaResults&&((t=i._Data.scaleFormulaResults[0])&&null!==t.max_result&&$.isNumeric(t.max_result.value)&&(o.max=t.max_result.value),t&&null!==t.min_result&&$.isNumeric(t.min_result.value)&&(o.min=t.min_result.value)),!i._Data.intervalFormulaResult||(t=i._Data.intervalFormulaResult[0])&&$.isNumeric(t.value)&&0<t.value&&(o.tickInterval=t.value),e.labels.format&&(o.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,a?a.groupings:null,r,n)}),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&i){for(var l=this.p.plot_options.filter(function(t){return"vertical"===t.axis_type&&0===t.axis_index}),s=[],c=[],d=0;d<l.length;d++){var p=l[d];Utils.FontUtils.loadFont(p.font.family),"band"===p.type?s.push(ChartUtils.getHighChartsObject(p)):"line"===p.type&&c.push(ChartUtils.getHighChartsObject(p))}s.length&&(o.plotBands=s),c.length&&(o.plotLines=c)}return o}),_defineProperty(_ScatterBase$prototyp,"_getLegendYPosition",function(){var t=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.title.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.title.text)).css({"font-family":this.p.titles.title.font.family,"font-size":"".concat(this.p.titles.title.font.size,"px"),"text-shadow":this.p.titles.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.title.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.title.font.family,this.p.titles.title.font.font_weight),"font-style":this.p.titles.title.font.italic?"italic":"normal","text-decoration":this.p.titles.title.font.underline?"underline":"none"}),e=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.subtitle.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.subtitle.text)).css({"font-family":this.p.titles.subtitle.font.family,"font-size":"".concat(this.p.titles.subtitle.font.size,"px"),"text-shadow":this.p.titles.subtitle.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.subtitle.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.subtitle.font.family,this.p.titles.subtitle.font.font_weight),"font-style":this.p.titles.subtitle.font.italic?"italic":"normal","text-decoration":this.p.titles.subtitle.font.underline?"underline":"none"}),a=(t.appendTo("body"),e.appendTo("body"),t.outerHeight()+e.outerHeight()+5);return t.remove(),e.remove(),a}),_ScatterBase$prototyp);
//# sourceMappingURL=CH-scatter-base.js.map

function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o,n,i=[],r=!0,l=!1;try{for(a=a.call(e);!(r=(o=a.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){l=!0,n=e}finally{try{r||null==a.return||a.return()}finally{if(l)throw n}}return i}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _createForOfIteratorHelper(e,t){var a,o,n,i,r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return o=!(a=!0),{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){o=!0,n=e},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw n}}};if(Array.isArray(e)||(r=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return r&&(e=r),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}!function(){var I=window.WidgetCH={CONDITIONAL_TYPES:{None:"none",Categories:"categories",Values:"Values"},canUseDisplayZeroAs:function(e,t){return!(!t||"line"!==t)||(!(e=-1!==["DC3","CH1","CH6"].indexOf(e.model.type))||!t||"column"!==t&&"bar"!==t)&&e},canFormatPercentage:function(e){return-1!==["CH4","CH5","CH1","CH6"].indexOf(e.model.type)},SeriesDisplayNullsAs:{Gap:"gap",Zero:"zero",Connect:"connect"},AxisLabelType:{CategoryAndSeries:"categoryAndSeries",CategoryName:"categoryName",SeriesName:"seriesName",ValueName:"valueName"},SeriesShadowConfiguration:{none:{radius:0,opacity:0},light:{radius:3,opacity:.4},medium:{radius:5,opacity:.4},strong:{radius:10,opacity:.3}}},C=(I.DefaultYAxisProperties={bindings:[],position:"left",stacked:!1,stacked_100:!1,opposite:!1,title:{rotation:0,enabled:!1,text:_("ChartMyValues"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{rotation:0,enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",bands:"transparent"},I.DefaultSeriesProperties={name:null,display_null_as:I.SeriesDisplayNullsAs.Gap,labels:{enabled:!1,show_measure:!0,show_dimension:!1,show_percentage:!1,show_series:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},percentage_labels_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:1,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after"}}),rotation:0,position:"outside",format:null},total_labels:{enabled:!1,show_measure:!0,show_percentage:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},percentage_labels_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:1,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after"}}),rotation:0,format:null},type:null,subtype:"straight",step:"right",bar:{color:null,gradient:!1,bar_width:null,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,fill_type:Enums.ChartSeriesFillType.SingleColor,negative_values:{enabled:!1,fill_color:"#FFFFFF",gradient:!1}},column:{color:null,gradient:!1,bar_width:null,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,fill_type:Enums.ChartSeriesFillType.SingleColor,negative_values:{enabled:!1,fill_color:"#FFFFFF",gradient:!1}},area:{line:{width:1,color:null,type:"Solid",shadow:{code:"none"}},marker:{shape:null,width:2,color:null,border:{width:0,color:"#000000"}},background_color:null,gradient:!1,negative_values:{enabled:!1,fill_color:"#FFFFFF",line_color:"#000000"}},line:{line:{width:1,color:null,type:"Solid",shadow:{code:"none"}},marker:{shape:null,width:2,color:null,border:{width:0,color:"#000000"}},negative_values:{enabled:!1,line_color:"#FFFFFF"}}},I.DefaultTrendsProperties={enabled:!1,type:"linear",name:null,line:{width:1,color:null},line_type:"solid",shadow:{code:"none"},polynomial_order:2,polynomial_extrapolation:0,loess_smooth:1,periods:2,short_period:12,long_period:26},I.DefaultProperties={style:null,colors:null,type:"column",data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:null,custom:null},titles:{title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,halign:"center",underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0,margins:{top:30,bottom:30,left:20,right:20},plot_background:{enabled:!1,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",fixed_width:!0,reversed:!1,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:{opposite:!1,scaling_type:"category",title:{align:"middle",enabled:!1,text:_("ChartMyCategories"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,step:null,format:null,interval:null},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000"},y_axis:[null,null,null,null,null,null],y_axis_custom:$.extend(!0,{},I.DefaultYAxisProperties),series_custom:[],plot_options:[],other:{threeD:{enabled:!1,x:.25,y:.25,z:1}},trends_custom:[],sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.series.name}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},display_crosshair:!1,display_shared:!0},interactions:{ondblclick:null,allow_zoom:!0,allow_export:!0,onseriesdblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},Utils.memoize(function(e,t){a=t;var a,o=function(e){return Utils.arrayFirst(e,function(e){return e.rotation===a})};switch(e){case"bar":return o([{rotation:0,align:"left",x:0},{rotation:90,align:"center",x:0},{rotation:270,align:"center",x:0},{rotation:30,align:"left",x:0}]);case"line":case"area":return o([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}])}},function(e,t){return e+t}));Widget.CHPrototype={getColumnsFormat:function(e){var t=[],a=this._Data.columns.concat(this._Data.rows).concat(this._Data.values);if("bindings"===this.p.data.mode){this.p.data_bindings.sort(function(e,t){switch(e.area){case Enums.WidgetAreas.Rows:return t.area===Enums.WidgetAreas.Rows?0:-1;case Enums.WidgetAreas.Columns:return t.area===Enums.WidgetAreas.Columns?0:t.area===Enums.WidgetAreas.Rows?1:-1;case Enums.WidgetAreas.Values:return t.area===Enums.WidgetAreas.Values?0:1}});var o=this.p.data_bindings;e||(o=o.filter(function(e){return!e.hidden}));for(var n=0;n<o.length;n++){var i=o[n],r=Utils.arrayFirst(a,function(e){return e.id===i.column_id}),l=null;switch(i.area){case Enums.WidgetAreas.Values:var s=Utils.arrayFirst(this.p.y_axis,function(e){return e&&e.bindings&&-1!==e.bindings.indexOf(i.guid)});s&&s.labels.format&&(l=s.labels.format);break;case Enums.WidgetAreas.Columns:l=null;break;case Enums.WidgetAreas.Rows:l=this.p.x_axis.labels.format}l?t.push({ColumnId:i.column_id,Index:n,Format:DashboardUtils.applyFormat(l,r.type)}):r&&t.push({ColumnId:i.column_id,Index:n,Format:DashboardUtils.applyFormat(null,r.type)})}}return t},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedcategories"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.resetSelectedOutput()},setOutputFromData:function(e,t){this.categories=e.map(function(e){return e.name}),this.fullcategoriespath=e.map(function(e){return e.names}),this.series=t.map(function(e){return e.name}),this.updateState()},updateOutputFromPoint:function(e,t){var a=1!==(null==t?void 0:t.length)||t[0].groupings&&0!==t[0].groupings.length?null:t[0].original_type,o=e.category;a&&(o=Utils.utcTZtoDateString(e.category,null,a)),this.selectedvalue=e.y,this.selectedcategory=this.p.drilldown_categories&&1<t.length?e.name:o,this.p.drilldown_categories&&1<t.length?this.selectedcategories=(e.series.userOptions.path||[]).concat(e.catName||e.name):this.selectedcategories=this.fullcategoriespath[e.index],this.selectedseries=e.series.name,this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedcategory:this.selectedcategory,selectedcategories:this.selectedcategories,selectedseries:this.selectedseries,selectedvalue:this.selectedvalue})},resetState:function(e){this.selectedvalue=e.selectedvalue,this.selectedcategory=e.selectedcategory,this.selectedcategories=e.selectedcategories,this.selectedseries=e.selectedseries},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedcategories=[],this.selectedseries=null},onVisibilityChange:function(){this.render()},onDashboardViewChange:function(){this._loaded&&this.render()},init:function(){ChartUtils.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.initSeriesColorObject(),this.getCustomSample?this.p.data.custom=this.getCustomSample():this.p.data.custom||(this.p.data.custom=[["My Category","Series 1","Series 2","Series 3"],["Jan",25,5,15],["Feb",12,22,30],["Mar",35,28,12]]),this.bindEvents(),this.tryUpdate()},initSeriesColorObject:function(){if(this.p.series_custom&&this.p.series_custom.length){var e,t=_createForOfIteratorHelper(this.p.series_custom.filter(function(e){return"bar"===e.config.type||"column"===e.config.type}));try{for(t.s();!(e=t.n()).done;){var a=e.value,o=Enums.ChartSeriesFillType.SingleColor,n=a.config.type,i=a.config[n];i.fill_type||(i.negative_values&&i.negative_values.enabled?i.fill_type=Enums.ChartSeriesFillType.PositiveAndNegative:i.fill_type=o)}}catch(e){t.e(e)}finally{t.f()}}},bindEvents:function(){var t=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(t.ui)}),this.on("fontchanged",function(){t.render()}),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.p.series_custom.forEach(function(e){e.config.bar.color=null,e.config.column.color=null,e.config.area.background_color=null,e.config.line.line.color=null}),this.render()}.bind(this)),this.on("stylechanged",function(){this.p.y_axis.filter(function(e){return null!==e}).forEach(function(e){$.extend(!0,e,t.getDefaultYAxisConfiguration())}),this.p.series_custom.filter(function(e){return null!==e}).forEach(function(e){e.config=$.extend(!0,{},e,t.getDefaultSeriesConfiguration(!0))}),this.render()}.bind(this)),this.on(["height","width"],function(e){ChartUtils.resizeChart(t,t.ui,!1,e)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},isCustomDataMode:function(){return"custom"===this.p.data.mode},getBindings:function(t){return t?this.p.data_bindings.filter(function(e){return e.area===t}):this.p.data_bindings},updateService:"CHData",updateServiceError:function(){this._loaded=!1},updateServiceSuccess:function(e){this._Data=e;var t,a=function(){this.isAllCategoriesAreDates()&&(this.p.sort_filter.top_bottom.others=!1),this.updateServiceSuccessCallback&&this.updateServiceSuccessCallback(),this.render()}.bind(this);if(this.isCustomDataMode())e=this.p.data.custom.slice(1),0<this.p.sort_filter.filters.length&&(t=this.p.sort_filter.filters.filter(function(e){return e.state!=Enums.WidgetFilterState.Disabled}).map(function(e){return{disabled_if_null:e.state==Enums.WidgetFilterState.DisabledIfNull,column_index:e.column_id,operator:e.operator,value:e.formula_result}}),e=DashboardUtils.filterData(e,t)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(e,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),Utils.arrayFirst(this.p.sort_filter.sorts,function(e){return null!=e.column})&&DashboardUtils.sortData(e,this.p.sort_filter.sorts),e.unshift(this.p.data.custom[0]),this._Data=this.convertCustomDataToHeaders(e),this._resolveScaleMinMaxCustom(this._Data,a,this.p.y_axis_custom),this._resolveConditionalColorsCustom(a);else{for(var o=0;o<e.plotFormulaResults.length;o++)this.p.plot_options.length>o&&(this.p.plot_options[o]._results=e.plotFormulaResults[o]);if(e.conditionalValueFormulaResults&&e.conditionalValueFormulaResults.length){var r,l=e.conditionalValueFormulaResults,s=null,n=_createForOfIteratorHelper(this.p.series_custom.entries());try{for(n.s();!(r=n.n()).done;){var i=function(){var e=_slicedToArray(r.value,2),t=e[0],e=e[1];if("bar"===e.config.type&&(s=e.config.bar),!(s="column"===e.config.type?e.config.column:s))return"continue";if(!s.fill_type||s.fill_type!==Enums.ChartSeriesFillType.Conditional)return"continue";if(!l||!l.length)return"break";for(var a=l.filter(function(e){return e.series_index===t}),o=0;o<s.values_custom_properties.length&&a&&a.length&&!(a.length<o);o++){var n=a[o],i=s.values_custom_properties[o];n&&void 0!==_typeof(n.category_result)&&null!==n.category_result&&(i.category=n.category_result.value),n&&void 0!==_typeof(n.value1_result)&&null!==n.value1_result&&(i.value1_result=n.value1_result.value),n&&void 0!==_typeof(n.value2_result)&&null!==n.value2_result&&(i.value2_result=n.value2_result.value)}}();if("continue"!==i&&"break"===i)break}}catch(e){n.e(e)}finally{n.f()}}a()}},_resolveConditionalColorsCustom:function(e){var n=[];this.executeOnCustomSeries(function(e){var t,a=_createForOfIteratorHelper(e.values_custom_properties);try{for(a.s();!(t=a.n()).done;){var o=t.value;n.push(o.category_formula),n.push(o.value1_formula),n.push(o.value2_formula)}}catch(e){a.e(e)}finally{a.f()}}),this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{Formulas:n,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(n){var i,r;this.loading=!1,n.Success&&(i=0,this.executeOnCustomSeries(function(e){var t,a=_createForOfIteratorHelper(e.values_custom_properties);try{for(a.s();!(t=a.n()).done;){var o=t.value;void 0!==(r=n.Result[i++]).value&&null!==r.value&&(o.category=r.value),void 0!==(r=n.Result[i++]).value&&null!==r.value&&(o.value1_result=r.value),void 0!==(r=n.Result[i++]).value&&null!==r.value&&(o.value2_result=r.value)}}catch(e){a.e(e)}finally{a.f()}}),e&&e())})},executeOnCustomSeries:function(e){var t,a=_createForOfIteratorHelper(this.p.series_custom);try{for(a.s();!(t=a.n()).done;){var o=t.value,n=null;"bar"===o.config.type&&(n=o.config.bar),(n="column"===o.config.type?o.config.column:n)&&n.fill_type&&n.fill_type===Enums.ChartSeriesFillType.Conditional&&n.conditional_colors_type!==I.CONDITIONAL_TYPES.None&&e&&e(n)}}catch(e){a.e(e)}finally{a.f()}},setSample:function(){this._Data=this.convertCustomDataToHeaders(),this.render()},getCustomData:function(){return this.p.data.custom.slice(1)},getContextualParameters:function(){var e=[];return!this.error&&this._Data&&(e.push({name:"Data",value:this._Data.data}),e.push({name:"RowPointIdx",value:0}),e.push({name:"ChildPointIdx",value:0}),e.push({name:"ValuePointIdx",value:0}),this._Data&&this._Data.rowHeaders&&e.push({name:"RowHeaders",value:this._Data.rowHeaders.map(function(e){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},e)})}),this._Data&&this._Data.columnHeaders&&e.push({name:"ColumnHeaders",value:this._Data.columnHeaders.map(function(e){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},e)})}),this._Data&&this._Data.values&&e.push({name:Enums.WidgetAreas.Values,value:this._Data.values.map(function(e){return $.extend({},{__type:"GenericDataResponse.MetricInfo:#Infinis"},e)})}),this._Data&&this._Data.rows&&e.push({name:Enums.WidgetAreas.Rows,value:this._Data.rows.map(function(e){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},e)})}),this._Data&&this._Data.columns&&e.push({name:Enums.WidgetAreas.Columns,value:this._Data.columns.map(function(e){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},e)})})),e},isAllCategoriesAreDates:function(){if(null==this._Data)return!1;for(var e=0<this._Data.rows.length,t=0;t<this._Data.rows.length;t++)Utils.isDateType(this._Data.rows[t].type)||(e=!1);return e},render:function(){var e,t,a,o,n;ChartUtils.destroyChart(this.ui),this._Data?(n=(o=this.getHighchartsDataFromWSData(this._Data.columnHeaders,this._Data.rowHeaders,this._Data.values,this._Data.rows,this._Data.columns,this.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Values}),this._Data.data)).categories,e=o.series,o=o.drilldown,this.setOutputFromData(n,e),t=function(){switch(this.p.data.mode){case"bindings":return this.p.y_axis;case"custom":return[this.p.y_axis_custom]}}.bind(this)(),a=this._getHighchartsSeries(n,e,this._Data.rows,this.p.x_axis),o=this._getHighchartDrilldown(o,a),n={exporting:{enabled:!1},lang:{drillUpText:_("ChartDrillUpButton").format("{series.name}")},chart:this._getHighchartsChart(o,e,this._Data.rows),colors:this.getColorsFromPalette(),credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(e,this.p.legend,this._Data.rows),tooltip:this._getHighchartsTooltip(this._Data.rows,n,this.p.x_axis),boost:{useGPUTranslations:!0,seriesThreshold:e.length<32?32:e.length+1},plotOptions:{area:{depth:50},column:{grouping:!0},drilldown:{activeDataLabelStyle:{textDecoration:"none"}},series:{animation:!1,shadow:!1,cropThreshold:500,turboThreshold:1e3,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0,crop:!1,overflow:"none"}}},xAxis:this._getHighchartsXAxis(this._Data.rows,n,this.p.x_axis),yAxis:this._getHighchartsYAxis(t),series:a},o&&(n.drilldown=o).series&&o.series.length&&this._applyConditionalFormattingToDrilldown(e,o),this.applyMarginOnChart&&this.applyMarginOnChart(n),this._lastvisibilityValue||(n.plotOptions[this.p.type]={enableMouseTracking:!1},!this.dashboard||this.dashboard.in_editor&&"visible"!==this.dashboard.model.view_hidden||(n.legend.enabled=!1,n.legend.navigation={enabled:!1})),this._lastvisibilityValue&&this.dashboard&&this.dashboard.in_editor&&"hidden"===this.dashboard.model.view_hidden&&(n.plotOptions[this.p.type]={enableMouseTracking:!1},n.legend.enabled=!1,n.legend.navigation={enabled:!1}),this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),Highcharts.chart(this.ui[0],n),ChartUtils.putPlotAreaOnTop(this.ui)):this.error=_("NoData")},_applyConditionalFormattingToDrilldown:function(e,c){var n,d=this,t=_createForOfIteratorHelper(e.filter(function(e){var t=null;return"bar"===e.configuration.config.type&&(t=e.configuration.config.bar),!!(t="column"===e.configuration.config.type?e.configuration.config.column:t)&&(t.fill_type===Enums.ChartSeriesFillType.Conditional&&t.conditional_colors_type!==I.CONDITIONAL_TYPES.None)}));try{function a(){var e=n.value,l=null;if("bar"===e.configuration.config.type&&(l=e.configuration.config.bar),!(l="column"===e.configuration.config.type?e.configuration.config.column:l))return"continue";function s(i){for(var r=[],e=0;e<i.data.length;e++)!function(e){var t=i.data[e];if(Array.isArray(t))r.push({y:t[1],name:t[0],color:d._getValueColor(l,e,t[0],t[1])});else if(r.push({drilldown:t.drilldown,y:t.y,name:t.name,color:d._getValueColor(l,e,t.name,t.y)}),t.drilldown){var a,o=_createForOfIteratorHelper(c.series.filter(function(e){return e.id===t.drilldown}));try{for(o.s();!(a=o.n()).done;){var n=a.value;s(n)}}catch(e){o.e(e)}finally{o.f()}}}(e);i.data=r}var t,a=e.data.map(function(e){return e.drilldown}),o=_createForOfIteratorHelper(c.series.filter(function(e){return-1!==a.indexOf(e.id)}));try{for(o.s();!(t=o.n()).done;)s(t.value)}catch(e){o.e(e)}finally{o.f()}}for(t.s();!(n=t.n()).done;)a()}catch(e){t.e(e)}finally{t.f()}},_getValueColor:function(e,t,a,o){function n(t){return function(e){return e.category&&t&&e.category.toString()===t.toString()}}var i,r;return e.conditional_colors_type===I.CONDITIONAL_TYPES.Values?i=Utils.arrayFirst(e.values_custom_properties,(r=o,function(e){switch(e.operator){case DashboardUtils.WidgetOperator.Equals:return r===e.value1_result;case DashboardUtils.WidgetOperator.Between:return e.value1_result<=r&&r<=e.value2_result;case DashboardUtils.WidgetOperator.GreaterOrEqualThan:return r>=e.value1_result;case DashboardUtils.WidgetOperator.GreaterThan:return r>e.value1_result;case DashboardUtils.WidgetOperator.LessOrEqualThan:return r<=e.value1_result;case DashboardUtils.WidgetOperator.LessThan:return r<e.value1_result;case DashboardUtils.WidgetOperator.NotEqualTo:return r!==e.value1_result}})):e.conditional_colors_type===I.CONDITIONAL_TYPES.None&&!e.values_custom_properties.length||(i=Utils.arrayFirst(e.values_custom_properties,n(a))),i?i.color:(o=Utils.arrayFirst(e.values_custom_properties,n("addAllOtherCategories")))&&o.color?o.color:this.getColorsFromPalette()[0]},getHighchartsDataFromWSData:function(e,O,t,n,U,a,o){function i(x,k){var S=x.length,w=0,D=0,e=B.p.x_axis,T=e.scaling_type||"category",F=B._Data.rows,A=1===F.length?F[0].type:null,j=F&&F.length&&F[0].groupings&&0<F[0].groupings.length;return e.scaling_type||(e.scaling_type=k?"datetime":"category",T=e.scaling_type),k||"datetime"!==T||j||(T="category"),function(t){var o,a,p=x[w][D],g=(p=p||[],I.canUseDisplayZeroAs(B,t.configuration.config.type)&&t.configuration.config.display_null_as&&t.configuration.config.display_null_as==I.SeriesDisplayNullsAs.Zero&&(p=p.map(function(e){return null===e?0:e})),"category"!==T?(o=L.map(function(e){return e.names[0]}),p="datetime"===T?p.map(function(e,t){var a="",a=j?"".concat(o[t]," 00:00:00.0000000"):k[t];return a="System.DateTimeOffset"===A?[a?moment(a).valueOf():null,e]:[a?moment.parseZone(a).valueOf():null,e],isNaN(a)&&null!==(t=o[t])&&(t="".concat(t),a="System.DateTimeOffset"===A?[t?moment(t).valueOf():null,e]:[t?moment.parseZone(t).valueOf():null,e]),a}):p.map(function(e,t){t=o[t];return[(t=j?parseInt(t):t)||null,e]})):!I.canUseDisplayZeroAs(B,t.configuration.config.type)||B.p.drilldown_categories&&1<F.length||j||(a=L.map(function(e){return e.name}),p=p.map(function(e,t){t=a[t];return[(t=j?parseInt(t):t)||null,e]})),0<U.length||"CH2"===B.type);if(B.p.drilldown_categories&&1<F.length){function h(r,l,s,c){if(l&&l.values){var d,u=null,t=_createForOfIteratorHelper(l.values.entries());try{for(t.s();!(d=t.n()).done;)(function(){var e=_slicedToArray(d.value,2),t=e[0],e=e[1];if(0===t&&!g)return t=p.slice(e.index+1,e.index+1+e.count).flat(),u=t[t.length-1];var a,o,n,i=b(r,s),t=_toConsumableArray(r);null!==e.values?(r.push(e.name),a=b(r,s),n=P.find(function(e){return e.id===i}),o=p.slice(e.index,e.index+e.count),g?u=o.reduce(function(e,t){return e+t},0):0<o.length&&(u=Array.isArray(o[0])?o[0][o[0].length-1]:o[0]),n?n.data.push({name:"".concat(e.name),catName:e.name,y:u,drilldown:a}):P.push({cid:s,path:t,id:i,name:"".concat(s),catName:l.name,data:[{name:"".concat(e.name),catName:e.name,y:u,drilldown:a}]})):(o=P.find(function(e){return e.id===i}),n=Array.isArray(p[e.index])?p[e.index][1]:p[e.index],o?o.data.push([e.name,n]):P.push({id:i,path:t,cid:s,name:"".concat(s),catName:l.name,data:[[e.name,n]]})),h(r,e,s,c)})()}catch(e){t.e(e)}finally{t.f()}r.pop()}}var e,n=[],b=function(e,t){return"".concat(e.join("-").replace(/\s+/g,"-").toLowerCase(),"-").concat(t.replace(/\s+/g,"-").toLowerCase())},i=_createForOfIteratorHelper(O);try{for(i.s();!(e=i.n()).done;){var r=e.value,l=p,s=("category"!==T&&(l=p.map(function(e){return e[1]})),0),c=l.slice(r.index,r.index+r.count),s=g?c.reduce(function(e,t){return e+t},0):c[0];n.push({name:r.name,catName:r.name,drilldown:b([r.name],t.name),y:s}),h([r.name],r,t.name,t.value.aggregation)}}catch(e){i.e(e)}finally{i.f()}var d=B.p.sort_filter.sorts.find(function(e){return e.column===t.value.binding.guid});if(d)if("desc"===d.direction){var u,m=_createForOfIteratorHelper(P);try{for(m.s();!(u=m.n()).done;)u.value.data.sort(function(e,t){return void 0!==e.y?t.y-e.y:t[1]-e[1]})}catch(e){m.e(e)}finally{m.f()}}else{var _,f=_createForOfIteratorHelper(P);try{for(f.s();!(_=f.n()).done;)_.value.data.sort(function(e,t){return void 0!==e.y?e.y-t.y:e[1]-t[1]})}catch(e){f.e(e)}finally{f.f()}}if(j){var y,v=_createForOfIteratorHelper(P);try{for(v.s();!(y=v.n()).done;){var C=y.value;C.data&&C.data.sort(function(e,t){var a;return void 0!==e.catName?(null==(a=e.catName)?void 0:a.replace("-",""))-(null==(a=t.catName)?void 0:a.replace("-","")):e[0]-t[0]})}}catch(e){v.e(e)}finally{v.f()}}t=$.extend({},t,{data:n})}else t=$.extend({},t,{data:p});return 0===(w=(w+1)%S)&&D++,t}}function r(e,t){var o,t=t.reduce(function(e,t,a){return null===t.names[0]?e.removedIndexes.push(a):e.categories.push(t),e},{categories:[],removedIndexes:[]}),e=e.map((o=t.removedIndexes,function(e){var a;return e.data=e.data.map((a=o,function(e,t){return 0<=a.indexOf(t)?null:e})).filter(n),e}));function n(e){return null!==e}return{categories:t.categories,series:e}}var l,s,c,d,u,p,g,h,b,m,f,P=[],B=this,y=function(t){return function(e){return e[t]}},v=function o(n,i,r){return function(e,t){var a=n(t);return a?(a=a.reduce(o(n,i,r),[]),a=r(t,a),e.concat(a)):(a={names:[i(t)]},e.concat([a]))}},C=function(t,e){return e.map(function(e){return{names:[t.name].concat(e.names)}})},L=function(e){var t,a;if(a=0<e.length?(t=v(y("values"),y("name"),C),e.reduce(t,[])):[{names:[_("Total")]}],1<n.length)for(var o=0;o<n.length;o++)Utils.isDateType(n[o].type)&&a.forEach(function(e){e.names[o]=Utils.formatValue(e.names[o],DashboardUtils.applyFormat(null,n[o].type,n[o].original_type))});return a=a.map(function(e){return $.extend(e,{name:e.names.join(ChartUtils.CATEGORY_NAME_SEPARATOR)})})}(O),x=function(e){var t;return 0<e.length?(t=v(y("values"),y("name"),C),e.reduce(t,[])):[{names:[]}]},k=function(t){return function(e){return $.extend({},e,{columns:(a=e,t.map(function(e,t){return{column_id:e.id,value:a.names[t]}}))});var a}},S=function(o,n){return function(e,t){var a,t=o.map((a=t,function(e,t){return $.extend(!0,{},a,{value:{index:t,name:e.name,column_id:e.id,aggregation:e.aggregation,is_unique_per_category:e.is_unique_per_category,binding:n[t]}})}));return e.concat(t)}},w=function(o,n,i,r,l,s){return function(e){var t=(t=o(e))||{config:n(),value:{column_id:e.value?e.value.column_id:null,aggregation:e.value?e.value.aggregation:""},columns:e.columns},a=(a=l(e))||{config:s(),value:{column_id:e.value?e.value.column_id:null,aggregation:e.value?e.value.aggregation:""},columns:e.columns};return $.extend({},e,{configuration:t,trendConfiguration:a,yAxis:e.value?i(e.value.binding):r()})}},D=function(o,n){return function(e){for(var t,a=0;a<U.length;a++)Utils.isDateType(U[a].type)&&(e.names[a]=Utils.formatValue(e.names[a],DashboardUtils.applyFormat(null,U[a].type,U[a].original_type)));return e.configuration.config.name?t=e.configuration.config.name:(t=e.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===n&&e.value?t=e.value.name:1<o&&(t+=ChartUtils.SERIES_NAME_VALUE_SEPARATOR+e.value.name)),$.extend(e,{name:t})}},x=(e=e,l=t,a=a,T=U,s=this.getSeriesConfiguration.bind(this),c=this.getDefaultSeriesConfiguration.bind(this),d=this.getYAxisFromBinding.bind(this),u=this.getDefaultYAxisConfiguration.bind(this),p=this.getTrendsConfiguration.bind(this),g=this.getDefaultTrendConfiguration.bind(this),h=(h=x(e)).map(k(T)),h=(h=0<l.length?h.reduce(S(l,a),[]):h).map(w(s,c,d,u,p,g)).map(D(l.length,e.length)),l.filter(function(e){return 1==e.is_unique_per_category}).forEach(function(t){for(var e=h.filter(function(e){return e.value.column_id==t.id}),a=0;a<e.length;a++){var o=e[a];o.names=[],o.name=o.value.name,o.columns=[],o.column=[],o.is_system=!0,a+1<e.length&&(o.value.binding.hidden=!0)}}),h),T=(1===n.length&&(Utils.isDateType(n[0].type)||n[0].groupings&&0<n[0].groupings.length&&0===O.length)&&(b=L.map(function(e){return e.name})),0<t.length?(k=o.map(Utils.transpose),i(k,b)):(m=L.length,f=b,function(e){var t=Utils.createArray(m,null);return f&&(t=t.map(function(e,t){t=f[t];return[t?moment(t).valueOf():null,e]})),$.extend({},e,{data:t})})),S={series:x=x.map(T),categories:L,drilldown:{series:P}};return S=1===n.length&&Utils.isDateType(n[0].type)?r(S.series,S.categories):S},getYAxisFromBinding:function(e){var t,a;return this.isCustomDataMode()||0===this.p.data_bindings.length?this.p.y_axis_custom:(t=this.p.y_axis,Utils.arrayFirst(t,(a=e.guid,function(e){return e&&0<=e.bindings.indexOf(a)})))},getYAxisLabelFromIndex:function(e){return e<0&&(e=0),[_("AxisLeft").format("1"),_("AxisLeft").format("2"),_("AxisLeft").format("3"),_("AxisRight").format("1"),_("AxisRight").format("2"),_("AxisRight").format("3")][e]},getXAxisDefaultTitle:function(){return this._Data?0<this._Data.rows.length?this._Data.rows[0].name:_("Total"):""},getYAxisDefaultTitle:function(e){if(!this._Data)return"";var t={labels:[]},a=this.p.y_axis[e];if(!a)return"";for(var o=0;o<a.bindings.length;o++){var n,i=Utils.arrayFirst(this.p.data_bindings,function(e){return e.guid===a.bindings[o]});n=i.__type.startsWith("CountDataBindingProperties")?_("Count"):(n=(n=Utils.arrayFirst(this._Data.values,function(e){return e.id===i.column_id}))?n.name:i.column_id,"".concat(n," (").concat(_("Aggregation_".concat(i.aggregation)),")")),t.labels.push(n)}return t.labels.join(ChartUtils.YAXIS_NAMES_SEPARATOR)},getSeriesTypeOptions:function(e,t,a,o){switch(t=t||"straight",a=a||"left",e){case"line":case"area":var n;switch(t){case"straight":return{type:e,zIndex:o?10*o+o:null};case"smooth":return"line"==e?n="spline":"area"==e&&(n="areaspline"),{type:n};case"stepped":return{type:e,step:a}}break;default:return{type:e}}},getSeriesAlignmentOptions:function(e){return e.type,{inside:"inside"==e.labels.position,align:"left",verticalAlign:"middle"}},_getHighchartsTooltip:function(o){var e,a,n,i,r=this,l=1===o.length&&Utils.isDateType(o[0].type),s=1===o.length?o[0].type:null,c=1===o.length?o[0].original_type:null;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(e={enabled:!0,shared:this.p.tooltip.display_shared,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},a=function(){var e=this.series.userOptions.userData.seriesConfig,t=this.series.userOptions.userData.yAxisConfig;return(e&&e.labels.format?e:t).labels.format},n=r._Data.data[0].map(function(e,t){return r._Data.data.map(function(e){return e[t]})}),i=r._Data.values.map(function(e){return e.name}),e.pointFormatter=function(){var t=this;return DashboardUtils.formatWidgetTooltip([{defaultFormatting:a.call(this),format:!0,regex:"this.point.y",value:this.y},{defaultFormatting:a.call(this),format:!1,regex:"this.point.percentage",value:ChartUtils.getPercentage(this.percentage,this.series.points,this.y).toFixed(1)},{regex:"this.series.name",value:this.series.name},{fn:function(e){return function(e){var t=r.p.drilldown_categories&&1<o.length?this.name:this.category,a=(this.series.userOptions&&this.series.userOptions.userData&&this.series.userOptions.userData.defaultCategories&&this.series.userOptions.userData.defaultCategories.length>=this.index&&((a=this.series.userOptions.userData.defaultCategories[this.index])&&(t=a.name)),r.p.x_axis);return t=e?WidgetsCommon.getFormattedAxisLabel(t,e,o&&0<o.length?o[0].groupings:[],l,s,c):a&&a.labels.format?(o&&o[0].groupings&&o[0].groupings.length&&"linear"===a.scaling_type&&(t="".concat(t)),WidgetsCommon.getFormattedAxisLabel(t,a.labels.format,o&&0<o.length?o[0].groupings:[],l,s,c)):WidgetsCommon.getFormattedAxisLabel(t,r.p.x_axis.labels.format,o&&0<o.length?o[0].groupings:[],l,s,c)}.call(t,e)},regex:"this.point.category"},{regex:"this\\.values\\[(\\d+)\\]\\.value",array:n[this.index]},{regex:"this\\.values\\[(\\d+)\\]\\.name",array:i}],r.p.tooltip.content,r)},e):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")],["{{this.values[index].value}}",_("ValueByIndex"),"this\\.values\\[(\\d+)\\]\\.value"],["{{this.values[index].name}}",_("ValueNameByIndex"),"this\\.values\\[(\\d+)\\]\\.name"]]},_getHighchartsChart:function(e,t,a){var o=this;return{zoomType:!Utils.isMobileDevice()&&this.p.interactions.allow_zoom?"x":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:!this.p.background.plot_background.enabled||this.p.other.threeD.enabled?"transparent":this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color,plotBorderWidth:!this.p.background.plot_background.enabled||this.p.other.threeD.enabled?0:this.p.background.plot_background.border.width,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{redraw:function(){o._postSorting(this.series)},load:function(){o._postSorting(this.series),o.onloadedCallback?o.onloadedCallback():o._loaded=!0},drilldown:function(e){var t=e.point;o.updateOutputFromPoint(t,a),o.updateDrillUpButton(e.seriesOptions,!0)},drillup:function(e){o.updateDrillUpButton(e.seriesOptions)},render:function(){ChartUtils.adjustLegendHeight(o,this)}},width:this.width,spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right,options3d:{enabled:!!ChartUtils.support3D(this.p.type)&&this.p.other.threeD.enabled,alpha:90*this.p.other.threeD.x,beta:90*this.p.other.threeD.y,depth:100,viewDistance:20*this.p.other.threeD.z+1}}},updateDrillUpButton:function(e,t){this._drilldownPaths&&this._drilldownPaths.length||(this._drilldownPaths=[e.cid]),t?this._drilldownPaths.push(e.name):this._drilldownPaths.pop(),ChartUtils.updateDrillUpButton(this)},_postSorting:function(t){var o,e=this._Data;1<=e.rows.length&&1<=e.columns.length&&1===e.values.length&&(o=this.p.data_bindings.filter(function(e){return"Values"===e.area}).map(function(e){return e.guid}),this.p.sort_filter.sorts.forEach(function(a){if(-1<o.indexOf(a.column)&&0<t.length)for(var e=0;e<t[0].points.length;e++)!function(o){var n=[],i=[];t.forEach(function(e,t){var a=e.points[o];e.visible&&(a=a.shapeArgs)&&(i.push(e.points[o]),n.push({transX:a.x,width:a.width}))}),i.sort(function(e,t){return"asc"===a.direction?e.y-t.y:t.y-e.y}).forEach(function(e,t){var a,o;e.graphic&&(a=e.series.chart.plotSizeX-20,o=null,o="column"===e.series.type&&e.dataLabel?{x:0===e.dataLabel.rotation?n[t].transX+n[t].width/2-e.dataLabel.width/2:n[t].transX+n[t].width/2}:{y:a-n[t].transX},e.dataLabel&&e.dataLabel.attr(o),e.graphic.attr({width:n[t].width,x:n[t].transX}))})}(e)}))},_getHighchartsTitle:function(e){return e.font.halign||(e.font.halign="center"),Utils.FontUtils.loadFont(e.font.family),{text:Utils.disableHTML(e.text),align:e.font.halign||"center",style:{fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color}}},_getHighchartsLegend:function(e,t,a){Utils.FontUtils.loadFont(t.font.family);var o,n,i=0;return!t.enabled||!t.fixed_width||this.p.drilldown_categories&&1<a.length||(o="",n=t.font,e.forEach(function(e){e.name.length>i&&(i=e.name.length,o=e.name),e.trendConfiguration&&e.trendConfiguration.config.enabled&&(e=e.trendConfiguration.config.name||"".concat(e.name," (").concat(_("Trend"),")"),i<e.length&&(i=e.length,o=e))}),i=DashboardUtils.measureText(o,n.family,n.size,n.font_weight==Enums.FontWeights.Bold,n.italic)),{enabled:t.enabled,itemStyle:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color,opacity:1},itemMarginBottom:2,layout:t.layout,y:"top"===this.p.legend.position?this._getLegendYPosition():0,align:"left"===t.position?"left":"right"===t.position?"right":"center",verticalAlign:"top"===t.position?"top":"bottom"===t.position?"bottom":"middle",itemWidth:!t.fixed_width||this.p.drilldown_categories&&1<a.length?null:i+30,itemDistance:!t.fixed_width||this.p.drilldown_categories&&1<a.length?20:0,backgroundColor:t.background_color,borderColor:t.border.color,borderWidth:t.border.width,borderRadius:"".concat(t.roundness,"px"),reversed:t.reversed||!1,margin:6,itemHoverStyle:{color:t.font.color,opacity:.8}}},_getHighchartsXAxis:function(a,e,o){var t=this,n=(Utils.FontUtils.loadFont(o.title.font.family),Utils.FontUtils.loadFont(o.labels.font.family),1===a.length&&Utils.isDateType(a[0].type)),i=1===a.length?a[0].type:null,r=1===a.length?a[0].original_type:null,e=e.map(function(e){return e.name.replace(/\s+/g," ")}),l=o.scaling_type||"category",l={type:l=this.p.drilldown_categories&&1<a.length?"category":l,events:{afterSetExtremes:function(){ChartUtils.handleToolbarZoom(this.eventArgs,t.container)}},title:{text:o.title.enabled?Utils.pickNonEmptyString(o.title.text,this.getXAxisDefaultTitle()):"",align:o.title.align,style:{fontFamily:o.title.font.family,fontSize:"".concat(o.title.font.size,"px"),textShadow:o.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(o.title.font.family,o.title.font.font_weight),fontStyle:o.title.font.italic?"italic":"",textDecoration:o.title.font.underline?"underline":"",color:o.title.font.color}},categories:"category"!==l||this.p.drilldown_categories&&1<a.length&&!(this.p.drilldown_categories&&1<a.length&&0===t.getBindings(Enums.WidgetAreas.Values).length)?null:e,lineColor:o.axis_line.color,lineWidth:o.axis_line.width,gridLineWidth:o.major_grid_lines.width,gridLineColor:o.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:o.minor_grid_lines.width,minorGridLineColor:o.minor_grid_lines.color,tickColor:o.ticks,tickLength:5,opposite:o.opposite,crosshair:t.p.tooltip&&t.p.tooltip.display&&t.p.tooltip.display_crosshair||!1,tickWidth:"transparent"!==o.ticks?1:0,labels:{enabled:o.labels.enabled,rotation:o.labels.rotation,step:o.labels.step,style:{fontFamily:o.labels.font.family,fontSize:"".concat(o.labels.font.size,"px"),textShadow:o.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(o.labels.font.family,o.labels.font.font_weight),fontStyle:o.labels.font.italic?"italic":"",textDecoration:o.labels.font.underline?"underline":"",color:o.labels.font.color}}},e=((o.labels.format||n)&&(l.labels.formatter=function(){var e=this.value,t=a[0];if(t)return t.groupings&&t.groupings.length&&"linear"===o.scaling_type&&(e="".concat(e)),WidgetsCommon.getFormattedAxisLabel(e,DashboardUtils.applyFormat(o.labels.format,i,r),t.groupings,n,i,r)}),0<o.labels.interval&&(l.tickInterval=n?24*o.labels.interval*3600*1e3:o.labels.interval),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&e){for(var s=this.p.plot_options.filter(function(e){return"horizontal"===e.axis_type}),c=[],d=[],u=0;u<s.length;u++){var p=s[u];"band"===p.type?c.push(ChartUtils.getHighChartsObject(p)):"line"===p.type&&d.push(ChartUtils.getHighChartsObject(p))}c.length&&(l.plotBands=c),d.length&&(l.plotLines=d)}return l},_getLegendYPosition:function(){var e=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.title.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.title.text)).css({"font-family":this.p.titles.title.font.family,"font-size":"".concat(this.p.titles.title.font.size,"px"),"text-shadow":this.p.titles.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.title.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.title.font.family,this.p.titles.title.font.font_weight),"font-style":this.p.titles.title.font.italic?"italic":"normal","text-decoration":this.p.titles.title.font.underline?"underline":"none"}),t=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.subtitle.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.subtitle.text)).css({"font-family":this.p.titles.subtitle.font.family,"font-size":"".concat(this.p.titles.subtitle.font.size,"px"),"text-shadow":this.p.titles.subtitle.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.subtitle.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.subtitle.font.family,this.p.titles.subtitle.font.font_weight),"font-style":this.p.titles.subtitle.font.italic?"italic":"normal","text-decoration":this.p.titles.subtitle.font.underline?"underline":"none"}),a=(e.appendTo("body"),t.appendTo("body"),e.outerHeight()+t.outerHeight()+5);return e.remove(),t.remove(),a},getDefaultYAxisConfiguration:function(){var e=this.dashboard||this._from.dashboard;return this.updatePropertiesWithDashboardDefault(I.DefaultYAxisProperties,e),$.extend(!0,{},I.DefaultYAxisProperties,this.getWidgetStyleConfig().default_y_axis_style)},getDefaultSeriesConfiguration:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=this.getSeriesCombinaisons().filter(function(e){return"all"==e.value.aggregation})[0],t=this.getSeriesConfiguration(t),t=t?t.config:{};return e?$.extend(!0,{},I.DefaultSeriesProperties,this.getSeriesTypeOptions(this.p.type),t,this.getWidgetStyleConfig().default_series_style):$.extend(!0,{},I.DefaultSeriesProperties,this.getWidgetStyleConfig().default_series_style,this.getSeriesTypeOptions(this.p.type),t)},_getHighchartsYAxis:function(e){var d=this,u=(e.every(Utils.isEmpty)&&(e=[this.getDefaultYAxisConfiguration()]),this.getYAxisDefaultTitle.bind(this)),p=this.getDefaultSeriesConfiguration();return e.reduce(function(e,t,a){if(!t)return e;Utils.FontUtils.loadFont(t.title.font.family),Utils.FontUtils.loadFont(t.labels.font.family);o=p.total_labels,n={x:0,y:0},"bar"===d.p.type?(n.x=270===o.rotation?15:void 0,n.y=270===o.rotation||90===o.rotation?270===o.rotation?30:-30:void 0):"column"===d.p.type&&(n.x=270===o.rotation||90===o.rotation?270===o.rotation?3:-6:void 0,n.y=270===o.rotation||90===o.rotation?(o.rotation,-25):void 0);var o=n,n=t.stacked&&p.total_labels.enabled&&d._lastvisibilityValue,n=(d.dashboard&&d.dashboard.in_editor&&"visible"!==d.dashboard.model.view_hidden&&(n=t.stacked&&p.total_labels.enabled),{opposite:t.opposite||2<a,stacking:t.stacked?"normal":null,title:{text:t.title.enabled?Utils.pickNonEmptyString(t.title.text,u(a)):"",rotation:t.title.rotation,margin:(270===t.title.rotation&&2<a||90===t.title.rotation&&a<=2)&&t.title.enabled?t.title.font.size:20,style:{fontFamily:t.title.font.family,fontSize:"".concat(t.title.font.size,"px"),textShadow:t.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.title.font.family,t.title.font.font_weight),fontStyle:t.title.font.italic?"italic":"",textDecoration:t.title.font.underline?"underline":"",color:t.title.font.color}},labels:{enabled:t.labels.enabled,step:t.labels.step,rotation:t.labels.rotation,style:{fontFamily:t.labels.font.family,fontSize:"".concat(t.labels.font.size,"px"),textShadow:t.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.labels.font.family,t.labels.font.font_weight),fontStyle:t.labels.font.italic?"italic":"",textDecoration:t.labels.font.underline?"underline":"",color:t.labels.font.color}},stackLabels:{enabled:n,rotation:p.total_labels.rotation,crop:!1,allowOverlap:!0,y:o.y,x:o.x,style:{fontFamily:p.total_labels.font.family,fontSize:"".concat(p.total_labels.font.size,"px"),textShadow:p.total_labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(p.total_labels.font.family,p.total_labels.font.font_weight),fontStyle:p.total_labels.font.italic?"italic":"",textDecoration:p.total_labels.font.underline?"underline":"",textOutline:"none",color:p.total_labels.font.color},formatter:function(){return d._getTotalSeriesFormattedLabel(this,p.total_labels)}},lineColor:t.axis_line.color,lineWidth:t.axis_line.width,gridLineWidth:t.major_grid_lines.width,gridLineColor:t.major_grid_lines.color,minorGridLineWidth:t.minor_grid_lines.width,minorGridLineColor:t.minor_grid_lines.color,minorTickInterval:"auto",crosshair:d.p.tooltip&&d.p.tooltip.display&&d.p.tooltip.display_crosshair||!1,tickColor:t.ticks,tickWidth:"transparent"!==t.ticks?1:0,tickLength:5,alternateGridColor:t.bands,type:t.scale.type,reversed:t.scale.reverse}),o=(t.stacked&&(n.reversedStacks=!1),t.labels.format&&(n.labels.formatter=function(){return Utils.formatValue(this.value,t.labels.format)}),d._Data.scaleFormulaResults&&((o=d._Data.scaleFormulaResults[a])&&null!==o.max_result&&$.isNumeric(o.max_result.value)&&(n.max=o.max_result.value),o&&null!==o.min_result&&$.isNumeric(o.min_result.value)&&("logarithmic"===t.scale.type?n.min=Math.max(o.min_result.value,1):n.min=o.min_result.value)),!d._Data.intervalFormulaResult||(o=d._Data.intervalFormulaResult[a])&&$.isNumeric(o.value)&&0<o.value&&(n.tickInterval=o.value),ChartUtils.widgetVisibilityOnEditor(d));if(d.p.plot_options&&d.p.plot_options.length&&o){for(var i=d.p.plot_options.filter(function(e){return"vertical"===e.axis_type&&e.axis_index===a}),r=[],l=[],s=0;s<i.length;s++){var c=i[s];Utils.FontUtils.loadFont(c.font.family),"band"===c.type?r.push(ChartUtils.getHighChartsObject(c)):"line"===c.type&&l.push(ChartUtils.getHighChartsObject(c))}r.length&&(n.plotBands=r),l.length&&(n.plotLines=l)}return e.concat(n)},[])},containsAtLeastOneBarSeries:function(){var e=this.getSeriesCombinaisons(),t=!1;return e.forEach(function(e){e=this.getSeriesConfiguration(e);if(e){if("bar"===e.config.type)return!(t=!0)}else if("bar"===this.p.type)return!(t=!0)}.bind(this)),t},_getHighchartDrilldown:function(e,a){if(e){var o,t=_createForOfIteratorHelper(e.series);try{for(t.s();!(o=t.n()).done;)!function(){var t=o.value,e=a.find(function(e){return e.name===t.cid});e&&(t.type=e.type,t.dataLabels=e.dataLabels,t.borderColor=e.borderColor,t.borderRadius=e.borderRadius,t.borderWidth=e.borderWidth,t.point=e.point,t.userData=e.userData,t.pointWidth=e.pointWidth)}()}catch(e){t.e(e)}finally{t.f()}e.activeAxisLabelStyle="",e.activeDataLabelStyle=""}return e},_getHighchartsSeries:function(u,p,g,r){function l(e){function t(e){var t={color:null,negativeColor:null};switch(e.fill_type){case Enums.ChartSeriesFillType.SingleColor:t.color=e.gradient&&e.color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.color],[1,DashboardUtils.shadeBlend(null,e.color)]]}:e.color;break;case Enums.ChartSeriesFillType.PositiveAndNegative:t.color=e.gradient&&e.color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.color],[1,DashboardUtils.shadeBlend(null,e.color)]]}:e.color,t.negativeColor=e.negative_values.gradient&&e.negative_values.fill_color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.negative_values.fill_color],[1,DashboardUtils.shadeBlend(null,e.negative_values.fill_color)]]}:e.negative_values.fill_color;break;case Enums.ChartSeriesFillType.Conditional:}return t}var a;switch(e.type){case"bar":var o=t(e=e.bar),o={borderWidth:e.border.width,borderColor:e.border.color,borderRadius:e.roundness,color:o.color,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:o.negativeColor};return e.bar_width&&(o.pointWidth=e.bar_width),o;case"column":o=t(e=e.column),o={borderWidth:e.border.width,borderColor:e.border.color,borderRadius:e.roundness,color:o.color,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:o.negativeColor};return e.bar_width&&(o.pointWidth=e.bar_width),o;case"area":return a=(a=(e=e.area).line)||{width:1,color:null,type:"Solid",shadow:{code:"none"}},{fillColor:e.gradient&&e.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.background_color],[1,DashboardUtils.shadeBlend(null,e.background_color)]]}:e.background_color,lineWidth:a.width,lineColor:a.color,color:e.gradient&&e.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.background_color],[1,DashboardUtils.shadeBlend(null,e.background_color)]]}:e.background_color,dashStyle:"Solid"===a.type?"":a.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:a.shadow.opacity,width:a.shadow.radius},marker:{enabled:!!e.marker.shape,symbol:e.marker.shape,radius:e.marker.width,fillColor:e.marker.color,lineWidth:e.marker.border.width,lineColor:e.marker.border.color},negativeColor:e.negative_values.enabled?e.negative_values.line_color:null,negativeFillColor:e.negative_values.enabled?e.negative_values.fill_color:null};case"line":return{lineWidth:(a=(a=(e=e.line).line)||{width:1,color:null,type:"Solid",shadow:{code:"none"}}).width,color:a.color,dashStyle:"Solid"===a.type?"":a.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:a.shadow.opacity,width:a.shadow.radius},marker:{enabled:!!e.marker.shape,symbol:e.marker.shape,radius:e.marker.width,fillColor:e.marker.color,lineWidth:e.marker.border.width,lineColor:e.marker.border.color},negativeColor:e.negative_values.enabled?e.negative_values.line_color:null};case"polar":return{type:"area"}}}var h=this,b=function(){var o=this.p.y_axis,n=this.isCustomDataMode();return function(e){if(n||1==o.length)return 0;for(var t=0,a=0;a<o.length;a++){if(o[a]===e)return t;o[a]&&t++}return t}}.bind(this)(),m=1===g.length&&Utils.isDateType(g[0].type),f=1===g.length?g[0].type:null,y=1===g.length?g[0].original_type:null,v=1===g.length?g[0].groupings:null;r.scaling_type;if(h.p.drilldown_categories&&1<g.length){var i,t=_createForOfIteratorHelper(p);try{function e(){var a=i.value,e=h.p.sort_filter.sorts.find(function(e){return e.column===a.value.binding.guid});if(e){var o,n=Array.from(a.data.keys()),t=("desc"===e.direction?n.sort(function(e,t){return a.data[t].y-a.data[e].y}):n.sort(function(e,t){return a.data[e].y-a.data[t].y}),_createForOfIteratorHelper(p));try{for(t.s();!(o=t.n()).done;)!function(){var t=o.value;t.data=n.map(function(e){return t.data[e]})}()}catch(e){t.e(e)}finally{t.f()}}}for(t.s();!(i=t.n()).done;)e()}catch(e){t.e(e)}finally{t.f()}}var a=p.filter(function(e){return!e.value||!e.value.binding||!e.value.binding.hidden}).map(function(s,e){var c=p,d=s.configuration.config,t=s.trendConfiguration.config,a=s.yAxis,o=$.extend(!0,{},C(d.type,d.labels.rotation),function(e,t,a,o){var n=o&&o.stacked||!1,i={start:"bottom",middle:"middle",end:"top"};switch(e){case"column":var r={inside:!0,verticalAlign:i[t]};switch(t){case"end":"30"==a?r={inside:!0,verticalAlign:"top",y:15}:"90"==a?r={inside:!0,verticalAlign:i[t],align:"left",y:6}:"270"==a&&(r={inside:!0,verticalAlign:i[t],align:"right",y:6});break;case"start":"30"==a?r={inside:!0,verticalAlign:i[t],y:-8}:"90"==a?r={inside:!0,verticalAlign:i[t],y:-8,align:"right"}:"270"==a&&(r={inside:!0,verticalAlign:i[t],y:-8,align:"left"});break;case"middle":"90"!=a&&"270"!=a||(r={inside:!0,verticalAlign:i[t],align:"center"});break;case"outside":r="30"==a?{verticalAlign:"bottom"}:"90"==a?{verticalAlign:"bottom",align:"right"}:"270"==a?{verticalAlign:"bottom",align:"left"}:{verticalAlign:"bottom"},n&&(r.inside=!1)}return r;case"bar":return"outside"==t?{align:"left",inside:!1}:{inside:!0,align:{start:"left",middle:"center",end:"right"}[t]};default:return{verticalAlign:"bottom"}}}(d.type,d.labels.position,d.labels.rotation,a)),n=function(e,t){var n=null;switch(e.type){case"bar":n=e.bar;break;case"column":n=e.column}return n&&n.fill_type===Enums.ChartSeriesFillType.Conditional?t.map(function(e,t){var a,o;return h.p.drilldown_categories&&1<g.length?(a=h._getValueColor(n,t,e.catName,e.y),e.color=a,e):(a=h.__categories[t],o={color:h._getValueColor(n,t,a,e)||null,y:e},r&&"category"!==r.scaling_type&&(o.x=e[0],e.shift(),o.y=e[0],o.color=h._getValueColor(n,t,a,e)),o)}):null}(d,s.data),i=(s.value&&s.value.column_id<0&&((i=h.getSeriesConfiguration(s))&&i.config&&(d=i.config)),l(d)),n=(s.hasBeenClicked=!1,{connectNulls:!!d.display_null_as&&d.display_null_as==I.SeriesDisplayNullsAs.Connect||!1,regression:t.enabled,regressionSettings:{type:t.type,originalColumnType:f,isDateTimeMode:m,categories:u,groupings:1===g.length?g[0].groupings:null,color:t.line.color,periods:t.periods,shortPeriod:t.short_period,longPeriod:t.long_period,dashStyle:t.line_type,order:t.polynomial_order,extrapolate:t.polynomial_extrapolation,loessSmooth:t.loess_smooth,width:t.line.width,shadow:t.shadow,name:t.name||"".concat(d.name||s.name," (").concat(_("Trend"),")"),zIndex:h.p.other.threeD.enabled?e+100:null},visible:!0,showInLegend:!0,name:d.name||s.name,data:n&&n.length?n:s.data,type:d.type,zIndex:h.p.other.threeD.enabled?e+3:null,yAxis:b(s.yAxis),stacking:a.stacked?a.stacked_100?"percent":"normal":null,stack:a.stacked?b(s.yAxis):e,point:{events:{click:function(e){null!==e.point.series&&h.updateOutputFromPoint(e.point,g);var t=this.index,a=d,o=s,n=c,i=null===e.point.series?0:e.point.series.options._levelNumber,r=e.point.catName,l=h.p.interactions.onseriesdblclick;if(!p.hasBeenClicked||!l||h.p.drilldown_categories&&1<g.length)p.hasBeenClicked=!0,setTimeout(function(){p.hasBeenClicked=!1},200);else{switch(l.type){case"url":DashboardUtils.handleUrlInteraction(h.dashboard,h,l);break;case"dashboard":h.handleDashboardInteraction(l);break;case"data":("bar"==a.type||"column"==a.type||"line"==a.type||"area"==a.type)&&Array.isArray(h.p.data_bindings)&&h.p.data_bindings.length&&h.dashboard&&h._displayRowData(t,u,g,o,n,i,r)}p.hasBeenClicked=!1}}}},userData:{seriesConfig:d,yAxisConfig:a,defaultCategories:t.enabled?u:null},dataLabels:{enabled:d.labels.enabled,rotation:d.labels.rotation,align:o.align,verticalAlign:o.verticalAlign,inside:o.inside,y:o.y||0,x:o.x||0,style:{fontFamily:d.labels.font.family,fontSize:"".concat(d.labels.font.size,"px"),textShadow:d.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(d.labels.font.family,d.labels.font.font_weight),fontStyle:d.labels.font.italic?"italic":"",textDecoration:d.labels.font.underline?"underline":"",color:d.labels.font.color,textOutline:null},formatter:function(){return h._getSeriesFormattedLabel(this,d.labels,a.stacked,r,v,m,f,y)}}});return 0!==a.scale.threshold&&null!==a.scale.threshold&&(n.threshold=a.scale.threshold),$.extend(n,i,h.getSeriesTypeOptions(d.type,d.subtype,d.step,h.p.other.threeD.enabled?e:null))});return a.sort(function(e,t){return e.stack-t.stack}),a},_getSeriesFormattedLabel:function(e,t,a,o,n,i,r,l){var s="";return null===e.y||0===e.y&&a?"":(t.show_dimension&&(a=e.key,n&&n.length&&"linear"===o.scaling_type&&(a="".concat(a)),s+=WidgetsCommon.getFormattedAxisLabel(a,o.labels.format,n,i,r,l)),t.show_measure&&(s&&(s+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),s+=Utils.formatValue(e.y,t.format)),t.show_series&&(s&&(s+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),s+=e.series.name),t.show_percentage&&(a=Math.round(10*ChartUtils.getPercentage(e.percentage,e.series.points,e.y))/10,I.canFormatPercentage(this)?a=Utils.formatValue(a,t.percentage_labels_format):a+="%",s+=s?" (".concat(a,")"):a),s)},_getTotalSeriesFormattedLabel:function(e,t){var a="";return null===e.total?"":(t.show_measure&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(e.total,t.format)),t.show_percentage&&(e=100,I.canFormatPercentage(this)?e=Utils.formatValue(e,t.percentage_labels_format):e+="%",a+=a?" (".concat(e,")"):e),a)},_displayRowData:function(e,t,r,n,a,o,i){var l=this,s=[],c=l.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Values});if(this.p.drilldown_categories&&1<r.length){var d=l.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Rows})[o||0],o=l.getColumnFromId(l._Data.rows,d.column_id),u=l.p.data_bindings.filter(function(e){return e.column_id===d.column_id});s.push({Column:o.original_name,ColumnId:o.id,Value:i,Grouping:u.grouping||null,Operator:8})}else{if(0<r.length){var p=t[e],g=l.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Rows}),h=!1;if(h=l.p.sort_filter.top_bottom.enabled&&l.p.sort_filter.top_bottom.others?0<p.names.length&&l.p.sort_filter.top_bottom.others_name===p.names[0]:h){var b=t.slice();b.splice(e,1),b.forEach(function(e,t){p=b[t];for(var a=0;a<p.names.length;a++){var o=p.names[a],n=l.getColumnFromId(l._Data.rows,r[a].id),i=g[a];n&&s.push({Column:n.original_name,Value:o,ColumnId:n.id,Grouping:i.grouping||null,Operator:9})}}),n.value&&"count"===n.value.aggregation&&(o=l.getColumnFromId(l._Data.values,n.value.column_id),i=Utils.arrayFirst(c,function(e){return e.column_id==n.value.column_id}),s.push({Column:o.original_name,ColumnId:o.id,Value:_,Grouping:i.grouping||null,Operator:18}))}else for(var m=0;m<p.names.length;m++){var _=p.names[m],f=l.getColumnFromId(l._Data.rows,r[m].id),y=g[m];f&&(s.push({Column:f.original_name,ColumnId:f.id,Value:_,Grouping:y.grouping||null,Operator:8}),n.value&&"count"===n.value.aggregation&&(f=l.getColumnFromId(l._Data.values,n.value.column_id),y=Utils.arrayFirst(c,function(e){return e.column_id===n.value.column_id}),s.push({Column:f.original_name,ColumnId:f.id,Value:_,Grouping:y&&y.length&&y[0].grouping?y[0].grouping:null,Operator:18})))}}h=!1;(h=l.p.sort_filter.top_bottom.enabled&&l.p.sort_filter.top_bottom.others?0<n.names.length&&l.p.sort_filter.top_bottom.others_name===n.names[0]:h)?(a.filter(function(e){return e!=n}).forEach(function(e){e.columns.forEach(function(t){var e=t.value,a=l.getColumnFromId(l._Data.columns,t.column_id),o=l.p.data_bindings.filter(function(e){return e.column_id===t.column_id});a&&s.push({Column:a.original_name,ColumnId:a.id,Value:e,Grouping:o.grouping||null,Operator:9})})}),n.value&&"count"===n.value.aggregation&&(u=l.getColumnFromId(l._Data.values,n.value.column_id),t=Utils.arrayFirst(c,function(e){return e.column_id===n.value.column_id}),s.push({Column:u.original_name,ColumnId:u.id,Value:_,Grouping:t&&t.length&&t[0].grouping?t[0].grouping:null,Operator:18}))):n.columns.forEach(function(t){var e=t.value,a=l.getColumnFromId(l._Data.columns,t.column_id),o=l.p.data_bindings.filter(function(e){return e.column_id===t.column_id});a&&(s.push({Column:a.original_name,Value:e,ColumnId:a.id,Grouping:o&&o.length&&o[0].grouping?o[0].grouping:null,Operator:8}),n.value&&"count"===n.value.aggregation&&(a=l.getColumnFromId(l._Data.values,n.value.column_id),o=Utils.arrayFirst(c,function(e){return e.column_id===n.value.column_id}),s.push({Column:a.original_name,ColumnId:a.id,Value:e,Grouping:o&&o.length&&o[0].grouping?o[0].grouping:null,Operator:18})))})}l.displayRowDataPopup(s)},_getHighchartsResetZoomButtonTheme:function(){return{theme:{}}},initializeSettings:function(){},renderPropertiesTab:function(e){var t=this,a=e.ui.content,o=this.update.bind(this);e.addLargeDropdown({container:a,id:"properties_chart_type",dataprovider:this.getAvailableChartTypes(),object:this.p,property:"type",callback:function(){t.p.series_custom.forEach(function(e){e.config.type=t.p.type}),o()}});a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             \x3c!--<li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>--\x3e                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){e.settings.Data._isDirty=!0,t.p.data.mode=$(this).val(),t.setSortFilterTabState(),t.resetSortAndFilters(),t.update()})},renderSortFilterTab:function(e){e.ui.nav.append($(Mustache.render(e.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),e.ui.nav.append($(Mustache.render(e.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),e.ui.nav.append($(Mustache.render(e.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(t){var r=this,e=new Settings.SortFilter.TopBottom(t);e.hasOthersOption=!0,e.isOthersEnabled=!this.isAllCategoriesAreDates(),e.updateDataCallback=function(){r._isDirty=!0,r.update()},e.getTopBottomColumns=function(i){switch(r.p.data.mode){case"bindings":t.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(e){for(var t=[],a=0;a<r.p.data_bindings.length;a++){var o,n=r.p.data_bindings[a];n.area===Enums.WidgetAreas.Values&&(n.__type.startsWith("CountDataBindingProperties")?t.push({label:n.name||_("Count"),value:n.guid,is_context:!1,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null}):(o=r.getColumnFromId(e.columns,n.column_id),t.push({label:n.name||o.name,value:n.guid,is_context:o.is_context||!1,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,column_id:o.id})))}i(t)});break;case"custom":var e=r.p.data.custom[0].map(function(e,t){return{label:e,value:t}});i(e)}},e.render()},getColumnFromId:function(e,t){return Utils.arrayFirst(e.concat(this.p.calculated_columns||[]),function(e){return e.id===t})},renderSort:function(t){var r=this,e=new Settings.SortFilter.Sort(t);e.getSortColumns=function(i){switch(r.p.data.mode){case"bindings":t.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(e){for(var t=[],a=0;a<r.p.data_bindings.length;a++){var o,n=r.p.data_bindings[a];n.__type.startsWith("CountDataBindingProperties")?t.push({label:n.name||_("Count"),value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(e.columns,n.column_id))&&t.push({icon:DashboardUtils.getIconForColumnType(o.type),label:n.name||o.name,value:n.guid,area:n.area,is_context:o.is_context||!1,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,column_id:o.id})}i(t)});break;case"custom":var e=r.p.data.custom[0].map(function(e,t){return{label:e,value:t,area:0<t?Enums.WidgetAreas.Columns:Enums.WidgetAreas.Rows}});i(e)}},e.updateDataCallback=function(){t._isDirty=!0,r.update()},e.render()},renderFilter:function(t){var l=this,o=new Settings.SortFilter.Filter(t);o.getFilterColumns=function(r){switch(l.p.data.mode){case"bindings":t.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(e){for(var t=[],a=0;a<l.p.data_bindings.length;a++){var o=l.p.data_bindings[a],n=l.getColumnFromId(e.columns,o.column_id);n&&t.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:o.name||n.name,value:"".concat(n.id).concat(o.aggregation||""),column_id:n.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(t=t.filter(function(e){return!e.is_context})).push({sep:!0});var i=e.columns.concat(l.p.calculated_columns||[]).filter(function(e){return!e.is_context}),t=t.concat(i.map(function(e){return{icon:DashboardUtils.getIconForColumnType(e.type),label:e.name,is_context:e.is_context||!1,value:e.id,column_id:e.id}}));r(t)});break;case"custom":var e=l.p.data.custom[0].map(function(e,t){return{icon:DashboardUtils.getIconForColumnType(),label:e,value:t,column_id:t}});r(e)}},o.onColumnChangedCallback=function(e,t,a){e.column_id=t.data().column_id,e.aggregation=t.data().aggregation,o.updateOperatorDropdown(e,a),o.updateDataCallback()},o.updateDataCallback=function(){l.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},renderInteractionsTab:function(e){var t=this,a=this.render.bind(this),o=(e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",label:_("InteractionType_OnSeriesDblClick"),parameters:!0,items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}],onChange:function(){t.refreshAllowExport(e)}}),$('<div class="allow-export-div"></div>'));e.ui.append(o),this.refreshAllowExport(e),e.settings.Format.addSeparator({container:e.ui}),e.settings.Format.addBoolean({container:e.ui,label:_("Interaction_AllowZoom"),object:this.p.interactions,property:"allow_zoom",callback:function(){t.updateToolbar(),a()}}),this.renderToolbarProperties(e)},renderDataTab:function(e){if(this.p.data.mode!==this.current_data_mode){switch(e.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(e);break;case"custom":this.renderDataCustomTable(e);break;case"formula":this.renderDataFormula(e)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(e){var o=this,a=new Settings.Data.Bindings(e);a.templates.area_measure_column='                <li class="area-column measure big {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',a.templates.area_count_column='                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',a.getAreaColumnTemplateItemData=function(t,e){var a;t.area===Enums.WidgetAreas.Values&&(o.getYAxisFromBinding(t),a=Utils.arrayFirstIndex(o.p.y_axis,function(e){return e&&e.bindings&&-1!=e.bindings.indexOf(t.guid)}),e.axis_picker_label=o.getYAxisLabelFromIndex(a))},a.toggleAxisPopup=function(e){var t=e.data("binding"),a=e.find(".axis-picker-ddl .ddl-opener"),t=o.getYAxisFromBinding(t),t=o.p.y_axis.indexOf(t);this.ui.axis_ddl.find("input").prop("checked",!1).end().find('[data-axis-index="{0}"] input'.format(t)).prop("checked",!0).end().css({top:a.offset().top+a.outerHeight(),left:a.offset().left}).toggle().data("area_column",e),e.toggleClass("opened")},a.closeCustomPopups=function(){this.ui.axis_ddl.hide()},a.axisPopupChanged=function(){var e=+this.ui.axis_ddl.find(":checked").closest("li").attr("data-axis-index"),t=this.ui.axis_ddl.data("area_column"),a=t.data("binding");t.find(".axis-picker-ddl .value").text(o.getYAxisLabelFromIndex(e)),this.ui.axis_ddl.hide(),o.moveBindingToAxis(a,e),o.render(),this._isDirty=!0},a.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5},{name:_("Categories"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,drilldown:void 0!==o.p.drilldown_categories,drilldownicon:o.p.drilldown_categories?"fa-bullseye-pointer":"fa-bullseye",height_ratio:.3},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.2}]),a.ui.axis_ddl=$('                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    <li data-axis-index="0"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>'.concat(_("AxisLeft").format(1),'</span></label></li>                    <li data-axis-index="1"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(2),'</span></label></li>                    <li data-axis-index="2"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(3),'</span></label></li>                    <li data-axis-index="3"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(1),'</span></label></li>                    <li data-axis-index="4"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(2),'</span></label></li>                    <li data-axis-index="5"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(3),"</span></label></li>                </ul>")).appendTo("body"),a.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var e=$(this).closest(".area-column");return a.toggleAxisPopup(e),!1}),a.ui.axis_ddl.on("change","input",function(){a.axisPopupChanged()}),a.on("bindingAdded",function(e){var t;e.area!==Enums.WidgetAreas.Columns&&(e.area===Enums.WidgetAreas.Rows&&(t=a.getColumn(e.column_id),o.p.x_axis.scaling_type="category",InternalType.isNumber(t.internal_type)&&(o.p.x_axis.scaling_type="linear"),InternalType.isDate(t.internal_type)&&(o.p.x_axis.scaling_type="datetime")),e.area===Enums.WidgetAreas.Values&&(o.p.y_axis[0]||(t=o.getDefaultYAxisConfiguration(),o.p.y_axis[0]=t),o.p.y_axis[0].bindings.push(e.guid)))}),a.on("dateGroupingChanged",function(e){e.area===Enums.WidgetAreas.Rows&&(e.grouping&&e.grouping.length?1===e.grouping.length?o.p.x_axis.scaling_type="linear":3===e.grouping.length?o.p.x_axis.scaling_type="datetime":o.p.x_axis.scaling_type="category":o.p.x_axis.scaling_type="datetime")}),a.on("bindingCleared",function(){this.p.y_axis[0]=null,this.p.y_axis[1]=null,this.p.y_axis[2]=null,this.p.y_axis[3]=null,this.p.y_axis[4]=null,this.p.y_axis[5]=null,this.p.series_custom=[],this.p.trends_custom=[],this.p.x_axis.scaling_type="category",this.resetSortAndFilters()}.bind(this)),a.on("bindingRemoved",function(e){if(o.resetSortAndFilters(e),e.area!==Enums.WidgetAreas.Columns&&(e.area===Enums.WidgetAreas.Rows&&(o.p.x_axis.scaling_type="category"),e.area===Enums.WidgetAreas.Values))for(var t=0;t<o.p.y_axis.length;t++)if(o.p.y_axis[t]&&0<=o.p.y_axis[t].bindings.indexOf(e.guid))return Utils.arrayRemove(o.p.y_axis[t].bindings,e.guid),void(o.p.y_axis[t].bindings.length||(o.p.y_axis[t]=null))}),this.data_destroy_callback=function(){a.destroy()}},moveBindingToAxis:function(e,t){var a=this.getYAxisFromBinding(e),o=this.p.y_axis.indexOf(a);Utils.arrayRemove(a.bindings,e.guid),a.bindings.length||(this.p.y_axis[o]=null),this.p.y_axis[t]||(this.p.y_axis[t]=this.getDefaultYAxisConfiguration()),this.p.y_axis[t].bindings.push(e.guid)},renderDataCustomTable:function(n){var i=this,e=this.update.bind(this),t=new Settings.Data.CustomTable(n);t.cellValueFormat=function(e,t){e=$(e).val();return 0<t?""===e||isNaN(e)?0:parseFloat(e):e},t.customColumnRenameProcess=function(e,t,a){var o=Utils.arrayFirst(i.p.series_custom,function(e){return 0<e.columns.length&&-2===e.columns[0].column_id&&e.columns[0].value===t});o&&(o.columns[0].value=a),n.settings.Data._isDirty=!0},this.data_destroy_callback=function(){t.destroy()},n.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),t.render({object:this.p.data,property:"custom",callback:function(){i.p.sort_filter.sorts.forEach(function(t){"custom"==t.direction&&t.column&&(t.custom_order=i.p.data.custom.slice(1).map(function(e){return e[t.column]}))}),e()}})},renderDataFormula:function(e){var t=this.update.bind(this),a=(e.appendHeader(_("ChartDataFormulaHeader")),new Settings.Data.Formula(e));this.data_destroy_callback=function(){a.destroy()},a.render({label:_("Formula"),placeholder:_("FormulaPlaceholder"),object:this.p.data,property:"formula",callback:t})},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),e.push({icon:function(){return"chart-{0}-y-axis.png".format(this.p.type)}.bind(this),text:_("Vertical"),code:"yaxis",renderer:function(e){"bar"===this.p.type?this.getXAxisProperties(e):this.getYAxisProperties(e)}.bind(this)}),e.push({icon:function(){return"chart-{0}-x-axis.png".format(this.p.type)}.bind(this),text:_("Horizontal"),code:"xaxis",renderer:function(e){"bar"===this.p.type?this.getYAxisProperties(e):this.getXAxisProperties(e)}.bind(this)}),e.push({icon:function(){return"chart-{0}-series.png".format(this.p.type)}.bind(this),text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),e.push({icon:"chart-trend.png",text:_("Trends"),code:"trends",renderer:this.getTrendsProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,e),e},getTitleProperties:function(e){var t=this.render.bind(this);e.addHeader({text:_("FormatTitleTitle"),description:_("FormatTitleDesc")}),e.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:t,event:"focusout"}),e.addFont({object:this.p.titles.title,property:"font",callback:t,dropDown:!0}),e.addSeparator(),e.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:t,event:"focusout"}),e.addFont({object:this.p.titles.subtitle,property:"font",callback:t}),e.addSeparator()},getBackgroundProperties:function(e){var t=this.render.bind(this),a=(e.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),e.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.background,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.background,property:"shadow",callback:t}),e.addSeparator(),e.addSection());e.content.append(a),e.addBoolean({section:a,label:_("PlotAreaBackground"),object:this.p.other.threeD.enabled?{enabled:!1}:this.p.background.plot_background,property:"enabled",callback:t,disabled:this.p.other.threeD.enabled}),e.addColor({container:a,label:_("PlotAreaColor"),object:this.p.background.plot_background,property:"color",callback:t}),e.addBoolean({container:a,label:_("Gradient"),object:this.p.background.plot_background,property:"gradient",callback:t}),e.addBorder({container:a,label:_("PlotAreaBorder"),object:this.p.background.plot_background,property:"border",callback:t,dropDown:!1}),e.addSeparator(),e.addMargin({margins:[{label:_("Top"),name:"top",callback:t},{label:_("Bottom"),name:"bottom",callback:t},{label:_("Left"),name:"left",callback:t},{label:_("Right"),name:"right",callback:t}],min:0,max:99,object:this.p.background.margins}),e.addSeparator()},getLegendProperties:function(e){var t=this.render.bind(this),a=(e.addHeader({text:_("LegendTitleTitle"),description:_("LegendTitleDesc")}),e.addSection());e.content.append(a),e.addBoolean({section:a,label:_("ShowLegend"),object:this.p.legend,property:"enabled",callback:t}),e.addSeparator({container:a}),e.addFont({container:a,object:this.p.legend,property:"font",callback:t}),e.addSeparator({container:a}),e.addToggleButtons({container:a,label:_("Layout"),object:this.p.legend,property:"layout",callback:t,buttons:[{image:"legend-layout-horizontal.png",value:"horizontal"},{image:"legend-layout-vertical.png",value:"vertical"}]}),e.addToggleButtons({container:a,label:_("Position"),object:this.p.legend,property:"position",callback:t,buttons:[{image:"legend-position-top.png",value:"top"},{image:"legend-position-right.png",value:"right"},{image:"legend-position-bottom.png",value:"bottom"},{image:"legend-position-left.png",value:"left"}]}),e.addBoolean({container:a,label:_("LegendReverse"),object:this.p.legend,property:"reversed",callback:t}),e.addBoolean({container:a,label:_("LegendEqualWidth"),object:this.p.legend,property:"fixed_width",callback:t}),e.addSeparator({container:a}),e.addColor({container:a,label:_("BackgroundColor"),object:this.p.legend,property:"background_color",callback:t}),e.addSeparator({container:a}),e.addBorder({container:a,object:this.p.legend,property:"border",callback:t,dropDown:!1}),e.addSeparator({container:a}),e.addSlider({label:_("RoundedCorners"),container:a,object:this.p.legend,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator({container:a})},getYAxises:function(){var e=[];if("bindings"===this.p.data.mode){if(!this._Data)return;for(var t=0;t<this.p.y_axis.length;t++){var a=this.p.y_axis[t];if(a){for(var o={label:[],value:t},n=0;n<a.bindings.length;n++){var i,r=Utils.arrayFirst(this.p.data_bindings,function(e){return e.guid===a.bindings[n]});r&&(r.__type.startsWith("CountDataBindingProperties")?o.label.push(r.name||_("Count")):(i=Utils.arrayFirst(this._Data.values,function(e){return e.id===r.column_id}),i=r.name||(i?i.name:r.column_id),o.label.push(i)))}o.label="".concat(this.getYAxisLabelFromIndex(t)," - ").concat(o.label.join(" - ")),e.push(o)}}}else this.isCustomDataMode()&&e.push({value:"custom",label:_("Value")});return e},getYAxisProperties:function(o){function e(e){if(s.empty(),null!==e.value&&""!==e.value){var t;switch(n.p.data.mode){case"bindings":t=n.p.y_axis[e.value];break;case"custom":t=n.p.y_axis_custom}var a=o.addSection(),a=(o.addBoolean({container:s,section:a,label:_("Stacked"),object:t,property:"stacked",callback:i}),o.addBoolean({container:a,label:_("100%"),object:t,property:"stacked_100",callback:i}),o.addSeparator({container:s}),o.addSection()),a=(o.addBoolean({section:a,container:s,label:_("ShowTitle"),object:t.title,property:"enabled",callback:i}),o.addText({container:a,label:_("AxisTitle"),placeholder:n.getYAxisDefaultTitle(e.value),object:t.title,property:"text",callback:i,event:"focusout"}),o.addSection().appendTo(a)),a=(o.addFont({container:a,object:t.title,property:"font",callback:i}),o.addToggleButtons({container:a,label:_("Rotation"),object:t.title,property:"rotation",callback:i,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),o.addSeparator({container:s}),o.addSection()),a=(o.addBoolean({container:s,section:a,label:_("ShowAxisLabels"),object:t.labels,property:"enabled",callback:i}),o.addFont({container:a,object:t.labels,property:"font",callback:i}),o.addToggleButtons({container:a,label:_("Rotation"),object:t.labels,property:"rotation",callback:i,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),o.addNumber({container:a,label:_("Step"),placeholder:_("AutoPlaceholder"),object:t.labels,property:"step",callback:i}),o.addFormat({container:a,label:_("Format"),object:t.labels,property:"format",callback:i}),o.addSeparator({container:s}),o.addDropdown({container:s,label:_("AxisScale"),object:t.scale,property:"type",callback:i,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),o.addSection().appendTo(s));o.addFormulaInput({container:a,widget:n,dashboard:n.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:t.scale,property:"max",callback:r}),o.addFormulaInput({container:a,widget:n,dashboard:n.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:t.scale,property:"min",callback:r}),o.addFormulaInput({container:a,widget:n,dashboard:n.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:t.scale,property:"interval",callback:r}),o.addNumber({container:a,label:_("Threshold"),object:t.scale,property:"threshold",callback:i}),o.addBoolean({container:a,label:_("Reverse"),object:t.scale,property:"reverse",callback:i}),o.addSeparator({container:s}),o.addBorder({container:s,dropDown:!1,label:_("AxisLine"),label_color:_("Color"),object:t,property:"axis_line",color:!0,callback:i}),o.addColor({container:s,dropDown:!1,label:_("Ticks"),object:t,property:"ticks",callback:i}),o.addSeparator({container:s}),o.addBorder({container:s,dropDown:!1,label:_("MajorGridLines"),label_color:_("LineColor"),object:t,property:"major_grid_lines",callback:i}),o.addColor({container:s,dropDown:!1,label:_("Bands"),object:t,property:"bands",callback:i}),o.addSeparator({container:s}),o.addBorder({container:s,dropDown:!1,label:_("MinorGridLines"),label_color:_("LineColor"),object:t,property:"minor_grid_lines",callback:i}),o.addSeparator({container:s}),o.addBoolean({container:s,label:_("OppositePosition"),object:t,property:"opposite",callback:i}),o.addSeparator({container:s})}}var t=this,n=this,i=this.render.bind(this),r=function(){o.settings.Data._isDirty=!0,t.tryUpdate()},a=this.getYAxises(),l=("bar"===this.p.type?o.addHeader({text:_("XAxisTitleTitle"),description:_("XAxisTitleDesc")}):o.addHeader({text:_("YAxisTitleTitle"),description:_("YAxisTitleDesc")}),a.unshift({value:"",label:_("SelectAnAxis")}),Utils.arrayFirst(a,function(e){return null!==e.value&&void 0!==e.value&&""!==e.value})),s=(o.addDropdown({label:_("Axis"),object:{axis:l?l.value:""},property:"axis",callback:e,combobox:{containerClasses:"ddl-placeholder",dataprovider:a}}),o.addSection().addClass("nomargin").appendTo(o.ui.content));l&&e(l)},getXAxisProperties:function(e){var t=this.render.bind(this),a=this.p.x_axis,o=null,n=null,i=(this._Data.rows&&this._Data.rows.length&&(i=this._Data.rows[0],o=InternalType.fromDotNet(i.type),n=i.groupings),"bar"===this.p.type?e.addHeader({text:_("YAxisTitleTitle"),description:_("YAxisTitleDesc")}):e.addHeader({text:_("XAxisTitleTitle"),description:_("XAxisTitleDesc")}),e.addSection()),i=(e.addBoolean({section:i,label:_("ShowTitle"),object:a.title,property:"enabled",callback:t}),e.addText({container:i,label:_("AxisTitle"),placeholder:this.getXAxisDefaultTitle(),object:a.title,property:"text",callback:t,event:"focusout"}),e.addSection().appendTo(i)),i=(e.addFont({container:i,object:a.title,property:"font",callback:t}),e.addToggleButtons({container:i,label:_("HorizontalAlign"),object:a.title,property:"align",callback:t,buttons:[{icon:"fa-align-left",value:"low"},{icon:"fa-align-center",value:"middle"},{icon:"fa-align-right",value:"high"}]}),e.addSeparator(),e.addSection()),i=(e.addBoolean({section:i,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:t}),e.addFont({container:i,object:a.labels,property:"font",callback:t}),e.addToggleButtons({container:i,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:t,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),e.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:t}),e.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:t}),e.addNumber({container:i,label:_("Interval"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"interval",callback:t,min:0}),e.addSeparator(),[{label:_("Category"),value:"category"}]);o&&InternalType.isNumber(o)&&(i.push({label:_("Linear"),value:"linear"}),i.push({label:_("Logarithmic"),value:"logarithmic"})),o&&InternalType.isDate(o)&&i.push({label:_("AxisScaleDateTime"),value:"datetime"}),n&&n.length&&(1===n.length&&i.push({label:_("Linear"),value:"linear"}),3===n.length&&i.push({label:_("AxisScaleDateTime"),value:"datetime"})),e.addDropdown({label:_("AxisScale"),object:a,property:"scaling_type",callback:t,combobox:{dataprovider:i}}),e.addSeparator(),e.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:t}),e.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:t}),e.addSeparator(),e.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:t}),e.addSeparator(),e.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:t}),e.addSeparator()},getSeriesCombinaisons:function(){var l=this,s=[],e={value:{column_id:-99,aggregation:"all",name:_("AllSeries"),hidden:!0},columns:[]};return s.push(e),this._Data.values.forEach(function(e){e={value:{column_id:e.id,aggregation:e.aggregation,name:e.name,is_unique_per_category:e.is_unique_per_category},columns:[]};0<this._Data.columnHeaders.length?function e(t,a,o){for(var n=0;n<a.length;n++){var i=a[n],r=$.extend(!0,{},t);r.columns.push({column_id:l._Data.columns[o].id,value:i.name}),$.isArray(i.values)&&0<i.values.length?e(r,i.values,o+1):r.value.is_unique_per_category&&n+1==a.length?(r.columns=[],s.push(r)):r.value.is_unique_per_category||s.push(r)}}(e,this._Data.columnHeaders,0):s.push(e)}.bind(this)),s},getSeriesProperties:function(s){var n,e,t,a,c=this,d=this.render.bind(this);s.addHeader({text:_("SeriesTitleTitle"),description:_("SeriesTitleDesc")}),this._Data&&(e=this.getSeriesCombinaisons(),n=c._Data.columns,(e=e.map(function(e){var o="",o=e.value.name;return e.columns.forEach(function(t){var e,a=t.value;0<n.length&&((e=n.filter(function(e){return e.id==t.column_id})[0])&&Utils.isDateType(e.type)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,e.type,e.original_type)))),o+=" - ".concat(a)}),{label:o,value:o,series:e}})).unshift({value:null,label:_("SelectASeries")}),t=function(e){var r,l,t;a.empty(),null!==e.value&&("all"===e.series.value.aggregation?(c.renderAllSeriesProperties(e.series,s,a),s.addSeparator({container:a})):(e=e.series,r=c.getOrCreateConfiguration(e).config,s.addText({container:a,label:_("Name"),placeholder:_("NamePlaceholder"),object:r,property:"name",callback:d,event:"focusout"}),s.addSeparator({container:a}),s.addDropdown({container:a,label:_("SerieType"),label_class:"large-40",object:r,property:"type",callback:function(){t(),d()},combobox:{inputTemplate:'<span class="imageResize" href="javascript:void(0);"><div class="img" style="background-image: url({{ image }});"></div>{{label}}</span>',liTemplate:'<li><a href="javascript:void(0);"><label><div class="img" style="background-image: url({{ image }});"></div></i><span>{{label}}</span></label></a></li>',containerClasses:"ddl-large",dataprovider:c.getAvailableChartTypes().filter(function(e){return!("bar"===c.p.type&&"column"===e.value||"column"===c.p.type&&"bar"===e.value)})}}),l=s.addSection().appendTo(a),(t=function e(){switch(l.empty(),s.addSeparator({container:l}),c._renderSeriesLabels(s,l,r,function(){d.call(c)}),r.type){case"bar":s.addBorder({container:l,object:r.bar,dropDown:!1,property:"border",callback:d}),s.addShadow({container:l,object:r.bar,property:"shadow",callback:d,codeValues:I.SeriesShadowConfiguration}),s.addSlider({label:_("RoundedCorners"),container:l,object:r.bar,property:"roundness",callback:d,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),s.addSeparator({container:l}),s.addNumber({container:l,label:_("BarWidth"),placeholder:_("AutoPlaceholder"),object:r.bar,property:"bar_width",min:1,max:200,callback:d}),s.addSeparator({container:l}),c._renderSeriesColor(s,l,r.bar,d);break;case"column":s.addBorder({container:l,object:r.column,property:"border",callback:d}),s.addShadow({container:l,object:r.column,property:"shadow",callback:d,codeValues:I.SeriesShadowConfiguration}),s.addSlider({label:_("RoundedCorners"),container:l,object:r.column,property:"roundness",callback:d,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),s.addSeparator({container:l}),s.addNumber({container:l,label:_("BarWidth"),placeholder:_("AutoPlaceholder"),object:r.column,property:"bar_width",min:1,max:200,callback:d}),s.addSeparator({container:l}),c._renderSeriesColor(s,l,r.column,d);break;case"area":s.addBackgroundColor({dropDown:!1,container:l,object:r.area,label:_("AreaFill"),property_color:"background_color",property_gradient:"gradient",callback:d}),s.addSeparator({container:l});var t=s.addSection(),a=(c._renderSeriesSubtype(s,l,r,function(){e(),d()}),s.addSeparator({container:l}),s.addWidth({container:l,section:t,object:r.area.line,label:_("Line"),property:"width",callback:d}),s.addColor({dropDown:!1,container:t,object:r.area.line,label:_("LineColor"),property:"color",callback:d}),s.addToggleButtons({container:t,label:_("LineType"),object:r.area.line,property:"type",callback:d,buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),s.addShadow({container:t,object:r.area.line,property:"shadow",callback:d,codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:l}),s.addSection({container:l})),o=(s.addBoolean({container:l,section:a,label:_("ColorForNegativeValues"),object:r.area.negative_values,property:"enabled",callback:d}),s.addColor({container:a,dropDown:!1,label:_("FillColor"),object:r.area.negative_values,property:"fill_color",callback:d}),s.addColor({container:a,dropDown:!1,label:_("LineColor"),object:r.area.negative_values,property:"line_color",callback:d}),s.addSeparator({container:l}),s.addSection()),n=function(){var e=r.area.marker.shape;e&&$("button div.img",i).css("background-image","url('Images/WidgetProperties/marker-".concat(e,".png')"))},i=(s.addToggleButtons({container:l,label:_("Marker"),section:o,object:r.area.marker,property:"shape",callback:function(){n(),d()},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),s.addToggleButtons({container:o,label:_("Size"),object:r.area.marker,property:"width",callback:d,numeric:!0,buttons:[{image:"marker-circle.png",value:3,class:"small"},{image:"marker-circle.png",value:7},{image:"marker-circle.png",value:10,class:"big"}]}));n(),s.addColor({container:o,dropDown:!1,label:_("MarkerColor"),object:r.area.marker,property:"color",callback:d}),s.addBorder({container:o,dropDown:!1,label:_("MarkerBorder"),object:r.area.marker,property:"border",callback:d});break;case"line":t=s.addSection(),a=(c._renderSeriesSubtype(s,l,r,function(){e(),d()}),s.addSeparator({container:l}),c._renderDisplayAsZero(s,l,r,function(){d.call(c)},r.type),s.addWidth({container:l,section:t,object:r.line.line,label:_("Line"),property:"width",callback:d}),s.addColor({container:t,dropDown:!1,object:r.line.line,label:_("LineColor"),property:"color",callback:d}),s.addToggleButtons({container:t,label:_("LineType"),object:r.line.line,property:"type",callback:d,buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),s.addShadow({container:t,object:r.line.line,property:"shadow",callback:d,codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:l}),s.addSection({container:l})),o=(s.addBoolean({container:l,section:a,label:_("ColorForNegativeValues"),object:r.line.negative_values,property:"enabled",callback:d}),s.addColor({container:a,dropDown:!1,label:_("LineColor"),object:r.line.negative_values,property:"line_color",callback:d}),s.addSeparator({container:l}),s.addSection()),n=function(){var e=r.line.marker.shape;e&&$("button div.img",i).css("background-image","url('Images/WidgetProperties/marker-".concat(e,".png')"))},i=(s.addToggleButtons({container:l,label:_("Marker"),section:o,object:r.line.marker,property:"shape",callback:function(){n(),d()},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),s.addToggleButtons({container:o,label:_("Size"),object:r.line.marker,property:"width",callback:d,numeric:!0,buttons:[{image:"marker-circle.png",value:3,class:"small"},{image:"marker-circle.png",value:7},{image:"marker-circle.png",value:10,class:"big"}]}));n(),s.addColor({container:o,dropDown:!1,label:_("MarkerColor"),object:r.line.marker,property:"color",callback:d}),s.addBorder({container:o,dropDown:!1,label:_("MarkerBorder"),object:r.line.marker,property:"border",callback:d})}})()))},s.addDropdown({label:_("Series"),object:{serie:null},property:"serie",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),s.addSeparator(),a=s.addSection().addClass("nomargin").appendTo(s.ui.content),t({value:null}))},_renderSeriesColor:function(o,e,n,i){function t(){switch(l.empty(),$(".CH_values_container",o.ui.content).remove(),n.fill_type){case Enums.ChartSeriesFillType.SingleColor:i&&i(),o.addColor({container:l,label:_("FillColor"),dropDown:!1,object:n,property:"color",callback:i}),o.addBoolean({container:l,label:_("Gradient"),object:n,property:"gradient",callback:i}),o.addSeparator({container:l,customclass:"main_section"});break;case Enums.ChartSeriesFillType.PositiveAndNegative:i&&i(),o.addColor({container:l,label:_("PositiveValuesColor"),dropDown:!1,object:n,property:"color",callback:i}),o.addBoolean({container:l,label:_("Gradient"),object:n,property:"gradient",callback:i}),o.addColor({container:l,dropDown:!1,label:_("NegativeValuesColor"),object:n.negative_values,property:"fill_color",callback:i}),o.addBoolean({container:l,label:_("Gradient"),object:n.negative_values,property:"gradient",callback:i}),o.addSeparator({container:l,customclass:"main_section"});break;case Enums.ChartSeriesFillType.Conditional:var e=o.ui.content,t=(e.append('<div class="CH_values_container"></div>'),$(".CH_values_container",e)),a=(n.conditional_colors_type||(n.conditional_colors_type=I.CONDITIONAL_TYPES.None),o.addDropdown({container:t,label:_("ConditionalColors"),object:n,property:"conditional_colors_type",callback:function(e){n.values_custom_properties=[],n.values_custom_properties.push({category:"addAllOtherCategories",operator:"default"}),r._onConditionalDropdownChange(o,t,e.value,n,!0),i()},combobox:{dataprovider:[{value:I.CONDITIONAL_TYPES.None,label:_("None")},{value:I.CONDITIONAL_TYPES.Categories,label:_("Categories")},{value:I.CONDITIONAL_TYPES.Values,label:_("Values")}]}}),o.addSeparator({container:t}),'<div class="CH_conditional_table_container">                                            <button type="button" class="btn btn-default btn-grey addCHConditionalColor">'.concat(_("AddCustomColor"),'</button>                                            <div class="sortable_list_container"></div>                                      </div>'));t.append(a),r._onConditionalDropdownChange(o,t,n.conditional_colors_type,n),$(".addCHConditionalColor",e).on("click",function(){var e={color:"#000000",category:null};n.conditional_colors_type===I.CONDITIONAL_TYPES.Values&&(e.operator=DashboardUtils.WidgetOperator.Equals),r.conditionalSortableList.addNewObject(e)})}}var r=this,l=(o.addDropdown({container:e,label:_("FillColor"),object:n,property:"fill_type",callback:t,combobox:{dataprovider:[{label:_("SingleColor"),value:Enums.ChartSeriesFillType.SingleColor},{label:_("PositiveNegativeColor"),value:Enums.ChartSeriesFillType.PositiveAndNegative},{label:_("ConditionalColor"),value:Enums.ChartSeriesFillType.Conditional}]}}),o.addSection().appendTo(e));t()},_onConditionalColorChange:function(e,t){return function(){e.color=this.getRGBAColor(),t()}},_onConditionalDropdownChange:function(r,e,t,a,o){function l(e){return $("<option>").val("".concat(e)).text(e)}var i=this,e=(a.values_custom_properties||(a.values_custom_properties=[]),$(".CH_conditional_table_container").toggleClass("hidden",t===I.CONDITIONAL_TYPES.None),$(".sortable_list_container",e).empty()),n=this.tryUpdate.bind(this),s=this.render.bind(this),c=this,d=this._Data?this._Data.rowHeaders.map(function(e){return e.name}):[],u=[];if(t===I.CONDITIONAL_TYPES.None)return!1;t===I.CONDITIONAL_TYPES.Categories?u=[{name:_("Color"),width:80,cellFormat:function(e,t){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(e.color));t.append(a),$("> input",a).clicColorPicker({onColorChanged:c._onConditionalColorChange(e,s),onPreviewColorChanged:c._onConditionalColorChange(e,s),onCancel:c._onConditionalColorChange(e,s),palette:c._from.dashboard.model.colors})}},{name:_("Category"),classes:"category_column",cellFormat:function(t,n){var i,e;"addAllOtherCategories"===t.category?n.append(_("ConditionalColor_Default")):((e=$('<select class="category-selector">')).append(d.map(l)),n.append(e),e.comboBox({appendToBody:!1,onChange:function(){i.removeClass("show"),$(".formula-container",n).removeClass("comboBoxOpen"),$(".formula-container input",n).val("'".concat(this.getValue(),"'")).trigger("change")}}).comboBox("select",t.category),i=$(".combobox-dropdown-container",n),!t.category_formula&&t.category&&(t.category_formula="'".concat(t.category,"'")),r.addFormulaInput({placeholder:"",customTemplate:'<div id="prop_{{id}}"><div class="cd-input-button formula-container">\n                                    <input type="text" placeholder="" value="">\n                                    <button type="button" class="open-formula-editor-button">\n                                        <i class="far fa-function"></i>\n                                    </button>\n                                    <button type="button" class="result-formula-button">\n                                        <span class="fn-variable">=</span>\n                                        <i class="far fa-spinner fa-pulse"></i>\n                                    </button>\n                                    <button type="button" class="dropdown-button">\n                                        <i class="fas fa-caret-down"></i>\n                                    </button>\n                                </div></div>',widget:c,appendToBody:!0,dropup:!0,callback:function(e){c.settings.Data._isDirty=!0,t.category=e,$(".formula-container",n).removeClass("comboBoxOpen"),c.tryUpdate()},dashboard:c.settings._original_widget.dashboard,container:n,object:t,property:"category_formula"}),n.on("click",".dropdown-button",function(){var e,t=i,a=$(".comboBox-container",i),o=$(".formula-container",n);return $(".combobox-dropdown-container.show").not(i).removeClass("show"),t.hasClass("show")?(t.removeClass("show"),(t=t.detach()).trigger("hide.bs.dropdown"),$(".formula-container",n).removeClass("comboBoxOpen")):($("body").append(t),t.css("position","absolute"),t.css("left",o.offset().left),t.css("max-width",o[0].offsetWidth),t.css("min-width",o[0].offsetWidth),t.addClass("show"),t.trigger("focus"),t.trigger("show.bs.dropdown"),a=300<a.outerHeight()?298:a.outerHeight(),e=$("body").height()<o.offset().top+o.height()+a,t.css("top",o.offset().top+2+(e?-a:o.height())),t.css("left",o.offset().left),$(this).toggleClass("openedUpwards",e),t.addClass("show").toggleClass("openedUpwards",e),$(".formula-container",n).addClass("comboBoxOpen")),!1}))}}]:t===I.CONDITIONAL_TYPES.Values&&(u=[{name:_("Color"),width:80,cellFormat:function(e,t){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(e.color));t.append(a),$("> input",a).clicColorPicker({onColorChanged:c._onConditionalColorChange(e,s),onPreviewColorChanged:c._onConditionalColorChange(e,s),onCancel:c._onConditionalColorChange(e,s),palette:c._from.dashboard.model.colors})}},{name:_("Value"),classes:"value_column",cellFormat:function(e,t){t.append('<div class="value_column_container"></div>');var a,o,n=$(".value_column_container",t);"default"===e.operator?(n.append($('<div class="value_container"></div>')),$(".value_container",t).append($('<span class="text-header">{0}</span>'.format(_("SymbolOperator_Default"))))):(r.addOperatorSelector({container:n,object:e,grid:!0,property:"operator",callback:a=function(){o.empty(),i._renderFormatFormulaInput(o,"value1_formula","value1_result",e),e.operator===DashboardUtils.WidgetOperator.Between&&i._renderFormatFormulaInput(o,"value2_formula","value2_result",e),s()},accepts:[DashboardUtils.WidgetOperator.Between,DashboardUtils.WidgetOperator.Equals,DashboardUtils.WidgetOperator.NotEqualTo,DashboardUtils.WidgetOperator.GreaterThan,DashboardUtils.WidgetOperator.GreaterOrEqualThan,DashboardUtils.WidgetOperator.LessThan,DashboardUtils.WidgetOperator.LessOrEqualThan]}),n.append($('<div class="value_container"></div>')),o=$(".value_container",t),a())}}]),this.conditionalSortableList=new SortableList({container:e,object:a,property:"values_custom_properties",onDeleteCallback:n,onSortCallback:n,columns:u,noDelete:function(e){return"addAllOtherCategories"===e.category||"default"===e.operator}}),o&&s&&s()},_renderFormatFormulaInput:function(e,t,a,o){var n=this;o[a]=void 0!==o[a]?o[a]:o[t],$(".formula-container.{0}".format(a),e).show(),o.operator===DashboardUtils.WidgetOperator.Between&&"value2"===t||$(".formula-container.value2_result".format(a),e).hide(),$(".formula-container.{0}".format(a),e).length||this.settings.Format.addFormulaInput({container:e,widget:n,dashboard:n.settings._original_widget.dashboard,object:o,grid:!0,dropup:!0,property:t,customClass:a,appendToBody:!0,callback:function(){n.settings.Data._isDirty=!0,n.tryUpdate()}})},_renderSeriesSubtype:function(e,t,a,o){e.addDropdown({container:t,label:_("DisplayAs"),object:a,property:"subtype",callback:o,combobox:{appendToBody:!0,dataprovider:[{label:_("SerieSubType_straight"),value:"straight"},{label:_("SerieSubType_smooth"),value:"smooth"},{label:_("SerieSubType_stepped"),value:"stepped"}]}}),"stepped"===a.subtype&&e.addToggleButtons({container:t,label:_("StepPosition"),object:a,property:"step",callback:o,buttons:[{image:"step-type-left.png",value:"left"},{image:"step-type-center.png",value:"center"},{image:"step-type-right.png",value:"right"}]})},_renderDisplayAsZero:function(e,t,a,o,n){I.canUseDisplayZeroAs(this,n)&&(e.addDropdown({container:t,label:_("DisplayNullsAs"),object:a,property:"display_null_as",callback:o.bind(this,"display_null_as"),combobox:{dataprovider:[{value:I.SeriesDisplayNullsAs.Gap,label:_("SeriesDisplayNullAsGap")},{value:I.SeriesDisplayNullsAs.Zero,label:_("SeriesDisplayNullAsZero")},{value:I.SeriesDisplayNullsAs.Connect,label:_("SeriesDisplayNullAsConnect")}],appendToBody:!0}}),e.addSeparator({container:t}))},_renderSeriesLabels:function(e,t,a,o){var n=$("#series_labels_container",t),t=(0<!n.length&&(n=$('<div id="series_labels_container"></div>'),t.append(n)),n.empty(),e.addSection()),i=(e.addBoolean({container:n,section:t,label:_("ShowLabels"),object:a.labels,property:"enabled",callback:o.bind(this,"labels.enabled")}),e.addSeparator({container:t}),e.addFont({container:t,object:a.labels,property:"font",callback:o.bind(this,"labels.font")}),this._renderSeriesLabelsPosition(e,t,a.type,a.labels,o),e.addToggleButtons({container:t,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:o.bind(this,"labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),e.addSeparator({container:t}),e.addSection());e.addBoolean({section:i,container:t,label:_("DisplayValues"),object:a.labels,property:"show_measure",callback:o.bind(this,"labels.show_measure")}),e.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:o.bind(this,"labels.format")}),e.addBoolean({container:t,label:_("DisplayCategories"),object:a.labels,property:"show_dimension",callback:o.bind(this,"labels.show_dimension")}),e.addBoolean({container:t,label:_("DisplaySeries"),object:a.labels,property:"show_series",callback:o.bind(this,"labels.show_series")}),I.canFormatPercentage(this)?(i=e.addSection(),e.addBoolean({container:t,section:i,label:_("DisplayPercentage"),object:a.labels,property:"show_percentage",callback:o.bind(this,"labels.show_percentage")}),e.addFormat({container:i,label:_("Format"),object:a.labels,property:"percentage_labels_format",callback:o.bind(this,"labels.percentage_labels_format"),dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage]})):e.addBoolean({container:t,label:_("DisplayPercentage"),object:a.labels,property:"show_percentage",callback:o.bind(this,"labels.show_percentage")}),e.addSeparator({container:n})},_renderTotalSeriesLabels:function(e,t,a,o){a.total_labels||(a.total_labels=I.DefaultSeriesProperties.total_labels);var n=$("#total_series_labels_container",t),t=(0<!n.length&&(n=$('<div id="total_series_labels_container"></div>'),t.append(n)),n.empty(),e.addSection()),i=(e.addBoolean({container:n,section:t,label:_("ShowTotalLabels"),object:a.total_labels,property:"enabled",callback:o.bind(this,"total_labels.enabled")}),e.addSeparator({container:t}),e.addFont({container:t,object:a.total_labels,property:"font",callback:o.bind(this,"total_labels.font")}),e.addToggleButtons({container:t,label:_("Rotation"),object:a.total_labels,property:"rotation",numeric:!0,callback:o.bind(this,"total_labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),e.addSeparator({container:t}),e.addSection());e.addBoolean({section:i,container:t,label:_("DisplayValues"),object:a.total_labels,property:"show_measure",callback:o.bind(this,"total_labels.show_measure")}),e.addFormat({container:i,label:_("Format"),object:a.total_labels,property:"format",callback:o.bind(this,"total_labels.format")}),I.canFormatPercentage(this)?(i=e.addSection(),e.addBoolean({container:t,section:i,label:_("DisplayPercentage"),object:a.total_labels,property:"show_percentage",callback:o.bind(this,"total_labels.show_percentage")}),e.addFormat({container:i,label:_("Format"),object:a.total_labels,property:"percentage_labels_format",callback:o.bind(this,"total_labels.percentage_labels_format"),dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage]})):e.addBoolean({container:t,label:_("DisplayPercentage"),object:a.total_labels,property:"show_percentage",callback:o.bind(this,"total_labels.show_percentage")}),e.addSeparator({container:n})},_renderSeriesLabelsPosition:function(e,t,a,o,n){"bar"!==a&&"column"!==a||e.addToggleButtons({container:t,label:_("Position"),object:o,property:"position",callback:n.bind(this,"labels.position"),buttons:"column"===a?[{image:"position-vertical-outside.png",value:"outside"},{image:"position-vertical-bottom.png",value:"start"},{image:"position-vertical-middle.png",value:"middle"},{image:"position-vertical-top.png",value:"end"}]:[{image:"position-horizontal-outside.png",value:"outside"},{image:"position-horizontal-left.png",value:"start"},{image:"position-horizontal-center.png",value:"middle"},{image:"position-horizontal-right.png",value:"end"}]})},renderAllSeriesProperties:function(e,s,t){function c(){switch(m.empty(),h(),b(),d.type){case"bar":s.addBorder({container:m,object:d.bar,dropDown:!1,property:"border",callback:function(e){g("border.".concat(e))}}),s.addSeparator({container:m}),s.addShadow({container:m,object:d.bar,property:"shadow",callback:function(){g("shadow")},codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:m}),s.addSlider({label:_("RoundedCorners"),container:m,object:d.bar,property:"roundness",callback:function(){g("roundness")},interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}});break;case"column":s.addBorder({container:m,object:d.column,property:"border",callback:function(e){g("border.".concat(e))}}),s.addSeparator({container:m}),s.addShadow({container:m,object:d.column,property:"shadow",callback:function(){g("shadow")},codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:m}),s.addSlider({label:_("RoundedCorners"),container:m,object:d.column,property:"roundness",callback:function(){g("roundness")},interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}});break;case"area":var e=s.addSection(),t=(u._renderSeriesSubtype(s,m,d,function(){c(),p("subtype"),p("step")}),s.addSeparator({container:m}),"line."),a=(s.addWidth({container:m,section:e,object:d.area.line,label:_("Line"),property:"width",callback:function(e){g("".concat(t,"width"))}}),s.addColor({dropDown:!1,container:e,object:d.area.line,label:_("LineColor"),property:"color",callback:function(e){g("".concat(t,"color"))}}),s.addToggleButtons({container:e,label:_("LineType"),object:d.area.line,property:"type",callback:function(e){g("".concat(t,"type"))},buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),s.addShadow({container:e,object:d.area.line,property:"shadow",callback:function(e){g("".concat(t,"shadow"))},codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:m}),s.addSection({container:m})),o="negative_values.",n=(s.addBoolean({container:m,section:a,label:_("ColorForNegativeValues"),object:d.area.negative_values,property:"enabled",callback:function(e){g("".concat(o,"enabled"))}}),s.addColor({container:a,dropDown:!1,label:_("FillColor"),object:d.area.negative_values,property:"fill_color",callback:function(e){g("".concat(o,"fill_color"))}}),s.addColor({container:a,dropDown:!1,label:_("LineColor"),object:d.area.negative_values,property:"line_color",callback:function(e){g("".concat(o,"line_color"))}}),s.addSeparator({container:m}),s.addSection()),i="marker.",r=function(){var e=d.area.marker.shape;e&&$("button div.img",l).css("background-image","url('Images/WidgetProperties/marker-".concat(e,".png')"))},l=(s.addToggleButtons({container:m,label:_("Marker"),section:n,object:d.area.marker,property:"shape",callback:function(){r(),g("".concat(i,"shape"))},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),s.addToggleButtons({container:n,label:_("Size"),object:d.area.marker,property:"width",callback:function(e){g("".concat(i,"width"))},numeric:!0,buttons:[{image:"marker-circle.png",value:3,class:"small"},{image:"marker-circle.png",value:7},{image:"marker-circle.png",value:10,class:"big"}]}));r(),s.addColor({container:n,dropDown:!1,label:_("MarkerColor"),object:d.area.marker,property:"color",callback:function(e){g("".concat(i,"color"))}}),s.addBorder({container:n,dropDown:!1,label:_("MarkerBorder"),object:d.area.marker,property:"border",callback:function(e){g("".concat(i,"border"))}});break;case"line":e=s.addSection(),t=(u._renderSeriesSubtype(s,m,d,function(){c(),p("subtype"),p("step")}),s.addSeparator({container:m}),"line."),a=(s.addWidth({container:m,section:e,object:d.line.line,label:_("Line"),property:"width",callback:function(e){g("".concat(t,"width"))}}),s.addToggleButtons({container:e,label:_("LineType"),object:d.line.line,property:"type",callback:function(e){g("".concat(t,"type"))},buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),s.addShadow({container:e,object:d.line.line,property:"shadow",callback:function(e){g("".concat(t,"shadow"))},codeValues:I.SeriesShadowConfiguration}),s.addSeparator({container:m}),s.addSection({container:m})),o="negative_values.",n=(s.addBoolean({container:m,section:a,label:_("ColorForNegativeValues"),object:d.line.negative_values,property:"enabled",callback:function(e){g("".concat(o,"enabled"))}}),s.addColor({container:a,dropDown:!1,label:_("LineColor"),object:d.line.negative_values,property:"line_color",callback:function(e){g("".concat(o,"line_color"))}}),s.addSeparator({container:m}),s.addSection()),i="marker.",r=function(){var e=d.line.marker.shape;e&&$("button div.img",l).css("background-image","url('Images/WidgetProperties/marker-".concat(e,".png')"))},l=(s.addToggleButtons({container:m,label:_("Marker"),section:n,object:d.line.marker,property:"shape",callback:function(){r(),g("".concat(i,"shape"))},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),s.addToggleButtons({container:n,label:_("Size"),object:d.line.marker,property:"width",callback:function(){g("".concat(i,"width"))},numeric:!0,buttons:[{image:"marker-circle.png",value:3,class:"small"},{image:"marker-circle.png",value:7},{image:"marker-circle.png",value:10,class:"big"}]}));r(),s.addColor({container:n,dropDown:!1,label:_("MarkerColor"),object:d.line.marker,property:"color",callback:function(){g("".concat(i,"color"))}}),s.addBorder({container:n,dropDown:!1,label:_("MarkerBorder"),object:d.line.marker,property:"border",callback:function(){g("".concat(i,"border"))}})}}var a,o,d=this.getOrCreateConfiguration(e).config,u=this,p=function(e){for(var t=Utils.getNestedValue(d,e),a=this.getSeriesCombinaisons(),o=0;o<a.length;o++){var n=u.getOrCreateConfiguration(a[o]);Utils.setNestedProperty(n.config,e,t)}this.render()}.bind(this),g=function(e){e="".concat(d.type,".").concat(e);for(var t=Utils.getNestedValue(d,e),a=this.getSeriesCombinaisons(),o=0;o<a.length;o++){var n=u.getOrCreateConfiguration(a[o]);Utils.setNestedProperty(n.config,e,t)}this.render()}.bind(this),h=this._renderSeriesLabels.bind(this,s,t,d,p.bind(this)),b=this._renderTotalSeriesLabels.bind(this,s,t,d,p.bind(this)),e=this._renderDisplayAsZero.bind(this,s,t,d,p.bind(this)),m=(h(),b(),ChartUtils.support3D(u.p.type)&&(a=s.addSection({container:t}).addClass("threeDContainer"),o=u.p.other.threeD,s.addBoolean({container:t,section:a,label:_("3DRendering"),object:o,property:"enabled",callback:u.render.bind(u)}),s.addSlider({container:a,label:_("X"),object:o,property:"x",callback:u.render.bind(u)}),s.addSlider({container:a,label:_("Y"),object:o,property:"y",callback:u.render.bind(u)}),s.addSlider({container:a,label:_("Depth"),object:o,property:"z",callback:u.render.bind(u)}),s.addSeparator({container:t})),e(),s.addDropdown({container:t,label:_("SerieType"),label_class:"large-40",object:d,property:"type",callback:function(e){c(e.value),p("type")},combobox:{appendToBody:!0,inputTemplate:'<span class="imageResize" href="javascript:void(0);"><div class="img" style="background-image: url({{ image }});"></div>{{label}}</span>',liTemplate:'<li><a href="javascript:void(0);"><label><div class="img" style="background-image: url({{ image }});"></div></i><span>{{label}}</span></label></a></li>',containerClasses:"ddl-large",dataprovider:u.getAvailableChartTypes().filter(function(e){return!("bar"===u.p.type&&"column"===e.value||"column"===u.p.type&&"bar"===e.value)})}}),s.addSection().appendTo(t));c()},getOrCreateConfiguration:function(e){var t=this.getSeriesConfiguration(e);return t||(t=$.extend({config:this.getDefaultSeriesConfiguration()},e),this.p.series_custom.push(t)),t},getSeriesConfiguration:function(o){var e,t,a,n;return o?(e=o.value?(e=o.value,t=e.column_id,a=e.aggregation,function(e){return e.value.column_id===t&&e.value.aggregation===a}):function(){return!1},n=this.p.series_custom.filter(e),Utils.arrayFirst(n,function(e){if(e.columns.length===o.columns.length){for(var t=0;t<e.columns.length;t++){var a=e.columns[t];if(a.column_id!==o.columns[t].column_id)return!1;if(a.value!==o.columns[t].value)return!1}return!0}})):null},getTrendsCombinaisons:function(){var l=this,s=[];return this._Data.values.forEach(function(e){e={value:{column_id:e.id,aggregation:e.aggregation,name:e.name,is_unique_per_category:e.is_unique_per_category},columns:[]};0<this._Data.columnHeaders.length?function e(t,a,o){for(var n=0;n<a.length;n++){var i=a[n],r=$.extend(!0,{},t);r.columns.push({column_id:l._Data.columns[o].id,value:i.name}),$.isArray(i.values)&&0<i.values.length?e(r,i.values,o+1):r.value.is_unique_per_category&&n+1==a.length?(r.columns=[],s.push(r)):r.value.is_unique_per_category||s.push(r)}}(e,this._Data.columnHeaders,0):s.push(e)}.bind(this)),s},getTrendsProperties:function(t){var n,e,a,o=this,i=this.render.bind(this);t.addHeader({text:_("TrendTitleTitle"),description:_("TrendTitleDesc")}),this._Data&&(e=this.getTrendsCombinaisons(),n=o._Data.columns,(e=e.map(function(e){var o="",o=e.value.name;return e.columns.forEach(function(t){var e,a=t.value;0<n.length&&((e=n.filter(function(e){return e.id==t.column_id})[0])&&Utils.isDateType(e.type)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,e.type,e.original_type)))),o+=" - ".concat(a)}),{label:o,value:o,series:e}})).unshift({value:null,label:_("SelectASeries")}),t.addDropdown({label:_("Series"),object:{serie:null},property:"serie",callback:function(e){a.empty(),null!==e.value&&(e=e.series,e=o.getOrCreateTrendConfiguration(e).config,t.addText({container:a,label:_("Name"),placeholder:_("NamePlaceholder"),object:e,property:"name",callback:i,event:"focusout"}),t.addSeparator({container:a}),o._renderTrendsEnabled.bind(o,t,a,e,function(e){i.call(o)})())},combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),a=t.addSection().addClass("nomargin").appendTo(t.ui.content),t.addSeparator())},getOrCreateTrendConfiguration:function(e){var t=this.getTrendsConfiguration(e);return t||(t=$.extend({config:this.getDefaultTrendConfiguration()},e),this.p.trends_custom.push(t)),t},getDefaultTrendConfiguration:function(){var e=this.getTrendsCombinaisons().filter(function(e){return"all"==e.value.aggregation})[0],e=this.getTrendsConfiguration(e),e=e?e.config:{};return $.extend(!0,{},I.DefaultTrendsProperties,this.getWidgetStyleConfig().default_trend_style,e)},getTrendsConfiguration:function(o){var e,t,a,n;return o?(e=o.value?(e=o.value,t=e.column_id,a=e.aggregation,function(e){return e.value.column_id===t&&e.value.aggregation===a}):function(){return!1},n=this.p.trends_custom.filter(e),Utils.arrayFirst(n,function(e){if(e.columns.length===o.columns.length){for(var t=0;t<e.columns.length;t++){var a=e.columns[t];if(a.column_id!==o.columns[t].column_id)return!1;if(a.value!==o.columns[t].value)return!1}return!0}})):null},_renderTrendsEnabled:function(e,t,a,o){function n(){switch(r.empty(),a.type){case"polynomial":e.addNumber({container:r,label:_("Order"),object:a,property:"polynomial_order",min:2,max:6,callback:o.bind(this,"polynomial_order")}),e.addNumber({container:r,label:_("Extrapolate"),object:a,property:"polynomial_extrapolation",min:0,max:120,callback:o.bind(this,"polynomial_extrapolation")});break;case"loess":e.addNumber({container:r,label:_("Smooth"),object:a,property:"loess_smooth",min:-100,max:100,callback:o.bind(this,"loess_smooth")});break;case"movingaverage":e.addNumber({container:r,label:_("Periods"),object:a,property:"periods",min:1,max:1e3,callback:o.bind(this,"movingaverage")});break;case"movingaverageconvdiv":e.addNumber({container:r,label:_("ShortPeriod"),object:a,property:"short_period",min:1,max:1e3,callback:o.bind(this,"movingaverageconvdiv")}),e.addNumber({container:r,label:_("LongPeriod"),object:a,property:"long_period",min:1,max:1e3,callback:o.bind(this,"movingaverageconvdiv")})}}var i=$("#trends_enabled_container",t),t=(0<!i.length&&(i=$('<div id="trends_enabled_container"></div>'),t.append(i)),i.empty(),e.addSection()),r=(e.addBoolean({container:i,section:t,label:_("TrendLine"),object:a,property:"enabled",callback:o.bind(this,"enabled")}),e.addSeparator({container:t}),e.addDropdown({container:t,label:_("Type"),object:a,property:"type",callback:function(e){n(e.value),o()},combobox:{appendToBody:!0,dataprovider:[{value:"linear",label:_("Linear")},{value:"exponential",label:_("Exponential")},{value:"logarithmic",label:_("Logarithmic")},{value:"polynomial",label:_("Polynomial")},{value:"power",label:_("Power")},{value:"loess",label:_("Loess")},{value:"movingaverage",label:_("MovingAverage")},{value:"movingaverageconvdiv",label:_("MovingAverageConvDiv")}]}}),e.addSection().appendTo(t));n(),e.addSeparator({container:t}),e.addBorder({container:t,label:_("LineThickness"),object:a,property:"line",label_color:_("LineColor"),callback:o.bind(this,"line")}),e.addToggleButtons({container:t,label:_("LineType"),object:a,property:"line_type",callback:o.bind(this,"line_type"),buttons:[{image:"line-type-plain.png",value:"solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),e.addShadow({container:t,object:a,property:"shadow",callback:o.bind(this,"shadow")})},refreshFromDataDependency:function(e,t){var a=!1;if(this.p.data_id==e&&"bindings"==this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var n=this.p.sort_filter.filters[o];if(n.state!=Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,t)){a=!0;break}}a&&this.tryUpdate()},quickToolbarOptions:function(){var a=this,e=this._quickToolbarOptions(),t=(t=this.getAvailableChartTypes().map(function(e){return{id:e.value,background_image:e.image,title:e.label}})).sort(function(e,t){return e.id==a.p.type||t.id>a.p.type?-1:1});return e.push({class:"chart_type",background_image:t[0].background_image,additional_controls:t,no_multiple_selection:!0,selection_event:function(t){t!=a.p.type&&(a.p.type=t,a.p.series_custom.forEach(function(e){e.config.type=t}),a.update())}}),e},getAvailableChartTypes:function(){var e=[{label:_("Column"),value:"column",image:"/Dashboard/Images/WidgetProperties/chart-column.png"},{label:_("Bar"),value:"bar",image:"/Dashboard/Images/WidgetProperties/chart-bar.png"},{label:_("Area"),value:"area",image:"/Dashboard/Images/WidgetProperties/chart-area.png"},{label:_("Line"),value:"line",image:"/Dashboard/Images/WidgetProperties/chart-line.png"}];return e="DC3"==this.model.type?e.filter(function(e){return"bar"!=e.value}):e}}}();
//# sourceMappingURL=CH.js.map

Widget.createType({id:"CH1",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","y_axis_custom.scale.max","y_axis_custom.scale.min","y_axis_custom.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula","series_custom.config.column.values_custom_properties.category_formula","series_custom.config.column.values_custom_properties.value1_formula","series_custom.config.column.values_custom_properties.value2_formula","series_custom.config.bar.values_custom_properties.category_formula","series_custom.config.bar.values_custom_properties.value1_formula","series_custom.config.bar.values_custom_properties.value2_formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{type:"area"}),prototype:$.extend(!0,{},Widget.CHPrototype,{applyMarginOnChart:DashboardUtils.applyMarginOnChart})});
//# sourceMappingURL=CH1-area.js.map

function _defineProperty(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}Widget.createType({id:"CH10",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","x_axis.scale.max","x_axis.scale.min","x_axis.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedseries","selectedx","selectedxarray","selectedy","selectedyarray","selectedz","selectedzarray","selectedseriesarray","selectedpoint","selectedpointarray"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js","/Libraries/Highcharts/modules/boost.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:null,custom:null},plot_options:[],titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},margins:{top:30,bottom:30,left:20,right:20},roundness:0,plot_background:{color:"#ffffff",enabled:!1,gradient:!1,border:{width:0,color:"#000000"}}},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",fixed_width:!0,reversed:!1,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:{title:{align:"middle",enabled:!1,text:_("ChartMyCategories"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",opposite:!1},y_axis:{title:{rotation:0,enabled:!1,text:_("ChartMyValues"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",bands:"transparent",opposite:!1},z_axis:{title:{align:"middle",enabled:!1,text:_("ChartMyCategories"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},major_grid_lines:{width:1,color:"rgba(32,34,40,0.5)"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",opposite:!1},series_custom:[],other:{threeD:{enabled:!1,alpha:25,beta:10,depth:100,custom_alpha:null,custom_beta:null}},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!0,content:'<p style="text-align: center;">{{this.point.x}}, {{this.point.y}}, {{this.point.z}}</p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{ondblclick:null,onseriesdblclick:null,onseriesclick:{type:null},whendragging:{type:null},toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},ScatterBase.prototype,{createOutputProperties:function(){this.createProperty("selectedx"),this.createProperty("selectedxarray"),this.createProperty("selectedy"),this.createProperty("selectedyarray"),this.createProperty("selectedz"),this.createProperty("selectedzarray"),this.createProperty("selectedseries"),this.createProperty("selectedseriesarray"),this.createProperty("selectedpoint"),this.createProperty("selectedpointarray"),this.resetSelectedOutput()},setOutputFromData:function(){},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedPoints:this.selectedpointarray})},resetState:function(t){t.selectedPoints&&t.selectedPoints.length&&this.setStatesFromPoints(t.selectedPoints)},setStatesFromPoints:function(t){var e=this,t=JSON.parse(t);this.selectedxarray=t.map(function(t){return t.x}),this.selectedx=this.selectedxarray.length?this.selectedxarray[0]:null,this.selectedyarray=t.map(function(t){return e._Data.rows2&&"System.String"===e._Data.rows2.type?e._Data.y_categories[t.y]:t.y}),this.selectedy=this.selectedyarray.length?this.selectedyarray[0]:null,this.selectedzarray=t.map(function(t){return t.value}),this.selectedz=this.selectedzarray.length?this.selectedzarray[0]:null,this.selectedseriesarray=t.map(function(t){return t.series}),Utils.arrayDistinct(this.selectedseriesarray),this.selectedseries=this.selectedseriesarray.length?this.selectedseriesarray[0]:null,this.selectedpoint=t.length?JSON.stringify(t[0]):null},resetSelectedOutput:function(){this.selectedx=null,this.selectedxarray=null,this.selectedy=null,this.selectedyarray=null,this.selectedz=null,this.selectedzarray=null,this.selectedseries=null,this.selectedseriesarray=null,this.selectedpoint=null,this.selectedpointarray=null},updateOutputFromChart:function(t){t=t.getSelectedPoints();this.selectedpointarray=JSON.stringify(t.map(function(t){return{x:t.x,y:t.y,value:t.z,series:t.series.name}})),this.setStatesFromPoints(this.selectedpointarray),this.updateState()},resetSelectedOutputs:function(i){var o=this;Highcharts.wrap(Highcharts.Pointer.prototype,"onContainerClick",function(t,e){var a=$(e.target).closest(".widget");0<a.length&&(a=a.attr("id").replace("widget_",""),i.guid!==a||o._dragging||i.resetSelectedOutput($(e.target)),o._dragging=!1),t.apply(this,Array.prototype.slice.call(arguments,1))})},_resetChartSelection:function(){var t=this.getSelectedPoints();0<t.length&&Highcharts.each(t,function(t){t.select(!1)})},setSample:function(){this._Data=this.customData(),this.render()},getContextualParameters:function(){var t=[];return!this.error&&this._Data&&(t.push({name:"Data",value:this._Data[0]?this._Data[0].data[0]:[]}),t.push({name:"IsCH7",value:!0}),this._Data&&this._Data.x_categories&&t.push({name:"Categories",value:this._Data.y_categories})),t},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.Rows).length&&1===this.getBindings(Enums.WidgetAreas.RowsBis).length&&1===this.getBindings(Enums.WidgetAreas.RowsTer).length},updateService:"CH10Data",updateServiceSuccess:function(t){var e=function(){this.render()}.bind(this);if(this.isCustomDataMode()){this._Data=t;var a,i=$.extend(!0,[],this.customData());0<this.p.sort_filter.filters.length&&(a=this.p.sort_filter.filters.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),i[0].data=DashboardUtils.filterData(i[0].data,a)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(i[0][1],{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),this._Data=i,this._resolveScaleMinMaxCustom(this._Data,e)}else{this._Data=t.data,this._Data.rows=t.rows,this._Data.rows2=t.rows2,this._Data.rows3=t.rows3,this._Data.columns=t.columns,this._Data.x_categories=t.x_categories,this._Data.y_categories=t.y_categories,this._Data.z_categories=t.z_categories,this._Data.scaleFormulaResults=t.scaleFormulaResults,this._Data.intervalFormulaResult=t.intervalFormulaResult;for(var o=0;o<t.plotFormulaResults.length;o++)this.p.plot_options.length>o&&(this.p.plot_options[o]._results=t.plotFormulaResults[o]);e()}},getHighchartsData:function(l,s,n,d,o){var c=function(t,i){return function(t){var e;if(o)for(var a=0;a<o.length;a++)Utils.isDateType(o[a].type)&&(t.names[a]=Utils.formatValue(t.names[a],DashboardUtils.applyFormat(null,o[a].type)));return t.configuration.config.name?e=t.configuration.config.name:(e=t.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===i&&t.value&&(e=t.value.name)),$.extend(t,{name:e})}},h=function(a,i){return function(t){var e=(e=a(t))||{config:i(),columns:t.columns};return $.extend({},t,{configuration:e})}};return{series:function(t,e){for(var a=[],i=0;i<l.length;i++){var o={},r=l[i];o.columns=r.columns,o.names=r.columns.map(function(t){return t.value}),s&&Utils.isDateType(s.type)&&r.data.forEach(function(t){t[0]=moment(t[0]).valueOf()}),n&&Utils.isDateType(n.type)&&r.data.forEach(function(t){t[1]=moment(t[1]).valueOf()}),d&&Utils.isDateType(d.type)&&r.data.forEach(function(t){t[2]=moment(t[2]).valueOf()}),o.data=r.data,a.push(o)}return a=a.map(h(t,e)).map(c())}(this.getSeriesConfiguration.bind(this),this.getDefaultSeriesConfiguration.bind(this))}},render:function(){ChartUtils.destroyChart(this.ui);try{var t,e,a,i,n,o,d=this,r=this.getHighchartsData(this._Data,this._Data.rows,this._Data.rows2,this._Data.rows3,this._Data.columns).series,l=(this.setOutputFromData(r),!1),s={exporting:{enabled:!1},chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),boost:{seriesThreshold:500},credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(r,this.p.legend),tooltip:{enabled:this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content,shared:!1,useHTML:!0,borderWidth:null==(t=this.p.tooltip)?void 0:t.background.border.width,borderColor:null==(e=this.p.tooltip)?void 0:e.background.border.color,borderRadius:null==(a=this.p.tooltip)?void 0:a.background.roundness,backgroundColor:null==(i=this.p.tooltip)?void 0:i.background.color,formatter:function(){return DashboardUtils.formatWidgetTooltip([{regex:"this.point.x",value:this.point.x,format:!0},{regex:"this.point.y",value:this.point.y,format:!0},{regex:"this.point.z",value:this.point.z,format:!0},{regex:"this.series.name",value:this.series.name},{regex:"this.series.valueMin",value:this.series.dataMin,format:!0},{regex:"this.series.valueMax",value:this.series.dataMax,format:!0}],d.p.tooltip.content,d)}},plotOptions:{scatter3d:{width:10,height:10,depth:10},series:{animation:!1,shadow:!1,turboThreshold:0,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0},events:{click:function(t){!Utils.isMobileDevice()&&d.p.interactions.onseriesclick&&"data_points"===d.p.interactions.onseriesclick.type&&(e=t.point,(a=-1!==this.chart.getSelectedPoints().indexOf(e))&&e.select(!1,!0),t.altKey||t.ctrlKey||d._resetChartSelection.call(this.chart,d),a||e.select(!0,!0),d.updateOutputFromChart(this.chart));var e,a,i=d.p.interactions.onseriesdblclick;if(l&&i){switch(i.type){case"url":DashboardUtils.handleUrlInteraction(d.dashboard,d,i);break;case"dashboard":d.handleDashboardInteraction(i)}l=!1}else l=!0,setTimeout(function(){l=!1},200)}}}},xAxis:this._getHighchartsXAxis(this.p.x_axis,this._Data.rows),yAxis:this._getHighchartsYAxis(this.p.y_axis,this._Data.rows2),series:this._getHighchartsSeries(this._Data.x_categories,r,this.p.x_axis,this.p.y_axis,this._Data.rows2),zAxis:this._getHighchartsZAxis(this.p.z_axis,this._Data.rows3)};this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this.ui.highcharts(s),!Utils.isMobileDevice()&&this.p.interactions.whendragging&&"rotate"===this.p.interactions.whendragging.type&&(n=this.ui.highcharts(),o=function(t){d._resetChartSelection.call(n);var a=(t=n.pointer.normalize(t)).chartX,i=t.chartY,o=n.options.chart.options3d.alpha,r=n.options.chart.options3d.beta,e=[];function l(t){t=n.pointer.normalize(t);var e=o+(t.chartY-i)/2,t=r+(a-t.chartX)/2;n.update({chart:{options3d:{alpha:e,beta:t}}},void 0,void 0,!1),(180<e||e<-180)&&(e%=180),(180<t||t<-180)&&(t%=180),d.p.other.threeD.alpha=e,d.p.other.threeD.beta=t,d.settings&&(e=d.settings.currentTab.ui.nav?d.settings.currentTab.ui.nav.find(".active").attr("panel"):null)&&"other"===e&&d.settings.Format.reload_panel(),d.state===Enums.DataRecordState.Unchanged&&d.setModifiedState()}function s(){e.forEach(function(t){t&&t()}),e.length=0}e.push(Highcharts.addEvent(document,"mousemove",l)),e.push(Highcharts.addEvent(document,"touchmove",l)),e.push(Highcharts.addEvent(document,"mouseup",s)),e.push(Highcharts.addEvent(document,"touchend",s))},Highcharts.addEvent(n.container,"mousedown",o),Highcharts.addEvent(n.container,"touchstart",o)),ChartUtils.putPlotAreaOnTop(this.ui),this.updateState()}catch(t){this.error=t}},getTooltipMacro:function(){return[["{{this.point.x}}",_("XPointValue")],["{{this.point.y}}",_("YPointValue")],["{{this.point.z}}",_("ZPointValue")],["{{this.series.name}}",_("SeriesName")],["{{this.series.valueMin}}",_("SeriesMin")],["{{this.series.valueMax}}",_("SeriesMax")]]},init:function(){this.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[[11.9,185,1],[14.2,215,4],[15.2,332,3],[16.4,325,2],[17.2,408,5],[18.1,421,2],[18.5,406,6],[28.5,406,7],[19.4,412,7],[22.1,522,3],[22.6,445,2],[23.4,544,1],[25.1,614,5]]),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(e.ui)}),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.p.series_custom.forEach(function(t){t.config.scatter.marker.color=null}),this.render()}.bind(this)),this.on("stylechanged",function(){this.p.series_custom=[],this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=new Settings.Data.Bindings(t);e.templates.area_measure_column='                <li class="area-column cd-draggable measure" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                    <span class="title">{{ name }}</span>                    <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                </li>',e.templates.area_count_column='                <li class="area-column cd-draggable measure count" data-column-id="{{ id }}">                    <span class="title">'.concat(_("Count"),'</span>                    <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                </li>'),e.toggleAxisPopup=function(t){var e=t.find(".axis-picker-ddl .ddl-opener");this.ui.axis_ddl.find("input").prop("checked",!1).end().find('[data-axis-index="{0}"] input'.format(0)).prop("checked",!0).end().css({top:e.offset().top+e.outerHeight(),left:e.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},e.closeCustomPopups=function(){this.ui.axis_ddl.hide()},e.area_column_limits[Enums.WidgetAreas.RowsTer]=1,e.area_column_limits[Enums.WidgetAreas.RowsBis]=1,e.area_column_limits[Enums.WidgetAreas.Rows]=1,e.render([{name:_("X"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Rows,height_ratio:.2},{name:_("Y"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.RowsBis,height_ratio:.2},{name:_("Z"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.RowsTer,height_ratio:.2},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.4}],{count:!1}),e.ui.axis_ddl=$('                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    <li data-axis-index="0"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>'.concat(_("AxisLeft").format(1),'</span></label></li>                    <li data-axis-index="1"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(2),'</span></label></li>                    <li data-axis-index="2"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(3),'</span></label></li>                    <li data-axis-index="3"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(1),'</span></label></li>                    <li data-axis-index="4"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(2),'</span></label></li>                    <li data-axis-index="5"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(3),"</span></label></li>                </ul>")).appendTo("body"),e.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var t=$(this).closest(".area-column");return e.toggleAxisPopup(t),!1}),e.ui.axis_ddl.on("change","input",function(){e.axisPopupChanged()}),e.on("bindingCleared",function(){this.p.series_custom=[],this.p.sort_filter.top_bottom.column=null,this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]}.bind(this)),this.data_destroy_callback=function(){e.destroy()}},renderDataCustomTable:function(t){var e=this.update.bind(this),a=new Settings.Data.CustomTable(t);a.loadData=function(){this.addColumn(_("LabelXValues"),{columnIndex:0}),this.addColumn(_("LabelYValues"),{columnIndex:1}),this.addColumn(_("LabelZValues"),{columnIndex:2});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:"<td></td>",cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.cellValueFormat=function(t){t=$(t).val();return t=!t||""===t||isNaN(t)?0:parseFloat(t)},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},t.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:e,fixed_columns:!0})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t.push({icon:"properties-3dchart-xaxis.png",text:_("X-Axis"),code:"xaxis",renderer:this.getXAxisProperties.bind(this)}),t.push({icon:"properties-3dchart-yaxis.png",text:_("Y-Axis"),code:"yaxis",renderer:this.getYAxisProperties.bind(this)}),t.push({icon:"properties-3dchart-zaxis.png",text:_("Z-Axis"),code:"zaxis",renderer:this.getZAxisProperties.bind(this)}),t.push({icon:"properties-3dchart-series.png",text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,t,!0),t},getYAxisProperties:function(t){var e=this.render.bind(this),a=this.p.y_axis,i=t.addSection();t.addBoolean({section:i,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:i,object:a.labels,property:"font",callback:e}),t.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addSeparator(),t.addDropdown({label:_("AxisScale"),object:a.scale,property:"type",callback:e,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:a.scale,property:"max",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:a.scale,property:"min",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:a.scale,property:"interval",callback:this.tryUpdate.bind(this)}),t.addNumber({label:_("Threshold"),object:a.scale,property:"threshold",callback:e}),t.addBoolean({label:_("Reverse"),object:a.scale,property:"reverse",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()},getXAxisProperties:function(t){var e=this.render.bind(this),a=this.p.x_axis,i=t.addSection();t.addBoolean({section:i,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:i,object:a.labels,property:"font",callback:e}),t.addToggleButtons({container:i,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:e,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addSeparator(),t.addDropdown({label:_("AxisScale"),object:a.scale,property:"type",callback:e,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:a.scale,property:"max",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:a.scale,property:"min",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:a.scale,property:"interval",callback:this.tryUpdate.bind(this)}),t.addNumber({label:_("Threshold"),object:a.scale,property:"threshold",callback:e}),t.addBoolean({label:_("Reverse"),object:a.scale,property:"reverse",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()},getZAxisProperties:function(t){var e=this.render.bind(this),a=this.p.z_axis,i=t.addSection();t.addBoolean({section:i,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:i,object:a.labels,property:"font",callback:e}),t.addToggleButtons({container:i,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:e,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addSeparator(),t.addDropdown({label:_("AxisScale"),object:a.scale,property:"type",callback:e,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:a.scale,property:"max",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:a.scale,property:"min",callback:this.tryUpdate.bind(this)}),t.addFormulaInput({widget:this,container:t.content,containerClass:"scaleFormulas",dashboard:this.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:a.scale,property:"interval",callback:this.tryUpdate.bind(this)}),t.addNumber({label:_("Threshold"),object:a.scale,property:"threshold",callback:e}),t.addBoolean({label:_("Reverse"),object:a.scale,property:"reverse",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()},renderAllSeriesProperties:function(t,i,e){var r=this.getOrCreateConfiguration(t).config,l=this,o=function(t){for(var e=Utils.getNestedValue(r,t),a=this.getSeriesCombinaisons(),i=0;i<a.length;i++){var o=l.getOrCreateConfiguration(a[i]);Utils.setNestedProperty(o.config,t,e)}this.render()}.bind(this),s=i.addSection().addClass("nomargin").appendTo(e);!function(){s.empty(),i.addSeparator({container:s});function t(){var t=r.scatter.marker.shape;t&&$("button div.img",a).css("background-image","url('Images/WidgetProperties/marker-".concat(t,".png')"))}var e=i.addSection(),e=(i.addBoolean({container:s,section:e,label:_("ShowValueLabels"),object:r.labels,property:"enabled",callback:o.bind(this,"labels.enabled")}),i.addBoolean({container:e,label:_("DisplayMeasure"),object:r.labels,property:"show_measure",callback:o.bind(this,"labels.show_measure")}),i.addBoolean({container:e,label:_("DisplayDimension"),object:r.labels,property:"show_dimension",callback:o.bind(this,"labels.show_dimension")}),i.addBoolean({container:e,label:_("DisplaySeries"),object:r.labels,property:"show_series",callback:o.bind(this,"labels.show_series")}),i.addFont({container:e,object:r.labels,property:"font",callback:o.bind(this,"labels.font")}),i.addToggleButtons({container:e,label:_("Rotation"),object:r.labels,property:"rotation",numeric:!0,callback:o.bind(this,"labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),i.addFormat({container:e,label:_("Format"),object:r.labels,property:"format",callback:o.bind(this,"labels.format")}),i.addSeparator({container:s}),i.addSection()),a=(i.addToggleButtons({container:s,label:_("Marker"),section:e,object:r.scatter.marker,property:"shape",callback:function(){t(),o("scatter.marker.shape")},buttons:[{icon:"fa-times",value:null,class:"none"},{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),i.addToggleButtons({container:e,label:_("Size"),object:r.scatter.marker,property:"width",callback:o.bind(this,"scatter.marker.width"),numeric:!0,buttons:[{image:"marker-circle.png",value:2,class:"small"},{image:"marker-circle.png",value:4},{image:"marker-circle.png",value:6,class:"big"}]})),e=(t(),i.addColor({container:e,dropDown:!1,label:_("MarkerColor"),object:r.scatter.marker,property:"color",callback:o.bind(this,"scatter.marker.color")}),i.addBorder({container:e,dropDown:!1,label:_("MarkerBorder"),object:r.scatter.marker,property:"border",callback:o.bind(this,"scatter.marker.border")}),i.addSeparator({container:s}),i.addSection({container:s})),e=(i.addBoolean({container:s,section:e,label:_("ColorForNegativeValues"),object:r.scatter.negative_values,property:"enabled",callback:o.bind(this,"scatter.negative_values.enabled")}),i.addColor({container:e,dropDown:!1,label:_("FillColor"),object:r.scatter.negative_values,property:"fill_color",callback:o.bind(this,"scatter.negative_values.fill_color")}),i.addSeparator({container:s}),l.p.other.threeD);i.addSlider({container:s,label:_("Alpha"),object:e,property:"alpha",callback:l.render.bind(l),min:-180,max:180,interval:10,valueLabelFormat:function(t){return"".concat(Math.floor(t),"°")}}),i.addSlider({container:s,label:_("Beta"),object:e,property:"beta",callback:l.render.bind(l),min:-180,max:180,interval:10,valueLabelFormat:function(t){return"".concat(Math.floor(t),"°")}}),i.addSlider({container:s,label:_("Depth"),object:e,property:"depth",callback:l.render.bind(l),min:0,max:500,interval:25,valueLabelFormat:function(t){return t}}),i.addSeparator({container:s})}()},renderInteractionsTab:function(t){var e=this,a=this.render.bind(this);t.settings.Format.addDropdown({container:t.ui,label:_("WhenDragging"),object:this.p.interactions.whendragging,property:"type",callback:function(){e.updateToolbar(),a()},combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"zoom",label:_("Interaction_Zoom")},{value:"rotate",label:_("Interaction_Rotate")}]}}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),t.settings.Format.addDropdown({container:t.ui,label:_("InteractionType_OnSerieslClick"),object:this.p.interactions.onseriesclick,property:"type",callback:a,combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"data_points",label:_("Interaction_DataPoints")}]}}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",parameters:!0,label:_("InteractionType_OnSeriesDblClick"),items:[{type:null},{type:"dashboard"},{type:"url"}]}),this.renderToolbarProperties(t)},_getHighchartsChart:function(){var t=this,e={type:"scatter3d",width:this.width,zoomType:!Utils.isMobileDevice()&&this.p.interactions.whendragging&&"zoom"===this.p.interactions.whendragging.type?"xy":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:this.p.background.plot_background.enabled?this.p.background.plot_background.border.width:0,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){t._loaded=!0},render:function(){ChartUtils.adjustLegendHeight(t,this)}},options3d:{enabled:!0,alpha:this.p.other.threeD.alpha,beta:this.p.other.threeD.beta,depth:this.p.other.threeD.depth,viewDistance:25,fitToPlot:!0},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right};return e.events.click=function(){t._resetChartSelection.call(this,t)},e},_getHighchartsSeries:function(t,e,l,a){var s,n=a&&Utils.isDateType(a.type),d=a?a.original_type:null,c=e.slice(0);return c.sort(function(t,e){t=t.name,e=e.name;return!isNaN(t)&&!isNaN(e)&&parseFloat(t)<parseFloat(e)?-1:!isNaN(t)&&!isNaN(e)&&parseFloat(t)>parseFloat(e)?1:t.toString().toLowerCase()<e.toString().toLowerCase()?-1:t.toString().toLowerCase()>e.toString().toLowerCase()?1:0}),e.map(function(t){for(var e=0;e<c.length;e++)if(c[e].name===t.name){s=e;break}var a,i=t.configuration.config,o=(a=i.labels.rotation,Utils.arrayFirst([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}],function(t){return t.rotation===a})),r={marker:{enabled:!!(r=i).scatter.marker.shape,symbol:r.scatter.marker.shape,radius:r.scatter.marker.width,lineWidth:r.scatter.marker.border.width,lineColor:r.scatter.marker.border.color},color:r.scatter.marker.color,negativeColor:r.scatter.negative_values.enabled?r.scatter.negative_values.fill_color:null};return $.extend({index:s,name:i.name||t.name,data:t.data,type:"scatter",yAxis:0,threshold:l.scale.threshold,userData:{seriesConfig:i},dataLabels:{enabled:i.labels.enabled,rotation:i.labels.rotation,y:o.y||0,x:o.x||0,style:{fontFamily:i.labels.font.family,fontSize:"".concat(i.labels.font.size,"px"),textShadow:i.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(i.labels.font.family,i.labels.font.font_weight),fontStyle:i.labels.font.italic?"italic":"",textDecoration:i.labels.font.underline?"underline":"",textOutline:null,color:i.labels.font.color},formatter:function(){var t,e=i.labels,a="";return e.show_dimension&&(t=this.key,(n||d&&Utils.isDateType(d))&&(t=new Date(t).toISOString()),a=Utils.formatValue(t,e.format)),e.show_measure&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.y,e.format)),e.show_series&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.series.name,e.format)),a}}},r)})},_getHighchartsZAxis:function(e,a){Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family);var i=a&&Utils.isDateType(a.type),o=a?a.original_type:null,t={showFirstLabel:!1,categories:this._getZAxisCategories(a),type:i?"datetime":e.scale.type,title:{text:e.title.enabled?e.title.text:"",align:e.title.align,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},opposite:e.opposite,startOnTick:!0,endOnTick:!0,minorTickInterval:"auto",gridLineWidth:e.major_grid_lines.width,gridLineColor:e.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:e.minor_grid_lines.width,minorGridLineColor:e.minor_grid_lines.color,alternateGridColor:e.bands,tickColor:e.ticks,crosshair:!1,tickLength:5,tickWidth:"transparent"!==e.ticks?1:0,labels:{enabled:e.labels.enabled,rotation:e.labels.rotation,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}},reversed:e.scale.reverse},r=(this._Data.scaleFormulaResults&&((r=this._Data.scaleFormulaResults[2])&&null!==r.max_result&&$.isNumeric(r.max_result.value)&&(t.max=parseFloat(r.max_result.value)),r&&null!==r.min_result&&$.isNumeric(r.min_result.value)&&(t.min=parseFloat(r.min_result.value))),!this._Data.intervalFormulaResult||(r=this._Data.intervalFormulaResult[2])&&$.isNumeric(r.value)&&0<r.value&&(t.tickInterval=i?24*r.value*3600*1e3:r.value),e.labels.format&&(t.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,a&&a.groupings||[],i,o)}),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&r){for(var l=this.p.plot_options.filter(function(t){return"zaxis"===t.axis_type&&0===t.axis_index}),s=[],n=[],d=0;d<l.length;d++){var c=l[d];Utils.FontUtils.loadFont(c.font.family),"band"===c.type?s.push(ChartUtils.getHighChartsObject(c)):"line"===c.type&&n.push(ChartUtils.getHighChartsObject(c))}s.length&&(t.plotBands=s),n.length&&(t.plotLines=n)}return t},_getZAxisCategories:function(t){return t&&"System.String"===t.type?this._Data.z_categories:null},_getHighchartsYAxis:function(e,a){Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family);var t,i=a&&Utils.isDateType(a.type),o=a?a.original_type:null,r=(_defineProperty(t={opposite:!1,stacking:null,title:{reserveSpace:!0,text:e.title.enabled?e.title.text:"",rotation:e.title.rotation,margin:90===e.title.rotation&&e.title.enabled?e.title.font.size:40,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},labels:{enabled:e.labels.enabled,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}}},"opposite",e.opposite),_defineProperty(t,"gridLineWidth",e.major_grid_lines.width),_defineProperty(t,"gridLineColor",e.major_grid_lines.color),_defineProperty(t,"minorGridLineWidth",e.minor_grid_lines.width),_defineProperty(t,"minorGridLineColor",e.minor_grid_lines.color),_defineProperty(t,"minorTickInterval","auto"),_defineProperty(t,"crosshair",!1),_defineProperty(t,"tickColor",e.ticks),_defineProperty(t,"tickWidth","transparent"!==e.ticks?1:0),_defineProperty(t,"tickLength",5),_defineProperty(t,"alternateGridColor",e.bands),_defineProperty(t,"type",a&&Utils.isDateType(a.type)?"datetime":e.scale.type),_defineProperty(t,"categories",this._getYAxisCategories(a)),_defineProperty(t,"reversed",e.scale.reverse),this._Data.scaleFormulaResults&&((r=this._Data.scaleFormulaResults[0])&&null!==r.max_result&&$.isNumeric(r.max_result.value)&&(t.max=r.max_result.value),r&&null!==r.min_result&&$.isNumeric(r.min_result.value)&&(t.min=r.min_result.value)),!this._Data.intervalFormulaResult||(r=this._Data.intervalFormulaResult[0])&&$.isNumeric(r.value)&&0<r.value&&(t.tickInterval=r.value),e.labels.format&&(t.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,a&&a.groupings||!1,i,o)}),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&r){for(var l=this.p.plot_options.filter(function(t){return"vertical"===t.axis_type&&0===t.axis_index}),s=[],n=[],d=0;d<l.length;d++){var c=l[d];Utils.FontUtils.loadFont(c.font.family),"band"===c.type?s.push(ChartUtils.getHighChartsObject(c)):"line"===c.type&&n.push(ChartUtils.getHighChartsObject(c))}s.length&&(t.plotBands=s),n.length&&(t.plotLines=n)}return t},_getHighchartsXAxis:function(e,a){var t=this,i=(Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family),a&&Utils.isDateType(a.type)),o=a?a.original_type:null,r={categories:this._getXAxisCategories(a),type:i?"datetime":e.scale.type,events:{afterSetExtremes:function(){ChartUtils.handleToolbarZoom(this.eventArgs,t.container)}},title:{text:e.title.enabled?e.title.text:"",align:e.title.align,rotation:e.title.rotation,margin:90===e.title.rotation&&e.title.enabled?e.title.font.size:40,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},opposite:e.opposite,startOnTick:!0,endOnTick:!0,minorTickInterval:"auto",gridLineWidth:e.major_grid_lines.width,gridLineColor:e.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:e.minor_grid_lines.width,minorGridLineColor:e.minor_grid_lines.color,alternateGridColor:e.bands,tickColor:e.ticks,crosshair:!1,tickLength:5,tickWidth:"transparent"!==e.ticks?1:0,labels:{enabled:e.labels.enabled,rotation:e.labels.rotation,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}},reversed:e.scale.reverse},l=(t._Data.scaleFormulaResults&&((l=t._Data.scaleFormulaResults[1])&&null!==l.max_result&&$.isNumeric(l.max_result.value)&&(r.max=parseFloat(l.max_result.value)),l&&null!==l.min_result&&$.isNumeric(l.min_result.value)&&(r.min=parseFloat(l.min_result.value))),!t._Data.intervalFormulaResult||(l=t._Data.intervalFormulaResult[1])&&$.isNumeric(l.value)&&0<l.value&&(r.tickInterval=i?24*l.value*3600*1e3:l.value),e.labels.format&&(r.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,a&&a.groupings||[],i,o)}),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&l){for(var s=this.p.plot_options.filter(function(t){return"horizontal"===t.axis_type&&0===t.axis_index}),n=[],d=[],c=0;c<s.length;c++){var h=s[c];Utils.FontUtils.loadFont(h.font.family),"band"===h.type?n.push(ChartUtils.getHighChartsObject(h)):"line"===h.type&&d.push(ChartUtils.getHighChartsObject(h))}n.length&&(r.plotBands=n),d.length&&(r.plotLines=d)}return r}})});
//# sourceMappingURL=CH10-3d-scatter.js.map

function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _createForOfIteratorHelper(t,e){var a,o,n,i,r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return o=!(a=!0),{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){o=!0,n=t},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw n}}};if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return r&&(t=r),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,o=new Array(e);a<e;a++)o[a]=t[a];return o}!function(){var c="none",d="categories",u="Values";Widget.PiePrototype={getColumnsFormat:function(t){var e=[];if("bindings"===this.p.data.mode){var a=this.p.data_bindings;t||(a=a.filter(function(t){return!t.hidden}));for(var o=0;o<a.length;o++){var n=a[o],i=null,r="System.String";switch(n.area){case Enums.WidgetAreas.Values:i=this.p.labels.value_labels_format,r="System.Double";break;case Enums.WidgetAreas.Rows:i=this.p.labels.value_categories_format,r=this.categoryType}e.push(i?{ColumnId:n.column_id,Index:o,Format:DashboardUtils.applyFormat(i,r)}:{ColumnId:n.column_id,Index:o,Format:DashboardUtils.applyFormat(null,r)})}}return e},init:function(){Highcharts.wrap(Highcharts.Legend.prototype,"renderItem",function(t,e){!1!==e.showInLegend&&t.call(this,e)}),Highcharts.wrap(Highcharts.Legend.prototype,"positionItem",function(t,e){!1!==e.showInLegend&&t.call(this,e)}),this.handleHCContainerClick(),this.categoryType=null,this.categoryOriginalType=null,this.p.data.custom||(this.p.data.custom=[[_("January"),25],[_("February"),12],[_("March"),35]]),this.p.slices_custom_properties||(this.p.slices_custom_properties=[]),this.bindEvents(),this.tryUpdate()},handleHCContainerClick:function(){var a=this,o=!1,n=null;this.ui.on("click",function(t){var e=$(t.target);e&&e.is("path")||(o?(clearTimeout(n),setTimeout(function(){o=!1},200)):(o=!0,n=setTimeout(function(){o=!1,a.resetSelectedOutput(e)},200)))})},onVisibilityChange:function(){this.render()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("fontchanged",function(){this.render()}.bind(this)),this.on(["propertieschanged"],function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.render()}.bind(this)),this.on("stylechanged",function(){this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedcategories"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.resetSelectedOutput()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedcategory:this.selectedcategory,selectedcategories:this.selectedcategories,selectedseries:this.selectedseries})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedcategory=t.selectedcategory,this.selectedcategories=t.selectedcategories,this.selectedseries=t.selectedseries},resetSelectedOutput:function(t){t&&t.is("path")||(this.previousCategory=this.selectedcategory,this.selectedvalue=null,this.selectedcategory=null,this.selectedcategories=[],this.selectedseries=null,(t=this.ui.highcharts())&&(t=t.getSelectedPoints())&&t.length&&t[0].select())},render:function(){var t=null,e={};if(1<(null==(o=this._Data)||null==(o=o.rows)?void 0:o.length)&&this.p.drilldown_categories){var a,o=this.getHighchartsDataFromWSData(this._Data.columnHeaders,this._Data.rowHeaders,this._Data.values,this._Data.rows,this._Data.columns,this.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Values}),this._Data.data),t=o.series;if(1<(null==(a=this._Data)||null==(a=a.values)?void 0:a.length)){var n,i=_createForOfIteratorHelper(t);try{for(i.s();!(n=i.n()).done;){var r,l=n.value,s=_createForOfIteratorHelper(l.data);try{for(s.s();!(r=s.n()).done;){var c=r.value;c.name="".concat(c.name," ").concat(l.name)}}catch(t){s.e(t)}finally{s.f()}}}catch(t){i.e(t)}finally{i.f()}}t=t.flatMap(function(t){return t.data});for(var d=0;d<t.length;d++)t[d].color=this._getSliceColor(d,t[d].name,t[d].y);var u,p=_createForOfIteratorHelper((e=o.drilldown).series);try{for(p.s();!(u=p.n()).done;)for(var h=u.value,g=0;g<h.data.length;g++)h.data[g].name?h.data[g].color=this._getSliceColor(g,h.data[g].name,h.data[g].y):h.data[g]={name:h.data[g][0],y:h.data[g][1],color:this._getSliceColor(g,h.data[g][0],h.data[g][1])}}catch(t){p.e(t)}finally{p.f()}}else t=this._getHighchartsData(this._PieData);this.series=[],this.categories=t.map(function(t){return t.name}),this.updateState(),this.p.labels.hide_empty_slices&&(t=t.filter(function(t){return!!t.y}));try{var m={exporting:{enabled:!1},chart:this._getHighchartsChart(e),colors:this.getColorsFromPalette(),title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),tooltip:this._getHighchartsTooltip(),legend:this._getHighchartsLegend(),plotOptions:this._getHighchartsPlotOptions(),series:[this._getHighchartsSeries(t)],credits:{enabled:!1}};e&&(m.drilldown=e),this.ui.highcharts(m)}catch(t){this.error=t}this.updateContainerStyle("background")},setSample:function(){this._PieData=this.p.data.custom,this.render()},_getHighchartsSeries:function(t){var e,n=this,i=!1,a=0<(null==(a=this._Data)||null==(a=a.values)?void 0:a.length)?" - ".concat(null==(a=this._Data)?void 0:a.values[0].name):"";return{animation:!1,type:"pie",name:this.p.drilldown_categories&&1<(null==(e=this._Data)||null==(e=e.rows)?void 0:e.length)?"".concat(this._Data.rows[0].name).concat(a):"",data:t.filter(function(t){return!t.hidden}).map(function(t){var e=!(t.hidden||!t.y&&n.p.labels.hide_empty_slices);return{color:t.color,name:t.name||"",y:t.y,visible:e,showInLegend:e,catName:t.catName,drilldown:t.drilldown}}),events:{click:function(t){void 0===n._seriesClick&&(n._seriesClicks=0);e=i,a=t.point.selected,e||!a?(n.selectedvalue=t.point.y,n.selectedcategory=t.point.name,n.p.drilldown_categories?n.selectedcategories=(t.point.series.userOptions.path||[]).concat(t.point.name):n.selectedcategories=t.point.name,n.updateState()):(n.selectedvalue=null,n.selectedcategory=null,n.selectedcategories=[]),e&&t.point.select(!0),n._seriesClicks++;var e,a,o=n.p.interactions.onseriesdblclick;if(i&&o){switch(o.type){case"url":DashboardUtils.handleUrlInteraction(n.dashboard,n,o);break;case"dashboard":n.handleDashboardInteraction(o);break;case"data":n._onSeriesClicked(t)}return i=!1}if(i)return!1;i=!0,setTimeout(function(){i=!1},200)}}}},_getHighchartsTitle:function(t){return t.font.halign||(t.font.halign="center"),Utils.FontUtils.loadFont(t.font.family),{text:Utils.disableHTML(t.text),align:t.font.halign,style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}}},_getHighchartsChart:function(t){var e=this,a=this.dashboard&&this.dashboard.in_editor;return{animation:!1,width:this.width,backgroundColor:"transparent",plotBackgroundColor:null,plotBorderWidth:null,plotShadow:!1,style:{fontFamily:'"Open Sans"'},events:{drilldown:function(t){e.updateDrillUpButton(t.seriesOptions,!0)},drillup:function(t){e.updateDrillUpButton(t.seriesOptions)},load:function(){e._loaded=!0},render:function(){ChartUtils.adjustLegendHeight(e,this)}},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right,options3d:{enabled:(a||this._lastvisibilityValue)&&this.p.other.threeD.enabled,alpha:90*this.p.other.threeD.x,beta:90*this.p.other.threeD.y}}},updateDrillUpButton:function(t,e){this._drilldownPaths&&this._drilldownPaths.length||(this._drilldownPaths=[t.cid]),e?this._drilldownPaths.push(t.name):this._drilldownPaths.pop(),ChartUtils.updateDrillUpButton(this)},_getHighchartsTooltip:function(){var a=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?{enabled:!0,useHTML:!0,borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color,formatter:function(){var e=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.y,format:!0,defaultFormatting:a.p.labels.value_labels_format},{regex:"this.point.percentage",value:this.percentage.toFixed(1),format:!1,defaultFormatting:a.p.labels.percentage_labels_format},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(t){t=t||a.p.labels.value_categories_format;return Utils.formatValue(e.key,DashboardUtils.applyFormat(t,a.categoryType,a.categoryOriginalType))}}],a.p.tooltip.content,a)}}:{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]},_getHighchartsLegend:function(){var t=this,e=(Utils.FontUtils.loadFont(this.p.legend.font.family),0);if(this.p.legend.enabled&&this.p.legend.fixed_width){for(var a,o="",n=this._getHighchartsData(),i=0;i<n.length;i++)!1!==n[i].showInLegend&&(null===n[i].name&&(n[i].name=""),e<(a=WidgetsCommon.getFormattedAxisLabel(n[i].name,DashboardUtils.applyFormat(this.p.labels.value_categories_format,this.categoryType,this.categoryOriginalType),[],Utils.isDateType(this.categoryType),this.categoryOriginalType)).length&&(e=a.length,o=a));e=DashboardUtils.measureText(o,this.p.legend.font.family,this.p.legend.font.size,this.p.legend.font.font_weight===Enums.FontWeights.Bold,this.p.legend.font.italic)}var r={enabled:this.p.legend.enabled,itemStyle:{fontFamily:this.p.legend.font.family,fontSize:"".concat(this.p.legend.font.size,"px"),textShadow:this.p.legend.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(this.p.legend.font.family,this.p.legend.font.font_weight),fontStyle:this.p.legend.font.italic?"italic":"",textDecoration:this.p.legend.font.underline?"underline":"",color:this.p.legend.font.color},itemMarginBottom:2,layout:this.p.legend.layout,y:"top"===this.p.legend.position?this._getLegendYPosition():0,labelFormatter:function(){return t._getLegendLabel(this)},align:"left"===this.p.legend.position?"left":"right"===this.p.legend.position?"right":"center",verticalAlign:"top"===this.p.legend.position?"top":"bottom"===this.p.legend.position?"bottom":"middle",itemWidth:this.p.legend.fixed_width?e+30:null,itemDistance:this.p.legend.fixed_width?0:20,backgroundColor:this.p.legend.background_color,borderColor:this.p.legend.border.color,borderWidth:this.p.legend.border.width,borderRadius:"".concat(this.p.legend.roundness,"px"),reversed:this.p.legend.reversed||!1};return this._lastvisibilityValue||this.dashboard&&!this.dashboard.in_editor&&(r.enabled=!1,r.navigation={enabled:!1}),r},_getHighchartsPlotOptions:function(){var a=this;return Utils.FontUtils.loadFont(this.p.labels.font.family),this.dblclick=!1,{pie:{size:this.p.other.fixed_pie?"".concat(100*this.p.other.fixed_pie_size,"%"):null,depth:100*this.p.other.threeD.z,innerSize:"".concat(this.p.slices.inner_size,"%"),borderColor:this.p.slices.border.color,borderWidth:this.p.slices.border.width,events:{click:function(t){a.previousCategory&&a.previousCategory===t.point.name||(a.selectedvalue=t.point.y,a.selectedcategory=t.point.name,a.p.drilldown_categories?a.selectedcategories=(t.point.series.userOptions.path||[]).concat(t.point.name):a.selectedcategories=t.point.name,a.updateState());var e=a.p.interactions.onseriesdblclick;if(a.dblclick&&e&&!a.p.drilldown_categories){switch(e.type){case"url":DashboardUtils.handleUrlInteraction(a.dashboard,a,e);break;case"dashboard":a.handleDashboardInteraction(e);break;case"data":a._onSeriesClicked(t)}return a.dblclick=!1}a.dblclick=!0,setTimeout(function(){a.dblclick=!1},200)}},shadow:{color:"rgba(0, 0, 0)",offsetX:0,offsetY:0,opacity:.2,width:this.p.slices.shadow.radius/2},allowPointSelect:!0,cursor:"pointer",enableMouseTracking:this._lastvisibilityValue,dataLabels:{enabled:this.p.labels.show_labels,formatter:function(){return a._getSliceLabel(this)},style:{color:this.p.labels.font.color,textShadow:this.p.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",textDecoration:this.p.labels.font.underline?"underline":"none",fontFamily:this.p.labels.font.family,fontWeight:Utils.FontUtils.getFontWeight(this.p.labels.font.family,this.p.labels.font.font_weight),fontStyle:this.p.labels.font.italic?"italic":"normal",fontSize:"".concat(this.p.labels.font.size,"px"),textOutline:null},connectorColor:this.p.labels.border.color,connectorWidth:this.p.labels.border.width,distance:this.p.labels.label_distance},showInLegend:!0}}},_getHighchartsData:function(){var a=this,t=this._PieData,e=[];return e=t?t.filter(function(t){return!t[2]}).map(function(t,e){return{y:t[1],name:t[0],color:a._getSliceColor(e,t[0],t[1]),hidden:t[2]}}):e},_getSliceColor:function(t,e,a){function o(e){return function(t){return t.category&&e&&t.category.toString()===e.toString()}}var n;if(this.p.conditional_colors_type===u?i=Utils.arrayFirst(this.p.slices_custom_properties,(n=a,function(t){switch(t.operator){case DashboardUtils.WidgetOperator.Equals:return n==t.value1_result;case DashboardUtils.WidgetOperator.Between:return t.value1_result<=n&&n<=t.value2_result;case DashboardUtils.WidgetOperator.GreaterOrEqualThan:return n>=t.value1_result;case DashboardUtils.WidgetOperator.GreaterThan:return n>t.value1_result;case DashboardUtils.WidgetOperator.LessOrEqualThan:return n<=t.value1_result;case DashboardUtils.WidgetOperator.LessThan:return n<t.value1_result;case DashboardUtils.WidgetOperator.NotEqualTo:return n!=t.value1_result}})):this.p.conditional_colors_type===c&&!this.p.slices_custom_properties.length||(i=Utils.arrayFirst(this.p.slices_custom_properties,o(e))),i)r=i.color;else{a=Utils.arrayFirst(this.p.slices_custom_properties,o("addAllOtherCategories"));if(a)return a.color;var e=this.getColorsFromPalette(),i=t,r=e[i=t>=e.length?t%e.length:i]}return this.p.slices.gradient?{radialGradient:{cx:.5,cy:.3,r:.7},stops:[[0,r],[1,Highcharts.Color(r).brighten(-.3).get("rgb")]]}:r},_getSliceLabel:function(t){var e=Utils.arrayFirst(this.p.data_bindings,function(t){return"DateDimensionDataBindingProperties:#Infinis"===t.__type}),a=null,e=(e&&(a=e.grouping),"");return null===t.point.y||t.point.y<0?null:(this.p.labels.show_category_labels&&(a=WidgetsCommon.getFormattedAxisLabel(t.point.name,DashboardUtils.applyFormat(this.p.labels.value_categories_format,this.categoryType,this.categoryOriginalType),a,Utils.isDateType(this.categoryType),this.categoryOriginalType),e+="{0}<br />".format(a)),this.p.labels.show_value_labels&&(e+="{0}".format(Utils.formatValue(t.point.y,this.p.labels.value_labels_format))),this.p.labels.show_percentage_labels&&(this.p.labels.show_value_labels?e+=" ({0})".format(Utils.formatValue(t.point.percentage,this.p.labels.percentage_labels_format)):e+=" {0}".format(Utils.formatValue(t.point.percentage,this.p.labels.percentage_labels_format))),e)},_getLegendLabel:function(t){return null===t.name?null:(t=t.name,!Utils.isDateType(this.categoryType)&&this.categoryOriginalType&&Utils.isDateType(this.categoryOriginalType)&&(t=WidgetsCommon.parseDataUsingGrouping(this.categoryGroupings,t)),this.p.legend.enabled?"{0}".format(WidgetsCommon.getFormattedAxisLabel(t,DashboardUtils.applyFormat(this.p.labels.value_categories_format,this.categoryType,this.categoryOriginalType),[],Utils.isDateType(this.categoryType),this.categoryOriginalType)):void 0)},_onSeriesClicked:function(t){var e=this;if(this.canUpdateData()&&e.dashboard){var a=[];if(n=Utils.arrayFirst(e.p.data_bindings,function(t){return t.area===Enums.WidgetAreas.Rows})){var o,n,i=e.getColumnFromId(this._rowsColumns,n.column_id),r=t.point.name;if(1<e.values.length)for(var l=0;l<e.values.length;l++)r=r.replace(ChartUtils.SERIES_NAME_SEPARATOR+e.values[l].name,"");e.p.sort_filter.top_bottom.enabled&&e.p.sort_filter.top_bottom.others&&e.p.sort_filter.top_bottom.others_name===r?e._PieData.filter(function(t){return t[0]!==e.p.sort_filter.top_bottom.others_name}).forEach(function(t){a.push({Column:i.original_name,ColumnId:i.id,Value:t[0],Grouping:n.grouping||null,Operator:9})}):(this.p.drilldown_categories&&(o=t.point.series.options._levelNumber,r=t.point.catName||t.point.name,n=e.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Rows}),i=e.getColumnFromId(this._rowsColumns,n[o||0].column_id)),a.push({Column:i.original_name,ColumnId:i.id,Value:r,Grouping:n.grouping||null,Operator:8}))}e.displayRowDataPopup(a)}},_getLegendYPosition:function(){var t=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.title.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.title.text)).css({"font-family":this.p.titles.title.font.family,"font-size":"".concat(this.p.titles.title.font.size,"px"),"text-shadow":this.p.titles.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.title.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.title.font.family,this.p.titles.title.font.font_weight),"font-style":this.p.titles.title.font.italic?"italic":"normal","text-decoration":this.p.titles.title.font.underline?"underline":"none"}),e=$("<div>").css({position:"absolute",visibility:"hidden","font-size":"".concat(this.p.titles.subtitle.font.size,"px")}).append(Utils.sanitizeHTML(this.p.titles.subtitle.text)).css({"font-family":this.p.titles.subtitle.font.family,"font-size":"".concat(this.p.titles.subtitle.font.size,"px"),"text-shadow":this.p.titles.subtitle.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.titles.subtitle.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.titles.subtitle.font.family,this.p.titles.subtitle.font.font_weight),"font-style":this.p.titles.subtitle.font.italic?"italic":"normal","text-decoration":this.p.titles.subtitle.font.underline?"underline":"none"}),a=(t.appendTo("body"),e.appendTo("body"),t.outerHeight()+e.outerHeight()+5);return t.remove(),e.remove(),a},initializeSettings:function(){var t=this;this.on("data_changed",function(){t.setSortFilterTabState()})},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                             <span>{{ label }}</span>                             <ul class="multiple_labels">                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                             </ul>                         </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDataDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.resetSortAndFilters(),e.update()})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(e){var r=this,t=new Settings.SortFilter.TopBottom(e);t.hasOthersOption=!0,t.isOthersEnabled=!0,t.updateDataCallback=function(){r._isDirty=!0,r.update()},t.getTopBottomColumns=function(i){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,n=r.p.data_bindings[a];n.area===Enums.WidgetAreas.Values&&(n.__type.startsWith("CountDataBindingProperties")?e.push({label:n.name||_("Count"),value:n.guid,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(t.columns,n.column_id))&&e.push({label:n.name||o.name,value:n.guid,is_context:o.is_context||!1,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,column_id:o.id}))}i(e)});break;case"custom":case"formula":var t=[{label:_("Categories"),value:0,area:Enums.WidgetAreas.Rows},{label:_("Values"),value:1,area:Enums.WidgetAreas.Values}];t.sort(function(t,e){return t.label.localeCompare(e.label)}),t.unshift({label:_("SelectAValue"),value:null}),i(t)}},t.render()},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var r=this,t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(i){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,n=r.p.data_bindings[a];n.__type.startsWith("CountDataBindingProperties")?e.push({label:n.name||_("Count"),value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(t.columns,n.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:n.name||o.name,value:n.guid,area:n.area,is_context:o.is_context||!1,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,column_id:o.id})}i(e)});break;case"custom":case"formula":var t=[{label:_("Categories"),value:0,area:Enums.WidgetAreas.Rows},{label:_("Values"),value:1,area:Enums.WidgetAreas.Values}];i(t)}},t.updateDataCallback=function(){e._isDirty=!0,r.update()},t.render()},renderFilter:function(e){var l=this,o=new Settings.SortFilter.Filter(e);o.getFilterColumns=function(r){switch(l.p.data.mode){case"bindings":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var o=l.p.data_bindings[a],n=l.getColumnFromId(t.columns,o.column_id);n&&e.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:o.name||n.name,value:"".concat(n.id).concat(o.aggregation||""),column_id:n.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var i=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(i.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));r(e)});break;case"custom":case"formula":var t=[{label:_("Categories"),value:0,column_id:0},{label:_("Values"),value:1,column_id:1}];r(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){l.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","formula"===this.p.data.mode||"bindings"===this.p.data.mode&&!this.p.data_id)},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||1<=this.getBindings(Enums.WidgetAreas.Values).length},updateService:function(){return"bindings"!==this.p.data.mode?"Formulas":"CH2Data"},updateServiceSuccess:function(t){var a,e,o,n,i=this,r=this;switch("bindings"===this.p.data.mode&&t?(a=t.data,e=t.slice_formulas):a=t,this.categoryType=null,this.categoryInternalType=null,this.values=[],this.p.data.mode){case"formula":if(0<a.length){this.p.data.formula_result=a[0].value;for(var l=a.splice(1,a.length),s=0;s<this.p.sort_filter.filters.length;s++)this.p.sort_filter.filters[s].formula_result=l[s].value;for(var c=l.splice(this.p.sort_filter.filters.length,l.length),d=this.p.slices_custom_properties.length,u=2*this.p.slices_custom_properties.length,p=0;p<this.p.slices_custom_properties.length&&(c&&c.length&&!(c.length<p));p++){var h=c[p],g=this.p.slices_custom_properties[p],m=c[p+d],b=c[p+u];h&&void 0!==_typeof(h.value)&&null!==h.value&&(g.value1_result=h.value),m&&void 0!==_typeof(m.value)&&null!==m.value&&(g.value2_result=m.value),b&&void 0!==_typeof(b.value)&&null!==b.value&&(g.category=b.value)}}break;case"bindings":for(var f=0;f<this.p.slices_custom_properties.length&&(e&&e.length&&!(e.length<f));f++){var _=e[f],y=this.p.slices_custom_properties[f];_&&void 0!==_typeof(_.category_result)&&null!==_.category_result&&(y.category=_.category_result.value),_&&void 0!==_typeof(_.value1_result)&&null!==_.value1_result&&(y.value1_result=_.value1_result.value),_&&void 0!==_typeof(_.value2_result)&&null!==_.value2_result&&(y.value2_result=_.value2_result.value)}if(a&&a.data){0<a.rows.length&&(this._rowsColumns=a.rows,this.categoryType=a.rows[0].type,this.categoryOriginalType=a.rows[0].original_type,this.categoryGroupings=a.rows[0].groupings),this.values=a.values,this._PieData=[];for(var v,C,w=function(t,e,a){return 1<a&&(t=Utils.formatValue(t,DashboardUtils.applyFormat(r.p.labels.value_categories_format,r.categoryType,r.categoryOriginalType)),t+=ChartUtils.SERIES_NAME_SEPARATOR+e.name),t},D=0;D<a.values.length;D++)!function(){var e=r.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Values});v=Utils.arrayFirst(e,function(t){return t.column_id==a.values[D].id&&e.indexOf(t)===D}),C=!1,v&&(C=v.hidden);for(var t=0;t<a.data[D].length;t++)a.rowHeaders[t]?i._PieData.push([w(a.rowHeaders[t].name,a.values[D],a.values.length),a.data[D][t][0],C]):i._PieData.push([a.values[D].name,a.data[D][t][0],C])}()}this._Data={},this._Data.data=t.data.data,this._Data.columnHeaders=t.data.columnHeaders,this._Data.rowHeaders=t.data.rowHeaders,this._Data.values=t.data.values,this._Data.rows=t.data.rows,this._Data.columns=t.data.columns}if("custom"===this.p.data.mode||"formula"===this.p.data.mode){switch(this.p.data.mode){case"custom":n=this.p.data.custom.concat();break;case"formula":n=this.p.data.formula_result}0<this.p.sort_filter.filters.length&&(o=this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column,operator:t.operator,value:t.formula_result}}),n=DashboardUtils.filterData(n,o)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(n,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})&&DashboardUtils.sortData(n,this.p.sort_filter.sorts),this._PieData=n}"custom"===this.p.data.mode?this.resolveSliceFormulasForCustom(this.render.bind(this)):this.render()},resolveSliceFormulasForCustom:function(r){var t,e=[],a=_createForOfIteratorHelper(this.p.slices_custom_properties);try{for(a.s();!(t=a.n()).done;){var o=t.value;e.push(o.category_formula),e.push(o.value1_formula),e.push(o.value2_formula)}}catch(t){a.e(t)}finally{a.f()}this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{Formulas:e,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(t){if(this.loading=!1,t.Success){var e,a=0,o=_createForOfIteratorHelper(this.p.slices_custom_properties);try{for(o.s();!(e=o.n()).done;){var n,i=e.value;void 0!==(n=t.Result[a++]).value&&null!==n.value&&(i.category=n.value),void 0!==(n=t.Result[a++]).value&&null!==n.value&&(i.value1_result=n.value),void 0!==(n=t.Result[a++]).value&&null!==n.value&&(i.value2_result=n.value)}}catch(t){o.e(t)}finally{o.f()}r&&r()}})},getCustomData:function(){return this.p.data.custom},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===parseInt(t)&&"bindings"===this.p.data.mode&&(a=!0),"formula"===this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var n=this.p.sort_filter.filters[o];if(n.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,e)){a=!0;break}}a&&this.tryUpdate()},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t);break;case"formula":this.renderDataFormula(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=new Settings.Data.Bindings(t);e.templates.area_measure_column='                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',e.templates.area_count_column='                <li class="area-column measure count {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',e.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5},{area:Enums.WidgetAreas.Rows,drilldown:void 0!==this.p.drilldown_categories,drilldownicon:this.p.drilldown_categories?"fa-bullseye-pointer":"fa-bullseye",height_ratio:.5,name:_("Categories"),placeholder:_("DropDimensions")}]),e.on("bindingCleared",function(){this.resetSortAndFilters()}.bind(this)),e.on("bindingRemoved",function(t){this.resetSortAndFilters(t)}.bind(this)),this.data_destroy_callback=function(){e.destroy()}},renderDataCustomTable:function(t){var e=this.update.bind(this),a=this,o=new Settings.Data.CustomTable(t);this._setCustomTableOptions(o),this.data_destroy_callback=function(){o.destroy()},t.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),o.render({object:this.p.data,property:"custom",callback:function(){a.p.sort_filter.sorts.forEach(function(e){"custom"===e.direction&&e.column&&(e.custom_order=a.p.data.custom.concat().map(function(t){return t[e.column]}))}),e()},fixed_columns:!0})},renderDataFormula:function(t){var e=this,a=t.ui,o=(a.append($('<header class="nomargin">').text(_("CH2FormulaDataHeader"))),new Settings.Data.CustomTable(t));t.ui.addClass("margin_top"),this.settings.Format.addFormulaInput({container:a,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate(),e.p.data.formula_result=t,e._redrawCustomTable(a,o)}}),this._setCustomTableOptions(o,!0),this._redrawCustomTable(a,o)},_setCustomTableOptions:function(t,e){t.loadData=function(){if(this.addColumn(_("Categories"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1}),this._data)for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])};e=e?"readonly":"";t.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" '.concat(e,' class="category" value="{{ name }}" /></div></td>'),cell_data:'<td><div><input type="text" '.concat(e,' class="data" value="{{ value }}" /></div></td>'),cell_row_reorder:"<td></td>",cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},t.numberOfColumns=function(){return 2},t.startIndex=0,t.cellValueFormat=function(t,e){t=$(t).val();return 0<e?""===t||isNaN(t)?0:parseFloat(t):t}},_redrawCustomTable:function(t,e){$(".table-custom",t).remove(),e.render({object:this.p.data,property:"formula_result",fixed_columns:!0}),$(".table-custom",t).addClass("border-top")},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t.push({icon:"pie-chart-pie.png",text:_("Pie"),code:"other",renderer:this.getPieProperties.bind(this)}),t.push({icon:"pie-chart-slices.png",text:_("Slices"),code:"slices",renderer:this.getSlicesProperties.bind(this)}),t.push({icon:"pie-chart-labels.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.render.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,dropDown:!0,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.updateContainerStyle.bind(this,"background");t.addBackgroundColor({object:this.p.background,property_color:"background_color",property_gradient:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:this.render.bind(this)},{label:_("Bottom"),name:"bottom",callback:this.render.bind(this)},{label:_("Left"),name:"left",callback:this.render.bind(this)},{label:_("Right"),name:"right",callback:this.render.bind(this)}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getLegendProperties:function(t){var e=this.render.bind(this),a=t.addSection();t.content.append(a),t.addBoolean({section:a,label:_("ShowLegend"),object:this.p.legend,property:"enabled",callback:e}),t.addSeparator({container:a}),t.addFont({container:a,object:this.p.legend,property:"font",callback:e}),t.addSeparator({container:a}),t.addToggleButtons({container:a,label:_("Layout"),object:this.p.legend,property:"layout",callback:e,buttons:[{image:"legend-layout-horizontal.png",value:"horizontal"},{image:"legend-layout-vertical.png",value:"vertical"}]}),t.addToggleButtons({container:a,label:_("Position"),object:this.p.legend,property:"position",callback:e,buttons:[{image:"legend-position-top.png",value:"top"},{image:"legend-position-right.png",value:"right"},{image:"legend-position-bottom.png",value:"bottom"},{image:"legend-position-left.png",value:"left"}]}),t.addBoolean({container:a,label:_("LegendReverse"),object:this.p.legend,property:"reversed",callback:e}),t.addBoolean({container:a,dropDown:!1,label:_("LegendEqualWidth"),object:this.p.legend,property:"fixed_width",callback:e}),t.addSeparator({container:a}),t.addColor({container:a,dropDown:!1,label:_("BackgroundColor"),object:this.p.legend,property:"background_color",callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,dropDown:!1,object:this.p.legend,property:"border",callback:e}),t.addSeparator({container:a}),t.addSlider({label:_("RoundedCorners"),container:a,object:this.p.legend,property:"roundness",callback:e,interval:1,max:30,min:0,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator({container:a})},getSlicesProperties:function(e){var a=this,o=this.render.bind(this),t=(e.addBorder({object:this.p.slices,property:"border",callback:o}),e.addSeparator(),e.addShadow({object:this.p.slices,property:"shadow",callback:o}),e.addSeparator(),e.addBoolean({label:_("Gradient"),object:this.p.slices,property:"gradient",callback:o}),e.ui.content),n=(t.append('<div class="CH2_slices_container"></div>'),$(".CH2_slices_container",t)),i=(e.addDropdown({container:n,label:_("ConditionalColors"),object:this.p,property:"conditional_colors_type",callback:function(t){a.p.slices_custom_properties=[],a.p.slices_custom_properties.push({category:"addAllOtherCategories",operator:"default"}),a.onConditionalDropdownChange(e,n,t.value),o()},combobox:{dataprovider:[{value:c,label:_("None")},{value:d,label:_("Categories")},{value:u,label:_("Values")}]}}),e.addSeparator({container:n}),'<div class="CH2_conditional_table_container">                                            <button type="button" class="btn btn-default btn-grey addConditionalColor">'.concat(_("AddCustomColor"),'</button>                                            <div class="sortable_list_container"></div>                                      </div>'));n.append(i),this.onConditionalDropdownChange(e,n,this.p.conditional_colors_type),$(".addConditionalColor",t).on("click",function(){var t={color:"#000000",category:null};a.p.conditional_colors_type===u&&(t.operator=DashboardUtils.WidgetOperator.Equals),a.conditionalSortableList.addNewObject(t)}),$("body").on("click",function(){$(".combobox-dropdown-container.show").removeClass("show"),$(".formula-container").removeClass("comboBoxOpen")})},onConditionalColorChange:function(t,e){return function(){t.color=this.getRGBAColor(),e()}},onConditionalCategoryChange:function(t,e){return function(){t.category=this.getValue(),e()}},onConditionalDropdownChange:function(r,t,e){$(".CH2_conditional_table_container").toggleClass("hidden",e===c);function a(t){return $("<option>").val("".concat(t)).text(t)}var t=$(".sortable_list_container",t).empty(),l=this.render.bind(this),s=this,o=this._PieData?this._PieData.map(function(t){return t[0]}):[],n=[];if(e===c)return!1;e===d?n=[{name:_("Color"),width:80,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:s.onConditionalColorChange(t,l),onPreviewColorChanged:s.onConditionalColorChange(t,l),onCancel:s.onConditionalColorChange(t,l),palette:s._from.dashboard.model.colors})}},{name:_("Category"),classes:"category_column",cellFormat:function(e,n){var i,t;"addAllOtherCategories"===e.category?n.append(_("ConditionalColor_Default")):((t=$('<select class="category-selector">')).append(o.map(a)),n.append(t),t.comboBox({appendToBody:!1,onChange:function(){i.removeClass("show"),$(".formula-container",n).removeClass("comboBoxOpen"),$(".formula-container input",n).val("'".concat(this.getValue(),"'")).trigger("change")}}).comboBox("select",e.category),i=$(".combobox-dropdown-container",n),!e.category_formula&&e.category&&(e.category_formula="'".concat(e.category,"'")),r.addFormulaInput({placeholder:"",customTemplate:'<div id="prop_{{id}}"><div class="cd-input-button formula-container">\n                                    <input type="text" placeholder="" value="">\n                                    <button type="button" class="open-formula-editor-button">\n                                        <i class="far fa-function"></i>\n                                    </button>\n                                    <button type="button" class="result-formula-button">\n                                        <span class="fn-variable">=</span>\n                                        <i class="far fa-spinner fa-pulse"></i>\n                                    </button>\n                                    <button type="button" class="dropdown-button">\n                                        <i class="fas fa-caret-down"></i>\n                                    </button>\n                                </div></div>',widget:s,appendToBody:!0,dropup:!0,callback:function(t){s.settings.Data._isDirty=!0,e.category=t,$(".formula-container",n).removeClass("comboBoxOpen"),l()},dashboard:s.settings._original_widget.dashboard,container:n,object:e,property:"category_formula"}),n.on("click",".dropdown-button",function(){var t,e=i,a=$(".comboBox-container",i),o=$(".formula-container",n);return $(".combobox-dropdown-container.show").not(i).removeClass("show"),e.hasClass("show")?(e.removeClass("show"),(e=e.detach()).trigger("hide.bs.dropdown"),$(".formula-container",n).removeClass("comboBoxOpen")):($("body").append(e),e.css("position","absolute"),e.css("left",o.offset().left),e.css("max-width",o[0].offsetWidth),e.css("min-width",o[0].offsetWidth),e.addClass("show"),e.trigger("focus"),e.trigger("show.bs.dropdown"),a=300<a.outerHeight()?298:a.outerHeight(),t=$("body").height()<o.offset().top+o.height()+a,e.css("top",o.offset().top+2+(t?-a:o.height())),e.css("left",o.offset().left),$(this).toggleClass("openedUpwards",t),e.addClass("show").toggleClass("openedUpwards",t),$(".formula-container",n).addClass("comboBoxOpen")),!1}))}}]:e===u&&(n=[{name:_("Color"),width:80,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:s.onConditionalColorChange(t,l),onPreviewColorChanged:s.onConditionalColorChange(t,l),onCancel:s.onConditionalColorChange(t,l),palette:s._from.dashboard.model.colors})}},{name:_("Value"),classes:"value_column",cellFormat:function(t,e){e.append('<div class="value_column_container"></div>');var a,o,n=$(".value_column_container",e);"default"===t.operator?(n.append($('<div class="value_container"></div>')),$(".value_container",e).append($('<span class="text-header">{0}</span>'.format(_("SymbolOperator_Default"))))):(r.addOperatorSelector({container:n,object:t,grid:!0,property:"operator",callback:a=function(){o.empty(),s.renderFormatFormulaInput(o,"value1_formula","value1_result",t),t.operator===DashboardUtils.WidgetOperator.Between&&s.renderFormatFormulaInput(o,"value2_formula","value2_result",t),l()},accepts:[DashboardUtils.WidgetOperator.Between,DashboardUtils.WidgetOperator.Equals,DashboardUtils.WidgetOperator.NotEqualTo,DashboardUtils.WidgetOperator.GreaterThan,DashboardUtils.WidgetOperator.GreaterOrEqualThan,DashboardUtils.WidgetOperator.LessThan,DashboardUtils.WidgetOperator.LessOrEqualThan]}),n.append($('<div class="value_container"></div>')),o=$(".value_container",e),a())}}]),this.conditionalSortableList=new SortableList({container:t,object:this.p,property:"slices_custom_properties",onDeleteCallback:l,onSortCallback:l,columns:n,noDelete:function(t){return"addAllOtherCategories"===t.category||"default"===t.operator}})},renderFormatFormulaInput:function(t,e,a,o){var n=this;o[a]=o[a]||o[e],$(".formula-container.{0}".format(a),t).show(),o.operator===DashboardUtils.WidgetOperator.Between&&"value2"===e||$(".formula-container.value2_result".format(a),t).hide(),$(".formula-container.{0}".format(a),t).length||this.settings.Format.addFormulaInput({container:t,widget:n,dashboard:n.settings._original_widget.dashboard,object:o,grid:!0,dropup:!0,property:e,customClass:a,appendToBody:!0,callback:function(){n.settings.Data._isDirty=!0,n.tryUpdate()}})},getLabelsProperties:function(t){var e=this.render.bind(this),a=t.addSection(),o=(t.addBoolean({section:a,label:_("ShowLabels"),object:this.p.labels,property:"show_labels",callback:e}),t.addFont({container:a,dropDown:!0,object:this.p.labels,property:"font",callback:e}),t.addSeparator({container:a}),t.addSection({container:a})),o=(t.addBoolean({section:o,container:a,label:_("ShowCategoryLabels"),object:this.p.labels,property:"show_category_labels",callback:e,noellipsis:!0}),t.addFormat({container:o,label:_("Format"),object:this.p.labels,property:"value_categories_format",callback:e}),t.addSeparator({container:a}),t.addSection({container:a})),o=(t.addBoolean({section:o,container:a,label:_("ShowValueLabels"),object:this.p.labels,property:"show_value_labels",callback:e}),t.addFormat({container:o,label:_("Format"),object:this.p.labels,property:"value_labels_format",callback:e,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Duration]}),t.addSeparator({container:a}),t.addSection({container:a}));t.addBoolean({section:o,container:a,label:_("ShowPercentageLabels"),object:this.p.labels,property:"show_percentage_labels",callback:e,noellipsis:!0}),t.addFormat({container:o,label:_("Format"),object:this.p.labels,property:"percentage_labels_format",callback:e,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage]}),t.addSeparator({container:a}),t.addBoolean({container:a,label:_("HideEmptySlices"),object:this.p.labels,property:"hide_empty_slices",callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,label:_("ConnectorLines"),object:this.p.labels,property:"border",label_color:_("ConnectorLineColor"),callback:e}),t.addSeparator({container:a}),t.addNumber({container:a,label:_("ConnectorLabelDistance"),object:this.p.labels,property:"label_distance",min:-100,max:100,callback:e}),t.addSeparator({container:a})},getPieProperties:function(t){var e=this.render.bind(this),a=t.addSection(),a=(t.addBoolean({section:a,label:_("FixedPieSize"),object:this.p.other,property:"fixed_pie",callback:e}),t.addSlider({container:a,label:_("Size"),object:this.p.other,property:"fixed_pie_size",callback:e}),t.addSeparator(),t.addSlider({label:_("InnerSize"),object:this.p.slices,property:"inner_size",callback:e,min:0,max:95,interval:5,valueLabelFormat:function(t){return"".concat(t,"%")}}),t.addSeparator(),t.addSection()),o=this.p.other.threeD;t.addBoolean({section:a,label:_("3DRendering"),object:o,property:"enabled",callback:e}),t.addSlider({container:a,label:_("X"),object:o,property:"x",callback:e}),t.addSlider({container:a,label:_("Y"),object:o,property:"y",callback:e}),t.addSlider({container:a,label:_("Depth"),object:o,property:"z",callback:e}),t.addSeparator()},renderInteractionsTab:function(t){var e=this,a=(t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",label:_("InteractionType_OnSeriesDblClick"),parameters:!0,items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}],onChange:function(){e.refreshAllowExport(t)}}),$('<div class="allow-export-div"></div>'));t.ui.append(a),this.refreshAllowExport(t),this.renderToolbarProperties(t)},getHighchartsDataFromWSData:function(t,y,e,n,o,a,i){function r(e){return function(t){return $.extend({},t,{columns:(a=t,e.map(function(t,e){return{column_id:t.id,value:a.names[e]}}))});var a}}function l(o,n){return function(t,e){var a,e=o.map((a=e,function(t,e){return $.extend(!0,{},a,{value:{index:e,name:t.name,column_id:t.id,aggregation:t.aggregation,is_unique_per_category:t.is_unique_per_category,binding:n[e]}})}));return t.concat(e)}}function s(r,l){var s=r.length,c=0,d=0,m="category",t=C._Data.rows,b=1===t.length?t[0].type:null,f=t&&t.length&&t[0].groupings&&0<t[0].groupings.length;return l||"datetime"!==m||f||(m="category"),function(t){var a,u=r[c][d];if(u=u||[],"category"!==m&&(u="datetime"===m?u.map(function(t,e){var a,o="";return o=f?(a=x.map(function(t){return t.names[0]}),"".concat(a[e]," 00:00:00.0000000")):l[e],"System.DateTimeOffset"===b?[o?moment(o).valueOf():null,t]:[o?moment.parseZone(o).valueOf():null,t]}):(a=x.map(function(t){return t.names[0]}),u.map(function(t,e){e=a[e];return[(e=f?parseInt(e):e)||null,t]}))),C.p.drilldown_categories){function p(r,l,s,c){if(l&&l.values){var d,e=_createForOfIteratorHelper(l.values);try{for(e.s();!(d=e.n()).done;)!function(){var t,e,a,o=d.value,n=g(r,s),i=_toConsumableArray(r);null!==o.values?(r.push(o.name),t=g(r,s),e=v.find(function(t){return t.id===n}),a=h(u.slice(o.index,o.index+o.count),c),e?e.data.push({catName:o.name,name:"".concat(o.name),y:a,drilldown:t}):v.push({cid:s,path:i,id:n,type:"pie",catName:l.name,name:"".concat(l.name," - ").concat(s),data:[{catName:o.name,name:"".concat(o.name),y:a,drilldown:t}]})):(e=v.find(function(t){return t.id===n}),a=Array.isArray(u[o.index])?u[o.index][1]:u[o.index],e?e.data.push([o.name,a]):v.push({id:n,cid:s,path:i,type:"pie",catName:l.name,name:"".concat(l.name),data:[[o.name,a]]})),p(r,o,s,c)}()}catch(t){e.e(t)}finally{e.f()}r.pop()}}var e,h=function(t,e){t=t.flat();var a=0;switch(e){case"min":a=Math.min.apply(Math,_toConsumableArray(t));break;case"max":a=Math.max.apply(Math,_toConsumableArray(t));break;case"avg":a=t.reduce(function(t,e){return t+e},0)/t.length;break;case"median":var o=Math.floor(t.length/2),n=_toConsumableArray(t).sort(function(t,e){return t-e}),a=t.length%2!=0?n[o]:(n[o-1]+n[o])/2;break;default:a=t.reduce(function(t,e){return t+e},0)}return a},g=function(t,e){return"".concat(t.join("-").replace(/\s+/g,"-").toLowerCase(),"-").concat(e.replace(/\s+/g,"-").toLowerCase())},o=[],n=_createForOfIteratorHelper(y);try{for(n.s();!(e=n.n()).done;){var i=e.value;o.push({catName:i.name,name:i.name,drilldown:g([i.name],t.name),y:h(u.slice(i.index,i.index+i.count),t.value.aggregation)}),p([i.name],i,t.name,t.value.aggregation)}}catch(t){n.e(t)}finally{n.f()}t=$.extend({},t,{data:o})}else t=$.extend({},t,{data:u});return 0===(c=(c+1)%s)&&d++,t}}function c(t,e){var o,e=e.reduce(function(t,e,a){return null===e.names[0]?t.removedIndexes.push(a):t.categories.push(e),t},{categories:[],removedIndexes:[]}),t=t.map((o=e.removedIndexes,function(t){var a;return t.data=t.data.map((a=o,function(t,e){return 0<=a.indexOf(e)?null:t})).filter(n),t}));function n(t){return null!==t}return{categories:e.categories,series:t}}var d,u,p,h,g,m,b,f,v=[],C=this,w=function(e){return function(t){return t[e]}},D=function o(n,i,r){return function(t,e){var a=n(e);return a?(a=a.reduce(o(n,i,r),[]),a=r(e,a),t.concat(a)):(a={names:[i(e)]},t.concat([a]))}},S=function(e,t){return t.map(function(t){return{names:[e.name].concat(t.names)}})},x=function(t){var e,a;if(a=0<t.length?(e=D(w("values"),w("name"),S),t.reduce(e,[])):[{names:[_("Total")]}],1<n.length)for(var o=0;o<n.length;o++)Utils.isDateType(n[o].type)&&a.forEach(function(t){t.names[o]=Utils.formatValue(t.names[o],DashboardUtils.applyFormat(null,n[o].type,n[o].original_type))});return a=a.map(function(t){return $.extend(t,{name:t.names.join(ChartUtils.CATEGORY_NAME_SEPARATOR)})})}(y),k=(d=e,a=a,F=o,h=(h=0<(k=t=t).length?(m=D(w("values"),w("name"),S),k.reduce(m,[])):[{names:[]}]).map(r(F)),h=(h=0<d.length?h.reduce(l(d,a),[]):h).map((u=d.length,p=t.length,function(t){for(var e,a=0;a<o.length;a++)Utils.isDateType(o[a].type)&&(t.names[a]=Utils.formatValue(t.names[a],DashboardUtils.applyFormat(null,o[a].type,o[a].original_type)));return e=t.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===p&&t.value?e=t.value.name:1<u&&(e+=ChartUtils.SERIES_NAME_VALUE_SEPARATOR+t.value.name),$.extend(t,{name:e})})),d.filter(function(t){return 1==t.is_unique_per_category}).forEach(function(e){for(var t=h.filter(function(t){return t.value.column_id==e.id}),a=0;a<t.length;a++){var o=t[a];o.names=[],o.name=o.value.name,o.columns=[],o.column=[],o.is_system=!0,a+1<t.length&&(o.value.binding.hidden=!0)}}),h),F=(1===n.length&&(Utils.isDateType(n[0].type)||n[0].groupings&&0<n[0].groupings.length&&0===y.length)&&(g=x.map(function(t){return t.name})),0<e.length?(m=i.map(Utils.transpose),s(m,g)):(b=x.length,f=g,function(t){var e=Utils.createArray(b,null);return f&&(e=e.map(function(t,e){e=f[e];return[e?moment(e).valueOf():null,t]})),$.extend({},t,{data:e})})),a={series:k=k.map(F),categories:x,drilldown:{series:v,activeAxisLabelStyle:null,activeDataLabelStyle:""}};return a=1===n.length&&Utils.isDateType(n[0].type)?c(a.series,a.categories):a},applyStyleToTargetWidget:function(t){this.p.other=Utils.clone(t.other),this.p.labels=Utils.deepMerge(this.p.labels,{font:t.labels.font,border:t.labels.border}),this.p.slices=Utils.clone(t.slices),this.copyPropsOnArray(t,this.p,"slices_custom_properties",["color"])}},Widget.createType({id:"CH2",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["data.formula","sort_filter.filters.formula","calculated_columns.formula","slices_custom_properties.value1_formula","slices_custom_properties.value2_formula","slices_custom_properties.category_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedcategories","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts/modules/drilldown.js"],properties:{drilldown_categories:!1,style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:"",custom:null},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{background_color:"transparent",background_gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",reversed:!1,fixed_width:!0,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},slices:{border:{width:0,color:"#cccccc"},shadow:{code:"none"},gradient:!1,inner_size:0},labels:{show_labels:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},show_category_labels:!0,show_value_labels:!1,show_percentage_labels:!1,value_categories_format:null,value_labels_format:null,percentage_labels_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:2,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after"}}),hide_empty_slices:!1,border:{width:1,color:"#c0c0c0"},label_distance:30},other:{threeD:{enabled:!1,x:.7,y:0,z:.45},fixed_pie:!1,fixed_pie_size:1},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!0,content:'<p style="text-align: center;">Category: <b>{{this.point.category}}</b></p><p style="text-align: center; "><b>{{this.point.percentage}}%</b></p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{ondblclick:null,onseriesdblclick:null,allow_export:!0,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""},conditional_colors_type:"none",slices_custom_properties:[]},prototype:Widget.PiePrototype})}();
//# sourceMappingURL=CH2-pie.js.map

Widget.createType({id:"CH4",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","y_axis_custom.scale.max","y_axis_custom.scale.min","y_axis_custom.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula","series_custom.config.column.values_custom_properties.category_formula","series_custom.config.column.values_custom_properties.value1_formula","series_custom.config.column.values_custom_properties.value2_formula","series_custom.config.bar.values_custom_properties.category_formula","series_custom.config.bar.values_custom_properties.value1_formula","series_custom.config.bar.values_custom_properties.value2_formula"],formula_output:["selectedvalue","selectedcategory","selectedcategories","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/modules/drilldown.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{drilldown_categories:!1,type:"bar"}),prototype:$.extend(!0,{},Widget.CHPrototype,{})});
//# sourceMappingURL=CH4-bar.js.map

Widget.createType({id:"CH5",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","y_axis_custom.scale.max","y_axis_custom.scale.min","y_axis_custom.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula","series_custom.config.column.values_custom_properties.category_formula","series_custom.config.column.values_custom_properties.value1_formula","series_custom.config.column.values_custom_properties.value2_formula","series_custom.config.bar.values_custom_properties.category_formula","series_custom.config.bar.values_custom_properties.value1_formula","series_custom.config.bar.values_custom_properties.value2_formula"],formula_output:["selectedvalue","selectedcategory","selectedcategories","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/modules/drilldown.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{drilldown_categories:!1,type:"column"}),prototype:$.extend(!0,{},Widget.CHPrototype,{applyMarginOnChart:DashboardUtils.applyMarginOnChart})});
//# sourceMappingURL=CH5-column.js.map

Widget.createType({id:"CH6",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","y_axis_custom.scale.max","y_axis_custom.scale.min","y_axis_custom.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula","series_custom.config.column.values_custom_properties.category_formula","series_custom.config.column.values_custom_properties.value1_formula","series_custom.config.column.values_custom_properties.value2_formula","series_custom.config.bar.values_custom_properties.category_formula","series_custom.config.bar.values_custom_properties.value1_formula","series_custom.config.bar.values_custom_properties.value2_formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{type:"line"}),prototype:$.extend(!0,{},Widget.CHPrototype,{applyMarginOnChart:DashboardUtils.applyMarginOnChart})});
//# sourceMappingURL=CH6-line.js.map

function _createForOfIteratorHelper(e,t){var a,s,r,i,o="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(o)return s=!(a=!0),{s:function(){o=o.call(e)},n:function(){var e=o.next();return a=e.done,e},e:function(e){s=!0,r=e},f:function(){try{a||null==o.return||o.return()}finally{if(s)throw r}}};if(Array.isArray(e)||(o=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return o&&(e=o),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,s=new Array(t);a<t;a++)s[a]=e[a];return s}Widget.createType({id:"CH7",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","x_axis.scale.max","x_axis.scale.min","x_axis.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series","selectedx","selectedxarray","selectedy","selectedyarray","selectedseriesarray","selectedpoint","selectedpointarray"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts-Trends/highcharts-regression.js","/Libraries/Highcharts/modules/boost.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:null,custom:null},plot_options:[],grouped_by_series:!1,titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0,plot_background:{color:"#ffffff",enabled:!0,gradient:!1,border:{width:0,color:"#000000"}}},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",fixed_width:!0,reversed:!1,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:{title:{align:"middle",enabled:!1,text:_("ChartMyCategories"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#bfbfbf"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",opposite:!1},y_axis:{title:{rotation:0,enabled:!1,text:_("ChartMyValues"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#bfbfbf"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",bands:"transparent",opposite:!1},series_custom:[],other:{threeD:{enabled:!1,x:.25,y:.25,z:1}},trends_custom:[],sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.series.name}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},display_crosshair:!1},interactions:{ondblclick:null,onseriesdblclick:null,onseriesclick:{type:null},whendragging:{type:null},toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},ScatterBase.prototype,{getColumnsFormat:function(e){var t=[],a=[this._Data.rows,this._Data.rows2].concat(this._Data.columns);if("bindings"===this.p.data.mode){var s=this.p.data_bindings;e||(s=s.filter(function(e){return!e.hidden}));for(var r=0;r<s.length;r++){var i=s[r],o=Utils.arrayFirst(a,function(e){return e.id===i.column_id}),n=null;switch(i.area){case Enums.WidgetAreas.RowsBis:n=this.p.x_axis.labels.format;break;case Enums.WidgetAreas.Rows:n=this.p.y_axis.labels.format}t.push(n?{ColumnId:i.column_id,Index:r,Format:DashboardUtils.applyFormat(n,o.type)}:{ColumnId:i.column_id,Index:r,Format:DashboardUtils.applyFormat(null,o.type)})}}return t},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.createProperty("selectedx"),this.createProperty("selectedxarray"),this.createProperty("selectedy"),this.createProperty("selectedyarray"),this.createProperty("selectedvaluearray"),this.createProperty("selectedseriesarray"),this.createProperty("selectedpoint"),this.createProperty("selectedpointarray"),this.resetSelectedOutput()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedcategory:this.selectedcategory,selectedseries:this.selectedseries,selectedPoints:this.selectedpointarray})},resetState:function(e){this.selectedvalue=e.selectedvalue,this.selectedcategory=e.selectedcategory,this.selectedseries=e.selectedseries,e.selectedPoints&&e.selectedPoints.length&&(this.setStatesFromPoints(e.selectedPoints),this.selectPointsFromState(e.selectedPoints))},selectPointsFromState:function(){},setStatesFromPoints:function(e){e=JSON.parse(e);this.selectedxarray=e.map(function(e){return e.x}),this.selectedx=this.selectedxarray.length?this.selectedxarray[0]:null,this.selectedyarray=e.map(function(e){return e.y}),this.selectedy=this.selectedyarray.length?this.selectedyarray[0]:null,this.selectedcategory=this.selectedyarray.length?this.selectedyarray[0]:null,this.selectedvaluearray=e.map(function(e){return e.value}),this.selectedvalue=this.selectedvaluearray.length?this.selectedvaluearray[0]:null,this.selectedseriesarray=e.map(function(e){return e.series}),Utils.arrayDistinct(this.selectedseriesarray),this.selectedseries=this.selectedseriesarray.length?this.selectedseriesarray[0]:null,this.selectedpoint=e.length?JSON.stringify(e[0]):null},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedseries=null,this.selectedx=null,this.selectedxarray=null,this.selectedy=null,this.selectedyarray=null,this.selectedvaluearray=null,this.selectedseriesarray=null,this.selectedpoint=null,this.selectedpointarray=null},updateOutputFromChart:function(e){e=e.getSelectedPoints();this.selectedpointarray=JSON.stringify(e.map(function(e){return{x:e.x,y:e.y,value:e.z,series:e.series.name}})),this.setStatesFromPoints(this.selectedpointarray),this.updateState()},resetSelectedOutputs:function(s){var r=this;Highcharts.wrap(Highcharts.Pointer.prototype,"onContainerClick",function(e,t){var a=$(t.target).closest(".widget");0<a.length&&(a=a.attr("id").replace("widget_",""),s.guid!==a||r._dragging||s.resetSelectedOutput($(t.target)),r._dragging=!1),e.apply(this,Array.prototype.slice.call(arguments,1))})},_resetChartSelection:function(){var e=this.getSelectedPoints();0<e.length&&Highcharts.each(e,function(e){e.select(!1)})},init:function(){this.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[[11.9,185],[14.2,215],[15.2,332],[16.4,325],[17.2,408],[18.1,421],[18.5,406],[19.4,412],[22.1,522],[22.6,445],[23.4,544],[25.1,614]]),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var t=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(t.ui)}),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.p.series_custom.forEach(function(e){e.config.scatter.marker.color=null}),this.render()}.bind(this)),this.on("stylechanged",function(){this.p.series_custom=[],this.p.trends_custom=[],this.render()}.bind(this)),this.on(["height","width"],function(e){ChartUtils.resizeChart(t,t.ui,!1,e)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},getContextualParameters:function(){var e=[];return!this.error&&this._Data&&(e.push({name:"Data",value:this._Data[0]?this._Data[0].data[0]:[]}),e.push({name:"IsCH7",value:!0}),this._Data&&this._Data.x_categories&&e.push({name:"Categories",value:this._Data.x_categories})),e},updateService:"CH7Data",updateServiceSuccess:function(e){var t=function(){this.render()}.bind(this);if(this.isCustomDataMode()){this._Data=e;var a,s=$.extend(!0,[],this.customData());0<this.p.sort_filter.filters.length&&(a=this.p.sort_filter.filters.filter(function(e){return e.state!==Enums.WidgetFilterState.Disabled}).map(function(e){return{disabled_if_null:e.state===Enums.WidgetFilterState.DisabledIfNull,column_index:e.column_id,operator:e.operator,value:e.formula_result}}),s[0].data=DashboardUtils.filterData(s[0].data,a)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(s[0][1],{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),this._Data=s,this._resolveScaleMinMaxCustom(this._Data,t)}else{this._Data=e.data,this._Data.rows=e.rows,this._Data.rows2=e.rows2,this._Data.columns=e.columns,this._Data.x_categories=e.x_categories,this._Data.y_categories=e.y_categories,this._Data.scaleFormulaResults=e.scaleFormulaResults,this._Data.intervalFormulaResult=e.intervalFormulaResult;for(var r=0;r<e.plotFormulaResults.length;r++)this.p.plot_options.length>r&&(this.p.plot_options[r]._results=e.plotFormulaResults[r]);t()}},renderPropertiesTab:function(e){var a=this,t=e.ui.content,s='<div> \n                    <span>{{ label }}</span> \n                    <ul class="multiple_labels"> \n                        <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li> \n                        <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li> \n                    </ul> \n                </div>\n                <div class="sep"></div>\n                <div>\n                  <span>'.concat(_("GroupValuesbySeries"),'</span>\n                  <input type="checkbox" id="widget_group_by_series" {{ #is_grouped }}checked{{ /is_grouped }} cd-flipSwitch />\n                </div>');t.append(Mustache.render(s,{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc"),is_grouped:this.p.grouped_by_series||!1})),$("#widget_group_by_series",t).flipSwitch(),$("#widget_group_by_series",t).on("change",function(){a.p.grouped_by_series=$(this).is(":checked");var e,t=_createForOfIteratorHelper(a.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Rows||e.area===Enums.WidgetAreas.RowsBis||e.area===Enums.WidgetAreas.RowsTer}));try{for(t.s();!(e=t.n()).done;)e.value.aggregation=a.p.grouped_by_series?"sum":null}catch(e){t.e(e)}finally{t.f()}a._reRenderDataTab=!0,a.update()}),t.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),t.on("change",".multiple_labels input[type=radio]",function(){e.settings.Data._isDirty=!0,a.p.data.mode=$(this).val(),a.setSortFilterTabState(),a.p.sort_filter.sorts=[],a.p.sort_filter.top_bottom.enabled=!1,a.p.sort_filter.top_bottom.column=null,a.p.sort_filter.filters=[],a.update()})},renderDataTab:function(e){if(this._reRenderDataTab)this._reRenderDataTab=!1;else if(this.p.data.mode===this.current_data_mode)return;switch(e.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(e);break;case"custom":this.renderDataCustomTable(e);break;case"formula":this.renderDataFormula(e)}this.current_data_mode=this.p.data.mode},renderDataBindings:function(e){var t=new Settings.Data.Bindings(e);t._groupBySeries=this.p.grouped_by_series,t._customAggregations=["sum","count","avg","dcount"],t.toggleAxisPopup=function(e){var t=e.find(".axis-picker-ddl .ddl-opener");this.ui.axis_ddl.find("input").prop("checked",!1).end().find('[data-axis-index="{0}"] input'.format(0)).prop("checked",!0).end().css({top:t.offset().top+t.outerHeight(),left:t.offset().left}).toggle().data("area_column",e),e.toggleClass("opened")},t.closeCustomPopups=function(){this.ui.axis_ddl.hide()},t.area_column_limits[Enums.WidgetAreas.RowsBis]=1,t.area_column_limits[Enums.WidgetAreas.Rows]=1,t.render([{name:_("Y"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Rows,height_ratio:.2},{name:_("X"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.RowsBis,height_ratio:.2},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.6}],{count:!1}),t.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var e=$(this).closest(".area-column");return t.toggleAxisPopup(e),!1}),t.ui.axis_ddl=$('<ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow"></ul>').appendTo("body"),t.ui.axis_ddl.on("change","input",function(){t.axisPopupChanged()}),t.on("bindingCleared",function(){this.p.series_custom=[],this.p.trends_custom=[],this.p.sort_filter.top_bottom.column=null,this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]}.bind(this)),this.data_destroy_callback=function(){t.destroy()}},renderDataCustomTable:function(e){var t=this.update.bind(this),a=new Settings.Data.CustomTable(e);a.loadData=function(){this.addColumn(_("LabelXValues"),{columnIndex:0}),this.addColumn(_("LabelYValues"),{columnIndex:1});for(var e=0;e<this._data.length;e++)this.addRow(this._data[e])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:"<td></td>",cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.cellValueFormat=function(e){e=$(e).val();return e=!e||""===e||isNaN(e)?0:parseFloat(e)},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},e.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:t,fixed_columns:!0})},renderDataFormula:function(e){var t=this.update.bind(this),a=(e.appendHeader(_("ChartDataFormulaHeader")),new Settings.Data.Formula(e));this.data_destroy_callback=function(){a.destroy()},a.render({label:_("Formula"),placeholder:_("FormulaPlaceholder"),object:this.p.data,property:"formula",callback:t})}})});
//# sourceMappingURL=CH7-scatter.js.map

Widget.createType({id:"CH8",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","x_axis.scale.max","x_axis.scale.min","x_axis.scale.interval","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series","selectedx","selectedxarray","selectedy","selectedyarray","selectedvalue","selectedvaluearray","selectedseriesarray","selectedpoint","selectedpointarray"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-more.js","/Libraries/Highcharts/modules/boost.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],grouped_by_series:!1,data:{mode:"bindings",formula:null,custom:null},plot_options:[],titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0,plot_background:{enabled:!0,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",reversed:!1,fixed_width:!0,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:{title:{align:"middle",enabled:!1,text:_("ChartMyCategories"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",opposite:!1},y_axis:{title:{rotation:0,enabled:!1,text:_("ChartMyValues"),font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",bands:"transparent",opposite:!1},series_custom:[],other:{bubble_min_width:null,bubble_max_width:null},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.series.name}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},display_crosshair:!1,display_measure:!1},interactions:{ondblclick:null,onseriesdblclick:null,onseriesclick:{type:null},whendragging:{type:null},toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},Widget.types.CH7.prototype,{isZoomAllowed:function(){var e;return"zoom"===(null==(e=this.p.interactions)||null==(e=e.whendragging)?void 0:e.type)},getColumnsFormat:function(e){var t=[],a=[this._Data.rows3,this._Data.rows2,this._Data.rows].concat(this._Data.columns);if("bindings"===this.p.data.mode){var i=this.getBindings(),o=(e||(i=i.filter(function(e){return!e.hidden})),[]);o=(o=(o=o.concat(i.filter(function(e){return e.area===Enums.WidgetAreas.RowsBis||e.area===Enums.WidgetAreas.RowsTer}))).concat(i.filter(function(e){return e.area===Enums.WidgetAreas.Rows}))).concat(i.filter(function(e){return e.area===Enums.WidgetAreas.Columns}));for(var r=0;r<o.length;r++){var n=o[r],s=Utils.arrayFirst(a,function(e){return e.id===n.column_id}),l=null;switch(n.area){case Enums.WidgetAreas.RowsBis:l=this.p.y_axis.labels.format;break;case Enums.WidgetAreas.Rows:this.p.series_custom.length&&(l=this.p.series_custom[0].config.labels.format);break;case Enums.WidgetAreas.RowsTer:l=this.p.x_axis.labels.format}t.push(l?{ColumnId:n.column_id,Index:r,Format:DashboardUtils.applyFormat(l,s.type)}:{ColumnId:n.column_id,Index:r,Format:DashboardUtils.applyFormat(null,s.type)})}}return t},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.createProperty("selectedx"),this.createProperty("selectedxarray"),this.createProperty("selectedy"),this.createProperty("selectedyarray"),this.createProperty("selectedvaluearray"),this.createProperty("selectedseriesarray"),this.createProperty("selectedpoint"),this.createProperty("selectedpointarray"),this.resetSelectedOutput()},onVisibilityChange:function(){this.render()},init:function(){this.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[[9,81,63],[98,5,89],[51,50,73],[41,22,14],[58,24,20],[78,37,34],[55,56,53],[18,45,70],[42,44,28],[3,52,59],[31,18,97],[79,91,63],[93,23,23],[44,83,22]]),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var t=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(t.ui)}),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.p.series_custom.forEach(function(e){e.config.bubble.marker.color=null}),this.render()}.bind(this)),this.on("stylechanged",function(){this.p.series_custom=[],this.render()}.bind(this)),this.on(["height","width"],function(e){ChartUtils.resizeChart(t,t.ui,!1,e)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},render:function(){try{$(".highcharts-container",this.ui).length&&ChartUtils.destroyChart(this.ui);var t=this,e=this.getHighchartsData(this._Data,this._Data.rows3,this._Data.rows2,this._Data.rows,this._Data.columns).series,a=(this.setOutputFromData(e),!1),i={exporting:{enabled:!1},chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(e,this.p.legend),boost:{seriesThreshold:2500},tooltip:this._getHighchartsTooltip(this.p.y_axis,this._Data.rows3,this._Data.rows2),plotOptions:{bubble:{minSize:null===this.p.other.bubble_min_width||""===this.p.other.bubble_min_width?"8":this.p.other.bubble_min_width.toString(),maxSize:null===this.p.other.bubble_max_width||""===this.p.other.bubble_max_width?"20%":this.p.other.bubble_max_width.toString(),enableMouseTracking:this._lastvisibilityValue},series:{animation:!1,shadow:!1,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0},events:{click:function(){var e=t.p.interactions.onseriesdblclick;if(a&&e){switch(e.type){case"url":DashboardUtils.handleUrlInteraction(t.dashboard,t,e);break;case"dashboard":t.handleDashboardInteraction(e)}a=!1}else a=!0,setTimeout(function(){a=!1},200)}}}},xAxis:this._getHighchartsXAxis(this.p.x_axis,this._Data.rows3),yAxis:this._getHighchartsYAxis(this.p.y_axis,this._Data.rows2),series:this._getHighchartsSeries(e,this.p.x_axis,this.p.y_axis,this._Data.rows3),zAxis:{min:0,max:10,showFirstLabel:!1}};this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),Highcharts.chart(this.ui[0],i),ChartUtils.putPlotAreaOnTop(this.ui)}catch(e){this.error=e}},getBindings:function(t){return t?this.p.data_bindings.filter(function(e){return e.area===t}):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.RowsBis).length&&1===this.getBindings(Enums.WidgetAreas.RowsTer).length},updateService:"CH8Data",updateServiceSuccess:function(e){var t=function(){this.render()}.bind(this);if(this.isCustomDataMode()){this._Data=e;var a,i=$.extend(!0,[],this.customData());0<this.p.sort_filter.filters.length&&(a=this.p.sort_filter.filters.filter(function(e){return e.state!==Enums.WidgetFilterState.Disabled}).map(function(e){return{disabled_if_null:e.state===Enums.WidgetFilterState.DisabledIfNull,column_index:e.column_id,operator:e.operator,value:e.formula_result}}),i[0].data=DashboardUtils.filterData(i[0].data,a)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(i[0].data,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),this._Data=i,this._resolveScaleMinMaxCustom(this._Data,t)}else{this._Data=e.data,this._Data.rows=e.rows,this._Data.rows2=e.rows2,this._Data.rows3=e.rows3,this._Data.columns=e.columns,this._Data.x_categories=e.x_categories,this._Data.y_categories=e.y_categories,this._Data.values_categories=e.values_categories,this._Data.scaleFormulaResults=e.scaleFormulaResults,this._Data.intervalFormulaResult=e.intervalFormulaResult;for(var o=0;o<e.plotFormulaResults.length;o++)this.p.plot_options.length>o&&(this.p.plot_options[o]._results=e.plotFormulaResults[o]);t()}},renderDataBindings:function(e){var t=new Settings.Data.Bindings(e);t._groupBySeries=this.p.grouped_by_series,t._customAggregations=["sum","count","avg","dcount"],t.templates.area_count_column='                <li class="area-column cd-draggable measure count" data-column-id="{{ id }}">                    <span class="title">'.concat(_("Count"),'</span>                    <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                </li>'),t.toggleAxisPopup=function(e){var t=e.find(".axis-picker-ddl .ddl-opener");this.ui.axis_ddl.find("input").prop("checked",!1).end().find('[data-axis-index="{0}"] input'.format(0)).prop("checked",!0).end().css({top:t.offset().top+t.outerHeight(),left:t.offset().left}).toggle().data("area_column",e),e.toggleClass("opened")},t.closeCustomPopups=function(){this.ui.axis_ddl.hide()},t.area_column_limits[Enums.WidgetAreas.RowsBis]=1,t.area_column_limits[Enums.WidgetAreas.Rows]=1,t.area_column_limits[Enums.WidgetAreas.RowsTer]=1,t.render([{name:_("Y"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.RowsBis,height_ratio:.2},{name:_("X"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.RowsTer,height_ratio:.2},{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Rows,height_ratio:.3},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.3}],{count:!1}),t.ui.axis_ddl=$('                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    <li data-axis-index="0"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>'.concat(_("AxisLeft").format(1),'</span></label></li>                    <li data-axis-index="1"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(2),'</span></label></li>                    <li data-axis-index="2"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(3),'</span></label></li>                    <li data-axis-index="3"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(1),'</span></label></li>                    <li data-axis-index="4"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(2),'</span></label></li>                    <li data-axis-index="5"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(3),"</span></label></li>                </ul>")).appendTo("body"),t.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var e=$(this).closest(".area-column");return t.toggleAxisPopup(e),!1}),t.ui.axis_ddl.on("change","input",function(){t.axisPopupChanged()}),t.on("bindingCleared",function(){this.p.series_custom=[],this.p.sort_filter.top_bottom.column=null,this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]}.bind(this)),this.data_destroy_callback=function(){t.destroy()}},renderDataCustomTable:function(e){var t=this.update.bind(this),a=new Settings.Data.CustomTable(e);a.loadData=function(){this.addColumn(_("LabelXValues"),{columnIndex:0}),this.addColumn(_("LabelYValues"),{columnIndex:1}),this.addColumn(_("LabelValueValues"),{columnIndex:2});for(var e=0;e<this._data.length;e++)this.addRow(this._data[e])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:"<td></td>",cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.cellValueFormat=function(e){e=$(e).val();return e=!e||""===e||isNaN(e)?0:parseFloat(e)},a.numberOfColumns=function(){return 3},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},e.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:t,fixed_columns:!0})},renderTopBottom:function(e){var n=this,t=new Settings.SortFilter.TopBottom(e);t.updateDataCallback=function(){n._isDirty=!0,n.update()},t.getTopBottomColumns=function(r){switch(n.p.data.mode){case"bindings":e.settings.getDataClone(n.p.data_id,n._from.dashboard.id).then(function(e){for(var t=[],a=0;a<n.p.data_bindings.length;a++){var i,o=n.p.data_bindings[a];o.area!==Enums.WidgetAreas.Columns&&(o.__type.startsWith("CountDataBindingProperties")?t.push({label:o.name||_("Count"),aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null,value:o.guid}):(i=n.getColumnFromId(e.columns,o.column_id),t.push({label:o.name||i.name,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null,value:o.guid})))}r(t)});break;case"custom":r([{label:"X Values",value:0},{label:"Y Values",value:1},{label:"Bubble Values",value:2}])}},t.render()},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),e.push({icon:"chart-bubble-y-axis.png",text:_("Vertical"),code:"yaxis",renderer:this.getYAxisProperties.bind(this)}),e.push({icon:"chart-bubble-x-axis.png",text:_("Horizontal"),code:"xaxis",renderer:this.getXAxisProperties.bind(this)}),e.push({icon:"chart-bubble-series.png",text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,e),e},getSeriesProperties:function(a){var o,e,i,r=this,n=this.render.bind(this);this._Data&&(e=this.getSeriesCombinaisons(),o=r._Data.columns,(e=e.map(function(e){var i="";return e.columns.forEach(function(t){var e,a=t.value;o&&0<o.length&&((e=o.filter(function(e){return e.id===t.column_id})[0])&&Utils.isDateType(e.type)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,e.type)))),i+=(0<i.length?" - ":"").concat(a)}),{label:i,value:i,series:e}})).unshift({value:null,label:_("SelectASeries")}),a.addDropdown({label:_("Series"),object:{serie:null},property:"serie",callback:function(e){var t;i.empty(),null!==e.value&&(e.series.value&&-99===e.series.value?r.renderAllSeriesProperties(e.series,a,i):(e=e.series,(t=r.getSeriesConfiguration(e))||(t=$.extend({config:r.getDefaultSeriesConfiguration()},e),r.p.series_custom.push(t)),e=t.config,a.addText({container:i,label:_("Name"),placeholder:_("NamePlaceholder"),object:e,property:"name",callback:n,event:"focusout"}),a.addSeparator({container:i}),t=a.addSection(),a.addBoolean({container:i,section:t,label:_("ShowValueLabels"),object:e.labels,property:"enabled",callback:n}),a.addBoolean({container:t,label:_("DisplayMeasure"),object:e.labels,property:"show_measure",callback:n}),a.addBoolean({container:t,label:_("DisplayDimension"),object:e.labels,property:"show_dimension",callback:n}),a.addBoolean({container:t,label:_("DisplayValue"),object:e.labels,property:"show_value",callback:n}),a.addBoolean({container:t,label:_("DisplaySeries"),object:e.labels,property:"show_series",callback:n}),a.addFont({container:t,object:e.labels,property:"font",callback:n}),a.addToggleButtons({container:t,label:_("Rotation"),object:e.labels,property:"rotation",numeric:!0,callback:n,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),a.addFormat({container:t,label:_("Format"),object:e.labels,property:"format",callback:n}),a.addSeparator({container:i}),a.addSection(),a.addColor({container:i,dropDown:!1,label:_("MarkerColor"),object:e.bubble.marker,property:"color",callback:n}),a.addBoolean({container:i,label:_("3DBubble"),object:e.bubble.marker,property:"threeDbubble",callback:n}),a.addBoolean({container:i,label:_("Transparency"),object:e.bubble,property:"transparency",callback:n}),a.addBorder({container:i,dropDown:!1,label:_("MarkerBorder"),object:e.bubble.marker,property:"border",callback:n}),a.addSeparator({container:i}),t=a.addSection({container:i}),a.addBoolean({container:i,section:t,label:_("ColorForNegativeValues"),object:e.bubble.negative_values,property:"enabled",callback:n}),a.addColor({container:t,dropDown:!1,label:_("FillColor"),object:e.bubble.negative_values,property:"fill_color",callback:n}),a.addSeparator({container:i})))},combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),i=a.addSection().addClass("nomargin").appendTo(a.ui.content))},renderAllSeriesProperties:function(e,t,a){var r=this.getOrCreateConfiguration(e).config,n=this,i=function(e){for(var t=Utils.getNestedValue(r,e),a=this.getSeriesCombinaisons(),i=0;i<a.length;i++){var o=n.getOrCreateConfiguration(a[i]);Utils.setNestedProperty(o.config,e,t)}this.render()}.bind(this),o=t.addSection().addClass("nomargin").appendTo(a);!function(){o.empty(),t.addSeparator({container:o});var e=t.addSection(),e=(t.addBoolean({container:o,section:e,label:_("ShowValueLabels"),object:r.labels,property:"enabled",callback:i.bind(this,"labels.enabled")}),t.addBoolean({container:e,label:_("DisplayMeasure"),object:r.labels,property:"show_measure",callback:i.bind(this,"labels.show_measure")}),t.addBoolean({container:e,label:_("DisplayDimension"),object:r.labels,property:"show_dimension",callback:i.bind(this,"labels.show_dimension")}),t.addBoolean({container:e,label:_("DisplayValue"),object:r.labels,property:"show_value",callback:i.bind(this,"labels.show_value")}),t.addBoolean({container:e,label:_("DisplaySeries"),object:r.labels,property:"show_series",callback:i.bind(this,"labels.show_series")}),t.addFont({container:e,object:r.labels,property:"font",callback:i.bind(this,"labels.font")}),t.addToggleButtons({container:e,label:_("Rotation"),object:r.labels,property:"rotation",numeric:!0,callback:i.bind(this,"labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),t.addFormat({container:e,label:_("Format"),object:r.labels,property:"format",callback:i.bind(this,"labels.format")}),t.addSeparator({container:o}),t.addColor({container:o,dropDown:!1,label:_("MarkerColor"),object:r.bubble.marker,property:"color",callback:i.bind(this,"bubble.marker.color")}),t.addBoolean({container:o,label:_("3DBubble"),object:r.bubble.marker,property:"threeDbubble",callback:i.bind(this,"bubble.marker.threeDbubble")}),t.addBoolean({container:o,label:_("Transparency"),object:r.bubble,property:"transparency",callback:i.bind(this,"bubble.transparency")}),t.addBorder({container:o,dropDown:!1,label:_("MarkerBorder"),object:r.bubble.marker,property:"border",callback:i.bind(this,"bubble.marker.border")}),t.addSeparator({container:o}),t.addSection({container:o}));t.addBoolean({container:o,section:e,label:_("ColorForNegativeValues"),object:r.bubble.negative_values,property:"enabled",callback:i.bind(this,"bubble.negative_values.enabled")}),t.addColor({container:e,dropDown:!1,label:_("FillColor"),object:r.bubble.negative_values,property:"fill_color",callback:i.bind(this,"bubble.negative_values.fill_color")}),t.addSeparator({container:o}),t.addNumber({container:o,label:_("BubbleMinWidth"),placeholder:_("AutoPlaceholder"),object:n.p.other,property:"bubble_min_width",callback:n.render.bind(n),min:1}),t.addNumber({container:o,label:_("BubbleMaxWidth"),placeholder:_("AutoPlaceholder"),object:n.p.other,property:"bubble_max_width",callback:n.render.bind(n),min:1}),t.addSeparator({container:o})}()},renderInteractionsTab:function(e){function t(e){(a.p.interactions[e]&&"data_points"===a.p.interactions[e].type?o:r)(e)}var a=this,i=this.render.bind(this),o=function(e){$(".subLine.{0}".format(e)).addClass("displayed")},r=function(e){$(".subLine.{0}".format(e)).removeClass("displayed")};e.settings.Format.addDropdown({container:e.ui,label:_("WhenDragging"),object:this.p.interactions.whendragging,property:"type",callback:function(){t("whendragging"),a.updateToolbar(),i()},combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"zoom",label:_("Interaction_Zoom")},{value:"data_points",label:_("Interaction_DataPoints")}]}}),e.ui.append('<small class="whendragging subLine">'.concat(_("LimitToDataPoints"),"</small>")),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),e.settings.Format.addSeparator({container:e.ui}),this.p.interactions.onseriesclick||(this.p.interactions.onseriesclick={type:null}),e.settings.Format.addDropdown({container:e.ui,label:_("InteractionType_OnSerieslClick"),object:this.p.interactions.onseriesclick,property:"type",callback:function(){t("onseriesclick"),i()},combobox:{appendToBody:!0,dataprovider:[{value:null,label:_("Interaction_DoNothing")},{value:"data_points",label:_("Interaction_DataPoints")}]}}),e.ui.append('<small class="onseriesclick subLine">'.concat(_("LimitToDataPoints"),"</small>")),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",parameters:!0,label:_("InteractionType_OnSeriesDblClick"),items:[{type:null},{type:"dashboard"},{type:"url"}]}),t("whendragging"),t("onseriesclick"),this.renderToolbarProperties(e)},getDefaultSeriesConfiguration:function(){return{name:"",labels:{enabled:!1,show_measure:!1,show_dimension:!1,show_value:!0,show_series:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,format:null},bubble:{marker:{border:{width:0,color:"opalwhite"===this.p.style?"#ffffff":"#464951"}},negative_values:{enabled:!1,fill_color:"#FFFFFF"},transparency:!0}}},getHighchartsData:function(n,s,l,c,o){var d=function(e,i){return function(e){var t;if(o)for(var a=0;a<o.length;a++)Utils.isDateType(o[a].type)&&(e.names[a]=Utils.formatValue(e.names[a],DashboardUtils.applyFormat(null,o[a].type)));return e.configuration.config.name?t=e.configuration.config.name:(t=e.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===i&&e.value&&(t=e.value.name)),$.extend(e,{name:t})}},u=function(a,i){return function(e){var t=(t=a(e))||{config:i(),columns:e.columns};return $.extend({},e,{configuration:t})}};return{series:function(e,t){for(var a=[],i=0;i<n.length;i++){var o={},r=n[i];o.columns=r.columns,o.names=r.columns.map(function(e){return e.value}),s&&Utils.isDateType(s.type)&&r.data.forEach(function(e){e[0]=moment(e[0]).valueOf()}),l&&Utils.isDateType(l.type)&&r.data.forEach(function(e){e[1]=moment(e[1]).valueOf()}),c&&Utils.isDateType(c.type)&&r.data.forEach(function(e){e[2]=moment(e[2]).valueOf()}),o.data=r.data,a.push(o)}return a=a.map(u(e,t)).map(d())}(this.getSeriesConfiguration.bind(this),this.getDefaultSeriesConfiguration.bind(this))}},_getHighchartsSeries:function(e,t,u,a){var h=this,p=e.slice(0),b=(p.sort(function(e,t){e=e.name,t=t.name;return!isNaN(e)&&!isNaN(t)&&parseFloat(e)<parseFloat(t)?-1:!isNaN(e)&&!isNaN(t)&&parseFloat(e)>parseFloat(t)?1:e.toString().toLowerCase()<t.toString().toLowerCase()?-1:e.toString().toLowerCase()>t.toString().toLowerCase()?1:0}),a&&Utils.isDateType(a.type)),g=a?a.original_type:null;return e.map(function(e,t){for(var a,i=0;i<p.length;i++)if(p[i].name===e.name){a=i;break}var o,r,n,s,l=e.configuration.config,c=(o=l.labels.rotation,Utils.arrayFirst([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}],function(e){return e.rotation===o})),d=(r=l,t=t,h.p.colors,d=r.bubble.marker.color,t=null===d?(d=h.getColorsFromPalette()[t],r.bubble.transparency?.5:1):d?d.replace(/^.*,(.+)\)/,"$1"):null,r.bubble.marker.threeDbubble?n=s={radialGradient:{cx:.4,cy:.3,r:.7},stops:[[0,"rgba(255,255,255,0.5)"],[1,d]]}:r.bubble.transparency?(n=d,t="0.5",s=null):n=d,{marker:{lineWidth:r.bubble.marker.border.width,lineColor:r.bubble.marker.border.color,fillOpacity:t,fillColor:s},color:n,negativeColor:r.bubble.negative_values.enabled?r.bubble.negative_values.fill_color:null});return $.extend({name:l.name||e.name,data:e.data,point:{events:{click:function(e){var t;if(!Utils.isMobileDevice()&&h.p.interactions.onseriesclick&&"data_points"===h.p.interactions.onseriesclick.type)return(t=-1!==this.series.chart.getSelectedPoints().indexOf(this))&&this.select(!1,!0),e.altKey||e.ctrlKey||h._resetChartSelection.call(this.series.chart,h),t||this.select(!0,!0),h.updateOutputFromChart(this.series.chart),!1}}},type:"bubble",yAxis:0,threshold:u.scale.threshold,userData:{seriesConfig:l},index:a,dataLabels:{enabled:l.labels.enabled,rotation:l.labels.rotation,y:c.y||0,x:c.x||0,style:{fontFamily:l.labels.font.family,fontSize:"".concat(l.labels.font.size,"px"),textShadow:l.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(l.labels.font.family,l.labels.font.font_weight),fontStyle:l.labels.font.italic?"italic":"",textDecoration:l.labels.font.underline?"underline":"",color:l.labels.font.color,textOutline:null},formatter:function(){var e,t=l.labels,a="";return t.show_dimension&&(e=this.key,a=Utils.formatValue(e,DashboardUtils.applyFormat(t.format,b,g))),t.show_measure&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.y,t.format)),t.show_value&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.point.z,t.format)),t.show_series&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.series.name,t.format)),a}}},d)})},_getHighchartsChart:function(){var e=this,t={type:"bubble",width:this.width,zoomType:!Utils.isMobileDevice()&&this.p.interactions.whendragging&&null!==this.p.interactions.whendragging.type?"xy":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:this.p.background.plot_background.enabled?this.p.background.plot_background.border.width:0,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){e._loaded=!0},render:function(){ChartUtils.adjustLegendHeight(e,this)}},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right};return!Utils.isMobileDevice()&&this.p.interactions.whendragging&&"data_points"===this.p.interactions.whendragging.type&&(t.events.selection=function(t){return e._dragging=!0,t.altKey||t.ctrlKey||e._resetChartSelection.call(this,e),Highcharts.each(this.series,function(e){Highcharts.each(e.points,function(e){e.x>=t.xAxis[0].min&&e.x<=t.xAxis[0].max&&e.y>=t.yAxis[0].min&&e.y<=t.yAxis[0].max&&e.select(!0,!0)})}),e.updateOutputFromChart(this),!1}),t.events.click=function(){e._resetChartSelection.call(this,e)},t},_getHighchartsTooltip:function(e,a,t){var i,o=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(i={enabled:!0,shared:!1,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},i.pointFormatter=function(){var t=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.z,format:!0,defaultFormatting:function(){var e=this.series.userOptions.userData.seriesConfig;if(e&&e.labels.format)return e.labels.format}.call(this)},{regex:"this.point.percentage",value:ChartUtils.getPercentage(this.percentage,this.series.points,this.y).toFixed(1),format:!1},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(e){return function(e){this.category;var t=o.p.x_axis,e=e||t.labels.format;return Utils.formatValue(this.category,DashboardUtils.applyFormat(e,a?a.type:null,a?a.original_type:null))}.call(t,e)}},{regex:"this.point.measure",value:this.y,format:!0,defaultFormatting:function(){var e=o.p.y_axis;if(e&&e.labels.format)return e.labels.format}.call(this)}],o.p.tooltip.content,o)},i):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.point.measure}}",_("PointMeasure")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]}})});
//# sourceMappingURL=CH8-bubble.js.map

var PolarWidget={};PolarWidget.DefaultYAxisProperties={bindings:[],position:"left",stacked:!1,stacked_100:!1,title:{enabled:!1,text:"",rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{type:"linear",max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:0,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC",line_style:"Solid"},minor_grid_lines:{width:0,color:"#CCCCCC",line_style:"Solid"},ticks:"transparent",bands:"transparent"},PolarWidget.DefaultSeriesProperties={name:null,labels:{enabled:!1,show_measure:!1,show_dimension:!1,show_percentage:!1,show_series:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,position:"outside",format:null},type:null,subtype:"straight",step:"right",bar:{color:null,gradient:!1,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,negative_values:{enabled:!1,fill_color:"#FFFFFF"}},column:{color:null,gradient:!1,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,negative_values:{enabled:!1,fill_color:"#FFFFFF"}},area:{line:{width:1,color:null,type:"Solid",shadow:{code:"none"}},marker:{shape:null,width:2,color:null,border:{width:0,color:"#000000"}},background_color:null,gradient:!1,negative_values:{enabled:!1,fill_color:"#FFFFFF",line_color:"#000000"}},line:{line:{width:1,color:null,type:"Solid",shadow:{code:"none"}},marker:{shape:null,width:2,color:null,border:{width:0,color:"#000000"}},negative_values:{enabled:!1,line_color:"#FFFFFF"}}},PolarWidget.DefaultProperties={style:null,colors:null,type:"column",data_id:null,data_bindings:[],calculated_columns:[],grid_line_interpolation:"circle",tickmark_placement:!1,data:{mode:"bindings",formula:null,custom:null},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0,plot_background:{enabled:!1,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},legend:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",fixed_width:!0,reversed:!1,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:{title:{enabled:!1,text:_("ChartMyCategories"),align:"middle",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,step:null,format:null,interval:null},axis_line:{width:0,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC",line_style:"Solid"},minor_grid_lines:{width:0,color:"#CCCCCC",line_style:"Solid"},ticks:"transparent"},y_axis:[$.extend(!0,{},PolarWidget.DefaultYAxisProperties)],y_axis_custom:$.extend(!0,{},PolarWidget.DefaultYAxisProperties),series_custom:[],other:{threeD:{enabled:!1,x:.25,y:.25,z:1}},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.series.name}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},display_crosshair:!1},interactions:{ondblclick:null,allow_zoom:!0,onseriesdblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},Widget.createType({id:"CH9",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","y_axis_custom.scale.max","y_axis_custom.scale.min","y_axis_custom.scale.interval","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-more.js"],properties:$.extend(!0,{},PolarWidget.DefaultProperties,{type:"area"}),prototype:$.extend(!0,{},Widget.CHPrototype,{getColumnsFormat:function(e){var t=[],a=this._Data.columns.concat(this._Data.rows).concat(this._Data.values),i=this.p.data_bindings,o=[];if(o=(o=(o=o.concat(i.filter(function(e){return e.area==Enums.WidgetAreas.Rows}))).concat(i.filter(function(e){return e.area==Enums.WidgetAreas.Columns}))).concat(i.filter(function(e){return e.area==Enums.WidgetAreas.Values})),"bindings"==this.p.data.mode){var n=o;e||(n=n.filter(function(e){return!e.hidden}));for(var l=0;l<n.length;l++){var r=n[l],s=Utils.arrayFirst(a,function(e){return e.id==r.column_id}),d=null;switch(r.area){case Enums.WidgetAreas.Values:var c=Utils.arrayFirst(this.p.y_axis,function(e){return e&&e.bindings&&-1!=e.bindings.indexOf(r.guid)});c&&c.labels.format&&(d=c.labels.format);break;case Enums.WidgetAreas.Columns:case Enums.WidgetAreas.Rows:d=this.p.x_axis.labels.format}t.push(d?{ColumnId:r.column_id,Index:l,Format:DashboardUtils.applyFormat(d,s.type)}:{ColumnId:r.column_id,Index:l,Format:DashboardUtils.applyFormat(null,s.type)})}}return t},onVisibilityChange:function(){this.render()},getCustomSample:function(){return this.p.data.custom&&this.p.data.custom.length?this.p.data.custom:[["My Category","Series 1"],["Jan",1],["Feb",8],["Mar",2],["Apr",7],["May",3],["Jun",6],["Jul",4],["Aug",5]]},getHighchartsDataFromWSData:function(e,t,a,o,n,i,l){function r(e,t){var i,t=t.reduce(function(e,t,a){return null===t.names[0]?e.removedIndexes.push(a):e.categories.push(t),e},{categories:[],removedIndexes:[]}),e=e.map((i=t.removedIndexes,function(e){var a;return e.data=e.data.map((a=i,function(e,t){return 0<=a.indexOf(t)?null:e})).filter(o),e}));function o(e){return null!==e}return{categories:t.categories,series:e}}var s,d,c,u,p,g,h,b,m,f,y,v,x,k,w=function(t){return function(e){return e[t]}},S=function i(o,n,l){return function(e,t){var a=o(t);return a?(a=a.reduce(i(o,n,l),[]),a=l(t,a),e.concat(a)):(a={names:[n(t)]},e.concat([a]))}},C=function(t,e){return e.map(function(e){return{names:[t.name].concat(e.names)}})},t=function(e){var t,a;if(a=0<e.length?(t=S(w("values"),w("name"),C),e.reduce(t,[])):[{names:[_("Total")]}],1<o.length)for(var i=0;i<o.length;i++)Utils.isDateType(o[i].type)&&a.forEach(function(e){e.names[i]=Utils.formatValue(e.names[i],DashboardUtils.applyFormat(null,o[i].type))});return a=a.map(function(e){return $.extend(e,{name:e.names.join(ChartUtils.CATEGORY_NAME_SEPARATOR)})})}(t),D=function(e){var t;return 0<e.length?(t=S(w("values"),w("name"),C),e.reduce(t,[])):[{names:[]}]},F=function(t){return function(e){return $.extend({},e,{columns:(a=e,t.map(function(e,t){return{column_id:e.id,value:a.names[t]}}))});var a}},A=function(i,o){return function(e,t){var a,t=i.map((a=t,function(e,t){return $.extend(!0,{},a,{value:{index:t,name:e.name,column_id:e.id,aggregation:e.aggregation,binding:o[t]}})}));return e.concat(t)}},W=function(a,i,o,n){return function(e){var t=(t=a(e))||{config:i(),value:{column_id:e.value?e.value.column_id:null,aggregation:e.value?e.value.aggregation:""},columns:e.columns};return $.extend({},e,{configuration:t,yAxis:e.value?o(e.value.binding):n()})}},U=function(i,o){return function(e){for(var t,a=0;a<n.length;a++)Utils.isDateType(n[a].type)&&(e.names[a]=Utils.formatValue(e.names[a],DashboardUtils.applyFormat(null,n[a].type)));return e.configuration.config.name?t=e.configuration.config.name:(t=e.names.join(ChartUtils.SERIES_NAME_SEPARATOR),0===o&&e.value?t=e.value.name:1<i&&(t+=ChartUtils.SERIES_NAME_VALUE_SEPARATOR+e.value.name)),$.extend(e,{name:t})}},F=(e=e,s=a,i=i,h=n,d=this.getSeriesConfiguration.bind(this),c=this.getDefaultSeriesConfiguration.bind(this),u=this.getYAxisFromBinding.bind(this),p=this.getDefaultYAxisConfiguration.bind(this),D=(D=D(e)).map(F(h)),D=(D=0<s.length?D.reduce(A(s,i),[]):D).map(W(d,c,u,p)).map(U(s.length,e.length))),A=(1===o.length&&Utils.isDateType(o[0].type)&&(g=t.map(function(e){return e.name})),0<a.length?(h=l.map(Utils.transpose),y=g,v=(f=h).length,k=x=0,function(e){var t=(t=f[x][k])||[];return y&&(t=t.map(function(e,t){t=y[t];return[t?moment(t).valueOf():null,e]})),e=$.extend({},e,{data:t}),0===(x=(x+1)%v)&&k++,e}):(b=t.length,m=g,function(e){var t=Utils.createArray(b,null);return m&&(t=t.map(function(e,t){t=m[t];return[t?moment(t).valueOf():null,e]})),$.extend({},e,{data:t})})),i={series:F=F.map(A),categories:t};return i=1===o.length&&Utils.isDateType(o[0].type)?r(i.series,i.categories):i},_getHighchartsSeries:function(d,c,u,e){var p=this,i=function(){var i=this.p.y_axis,o=this.isCustomDataMode();return function(e){if(o||1==i.length)return 0;for(var t=0,a=0;a<i.length;a++){if(i[a]===e)return t;i[a]&&t++}return t}}.bind(this)(),n=1===u.length&&Utils.isDateType(u[0].type),g=1===u.length?u[0].original_type:null;return c.filter(function(e){return!e.value||!e.value.binding||!e.value.binding.hidden}).map(function(l,e){var r=c,s=l.configuration.config,o=l.yAxis,t=$.extend(!0,{},ChartUtils.getSerieLabelAlignmentFromRotation(s.type,s.labels.rotation),ChartUtils.getSeriesLabelPosition(s.type,s.labels.position,s.labels.rotation,o)),a=function(e){switch(e.type){case"bar":return{borderWidth:(e=e.bar).border.width,borderColor:e.border.color,borderRadius:e.roundness,color:e.gradient&&e.color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.color],[1,DashboardUtils.shadeBlend(null,e.color)]]}:e.color,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:e.negative_values.enabled?e.negative_values.fill_color:null};case"column":return{borderWidth:(e=e.column).border.width,borderColor:e.border.color,borderRadius:e.roundness,color:e.gradient&&e.color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.color],[1,DashboardUtils.shadeBlend(null,e.color)]]}:e.color,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:e.negative_values.enabled?e.negative_values.fill_color:null};case"area":return t=(t=(e=e.area).line)||{width:1,color:null,type:"Solid",shadow:{code:"none"}},{fillColor:e.gradient&&e.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.background_color],[1,DashboardUtils.shadeBlend(null,e.background_color)]]}:e.background_color,lineWidth:t.width,lineColor:t.color,color:e.gradient&&e.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,e.background_color],[1,DashboardUtils.shadeBlend(null,e.background_color)]]}:e.background_color,dashStyle:"Solid"===t.type?"":t.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.shadow.opacity,width:t.shadow.radius},marker:{enabled:!!e.marker.shape,symbol:e.marker.shape,radius:e.marker.width,fillColor:e.marker.color,lineWidth:e.marker.border.width,lineColor:e.marker.border.color},negativeColor:e.negative_values.enabled?e.negative_values.line_color:null,negativeFillColor:e.negative_values.enabled?e.negative_values.fill_color:null};case"line":var t;return{lineWidth:(t=(t=(e=e.line).line)||{width:1,color:null,type:"Solid",shadow:{code:"none"}}).width,color:t.color,dashStyle:"Solid"===t.type?"":t.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.shadow.opacity,width:t.shadow.radius},marker:{enabled:!!e.marker.shape,symbol:e.marker.shape,radius:e.marker.width,fillColor:e.marker.color,lineWidth:e.marker.border.width,lineColor:e.marker.border.color},negativeColor:e.negative_values.enabled?e.negative_values.line_color:null};case"polar":return{type:"area"}}}(s);return l.hasBeenClicked=!1,$.extend({name:s.name||l.name,data:l.data,type:s.type,visible:!0,showInLegend:!0,zIndex:p.p.other.threeD.enabled?e+3:null,yAxis:i(l.yAxis),stacking:o.stacked?o.stacked_100?"percent":"normal":null,stack:o.stacked?i(l.yAxis):null,threshold:o.scale.threshold,point:{events:{click:function(e){p.updateOutputFromPoint(e.point);var t=this.index,a=s,i=l,o=r,n=p.p.interactions.onseriesdblclick;if(c.hasBeenClicked&&n){switch(n.type){case"url":DashboardUtils.handleUrlInteraction(p.dashboard,p,n);break;case"dashboard":p.handleDashboardInteraction(n);break;case"data":("bar"==a.type||"column"==a.type||"line"==a.type||"area"==a.type)&&Array.isArray(p.p.data_bindings)&&p.p.data_bindings.length&&p.dashboard&&p._displayRowData(t,d,u,i,o)}c.hasBeenClicked=!1}else c.hasBeenClicked=!0,setTimeout(function(){c.hasBeenClicked=!1},200)}}},userData:{seriesConfig:s,yAxisConfig:o},dataLabels:{enabled:s.labels.enabled,rotation:s.labels.rotation,align:t.align,verticalAlign:t.verticalAlign,inside:t.inside,y:t.y||0,x:t.x||0,style:{fontFamily:s.labels.font.family,fontSize:"".concat(s.labels.font.size,"px"),textShadow:s.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(s.labels.font.family,s.labels.font.font_weight),fontStyle:s.labels.font.italic?"italic":"",textDecoration:s.labels.font.underline?"underline":"",color:s.labels.font.color,textOutline:null},formatter:function(){var a,e,t=s.labels,i="";return null===this.y||0===this.y&&o.stacked?"":(t.show_dimension&&(e=this.key,i+=WidgetsCommon.getFormattedAxisLabel(e,s.labels.format,s.groupings,n,g)),t.show_measure&&(i&&(i+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),i+=Utils.formatValue(this.y,t.format)),t.show_series&&(i&&(i+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),i+=Utils.formatValue(this.series.name,t.format)),t.show_percentage&&(a=this,e=Utils.isEmpty(this.percentage)?function(){for(var e=0,t=0;t<a.series.points.length;t++)e+=a.series.points[t].y;return 100*a.y/e}():this.percentage,e="".concat(Math.round(10*e)/10,"%"),i+=i?" (".concat(e,")"):e),i)}}},a,p.getSeriesTypeOptions(s.type,s.subtype,s.step,p.p.other.threeD.enabled?e:null))})},_getHighchartsChart:function(){var e=this;return{polar:!0,width:this.width,zoomType:!Utils.isMobileDevice()&&this.p.interactions.allow_zoom?"x":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:!this.p.background.plot_background.enabled||this.p.other.threeD.enabled?0:this.p.background.plot_background.border.width,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){e._loaded=!0},render:function(){ChartUtils.adjustLegendHeight(e,this)}},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right}},_getHighchartsYAxis:function(e){var n=this,l=(e.every(Utils.isEmpty)&&(e=[this.getDefaultYAxisConfiguration()]),this.getYAxisDefaultTitle.bind(this));return e.reduce(function(e,t,a){if(!t)return e;Utils.FontUtils.loadFont(t.title.font.family),Utils.FontUtils.loadFont(t.labels.font.family);var i,o={opposite:2<a,stacking:t.stacked?"normal":null,gridLineInterpolation:n.p.grid_line_interpolation,title:{text:t.title.enabled?Utils.pickNonEmptyString(t.title.text,l(a)):"",rotation:t.title.rotation,margin:(270==t.title.rotation&&2<a||90==t.title.rotation&&a<=2)&&t.title.enabled?t.title.font.size:20,style:{fontFamily:t.title.font.family,fontSize:"".concat(t.title.font.size,"px"),textShadow:t.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.title.font.family,t.title.font.font_weight),fontStyle:t.title.font.italic?"italic":"",textDecoration:t.title.font.underline?"underline":"",color:t.title.font.color}},labels:{enabled:t.labels.enabled,step:t.labels.step,style:{fontFamily:t.labels.font.family,fontSize:"".concat(t.labels.font.size,"px"),textShadow:t.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.labels.font.family,t.labels.font.font_weight),fontStyle:t.labels.font.italic?"italic":"",textDecoration:t.labels.font.underline?"underline":"",color:t.labels.font.color}},lineColor:t.axis_line.color,lineWidth:t.axis_line.width,gridLineWidth:t.major_grid_lines.width,gridLineColor:t.major_grid_lines.color,gridLineDashStyle:t.major_grid_lines.line_style,minorGridLineWidth:t.minor_grid_lines.width,minorGridLineDashStyle:t.minor_grid_lines.line_style,minorGridLineColor:t.minor_grid_lines.color,minorTickInterval:"auto",crosshair:n.p.tooltip&&n.p.tooltip.display&&n.p.tooltip.display_crosshair||!1,tickColor:t.ticks,tickWidth:"transparent"!==t.ticks?1:0,tickLength:5,alternateGridColor:t.bands,type:t.scale.type,reversed:t.scale.reverse};return t.labels.format&&(o.labels.formatter=function(){return Utils.formatValue(this.value,t.labels.format)}),n._Data.scaleFormulaResults&&((i=n._Data.scaleFormulaResults[0])&&null!==i.max_result&&$.isNumeric(i.max_result.value)&&(o.max=i.max_result.value),i&&null!==i.min_result&&$.isNumeric(i.min_result.value)&&("logarithmic"===t.scale.type?o.min=Math.max(i.min_result.value,1):o.min=i.min_result.value)),n._Data.intervalFormulaResult&&(i=n._Data.intervalFormulaResult[a])&&$.isNumeric(i.value)&&0<i.value&&(o.tickInterval=i.value),e.concat(o)},[])},_getHighchartsXAxis:function(a,e,i){Utils.FontUtils.loadFont(i.title.font.family),Utils.FontUtils.loadFont(i.labels.font.family);var o=1===a.length&&Utils.isDateType(a[0].type),n=(1===a.length&&Utils.isDateType(a[0].type),1===a.length?a[0].original_type:null),e=e.map(function(e){return e.name}),e={type:o?"datetime":i.logarithmic?"logarithmic":"categories",title:{text:i.title.enabled?Utils.pickNonEmptyString(i.title.text,this.getXAxisDefaultTitle()):"",align:i.title.align,style:{fontFamily:i.title.font.family,fontSize:"".concat(i.title.font.size,"px"),textShadow:i.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(i.title.font.family,i.title.font.font_weight),fontStyle:i.title.font.italic?"italic":"",textDecoration:i.title.font.underline?"underline":"",color:i.title.font.color}},tickmarkPlacement:this.p.tickmark_placement?"between":"on",categories:o?null:e,lineColor:i.axis_line.color,lineWidth:i.axis_line.width,gridLineWidth:i.major_grid_lines.width,gridLineColor:i.major_grid_lines.color,gridLineDashStyle:i.major_grid_lines.line_style,gridZIndex:2,minorGridLineWidth:i.minor_grid_lines.width,minorGridLineColor:i.minor_grid_lines.color,minorGridLineDashStyle:i.minor_grid_lines.line_style,tickColor:i.ticks,tickLength:5,crosshair:this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.display_crosshair||!1,tickWidth:"transparent"!==i.ticks?1:0,labels:{enabled:i.labels.enabled,rotation:i.labels.rotation,step:i.labels.step,style:{fontFamily:i.labels.font.family,fontSize:"".concat(i.labels.font.size,"px"),textShadow:i.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(i.labels.font.family,i.labels.font.font_weight),fontStyle:i.labels.font.italic?"italic":"",textDecoration:i.labels.font.underline?"underline":"",color:i.labels.font.color}}};return i.labels.format&&(e.labels.formatter=function(){var e=this.value,t=a[0];if(t)return WidgetsCommon.getFormattedAxisLabel(e,i.labels.format,t.groupings,o,n)}),0<i.labels.interval&&(e.tickInterval=o?24*i.labels.interval*3600*1e3:i.labels.interval),e},getDefaultYAxisConfiguration:function(){return $.extend(!0,{},PolarWidget.DefaultYAxisProperties,this.getWidgetStyleConfig().default_y_axis_style)},getDefaultSeriesConfiguration:function(){var e=this.getSeriesCombinaisons().filter(function(e){return"all"==e.value.aggregation})[0],e=this.getSeriesConfiguration(e),e=e?e.config:{};return $.extend(!0,{},PolarWidget.DefaultSeriesProperties,this.getWidgetStyleConfig().default_series_style,this.getSeriesTypeOptions(this.p.type),e)},getAvailableChartTypes:function(){return[{label:_("Area"),value:"area",image:"/Dashboard/Images/WidgetProperties/polar-type-area.png"},{label:_("Column"),value:"column",image:"/Dashboard/Images/WidgetProperties/polar-type-column.png"},{label:_("Line"),value:"line",image:"/Dashboard/Images/WidgetProperties/polar-type-line.png"}]},renderPropertiesTab:function(e){var t=this,a=e.ui.content,i=this.update.bind(this);e.addLargeDropdown({container:a,id:"properties_chart_type",dataprovider:this.getAvailableChartTypes(),object:this.p,property:"type",callback:function(){t.p.series_custom.forEach(function(e){e.config.type=t.p.type}),i()}}),e.addLargeDropdown({container:a,id:"properties_chart_shape",label:_("Shape"),dataprovider:[{label:_("PolarGridCircle"),value:"circle",image:"/Dashboard/Images/WidgetProperties/polar-outer-axis-round.png"},{label:_("PolarGridPolygon"),value:"polygon",image:"/Dashboard/Images/WidgetProperties/polar-outer-axis-hex.png"}],object:this.p,property:"grid_line_interpolation",callback:i});a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             \x3c!--<li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>--\x3e                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){e.settings.Data._isDirty=!0,t.p.data.mode=$(this).val(),t.setSortFilterTabState(),t.resetSortAndFilters(),t.update()})},renderDataBindings:function(e){var i=this,t=new Settings.Data.Bindings(e);t.templates.area_measure_column='                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',t.templates.area_count_column='                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',t.getAreaColumnTemplateItemData=function(t,e){var a;t.area===Enums.WidgetAreas.Values&&(i.getYAxisFromBinding(t),a=Utils.arrayFirstIndex(i.p.y_axis,function(e){return e&&e.bindings&&-1!=e.bindings.indexOf(t.guid)}),e.axis_picker_label=i.getYAxisLabelFromIndex(a))},t.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5},{name:_("Categories"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.3},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.2}]),t.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var e=$(this).closest(".area-column");return t.toggleAxisPopup(e),!1}),t.on("bindingAdded",function(e){var t;e.area==Enums.WidgetAreas.Values&&(i.p.y_axis[0]||(t=i.getDefaultYAxisConfiguration(),i.p.y_axis[0]=t),i.p.y_axis[0].bindings.push(e.guid))}),t.on("bindingCleared",function(){this.p.y_axis[0]=null,this.p.series_custom=[],this.p.trends_custom=[],i.resetSortAndFilters()}.bind(this)),t.on("bindingRemoved",function(e){if(i.resetSortAndFilters(e),e.area==Enums.WidgetAreas.Values)for(var t=0;t<i.p.y_axis.length;t++)if(i.p.y_axis[t]&&0<=i.p.y_axis[t].bindings.indexOf(e.guid))return Utils.arrayRemove(i.p.y_axis[t].bindings,e.guid),void(i.p.y_axis[t].bindings.length||(i.p.y_axis[t]=null))}),this.data_destroy_callback=function(){t.destroy()}},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),e.push({icon:function(){return"chart-polar-y-axis.png"}.bind(this),text:_("InnerAxis"),code:"yaxis",renderer:function(e){"bar"===this.p.type?this.getXAxisProperties(e):this.getYAxisProperties(e)}.bind(this)}),e.push({icon:function(){return"chart-polar-x-axis.png"}.bind(this),text:_("OuterAxis"),code:"xaxis",renderer:function(e){"bar"===this.p.type?this.getYAxisProperties(e):this.getXAxisProperties(e)}.bind(this)}),e.push({icon:function(){return"chart-polar-series.png"}.bind(this),text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),e},getYAxisProperties:function(e){var t,a=this,i=this.render.bind(this);switch(a.p.data.mode){case"bindings":t=a.p.y_axis[0];break;case"custom":t=a.p.y_axis_custom}function o(){0<n.major_grid_lines.width?s.show():s.hide(),i()}var n=this.p.x_axis,l=e.addSection(),l=(e.addBoolean({section:l,label:_("ShowAxisLabels"),object:t.labels,property:"enabled",callback:i}),e.addFont({container:l,object:t.labels,property:"font",callback:i}),e.addNumber({container:l,label:_("Step"),placeholder:_("AutoPlaceholder"),object:t.labels,property:"step",callback:i}),e.addFormat({container:l,label:_("Format"),object:t.labels,property:"format",callback:i}),e.addSeparator({container:void 0}),e.addSection()),l=(e.addBoolean({container:void 0,section:l,label:_("Stacked"),object:t,property:"stacked",callback:i}),e.addBoolean({container:l,label:_("100%"),object:t,property:"stacked_100",callback:i}),e.addSection().addClass("nomargin").appendTo(e.ui.content)),r=(e.addSeparator({container:l}),e.addDropdown({container:l,label:_("AxisScale"),object:t.scale,property:"type",callback:i,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),e.addSection().appendTo(l)),s=(e.addFormulaInput({container:r,widget:a,dashboard:a.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:t.scale,property:"max",callback:a.tryUpdate.bind(a)}),e.addFormulaInput({container:r,widget:a,dashboard:a.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:t.scale,property:"min",callback:a.tryUpdate.bind(a)}),e.addFormulaInput({container:r,widget:a,dashboard:a.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:t.scale,property:"interval",callback:a.tryUpdate.bind(a)}),e.addNumber({container:r,label:_("Threshold"),object:t.scale,property:"threshold",callback:i}),e.addBoolean({container:r,label:_("Reverse"),object:t.scale,property:"reverse",callback:i}),e.addSeparator({container:l}),e.addBorder({container:l,dropDown:!1,label:_("InnerLines"),label_color:_("LineColor"),object:n,property:"major_grid_lines",callback:o}),e.addSection().appendTo(l));e.addToggleButtons({container:s,label:_("LineType"),object:n.major_grid_lines,property:"line_style",callback:i,buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),e.addBoolean({container:s,label:_("TickMarkPlacement"),object:this.p,property:"tickmark_placement",callback:i}),e.addSeparator({container:l}),o()},getXAxisProperties:function(e){var t,a=this.render.bind(this),i=this.p.x_axis;switch(this.p.data.mode){case"bindings":t=this.p.y_axis[0];break;case"custom":t=this.p.y_axis_custom}function o(){0<t.major_grid_lines.width?l.show():l.hide(),0<t.minor_grid_lines.width?r.show():r.hide(),a()}var n=e.addSection(),n=(e.addBoolean({section:n,label:_("ShowTitle"),object:i.title,property:"enabled",callback:a}),e.addText({container:n,label:_("AxisTitle"),placeholder:this.getXAxisDefaultTitle(),object:i.title,property:"text",callback:a,event:"focusout"}),e.addSection().appendTo(n)),n=(e.addFont({container:n,object:i.title,property:"font",callback:a}),e.addToggleButtons({container:n,label:_("HorizontalAlign"),object:i.title,property:"align",callback:a,buttons:[{icon:"fa-align-left",value:"low"},{icon:"fa-align-center",value:"middle"},{icon:"fa-align-right",value:"high"}]}),e.addSeparator(),e.addSection()),n=(e.addBoolean({section:n,label:_("ShowAxisLabels"),object:i.labels,property:"enabled",callback:a}),e.addFont({container:n,object:i.labels,property:"font",callback:a}),e.addToggleButtons({container:n,label:_("Rotation"),object:i.labels,property:"rotation",numeric:!0,callback:a,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),e.addNumber({container:n,label:_("Step"),placeholder:_("AutoPlaceholder"),object:i.labels,property:"step",callback:a}),e.addFormat({container:n,label:_("Format"),object:i.labels,property:"format",callback:a}),e.addNumber({container:n,label:_("Interval"),placeholder:_("AutoPlaceholder"),object:i.labels,property:"interval",callback:a,min:0}),e.addSeparator(),e.addBorder({label:_("OuterAxisLine"),dropDown:!1,label_color:_("Color"),object:i,property:"axis_line",color:!0,callback:a}),e.addColor({label:_("Ticks"),dropDown:!1,object:i,property:"ticks",callback:a}),e.addSeparator(),e.addSection().addClass("nomargin").appendTo(e.ui.content)),l=(e.addBorder({container:n,label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:t,property:"major_grid_lines",callback:o}),e.addSection().appendTo(n)),r=(e.addToggleButtons({container:l,label:_("LineType"),object:t.major_grid_lines,property:"line_style",callback:a,buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),e.addSeparator({container:n}),e.addBorder({container:n,dropDown:!1,label:_("MinorGridLines"),label_color:_("LineColor"),object:t,property:"minor_grid_lines",callback:o}),e.addSection().appendTo(n));e.addToggleButtons({container:r,label:_("LineType"),object:t.minor_grid_lines,property:"line_style",callback:a,buttons:[{image:"line-type-plain.png",value:"Solid"},{image:"line-type-dashed.png",value:"ShortDash"},{image:"line-type-dotted.png",value:"Dot"}]}),e.addSeparator({container:n}),o()},renderInteractionsTab:function(e){this.render.bind(this);e.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",parameters:!0,label:_("InteractionType_OnSeriesDblClick"),items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}]}),this.renderToolbarProperties(e)}})});
//# sourceMappingURL=CH9-polar.js.map

var WidgetDC=window.WidgetDC={createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedstartdate"),this.createProperty("selectedenddate"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.resetSelectedOutput()},updateOutputFromPoint:function(t){this.selectedvalue=t.y,this.selectedcategory=t.category,this.selectedseries=t.series.name,this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedcategory:this.selectedcategory,selectedenddate:this.selectedenddate,selectedseries:this.selectedseries,selectedstartdate:this.selectedstartdate,selectedvalue:this.selectedvalue})},resetState:function(t){this.selectedenddate=t.selectedenddate,this.selectedstartdate=t.selectedstartdate,this.selectedvalue=t.selectedvalue,this.selectedcategory=t.selectedcategory,this.selectedseries=t.selectedseries},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedseries=null},getColumnsFormat:function(t){var e=[],n=this._Data.columns.concat(this._Data.rows).concat(this._Data.values);if("bindings"===this.p.data.mode){var a=this.p.data_bindings,i=(t||(a=a.filter(function(t){return!t.hidden})),[]);i=(i=(i=i.concat(a.filter(function(t){return t.area===Enums.WidgetAreas.Rows}))).concat(a.filter(function(t){return t.area===Enums.WidgetAreas.Columns}))).concat(a.filter(function(t){return t.area===Enums.WidgetAreas.Values}));for(var o=0;o<i.length;o++){var r=i[o],l=Utils.arrayFirst(n,function(t){return t.id===r.column_id}),s=null;switch(r.area){case Enums.WidgetAreas.Values:var c=Utils.arrayFirst(this.p.y_axis,function(t){return t&&t.bindings&&-1!==t.bindings.indexOf(r.guid)});c&&c.labels.format&&(s=c.labels.format);break;case Enums.WidgetAreas.Columns:case Enums.WidgetAreas.Rows:s=this.p.x_axis.labels.format}e.push(s?{ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(s,l.type)}:{ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(null,l.type)})}}return e},onVisibilityChange:function(){this.render()},onloadedCallback:function(){this._loaded=!0},_getHighchartsTooltip:function(n){var t,a,i,o=this,r=1===n.length&&Utils.isDateType(n[0].type),l=1===n.length?n[0].type:null,s=1===n.length?n[0].original_type:null;return this._lastvisibilityValue&&this.p.interactions.onhover&&"show_tooltip"===this.p.interactions.onhover.type?(t={enabled:!0,shared:this.p.interactions.onhover.display_shared,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>"},a=function(){var t=this.y,e=(this.dataGroup&&(t=this.series.yData[this.dataGroup.start]),this.series.userOptions.userData.seriesConfig),n=this.series.userOptions.userData.yAxisConfig;return t=e&&e.labels.format?Utils.formatValue(t,e.labels.format):Utils.formatValue(t,n.labels.format)},i=function(){var t=this.category,e=o.p.x_axis;return t=e&&e.labels.format?WidgetsCommon.getFormattedAxisLabel(t,e.labels.format,n&&0<n.length?n[0].groupings:[],r,l,s):WidgetsCommon.getFormattedAxisLabel(t,o.p.x_axis.labels.format,n&&0<n.length?n[0].groupings:[],r,l,s)},this.p.interactions.onhover.display_shared?t.pointFormatter=function(){var t="<tr>",e=(o.p.interactions.onhover.display_name&&(t+='<td><span style="vertical-align: middle;">'.concat(this.series.name).concat(o.p.interactions.onhover.display_category?" (".concat(i.call(this),")"):"","</span>:&nbsp;</td>")),o.p.interactions.onhover.display_category&&!o.p.interactions.onhover.display_name&&(t+='<td><span style="vertical-align: middle;">'.concat(i.call(this),"</span>: </td>")),a.call(this));return o.p.interactions.onhover.display_percentage&&(e+=" ({0}%)".format(Math.round(10*ChartUtils.getPercentage(this.percentage,this.series.points,this.y))/10)),t=t+'<td style="text-align: right; font-weight: bold;"><span style="vertical-align: middle;">'.concat(e,"</span></td>")+"</tr>"}:t.pointFormatter=function(){var t="",e=(o.p.interactions.onhover.display_name&&(t+='<tr><td text-align:center;"><span style="vertical-align: middle;">'.concat(this.series.name).concat(o.p.interactions.onhover.display_category?" (".concat(i.call(this),")"):"","</span></td></tr>")),o.p.interactions.onhover.display_category&&!o.p.interactions.onhover.display_name&&(t+='<tr><td style="text-align:center;"><span style="vertical-align: middle;">'.concat(i.call(this),"</span></td></tr>")),a.call(this));return o.p.interactions.onhover.display_percentage&&(e+=" ({0}%)".format(Math.round(10*ChartUtils.getPercentage(this.percentage,this.series.points,this.y))/10)),t+='<tr><td style="font-weight: bold; font-size: 14px;text-align:center;"><span style="vertical-align: middle;">'.concat(e,"</span></td></tr>")},t):{enabled:!1}},getYTDIndex:function(){return Utils.arrayFirstIndex(this.p.time_controls.range_selector.buttons,function(t){return"ytd"===t.type&&t.enabled})},setYTDOptionState:function(){var t,e,n=this._chart,a=this.getYTDIndex();if(!a||-1===a)return this._YtdHoveringEventSet=!1,$(".tooltipPlaceholder").remove(),!1;n.rangeSelector&&(n=n.rangeSelector.buttons[a],t=$(n.element),this._canUseYTD?(t.off("mouseover"),$(".tooltipPlaceholder").remove(),this._YtdHoveringEventSet=!1):(n.setState(3),t.css({cursor:"default"}),(e=$(".tooltipPlaceholder")).length||(e=$("<div class='tooltipPlaceholder' title='{0}'></div>".format(_("WidgetSc3_YtdDisabledLabel"))),$("body").append(e)),this._YtdHoveringEventSet||(t.on("mouseover",function(){e.css({top:t.offset().top,left:t.offset().left,"z-index":9999,position:"absolute",height:$("rect",t).attr("height"),width:$("rect",t).attr("width")})}),this._YtdHoveringEventSet=!0)))},getTimeControlsProperties:function(t){var e=this.render.bind(this),a=this,n=t.addSection(),i=(t.addBoolean({section:n,label:_("TimeSlider"),object:this.p.time_controls.time_slider,property:"enabled",callback:e}),t.addFont({container:n,object:this.p.time_controls.time_slider,property:"font",callback:e,dropDown:!0}),this.getSeriesCombinaisons()),o=i.map(function(t){var e="".concat(t.value.name," (").concat(t.value.aggregation,")");return t.columns.forEach(function(t){e+=" - ".concat(t.value)}),{label:e,value:i.indexOf(t)}}),o=(t.addDropdown({label:_("DisplayedSeries"),container:n,object:this.p.time_controls.time_slider,property:"serie_index",callback:e,combobox:{dataprovider:o}}),t.addColor({container:n,label:_("LineColor"),object:this.p.time_controls.time_slider,property:"line_color",callback:e}),t.addColor({container:n,label:_("FillColor"),object:this.p.time_controls.time_slider,property:"fill_color",callback:e}),t.addSeparator(),t.addSection());o.addClass("nomargin"),t.addBoolean({section:o,label:_("RangeSelector"),object:this.p.time_controls.range_selector,property:"enabled",callback:e}),t.addFont({container:o,object:this.p.time_controls.range_selector,property:"font",callback:e});o.append(Mustache.render('<div class="dc3_buttons_container">                            <div class="sortable_list_container"></div>                            </div>')),this.sortableList=new SortableList({container:$(".dc3_buttons_container .sortable_list_container"),object:this.p.time_controls.range_selector,property:"buttons",enableDelete:!1,onSortCallback:this.render.bind(this),columns:[{name:"",width:61,cellFormat:function(t,e){var n=$("<input type='checkbox' class='cd-flipswitch' />");e.append(n),n.prop("checked",t.enabled),n.flipSwitch().on("change",function(){t.enabled=$(this).prop("checked"),a.render()}),n.toggleClass("on",t.enabled)}},{name:_("Period"),classes:"period_column",width:250,cellFormat:function(t,e){var n="";switch(t.type){case"month":n="".concat(t.count," "),n+=1<t.count?_("LabelMonths"):_("LabelMonth");break;case"year":n="".concat(t.count," "),n+=1<t.count?_("LabelYears"):_("LabelYear");break;case"ytd":n=_("LabelYearToDate");break;case"all":n=_("All")}e.append($("<span></span>").text(n))}},{name:_("DisplayName"),classes:"display_column",cellFormat:function(t,e){var n=$("<input type='text'>");e.append(n),n.val(t.text),n.on("change",function(){t.text=$(this).val(),a.render()})}}]})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(e){var r=this,t=new Settings.SortFilter.TopBottom(e);t.updateDataCallback=function(){r._isDirty=!0,r.update()},t.getTopBottomColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],n=0;n<r.p.data_bindings.length;n++){var a,i=r.p.data_bindings[n];i.area===Enums.WidgetAreas.Values&&(i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,value:i.guid}):(a=r.getColumnFromId(t.columns,i.column_id),e.push({label:i.name||a.name,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,value:i.guid})))}o(e)});break;case"custom":var t=r.p.data.custom[0].map(function(t,e){return{label:t,value:e}});o(t)}},t.render()},_getHighchartsXAxis:function(e,t,n){var a=this,i=(Utils.FontUtils.loadFont(n.title.font.family),Utils.FontUtils.loadFont(n.labels.font.family),1===e.length?e[0].type:null),o=1===e.length?e[0].original_type:null,r={type:"datetime",title:{text:n.title.enabled?Utils.pickNonEmptyString(n.title.text,this.getXAxisDefaultTitle()):"",align:n.title.align,style:{fontFamily:n.title.font.family,fontSize:"".concat(n.title.font.size,"px"),textShadow:n.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(n.title.font.family,n.title.font.font_weight),fontStyle:n.title.font.italic?"italic":"",textDecoration:n.title.font.underline?"underline":"",color:n.title.font.color}},lineColor:n.axis_line.color,lineWidth:n.axis_line.width,gridLineWidth:n.major_grid_lines.width,gridLineColor:n.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:n.minor_grid_lines.width,minorGridLineColor:n.minor_grid_lines.color,events:{afterSetExtremes:function(){var t,e,n;this.chart.rangeSelector&&(t=a.getYTDIndex(),e=this.chart.rangeSelector.buttons,(n=this.getExtremes())&&(a.selectedstartdate=n.min?moment.utc(n.min):null,a.selectedenddate=n.max?moment.utc(n.max):null),!this._canUseYTD&&t<e.length&&setTimeout(function(){a._YtdHoveringEventSet=!1,a.setYTDOptionState()},200))},render:function(){ChartUtils.adjustLegendHeight(a,this)}},labels:{enabled:n.labels.enabled,rotation:n.labels.rotation,step:n.labels.step,style:{fontFamily:n.labels.font.family,fontSize:"".concat(n.labels.font.size,"px"),textShadow:n.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(n.labels.font.family,n.labels.font.font_weight),fontStyle:n.labels.font.italic?"italic":"",textDecoration:n.labels.font.underline?"underline":"",color:n.labels.font.color}}},l=(r.labels.formatter=function(){var t=this.value;return"date"===o?t=moment.utc(t).format("YYYY-MM-DD"):"datetime"===o&&(t=moment.utc(t).format("YYYY-MM-DD HH:mm:ss")),WidgetsCommon.getFormattedAxisLabel(t,n.labels.format,e&&0<e.length?e[0].groupings:[],!0,i,o)},0<n.labels.interval&&(r.tickInterval=864e5*n.labels.interval),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&l){for(var s=this.p.plot_options.filter(function(t){return"horizontal"===t.axis_type&&0===t.axis_index}),c=[],d=[],h=0;h<s.length;h++){var p=s[h];Utils.FontUtils.loadFont(p.font.family),"band"===p.type?c.push(ChartUtils.getHighChartsObject(p)):"line"===p.type&&d.push(ChartUtils.getHighChartsObject(p))}c.length&&(r.plotBands=c),d.length&&(r.plotLines=d)}return r},_getRangeSelectorButtons:function(t){return t.filter(function(t){return!0===t.enabled})},_getfontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}},_changeFontOpacity:function(t,e){return t.color=this._changeAlphaOnRgba(t.color,e),t},_changeAlphaOnRgba:function(t,e){t=DashboardUtils.parseRGBA(t);return t.a=e,t.toString()},_getMaskFill:function(t){var e="",e="transparent"!==t.line_color?t.line_color:"transparent"!==t.fill_color?t.fill_color:"rgba(128, 179, 236, 0.3)";return this._changeAlphaOnRgba(e,.25)}};
//# sourceMappingURL=DC-time-chart-base.js.map

function _createForOfIteratorHelper(t,e){var a,r,o,n,i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return r=!(a=!0),{s:function(){i=i.call(t)},n:function(){var t=i.next();return a=t.done,t},e:function(t){r=!0,o=t},f:function(){try{a||null==i.return||i.return()}finally{if(r)throw o}}};if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return i&&(t=i),n=0,{s:e=function(){},n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,r=new Array(e);a<e;a++)r[a]=t[a];return r}!function(){var l="project",o="resource",s="task",c="resource",d="completion",r={style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],gantt_type:l,sort_filter:{user_sorting:{enabled:!0},sorts:[],filters:[]},data:{mode:"bindings",formula:null,custom:null},tooltip:{display:!1,content:"<b>{{TaskName}}</b><br/>                       <b>Start:</b> {{StartDate}}<br/>                       <b>End:</b> {{EndDate}}<br/>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},conditional_formatting:{enabled:!1,based_on:"completion",conditions:[{bar_border_color:"#cccccc",bar_color:"#A6CB6A",operator:"default"}]},general:{row_height:30,width:25,splitter_color:"#cacaca",separator_color:"#cacaca",border_color:"#cacaca",fit_all:!1,expanded:!0,selected_row_background_color:"transparent",hovered_row_background_color:"transparent"},timeline:{header:{background_color:"#ffffff",border_color:"#cccccc",font:{family:"Open Sans",size:15,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3E4E5B"}},panel:{background_color:"#ffffff",display_label:!1,display:"task",column_border_color:"transparent",font:{family:"Open Sans",size:12,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},roll_up:{progress:{height:100,color:"#64B79A",border:{width:1,color:"transparent"}},actual:{color:"#54A1B7",border:{width:1,color:"transparent"}}},progress:{height:100,color:"#64B79A",border:{width:1,color:"transparent"}},milestone:{color:"#ffffff",border:{width:1,color:"transparent"}},actual:{color:"#54A1B7",border:{width:1,color:"transparent"}},baseline:{color:"#A6CB6A",border:{width:1,color:"transparent"}}}},table:{columns:[],header:{background_color:"#ffffff",title:"Name",font:{family:"Open Sans",size:15,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3E4E5B"}},panel:{background_color:"#ffffff",row_border_color:"#cccccc",column_border_color:"#cccccc",task_default_width:150,task:{font:{family:"Open Sans",size:12,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},sub_task:{font:{family:"Open Sans",size:12,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}}}},background:{color:"transparent",gradient:!1,border:{width:1,color:"#cccccc"},margins:{top:0,bottom:0,left:0,right:0},shadow:{code:"none"},roundness:0},title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:""},interactions:{ontimelinedblclick:null,onrowclick:"selectrow"}};Widget.createType({id:"DC2",options:{layer:!0,width:600,height:300,hasStyleProperty:!0,hasColorsProperty:!0,formula_output:["selectedrow","selectedrowindex","rows","count"],formula_input:["sort_filter.filters.formula","conditional_formatting.conditions.value1_formula","conditional_formatting.conditions.value2_formula","interactions.ontimelinedblclick.parameters.parameters.formula"]},scripts:["/Libraries/AnyGantt/anychart-base.min.js","/Libraries/AnyGantt/anychart-gantt.min.js"],properties:r,prototype:{createOutputProperties:function(){this.createProperty("selectedrow"),this.createProperty("selectedrowindex"),this.createProperty("rows"),this.createProperty("count"),this.resetSelectedOutput()},setOutputFromData:function(){var t=this._Data.data;this.rows=t.map(function(t){return[t.name,t.actualStart,t.actualEnd]}),this.count=t.length,this.updateState()},updateOutputFromPoint:function(t){this.p.interactions.onrowclick&&"selectrow"===this.p.interactions.onrowclick?this.selectedrow=Object.values(t.item.na):this.selectedrow=null,this.selectedrowindex=t.index,this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedrow:this.selectedrow,selectedrowindex:this.selectedrowindex,rows:this.rows,count:this.count})},resetState:function(t){this.selectedrow=t.selectedvalue,this.selectedrowindex=t.selectedcategory},resetSelectedOutput:function(){this.selectedrow=null,this.selectedrowindex=-1,this.rows=null,this.count=null},onVisibilityChange:function(){this.render()},setSample:function(){this._Data={},this.createCustomDataObject(),this.render()},init:function(){anychart.licenseKey("clicdata.com-a050d170-89b02593"),this.container.empty(),this.p.gantt_type===l?this._chart=anychart.ganttProject():this._chart=anychart.ganttResource(),this.p.data.custom||(this.p.data.custom=this.getDataCustomFromSample()),this._chart.credits().enabled(!1),this._chart.container("widget_".concat(this.guid)),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var t=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(t.ui)}),this.on("fontchanged",function(){t.render()}),this.on("propertieschanged",function(){this.init()}.bind(this)),this.on("colorschanged",function(){this.render()}.bind(this)),this.on("data_changed",function(){t.p.table.columns=[]}),this.on("stylechanged",function(){this.render()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},bindGanttEvents:function(){var a=this,r=!1,o=!!this.p.interactions.ontimelinedblclick;this._chart.listen("rowClick",function(t){var e;r?e=setTimeout(function(){r=!1,clearTimeout(e)},200):(a.updateOutputFromPoint(t),r=o)}),this._chart.listen("rowDblClick",function(){a.onDblClickRow()})},onDblClickRow:function(){var a=this;if(this.p.interactions.ontimelinedblclick&&this.dashboard&&("bindings"!==this.p.data.mode||null!==this.p.data_id)){var e,r=this.p.interactions.ontimelinedblclick,t=r.type;switch(t){case"url":r.url&&(e=function(t,e){DashboardUtils.handleUrlInteraction(a.dashboard,a,e)},r.url_type&&"string"!==r.url_type?FormulaUtils.evaluateFormula({formula:r.url,widget:a,sucessCallback:function(t){e(0,r)}}):e(r.url,r));break;case"dashboard":this.handleDashboardInteraction(r);break;default:throw new Error("Interaction type is not handled:",t)}}},render:function(){var t=this._Data.data;t.push({id:"gantt_scrollbar_placeholder",rowHeight:10}),this.p.gantt_type===Enums.GanttChartType.Project?this._chart.data(t,"as-table"):(t=anychart.data.tree(t,"as-table"),this._chart.data(t)),this._chart.background().fill("transparent"),this.setTitle(),this.updateStyle(),this._chart.draw(),this.setMisc(),this._ganttEventsBound||(this.bindGanttEvents(),this._ganttEventsBound=!0),this.setOutputFromData(),this._loaded=!0},getTooltipMacro:function(){var t,e=[["{{TaskName}}",_("TaskName")],["{{StartDate}}",_("TaskStartDate")],["{{EndDate}}",_("TaskEndDate")]],a=_createForOfIteratorHelper(this.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.GanttValue}));try{for(a.s();!(t=a.n()).done;){var r=t.value;e.push(["{{AdditionalInfo(".concat(r.name,")}}"),r.name])}}catch(t){a.e(t)}finally{a.f()}return e},updateStyle:function(){this.setContainerBackground(),this.setTableStyle(),this.setGeneralSettings(),this.setTimelineStyle(),this.setTooltip(),this.setScrollbar()},setScrollbar:function(){var t=this._chart.getTimeline(),e=this._chart.dataGrid(),a=t.horizontalScrollBar(),t=t.verticalScrollBar(),e=e.horizontalScrollBar();a.backgroundFill("rgba(230, 230, 230, 0.6)"),t.backgroundFill("rgba(230, 230, 230, 0.6)"),e.backgroundFill("rgba(230, 230, 230, 0.6)"),a.sliderFill("rgba(0, 0, 0, 0.6)"),t.sliderFill("rgba(0, 0, 0, 0.6)"),e.sliderFill("rgba(0, 0, 0, 0.6)"),a.barSize(7),t.barSize(7),e.barSize(7),a.cornersRadius(0),t.cornersRadius(0),e.cornersRadius(0),a.mouseOutOpacity(1),t.mouseOutOpacity(1),e.mouseOutOpacity(1),a.mouseOverOpacity(1),t.mouseOverOpacity(1),e.mouseOverOpacity(1)},setMisc:function(){this.p.general.expanded?this._chart.expandAll():this._chart.collapseAll()},injectStyle:function(){var t=this.p.tooltip.background,e=[];e[".anychart-tooltip"]="color: #000;background-color: ".concat(t.color,"; border: solid ").concat(t.border.width,"px ").concat(t.border.color,"; border-radius: ").concat(t.roundness,"px"),e["svg > g > g > g:nth-child(4) path:last-of-type"]="fill: ".concat(this.p.general.splitter_color,";"),e["svg > g > g > g:nth-child(2) > g:first-of-type path:last-of-type"]="stroke: ".concat(this.p.general.separator_color,";"),e["svg > g > g > g:nth-child(3) > g:first-of-type path:last-of-type"]="stroke: ".concat(this.p.general.separator_color,";"),Utils.AppendCSSToPage("#widget_".concat(this.guid),e)},setTooltip:function(){var t=this._chart.getTimeline(),e=this._chart.dataGrid(),t=t.tooltip(),e=e.tooltip();this.setUpGanttTooltip(t),this.setUpGanttTooltip(e)},setUpGanttTooltip:function(t){var s=this;this.p.tooltip.display?(t.enabled(!0),t.allowLeaveChart(!0),t.allowLeaveScreen(!0),t.separator().enabled(!1),t.title().enabled(!1),t.useHtml(!0),t.format(function(){var e=this,r=Utils.arrayFirst(s._Data.data,function(t){return t.id===e.id});if(r){s.p.gantt_type===Enums.GanttChartType.Project?(a=r.actualStartFormatted||Utils.formatDateTime(moment.utc(r.actualStart)),o=r.actualEndFormatted||Utils.formatDateTime(moment.utc(r.actualEnd))):s.p.gantt_type===Enums.GanttChartType.Resource&&r.periods&&r.periods.length&&(a=(t=r.periods[0]).minPeriodDateFormatted||Utils.formatDateTime(moment.utc(t.start)),o=t.maxPeriodDateFormatted||Utils.formatDateTime(moment.utc(t.end)));var t,a,o,n,i=[{regex:"TaskName",value:this.name,format:!1},{regex:"StartDate",value:a,format:!1},{regex:"EndDate",value:o,format:!1}],l=_createForOfIteratorHelper(s.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.GanttValue}));try{for(l.s();!(n=l.n()).done;)!function(){var t,e=n.value,a="";switch(e.value_property){case Enums.GanttValueProperty.TaskId:a=r.id;break;case Enums.GanttValueProperty.ParentTask:a=r.parent;break;case Enums.GanttValueProperty.BaselineStart:a=r.baselineStartFormatted||Utils.formatDateTime(r.baselineStart);break;case Enums.GanttValueProperty.BaselineEnd:a=r.baselineEndFormatted||Utils.formatDateTime(r.baselineEnd);break;case Enums.GanttValueProperty.CompletionPercent:a=r.progressValue;break;case Enums.GanttValueProperty.Resource:a=r.resource;break;case Enums.GanttValueProperty.Other:!r.others||(t=Utils.arrayFirst(r.others,function(t){return t.name===e.name}))&&(a=t.value)}void 0!==a&&i.push({regex:"AdditionalInfo\\(".concat(e.name,"\\)"),value:a,format:!1})}()}catch(t){l.e(t)}finally{l.f()}return DashboardUtils.formatWidgetTooltip(i,s.p.tooltip.content,s)}}),t.allowLeaveChart(!0),t.anchor("center-bottom"),this.injectStyle()):t.enabled(!1)},setTableStyle:function(){var t=this._chart.dataGrid(),e=this.p.table,a=this.p.general;this.setRowButtons();this._chart.background().stroke({color:this.p.general.border_color,thickness:"transparent"===this.p.general.border_color?0:1});var r=this.p.interactions.onrowclick&&"selectrow"===this.p.interactions.onrowclick?a.selected_row_background_color:e.panel.background_color;t.rowEvenFill(e.panel.background_color).rowOddFill(e.panel.background_color).rowHoverFill(a.hovered_row_background_color).rowSelectedFill(r),this.updateTableLabels()},setTimelineStyle:function(){var t=this._chart.getTimeline(),e=this.p.timeline,a=this.p.general,r=this.p.interactions.onrowclick&&"selectrow"===this.p.interactions.onrowclick?a.selected_row_background_color:e.panel.background_color,a=(t.rowEvenFill(e.panel.background_color).rowOddFill(e.panel.background_color).rowHoverFill(a.hovered_row_background_color).rowSelectedFill(r),t.header()),r=a.level(0),o=a.level(1),n=a.level(2);r.fill(e.header.background_color).stroke({color:e.header.border_color,thickness:1}),n.fill(e.header.background_color).stroke({thickness:0}),o.fill(e.header.background_color).stroke({color:e.header.border_color,thickness:1}),this.setTimelineHeaderLabelTextSettings(a),r.fontSize(10),t.columnStroke({color:e.panel.column_border_color,thickness:1}),this.p.gantt_type===Enums.GanttChartType.Project?this.setProjectTaskBars():this.setResourceTaskBars()},setResourceTaskBars:function(){var n=this,t=this._chart.getTimeline(),i=this.p.timeline;t.periods().fill(i.panel.actual.color).stroke({color:i.panel.actual.border.color,thickness:i.panel.actual.border.width}).labels().enabled(i.panel.display_label),t.periods().selected().fill(i.panel.actual.color).stroke({color:i.panel.actual.border.color,thickness:i.panel.actual.border.width}),this.p.conditional_formatting.enabled&&t.periods().rendering().drawer(function(){var t=this.shapes.path,e=t.tag,e=n.getConditionalColors(e),e=(t.fill(e.bar_color),t.stroke({color:e.bar_border_color,thickness:i.panel.baseline.border.width}),this.predictedBounds),a=e.height,r=e.top,o=e.left,e=e.left+e.width;t.moveTo(o,r).lineTo(o,r).lineTo(e,r).lineTo(e,r+a).lineTo(o,r+a).close()}),t.periods().labels().format(function(){var t="";if(!i.panel.display_label)return"";switch(i.panel.display){case s:t=this.name;break;case d:t=this.progressValue;break;case c:t=this.period.resource}return t}),this.setTimelineLabelTextSettings(t.periods().labels()),t.periods().anchor("left-center").labels().anchor("center")},setProjectTaskBars:function(){var n=this,t=this._chart.getTimeline(),e=this.p.timeline,a=(t.tasks().fill(e.panel.actual.color).stroke({color:e.panel.actual.border.color,thickness:1}).labels().enabled(e.panel.display_label),t.tasks().selected().fill(e.panel.actual.color).stroke({color:e.panel.actual.border.color,thickness:1}),t.tasks().progress().selected().fill(e.panel.progress.color).stroke({color:e.panel.progress.border.color,thickness:1}),t.baselines().selected().fill(e.panel.baseline.color).stroke({color:e.panel.baseline.border.color,thickness:1}),e.panel.roll_up||(e.panel.roll_up=r.timeline.panel.roll_up),t.groupingTasks());a.fill(e.panel.roll_up.actual.color).stroke({color:e.panel.roll_up.actual.border.color,thickness:1}),a.progress().height("".concat(e.panel.roll_up.progress.height,"%")).fill(e.panel.roll_up.progress.color).stroke({color:e.panel.roll_up.progress.border.color,thickness:1}),a.progress().selected().fill(e.panel.roll_up.progress.color).stroke({color:e.panel.roll_up.progress.border.color,thickness:1}),t.baselines().fill(e.panel.baseline.color).stroke({color:e.panel.baseline.border.color,thickness:1}).labels().enabled(!1),this.p.conditional_formatting.enabled&&t.tasks().rendering().drawer(function(){var t=this.shapes.path,e=t.tag,e=n.getConditionalColors(e),e=(t.fill(e.bar_color),t.stroke({color:e.bar_border_color,thickness:1}),this.predictedBounds),a=e.height,r=e.top,o=e.left,e=e.left+e.width;t.moveTo(o,r).lineTo(o,r).lineTo(e,r).lineTo(e,r+a).lineTo(o,r+a).close()}),t.tasks().progress().height("".concat(e.panel.progress.height,"%")).fill(e.panel.progress.color).stroke({color:e.panel.progress.border.color,thickness:e.panel.progress.border.width}).labels().enabled(!1),t.elements().labels().format(function(){var t="";if(!e.panel.display_label)return"";switch(e.panel.display){case s:t=this.name;break;case d:t=this.progressValue;break;case c:t=this.item.na.resource}return t}),this.setTimelineLabelTextSettings(t.tasks().labels()),this.setTimelineLabelTextSettings(t.baselines().labels()),t.elements().labels().anchor("left-center"),t.milestones().fill(e.panel.milestone.color).stroke({color:e.panel.milestone.border.color,thickness:e.panel.milestone.border.width}).labels().enabled(e.panel.display_label).anchor("left-center"),this.setTimelineLabelTextSettings(t.milestones().labels())},getConditionalColors:function(t){function e(r,o){return function(t){if(!t.value1_result)return!1;var e,a=o?o(t.value1_result.value):t.value1_result.value;switch(t.value2_result&&(e=o?o(t.value2_result.value):t.value2_result.value),t.operator){case DashboardUtils.WidgetOperator.Equals:return r===a;case DashboardUtils.WidgetOperator.Between:return a<=r&&r<=e;case DashboardUtils.WidgetOperator.GreaterOrEqualThan:return a<=r;case DashboardUtils.WidgetOperator.GreaterThan:return a<r;case DashboardUtils.WidgetOperator.LessOrEqualThan:return r<=a;case DashboardUtils.WidgetOperator.LessThan:return r<a;case DashboardUtils.WidgetOperator.NotEqualTo:return r!==a}}}var a,r,o=Utils.arrayFirst(this.p.conditional_formatting.conditions,function(t){return"default"===t.operator});return this.p.conditional_formatting.based_on===s?(r=t.item.na.name,a=Utils.arrayFirst(this.p.conditional_formatting.conditions,e(r))):this.p.conditional_formatting.based_on===d?(r=parseFloat(t.item.na.progressValue)||0,a=Utils.arrayFirst(this.p.conditional_formatting.conditions,e(r),parseFloat)):this.p.conditional_formatting.based_on===c&&(r=(this.p.gantt_type===l?t.item.na:t.tb).resource,a=Utils.arrayFirst(this.p.conditional_formatting.conditions,e(r))),a=a||o},setGeneralSettings:function(){var t=this._chart.dataGrid(),e=this.p.general;t.columnStroke({color:this.p.table.panel.column_border_color,thickness:1}),this._chart.rowStroke({color:this.p.table.panel.row_border_color,thickness:1}),this._chart.defaultRowHeight(e.row_height),100<e.width&&(e.width=30),this._chart.splitterPosition("".concat(e.width,"%")),e.fit_all?this._chart.fitAll():((t=this._Data.data.map(function(t){return t.actualStart})).sort(function(t,e){return new Date(e.date)-new Date(t.date)}),t&&t.length&&this._chart.xScale().minimum(t[0]))},setRowButtons:function(){var t=this._chart.dataGrid().buttons();t.width(18),t.background().enabled(!0).fill({src:"/Dashboard/Images/Widgets/caret-right.svg",mode:"fit"}).stroke(null),t.height(20),t.selected().background().enabled(!0).fill({src:"/Dashboard/Images/Widgets/caret-down.svg",mode:"fit"}).stroke(null),t.content(null),t.selected().content(null)},getColumns:function(){var a=[Enums.WidgetAreas.Rows,Enums.WidgetAreas.RowsBis,Enums.WidgetAreas.RowsTer,Enums.WidgetAreas.GanttValue];return"bindings"===this.p.data.mode&&this.canUpdateData()?(this.p.data_bindings.sort(function(t,e){return a.indexOf(t.area)-a.indexOf(e.area)}),this.p.data_bindings):(this._Data.columns.sort(function(t,e){return a.indexOf(t.area)-a.indexOf(e.area)}),this._Data.columns)},updateTableLabels:function(){var a=this,t=this._chart.dataGrid(),r=this.p.table,e=this.getColumns(),t=(t.column(0).enabled(!1),t.headerFill(r.header.background_color),t.column(1)),o=t.title(),n=(t.depthPaddingMultiplier(30),t.width(r.panel.task_default_width||150),Utils.arrayFirst(e,function(t){return t.area===Enums.WidgetAreas.Rows}));o.text(n.name),this.setColumnHeaderLabelTextSettings(o),t.labelsOverrider(function(t,e){0===e.hi.depth?a.rowLabelTextSettings(t,r.panel.task.font):a.rowLabelTextSettings(t,r.panel.sub_task.font)}).format(function(){return this.name});this.setAdditionnalColumn(e,2)},setAdditionnalColumn:function(t,o){var n,i=this,l=this,s=this._chart.dataGrid(),c=this.p.table,e=_createForOfIteratorHelper(l.p.gantt_type===Enums.GanttChartType.Project&&this.canUpdateData()?t.filter(function(t){return t.area!==Enums.WidgetAreas.Rows&&!t.hidden}):t.filter(function(t){return t.area===Enums.WidgetAreas.RowsBis||t.area===Enums.WidgetAreas.RowsTer}));try{for(e.s();!(n=e.n()).done;)!function(){var e=n.value,t=s.column(o++).enabled(!0),a=(t.width(150).defaultWidth(150),t.title()),r=(a.text(e.name),i.setColumnHeaderLabelTextSettings(a),null);i.p.table.panel.columns&&(a=Utils.arrayFirst(i.p.table.panel.columns,function(t){return t.binding_guid===(e.guid||e.id)}))&&(t.width(a.default_width||150).defaultWidth(a.default_width||150),r=a.format),t.labelsOverrider(function(t,e){0===e.hi.depth?l.rowLabelTextSettings(t,c.panel.task.font):l.rowLabelTextSettings(t,c.panel.sub_task.font)}).format(function(){return l.p.gantt_type===Enums.GanttChartType.Project?l.getGanttProjectPropertyValue(e,this,r):l.getGanttResourcePropertyValue(e,this,r)})}()}catch(t){e.e(t)}finally{e.f()}for(var a=this._chart.dataGrid().endIndex(),r=o;r<a;r++)s.column(r).enabled(!1)},getGanttProjectPropertyValue:function(e,t,a){if(e.area===Enums.WidgetAreas.RowsBis)return t.actualStart?t.item.na.actualStartFormatted||(a?Utils.formatValue(t.actualStart,a):Utils.formatDateTime(t.actualStart)):"";if(e.area===Enums.WidgetAreas.RowsTer)return t.actualEnd?t.item.na.actualEndFormatted||(a?Utils.formatValue(t.actualEnd,a):Utils.formatDateTime(t.actualEnd)):"";if(e.area===Enums.WidgetAreas.GanttValue)switch(e.value_property){case Enums.GanttValueProperty.TaskId:return"gantt_scrollbar_placeholder"===t.id?"":a?Utils.formatValue(t.id,a):t.id;case Enums.GanttValueProperty.ParentTask:return a?Utils.formatValue(t.parent,a):t.parent;case Enums.GanttValueProperty.BaselineStart:return t.baselineStart?t.item.na.baselineStartFormatted||(a?Utils.formatValue(t.baselineStart,a):Utils.formatDateTime(t.baselineStart)):"";case Enums.GanttValueProperty.BaselineEnd:return t.baselineEnd?t.item.na.baselineEndFormatted||(a?Utils.formatValue(t.baselineEnd,a):Utils.formatDateTime(t.baselineEnd)):"";case Enums.GanttValueProperty.CompletionPercent:return isNaN(t.progressValue)?"":a?Utils.formatValue(t.progressValue,a):t.progressValue;case Enums.GanttValueProperty.Resource:return a?Utils.formatValue(t.item.na.resource,a):t.item.na.resource;case Enums.GanttValueProperty.Other:if(t.item.na.others){var r=Utils.arrayFirst(t.item.na.others,function(t){return t.name===e.name});if(r)return a?Utils.formatValue(r.value,a):r.value}return""}},getGanttResourcePropertyValue:function(t,e,a){var r;return t.area===Enums.WidgetAreas.RowsBis?e.minPeriodDate?((r=e.item.na.periods.map(function(t){return{start:t.start,startFormatted:t.minPeriodDateFormatted}})).sort(function(t,e){return new Date(t.start)-new Date(e.start)}),r[0].startFormatted||(a?Utils.formatValue(e.minPeriodDate,a):Utils.formatDateTime(e.minPeriodDate))):"":t.area===Enums.WidgetAreas.RowsTer?e.maxPeriodDate?((r=e.item.na.periods.map(function(t){return{end:t.end,endFormatted:t.maxPeriodDateFormatted}})).sort(function(t,e){return new Date(e.end)-new Date(t.end)}),r[0].endFormatted||(a?Utils.formatValue(e.maxPeriodDate,a):Utils.formatDateTime(e.maxPeriodDate)||"")):"":void 0},rowLabelTextSettings:function(t,e){Utils.FontUtils.loadFont(e.family),t.fontColor(e.color).fontSize(e.size).fontFamily(e.family).fontStyle(e.italic?"italic":"normal").fontDecoration(e.underline?"underline":"none").fontWeight(Utils.FontUtils.getFontWeight(e.family,e.font_weight))},setTimelineHeaderLabelTextSettings:function(t){var e=this.p.timeline.header.font;Utils.FontUtils.loadFont(e.family),t.fontColor(e.color).fontSize(e.size).fontFamily(e.family).fontStyle(e.italic?"italic":"normal").fontDecoration(e.underline?"underline":"none").fontWeight(Utils.FontUtils.getFontWeight(e.family,e.font_weight))},setTimelineLabelTextSettings:function(t){var e=this.p.timeline.panel.font;Utils.FontUtils.loadFont(e.family),t.fontColor(e.color).fontSize(e.size).fontFamily(e.family).fontStyle(e.italic?"italic":"normal").fontDecoration(e.underline?"underline":"none").fontWeight(Utils.FontUtils.getFontWeight(e.family,e.font_weight))},setColumnHeaderLabelTextSettings:function(t){var e=this.p.table.header.font;Utils.FontUtils.loadFont(e.family),t.fontColor(e.color).fontSize(e.size).fontFamily(e.family).fontStyle(e.italic?"italic":"normal").fontDecoration(e.underline?"underline":"none").fontWeight(Utils.FontUtils.getFontWeight(e.family,e.font_weight))},setTitle:function(){var t=this.p.title,e=this._chart.title();e.enabled(!!t.text),t.text&&(Utils.FontUtils.loadFont(t.font.family),e.fontColor(t.font.color).fontSize(t.font.size).fontFamily(t.font.family).fontStyle(t.font.italic?"italic":"normal").fontDecoration(t.font.underline?"underline":"none").fontWeight(Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight)),e.text(t.text),(t=e.padding()).top(10),t.right(10),t.bottom(10),t.left(10))},setContainerBackground:function(){var t=this.p.background;this.container.css({background:t.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.color,DashboardUtils.shadeBlend(null,t.color)):t.color,"border-width":"".concat(t.border.width,"px"),"border-radius":"".concat(t.roundness?t.border.width+t.roundness:0,"px"),"border-color":t.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(t.shadow),padding:" ".concat(this.p.background.margins.top||0,"px ").concat(this.p.background.margins.right||0,"px ").concat(this.p.background.margins.bottom||0,"px ").concat(this.p.background.margins.left||0,"px")})},updateService:"DC2Data",updateServiceError:function(){this._loaded=!1},updateServiceSuccess:function(t){var a=this;if("bindings"===this.p.data.mode){if(this._Data=t,this.p.gantt_type===Enums.GanttChartType.Project){var r=null,o=null,n=null,i=null;if(a.p.table.panel.columns){var l,e=_createForOfIteratorHelper(a.p.table.panel.columns);try{for(e.s();!(l=e.n()).done;)!function(){var e=l.value,t=Utils.arrayFirst(a.p.data_bindings,function(t){return t.guid===e.binding_guid});t&&(t.area===Enums.WidgetAreas.RowsBis&&(r=e.format),t.area===Enums.WidgetAreas.RowsTer&&(o=e.format),t.area===Enums.WidgetAreas.GanttValue&&t.value_property===Enums.GanttValueProperty.BaselineStart&&(n=e.format),t.area===Enums.WidgetAreas.GanttValue&&t.value_property===Enums.GanttValueProperty.BaselineEnd&&(i=e.format))}()}catch(t){e.e(t)}finally{e.f()}}var s,c=_createForOfIteratorHelper(a._Data.data);try{for(c.s();!(s=c.n()).done;){var d=s.value;d.data=d.data.map(function(t){var e;return t.baselineStart&&(e=n?Utils.formatValue(t.baselineStart,n):Utils.formatDateTime(t.baselineStart),t.baselineStart=moment.utc(t.baselineStart).valueOf(),t.baselineStartFormatted=e),t.baselineEnd&&(e=i?Utils.formatValue(t.baselineEnd,i):Utils.formatDateTime(t.baselineEnd),t.baselineEnd=moment.utc(t.baselineEnd).valueOf(),t.baselineEndFormatted=e),t.actualStart&&(e=r?Utils.formatValue(t.actualStart,r):Utils.formatDateTime(t.actualStart),t.actualStart=moment.utc(t.actualStart).valueOf(),t.actualStartFormatted=e),t.actualEnd&&(e=o?Utils.formatValue(t.actualEnd,o):Utils.formatDateTime(t.actualEnd),t.actualEnd=moment.utc(t.actualEnd).valueOf(),t.actualEndFormatted=e),t})}}catch(t){c.e(t)}finally{c.f()}a._Data.data=a._Data.data[0].data}else{var u,p=_createForOfIteratorHelper(this._Data.data);try{for(p.s();!(u=p.n()).done;){var m=u.value;m.resources=m.resources.map(function(t){var e,a=_createForOfIteratorHelper(t.periods);try{for(a.s();!(e=a.n()).done;){var r=e.value,o=Utils.formatDateTime(r.start),n=(r.start=moment.utc(r.start).valueOf(),r.minPeriodDateFormatted=o,Utils.formatDateTime(r.end));r.end=moment.utc(r.end).valueOf(),r.maxPeriodDateFormatted=n}}catch(t){a.e(t)}finally{a.f()}return t})}}catch(t){p.e(t)}finally{p.f()}this._Data.data=this._Data.data[0].resources}if(t.conditions)for(var h=0;h<t.conditions.length;h++){var b=t.conditions[h],f=this.p.conditional_formatting.conditions[h];f.value1_result=b.value1_result,f.value2_result=b.value2_result}}else this.createCustomDataObject();"custom"===this.p.data.mode?this.resolveSliceFormulasForCustom(this.render.bind(this)):this.render(),this.setSortFilterTabState()},getProjectValuePropertyByIndex:function(t,e){switch(t){case 0:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.TaskId;break;case 1:e.area=Enums.WidgetAreas.Rows;break;case 2:e.area=Enums.WidgetAreas.RowsBis;break;case 3:e.area=Enums.WidgetAreas.RowsTer;break;case 4:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.CompletionPercent;break;case 5:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.ParentTask;break;case 6:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.Milestone;break;case 7:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.Resource}},getResourceValuePropertyByIndex:function(t,e){switch(t){case 0:e.area=Enums.WidgetAreas.Rows;break;case 1:e.area=Enums.WidgetAreas.RowsBis;break;case 2:e.area=Enums.WidgetAreas.RowsTer;break;case 3:e.area=Enums.WidgetAreas.GanttValue,e.value_property=Enums.GanttValueProperty.Resource}},createCustomDataObject:function(){var a=this,t=this.p.data.custom.slice(1),e=this.p.data.custom[0].map(function(t,e){t={id:t,name:t,type:"System.String",max:0};return a.p.gantt_type===Enums.GanttChartType.Project?a.getProjectValuePropertyByIndex(e,t):a.getResourceValuePropertyByIndex(e,t),t}),r=this.p.sort_filter.filters;0<r.length&&(r=r.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),t=DashboardUtils.filterData(t,r)),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!==t.column})&&DashboardUtils.sortData(t,this.p.sort_filter.sorts),t=this.p.gantt_type===Enums.GanttChartType.Project?this.convertCustomDataToProjectData(t):this.convertCustomDataToResourceData(t),this._Data={columns:e,data:t,count:this.p.data.custom.length-1}},resolveSliceFormulasForCustom:function(i){var t,e=[],a=_createForOfIteratorHelper(this.p.conditional_formatting.conditions.slice(1));try{for(a.s();!(t=a.n()).done;){var r=t.value;e.push(r.value1_formula),e.push(r.value2_formula)}}catch(t){a.e(t)}finally{a.f()}this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{Formulas:e,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(t){if(this.loading=!1,t.Success){var e,a=0,r=_createForOfIteratorHelper(this.p.conditional_formatting.conditions.slice(1));try{for(r.s();!(e=r.n()).done;){var o,n=e.value;void 0!==(o=t.Result[a++]).value&&null!==o.value&&(n.value1_result=o),void 0!==(o=t.Result[a++]).value&&null!==o.value&&(n.value2_result=o)}}catch(t){r.e(t)}finally{r.f()}i&&i()}})},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.Rows).length&&1===this.getBindings(Enums.WidgetAreas.RowsBis).length&&1===this.getBindings(Enums.WidgetAreas.RowsTer).length},isCustomDataMode:function(){return"custom"===this.p.data.mode},customData:function(){return this.p.data.custom},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},getDataCustomFromSample:function(){return this.p.gantt_type===l?this.getCustomProjectData():this.getCustomResourceData()},convertCustomDataToProjectData:function(t){var e,a=[],r=_createForOfIteratorHelper(t);try{for(r.s();!(e=r.n()).done;){var o=e.value;a.push({id:o[0],name:o[1],actualStart:moment.utc(o[2].replace(/-/g,"/")).valueOf(),actualEnd:moment.utc(o[3].replace(/-/g,"/")).valueOf(),actualStartFormatted:Utils.formatDateTime(o[2].replace(/-/g,"/")),actualEndFormatted:Utils.formatDateTime(o[3].replace(/-/g,"/")),progressValue:o[4],parent:o[5],milestone:!!o[6],resource:o[7]})}}catch(t){r.e(t)}finally{r.f()}return a},convertCustomDataToResourceData:function(t){var r,o=[],n=1,e=_createForOfIteratorHelper(t);try{for(e.s();!(r=e.n()).done;)!function(){var t=r.value,e=t[0],a=Utils.arrayFirst(o,function(t){return t.name===e});a||(a={id:n++,name:t[0],periods:[]},o.push(a)),a.periods.push({id:"".concat(a.id,"_").concat(a.periods.length+1),start:moment.utc(t[1].replace(/-/g,"/")).valueOf(),minPeriodDateFormatted:Utils.formatDateTime(t[1].replace(/-/g,"/")),end:moment.utc(t[2].replace(/-/g,"/")).valueOf(),maxPeriodDateFormatted:Utils.formatDateTime(t[2].replace(/-/g,"/")),resource:t[3]})}()}catch(t){e.e(t)}finally{e.f()}return o},getCustomProjectData:function(){var t=[];t.push(["Task Id","Task Name","Start Date","End Date","Progress %","Parent Task","Milestone","Resource"]);var e,a=_createForOfIteratorHelper(this.getSample());try{for(a.s();!(e=a.n()).done;){var r=e.value,o=[];o.push(r.id||""),o.push(r.name||""),o.push(r.actualStart||""),o.push(r.actualEnd||""),o.push(r.progressValue||""),o.push(r.parent||""),o.push(r.milestone||!1),o.push(r.resource||""),t.push(o)}}catch(t){a.e(t)}finally{a.f()}return t},getCustomResourceData:function(){return this.getSample()},getSample:function(){return this.p.gantt_type===l?[{id:"phase-1",name:"Phase 1",actualStart:Utils.formatDateTime(moment.utc([2019,0,17,8])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,5,18])),progressValue:"17%"},{id:"phase-2",name:"Phase 2",actualStart:Utils.formatDateTime(moment.utc([2019,1,1,8])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,25,18])),progressValue:"17%"},{id:"task-1-1",name:"Task 1.1",parent:"phase-1",actualStart:Utils.formatDateTime(moment.utc([2019,0,17,8])),actualEnd:Utils.formatDateTime(moment.utc([2019,0,25,12])),progressValue:"15%"},{id:"task-1-2",name:"Task 1.2",parent:"phase-1",actualStart:Utils.formatDateTime(moment.utc([2019,0,25,12])),actualEnd:Utils.formatDateTime(moment.utc([2019,0,30,16])),progressValue:"0%"},{id:"task-1-3",name:"Task 1.3",parent:"phase-1",actualStart:Utils.formatDateTime(moment.utc([2019,0,27,12])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,6,10])),progressValue:"65%"},{id:"task-2-1",name:"Task 2.1",parent:"phase-2",actualStart:Utils.formatDateTime(moment.utc([2019,0,27,12])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,6,10])),progressValue:"65%"},{id:"task-2-2",name:"Task 2.2",parent:"phase-2",actualStart:Utils.formatDateTime(moment.utc([2019,1,8,12])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,15,10])),progressValue:"65%"},{id:"task-2-3",name:"Task 2.3",parent:"phase-2",actualStart:Utils.formatDateTime(moment.utc([2019,1,16,12])),actualEnd:Utils.formatDateTime(moment.utc([2019,1,25,10])),progressValue:"65%"}]:[["Resource Name","Start Date","End Date","Status"],["Server 1",Utils.formatDateTime(moment.utc([2019,1,1,8])),Utils.formatDateTime(moment.utc([2019,1,2,18])),"working"],["Server 1",Utils.formatDateTime(moment.utc([2019,1,2,8])),Utils.formatDateTime(moment.utc([2019,1,3,18])),"working"],["Server 1",Utils.formatDateTime(moment.utc([2019,1,3,8])),Utils.formatDateTime(moment.utc([2019,1,6,18])),"maintenance"],["Server 2",Utils.formatDateTime(moment.utc([2019,1,1,8])),Utils.formatDateTime(moment.utc([2019,1,1,18])),"working"],["Server 2",Utils.formatDateTime(moment.utc([2019,1,2,8])),Utils.formatDateTime(moment.utc([2019,1,3,18])),"maintenance"],["Server 2",Utils.formatDateTime(moment.utc([2019,1,3,8])),Utils.formatDateTime(moment.utc([2019,1,6,18])),"working"],["Server 2",Utils.formatDateTime(moment.utc([2019,1,7,8])),Utils.formatDateTime(moment.utc([2019,1,8,18])),"working"]]},getAvailableGanttTypes:function(){return[{label:_("GanttProject"),value:l,image:"/Dashboard/Images/WidgetProperties/widget-gantt-project-chart.png"},{label:_("GanttResource"),value:o,image:"/Dashboard/Images/WidgetProperties/widget-gantt-resource-chart.png"}]},renderPropertiesTab:function(t){var r=this,e=t.ui.content;t.addLargeDropdown({container:e,id:"properties_gantt_type",dataprovider:this.getAvailableGanttTypes(),object:this.p,property:"gantt_type",callback:function(){if(r.p.data.custom=null,r.init(),r.p.gantt_type===o){var t,e=_createForOfIteratorHelper(r.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.GanttValue}));try{for(e.s();!(t=e.n()).done;){var a=t.value;a.value_property!==Enums.GanttValueProperty.Resource&&(a.value_property=Enums.GanttValueProperty.Other)}}catch(t){e.e(t)}finally{e.f()}}r.settings&&!r.settings.Format._firstLoad&&r.settings.Format.renderTabs(),r.current_data_mode=null}});e.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),e.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),e.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,r.p.data.mode=$(this).val(),r.setSortFilterTabState(),r.resetSortAndFilters(),r.update()})},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&this.p.data_bindings.length<1)},initializeSettings:function(){this.setSortFilterTabState()},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){function r(e){var t,a=_createForOfIteratorHelper(n.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.GanttValue&&t.value_property!==e.value_property}));try{for(a.s();!(t=a.n()).done;){var r=t.value;$("[data-value-properties=".concat(r.value_property,"]"),i.ui.properties_ddl).addClass("hidden")}}catch(t){a.e(t)}finally{a.f()}var o=Utils.arrayFirst(i.__datacolumns,function(t){return t.id===e.column_id});o&&InternalType.isDate(o.internal_type)&&($("li",i.ui.properties_ddl).addClass("hidden"),$("[data-value-properties=".concat(Enums.GanttValueProperty.Resource,"]"),i.ui.properties_ddl).removeClass("hidden"),$("[data-value-properties=".concat(Enums.GanttValueProperty.BaselineStart,"]"),i.ui.properties_ddl).removeClass("hidden"),$("[data-value-properties=".concat(Enums.GanttValueProperty.BaselineEnd,"]"),i.ui.properties_ddl).removeClass("hidden")),$("[data-value-properties=".concat(Enums.GanttValueProperty.Resource,"]"),i.ui.properties_ddl).removeClass("hidden")}var a=this,n=this,i=new Settings.Data.Bindings(t),t=(i.templates.area_measure_column='\n                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">\n                    <div class="column">\n                        <span class="title" title="{{col_name}}">{{ name }}</span>\n                        <span class="extra-ddl properties-picker-ddl"><span class="value">{{ properties-picker-label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>\n                    </div>\n                    <div class="buttons">\n                        '.concat(this.p.gantt_type===l?'<button type="button" class="visibility"><i class="far"></i></button>':"",'\n                        <button type="button" class="edit"><i class="far fa-edit"></i></button>\n                        <button type="button" class="remove"><i class="far fa-trash"></i></button>\n                    </div>                </li>'),i.templates.area_date_column='<li class="area-column {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">\n                <span class="title" title="{{col_name}}">{{ name }}</span>\n                <div class="buttons">\n                  '.concat(this.p.gantt_type===l?'<button type="button" class="visibility"><i class="far"></i></button>':"",'\n                  <button type="button" class="edit"><i class="far fa-edit"></i></button>\n                  <button type="button" class="remove"><i class="far fa-trash"></i></button>\n                </div>\n            </li>'),i.getAreaColumnTemplateItemData=function(t){t.area},i.toggleAxisPopup=function(t){var e=t.data("binding"),a=t.find(".properties-picker-ddl .ddl-opener");this.ui.properties_ddl.find("input").prop("checked",!1).end().find('[data-value-properties="{0}"] input'.format(e.value_property)).prop("checked",!0).end().css({top:a.offset().top+a.outerHeight(),left:a.offset().left-8}).toggle().data("area_column",t),$("li.hidden",i.ui.properties_ddl).removeClass("hidden"),r(e),t.toggleClass("opened")},i.closeCustomPopups=function(){this.ui.properties_ddl.hide()},i.axisPopupChanged=function(){var t=this.ui.properties_ddl.find(":checked").closest("li").attr("data-value-properties"),e=this.ui.properties_ddl.data("area_column"),a=e.data("binding");e.find(".properties-picker-ddl .value").text(_("GanttType_".concat(t))),this.ui.properties_ddl.hide(),a.value_property=t,n.tryUpdate(),this._isDirty=!0},i.area_column_limits[Enums.WidgetAreas.Rows]=1,i.area_column_limits[Enums.WidgetAreas.RowsBis]=1,i.area_column_limits[Enums.WidgetAreas.RowsTer]=1,[]),e="",e=(this.p.gantt_type===l?(t.push({name:_("Task"),placeholder:_("DropTask"),area:Enums.WidgetAreas.Rows,height_ratio:.2}),'<li data-value-properties="'.concat(Enums.GanttValueProperty.TaskId,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_task_id"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.ParentTask,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_parent_task"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.BaselineStart,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_baseline_start"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.BaselineEnd,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_baseline_end"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.CompletionPercent,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_completion_percent"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.DependsOn,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_depends_on"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.Milestone,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_milestone"),'</span></label></li>\n                                       <li data-value-properties="')):(t.push({name:_("Name"),placeholder:_("DropTask"),area:Enums.WidgetAreas.Rows,height_ratio:.2}),'<li data-value-properties="')).concat(Enums.GanttValueProperty.Resource,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_resource"),'</span></label></li>\n                                       <li data-value-properties="').concat(Enums.GanttValueProperty.Other,'"><label class="fa-checkbox"><input type="radio" name="properties_ddl_radio" /><i class="far"></i><span>').concat(_("GanttType_other"),"</span></label></li>");t.push({name:_("StartDate"),placeholder:_("DropDates"),area:Enums.WidgetAreas.RowsBis,height_ratio:.2,data_types:Enums._DateDataTypes}),t.push({name:_("EndDate"),placeholder:_("DropDates"),area:Enums.WidgetAreas.RowsTer,height_ratio:.2,data_types:Enums._DateDataTypes}),t.push({name:_("AdditionalInformation"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.GanttValue,height_ratio:.4}),i.render(t),i.ui.properties_ddl=$('\n                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    '.concat(e,"\n                </ul>")).appendTo("body"),i.ui.drop_areas.on("mousedown",".properties-picker-ddl",function(){var t=$(this).closest(".area-column");return i.toggleAxisPopup(t),!1}),i.ui.properties_ddl.on("change","input",function(){i.axisPopupChanged()}),i.on("bindingAdded",function(t){var e;a.resetSortAndFilters(),a.setSortFilterTabState(),t.area===Enums.WidgetAreas.GanttValue&&(r(t),e=$("li",i.ui.properties_ddl)[0],e=$(e).attr("data-value-properties"),t.value_property=e)}),i.on("bindingCleared",function(){a.resetSortAndFilters(),a.setSortFilterTabState(),a.p.table.columns=[]}),i.on("bindingRemoved",function(t){a.resetSortAndFilters(t),a.setSortFilterTabState()}),this.data_destroy_callback=function(){i.destroy()}},renderDataCustomTable:function(t){var e=this,a=this.update.bind(this),r=(t.ui.append($('<header class="nomargin">').text(_("TA1DataCustomHeader"))),new Settings.Data.CustomTable(t));r.getDefaultColumnName=function(){return _("Column")},r.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:"<td></td>",cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},r.render({object:this.p.data,property:"custom",fixed_columns:!0,callback:function(){e.resetSortAndFilters(),a()}}),this.data_destroy_callback=function(){r.destroy()}},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},renderSort:function(e){var i=this,a=this.p.data.mode,r=this.p.data_id,l=this.getColumnFromId.bind(this),t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(n){switch(a){case"bindings":e.settings.getDataClone(r,i._from.dashboard.id).then(function(t){for(var e=[],a=0;a<i.p.data_bindings.length;a++){var r=i.p.data_bindings[a],o=l(t.columns,r.column_id);o&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:r.name||o.name,value:r.guid,aggregation:r.aggregation,aggregationLabel:r.aggregation?_("Aggregation_".concat(r.aggregation)):null,area:r.area})}n(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:Enums.WidgetAreas.Columns}});n(t)}},t.updateDataCallback=function(){e._isDirty=!0,i.update()},t.render()},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderFilter:function(e){var l=this,a=this.p.data.mode,r=this.p.data_id,o=(e.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.Filter(e));o.getFilterColumns=function(i){switch(a){case"bindings":e.settings.getDataClone(r,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var r=l.p.data_bindings[a],o=l.getColumnFromId(t.columns,r.column_id);o&&e.push({is_used:!0,is_context:o.is_context||!1,icon:DashboardUtils.getIconForColumnType(o.type),label:r.name||o.name,value:o.id,column_id:o.id})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));i(e)});break;case"custom":var t=l.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});i(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){l.update()},o.render()},getFormatTabs:function(){var t=this,e=[],a=this;return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:function(){return"widget-gantt-".concat(t.p.gantt_type,"-chart.png")},text:_("Chart"),code:"general",renderer:this.getGeneralProperties.bind(this)}),e.push({icon:function(){return"widget-gantt-".concat(t.p.gantt_type,"-headers.png")},text:_("Headers"),code:"headers",renderer:this.getHeadersProperties.bind(this)}),e.push({icon:function(){return"widget-gantt-".concat(t.p.gantt_type,"-table.png")},text:function(){return a.p.gantt_type===l?_("TaskList"):_("ResourcesList")},code:"table",renderer:this.getTableProperties.bind(this)}),e.push({icon:function(){return"widget-gantt-".concat(t.p.gantt_type,"-timeline.png")},text:function(){return t.p.gantt_type===l?_("Timeline"):_("Resources")},code:"timeline",renderer:this.getTimelineProperties.bind(this)}),e.push({icon:function(){return"widget-gantt-".concat(t.p.gantt_type,"-conditional.png")},text:_("GanttConditionalFormat"),code:"conditional",renderer:this.getConditionalProperties.bind(this)}),e.push({icon:"tags.png",text:_("Tooltip"),code:"tooltip",renderer:this.getTooltipProperties.bind(this)}),e},getTitleProperties:function(t){var e=this.setTitle.bind(this);t.addHeader({text:_("FormatTitleTitle"),description:_("FormatTitleDesc")}),t.addText({object:this.p.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.title,property:"font",callback:e,dropDown:!0,disableFontShadow:!0}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.updateStyle.bind(this);t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getTableProperties:function(e){var t=this,a=this.updateStyle.bind(this),r=this,o=(e.addHeader({text:_("FormatGanttTableTitle_".concat(this.p.gantt_type)),description:_("FormatGanttTableDesc_".concat(this.p.gantt_type))}),this.p.table.panel),o=(e.addColor({label:_("BackgroundColor"),object:o,property:"background_color",callback:function(){t.setGeneralBackground(),a()}}),e.addColor({label:_("TaskSeparatorLines"),object:o,property:"row_border_color",callback:a}),e.addColor({label:_("VerticalLines"),object:o,property:"column_border_color",callback:a}),e.addSeparator(),e.addNumber({label:_("DefaultWidth"),object:o,property:"task_default_width",callback:this.updateTableLabels.bind(this)}),e.addFont({dropdown_label:_("TasksFont_".concat(this.p.gantt_type)),object:o.task,property:"font",callback:a,dropDown:!0,disableFontShadow:!0}),this.p.gantt_type===Enums.GanttChartType.Project&&this.parentIsBinded()&&(e.addSeparator(),e.addFont({dropdown_label:_("ParentTasksFont"),object:o.sub_task,property:"font",callback:a,dropDown:!0,disableFontShadow:!0})),e.addSeparator(),this.prepareColumnsDropdown()),n=(this.p.table.panel.columns||(this.p.table.panel.columns=[]),e.addDropdown({label:_("Columns"),object:{},property:"column",callback:function(t){r.onColumnDropdownChange(e,r.p.table.panel.columns,n,t,a)},combobox:{appendToBody:!0,containerClasses:"ddl-placeholder",enablePlaceholder:!0,input:{placeholder:_("SelectAColumn")},placeholderLabel:_("SelectAColumn"),dataprovider:o}}),e.addSection().appendTo(e.ui.content));this.onColumnDropdownChange(e,this.p.table.panel.columns,n,null,this.updateTableLabels.bind(this))},parentIsBinded:function(){var t=this.getColumns();return!!Utils.arrayFirst(t,function(t){return t.area===Enums.WidgetAreas.GanttValue&&t.value_property===Enums.GanttValueProperty.ParentTask})},prepareColumnsDropdown:function(){function t(t){return{label:t.name,value:t.guid||t.id,type:t.area}}var e=[],a=this,r=function(){return a.getColumns().filter(function(t){return t.area!==Enums.WidgetAreas.Rows}).map(t)}.call(this);return e=e.concat(r)},onColumnDropdownChange:function(t,e,a,r,o){if(a.empty(),!r||!r.value)return!1;var n=r.value,r=Utils.arrayFirst(e,function(t){return t.binding_guid===n}),e=r||(e.push(r={binding_guid:n,default_width:150,format:null}),r);t.addFormat({container:a,label:_("Format"),object:e,property:"format",displayDdl:!0,callback:function(){o&&o()}}),t.addNumber({label:_("DefaultWidth"),container:a,object:e,property:"default_width",callback:function(){o&&o()}})},getHeadersProperties:function(t){var e=this.updateStyle.bind(this),a=this.p.table.header,r=this.p.timeline.header;t.addHeader({text:_("FormatGanttHeaderTitle"),description:_("FormatGanttHeaderDesc")}),t.addBackgroundColor({label:_("TasksBackgroundColor_".concat(this.p.gantt_type)),gradient_enabled:!1,object:a,property_color:"background_color",callback:e}),t.addFont({object:a,property:"font",callback:e,dropDown:!0,disableFontShadow:!0}),t.addSeparator(),t.addBackgroundColor({label:_("TimelineBackgroundColor"),gradient_enabled:!1,object:r,property_color:"background_color",callback:e}),t.addFont({object:r,property:"font",callback:e,dropDown:!0,disableFontShadow:!0}),t.addSeparator(),t.addColor({label:_("HeaderBorders"),object:r,property:"border_color",callback:e,dropDown:!1})},setGeneralBackground:function(){this.p.table.panel.background_color===this.p.timeline.panel.background_color?this.p.general.background_color=this.p.table.panel.background_color:this.p.general.background_color="transparent"},setGeneralFont:function(){this.p.general.font={family:"Open Sans",size:12,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},updateGeneralFont:function(t){var e=this.p.general.font[t];this.p.table.header.font[t]=e,this.p.table.panel.task.font[t]=e,this.p.table.panel.sub_task.font[t]=e,this.p.timeline.header.font[t]=e,this.p.timeline.panel.font[t]=e},getTimelineProperties:function(t){var e=this,a=this.updateStyle.bind(this),r=this.p.timeline.panel,o=(t.addHeader({text:_("FormatGanttTimelineTitle"),description:_("FormatGanttTimelineDesc_".concat(this.p.gantt_type))}),t.addSection());t.addBoolean({section:o,label:_("DisplayLabels"),object:r,property:"display_label",callback:a}),t.addDropdown({container:o,label:_("Display"),object:r,property:"display",combobox:{dataprovider:[{value:s,label:_("DisplayLabel_".concat(s))},{value:c,label:_("DisplayLabel_".concat(c))},{value:d,label:_("DisplayLabel_".concat(d))}]},callback:a}),t.addFont({container:o,object:r,property:"font",callback:a,dropDown:!0,disableFontShadow:!0}),t.addSeparator(),t.addColor({label:_("BackgroundColor"),object:r,property:"background_color",callback:function(){e.setGeneralBackground(),a()}}),t.addColor({label:_("VerticalLines"),object:r,property:"column_border_color",callback:a}),t.addSeparator(),this.p.gantt_type===Enums.GanttChartType.Project?(t.addColor({label:_("RollUpBarColor"),object:r.roll_up.actual,property:"color",callback:a}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.roll_up.actual.border,property:"color",callback:a}),t.addSeparator(),t.addColor({label:_("RollUpProgressBarColor"),object:r.roll_up.progress,property:"color",callback:a}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.roll_up.progress.border,property:"color",callback:a}),t.addSlider({classes:"dc2BorderColor",label:_("ProgressBarHeight"),object:r.roll_up.progress,property:"height",callback:a,min:10,max:100,interval:10,valueLabelFormat:function(t){return"".concat(t,"%")}}),t.addSeparator(),t.addColor({label:_("BaselineBarColor"),object:r.baseline,property:"color",callback:a}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.baseline.border,property:"color",callback:a}),t.addSeparator(),t.addColor({label:_("ActualBarColor"),object:r.actual,property:"color",callback:a}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.actual.border,property:"color",callback:a}),t.addSeparator(),t.addColor({label:_("ProgressBarColor"),object:r.progress,property:"color",callback:a}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.progress.border,property:"color",callback:a}),t.addSlider({classes:"dc2BorderColor",label:_("ProgressBarHeight"),object:r.progress,property:"height",callback:a,min:10,max:100,interval:10,valueLabelFormat:function(t){return"".concat(t,"%")}}),t.addSeparator(),t.addColor({label:_("MilestoneColor"),object:r.milestone,property:"color",callback:a,dropDown:!1}),t.addColor({classes:"dc2BorderColor",label:_("BorderColor"),object:r.milestone.border,property:"color",callback:a,dropDown:!1})):t.addColor({label:_("ResourceBarColor"),object:r.actual,property:"color",callback:a,dropDown:!1}),t.addSeparator()},getConditionalProperties:function(t){function e(){o.p.conditional_formatting.enabled?l():i.empty()}var a=this,r=this.updateStyle.bind(this),o=this,n=this.p.conditional_formatting,i=(t.addHeader({text:_("FormatGanttConditionalTitle"),description:_("FormatGanttConditionalDesc")}),t.addSection().addClass("nomargin")),l=(t.addBoolean({section:i,label:_("ConditionalFormat"),object:n,property:"enabled",callback:function(){e(),setTimeout(function(){o.render()},100)}}),function(){t.addSeparator({container:i}),t.addDropdown({container:i,label:_("BasedOn"),object:n,property:"based_on",class:"conditionBasedOn",combobox:{dataprovider:[{value:s,label:_("DisplayLabel_".concat(s))},{value:c,label:_("DisplayLabel_".concat(c))},{value:d,label:_("DisplayLabel_".concat(d))}]},callback:r}),t.addSeparator({container:i}),a.buildConditionalSortable(t,i)});e()},onConditionalColorChange:function(t,e,a){return function(){t["".concat(e,"_color")]=this.getRGBAColor(),a()}},buildConditionalSortable:function(n,t){var i=this.updateStyle.bind(this),l=this,e='<div class="DC2_conditional_table_container">                                            <button type="button" class="btn btn-default btn-grey addConditionalColor">'.concat(_("AddCustomColor"),'</button>                                            <div class="sortable_list_container"></div>                                      </div>'),e=(t.append(e),$(".sortable_list_container",t).empty()),a=[{name:_("Bar"),width:80,classes:"centeredContent",headerClass:"centeredContent",cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.bar_color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:l.onConditionalColorChange(t,"bar",i),onPreviewColorChanged:l.onConditionalColorChange(t,"bar",i),onCancel:l.onConditionalColorChange(t,"bar",i),palette:l._from.dashboard.model.colors})}},{name:_("BarBorder"),width:80,classes:"centeredContent",headerClass:"centeredContent",cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.bar_border_color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:l.onConditionalColorChange(t,"bar_border",i),onPreviewColorChanged:l.onConditionalColorChange(t,"bar_border",i),onCancel:l.onConditionalColorChange(t,"bar_border",i),palette:l._from.dashboard.model.colors})}},{name:_("Value"),classes:"value_column",cellFormat:function(t,e){e.append('<div class="value_column_container"></div>');var a,r,o=$(".value_column_container",e);"default"===t.operator?(o.append($('<div class="value_container"></div>')),$(".value_container",e).append($('<span class="text-header">{0}</span>'.format(_("SymbolOperator_Default"))))):(n.addOperatorSelector({container:o,object:t,grid:!0,property:"operator",callback:a=function(){r.empty(),l.renderFormatFormulaInput(r,"value1_formula","value1_result",t),t.operator===DashboardUtils.WidgetOperator.Between&&l.renderFormatFormulaInput(r,"value2_formula","value2_result",t),i()},accepts:[DashboardUtils.WidgetOperator.Between,DashboardUtils.WidgetOperator.Equals,DashboardUtils.WidgetOperator.NotEqualTo,DashboardUtils.WidgetOperator.GreaterThan,DashboardUtils.WidgetOperator.GreaterOrEqualThan,DashboardUtils.WidgetOperator.LessThan,DashboardUtils.WidgetOperator.LessOrEqualThan]}),o.append($('<div class="value_container" />')),r=$(".value_container",e),a())}}];this.p.conditional_formatting.conditions.length||this.p.conditional_formatting.conditions.push({bar_border_color:"transparent",bar_color:"transparent",operator:"default"}),this.conditionalSortableList=new SortableList({container:e,object:this.p.conditional_formatting,property:"conditions",onDeleteCallback:i,onSortCallback:i,columns:a,noDelete:function(t){return"addAllOtherCategories"===t.category||"default"===t.operator}}),t.on("click",".addConditionalColor",function(){l.conditionalSortableList.addNewObject({bar_color:"#000000",row_color:"#000000",operator:"equals"})}),$("body").on("click",function(){$(".combobox-dropdown-container.show").removeClass("show"),$(".formula-container").removeClass("comboBoxOpen")})},renderFormatFormulaInput:function(t,e,a,r){var o=this;r[a]=r[a]||r[e],$(".formula-container.{0}".format(a),t).show(),r.operator===DashboardUtils.WidgetOperator.Between&&"value2"===e||$(".formula-container.value2_result".format(a),t).hide(),$(".formula-container.{0}".format(a),t).length||this.settings.Format.addFormulaInput({container:t,widget:o,dashboard:o.settings._original_widget.dashboard,object:r,grid:!0,dropup:!0,property:e,customClass:a,appendToBody:!0,callback:function(){o.settings.Data._isDirty=!0,o.tryUpdate()}})},getGeneralProperties:function(t){var e=this,a=this.updateStyle.bind(this),r=this.p.general,o=this;t.addHeader({text:_("FormatGanttGeneralTitle"),description:_("FormatGanttGeneralDesc")}),this.setGeneralBackground(),t.addBackgroundColor({object:r,gradient_enabled:!1,property_color:"background_color",callback:function(){var t=r.background_color;o.p.table.panel.background_color=t,o.p.timeline.panel.background_color=t,a()}}),t.addColor({object:r,label:_("BorderColor"),property:"border_color",callback:a.bind(this)}),t.addSeparator(),this.setGeneralFont(),t.addFont({object:r,property:"font",dropDown:!0,disableFontShadow:!0,callback:function(t){e.updateGeneralFont(t),a()}}),t.addSeparator(),t.addSlider({label:_("RowHeightInPx"),object:r,property:"row_height",callback:Utils.debounce(function(){o.setGeneralSettings()},200),min:20,max:60,interval:1,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addBoolean({label:_("ExpandedByDefault"),object:r,property:"expanded",callback:a}),t.addBoolean({label:_("FitToWidth"),object:r,property:"fit_all",callback:function(){o.init()}}),t.addSeparator(),t.addSlider({label:_("GanttSplitterDefaultPosition"),object:r,property:"width",callback:this.setGeneralSettings.bind(this),min:0,max:100,interval:1,valueLabelFormat:function(t){return"".concat(t,"%")}}),t.addColor({label:_("GanttSplitterColor"),object:r,property:"splitter_color",callback:this.injectStyle.bind(this),dropDown:!1}),t.addColor({label:_("SeparatorColor"),object:r,property:"separator_color",callback:a,dropDown:!1}),t.addSeparator(),this.p.interactions.onrowclick&&"selectrow"===this.p.interactions.onrowclick&&(t.addColor({label:_("SelectedRowColor"),object:r,property:"selected_row_background_color",callback:a,dropDown:!1}),t.addColor({label:_("HoverRowColor"),object:r,property:"hovered_row_background_color",callback:a,dropDown:!1}))},getTooltipProperties:function(t){var e=this.render.bind(this),a=(t.addHeader({text:_("TooltipHeaderTitle"),description:_("TooltipHeaderDesc")}),t.addSection()),r=(t.addBoolean({section:a,label:_("DisplayTooltips"),object:this.p.tooltip,property:"display",callback:e}),t.addSeparator({container:a}),this.getTooltipMacro());return t.addRichtext({container:a,object:this.p.tooltip,property:"content",id:"tooltipContent",macros:r,buttons:[["style",["bold","italic","underline"]],["fonttools",["fontsize"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["tooltipdrop",["TooltipDropdown"]],["para",["paragraph"]],["unredo",["undo","redo"]]],callback:e,palette:this.p.colors}),t.addSeparator({container:a}),t.getTooltipCustomFormatProperties(this,r,a),t.addColor({container:a,object:this.p.tooltip.background,property:"color",label:_("BackgroundColor"),callback:this.injectStyle.bind(this)}),t.addSeparator({container:a}),t.addBorder({container:a,object:this.p.tooltip.background,property:"border",callback:this.injectStyle.bind(this),dropDown:!1}),t.addSeparator({container:a}),t.addSlider({container:a,label:_("RoundedCorners"),object:this.p.tooltip.background,property:"roundness",callback:this.injectStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:a}),a},renderInteractionsTab:function(t){t.ui.empty(),t.settings.Format.addDropdown({container:t.ui,label:_("InteractionType_OnRowClick"),object:this.p.interactions,property:"onrowclick",combobox:{dataprovider:[{value:"none",label:_("Interaction_DoNothing")},{value:"selectrow",label:_("Interaction_SelectRow")}]},callback:this.render.bind(this)}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_OnDblRowClick"),object:this.p.interactions,parameters:!0,property:"ontimelinedblclick",onChange:this.render.bind(this),items:[{type:null},{type:"dashboard"},{type:"url"}]})}}})}();
//# sourceMappingURL=DC2-gantt-chart.js.map

var _excluded=["enabled","serie_index"];function _objectWithoutProperties(t,e){if(null==t)return{};var a,i=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(t),o=0;o<n.length;o++)a=n[o],0<=e.indexOf(a)||Object.prototype.propertyIsEnumerable.call(t,a)&&(i[a]=t[a]);return i}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var a,i={},n=Object.keys(t),o=0;o<n.length;o++)a=n[o],0<=e.indexOf(a)||(i[a]=t[a]);return i}function _createForOfIteratorHelper(t,e){var a,i,n,o,r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return i=!(a=!0),{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){i=!0,n=t},f:function(){try{a||null==r.return||r.return()}finally{if(i)throw n}}};if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return r&&(t=r),o=0,{s:e=function(){},n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,i=new Array(e);a<e;a++)i[a]=t[a];return i}var getSerieLabelAlignmentFromRotation=Utils.memoize(function(t,e){a=e;var a,i=function(t){return Utils.arrayFirst(t,function(t){return t.rotation===a})};switch(t){case"bar":return i([{rotation:0,align:"left",x:0},{rotation:90,align:"center",x:10},{rotation:270,align:"center",x:10},{rotation:30,align:"left",x:6}]);case"column":case"line":case"area":return i([{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}])}},function(t,e){return t+e});Widget.createType({id:"DC3",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis_custom.scale.max","y_axis_custom.scale.min","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series","selectedstartdate","selectedenddate"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{type:"line",x_axis:{cardinal:!0,scaling_type:"datetime"},time_controls:{time_slider:{enabled:!0,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},line_color:"rgba(71,173,195,1)",fill_color:"transparent",serie_index:0},range_selector:{enabled:!0,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},buttons:[{count:1,enabled:!0,id:"1h",text:"1h",type:"hour"},{count:2,enabled:!1,id:"2h",text:"2h",type:"hour"},{count:6,enabled:!1,id:"6h",text:"6h",type:"hour"},{count:12,enabled:!1,id:"12h",text:"12h",type:"hour"},{count:1,enabled:!0,id:"1d",text:"1d",type:"day"},{count:5,enabled:!1,id:"5d",text:"5d",type:"day"},{count:7,enabled:!1,id:"7d",text:"7d",type:"day"},{count:30,enabled:!1,id:"30d",text:"30d",type:"day"},{enabled:!1,id:"wsun",text:"w(sun)"},{enabled:!1,id:"wmon",text:"w(mon)"},{count:1,enabled:!0,id:"1m",text:"1m",type:"month"},{count:2,enabled:!1,id:"2m",text:"2m",type:"month"},{count:3,enabled:!1,id:"3m",text:"3m",type:"month"},{count:4,enabled:!1,id:"4m",text:"4m",type:"month"},{count:6,enabled:!1,id:"6m",text:"6m",type:"month"},{enabled:!0,id:"mtd",text:"MTD"},{enabled:!0,id:"qt",text:"qt"},{enabled:!1,id:"qtd",text:"QTD"},{count:1,enabled:!0,id:"1y",text:"1y",type:"year"},{count:2,enabled:!1,id:"2y",text:"2y",type:"year"},{count:3,enabled:!1,id:"3y",text:"3y",type:"year"},{count:0,enabled:!0,id:"ytd",text:"YTD",type:"ytd"},{count:0,enabled:!0,id:"all",text:"All",type:"all"}]}}}),prototype:$.extend(!0,{},Widget.CHPrototype,{createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedstartdate"),this.createProperty("selectedenddate"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.resetSelectedOutput()},setOutputFromData:function(t,e){this.categories=t.map(function(t){return t.name}),this.series=e.map(function(t){return t.name}),this.categories&&this.categories.length&&(this.selectedstartdate=moment.utc(this.categories[0]),this.selectedenddate=moment.utc(this.categories[this.categories.length-1])),this.updateState(!1)},updateOutputFromPoint:function(t,e){e=1!==e.length||e[0].groupings&&0!==e[0].groupings.length?null:e[0].original_type;this.selectedcategory=e?Utils.utcTZtoDateString(t.category,null,e):t.category,this.selectedvalue=t.y,this.selectedseries=t.series.name,this.updateState(!1)},updateState:function(t){this.dashboard&&this.dashboard.updateState(this.model.guid,t,{selectedenddate:this.selectedenddate,selectedstartdate:this.selectedstartdate,selectedvalue:this.selectedvalue,selectedcategory:this.selectedcategory,selectedseries:this.selectedseries,selectedrange:this._currentRangeButton})},resetState:function(t){this.selectedenddate=t.selectedenddate,this.selectedstartdate=t.selectedstartdate,this.selectedvalue=t.selectedvalue,this.selectedcategory=t.selectedcategory,this.selectedseries=t.selectedseries,this._currentRangeButton=t.selectedrange,void 0!==this._currentRangeButton&&null!==this._currentRangeButton&&this._loaded&&this.render()},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedseries=null},getColumnsFormat:function(t){var e=[],a=this._Data.columns.concat(this._Data.rows).concat(this._Data.values);if("bindings"===this.p.data.mode){var i=this.p.data_bindings,n=(t||(i=i.filter(function(t){return!t.hidden})),[]);n=(n=(n=n.concat(i.filter(function(t){return t.area===Enums.WidgetAreas.Rows}))).concat(i.filter(function(t){return t.area===Enums.WidgetAreas.Columns}))).concat(i.filter(function(t){return t.area===Enums.WidgetAreas.Values}));for(var o=0;o<n.length;o++){var r=n[o],s=Utils.arrayFirst(a,function(t){return t.id===r.column_id}),l=null;switch(r.area){case Enums.WidgetAreas.Values:var c=Utils.arrayFirst(this.p.y_axis,function(t){return t&&t.bindings&&-1!==t.bindings.indexOf(r.guid)});c&&c.labels.format&&(l=c.labels.format);break;case Enums.WidgetAreas.Columns:case Enums.WidgetAreas.Rows:l=this.p.x_axis.labels.format}e.push(l?{ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(l,s.type)}:{ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(null,s.type)})}}return e},onVisibilityChange:function(){this._loaded&&(this.container&&this.container.hasClass("notvisible")?this.ui.css("opacity",0):this.ui.css("opacity",1)),this.render()},onloadedCallback:function(){this._loaded=!0},init:function(){ChartUtils.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[["Date","Series 1","Series 2","Series 3"],[moment(new Date("9/1/2021")).format("YYYY-MM-DD HH:mm"),25,5,15],[moment(new Date("10/1/2021")).format("YYYY-MM-DD HH:mm"),12,22,30],[moment(new Date("11/1/2021")).format("YYYY-MM-DD HH:mm"),35,28,12]]),this.bindEvents(),this.tryUpdate()},render:function(){var t,e,a;ChartUtils.destroyChart(this.ui),this._Data?(this.p.x_axis.scaling_type="datetime",a=(t=this.getHighchartsDataFromWSData(this._Data.columnHeaders,this._Data.rowHeaders,this._Data.values,this._Data.rows,this._Data.columns,this.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Values}),this._Data.data)).categories,t=t.series,this.setOutputFromData(a,t),e=function(){switch(this.p.data.mode){case"bindings":return this.p.y_axis;case"custom":return[this.p.y_axis_custom]}}.bind(this)(),e={exporting:{enabled:!1},time:{timezone:Utils.getBrowserTimezone()},chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(t,this.p.legend),tooltip:this._getHighchartsTooltip(this._Data.rows),plotOptions:{series:{animation:!1,shadow:!1,turboThreshold:1e3,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0}}},xAxis:this._getHighchartsXAxis(this._Data.rows,a,this.p.x_axis),yAxis:this._getHighchartsYAxis(e),series:this._getHighchartsSeries(a,t,this._Data.rows,this.p.x_axis),rangeSelector:{enabled:this.p.time_controls&&this.p.time_controls.range_selector.enabled,inputEnabled:!1,buttons:this._getRangeSelectorButtons(this.p.time_controls.range_selector.buttons),labelStyle:this._getfontStyle(this.p.time_controls.range_selector),buttonTheme:{width:40,style:this._getfontStyle(this.p.time_controls.range_selector),fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.05),states:{hover:{fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.1),style:this._getfontStyle(this.p.time_controls.range_selector)},disabled:{style:this._changeFontOpacity(this._getfontStyle(this.p.time_controls.range_selector),.5)},select:{fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.15),style:this._getfontStyle(this.p.time_controls.range_selector)}}}},navigator:{margin:10,maskFill:this._getMaskFill(this.p.time_controls.time_slider),enabled:this.p.time_controls.time_slider.enabled,xAxis:{labels:{style:this._getfontStyle(this.p.time_controls.time_slider)},minorGridLineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.25),gridLineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.25)},baseSeries:this.p.time_controls.time_slider.serie_index<t.length?this.p.time_controls.time_slider.serie_index:0,series:{lineColor:this.p.time_controls.time_slider.line_color,fillColor:this.p.time_controls.time_slider.fill_color},outlineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5),handles:{backgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5),borderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5)}},scrollbar:{barBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),barBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),rifleColor:this._getfontStyle(this.p.time_controls.time_slider).color,trackBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),trackBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),buttonBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),buttonBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),buttonArrowColor:this._getfontStyle(this.p.time_controls.time_slider).color}},this._lastvisibilityValue||(e.plotOptions[this.p.type]={enableMouseTracking:!1},!this.dashboard||this.dashboard.in_editor&&"visible"!==this.dashboard.model.view_hidden||(e.legend.enabled=!1,e.legend.navigation={enabled:!1},e.navigator.enabled=!1,e.rangeSelector.enabled=!1)),this._lastvisibilityValue&&this.dashboard&&this.dashboard.in_editor&&"hidden"===this.dashboard.model.view_hidden&&(e.legend.enabled=!1,e.legend.navigation={enabled:!1},e.navigator.enabled=!1,e.rangeSelector.enabled=!1),this._loaded||this.getAndApplyWidgetSelection(),this._currentRangeButton?e.rangeSelector.selected=this._currentRangeButton:0<=(a=Utils.arrayFirstIndex(this.p.time_controls.range_selector.buttons.filter(function(t){return t.enabled}),function(t){return t.default_selection}))&&(this._currentRangeButton=a,e.rangeSelector.selected=a),this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this._chart=Highcharts.stockChart(this.ui[0],e),this.setYTDOptionState(),this.applyRangeSelection(),ChartUtils.putPlotAreaOnTop(this.ui)):this.error=_("NoData")},applyRangeSelection:function(){var t;void 0!==this._currentRangeButton&&this._chart.rangeSelector&&(this._chart.rangeSelector.clickButton(this._currentRangeButton,this._currentRangeButton,!1),(t=this.p.time_controls.range_selector.buttons.filter(function(t){return t.enabled}))&&t.length>this._currentRangeButton&&((t=t[this._currentRangeButton]).type||this.applyRangeOnChart(t.id,this._currentRangeButton)))},applyRangeOnChart:function(t,e){switch(this._currentRangeButton=e,t){case"mtd":this._chart.xAxis[0].setExtremes(1e3*moment().startOf("month").unix(),1e3*moment().unix(),!0);break;case"qtd":this._chart.xAxis[0].setExtremes(1e3*moment().startOf("quarter").unix(),1e3*moment().unix(),!0);break;case"qt":this._chart.xAxis[0].setExtremes(1e3*moment().startOf("quarter").unix(),1e3*moment().endOf("quarter").unix(),!0);break;case"wsun":this._chart.xAxis[0].setExtremes(1e3*moment().startOf("week").isoWeekday(0).unix(),1e3*moment().startOf("week").isoWeekday(0).add(7,"d").unix(),!0);break;case"wmon":this._chart.xAxis[0].setExtremes(1e3*moment().startOf("week").isoWeekday(1).unix(),1e3*moment().startOf("week").isoWeekday(1).add(7,"d").unix(),!0)}this._chart.rangeSelector.buttons[e].setState(2)},_getHighchartsTooltip:function(i){var t,n=this,o=1===i.length&&Utils.isDateType(i[0].type),r=1===i.length?i[0].type:null,s=1===i.length?i[0].original_type:null;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(t={enabled:!0,split:!1,shared:this.p.tooltip.display_shared,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},t.pointFormatter=function(){var e=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.y,format:!0,defaultFormatting:function(){var t=this.series.userOptions.userData.seriesConfig,e=this.series.userOptions.userData.yAxisConfig;return(t&&t.labels.format?t:e).labels.format}.call(this)},{regex:"this.point.percentage",value:ChartUtils.getPercentage(this.percentage,this.series.points,this.y).toFixed(1),format:!1},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(t){return function(t){var e=this.category,a=n.p.x_axis;return e=a&&a.labels.format?WidgetsCommon.getFormattedAxisLabel(e,t||a.labels.format,i&&0<i.length?i[0].groupings:[],o,r,s):WidgetsCommon.getFormattedAxisLabel(e,t||n.p.x_axis.labels.format,i&&0<i.length?i[0].groupings:[],o,r,s)}.call(e,t)}}],n.p.tooltip.content,n)},t):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]},getYTDIndex:function(){return Utils.arrayFirstIndex(this.p.time_controls.range_selector.buttons,function(t){return"ytd"===t.type&&t.enabled})},setYTDOptionState:function(){var t,e,a=this.getYTDIndex();if(!a||-1===a)return this._YtdHoveringEventSet=!1,$(".tooltipPlaceholder").remove(),!1;this._chart.rangeSelector&&(a=this._chart.rangeSelector.buttons[a])&&(t=$(a.element),this._canUseYTD?(t.off("mouseover"),$(".tooltipPlaceholder").remove(),this._YtdHoveringEventSet=!1):(a.setState(3),t.css({cursor:"default"}),(e=$(".tooltipPlaceholder")).length||(e=$("<div class='tooltipPlaceholder' title='{0}'></div>".format(_("WidgetSc3_YtdDisabledLabel"))),$("body").append(e)),this._YtdHoveringEventSet||(t.on("mouseover",function(){e.css({top:t.offset().top,left:t.offset().left,"z-index":9999,position:"absolute",height:$("rect",t).attr("height"),width:$("rect",t).attr("width")})}),this._YtdHoveringEventSet=!0)))},updateService:"DC3Data",setSample:function(){this._Data=this.convertCustomDataToHeaders(),this.render()},convertCustomDataToHeaders:function(t){return{rows:(t=t||this.p.data.custom)[0]?[{name:t[0][0],type:"System.DateTime",id:-1}]:[],columns:[{name:_("Series"),type:"System.String",id:-2}],values:[{id:-3,name:_("Value"),aggregation:"sum",type:"float"}],rowHeaders:t[0]?t.slice(1).map(function(t){return{name:t[0],count:1,subtotals:0}}):[],columnHeaders:t[0]?t[0].slice(1).map(function(t){return{name:t,count:1,subtotals:0}}):[],data:t[0]?[t.slice(1).map(function(t){return t.slice(1)})]:[]}},updateServiceSuccessCallback:function(){if(!this._Data||!this._Data.rowHeaders||!this._Data.rowHeaders.length)return this._canUseYTD=!1;var t=moment.utc().year();if(this.isCustomDataMode()){var e=0;for(this._canUseYTD=!1;e<this._Data.rowHeaders.length&&!this._canUseYTD;)i=this._Data.rowHeaders[e],n=moment.utc(i.name).year(),this._canUseYTD=t===n,e++}else{var a=this._Data.rowHeaders.length-1,i=this._Data.rowHeaders[a],n=moment.utc(i.name).year();this._canUseYTD=t===n}},updateServiceError:function(){},renderDataCustomTable:function(t){var n=this,e=this.update.bind(this),a=new Settings.Data.CustomTable(t);a.templates.cell_category='<td><div><input type="text" class="category" value="{{value}}" readonly /></div></td>',a.addDummyRow=function(t){for(var e=$("<tr>").appendTo(this.ui.tbody),a=this.ui.thead.find("td"),i=0;i<a.length;i++){var n,o,r=0===i?this.templates.cell_row_reorder:1===i?Mustache.render(this.templates.cell_category,{value:t?Utils.formatDateTime(new Date(t[i-1])):null}):i===a.length-1?this.templates.cell_row_remove:Mustache.render(this.templates.cell_data,{value:t?t[i-1]:null});e.append(r),1===i&&(n=e.find(".category"),r=null,o=new Date,n.data({date:t?new Date(t[i-1]):o}),(r=n.datetimepicker({autoclose:!0,keyboardNavigation:!1})).on("change",function(t){var e=$(this),t=t.target.value?moment(t.target.value).toDate():null;e.data({date:t})}),r.on("hide",function(){n.data().date!==o?n.val(Utils.formatDateTime(n.data().date)):n.val("")}))}},a.cellValueFormat=function(t,e){t=$(t).val();return 0<e?""===t||isNaN(t)?0:parseFloat(t):new Date(t).toISOString()},a.customColumnRenameProcess=function(t,e,a){var i=Utils.arrayFirst(n.p.series_custom,function(t){return 0<t.columns.length&&-2===t.columns[0].column_id&&t.columns[0].value===e});i&&(i.columns[0].value=a)},t.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:e})},renderDataBindings:function(t){var i=this,e=new Settings.Data.Bindings(t);e.templates.area_measure_column='                <li class="area-column measure big {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',e.templates.area_count_column='                <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                    <div class="column">                        <span class="title" title="{{col_name}}">{{ name }}</span>                        <span class="extra-ddl axis-picker-ddl"><span class="value">{{ axis_picker_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                    </div>                    <div class="buttons">                        <button type="button" class="visibility"><i class="far"></i></button>                        <button type="button" class="edit"><i class="far fa-edit"></i></button>                        <button type="button" class="remove"><i class="far fa-trash"></i></button>                    </div>                </li>',e.templates.area_date_column='            <li class="area-column" data-column-id="{{ id }}">                <span class="title" title="{{col_name}}">{{ name }}</span>                <div class="buttons">                    <button type="button" class="edit"><i class="far fa-edit"></i></button>                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                </div>            </li>',e.getAreaColumnTemplateItemData=function(e,t){var a;e.area===Enums.WidgetAreas.Values&&(a=Utils.arrayFirstIndex(i.p.y_axis,function(t){return t&&t.bindings&&-1!==t.bindings.indexOf(e.guid)}),t.axis_picker_label=i.getYAxisLabelFromIndex(a))},e.toggleAxisPopup=function(t){var e=t.data("binding"),a=t.find(".axis-picker-ddl .ddl-opener"),e=i.getYAxisFromBinding(e),e=i.p.y_axis.indexOf(e);this.ui.axis_ddl.find("input").prop("checked",!1).end().find('[data-axis-index="{0}"] input'.format(e)).prop("checked",!0).end().css({top:a.offset().top+a.outerHeight(),left:a.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},e.closeCustomPopups=function(){this.ui.axis_ddl.hide()},e.axisPopupChanged=function(){var t=+this.ui.axis_ddl.find(":checked").closest("li").attr("data-axis-index"),e=this.ui.axis_ddl.data("area_column"),a=e.data("binding");e.find(".axis-picker-ddl .value").text(i.getYAxisLabelFromIndex(t)),this.ui.axis_ddl.hide(),i.moveBindingToAxis(a,t),i.render(),this._isDirty=!0},e.area_column_limits[Enums.WidgetAreas.Rows]=1,e.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.4},{name:_("Dates"),placeholder:_("DropDates"),area:Enums.WidgetAreas.Rows,height_ratio:.2,data_types:Enums._DateDataTypes},{name:_("Series"),placeholder:_("DropSeries"),area:Enums.WidgetAreas.Columns,height_ratio:.4}]),e.ui.axis_ddl=$('                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    <li data-axis-index="0"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>'.concat(_("AxisLeft").format(1),'</span></label></li>                    <li data-axis-index="1"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(2),'</span></label></li>                    <li data-axis-index="2"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(3),'</span></label></li>                    <li data-axis-index="3"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(1),'</span></label></li>                    <li data-axis-index="4"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(2),'</span></label></li>                    <li data-axis-index="5"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(3),"</span></label></li>                </ul>")).appendTo("body"),e.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var t=$(this).closest(".area-column");return e.toggleAxisPopup(t),!1}),e.ui.axis_ddl.on("change","input",function(){e.axisPopupChanged()}),e.on("bindingAdded",function(t){var e;t.area===Enums.WidgetAreas.Values&&(i.p.y_axis[0]||(e=i.getDefaultYAxisConfiguration(),i.p.y_axis[0]=e),i.p.y_axis[0].bindings.push(t.guid))}),e.on("bindingCleared",function(){this.p.y_axis[0]=null,this.p.y_axis[1]=null,this.p.y_axis[2]=null,this.p.y_axis[3]=null,this.p.y_axis[4]=null,this.p.y_axis[5]=null,this.p.series_custom=[],this.p.trends_custom=[],this.p.time_controls.time_slider.serie_index=0,this.p.sort_filter.top_bottom.column=null,this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]}.bind(this)),e.on("bindingRemoved",function(t){if(t.area===Enums.WidgetAreas.Values)for(var e=0;e<i.p.y_axis.length;e++)if(i.p.y_axis[e]&&0<=i.p.y_axis[e].bindings.indexOf(t.guid))return Utils.arrayRemove(i.p.y_axis[e].bindings,t.guid),void(i.p.y_axis[e].bindings.length||(i.p.y_axis[e]=null))}),this.data_destroy_callback=function(){e.destroy()}},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t.push({icon:function(){return"chart-{0}-y-axis.png".format(this.p.type)}.bind(this),text:_("Vertical"),code:"yaxis",renderer:function(t){"bar"===this.p.type?this.getXAxisProperties(t):this.getYAxisProperties(t)}.bind(this)}),t.push({icon:function(){return"chart-{0}-x-axis.png".format(this.p.type)}.bind(this),text:_("Horizontal"),code:"xaxis",renderer:function(t){"bar"===this.p.type?this.getYAxisProperties(t):this.getXAxisProperties(t)}.bind(this)}),t.push({icon:function(){return"chart-{0}-series.png".format(this.p.type)}.bind(this),text:_("Series"),code:"series",renderer:this.getSeriesProperties.bind(this)}),t.push({icon:"chart-trend.png",text:_("Trends"),code:"trends",renderer:this.getTrendsProperties.bind(this)}),t.push({icon:"time-slider-char-time-controls.png",text:_("TimeControls"),code:"timecontrols",renderer:this.getTimeControlsProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,t),t},getTimeControlsProperties:function(t){var e=this.render.bind(this),o=this,a=t.addSection(),i=(t.addBoolean({section:a,label:_("TimeSlider"),object:this.p.time_controls.time_slider,property:"enabled",callback:e}),t.addFont({container:a,object:this.p.time_controls.time_slider,property:"font",callback:e,dropDown:!0}),this.getSeriesCombinaisons()),n=i.map(function(t){var e="".concat(t.value.name," (").concat(t.value.aggregation,")");return t.columns.forEach(function(t){e+=" - ".concat(t.value)}),{label:e,value:i.indexOf(t)}}),n=(t.addDropdown({label:_("DisplayedSeries"),container:a,object:this.p.time_controls.time_slider,property:"serie_index",callback:e,combobox:{dataprovider:n}}),t.addColor({container:a,label:_("LineColor"),object:this.p.time_controls.time_slider,property:"line_color",callback:e}),t.addColor({container:a,label:_("FillColor"),object:this.p.time_controls.time_slider,property:"fill_color",callback:e}),t.addSeparator(),t.addSection());n.addClass("nomargin"),t.addBoolean({section:n,label:_("RangeSelector"),object:this.p.time_controls.range_selector,property:"enabled",callback:e}),t.addFont({container:n,object:this.p.time_controls.range_selector,property:"font",callback:e});n.append(Mustache.render('<div class="dc3_buttons_container">                            <div class="sortable_list_container"></div>                            </div>')),this.sortableList=new SortableList({container:$(".dc3_buttons_container .sortable_list_container"),object:this.p.time_controls.range_selector,property:"buttons",enableDelete:!1,onSortCallback:this.render.bind(this),columns:[{name:"",width:61,cellFormat:function(e,a){var t=$("<input type='checkbox' class='cd-flipswitch' />");a.append(t),t.prop("checked",e.enabled),t.flipSwitch().on("change",function(){var t=$(".default_column",a.closest("tr"));e.enabled&&(e.default_selection=!1,$(".cd-flipswitch",t).prop("checked",!1),$(".cd-flipSwitch",t).toggleClass("on",!1)),e.enabled=$(this).prop("checked"),$(".cd-flipswitch",t).prop("disabled",!e.enabled),$(".cd-flipSwitch",t).toggleClass("disabled",!e.enabled),o.render()}),t.toggleClass("on",e.enabled)}},{name:_("Period"),classes:"period_column",width:200,cellFormat:function(t,e){var a="";switch(t.type){case"hour":a="".concat(t.count," "),a+=1<t.count?_("LabelHours"):_("LabelHour");break;case"day":a="".concat(t.count," "),a+=1<t.count?_("LabelDays"):_("LabelDay");break;case"week":a="".concat(t.count," "),a+=1<t.count?_("LabelWeeks"):_("LabelWeek");break;case"month":a="".concat(t.count," "),a+=1<t.count?_("LabelMonths"):_("LabelMonth");break;case"year":a="".concat(t.count," "),a+=1<t.count?_("LabelYears"):_("LabelYear");break;case"ytd":a=_("LabelYearToDate");break;case"all":a=_("All")}switch(t.id){case"mtd":a=_("LabelMonthToDate");break;case"qtd":a=_("LabelQuarterToDate");break;case"qt":a=_("LabelQuarter");break;case"wsun":a=_("LabelWeekSunday");break;case"wmon":a=_("LabelWeekMonday")}e.append($("<span></span>").text(a))}},{name:_("DisplayName"),classes:"display_column",cellFormat:function(t,e){var a=$("<input type='text'>");e.append(a),a.val(t.text),a.on("change",function(){t.text=$(this).val(),o.render()})}},{cellFormat:function(i,t){var n=$("<input type='checkbox' class='cd-flipswitch' />");t.append(n),n.prop("disabled",!i.enabled),n.prop("checked",i.default_selection),n.flipSwitch().on("change",function(){var t=$(this).prop("checked");if(i.default_selection=t){$(".dc3_buttons_container .sortable_list_container .default_column .cd-flipSwitch").prop("checked",!1),$(".dc3_buttons_container .sortable_list_container .default_column .cd-flipSwitch").removeClass("on",!1);var e,a=_createForOfIteratorHelper(o.p.time_controls.range_selector.buttons.filter(function(t){return t.default_selection}));try{for(a.s();!(e=a.n()).done;)e.value.default_selection=!1}catch(t){a.e(t)}finally{a.f()}i.default_selection=t,n.prop("checked",t),n.closest(".cd-flipSwitch").toggleClass("on",t)}o.render()}),n.toggleClass("on",i.default_selection)},classes:"default_column",name:_("SelectedByDefault"),width:61}]})},getXAxisProperties:function(t){var e=this.render.bind(this),a=this.p.x_axis,i=("bar"===this.p.type?t.addHeader({text:_("YAxisTitleTitle"),description:_("YAxisTitleDesc")}):t.addHeader({text:_("XAxisTitleTitle"),description:_("XAxisTitleDesc")}),t.addSection()),i=(t.addBoolean({section:i,label:_("ShowTitle"),object:a.title,property:"enabled",callback:e}),t.addText({container:i,label:_("AxisTitle"),placeholder:this.getXAxisDefaultTitle(),object:a.title,property:"text",callback:e,event:"focusout"}),t.addSection().appendTo(i)),i=(t.addFont({container:i,object:a.title,property:"font",callback:e}),t.addToggleButtons({container:i,label:_("HorizontalAlign"),object:a.title,property:"align",callback:e,buttons:[{icon:"fa-align-left",value:"low"},{icon:"fa-align-center",value:"middle"},{icon:"fa-align-right",value:"high"}]}),t.addSeparator(),t.addSection()),n=(t.addBoolean({section:i,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:i,object:a.labels,property:"font",callback:e}),t.addToggleButtons({container:i,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:e,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:i,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addNumber({container:i,label:_("Interval"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"interval",callback:e,min:0}),t.addSeparator(),t.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:e}),t.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addSeparator(),{ordinal:!a.cardinal});t.addBoolean({label:_("Ordinal"),object:n,property:"ordinal",callback:function(){a.cardinal=!n.ordinal,e()}}),t.addSeparator(),t.addBoolean({label:_("AxisOnTop"),object:a,property:"opposite",callback:e}),t.addSeparator()},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(e){var r=this,t=new Settings.SortFilter.TopBottom(e);t.updateDataCallback=function(){r._isDirty=!0,r.update()},t.getTopBottomColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var i,n=r.p.data_bindings[a];n.area===Enums.WidgetAreas.Values&&(n.__type.startsWith("CountDataBindingProperties")?e.push({label:n.name||_("Count"),aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,value:n.guid}):(i=r.getColumnFromId(t.columns,n.column_id),e.push({label:n.name||i.name,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,value:n.guid})))}o(e)});break;case"custom":var t=r.p.data.custom[0].map(function(t,e){return{label:t,value:e}});o(t)}},t.render()},_getHighchartsXAxis:function(e,t,a){var n=this,i=(Utils.FontUtils.loadFont(a.title.font.family),Utils.FontUtils.loadFont(a.labels.font.family),1===e.length?e[0].type:null),o=1===e.length?e[0].original_type:null,r={type:"datetime",ordinal:!a.cardinal,title:{text:a.title.enabled?Utils.pickNonEmptyString(a.title.text,this.getXAxisDefaultTitle()):"",align:a.title.align,style:{fontFamily:a.title.font.family,fontSize:"".concat(a.title.font.size,"px"),textShadow:a.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(a.title.font.family,a.title.font.font_weight),fontStyle:a.title.font.italic?"italic":"",textDecoration:a.title.font.underline?"underline":"",color:a.title.font.color}},opposite:a.opposite,lineColor:a.axis_line.color,lineWidth:a.axis_line.width,gridLineWidth:a.major_grid_lines.width,gridLineColor:a.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:a.minor_grid_lines.width,minorGridLineColor:a.minor_grid_lines.color,tickColor:a.ticks,tickLength:5,tickWidth:"transparent"!==a.ticks?1:0,events:{afterSetExtremes:function(t){var e=n.getYTDIndex(),a=(this.chart.rangeSelector&&(void 0!==this.chart.rangeSelector.selected&&(n._currentRangeButton=this.chart.rangeSelector.selected),n._currentRangeButton&&n.updateState(n.model.remember_selection)),this.chart.rangeSelector&&this.chart.rangeSelector.buttons||[]),i=this.getExtremes();i&&(n.selectedstartdate=i.min?moment.utc(i.min):null,n.selectedenddate=i.max?moment.utc(i.max):null),!this._canUseYTD&&e<a.length&&setTimeout(function(){n._YtdHoveringEventSet=!1,n.setYTDOptionState()},200),ChartUtils.handleToolbarZoom(this.eventArgs,n.container)}},labels:{enabled:a.labels.enabled,rotation:a.labels.rotation,step:a.labels.step,style:{fontFamily:a.labels.font.family,fontSize:"".concat(a.labels.font.size,"px"),textShadow:a.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(a.labels.font.family,a.labels.font.font_weight),fontStyle:a.labels.font.italic?"italic":"",textDecoration:a.labels.font.underline?"underline":"",color:a.labels.font.color}}},s=(a.labels.format&&(r.labels.formatter=function(){var t=this.value;return WidgetsCommon.getFormattedAxisLabel(t,a.labels.format,e&&0<e.length?e[0].groupings:[],!0,i,o)}),0<a.labels.interval&&(r.tickInterval=864e5*a.labels.interval),ChartUtils.widgetVisibilityOnEditor(this));if(this.p.plot_options&&this.p.plot_options.length&&s){for(var l=this.p.plot_options.filter(function(t){return"horizontal"===t.axis_type&&0===t.axis_index}),c=[],d=[],h=0;h<l.length;h++){var u=l[h];Utils.FontUtils.loadFont(u.font.family),"band"===u.type?c.push(ChartUtils.getHighChartsObject(u)):"line"===u.type&&d.push(ChartUtils.getHighChartsObject(u))}c.length&&(r.plotBands=c),d.length&&(r.plotLines=d)}return r},_getHighchartsSeries:function(s,l,c,d){var h=this,u=function(){var i=this.p.y_axis,n=this.isCustomDataMode();return function(t){if(n)return 0;for(var e=0,a=0;a<i.length;a++){if(i[a]===t)return e;i[a]&&e++}return e}}.bind(this)(),t=l.map(function(n,t){var i=n.configuration.config,e=n.trendConfiguration.config,a=n.yAxis,o=$.extend(!0,{},getSerieLabelAlignmentFromRotation(i.type,i.labels.rotation),ChartUtils.getSeriesLabelPosition(i.type,i.labels.position,i.labels.rotation,a)),r=function(t){switch(t.type){case"column":return{borderWidth:(t=t.column).border.width,borderColor:t.border.color,borderRadius:t.roundness,color:t.gradient&&t.color?{linearGradient:[0,0,0,"100%"],stops:[[0,t.color],[1,DashboardUtils.shadeBlend(null,t.color)]]}:t.color,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.shadow.opacity,width:t.shadow.radius},negativeColor:t.negative_values.enabled?t.negative_values.fill_color:null};case"area":return{fillColor:(t=t.area).gradient&&t.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,t.background_color],[1,DashboardUtils.shadeBlend(null,t.background_color)]]}:t.background_color,lineWidth:t.line.width,lineColor:t.line.color,color:t.gradient&&t.background_color?{linearGradient:[0,0,0,"100%"],stops:[[0,t.background_color],[1,DashboardUtils.shadeBlend(null,t.background_color)]]}:t.background_color,dashStyle:"Solid"===t.line.type?"":t.line.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.line.shadow.opacity,width:t.line.shadow.radius},marker:{enabled:!!t.marker.shape,symbol:t.marker.shape,radius:t.marker.width,fillColor:t.marker.color,lineWidth:t.marker.border.width,lineColor:t.marker.border.color},negativeColor:t.negative_values.enabled?t.negative_values.line_color:null,negativeFillColor:t.negative_values.enabled?t.negative_values.fill_color:null};case"line":return{lineWidth:(t=t.line).line.width,color:t.line.color,dashStyle:"Solid"===t.line.type?"":t.line.type,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.line.shadow.opacity,width:t.line.shadow.radius},marker:{enabled:!!t.marker.shape,symbol:t.marker.shape,radius:t.marker.width,fillColor:t.marker.color,lineWidth:t.marker.border.width,lineColor:t.marker.border.color},negativeColor:t.negative_values.enabled?t.negative_values.line_color:null}}}(i);return $.extend({connectNulls:!!i.display_null_as&&i.display_null_as===WidgetCH.SeriesDisplayNullsAs.Connect||!1,regression:e.enabled,regressionSettings:{type:e.type,color:e.line.color,dashStyle:e.line_type,order:e.polynomial_order,periods:e.periods,shortPeriod:e.short_period,longPeriod:e.long_period,extrapolate:e.polynomial_extrapolation,loessSmooth:e.loess_smooth,width:e.line.width,shadow:e.shadow,name:e.name||"".concat(i.name||n.name," (").concat(_("Trend"),")"),zIndex:h.p.other.threeD.enabled?t+4:null},dataGrouping:{approximation:"avg"},visible:!n.value||!n.value.binding||!n.value.binding.hidden,showInLegend:!n.value||!n.value.binding||!n.value.binding.hidden,showInNavigator:!n.value||!n.value.binding||!n.value.binding.hidden,name:i.name||n.name,data:n.data,type:i.type,yAxis:u(n.yAxis),stacking:a.stacked?a.stacked_100?"percent":"normal":null,stack:a.stacked?u(n.yAxis):null,threshold:a.scale.threshold,point:{events:{click:function(t){h.updateOutputFromPoint(t.point,c);var e=this.index,a=n,i=h.p.interactions.onseriesdblclick;if(l.hasBeenClicked&&i){switch(i.type){case"url":DashboardUtils.handleUrlInteraction(h.dashboard,h,i);break;case"dashboard":h.handleDashboardInteraction(i);break;case"data":Array.isArray(h.p.data_bindings)&&h.p.data_bindings.length&&h.dashboard&&h._displayRowData(e,s,c,a)}l.hasBeenClicked=!1}else l.hasBeenClicked=!0,setTimeout(function(){l.hasBeenClicked=!1},200)}}},userData:{seriesConfig:i,yAxisConfig:a},dataLabels:{enabled:i.labels.enabled,rotation:i.labels.rotation,align:o.align,y:o.y||0,x:o.x||0,verticalAlign:o.verticalAlign,inside:o.inside,style:{fontFamily:i.labels.font.family,fontSize:"".concat(i.labels.font.size,"px"),textShadow:i.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(i.labels.font.family,i.labels.font.font_weight),fontStyle:i.labels.font.italic?"italic":"",textDecoration:i.labels.font.underline?"underline":"",color:i.labels.font.color,textOutline:null},formatter:function(){var t,e=i.labels,a="";return e.show_dimension&&(t=this.key,a=Utils.formatValue(t,d.labels.format)),e.show_measure&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.y,e.format)),e.show_series&&(a&&(a+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a+=Utils.formatValue(this.series.name,e.format)),e.show_percentage&&!Utils.isEmpty(this.percentage)&&(t="".concat(Math.round(10*this.percentage)/10,"%"),a?a+=" (".concat(t,")"):a=t),a}}},r,h.getSeriesTypeOptions(i.type,i.subtype,i.step))});return t.sort(function(t,e){return t.stack-e.stack}),t},_getRangeSelectorButtons:function(t){var a=this,i=t.filter(function(t){return!0===t.enabled}).map(function(t){var e={count:t.count,id:t.id,text:t.text};if(t.type)e.type=t.type;else switch(e.id){case"mtd":e.type="month",e.count=1;break;case"qtd":case"qt":e.type="month",e.count=4;break;case"wsun":case"wmon":e.type="day",e.count=7}return e});return i.forEach(function(t,e){switch(t.id){case"mtd":case"qtd":case"qt":case"wsun":case"wmon":i[e]=$.extend({},t,{events:{click:function(){return a.applyRangeOnChart(t.id,e),!1}}})}}),i},_getfontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}},_changeFontOpacity:function(t,e){return t.color=this._changeAlphaOnRgba(t.color,e),t},_changeAlphaOnRgba:function(t,e){t=DashboardUtils.parseRGBA(t);return t.a=e,t.toString()},_getMaskFill:function(t){var e="",e="transparent"!==t.line_color?t.line_color:"transparent"!==t.fill_color?t.fill_color:"rgba(128, 179, 236, 0.3)";return this._changeAlphaOnRgba(e,.25)},applyStyleToTargetWidget:function(t){this.p.interactions.toolbar_buttons_color=t.interactions.toolbar_buttons_color;var e=Utils.clone(t.time_controls.time_slider),e=(e.enabled,e.serie_index,_objectWithoutProperties(e,_excluded));this.p.time_controls.time_slider=Utils.deepMerge(this.p.time_controls.time_slider,e),this.p.time_controls.range_selector.font=Utils.clone(t.time_controls.range_selector.font),this.copyObjOnArray(t.plot_options,this.p.plot_options,["band","font","line"],["from_value","to_value","value_formula","value_type"])}})});
//# sourceMappingURL=DC3-time-slider.js.map

function _createForOfIteratorHelper(e,t){var a,o,i,n,r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return o=!(a=!0),{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){o=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw i}}};if(Array.isArray(e)||(r=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return r&&(e=r),n=0,{s:t=function(){},n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var DC2_SERIES_DEFAULT={name:null,display_null_as:WidgetCH.SeriesDisplayNullsAs.Gap,labels:{enabled:!1,show_high:!0,show_low:!1,show_open:!1,show_close:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},percentage_labels_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:1,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after"}}),rotation:0,position:"outside",format:null},type:null,candlestick:{color:null,gradient:!1,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,negative_values:{enabled:!1,fill_color:"#FFFFFF"}},ohlc:{color:null,gradient:!1,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,negative_values:{enabled:!1,fill_color:"#FFFFFF"}}};Widget.createType({id:"DC4",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis_custom.scale.max","y_axis_custom.scale.min","plot_options.label","plot_options.band.from_value","plot_options.band.to_value","plot_options.line.value_formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series","selectedstartdate","selectedenddate"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-3d.js","/Libraries/Highcharts-Trends/highcharts-regression.js"],properties:$.extend(!0,{},WidgetCH.DefaultProperties,{type:"candlestick",data_points:[],customize_series:!1,series_style:{color:"",up_color:"",border:{width:1,color:"#cccccc"},line:{width:1,color:"#cccccc"}},tooltip:{display:!0,content:"<p>Open: <b>{{this.point.open}}</b></p>\n                      <p>High: <b>{{this.point.high}}</b></p>\n                      <p>Low: <b>{{this.point.low}}</b></p>\n                      <p>Close: <b>{{this.point.close}}</b></p>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},legend:{enabled:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},layout:"horizontal",position:"bottom",fixed_width:!1,reversed:!1,background_color:null,border:{width:1,color:"#cccccc"},roundness:0},x_axis:$.extend(!0,{},WidgetCH.DefaultProperties.x_axis,{labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,step:null,format:{Type:"date"},interval:null}}),y_axis:[$.extend(!0,{},WidgetCH.DefaultYAxisProperties,{scale:{type:"linear",max:"",min:"",interval:null,threshold:0,reverse:!1}})],time_controls:{time_slider:{enabled:!1,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},line_color:"rgba(71,173,195,1)",fill_color:"transparent",serie_index:0},range_selector:{enabled:!1,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},buttons:[{enabled:!0,type:"month",count:1,text:"1m"},{enabled:!0,type:"month",count:3,text:"3m"},{enabled:!0,type:"month",count:6,text:"6m"},{enabled:!0,type:"ytd",count:0,text:"YTD"},{enabled:!0,type:"year",count:1,text:"1y"},{enabled:!0,type:"all",count:0,text:"All"}]}}}),prototype:$.extend(!0,{},Widget.CHPrototype,WidgetDC,{init:function(){ChartUtils.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[["Date","Data Points"],["2019-01-01",106.25,107.5,80,96],["2019-02-01",90.25,92,77,78],["2019-03-01",100.75,109.75,88,89.5],["2019-05-01",108.75,108.5,80,98.5]]),this.bindEvents(),this.tryUpdate()},quickToolbarOptions:function(){var a=this,e=this._quickToolbarOptions(),t=(t=this.getAvailableChartTypes().map(function(e){return{id:e.value,background_image:e.image,title:e.label}})).sort(function(e,t){return e.id===a.p.type||t.id>a.p.type?-1:1});return e.push({class:"chart_type",background_image:t[0].background_image,additional_controls:t,no_multiple_selection:!0,selection_event:function(t){t!==a.p.type&&(a.p.type=t,a.p.data_points.forEach(function(e){e.config.type=t}),a.update())}}),e},render:function(){var e,t,o,a,i=this;ChartUtils.destroyChart(this.ui),this._Data?(e=(t=this.getHighchartsDataFromWSData(this._Data.columnHeaders,this._Data.rowHeaders,this._Data.values,this._Data.rows,this._Data.columns,this.p.data_bindings.filter(function(e){return e.area===Enums.WidgetAreas.Values}),this._Data.data)).categories,t=t.series,o=this._Data,this.setOutputFromData(e,t),a=this.p.y_axis[0],a={chart:this._getHighchartsChart(),exporting:{enabled:!1},colors:this.getColorsFromPalette(),credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:this._getHighchartsLegend(t,this.p.legend),tooltip:{enabled:this.p.tooltip.display,pointFormat:this.p.tooltip.content,borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color,formatter:function(){var a=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.high",value:this.points[0].point.high,format:!0},{regex:"this.point.low",value:this.points[0].point.low,format:!0},{regex:"this.point.open",value:this.points[0].point.open,format:!0},{regex:"this.point.close",value:this.points[0].point.close,format:!0},{regex:"this.point.date",fn:function(e){var t=o.rows[0];if(t)return WidgetsCommon.getFormattedAxisLabel(a.points[0].x,DashboardUtils.applyFormat(e||i.p.x_axis.labels.format,t.type,t.original_type),t.groupings,!0,t.type,t.original_type)}},{regex:"this.series.name",value:this.points[0].series.name}],i.p.tooltip.content,i)},headerFormat:null,useHTML:!0},plotOptions:{series:{animation:!1,shadow:!1,turboThreshold:1e3,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0}}},xAxis:this._getHighchartsXAxis(this._Data.rows,e,this.p.x_axis),yAxis:this._getHighchartsYAxis(a),series:this._getHighchartsSeries(e,t,this._Data.rows,this.p.x_axis),rangeSelector:{enabled:this.p.time_controls&&this.p.time_controls.range_selector.enabled,inputEnabled:!1,buttons:this._getRangeSelectorButtons(this.p.time_controls.range_selector.buttons),labelStyle:this._getfontStyle(this.p.time_controls.range_selector),buttonTheme:{style:this._getfontStyle(this.p.time_controls.range_selector),fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.05),states:{hover:{fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.1),style:this._getfontStyle(this.p.time_controls.range_selector)},disabled:{style:this._changeFontOpacity(this._getfontStyle(this.p.time_controls.range_selector),.5)},select:{fill:this._changeAlphaOnRgba(this.p.time_controls.range_selector.font.color,.15),style:this._getfontStyle(this.p.time_controls.range_selector)}}}},navigator:{margin:10,maskFill:this._getMaskFill(this.p.time_controls.time_slider),enabled:this.p.time_controls.time_slider.enabled,xAxis:{labels:{style:this._getfontStyle(this.p.time_controls.time_slider)},minorGridLineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.25),gridLineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.25)},baseSeries:this.p.time_controls.time_slider.serie_index<t.length?this.p.time_controls.time_slider.serie_index:0,series:{lineColor:this.p.time_controls.time_slider.line_color,fillColor:this.p.time_controls.time_slider.fill_color},outlineColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5),handles:{backgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5),borderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.5)}},scrollbar:{enabled:this.p.time_controls.time_slider.enabled,barBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),barBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),rifleColor:this._getfontStyle(this.p.time_controls.time_slider).color,trackBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),trackBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),buttonBackgroundColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.1),buttonBorderColor:this._changeAlphaOnRgba(this._getfontStyle(this.p.time_controls.time_slider).color,.35),buttonArrowColor:this._getfontStyle(this.p.time_controls.time_slider).color}},this.p.customize_series&&this.p.data_points.length&&(a.plotOptions[this.p.data_points[0].config.type]={color:this.p.series_style.color,upColor:this.p.series_style.up_color,lineColor:this.p.series_style.border.color,lineWidth:this.p.series_style.border.width,upLineColor:this.p.series_style.up_line_color}),this._lastvisibilityValue||(a.plotOptions[this.p.type]={enableMouseTracking:!1},this.dashboard&&!this.dashboard.in_editor&&(a.legend.enabled=!1,a.legend.navigation={enabled:!1},a.navigator.enabled=!1)),this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this._chart=Highcharts.stockChart(this.ui[0],a),this.setYTDOptionState(),ChartUtils.putPlotAreaOnTop(this.ui)):this.error=_("NoData")},updateServiceSuccessCallback:function(){if(!this._Data||!this._Data.rowHeaders||!this._Data.rowHeaders.length)return this._canUseYTD=!1;var e,t,a,o=moment.utc().year();if(this.isCustomDataMode()){var i=0;for(this._canUseYTD=!1;i<this._Data.rowHeaders.length&&!this._canUseYTD;)a=this._Data.rowHeaders[i],t=moment.utc(a.name).year(),this._canUseYTD=o===t,i++}else e=this._Data.rowHeaders.length-1,a=this._Data.rowHeaders[e],t=moment.utc(a.name).year(),this._canUseYTD=o===t},getBindings:function(t,e){var a;return t?(a=this.p.data_bindings.filter(function(e){return e.area===t}),Utils.isDefined(e)?a[e]:a):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.Rows).length&&1===this.getBindings(Enums.WidgetAreas.High).length&&1===this.getBindings(Enums.WidgetAreas.Low).length&&1===this.getBindings(Enums.WidgetAreas.Open).length&&1===this.getBindings(Enums.WidgetAreas.Close).length},updateService:"DC4Data",setSample:function(){this._Data=this.convertCustomDataToHeaders(),this.render()},convertCustomDataToHeaders:function(e){return{rows:(e=e||this.p.data.custom)[0]?[{name:e[0][0],type:"System.DateTime",original_type:"datetime",id:-1}]:[],columns:[{name:_("Series"),type:"System.String",id:-2}],values:[{id:-5,name:_("CandlestickOpen"),aggregation:"sum",type:"float"},{id:-3,name:_("CandlestickHigh"),aggregation:"sum",type:"float"},{id:-4,name:_("CandlestickLow"),aggregation:"sum",type:"float"},{id:-6,name:_("CandlestickClose"),aggregation:"sum",type:"float"}],rowHeaders:e[0]?e.slice(1).map(function(e){return{name:e[0],count:1,subtotals:0}}):[],columnHeaders:e[0]?e[0].slice(1).map(function(e){return{name:e,count:1,subtotals:0}}):[],data:e[0]?[e.slice(1).map(function(e){return e.slice(1)})]:[]}},getHighchartsDataFromWSData:function(e,t,a,i,o,n,r){function l(e,t){var o,t=t.reduce(function(e,t,a){return null===t.names[0]?e.removedIndexes.push(a):e.categories.push(t),e},{categories:[],removedIndexes:[]}),e=e.map((o=t.removedIndexes,function(e){var a;return e.data=e.data.map((a=o,function(e,t){return 0<=a.indexOf(t)?null:e})).filter(i),e}));function i(e){return null!==e}return{categories:t.categories,series:e}}var s,d,c,p,u,h,g,b,m,f,y,v,x=this,C=function(t){return function(e){return e[t]}},S=function o(i,n,r){return function(e,t){var a=i(t);return a?(a=a.reduce(o(i,n,r),[]),a=r(t,a),e.concat(a)):(a={names:[n(t)]},e.concat([a]))}},w=function(t,e){return e.map(function(e){return{names:[t.name].concat(e.names)}})},k=function(e){var t,a;if(a=0<e.length?(t=S(C("values"),C("name"),w),e.reduce(t,[])):[{names:[_("Total")]}],1<i.length)for(var o=0;o<i.length;o++)Utils.isDateType(i[o].type)&&a.forEach(function(e){e.names[o]=Utils.formatValue(e.names[o],DashboardUtils.applyFormat(null,i[o].type,i[o].original_type))});return a=a.map(function(e){return $.extend(e,{name:e.names.join(ChartUtils.CATEGORY_NAME_SEPARATOR)})})}(t),D=function(e){var t;return 0<e.length?(t=S(C("values"),C("name"),w),e.reduce(t,[])):[{names:[]}]},A=function(t){return function(e){return $.extend({},e,{columns:(a=e,t.map(function(e,t){return{column_id:e.id,value:a.names[t]}}))});var a}},T=function(a,o,i,n){return function(e){var t=a(e);return t||(t={config:o(),value:{column_id:e.value?e.value.column_id:null,aggregation:e.value?e.value.aggregation:""},columns:e.columns},x.p.data_points.push(t)),$.extend({},e,{configuration:t,yAxis:e.value?i(e.value.binding):n()})}},F=function(){return function(e){for(var t,a=0;a<o.length;a++)Utils.isDateType(o[a].type)&&(e.names[a]=Utils.formatValue(e.names[a],DashboardUtils.applyFormat(null,o[a].type,o[a].original_type)));return t=e.configuration.config.name||e.names.join(ChartUtils.SERIES_NAME_SEPARATOR),$.extend(e,{name:t})}},D=(e=e,s=a,j=o,d=this.getSeriesConfiguration.bind(this),c=this.getDefaultSeriesConfiguration.bind(this),p=this.getYAxisFromBinding.bind(this),u=this.getDefaultYAxisConfiguration.bind(this),this.getTrendsConfiguration.bind(this),this.getDefaultTrendConfiguration.bind(this),D(e).map(A(j)).map(T(d,c,p,u)).map(F(s.length,e.length))),j=(1===i.length&&(Utils.isDateType(i[0].type)||i[0].groupings&&0<i[0].groupings.length&&0===t.length)&&(h=k.map(function(e){return e.name})),0<a.length?(A=r,A=A="bindings"===x.p.data.mode&&x.p.data_id&&x.canUpdateData()?x.transpose(r):A,m=h,f=JSON.parse(JSON.stringify(A)),y=A.length,v=0,function(e){var t=(t=f[v])||[];return WidgetCH.canUseDisplayZeroAs(x)&&e.configuration.config.display_null_as&&e.configuration.config.display_null_as===WidgetCH.SeriesDisplayNullsAs.Zero&&(t=t.map(function(e){return null===e?0:e})),m&&(t=t.map(function(e,t){t=m[t];return e.unshift(t?moment(t).valueOf():null),e})),e=$.extend({},e,{data:t}),v=(v+1)%y,e}):(g=k.length,b=h,function(e){var t=Utils.createArray(g,null);return b&&(t=t.map(function(e,t){t=b[t];return[t?moment(t).valueOf():null,e]})),$.extend({},e,{data:t})})),T={series:D=D.map(j),categories:k};return T=1===i.length&&Utils.isDateType(i[0].type)?l(T.series,T.categories):T},transpose:function(e){for(var t=[],a=Array.isArray(e[0])?e[0].length:0,o=e.length,i=0;i<a;i++){t[i]=[];for(var n=[],r=0;r<o;r++)n.push(e[r][i][0]);t[i]=n}return[t]},getSeriesConfiguration:function(e){return e&&this.p.data_points&&this.p.data_points.length?this.p.data_points[0]:null},_getHighchartsYAxis:function(e){var t,a,o=this;Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family),_defineProperty(a={opposite:!1,stacking:e.stacked?"normal":null,title:{text:e.title.enabled?e.title.text:"",rotation:e.title.rotation,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},labels:{enabled:e.labels.enabled,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}}},"opposite",e.opposite),_defineProperty(a,"lineColor",e.axis_line.color),_defineProperty(a,"lineWidth",e.axis_line.width),_defineProperty(a,"gridLineWidth",e.major_grid_lines.width),_defineProperty(a,"gridLineColor",e.major_grid_lines.color),_defineProperty(a,"minorGridLineWidth",e.minor_grid_lines.width),_defineProperty(a,"minorGridLineColor",e.minor_grid_lines.color),_defineProperty(a,"minorTickInterval","auto"),_defineProperty(a,"crosshair",o.p.interactions&&o.p.interactions.onhover&&o.p.interactions.onhover.display_crosshair||!1),_defineProperty(a,"tickColor",e.ticks),_defineProperty(a,"tickWidth","transparent"!==e.ticks?1:0),_defineProperty(a,"tickLength",5),_defineProperty(a,"alternateGridColor",e.bands),_defineProperty(a,"type",e.scale.type),_defineProperty(a,"reversed",e.scale.reverse);return e.labels.format&&(a.labels.formatter=function(){return Utils.formatValue(this.value,e.labels.format)}),o._Data.scaleFormulaResults&&((t=o._Data.scaleFormulaResults[0])&&null!==t.max_result&&$.isNumeric(t.max_result.value)&&(a.max=t.max_result.value),t&&null!==t.min_result&&$.isNumeric(t.min_result.value)&&("logarithmic"===e.scale.type?a.min=Math.max(t.min_result.value,1):a.min=t.min_result.value)),o._Data.intervalFormulaResult&&(t=o._Data.intervalFormulaResult[0])&&$.isNumeric(t.value)&&0<t.value&&(a.tickInterval=t.value),ChartUtils.applyPlotOptions(this,a,"vertical"),a},_getHighchartsXAxis:function(t,e,a){var o=this,i=(Utils.FontUtils.loadFont(a.title.font.family),Utils.FontUtils.loadFont(a.labels.font.family),1===t.length?t[0].type:null),n=1===t.length?t[0].original_type:null,r={type:"datetime",title:{text:a.title.enabled?Utils.pickNonEmptyString(a.title.text,this.getXAxisDefaultTitle()):"",align:a.title.align,style:{fontFamily:a.title.font.family,fontSize:"".concat(a.title.font.size,"px"),textShadow:a.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(a.title.font.family,a.title.font.font_weight),fontStyle:a.title.font.italic?"italic":"",textDecoration:a.title.font.underline?"underline":"",color:a.title.font.color}},lineColor:a.axis_line.color,lineWidth:a.axis_line.width,gridLineWidth:a.major_grid_lines.width,gridLineColor:a.major_grid_lines.color,opposite:a.opposite,gridZIndex:2,minorGridLineWidth:a.minor_grid_lines.width,minorGridLineColor:a.minor_grid_lines.color,events:{afterSetExtremes:function(){var e,t,a;ChartUtils.handleToolbarZoom(this.eventArgs,o.container),this.chart.rangeSelector&&(e=o.getYTDIndex(),t=this.chart.rangeSelector.buttons,(a=this.getExtremes())&&(o.selectedstartdate=a.min?moment.utc(a.min):null,o.selectedenddate=a.max?moment.utc(a.max):null),!this._canUseYTD&&e<t.length&&setTimeout(function(){o._YtdHoveringEventSet=!1,o.setYTDOptionState()},200))}},labels:{enabled:a.labels.enabled,rotation:a.labels.rotation,step:a.labels.step,style:{fontFamily:a.labels.font.family,fontSize:"".concat(a.labels.font.size,"px"),textShadow:a.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(a.labels.font.family,a.labels.font.font_weight),fontStyle:a.labels.font.italic?"italic":"",textDecoration:a.labels.font.underline?"underline":"",color:a.labels.font.color}}};return r.labels.formatter=function(){var e=this.value;return a.labels.format&&a.labels.format.Properties||(a.labels.format=ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date)),"date"===n?e=moment.utc(e).format("YYYY-MM-DD"):"datetime"===n&&(e=moment.utc(e).format("YYYY-MM-DD HH:mm:ss")),WidgetsCommon.getFormattedAxisLabel(e,a.labels.format,t&&0<t.length?t[0].groupings:[],!0,i,n)},0<a.labels.interval&&(r.tickInterval=864e5*a.labels.interval),ChartUtils.applyPlotOptions(this,r,"horizontal"),r},_getHighchartsSeries:function(r,l,s){var d=this,o=function(){var o=this.p.y_axis,i=this.isCustomDataMode();return function(e){if(i)return 0;for(var t=0,a=0;a<o.length;a++){if(o[a]===e)return t;o[a]&&t++}return t}}.bind(this)(),e=l.map(function(i){var n=i.configuration.config,e=i.yAxis,t=$.extend(!0,{},getSerieLabelAlignmentFromRotation(n.type,n.labels.rotation),ChartUtils.getSeriesLabelPosition(n.type,n.labels.position,n.labels.rotation,e)),a=function(e){switch(e.type){case"candlestick":return{borderWidth:(e=e.candlestick).border.width,borderColor:e.border.color,borderRadius:e.roundness,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:e.negative_values.enabled?e.negative_values.fill_color:null};case"ohlc":return{borderWidth:(e=e.ohlc).border.width,borderColor:e.border.color,borderRadius:e.roundness,shadow:{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:e.shadow.opacity,width:e.shadow.radius},negativeColor:e.negative_values.enabled?e.negative_values.fill_color:null}}}(n);return $.extend({connectNulls:!!n.display_null_as&&n.display_null_as===WidgetCH.SeriesDisplayNullsAs.Connect||!1,dataGrouping:{enabled:!1},visible:!i.value||!i.value.binding||!i.value.binding.hidden,showInLegend:!i.value||!i.value.binding||!i.value.binding.hidden,showInNavigator:!i.value||!i.value.binding||!i.value.binding.hidden,name:n.name||i.name,data:i.data,type:n.type,yAxis:0,stacking:e.stacked?e.stacked_100?"percent":"normal":null,stack:e.stacked?o(i.yAxis):null,threshold:e.scale.threshold,point:{events:{click:function(e){d.updateOutputFromPoint(e.point);var t=this.index,a=i,o=d.p.interactions.onseriesdblclick;if(l.hasBeenClicked&&o){switch(o.type){case"url":DashboardUtils.handleUrlInteraction(d.dashboard,d,o);break;case"dashboard":d.handleDashboardInteraction(o);break;case"data":Array.isArray(d.p.data_bindings)&&d.p.data_bindings.length&&d.dashboard&&d._displayRowData(t,r,s,a)}l.hasBeenClicked=!1}else l.hasBeenClicked=!0,setTimeout(function(){l.hasBeenClicked=!1},200)}}},userData:{seriesConfig:n,yAxisConfig:e},dataLabels:{enabled:n.labels.enabled,rotation:n.labels.rotation,align:t.align,y:t.y||0,x:t.x||0,verticalAlign:t.verticalAlign,inside:t.inside,style:{fontFamily:n.labels.font.family,fontSize:"".concat(n.labels.font.size,"px"),textShadow:n.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(n.labels.font.family,n.labels.font.font_weight),fontStyle:n.labels.font.italic?"italic":"",textDecoration:n.labels.font.underline?"underline":"",color:n.labels.font.color,textOutline:null},formatter:function(){var e=n.labels,t="",a=null,o=this.point;return e.show_high&&(a=o.high,t=Utils.formatValue(a,n.labels.format)),e.show_low&&(t&&(t+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a=o.low,t+=Utils.formatValue(a,n.labels.format)),e.show_open&&(t&&(t+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a=o.open,t+=Utils.formatValue(a,n.labels.format)),e.show_close&&(t&&(t+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),a=o.close,t+=Utils.formatValue(a,n.labels.format)),t}}},a,d.getSeriesTypeOptions(n.type,n.subtype,n.step))});return e.sort(function(e,t){return e.stack-t.stack}),e},getDefaultSeriesConfiguration:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t=this.getSeriesCombinaisons().filter(function(e){return"all"===e.value.aggregation})[0],t=this.getSeriesConfiguration(t),t=t?t.config:{};return e?$.extend(!0,{},DC2_SERIES_DEFAULT,this.getSeriesTypeOptions(this.p.type),t,this.getWidgetStyleConfig().default_series_style):$.extend(!0,{},DC2_SERIES_DEFAULT,this.getWidgetStyleConfig().default_series_style,this.getSeriesTypeOptions(this.p.type),t)},getSeriesTypeOptions:function(e){return{type:e}},getAvailableChartTypes:function(){return[{label:_("CandlestickChartLabel"),value:"candlestick",image:"/Dashboard/Images/WidgetProperties/widget-type-candleStick.png"},{label:_("OhlcChartLabel"),value:"ohlc",image:"/Dashboard/Images/WidgetProperties/widget-type-ohlc.png"}]},renderPropertiesTab:function(e){var t=this,a=e.ui.content,o=this.update.bind(this);e.addLargeDropdown({container:a,id:"properties_chart_type",dataprovider:this.getAvailableChartTypes(),object:this.p,property:"type",callback:function(){t.p.data_points.forEach(function(e){e.config.type=t.p.type}),o()}});a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){e.settings.Data._isDirty=!0,t.p.data.mode=$(this).val(),t.setSortFilterTabState(),t.p.sort_filter.sorts=[],t.p.sort_filter.top_bottom.enabled=!1,t.p.sort_filter.top_bottom.column=null,t.p.sort_filter.filters=[],t.update()})},getDefaultYAxisConfiguration:function(){var e=this.dashboard||this._from.dashboard;return this.updatePropertiesWithDashboardDefault(WidgetCH.DefaultYAxisProperties,e),$.extend(!0,{},WidgetCH.DefaultYAxisProperties,{scale:{type:"linear",max:null,min:150,interval:null,threshold:0,reverse:!1}},this.getWidgetStyleConfig().default_y_axis_style)},renderDataCustomTable:function(e){var t=this,i=this,a=this.update.bind(this),o=(e.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),e.ui.addClass("dc4CustomTable"),new Settings.Data.CustomTable(e));o.getDefaultColumnName=function(){return _("Column")},o.templates.column_header="<td><span>{{ name }}</span></td>",o.numberOfColumns=function(){return i._Data.values.length+1},o.loadData=function(){for(var e=i._Data||i._from._Data,t=0;t<e.rows.length;t++)this.addColumn(e.rows[t].name,{columnIndex:t});for(var a=0;a<e.values.length;a++)this.addColumn(e.values[a].name,{columnIndex:a+e.rows.length});for(var o=1;o<this._data.length;o++)this.addRow(this._data[o])},o.cellValueFormat=function(e,t){e=$(e).val();return t?parseFloat(e):e},o.render({object:this.p.data,property:"custom",fixed_columns:!0,callback:function(){t.resetSortAndFilters(),a()}}),this.data_destroy_callback=function(){o.destroy()}},renderDataBindings:function(e){var o=this,t=(e.ui.removeClass("dc4CustomTable"),new Settings.Data.Bindings(e));t.templates.area_date_column='            <li class="area-column" data-column-id="{{ id }}">                <span class="title" title="{{col_name}}">{{ name }}</span>                <div class="buttons">                    <button type="button" class="edit"><i class="far fa-edit"></i></button>                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                </div>            </li>',t.getAreaColumnTemplateItemData=function(t,e){var a;t.area===Enums.WidgetAreas.Values&&(a=Utils.arrayFirstIndex(o.p.y_axis,function(e){return e&&e.bindings&&-1!==e.bindings.indexOf(t.guid)}),e.axis_picker_label=o.getYAxisLabelFromIndex(a))},t.area_column_limits[Enums.WidgetAreas.Rows]=1,t.area_column_limits[Enums.WidgetAreas.Open]=1,t.area_column_limits[Enums.WidgetAreas.Close]=1,t.area_column_limits[Enums.WidgetAreas.High]=1,t.area_column_limits[Enums.WidgetAreas.Low]=1,t.render([{name:_("Dates"),placeholder:_("DropDates"),area:Enums.WidgetAreas.Rows,height_ratio:.2,data_types:Enums._DateDataTypes},{name:_("CandlestickOpen"),placeholder:_("DropOpen"),area:Enums.WidgetAreas.Open,height_ratio:.2},{name:_("CandlestickHigh"),placeholder:_("DropHigh"),area:Enums.WidgetAreas.High,height_ratio:.2},{name:_("CandlestickLow"),placeholder:_("DropLow"),area:Enums.WidgetAreas.Low,height_ratio:.2},{name:_("CandlestickClose"),placeholder:_("DropClose"),area:Enums.WidgetAreas.Close,height_ratio:.2}]),t.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var e=$(this).closest(".area-column");return t.toggleAxisPopup(e),!1}),t.on("bindingAdded",function(e){var t;-1!==[Enums.WidgetAreas.Open,Enums.WidgetAreas.Close,Enums.WidgetAreas.High,Enums.WidgetAreas.Low].indexOf(e.area)&&(o.p.y_axis[0]||(t=o.getDefaultYAxisConfiguration(),o.p.y_axis[0]=t),o.p.y_axis[0].bindings.push(e.guid))}),t.on("bindingCleared",function(){this.p.time_controls.time_slider.serie_index=0,this.p.sort_filter.top_bottom.column=null,this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]}.bind(this)),this.data_destroy_callback=function(){t.destroy()}},getFormatTabs:function(){var e=this,t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t.push({icon:function(){return"chart-{0}-y-axis.png".format(this.p.type)}.bind(this),text:_("Vertical"),code:"yaxis",renderer:this.getYAxisProperties.bind(this)}),t.push({icon:function(){return"chart-{0}-x-axis.png".format(this.p.type)}.bind(this),text:_("Horizontal"),code:"xaxis",renderer:this.getXAxisProperties.bind(this)}),t.push({icon:function(){return"chart-{0}-series.png".format(this.p.type)}.bind(this),text:function(){return _("WidgetSeries_".concat(e.p.type))},code:"series",renderer:this.getSeriesProperties.bind(this)}),t.push({icon:"time-slider-char-time-controls.png",text:_("TimeControls"),code:"timecontrols",renderer:this.getTimeControlsProperties.bind(this)}),ChartUtils.addPlotProperties.call(this,t),t},getLegendProperties:function(e){var t=this.render.bind(this),a=e.addSection();e.content.append(a),e.addBoolean({section:a,label:_("ShowLegend"),object:this.p.legend,property:"enabled",callback:t}),e.addSeparator({container:a}),e.addFont({container:a,object:this.p.legend,property:"font",callback:t}),e.addSeparator({container:a}),e.addToggleButtons({container:a,label:_("Position"),object:this.p.legend,property:"position",callback:t,buttons:[{image:"legend-position-top.png",value:"top"},{image:"legend-position-right.png",value:"right"},{image:"legend-position-bottom.png",value:"bottom"},{image:"legend-position-left.png",value:"left"}]}),e.addSeparator({container:a}),e.addColor({container:a,label:_("BackgroundColor"),object:this.p.legend,property:"background_color",callback:t}),e.addSeparator({container:a}),e.addBorder({container:a,object:this.p.legend,property:"border",callback:t,dropDown:!1}),e.addSeparator({container:a}),e.addSlider({label:_("RoundedCorners"),container:a,object:this.p.legend,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator({container:a})},getSeriesCombinaisons:function(){var e,t=[],a={value:{column_id:-99,aggregation:"all",name:_("AllSeries"),hidden:!0},columns:[]},o=(t.push(a),_createForOfIteratorHelper(this._Data.columnHeaders));try{for(o.s();!(e=o.n()).done;){var i=e.value;t.push({value:{column_id:i.id,aggregation:i.aggregation,name:i.name,is_unique_per_category:!0},columns:[]})}}catch(e){o.e(e)}finally{o.f()}return t},getSeriesProperties:function(e){var t,a,o,i,n,r,l=this,s=this.render.bind(this);this._Data&&(t=this.p.data_points[0].config,a=e.addSection(),e.addBoolean({section:a,label:_("ShowValueLabels"),object:t.labels,property:"enabled",callback:s.bind(this,"labels.enabled")}),e.addBoolean({container:a,label:_("DisplayHigh"),object:t.labels,property:"show_high",callback:s.bind(this,"labels.show_high")}),e.addBoolean({container:a,label:_("DisplayLow"),object:t.labels,property:"show_low",callback:s.bind(this,"labels.show_low")}),e.addBoolean({container:a,label:_("DisplayOpen"),object:t.labels,property:"show_open",callback:s.bind(this,"labels.show_open")}),e.addBoolean({container:a,label:_("DisplayClose"),object:t.labels,property:"show_close",callback:s.bind(this,"labels.show_close")}),e.addFont({container:a,object:t.labels,property:"font",callback:s.bind(this,"labels.font")}),this._renderSeriesLabelsPosition(e,a,t,s),e.addToggleButtons({container:a,label:_("Rotation"),object:t.labels,property:"rotation",numeric:!0,callback:s.bind(this,"labels.rotation"),buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),e.addFormat({container:a,label:_("Format"),object:t.labels,property:"format",callback:s.bind(this,"labels.format")}),e.addSeparator(),e.addDropdown({label:_("SerieType"),label_class:"large-40",object:t,property:"type",callback:function(){r(),s()},combobox:{inputTemplate:'<span class="imageResize" href="javascript:void(0);"><div class="img" style="background-image: url({{ image }});"></div>{{label}}</span>',liTemplate:'<li><a href="javascript:void(0);"><label><div class="img" style="background-image: url({{ image }});"></div></i><span>{{label}}</span></label></a></li>',containerClasses:"ddl-large",dataprovider:this.getAvailableChartTypes()}}),e.addText({label:_("Name"),placeholder:_("NamePlaceholder"),object:t,property:"name",callback:s,event:"focusout"}),o=e.addSection(),i=e.addSection().appendTo(o),n=function(){i.empty(),l.p.series_style.border.width&&e.addColor({container:i,object:l.p.series_style,classes:"margin",label:_("UpLineColor"),property:"up_line_color",callback:s})},r=function(){o.empty(),l.p.customize_series&&(l.p.series_style||(l.p.series_style={color:"",up_color:"",border:{width:1,color:"#cccccc"},up_line_color:"#cccccc"}),"candlestick"===t.type?(e.addColor({container:o,object:l.p.series_style,label:_("Color"),property:"color",callback:s}),e.addColor({container:o,object:l.p.series_style,label:_("UpCandleColor"),property:"up_color",callback:s}),e.addBorder({container:o,object:l.p.series_style,label:_("Lines"),label_color:_("Color"),property:"border",callback:function(){n(),s()}}),i=e.addSection().appendTo(o),n()):"ohlc"==t.type&&(i.empty(),e.addColor({container:o,object:l.p.series_style,label:_("Color"),property:"color",callback:s}),e.addColor({container:o,object:l.p.series_style,label:_("UpColor"),property:"up_color",callback:s}),e.addWidth({container:o,object:l.p.series_style.border,label:_("Lines"),label_color:_("Color"),property:"width",callback:s})))},e.addBoolean({section:o,label:_("Customize"),object:this.p,property:"customize_series",callback:r}),r(),e.addSeparator())},getTooltipMacro:function(){return[["{{this.point.high}}",_("CandlestickHigh")],["{{this.point.low}}",_("CandlestickLow")],["{{this.point.open}}",_("CandlestickOpen")],["{{this.point.close}}",_("CandlestickClose")],["{{this.point.date}}",_("Date")],["{{this.series.name}}",_("SeriesName")]]},getYAxisProperties:function(e){var t=this,a=this.render.bind(this),o=t.p.y_axis[0],i=e.addSection(),i=(e.addBoolean({section:i,label:_("ShowTitle"),object:o.title,property:"enabled",callback:a}),e.addText({container:i,label:_("AxisTitle"),placeholder:t.getYAxisDefaultTitle(data.value),object:o.title,property:"text",callback:a,event:"focusout"}),e.addSection().appendTo(i)),i=(e.addFont({container:i,object:o.title,property:"font",callback:a}),e.addToggleButtons({container:i,label:_("Rotation"),object:o.title,property:"rotation",callback:a,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),e.addSeparator(),e.addSection()),i=(e.addBoolean({section:i,label:_("ShowAxisLabels"),object:o.labels,property:"enabled",callback:a}),e.addFont({container:i,object:o.labels,property:"font",callback:a}),e.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:o.labels,property:"step",callback:a}),e.addFormat({container:i,label:_("Format"),object:o.labels,property:"format",callback:a}),e.addSeparator(),e.addDropdown({section:void 0,label:_("AxisScale"),object:o.scale,property:"type",callback:a,combobox:{dataprovider:[{label:_("Linear"),value:"linear"},{label:_("Logarithmic"),value:"logarithmic"}]}}),e.addSection().appendTo(e.content));e.addFormulaInput({widget:t,container:i,dashboard:t.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:o.scale,property:"max",callback:t.tryUpdate.bind(t)}),e.addFormulaInput({widget:t,container:i,dashboard:t.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:o.scale,property:"min",callback:t.tryUpdate.bind(t)}),e.addFormulaInput({widget:t,container:i,dashboard:t.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:o.scale,property:"interval",callback:t.tryUpdate.bind(t)}),e.addNumber({container:i,label:_("Threshold"),object:o.scale,property:"threshold",callback:a}),e.addBoolean({container:i,label:_("Reverse"),object:o.scale,property:"reverse",callback:a}),e.addSeparator(),e.addBorder({dropDown:!1,label:_("AxisLine"),label_color:_("Color"),object:o,property:"axis_line",color:!0,callback:a}),e.addColor({dropDown:!1,label:_("Ticks"),object:o,property:"ticks",callback:a}),e.addSeparator(),e.addBorder({dropDown:!1,label:_("MajorGridLines"),label_color:_("LineColor"),object:o,property:"major_grid_lines",callback:a}),e.addColor({dropDown:!1,label:_("Bands"),object:o,property:"bands",callback:a}),e.addSeparator(),e.addBorder({dropDown:!1,label:_("MinorGridLines"),label_color:_("LineColor"),object:o,property:"minor_grid_lines",callback:a}),e.addSeparator(),e.addBoolean({label:_("OppositePosition"),object:o,property:"opposite",callback:a}),e.addSeparator()},getXAxisProperties:function(e){var t=this.render.bind(this),a=this.p.x_axis,o=e.addSection(),o=(e.addBoolean({section:o,label:_("ShowTitle"),object:a.title,property:"enabled",callback:t}),e.addText({container:o,label:_("AxisTitle"),placeholder:this.getXAxisDefaultTitle(),object:a.title,property:"text",callback:t,event:"focusout"}),e.addSection().appendTo(o)),o=(e.addFont({container:o,object:a.title,property:"font",callback:t}),e.addToggleButtons({container:o,label:_("HorizontalAlign"),object:a.title,property:"align",callback:t,buttons:[{icon:"fa-align-left",value:"low"},{icon:"fa-align-center",value:"middle"},{icon:"fa-align-right",value:"high"}]}),e.addSeparator(),e.addSection());e.addBoolean({section:o,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:t}),e.addFont({container:o,object:a.labels,property:"font",callback:t}),e.addToggleButtons({container:o,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:t,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),e.addNumber({container:o,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:t}),e.addFormat({container:o,label:_("Format"),object:a.labels,property:"format",dataTypes:[Enums.ClicFormat.DataType.Date,Enums.ClicFormat.DataType.Time,Enums.ClicFormat.DataType.DateTime],callback:t}),e.addNumber({container:o,label:_("Interval"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"interval",callback:t,min:0}),e.addSeparator(),e.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:t}),e.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:t}),e.addSeparator(),e.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:t}),e.addSeparator(),e.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:t}),e.addSeparator()},renderInteractionsTab:function(e){var t=this,a=this.render.bind(this),o=(e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"onseriesdblclick",label:_("InteractionType_OnSeriesDblClick"),parameters:!0,items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}],onChange:function(){t.refreshAllowExport(e)}}),$('<div class="allow-export-div"></div>'));e.ui.append(o),this.refreshAllowExport(e),e.settings.Format.addSeparator({container:e.ui}),e.settings.Format.addBoolean({container:e.ui,label:_("Interaction_AllowZoom"),object:this.p.interactions,property:"allow_zoom",callback:function(){t.updateToolbar(),a()}}),this.renderToolbarProperties(e)}})});
//# sourceMappingURL=DC4-ohlc-chart.js.map

var _excluded=["configuration"],_excluded2=["configuration"];function _objectWithoutProperties(t,e){if(null==t)return{};var o,a=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(t),r=0;r<n.length;r++)o=n[r],0<=e.indexOf(o)||Object.prototype.propertyIsEnumerable.call(t,o)&&(a[o]=t[o]);return a}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var o,a={},n=Object.keys(t),r=0;r<n.length;r++)o=n[r],0<=e.indexOf(o)||(a[o]=t[o]);return a}function _createForOfIteratorHelper(t,e){var o,a,n,r,s="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(s)return a=!(o=!0),{s:function(){s=s.call(t)},n:function(){var t=s.next();return o=t.done,t},e:function(t){a=!0,n=t},f:function(){try{o||null==s.return||s.return()}finally{if(a)throw n}}};if(Array.isArray(t)||(s=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return s&&(t=s),r=0,{s:e=function(){},n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var o;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(o="Object"===(o=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,a=new Array(e);o<e;o++)a[o]=t[o];return a}Widget.createType({id:"DS1",options:{min_width:150,max_height:150,min_height:70,height:70,width:410,formula_input:["bottom_buttons.configuration.custom_periods.value_formula","top_buttons.configuration.custom_periods.value_formula","bottom_buttons.configuration.default_value_formula","top_buttons.configuration.default_value_formula"],formula_output:["selectedtopvalue","selectedbottomvalue","selectedtopvalues","selectedbottomvalues","selectedtoplabel","selectedbottomlabel","selectedtoplabels","selectedbottomlabels"],hasStyleProperty:!0,layer:!0},properties:{bottom_buttons:{background_color:"rgba(255, 255, 255, 1)",configuration:{custom_periods:[],default_value_formula:"",month_display_type:Enums.PeriodButtonMonthDisplayType.FirstThreeLetters,multiple_selection:!0,number_of_periods:5,period:Enums.PeriodButtonType.Month,quarter_prefix:"Q",semester_prefix:"S",starts_at:2020,trimester_prefix:"T"},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},selected_state_background_color:"rgba(156,166,166,1)",selected_state_font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},container:{background_color:"rgba(255, 255, 255, 1)",background_gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},gridlines:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},data:{mode:"formula"},top_buttons:{background_color:"rgba(255, 255, 255, 1)",configuration:{custom_periods:[],default_value_formula:"",month_display_type:Enums.PeriodButtonMonthDisplayType.FirstThreeLetters,multiple_selection:!0,number_of_periods:5,period:Enums.PeriodButtonType.Year,quarter_prefix:"Q",semester_prefix:"S",starts_at:2020,trimester_prefix:"T"},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},selected_state_background_color:"rgba(156,166,166,1)",selected_state_font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},tooltip:{display:!1,content:"",background:{color:"#fff2cc",border:{width:0,color:"#cccccc"},roundness:0}}},prototype:{init:function(){this.bindEvents(),this.tryUpdate()},_reDraw:function(){this._rendered=!1,this.render()},render:function(){this._rendered||(this._rendered=!0,this.ui.empty(),this.renderButtons(),this._updateSelection(),this.setFormulaOutputs(),this.updateState()),this._loaded&&this._updateSelection(),this.updateStyle(),this._loaded=!0},renderButtons:function(){var t=$('<div class="topContainer"></div>'),e="none"!==this.p.bottom_buttons.configuration.period?$('<div class="bottomContainer">'):"";this.ui.append(t),this.getButtons(this.p.top_buttons.configuration,t),e&&(this.ui.append(e),this.getButtons(this.p.bottom_buttons.configuration,e))},getButtons:function(t,e){switch(t.period){case Enums.PeriodButtonType.Year:for(var o=0;o<t.number_of_periods;o++){var a=$('<div class="ds1Cell"><span>'.concat(t.starts_at+o,"</span></div>")).data("cellValue",t.starts_at+o);e.append(a)}break;case Enums.PeriodButtonType.Month:for(var n={Properties:{__type:"ClicFormatDateProperties:#Infinis",DateSeparator:Enums.ClicFormat.DateSeparator.Dash,DateSequence:Enums.ClicFormat.DateSequence.MonthDayYear,DayFormat:Enums.ClicFormat.DayFormat.None,MonthFormat:this.getMonthFormat(t),YearFormat:Enums.ClicFormat.YearFormat.None},Type:Enums.ClicFormat.DataType.Date},r=1;r<=12;r++){var s=(r<10?"0":"").concat(r),s=ClicFormatCore.format("".concat(s,"/01/2021"),n,{}),s="".concat(s.substr(0,1).toUpperCase()).concat(s.substr(1)),s=(t.month_display_type===Enums.PeriodButtonMonthDisplayType.FirstLetter&&(s=s.substring(0,1)),t.month_display_type===Enums.PeriodButtonMonthDisplayType.FirstTwoLetters&&(s=s.substring(0,2)),t.month_display_type===Enums.PeriodButtonMonthDisplayType.FirstThreeLetters&&(s=s.substring(0,3)),$('<div class="ds1Cell"><span>'.concat(s,"</span></div>")).data("cellValue",r));e.append(s)}break;case Enums.PeriodButtonType.Quarter:for(var i=1;i<=4;i++){var l=$('<div class="ds1Cell"><span>'.concat(t.quarter_prefix).concat(i,"</span></div>")).data("cellValue",i);e.append(l)}break;case Enums.PeriodButtonType.Trimester:for(var c=1;c<=3;c++){var d=$('<div class="ds1Cell"><span>'.concat(t.trimester_prefix).concat(c,"</span></div>")).data("cellValue",c);e.append(d)}break;case Enums.PeriodButtonType.Semester:for(var u=1;u<=2;u++){var p=$('<div class="ds1Cell"><span>'.concat(t.semester_prefix).concat(u,"</span></div>")).data("cellValue",u);e.append(p)}break;case Enums.PeriodButtonType.Custom:var h,b=_createForOfIteratorHelper(t.custom_periods);try{for(b.s();!(h=b.n()).done;){var m,f=h.value;f&&f.label&&(m=$('<div class="ds1Cell"><span>'.concat(f.label,"</span></div>")).data("cellValue",f.formula_result),e.append(m))}}catch(t){b.e(t)}finally{b.f()}break;default:return!1}},getMonthFormat:function(t){switch(t.month_display_type){case Enums.PeriodButtonMonthDisplayType.Number:return Enums.ClicFormat.MonthFormat.OneDigit;case Enums.PeriodButtonMonthDisplayType.FirstLetter:case Enums.PeriodButtonMonthDisplayType.FirstTwoLetters:case Enums.PeriodButtonMonthDisplayType.FirstThreeLetters:return Enums.ClicFormat.MonthFormat.ThreeLetters}},customTooltipContent:function(){return this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content||""},updateStyle:function(){var t=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),t=(this.container.css({border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.p.container.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color,"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":"none"!==t?t:"none"}),0!==$(".bottomContainer",this.ui).length&&$(".topContainer",this.ui).css({"border-bottom":"".concat(this.p.container.gridlines.width,"px solid ").concat(this.p.container.gridlines.color)}),$(".ds1Cell",this.ui).css({"border-right":"".concat(this.p.container.gridlines.width,"px solid ").concat(this.p.container.gridlines.color)}),this.p.top_buttons),t=(Utils.FontUtils.loadFont(t.font.family),Utils.FontUtils.loadFont(t.selected_state_font.family),this.p.bottom_buttons);Utils.FontUtils.loadFont(t.font.family),Utils.FontUtils.loadFont(t.selected_state_font.family),this.injectButtonsCSS(),this.setUpWidgetTooltip()},injectButtonsCSS:function(){var t={},e=this.p.top_buttons,o=this.p.bottom_buttons;this.getButtonCSSConfig(t,"topContainer",e),this.getButtonCSSConfig(t,"bottomContainer",o),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},getButtonCSSConfig:function(t,e,o){t[".".concat(e," .ds1Cell")]="background-color: ".concat(o.background_color,";\n      text-shadow: ").concat(o.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";\n      text-decoration: ").concat(o.font.underline?"underline":"none",";\n      text-align: ").concat(o.font.halig,";\n      color: ").concat(o.font.color,";\n      font-size: ").concat(o.font.size,"px;\n      font-family: ").concat(o.font.family,";\n      font-weight: ").concat(Utils.FontUtils.getFontWeight(o.font.family,o.font.font_weight),";\n      font-style: ").concat(o.font.italic?"italic":"normal",";"),t[".".concat(e," .ds1Cell:hover")]="background-color: ".concat(o.selected_state_background_color,";\n      text-shadow: ").concat(o.selected_state_font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";\n      text-decoration: ").concat(o.selected_state_font.underline?"underline":"none",";\n      text-align: ").concat(o.selected_state_font.halig,";\n      color: ").concat(o.selected_state_font.color,";\n      font-size: ").concat(o.selected_state_font.size,"px;\n      font-family: ").concat(o.selected_state_font.family,";\n      font-weight: ").concat(Utils.FontUtils.getFontWeight(o.selected_state_font.family,o.selected_state_font.font_weight),";\n      font-style: ").concat(o.selected_state_font.italic?"italic":"normal",";"),t[".".concat(e," .ds1Cell.selected")]="background-color: ".concat(o.selected_state_background_color,";\n      text-shadow: ").concat(o.selected_state_font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";\n      text-decoration: ").concat(o.selected_state_font.underline?"underline":"none",";\n      text-align: ").concat(o.selected_state_font.halig,";\n      color: ").concat(o.selected_state_font.color,";\n      font-size: ").concat(o.selected_state_font.size,"px;\n      font-family: ").concat(o.selected_state_font.family,";\n      font-weight: ").concat(Utils.FontUtils.getFontWeight(o.selected_state_font.family,o.selected_state_font.font_weight),";\n      font-style: ").concat(o.selected_state_font.italic?"italic":"normal",";")},getBackgroundValue:function(){return this.p.container.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color},bindEvents:function(){var t=this;this._eventsBound||(this.createProperty("selectedtopvalue"),this.createProperty("selectedtopvalues"),this.createProperty("selectedtoplabel"),this.createProperty("selectedtoplabels"),this.createProperty("selectedbottomvalue"),this.createProperty("selectedbottomvalues"),this.createProperty("selectedbottomlabel"),this.createProperty("selectedbottomlabels"),this.on("fontchanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t._reDraw()}),this.on("colorschanged",function(){t.updateStyle()}),this.on("stylechanged",function(){t.updateStyle()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindUiEvents(),this._eventsBound=!0)},bindUiEvents:function(){var a=this;this._eventsBound||this.ui.on("click",".ds1Cell",function(t){var t=$(t.target).closest(".ds1Cell"),e=0<t.closest(".topContainer").length,o=t.hasClass("selected");e?a.p.top_buttons.configuration.multiple_selection||$(".topContainer .ds1Cell.selected",a.ui).removeClass("selected"):a.p.bottom_buttons.configuration.multiple_selection||$(".bottomContainer .ds1Cell.selected",a.ui).removeClass("selected"),t.toggleClass("selected",!o),a.setFormulaOutputs(e,!0)})},setFormulaOutputs:function(t,e){var o=$(".topContainer .selected",this.ui),a=$(".bottomContainer .selected",this.ui),n=o.map(function(t,e){return $(e).data("cellValue")||null}),o=o.map(function(t,e){e=$(e);return $("span",e).text()||null}),r=a.map(function(t,e){return $(e).data("cellValue")||null}),a=a.map(function(t,e){e=$(e);return $("span",e).text()||null});!t&&void 0!==t||(this.selectedtopvalue=n.length&&n[0]||null,this.selectedtopvalues=n.length&&n.toArray()||[],this.selectedtoplabel=o.length&&o[0]||null,this.selectedtoplabels=o.length&&o.toArray()||[]),t&&void 0!==t||(this.selectedbottomvalue=r.length&&r[0]||null,this.selectedbottomvalues=r.length&&r.toArray()||[],this.selectedbottomlabel=a.length&&a[0]||null,this.selectedbottomlabels=a.length&&a.toArray()||[]),e&&(this.selectedTopValue=JSON.parse(JSON.stringify(this.selectedtopvalues)),this.selectedBottomValue=JSON.parse(JSON.stringify(this.selectedbottomvalues)),this.updateState())},refreshFromDataDependency:function(t,e){var o=!1;if(this.p.top_buttons.configuration.period===Enums.PeriodButtonType.Custom){var a,n=_createForOfIteratorHelper(this.p.top_buttons.configuration.custom_periods);try{for(n.s();!(a=n.n()).done;){var r=a.value;if(o=r.value_formula?DashboardUtils.checkFormulaDataCloneDependency(r.value_formula,e):o)return this.tryUpdate(),!0}}catch(t){n.e(t)}finally{n.f()}}if(this.p.bottom_buttons.configuration.period===Enums.PeriodButtonType.Custom){var s,i=_createForOfIteratorHelper(this.p.bottom_buttons.configuration.custom_periods);try{for(i.s();!(s=i.n()).done;){var l=s.value;if(o=l.value_formula?DashboardUtils.checkFormulaDataCloneDependency(l.value_formula,e):o)return this.tryUpdate(),!0}}catch(t){i.e(t)}finally{i.f()}}},updateService:"Formulas",_updateFormulaModeData:function(){var e=[];if(!this.p.top_buttons.configuration.default_value_formula&&!this.p.bottom_buttons.configuration.default_value_formula&&this.p.top_buttons.configuration.period!==Enums.PeriodButtonType.Custom&&this.p.bottom_buttons.configuration.period!==Enums.PeriodButtonType.Custom)return this._reDraw(),this.loaded=!0;this.traverseFormulaInput(function(t){e.push(t)},!0),this._currentUpdateDataWSCall=WS.post("FormulaEditor/Resolve/".concat(this.guid),{DashboardRecId:(this._from||this).dashboard.id,Formulas:e,FilterDependencies:this.getDashboardFiltersDependencies(),Dependencies:this.getDependenciesValues(),FormulasDependencies:this.getFormulasDependenciesValues(),ParametersDependencies:this.getParametersDependencies()},{context:this}).done(function(t){var e;this.loading=!1,t.Success?(this.updateServiceSuccess&&this.updateServiceSuccess(t.Result),this.trigger("updatedatasuccess")):(e=Utils.getWidgetErrorMessage(t),this.error=null!==e?e:t.error_details,this.updateServiceError&&this.updateServiceError(),this.trigger("updatedataerror"))})},resetSelection:function(){this.selectedTopValue=null,this.selectedBottomValue=null},_updateSelection:function(){this.selectedTopValue||(this.selectedTopValue=void 0!==this._defaultTopValueFormulaResult?this._defaultTopValueFormulaResult:null),this.selectedBottomValue||(this.selectedBottomValue=void 0!==this._defaultBottomValueFormulaResult?this._defaultBottomValueFormulaResult:null);function t(t,e,o){var a,n=t,r=(Array.isArray(n)||(n=[n]),_createForOfIteratorHelper($(".ds1Cell",e).toArray()));try{for(r.s();!(a=r.n()).done;){var s=a.value,i=$(s).data("cellValue"),l=-1!==n.indexOf(i);if($(s).toggleClass("selected",l),!o.multiple_selection&&l)return}}catch(t){r.e(t)}finally{r.f()}}var e;this.selectedTopValue&&(e=this.p.top_buttons.configuration,t(this.selectedTopValue,$(".topContainer",this.ui),e)),this.selectedBottomValue&&(e=this.p.bottom_buttons.configuration,t(this.selectedBottomValue,$(".bottomContainer",this.ui),e))},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedTopValue:this.selectedTopValue,selectedBottomValue:this.selectedBottomValue,selectedtopvalue:this.selectedtopvalue,selectedbottomvalue:this.selectedbottomvalue,selectedtopvalues:this.selectedtopvalues,selectedbottomvalues:this.selectedbottomvalues,selectedtoplabel:this.selectedtoplabel,selectedbottomlabel:this.selectedbottomlabel,selectedtoplabels:this.selectedtoplabels,selectedbottomlabels:this.selectedbottomlabels})},resetState:function(t){this.selectedTopValue=t.selectedTopValue,this.selectedBottomValue=t.selectedBottomValue,this.selectedtopvalue=t.selectedtopvalue,this.selectedbottomvalue=t.selectedbottomvalue,this.selectedtopvalues=t.selectedtopvalues,this.selectedbottomvalues=t.selectedbottomvalues,this.selectedtoplabel=t.selectedtoplabel,this.selectedbottomlabel=t.selectedbottomlabel,this.selectedtoplabels=t.selectedtoplabels,this.selectedbottomlabels=t.selectedbottomlabels,this._updateSelection()},updateServiceSuccess:function(t){if(t&&t.length){var e,o=0,a=_createForOfIteratorHelper(this.p.bottom_buttons.configuration.custom_periods);try{for(a.s();!(e=a.n()).done;){var n=e.value;t.length>o&&(n.formula_result=t[o].value,n.formula_result_type=t[o].type),o++}}catch(t){a.e(t)}finally{a.f()}var r,s=_createForOfIteratorHelper(this.p.top_buttons.configuration.custom_periods);try{for(s.s();!(r=s.n()).done;){var i=r.value;t.length>o&&(i.formula_result=t[o].value,i.formula_result_type=t[o].type),o++}}catch(t){s.e(t)}finally{s.f()}this._defaultBottomValueFormulaResult=t[o]&&t[o].value,this._defaultTopValueFormulaResult=t[++o]&&t[o].value,o++}this._reDraw(),this.loaded=!0},updateServiceError:function(){this.error=!1,this._reDraw(),this.loaded=!0},renderDataTab:function(t){var n,a,e,o,r=this,s=this,i=t.ui,l=t.settings.Format,c=function(){r._reDraw()};t._rendered||(i.addClass("ds1DataContainer"),i.append('<nav class="left navigationTabs">\n                  <button type="button" panel="topBar" class="active">\n                    <div class="navIcon"><i class="fal fa-arrow-alt-to-top"></i></div><div class="navText"><p>'.concat(_("TopBar"),'</p></div>\n                  </button>\n                  <button type="button" panel="bottomBar">\n                    <div class="navIcon"><i class="fal fa-arrow-alt-to-bottom"></i></div><div class="navText"><p>').concat(_("BottomBar"),"</p></div>\n                  </button></nav>")),i.append('<div class="propertiesContainer"><div class="properties"></div></div>'),n=$(".propertiesContainer .properties",i),a=function(t){var e=$(".ds1DataSubContainer",n);switch(0===e.length&&(e=$('<div class="ds1DataSubContainer"></div>'),n.append(e)),e.empty(),t.period){case Enums.PeriodButtonType.Year:l.addNumber({callback:c,container:e,label:_("StartsAt"),object:t,property:"starts_at",step:1}),l.addDropdown({class:"ds1NumberOfPeriods",container:e,label:_("NumberOfPeriods"),object:t,property:"number_of_periods",combobox:{dataprovider:[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"},{value:4,label:"4"},{value:5,label:"5"}]},callback:c});break;case Enums.PeriodButtonType.Month:var o=Object.entries(Enums.PeriodButtonMonthDisplayType).map(function(t){return{label:_("Ds1MonthDisplayType_".concat(t[1])),value:t[1]}});l.addDropdown({container:e,label:_("DisplayAs"),object:t,property:"month_display_type",combobox:{dataprovider:o},callback:c});break;case Enums.PeriodButtonType.Semester:l.addText({container:e,label:_("PrefixWith"),object:t,property:"semester_prefix",callback:c});break;case Enums.PeriodButtonType.Trimester:l.addText({container:e,label:_("PrefixWith"),object:t,property:"trimester_prefix",callback:c});break;case Enums.PeriodButtonType.Quarter:l.addText({container:e,label:_("PrefixWith"),object:t,property:"quarter_prefix",callback:c});break;case Enums.PeriodButtonType.Custom:e.append('<div class="ds1PeriodsContainer">\n              <button type="button" class="btn btn-default btn-grey addPeriod">\n                '.concat(_("AddNewPeriod"),'\n              </button>\n              <div class="sortable_list_container"></div>\n              </div>'));e.on("click",".addPeriod",function(){a.addNewObject({label:"",value_formula:""}),$(".addPeriod",e).attr("disabled",14<t.custom_periods.length)});var a=new SortableList({container:$(".sortable_list_container",e),object:t,property:"custom_periods",onDeleteCallback:function(){s.tryUpdate(),$(".addPeriod",e).attr("disabled",14<t.custom_periods.length)},onSortCallback:c,columns:[{name:_("DS1CustomLabel"),cellFormat:function(t,e){var o=$("<input class='cd-input' type='text' type='text'>");e.append(o),o.val(t.label),o.on("change",function(){t.label=$(this).val(),s.tryUpdate()})}},{width:275,name:_("DS1CustomValue"),cellFormat:function(t,e){l.addFormulaInput({container:e,widget:s,dashboard:s.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:"value_formula",appendToBody:!0,callback:function(){s.settings.Data._isDirty=!0,s.tryUpdate()}})}}]})}},e=function(t,e){var o=Object.entries(Enums.PeriodButtonType).map(function(t){return{label:_("Ds1PeriodType_".concat(t[1])),value:t[1]}});e&&o.unshift({value:"none",label:_("Ds1PeriodType_none")}),l.addFormulaInput({callback:function(){r.resetSelection(),r._rendered=!1,r.tryUpdate()},container:n,containerClass:"ds1DefaultFormula",dashboard:r.settings._original_widget.dashboard,label:_("DefaultValue"),object:t,property:"default_value_formula",widget:r}),l.addSeparator({container:n}),l.addBoolean({container:n,containerClass:"ds1MultipleSelection",label:_("MultipleSelection"),object:t,property:"multiple_selection",callback:function(){c()}}),l.addSeparator({container:n}),l.addDropdown({container:n,label:_("Period"),object:t,property:"period",combobox:{dataprovider:o},callback:function(){a(t),c()}}),l.addSeparator({container:n}),a(t)},o=function(){var t=r.p.top_buttons.configuration;n.empty(),l.addHeader({container:n,description:_("DataTopBarDesc"),text:_("DataTopBarTitle")}),e(t)},i.on("click",".navigationTabs button",function(t){var t=$(t.target).closest("button");if(t.hasClass("active"))return!1;$("button.active",i).removeClass("active"),t.addClass("active"),"topBar"===t.attr("panel")?o():"bottomBar"===t.attr("panel")&&(t=r.p.bottom_buttons.configuration,n.empty(),l.addHeader({container:n,description:_("DataBottomBarDesc"),text:_("DataBottomBarTitle")}),e(t,!0))}),o(),t._rendered=!0)},getFormatTabs:function(){var t=[];return t.push({icon:"rectangle-shape.png",text:_("Background"),code:"container",renderer:this.getContainerProperties.bind(this)}),t.push({iconCode:"fal fa-arrow-alt-to-top",text:_("TopButtons"),code:"topButtons",renderer:this.getTopButtonsProperties.bind(this)}),t.push({iconCode:"fal fa-arrow-alt-to-bottom",text:_("BottomButtons"),code:"bottomButtons",renderer:this.getBottomButtonsProperties.bind(this)}),t},getContainerProperties:function(t){var e=this.updateStyle.bind(this);t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.container,property_color:"background_color",property_gradient:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({label:_("Border"),object:this.p.container,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.container,property:"shadow",callback:e}),t.addSeparator(),t.addBorder({label:_("Gridlines"),label_color:_("Color"),object:this.p.container,property:"gridlines",callback:e}),t.addSeparator()},getButtonsProperties:function(t,e){var o=this.updateStyle.bind(this);t.addFont({object:e,property:"font",callback:o,dropDown:!0}),t.addColor({label:_("BackgroundColor"),object:e,property:"background_color",callback:o,dropDown:!0}),t.addSeparator(),t.addFont({dropdown_label:_("SelectedFont"),object:e,property:"selected_state_font",callback:o,dropDown:!0}),t.addColor({label:_("SelectedBackgroundColor"),object:e,property:"selected_state_background_color",callback:o,dropDown:!0}),t.addSeparator()},getBottomButtonsProperties:function(t){t.addHeader({text:_("FormatBottomButtonTitle"),description:_("FormatBottomButtonDesc")}),this.getButtonsProperties(t,this.p.bottom_buttons)},getTopButtonsProperties:function(t){t.addHeader({text:_("FormatTopButtonTitle"),description:_("FormatTopButtonDesc")}),this.getButtonsProperties(t,this.p.top_buttons)},applyStyleToTargetWidget:function(t){var e=Utils.clone(t.top_buttons),e=(e.configuration,_objectWithoutProperties(e,_excluded)),e=(this.p.top_buttons=e,Utils.clone(t.bottom_buttons)),t=(e.configuration,_objectWithoutProperties(e,_excluded2));this.p.bottom_buttons=t}}});
//# sourceMappingURL=DS1-year-month-selector.js.map

var _excluded=["colors","data","format","placeholder","style","type"];function _objectWithoutProperties(e,t){if(null==e)return{};var a,o=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var n=Object.getOwnPropertySymbols(e),r=0;r<n.length;r++)a=n[r],0<=t.indexOf(a)||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var a,o={},n=Object.keys(e),r=0;r<n.length;r++)a=n[r],0<=t.indexOf(a)||(o[a]=e[a]);return o}Widget.createType({id:"DS2",options:{min_width:50,width:200,height:30,min_height:30,max_height:70,formula_input:["data.min.formula","data.max.formula","data.default_value.formula"],formula_output:["value","minvalue","maxvalue"],hasStyleProperty:!0},styles:["/Libraries/Bootstrap/bootstrap-datetimepicker.css"],scripts:["/Libraries/Bootstrap/bootstrap-datetimepicker.min.js"],properties:{type:"date",data:{min:{type:"none",formula:"",fixed_value:null},max:{type:"none",formula:"",fixed_value:null},default_value:{type:null,formula:"",fixed_value:null}},container:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,0.5)"},dropdown_panel:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,font:{family:"Open Sans",size:13,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"rgba(0,0,0,1)"},format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date),placeholder:null},prototype:{init:function(){var e;this.p.dropdown_panel||(e=$.extend(!0,{},this.p.font,{size:13}),this.p.dropdown_panel=$.extend(!0,{},this.p.container,{font:e})),this.bindEvents(),this.tryUpdate()},createProperties:function(){this.createProperty("value"),this.createProperty("minvalue"),this.createProperty("maxvalue")},updateProperties:function(){this.value=this._dateToString(this._getDateValue("default_value")||null),this.minvalue=this._dateToString(this._getDateValue("min")),this.maxvalue=this._dateToString(this._getDateValue("max"))},bindEvents:function(){var t=this,a=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){a.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("propertieschanged",function(){a.render(),a.updateProperties()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.ui.on("click",".formatedValue",function(){var e=$(".ds2-date-container",a.ui);a.container.hasClass("opened")?e.datetimepicker("hide"):e.datetimepicker("show")}),window.addEventListener("click",function(e){t.ui&&!t.ui[0].contains(e.target)&&$(".ds2-date-container",a.ui).datetimepicker("hide")}),this._eventsBound=!0)},render:function(e,t,a){var o=this;this._rendered&&(this.destroy(),this._rendered=!1);this.ui.append(Mustache.render('<div class="ds2-date-container input-append date form_datetime">                            <span class="formatedValue">{{formatedValue}}</span>                            <input size="16" class="rawDate" type="hidden" readonly>                            <span class="add-on"><i class="fas fa-caret-down icon-th"></i></span>                            <span class="add-on hidden"><i class="fas fa-caret-down icon-hide"></i></span>                        </div>',{formatedValue:a?this._getFormatedDate(a,"default_value"):this._getFormatedDate(o._dateToString(this._getDateValue("default_value"),"default_value"))})),$(".ds2-date-container",this.ui).datetimepicker($.extend({startDate:e||this._momentToDate(this._getDateValue("min")),endDate:t||this._momentToDate(this._getDateValue("max")),initialDate:a||this._momentToDate(this._getDateValue("default_value")),pickerReferer:"input"},this.getDatePickerOptions())),$(".ds2-date-container",this.ui).on("changeDate",function(e){null!==e.date?(e=new Date(e.date.setTime(e.date.getTime()+6e4*e.date.getTimezoneOffset())),$(".formatedValue",o.ui).text(o._getFormatedDate(o._dateToString(e),"default_value")),$(this).datetimepicker("setDate",e),o.value=o._dateToString(e)):(o.value=null,$(".formatedValue",o.ui).text(o._getFormatedDate(o._getDateValue("default_value"),"default_value"))),o.updateState()}),$(".ds2-date-container",this.ui).on("hide",function(){o.container.css("zIndex",4e3),$(".icon-hide",o.ui).closest(".add-on").addClass("hidden"),o.container.css("zIndex",o.zindex),o.container.removeClass("opened")}),$(".ds2-date-container",this.ui).on("show",function(){$(".icon-hide",o.ui).closest(".add-on").removeClass("hidden"),o.container.css("zIndex",4e3),o.container.addClass("opened"),o._from||DashboardUtils.fitPickerWithinBounds(o.ui,o,o.dashboard)}),$(".ds2-date-container",this.ui).on("onPlace",function(){o._from||DashboardUtils.fitPickerWithinBounds(o.ui,o,o.dashboard)}),this._datePickerModel=$(".ds2-date-container",this.ui).data("datetimepicker"),this._datePickerDropdown=this._datePickerModel.picker,this._datePickerDropdown.attr("id","widget_{0}_dropdown".format(this.guid)),this.updateStyle(),this._rendered=!0,this._loaded=!0},destroy:function(){$(".ds2-date-container",this.ui).datetimepicker("remove"),$(".ds2-date-container",this.ui).remove()},resetState:function(e){var t=e.minvalue||null,a=e.maxvalue||null,e=e.value||null;this.minvalue=t,this.maxvalue=a,this.value=e,this._stateHaveBeenResetted=!0,this.render(t,a,e)},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{value:this.value,minvalue:this.minvalue,maxvalue:this.maxvalue})},updateStyle:function(){var e=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),t=this.getShadowCssFromShadowConfiguration(this.p.dropdown_panel.shadow);Utils.FontUtils.loadFont(this.p.font.family),this._datePickerDropdown.css({"margin-top":"10px","text-shadow":this.p.dropdown_panel.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.dropdown_panel.font.underline?"underline":"none","text-align":this.p.dropdown_panel.font.halign,color:this.p.dropdown_panel.font.color,"font-family":this.p.dropdown_panel.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.dropdown_panel.font.family,this.p.dropdown_panel.font.font_weight),"font-style":this.p.dropdown_panel.font.italic?"italic":"normal",border:"".concat(this.p.dropdown_panel.border.width,"px solid ").concat(this.p.dropdown_panel.border.color),background:this.getBackgroundValue(this.p.dropdown_panel),"border-radius":"".concat(this.p.dropdown_panel.roundness+this.p.dropdown_panel.border.width,"px"),"box-shadow":"none"!==t?t:"none",overflow:"hidden"}),this.container.css({border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.getBackgroundValue(this.p.container),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":"none"!==e?e:"none"}),this.ui.css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none","text-align":this.p.font.halign,color:this.p.font.color,"font-size":"".concat(this.p.font.size,"px"),"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),this.p.container.placeholder_color&&this.ui.hasClass("placeholder")&&$(".formatedValue",this.ui).css({color:this.p.container.placeholder_color,opacity:1}),$(".add-on",this.ui).css({"border-left":this.p.container.border.width?"1px solid ".concat(this.p.container.border.color):"none"}),this.injectDateDropdownCSS()},injectDateDropdownCSS:function(){var e={},t=DashboardUtils.parseRGBA(this.p.dropdown_panel.font.color);e["> *"]="font-size: ".concat(this.p.dropdown_panel.font.size,"px !important;"),e.th="white-space: nowrap; height: ".concat(this.p.dropdown_panel.font.size+7,"px;"),e.td="height: ".concat(this.p.dropdown_panel.font.size+7,"px; width: ").concat(this.p.dropdown_panel.font.size+7,"px;"),e["td.day:hover, th:hover,td span.hour:hover,td span.minute:hover, span.year:hover"]="border-color: ".concat(this.p.dropdown_panel.font.color,"; background-color: rgba(").concat(t.r,",").concat(t.g,",").concat(t.b,",",.2,") ;"),e["td.day.active, td span.hour.active,td span.minute.active,span.year.active,span.month.active"]="color: ".concat(this.p.dropdown_panel.font.color," ;border-color: ").concat(this.p.dropdown_panel.font.color," ;background-image: none !important; background-color: rgba(").concat(t.r,",").concat(t.g,",").concat(t.b,",",.2,") !important;"),e["td.day.new, td.day.old"]="color: rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.1,") !important;"),e["td.disabled:hover"]="background-color: transparent !important; background-image: none !important;",e["td.disabled"]="opacity: .3;",Utils.AppendCSSToPage("#".concat(this._datePickerDropdown.attr("id")),e)},getBackgroundValue:function(e){return e.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background_color,DashboardUtils.shadeBlend(null,e.background_color)):e.background_color},getPickerDropdownPosition:function(){return"bottom-left"},getDatePickerOptions:function(){return{format:"yyyy-mm-ddThh:ii:ssZ",pickerPosition:this.getPickerDropdownPosition(),autoclose:!1,minView:"date"===this.p.type?2:0,clearBtn:!0,language:("undefined"!=typeof _User&&_User?_User:top._User).LanguageCode}},updateFormat:function(){switch(this.p.type){case"date":this.p.format=ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date);break;case"datetime":this.p.format=ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.DateTime)}},renderPropertiesTab:function(e){var t=this,a=e.ui.content;e.settings.Format.addDropdown({container:a,id:"properties_date_type",combobox:{dataprovider:[{label:_("Date"),value:"date"},{label:_("DateAndTime"),value:"datetime"}]},callback:function(){t.updateFormat(),t.render()},label:_("Type"),object:this.p,property:"type"})},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),e.push({icon:"dropdown-shape.png",text:_("Container"),code:"container",renderer:this.getContainerProperties.bind(this)}),e.push({iconCode:"far fa-calendar-day",text:_("DropdownPanel"),code:"dropdownpanel",renderer:this.getDropdownPanelProperties.bind(this)}),e},getContainerProperties:function(e){var t=this.updateStyle.bind(this);e.addHeader({description:_("INFormatShapeDesc"),text:_("Container")}),e.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.container,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.container,property:"shadow",callback:t}),e.addSeparator()},getTextProperties:function(e){var t=this.updateStyle.bind(this),a=this.render.bind(this);e.addHeader({description:_("INFormatValueDesc"),text:_("Text")}),e.addFont({object:this.p,property:"font",callback:t,dropDown:!0}),e.addSeparator(),e.addFormat({label:_("Format"),object:this.p,property:"format",displayDdl:!0,dataTypes:"date"===this.p.type?[Enums.ClicFormat.DataType.Date]:[Enums.ClicFormat.DataType.DateTime]}),$(".clicformat .initObject",e.ui.content).comboBox("disable"),e.addSeparator(),e.addText({object:this.p,property:"placeholder",placeholder:_("DS2Placeholder"),callback:a,event:"focusout"}),e.addColor({label:_("Color"),object:this.p.container,property:"placeholder_color",callback:t}),e.addSeparator()},getDropdownPanelProperties:function(e){var t=this.updateStyle.bind(this);e.addHeader({description:_("INFormatDropdownDesc"),text:_("DropdownPanel")}),e.addFont({object:this.p.dropdown_panel,property:"font",callback:t,dropDown:!0}),e.addSeparator(),e.addColor({label:_("BackgroundColor"),object:this.p.dropdown_panel,property:"background_color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.dropdown_panel,property:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.dropdown_panel,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.dropdown_panel,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.dropdown_panel,property:"shadow",callback:t}),e.addSeparator()},renderDataTab:function(e){var a=this,e=e.ui;e.empty(),e.addClass("propertiesContainer");e.append(Mustache.render('<div class="properties ds2_data_properties">                            <div id="min_value_properties" data-property="min" class="property_dynamic">                                <label>                                    <span class="label">{{min_value_label}}</span>                                    <div class="ctrl">                                        <select class="date_type"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                            <div id="max_value_properties" data-property="max" class="property_dynamic">                                <label>                                    <span class="label">{{max_value_label}}</span>                                    <div class="ctrl">                                        <select class="date_type"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                            <div id="default_value_properties" data-property="default_value" class="property_dynamic">                                <label>                                    <span class="label">{{default_value_label}}</span>                                    <div class="ctrl">                                        <select class="date_type"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                        </div>',{min_value_label:_("MinimumValue"),max_value_label:_("MaximumValue"),default_value_label:_("DefaultSelection")})),$(".date_type",e).comboBox({onChange:function(){var e=$(".dynamic_control",this.$container.closest(".property_dynamic")),t=this.$container.closest(".property_dynamic").data("property");a.p.data[t].type=this.getValue(),a.renderPropertiesDynamicControl(t,e),a.render()}}),$(".date_type",e).comboBox("dataprovider",[{label:_("None"),value:Enums.WidgetDS2DateType.None},{label:_("DSDateType_{0}".format(Enums.WidgetDS2DateType.Yesterday)),value:Enums.WidgetDS2DateType.Yesterday},{label:_("DSDateType_{0}".format(Enums.WidgetDS2DateType.Today)),value:Enums.WidgetDS2DateType.Today},{label:_("Specific"),value:Enums.WidgetDS2DateType.Specific},{label:_("Formula"),value:Enums.WidgetDS2DateType.Formula}]),$("#min_value_properties .date_type",e).comboBox("select",this.p.data.min.type),this.renderPropertiesDynamicControl("min",$("#min_value_properties .dynamic_control")),$("#max_value_properties .date_type",e).comboBox("select",this.p.data.max.type),this.renderPropertiesDynamicControl("max",$("#max_value_properties .dynamic_control")),$("#default_value_properties .date_type",e).comboBox("select",this.p.data.default_value.type),this.renderPropertiesDynamicControl("default_value",$("#default_value_properties .dynamic_control"))},renderPropertiesDynamicControl:function(e,t){switch(t.empty(),this.p.data[e].type){case Enums.WidgetDS2DateType.None:case Enums.WidgetDS2DateType.Yesterday:case Enums.WidgetDS2DateType.Today:return null;case Enums.WidgetDS2DateType.Specific:this._renderPropertiesDateSelector(t,e);break;case Enums.WidgetDS2DateType.Formula:this._renderPropertiesFormulaInput(t,e)}},_renderPropertiesFormulaInput:function(e,t){var a=this;this.settings.Format.addFormulaInput({container:e,widget:a,dashboard:a.settings._original_widget.dashboard,object:a.p.data[t],grid:!0,dropup:!0,property:"formula",callback:function(){a.settings.Data._isDirty=!0,a.tryUpdate()}})},_renderPropertiesDateSelector:function(t,a){var o=this,e=this._getDateValue(a);t.append(Mustache.render('<div class="input-append date form_datetime">                            <span class="formatedValue">{{formatedValue}}</span>                            <input size="16" class="rawDate" type="hidden" readonly>                            <span class="add-on"><i class="fas fa-caret-down icon-th"></i></span>                        </div>',{formatedValue:this._getFormatedDate(o._dateToString(e),a)})),$(".form_datetime",t).datetimepicker($.extend({initialDate:this._momentToDate(e)},this.getDatePickerOptions())).on("changeDate",function(e){null!==e.date?(e=new Date(e.date.setTime(e.date.getTime()+6e4*e.date.getTimezoneOffset())),o.p.data[a].type===Enums.WidgetDS2DateType.Specific?o.p.data[a].fixed_value="date"===o.p.type?moment(e).format("YYYY-MM-DD"):moment(e).format("YYYY-MM-DD h:mm A"):o.p.data[a].fixed_value=e,$(".formatedValue",t).text(o._getFormatedDate(o._dateToString(e),a)),$(this).datetimepicker("setDate",e),o.value=o._dateToString(e)):(o.value=null,o.p.data[a].fixed_value=null,$(".formatedValue",o.ui).text(o._getFormatedDate(o._getDateValue("default_value"),"default_value"))),o.render()})},updateService:"Formulas",updateServiceError:function(e){"formula"===this.p.data.min.type&&(this.min=null),"formula"===this.p.data.max.type&&(this.max=null),"formula"===this.p.data.default_value.type&&(this.value=null)},updateServiceSuccess:function(e){this.p.data.min.formula_result=e[0].value,this.p.data.max.formula_result=e[1].value,this.p.data.default_value.formula_result=e[2].value,this._stateHaveBeenResetted||(this.updateProperties(),this.render(),this.getAndApplyWidgetSelection(),this.updateState())},refreshFromDataDependency:function(e,t){var a=!1;"formula"===this.p.data.min.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.min.formula,t)&&(a=!0),"formula"===this.p.data.max.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.max.formula,t)&&(a=!0),(a="formula"===this.p.data.default_value.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.default_value.formula,t)?!0:a)&&this.tryUpdate()},_getDateValue:function(e){switch(this.p.data[e].type){case Enums.WidgetDS2DateType.None:return null;case Enums.WidgetDS2DateType.Yesterday:return moment().add(-1,"days");case Enums.WidgetDS2DateType.Today:return moment();case Enums.WidgetDS2DateType.Specific:var t;return this.p.data[e].fixed_value?(t=this.p.data[e].fixed_value,this._parseStringAsDate(t)):moment();case Enums.WidgetDS2DateType.Formula:return this.p.data[e].formula_result?moment(this.p.data[e].formula_result):null}},_momentToDate:function(e){return e?e.toDate():null},_dateToString:function(e){return e?"date"===this.p.type?moment(e).format("YYYY-MM-DD"):moment(e).format("YYYY-MM-DD HH:mm:ss"):null},_parseStringAsDate:function(e){return"date"===this.p.type?moment(e,"YYYY-MM-DD"):moment(e,"YYYY-MM-DD HH:mm:ss")},_getFormatedDate:function(e,t){return e?($(this.ui).removeClass("placeholder"),Utils.formatValue(e,this.p.format)):($(this.ui).addClass("placeholder"),this.p.placeholder||_("DS2Placeholder"))},applyStyleToTargetWidget:function(e){e=Utils.clone(e),e.colors,e.data,e.format,e.placeholder,e.style,e.type,e=_objectWithoutProperties(e,_excluded);this.p=Utils.deepMerge(this.p,e)}}});
//# sourceMappingURL=DS2-calendar-dropdown.js.map

var _excluded=["allow_custom_period","colors","data","default_selection_date_from","default_selection_date_to","default_selection_option","default_selection_value","format","interactions","placeholder","style","timezone"];function _objectWithoutProperties(e,t){if(null==e)return{};var a,o=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols)for(var r=Object.getOwnPropertySymbols(e),s=0;s<r.length;s++)a=r[s],0<=t.indexOf(a)||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a]);return o}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};for(var a,o={},r=Object.keys(e),s=0;s<r.length;s++)a=r[s],0<=t.indexOf(a)||(o[a]=e[a]);return o}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o,r,s=[],n=!0,d=!1;try{for(a=a.call(e);!(n=(o=a.next()).done)&&(s.push(o.value),!t||s.length!==t);n=!0);}catch(e){d=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(d)throw r}}return s}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _createForOfIteratorHelper(e,t){var a,o,r,s,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return o=!(a=!0),{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){o=!0,r=e},f:function(){try{a||null==n.return||n.return()}finally{if(o)throw r}}};if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),s=0,{s:t=function(){},n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var a;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(a="Object"===(a=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:a)||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,o=new Array(t);a<t;a++)o[a]=e[a];return o}!function(){var e,d='<div class="input-selector">                                                <div class="label-from-container">                                                    <span>'.concat(_("DS3_Properties_FromLabel"),'</span>                                                </div>                                                <div class="input-from-container">                                                    <div class="date-container input-append date selectedstartdate">                                                        <span class="formatedValue">{{formatedValue_from}}</span>                                                        <input size="16" class="rawDate" type="hidden" readonly>                                                        <span class="add-on"><i class="fas fa-caret-down icon-th"></i></span>                                                        <span class="add-on hidden"><i class="fas fa-caret-down icon-hide"></i></span>                                                    </div>                                                </div>                                                <div class="label-to-container">                                                    <span>').concat(_("DS3_Properties_ToLabel"),'</span>                                                </div>                                                <div class="input-to-container">                                                    <div class="date-container input-append date selectedenddate">                                                        <span class="formatedValue">{{formatedValue_to}}</span>                                                        <input size="16" class="rawDate" type="hidden" readonly>                                                        <span class="add-on"><i class="fas fa-caret-down icon-th"></i></span>                                                        <span class="add-on hidden"><i class="fas fa-caret-down icon-hide"></i></span>                                                </div>                                            </div>'),c={Today:"today",Yesterday:"yesterday",Last7Days:"last_7_days",Next7Days:"next_7_days",Last14Days:"last_14_days",Next14Days:"next_14_days",Last30Days:"last_30_days",Next30Days:"next_30_days",Last60Days:"last_60_days",Next60Days:"next_60_days",Last90Days:"last_90_days",Next90Days:"next_90_days",Last3Months:"last_3_months",Next3Months:"next_3_months",Last6Months:"last_6_months",Last6MonthsToDate:"last_6_months_todate",Next6Months:"next_6_months",Last9Months:"last_9_months",Next9Months:"next_9_months",Last12Months:"last_12_months",Last12MonthsToDate:"last_12_months_todate",Next12Months:"next_12_months",Last24Months:"last_24_months",Last24MonthsToDate:"last_24_months_todate",Next24Months:"next_24_months",Last36Months:"last_36_months",Next36Months:"next_36_months",CurrentMonth:"current_month",LastMonth:"last_month",NextMonth:"next_month",CurrentMonthToDate:"current_month_to_date",LastMonthToDate:"last_month_to_date",CurrentYear:"current_year",LastYear:"last_year",NextYear:"next_year",CurrentYearToDate:"current_year_to_date",LastYearToDate:"last_year_to_date",CurrentQuarter:"current_quarter",NextQuarter:"next_quarter",LastQuarter:"last_quarter",LastWeekMonday:"last_week_monday",LastWeekSunday:"last_week_sunday",WeekToDateMonday:"week_to_date_monday",WeekToDateSunday:"week_to_date_sunday",CurrentWeekMonday:"current_week_monday",CurrentWeekSunday:"current_week_sunday",AllTime:"all_time"},s=[];for(e in c)c.hasOwnProperty(e)&&s.push({value:c[e],label:_("DS3_period_".concat(c[e]))});var n="noselection",i="period",h="formula_period",p="custom_period",u={format:"yyyy-mm-dd",pickerPosition:"bottom-left",autoclose:!1,minView:2,clearBtn:!0},a="dashboard",o="url";Widget.createType({id:"DS3",options:{min_width:140,width:210,min_height:180,height:260,formula_input:["default_selection_date_from","default_selection_date_to","data.periods.from_date_formula","data.periods.to_date_formula"],formula_output:["selectedstartdate","selectedenddate","selectedperiod","selectedlabel"],hasStyleProperty:!0},styles:["/Libraries/Bootstrap/bootstrap-datetimepicker.css"],scripts:["/Libraries/Bootstrap/bootstrap-datetimepicker.min.js"],properties:{allow_custom_period:!0,default_selection_option:i,default_selection_value:c.Today,default_selection_date_from:null,default_selection_date_to:null,placeholder:_("DS2Placeholder"),format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date),data:{periods:null},container:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},timezone:{mode:Enums.WidgetTimezone.Local,custom_value:null},dropdown:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},dropdown_shadow:{code:"light",radius:5,opacity:.3},roundness:2,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},dropdown_panel:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},dropdown_shadow:{code:"light",radius:5,opacity:.3},roundness:2,font:{family:"Open Sans",size:13,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"}},interactions:{onvaluechange:null,onhover:null}},prototype:{needsToTryUpdate:function(){return this.p.default_selection_option===h||!(!this.p.data.periods||0===this.p.data.periods.length)&&0<this.p.data.periods.filter(function(e){return e.date_picking_type&&e.date_picking_type===Enums.DS3DatePickingType.Formula}).length},init:function(){var e=this;this.p.dropdown_panel=$.extend(!0,{},this.p.dropdown,{font:{size:13}}),this._datePickerDropdowns=[],this.p.data.periods||(this.p.data.periods=[{period:c.Today,display_name:_("DS3_period_".concat(c.Today))},{period:c.Last7Days,display_name:_("DS3_period_".concat(c.Last7Days))},{period:c.LastMonth,display_name:_("DS3_period_".concat(c.LastMonth))}]),this.bindEvents(),this.getAndApplyWidgetSelection(function(){e.needsToTryUpdate()?e.tryUpdate():(e.render(),e.p.default_selection_option===p&&e.convertDefaultPeriodIntoPreset())})},createProperties:function(){this.createProperty("selectedenddate"),this.createProperty("selectedstartdate"),this.createProperty("selectedperiod"),this.createProperty("selectedlabel")},resetState:function(e){e.selectedstartdate||e.selectedenddate||e.selectedlabel||e.selectedperiod||e.preset||(this._loaded=!1,this._presetCurrentlySelected=null,this._presetIndexSelected=null,this.render()),e.preset?(this.render(),$(".preset",this.ui).removeClass("selected"),("custom"!==e.preset?$('.preset[data-preset="'.concat(e.preset,'"]'),this.ui):$('.preset[data-preset-index="'.concat(e.presetIndex,'"]'),this.ui)).addClass("selected"),this._presetCurrentlySelected=e.preset,this._presetIndexSelected=e.presetIndex,this.selectedperiod=e.preset,this.selectedlabel=this._getLabelFromPeriod(e.preset,this._presetIndexSelected),this._updatePresetListStyle(),this._updatePickers()):this.p.allow_custom_period&&($(".preset",this.ui).removeClass("selected"),this.selectedstartdate=e.selectedstartdate,this.selectedenddate=e.selectedenddate,this.selectedperiod=null,this.selectedlabel=null,this._renderPickers(e._displayedselectedstartdate,e._displayedselectedenddate,!0),this.updateStyle())},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedstartdate:this.selectedstartdate,selectedenddate:this.selectedenddate,selectedlabel:this.selectedlabel,selectedperiod:this.selectedperiod,preset:this._presetCurrentlySelected,presetIndex:this._presetIndexSelected,_displayedselectedstartdate:this._displayedselectedstartdate,_displayedselectedenddate:this._displayedselectedenddate})},bindEvents:function(){var r=this,o=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){o.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("propertieschanged",function(){o._updateDom(),o.setMinHeight()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),window.addEventListener("click",function(e){if(r.ui&&!r.ui[0].contains(e.target)){var t,a=_createForOfIteratorHelper($(".date-container",r.ui));try{for(a.s();!(t=a.n()).done;){var o=t.value;$(o).datetimepicker("hide")}}catch(e){a.e(e)}finally{a.f()}}}),this._eventsBound=!0),this.ui.on("click",".preset",function(){var e,t=_createForOfIteratorHelper($(".date-container",o.ui));try{for(t.s();!(e=t.n()).done;){var a=e.value;$(a).datetimepicker("hide")}}catch(e){t.e(e)}finally{t.f()}o._onPresetClick(this)})},render:function(){this._renderPresets(),this.p.allow_custom_period&&this._renderPickers(),this._setDefaultOptions(),this.updateStyle(),this.setMinHeight(),this._loaded||this.updateState(),this._loaded=!0},setMinHeight:function(){var e=0;this.p.allow_custom_period&&(e+=130),0<this.p.data.periods.length&&(e+=50),this.class.options.min_height=e},_setDefaultOptions:function(){this._presetCurrentlySelected,this.p.default_selection_option===i?((this.p.default_selection_value&&this.p.default_selection_value.startsWith("custom")?(this._presetCurrentlySelected="custom",this._presetIndexSelected=this.p.default_selection_value.replace("custom",""),$('.preset[data-preset-index="'.concat(this._presetIndexSelected,'"]'),this.ui)):(this._presetCurrentlySelected=this.p.default_selection_value,$('.preset[data-preset="'.concat(this._presetCurrentlySelected,'"]'),this.ui))).addClass("selected"),this.selectedperiod=this.p.default_selection_value,this.selectedlabel=this._getLabelFromPeriod(this.p.default_selection_value,this._presetIndexSelected),this._updatePickers()):(this.selectedperiod=null,this.selectedlabel=null)},convertDefaultPeriodIntoPreset:function(){var e=this.p.default_selection_date_from_result,t=this.p.default_selection_date_to_result;if(this.p.default_selection_option===p&&(e=this.selectedstartdate,t=this.selectedenddate),e&&t){var a,o=_createForOfIteratorHelper(this.p.data.periods.entries());try{for(o.s();!(a=o.n()).done;){var r=_slicedToArray(a.value,2),s=r[0],n=r[1],d=this.fromPresetToDate(n.period,s),i=moment(d.startDate).diff(e,"days"),l=moment(d.endDate).diff(t,"days");if(!i&&!l){this._onPresetClick($('.preset-list .preset[data-preset="'.concat(n.period,'"]'),this.ui));break}}}catch(e){o.e(e)}finally{o.f()}}},_renderPresets:function(){var e=this._getPresetElements();e&&($(".preset-selector",this.ui).remove(),this.ui.prepend(Mustache.render('<div class="preset-selector">                                                  <div class="preset-scrollbox">                                                    <ul class="preset-list">                                                        {{{Preset_List_Elements}}}                                                    </ul>                                                  </div>                                              </div>',{Preset_List_Elements:e})),this.p.default_selection_option===i&&this.p.default_selection_value?($('.preset[data-preset="'.concat(this.p.default_selection_value,'"]'),this.ui).addClass("selected"),this.selectedperiod=this.p.default_selection_value,this.selectedlabel=this._getLabelFromPeriod(this.p.default_selection_value)):(this.selectedperiod=null,this.selectedlabel=null),this._initPresetsControls())},_getPresetElements:function(){for(var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0],t="",a=[],o=0;o<this.p.data.periods.length;o++)this.p.data.periods[o].period?t+=Mustache.render('<li class="preset" data-preset="{{period}}" data-preset-index="{{index}}"><span>{{display_name}}</span></li>',{display_name:this.p.data.periods[o].display_name,index:o,period:this.p.data.periods[o].period}):e||a.push(o);for(var r=0;r<a.length;r++)this.p.data.periods.splice(a[r],1);if(this.p.data.periods.length)return this.ui.addClass("with-presets"),t;this.ui.removeClass("with-presets")},_renderPickers:function(e,t,a){var o,r,s,n;$(".input-selector",this.ui).remove(),this.selectedstartdate?(r=this._getFormatedDate(this.selectedstartdate,this.p.format),o=this.selectedstartdate):this.p.default_selection_option===h?(r=this._getFormatedDate(this.p.default_selection_date_from_result,this.p.format),o=this.p.default_selection_date_from_result,this.selectedstartdate=o):this.p.default_selection_date_from?(r=this._getFormatedDate(this.p.default_selection_date_from,this.p.format),o=this.p.default_selection_date_from,this.selectedstartdate=o):(r=this.p.placeholder,o="",this.selectedstartdate=null),this.selectedenddate?(n=this._getFormatedDate(this.selectedenddate,this.p.format),s=this.selectedenddate):this.p.default_selection_option===h?(n=this._getFormatedDate(this.p.default_selection_date_to_result,this.p.format),s=this.p.default_selection_date_to_result,this.selectedenddate=s):this.p.default_selection_date_to?(n=this._getFormatedDate(this.p.default_selection_date_to,this.p.format),s=this.p.default_selection_date_to,this.selectedenddate=s):(n=this.p.placeholder,s="",this.selectedenddate=null),e&&(r=this._getFormatedDate(e,this.p.format),o=e),t&&(n=this._getFormatedDate(t,this.p.format),s=t),this.ui.append(Mustache.render(d,{formatedValue_from:r,formatedValue_to:n})),this._initPickersControls(o,s,a)},_initPresetsControls:function(){$(".preset-scrollbox",this.ui).setOverlayScrollbar()},_initPickersControls:function(e,t,a){var o=this;this._datePickerDropdowns=[],this._datePickerDropdowns.push(this._initDatePicker(e,"selectedstartdate",this.ui,null,function(e){o.onValueChange(e)},a)),this._datePickerDropdowns.push(this._initDatePicker(t,"selectedenddate",this.ui,null,function(e){o.onValueChange(e)},a))},_initDatePicker:function(e,a,t,o,r,s){function n(){$(".layer-s, .layer-n, .layer-nn, .layer-ss, .layer-e, .layer-ee, .layer-w, .layer-ww, .layer-nw-corner, .layer-ne-corner, .layer-sw-corner, .layer-se-corner").css({opacity:1}),$(".icon-hide",l).closest(".add-on").addClass("hidden"),d.container.css("zIndex",i.zindex),d.container.removeClass("opened")}var d=this,i=this,l=$(".date-container.".concat(a),t),t=(e=e&&(s||this.p.timezone.mode!==Enums.WidgetTimezone.Custom?moment(e):moment.tz(e,this.p.timezone.custom_value)).toDate(),l.datetimepicker($.extend({initialDate:e||null,placeholderenablePlaceholder:!0,placeholderLabel:this.p.placeholder,pickerReferer:"input",language:("undefined"!=typeof _User&&_User?_User:top._User).LanguageCode},u)),$(".formatedValue",l).text(i._getFormatedDate(e,i.p.format)),l.on("changeDate",function(e){void 0!==e.date&&null!==e.date?(t=new Date(e.date.setTime(e.date.getTime()+6e4*e.date.getTimezoneOffset())),"selectedstartdate"===a&&(t=new Date(t.setHours(0,0,0,0))),"selectedenddate"===a&&(t=new Date(t.setHours(23,59,59,59))),$(".formatedValue",l).text(i._getFormatedDate(t,i.p.format)),$(this).datetimepicker("setDate",t)):$(".formatedValue",l).text(i._getFormatedDate(null));var t,e=t?i._dateToString(t):null;o?o[a]=e:i[a]=e,n(),r&&r(a)}),l.on("hide",function(){n()}),l.on("show",function(){$(".layer-s, .layer-n, .layer-nn, .layer-ss, .layer-e, .layer-ee, .layer-w, .layer-ww, .layer-nw-corner, .layer-ne-corner, .layer-sw-corner, .layer-se-corner").css({opacity:0}),(l.hasClass("selectedstartdate")?$(".date-container.selectedenddate"):$(".date-container.selectedstartdate")).datetimepicker("hide"),$(".icon-hide",l).closest(".add-on").removeClass("hidden"),i.container.css("zIndex",4e3),i.container.addClass("opened"),i._from||DashboardUtils.fitPickerWithinBounds(l.parent(),i,i.dashboard,10)}),l.on("onPlace",function(){i._from||DashboardUtils.fitPickerWithinBounds(l.parent(),i,i.dashboard,10)}),l.data("datetimepicker"));return t.picker.attr("id","widget_{0}_dropdown_{1}".format(this.guid,a)),t.picker},_onPresetClick:function(e){var t=$(e).attr("data-preset"),a=$(e).attr("data-preset-index");$(".preset.selected").removeClass("selected"),$(e).addClass("selected"),this._presetCurrentlySelected=t,this._presetIndexSelected=a,this.selectedperiod=t,this.selectedlabel=this._getLabelFromPeriod(t,a),this._updatePresetListStyle(),this._updatePickers()},updateService:"Formulas",updateServiceSuccess:function(e){this.p.default_selection_date_from_result=e[0].value,this.selectedstartdate=e[0].value,this.p.default_selection_date_to_result=e[1].value,this.selectedenddate=e[1].value,this.selectedlabel=null,this.selectedperiod=null;var t=!1;if(this.p.data.periods){var a,o=2,r=2+this.p.data.periods.length,s=_createForOfIteratorHelper(this.p.data.periods.entries());try{for(s.s();!(a=s.n()).done;){var n,d,i=_slicedToArray(a.value,2),l=i[0],c=i[1],p=(c.date_picking_type&&c.date_picking_type===Enums.DS3DatePickingType.Formula&&(c.from_date_formula_result=e[o],c.to_date_formula_result=e[r]),parseInt(this._presetIndexSelected));!isNaN(p)&&0<=p&p===l&&(this.selectedstartdate=(null==(n=e[o])?void 0:n.value)||null,this.selectedenddate=(null==(d=e[r])?void 0:d.value)||null,t=!0),o++,r++}}catch(e){s.e(e)}finally{s.f()}}this._firstLoad?t&&this._updatePickers():(this.render(),this._firstLoad=!0),this.p.default_selection_option===h&&this.convertDefaultPeriodIntoPreset(),this.updateStyle(),this._loaded=!0},updateStyle:function(){var e=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),t=this.getShadowCssFromShadowConfiguration(this.p.dropdown.dropdown_shadow),a=this.getShadowCssFromShadowConfiguration(this.p.dropdown_panel.dropdown_shadow),o=DashboardUtils.parseRGBA(this.p.font.color);this.container.css({border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.getBackgroundValue("container"),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":"none"!==e?e:"none"}),this.p.container.border.width?$(".input-selector",this.ui).css({"border-color":this.p.container.border.color}):(o.a=.1,$(".input-selector",this.ui).css({"border-color":o.toString()})),Utils.FontUtils.loadFont(this.p.font.family),$(".preset",this.ui).css({"font-family":this.p.font.family}),this.ui.css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-size":"".concat(this.p.font.size,"px"),"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),Utils.FontUtils.loadFont(this.p.dropdown.font.family),$(".date-container",this.ui).css({border:"".concat(this.p.dropdown.border.width,"px solid ").concat(this.p.dropdown.border.color),background:this.getBackgroundValue("dropdown"),"border-radius":"".concat(this.p.dropdown.roundness+this.p.dropdown.border.width,"px"),"box-shadow":"none"!==t?t:"none","text-shadow":this.p.dropdown.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.dropdown.font.underline?"underline":"none",color:this.p.dropdown.font.color,"font-size":"".concat(this.p.dropdown.font.size,"px"),"font-family":this.p.dropdown.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.dropdown.font.family,this.p.dropdown.font.font_weight),"font-style":this.p.dropdown.font.italic?"italic":"normal"}),this._updatePresetListStyle(),this.handleTooltipState(),$(".add-on",this.ui).css({"border-left":this.p.dropdown.border.width?"1px solid ".concat(this.p.dropdown.border.color):"none"});for(var r=0;r<this._datePickerDropdowns.length;r++)this._datePickerDropdowns[r].css({"margin-top":"10px","text-shadow":this.p.dropdown_panel.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.dropdown_panel.font.underline?"underline":"none",color:this.p.dropdown_panel.font.color,"font-family":this.p.dropdown_panel.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.dropdown_panel.font.family,this.p.dropdown_panel.font.font_weight),"font-style":this.p.dropdown_panel.font.italic?"italic":"normal",border:"".concat(this.p.dropdown_panel.border.width,"px solid ").concat(this.p.dropdown_panel.border.color),background:this.getBackgroundValue("dropdown_panel"),"border-radius":"".concat(this.p.dropdown_panel.roundness+this.p.dropdown_panel.border.width,"px"),"box-shadow":"none"!==a?a:"none",overflow:"hidden"}),this.injectDateDropdownCSS(r)},_applyFormatToPickers:function(){var t=this;$(".date-container",this.ui).each(function(){var e=$(this).data("datetimepicker").date;$(".formatedValue",$(this)).text(t._getFormatedDate(e.toISOString(),t.p.format))})},_updatePresetListStyle:function(){var e=DashboardUtils.parseRGBA(this.p.font.color);e.a=.05,$(".preset",this.ui).css({"background-color":e.toString()}),e.a=.15,$(".preset.selected",this.ui).css({"background-color":e.toString()})},injectDateDropdownCSS:function(e){var t={},a=DashboardUtils.parseRGBA(this.p.dropdown_panel.font.color);t["> *"]="font-size: ".concat(this.p.dropdown_panel.font.size,"px !important;"),t.th="white-space: nowrap; height: ".concat(this.p.dropdown_panel.font.size+7,"px;"),t.td="height: ".concat(this.p.dropdown_panel.font.size+7,"px; width: ").concat(this.p.dropdown_panel.font.size+7,"px;"),t["td.day:hover, th:hover,td span.hour:hover,td span.minute:hover, span.year:hover"]="border-color: ".concat(this.p.dropdown_panel.color,"; background-color: rgba(").concat(a.r,",").concat(a.g,",").concat(a.b,",.2);"),t["td.day.active, td span.hour.active,td span.minute.active,span.year.active,span.month.active"]="color: '".concat(this.p.dropdown_panel.color,";border-color: ").concat(this.p.font.color,";background-image: none !important; background-color: rgba(").concat(a.r,",").concat(a.g,",").concat(a.b,",.2) !important;"),t["td.day.new, td.day.old"]="color: rgba(".concat(a.r,",").concat(a.g,",").concat(a.b,",.1) !important;"),t["td.disabled:hover"]="background-color: transparent !important; background-image: none !important;",t["td.disabled"]="opacity: .3;",Utils.AppendCSSToPage("#".concat(this._datePickerDropdowns[e].attr("id")),t)},getBackgroundValue:function(e){return this.p[e].gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p[e].background_color,DashboardUtils.shadeBlend(null,this.p[e].background_color)):this.p[e].background_color},_updateDom:function(){var e=0<arguments.length&&void 0!==arguments[0]&&arguments[0];$(".preset-list",this.ui).length?($(".preset-list",this.ui).empty(),(e=this._getPresetElements(e))?$(".preset-list",this.ui).append(e):($(".preset-selector",this.ui).remove(),this.ui.removeClass("with-presets"))):this._renderPresets(),this._presetCurrentlySelected&&($('.preset[data-preset="'.concat(this._presetCurrentlySelected,'"]')).addClass("selected"),this._updatePickers()),this.p.allow_custom_period?$(".input-selector",this.ui).length||this._renderPickers():$(".input-selector",this.ui).remove(),this.updateStyle()},onValueChange:function(e){var t;if(e&&("selectedstartdate"===e?(this._displayedselectedstartdate=null,this.p.timezone.mode===Enums.WidgetTimezone.Custom&&(this._displayedselectedstartdate=this.selectedstartdate,this.selectedstartdate=moment(this.selectedstartdate).tz(this.p.timezone.custom_value).format("YYYY-MM-DD HH:mm:ss")),moment(this.selectedstartdate)>moment(this.selectedenddate)&&(t=moment(this.selectedstartdate),this.selectedenddate=t.add(2,"days").subtract(1,"seconds").format("YYYY-MM-DD HH:mm:ss"))):"selectedenddate"===e&&(this._displayedselectedenddate=null,this.p.timezone.mode===Enums.WidgetTimezone.Custom&&(this._displayedselectedenddate=this.selectedenddate,this.selectedenddate=moment(this.selectedenddate).tz(this.p.timezone.custom_value).format("YYYY-MM-DD HH:mm:ss")),moment(this.selectedstartdate)>moment(this.selectedenddate)&&(t=moment(this.selectedenddate),this.selectedstartdate=t.subtract(2,"days").add(1,"seconds").format("YYYY-MM-DD HH:mm:ss"))),this.p.allow_custom_period&&this._renderPickers(),this.updateStyle(),$(".preset.selected").removeClass("selected"),this._presetCurrentlySelected=null,this._presetIndexSelected=null,this.selectedperiod=null,this.selectedlabel=null,this._updatePresetListStyle(),this.updateState()),this.p.interactions.onvaluechange)switch(this.p.interactions.onvaluechange.type){case a:this.handleDashboardInteraction(this.p.interactions.onvaluechange);break;case o:this.p.interactions.onvaluechange.url&&this.dashboard.trigger("urlopened",{url:this.p.interactions.onvaluechange.url,mode:this.p.interactions.onvaluechange.mode})}},fromPresetToDate:function(e,t){var a=moment(),o=moment();switch(e){case"custom":""===this._presetIndexSelected&&(this._presetIndexSelected="0");var r=this.p.data.periods[this._presetIndexSelected];if(r=null!=t?this.p.data.periods[t]:r)if(r.type===Enums.DS3CustomPeriodType.Fixed)r.date_picking_type&&r.date_picking_type===Enums.DS3DatePickingType.Formula?(r.from_date_formula_result&&(a=moment(r.from_date_formula_result.value).startOf("day")),r.to_date_formula_result&&(o=moment(r.to_date_formula_result.value).endOf("day"))):(a=moment(r.from_date).startOf("day"),o=moment(r.to_date).endOf("day"));else{var s=r.interval_type,n=r.interval,d=(r.interval_type===Enums.DS3CustomPeriodType.Trimesters&&(n*=3,s="months"),r.date_picking_type&&r.date_picking_type===Enums.DS3DatePickingType.Formula?r.from_date_formula_result&&(a=moment(r.from_date_formula_result.value).startOf("day"),o=moment(r.from_date_formula_result.value).startOf("day").add(n,s).add(-1,"seconds")):(a=moment(r.base_date).startOf("day"),o=moment(r.base_date).startOf("day").add(n,s).add(-1,"seconds")),moment()),i=Math.floor(Math.abs(d.diff(a,s)/n));if(a.isAfter(d))switch(n=-n,i++,r.type_of_period){case Enums.DS3CustomTypeOfPeriod.Last:i++;break;case Enums.DS3CustomTypeOfPeriod.Next:i--}else switch(r.type_of_period){case Enums.DS3CustomTypeOfPeriod.Last:i--;break;case Enums.DS3CustomTypeOfPeriod.Next:i++}a=a.add(n*i,s),o=o.add(n*i,s)}else a=moment().startOf("day"),o=moment().endOf("day");break;case c.Today:a=a.startOf("day"),o=o.endOf("day");break;case c.Yesterday:a=a.subtract(1,"days").startOf("day"),o=o.subtract(1,"days").endOf("day");break;case c.Last7Days:a=a.subtract(6,"days").startOf("day"),o=o.endOf("day");break;case c.Next7Days:a=a.add(1,"day").startOf("day"),o=o.add(7,"day").endOf("day");break;case c.Last14Days:a=a.subtract(13,"days").startOf("day"),o=o.endOf("day");break;case c.Next14Days:a=a.add(1,"day").startOf("day"),o=o.add(14,"day").endOf("day");break;case c.Last30Days:a=a.subtract(29,"days").startOf("day"),o=o.endOf("day");break;case c.Next30Days:a=a.add(1,"day").startOf("day"),o=o.add(30,"day").endOf("day");break;case c.Last60Days:a=a.subtract(59,"days").startOf("day"),o=o.endOf("day");break;case c.Next60Days:a=a.add(1,"day").startOf("day"),o=o.add(60,"day").endOf("day");break;case c.Last90Days:a=a.subtract(89,"days").startOf("day"),o=o.endOf("day");break;case c.Next90Days:a=a.add(1,"day").startOf("day"),o=o.add(90,"day").endOf("day");break;case c.Last3Months:a=a.subtract(3,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Next3Months:a=a.add(1,"month").startOf("month"),o=o.add(3,"month").endOf("month");break;case c.Last6Months:a=a.subtract(6,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Last6MonthsToDate:a=a.subtract(6,"month").startOf("month"),o=o.endOf("day");break;case c.Next6Months:a=a.add(1,"month").startOf("month"),o=o.add(6,"month").endOf("month");break;case c.Last9Months:a=a.subtract(9,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Next9Months:a=a.add(1,"month").startOf("month"),o=o.add(9,"month").endOf("month");break;case c.Last12Months:a=a.subtract(12,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Last12MonthsToDate:a=a.subtract(12,"month").startOf("month"),o=o.endOf("day");break;case c.Next12Months:a=a.add(1,"month").startOf("month"),o=o.add(12,"month").endOf("month");break;case c.Last24Months:a=a.subtract(24,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Last24MonthsToDate:a=a.subtract(24,"month").startOf("month"),o=o.endOf("day");break;case c.Next24Months:a=a.add(1,"month").startOf("month"),o=o.add(24,"month").endOf("month");break;case c.Last36Months:a=a.subtract(36,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.Next36Months:a=a.add(1,"month").startOf("month"),o=o.add(36,"month").endOf("month");break;case c.CurrentMonth:a=a.startOf("month"),o=o.endOf("month");break;case c.LastMonth:a=a.subtract(1,"month").startOf("month"),o=o.subtract(1,"month").endOf("month");break;case c.NextMonth:a=a.add(1,"month").startOf("month"),o=o.add(1,"month").endOf("month");break;case c.CurrentMonthToDate:a=a.startOf("month"),o=o.endOf("day");break;case c.LastMonthToDate:a=a.subtract(1,"month").startOf("month"),o=o.endOf("day");break;case c.CurrentYear:a=a.startOf("year"),o=o.endOf("year");break;case c.LastYear:a=a.subtract(1,"year").startOf("year"),o=o.subtract(1,"year").endOf("year");break;case c.NextYear:a=a.add(1,"year").startOf("year"),o=o.add(1,"year").endOf("year");break;case c.CurrentYearToDate:a=a.startOf("year"),o=o.endOf("day");break;case c.LastYearToDate:a=a.subtract(1,"year").startOf("year"),o=o.endOf("day");break;case c.CurrentQuarter:d=this._getQuarterDates(moment().quarter()),a=d.start,o=d.end;break;case c.NextQuarter:r=this._getQuarterDates(moment().quarter()+1);a=r.start,o=r.end;break;case c.LastQuarter:n=this._getQuarterDates(moment().quarter()-1);a=n.start,o=n.end;break;case c.LastWeekMonday:a=a.subtract(1,"weeks").startOf("isoWeek"),o=o.subtract(1,"weeks").endOf("isoWeek");break;case c.LastWeekSunday:a=a.subtract(1,"weeks").startOf("week"),o=o.subtract(1,"weeks").endOf("week");break;case c.WeekToDateMonday:a=a.startOf("isoWeek").isoWeekday("Monday"),o=o.endOf("day");break;case c.WeekToDateSunday:a=a.startOf("week").day("Sunday"),o=o.endOf("day");break;case c.CurrentWeekMonday:a=a.startOf("isoWeek").isoWeekday("Monday"),o=o.endOf("isoWeek");break;case c.CurrentWeekSunday:a=a.startOf("week").day("Sunday"),o=o.endOf("week");break;case c.AllTime:a=moment(new Date("1970-01-01Z00:00:00:000")),o=o.add(20,"year").endOf("year")}var e=moment([a.year(),a.month(),a.date(),0,0,0,0]),l=moment([o.year(),o.month(),o.date(),23,59,59,999]);return this.p.timezone.mode===Enums.WidgetTimezone.Custom&&(e=e.tz(this.p.timezone.custom_value),l=l.tz(this.p.timezone.custom_value)),{endDate:l.format("YYYY-MM-DD HH:mm:ss"),startDate:e.format("YYYY-MM-DD HH:mm:ss")}},_updatePickers:function(){var e=this.fromPresetToDate(this._presetCurrentlySelected);this.selectedstartdate=e.startDate,this.selectedenddate=e.endDate,this.p.allow_custom_period&&this._renderPickers(),this.updateStyle(),this._loaded&&(this.onValueChange(),this.updateState())},_getQuarterDates:function(e){var t=moment(),a=moment();switch(4<e?(t=t.add(1,"year"),a=a.add(1,"year"),e%=4):e<1&&(t=t.subtract(1,"year"),a=a.subtract(1,"year"),e=4),e){case 1:t=t.month(0).startOf("month"),a=a.month(2).endOf("month");break;case 2:t=t.month(3).startOf("month"),a=a.month(5).endOf("month");break;case 3:t=t.month(6).startOf("month"),a=a.month(8).endOf("month");break;case 4:t=t.month(9).startOf("month"),a=a.month(11).endOf("month")}return{start:t,end:a}},renderPropertiesTab:function(e){var t=this,a=e.ui.content;e.settings.Format.addBoolean({container:a,label:_("DS3_Properties_AllowCustomPeriod"),object:this.p,property:"allow_custom_period",callback:function(){t._updateDom(),t.setMinHeight()}}),e.addDropdown({container:a,label:_("Display"),object:this.p.timezone,class:"timezone-dropdown",property:"mode",id:"mode",combobox:{dataprovider:[{value:Enums.WidgetTimezone.Local,label:_("LocalTime")},{value:Enums.WidgetTimezone.Custom,label:_("CustomTime")}],appendToBody:!0},callback:function(){t.p.timezone.mode===Enums.WidgetTimezone.Local?(t.p.timezone.value=null,$("#prop_custom_value").hide()):(t.p.timezone.custom_value="Europe/Paris",t._initializeTimeZonesDropdown(a,e)),t._updateDom()}}),t.p.timezone.mode===Enums.WidgetTimezone.Custom&&t._initializeTimeZonesDropdown(a,e)},_initializeTimeZonesDropdown:function(t,a){var o=this;this.Timezones&&0!==this.Timezones.length?$("#prop_custom_value").length?$("#prop_custom_value").show():(this._addTimeZonesDropdown(t,a),this._updateDOM()):WS.get("Common/Timezone/".concat(top._User.LanguageCode)).done(function(e){o.Timezones=$.map(e,function(e){return{value:e.Value,label:e.Label}}),o._addTimeZonesDropdown(t,a)}).fail(function(){Messages.error(_("ErrorWhenLoadingTimezones"))})},_addTimeZonesDropdown:function(e,t){var a=this;t.addDropdown({container:e,insertAfter:$(".timezone-dropdown").parent(),label:_("TimeZone"),object:this.p.timezone,property:"custom_value",id:"custom_value",combobox:{dataprovider:this.Timezones,appendToBody:!0},callback:function(){a._updateDom()}})},renderDataTab:function(e){e=e.ui;this._dataTabRendered||(e.append(this._getDataTabHeaderDom(),Mustache.render(this._getDataTabTableListDom())),this._initPresetSortableList(e),this._dataTabRendered=!0)},_getDataTabHeaderDom:function(){return'<header class="tabHeader">                  <p class="tabHeader">'.concat(_("DS3DataHeader"),'</p>                  <span class="tabDescription">').concat(_("DS3DataSubHeader"),"</span>                </header>")},_getDataTabTableListDom:function(){return'<div class="ds3_periods_container">                                            <button type="button" class="btn btn-default btn-grey addPreset">'.concat(_("DS3_Properties_AddStandardPreset"),'</button>                                            <button type="button" class="btn btn-default btn-grey addCustomPeriod">').concat(_("DS3_Properties_AddCustomPeriod"),'</button>                                            <div class="sortable_list_container"></div>                                         </div>')},_initPresetSortableList:function(e){var r=this;this.availablePeriods=s.slice(0,s.length),this.p.data.periods.length||this.p.data.periods.push({period:null,display_name:null}),this.sortableList=new SortableList({container:$(".ds3_periods_container .sortable_list_container"),object:this.p.data,property:"periods",onDeleteCallback:function(){r._onSortableListElementDeletion(e)},onSortCallback:function(){r._updateDom(!0)},columns:[{name:_("DS3_Properties_PeriodsLabel"),cellFormat:function(a,o,e){var t;"custom"===a.period?(t=$('<div class="custom"><span>'.concat(_("CustomPeriod"),'</span><div class="flexStretch"></div><i class="fa fa-cog customPeriodSettings"></i></div>')),o.append(t),$(".customPeriodSettings",t).off("click"),$(".customPeriodSettings",t).on("click",function(){Dialog.openVueDialog("/dashboard/ds3customperiod",{widget:r,dashboard:r.settings._original_widget.dashboard,obj:a,onSave:function(){r.sortableList.refreshSortable(),r._updateDom(),r.needsToTryUpdate()&&r.tryUpdate()}})})):(o.addClass("periodSelectorContainer"),t=$('<select class="periodSelector"></select>'),o.append(t),t.comboBox({appendToBody:!0,maxHeight:200,liTemplate:'<li class="presetElement" data-preset="{{value}}"><a href="javascript:void(0);"><label class="radio">{{label}}</label></a></li>',input:{placeholder:_("DS3_Properties_PeriodSelectorPlaceHolder")},enablePlaceholder:!0,placeholderLabel:_("DS3_Properties_PeriodSelectorPlaceHolder"),onChange:function(){var e,t=$(o).closest("tr");this.getValue()&&(r.p.data.periods.length||r.p.data.periods.push(a),a.period=this.getValue(),e=Utils.arrayFirst(s,function(e){return e.value===a.period}).label,a.display_name=e,$(".displayNameInput",t).prop("disabled",!1),$(".displayNameInput",t).val(e),r._updateDom())}}),t.comboBox("dataprovider",r.availablePeriods),a&&a.period&&t.comboBox("select",a.period),o.append(t))}},{name:_("DS3_Properties_DisplayNameLabel"),width:270,cellFormat:function(e,t){var a=$('<input type="text" class="displayNameInput" value="'.concat(e.display_name||"",'" />'));e.period?a.prop("disabled",!1):a.prop("disabled",!0),t.append(a)}}],noDelete:function(e){return"default"===e.operator}}),$(".addPreset",e).on("click",function(){r.sortableList.addNewObject({})}),$(".addCustomPeriod",e).on("click",function(){var e={base_date:moment().utc().format(),display_name:_("NewCustomPeriod"),from_date:moment().utc().format(),interval:1,interval_type:Enums.DS3IntervalType.Days,period:"custom",to_date:moment().add(1,"days").utc().format(),type:Enums.DS3CustomPeriodType.Fixed,type_of_period:Enums.DS3CustomTypeOfPeriod.Next};Dialog.openVueDialog("/dashboard/ds3customperiod",{widget:r,dashboard:r.settings._original_widget.dashboard,obj:e,onSave:function(){r.sortableList.addNewObject(e),r._updateDom(),r.needsToTryUpdate()&&r.tryUpdate()}})}),e.on("keyup",".displayNameInput",Utils.debounce(function(){$(this).closest("tr").data("properties").display_name=$(this).val(),r._updateDom()},200))},_onSortableListElementDeletion:function(e){this._updateDom(),$("tr",this.sortableList.body).length||(this.sortableList.addNewObject({}),this.p.default_selection_option===i&&(this.p.default_selection_option=n,this.p.default_selection_value=null,this._presetCurrentlySelected=null,this._presetIndexSelected=null,$(".defaultOptionSelector",e).comboBox("select",n)));var t=this.p.default_selection_value;Utils.arrayFirst(this.p.data.periods,function(e){return e.period===t})||(this.p.default_selection_value=null==(e=this.p.data.periods[0])?void 0:e.period)},onWidgetSettingsSaved:function(){this.selectedstartdate=null,this.selectedenddate=null,this.selectedperiod=null,this.selectedlabel=null,this.render(),this.needsToTryUpdate()&&this.tryUpdate()},getFormatTabs:function(){var e=[];return e.push({icon:"rectangle-shape.png",text:_("Background"),code:"container",renderer:this.getContainerProperties.bind(this)}),e.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),e.push({iconCode:"far fa-calendar-edit",text:_("CustomDatePickers"),code:"dropdown",renderer:this.getDropdownProperties.bind(this)}),e.push({iconCode:"far fa-calendar-day",text:_("CustomDatePanel"),code:"dropdownpanel",renderer:this.getDropdownPanelProperties.bind(this)}),e.push({iconCode:"far fa-calendar-star",text:_("DefaultPeriod"),code:"defaultperiod",renderer:this.getDefaultPeriodProperties.bind(this)}),e},getContainerProperties:function(e){var t=this.updateStyle.bind(this);e.addHeader({description:_("FormatBackgroundDesc"),text:_("FormatBackgroundTitle")}),e.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.container,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.container,property:"shadow",callback:t}),e.addSeparator()},getTextProperties:function(e){e.addHeader({description:_("FormatTextTitle"),text:_("Text")}),e.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),e.addSeparator()},getDefaultPeriodProperties:function(a){function e(e){switch(r.empty(),e.value){case n:o.p.default_selection_value=null,o.p.default_selection_date_from=null,o.p.default_selection_date_to=null,o._presetCurrentlySelected=null;break;case i:var t=o.p.data.periods.map(function(e,t){return{label:e.display_name,value:"custom"===e.period?"".concat(e.period).concat(t):e.period}});!o.p.default_selection_value&&t&&t.length&&(o.p.default_selection_value=t[0].value),a.addDropdown({callback:function(){o.render()},combobox:{dataprovider:t},container:r,label:_("Period"),object:o.p,property:"default_selection_value"});break;case p:o.p.default_selection_value=null,o._presetCurrentlySelected=null,a.addDatePicker({callback:function(){o.selectedstartdate=null,o.render()},container:r,label:_("DS3_Properties_FromLabel"),object:o.p,property:"default_selection_date_from"}),a.addDatePicker({callback:function(){o.selectedenddate=null,o.render()},container:r,label:_("DS3_Properties_ToLabel"),object:o.p,property:"default_selection_date_to"});break;case h:o.p.default_selection_value=null,o._presetCurrentlySelected=null,a.addFormulaInput({callback:function(){o.selectedstartdate=null,o.render()},container:r,dashboard:o.settings._original_widget.dashboard,label:_("From"),object:o.p,placeholder:_("DS3_Properties_FromLabel"),property:"default_selection_date_from",widget:o}),a.addFormulaInput({callback:function(){o.selectedenddate=null,o.render()},container:r,dashboard:o.settings._original_widget.dashboard,label:_("DS3_Properties_ToLabel"),object:o.p,placeholder:_("EnterFormulaHere"),property:"default_selection_date_to",widget:o})}o.render()}var o=this,r=(a.addHeader({description:_("DefaultPeriodDescription"),text:_("DefaultPeriod")}),a.addDropdown({callback:e,combobox:{dataprovider:[{label:_("DS3_Selection_Nothing"),value:n},{label:_("DS3_Selection_".concat(i)),value:i},{label:_("DS3_Selection_StartEndDate"),value:p},{label:_("DS3_Selection_StartEndDateBasedOnFormula"),value:h}]},label:_("DefaultTo"),object:this.p,property:"default_selection_option"}),a.addSection().addClass("nomargin"));a.content.append(r),e({value:this.p.default_selection_option})},getDropdownProperties:function(e){var t=this;e.addHeader({description:_("CustomDatePickersDescription"),text:_("CustomDatePickers")}),e.addFont({object:this.p.dropdown,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),e.addSeparator(),e.addFormat({label:_("Format"),object:this.p,property:"format",displayDdl:!0,dataTypes:[Enums.ClicFormat.DataType.Date],callback:function(){t._applyFormatToPickers()}}),$(".clicformat .initObject",e.ui.content).comboBox("disable"),e.addSeparator(),e.addText({object:this.p,property:"placeholder",placeholder:_("DS2Placeholder"),callback:this.updateStyle.bind(this),event:"focusout"}),e.addSeparator(),e.addColor({label:_("BackgroundColor"),object:this.p.dropdown,property:"background_color",callback:this.updateStyle.bind(this)}),e.addBoolean({label:_("Gradient"),object:this.p.dropdown,property:"gradient",callback:this.updateStyle.bind(this)}),e.addSeparator(),e.addBorder({object:this.p.dropdown,property:"border",callback:this.updateStyle.bind(this)}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.dropdown,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.dropdown,property:"dropdown_shadow",callback:this.updateStyle.bind(this)}),e.addSeparator()},getDropdownPanelProperties:function(e){var t=this.updateStyle.bind(this);e.addHeader({description:_("CustomDatePanelDescription"),text:_("CustomDatePanel")}),e.addFont({object:this.p.dropdown_panel,property:"font",callback:t,dropDown:!0}),e.addSeparator(),e.addColor({label:_("BackgroundColor"),object:this.p.dropdown_panel,property:"background_color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.dropdown_panel,property:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.dropdown_panel,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.dropdown_panel,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.dropdown_panel,property:"dropdown_shadow",callback:t}),e.addSeparator()},renderInteractionsTab:function(e){e.appendDropdownWithDynamicSection({label:_("InteractionType_OnValueChange"),object:this.p.interactions,property:"onvaluechange"}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},_getFormatedDate:function(e){return e?($(this.ui).removeClass("placeholder"),Utils.formatValue(e,this.p.format)):($(this.ui).addClass("placeholder"),this.p.placeholder||_("DS2Placeholder"))},_dateToString:function(e){return moment(e).format("YYYY-MM-DD HH:mm:ss")},_getLabelFromPeriod:function(t,e){var a=null;return(a=e?this.p.data.periods[e]:Utils.arrayFirst(this.p.data.periods,function(e){return e.period===t}))?a.display_name:null},applyStyleToTargetWidget:function(e){e=Utils.clone(e),e.allow_custom_period,e.colors,e.data,e.default_selection_date_from,e.default_selection_date_to,e.default_selection_option,e.default_selection_value,e.format,e.interactions,e.placeholder,e.style,e.timezone,e=_objectWithoutProperties(e,_excluded);this.p=Utils.deepMerge(this.p,e)}}})}();
//# sourceMappingURL=DS3-date-range-picker.js.map

var WidgetDS4={get_data_element_template:function(e,t){return $("<option>").attr("value",t).text(e).data({label:e,value:t})}};Widget.createType({id:"DS4",options:{min_width:50,width:200,height:30,min_height:30,max_height:70,formula_input:["data.min.formula","data.max.formula","data.default_value.formula"],formula_output:["period","selectedvalues","selectedvalue"],hasStyleProperty:!0},styles:["/Dashboard/Scripts/Widgets/WidgetDropdown.css"],properties:{type:"year",start_of_week_day:1,allow_multiple_selection:!1,display_checkboxes:!0,all_option_enabled:!1,all_option_label:null,none_option_enabled:!1,none_option_label:null,no_selection_label:null,data:{min:{type:"none",formula:"",fixed_value:null},max:{type:"none",formula:"",fixed_value:null},default_value:{type:"none",formula:"",fixed_values:null}},container:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:0,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,0.5)"},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"right",color:"rgba(0,0,0,1)"},label_prefix:null,label_formatting:null,interactions:{ondblclick:null,onhover:null}},prototype:{init:function(){this.bindEvents(),this.tryUpdate()},createProperties:function(){this.createProperty("period"),this.createProperty("selectedvalues"),this.createProperty("selectedvalue")},updateProperties:function(){var e=$("select",this.ui).widgetDropdown("getSelectedLabelsAndValues").values;this.period=this.p.type,this.selectedvalues=e,this.selectedvalue=null,e&&0<e.length&&(this.selectedvalue=e[0])},resetState:function(e){var t=$("select option",this.ui),a=$("select",this.ui);e.selectedIndexes?e.selectedIndexes.forEach(function(e){a.widgetDropdown("select",$(t[e]).data("value"))}):$(t[0]).data("value")?a.widgetDropdown("select",$(t[0]).data("value")):a.widgetDropdown("clearSelection"),this.updateProperties()},updateState:function(){var t=$("select option",this.ui).get().map(function(e){return $(e).data("value")}),a=[];this.selectedvalues.forEach(function(e){-1<t.indexOf(e)&&a.push(t.indexOf(e))}),this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{period:this.period,selectedIndexes:a})},bindEvents:function(){var e=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){e.updateStyle()}),this.on("propertieschanged",function(){e.render(),e.updateProperties()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"resizing"),function(){e.updateDropdownSizesAndPaddings()})}),this.on(WidgetLayer.Events.RESIZED,function(){e.updateDropdownSizesAndPaddings(),e.injectDropdownElementsCSS()})),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},setCustomError:function(){this.render()},render:function(){var e,t=this;this._rendered?(e=$("select",this.ui)).widgetDropdown("destroy"):e=$("<select>").appendTo(this.ui),e.attr("multiple",!!this.p.allow_multiple_selection&&"multiple"),this.appendDataToList(),e.widgetDropdown({includeSelectAllOption:this.p.all_option_enabled,selectAllText:this.p.all_option_label||_("SelectAll"),containerClasses:e.attr("multiple")?"multiple":"",enablePlaceholder:this.p.none_option_enabled,checkboxName:this.guid,placeholderLabel:this.p.none_option_label,nonSelectedText:this.p.no_selection_label||_("ComboboxDefaultNonSelectedText"),onDropdownShow:function(){$(".date-container").each(function(){$(this).datetimepicker("hide")}),$(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),t.container.css("zIndex",4e3),t._from||DashboardUtils.fitDropdownWithinBounds(e.parent(),t,t.dashboard,0),t.container.addClass("opened")},onDropdownHide:function(){$(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),t.container.css("zIndex",t.zindex),t.container.removeClass("opened")},input:{placeholder:this.p.none_option_label},onChange:function(){t.updateProperties(),t.updateState()}}),this.updateStyle(),this.applyDefaultSelection(),this.updateProperties(),this.handleTooltipState(),this._rendered=!0,this._loaded=!0},appendDataToList:function(){$("select",this.ui).empty();for(var e=this.applyMinValue(this.getPeriodData()),e=this.applyMaxValue(e),t=0;t<e.length;t++){var a=WidgetDS4.get_data_element_template(e[t].label,e[t].value);$("select",this.ui).append(a)}},applyMinValue:function(e){var t,a,i=this;if(e&&0<e.length)return-1!=(t=Utils.arrayFirstIndex(e,function(e){return e.value==i.getPropertyDataValue("min")}))?(a=e.slice(0)).splice(t,a.length):e},applyMaxValue:function(e){var t,a=this;if(e&&0<e.length)return-1!=(t=Utils.arrayFirstIndex(e,function(e){return e.value==a.getPropertyDataValue("max")}))?e.slice(0).splice(0,t+1):e},applyDefaultSelection:function(){var e=this.getPropertyDataValue("default_value");e&&"all"===e?$("select",this.ui).widgetDropdown("selectall",!0):$("select",this.ui).widgetDropdown("select",e)},resetDataProperties:function(){this.p.data.min.type="none",this.p.data.min.fixed_value=null,this.p.data.min.formula=null,this.p.data.min.formula_result=null,this.p.data.max.type="none",this.p.data.max.fixed_value=null,this.p.data.max.formula=null,this.p.data.max.formula_result=null,this.p.data.default_value.type="none",this.p.data.default_value.fixed_values=null,this.p.data.default_value.formula=null,this.p.data.default_value.formula_result=null},getPropertyDataValue:function(e){switch(this.p.data[e].type){case"all":if(this.p.allow_multiple_selection)return"all";break;case"formula":return this.p.data[e].formula_result;case"specific":return this.p.data[e].fixed_value||this.p.data[e].fixed_values;case"current":var t=moment();switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:return t.date();case Enums.WidgetDS4PeriodType.Weekday:return t.day();case Enums.WidgetDS4PeriodType.Weekly:return t.isoWeek();case Enums.WidgetDS4PeriodType.Monthly:return t.month()+1;case Enums.WidgetDS4PeriodType.Quarterly:return t.quarter();case Enums.WidgetDS4PeriodType.Trimesterly:return Math.floor(t.month()/4+1);case Enums.WidgetDS4PeriodType.Yearly:return t.year()}break;case"previous":t=moment();switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:return t.subtract(1,"days").date();case Enums.WidgetDS4PeriodType.Weekday:return t.subtract(1,"days").day();case Enums.WidgetDS4PeriodType.Weekly:return t.subtract(1,"weeks").isoWeek();case Enums.WidgetDS4PeriodType.Monthly:return t.subtract(1,"months").month()+1;case Enums.WidgetDS4PeriodType.Quarterly:return t.subtract(1,"quarters").quarter();case Enums.WidgetDS4PeriodType.Trimesterly:return 1==(a=Math.floor(t.month()/4+1))?3:a-1;case Enums.WidgetDS4PeriodType.Yearly:return t.year()-1}break;case"next":var a,t=moment();switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:return t.add(1,"days").date();case Enums.WidgetDS4PeriodType.Weekday:return t.add(1,"days").day();case Enums.WidgetDS4PeriodType.Weekly:return t.add(1,"weeks").isoWeek();case Enums.WidgetDS4PeriodType.Monthly:return t.add(1,"months").month()+1;case Enums.WidgetDS4PeriodType.Quarterly:return t.add(1,"quarters").quarter();case Enums.WidgetDS4PeriodType.Trimesterly:return 3==(a=Math.floor(t.month()/4+1))?1:a+1;case Enums.WidgetDS4PeriodType.Yearly:return t.year()+1}}},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family),this.ui.find(".dropdown-menu").css({left:-this.p.container.border.value,top:this.container.outerHeight()-this.p.container.border.value});var e=this.getShadowCssFromShadowConfiguration(this.p.container.shadow);$(".dropdown-toggle",this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-size":"".concat(this.p.font.size,"px"),"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal",border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":"none"!=e?e:"none"}),$(".widgetdropdown-dropdown-container",this.ui).css({background:this.p.container.background_color,border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),"margin-top":"-".concat(this.p.container.border.width,"px")}),$(".os-scrollbar-vertical",this.ui).css({"border-width":this.p.container.border.width||0,"border-color":this.p.container.border.color}),$(".dropdown-menu",this.ui).toggleClass("invisible-checkboxes",this.p.allow_multiple_selection&&!this.p.display_checkboxes),this.updateDropdownSizesAndPaddings(),this.injectDropdownElementsCSS()},injectDropdownElementsCSS:function(){var e={},t=(e[".ui .dropdown-menu li a"]="color: ".concat(this.p.font.color,";                                            font-size: ").concat(this.p.font.size,"px;                                            text-shadow: ").concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";                                            text-decoration: ").concat(this.p.font.underline?"underline":"none",";                                            font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";                                            font-style: ").concat(this.p.font.italic?"italic":"normal",";"),DashboardUtils.parseRGBA(this.p.font.color)),a="color: rgba(".concat(t.r,", ").concat(t.g,", ").concat(t.b," , 0.7)"),a=(this.p.container.placeholder_color&&(a="color:  ".concat(this.p.container.placeholder_color,";")),a+="".concat(this.p.font.size,"px;"),e[".ui .dropdown-toggle > input::-webkit-input-placeholder"]=a,e[".ui .dropdown-toggle > input:-moz-placeholder"]=a,e[".ui .dropdown-toggle > input::-moz-placeholder"]=a,e[".ui .dropdown-toggle > input:-ms-input-placeholder"]=a,"rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.1,");")),t=(e[".ui .cd-widgetDropdown .dropdown-menu li:hover"]="background-color:".concat(a),e[".ui .cd-widgetDropdown .dropdown-menu li a:focus"]="background-color:".concat(a),e[".ui .cd-widgetDropdown .dropdown-menu li.active"]="background-color:".concat(a),e[".ui .cd-widgetDropdown .dropdown-menu li i"]="width:".concat(this.p.font.size,"px"),this.getLabelPadding());e[".ui .cd-widgetDropdown .dropdown-menu li label"]="padding-left: ".concat(t,"px;                                                                    padding-right: ").concat(t,"px;"),Utils.AppendCSSToPage("#widget_".concat(this.guid),e)},updateDropdownSizesAndPaddings:function(){var e=this.getLabelPadding();$(".dropdown-toggle .toggleIcon",this.ui).css({width:"".concat(this.p.font.size,"px"),"font-size":"".concat(this.p.font.size,"px"),right:"".concat(Math.max(e,7),"px")}),$(".dropdown-toggle",this.ui).css({"font-size":"".concat(this.p.font.size,"px"),padding:"0 {0} 0 {1}".format("".concat(e+this.p.font.size,"px"),"".concat(e,"px"))})},getLabelPadding:function(){return 20==this.ui.height()?7:Math.min((this.ui.height()-this.p.font.size)/2,18)},getBackgroundValue:function(){return this.p.container.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color},renderPropertiesTab:function(e){function t(){$("#prop_week_start").toggle(a.p.type==Enums.WidgetDS4PeriodType.Weekly)}var a=this,i=e.ui.content;e.settings.Format.addDropdown({container:i,id:"properties_period_type",combobox:{dataprovider:[{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Daily)),value:Enums.WidgetDS4PeriodType.Daily},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Weekday)),value:Enums.WidgetDS4PeriodType.Weekday},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Weekly)),value:Enums.WidgetDS4PeriodType.Weekly},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Monthly)),value:Enums.WidgetDS4PeriodType.Monthly},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Quarterly)),value:Enums.WidgetDS4PeriodType.Quarterly},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Trimesterly)),value:Enums.WidgetDS4PeriodType.Trimesterly},{label:_("DS4PeriodType_{0}".format(Enums.WidgetDS4PeriodType.Yearly)),value:Enums.WidgetDS4PeriodType.Yearly}]},callback:function(){a.p.label_formatting=a.getDefaultFormatting(),a.p.label_prefix=a.getDefaultPrefix(),a.resetDataProperties(),a.render(),t()},label:_("Type"),object:this.p,property:"type"}),e.settings.Format.addDropdown({container:i,id:"week_start",combobox:{dataprovider:[{label:_("Sunday"),value:0},{label:_("Monday"),value:1},{label:_("Tuesday"),value:2},{label:_("Wednesday"),value:3},{label:_("Thursday"),value:4},{label:_("Friday"),value:5},{label:_("Saturday"),value:6}]},callback:function(){a.render(),a.updateProperties()},label:_("StartWeekOn"),object:a.p,property:"start_of_week_day"}),t(),e.settings.Format.addBoolean({container:i,label:_("MultipleSelection"),object:this.p,property:"allow_multiple_selection",callback:this.render.bind(this)})},renderDataTab:function(e){var a=this,t=e.ui,i=(t.empty(),t.addClass("propertiesContainer"),t.append(Mustache.render('<div class="properties ds4_data_properties">                            <div id="min_value_properties" data-property="min" class="property_dynamic">                                <label>                                    <span class="label">{{min_value_label}}</span>                                    <div class="ctrl">                                        <select class="data_type data_type_simple"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                            <div id="max_value_properties" data-property="max" class="property_dynamic">                                <label>                                    <span class="label">{{max_value_label}}</span>                                    <div class="ctrl">                                        <select class="data_type data_type_simple"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                            <div id="default_value_properties" data-property="default_value" class="property_dynamic">                                <label>                                    <span class="label">{{default_value_label}}</span>                                    <div class="ctrl">                                        <select class="data_type data_type_extended"></select>                                        <div class="dynamic_control"></div>                                    </div>                                </label>                            </div>                        </div>',{min_value_label:_("MinimumValue"),max_value_label:_("MaximumValue"),default_value_label:_("DefaultSelection")})),$(".data_type",t).comboBox({onChange:function(){var e=$(".dynamic_control",this.$container.closest(".property_dynamic")),t=this.$container.closest(".property_dynamic").data("property");a.p.data[t].type=this.getValue(),a.renderPropertiesDynamicControl(t,e),a.render()}}),this.getDefaultDataTypes());$(".data_type_simple",t).comboBox("dataprovider",i);this.p.allow_multiple_selection&&this.p.all_option_enabled&&i.splice(1,0,{label:_("All"),value:"all"}),$(".data_type_extended",t).comboBox("dataprovider",i),$("#min_value_properties .data_type",t).comboBox("select",this.p.data.min.type),this.renderPropertiesDynamicControl("min",$("#min_value_properties .dynamic_control")),$("#max_value_properties .data_type",t).comboBox("select",this.p.data.max.type),this.renderPropertiesDynamicControl("max",$("#max_value_properties .dynamic_control")),$("#default_value_properties .data_type",t).comboBox("select",this.p.data.default_value.type),this.renderPropertiesDynamicControl("default_value",$("#default_value_properties .dynamic_control")),this.renderAdditionalItemsControls(t,e)},renderPropertiesDynamicControl:function(e,t){switch(t.empty(),this.p.data[e].type){case"formula":this._renderPropertiesFormulaInput(t,e);break;case"specific":this._renderPropertiesPeriodSelector(t,e)}},_renderPropertiesFormulaInput:function(e,t){var a=this;this.settings.Format.addFormulaInput({container:e,widget:a,dashboard:a.settings._original_widget.dashboard,object:this.p.data[t],grid:!0,dropup:!0,property:"formula",callback:function(e){a.settings.Data._isDirty=!0,a.tryUpdate()}})},_renderPropertiesPeriodSelector:function(e,t){var a,i=this,n=$('<select class="period_selector"></select>');switch(e.append(n),"default_value"==t&&this.p.allow_multiple_selection&&$(".period_selector",e).attr("multiple","multiple"),$(".period_selector",e).comboBox({includeSelectAllOption:this.p.all_option_enabled,containerClasses:n.attr("multiple")?"multiple":"",checkboxName:this.guid,onChange:function(){var e=this.getSelectedLabelsAndValues().values;"min"==t||"max"==t?(i.p.data[t].fixed_value=e[0],i.updatePropertiesPeriodSelector(t)):i.p.data[t].fixed_values=e,i.render()}}),t){case"min":a=this.applyMaxValue(this.getPeriodData());break;case"max":a=this.applyMinValue(this.getPeriodData());break;case"default_value":a=this.applyMinValue(this.getPeriodData()),a=this.applyMaxValue(a)}$(".period_selector",e).comboBox("dataprovider",a),$(".period_selector",e).comboBox("select",this.p.data[t].fixed_value||i.p.data[t].fixed_values)},updatePropertiesPeriodSelector:function(e){for(var t=$(".property_dynamic").not('[data-property="{0}"]'.format(e)),a=0;a<t.length;a++){var i=t.eq(a).attr("data-property"),n=$(".dynamic_control",t.eq(a));this.renderPropertiesDynamicControl(i,n)}},renderAdditionalItemsControls:function(e,t){var a=this,e=($(".dropdown_display_additional_item_container",e).remove(),$(".dropdown_additional_item_label_container",e).remove(),e.append(Mustache.render('<div class="dropdown_display_additional_item_container">                            <label class="label" for="additional_item_label_input">{{additional_item_label}}</label>                            <input id="additional_item_switch" cd-flipswitch type="checkbox" {{#additional_item_enabled}}checked{{/additional_item_enabled}}  />                        </div>                        <div class="dropdown_additional_item_label_container">                            <label class="label" for="additional_item_label_input">{{additional_item_input_label}}</label>                            <input class="cd-input" type="text" id="additional_item_label_input" placeholder="{{input_placeholder}}" />                        </div>',{additional_item_label:this.p.allow_multiple_selection?_("DisplayAllOption"):_("DisplayNoneOption"),additional_item_input_label:_("Label"),additional_item_enabled:this.p.allow_multiple_selection&&this.p.all_option_enabled||!this.p.allow_multiple_selection&&this.p.none_option_enabled,input_placeholder:this.p.allow_multiple_selection?_("SelectAll"):_("NoneLabel")})),this.p.allow_multiple_selection?this.p.all_option_label:this.p.none_option_label);$("#additional_item_label_input").val(e),$("#additional_item_switch").flipSwitch().on("change",function(){a.p.allow_multiple_selection?(a.p.all_option_enabled=$(this).prop("checked"),a.p.all_option_enabled||"all"!==a.p.data.default_value.type||(a.p.data.default_value.type="none",a.applyDefaultSelection()),a.renderDataTab(t)):a.p.none_option_enabled=$(this).prop("checked"),a.render()}),$("#additional_item_label_input").on("change keyup",Utils.debounce(function(){a.p.allow_multiple_selection?a.p.all_option_label=$(this).val():a.p.none_option_label=$(this).val(),a.render()},200))},updateService:"Formulas",updateServiceSuccess:function(e){this.p.data.min.formula_result=e[0].value,this.p.data.max.formula_result=e[1].value,this.p.data.default_value.formula_result=e[2].value,this.render(),this.getAndApplyWidgetSelection(),this.updateState()},refreshFromDataDependency:function(e,t){var a=!1;"formula"==this.p.data.min.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.min.formula,t)&&(a=!0),"formula"==this.p.data.max.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.max.formula,t)&&(a=!0),(a="formula"==this.p.data.default_value.type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.default_value.formula,t)?!0:a)&&this.tryUpdate()},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Value"),code:"text",renderer:this.getTextProperties.bind(this)}),e.push({icon:"dropdown-shape.png",text:_("Container"),code:"container",renderer:this.getContainerProperties.bind(this)}),e},getContainerProperties:function(e){var t=this.updateStyle.bind(this);e.addHeader({description:_("INFormatShapeDesc"),text:_("Container")}),e.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:t}),e.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:t}),e.addSeparator(),e.addBorder({object:this.p.container,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:t,interval:1,min:0,max:30,valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({object:this.p.container,property:"shadow",callback:t}),e.addSeparator()},getTextProperties:function(e){e.addHeader({description:_("INFormatValueDesc"),text:_("Value")}),e.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),e.addSeparator(),e.addText({object:this.p,property:"label_prefix",label:_("Prefix"),callback:this.render.bind(this),event:"focusout"}),e.addDropdown({label:_("DisplayAs"),object:this.p,property:"label_formatting",combobox:{dataprovider:this.getLabelsFormattings()},callback:this.render.bind(this)}),e.addSeparator(),this.p.allow_multiple_selection&&(e.addBoolean({label:_("DisplayCheckboxes"),object:this.p,property:"display_checkboxes",callback:this.updateStyle.bind(this)}),e.addText({object:this.p,property:"no_selection_label",placeholder:_("ComboboxDefaultNonSelectedText"),callback:this.render.bind(this),event:"focusout"}),e.addSeparator()),e.addText({object:this.p,property:"none_option_label",label:_("PlaceholderTextLabel"),placeholder:_("In2PLaceHolderOption"),callback:this.updateStyle.bind(this),event:"focusout"}),e.addColor({label:_("Color"),object:this.p.container,dropDown:!1,property:"placeholder_color",callback:this.updateStyle.bind(this)}),e.addSeparator()},getLabelsFormattings:function(){var e=[];switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:e=this._getDaysFormattings();break;case Enums.WidgetDS4PeriodType.Weekday:e=this._getWeekdaysFormattings();break;case Enums.WidgetDS4PeriodType.Weekly:e=this._getWeeksFormattings();break;case Enums.WidgetDS4PeriodType.Monthly:e=this._getMonthsFormattings();break;case Enums.WidgetDS4PeriodType.Quarterly:e=this._getQuartersFormattings();break;case Enums.WidgetDS4PeriodType.Trimesterly:e=this._getTrimesterFormattings();break;case Enums.WidgetDS4PeriodType.Yearly:e=this._getYearsFormattings()}return e},getDefaultFormatting:function(){var e=null;switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:case Enums.WidgetDS4PeriodType.Weekday:e=Enums.WidgetDS4FormattingType.Long;break;case Enums.WidgetDS4PeriodType.Weekly:e=Enums.WidgetDS4FormattingType.LongInt;break;case Enums.WidgetDS4PeriodType.Monthly:e=Enums.WidgetDS4FormattingType.Long;break;case Enums.WidgetDS4PeriodType.Quarterly:case Enums.WidgetDS4PeriodType.Trimesterly:e=Enums.WidgetDS4FormattingType.ShortInt}return e},getDefaultPrefix:function(){switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:return _("WidgetDS4Day");case Enums.WidgetDS4PeriodType.Quarterly:return _("WidgetDS4Quarter");case Enums.WidgetDS4PeriodType.Trimesterly:return _("WidgetDS4Trimester");case Enums.WidgetDS4PeriodType.Weekly:return _("WidgetDS4Week")}return null},_getDaysFormattings:function(){return[{label:"1",value:Enums.WidgetDS4FormattingType.ShortInt},{label:"01",value:Enums.WidgetDS4FormattingType.LongInt}]},_getWeekdaysFormattings:function(){return[{label:_("DS4WeekdayDayLabel_1_long"),value:Enums.WidgetDS4FormattingType.Long},{label:_("DS4WeekdayDayLabel_1_short"),value:Enums.WidgetDS4FormattingType.Short},{label:"01",value:Enums.WidgetDS4FormattingType.Short},{label:"01",value:Enums.WidgetDS4FormattingType.Initial}]},_getWeeksFormattings:function(){return[{label:"1",value:Enums.WidgetDS4FormattingType.ShortInt},{label:"01",value:Enums.WidgetDS4FormattingType.LongInt}]},_getMonthsFormattings:function(){return[{label:_("DS4MonthlyMonthLabel_1_long"),value:Enums.WidgetDS4FormattingType.Long},{label:_("DS4MonthlyMonthLabel_1_short"),value:Enums.WidgetDS4FormattingType.Short},{label:"1",value:Enums.WidgetDS4FormattingType.ShortInt},{label:"01",value:Enums.WidgetDS4FormattingType.LongInt}]},_getQuartersFormattings:function(){return[{label:"1",value:Enums.WidgetDS4FormattingType.ShortInt},{label:"01",value:Enums.WidgetDS4FormattingType.LongInt}]},_getTrimesterFormattings:function(){return[{label:"1",value:Enums.WidgetDS4FormattingType.ShortInt},{label:"01",value:Enums.WidgetDS4FormattingType.LongInt}]},_getYearsFormattings:function(){return null},renderInteractionsTab:function(e){e.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},getDefaultDataTypes:function(){var e=[];switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:case Enums.WidgetDS4PeriodType.Weekday:e=[{label:_("None"),value:"none"},{label:_("LastDay"),value:"previous"},{label:_("CurrentDay"),value:"current"},{label:_("NextDay"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}];break;case Enums.WidgetDS4PeriodType.Weekly:e=[{label:_("None"),value:"none"},{label:_("LastWeek"),value:"previous"},{label:_("CurrentWeek"),value:"current"},{label:_("NextWeek"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}];break;case Enums.WidgetDS4PeriodType.Monthly:e=[{label:_("None"),value:"none"},{label:_("LastMonth"),value:"previous"},{label:_("CurrentMonth"),value:"current"},{label:_("NextMonth"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}];break;case Enums.WidgetDS4PeriodType.Quarterly:e=[{label:_("None"),value:"none"},{label:_("LastQuarter"),value:"previous"},{label:_("CurrentQuarter"),value:"current"},{label:_("NextQuarter"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}];break;case Enums.WidgetDS4PeriodType.Trimesterly:e=[{label:_("None"),value:"none"},{label:_("LastTrimester"),value:"previous"},{label:_("CurrentTrimester"),value:"current"},{label:_("NextTrimester"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}];break;case Enums.WidgetDS4PeriodType.Yearly:e=[{label:_("None"),value:"none"},{label:_("PreviousYear"),value:"previous"},{label:_("CurrentYear"),value:"current"},{label:_("NextYear"),value:"next"},{label:_("Specific"),value:"specific"},{label:_("Formula"),value:"formula"}]}return e},getPeriodData:function(){var e=[];switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:e=this._getDaysData();break;case Enums.WidgetDS4PeriodType.Weekday:e=this._getWeekdaysData();break;case Enums.WidgetDS4PeriodType.Weekly:e=this._getWeeksData();break;case Enums.WidgetDS4PeriodType.Monthly:e=this._getMonthsData();break;case Enums.WidgetDS4PeriodType.Quarterly:e=this._getQuartersData();break;case Enums.WidgetDS4PeriodType.Trimesterly:e=this._getTrimesterData();break;case Enums.WidgetDS4PeriodType.Yearly:e=this._getYearsData()}return e},_getDaysData:function(){for(var e=[],t=1;t<=31;t++){var a=this.p.label_formatting==Enums.WidgetDS4FormattingType.LongInt?this.formatIntWithLeadingZero(t):t;e.push({label:(this.p.label_prefix||"")+a,value:t})}return e},_getWeekdaysData:function(){for(var e=[],t=0;t<=6;t++)e.push({label:(this.p.label_prefix||"")+_("DS4WeekdayDayLabel_{0}_{1}".format(t,this.p.label_formatting)),value:t});return e},_getWeeksData:function(){for(var e=[],t=1;t<=53;t++){var a=this.p.label_formatting==Enums.WidgetDS4FormattingType.LongInt?this.formatIntWithLeadingZero(t):t;e.push({label:(this.p.label_prefix||"")+a,value:t})}return e},_getMonthsData:function(){for(var e,t=[],a=1;a<=12;a++){switch(this.p.label_formatting){case Enums.WidgetDS4FormattingType.Short:case Enums.WidgetDS4FormattingType.Long:e=_("DS4MonthlyMonthLabel_{0}_{1}".format(a,this.p.label_formatting));break;case Enums.WidgetDS4FormattingType.LongInt:e=this.formatIntWithLeadingZero(a);break;default:e=a}t.push({label:(this.p.label_prefix||"")+e,value:a})}return t},_getQuartersData:function(){for(var e=[],t=1;t<=4;t++)label=this.p.label_formatting==Enums.WidgetDS4FormattingType.LongInt?this.formatIntWithLeadingZero(t):t,e.push({label:this.p.label_prefix+label,value:t});return e},_getTrimesterData:function(){for(var e=[],t=1;t<=3;t++)label=this.p.label_formatting==Enums.WidgetDS4FormattingType.LongInt?this.formatIntWithLeadingZero(t):t,e.push({label:this.p.label_prefix+label,value:t});return e},_getYearsData:function(){for(var e=[],t=1970;t<=(new Date).getFullYear()+30;t++)e.push({label:t,value:t});return e},getDatesFromValues:function(e){for(var t,a=[],i=[],n=0;n<e.length;n++){switch(this.p.type){case Enums.WidgetDS4PeriodType.Daily:t=this.getDatesFromDay(e[n],(new Date).getMonth(),(new Date).getFullYear());break;case Enums.WidgetDS4PeriodType.Weekday:t=this.getDatesFromWeekday(e[n]);break;case Enums.WidgetDS4PeriodType.Weekly:t=this.getDatesFromWeek(e[n],(new Date).getFullYear(),this.p.start_of_week_day);break;case Enums.WidgetDS4PeriodType.Monthly:t=this.getDatesFromMonth(e[n],(new Date).getFullYear());break;case Enums.WidgetDS4PeriodType.Quarterly:t=this.getDatesFromQuarter(e[n],(new Date).getFullYear());break;case Enums.WidgetDS4PeriodType.Trimesterly:t=this.getDatesFromTrimester(e[n],(new Date).getFullYear());break;case Enums.WidgetDS4PeriodType.Yearly:t=this.getDatesFromYear(e[n])}a.push(t.startDate.toISOString()),i.push(t.endDate.toISOString())}return{startDates:a,endDates:i}},getDatesFromDay:function(e,t,a){return{startDate:new Date(Date.UTC(a,t,e)),endDate:new Date(Date.UTC(a,t,e,23,59,59,999)),day:e,month:t,year:a}},getDatesFromWeekday:function(e){var t=new Date,e=e-t.getDay(),e=(0<e&&(e-=7),t.getDate()+e);return{startDate:new Date(Date.UTC(t.getFullYear(),t.getMonth(),e)),endDate:new Date(Date.UTC(t.getFullYear(),t.getMonth(),e,23,59,59,999))}},getDatesFromWeek:function(e,t,a){null==a&&(a=0);var i=new Date(Date.UTC(t,0,1)),n=4-i.getDay();i.setDate(i.getDate()+n);var n=e,a=(moment(i).isoWeek()<=1&&--n,i.setDate(i.getDate()+7*n),n=0==a?3:a-4,i.setDate(i.getDate()+n),new Date(Date.UTC(i.getFullYear(),i.getMonth(),i.getDate()+6)));return{startDate:i,endDate:a,week:e,year:t}},getDatesFromMonth:function(e,t){return{startDate:new Date(Date.UTC(t,e-1,1)),endDate:new Date(Date.UTC(t,e,0)),month:e,year:t}},getDatesFromQuarter:function(e,t){var a=3*(e-1),i=2+a;return{startDate:new Date(Date.UTC(t,a,1)),endDate:new Date(Date.UTC(t,1+i,0)),quarter:e,year:t}},getDatesFromTrimester:function(e,t){var a=4*(e-1),i=3+a;return{startDate:new Date(Date.UTC(t,a,1)),endDate:new Date(Date.UTC(t,1+i,0)),trimester:e,year:t}},getDatesFromYear:function(e){return{startDate:new Date(Date.UTC(e,0,1,(new Date).getHours())),endDate:new Date(Date.UTC(e+1,0,0)),year:e}},formatIntWithLeadingZero:function(e){return(e=1<e.toString().length?e:"0".concat(e)).toString()}}});
//# sourceMappingURL=DS4-period-dropdown.js.map

Widget.createType({id:"DI4",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula"],formula_output:["selectedweight","selectedfrom","selectedto"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/sankey.js","/Libraries/Highcharts/modules/dependency-wheel.js"],properties:{style:null,colors:null,data_id:null,type:"sankey",data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:null,custom:null},nodes:{valign:"middle",width:20,content:"{{this.point.name}}",border:{width:1,color:"#cccccc"}},paths:{curveFactor:.33,opacity:.5},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0,margins:{top:30,bottom:30,left:20,right:20},plot_background:{enabled:!1,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.point.from}} -> {{this.point.to}}: <b>{{this.point.weight}}</b>",node_content:"{{this.point.name}}: <b>{{this.point.sum}}</b>",node_format:{custom_format_enabled:!1,custom_formats:[]},shadow:!0,path_format:{custom_format_enabled:!1,custom_formats:[]},background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{ondblclick:null}},prototype:{createOutputProperties:function(){this.createProperty("selectedweight"),this.createProperty("selectedfrom"),this.createProperty("selectedto"),this.resetSelectedOutput()},updateOutputFromPoint:function(t){t.isNode?(this.selectedfrom=t.name,this.selectedto=t.name,this.selectedweight=t.sum):(this.selectedfrom=t.from,this.selectedto=t.to,this.selectedweight=t.weight),this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedfrom:this.selectedfrom,selectedto:this.selectedto,selectedweight:this.selectedweight})},resetState:function(t){this.selectedfrom=t.selectedfrom,this.selectedto=t.selectedto,this.selectedweight=t.selectedweight},resetSelectedOutput:function(){this.selectedfrom=null,this.selectedto=null,this.selectedweight=null},getColumnsFormat:function(){return[]},_getHighchartsTooltip:function(){var t=this,e=this.p.tooltip;return e&&this._lastvisibilityValue&&e.display&&(e.content||e.node_content)?{enabled:!0,shared:!1,useHTML:!0,shadow:e.shadow,outside:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:e.background.border.width,borderColor:e.background.border.color,borderRadius:e.background.roundness,backgroundColor:e.background.color,formatter:function(){return e.node_content&&"node"===this.point.formatPrefix?DashboardUtils.formatWidgetCustomContent(t.getTooltipValueFromContext("node_tooltip",this.point),e.node_content,e.node_format):!(!e.content||"point"!==this.point.formatPrefix)&&DashboardUtils.formatWidgetCustomContent(t.getTooltipValueFromContext("tooltip",this.point),e.content,e.path_format)}}:{enabled:!1}},getTooltipValueFromContext:function(t,e){var a;return"tooltip"===t?(a=e.fromNode.linksFrom.reduce(function(t,e){return t+e.weight},0),a=100*e.weight/a,[{regex:"this.point.from",value:e.from},{regex:"this.point.to",value:e.to},{regex:"this.point.weight",value:e.weight},{regex:"this.point.percentage",value:a}]):"node_tooltip"===t?[{regex:"this.point.name",value:e.name},{regex:"this.point.sum",value:e.sum}]:void 0},_getHighchartsChart:function(){return{zoomType:!Utils.isMobileDevice()&&this.p.interactions.allow_zoom?"x":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:this.p.background.plot_background.enabled?this.p.background.plot_background.border.width:0,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},width:this.width,spacingTop:this.p.background.margins.top,spacingLeft:this.p.background.margins.left,spacingBottom:this.p.background.margins.bottom,spacingRight:this.p.background.margins.right}},_getHighchartsTitle:function(t){return t.font.halign||(t.font.halign="center"),Utils.FontUtils.loadFont(t.font.family),{text:Utils.disableHTML(t.text),align:t.font.halign||"center",style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}}},_getHighchartsPlotOptions:function(){var t=this,e={column:{grouping:!0},series:{animation:!1,shadow:!1,turboThreshold:1e3,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0,crop:!1,overflow:"none"}}},a=this.p.nodes,o=this.p.paths;return e[this.p.type]={borderWidth:a.border.width,borderColor:a.border.color,nodeWidth:a.width,curveFactor:o.curveFactor,dashStyle:"dot",dataLabels:{useHTML:!0,style:{color:"none",fontWeight:"none",textOutline:"1px contrast"},overflow:"justify",verticalAlign:"top"===a.valign?"top":"bottom"===a.valign?"bottom":"middle",nodeFormatter:function(){if(a.content)return DashboardUtils.formatWidgetCustomContent(t.getTooltipValueFromContext("node_tooltip",this.point),a.content,a)}}},e},_getHighchartsSeries:function(){var e=this;return[{keys:["from","to","weight"],data:this._Data.data.map(function(t){return{from:t[0],to:t[1],weight:t[2]}}),type:this.p.type||"sankey",linkOpacity:this.p.paths.opacity,size:"dependencywheel"===this.p.type?"95%":"100%",point:{events:{click:function(t){e.updateOutputFromPoint(t.point)}}}}]},init:function(){ChartUtils.resetSelectedOutputs(this),this.p.data.custom||(this.p.data.custom=[["From","To","Weight"],["Angola","China",5],["Angola","India",1],["Angola","Japan",3],["Brazil","England",1],["Brazil","France",1],["Brazil","Portugal",5],["Brazil","Spain",1],["Canada","England",1],["Canada","France",5],["Canada","Portugal",1],["England","Angola",1],["England","Morocco",2],["England","Senegal",1],["England","South Africa",7],["France","Angola",1],["France","Mali",3],["France","Morocco",3],["France","Senegal",3],["France","South Africa",1],["Mali","China",5],["Mali","India",1],["Mali","Japan",3],["Mexico","England",1],["Mexico","France",1],["Mexico","Portugal",1],["Mexico","Spain",5],["Morocco","China",5],["Morocco","India",1],["Morocco","Japan",3],["Portugal","Angola",2],["Portugal","Morocco",1],["Portugal","Senegal",1],["Portugal","South Africa",3],["Senegal","China",5],["Senegal","India",1],["Senegal","Japan",3],["South Africa","China",5],["South Africa","India",1],["South Africa","Japan",3],["Spain","Morocco",3],["Spain","Senegal",1],["Spain","South Africa",1],["USA","England",5],["USA","France",1],["USA","Portugal",1],["USA","Spain",1]]),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(e.ui)}),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.render()}.bind(this)),this.on("stylechanged",function(){this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},onVisibilityChange:function(){this.render()},setSample:function(){this._Data={data:this.getCustomData()},this.render()},isCustomDataMode:function(){return"custom"===this.p.data.mode},updateWidgetContainerStyle:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},render:function(){var t;ChartUtils.destroyChart(this.ui),this._Data?(this.updateWidgetContainerStyle(),t={chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),credits:{enabled:!1},exporting:{enabled:!1},plotOptions:this._getHighchartsPlotOptions(),series:this._getHighchartsSeries(),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),title:this._getHighchartsTitle(this.p.titles.title),tooltip:this._getHighchartsTooltip()},this._lastvisibilityValue||(t.series[0].enableMouseTracking=!1),this._currentChart=Highcharts.chart(this.ui[0],t),this.updateState(),this._loaded=!0):this.error=_("NoData")},getTooltipMacro:function(){return[["{{this.point.from}}",_("RowFrom")],["{{this.point.to}}",_("RowTo")],["{{this.point.weight}}",_("Weight")],["{{this.point.percentage}}",_("Percentage")]]},getNodeTooltipMacro:function(){return[["{{this.point.name}}",_("NodeName")],["{{this.point.sum}}",_("NodeWeightSum")]]},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===t&&"bindings"===this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var i=this.p.sort_filter.filters[o];if(i.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(i.formula,e)){a=!0;break}}a&&this.tryUpdate()},getCustomData:function(){return this.p.data.custom.slice(1)},updateService:"DI4Data",updateServiceSuccess:function(t){var e;this._Data=t,this.isCustomDataMode()?(t=this.p.data.custom.slice(1),0<this.p.sort_filter.filters.length&&(e=this.p.sort_filter.filters.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),t=DashboardUtils.filterData(t,e)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(t,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!==t.column})&&DashboardUtils.sortData(t,this.p.sort_filter.sorts),this._Data={data:t}):this._Data.data=t.data.map(function(t){return t.values}),this.render()},canUpdateData:function(){return"bindings"!==this.p.data.mode||1===this.getBindings(Enums.WidgetAreas.RowsBis).length&&1===this.getBindings(Enums.WidgetAreas.Values).length&&1===this.getBindings(Enums.WidgetAreas.Rows).length},getBindings:function(e){return e?this.p.data_bindings.filter(function(t){return t.area===e}):this.p.data_bindings},initializeSettings:function(){},getAvailableChartTypes:function(){return[{label:_("SankeyDiagram"),value:"sankey",image:"/Dashboard/Images/WidgetProperties/widget-sankey.png"},{label:_("DependencyWheel"),value:"dependencywheel",image:"/Dashboard/Images/WidgetProperties/widget-wheel.png"}]},renderPropertiesTab:function(t){var e=this,a=this,o=t.ui.content;t.addLargeDropdown({container:o,id:"properties_chart_type",dataprovider:this.getAvailableChartTypes(),object:this.p,property:"type",callback:function(){e.render()}});o.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),o.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),o.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,a.p.data.mode=$(this).val(),a.update()})},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=new Settings.Data.Bindings(t);e.templates.area_measure_column='                  <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                      <div class="column">                          <span class="title" title="{{col_name}}">{{ name }}</span>                          <span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                      </div>                      <div class="buttons">                          <button type="button" class="visibility"><i class="far"></i></button>                          <button type="button" class="edit"><i class="far fa-edit"></i></button>                          <button type="button" class="remove"><i class="far fa-trash"></i></button>                      </div>                  </li>',e.templates.area_count_column='                  <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                      <div class="column">                          <span class="title" title="{{col_name}}">{{ name }}</span>                      </div>                      <div class="buttons">                          <button type="button" class="visibility"><i class="far"></i></button>                          <button type="button" class="edit"><i class="far fa-edit"></i></button>                          <button type="button" class="remove"><i class="far fa-trash"></i></button>                      </div>                  </li>',e._customAggregations=["sum","avg","min","max","count","dcount","cumsum"],e.render([{name:_("RowFrom"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.33},{name:_("RowTo"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.RowsBis,height_ratio:.33},{name:_("Weight"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.33}]),e.area_column_limits[Enums.WidgetAreas.RowsBis]=1,e.area_column_limits[Enums.WidgetAreas.Rows]=1,e.area_column_limits[Enums.WidgetAreas.Values]=1,e.ui.axis_ddl="",this.data_destroy_callback=function(){e.destroy()}},renderDataCustomTable:function(t){var a=this,e=this.update.bind(this),o=new Settings.Data.CustomTable(t);o.cellValueFormat=function(t,e){t=$(t).val();return 0<e?""===t||isNaN(t)?0:parseFloat(t):t},this.data_destroy_callback=function(){o.destroy()},t.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),o.render({fixed_columns:!0,object:this.p.data,property:"custom",callback:function(){a.p.sort_filter.sorts.forEach(function(e){"custom"===e.direction&&e.column&&(e.custom_order=a.p.data.custom.slice(1).map(function(t){return t[e.column]}))}),e()}})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var r=this,t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(n){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,i=r.p.data_bindings[a];i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),value:i.guid,area:i.area,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(t.columns,i.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:i.name||o.name,value:i.guid,area:i.area,is_context:o.is_context||!1,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,column_id:o.id})}n(e)});break;case"custom":var t=r.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:0<e?Enums.WidgetAreas.Columns:Enums.WidgetAreas.Rows}});n(t)}},t.updateDataCallback=function(){e._isDirty=!0,r.update()},t.render()},renderFilter:function(e){var s=this,o=new Settings.SortFilter.Filter(e);o.getFilterColumns=function(r){switch(s.p.data.mode){case"bindings":e.settings.getDataClone(s.p.data_id,s._from.dashboard.id).then(function(t){for(var e=[],a=0;a<s.p.data_bindings.length;a++){var o=s.p.data_bindings[a],i=s.getColumnFromId(t.columns,o.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:o.name||i.name,value:"".concat(i.id).concat(o.aggregation||""),column_id:i.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(s.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));r(e)});break;case"custom":var t=s.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});r(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){s.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},getFormatTabs:function(){var t=this,e=[];return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:function(){return"widget-".concat(t.p.type,"-nodes.png")},text:_("SankeyNodes"),code:"sankeyNodes",renderer:this.getSankeyNodes.bind(this)}),e.push({icon:function(){return"widget-".concat(t.p.type,"-paths.png")},text:_("SankeyPaths"),code:"sankeyPaths",renderer:this.getSankeyPaths.bind(this)}),e.push({icon:"tags.png",text:_("SankeyTooltips"),code:"tooltip",renderer:this.getSankeyTooltip.bind(this)}),e},getTitleProperties:function(t){var e=this.render.bind(this);t.addHeader({text:_("FormatTitleTitle"),description:_("FormatTitleDesc")}),t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",callback:e,dropDown:!0}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.render.bind(this),a=(t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addSection());t.content.append(a),t.addBoolean({section:a,label:_("PlotAreaBackground"),object:this.p.background.plot_background,property:"enabled",callback:e}),t.addColor({container:a,label:_("PlotAreaColor"),object:this.p.background.plot_background,property:"color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.background.plot_background,property:"gradient",callback:e}),t.addBorder({container:a,label:_("PlotAreaBorder"),object:this.p.background.plot_background,property:"border",callback:e,dropDown:!1}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getSankeyTooltip:function(t){var e=this,a=this.p.tooltip,o=e.render.bind(e),i=e.getTooltipMacro(),n=e.getNodeTooltipMacro(),r=(t.addHeader({description:_("TooltipHeaderDesc"),text:_("TooltipHeaderTitle")}),t.addSection());t.addBoolean({callback:o,label:_("DisplayTooltips"),object:a,property:"display",section:r}),t.addSeparator({container:r}),t.addColor({callback:o,container:r,label:_("BackgroundColor"),object:a.background,property:"color"}),t.addSeparator({container:r}),t.addBorder({callback:o,container:r,object:a.background,property:"border"}),t.addSeparator({container:r}),t.addSlider({callback:o,container:r,interval:1,label:_("RoundedCorners"),max:30,min:0,object:a.background,property:"roundness",valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:r}),t.addBoolean({callback:o,label:_("Shadow"),object:a,property:"shadow",container:r}),t.addSeparator({container:r}),t.addTextHeader({container:r,text:_("SankeyNodeTooltipContent")}),t.addRichtext({buttons:[["style",["bold","italic","underline"]],["fonttools",["fontsize"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["tooltipdrop",["TooltipDropdown"]],["para",["paragraph"]],["unredo",["undo","redo"]]],callback:o,container:r,macros:n,object:a,palette:this.p.colors,property:"node_content"}),t.getTooltipCustomFormatProperties(e,n,r,{label:_("SankeyTooltipFormatting"),object:a.node_format}),t.addTextHeader({container:r,text:_("SankeyPathTooltipContent"),customClass:"bold"}),t.addRichtext({buttons:[["style",["bold","italic","underline"]],["fonttools",["fontsize"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["tooltipdrop",["TooltipDropdown"]],["para",["paragraph"]],["unredo",["undo","redo"]]],callback:o,container:r,macros:i,object:a,palette:this.p.colors,property:"content"}),t.getTooltipCustomFormatProperties(e,i,r,{label:_("SankeyTooltipFormatting"),object:a.path_format})},getSankeyNodes:function(t){var e=this,a=Utils.debounce(function(){e.render()},100),o=this.p.nodes,i=this.getNodeTooltipMacro();t.addHeader({text:_("FormatNodeTitle"),description:_("FormatNodeDesc")}),t.addBorder({object:o,property:"border",callback:a}),t.addSeparator(),t.addSlider({object:o,property:"width",label:_("Width"),interval:1,min:0,max:50,valueLabelFormat:function(t){return"".concat(t,"px")},callback:a}),t.addSeparator(),t.addVerticalAlign({label:_("VerticalAlign"),object:o,property:"valign",callback:a}),t.addRichtext({buttons:[["style",["bold","italic","underline"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["tooltipdrop",["TooltipDropdown"]],["para",["paragraph"]],["unredo",["undo","redo"]],["fonttools",["fontsize"]]],loadFont:Utils.FontUtils.loadFont,callback:a,macros:i,object:o,palette:this.p.colors,property:"content"}),t.getTooltipCustomFormatProperties(this,i,t.ui.content,{label:_("SankeyTooltipFormatting"),object:o,callback:a})},getSankeyPaths:function(t){var e=this,a=this.p.paths,o=Utils.debounce(function(){e.render()},100);t.addHeader({text:_("FormatPathsTitle"),description:_("FormatPathsDesc")}),t.addSlider({object:a,property:"curveFactor",label:_("SankeyCurveFactor"),interval:.1,min:0,max:1,valueLabelFormat:function(t){return"".concat(t)},callback:o}),t.addSeparator(),t.addSlider({object:a,property:"opacity",label:_("SankeyPathOpacity"),interval:.1,min:.1,max:1,valueLabelFormat:function(t){return"".concat(t)},callback:o}),t.addSeparator()},getSankeyPathTooltip:function(t){this.getSankeyTooltip(t,"tooltip")},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),this.refreshAllowExport(t),this.renderToolbarProperties(t)}}});
//# sourceMappingURL=DI4-sankey-diagram.js.map

function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Widget.GAPrototype={TEXT_SPACING:11,_firstLoad:!0,init:function(){this.p.bands.intervals||(this.p.bands.intervals=[{min:0,max:20,color:DashboardUtils.getPaletteColor(this.p.colors,0)},{min:20,max:40,color:DashboardUtils.getPaletteColor(this.p.colors,1)},{min:40,max:60,color:DashboardUtils.getPaletteColor(this.p.colors,2)},{min:60,max:80,color:DashboardUtils.getPaletteColor(this.p.colors,3)},{min:80,max:100,color:DashboardUtils.getPaletteColor(this.p.colors,4)}]),this.ui.append($("<div class='chartContainer'></div>")),this.hcContainer=$(".chartContainer",this.ui),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var a=this;this._eventsBound||(this.createProperties(),this.on("error",function(t){t&&a.hcContainer.highcharts()&&a.hcContainer.highcharts().destroy()}),this.on("colorschanged",function(){this.p.bands.intervals.forEach(function(t,e){t.color=DashboardUtils.getPaletteColor(a.p.colors,e)}),this.render()}.bind(this)),this.on("stylechanged",function(){this.updateBackground(),this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on(["propertieschanged"],function(){this.render()}.bind(this)),this.on(["height","width"],function(t){this.updateContainerSize(),ChartUtils.resizeChart(this,this.hcContainer,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindInteractions(),this._eventsBound=!0)},bindInteractions:function(){var t=this,e=this;if(this.p.interactions.onclick){var a=this.p.interactions.onclick;switch(a.type){case"dashboard":this.container.on("click",function(){t.handleDashboardInteraction(a)});break;case"url":this.container.on("click",function(){DashboardUtils.handleUrlInteraction(e.dashboard,e,a)})}}},updateContainerSize:function(){0<$(".titleContainer",this.ui).length?($(".titleContainer",this.ui).css("height","".concat($(".titleContainer",this.ui).outerHeight(!0),"px")),this.hcContainer.attr("style","height:".concat(this.ui.outerHeight()-$(".titleContainer",this.ui).outerHeight(),"px"))):this.hcContainer.attr("style","height:".concat(this.ui.outerHeight(),"px"))},render:function(){var t=this;try{this._renderTitles(),this.hcContainer.highcharts()&&this.hcContainer.highcharts().destroy();var e=this._getGaugeDiameter(),a=(Math.round(.033*e),Math.min(t.p.data.min.formula_result,t.p.data.max.formula_result)),r=this.p.data.max.formula_result,i=this.p.data.value.formula_result,o=this.p.data.markerValue.formula_result,n=(!isNaN(a)&&null!=a||(a=0),!isNaN(r)&&null!=r||(r=100),[{name:"",data:[i=!isNaN(i)&&null!=i?i:0]}]),l=(isNaN(o)||void 0===_typeof(o)||n.push({crisp:!1,data:[o],dataLabels:{enabled:!1},dial:{radius:"120%",backgroundColor:this.p.marker.color,baseWidth:1,topWidth:this.p.marker.topWidth,borderWidth:0,baseLength:"90%",rearLength:"-90%"},enableMouseTracking:!1}),{title:{text:""},exporting:{enabled:!1},chart:this._getHCChart(),plotOptions:this._getHCPlotOptions(),pane:this._getHCPaneOptions(),series:n,yAxis:{offset:this.p.bands.inner_margin_on?0:6,lineWidth:0,reversed:this.p.reverse_scale,tickPositioner:function(){t.p.gauge_type!=WidgetGA1.GaugeTypes.FullCircular&&(this.tickPositions[0]=a),this.tickPositions[this.tickPositions.length-1]=r},min:a,max:r,minorTickLength:this.p.bands.thickness,minorTickColor:this.p.bands.minor_thick_color,minorTickWidth:1,tickWidth:2,tickLength:this.p.bands.thickness,tickColor:this.p.bands.major_thick_color,showFirstLabel:!(this.p.gauge_type==WidgetGA1.GaugeTypes.FullCircular),title:{text:this.p.value_label.title.text,style:this._getFontStyle(this.p.value_label.title)},labels:{enabled:this.p.labels.enabled,rotation:"straight"==this.p.labels.placement?null:"auto",distance:-(this.p.bands.thickness+this.p.labels.font.size/2+this.TEXT_SPACING),style:this._getFontStyle(this.p.labels),formatter:function(){return Utils.formatValue(this.value,t.p.labels.format)}},plotBands:this._getHCPlotBands()},tooltip:{enabled:this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content,shared:!1,borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color,useHTML:!0,formatter:function(){return DashboardUtils.formatWidgetTooltip([{regex:"this.y",value:this.y,format:!0}],t.p.tooltip.content,t)}},credits:{enabled:!1}});this.updateBackground(),this.updateContainerSize(),Highcharts.chart(this.hcContainer[0],l),this.hcContainer.find("svg path").first().attr("filter",this.getSVGShadow(this.p.background.plot_background.shadow)),this.handleTooltipState(),this._firstLoad&&(this._firstLoad=!1)}catch(t){this.error=t}},getTooltipMacro:function(){return[["{{this.y}}",_("YValue")]]},onVisibilityChange:function(){this.render()},updateBackground:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},createProperties:function(){this.createProperty("value"),this.createProperty("minvalue"),this.createProperty("maxvalue")},updateService:function(){return"mixed"!==this.p.data.mode?"Formulas":"GAData"},updateServiceError:function(t){this._loaded=!1},updateServiceSuccess:function(t){switch(this.p.data.mode){case"formula":if(0<t.length){this.updateValueFromFormula("min",t[0].value),this.updateValueFromFormula("max",t[2].value),this.updateValueFromFormula("value",t[1].value),this.updateValueFromFormula("markerValue",t[3].value);var e=5;if(0<this.p.bands.intervals.length&&"formula"==this.p.bands.based_on){for(var a=0;a<this.p.bands.intervals.length;a++)this.p.bands.intervals[a].min_result=parseFloat(t[e].value),e++;for(a=0;a<this.p.bands.intervals.length;a++)this.p.bands.intervals[a].max_result=parseFloat(t[e].value),e++}}break;case"mixed":if(this.updateValueFromFormula("min",t.min_value.value),this.updateValueFromFormula("max",t.max_value.value),this.updateValueFromFormula("value",t.data),this.updateValueFromFormula("markerValue",t.marker_value.value),0<this.p.bands.intervals.length&&"formula"==this.p.bands.based_on)for(a=0;a<t.intervals.length;a++)this.p.bands.intervals[a].min_result=parseFloat(t.intervals[a].min_value.value),this.p.bands.intervals[a].max_result=parseFloat(t.intervals[a].max_value.value);for(a=0;a<t.filters.length;a++)void 0!==this.p.sort_filter.filters[a]&&(this.p.sort_filter.filters[a].formula_result=parseFloat(t.filters[a].value))}this.render()},refreshFromDataDependency:function(t,e){var a=!1,r=[];if(!(a=this.p.data_id==t&&"mixed"==this.p.data.mode?!0:a)){if(r.push(this.p.data.min.formula),r.push(this.p.data.max.formula),"formula"==this.p.data.mode&&r.push(this.p.data.value.formula),0<this.p.bands.intervals.length&&"formula"==this.p.bands.based_on)for(var i=0;i<result.intervals.length;i++)r.push(this.p.bands.intervals[i].min),r.push(this.p.bands.intervals[i].max);if(this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"mixed"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var n=this.p.sort_filter.filters[o];n.state!=Enums.WidgetFilterState.Disabled&&r.push(n.formula)}r.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)})}a&&this.tryUpdate()},updateValueFromFormula:function(t,e){try{this.p.data[t].formula_result=parseFloat(e);var a="".concat(t,"value");if(this[a="value"===t?"value":a]=parseFloat(e),isNaN(this[a])&&null!==this[a])switch(t){case"min":throw _("MinValueMustBeANumber");case"max":throw _("MaxValueMustBeANumber");case"value":throw _("ValueMustBeANumber");case"markerValue":if(null!==e)throw _("MarkerMustBeANumber")}}catch(t){this.error=t}},updateMinValue:function(t){try{if(this.p.data.min.formula_result=parseFloat(t),this.minvalue=parseFloat(this.p.data.min.formula_result),isNaN(this.minvalue)&&null!==t)throw _("MinValueMustBeANumber")}catch(t){this.error=t}},updateValue:function(t){try{if(this.p.data.value.formula_result=parseFloat(t),this.value=parseFloat(this.p.data.value.formula_result),isNaN(this.value)&&null!==t)throw _("ValueMustBeANumber")}catch(t){this.error=t}},updateMaxValue:function(t){try{if(this.p.data.max.formula_result=parseFloat(t),this.maxvalue=parseFloat(this.p.data.max.formula_result),isNaN(this.maxvalue)&&null!==t)throw _("MaxValueMustBeANumber")}catch(t){this.error=t}},renderPropertiesTab:function(t){var r=this,i=t.ui.content,r=(t.addLargeDropdown({container:i,label:_("Type"),dataprovider:[{label:_("FullCircular"),value:WidgetGA1.GaugeTypes.FullCircular,image:"/Dashboard/Images/WidgetProperties/full-circular-starting-point-top.png"},{label:_("Circular"),value:WidgetGA1.GaugeTypes.Circular,image:"/Dashboard/Images/WidgetProperties/circular-starting-point-top.png"},{label:_("HalfCircle"),value:WidgetGA1.GaugeTypes.HalfCircle,image:"/Dashboard/Images/WidgetProperties/half-circle-starting-point-top.png"}],object:this.p,property:"gauge_type",callback:function(){var t=Utils.arrayFirst(WidgetGA1.StartingPoints,function(t){return t.type==r.p.gauge_type}).points,e=t[0].value,a=i.find("#start_point_ddl");a.comboBox("empty"),a.comboBox("dataprovider",t),a.comboBox("select",e),r.p.start_point=e,r.render()}}),t.addLargeDropdown({container:i,id:"start_point_ddl",label:_("StartingPoint"),dataprovider:Utils.arrayFirst(WidgetGA1.StartingPoints,function(t){return t.type==r.p.gauge_type}).points,object:this.p,property:"start_point",callback:function(){r.render()}}),t.addBoolean({container:i,label:_("ReverseScale"),object:this.p,property:"reverse_scale",callback:function(){r.render()}}),i.append('<div class="sep">'),i.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),formula:_("Formula"),formula_desc:_("FormulaDataDesc")})),this);i.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),i.on("change",".multiple_labels input[type=radio]",function(){r.p.data.mode=$(this).val(),r.clearSortAndFilters(),r.setSortFilterTabState(),r.p.data.value.formula="0",r.p.data.value.formula_result=0,r.update()})},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"mixed":this.renderDataBindings(t);break;case"formula":this.renderDataFormula(t)}},renderDataBindings:function(t){var e=this,a=t.ui,r=new Settings.Data.Bindings(t),t=(r.area_column_limits[Enums.WidgetAreas.Values]=1,r.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:1}]),this.data_destroy_callback=function(){r.destroy()},$("<div class='ga_minmax_container'>"));a.append(t),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,dropup:!0,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,dropup:!0,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MarkerValue"),object:this.p.data.markerValue,dropup:!0,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}})},renderDataFormula:function(t){var e=this,t=t.ui;this.render.bind(this);t.append($("<header>").text(_("EnterMinMaxValue"))),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("Value"),object:this.p.data.value,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MarkerValue"),object:this.p.data.markerValue,dropup:!0,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"circular-gauge-plot-area.png",text:_("PlotArea"),code:"plotarea",renderer:this.getPlotAreaProperties.bind(this)}),t.push({icon:"circular-gauge-needle.png",text:_("Needle"),code:"needle",renderer:this.getNeedleProperties.bind(this)}),t.push({icon:"circular-gauge-labels.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t.push({icon:"circular-gauge-value.png",text:_("ValueLabel"),code:"valuelabel",renderer:this.getValueLabelProperties.bind(this)}),t.push({icon:"circular-gauge-bands.png",text:_("Bands"),code:"bands",renderer:this.getBandsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.render.bind(this);t.addToggleButtons({label:_("Position"),callback:e,object:this.p.titles.title,property:"position",buttons:[{image:"circular-gauge-title-placement-1.png",value:"top"},{image:"circular-gauge-title-placement-2.png",value:"bottom"}]}),t.addSeparator(),t.addText({object:this.p.titles.title,property:"text",label:_("Title"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.title,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",label:_("Subtitle"),placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getPlotAreaProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.background.plot_background,label:_("PlotAreaBackground"),property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background.plot_background,property:"border",label:_("PlotAreaBorder"),callback:e}),t.addSeparator(),t.addShadow({object:this.p.background.plot_background,property:"shadow",label:_("Shadow"),callback:e}),t.addSeparator()},getNeedleProperties:function(t){var e=this.render.bind(this),a=(t.addToggleButtons({label:_("Thickness"),object:this.p.needle,property:"thickness",callback:e,buttons:[{image:"circular-gauge-thickness-s.png",value:2},{image:"circular-gauge-thickness-m.png",value:6},{image:"circular-gauge-thickness-l.png",value:10}]}),t.addToggleButtons({label:_("Length"),object:this.p.needle,property:"length",callback:e,buttons:[{image:"circular-gauge-length-s.png",value:"40"},{image:"circular-gauge-length-m.png",value:"60"},{image:"circular-gauge-length-l.png",value:"80"}]}),t.addColor({dropDown:!0,label:_("Color"),object:this.p.needle,property:"color",callback:e}),t.addSeparator(),t.addSection());t.addBoolean({section:a,label:_("Knob"),object:this.p.needle.knob,property:"enabled",callback:e}),t.addToggleButtons({label:_("Size"),object:this.p.needle.knob,container:a,property:"width",callback:e,buttons:[{image:"marker-circle.png",value:5,class:"small"},{image:"marker-circle.png",value:10},{image:"marker-circle.png",value:15,class:"big"}]}),t.addBackgroundColor({container:a,object:this.p.needle.knob,label:_("Color"),property_color:"color",property_gradient:"gradient",callback:e}),t.addBorder({container:a,object:this.p.needle.knob,property:"border",callback:e,width_none:0,width_light:1,width_medium:2,width_strong:10}),t.addSeparator(),t.addColor({object:this.p.marker,label:_("MarkerColor"),property:"color",callback:e}),t.addNumber({label:_("MarkerWidth"),object:this.p.marker,property:"topWidth",min:1,max:20,callback:e}),t.addSeparator()},getLabelsProperties:function(t){var e=this.render.bind(this),a=t.addSection();t.addBoolean({section:a,label:_("ShowLabels"),object:this.p.labels,property:"enabled",callback:e}),t.addToggleButtons({label:_("Placement"),object:this.p.labels,container:a,property:"placement",callback:e,buttons:[{image:"circular-gauge-label-placement-1.png",value:"straight"},{image:"circular-gauge-label-placement-2.png",value:"inclined"}]}),t.addFont({container:a,object:this.p.labels,property:"font",callback:e}),t.addFormat({container:a,label:_("Format"),displayDdl:!0,object:this.p.labels,property:"format",dataTypes:[Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Number],callback:e}),t.addSeparator()},getValueLabelProperties:function(t){var e=this.render.bind(this),a=t.addSection();t.addBoolean({section:a,label:_("DisplayValue"),object:this.p.value_label,property:"enabled",callback:e}),t.addFont({container:a,dropDown:!0,object:this.p.value_label,property:"font",callback:e}),t.addFormat({container:a,label:_("Format"),displayDdl:!0,object:this.p.value_label,property:"format",dataTypes:[Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Number],callback:e}),t.addSeparator({container:a}),t.addText({container:a,object:this.p.value_label.title,property:"text",label:_("ValueTitle"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({container:a,object:this.p.value_label.title,property:"font",callback:e}),t.addSeparator()},getBandsProperties:function(t){var e=this.render.bind(this),a=this,r=(t.addWidth({label:_("BandThickness"),callback:e,object:this.p.bands,property:"thickness",width_none:0,width_light:5,width_medium:10,width_strong:20,display_none_btn:!1}),t.addBoolean({label:_("InnerMargin"),callback:e,object:this.p.bands,property:"inner_margin_on"}),t.addColor({label:_("MajorThickColor"),callback:e,object:this.p.bands,property:"major_thick_color"}),t.addColor({label:_("MinorThickColor"),callback:e,object:this.p.bands,property:"minor_thick_color"}),t.addSeparator(),t.addSection());r.addClass("nomargin"),t.addBoolean({section:r,label:_("EnableColors"),object:this.p.bands,property:"color_enabled",callback:e}),t.addDropdown({container:r,label:_("BasedOn"),label_class:"margin",object:this.p.bands,property:"based_on",combobox:{dataprovider:[{value:"values",label:_("Number")},{value:"percent",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){r.find(".ga1_bands_container").remove(),a.p.bands.intervals=[],a._generateSortableList(r),a.render()}}),this._generateSortableList(r)},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderFilter:function(t){var l=this,r=new Settings.SortFilter.Filter(t);r.getFilterColumns=function(n){"mixed"===l.p.data.mode&&t.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var r=l.p.data_bindings[a],i=l.getColumnFromId(t.columns,r.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:r.name||i.name,value:"".concat(i.id).concat(r.aggregation||""),column_id:i.id,aggregation:r.aggregation,aggregationLabel:r.aggregation?_("Aggregation_".concat(r.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var o=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(o.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,is_context:t.is_context||!1,column_id:t.id}}));n(e)})},r.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,r.updateOperatorDropdown(t,a),r.updateDataCallback()},r.updateDataCallback=function(){l.update()},r.render()},clearSortAndFilters:function(){this.p.sort_filter.filters=[]},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled",!("mixed"===this.p.data.mode&&this.p.data_id))},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,parameters:!0,property:"onclick"}),this.renderToolbarProperties(t)},_getGaugeDiameter:function(){return Math.min(this.hcContainer.outerHeight(),this.hcContainer.outerWidth())},_renderTitles:function(){$(".titleContainer",this.ui).remove();var t,e=this.p.titles.title,a=""!=e.text.trim(),r=this.p.titles.subtitle,i=""!=r.text.trim();(a||i)&&(t=$("<div class='titleContainer'></div>"),a&&((a=$("<div></div>")).css(this._getFontStyle(e)),a.text(e.text),t.append(a)),i&&((a=$("<div></div>")).css(this._getFontStyle(r)),a.text(r.text),t.append(a)),"bottom"==e.position?(t.css("margin-bottom","20px"),t.insertAfter(this.hcContainer)):(t.css("margin-top","20px"),t.insertBefore(this.hcContainer)))},_getFontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),textOutline:"",fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}},_getHCChart:function(){var t=this,e=[0,0,0,0];return{margin:e=this.p.background.margins?[this.p.background.margins.top,this.p.background.margins.right,this.p.background.margins.bottom,this.p.background.margins.left]:e,type:"gauge",width:this.width,backgroundColor:"transparent",events:{load:function(){t._loaded=!0}}}},_getHCPlotOptions:function(){var t=this,e=this._lastvisibilityValue;return{gauge:{wrap:!1,animation:!1,dataLabels:{enabled:(e=this.dashboard&&this.dashboard.in_editor?!0:e)&&this.p.value_label.enabled,allowOverlap:!0,style:this._getFontStyle(this.p.value_label),formatter:function(){return Utils.formatValue(this.y,t.p.value_label.format)},borderWidth:0},dial:{baseWidth:this.p.needle.thickness,radius:"".concat(this.p.needle.length,"%"),backgroundColor:this.p.needle.color,baseLength:"0%",rearLength:"0%"},pivot:{radius:this.p.needle.knob.enabled?this.p.needle.knob.width:0,backgroundColor:this.p.needle.knob.gradient?{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,this.p.needle.knob.color],[1,DashboardUtils.shadeBlend(null,this.p.needle.knob.color)]]}:this.p.needle.knob.color,borderColor:this.p.needle.knob.border.color,borderWidth:this.p.needle.knob.border.width}},series:{states:{inactive:{opacity:1}}}}},_getHCPaneOptions:function(){var t=0,e=0;switch(this.p.gauge_type){case WidgetGA1.GaugeTypes.FullCircular:switch(this.p.start_point){case"top":t=0,e=360;break;case"right":t=90,e=450;break;case"bottom":t=180,e=540;break;case"left":t=270,e=630}break;case WidgetGA1.GaugeTypes.Circular:e="left"==this.p.start_point?(t=-150,150):(t=30,330);break;case WidgetGA1.GaugeTypes.HalfCircle:e="left"==this.p.start_point?(t=-90,90):(t=90,270)}return{startAngle:t,endAngle:e,size:"85%",center:["50%","50%"],background:[{backgroundColor:this.p.background.plot_background.gradient?{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color,borderWidth:this.p.background.plot_background.border.width,borderColor:this.p.background.plot_background.border.color,shape:this.p.gauge_type==WidgetGA1.GaugeTypes.HalfCircle?"arc":"circle"}]}},_getHCPlotBands:function(){var t=[];if(this.p.bands.color_enabled)for(var e=0;e<this.p.bands.intervals.length;e++){var a=this.p.bands.intervals[e],r=null;switch(this.p.bands.based_on){case"values":r={color:a.color,from:a.min,to:a.max};break;case"percent":r={color:a.color,from:(this.p.data.max.formula_result-Math.min(this.p.data.min.formula_result,this.p.data.max.formula_result))*a.min/100+Math.min(this.p.data.min.formula_result,this.p.data.max.formula_result),to:(this.p.data.max.formula_result-Math.min(this.p.data.min.formula_result,this.p.data.max.formula_result))*a.max/100+Math.min(this.p.data.min.formula_result,this.p.data.max.formula_result)};break;case"formula":r={color:a.color,from:a.min_result,to:a.max_result}}r.thickness=this.p.bands.thickness,r.outerRadius=this.p.bands.inner_margin_on?"100%":"105%",t.push(r)}return t},_generateSortableList:function(t){var r=this,e='<div class="ga1_bands_container">\n                            <button type="button" class="btn btn-default btn-grey addBands">'.concat(_("AddNew"),'</button>\n                            <div class="sortable_list_container"></div>\n                            </div>');t.append(Mustache.render(e)),this.sortableList=new SortableList({container:$(".ga1_bands_container .sortable_list_container"),object:this.p.bands,property:"intervals",enableScrollbar:!1,onDeleteCallback:this.render.bind(this),onSortCallback:this.render.bind(this),columns:[{name:_("Color"),width:70,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">\n                                                    <button type="button" class="btn btn-default colorPreview">&nbsp;</button>\n                                                    <button type="button" class="btn btn-default dropdown-toggle">\n                                                    </button>\n                                                    <input type="text" value="'.concat(t.color,'" class="colorPicker" >\n                                                </div>'));e.append(a),$("> input",a).clicColorPicker({onColorChanged:function(){t.color=this.getRGBAColor(),r.render()},onPreviewColorChanged:function(){t.color=this.getRGBAColor(),r.render()},onCancel:function(){t.color=this.getRGBAColor(),r.render()},palette:r._from.dashboard.model.colors})}},{name:_("MinValue"),classes:"value_column",cellFormat:function(t,e){r._generateColumnContent(t,"min",e)}},{name:_("MaxValue"),classes:"value_column",cellFormat:function(t,e){r._generateColumnContent(t,"max",e)}}]}),$(".addBands",t).on("click",function(){r.sortableList.addNewObject({color:"#000000",min:"0",max:"0",min_result:0,max_result:0}),r.render()})},_generateColumnContent:function(t,e,a){var r=this;switch(this.p.bands.based_on){case"values":case"percent":var i='<div class="cd-number '.concat(e,'value">\n            <input allowdecimal="true" class="cd-input" type="text" value="').concat(t[e],'" />\n           </div>');a.append(i),$(".cd-number.{0}value".format(e),a).cdNumber(),$(".cd-number.{0}value input".format(e),a).on("change",function(){t[e]=parseFloat($(this).val()),r.render()});break;case"formula":this.settings.Format.addFormulaInput({container:a,widget:r,dashboard:r.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:e,appendToBody:!0,callback:function(t){r.settings.Data._isDirty=!0,r.tryUpdate()}})}},getSVGShadow:function(t){var e,a,r="shadow-".concat(this.guid);return d3.select("#".concat(r)).remove(),t&&t.radius?(e=d3.select("#".concat(this.container.attr("id")," svg")).select("defs").append("filter").attr("id",r).attr("height","130%"),a=t.radius/5*2,e.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",a).attr("result","blur"),e.append("feOffset").attr("dx",0).attr("dy",0).attr("result","offsetBlur"),e.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",t.opacity),(a=e.append("feMerge")).append("feMergeNode"),a.append("feMergeNode").attr("in","SourceGraphic"),"url(#{0})".format(r)):"none"},applyStyleToTargetWidget:function(t){this.p.marker=Utils.clone(t.marker),this.p.needle=Utils.clone(t.needle),this.p.background=Utils.clone(t.background),this.p.labels.font=Utils.clone(t.labels.font),this.p.titles=Utils.deepMerge(this.p.titles,{subtitle:{font:t.titles.subtitle.font,position:this.p.titles.subtitle.position,text:this.p.titles.subtitle.text},title:{font:t.titles.title.font,position:this.p.titles.title.position,text:this.p.titles.title.text}}),this.copyPropsOnArray(t.bands,this.p.bands,"intervals",["color"])}};
//# sourceMappingURL=GA.js.map

var WidgetGA1={GaugeTypes:{FullCircular:"fullcircular",Circular:"circular",HalfCircle:"halfcircle"},get StartingPoints(){return[{type:this.GaugeTypes.FullCircular,points:[{value:"top",label:_("Top"),image:"/Dashboard/Images/WidgetProperties/full-circular-starting-point-top.png"},{value:"right",label:_("Right"),image:"/Dashboard/Images/WidgetProperties/full-circular-starting-point-right.png"},{value:"bottom",label:_("Bottom"),image:"/Dashboard/Images/WidgetProperties/full-circular-starting-point-bottom.png"},{value:"left",label:_("Left"),image:"/Dashboard/Images/WidgetProperties/full-circular-starting-point-left.png"}]},{type:this.GaugeTypes.Circular,points:[{value:"left",label:_("Left"),image:"/Dashboard/Images/WidgetProperties/circular-starting-point-top.png"},{value:"right",label:_("Right"),image:"/Dashboard/Images/WidgetProperties/circular-starting-point-bottom.png"}]},{type:this.GaugeTypes.HalfCircle,points:[{value:"left",label:_("Left"),image:"/Dashboard/Images/WidgetProperties/half-circle-starting-point-top.png"},{value:"right",label:_("Right"),image:"/Dashboard/Images/WidgetProperties/half-circle-starting-point-bottom.png"}]}]}};Widget.createType({id:"GA1",options:{width:300,min_width:100,height:300,min_height:100,hasColorsProperty:!0,hasStyleProperty:!0,formula_input:function(t){var e=["data.min.formula","data.value.formula","data.max.formula","data.markerValue.formula","calculated_columns.formula","interactions.onclick.parameters.parameters.formula"];return"formula"==t.bands.based_on&&(e.push("bands.intervals.min"),e.push("bands.intervals.max")),"mixed"==t.data.mode&&e.push("sort_filter.filters.formula"),e},formula_output:["value","minvalue","maxvalue"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-more.js","/Libraries/d3/d3.min.js"],properties:{style:"",color:"",data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",min:{formula:"0"},max:{formula:"100"},value:{formula:"50"},markerValue:{formula:"75"}},gauge_type:WidgetGA1.GaugeTypes.Circular,start_point:"left",reverse_scale:!1,marker:{topWidth:10,color:"#000000"},titles:{title:{position:"top",text:"",font:{family:"Open Sans",halign:"center",size:18,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#ffffff"}},subtitle:{position:"top",text:"",font:{family:"Open Sans",halign:"center",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:0,bottom:0,left:0,right:0},shadow:{code:"none"},roundness:0,plot_background:{color:"#ffffff",gradient:!1,shadow:{code:"light",opacity:.3,radius:5},border:{width:0,color:"#000000"}}},needle:{thickness:6,length:"80",color:"#ffffff",knob:{enabled:!0,width:10,color:"#ffffff",gradient:!1,border:{width:10,color:"#ffffff"}}},labels:{enabled:!0,placement:"straight",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"},format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),{Properties:{Decimals:0}})},value_label:{enabled:!0,font:{family:"Open Sans",size:24,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"},format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),{Properties:{Decimals:0}}),position:"bottom",autofit:!1,title:{text:"",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}}},sort_filter:{filters:[]},bands:{thickness:10,inner_margin_on:!0,major_thick_color:"#c0c0c0",minor_thick_color:"#c0c0c0",color_enabled:!0,based_on:"percent",intervals:null},tooltip:{display:!1,content:'<p style="text-align: center;">{{this.y}}</p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{onclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},Widget.GAPrototype)});
//# sourceMappingURL=GA1-circular.js.map

function WidgetID(){}WidgetID.prototype={BASED_ON_TEMPLATE:'<div>                             <span>{{ label }}</span>                             <ul class="multiple_labels">                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                             </ul>                         </div>',renderPropertiesTab:function(a){var t=a.ui.content,e=this.BASED_ON_TEMPLATE,n=(t.append(Mustache.render(e,{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),formula:_("Formula"),formula_desc:_("FormulaDataDesc")})),this);t.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),t.on("change",".multiple_labels input[type=radio]",function(){a.settings.Data._isDirty=!0,n.p.data.mode=$(this).val(),n.setSortFilterTabState(),n.clearSortAndFilters(),n.update()})},clearSortAndFilters:function(){this.p.sort_filter.sorts=[],this.p.sort_filter.filters=[]},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled",!("bindings"===this.p.data.mode&&this.p.data_id))},getBackgroundValue:function(){return this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.background_color,DashboardUtils.shadeBlend(null,this.p.background.background_color)):this.p.background.background_color},getBackgroundProperties:function(a){var t=this;a.addColor({label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:this.updateStyle.bind(this)}),a.addBoolean({label:_("Gradient"),object:this.p.background,property:"gradient",callback:this.updateStyle.bind(this)}),a.addSeparator(),a.addBorder({object:this.p.background,property:"border",callback:function(){t.updateStyle(),t.updateSize()}}),a.addSeparator(),a.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(a){return"".concat(a," px")}}),a.addSeparator(),a.addShadow({object:this.p.background,property:"shadow",callback:this.updateStyle.bind(this)}),a.addSeparator()},updateService:function(){return"bindings"!==this.p.data.mode?"Formulas":"IDData"},updateServiceSuccess:function(a){switch(this.p.data.mode){case"formula":0<a.length?this.value=a[0].value:this.value=null;break;case"bindings":this._Data=a,this.value=a.data[0][0][0]}this.updateDOM()},renderDataTab:function(a){if(this.p.data.mode!==this.current_data_mode){switch(a.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(a);break;case"formula":this.renderDataFormula(a)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(a){var t=new Settings.Data.Bindings(a);t.area_column_limits[Enums.WidgetAreas.Values]=1,t.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:1}]),this.bindAdditionalDataHelperEvents&&this.bindAdditionalDataHelperEvents(t),this.data_destroy_callback=function(){t.destroy()}},renderDataFormula:function(a){var t=this,a=a.ui;this.updateDOM.bind(this);a.append($("<header>").text(_("EnterFormulaBelow"))),this.settings.Format.addFormulaInput({container:a,widget:t,dashboard:t.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",onPropertyChange:function(){t.settings.Data._isDirty=!0,t.tryUpdate()},callback:function(){t.settings.Data._isDirty=!0,t.tryUpdate()}})},renderSortFilterTab:function(a){a.ui.nav.append($(Mustache.render(a.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(a,t){return Utils.arrayFirst(a.concat(this.p.calculated_columns||[]),function(a){return a.id===t})},renderFilter:function(a){var d=this,n=new Settings.SortFilter.Filter(a);n.getFilterColumns=function(o){switch(d.p.data.mode){case"bindings":case"mixed":a.settings.getDataClone(d.p.data_id,d._from.dashboard.id).then(function(a){for(var t=[],e=0;e<d.p.data_bindings.length;e++){var n=d.p.data_bindings[e],i=d.getColumnFromId(a.columns,n.column_id);i&&t.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:n.name||i.name,value:"".concat(i.id).concat(n.aggregation||""),column_id:i.id,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null})}(t=t.filter(function(a){return!a.is_context})).push({sep:!0});var r=a.columns.concat(d.p.calculated_columns||[]).filter(function(a){return!a.is_context}),t=t.concat(r.map(function(a){return{icon:DashboardUtils.getIconForColumnType(a.type),label:a.name,value:a.id,column_id:a.id,is_context:a.is_context||!1}}));o(t)})}},n.onColumnChangedCallback=function(a,t,e){a.column_id=t.data().column_id,a.aggregation=t.data().aggregation,n.updateOperatorDropdown(a,e),n.updateDataCallback()},n.updateDataCallback=function(){d.update()},n.render()}};
//# sourceMappingURL=ID.js.map

var WidgetID1={Operators:{Equals:"equals",NotEqualTo:"not_equal_to",GreaterThan:"greater_than",GreaterOrEqualThan:"greater_or_equal_to",LessThan:"less_than",LessOrEqualThan:"less_or_equal_to",Between:"between"}};Widget.createType({id:"ID1",options:{width:50,height:50,min_width:10,min_height:10,hasColorsProperty:!0,hasStyleProperty:!0,formula_input:["data.formula","sort_filter.filters.formula","symbols.value1","symbols.value2","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula"],formula_output:["value"]},properties:{colors:"",style:"",data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",formula:""},symbols:[],background:{background_color:"rgba(0,0,0,0)",gradient:!1,border:{width:0,color:"#000000"},shadow:{code:"none",radius:0,opacity:0},roundness:0},sort_filter:{filters:[]},interactions:{ondblclick:null,onhover:{type:"show_value"}}},prototype:$.extend(!0,{},WidgetID.prototype,{BASED_ON_TEMPLATE:'<div>                             <span>{{ label }}</span>                             <ul class="multiple_labels">                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                             </ul>                         </div>',updateService:function(){return"formula"!==this.p.data.mode?"ID1MixedData":"Formulas"},updateServiceSuccess:function(t){switch(this.p.data.mode){case"formula":if(0<t.length){this.value=t.splice(0,1)[0].value;var e=this.p.sort_filter.filters.length,o=(t.splice(0,e),this.p.symbols.length),a=t.splice(0,o),i=t.splice(0,o);if(0<this.p.symbols.length)for(var r=0;r<o;r++)this.p.symbols[r].value1_result=a[r].value,this.p.symbols[r].value2_result=i[r].value}else this.value=null;break;case"mixed":t.BindingData?this.value=t.BindingData.data[0][0][0]:this.value=null;for(r=0;r<this.p.symbols.length;r++)this.p.symbols[r].value1_result=t.Symbols[r].value1_result.value,this.p.symbols[r].value2_result=t.Symbols[r].value2_result.value}this.updateDOM()},getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},init:function(){this.bindEvents(),0===this.p.symbols.filter(function(t){return"default"===t.operator}).length&&this.p.symbols.push({image:"arcou",color:DashboardUtils.getPaletteColor(this.p.colors,0),operator:"default"}),this.tryUpdate()},bindEvents:function(){var o=this;this._eventsBound||(this.createProperty("value"),this.on("colorschanged",function(){o.p.symbols.forEach(function(t,e){t.color=DashboardUtils.getPaletteColor(o.p.colors,e)}),o.updateDOM()}),this.on("stylechanged",function(){o.updateDOM()}),this.on("dashboardresized",function(){o.updateSize()}),this.on("propertieschanged",function(){o.updateDOM()}),this.on(["height","width"],function(){o.updateValueTooltip(),o.updateTooltipStyle()}),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,this.updateSize.bind(this)),this.on(WidgetLayer.Events.RESIZED,this.updateSize.bind(this)),this.on(WidgetLayer.Events.MOVED,function(){o.updateValueTooltip(),o.updateTooltipStyle()})),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},setSample:function(){this.updateDOM()},updateDOM:function(){!this.error&&this.p.interactions.onhover&&"show_value"==this.p.interactions.onhover.type?(this.updateValueTooltip(),this.container.addClass("show_value")):($(".tooltip",this.container).remove(),this.container.removeClass("show_value"));var e=this.value,t=function(){var t=this.getFirstMatchingSymbol(e);this.matchingSymbolClass&&this.matchingSymbolClass==t?this.matchingSymbolClass=t:($(".iconContainer",this.ui).remove(),this.matchingSymbolClass=t,this.ui.append($('<div class="iconContainer"><i class="symbol {0}"></i></div>'.format(this.matchingSymbolClass))),this._updateSize()),this.updateStyle(),this.handleTooltipState(),this._loaded=!0}.bind(this);this.loadWidgetIcons(t)},destroy:function(){this.matchingSymbolClass=null},updateStyle:function(){this.p.interactions.onhover&&"show_value"==this.p.interactions.onhover.type&&this.updateTooltipStyle(),this.ui.css({border:"".concat(this.p.background.border.width,"px solid ").concat(this.p.background.border.color),background:this.getBackgroundValue(),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow),"border-radius":"".concat(this.p.background.roundness,"px"),cursor:this.p.interactions.onhover&&this.p.interactions.onhover.type?"pointer":"default"}),this.currentMatchingSymbol&&$("i",this.ui).css("color",this.currentMatchingSymbol.color)},updateTooltipStyle:function(){$(".tooltip",this.container).css({border:"".concat(this.p.background.border.width,"px solid ").concat(this.p.background.border.color),background:this.getBackgroundValue(),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow),"border-radius":"".concat(this.p.background.roundness,"px"),cursor:this.p.interactions.onhover&&this.p.interactions.onhover.type?"pointer":"default"}),$(".tooltip p",this.container).css({color:this.currentMatchingSymbol?this.currentMatchingSymbol.color:"black"}),t=this.p.background.gradient?$(".tooltip",this.container).hasClass("top")?DashboardUtils.shadeBlend(null,this.p.background.background_color):this.p.background.background_color:this.p.background_color;var t,e=$(".tooltip",this.container).hasClass("top")?"border-top-color":"border-bottom-color",o={};o[".tooltip:after"]="".concat(e,": ").concat(t,";"),o[".tooltip:before"]="".concat(e,": ").concat(this.p.background.border.width?this.p.background.border.color:"transparent",";"),Utils.AppendCSSToPage("#widget_".concat(this.guid),o)},updateSize:function(){Utils.requestAnimationFrameOnce("updateSize-".concat(this.guid),function(){this._updateSize()}.bind(this))},_updateSize:function(){var t=$("i",this.ui),e=Math.min(this.ui.width(),this.ui.height());t.css("font-size",e-2*this.p.background.border.width+5)},getFirstMatchingSymbol:function(e){var t=(t=this.p.symbols.filter(function(t){switch(t.operator){case WidgetID1.Operators.Equals:return e==t.value1_result;case WidgetID1.Operators.Between:return t.value1_result<=e&&e<=t.value2_result;case WidgetID1.Operators.GreaterOrEqualThan:return e>=t.value1_result;case WidgetID1.Operators.GreaterThan:return e>t.value1_result;case WidgetID1.Operators.LessOrEqualThan:return e<=t.value1_result;case WidgetID1.Operators.LessThan:return e<t.value1_result;case WidgetID1.Operators.NotEqualTo:return e!=t.value1_result}})[0])||this.p.symbols.filter(function(t){return"default"==t.operator})[0];return this.currentMatchingSymbol=t,DashboardUtils.WidgetIcons.getSymbolFromCode(t.image,"fa-tint")},updateValueTooltip:function(){var t,e;$(".tooltip",this.container).remove(),this.container.append($("<div></div>").addClass("tooltip top center").append($("<p />").text(this.value||_("NoValue")))),$(".tooltip",this.container).addClass("positioning"),this.dashboard&&(t=$(".tooltip",this.container).offset(),e=this.dashboard.ui.offset(),t.top<e.top&&$(".tooltip",this.container).removeClass("top").addClass("bottom"),t.left<e.left?$(".tooltip",this.container).removeClass("center").addClass("left"):t.left+$(".tooltip",this.container).outerWidth()>e.left+this.dashboard.ui.outerWidth()&&$(".tooltip",this.container).removeClass("center").addClass("right")),$(".tooltip",this.container).removeClass("positioning")},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled",!("mixed"===this.p.data.mode&&this.p.data_id))},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"mixed":this.renderDataBindings(t);break;case"formula":this.renderDataFormula(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=new Settings.Data.Bindings(t);e.area_column_limits[Enums.WidgetAreas.Values]=1,e.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:1}]),this.data_destroy_callback=function(){e.destroy()}},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"indicator-symbol.png",text:_("Symbols"),code:"symbols",renderer:this.getSymbolProperties.bind(this)}),t},getSymbolProperties:function(o){var t=o.ui.content,i=this,a=this.updateDOM.bind(this),e='<div class="id1_symbols_container">                                        <button type="button" class="btn btn-default btn-grey addSymbol"> '.concat(_("AddNewSymbol"),'</button>                                        <div class="sortable_list_container"></div>                                     </div>');t.append(Mustache.render(e)),this.sortableList=new SortableList({container:$(".id1_symbols_container .sortable_list_container"),object:this.p,property:"symbols",onDeleteCallback:this.updateDOM.bind(this),onSortCallback:this.updateDOM.bind(this),columns:[{name:_("Symbol"),width:80,cellFormat:function(t,e){o.addGlobalIconSelector({container:e,label:_("Icon"),object:t,property:"image",callback:a,grid:!0,widget:i})}},{name:_("Color"),width:80,cellFormat:function(t,e){var o=$('<div class="btn-group clicColorPicker-toggle dropdown combo">                                                    <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                    <button type="button" class="btn btn-default dropdown-toggle">                                                    </button>                                                    <input type="text" value="'.concat(t.color,'" class="colorPicker" />                                                </div>'));e.append(o),$("> input",o).clicColorPicker({dropDown:!0,onColorChanged:function(){t.color=this.getRGBAColor(),i.updateDOM()},onPreviewColorChanged:function(){t.color=this.getRGBAColor(),i.updateDOM()},onCancel:function(){t.color=this.getRGBAColor(),i.updateDOM()},palette:i._from.dashboard.model.colors})}},{name:_("Value"),classes:"value_column",cellFormat:function(t,e){var o,a;e.append($('<div class="value_container"></div>')),value_container=$(".value_container",e),"default"==t.operator?value_container.append($('<span class="text-header">{0}</span>'.format(_("SymbolOperator_Default")))):(o=$('<select class="operator_selector"></select>'),value_container.append(o),(a=function(){i.renderFormatFormulaInput($(".value_container",e),"value1","value1_result",t),t.operator==WidgetID1.Operators.Between&&i.renderFormatFormulaInput($(".value_container",e),"value2","value2_result",t)})(),$(".operator_selector",value_container).comboBox({appendToBody:!0,onChange:function(){t.operator=this.getValue(),a(),i.updateDOM()}}),$(".operator_selector",value_container).comboBox("dataprovider",$.map(WidgetID1.Operators,function(t,e){return{label:_("Operator_".concat(t)),value:t}})),$(".operator_selector",value_container).comboBox("select",t.operator))}}],noDelete:function(t){return"default"==t.operator}}),$(".addSymbol",t).on("click",function(){i.sortableList.addNewObject({image:"arcou",color:"#000000",operator:WidgetID1.Operators.Equals,value1:"1",value2:"1",value1_result:1,value2_result:1},!0),i.updateDOM()})},renderFormatFormulaInput:function(t,e,o,a){var i=this;a[o]=a[o]||a[e],$(".formula-container.{0}".format(o),t).show(),a.operator==WidgetID1.Operators.Between&&"value2"==e||$(".formula-container.value2_result".format(o),t).hide(),$(".formula-container.{0}".format(o),t).length||this.settings.Format.addFormulaInput({container:t,widget:i,dashboard:i.settings._original_widget.dashboard,object:a,grid:!0,dropup:!0,property:e,customClass:o,appendToBody:!0,callback:function(t){i.settings.Data._isDirty=!0,i.tryUpdate()}})},renderInteractionsTab:function(t){var e=this.updateDOM.bind(this);t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:e,items:[{type:null},{type:"show_value",label:_("Interaction_DisplayValue"),getDefaultValue:function(t){return t},renderer:function(){}},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},refreshFromDataDependency:function(t,e){var o=!1;if(this.p.data_id==t&&"mixed"==this.p.data.mode&&(o=!0),"formula"==this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)&&(o=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"mixed"===this.p.data.mode&&this.p.data_id)for(var a=0;a<this.p.sort_filter.filters.length;a++){var i=this.p.sort_filter.filters[a];if(i.state!=Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(i.formula,e)){o=!0;break}}if(this.p.symbols&&0<this.p.symbols.length)for(a=0;a<this.p.symbols.length;a++){var r=this.p.symbols[a];if(DashboardUtils.checkFormulaDataCloneDependency(r.value1,e)||DashboardUtils.checkFormulaDataCloneDependency(r.value2,e)){o=!0;break}}o&&this.tryUpdate()}})});
//# sourceMappingURL=ID1-symbol.js.map

Widget.createType({id:"ID2",options:{width:110,height:110,min_width:20,min_height:20,hasStyleProperty:!0,formula_input:["data.formula","sort_filter.filters.formula","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula","interactions.onclick.parameters.parameters.formula"],formula_output:["value"]},scripts:["/Libraries/jQueryTextFill/polyfill.min.js","/Libraries/jQueryTextFill/jQueryTextFill.js"],properties:{style:"",data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:"'75.000'"},background:{background_color:"rgba(0,0,0,0)",gradient:!1,border:{width:0,color:"#000000"},shadow:{code:"none",radius:0,opacity:0},roundness:0},number_font:{family:"Open Sans",size:24,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"center"},number_format:null,number_autofit:!0,default_if_empty:"",subtitle:{text:"",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"}},subtitle_autofit:!0,indicator:{type:"icon",icon:{id:"mdrop",color:"rgba(85,168,221,1)"},image:{file_guid:null,url:"",position:""},position:"top"},sort_filter:{filters:[]},interactions:{ondblclick:null,onhover:null,onclick:null}},prototype:$.extend(!0,{},WidgetID.prototype,{getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},onWidgetSettingsSaved:function(){this.tryUpdate()},init:function(){this.bindEvents(),this.tryUpdate()},refreshFromDataDependency:function(t,i){var e=!1;if(this.p.data_id===t&&"bindings"===this.p.data.mode&&(e=!0),"formula"===this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,i)&&(e=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var a=0;a<this.p.sort_filter.filters.length;a++){var n=this.p.sort_filter.filters[a];if(n.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,i)){e=!0;break}}e&&this.tryUpdate()},_bindContainerInteractionEvents:function(){var e,a=this;if(this._singleClickTrigerred=!1,this._from||(e=function(t,i){a.dashboard.trigger("urlopened",{url:t,mode:i.mode,parameters:i.parameters,widget:a})},this.container.on("mouseenter",function(){a.p.interactions.onhover&&"show_tooltip"==a.p.interactions.onhover.type&&""!=a.p.interactions.onhover.tooltip_text&&(a.updateTooltipText(),a.updateTooltipStyle())}),this.container.noDoubleTapZoom().on("dblclick",function(){if(a.p.interactions&&a.p.interactions.ondblclick){var i=a.p.interactions.ondblclick;switch(i.type){case"dashboard":a._singleClickTrigerred=!1,a.handleDashboardInteraction(i);break;case"url":a._singleClickTrigerred=!1,i.url_type&&"string"!==i.url_type?FormulaUtils.evaluateFormula({formula:i.url,widget:a,sucessCallback:function(t){e(t,i)}}):e(i.url,i);break;case"display_record":a.displayRowDataPopup([])}}})),this.p&&this.p.interactions){if(this.p.interactions.onclick){var i=this.p.interactions.onclick;switch(i.type){case"dashboard":this.container.on("click",function(){a.singleClickInteractionHandler(function(){a.handleDashboardInteraction(i)})});break;case"url":this.container.on("click",function(){a.singleClickInteractionHandler(function(){i.url_type&&"string"!==i.url_type?FormulaUtils.evaluateFormula({formula:i.url,widget:a,sucessCallback:function(t){e(t,i)}}):e(i.url,i)})})}}this.dashboard&&!this.dashboard.in_editor&&(this.p.interactions.ondblclick||this.p.interactions.onclick||this.p.onrowdblclick)&&this.container.addClass("interactions")}},singleClickInteractionHandler:function(t){var i=this;this._singleClickTrigerred=!0,setTimeout(function(){i._singleClickTrigerred&&t&&t()},200)},bindEvents:function(){var t=this;this._eventsBound||(this.createProperty("value"),this.on("propertieschanged",function(){t.updateDOM()}),this.on("fontchanged",function(){this.updateText()}.bind(this)),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,this.updateSize.bind(this)),this.on(WidgetLayer.Events.RESIZED,this.updateSize.bind(this))),this.on("stylechanged",function(){t.updateDOM()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},setSample:function(){this.value=75e3,this.updateDOM()},updateDOM:function(){var e=this,a=!1;if(this.ui.empty(),this.ui.removeClass("vertical-positioning right-positioning left-positioning"),"none"!==this.p.indicator.type){var n=$('<div class="imageContainer"></div>');switch(this.ui.append(n),this.p.indicator.type){case"icon":var t=function(){var t=DashboardUtils.WidgetIcons.getSymbolFromCode(e.p.indicator.icon.id,"fa-tint"),i=(this._currentIconClass=t,n.append($('<div class="indicator {0}"></div>'.format(t))),this.updateIndicatorStyle(),setInterval(function(){a&&(clearInterval(i),e.updateFontSize(),e._loaded=!0,e.hideLoading())},100))}.bind(this);this.loadWidgetIcons(t);break;case"image_url":this.p.indicator.image.url&&n.append($('<div class="indicator image" style="background-image: url({0})"></div>'.format(this.p.indicator.image.url)));break;case"image_file":this.p.indicator.image.file_guid&&n.append($('<div class="indicator image" style="background-image: url({0})"></div>'.format(window._App.webservices_url+"Media/Image/{0}?key={1}&id={2}&type={3}".format(this.p.indicator.image.file_guid,Utils.getSessionKey(),Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()))))}}var i=$('<div class="textContainer"></div>'),o=(i.toggleClass("noImage","none"===this.p.indicator.type),$('<div class="mainText"><span class="mainTextSpan"></span></div>'));switch(i.append(o),this.p.subtitle.text&&(o=$('<div class="subText"><span class="subTextSpan"></span></div>'),i.append(o),i.addClass("subtitle")),this.ui.append(i),this.p.indicator.position){case"top":this.ui.addClass("vertical-positioning");break;case"left":this.ui.addClass("left-positioning");break;case"right":this.ui.addClass("right-positioning")}this.updateStyle(),this.handleTooltipState(),a=!0,"icon"!==this.p.indicator.type&&(this.updateFontSize(),e._loaded=!0)},updateIndicatorStyle:function(){$(".indicator ",this.ui).css("color",this.p.indicator.icon.color)},updateStyle:function(){Utils.FontUtils.loadFont(this.p.number_font.family),Utils.FontUtils.loadFont(this.p.subtitle.font.family),this.ui.css({border:"".concat(this.p.background.border.width,"px solid ").concat(this.p.background.border.color),background:this.getBackgroundValue(),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow),"border-radius":"".concat(this.p.background.roundness+this.p.background.border.width,"px")}),"icon"===this.p.indicator.type&&this.updateIndicatorStyle(),$(".textContainer .mainTextSpan",this.ui).css({"font-family":this.p.number_font.family,"text-align":this.p.number_font.halign,"text-shadow":this.p.number_font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.number_font.underline?"underline":"none",color:this.p.number_font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.number_font.family,this.p.number_font.font_weight),"font-style":this.p.number_font.italic?"italic":"normal"}),$(".textContainer .subTextSpan",this.ui).css({"font-family":this.p.subtitle.font.family,"text-align":this.p.subtitle.font.halign,"text-shadow":this.p.subtitle.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.subtitle.font.underline?"underline":"none",color:this.p.subtitle.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.subtitle.font.family,this.p.subtitle.font.font_weight),"font-style":this.p.subtitle.font.italic?"italic":"normal"}),this.updateText()},updateSize:function(){Utils.requestAnimationFrameOnce("updateSize-".concat(this.guid),function(){this.updateFontSize()}.bind(this))},updateText:function(){var t=this.value,t=(t||0===t||(t=this.p.default_if_empty,null!==this.p.default_if_empty&&""!==this.p.default_if_empty&&(this.value=+this.p.default_if_empty)),this.p.number_format?Utils.formatValue(t,this.p.number_format):t);$(".textContainer .mainTextSpan",this.ui).text(t),this.p.subtitle&&$(".textContainer .subTextSpan",this.ui).text(this.p.subtitle.text)},updateFontSize:function(){var t=[];"icon"===this.p.indicator.type&&$(".indicator",this.ui).fancyTextFill({minFontSize:1,maxHeight:Math.min($(".imageContainer",this.ui).height(),$(".imageContainer",this.ui).width()),maxFontSize:800}),this.p.number_autofit?t.push(".mainTextSpan"):$(".mainTextSpan",this.ui).css({"font-size":this.p.number_font.size}),this.p.subtitle.text&&(this.p.subtitle_autofit?t.push(".subTextSpan"):$(".subTextSpan",this.ui).css({"font-size":this.p.subtitle.font.size})),0<t.length&&$(t.join(","),this.ui).fancyTextFill({maxFontSize:800,minFontSize:1})},initializeSettings:function(){var t=this;this.on("data_changed",function(){t.setSortFilterTabState()})},renderPropertiesTab:function(t){var i=this,e=t.ui.content;e.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),formula:_("Formula"),formula_desc:_("FormulaDataDesc")})),e.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),e.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,i.p.data.mode=$(this).val(),i.setSortFilterTabState(),i.clearSortAndFilters(),i.update()})},bindAdditionalDataHelperEvents:function(t){var a=this;t.on("aggregationChanged",function(i){for(var t=a.p.sort_filter.filters.filter(function(t){return t.aggregation&&t.aggregation!==i.binding.aggregation&&i.binding.column_id===t.column_id}),e=0;e<t.length;e++)t[e].aggregation=i.binding.aggregation})},getFormatTabs:function(){var t=[];return t.push({icon:"note-shape.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"image.png",text:_("ImageIcon"),code:"indicator",renderer:this.getIndicatorProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t},getIndicatorProperties:function(i){function t(){var t=$(".additionalProperties",i.ui.content);switch(0===t.length&&(t=$('<div class="additionalProperties"></div>'),i.ui.content.append(t)),t.empty(),e.p.indicator.type){case"none":return;case"icon":e.renderIconProperties(i,t);break;case"image_url":case"image_file":e.renderImageProperties(i,t)}i.addToggleButtons({container:t,label:_("ImagePlacement"),object:e.p.indicator,property:"position",callback:e.updateDOM.bind(e),buttons:[{image:"placement-left.png",value:"left"},{image:"placement-top.png",value:"top"},{image:"placement-right.png",value:"right"}]})}var e=this;i.addDropdown({label:_("DisplayImageIcon"),object:this.p.indicator,property:"type",combobox:{dataprovider:[{label:_("None"),value:"none"},{label:_("ImageFromLibrary"),value:"image_file"},{label:_("ImageFromURL"),value:"image_url"},{label:_("Icon"),value:"icon"}]},callback:function(){t(),e.updateDOM()}}),t(),i.addSeparator()},renderIconProperties:function(t,i){var e=this.updateDOM.bind(this);t.addGlobalIconSelector({container:i,label:_("Icon"),object:this.p.indicator.icon,property:"id",callback:e,widget:this}),t.addColor({container:i,label:_("IconColor"),object:this.p.indicator.icon,property:"color",callback:this.updateStyle.bind(this)})},renderImageProperties:function(t,i){var e=this;switch(this.p.indicator.type){case"image_url":t.addInputButton({container:i,label:_("URL"),object:this.p.indicator.image,property:"url",buttonCallback:this.updateDOM.bind(this),buttonIcon:"far fa-arrow-down",event:"focusout"});break;case"image_file":t.addInputButton({container:i,label:_("Image"),placeholder:_("Browser"),object:this.p.indicator.image,property:"file_name",buttonCallback:function(){Dialog.openVueDialog("/utils/mediapicker",{onSelect:function(t){$("input",i).val(t.Name).trigger("change"),e.p.indicator.image.file_guid=t.FileId,e.p.indicator.image.file_name=t.Name,e.updateDOM()},type:Enums.DocumentType.Image})},buttonIcon:"far fa-image",event:"focusout"})}},getTextProperties:function(t){var i=this,e=this.updateFontSize.bind(this),e=(t.addFont({dropdown_label:_("NumberFont"),object:this.p,property:"number_font",autofit_property:"number_autofit",autofit_callback:e,dropDown:!0,callback:function(){i.updateStyle(),i.updateFontSize()}}),t.addFormat({label:_("Format"),object:this.p,property:"number_format",callback:function(){i.updateText(),i.updateFontSize()}}),t.addText({label:_("DefaultIfEmpty"),placeholder:_("DefaultIfEmptyPlaceholder"),object:this.p,property:"default_if_empty",callback:function(){i.tryUpdate()}}),t.addSeparator(),t.addText({label:_("Subtitle"),placeholder:_("EnterSubtitle"),object:this.p.subtitle,property:"text",callback:this.updateDOM.bind(this),event:"focusout"}),t.addSection());t.ui.content.append(e),t.addFont({container:e,dropdown_label:_("Font"),object:this.p.subtitle,property:"font",disabled_size:this.p.subtitle_autofit,id:"subtitle_font",callback:function(){i.updateStyle(),i.updateFontSize()}}),t.addBoolean({label:_("FitToShape"),object:this.p,property:"subtitle_autofit",callback:function(){i.p.subtitle_autofit?$("#prop_{0} select".format("subtitle_font")).comboBox("disable"):$("#prop_{0} select".format("subtitle_font")).comboBox("enable"),i.updateFontSize()}}),t.addSeparator()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,parameters:!0,property:"onclick"}),t.addSeparator(),t.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick",items:[{type:null},{type:"dashboard"},{type:"url"},{type:"display_record"}]}),t.addSeparator(),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},applyStyleToTargetWidget:function(t){this.p.indicator.icon.color=t.indicator.icon.color,this.p.subtitle.font=Utils.clone(t.subtitle.font)}})});
//# sourceMappingURL=ID2-number.js.map

var _excluded=["label","threshold_area"];function _objectWithoutProperties(t,e){if(null==t)return{};var a,r=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(t),i=0;i<o.length;i++)a=o[i],0<=e.indexOf(a)||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a]);return r}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var a,r={},o=Object.keys(t),i=0;i<o.length;i++)a=o[i],0<=e.indexOf(a)||(r[a]=t[a]);return r}function _createForOfIteratorHelper(t,e){var a,r,o,i,l="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(l)return r=!(a=!0),{s:function(){l=l.call(t)},n:function(){var t=l.next();return a=t.done,t},e:function(t){r=!0,o=t},f:function(){try{a||null==l.return||l.return()}finally{if(r)throw o}}};if(Array.isArray(t)||(l=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return l&&(t=l),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,r=new Array(e);a<e;a++)r[a]=t[a];return r}Widget.BulletChartPrototype={SHADOW_CODE_VALUES:{none:{radius:0,opacity:0},light:{radius:5,opacity:.1},medium:{radius:7,opacity:.2},strong:{radius:10,opacity:.3}},DEFAULT_MARGIN:25,DEFAULT_VALUE:50,_enableAnimation:!1,_firstLoad:!0,init:function(){this.p.plot_area.threshold_area.intervals||(this.p.plot_area.threshold_area.intervals=[{min:0,max:20,color:DashboardUtils.getPaletteColor(this.p.colors,0)},{min:20,max:40,color:DashboardUtils.getPaletteColor(this.p.colors,1)},{min:40,max:100,color:DashboardUtils.getPaletteColor(this.p.colors,2)}]),this.ui.append($("<div class='bulletChartContainer'></div>")),this.hcContainer=$(".bulletChartContainer",this.ui),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var a=this;this._eventsBound||(this.on("error",function(t){t&&a.hcContainer.highcharts()&&a.hcContainer.highcharts().destroy()}),this.createProperties(),this.on("colorschanged",function(){a.p.plot_area.threshold_area.intervals.forEach(function(t,e){t.color=DashboardUtils.getPaletteColor(a.p.colors,e)}),a.render()}),this.on("stylechanged",function(){a.updateBackground(),a.render()}),this.on("fontchanged",function(){return a.render()}),this.on(["propertieschanged"],function(){return a.render()}),this.on(["height","width"],function(t){this.updateContainerSize(),ChartUtils.resizeChart(this,this.hcContainer,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindInteractions(),this._eventsBound=!0)},bindInteractions:function(){var t=this;if(this.p.interactions.onclick){var e=this.p.interactions.onclick;switch(e.type){case"dashboard":this.container.on("click",function(){t.handleDashboardInteraction(e)});break;case"url":this.container.on("click",function(){e.url&&t.dashboard&&t.dashboard.trigger("urlopened",{url:e.url,mode:e.mode,parameters:e.parameters,widget:t})})}}},render:function(){var e=this,t=this;try{this._renderTitles(),this.hcContainer.highcharts()&&this.hcContainer.highcharts().destroy();var a={chart:{inverted:!0,marginLeft:this.p.category_label.title.text||this.p.category_label.subtitle.text?80:this.DEFAULT_MARGIN,marginRight:this.DEFAULT_MARGIN,type:"bullet",width:this.width,plotBackgroundColor:this._getPlotBackground(),backgroundColor:this.p.background.color,plotShadow:this._getShadowProperties(this.p.plot_area.background.shadow),plotBorderColor:this.p.plot_area.background.border.color,plotBorderWidth:this.p.plot_area.background.border.width,animation:this._firstLoad&&this._enableAnimation,events:{load:function(){e._loaded=!0}}},title:{text:""},subtitle:{text:""},xAxis:{className:"bullet-chart-category-label",categories:[this._formatCategoryLabels()],labels:{align:"center",reserveSpace:!0,useHTML:!0,overflow:"allow"},lineWidth:0,tickWidth:0,gridLineWidth:0},yAxis:{gridLineWidth:0,startOnTick:!1,endOnTick:!1,min:this.minvalue,max:this.maxvalue,plotBands:this._getPlotBands(),title:null,tickWidth:0,tickLength:0,tickInterval:this._getTickInterval(),labels:{overflow:"allow",enabled:this.p.axis_labels.enabled,rotation:this.p.axis_labels.rotation,style:this._getFontStyles(this.p.axis_labels.font),formatter:function(t){return WidgetsCommon.getFormattedAxisLabel(t.value,e.p.axis_labels.format,null,t.chart.isDatetimeAxis)}}},series:[{animation:this._firstLoad&&this._enableAnimation,borderWidth:0,data:[{y:this.value,target:this.targetvalue}]}],plotOptions:{bullet:{borderWidth:0,pointPadding:0!==this.p.plot_area.value_bar.border.width?.5-(this.p.plot_area.value_bar.border.width+10)/120:void 0,color:this.p.plot_area.value_bar.border.color,shadow:this._getShadowProperties(this.p.plot_area.value_bar.shadow),dataLabels:this.getValueLabelProperties(this.p.plot_area.label),targetOptions:{width:"100%",color:this.p.plot_area.target_line.border.color,height:this.p.plot_area.target_line.border.width||2}},series:{clip:!1}},tooltip:{enabled:this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content,pointFormat:this.p.tooltip.content,headerFormat:null,useHTML:!0,borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color,formatter:function(){return DashboardUtils.formatWidgetTooltip([{format:!0,regex:"this.point.y",value:this.point.y,defaultFormatting:t.p.plot_area.label.format}],t.p.tooltip.content,t)}},credits:{enabled:!1},exporting:{enabled:!1},legend:{enabled:!1}},r=(this.updateContainerSize(),this.updateBackground(),Highcharts.chart(this.hcContainer[0],a),this._calculateTargetLineProperties(this.hcContainer.find(".highcharts-plot-background").first().attr("height")));this.hcContainer.find(".highcharts-bullet-target").first().attr("filter",r.shadow).attr("x",r.x).attr("width",r.height),this._firstLoad&&(this._firstLoad=!1)}catch(t){this.error=t}},updateContainerSize:function(){0<$(".titleContainer",this.ui).length?(this.hcContainer.attr("style","height: 60%"),$(".titleContainer",this.ui).css("height","".concat($(".titleContainer",this.ui).outerHeight(!0),"px"))):this.hcContainer.attr("style","height: 60%")},getValueLabelProperties:function(t){var e=this;return t&&t.enabled?(Utils.FontUtils.loadFont(t.font.family),{enabled:t.enabled,inside:t.inside,align:this.getValueLabelHAlign(t),y:0,verticalAlign:this.getValueLabelVAlign(t),style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",textOutline:null,color:t.font.color},formatter:function(){var t=e.p.plot_area.label;return Utils.formatValue(this.y,t.format&&t.format.Type?t.format:null)}}):{enabled:!1}},getValueLabelHAlign:function(t){return t.inside||"center"===t.font.halign?t.font.halign:"left"===t.font.halign?"right":"left"},getValueLabelVAlign:function(t){return"top"===t.font.valign?"bottom":"bottom"===t.font.valign?"top":t.font.valign},updateBackground:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.p.background.shadow&&"none"!==this.p.background.shadow.code?this.getShadowCssFromShadowConfiguration(this.p.background.shadow):"none"})},onVisibilityChange:function(){this.render()},createProperties:function(){this.createProperty("value"),this.createProperty("targetvalue"),this.createProperty("minvalue"),this.createProperty("maxvalue")},updateService:function(){return"mixed"!==this.p.data.mode?"Formulas":"ID4Data"},canUpdateData:function(){return"mixed"!==this.p.data.mode||0<this.p.data_bindings.length},updateServiceError:function(){this._loaded=!1},refreshFromDataDependency:function(t,e){var a=!1,r=[];if(!(a=this.p.data_id==t&&"mixed"==this.p.data.mode?!0:a)){if(r.push(this.p.data.min.formula),r.push(this.p.data.max.formula),r.push(this.p.data.actual.formula),r.push(this.p.data.target.formula),"formula"===this.p.plot_area.threshold_area.based_on&&0<this.p.plot_area.threshold_area.intervals.length)for(var o=0;o<this.p.plot_area.threshold_area.intervals.length;o++)r.push(this.p.plot_area.threshold_area.intervals[o].min),r.push(this.p.plot_area.threshold_area.intervals[o].max);if("formula"===this.p.axis_labels.interval.type&&r.push(this.p.axis_labels.interval.value),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"mixed"===this.p.data.mode&&this.p.data_id)for(var i=0;i<this.p.sort_filter.filters.length;i++){var l=this.p.sort_filter.filters[i];l.state!=Enums.WidgetFilterState.Disabled&&r.push(l.formula)}r.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)})}a&&this.tryUpdate()},updateServiceSuccess:function(t){switch(this.p.data.mode){case"formula":if(0<t.length){this.updateMinValue(t[0].value),this.updateActualValue(t[1].value),this.updateTargetValue(t[2].value),this.updateMaxValue(t[3].value);var e=4;if("formula"===this.p.axis_labels.interval.type&&(this.p.axis_labels.interval.value_result=t[e].value,e++),"formula"===this.p.plot_area.threshold_area.based_on&&0<this.p.plot_area.threshold_area.intervals.length){for(var a=0;a<this.p.plot_area.threshold_area.intervals.length;a++)this.p.plot_area.threshold_area.intervals[a].min_result=parseFloat(t[e].value),e++;for(var r=0;r<this.p.plot_area.threshold_area.intervals.length;r++)this.p.plot_area.threshold_area.intervals[r].max_result=parseFloat(t[e].value),e++}}break;case"mixed":this.updateMinValue(t.min_value.value),this.updateTargetValue(t.target.value),this.updateMaxValue(t.max_value.value);var o=null===t.actual?this.DEFAULT_VALUE:t.actual;if(this.updateActualValue(o),"formula"===this.p.plot_area.threshold_area.based_on&&0<this.p.plot_area.threshold_area.intervals.length)for(var i=0;i<t.intervals.length;i++)this.p.plot_area.threshold_area.intervals[i].min_result=parseFloat(t.intervals[i].min_value.value),this.p.plot_area.threshold_area.intervals[i].max_result=parseFloat(t.intervals[i].max_value.value);"formula"===this.p.axis_labels.interval.type&&(this.p.axis_labels.interval.value_result=t.interval_units.value);for(var l=0;l<t.filters.length;l++)this.p.sort_filter.filters[l].formula_result=parseFloat(t.filters[l].value)}this.render()},setSample:function(){this.updateMinValue(0),this.updateTargetValue(90),this.updateMaxValue(100),this.updateActualValue(50),this.render()},updateActualValue:function(t){try{if(this.p.data.actual.formula_result=parseFloat(t),this.value=parseFloat(this.p.data.actual.formula_result),isNaN(this.value)&&null!==t)throw _("ActualValueMustBeANumber")}catch(t){this.error=t}},updateTargetValue:function(t){try{if(this.p.data.target.formula_result=parseFloat(t),this.targetvalue=parseFloat(this.p.data.target.formula_result),isNaN(this.targetvalue)&&null!==t)throw _("TargetValueMustBeANumber")}catch(t){this.error=t}},updateMinValue:function(t){try{if(this.p.data.min.formula_result=parseFloat(t),this.minvalue=parseFloat(this.p.data.min.formula_result),isNaN(this.minvalue)&&null!==t)throw _("MinValueMustBeANumber")}catch(t){this.error=t}},updateMaxValue:function(t){try{if(this.p.data.max.formula_result=parseFloat(t),this.maxvalue=parseFloat(this.p.data.max.formula_result),isNaN(this.maxvalue)&&null!==t)throw _("MaxValueMustBeANumber")}catch(t){this.error=t}},renderPropertiesTab:function(t){var e=this,t=t.ui.content;t.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),formula:_("Formula"),formula_desc:_("FormulaDataDesc")})),t.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),t.on("change",".multiple_labels input[type=radio]",function(t){e.p.data.mode=$(t.target).val(),e.clearSortAndFilters(),e.setSortFilterTabState(),e.p.data.actual.formula=e.DEFAULT_VALUE.toString(),e.p.data.actual.formula_result=e.DEFAULT_VALUE,e.update()})},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"mixed":this.renderDataBindings(t);break;case"formula":this.renderDataFormula(t)}},renderDataBindings:function(t){var e=this,a=t.ui,r=new Settings.Data.Bindings(t),t=(r.area_column_limits[Enums.WidgetAreas.Values]=1,r.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:1}]),this.data_destroy_callback=function(){r.destroy()},$("<div class='ga_chartdata_container'>"));a.append(t),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,dropup:!0,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,dropup:!0,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("TargetValue"),object:this.p.data.target,dropup:!0,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}})},renderDataFormula:function(t){var e=this,t=t.ui;t.append($("<header>").text(_("EnterMinMaxActualTargetValues"))),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("Actual"),object:this.p.data.actual,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("Target"),object:this.p.data.target,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"bullet-chart-plotarea.png",text:_("PlotArea"),code:"plotarea",renderer:this.getPlotAreaProperties.bind(this)}),t.push({icon:"bullet-chart-value-and-target.png",text:_("ValueAndTarget"),code:"valuetarget",renderer:this.getValueAndTargetProperties.bind(this)}),t.push({icon:"bullet-chart-background-ranges.png",text:_("BackgroundRanges"),code:"backgroundranges",renderer:this.getBackgroundRangesProperties.bind(this)}),t.push({icon:"bullet-chart-axis-labels.png",text:_("AxisLabels"),code:"axislabels",renderer:this.getAxisLabelsProperties.bind(this)}),t},getTooltipMacro:function(){return[["{{this.point.y}}",_("YPointValue")]]},getTitleProperties:function(t){var e=this.render.bind(this);t.addToggleButtons({label:_("Position"),callback:e,object:this.p.titles,property:"position",buttons:[{image:"circular-gauge-title-placement-1.png",value:"top"},{image:"circular-gauge-title-placement-2.png",value:"bottom"}]}),t.addSeparator(),t.addText({object:this.p.titles.title,property:"text",label:_("Title"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.title,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",label:_("Subtitle"),placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getPlotAreaProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.plot_area.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.plot_area.background,property:"border",callback:e}),t.addSeparator(),t.addShadow({object:this.p.plot_area.background,property:"shadow",callback:e,codeValues:this.SHADOW_CODE_VALUES})},getValueAndTargetProperties:function(t){var e=this.p.plot_area.label,a=this.render.bind(this),r=t.addSection();t.addBoolean({section:r,label:_("ShowValueLabels"),object:e,property:"enabled",callback:a}),t.addFont({container:r,object:e,property:"font",callback:a}),t.addFormat({container:r,label:_("Format"),object:e,property:"format",callback:a}),t.addBoolean({container:r,label:_("InsidePlotArea"),object:e,property:"inside",callback:a}),t.addSeparator(),t.addSlider({label:_("ValueBarHeight"),object:this.p.plot_area.value_bar.border,property:"width",callback:a,interval:1,min:0,max:100,valueLabelFormat:function(t){return"".concat(t," %")}}),t.addColor({label:_("ValueBarColor"),callback:a,object:this.p.plot_area.value_bar.border,property:"color"}),t.addShadow({label:_("ValueBarShadow"),object:this.p.plot_area.value_bar,property:"shadow",callback:a,codeValues:this.SHADOW_CODE_VALUES}),t.addSeparator(),t.addSlider({label:_("TargetLineHeight"),object:this.p.plot_area.target_line,property:"height",callback:a,interval:1,min:0,max:100,valueLabelFormat:function(t){return"".concat(t," %")}}),t.addSlider({label:_("TargetLineThickness"),object:this.p.plot_area.target_line.border,property:"width",callback:a,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addColor({label:_("TargetLineColor"),callback:a,object:this.p.plot_area.target_line.border,property:"color"}),t.addShadow({label:_("TargetLineShadow"),object:this.p.plot_area.target_line,property:"shadow",callback:a})},getBackgroundRangesProperties:function(t){var r=this,o=this.render.bind(this),i=t.addSection(),a=(i.addClass("nomargin"),t.addBoolean({section:i,label:_("EnableBackgroundRanges"),object:this.p.plot_area.threshold_area,property:"enabled",callback:o}),t.addDropdown({container:i,label:_("BasedOn"),label_class:"margin",object:this.p.plot_area.threshold_area,property:"based_on",combobox:{dataprovider:[{value:"values",label:_("Number")},{value:"percent",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(t,e){r.p.plot_area.threshold_area.intervals=r._convertIntervals(r.p.plot_area.threshold_area.intervals,r.p.plot_area.threshold_area.based_on,e),a(),o()}}),function t(){var e=$(".plotBandsContainer",i),a=(0===e.length&&(e=$('<div class="plotBandsContainer"></div>'),i.append(e)),e.empty(),'<div class="id4_plot_area_container">\n                <button type="button" class="btn btn-default btn-grey addInterval">'.concat(_("AddNew"),'</button><div class="sortable_list_container"></div></div>'));e.append(Mustache.render(a)),r.sortableList=new SortableList({container:$(".id4_plot_area_container .sortable_list_container",e),object:r.p.plot_area.threshold_area,property:"intervals",onDeleteCallback:o,onSortCallback:o,enableScrollbar:!1,columns:[{name:_("Color"),width:50,cellFormat:function(t,e){r._generateColorColumnContent(t,"color",e,o)}},{name:_("MinValue"),width:120,classes:"value_column",cellFormat:function(t,e){r._generateNumberColumnContent(t,"min",e,o)}},{name:_("MaxValue"),width:120,classes:"value_column",cellFormat:function(t,e){r._generateNumberColumnContent(t,"max",e,o)}}]}),$(".addInterval",i).on("click",function(){r.sortableList.addNewObject({color:"#ffffff",min:0,max:0,min_result:0,max_result:0}),t()})});a()},getAxisLabelsProperties:function(t){var e=this,a=this.render.bind(this),r=(t.addText({object:this.p.category_label.title,property:"text",label:_("CategoryTitle"),placeholder:_("CategoryTitlePlaceholder"),callback:a,event:"keyup"}),t.addFont({object:this.p.category_label.title,property:"font",callback:a}),t.addSeparator(),t.addText({object:this.p.category_label.subtitle,property:"text",label:_("CategorySubtitle"),placeholder:_("CategorySubtitlePlaceholder"),callback:a,event:"keyup"}),t.addFont({object:this.p.category_label.subtitle,property:"font",callback:a}),t.addSeparator(),t.addSection());r.addClass("nomargin"),t.addBoolean({section:r,label:_("ShowAxisLabels"),object:this.p.axis_labels,property:"enabled",callback:a}),t.addFont({container:r,object:this.p.axis_labels,property:"font",callback:a}),t.addToggleButtons({container:r,label:_("Rotation"),object:this.p.axis_labels,property:"rotation",numeric:!0,callback:a,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addFormat({container:r,label:_("Format"),object:this.p.axis_labels,property:"format",callback:a}),this._renderCustomValueSelector(t,{container:r,object:this.p.axis_labels.interval,property:"type",widget:this,dashboard:this.settings._original_widget.dashboard,label:_("Interval"),input_properties:[{type:"number",label:_("Number"),property:"value",callback:a,placeholder:_("AutoPlaceholder"),event:"change"},{type:"formula",label:_("Formula"),property:"value",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()},placeholder:null,event:"change"}]})},clearSortAndFilters:function(){this.p.sort_filter.filters=[]},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled",!("mixed"===this.p.data.mode&&this.p.data_id))},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderFilter:function(t){var n=this,r=new Settings.SortFilter.Filter(t);r.getFilterColumns=function(l){"mixed"===n.p.data.mode&&t.settings.getDataClone(n.p.data_id,n._from.dashboard.id).then(function(t){for(var e=[],a=0;a<n.p.data_bindings.length;a++){var r=n.p.data_bindings[a],o=n.getColumnFromId(t.columns,r.column_id);o&&e.push({is_used:!0,is_context:o.is_context||!1,icon:DashboardUtils.getIconForColumnType(o.type),label:r.name||o.name,value:"".concat(o.id).concat(r.aggregation||""),column_id:o.id,aggregation:r.aggregation,aggregationLabel:r.aggregation?_("Aggregation_".concat(r.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var i=t.columns.concat(n.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(i.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,is_context:t.is_context||!1,column_id:t.id}}));l(e)})},r.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,r.updateOperatorDropdown(t,a),r.updateDataCallback()},r.updateDataCallback=function(){return n.update()},r.render()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,parameters:!0,property:"onclick"}),this.renderToolbarProperties(t)},_renderAxisTitles:function(){$(".axisTitleContainer",this.ui).remove();var t,e=this.p.category_label.title,a=""!==e.text.trim(),r=this.p.category_label.subtitle,o=""!==r.text.trim();(a||o)&&(t=$("<div class='axisTitleContainer'></div>"),a&&((a=$("<div></div>")).css(this._getFontStyles(e.font)),a.text(e.text),t.append(a)),o&&((e=$("<div></div>")).css(this._getFontStyles(r.font)),e.text(r.text),t.append(e)),"bottom"===this.p.titles.position?t.insertAfter(this.hcContainer):t.insertBefore(this.hcContainer))},_renderTitles:function(){$(".titleContainer",this.ui).remove();var t,e=this.p.titles.title,a=""!==e.text.trim(),r=this.p.titles.subtitle,o=""!==r.text.trim();e.font.halign||(e.font.halign="center"),r.font.halign||(r.font.halign="center"),(a||o)&&(t=$("<div class='titleContainer'></div>"),a&&((a=$("<div></div>")).css(this._getFontStyles(e.font)),a.text(e.text),t.append(a)),o&&((e=$("<div></div>")).css(this._getFontStyles(r.font)),e.text(r.text),t.append(e)),"bottom"===this.p.titles.position?t.insertAfter(this.hcContainer):t.insertBefore(this.hcContainer))},_formatCategoryLabels:function(){var t=$("<span></span>"),e=$("<div></div>"),e=(e.css(this._getFontStyles(this.p.category_label.title.font)),e.text(this.p.category_label.title.text),t.append(e),$("<div></div>"));return e.css(this._getFontStyles(this.p.category_label.subtitle.font)),e.text(this.p.category_label.subtitle.text),t.append(e),t.html().replace(/&quot;/g,"'")},_getFontStyles:function(t){return Utils.FontUtils.loadFont(t.family),{"text-align":t.halign,"font-family":t.family,"font-size":"".concat(t.size,"px"),"text-shadow":t.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:t.color,"font-weight":Utils.FontUtils.getFontWeight(t.family,t.font_weight),"font-style":t.italic?"italic":"normal","text-decoration":t.underline?"underline":"none"}},_getSVGShadow:function(t,e){var a,r,e="shadow-".concat(this.guid).concat(e);return d3.select("#".concat(e)).remove(),t&&t.radius?(a=d3.select("#".concat(this.container.attr("id")," svg")).select("defs").append("filter").attr("id",e).attr("height","130%"),r=t.radius/5*2,a.append("feGaussianBlur").attr("in","SourceAlpha").attr("stdDeviation",r).attr("result","blur"),a.append("feOffset").attr("dx",0).attr("dy",0).attr("result","offsetBlur"),a.append("feComponentTransfer").append("feFuncA").attr("type","linear").attr("slope",t.opacity),(r=a.append("feMerge")).append("feMergeNode"),r.append("feMergeNode").attr("in","SourceGraphic"),"url(#{0})".format(e)):"none"},_getPlotBackground:function(){return this.p.plot_area.background.gradient?{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,this.p.plot_area.background.color],[1,DashboardUtils.shadeBlend(null,this.p.plot_area.background.color)]]}:this.p.plot_area.background.color},_getShadowProperties:function(t){return!(!t||"none"===t.code)&&{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.opacity,width:t.radius}},_generateColorColumnContent:function(t,e,a,r){var o=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                    <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                    <button type="button" class="btn btn-default dropdown-toggle">                                                    </button>                                                    <input type="text" value="'.concat(t[e],'" class="colorPicker" />                                                </div>'));a.append(o),$("> input",o).clicColorPicker({onColorChanged:function(){t[e]=this.getRGBAColor(),r()},onPreviewColorChanged:function(){t[e]=this.getRGBAColor(),r()},onCancel:function(){t[e]=this.getRGBAColor(),r()},palette:this._from.dashboard.model.colors})},_generateNumberColumnContent:function(e,a,t,r){var o=this;switch(this.p.plot_area.threshold_area.based_on){case"values":case"percent":var i='<div class="cd-number {0}value">                                                <input class="cd-input" type="text" value="{1}" />                                                </div>'.format(a,e[a]);t.append(i),$(".cd-number.{0}value".format(a),t).cdNumber(),$(".cd-number.{0}value input".format(a),t).on("change",function(t){t=$(t.target).val();Utils.isNotEmpty(t)?e[a]=parseFloat(t):e[a]=null,r()});break;case"formula":this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,object:e,grid:!0,dropup:!0,property:a,appendToBody:!0,callback:function(){o.settings.Data._isDirty=!0,o.tryUpdate()}})}},_getPlotBands:function(){var e=this;return this.p.plot_area.threshold_area.enabled?$.map(this.p.plot_area.threshold_area.intervals,function(t){t=e._mapIntervalToPlotBand(t,e.p.plot_area.threshold_area.based_on);return Object.assign({borderColor:t.color,borderWidth:0,thickness:0,outerRadius:void 0,zIndex:0,type:e.p.plot_area.threshold_area.based_on},t)}):[]},_mapIntervalToPlotBand:function(t,e){switch(e){case"values":return{color:t.color,from:t.min,to:t.max};case"percent":return{color:t.color,from:(this.maxvalue-Math.min(this.minvalue,this.maxvalue))*t.min/100+Math.min(this.minvalue,this.maxvalue),to:(this.maxvalue-Math.min(this.minvalue,this.maxvalue))*t.max/100+Math.min(this.minvalue,this.maxvalue)};case"formula":return{color:t.color,from:t.min_result,to:t.max_result}}},_mapPlotBandToInterval:function(t,e){var a=Math.round(t.from),r=Math.round(t.to);switch(e){case"values":return{color:t.color,min:a,max:r};case"percent":var o=Math.max(this.minvalue,this.maxvalue)-Math.min(this.minvalue,this.maxvalue);return{color:t.color,min:(100*(a-Math.min(this.minvalue,this.maxvalue))/o).toFixed(2),max:(100*(r-Math.min(this.minvalue,this.maxvalue))/o).toFixed(2)};case"formula":return{color:t.color,min_result:a,max_result:r,min:a.toString(),max:r.toString()}}},_calculateTargetLineProperties:function(t){var e=this.p.plot_area.target_line.height*t/100;return{x:(t-e)/2,height:e,shadow:this._getSVGShadow(this.p.plot_area.target_line.shadow,"target")}},_convertIntervals:function(t,e,a){var r,o=[],i=_createForOfIteratorHelper(t);try{for(i.s();!(r=i.n()).done;){var l=r.value,n=this._mapIntervalToPlotBand(l,a);o.push(this._mapPlotBandToInterval(n,e))}}catch(t){i.e(t)}finally{i.f()}return o},_getTickInterval:function(){var t="formula"===this.p.axis_labels.interval.type?this.p.axis_labels.interval.value_result:parseFloat(this.p.axis_labels.interval.value);if(t)return t},_renderCustomValueSelector:function(l,n){var s=n.container,d=(s.append(Mustache.render('<div id="prop_{{ id }}" class="property_ddl custom_value_selector" >\n                        <span class="label">{{ label }}</span> \n                        <div class="ctrl ">\n                            <div> \n                                <ul class="multiple_labels">\n                                </ul> \n                            </div>\n                        </div>\n                    </div>',n)),'<li class="{{title_class}} additional_controls">\n                                        <label class="cd-radio hoverStyle">\n                                            <input type="radio" name="header_type" value="{{value}}" />\n                                            <i class="far"></i> \n                                            <span>{{ label }}</span>\n                                    </label>\n                                        <div class="inputContainer"></div>\n                                    </li>');(function a(){var r,o=$(".multiple_labels",s),e=(o.empty(),_createForOfIteratorHelper(n.input_properties));try{var i;for(e.s();!(r=e.n()).done;)!function(){var e=r.value;switch(e.type){case"formula":var t=o.append(Mustache.render(d,{label:e.label,value:"formula",title_class:"formula_title"}));l.addFormulaInput({container:$(".formula_title .inputContainer",t),object:n.object,property:e.property,callback:e.callback,label:e.label,widget:n.widget,dashboard:n.dashboard,dropup:!0,appendToBody:!0});break;case"number":var t=o.append(Mustache.render(d,{label:e.label,value:"number",title_class:"number_title"})),a=n.object&&e.property&&n.object[e.property]&&"number"===n.object[n.property]?n.object[e.property]:"",t=(i='<div class="number_property">\n                                          <div class="cd-number {0}value">\n                                          <input class="cd-input" type="text" value="{1}" placeholder="{2}" />\n                                        </div>\n                                    </div>'.format(e.property,a,e.placeholder),$(".number_title .inputContainer",t).append(i));$(".cd-number.{0}value".format(e.property),t).cdNumber({min:e.min,max:e.max,value:a}),$(".cd-number.{0}value input".format(e.property),t).on("change",function(t){var t=$(t.target).val();Utils.isNotEmpty(t)?(t=parseFloat(t),n.object[e.property]=t.toString()):n.object[e.property]=null,e.callback&&e.callback()})}}()}catch(t){e.e(t)}finally{e.f()}$(".multiple_labels input[type=radio][value={0}]".format(n.object[n.property]),s).prop("checked",!0),$(".inputContainer input",s).prop("disabled",!0),$(".multiple_labels li",s).removeClass("checked"),$(".additional_controls",s).removeClass("selected");var t=$(".multiple_labels input[type=radio][value={0}]".format(n.object[n.property]),s).closest("li");t.addClass("checked selected"),$(".inputContainer input",t).prop("disabled",!1),$(".custom_value_selector input[name=header_type]",s).on("change",function(t){var e=$(t.currentTarget).val(),t=(n.object[n.property]=e,n.input_properties.find(function(t){return t.type===e}));t&&(n.object[t.property]=null),a(),n.callback&&n.callback()})})()},applyStyleToTargetWidget:function(t){this.p.category_label=Utils.deepMerge(this.p.category_label,{subtitle:{font:t.category_label.subtitle.font,text:this.p.category_label.subtitle.text},title:{font:t.category_label.title.font,text:this.p.category_label.title.text}}),this.p.titles=Utils.deepMerge(this.p.titles,{position:this.p.titles.position,subtitle:{font:t.titles.subtitle.font,text:this.p.titles.subtitle.text},title:{font:t.titles.title.font,text:this.p.titles.title.text}}),this.p.axis_labels.font=Utils.clone(t.axis_labels.font);var e=Utils.clone(t.plot_area),e=(e.label,e.threshold_area,_objectWithoutProperties(e,_excluded));this.p.plot_area=Utils.deepMerge(this.p.plot_area,e),this.p.plot_area.label.font=Utils.clone(t.plot_area.label.font),this.copyPropsOnArray(t.plot_area.threshold_area,this.p.plot_area.threshold_area,"intervals",["color"])}},Widget.createType({id:"ID4",options:{width:400,height:150,hasStyleProperty:!0,formula_input:function(t){var e=["data.min.formula","data.actual.formula","data.target.formula","data.max.formula","calculated_columns.formula","interactions.onclick.parameters.parameters.formula"];return t.axis_labels&&"formula"===t.axis_labels.interval.type&&e.push("axis_labels.interval.value"),"formula"===t.plot_area.threshold_area.based_on&&(e.push("plot_area.threshold_area.intervals.min"),e.push("plot_area.threshold_area.intervals.max")),"mixed"===t.data.mode&&e.push("sort_filter.filters.formula"),e},formula_output:["targetvalue","value","minvalue","maxvalue"]},scripts:["/Libraries/d3/d3.min.js","/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/highcharts-more.js","/Libraries/Highcharts/modules/bullet.js"],properties:{style:"",color:"",data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",min:{formula:"0"},max:{formula:"100"},target:{formula:"90"},actual:{formula:"0"}},sort_filter:{filters:[]},plot_area:{value_bar:{border:{color:"#8d8d8d",width:25},shadow:{code:"none"}},label:{enabled:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff",halign:"center",valign:"middle"},inside:!0,format:null},target_line:{border:{color:"#000000",width:3},height:80,shadow:{code:"none"}},threshold_area:{enabled:!0,based_on:"percent",intervals:null},background:{color:"#ffffff",gradient:!1,border:{width:0},shadow:{code:"none"}}},axis_labels:{enabled:!0,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},interval:{type:"number"},rotation:0,format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),{Properties:{Decimals:0}})},category_label:{title:{text:"Title",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#000000"}},subtitle:{text:"Subtitle",font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}}},titles:{position:"top",title:{text:"",font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#000000"}},subtitle:{text:"",font:{family:"Open Sans",halign:"center",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}}},tooltip:{display:!0,content:"<b>{{this.point.y}}</b> value",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},interactions:{onclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:Widget.BulletChartPrototype});
//# sourceMappingURL=ID4-bullet-chart.js.map

function WidgetIN(){}function INTextBase(){}WidgetIN.prototype={getBackgroundValue:function(){return this.p.shape.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.shape.background_color,DashboardUtils.shadeBlend(null,this.p.shape.background_color)):this.p.shape.background_color},getShapeProperties:function(t){t.addHeader({description:_("INFormatShapeDesc"),text:_("Background")}),t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getFontSize:function(t,e,a){var i,o,n;return a.autofit?(i=(t=$("<div>").text(Utils.formatValue(t,a.format)).css({position:"absolute","white-space":e.css("white-space"),visibility:"hidden","font-family":a.font.family,"font-size":"".concat(10,"px"),"font-weight":Utils.FontUtils.getFontWeight(a.font.family,a.font.font_weight),"font-style":a.font.italic?"italic":"normal","text-shadow":a.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.font.underline?"underline":"none","text-align":a.font.halign}).appendTo("body")).outerWidth(),o=t.outerHeight(),n=e.outerWidth(),e=e.outerHeight(),n=10*Math.min(n/i,e/o),t.remove(),"".concat(n-2*a.shape.border.width-(this.class.options.autofitSizeDelta||0),"px")):"".concat(a.font.size,"px")},updatePlaceHolder:function(){var t;this.p.shape.placeholder_color||(this.p.shape.placeholder_color="rgba(0,0,0,0.5)"),this.p.data.placeholder_value?($("input",this.ui).attr("placeholder",this.p.data.placeholder_value),(t=[])["::placeholder"]="color: ".concat(this.p.shape.placeholder_color,";"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)):$("input",this.ui).attr("placeholder",null)}},INTextBase.prototype=$.extend(!0,{},WidgetIN.prototype,{init:function(){this.bindEvents(),this.tryUpdate()},createProperties:function(){EventHandler.createProperty(this,"value")},bindEvents:function(){var t=this;this._eventsBound||(this.createProperties(),this.on(["height","width"],function(){t.updateStyle()}),this.on("stylechanged",function(){t.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("propertieschanged",function(){t.updateValue(),t.updateState(this.value),t.updatePlaceHolder(),t.updateStyle()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var t=this;this.ui.on("change","input",function(){t.updateValue($(this).val()),t.updateState($(this).val())}),this.ui.on("keydown","input",function(t){t.stopPropagation()})},destroy:function(){this._rendered=!1},setCustomError:function(){this.render()},customTooltipContent:function(){return this.p.tooltip&&this.p.tooltip.content||""},render:function(){this._rendered||(this._rendered=!0,this.ui.append("<div class='in2-text-container'><input type='text' value='' /></div>")),this.updateValue(),this.updatePlaceHolder(),this.updateStyle(),this.getAndApplyWidgetSelection(),this.updateState(),this._loaded=!0},updateState:function(t){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{text:t})},resetState:function(t){$(".in2-text-container input",this.ui).val(t.text),this.updateValue(t.text)},updateStyle:function(){var t=this,e=(Utils.FontUtils.loadFont(this.p.font.family,function(){t.updateFontSize()}),this.setUpWidgetTooltip(),this.getShadowCssFromShadowConfiguration(this.p.shape.shadow));$(this.ui).css({"text-align":this.p.font.halign,color:this.p.font.color,"font-family":this.p.font.family,border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":"none"!==e?e:"none"}),$("input",this.ui).css({color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none","font-style":this.p.font.italic?"italic":"normal"})},updateService:"Formulas",updateServiceSuccess:function(t){this.p.data.default_value_formula_result=t[0].value,this.render()},refreshFromDataDependency:function(t,e){var a=!1;(a=DashboardUtils.checkFormulaDataCloneDependency(this.p.data.default_value_formula,e)?!0:a)&&this.tryUpdate()},updateValue:function(t){null!=t?this.value=t:void 0!==this.p.data.default_value_formula_result&&null!==this.p.data.default_value_formula_result?this.value=this.p.data.default_value_formula_result:this.value=null,$("input",this.ui).val(Utils.formatValue(this.value,this.p.format))},updateFontSize:function(){this.p.autofit?$(this.ui).css("font-size",this.ui.outerHeight()/1.4):$(this.ui).css("font-size",this.getFontSize(this.value,this.ui,this.p))},renderDataTab:function(t){var e=this,t=t.ui;t.addClass("inDataContainer"),t.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),t.addClass("propertiesContainer"),this.settings.Format.addHeader({container:t,description:_("INDataTabHeader"),text:_("Data")}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("DefaultValue"),object:this.p.data,property:"default_value_formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getValueProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t},getValueProperties:function(t){var e=this,a=this;t.addHeader({description:_("INFormatValueDesc"),text:_("Text")}),t.addFont({object:this.p,property:"font",disableAutoFit:!0,callback:function(t){"size"===t&&(e.p.autofit=!1,e.updateFontSize()),e.updateStyle()},dropDown:!0}),t.addSeparator(),t.addFormat({label:_("Format"),object:this.p,property:"format",callback:this.updateValue.bind(this),dataTypes:[Enums.ClicFormat.DataType.Text],enablePlaceholder:!0}),$("input",this.ui).on("change keyup",function(){$(".number-format input").val(Utils.formatValue(a.value,a.p.format))}),t.addSeparator(),t.addText({object:this.p.data,property:"placeholder_value",label:_("PlaceholderTextLabel"),placeholder:_("In2PLaceHolderOption"),callback:this.updatePlaceHolder.bind(this),event:"focusout"}),t.addColor({label:_("Color"),object:this.p.shape,property:"placeholder_color",callback:this.updatePlaceHolder.bind(this)})}});
//# sourceMappingURL=IN.js.map

Widget.createType({id:"IN1",options:{min_width:50,width:200,height:30,min_height:30,max_height:70,hasStyleProperty:!0,formula_input:["data.default_value_formula"],formula_output:["value","minvalue","maxvalue"],autofitSizeDelta:6},properties:{show_up_down:!0,allow_no_value:!0,style:"",data:{decimal_number:null,min_value:null,max_value:null,interval:1,default_value_formula:"0",placeholder_value:""},shape:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,0.5)"},autofit:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"right",color:"rgba(0,0,0,1)"},format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),interactions:{onhover:null}},prototype:$.extend(!0,{},WidgetIN.prototype,{init:function(){this.bindEvents(),this.tryUpdate()},createProperties:function(){this.createProperty("value"),this.createProperty("minvalue",this.p.data.min_value),this.createProperty("maxvalue",this.p.data.max_value)},updateProperties:function(){this.minvalue=this.p.data.min_value,this.maxvalue=this.p.data.max_value},bindEvents:function(){var t=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){t.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("propertieschanged",function(){t.render(),t.updateProperties()}),this.on(["height","width"],function(){t.updateStyle()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindUIEvents(),this._eventsBound=!0)},bindUIEvents:function(){var i=this;this.ui.on("focus","input",function(){$(this).val(i.value)}),this.ui.on("focusout","input",function(){var t=0,t=$(this).val().match(/^[-+]?(\d+)?\.?\d*([eE][+-]?\d+)?$/i)?$(this).val():$(this).data("previousValue");""!=$(this).val()||i.p.allow_no_value||(t=0),i.updateValue(t),i.updateState(t)}),this.ui.on("click",".arrow-container button",function(){if($(this).hasClass("max")||$(this).hasClass("min"))return!1;var t=i.value||0,e=Math.max(i.p.data.interval.countDecimals(),t.countDecimals()),a=0,a=$(this).hasClass("arrow-up")?+(t+i.p.data.interval).toFixed(e):+(t-i.p.data.interval).toFixed(e);i.updateValue(a),i.updateState(a)}),this.ui.on("keypress","input",function(t){return 13==t.keyCode&&$(this).trigger("blur"),38==t.keyCode&&$(".arrow-container button.arrow-up").trigger("click"),40==t.keyCode&&$(".arrow-container button.arrow-down").trigger("click"),t.ctrlKey||37==t.keyCode||39==t.keyCode||48<=t.charCode&&t.charCode<=57||46==t.charCode||45==t.charCode||46==t.keyCode||8==t.keyCode}),this.ui.on("keydown","input",function(t){t.stopPropagation()})},destroy:function(){this._rendered=!1},updateState:function(t){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{value:t})},resetState:function(t){$(".in1-number-container",this.ui).val(t.value),this.value=t.value,this.updateValue(t.value)},setCustomError:function(){this.render()},render:function(t){var e;this._rendered||(e=Mustache.render('<div class="in1-number-container">                                <input type="text" value="" />                                <div class="arrow-container">                                    <button class="arrow-up" type="button"><i class="fas fa-caret-up"></i></button>                                    <button class="arrow-down" type="button"><i class="fas fa-caret-down"></i></button>                                </div>                            </div>'),this.ui.append(e)),this.updateValue(t),this.updateStyle(),this.getAndApplyWidgetSelection(),this.updateState(this.value),this.updatePlaceHolder(),this.handleTooltipState(),this._rendered=!0,this._loaded=!0},updateStyle:function(){var t=this,e=(Utils.FontUtils.loadFont(this.p.font.family,function(){t.updateFontSize()}),$(this.ui).toggleClass("arrows",this.p.show_up_down),this.getShadowCssFromShadowConfiguration(this.p.shape.shadow));$(this.ui).css({"text-decoration":this.p.font.underline?"underline":"none","text-align":this.p.font.halign,color:this.p.font.color,"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":"none"!=e?e:"none"}),$("input",this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),$(".arrow-container",this.ui).css({"border-left":this.p.shape.border.width?"1px solid ".concat(this.p.shape.border.color):"none"})},updateValue:function(t){t=!t&&0!==t||null==t||isNaN(t)?null==this.p.data.default_value_formula_result||null==this.p.data.default_value_formula_result||isNaN(this.p.data.default_value_formula_result)?this.p.allow_no_value?null:0:+this.p.data.default_value_formula_result:+t;null==t||isNaN(t)?this.value=null:(!this.p.data.min_value&&0!=this.p.data.min_value||(t=Math.max(this.p.data.min_value,t)),this.p.data.max_value&&(t=Math.min(this.p.data.max_value,t)),isNaN(this.p.data.decimal_number)||null===this.p.data.decimal_number||(t=t.toFixed(this.p.data.decimal_number)),this.value=+t),this.value==this.p.data.min_value?$(".arrow-down",this.ui).addClass("min"):$(".arrow-down",this.ui).removeClass("min"),this.value==this.p.data.max_value?$(".arrow-up",this.ui).addClass("max"):$(".arrow-up",this.ui).removeClass("max"),$("input",this.ui).data("previous-value",t),$("input",this.ui).val(Utils.formatValue(t,this.p.format))},updateFontSize:function(){$(this.ui).css("font-size",this.getFontSize(this.value,this.ui,this.p))},renderPropertiesTab:function(t){var e=this;t.ui.content.append(Mustache.render('<div>                            <span>{{ allow_no_value }}</span>                             <input type="checkbox" cd-flipswitch  id="allow_no_value"/>                        </div>                         <div>                            <span>{{ show_up_down }}</span>                             <input type="checkbox" cd-flipswitch  id="show_up_down"/>                        </div>',{show_up_down:_("DisplayUpDown"),allow_no_value:_("AllowNoValue")})),$("#show_up_down").prop("checked",this.p.show_up_down),$("#show_up_down").flipSwitch().on("change",function(){e.p.show_up_down=$(this).prop("checked"),e.updateStyle()}),$("#allow_no_value").prop("checked",this.p.allow_no_value),$("#allow_no_value").flipSwitch().on("change",function(){e.p.allow_no_value=$(this).prop("checked"),e.updateStyle()})},getFormatTabs:function(){var t=[];return t.push({icon:"circular-gauge-value.png",text:_("Value"),code:"text",renderer:this.getValueProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t},getValueProperties:function(t){var e=this;t.addHeader({description:_("INFormatValueDesc"),text:_("Value")}),t.addFont({object:this.p,property:"font",autofit_property:"autofit",autofit_callback:this.updateFontSize.bind(this),callback:this.updateStyle.bind(this),dropDown:!0}),t.addSeparator(),t.addFormat({label:_("Format"),object:this.p,property:"format",displayDdl:!0,dataTypes:[Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Number],callback:this.updateValue.bind(this)}),$("input",this.ui).on("change keyup",function(){$(".number-format input").val(Utils.formatValue(e.value,e.p.format))}),t.addSeparator(),t.addText({object:this.p.data,property:"placeholder_value",label:_("PlaceholderTextLabel"),placeholder:_("In2PLaceHolderOption"),callback:this.updatePlaceHolder.bind(this),event:"focusout"}),t.addColor({label:_("Color"),object:this.p.shape,property:"placeholder_color",callback:this.updatePlaceHolder.bind(this)}),t.addSeparator()},renderDataTab:function(t){var e=this,t=t.ui,a=(t.empty(),t.addClass("propertiesContainer"),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),t.append($("<header>").text(_("LI4FormulaDataHeader")).addClass("nomargin")),$('<div class="properties"></div>').addClass("in1_data_properties"));t.append(a),this.settings.Format.addNumber({container:a,label:_("MinimumValue"),object:this.p.data,property:"min_value",callback:function(){this.updateValue(),this.updateProperties()}.bind(this)}),this.settings.Format.addNumber({container:a,label:_("MaximumValue"),object:this.p.data,property:"max_value",callback:function(){this.updateValue(),this.updateProperties()}.bind(this)}),this.settings.Format.addNumber({container:a,label:_("DecimalNumber"),placeholder:_("AutoPlaceholder"),max:12,min:0,object:this.p.data,property:"decimal_number",callback:function(){this.updateValue(),this.updateProperties()}.bind(this)}),this.settings.Format.addNumber({container:a,label:_("Interval"),object:this.p.data,property:"interval",callback:function(){this.updateProperties()}.bind(this)}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("DefaultValue"),object:this.p.data,property:"default_value_formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}})},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},updateService:"Formulas",updateServiceSuccess:function(t){this.p.data.default_value_formula_result=t[0].value,this._from?this.render():this.render(this.value)},onWidgetSettingsSaved:function(){this.value=null,this.render()},refreshFromDataDependency:function(t,e){var a=!1;(a=DashboardUtils.checkFormulaDataCloneDependency(this.p.data.default_value_formula,e)?!0:a)&&this.tryUpdate()}})});
//# sourceMappingURL=IN1-numeric-input.js.map

Widget.createType({id:"IN10",options:{layer:!0,hasStyleProperty:!0,width:200,height:80,min_height:30,min_width:50,formula_input:["data.default_value_formula"],formula_output:["value"]},properties:{data:{default_value_formula:"",placeholder_value:""},display_scrollbar:!0,word_wrap:!0,shape:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,1)"},style:"",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"rgba(0,0,0,1)"},tooltip:{display:!1,content:"",background:{color:"#fff2cc",border:{width:0,color:"#cccccc"},roundness:0}}},prototype:$.extend(!0,{},INTextBase.prototype,{init:function(){this.bindEvents(),this.tryUpdate()},bindUIEvents:function(){var t=this;this.ui.on("change","textarea",function(){t.updateValue($(this).val()),t.updateState($(this).val())}),this.ui.on("keydown","textarea",function(t){t.stopPropagation()})},destroy:function(){this._rendered=!1},render:function(){this._rendered||(this._rendered=!0,this.ui.append("<div class='in10-text-container'><textarea></textarea></div>")),this.updateValue(),this.updatePlaceHolder(),this.updateStyle(),this.getAndApplyWidgetSelection(),this.updateState(),this._loaded=!0},resetState:function(t){$(".in10-text-container textarea",this.ui).val(t.text),this.updateValue(t.text)},updateValue:function(t){null!=t?this.value=t:void 0!==this.p.data.default_value_formula_result&&null!==this.p.data.default_value_formula_result?this.value=this.p.data.default_value_formula_result:this.value=null,$("textarea",this.ui).val(Utils.formatValue(this.value,this.p.format))},updatePlaceHolder:function(){var t;this.p.data.placeholder_value?($("textarea",this.ui).attr("placeholder",this.p.data.placeholder_value),(t=[])["textarea::placeholder"]="color: ".concat(this.p.shape.placeholder_color,";"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)):$("textarea",this.ui).attr("placeholder",null)},hexToRgba:function(t){t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16),a:t[4]?parseInt(t[4],16):1}:null},parseRGBA:function(t){t=/^rgba\(\s*(.*)\s*,\s*(.*)\s*,\s*(.*)\s*,\s*(.*)\s*\)$/i.exec(t);return t?{r:parseFloat(t[1]),g:parseFloat(t[2]),b:parseFloat(t[3]),a:parseFloat(t[4])}:null},updateStyle:function(){var t=this,e=(Utils.FontUtils.loadFont(this.p.font.family,function(){t.updateFontSize()}),this.setUpWidgetTooltip(),this.getShadowCssFromShadowConfiguration(this.p.shape.shadow));$(this.ui).css({"text-align":this.p.font.halign,color:this.p.font.color,"font-family":this.p.font.family,border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":"none"!==e?e:"none"}),$("textarea",this.ui).css({"text-align":this.p.font.halign,color:this.p.font.color,"font-family":this.p.font.family,border:"none","font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none","font-style":this.p.font.italic?"italic":"normal","overflow-x":this.p.word_wrap?"hidden":"auto","overflow-wrap":this.p.word_wrap?"break-word":"normal","overflow-y":this.p.display_scrollbar?"auto":"hidden","white-space":this.p.word_wrap?"normal":"pre"})},updateFontSize:function(){$(this.ui).css("font-size","".concat(this.p.font.size,"px"))},getValueProperties:function(t){t.addHeader({description:_("INFormatValueDesc"),text:_("Value")}),t.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),t.addSeparator(),t.addBoolean({label:_("DisplayScrollbar"),object:this.p,property:"display_scrollbar",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("WordWrap"),object:this.p,property:"word_wrap",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addText({object:this.p.data,property:"placeholder_value",label:_("PlaceholderTextLabel"),placeholder:_("In2PLaceHolderOption"),callback:this.updatePlaceHolder.bind(this),event:"focusout"}),t.addColor({label:_("Color"),object:this.p.shape,property:"placeholder_color",callback:this.updatePlaceHolder.bind(this)}),t.addSeparator()}})});
//# sourceMappingURL=IN10-multiline-text-input.js.map

function _createForOfIteratorHelper(e,t){var o,n,a,r,i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(i)return n=!(o=!0),{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){n=!0,a=e},f:function(){try{o||null==i.return||i.return()}finally{if(n)throw a}}};if(Array.isArray(e)||(i=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return i&&(e=i),r=0,{s:t=function(){},n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var o;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(o="Object"===(o=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function _defineProperties(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,o){return t&&_defineProperties(e.prototype,t),o&&_defineProperties(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}!function(){var k="{#virtual-select-none-option#}",C={ControlType:{DropdownList:"LI4",List:"LI3"},DefaultFilterProperties:{dropdown:{all_option_enabled:!0,all_option_label:null,allow_multiple_selection:!1,default_selection_formula:"",default_selection_type:"none",display_checkboxes:!0,dropdown_field:{background:{color:"rgba(0,0,0,0)",gradient:!1},border:{color:"#000000",width:0},button:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"rgba(0,0,0,0)"},font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Regular,halign:"left",italic:!1,shadow:!1,size:14,underline:!1},format:null,height:30,roundness:2,shadow:{code:"light",opacity:.3,radius:5},width:null},dropdown_panel:{background:{color:"rgba(0,0,0,0)",gradient:!1},border:{color:"#000000",width:0},font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Regular,halign:"left",italic:!1,shadow:!1,size:14,underline:!1},height:200,hover:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},roundness:2,search:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},selection:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},shadow:{code:"light",opacity:.3,radius:5},width:null},move_selected_to_top:!1,none_option_enabled:!0,none_option_label:null,search_add_to_selection:!1,search_enabled:!1,specific_selection_values:[]},filter_type:null,list:{all_option_enabled:!0,all_option_label:null,allow_multiple_selection:!1,background:{color:"rgba(0,0,0,0)",gradient:!1},border:{color:"#000000",width:0},default_selection_formula:"",default_selection_type:"none",display_checkboxes:!0,font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Regular,halign:"left",italic:!1,shadow:!1,size:14,underline:!1},format:null,height:200,hover:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},move_selected_to_top:!1,none_option_enabled:!0,none_option_label:null,roundness:2,search:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},search_add_to_selection:!1,search_enabled:!1,selection:{background:{color:"rgba(0,0,0,0)",gradient:!1},color:"#000000"},shadow:{code:"light",opacity:.3,radius:5},specific_selection_values:[],width:null},pane:{margin_bottom:8,margin_left:8,margin_right:8,margin_top:8},separator:{background:{color:"rgba(0,0,0,0)",gradient:!1},enabled:!1,height:2},title:{display_row_count:!1,display_title:!0,enabled:!0,font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Regular,halign:"left",italic:!1,shadow:!1,size:14,underline:!1},title:"",title_formula:"",title_type:"text"}},Orientation:{Horizontal:"horizontal",Vertical:"vertical"}},e={filters_output:[{filter_type:C.ControlType.List,outputs:["count","selectedcount","selectedlabel","selectedlabels","selectedvalue","selectedvalues"]},{filter_type:C.ControlType.DropdownList,outputs:["count","selectedcount","selectedlabel","selectedlabels","selectedvalue","selectedvalues"]}],formula_input:["buttons.formula","calculated_columns.formula","sort_filter.filters.formula","filters_custom.config.title.title_formula","filters_custom.config.list.default_selection_formula","filters_custom.config.dropdown.default_selection_formula"],formula_output:["filterscount"],hasStyleProperty:!0,height:400,layer:!0,min_height:100,min_width:120,width:200},t={calculated_columns:[],colors:null,data:{mode:"bindings"},data_bindings:[],data_id:null,filters_custom:[],header:{background:{color:"rgba(242,242,242,1)",gradient:!1},border:{color:"rgba(191,191,191,1)",width:1},enable_reset_button:!0,enabled:!0,titles:{subtitle:{font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Regular,halign:"left",italic:!1,shadow:!1,size:12,underline:!1},text:_("SelectBelow")},title:{font:{color:"#000000",family:"Open Sans",font_weight:Enums.FontWeights.Bold,halign:"left",italic:!1,shadow:!1,size:14,underline:!1},text:_("Filters")}}},orientation:C.Orientation.Vertical,panel:{background_color:"rgba(255,255,255,1)",border:{color:"rgba(0,0,0,1)",width:0},gradient:!1,roundness:2,shadow:{code:"light",opacity:.3,radius:5}},sort_filter:{filters:[],sorts:[]},style:null};Widget.createType({id:"IN16",options:e,properties:t,prototype:{adjustListContainer:function(e,t,o){var n=0;e.search_enabled&&(n+=40,o&&e.allow_multiple_selection&&(n+=40)),e.all_option_enabled&&e.allow_multiple_selection&&(n+=40),$(".vscomp-options-container",t).css("max-height",e.height-n)},appendDOM:function(){this.ui.append('<div class="header hidden">          <div class="text">              <div class="title hidden" ></div>              <div class="subtitle hidden"></div>          </div>          <div class="button hidden">              <i class="far fa-sync"></i>          </div>        </div>        <div class="scrollable">        </div>')},appendFilters:function(){if(this.ui.find(".filter").remove(),this._Data){for(var e=this.getBindings(),t=0;t<this._Data.length;t++){var o=e[t];o&&!o.hidden&&this.renderControl(o,this._Data[t],t)}this.filterscount=e.length}else this.filterscount=0},applyPastedStyle:function(){this.reset(),this.render()},bindEvents:function(){var e,t=this;this._eventsBound||(this.on("stylechanged",function(){t.p.filters_custom.forEach(function(e){e.config&&(e.config=$.extend(!0,e.config,t.getWidgetStyleConfig().default_control_config))}),t.reset(),t.render()}),this.on("propertieschanged",function(){t.reset(),t.render()}),this.on("datachanged",function(){t.reset(),t.render()}),e=function(){var e=$(".LI4 .vscomp-wrapper, .vscomp-wrapper-body");e.removeClass("opened focused"),e.addClass("closed")},this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING_START,e),this.on(WidgetLayer.Events.MOVING_START,e)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindFilterDropdownsEvents:function(){var t=this;this.areas.length<=1&&$(".expand",this.ui.drop_areas).remove(),this.ui.drop_areas.on("mousedown",".current-filter",function(e){t.closeCustomPopups&&t.closeCustomPopups();e=$(e.currentTarget).closest(".area-column");return t.toggleFilterPopup(e),!1}),this.ui.filters_ddl.on("change","input",function(){t.filterPopupChanged()}),this._closeBindingPopups=this.closeBindingPopups.bind(this),$("body").on("mousedown",this._closeBindingPopups)},bindUIEvents:function(){var e=this;this.ui.on("click",".button i",function(){e.reset(),e.tryUpdate()})},createOutputProperties:function(){this.createProperty("filterscount")},filterPopupChanged:function(){var e=this.ui.filters_ddl.find(":checked").closest("li").attr("data-filter"),t=this.ui.filters_ddl.data("area_column"),o=t.data("binding"),t=(t.find(".current-filter .value").text(_("FilterControlType_".concat(e))),this.ui.filters_ddl.hide(),o.filter_type=e,o.filter_label=_("FilterControlType_".concat(e)),this.widget.getOrCreateFilterConfiguration(o.guid));t&&(t.config.filter_type=e),this.widget.fullRender=!0,this._isDirty=!0},findFilterByName:function(t,o){return Utils.arrayFirst(this.p.filters_custom,function(e){return null!==e.filter_name&&e.binding_guid!==o&&e.filter_name.toUpperCase()===t.toUpperCase()})},getBackgroundValue:function(){return this.p.panel.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.panel.background_color,DashboardUtils.shadeBlend(null,this.p.panel.background_color)):this.p.panel.background_color},getBindingConfiguration:function(e){e=this.getFilterConfiguration(e);return e=e&&e.config?e.config:this.getDefaultFilterConfiguration()},getBindings:function(t,e){var o;return t?(o=this.p.data_bindings.filter(function(e){return e.area===t}),Utils.isDefined(e)?o[e]:o):this.p.data_bindings},getColumnFromId:function(e,t){return Utils.arrayFirst(e.concat(this.p.calculated_columns||[]),function(e){return e.id===t})},getDataToSendForUpdate:function(){var e=null;if(!this.fullRender&&this._Data)for(var e=[],t=this.getBindings(),o=0;o<this._Data.length;o++){var n=t[o],a=this.ui.find(".f_".concat(o," .component_").concat(o)),r=this.getBindingConfiguration(n.guid),i=this.getFilterSectionFromConfig(r,n.filter_type),l=[],r=a[0].value,l=Array.isArray(r)||""===r?r:r===k?[]:[r];if(n&&!n.hidden)switch(n.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:var d="count_".concat(n.guid),c="original_count_".concat(n.guid),d=a[0].isAllSelected()&&"specific"!==i.default_selection_type&&this[d]===this[c];e.push({all_selected:d,binding_guid:n.guid,items:d?[]:l})}}var s=this.widgetDataToSendForUpdate();return{BinderRecId:s.BinderRecId,DashboardRecId:s.DashboardRecId,Dependencies:s.Dependencies,FilterDependencies:s.FilterDependencies,FormulasDependencies:s.FormulasDependencies,ParametersDependencies:s.ParametersDependencies,Selections:e,Widget:this.model}},getDefaultFilterConfiguration:function(){var e=Utils.arrayFirst(this.p.filters_custom,function(e){return"all"===e.binding_guid});return e||((e={}).config=$.extend(!0,{},C.DefaultFilterProperties,{filter_type:C.ControlType.List},this.getWidgetStyleConfig().default_control_config),this.p.filters_custom.push({binding_guid:"all",config:e.config,filter_name:null})),e.config},getFilterConfiguration:function(t){return t?Utils.arrayFirst(this.p.filters_custom,function(e){return e.binding_guid===t}):null},getFilterControlTypeDropdownItems:function(){var e,t=[];for(e in C.ControlType)t.push({label:_("FilterControlType_".concat(C.ControlType[e])),value:C.ControlType[e]});return t},getFilterDropdownItems:function(){var e=this.getBindings().map(function(e){return{filter_type:e.filter_type,label:e.name,value:e.guid}});return e.unshift({label:_("AllFilters"),value:"all"}),e.unshift({label:_("SelectAFilter"),value:null}),e},getFilterSectionFromConfig:function(e,t){switch(t){case C.ControlType.List:return e.list;case C.ControlType.DropdownList:return e.dropdown}},getFiltersProperties:function(t){function e(e){i.empty(),t.ui.content.find(".noneSelected").removeClass("hidden"),null!==e.value&&("all"===e.value?o.renderAllFiltersProperties(e.value,t,i):(e=o.getOrCreateFilterConfiguration(e.value),o.renderFilterProperties(e,t,i,n.bind(o),a.bind(o))))}var o=this,n=this.updateFiltersStyle.bind(this),a=function(){o.fullRender=!0,o.render()},r=this.getFilterDropdownItems(),i=(t.addDropdown({callback:e,combobox:{containerClasses:"ddl-placeholder",dataprovider:r},label:_("FilterControl"),object:{button:null},property:"filter"}),t.addSeparator({customclass:"noneSelected"}),t.addSection().addClass("nomargin").appendTo(t.ui.content));e({value:null})},getFontStyle:function(e){return Utils.FontUtils.loadFont(e.font.family),{color:e.font.color,fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),fontStyle:e.font.italic?"italic":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),textAlign:e.font.halign,textDecoration:e.font.underline?"underline":"",textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":""}},getFontStyleFormat:function(e){return Utils.FontUtils.loadFont(e.font.family),["font-family: ".concat(e.font.family),"text-shadow: ".concat(e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),"text-decoration: ".concat(e.font.underline?"underline":"none"),"font-weight: ".concat(Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight)),"font-style: ".concat(e.font.italic?"italic":"normal"),"font-size: ".concat(e.font.size,"px"),"color: ".concat(e.font.color),"text-align: ".concat(e.font.halign)]},getFormatTabs:function(){var e=[];return e.push({code:"shape",icon:"panel-background.png",renderer:this.getPanelProperties.bind(this),text:_("Panel")}),e.push({code:"label",icon:"panel-title.png",renderer:this.getHeaderProperties.bind(this),text:_("Header")}),e.push({code:"icon",icon:"panel-controls.png",renderer:this.getFiltersProperties.bind(this),text:_("FilterItems")}),e},getHeaderProperties:function(e){var t=this.updateHeaderStyle.bind(this),o=this.p.header,n=(e.addHeader({text:_("FilterPanel_HeaderHeader")}),e.addSection());e.content.append(n),e.addBoolean({callback:t,label:_("DisplayHeader"),object:o,property:"enabled",section:n}),e.addSeparator({container:n}),e.addBackgroundColor({callback:t,container:n,label:_("BackgroundColor"),object:o.background,property_color:"color",property_gradient:"gradient"}),e.addSeparator({container:n}),e.addBorder({callback:t,container:n,label:_("Separator"),label_color:_("Color"),object:o,property:"border"}),e.addSeparator({container:n}),e.addText({callback:t,container:n,event:"focusout",label:_("Title"),object:o.titles.title,placeholder:_("EnterTitlePlaceholder"),property:"text"}),e.addFont({callback:t,container:n,dropDown:!0,object:o.titles.title,property:"font"}),e.addSeparator({container:n}),e.addText({callback:t,container:n,event:"focusout",label:_("Subtitle"),object:o.titles.subtitle,placeholder:_("EnterSubtitlePlaceholder"),property:"text"}),e.addFont({callback:t,container:n,object:o.titles.subtitle,property:"font"})},getListStyleProperties:function(e){var t=["height: ".concat(e.height,"px"),"background: {0}".format(e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):e.background.color),"border: ".concat(e.border.width,"px solid ").concat(e.border.color),"border-radius: ".concat(e.roundness,"px"),"box-shadow: ".concat(this.getShadowCssFromShadowConfiguration(e.shadow))];return null!==e.width&&(t.push("width: ".concat(e.width,"px;")),t.push("max-width: ".concat(e.width,"px;"))),t},getOrCreateFilterConfiguration:function(t){var e,o=this.getFilterConfiguration(t);return o.config||(e=Utils.arrayFirst(this.getBindings(),function(e){return e.guid===t}),o.config=$.extend(!0,{},this.getDefaultFilterConfiguration(),{filter_type:e?e.filter_type:C.ControlType.List})),o},getPanelProperties:function(e){var t=this.updateContainerStyle.bind(this),o=this.p.panel;e.addHeader({text:_("FilterPanel_PanelHeader")}),e.addBackgroundColor({callback:t,label:_("BackgroundColor"),object:o,property_color:"background_color",property_gradient:"gradient"}),e.addSeparator(),e.addBorder({callback:t,object:o,property:"border"}),e.addSeparator(),e.addSlider({callback:t,interval:1,label:_("RoundedCorners"),max:30,min:0,object:o,property:"roundness",valueLabelFormat:function(e){return"".concat(e," px")}}),e.addSeparator(),e.addShadow({callback:t,object:o,property:"shadow"}),e.addSeparator()},getUniqueFilterName:function(e,t){for(var o,n=_("WidgetName_".concat(e)),a=1;o="".concat(n," #").concat(a++),this.findFilterByName(o,t););return o},init:function(){this.fullRender=!0,this.createOutputProperties(),this.appendDOM(),this.bindEvents(),this.tryUpdate()},initializeSettings:function(e){var t=Mustache.render('<button type="button" id="tab_balance" quickTab-href="filterItems" class="quickTab">                                      <i class="far fa-2x fa-list-alt"></i>                                      <p>{{ label }}</p>                                  </button>',{label:_("FilterItems")}),n=($("#tab_data").after(t),$('<div id="filterItems"><div class="propertiesContainer"><div class="scrollable"><div class="properties"></div></div></div></div>')),t=(n.prependTo(".content"),_createClass(function e(t){var o=this;_classCallCheck(this,e),this.settings=t,this.ui={content:n},this.show=function(){o.settings.toggleContent("filterItems"),o.settings._widget.renderFilterItemsTab(o)}}));e.Filters=new t(e),routie("filterItems",function(){e.Filters.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active"),$(".scrollable",n).setOverlayScrollbar()},onListSearch:function(e,t,o){this.adjustListContainer(e,t,null!=o&&""!==o)},render:function(){var e=this;this.fullRender?($(".vscomp-wrapper-body.vscomp-widget-".concat(this.guid)).remove(),this.ui.toggleClass("horizontal",this.p.orientation===C.Orientation.Horizontal),this.appendFilters(),this.updateStyles(),setTimeout(function(){e.fullRender=!1},100)):(this.updatingControls=!0,this.updateFilters(),this.updateFiltersStyle(),setTimeout(function(){e.updatingControls=!1},100)),this._loaded=!0},renderAllFiltersProperties:function(e,t,o){function n(e){r.updateNestedPropsOfType(l,e),r.updateFiltersStyle()}function a(e){r.fullRender=!0,r.updateNestedPropsOfType(l,e),r.render()}var r=this,i=this.getOrCreateFilterConfiguration(e),l=i.config,d=(l.filter_type||(l.filter_type=C.ControlType.List),t.ui.content.find(".noneSelected").addClass("hidden"),t.addDropdown({callback:function(){r.renderFilterProperties(i,t,d,n.bind(r),a.bind(r),!0)},combobox:{appendToBody:!0,dataprovider:this.getFilterControlTypeDropdownItems()},container:o,label:_("OfType"),object:l,property:"filter_type"}),t.addSection().addClass("nomargin").appendTo(o));this.renderFilterProperties(i,t,d,n.bind(this),a.bind(this),!0)},renderControl:function(n,a,r){var i=this,l=this,e=this.getBindingConfiguration(n.guid),d=this.getFilterSectionFromConfig(e,n.filter_type),t='<div class="filter f_'.concat(r,'">\n          <p>\n            <label class="hidden}"></label>\n            <span class="hidden"></span>\n          </p>\n          <div class="control ').concat(n.filter_type,'">\n            <div class="component_').concat(r,'"></div> \n          </div>\n      </div>'),o=(this.ui.find(".scrollable").append(t),this.updateRowCountElm(e,d,r),this.updateTitleElm(n,e,d,r),this.ui.find(".f_".concat(r," .component_").concat(r)));switch(n.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:function c(e,t,o){var n,a=!1;i[p]&&0===i[p].length&&o&&(a=!0),((a=i[p]&&i[p].length===i[g]&&Array.isArray(e)&&0===e.length?!0:a)||i.fullRender||i.updatingControls)&&(d.allow_multiple_selection?(i[f]=e?e.length:0,i[p]=e||[],i[u]=0<i[p].length?i[p][0]:null):(i[f]=e?1:0,i[p]=e?[e]:[],i[u]=e),i[b]=!t||(n=t,0===(n=Array.isArray(n)?n:[n]).length)?[]:(n=n.map(function(e){return parseInt(e)}),S.length===n.length?S.map(function(e){return e.label}):S.filter(function(e,t){return n.includes(t)}).map(function(e){return e.label})),i[h]=0<i[b].length?i[b][0]:null),i.fullRender||i.updatingControls||a||i.updateIfNeeded(null,!0)}var s=n.filter_type===C.ControlType.List,p="selectedvalues_".concat(n.guid),u="selectedvalue_".concat(n.guid),b="selectedlabels_".concat(n.guid),h="selectedlabel_".concat(n.guid),f="selectedcount_".concat(n.guid),g="count_".concat(n.guid),m="original_count_".concat(n.guid),y=(this.createProperty(p),this.createProperty(u),this.createProperty(b),this.createProperty(h),this.createProperty(f),this.createProperty(g),(s?d:d.dropdown_panel).font.size+8),w=a.column.type,v=a.column.internal_type,S=a.data.map(function(e){var t=(s?d:d.dropdown_panel).format;return{label:t?Utils.formatValue(e,t):e,value:Utils.utcTZtoDateString(e,w,v)}});this[m]=S.length,this[g]=S.length,VirtualSelect.init({additionalClasses:s?"":"vscomp-widget-".concat(this.guid," vs-comp-f_").concat(r),addSeachToSelection:d.search_add_to_selection,addSearchToSelectionText:_("AddToSelection"),allowNoneOption:d.none_option_enabled,appendToBody:!s,disableSelectAll:!d.all_option_enabled,dropboxWidth:!s&&d.dropdown_panel.width?"".concat(d.dropdown_panel.width,"px"):"",ele:o[0],itemsSelectedMessage:_("NItemsSelected"),keepAlwaysOpen:s,multiple:d.allow_multiple_selection,noneOptionText:d.none_option_label||_("NoneLabel"),noOptionsText:"",noSearchResultsText:_("NoMatchingElement"),optionHeight:y,options:S,optionsCount:Math.ceil((s?d:d.dropdown_panel).height/y),placeholder:d.allow_multiple_selection?d.no_selection_label||_("ComboboxDefaultNonSelectedText"):d.none_option_label||_("NoneLabel"),search:d.search_enabled,searchCallback:function(e){i.onListSearch(d,o,e)},searchPlaceholder:_("Search"),selectAllText:d.all_option_label||_("SelectAll"),selectedValue:function(){var e=null;if(i.dashboard&&!i.dashboard.in_editor&&i.remember_selection){var t=sessionStorage.getItem("widget-state-".concat(i.guid));if((t=t&&JSON.parse(t))&&(e=t[n.guid]))return e}switch(d.default_selection_type){case"all":e=S.map(function(e){return e.value});break;case"first":e=S&&0<S.length?S[0].value:[];break;case"specific":e=d.specific_selection_values;break;case"none_element":e=k;break;case"formula":for(var e=a.default_selection_formula_result?Array.isArray(a.default_selection_formula_result.value)?a.default_selection_formula_result.value:[a.default_selection_formula_result.value]:[],o=0;o<e.length;o++)e[o]=Utils.utcTZtoDateString(e[o],w,v);break;default:e=[]}return e}(),showSelectedOptionsFirst:d.move_selected_to_top,zIndex:s?1:99999}),s&&this.adjustListContainer(d,o);o.on("change",function(){var e=this.value,t=this.index,o=this.isAllSelected();l.updateState(),this.value===k&&(e=t=null),c(e,t,o),i.ui.find(".f_{0} p span".format(r)).text("(".concat(i[f],"/").concat(i[g],")"))})}},renderDataBindings:function(e){var o=this,t=new Settings.Data.Bindings(e);t.area_column_limits[Enums.WidgetAreas.Rows]=30;t.templates.area_filter_column='<li class="area-column measure" data-column-id="{{ id }}" data-filter="{{ filter_type }}">                                <div class="column">                                    <span class="title" title="{{col_name}}">{{ name }}</span>                                    <span class="current-filter"><span class="value"> {{ filter_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                                </div>                                <div class="buttons">                                    <button type="button" class="edit"><i class="far fa-edit"></i></button>                                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                                </div>                            </li>',t.bindDropAreaDropdownsEvents=this.bindFilterDropdownsEvents.bind(t),t.toggleFilterPopup=this.toggleFilterPopup.bind(t),t.filterPopupChanged=this.filterPopupChanged.bind(t),t.render([{area:Enums.WidgetAreas.Filters,height_ratio:1,name:_("Filters"),placeholder:_("DropFilters")}]),t.ui.filters_ddl.empty(),t.ui.filters_ddl.append(Mustache.render('{{#filters}}<li data-filter="{{value}}">                                                        <label class="fa-checkbox">                                                            <input type="radio" name="type_ddl_radio" /><i class="far"></i><span>{{label}}</span>                                                        </label>                                                       </li>{{/filters}}',{filters:this.getFilterControlTypeDropdownItems()})),t.on("bindingCleared",function(){o.fullRender=!0,Utils.arrayRemove(o.p.filters_custom,function(e){return"all"!==e.binding_guid})}),t.on("bindingRemoved",function(t){o.fullRender=!0,Utils.arrayRemove(o.p.filters_custom,function(e){return e.binding_guid===t.guid})}),t.on("bindingAdded",function(e){o.fullRender=!0,o.p.filters_custom.push({binding_guid:e.guid,filter_name:o.getUniqueFilterName(e.filter_type,"all")})}),this.data_destroy_callback=function(){t.destroy()}},renderDataTab:function(e){e.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.renderDataBindings(e)},renderFilter:function(e){var l=this,t=this.p.data.mode,o=this.p.data_id,n=this._from.dashboard.id,a=new Settings.SortFilter.Filter(e);a.getFilterColumns=function(i){"bindings"===t&&e.settings.getDataClone(o,n).then(function(e){for(var t=[],o=0;o<l.p.data_bindings.length;o++){var n=l.p.data_bindings[o],a=l.getColumnFromId(e.columns,n.column_id);a&&t.push({column_id:a.id,icon:DashboardUtils.getIconForColumnType(a.type),is_context:a.is_context||!1,is_used:!0,label:n.name||a.name,value:a.id})}(t=t.filter(function(e){return!e.is_context})).push({sep:!0});var r=e.columns.concat(l.p.calculated_columns||[]).filter(function(e){return!e.is_context}),t=t.concat(r.map(function(e){return{column_id:e.id,icon:DashboardUtils.getIconForColumnType(e.type),is_context:e.is_context||!1,label:e.name,value:e.id}}));i(t)})},a.onColumnChangedCallback=function(e,t,o){e.column_id=t.data().column_id,a.updateOperatorDropdown(e,o),a.updateDataCallback()},a.updateDataCallback=function(){l.fullRender=!0,l.update()},a.render()},renderFilterItemsTab:function(t){function e(e){s.empty(),t.ui.content.find(".noneSelected").removeClass("hidden"),null!==e.value&&("all"===e.value?o.renderFilterItemsTabPropertiesAll(e.value,a,s,n):(e=o.getOrCreateFilterConfiguration(e.value),o.renderFilterItemsTabProperties(e,a,s,r.bind(o),i.bind(o))))}var o=this,n=t.ui.content.find(".properties"),a=this.settings.Format,r=function(){o.fullRender=!0,o.render()},i=function(){o.fullRender=!0,o.tryUpdate()},l=this.updateHeaderStyle.bind(this),d=this.p.header,c=(n.empty(),this.getFilterDropdownItems()),s=(a.addBoolean({callback:l,container:n,label:_("DisplayResetButton"),object:d,property:"enable_reset_button"}),a.addSeparator({container:n}),a.addDropdown({callback:e,combobox:{containerClasses:"ddl-placeholder",dataprovider:c},container:n,label:_("FilterControl"),object:{button:null},property:"filter"}),a.addSeparator({container:n,customclass:"noneSelected"}),a.addSection().addClass("nomargin").appendTo(n));e({value:null})},renderFilterItemsTabProperties:function(a,r,e,i,l,t){var o,d=this,n=this,c=(t||(o=a.filter_name,r.addText({callback:function(){n.findFilterByName(this.object[this.property],this.object.binding_guid)?(this.object[this.property]=o,this.container.find("#prop_".concat(this.id," .ctrl")).addClass("error")):(o=this.object[this.property],this.container.find("#prop_".concat(this.id," .ctrl")).removeClass("error"))},container:e,errortootlip:_("FilterNameAlreadyExist"),event:"change",label:_("FilterName"),object:a,property:"filter_name"}),r.addSeparator({container:e})),null),s="",s=a.config.filter_type===C.ControlType.List?(c=a.config.list,"list"):(c=a.config.dropdown,"dropdown");switch(a.config.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:function p(){var e;g.empty(),c.allow_multiple_selection||(e=r.addSection().appendTo(g),r.addBoolean({callback:i.bind(d,"".concat(s,".none_option_enabled")),container:g,label:_("AllowNoSelection"),object:c,property:"none_option_enabled",section:e}),r.addText({callback:i.bind(d,"".concat(s,".none_option_label")),container:e,event:"focusout",label:_("NoSelectionText"),object:c,placeholder:_("NoneLabel"),property:"none_option_label"}))}function u(){m.empty();var e=[];c.allow_multiple_selection?(e.push({label:_("NoSelection"),value:"none"}),c.all_option_enabled&&e.push({label:_("AllItems"),value:"all"})):c.none_option_enabled&&e.push({label:_("SelectNoneItem"),value:"none_element"}),t||e.push({label:_("SpecificItems"),value:"specific"}),e.push({label:_("Formula"),value:"formula"}),r.addDropdown({callback:function(){b(),d.settings.Data._isDirty=!0,l("".concat(s,".default_selection_type"))},combobox:{appendToBody:!0,dataprovider:e},container:m,label:_("DefaultSelection"),object:c,property:"default_selection_type"}),b()}var b=function(){switch(y.empty(),c.default_selection_type){case"formula":r.addFormulaInput({callback:function(){d.settings.Data._isDirty=!0,l("".concat(s,".default_selection_formula")),d.updateIfNeeded(null,!0)},container:y,customClass:"in8_formula_input",dashboard:d.settings._original_widget.dashboard,dropup:!0,grid:!0,label:_("DefaultSelection"),object:c,property:"default_selection_formula",widget:d});break;case"specific":y.append($('<div id="default_selection_dropdown"></div>'));var e=d.getBindings().findIndex(function(e){return e.guid===a.binding_guid}),e=d._Data[e],o=e.column.type,n=e.column.internal_type,e=e.data.map(function(e){var t=c.format;return{label:t?Utils.formatValue(e,t):e,value:Utils.utcTZtoDateString(e,o,n)}}),t=$("#default_selection_dropdown");VirtualSelect.init({allowNoneOption:!1,disableSelectAll:!c.all_option_enabled,ele:t[0],hideClearButton:!0,itemsSelectedMessage:_("NItemsSelected"),keepAlwaysOpen:!1,multiple:c.allow_multiple_selection,noneOptionText:_("NoneLabel"),noOptionsText:"",noSearchResultsText:"",optionHeight:29,options:e,optionsCount:8,placeholder:c.allow_multiple_selection?_("ComboboxDefaultNonSelectedText"):_("NoneLabel"),search:!0,searchPlaceholder:_("Search"),selectAllText:_("SelectAll"),selectedValue:c.specific_selection_values,showDropboxAsPopup:!1,zIndex:60}),t.on("change",function(){var e=this.value;this.value===k&&(e=null),Array.isArray(e)||(e=[e]),c.specific_selection_values=e,i()})}},h=r.addSection().appendTo(e),h=(r.addBoolean({callback:i.bind(this,"".concat(s,".search_enabled")),container:e,label:_("EnableSearch"),object:c,property:"search_enabled",section:h}),r.addBoolean({callback:i.bind(this,"".concat(s,".search_add_to_selection")),container:h,label:_("SearchAddToSelection"),object:c,property:"search_add_to_selection"}),r.addBoolean({callback:i.bind(this,"".concat(s,".move_selected_to_top")),container:e,label:_("MoveSelectedToTop"),object:c,property:"move_selected_to_top"}),r.addSection().appendTo(e)),f=(r.addBoolean({callback:function(){p(),u(),i("".concat(s,".allow_multiple_selection"))},container:e,label:_("MultipleSelection"),object:c,property:"allow_multiple_selection",section:h}),r.addBoolean({callback:i.bind(this,"".concat(s,".display_checkboxes")),container:h,label:_("DisplayCheckboxes"),object:c,property:"display_checkboxes"}),r.addSection().appendTo(h)),g=(r.addBoolean({callback:i.bind(this,"".concat(s,".all_option_enabled")),container:h,label:_("DisplayAllOption"),object:c,property:"all_option_enabled",section:f}),r.addText({callback:i.bind(this,"".concat(s,".all_option_label")),container:f,event:"focusout",label:_("AllOptionText"),object:c,placeholder:_("SelectAll"),property:"all_option_label"}),r.addSection().addClass("nomargin").appendTo(e)),m=(p(),r.addSeparator({container:e}),r.addSection().appendTo(e)),y=r.addSection().addClass("defaultselection_in16").appendTo(e);u()}},renderFilterItemsTabPropertiesAll:function(e,t,o,n){function a(e){i.fullRender=!0,i.updateNestedPropsOfType(d,e),i.render()}function r(e){i.fullRender=!0,i.updateNestedPropsOfType(d,e),i.tryUpdate()}var i=this,l=this.getOrCreateFilterConfiguration(e),d=l.config,c=(d.filter_type||(d.filter_type=C.ControlType.List),n.find(".noneSelected").addClass("hidden"),t.addDropdown({callback:function(){c&&c.empty(),i.renderFilterItemsTabProperties(l,t,c,a.bind(i),r.bind(i),!0)},combobox:{appendToBody:!0,dataprovider:this.getFilterControlTypeDropdownItems()},container:o,label:_("OfType"),object:d,property:"filter_type"}),t.addSeparator({container:o}),t.addSection().addClass("nomargin").appendTo(o));this.renderFilterItemsTabProperties(l,t,c,a.bind(this),r.bind(this),!0)},renderFilterProperties:function(t,e,o,n,a,r){var i=this,l=t.config;switch(o.empty(),e.ui.content.find(".noneSelected").addClass("hidden"),l.filter_type){case C.ControlType.List:e.addSeparator({container:o,label:!0,text:_("Header")});var d=e.addSection().appendTo(o),c=e.addSection(),d=(e.addBoolean({callback:n.bind(this,"title.enabled"),container:d,label:_("ShowFilterHeader"),object:l.title,property:"enabled",section:c}),e.addFont({callback:n.bind(this,"title.font"),container:c,object:l.title,property:"font"}),l.list.allow_multiple_selection&&e.addBoolean({callback:a.bind(this,"title.display_row_count"),container:c,label:_("DisplayRowCount"),object:l.title,property:"display_row_count"}),e.addSection()),d=(e.addBoolean({callback:a.bind(this,"title.display_title"),container:c,label:_("DisplayTitle"),object:l.title,property:"display_title",section:d}),r||(c=Utils.arrayFirst(this.p.data_bindings,function(e){return e.guid===t.binding_guid}),e.addCustomTitle({container:d,dashboard:this._from&&this._from.dashboard,formula_callback:function(){i.settings.Data._isDirty=!0,i.tryUpdate()},formula_property:"title_formula",object:l.title,property:"title_type",text_callback:this.render.bind(this),text_placeholder:c?c.name:null,text_property:"title",widget:this})),e.addSeparator({container:o,label:!0,text:_("ListText")}),e.addSection().appendTo(o)),c=(e.addFont({callback:a.bind(this,"list.font"),container:d,dropDown:!0,object:l.list,property:"font"}),e.addFormat({callback:a.bind(this,"list.format"),container:d,label:_("Format"),object:l.list,property:"format"}),e.addSeparator({container:d}),e.addColor({callback:n.bind(this,"list.selection.background.color"),container:d,label:_("SelectionBackgroundColor"),object:l.list.selection.background,property:"color"}),e.addColor({callback:n.bind(this,"list.selection.color"),container:d,label:_("SelectionTextColor"),object:l.list.selection,property:"color"}),e.addColor({callback:n.bind(this,"list.hover.background.color"),container:d,label:_("HoverBackgroundColor"),object:l.list.hover.background,property:"color"}),e.addColor({callback:n.bind(this,"list.hover.color"),container:d,label:_("HoverTextColor"),object:l.list.hover,property:"color"}),e.addSeparator({container:o,label:!0,text:_("ListSizeBorderBackground")}),e.addSection().appendTo(o)),d=(e.addNumber({callback:a.bind(this,"list.height"),container:c,label:_("Height"),object:l.list,property:"height"}),e.addNumber({callback:a.bind(this,"list.width"),container:c,label:_("Width"),object:l.list,property:"width"}),e.addBackgroundColor({callback:n.bind(this,["list.background.color","list.background.gradient"]),container:c,label:_("BackgroundColor"),object:l.list.background,property_color:"color",property_gradient:"gradient"}),e.addBorder({callback:n.bind(this,"list.border"),container:c,object:l.list,property:"border"}),e.addSlider({callback:n.bind(this,"list.roundness"),container:c,interval:1,label:_("RoundedCorners"),max:30,min:0,object:l.list,property:"roundness",valueLabelFormat:function(e){return"".concat(e," px")}}),e.addShadow({callback:n.bind(this,"list.shadow"),container:c,object:l.list,property:"shadow"}),e.addSeparator({container:c}),e.addMargin({container:c,margins:[{callback:n.bind(this,"pane.margin_top"),label:_("Top"),name:"margin_top"},{callback:n.bind(this,"pane.margin_bottom"),label:_("Bottom"),name:"margin_bottom"},{callback:n.bind(this,"pane.margin_left"),label:_("Left"),name:"margin_left"},{callback:n.bind(this,"pane.margin_right"),label:_("Right"),name:"margin_right"}],max:99,min:0,object:l.pane}),e.addSeparator({container:o,label:!0,text:_("Search")}),e.addSection().appendTo(o));e.addColor({callback:n.bind(this,"list.search.color"),container:d,label:_("TextColor"),object:l.list.search,property:"color"}),e.addColor({callback:n.bind(this,"list.search.background.color"),container:d,label:_("BackgroundColor"),object:l.list.search.background,property:"color"});break;case C.ControlType.DropdownList:e.addSeparator({container:o,label:!0,text:_("Header")});c=e.addSection().appendTo(o),d=e.addSection(),c=(e.addBoolean({callback:n.bind(this,"title.enabled"),container:c,label:_("ShowFilterHeader"),object:l.title,property:"enabled",section:d}),e.addFont({callback:n.bind(this,"title.font"),container:d,object:l.title,property:"font"}),l.dropdown.allow_multiple_selection&&e.addBoolean({callback:a.bind(this,"title.display_row_count"),container:d,label:_("DisplayRowCount"),object:l.title,property:"display_row_count"}),e.addSection()),c=(e.addBoolean({callback:a.bind(this,"title.display_title"),container:d,label:_("DisplayTitle"),object:l.title,property:"display_title",section:c}),r||(d=Utils.arrayFirst(this.p.data_bindings,function(e){return e.guid===t.binding_guid}),e.addCustomTitle({container:c,dashboard:this._from&&this._from.dashboard,formula_callback:function(){i.settings.Data._isDirty=!0,i.tryUpdate()},formula_property:"title_formula",object:l.title,property:"title_type",text_callback:this.render.bind(this),text_placeholder:d?d.name:null,text_property:"title",widget:this})),e.addSeparator({container:o,label:!0,text:_("DropdownFieldText")}),e.addSection().appendTo(o)),d=(e.addFont({callback:a.bind(this,"dropdown.dropdown_field.font"),container:c,dropDown:!0,object:l.dropdown.dropdown_field,property:"font"}),e.addSeparator({container:o,label:!0,text:_("DropdownFieldSizeBorderBackground")}),e.addSection().appendTo(o)),c=(e.addNumber({callback:n.bind(this,"dropdown.dropdown_field.height"),container:d,label:_("Height"),object:l.dropdown.dropdown_field,property:"height"}),e.addNumber({callback:n.bind(this,"dropdown.dropdown_field.width"),container:d,label:_("Width"),object:l.dropdown.dropdown_field,property:"width"}),e.addBackgroundColor({callback:n.bind(this,["dropdown.dropdown_field.background.color","dropdown.dropdown_field.background.gradient"]),container:d,label:_("BackgroundColor"),object:l.dropdown.dropdown_field.background,property_color:"color",property_gradient:"gradient"}),e.addBorder({callback:n.bind(this,"dropdown.dropdown_field.border"),container:d,object:l.dropdown.dropdown_field,property:"border"}),e.addSlider({callback:n.bind(this,"dropdown.dropdown_field.roundness"),container:d,interval:1,label:_("RoundedCorners"),max:30,min:0,object:l.dropdown.dropdown_field,property:"roundness",valueLabelFormat:function(e){return"".concat(e," px")}}),e.addShadow({callback:n.bind(this,"dropdown.dropdown_field.shadow"),container:d,object:l.dropdown.dropdown_field,property:"shadow"}),e.addSeparator({container:d}),e.addColor({callback:n.bind(this,"dropdown.dropdown_field.button.color"),container:d,label:_("ButtonColor"),object:l.dropdown.dropdown_field.button,property:"color"}),e.addColor({callback:n.bind(this,"dropdown.dropdown_field.button.background.color"),container:d,label:_("ButtonBackgroundColor"),object:l.dropdown.dropdown_field.button.background,property:"color"}),e.addSeparator({container:d}),e.addMargin({container:d,margins:[{callback:n.bind(this,"pane.margin_top"),label:_("Top"),name:"margin_top"},{callback:n.bind(this,"pane.margin_bottom"),label:_("Bottom"),name:"margin_bottom"},{callback:n.bind(this,"pane.margin_left"),label:_("Left"),name:"margin_left"},{callback:n.bind(this,"pane.margin_right"),label:_("Right"),name:"margin_right"}],max:99,min:0,object:l.pane}),e.addSeparator({container:o,label:!0,text:_("DropdownPanelText")}),e.addSection().appendTo(o)),d=(e.addFont({callback:a.bind(this,"dropdown.dropdown_panel.font"),container:c,dropDown:!0,object:l.dropdown.dropdown_panel,property:"font"}),e.addFormat({callback:a.bind(this,"dropdown.dropdown_panel.format"),container:c,label:_("Format"),object:l.dropdown.dropdown_panel,property:"format"}),e.addSeparator({container:c}),e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.selection.background.color"),container:c,label:_("SelectionBackgroundColor"),object:l.dropdown.dropdown_panel.selection.background,property:"color"}),e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.selection.color"),container:c,label:_("SelectionTextColor"),object:l.dropdown.dropdown_panel.selection,property:"color"}),e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.hover.background.color"),container:c,label:_("HoverBackgroundColor"),object:l.dropdown.dropdown_panel.hover.background,property:"color"}),e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.hover.color"),container:c,label:_("HoverTextColor"),object:l.dropdown.dropdown_panel.hover,property:"color"}),e.addSeparator({container:o,label:!0,text:_("DropdownPanelSizeBorderBackground")}),e.addSection().appendTo(o)),c=(e.addNumber({callback:a.bind(this,"dropdown.dropdown_panel.height"),container:d,label:_("Height"),object:l.dropdown.dropdown_panel,property:"height"}),e.addNumber({callback:a.bind(this,"dropdown.dropdown_panel.width"),container:d,label:_("Width"),object:l.dropdown.dropdown_panel,property:"width"}),e.addBackgroundColor({callback:n.bind(this,["dropdown.dropdown_panel.background.color","dropdown.dropdown_panel.background.gradient"]),container:d,label:_("BackgroundColor"),object:l.dropdown.dropdown_panel.background,property_color:"color",property_gradient:"gradient"}),e.addBorder({callback:n.bind(this,"dropdown.dropdown_panel.border"),container:d,object:l.dropdown.dropdown_panel,property:"border"}),e.addSlider({callback:n.bind(this,"dropdown.dropdown_panel.roundness"),container:d,interval:1,label:_("RoundedCorners"),max:30,min:0,object:l.dropdown.dropdown_panel,property:"roundness",valueLabelFormat:function(e){return"".concat(e," px")}}),e.addShadow({callback:n.bind(this,"dropdown.dropdown_panel.shadow"),container:d,object:l.dropdown.dropdown_panel,property:"shadow"}),e.addSeparator({container:o,label:!0,text:_("Search")}),e.addSection().appendTo(o));e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.search.color"),container:c,label:_("TextColor"),object:l.dropdown.dropdown_panel.search,property:"color"}),e.addColor({callback:n.bind(this,"dropdown.dropdown_panel.search.background.color"),container:c,label:_("BackgroundColor"),object:l.dropdown.dropdown_panel.search.background,property:"color"})}},renderPropertiesTab:function(e){var t=this,o=e.ui.content;e.addLargeDropdown({callback:function(){t.fullRender=!0,t.render()},container:o,dataprovider:[{image:"/Dashboard/Images/WidgetProperties/orientation_vertical.png",label:_("Vertical"),value:C.Orientation.Vertical},{image:"/Dashboard/Images/WidgetProperties/orientation_horizontal.png",label:_("Horizontal"),value:C.Orientation.Horizontal}],id:"orientation",object:this.p,property:"orientation"})},renderSort:function(e){var i=this,t=this.p.data.mode,o=new Settings.SortFilter.Sort(e);o.getSortColumns=function(r){"bindings"===t&&e.settings.getDataClone(i.p.data_id,i._from.dashboard.id).then(function(e){for(var t=[],o=0;o<i.p.data_bindings.length;o++){var n=i.p.data_bindings[o],a=i.getColumnFromId(e.columns,n.column_id);a&&t.push({aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,column_id:a.id,icon:DashboardUtils.getIconForColumnType(a.type),is_context:a.is_context||!1,is_used:!0,label:n.name||a.name,value:"\n                      ".concat(a.id+(n.aggregation||""))})}r(t)})},o.updateDataCallback=function(){e._isDirty=!0,i.fullRender=!0,i.update()},o.render()},renderSortFilterTab:function(e){e.ui.nav.append($(Mustache.render(e.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),e.ui.nav.append($(Mustache.render(e.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},reset:function(){this.fullRender=!0},resetState:function(a){for(var r=this,i=this.getBindings(),e=0;e<i.length;e++){var t=this.ui.find(".f_".concat(e," .component_").concat(e)),o=i[e];a[o.guid]&&t[0].setValue(null,!1)}var l=null,l=setInterval(function(){if(!r.loading){clearInterval(l);for(var e=0;e<i.length;e++){var t=i[e],o=r.ui.find(".f_".concat(e," .component_").concat(e)),n=a[t.guid];switch(t.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:o&&o[0]&&n&&(o[0].isAllSelected()&&r["__count_".concat(t.guid)].length===n.length&&1===n.length?o[0].toggleSelectAll(!0):o[0].setValue(n,!1))}}}},200)},setSample:function(){this.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},toggleFilterPopup:function(e){var t=e.data("binding"),o=e.find(".ddl-opener");this.ui.filters_ddl.find("input").prop("checked",!1).end().find('[data-filter="'.concat(t.filter_type,'"] input')).prop("checked",!0).end().css({left:o.offset().left,top:o.offset().top+o.outerHeight()}).toggle().data("area_column",e),e.toggleClass("opened")},updateContainerStyle:function(){this.container.css({background:this.getBackgroundValue(),border:"".concat(this.p.panel.border.width,"px solid ").concat(this.p.panel.border.color),"border-radius":"".concat(this.p.panel.roundness+this.p.panel.border.width,"px"),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.panel.shadow)})},updateControl:function(e,t,o){var n=this.getBindingConfiguration(e.guid),a=this.getFilterSectionFromConfig(n,e.filter_type),r=e.filter_type===C.ControlType.List,i=this.ui.find(".f_".concat(o," .component_").concat(o)),l=t.column.type,d=t.column.internal_type,c=t.data.map(function(e){var t;return{label:Utils.formatValue(e,a.format||(null==(t=a.dropdown_panel)?void 0:t.format)),value:Utils.utcTZtoDateString(e,l,d)}});switch(this.updateRowCountElm(n,a,o),this.updateTitleElm(e,n,t,o),e.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:var s=i[0],p=s.value,u=null,u=(r?s.querySelector(".vscomp-options-container"):document.querySelector(".vscomp-widget-".concat(this.guid,".vs-comp-f_").concat(o," .vscomp-options-container"))).scrollTop,b=s.querySelector(".vscomp-search-input"),h="";b&&(h=b.value),s.setOptions(c,!0),s.setValue(p,!0),null!==u&&(r?s.querySelector(".vscomp-options-container").scrollTop=u:document.querySelector(".vscomp-widget-".concat(this.guid,".vs-comp-f_").concat(o," .vscomp-options-container")).scrollTop=u),""!==h&&s.setSearchValue(h),this["count_".concat(e.guid)]=c.length}},updateFilters:function(){if(this._Data)for(var e=this.getBindings(),t=0;t<this._Data.length;t++){var o=e[t];o&&!o.hidden&&this.updateControl(o,this._Data[t],t)}},updateFiltersStyle:function(){var e=[];if(this._Data)for(var t=this.getBindings(),o=0;o<this._Data.length;o++){var n=t[o];if(n&&!n.hidden){Utils.ClearInjectedCSS(".vscomp-wrapper-body-vscomp-widget-".concat(this.guid,"-vs-comp-f_").concat(o));var a=this.getBindingConfiguration(n.guid),r=this.getFilterSectionFromConfig(a,n.filter_type),i=["margin-top: ".concat(a.pane.margin_top,"px"),"margin-bottom: ".concat(a.pane.margin_bottom,"px"),"margin-left: ".concat(a.pane.margin_left,"px"),"margin-right: ".concat(a.pane.margin_right,"px")];switch(this.p.orientation===C.Orientation.Horizontal&&null!==r.width&&i.push("width: auto"),e[".f_".concat(o)]=i.join(";"),e[".f_".concat(o," p > label")]=this.getFontStyleFormat(a.title).join(";"),e[".f_".concat(o," p > span")]=["opacity: 0.3"].concat(this.getFontStyleFormat(a.title)).join(";"),e[".f_".concat(o," p")]=["text-align: ".concat(a.title.font.halign),"display: ".concat(a.title.enabled?"block":"none")].join(";"),n.filter_type){case C.ControlType.List:var l=this.getFontStyleFormat(r);e[".f_".concat(o," .vscomp-wrapper")]=["color: ".concat(r.font.color),"font-size: ".concat(r.font.size,"px"),"text-shadow:".concat(r.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none")].join(";"),e[".f_".concat(o," .vscomp-option-text")]=l.join(";"),e[".f_".concat(o," .vscomp-toggle-all-label")]=l.join(";"),e[".f_".concat(o," .vscomp-toggle-add-search-label")]=l.join(";"),e[".f_".concat(o," .checkbox-icon")]=["display: ".concat(r.display_checkboxes?"inline-flex":"none !important")].join(";"),r.display_checkboxes||(e[".f_".concat(o," .vscomp-wrapper.multiple .vscomp-option .vscomp-option-text")]="width: 100%",e[".f_".concat(o," .vscomp-wrapper-body.multiple .vscomp-option .vscomp-option-text")]="width: 100%"),e[".f_".concat(o," .vscomp-option.selected")]=["background-color: ".concat(r.selection.background.color),"color: ".concat(r.selection.color)].join(";"),e[".f_".concat(o," .vscomp-option.selected .vscomp-option-text")]=["color: ".concat(r.selection.color)].join(";"),e[".f_".concat(o," .vscomp-option.focused")]=["background-color: ".concat(r.hover.background.color),"color: ".concat(r.hover.color)].join(";"),e[".f_".concat(o," .vscomp-option.focused .vscomp-option-text")]=["color: ".concat(r.hover.color)].join(";"),e[".f_".concat(o," .control")]=this.getListStyleProperties(r).concat(["overflow:visible"]).join(";"),e[".f_".concat(o," .control .vscomp-search-container")]=["background: ".concat(r.search.background.color),"color: ".concat(r.search.color)].join(";"),e[".f_".concat(o," .control .vscomp-search-container input")]=["color: ".concat(r.search.color)].join(";");break;case C.ControlType.DropdownList:e[".f_".concat(o," .vscomp-wrapper")]=this.getFontStyleFormat(r.dropdown_field).join(";"),e[".f_".concat(o," .control")]=this.getListStyleProperties(r.dropdown_field).join(";"),e[".f_".concat(o," .control .vscomp-arrow")]=["background: ".concat(r.dropdown_field.button.background.color),"color: ".concat(r.dropdown_field.button.color)].join(";");var l=[],d=this.getFontStyleFormat(r.dropdown_panel).join(";"),d=(l[".vscomp-dropbox .vscomp-option-text"]=d,l[".vscomp-dropbox .vscomp-toggle-all-label"]=d,l[".vscomp-dropbox .vscomp-option.selected"]="background-color: ".concat(r.dropdown_panel.selection.background.color),l[".vscomp-dropbox .vscomp-option.selected .vscomp-option-text"]="color: ".concat(r.dropdown_panel.selection.color),l[".vscomp-dropbox .vscomp-option.focused"]="background-color: ".concat(r.dropdown_panel.hover.background.color),l[".vscomp-dropbox .vscomp-option.focused .vscomp-option-text"]="color: ".concat(r.dropdown_panel.hover.color),l[".vscomp-dropbox"]=["background: {0}".format(r.dropdown_panel.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(r.dropdown_panel.background.color,DashboardUtils.shadeBlend(null,r.dropdown_panel.background.color)):r.dropdown_panel.background.color),"border: ".concat(r.dropdown_panel.border.width,"px solid ").concat(r.dropdown_panel.border.color),"border-radius: ".concat(r.dropdown_panel.roundness,"px"),"box-shadow: ".concat(this.getShadowCssFromShadowConfiguration(r.dropdown_panel.shadow))].join(";"),l[".vscomp-dropbox .vscomp-search-container"]=["background: ".concat(r.dropdown_panel.search.background.color),"color: ".concat(r.dropdown_panel.search.color)].join(";"),l[".vscomp-dropbox .vscomp-search-container input"]=["color: ".concat(r.dropdown_panel.search.color)].join(";"),".vscomp-wrapper-body.vscomp-widget-".concat(this.guid,".vs-comp-f_").concat(o));Utils.AppendCSSToPage(".vscomp-wrapper-body-vscomp-widget-".concat(this.guid,"-vs-comp-f_").concat(o),l,!1,null,d)}}}Utils.AppendCSSToPage("#widget_".concat(this.guid),e)},updateHeaderStyle:function(){var e=this.p.header,t=e.titles.title,o=e.titles.subtitle,n=""!==t.text.trim(),a=""!==o.text.trim(),r=this.ui.find(".header"),i=this.ui.find(".header .title"),l=this.ui.find(".header .subtitle"),d=this.ui.find(".header .button");r.css({background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):e.background.color,"border-bottom-style":"solid","border-color":e.border.color,"border-radius":"".concat(e.border.roundness?e.border.width+e.border.roundness:0,"px"),"border-width":"".concat(e.border.width,"px")}),r.toggleClass("hidden",!e.enabled||!e.enable_reset_button&&!n&&!a),i.css(this.getFontStyle(t)),i.text(t.text.trim()),i.toggleClass("hidden",!e.enabled||!n),l.css(this.getFontStyle(o)),l.text(o.text.trim()),l.toggleClass("hidden",!e.enabled||!a),d.css(this.getFontStyle(t)),d.toggleClass("hidden",!e.enable_reset_button)},updateIfNeeded:function(e,t){1<this.getBindings().filter(function(e){return!e.hidden}).length?this.tryUpdate():t?(e&&e(),this.render()):e&&e()},updateNestedPropsOfType:function(t,e){var o,n=this.getBindings().filter(function(e){return e.filter_type===t.filter_type}).map(function(e){return e.guid}),a=_createForOfIteratorHelper(e=Array.isArray(e)?e:[e]);try{for(a.s();!(o=a.n()).done;){var r,i=o.value,l=Utils.getNestedValue(t,i),d=_createForOfIteratorHelper(n);try{for(d.s();!(r=d.n()).done;){var c=r.value,s=this.getOrCreateFilterConfiguration(c);Utils.setNestedProperty(s.config,i,l)}}catch(e){d.e(e)}finally{d.f()}}}catch(e){a.e(e)}finally{a.f()}},updateRowCountElm:function(e,t,o){o=this.ui.find(".filter.f_".concat(o," p span"));e.title.display_row_count&&t.allow_multiple_selection?o.removeClass("hidden"):o.addClass("hidden")},updateService:"IN16Data",updateServiceError:function(){this._loaded=!1},updateServiceSuccess:function(e){this._Data=e,this.render()},updateState:function(){if(this.dashboard){var e={};if(this._Data)for(var t=this.getBindings(),o=0;o<this._Data.length;o++){var n=t[o],a=this.ui.find(".f_".concat(o," .component_").concat(o))[0].value,r=[],r=Array.isArray(a)||""===a?a:a===k?[]:[a];if(n&&!n.hidden)switch(n.filter_type){case C.ControlType.List:case C.ControlType.DropdownList:e[n.guid]=r}}this.dashboard.updateState(this.model.guid,this.model.remember_selection,e)}},updateStyles:function(){this.updateContainerStyle(),this.updateHeaderStyle(),this.updateFiltersStyle()},updateTitleElm:function(e,t,o,n){n=this.ui.find(".filter.f_".concat(n," p label")),e=e.name;"text"===t.title.title_type&&""!==t.title.title.trim()?e=t.title.title:"formula"===t.title.title_type&&o.title_formula_result&&(e=o.title_formula_result.type===Enums.FormulaStatus.Error?_("WidgetErrorInFormula"):o.title_formula_result.value),t.title.display_title?n.removeClass("hidden"):n.addClass("hidden"),n.text(e)},applyStyleToTargetWidget:function(e){this.p.header=Utils.deepMerge(this.p.header,{background:e.header.background,border:e.header.border,titles:{subtitle:{font:e.header.titles.subtitle.font,text:this.p.header.titles.subtitle.text},title:{font:e.header.titles.title.font,text:this.p.header.titles.title.text}}});var e=e.filters_custom.filter(function(e){return"all"===e.binding_guid}),t=this.p.filters_custom.filter(function(e){return"all"===e.binding_guid});this.copyObjOnArray(e,t,["config"],["all_option_enabled","all_option_label","allow_multiple_selection","default_selection_formula","default_selection_type","display_checkboxes","move_selected_to_top","none_option_enabled","none_option_label","search_enabled","search_add_to_selection","specific_selection_value","format","height","width"])}},scripts:["/Libraries/virtual-select/virtual-select.min.js"],styles:["/Libraries/virtual-select/virtual-select.min.css"]})}();
//# sourceMappingURL=IN16-filter-panel-v2.js.map

Widget.createType({id:"IN2",options:{layer:!0,hasStyleProperty:!0,min_width:50,width:200,height:30,min_height:30,max_height:70,formula_input:["data.default_value_formula"],formula_output:["value"]},properties:{data:{default_value_formula:"",placeholder_value:""},shape:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,0.8)"},autofit:!1,style:"",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"rgba(0,0,0,1)"},format:null,tooltip:{display:!1,content:"",background:{color:"#fff2cc",border:{width:0,color:"#cccccc"},roundness:0}}},prototype:$.extend(!0,{},INTextBase.prototype)});
//# sourceMappingURL=IN2-text-input.js.map

function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,a,o=[],i=!0,s=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(o.push(n.value),!e||o.length!==e);i=!0);}catch(t){s=!0,a=t}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return o}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _createForOfIteratorHelper(t,e){var r,n,a,o,i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return n=!(r=!0),{s:function(){i=i.call(t)},n:function(){var t=i.next();return r=t.done,t},e:function(t){n=!0,a=t},f:function(){try{r||null==i.return||i.return()}finally{if(n)throw a}}};if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return i&&(t=i),o=0,{s:e=function(){},n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var r;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(r="Object"===(r=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:r)||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function _regeneratorRuntime(){_regeneratorRuntime=function(){return i};var i={},t=Object.prototype,l=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",r=e.asyncIterator||"@@asyncIterator",a=e.toStringTag||"@@toStringTag";function o(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{o({},"")}catch(t){o=function(t,e,r){return t[e]=r}}function s(t,e,r,n){var a,o,i,s,e=e&&e.prototype instanceof u?e:u,e=Object.create(e.prototype),n=new v(n||[]);return e._invoke=(a=t,o=r,i=n,s="suspendedStart",function(t,e){if("executing"===s)throw new Error("Generator is already running");if("completed"===s){if("throw"===t)throw e;return x()}for(i.method=t,i.arg=e;;){var r=i.delegate;if(r){r=function t(e,r){var n=e.iterator[r.method];if(void 0===n){if(r.delegate=null,"throw"===r.method){if(e.iterator.return&&(r.method="return",r.arg=void 0,t(e,r),"throw"===r.method))return d;r.method="throw",r.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}n=c(n,e.iterator,r.arg);if("throw"===n.type)return r.method="throw",r.arg=n.arg,r.delegate=null,d;n=n.arg;return n?n.done?(r[e.resultName]=n.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=void 0),r.delegate=null,d):n:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,d)}(r,i);if(r){if(r===d)continue;return r}}if("next"===i.method)i.sent=i._sent=i.arg;else if("throw"===i.method){if("suspendedStart"===s)throw s="completed",i.arg;i.dispatchException(i.arg)}else"return"===i.method&&i.abrupt("return",i.arg);s="executing";r=c(a,o,i);if("normal"===r.type){if(s=i.done?"completed":"suspendedYield",r.arg===d)continue;return{value:r.arg,done:i.done}}"throw"===r.type&&(s="completed",i.method="throw",i.arg=r.arg)}}),e}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}i.wrap=s;var d={};function u(){}function p(){}function h(){}var e={},f=(o(e,n,function(){return this}),Object.getPrototypeOf),f=f&&f(f(w([]))),b=(f&&f!==t&&l.call(f,n)&&(e=f),h.prototype=u.prototype=Object.create(e));function m(t){["next","throw","return"].forEach(function(e){o(t,e,function(t){return this._invoke(e,t)})})}function y(i,s){var e;this._invoke=function(r,n){function t(){return new s(function(t,e){!function e(t,r,n,a){var o,t=c(i[t],i,r);if("throw"!==t.type)return(r=(o=t.arg).value)&&"object"==_typeof(r)&&l.call(r,"__await")?s.resolve(r.__await).then(function(t){e("next",t,n,a)},function(t){e("throw",t,n,a)}):s.resolve(r).then(function(t){o.value=t,n(o)},function(t){return e("throw",t,n,a)});a(t.arg)}(r,n,t,e)})}return e=e?e.then(t,t):t()}}function g(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function _(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function v(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(g,this),this.reset(!0)}function w(e){if(e){var r,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return r=-1,(t=function t(){for(;++r<e.length;)if(l.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t}).next=t}return{next:x}}function x(){return{value:void 0,done:!0}}return o(b,"constructor",p.prototype=h),o(h,"constructor",p),p.displayName=o(h,a,"GeneratorFunction"),i.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},i.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,o(t,a,"GeneratorFunction")),t.prototype=Object.create(b),t},i.awrap=function(t){return{__await:t}},m(y.prototype),o(y.prototype,r,function(){return this}),i.AsyncIterator=y,i.async=function(t,e,r,n,a){void 0===a&&(a=Promise);var o=new y(s(t,e,r,n),a);return i.isGeneratorFunction(e)?o:o.next().then(function(t){return t.done?t.value:o.next()})},m(b),o(b,a,"Generator"),o(b,n,function(){return this}),o(b,"toString",function(){return"[object Generator]"}),i.keys=function(r){var t,n=[];for(t in r)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in r)return t.value=e,t.done=!1,t}return t.done=!0,t}},i.values=w,v.prototype={constructor:v,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!t)for(var e in this)"t"===e.charAt(0)&&l.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(r){if(this.done)throw r;var n=this;function t(t,e){return o.type="throw",o.arg=r,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var a=this.tryEntries[e],o=a.completion;if("root"===a.tryLoc)return t("end");if(a.tryLoc<=this.prev){var i=l.call(a,"catchLoc"),s=l.call(a,"finallyLoc");if(i&&s){if(this.prev<a.catchLoc)return t(a.catchLoc,!0);if(this.prev<a.finallyLoc)return t(a.finallyLoc)}else if(i){if(this.prev<a.catchLoc)return t(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return t(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;0<=r;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&l.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var a=n;break}}var o=(a=a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc?null:a)?a.completion:{};return o.type=t,o.arg=e,a?(this.method="next",this.next=a.finallyLoc,d):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),_(r),d}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var r,n,a=this.tryEntries[e];if(a.tryLoc===t)return"throw"===(r=a.completion).type&&(n=r.arg,_(a)),n}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:w(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),d}},i}function asyncGeneratorStep(t,e,r,n,a,o,i){try{var s=t[o](i),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,a)}function _asyncToGenerator(s){return function(){var t=this,i=arguments;return new Promise(function(e,r){var n=s.apply(t,i);function a(t){asyncGeneratorStep(n,e,r,a,o,"next",t)}function o(t){asyncGeneratorStep(n,e,r,a,o,"throw",t)}a(void 0)})}}Widget.createType({id:"IN3",options:{height:30,width:200,hide_datatab:!0,hasStyleProperty:!0,layer:!0,formula_input:function(t){var e=[];return"formula"===t.label.input_mode&&e.push("label.formula"),e},formula_output:["formula_result"],forceServiceCall:!0},properties:{style:"",shape:{background_color:"#ffffff",background_gradient:!1,border:{width:0,color:"#bfbfbf"},roundness:2,shadow:{code:"light",opacity:.3,radius:5}},label:{text:_("Label_ClickMe"),formula:"'".concat(_("Label_ClickMe"),"'"),autofit:!1,input_mode:"custom",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,halign:"center",color:"#3e4e5b"}},icon:{display_icon:!0,icon_id:"anr",icon_placement:"right"},tooltip:{display:!1,content:null,background:{color:"#fff2cc",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{first_action:null,delay:0,second_action:null}},prototype:{getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},init:function(){var e=this;this.bindEvents(),"formula"===this.p.label.input_mode?this.tryUpdate():(this.error=!1,this.p.label.input_mode||(this.p.label.input_mode="custom")),this.render(),this._from||this.dashboard.dashboardHub&&(this.dashboard.dashboardHub.on("scheduleCompleted",function(t){null!==e.p.interactions.first_action&&"runschedule"===e.p.interactions.first_action.type&&e.p.interactions.first_action.schedule_id===t.RecId&&(e.ui.find(".textContent").removeClass("hidden"),e.ui.find(".inProcess").addClass("hidden"))},window),this.dashboard.dashboardHub.on("dataRefreshCompleted",function(t){null!==e.p.interactions.first_action&&"refreshtable"===e.p.interactions.first_action.type&&e.p.interactions.first_action.data_id===t.RecId&&(e.ui.find(".textContent").removeClass("hidden"),e.ui.find(".inProcess").addClass("hidden"))},window))},customTooltipContent:function(){return this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content||""},render:function(){this._rendered||(this._rendered=!0,this.ui.append("<div class='textContent'></div>"),this.ui.append("<div class='inProcess hidden'><i class='far fa-spinner fa-pulse'></i></div>")),this.updateDOM(),this._loaded=!0},updateService:"Formulas",updateServiceSuccess:function(t){this.isEditing&&(this.isEditing=!1);var e,r="";t&&null!=(e=t[0])&&e.value&&(r=t[0].value),this.p.label.formula_result=r,this.updateDOM()},destroy:function(){this._rendered=!1},bindEvents:function(){var e=this;this._eventsBound||(this.on("stylechanged",function(){e.updateDOM()}),this.on("propertieschanged",function(){e.updateDOM()}),this.on("datachanged",function(){e.tryUpdate(),e.updateDOM()}),this.on("fontchanged",function(){this.updateDOM()}.bind(this)),this.on("labelchanged",function(){var t=$("#prop_textinput").find("input");t.val()!=e.p.label.text&&t.val(e.p.label.text),e.updateDOM()}),this.on("icondisplaychanged",function(){$("#prop_display_icon").find(".cd-flipSwitch").toggleClass("on",e.p.icon.display_icon),e.updateDOM()}),this.on(["height","width"],function(){e.updateFontSize()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindInteractions(),this._eventsBound=!0)},bindInteractions:function(){var e=this;(this.p.interactions.first_action||this.p.interactions.second_action)&&this.container.on("click",_asyncToGenerator(_regeneratorRuntime().mark(function t(){return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.ui.find(".textContent").hasClass("hidden"))return t.abrupt("return");t.next=2;break;case 2:return e.hideError(),t.prev=3,t.next=6,e.executeInteraction(e.p.interactions.first_action);case 6:t.next=11;break;case 8:t.prev=8,t.t0=t.catch(3),e.showError("string"==typeof t.t0?t.t0:_("UnknownErroroccurred"));case 11:return t.next=13,e.executeDelay();case 13:return t.prev=13,t.next=16,e.executeInteraction(e.p.interactions.second_action);case 16:t.next=21;break;case 18:t.prev=18,t.t1=t.catch(13),e.showError("string"==typeof t.t1?t.t1:_("UnknownErroroccurred"));case 21:(null===e.p.interactions.first_action||"runschedule"!==e.p.interactions.first_action.type&&"refreshtable"!==e.p.interactions.first_action.type)&&(e.ui.find(".textContent").removeClass("hidden"),e.ui.find(".inProcess").addClass("hidden"));case 22:case"end":return t.stop()}},t,null,[[3,8],[13,18]])})))},executeDelay:function(){var e=this;return new Promise(function(t){return setTimeout(t,1e3*e.p.interactions.delay)})},executeInteraction:function(f){function b(){g.ui.find(".textContent").addClass("hidden"),g.ui.find(".inProcess").removeClass("hidden")}function m(t){return(t.match(/{{[^{}]+}}/g)||[]).map(function(t){return t.replace(/{|}/g,"")})}function y(t,e,r){var n,a=_createForOfIteratorHelper(e.entries());try{for(a.s();!(n=a.n()).done;){var o=_slicedToArray(n.value,2),i=o[0],s=o[1];t=t.replace("{{".concat(s,"}}"),r[i])}}catch(t){a.e(t)}finally{a.f()}return t}var g=this;return new Promise(function(i,s){switch(f||i(),f.type){case"callwebservice":var l,c,d,u;f.uri&&g.dashboard&&!g.dashboard.in_editor?(c=((l=[]).push.apply(l,_toConsumableArray(m(f.uri))),f.body&&l.push.apply(l,_toConsumableArray(m(f.body))),f.headers&&l.push.apply(l,_toConsumableArray(m(f.headers))),0),d=[],l.forEach(function(t,e){g.dashboard.evaluateDashboardFormula({formula:t.replace("&nbsp;",""),name:""},function(t){d[e]=t,c++},function(t){clearInterval(u),s(Utils.getWidgetErrorMessage(t))})}),u=setInterval(function(){if(c===l.length){clearInterval(u);var t,e=y(f.uri,l,d).trim(),r=y(f.body||"",l,d),n={},a=_createForOfIteratorHelper(y(f.headers||"",l,d).split("\n"));try{for(a.s();!(t=a.n()).done;){var o=t.value.split(":");1<o.length&&(n[o[0].trim()]=o[1].trim())}}catch(t){a.e(t)}finally{a.f()}$.ajax({type:f.method,url:e,headers:n,data:r}).done(function(){i()}).fail(function(){s(_("Interaction_CallWebService_Error"))})}},10)):i();break;case"runschedule":b(),WS.post("Schedule/RunScheduleFromWidget",{RecId:f.schedule_id,WidgetGuid:g.guid}).done(i);break;case"refreshtable":var r,n;null!==f.process_mode&&null!==f.data_id&&null!==f.connector_code&&(r=function(t){WS.post("Data/".concat(f.data_id,"/ProcessFromWidget/").concat(f.process_mode).concat(t?"?fileId=".concat(t):""),{WidgetGuid:g.guid}).done(i)},f.connector_code===Enums.DataConnectionCodes.LocalFile?((n=document.createElement("input")).setAttribute("type","file"),n.setAttribute("id","refreshtableInput"),n.setAttribute("style","display: none;"),n.addEventListener("change",_asyncToGenerator(_regeneratorRuntime().mark(function t(){var e;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return b(),(e=new FormData).append("files[]",n.files[0]),t.next=5,WS.post("File/?type=".concat(Enums.FileSystemItemType.DataImport,"&id=").concat(Utils.getLiveLinkObjectId(),"&objtype=").concat(Utils.getLiveLinkObjectType()),e,{form_data:!0});case 5:e=t.sent,r(e.guid);case 7:case"end":return t.stop()}},t)}))),n.click()):r());break;case"rundatastream":b(),WS.post("DataStream/{0}/Run".format(f.datastream_id),null,{context:g}).done(function(t){"string"==typeof t.Result&&DashboardUtils.handleUrlInteraction(this.dashboard,this,{mode:"newtab",url:t.Result}),i()});break;case"setinputwidgets":g.dashboard&&g.dashboard.resetWidgetsFilters("default"!==f.values),i();break;case"printdashboard":g.dashboard&&!g.dashboard.in_editor&&g.dashboard.printDashboard(),i();break;case"downloadmedia":g.dashboard&&!g.dashboard.in_editor&&(b(),function t(e){var r;e&&0!==e.length?(r=e[0],window.location.href="".concat(window._App.webservices_url,"Media/Download/").concat(r.file_id,"?key=").concat(Utils.getSessionKey(),"&id=").concat(Utils.getLiveLinkObjectId(),"&type=").concat(Utils.getLiveLinkObjectType()),setTimeout(function(){t(e.splice(1,e.length-1))},500)):i()}(JSON.parse(JSON.stringify(f.files))));break;case"emaildashboard":var t,a,o,e,p;g.dashboard&&!g.dashboard.in_editor&&(b(),(t=[]).push.apply(t,_toConsumableArray(m(f.email_subject))),t.push.apply(t,_toConsumableArray(m(f.email_body))),a=0,o=[],t.forEach(function(t,e){g.dashboard.evaluateDashboardFormula({formula:t.replace("&nbsp;",""),name:""},function(t){o[e]=t,a++},function(t){clearInterval(p),s(Utils.getWidgetErrorMessage(t))})}),e=function(){function e(t,e,r,n){WS.post("Export/Wizard/Create",{ExportParameters:{BinderRecId:null,DoNotLogExport:!1,DownloadOption:null,Emails:t,Subject:e,Body:r,RemoveThumbnail:n,Format:f.format||Enums.ExportDashboardFormat.Pdf,IsCombined:!1,Name:f.name||g.dashboard.model.name,PageSize:f.size||Enums.ExportPageSize.Auto,Type:Enums.ExportType.EmailDashboard,pageOrientation:f.layout||"landscape"},ExportItems:[{Name:g.dashboard.model.name,RecId:g.dashboard.model.id,Properties:{WidgetsState:JSON.stringify(g.dashboard.widget_state),DashboardParameters:JSON.stringify(g.dashboard.parameters),SessionParameters:sessionStorage.getItem("cd-parameters")}}]},{no_result:!0}).done(function(){i()}).fail(function(){WS.displayDefaultError(),i()})}var r=y(f.email_subject,t,o).trim(),n=y(f.email_body,t,o).trim();f.send_mode===Enums.EmailDashboardRecipientType.Fixed?e(f.emails,r,n,f.remove_thumbnail):f.send_mode===Enums.EmailDashboardRecipientType.Selected?DashboardDialog.show("/dashboard/userselectedemails",{close:function(){i()},send:function(t){e(t,r,n,f.remove_thumbnail)}}):i()},p=setInterval(function(){a===t.length&&(clearInterval(p),e())},10));break;case"exportdashboard":var h;g.dashboard&&!g.dashboard.in_editor&&(b(),h=Utils.getSessionKey(),g.dashboard.dashboardHub&&g.dashboard.dashboardHub.on("exportProgressUpdate",function(t){t.ExportRecId===g.__exportRecId&&(t.IsSuccess&&3===t.Step?(i(),window.location.href="".concat(window._App.webservices_url,"File/Download/").concat(t.FileUID,"?key=").concat(h,"&id=").concat(Utils.getLiveLinkObjectId(),"&type=").concat(Utils.getLiveLinkObjectType())):t.IsSuccess||i())},window),WS.post("Export/Wizard/Create",{ExportParameters:{BinderRecId:null,DoNotLogExport:!1,DownloadOption:null,Format:f.format||Enums.ExportDashboardFormat.Pdf,IsCombined:!1,Name:f.name||g.dashboard.model.name,PageSize:f.size||Enums.ExportPageSize.Auto,Type:Enums.ExportType.DashboardLiveLink,pageOrientation:f.layout||"landscape"},ExportItems:[{Name:g.dashboard.model.name,RecId:g.dashboard.model.id,Properties:{WidgetsState:JSON.stringify(g.dashboard.widget_state),DashboardParameters:JSON.stringify(g.dashboard.parameters),SessionParameters:sessionStorage.getItem("cd-parameters")}}]},{no_result:!0}).done(function(t){g.__exportRecId=t}).fail(function(){WS.displayDefaultError()}));break;case"logout":g.dashboard&&!g.dashboard.in_editor&&g.dashboard&&g.dashboard.trigger("logoutuser",{widget:g}),i();break;case"logoutandredirect":g.dashboard&&!g.dashboard.in_editor&&f.url&&g.dashboard&&(f.url_type&&"formula"==f.url_type?FormulaUtils.evaluateFormula({formula:f.url,widget:g,sucessCallback:function(t){this.dashboard.trigger("logoutandredirectuser",{url:t,widget:this}),i()},errorCallback:function(t){s()}}):(g.dashboard.trigger("logoutandredirectuser",{url:f.url,widget:g}),i())),i();break;case"reloaddashboard":g.dashboard&&g.dashboard.trigger("dashboardchanged",{dashboard_id:g.dashboard.id,parameters:f.parameters,widget:g}),i();break;case"dashboard":g.handleDashboardInteraction(f),i();break;case"binder":f.binder_id&&g.dashboard&&g.dashboard.trigger("showBinder",{binder_id:f.binder_id,widget:g}),i();break;case"url":DashboardUtils.handleUrlInteraction(g.dashboard,g,f),i();break;default:i()}})},updateDOM:function(){var t=this,e=this.ui.find(".textContent"),r=(e.empty(),this.updateContainerStyle("shape"),$("<span></span>")),n=(e.append(r),"formula"===this.p.label.input_mode?this.p.label.formula_result:this.p.label.text);r.text(n),r.css({"font-family":this.p.label.font.family,"line-height":"".concat(this.p.label.font.size,"px"),"text-shadow":this.p.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.label.font.underline?"underline":"none",color:this.p.label.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.label.font.family,this.p.label.font.font_weight),"font-style":this.p.label.font.italic?"italic":"normal"}),Utils.FontUtils.loadFont(this.p.label.font.family,function(){t.updateFontSize()}),e.removeClass("flex-halign-left flex-halign-center flex-halign-right"),e.addClass("flex-halign-".concat(this.p.label.font.halign)),this.p.label.autofit?e.css("white-space","nowrap"):e.css({"text-align":this.p.label.font.halign,"white-space":"pre-line"}),this.p.icon.display_icon&&(n=function(){var t=DashboardUtils.WidgetIcons.getSymbolFromCode(this.p.icon.icon_id,"fa-angle-right"),t=$("<i class='{0}'></i>".format(t));"right"==this.p.icon.icon_placement?e.append(t):e.prepend(t),this.updateStyle()}.bind(this),this.loadWidgetIcons(n)),this.handleTooltipState()},updateFontSize:function(){$(this.ui.find("div span")).css("font-size",this.getFontSize()),$(this.ui.find("div i")).css("font-size",this.getFontSize())},updateStyle:function(){$("i",this.ui).css({"font-size":this.getFontSize(),color:this.p.label.font.color,"margin-left":4,"margin-right":4})},updateLabelRow:function(t){var e=$(".label-input-container",t.ui.content),r=this;e.length&&(e.empty(),"formula"===this.p.label.input_mode?(e.append("<div></div>"),t.settings.Format.addFormulaInput({id:"textinput",container:$("div",e),widget:this,object:this.p.label,dashboard:this.settings._original_widget.dashboard,placeholder:_("Label_ClickMe"),label:_("Label"),property:"formula",appendToBody:!0,callback:function(t){r.settings.updateDependenciesNeeded=!0,t?(r.error=!1,r.p.label.formula_result=t,r.updateDOM(),r.updateStyle()):r.tryUpdate()}})):t.settings.Format.addText({id:"textinput",container:e,label:_("Label"),object:this.p.label,property:"text",callback:function(){r.updateDOM()}}))},renderPropertiesTab:function(t){var e=this,r=t.ui.content;r.append(Mustache.render('<div class="radio-text-type">\n          <span>{{ label }}</span>\n          <ul class="multiple_labels">\n            <li><label class="cd-radio hoverStyle"><input type="radio" {{#isFormula}}checked{{/isFormula}} name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formulaDescription }}</small></label></li>             <li><label class="cd-radio hoverStyle"><input type="radio" {{#isCustom}}checked{{/isCustom}} name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ customDescription }}</small></label></li>           </ul>\n        </div>',{label:_("BasedOn"),formula:_("Formula"),formulaDescription:_("TitleFormulaDesc"),custom:_("Custom"),customDescription:_("CustomTitleDesc"),isFormula:"formula"===this.p.label.input_mode,isCustom:"custom"===this.p.label.input_mode}));r.append("<div class='label-input-container'></div>"),r.on("change",".multiple_labels input[type=radio]",function(){t.settings.Format._isDirty=!0,e.p.label.input_mode=$(this).val(),e.init(),e.updateLabelRow(t)}),this.updateLabelRow(t)},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Label"),code:"label",renderer:this.getLabelProperties.bind(this)}),t.push({icon:"button-icon.png",text:_("Icon"),code:"icon",renderer:this.getIconProperties.bind(this)}),t},getShapeProperties:function(t){var e=this.updateContainerStyle.bind(this,"shape");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:e}),t.addSeparator()},getLabelProperties:function(t){t.ui.content.addClass("IN3");var e=this,r=this.updateDOM.bind(this),n=this.updateFontSize.bind(this);"formula"===this.p.label.input_mode?t.addFormulaInput({id:"textinput",container:t.ui.content,widget:e,dashboard:e.settings._original_widget.dashboard,placeholder:_("Label_ClickMe"),label:_("Label"),object:this.p.label,property:"formula",callback:function(t){e.settings.updateDependenciesNeeded=!0,t?(e.error=!1,e.p.label.formula_result=t,e.updateDOM(),e.updateStyle()):e.tryUpdate(),e.updateLabelRow(e.settings.Properties)}}):"custom"===this.p.label.input_mode&&t.addText({id:"textinput",container:t.ui.content,label:_("Label"),object:this.p.label,property:"text",callback:function(){e.trigger("labelchanged")}}),t.addFont({object:this.p.label,property:"font",autofit_property:"autofit",autofit_callback:n,callback:r,dropDown:!0})},getIconProperties:function(t){var e=this.updateDOM.bind(this),r=this,n=t.addSection();t.addBoolean({section:n,label:_("DisplayIcon"),object:this.p.icon,property:"display_icon",callback:function(){r.trigger("icondisplaychanged")}}),t.addGlobalIconSelector({container:n,label:_("Icon"),object:this.p.icon,property:"icon_id",callback:e,widget:this}),t.addToggleButtons({container:n,label:_("IconPlacement"),object:this.p.icon,property:"icon_placement",numeric:!1,callback:e,buttons:[{image:"button-placement-left.png",value:"left"},{image:"button-placement-right.png",value:"right"}]}),t.addSeparator()},renderInteractionsTab:function(t){var e=this,r=[{type:"rundatastream"},{type:"reloaddashboard"},{type:"printdashboard"},{type:"emaildashboard"},{type:"exportdashboard"},{type:"binder"},{type:"dashboard"},{type:"url"},{type:"logout"},{type:"logoutandredirect"},{type:"refreshtable"}],n=(t.appendDropdownWithDynamicSection({id:"first-action",items:[{type:null},{type:"downloadmedia"},{type:"callwebservice"},{type:"runschedule"},{type:"setinputwidgets"}].concat(r),label:_("InteractionType_FirstAction"),object:this.p.interactions,onChange:function(){return a()},parameters:!0,property:"first_action"}),$("<div></div>")),a=(t.ui.append(n),function(){switch(n.empty(),e.p.interactions.first_action?e.p.interactions.first_action.type:null){case null:case"callwebservice":case"runschedule":case"setinputwidgets":case"rundatastream":t.settings.Format.addSeparator({container:n}),t.settings.Format.addNumber({container:n,label:_("Interaction_Delay"),min:0,object:e.p.interactions,placeholder:_("AutoPlaceholder"),property:"delay"}),t.settings.Format.addSeparator({container:n}),t.appendDropdownWithDynamicSection({container:n,items:[{type:null}].concat(r),label:_("InteractionType_SecondAction"),object:e.p.interactions,parameters:!0,property:"second_action"});break;default:e.p.interactions.delay=0,e.p.interactions.second_action&&(e.p.interactions.second_action=null)}});a()},getFontSize:function(){var t,e,r,n,a;return this.p.label.autofit?(t="formula"===this.p.label.input_mode?this.p.label.formula_result:this.p.label.text,e=(t=$("<div>").text(t).css({position:"absolute",visibility:"hidden","font-family":this.p.label.font.family,"font-size":"".concat(10,"px"),"font-weight":Utils.FontUtils.getFontWeight(this.p.label.font.family,this.p.label.font.font_weight),"font-style":this.p.label.font.italic?"italic":"normal","text-shadow":this.p.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.label.font.underline?"underline":"none"}).appendTo("body")).outerWidth(),r=t.outerHeight(),a=this.ui.outerWidth(),this.p.label.autofit&&(a-=30),n=this.ui.outerHeight(),a=10*Math.min(a/e,n/r),t.remove(),"".concat(a-2*this.p.shape.border.width-(this.class.options.autofitSizeDelta||0),"px")):"".concat(this.p.label.font.size,"px")}}});
//# sourceMappingURL=IN3-button.js.map

!function(){var r='<li class="no-match-found" tabindex="-1">{0}</li>'.format(_("NoMatchingElement")),i="contains",a="contains_insensitive",n="starts_with_insensitive",s="ends_with_insensitive",o="starts_with",l="ends_with";Widget.createType({id:"IN4",options:{layer:!0,hasStyleProperty:!0,min_width:50,width:200,height:30,min_height:30,max_height:70,formula_input:["sort_filter.filters.formula","calculated_columns.formula"],formula_output:["selectedvalue","selectedlabel"]},properties:{search_method:i,is_case_sensitive:!1,search_operator:a,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",placeholder_value:null,custom:[]},shape:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2,placeholder_color:"rgba(0,0,0,0.5)"},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Text),sort_filter:{sorts:[],filters:[]},interactions:{onhover:null}},prototype:$.extend(!0,{},WidgetIN.prototype,{setSample:function(){this._Data=[],this._selectedRow||(this.clearSearchPattern(),this.updatePlaceHolder())},init:function(){void 0!==this.p.data.placeholder_value&&null!==this.p.data.placeholder_value||(this.p.data.placeholder_value=_("AutoCompletePlaceholder")),this.bindEvents(),this.render(),this.getAndApplyWidgetSelection(),this.updateState()},bindEvents:function(){var t=this;this.createProperties(),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZED,function(){t.hideAutocompleteList()}),this.on(WidgetLayer.Events.MOVING_START,function(){t.hideAutocompleteList()})),this.on(["height","width"],function(){t.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("stylechanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t._opened&&t.showAutocompleteList(),t.updatePlaceHolder(),t.updateStyle()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.bindUIEvents()},bindUIEvents:function(){var e=this;this.ui.on("keyup","input",Utils.debounce(function(){e._searchPattern=$(this).val(),e.showAutocompleteList(),e.updateState()},300)),this.ui.on("keydown","input",function(t){t.stopPropagation()}),this.container.on("focusout",function(t){e.hideAutocompleteList()}),this.ui.on("mousedown","li:not(.no-match-found)",function(){e.selectAnElement($(this))}),this.ui.on("mousedown",".clearInput",function(){e.clearSearchPattern()})},setCustomError:function(t){$("input",this.ui).trigger("blur"),this.clearSearchPattern()},render:function(){this.rendered||(this.ui.append(Mustache.render('<div class="in4-text-container">                                <input type="text" value="" placeholder="{{Placeholder}}" />                                <i class="far fa-times clearInput"></i>                            </div>                            <div class="in4-autocompletelist-container" tabindex="1"><ul></ul></div>',{Placeholder:this.p.data.placeholder_value})),$(".in4-autocompletelist-container",this.ui).setOverlayScrollbar(),this.rendered=!0),this.updateStyle(),this.updatePlaceHolder(),this._loaded=!0},filterValues:function(){var e=this,t=this.getFilteredData();switch(this.p.search_operator){case i:this._filteredData=t.filter(function(t){return-1!=t[0].indexOf(e._searchPattern)});break;case l:this._filteredData=t.filter(function(t){return t[0].endsWith(e._searchPattern)});break;case o:this._filteredData=t.filter(function(t){return t[0].startsWith(e._searchPattern)});break;case a:this._filteredData=t.filter(function(t){return-1!=t[0].toLowerCase().indexOf(e._searchPattern.toLowerCase())});break;case s:this._filteredData=t.filter(function(t){return t[0].toLowerCase().endsWith(e._searchPattern.toLowerCase())});break;case n:this._filteredData=t.filter(function(t){return t[0].toLowerCase().startsWith(e._searchPattern.toLowerCase())})}},getFilteredData:function(){var t,e=this.widgetData();return this.p.data?(t="bindings"!=this.p.data.mode?this.filterCustomData(e):e,"bindings"!=this.p.data.mode?this.sortCustomData(t):t):e},sortCustomData:function(t){var e;return Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})?(e=$.extend(!0,[],t),DashboardUtils.sortData(e,this.p.sort_filter.sorts),e):t},filterCustomData:function(t){var t=t.slice(),e=this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}});return DashboardUtils.filterData(t,e)},showAutocompleteList:function(){if(!this._searchPattern||""==this._searchPattern)return this.clearSearchPattern(),this.hideLoading(),!1;$(".clearInput",this.ui).show(),"bindings"!=this.p.data.mode?(this._opened=!0,this.filterValues(),this.rebuildAutocompleteList(),this.updateStyle()):this.tryUpdate()},hideAutocompleteList:function(){this._opened=!1,this.updateStyle()},rebuildAutocompleteList:function(){var t=$("ul",this.ui);if(t.empty(),this._filteredData&&this._filteredData.length)for(var e=0;e<this._filteredData.length;e++){var a="".concat(this._filteredData[e][0]),i=(this.valueType&&Utils.isDateType(this.valueType)&&(a=Utils.formatValue(a,DashboardUtils.applyFormat(null,this.valueType))),this._searchPattern.length),n=a.toLowerCase().indexOf(this._searchPattern),n=0,s=(n=this.p.is_case_sensitive?a.indexOf(this._searchPattern):a.toLowerCase().indexOf(this._searchPattern.toLowerCase()),a.substring(0,n)),o=a.substring(n,n+i),n=a.substring(n+i,a.length);t.append($("<li><span>{0}</span><strong>{1}</strong><span>{2}</span></li>".format(s,o,n)).data("autocomplete-element",this._filteredData[e]))}else t.append(r);this.hideLoading()},createProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedlabel"),this.selectedvalue=null,this.selectedlabel=null},clearSearchPattern:function(){this._selectedRow=null,this._searchPattern="",this.hideAutocompleteList(),this.selectedvalue=null,this.selectedlabel=null,$(".in4-text-container input",this.ui).val(""),$(".clearInput",this.ui).hide(),this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedValue:this.selectedvalue,selectedLabel:this.selectedlabel,currentText:$(".in4-text-container input",this.ui).val()})},resetState:function(t){$(".in4-text-container input",this.ui).val(t.currentText),this.selectedvalue=t.selectedValue,this.selectedlabel=t.selectedLabel},selectAnElement:function(t){var e,t=t||this._selectedRow;(e=(this._selectedRow=t)&&t.data()?t.data("autocomplete-element"):e)&&e.length?(this.selectedlabel=e[0],this.valueType&&Utils.isDateType(this.valueType)&&(this.selectedlabel=Utils.formatValue(this.selectedlabel,DashboardUtils.applyFormat(null,this.valueType))),$(".in4-text-container input",this.ui).val(this.selectedlabel)):(this.selectedlabel=null,$(".in4-text-container input",this.ui).val("")),e&&1<e.length?this.selectedvalue=e[1]:this.selectedvalue=this.selectedlabel,this.hideAutocompleteList(),this.updateState()},updateSelectedValue:function(){var t;this._selectedRow&&this.p.data.custom.length&&(t=this._selectedRow[0],-1==this.p.data.custom.indexOf(t)&&(this._selectedRow=null,this.selectAnElement()))},updatePlaceHolder:function(){this.p.data.placeholder_value?$("input",this.ui).attr("placeholder",this.p.data.placeholder_value):$("input",this.ui).attr("placeholder",""),this.p.shape.placeholder_color||(this.p.shape.placeholder_color="rgba(0,0,0,0.5)")},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id==t&&"bindings"==this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var i=0;i<this.p.sort_filter.filters.length;i++){var n=this.p.sort_filter.filters[i];if(n.state!=Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,e)){a=!0;break}}a&&this.tryUpdate()},changeSensitiveness:function(){switch(this.p.search_method){case i:this.p.search_operator=this.p.is_case_sensitive?i:a;break;case o:this.p.search_operator=this.p.is_case_sensitive?o:n;break;case l:this.p.search_operator=this.p.is_case_sensitive?l:s}},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family);var t=this.getShadowCssFromShadowConfiguration(this.p.shape.shadow),e=($(this.ui).css({"font-size":this.p.font.size,"font-family":this.p.font.family,border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":t}),$("input",this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),Math.min((this._filteredData&&this._filteredData.length||1)*(2*this.p.font.size-3),150)),a=!!this.dashboard&&this.top+this.container.outerHeight()+e>this.dashboard.height;this._opened?(this.dashboard&&this.dashboard.in_editor&&($(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),$(".widgetQuickToolbar").css({opacity:0}),(a?$(".layer-n, .layer-nn"):$(".layer-s, .layer-ss")).css({opacity:0})),$(this.ui).css({"border-bottom-left-radius":0,"border-bottom-right-radius":0}),$(".in4-autocompletelist-container",this.ui).css({"border-top-left-radius":0,"border-top-right-radius":0,"box-shadow":t,"font-family":this.p.font.family,background:this.p.shape.background_color,border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),"margin-top":"-".concat(this.p.shape.border.width,"px"),left:"-".concat(this.p.shape.border.width,"px"),top:a?"-".concat(e,"px"):this.container.outerHeight()}),$(".in4-autocompletelist-container",this.ui).show()):(this.dashboard&&this.dashboard.in_editor&&($(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),$(".widgetQuickToolbar").css({opacity:1})),$(".in4-autocompletelist-container",this.ui).hide()),$(".os-scrollbar-vertical",this.ui).css({"border-width":this.p.shape.border.width||0,"border-left-width":this.p.shape.border.width?1:0,"border-color":this.p.shape.border.color}),this.handleTooltipState(),this.injectElementsCSS()},renderPropertiesTab:function(t){var e=this,a=t.ui.content,e=(t.addBoolean({label:_("CaseSensitive"),container:a,object:this.p,property:"is_case_sensitive",callback:function(){e.changeSensitiveness(),e.tryUpdate.bind(e)}}),t.addDropdown({container:a,label:_("Type"),object:this.p,property:"search_method",id:"search_method",combobox:{dataprovider:[{value:i,label:_("SearchMethodContains")},{value:o,label:_("SearchMethodBeginsWith")},{value:l,label:_("SearchMethodEndsWith")}]},callback:function(){e.changeSensitiveness(),e.showAutocompleteList()}}),a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),custom:_("Custom"),custom_desc:_("CustomDataDesc")})),this);a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.resetSortAndFilters(),e.updateData()})},renderDataTab:function(t){if(this.p.data.mode!=this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"bindings":this.renderDataBindings(t)}this.current_data_mode=this.p.data.mode}},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("DropdownCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:'<td><i class="far fa-bars"></i></td>',cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.render({object:this.p.data,property:"custom",callback:function(){e.resetSortAndFilters(),e.render(),e.updateSelectedValue()},fixed_columns:!0})},renderDataBindings:function(t){var e=this,t=new Settings.Data.Bindings(t);t.area_column_limits.Value=1,t.area_column_limits.Label=1,t.render([{name:_("Label"),placeholder:_("DropLabelColumnHere"),area:"Label",height_ratio:.5},{name:_("Value"),placeholder:_("DropOptionalValueHere"),area:"Value",height_ratio:.5}],{dateGrouping:!1,count:!1}),t.on("bindingCleared",function(){e.resetSortAndFilters()}),t.on("bindingRemoved",function(t){e.resetSortAndFilters(t)})},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var r=this,t=(this.p.data_bindings,new Settings.SortFilter.Sort(e));t.getSortColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var i=r.p.data_bindings[a],n=r.getColumnFromId(t.columns,i.column_id);n&&e.push({is_used:!0,icon:DashboardUtils.getIconForColumnType(n.type),label:i.name||n.name,value:"".concat(n.id).concat(i.aggregation||""),column_id:n.id,is_context:n.is_context||!1,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}e.push({sep:!0});var s=t.columns.concat(r.p.calculated_columns||[]),e=e.concat(s.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,is_context:t.is_context||!1,column_id:t.id}}));o(e)});break;case"custom":var t=[{label:_("Labels"),value:0},{label:_("Values"),value:1}];o(t)}},t.updateDataCallback=function(){e._isDirty=!0,r.updateData()},t.render()},renderFilter:function(e){var r=this,i=new Settings.SortFilter.Filter(e);i.getFilterColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var i=r.p.data_bindings[a],n=r.getColumnFromId(t.columns,i.column_id);n&&e.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:i.name||n.name,value:"".concat(n.id).concat(i.aggregation||""),column_id:n.id,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var s=t.columns.concat(r.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(s.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));o(e)});break;case"custom":var t=[{label:_("Labels"),value:0,icon:DashboardUtils.getIconForColumnType()},{label:_("Values"),value:1,icon:DashboardUtils.getIconForColumnType()}];o(t)}return t},i.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().value,i.updateOperatorDropdown(t,a),i.updateDataCallback()},i.getDataCloneId=function(){return r.p.data_id},i.updateDataCallback=function(){r._isDirty=!0,r.update()},i.render()},getColumnsDropdownProvider:function(t){return t.map(function(t){return{label:t.name,value:t.id,data:t,icon:DashboardUtils.getIconForColumnType(t.type)}})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"container",renderer:this.getContainerProperties.bind(this)}),t},getContainerProperties:function(t){t.addHeader({description:_("INFormatShapeDesc"),text:_("Background")}),t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getTextProperties:function(t){t.addHeader({description:_("INFormatValueDesc"),text:_("Text")}),t.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),t.addFormat({label:_("Format"),object:this.p,property:"format",callback:this.render.bind(this)}),t.addSeparator(),t.addText({object:this.p.data,property:"placeholder_value",label:_("PlaceholderTextLabel"),placeholder:_("In2PLaceHolderOption"),callback:this.updatePlaceHolder.bind(this)}),t.addColor({label:_("Color"),object:this.p.shape,property:"placeholder_color",callback:this.updateStyle.bind(this)}),t.addSeparator()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},updateData:function(){"bindings"===this.p.data.mode?0<this.p.data_bindings.length?this.tryUpdate():(this.setSample(),this.rendered||this.render()):(this.setSample(),this.render())},updateService:function(){return this._searchPattern?"bindings"===this.p.data.mode?"IN4Data":void 0:null},updateServiceSuccess:function(t){switch(this.valueType="System.String",this.p.data.mode){case"bindings":var e,a=(a=Utils.arrayFirst(this.p.data_bindings,function(t){return"Label"==t.area}))||Utils.arrayFirst(this.p.data_bindings,function(t){return"Value"==t.area});!t.columns||(e=Utils.arrayFirst(t.columns,function(t){return t.id==a.column_id}))&&(this.valueType=e.type),this._filteredData=t.data,this.rebuildAutocompleteList(),this._opened=!0,this.loading=!1;break;case"custom":0<this.p.sort_filter.filters.length&&this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}})}this.hideLoading(),this.render()},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,ParametersDependencies:t.ParametersDependencies,SearchPattern:this._searchPattern,Widget:this.model}},getCustomData:function(){return this.p.data.custom},tryUpdate:function(){!this._searchPattern||this._dependencies.length&&!this._dependencies.every(function(t){return t.resolved})||this.update(),this._applyVisibilityFunction&&this._applyVisibilityFunction()},widgetData:function(){var t;switch(this.p.data.mode){case"custom":t=this.p.data.custom;break;case"bindings":t=this._Data}return t},injectElementsCSS:function(t){var e={},t=(e[".ui ul li"]="color: ".concat(this.p.font.color,";                                       font-size: ").concat(this.p.font.size,"px;                                       text-shadow: ").concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";                                       text-decoration: ").concat(this.p.font.underline?"underline":"none",";                                       font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight)),"".concat(NaN+(this.p.font.italic?"italic":"normal"),";"),DashboardUtils.parseRGBA(this.p.font.color)),a="color: rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.7,");");this.p.shape.placeholder_color&&(a="color: ".concat(this.p.shape.placeholder_color,";")),a=(a=(a=(a=(a+="font-size:".concat(this.p.font.size,"px;"))+"text-shadow:".concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5);":"none;"))+"text-decoration:".concat(this.p.font.underline?"underline;":"none;"))+"font-weight:".concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";"))+"font-style: ".concat(this.p.font.italic?"italic;":"normal;"),e[".ui .in4-text-container input::-webkit-input-placeholder"]=a,e[".ui .in4-text-container input:-moz-placeholder"]=a,e[".ui .in4-text-container input::-moz-placeholder"]=a,e[".ui .in4-text-container input:-ms-input-placeholder"]=a,e[".ui ul li:hover"]="".concat("background-color:rgba(").concat(t.r,",").concat(t.g,",").concat(t.b,",",.1,");"),Utils.AppendCSSToPage("#widget_".concat(this.guid),e)}})})}();
//# sourceMappingURL=IN4-autocomplete.js.map

!function(){var i="contains",s="starts_with",n="ends_with",a="contains_insensitive",o="starts_with_insensitive",r="ends_with_insensitive",t='<li class="no-match-found" tabindex="-1">{0}</li>'.format(_("NoMatchingElement"));Widget.createType({id:"IN5",options:{layer:!0,min_width:50,width:200,height:70,min_height:60,formula_output:["selectedvalues"],formula_input:["sort_filter.filters.formula","calculated_columns.formula"],hasStyleProperty:!0},styles:["/Dashboard/Scripts/Libraries/IN5/bootstrap-tagsinput.css"],scripts:["/Dashboard/Scripts/Libraries/IN5/bootstrap-tagsinput.min.js","/Dashboard/Scripts/Libraries/IN5/bootstrap3-typeahead.min.js"],properties:{search_method:i,is_case_sensitive:!1,search_operator:a,default_selection_type:"none",data_id:null,data_bindings:[],default_selection_values:[],calculated_columns:[],data:{mode:"bindings",placeholder_value:null,custom:[]},tags:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},roundness:2,color:"rgba(156,166,166,1)"},shape:{background_color:"rgba(255, 255, 255, 1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Text),sort_filter:{sorts:[],filters:[]},interactions:{onhover:null}},prototype:$.extend(!0,{},WidgetIN.prototype,{setSample:function(){this._Data=[],this.selectedvalues=[],this.p.default_selection_values=[],this._selectedRow||(this.clearSearchPattern(),this.updatePlaceHolder())},clearSearchPattern:function(){this._searchPattern="",this.hideAutocompleteList(),this.selectedvalues=[],this.updateState([])},init:function(){this.bindEvents(),this.render(),"custom"==this.p.data.mode&&this._updateCustomModeData(),this.getAndApplyWidgetSelection(),this.updateState()},createProperties:function(){this.createProperty("selectedvalues")},bindEvents:function(){var t=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){t.updateStyle()}),this.on("propertieschanged",function(){t._rendered=!1,t.render()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.on("data_changed",function(){t.clearAndRebuild()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},updateState:function(t){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedTags:$.extend([],t)})},resetState:function(t){var e=[].concat(t.selectedTags||[]);if(this.p._tags=e,t.selectedTags){for(var a=0;a<t.selectedTags.length;a++)$(".tagsInput",this.ui).tagsinput("add",t.selectedTags[a]);1<this.p.data_bindings.length?this.selectedvalues=t.selectedTags.map(function(t){return t[1]}):this.selectedvalues=t.selectedTags.map(function(t){return t[0]})}else this.selectedvalues=[];this._rendered=!1,this.render()},bindUIEvents:function(){var e=this;this.ui.on("keydown","input",function(t){t.stopPropagation()}),$(".tagsInput",this.ui).on("itemAdded itemRemoved",function(t){"itemAdded"==t.type?e.onTagAdded(t.item):"itemRemoved"==t.type&&e.onTagRemoved(t.item),e.hideAutocompleteList(),e.updateStyle()})},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,ParametersDependencies:t.ParametersDependencies,SearchPattern:this._searchPattern,Widget:this.model}},hideAutocompleteList:function(){this._opened=!1,this.updateStyle()},showAutocompleteList:function(){this._opened=!0,this.updateStyle()},showNoMatchMessage:function(){$(".tagsList",this.ui).html(t).show()},setCustomError:function(t){},render:function(){var t,e=this;this._rendered||($(".tagsInput",this.ui).tagsinput("destroy"),this.ui.empty(),this.selectedvalues=[],this.valueType="System.String",this.ui.append(Mustache.render('<div class="in5-tags-container">                                <input class="tagsInput" type="text" placeholder="{{Placeholder}}" />                              </div>                              <div class="in5-autocompletelist-container"><ul class="tagsList"></ul></div>',{Placeholder:this.p.data.placeholder_value})),t=this.getTypeAheadSource(),$(".tagsInput",this.ui).data("Property","tags").tagsinput({typeahead:{source:t,menu:$(".tagsList",e.ui),doNotInsertMenu:!0,items:200,sorter:function(t){return t},noItemCallback:e.showNoMatchMessage.bind(e)},getItems:function(t){return"bindings"==e.p.data.mode?t.data:t},itemValue:function(t){return t[0]},freeInput:!0,trimValue:!0,confirmKeys:[13,188,190]}),$(".bootstrap-tagsinput input",this.ui).attr("style",""),$(".in5-tags-container",this.ui).setOverlayScrollbar(),$(".in5-autocompletelist-container",this.ui).setOverlayScrollbar(),this.bindUIEvents(),"last_selected"==this.p.default_selection_type&&(this.p._tags=this.p.default_selection_values),this.renderExistingTags(),this._rendered=!0,this._loaded=!0),this.updateStyle(),this.updatePlaceHolder(),this.handleTooltipState()},update:function(){"custom"==this.p.data.mode?this._updateCustomModeData():(this._rendered=!1,this.render())},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family);var t=this.getShadowCssFromShadowConfiguration(this.p.shape.shadow);$(this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-size":this.p.font.size,color:this.p.font.color,"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal",border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":t}),$(".bootstrap-tagsinput input",this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none","font-size":this.p.font.size,color:this.p.font.color,"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),$(".tagContainer",this.ui).css({color:this.p.tags.color,border:"".concat(this.p.tags.border.width,"px solid ").concat(this.p.tags.border.color),background:this.getTagsBackgroundValue(),"border-radius":"".concat(this.p.tags.roundness+this.p.tags.border.width,"px"),"text-decoration":"none"}),this.p.shape.border.width&&$(this.ui).css({padding:"5px"}),$(".in5-tags-container, .os-content",this.ui).css({"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px")}),this._opened?(this.container.css("zIndex",4e3),$(".widgetQuickToolbar").css({opacity:0}),$(this.ui).css({"border-bottom-left-radius":0,"border-bottom-right-radius":0}),$(".in5-autocompletelist-container",this.ui).css({"border-top-left-radius":0,"border-top-right-radius":0,"font-family":this.p.font.family,"box-shadow":t,background:this.p.shape.background_color,border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),"margin-top":"-".concat(this.p.shape.border.width,"px"),left:"-".concat(this.p.shape.border.width,"px"),top:this.container.outerHeight()-this.p.shape.border.value,zIndex:4e3}),$(".in5-autocompletelist-container",this.ui).show()):($(".in5-autocompletelist-container",this.ui).hide(),$(".widgetQuickToolbar").css({opacity:1}),this.container.css("zIndex",this.zindex)),$(".os-scrollbar-vertical",this.ui).css({"border-width":this.p.shape.border.width||0,"border-left-width":this.p.shape.border.width?1:0,"border-color":this.p.shape.border.color}),this.injectElementsCSS()},getTypeAheadSource:function(){switch(this.p.data.mode){case"bindings":return this.dataBindingsSource.bind(this);case"custom":return this.customSource.bind(this)}},sortCustomData:function(t){var e;return Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})?(e=$.extend(!0,[],t),DashboardUtils.sortData(e,this.p.sort_filter.sorts),e):t},filterCustomData:function(t){var t=t.slice(),e=this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}});return this._filteredData=DashboardUtils.filterData(t,e),this.filterValues(),this._filteredData},customSource:function(t){var e=this.p.data.custom;return this.p.data&&"bindings"!=this.p.data.mode&&(this._searchPattern=t,t=this.filterCustomData(e),e=this.sortCustomData(t),this._filteredData=e),this.showAutocompleteList(),this._filteredData},dataBindingsSource:function(t){if(!this.p.data_bindings.length)return null;if(!t||!t.trim())return null;this._currentUpdateDataWSCall&&"pending"===this._currentUpdateDataWSCall.state()&&this._currentUpdateDataWSCall.abort(),this._searchPattern=t;t=this.getDataToSendForUpdate();return this._currentUpdateDataWSCall=WS.post("DashboardEditor/{0}/{1}".format(this.guid,this.updateService()),t,{context:this}).done(function(t){if(this.loading=!1,this._filteredData=t.data,this.showAutocompleteList(),this._filteredData.length){var e=(e=Utils.arrayFirst(this.p.data_bindings,function(t){return"Label"==t.area}))||Utils.arrayFirst(this.p.data_bindings,function(t){return"Value"==t.area}),t=Utils.arrayFirst(t.columns,function(t){return t.id==e.column_id});this.valueType=t.type;for(var a=0;a<this._filteredData.length;a++)this.valueType&&Utils.isDateType(this.valueType)&&(this._filteredData[a][0]=Utils.formatValue(this._filteredData[a][0],DashboardUtils.applyFormat(null,this.valueType)));return this._filteredData}return!1}),this._currentUpdateDataWSCall},onTagAdded:function(t){t&&(this.p._tags||(this.p._tags=[]),-1==this.p._tags.indexOf(t)&&(this.p._tags.push([t[0],1<t.length?t[1]:t[0]]),this.setModifiedState()),1<this.p.data_bindings.length?this.selectedvalues=this.p._tags.map(function(t){return t[1]}):this.selectedvalues=this.p._tags.map(function(t){return t[0]}),"last_selected"==this.p.default_selection_type&&(this.p.default_selection_values=this.p._tags),this.updateState(this.p._tags))},onTagRemoved:function(e){var t;e&&(t=Utils.arrayFirst(this.p._tags,function(t){return t[0]==e[0]}),Utils.arrayRemove(this.p._tags,t),1<this.p.data_bindings.length?this.selectedvalues=this.p._tags.map(function(t){return t[1]}):this.selectedvalues=this.p._tags.map(function(t){return t[0]}),"last_selected"==this.p.default_selection_type&&(this.p.default_selection_values=this.p._tags),this.setModifiedState(),this.p._tags.length||(this._rendered=!1,this.render()),this.updateState(this.p._tags))},renderExistingTags:function(){if(this.p._tags)for(var t=0;t<this.p._tags.length;t++){var e=this.p._tags[t];$(".tagsInput",this.ui).tagsinput("add",e)}},clearAndRebuild:function(){this.selectedvalues=[],this.updateState([]),this.p.default_selection_values=[],this._rendered=!1,this.render()},tryUpdate:function(){!this._searchPattern||this._dependencies.length&&!this._dependencies.every(function(t){return t.resolved})||this.update(),this._applyVisibilityFunction&&this._applyVisibilityFunction()},refreshFromDataDependency:function(t,e){var a=!1,i=[];if(!(a=this.p.data_id==t&&"bindings"==this.p.data.mode?!0:a)){if(this.selectedvalues&&this.selectedvalues.length)for(var s=0;s<this.selectedvalues.length;s++)i.push(this.selectedvalues[s]);if(this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var n=0;n<this.p.sort_filter.filters.length;n++){var o=this.p.sort_filter.filters[n];o.state!=Enums.WidgetFilterState.Disabled&&i.push(o.formula)}i.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)})}a&&this.tryUpdate()},getCustomData:function(){return this.p.data.custom},updateService:function(){if("bindings"===this.p.data.mode)return"IN5Data"},updateServiceSuccess:function(t){switch(this.p.data.mode){case"bindings":this._filteredData=t,this.render();break;case"custom":0<this.p.sort_filter.filters.length&&this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),this._rendered=!1,this.render()}},updateSelectedValue:function(){},updatePlaceHolder:function(){this.p.data.placeholder_value?$(".bootstrap-tagsinput input",this.ui).attr("placeholder",this.p.data.placeholder_value):$(".bootstrap-tagsinput input",this.ui).attr("placeholder",_("AutoCompletePlaceholder"))},changeSensitiveness:function(){switch(this.p.search_method){case i:this.p.search_operator=this.p.is_case_sensitive?i:a;break;case s:this.p.search_operator=this.p.is_case_sensitive?s:o;break;case n:this.p.search_operator=this.p.is_case_sensitive?n:r}},renderPropertiesTab:function(t){var e=this,a=t.ui.content,e=(t.addBoolean({label:_("CaseSensitive"),object:this.p,property:"is_case_sensitive",callback:function(){e.changeSensitiveness(),e.tryUpdate.bind(e)}}),t.addDropdown({container:a,label:_("Type"),object:this.p,property:"search_method",id:"search_method",combobox:{dataprovider:[{value:i,label:_("SearchMethodContains")},{value:s,label:_("SearchMethodBeginsWith")},{value:n,label:_("SearchMethodEndsWith")}]},callback:function(){e.changeSensitiveness(),e.showAutocompleteList()}}),a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),custom:_("Custom"),custom_desc:_("CustomDataDesc")})),this);a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.resetSortAndFilters(),e.updateData()})},renderDataTab:function(t){if(this.p.data.mode!=this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"bindings":this.renderDataBindings(t)}this.current_data_mode=this.p.data.mode}t.ui.addClass("propertiesContainer margin_bottom");var e=$(".in_additional_properties",t.ui);0<e.length||(e=$('<div class="properties in_additional_properties"></div>'),t.ui.append(e)),this.renderDefaultSelection(e),this.renderPlaceholderOption(e)},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("DropdownCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:'<td><i class="far fa-bars"></i></td>',cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.render({object:this.p.data,property:"custom",callback:function(){e.resetSortAndFilters(),e.render(),e.updateSelectedValue()},fixed_columns:!0})},renderDataBindings:function(t){var e=this,t=new Settings.Data.Bindings(t);t.area_column_limits.Value=1,t.area_column_limits.Label=1,t.render([{name:_("Label"),placeholder:_("DropLabelColumnHere"),area:"Label",height_ratio:.5},{name:_("Value"),placeholder:_("DropOptionalValueHere"),area:"Value",height_ratio:.5}],{dateGrouping:!1,count:!1}),t.on("bindingCleared",function(){e.resetSortAndFilters()}),t.on("bindingRemoved",function(t){e.resetSortAndFilters(t),e.clearAndRebuild()})},renderPlaceholderOption:function(t){var e=this.render.bind(this),a=$("#in_placeholder_container");0<!a.length&&(a=$('<div id="in_placeholder_container"></div>'),t.append(a)),a.empty(),this.settings.Format.addText({container:a,label:_("Placeholder"),object:this.p.data,property:"placeholder_value",placeholder:_("AutoCompletePlaceholder"),callback:e,event:"focusout"})},renderDefaultSelection:function(t){var e=this,a=$("#in_default_selection_container"),t=(0<!a.length&&(a=$('<div id="in_default_selection_container"></div>'),t.append(a)),a.empty(),[]);t.push({label:_("NoSelection"),value:"none"}),t.push({label:_("LastSelectedItems"),value:"last_selected"}),this.settings.Format.addDropdownDynamic({container:a,label:_("DefaultSelection"),object:this.p,containerClass:"default_selection_container",property:"default_selection_type",id:"default_selection",callback:function(t){e.p.default_selection_type=t.value,e.render()},combobox:{dataprovider:t},dynamicControlRenderer:function(t){this._renderDefaultSelectionDynamicControl(t.value)}.bind(this)}),this._renderDefaultSelectionDynamicControl(this.p.default_selection_type)},_renderDefaultSelectionDynamicControl:function(t){var e=$("#prop_default_selection .dynamic_control");e.empty(),e.hide()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var r=this,t=(this.p.data_bindings,new Settings.SortFilter.Sort(e));t.getSortColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var i=r.p.data_bindings[a],s=r.getColumnFromId(t.columns,i.column_id);s&&e.push({is_used:!0,is_context:s.is_context||!1,icon:DashboardUtils.getIconForColumnType(s.type),label:i.name||s.name,value:"".concat(s.id).concat(i.aggregation||""),column_id:s.id,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}e.push({sep:!0});var n=t.columns.concat(r.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id,is_context:t.is_context||!1}}));o(e)});break;case"custom":var t=[{label:_("Labels"),value:0},{label:_("Values"),value:1}];o(t)}},t.updateDataCallback=function(){e._isDirty=!0},t.render()},renderFilter:function(e){var r=this,i=(this.p.data.mode,this.p.data_id,this.p.data_bindings,this.getColumnFromId.bind(this),new Settings.SortFilter.Filter(e));i.getFilterColumns=function(o){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var i=r.p.data_bindings[a],s=r.getColumnFromId(t.columns,i.column_id);s&&e.push({is_used:!0,is_context:s.is_context||!1,icon:DashboardUtils.getIconForColumnType(s.type),label:i.name||s.name,value:"".concat(s.id).concat(i.aggregation||""),column_id:s.id,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null})}e.push({sep:!0}),(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(r.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,is_context:t.is_context||!1,column_id:t.id}}));o(e)});break;case"custom":var t=r.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});o(t)}return t},i.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().value,i.updateOperatorDropdown(t,a),i.updateDataCallback()},i.getDataCloneId=function(){return r.p.data_id},i.updateDataCallback=function(){r._updateCustomModeData()},i.render()},getColumnsDropdownProvider:function(t){return t.map(function(t){return{label:t.name,value:t.id,data:t,icon:DashboardUtils.getIconForColumnType(t.type)}})},getFormatTabs:function(){var t=[];return t.push({icon:"rectangle-shape.png",text:_("Background"),code:"container",renderer:this.getContainerProperties.bind(this)}),t.push({icon:"font.png",text:_("Text"),code:"text",renderer:this.getTextProperties.bind(this)}),t.push({icon:"tags.png",text:_("Tags"),code:"tags",renderer:this.getTagsProperties.bind(this)}),t},getContainerProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getTextProperties:function(t){t.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),t.addSeparator()},getTagsProperties:function(t){t.addColor({label:_("TagTextColor"),object:this.p.tags,property:"color",callback:this.updateStyle.bind(this),dropDown:!0}),t.addSeparator(),t.addColor({label:_("BackgroundColor"),object:this.p.tags,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.tags,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.tags,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.tags,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},updateData:function(){"bindings"===this.p.data.mode&&this.p.data_bindings.length||this.setSample(),this._rendered=!1,this.render()},injectElementsCSS:function(t){var e={},t=(e[".ui .tagsList li a"]="color: ".concat(this.p.font.color,"!important;                                              font-size: ").concat(this.p.font.size,"px;                                              text-shadow: ").concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";                                              text-decoration: ").concat(this.p.font.underline?"underline":"none",";                                              font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";                                              font-style: ").concat(this.p.font.italic?"italic":"normal",";"),DashboardUtils.parseRGBA(this.p.font.color)),a="color: rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.7,");"),a=(a=(a=(a=(a+="font-size:".concat(this.p.font.size,"px;"))+"text-shadow:".concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5);":"none;"))+"text-decoration:".concat(this.p.font.underline?"underline;":"none;"))+"font-weight:".concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";"))+"font-style: ".concat(this.p.font.italic?"italic;":"normal;");e[".ui .bootstrap-tagsinput input::-webkit-input-placeholder"]=a,e[".ui .bootstrap-tagsinput input:-moz-placeholder"]=a,e[".ui .bootstrap-tagsinput input::-moz-placeholder"]=a,e[".ui .bootstrap-tagsinput input:-ms-input-placeholder"]=a,e[".ui .tagsList li:hover"]="background-color:"+"rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.1,");"),Utils.AppendCSSToPage("#widget_".concat(this.guid),e)},filterValues:function(){var e=this,t=this._filteredData;switch(this.p.search_operator){case i:this._filteredData=t.filter(function(t){return-1!=t[0].indexOf(e._searchPattern)});break;case n:this._filteredData=t.filter(function(t){return t[0].endsWith(e._searchPattern)});break;case s:this._filteredData=t.filter(function(t){return t[0].startsWith(e._searchPattern)});break;case a:this._filteredData=t.filter(function(t){return-1!=t[0].toLowerCase().indexOf(e._searchPattern.toLowerCase())});break;case r:this._filteredData=t.filter(function(t){return t[0].toLowerCase().endsWith(e._searchPattern.toLowerCase())});break;case o:this._filteredData=t.filter(function(t){return t[0].toLowerCase().startsWith(e._searchPattern.toLowerCase())})}},getTagsBackgroundValue:function(){return this.p.tags.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.tags.background_color,DashboardUtils.shadeBlend(null,this.p.tags.background_color)):this.p.tags.background_color}})})}();
//# sourceMappingURL=IN5-multiple-tag-input.js.map

var WidgetIN6={flipSwitchProperties:{heightWidthRatio:.56}};Widget.createType({id:"IN6",options:{height:30,width:50,min_height:30,min_width:50,max_height:60,max_width:100,hasStyleProperty:!0,formula_input:function(t){return["data.enabled.formula","data.disabled.formula"]},formula_output:["value"]},properties:{switch_type:"rounded",enabled:!1,data:{enabled:{formula:"true"},disabled:{formula:"false"}},shape:{enabledbackgroundcolor:"#2eb363",disabledbackgroundcolor:"#D0D0D0",enabledbordercolor:"#248a4d",disabledbordercolor:"#b7b7b7",border:{width:0},enabledbackgroundgradient:!1,disabledbackgroundgradient:!1,shadow:{code:"none"}},flipswitch:{enabledswitchbackgroundcolor:"#FFFFFF",disabledswitchbackgroundcolor:"#FFFFFF",enabledswitchbackgroundcolorgradient:!1,disabledswitchbackgroundcolorgradient:!1,border:{width:0,color:"#cccccc"}},interactions:{onhover:{type:"show_tooltip",tooltip_text:""}}},prototype:{init:function(){this.createProperty("value"),this.initWidget(),this.tryUpdate(),this.bindEvents()},initWidget:function(){this.ui.append('<input type="checkbox" class="IN6-FlipSwitch" cd-flipswitch />'),$(".IN6-FlipSwitch",this.ui).flipSwitch(),this.p.enabled&&($(".IN6-FlipSwitch",this.ui).prop("checked",!0),$(".cd-flipSwitch",this.ui).toggleClass("on",!0))},updateState:function(t,e){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{checked:t,value:e})},resetState:function(t){this.updateFlipswitchDOMAndEvents(t.checked),this.value=t.value},render:function(){this.updateFlipswitchDOMAndEvents(void 0!==this.p._enabled?this.p._enabled:void 0),this.handleTooltipState(),this.updateState($(".IN6-FlipSwitch",this.ui).prop("checked"),this.value),this._loaded=!0},bindEvents:function(){var t=this;this._eventsBound||(this.on(["propertieschanged"],function(){t.render()}.bind(this)),this.on(["height","width"],function(){t.render()}),this.on("dashboardresized",function(){t.render()}),this.on("responsiveresized",function(){setTimeout(function(){t.render()},20)}),this.on("stylechanged",function(){this.render()}.bind(this)),this._eventsBound=!0)},updateTooltipStyle:function(){var t=$(".IN6-FlipSwitch",this.ui),e=null,e=$(t).prop("checked")?this.p.shape.enabledbackgroundcolor:this.p.shape.disabledbackgroundcolor;$(".tooltip",this.container).css({cursor:this.p.interactions.onhover&&this.p.interactions.onhover.type?"pointer":"default"}),$(".tooltip p",this.container).css({color:e})},setFlipSwitchBorderColor:function(t,e){0!=this.p.shape.border.width?$(t,this.ui).css("border",e):$(t,this.ui).css("border","none")},setFlipSwitchStyle:function(t,e,i,a,o){$(t,this.ui).css("background-color",a),$(t,this.ui).css("background",i?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(a,DashboardUtils.shadeBlend(null,a)):a),$(t,this.ui).css("box-shadow",this.getShadowCssFromShadowConfiguration(o))},setFlipSwitchGrabStyle:function(t,e,i,a){$(t,this.ui).css("margin-left",a),$(t,this.ui).css("background",e?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(i,DashboardUtils.shadeBlend(null,i)):i)},updateFlipswitchDOMAndEvents:function(t){var i=this,e=(t=void 0!==t?t:this.p.enabled,$(".IN6-FlipSwitch",this.ui).prop("checked",t),$(".cd-flipSwitch",this.ui).toggleClass("on",t),$(this.ui).closest(".widget.IN6").outerWidth()),a=$(this.ui).closest(".widget.IN6").outerHeight(),o=null,r=null,d=$(".cd-flipSwitch",this.ui),s=$(".cd-flipSwitch .grab",this.ui),c=$(".IN6-FlipSwitch",this.ui),l=((t=t||$(c).prop("checked"))?this.setFlipSwitchBorderColor(".cd-flipSwitch.on","solid ".concat(i.p.shape.enabledbordercolor," ").concat(i.p.shape.border.width,"px")):this.setFlipSwitchBorderColor(".cd-flipSwitch","solid ".concat(i.p.shape.disabledbordercolor," ").concat(i.p.shape.border.width,"px")),r=a/e<WidgetIN6.flipSwitchProperties.heightWidthRatio?(o=a/WidgetIN6.flipSwitchProperties.heightWidthRatio,a):(o=e)*WidgetIN6.flipSwitchProperties.heightWidthRatio,d.css("width",o),d.css("height",r),d.css("padding-top",r*(3/28)),d.css("padding-bottom",r*(3/28)),d.css("padding-left",.06*o),d.css("padding-right",.06*o),d.css("margin-top",(a-r)/2),d.css("margin-bottom",(a-r)/2),s.css("width",d.height()),s.css("height",d.height()),s.css("border","solid ".concat(i.p.flipswitch.border.color," ").concat(i.p.flipswitch.border.width,"px")),.44*o);"rounded"==this.p.switch_type?(d.css("border-radius",a/2),s.css("border-radius",.714*r)):"square"==this.p.switch_type&&(d.css("border-radius",0),s.css("border-radius",0)),t?(this.setFlipSwitchStyle(".cd-flipSwitch.on",".cd-flipSwitch.on .grab",i.p.shape.enabledbackgroundgradient,i.p.shape.enabledbackgroundcolor,i.p.shape.shadow),s.css("background",i.p.flipswitch.enabledswitchbackgroundcolorgradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(i.p.flipswitch.enabledswitchbackgroundcolor,DashboardUtils.shadeBlend(null,i.p.flipswitch.enabledswitchbackgroundcolor)):i.p.flipswitch.enabledswitchbackgroundcolor),i.setFlipSwitchGrabStyle(".cd-flipSwitch .grab",i.p.flipswitch.enabledswitchbackgroundcolorgradient,i.p.flipswitch.enabledswitchbackgroundcolor,l)):(this.setFlipSwitchStyle(".cd-flipSwitch",".cd-flipSwitch .grab",i.p.shape.disabledbackgroundgradient,i.p.shape.disabledbackgroundcolor,i.p.shape.shadow),s.css("background",i.p.flipswitch.disabledswitchbackgroundcolorgradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(i.p.flipswitch.enabledswitchbackgroundcolor,DashboardUtils.shadeBlend(null,i.p.flipswitch.enabledswitchbackgroundcolor)):i.p.flipswitch.enabledswitchbackgroundcolor),i.setFlipSwitchGrabStyle(".cd-flipSwitch .grab",i.p.flipswitch.disabledswitchbackgroundcolorgradient,i.p.flipswitch.disabledswitchbackgroundcolor,0)),$(c).off(),$(c).on("change",function(){var t=$(this),e=t.prop("checked");t.closest(".cd-flipSwitch").toggleClass("on",e),e?(i.setFlipSwitchStyle(".cd-flipSwitch.on",".cd-flipSwitch.on .grab",i.p.shape.enabledbackgroundgradient,i.p.shape.enabledbackgroundcolor,i.p.shape.shadow),i.setFlipSwitchBorderColor(".cd-flipSwitch.on","solid ".concat(i.p.shape.enabledbordercolor," ").concat(i.p.shape.border.width,"px")),i.setFlipSwitchGrabStyle(".cd-flipSwitch .grab",i.p.flipswitch.enabledswitchbackgroundcolorgradient,i.p.flipswitch.enabledswitchbackgroundcolor,l),i.p._enabled=!0,i.value=i.p.data.enabled.formula_result):(i.setFlipSwitchStyle(".cd-flipSwitch",".cd-flipSwitch .grab",i.p.shape.disabledbackgroundgradient,i.p.shape.disabledbackgroundcolor,i.p.shape.shadow),i.setFlipSwitchBorderColor(".cd-flipSwitch","solid ".concat(i.p.shape.disabledbordercolor," ").concat(i.p.shape.border.width,"px")),i.setFlipSwitchGrabStyle(".cd-flipSwitch .grab",i.p.flipswitch.disabledswitchbackgroundcolorgradient,i.p.flipswitch.disabledswitchbackgroundcolor,0),i.p._enabled=!1,i.value=i.p.data.disabled.formula_result),i.p.interactions.onhover&&"show_tooltip"==i.p.interactions.onhover.type&&""!=i.p.interactions.onhover.tooltip_text&&(i.updateTooltipText(),i.updateTooltipStyle()),i.setModifiedState(),i.settings&&i.renderDataTab(i.settings.Data),i.updateState(e,i.value)})},renderPropertiesTab:function(t){var e=this,i=t.ui.content;t.addLargeDropdown({container:i,label:_("Type"),dataprovider:[{label:_("Rounded"),value:"rounded",image:"/Dashboard/Images/WidgetProperties/input-switch-rounded.png"},{label:_("Square"),value:"square",image:"/Dashboard/Images/WidgetProperties/input-switch-square.png"}],object:this.p,property:"switch_type",callback:function(){e.render()}})},renderDataTab:function(t){t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.renderDataFormula(t)},renderDataFormula:function(t){var e=this,t=t.ui,i=this.render.bind(this);t.append($("<header>").text(_("EnterEnabledDisabledValue"))),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("EnabledValue"),object:this.p.data.enabled,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("DisabledValue"),object:this.p.data.disabled,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addBoolean({container:t,label:_("DefaultState"),object:this.p,property:"enabled",callback:i})},updateService:function(){return"Formulas"},updateServiceError:function(t){this.p.data.enabled.formula_result=null,this.p.data.disabled.formula_result=null,this.value=null,this._loaded=!1},updateServiceSuccess:function(t){var e=$(".IN6-FlipSwitch",this.ui);this.p.data.enabled.formula_result=t[0].value,this.p.data.disabled.formula_result=t[1].value,e.prop("checked")?this.value=this.p.data.enabled.formula_result:this.value=this.p.data.disabled.formula_result,this.render()},refreshFromDataDependency:function(t,e){var i=!1,a=[];a.push(this.p.data.enabled.formula),a.push(this.p.data.disabled.formula),a.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(i=!0)}),i&&this.tryUpdate()},getFormatTabs:function(){var t=[];return t.push({icon:"input-switch-shape.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"input-switch-switch.png",text:_("Switch"),code:"switch",renderer:this.getSwitchProperties.bind(this)}),t},getShapeProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.shape,label:_("enabledbackgroundcolorLabel"),property_color:"enabledbackgroundcolor",property_gradient:"enabledbackgroundgradient",callback:e}),t.addSeparator(),t.addBackgroundColor({object:this.p.shape,label:_("disabledbackgroundcolorLabel"),property_color:"disabledbackgroundcolor",property_gradient:"disabledbackgroundgradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:e,color:[{label:_("EnabledBorderColor"),object:this.p.shape,property:"enabledbordercolor",callback:e,treatTransparentAsNull:!0},{label:_("DisabledBorderColor"),object:this.p.shape,property:"disabledbordercolor",callback:e,treatTransparentAsNull:!0}]}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:e}),t.addSeparator()},getSwitchProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.flipswitch,label:_("disabledswitchbackgroundcolorLabel"),property_color:"disabledswitchbackgroundcolor",property_gradient:"disabledswitchbackgroundcolorgradient",callback:e}),t.addSeparator(),t.addBackgroundColor({object:this.p.flipswitch,label:_("enabledswitchbackgroundcolorLabel"),property_color:"enabledswitchbackgroundcolor",property_gradient:"enabledswitchbackgroundcolorgradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.flipswitch,property:"border",callback:e}),t.addSeparator()},renderInteractionsTab:function(t){var e=this.render.bind(this);t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:e,items:[{type:null},DashboardUtils.ShowTooltipParameters(e)]})}}});
//# sourceMappingURL=IN6-input-switch.js.map

var DEFAULT_BUTTON_CONFIG={icon:{display_icon:!0,id:"anr",placement:"right",size:12},shape:{background_color:"#ffffff",background_gradient:!1,border:{width:0,color:"#bfbfbf"},roundness:2,shadow:{code:"light",opacity:.3,radius:5}},label:{autofit:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,halign:"center",color:"#3e4e5b"}}},WidgetIN7={DataTab_Template:'<header class="nomargin">'.concat(_("IN7_TabHeader"),'</header>\n                      <div class="addNew">\n                          <button type="button" class= "btn btn-default btn-grey addButton" >').concat(_("IN7_AddButton"),'</button>\n                      </div>\n                      <div class="in7_buttons">\n                          <div class="in7_sortable_list_container"></div>\n                      </div>'),DataTab_DefaultSelection_Template:"<label>".concat(_("IN7_SelectedBydefault"),'</label>\n                                        <select class="defaultOptionSelector"></select>')};Widget.createType({id:"IN7",options:{min_width:120,width:220,min_height:40,height:130,formula_input:["buttons.formula","default_selection_formula"],formula_output:["selectedvalue","selectedvalues","selectedlabel","selectedlabels"],hasStyleProperty:!0,layer:!0},properties:{style:"",layout:{spacing:10,type:"vertical",padding_top:10,padding_bottom:10,padding_left:10,padding_right:10},all_buttons:{regular_state:DEFAULT_BUTTON_CONFIG,selected_state:DEFAULT_BUTTON_CONFIG},buttons:[],allow_multiple_selection:!1,allow_no_selection:!0,default_selection_type:"none",default_selection_formula:null,default_selection:[],interactions:{onclick:null,onhover:null}},prototype:{updateService:"Formulas",updateServiceSuccess:function(t){for(var e=0;e<this.p.buttons.length;e++)this.p.buttons[e].formula_result=t[e].value;this.render()},updateServiceError:function(){this.resetSelectedOutput()},refreshFromDataDependency:function(t,e){var a=!1,n=[];if(!a){if(this.p.buttons&&this.p.buttons.length)for(var l=0;l<this.p.buttons.length;l++)n.push(this.p.buttons[l].formula);n.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)})}a&&this.tryUpdate()},init:function(){this._selectedOptions=[],this.bindEvents(),this.tryUpdate()},reRender:function(){this._rendered=!1,this.render()},render:function(){var t=this;if(!this._rendered){this._rendered=!0,this.ui.empty();for(var e=0;e<this.p.buttons.length;e++)this.ui.append('<div class="in7_button"></div>');this.tryUpdate()}function a(){t.updateDOM(),t.verifySelectionOptions(),t.updateState(),t._loaded=!0}this.getAndApplyWidgetSelection(function(){t.setDefaultSelection(a)})},setDefaultSelection:function(a){var n=this;switch(this.p.default_selection_type||(0<this.p.default_selection.length?this.p.default_selection_type="specific":this.p.default_selection_type="none"),this.p.default_selection_type){case"none":this.p.default_selection=[],a&&a();break;case"first":var t=0!==this.p.buttons.length&&this.p.buttons[0]||null;this.p.default_selection=[t.guid],a&&a();break;case"specific":a&&a();break;case"formula":FormulaUtils.evaluateFormula({formula:this.p.default_selection_formula,widget:this,sucessCallback:function(e){var t=Utils.arrayFirst(n.p.buttons,function(t){return t.formula_result===e});n.p.default_selection=t?[t.guid]:[],n._selectedOptions=[],a&&a()},errorCallback:function(){}})}},changeButtonState:function(t,e){var a=e?"selected":"regular",n=$('<div class="in7_button"></div>').toggleClass("selected_state",e),l=t.index();this.updateSelectedOptions(l,e),t.replaceWith(n),this.renderSingleButtonDOM(l,a,n)},updateSelectedOptions:function(t,e){var a=this.p.buttons[t].guid;e?this._selectedOptions.push(a):Utils.arrayRemove(this._selectedOptions,function(t){return t===a})},verifySelectionOptions:function(){var t,e=this,a=$(".in7_button.selected_state",this.ui);!this.p.allow_multiple_selection&&1<a.length&&(t=$(a[0]).index(),$(".in7_button.selected_state",e.ui).each(function(){t!==$(this).index()&&($(this).removeClass("selected_state"),e.changeButtonState($(this),!1))})),this.p.allow_no_selection||0!==a.length||((a=$(".in7_button:first-child",this.ui)).addClass("selected_state"),e.changeButtonState(a,!0)),this.updateOutputProperties()},bindStateChange:function(){var a=this;this.ui.on("click",".in7_button",function(){var t=$(this),e=$(".in7_button.selected_state",a.ui);a.p.allow_multiple_selection||$(".in7_button.selected_state",a.ui).each(function(){t.index()!==$(this).index()&&($(this).removeClass("selected_state"),a.changeButtonState($(this),!1))}),!a.p.allow_no_selection&&1===e.length&&t.index()===$(e[0]).index()||(t.toggleClass("selected_state"),a.changeButtonState(t,t.hasClass("selected_state"))),a.updateOutputProperties()}),this.createOutputProperties()},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedvalues"),this.createProperty("selectedlabel"),this.createProperty("selectedlabels"),"none"===this.p.default_selection_type&&this.resetSelectedOutput()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedvalues:this.selectedvalues,selectedlabel:this.selectedlabel,selectedlabels:this.selectedlabels,selectedOptions:$.extend([],this._selectedOptions)})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedvalues=t.selectedvalues,this.selectedlabel=t.selectedlabel,this.selectedlabels=t.selectedlabels,t.selectedOptions&&(this._selectedOptions=$.extend([],t.selectedOptions),this.updateDOM())},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedvalues=[],this.selectedlabel=null,this.selectedlabels=[]},updateOutputProperties:function(){var e=this,a=[],n=[],t=null,l=null;$(".in7_button.selected_state",this.ui).each(function(){var t=e.p.buttons[$(this).index()];a.push(t.selected_state.label.text),n.push(t.formula_result)}),(this.selectedlabels=a).length&&(t=a[0]),(this.selectedvalues=n).length&&(l=n[0]),this.selectedlabel=t,this.selectedvalue=l,this.updateState()},destroy:function(){this._rendered=!1},bindEvents:function(){var e=this;if(!this._eventsBound){if(this.on("stylechanged",function(){for(var t=0;t<e.p.buttons.length;t++)e.p.buttons[t].regular_state=$.extend(!0,{},e.p.buttons[t].regular_state,this.p.all_buttons.regular_state,{label:{text:e.p.buttons[t].regular_state.label.text}}),e.p.buttons[t].selected_state=$.extend(!0,{},e.p.buttons[t].selected_state,this.p.all_buttons.selected_state,{label:{text:e.p.buttons[t].selected_state.label.text}});e.updateDOM()}),this.on("propertieschanged",function(){e.reRender()}),this.on(["height","width"],function(){}),this.hasBeenDrop&&!this.p.buttons.length){for(var t=0;t<3;t++){var a={label:_("IN7_ButtonName").format(t+1),formula:"0",guid:Utils.newGuid(),regular_state:$.extend(!0,{},this.p.all_buttons.regular_state),selected_state:$.extend(!0,{},this.p.all_buttons.selected_state)};a.regular_state.label.text=_("IN7_ButtonName").format(t+1),a.selected_state.label.text=_("IN7_ButtonName").format(t+1),this.p.buttons.push(a)}window.editor.openWidgetSettings()}this._eventsBound=!0}this.bindStateChange()},updateDOM:function(){var t=$(".in7_button",this.ui);this.ui.css({"padding-top":"{0}px".format(this.p.layout.padding_top),"padding-bottom":"{0}px".format(this.p.layout.padding_bottom),"padding-left":"{0}px".format(this.p.layout.padding_left),"padding-right":"{0}px".format(this.p.layout.padding_right)});for(var e=0;e<t.length;e++){var a=$(t[e]),n=this._selectedOptions.length?-1!==this._selectedOptions.indexOf(this.p.buttons[e].guid):-1!==this.p.default_selection.indexOf(this.p.buttons[e].guid);a.toggleClass("selected_state",n),this.renderSingleButtonDOM(e,n?"selected":"regular",a)}if(!this._selectedOptions.length){this._selectedOptions.push(0);for(var l=0;l<this.p.default_selection.length;l++)this._selectedOptions.push(this.p.default_selection[l])}this.handleTooltipState()},renderSingleButtonDOM:function(t,e,a){var n=this,l=(this.p.buttons.length-1)*this.p.layout.spacing/this.p.buttons.length,o="horizontal"===this.p.layout.type?"calc({0}% - {1}px)".format(100/this.p.buttons.length,l):"100%",l="vertical"===this.p.layout.type?"calc({0}% - {1}px)".format(100/this.p.buttons.length,l):"100%",i=(this.ui.removeClass("vertical horizontal"),this.ui.addClass(this.p.layout.type||"vertical"),this.p.buttons[t]),s="regular"===e?i.regular_state:i.selected_state,e=(a.empty(),{height:l,width:o,background:s.shape.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(s.shape.background_color,DashboardUtils.shadeBlend(null,s.shape.background_color)):s.shape.background_color,"border-width":"".concat(s.shape.border.width,"px"),"border-radius":"".concat(s.shape.roundness?s.shape.border.width+s.shape.roundness:0,"px"),"border-color":s.shape.border.color,"border-style":"solid","box-shadow":this.getShadowCssFromShadowConfiguration(s.shape.shadow)}),l=(t!==this.p.buttons.length-1&&(0<this.p.layout.spacing||("vertical"===this.p.layout.type?e["border-bottom"]="none":e["border-right"]="none"),"vertical"===this.p.layout.type?e["margin-bottom"]="{0}px".format(this.p.layout.spacing):e["margin-right"]="{0}px".format(this.p.layout.spacing)),a.css(e),a.removeClass("flex-halign-left flex-halign-center flex-halign-right"),a.addClass("flex-halign-".concat(s.label.font.halign)),$("<span></span>"));a.append(l),l.text(s.label.text),l.css({"font-family":s.label.font.family,"line-height":"".concat(s.label.font.size,"px"),"text-shadow":s.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":s.label.font.underline?"underline":"none",color:s.label.font.color,"font-weight":Utils.FontUtils.getFontWeight(s.label.font.family,s.label.font.font_weight),"font-style":s.label.font.italic?"italic":"normal"}),s.icon.display_icon&&(o=function(){var t=DashboardUtils.WidgetIcons.getSymbolFromCode(s.icon.id,"fa-angle-right"),t=($("i",a).remove(),$("<i class='{0}'></i>".format(t)));"right"===s.icon.placement?a.append(t):a.prepend(t),this.updateStyle(a,s)}.bind(this),this.loadWidgetIcons(o)),Utils.FontUtils.loadFont(s.label.font.family,function(){n.updateFontSize(a,i,s)})},updateFontSize:function(t,e,a){$(t.find("span")).css("font-size",this.getFontSize(t,e,a))},updateStyle:function(t,e){var a=e.icon.size||18;$("i",t).css({"font-size":a,color:e.label.font.color,"margin-left":4,"margin-right":4})},renderPropertiesTab:function(t){var e=t.ui.content;t.settings.Format.addBoolean({container:e,label:_("MultipleSelection"),object:this.p,property:"allow_multiple_selection",callback:this.verifySelectionOptions.bind(this)}),t.settings.Format.addBoolean({container:e,label:_("AllowNoSelection"),object:this.p,property:"allow_no_selection",callback:this.verifySelectionOptions.bind(this)})},renderDataTab:function(n){var l=this;this.eventBounds=!1,n.loaded||(n.ui.append(WidgetIN7.DataTab_Template),n.ui.addClass("in7 propertiesContainer"),this.sortableList=new SortableList({container:$(".in7_sortable_list_container",n.ui),object:this.p,property:"buttons",onSortCallback:this.updateDOM.bind(this),onDeleteCallback:this.reRender.bind(this),columns:[{name:_("Label"),width:"250",classes:"button_name",cellFormat:function(e,t){var a=$("<input type='text'>");t.append(a),a.val(e.label),a.on("change",function(){var t=$(this).val();e.label=t,e.regular_state.label.text=t,e.selected_state.label.text=t,l.rebuildDefaultSelectionDropdown(n.ui),l.reRender()})}},{name:_("Visualization_value"),width:"auto",classes:"button_value",cellFormat:function(t,e){l.settings.Format.addFormulaInput({container:e,widget:l,customTemplate:$("#template_properties_formula_no_label").html(),dashboard:l.settings._original_widget.dashboard,object:t,property:"formula",callback:function(){l.settings.Data._isDirty=!0,l.tryUpdate()}})}}]}),n.ui.on("click",".addButton",function(){var t={label:l.getNameLabel(),formula:"0",guid:Utils.newGuid(),regular_state:$.extend(!0,{},l.p.all_buttons.regular_state),selected_state:$.extend(!0,{},l.p.all_buttons.selected_state)};l.sortableList.addNewObject(t),l.p.buttons[l.p.buttons.length-1].regular_state.label.text=l.p.buttons[l.p.buttons.length-1].label,l.p.buttons[l.p.buttons.length-1].selected_state.label.text=l.p.buttons[l.p.buttons.length-1].label,l.renderDefaultSelection(n.ui),l.reRender()}),n.loaded=!0),this.renderDefaultSelection(n.ui)},getNameLabel:function(){return _("IN7_ButtonName").format(this.p.buttons.length+1)},renderDefaultSelection:function(t){var e=this,a=$(".additionnalControls",t),t=(0<!a.length&&(a=$('<div class="additionnalControls"></div>'),t.append(a)),a.empty(),[]);this.p.allow_no_selection&&t.push({label:_("NoSelection"),value:"none"}),t.push({label:_("FirstItem"),value:"first"}),t.push({label:_("SpecificItems"),value:"specific"}),t.push({label:_("Formula"),value:"formula"}),this.settings.Format.addDropdownDynamic({container:a,label:_("DefaultSelection"),object:this.p,containerClass:"default_selection_container",property:"default_selection_type",id:"default_selection",callback:function(t){e.p.default_selection_type=t.value,e._selectedOptions=[],e.reRender()},combobox:{dataprovider:t},dynamicControlRenderer:function(t){this._renderDefaultSelectionDynamicControl(t.value)}.bind(this)}),this._renderDefaultSelectionDynamicControl(this.p.default_selection_type)},_renderDefaultSelectionDynamicControl:function(t){var e=$("#prop_default_selection .dynamic_control");switch(e.empty(),t){case"specific":e.show(),this.rebuildDefaultSelectionDropdown();break;case"formula":this.rebuildDefaultSelectionFormula(e),e.show();break;default:e.hide()}},rebuildDefaultSelectionFormula:function(t){var e=this;this.settings.Format.addFormulaInput({container:t,widget:this,dashboard:this.settings._original_widget.dashboard,label:_("DefaultSelection"),object:this.p,dropup:!0,grid:!0,property:"default_selection_formula",callback:function(){e.tryUpdate()}})},rebuildDefaultSelectionDropdown:function(t){var e=this,a=($("#prop_default_selection .dynamic_control").append($('<select id="default_selection_dropdown"></select>')),this.p.buttons.map(function(t){return{label:t.label,value:t.guid}}));this.p.allow_multiple_selection?$("#default_selection_dropdown").attr("multiple","multiple"):a.unshift({value:null,label:_("LabelNone")}),$("#default_selection_dropdown",t).comboBox({nSelectedText:_("NItemsSelected"),onChange:function(){var t=e.p.allow_multiple_selection?this.getSelectedLabelsAndValues().values:this.getValue();e.p.default_selection=void 0!==t?e.p.allow_multiple_selection?t:[t]:[],e._selectedOptions=[],e.updateDOM()}}),$("#default_selection_dropdown",t).comboBox("dataprovider",a),$("#default_selection_dropdown",t).comboBox("select",this.p.default_selection)},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"font.png",text:_("Label"),code:"label",renderer:this.getLabelProperties.bind(this)}),t.push({icon:"button-icon.png",text:_("Icon"),code:"icon",renderer:this.getIconProperties.bind(this)}),t.push({icon:"button-group.png",text:_("Layout"),code:"layout",renderer:this.getLayoutProperties.bind(this)}),t},getButtonsDropdownItems:function(){var t=this.p.buttons.map(function(t){return{label:t.label,value:t.guid}});return t.unshift({value:null,label:_("AllButtons")}),t},getShapeProperties:function(l){function t(e){i.empty();var t=o.p.all_buttons,a=o.updateDOM.bind(o),n=(e&&e.value?t=Utils.arrayFirst(o.p.buttons,function(t){return t.guid===e.value}):a=o.updateAllButtonsProperties.bind(o),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_RegularStateLabel"))),l.addSection().appendTo(i)),n=(o.renderStateShapeProperties(l,t,"regular_state",n,a),l.addSeparator({container:i}),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_SelectedStateLabel"))),l.addSection().appendTo(i));o.renderStateShapeProperties(l,t,"selected_state",n,a),l.addSeparator({container:i})}var o=this,e=this.getButtonsDropdownItems(),i=(l.ui.content.addClass("in7"),l.addDropdown({label:_("ButtonsDropdownLabel"),object:{button:null},property:"serie",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),l.addSeparator(),l.addSection().appendTo(l.ui.content));t({value:null})},renderStateShapeProperties:function(t,e,a,n,l){e=e[a].shape;t.addColor({container:n,dropDown:!0,label:_("BackgroundColor"),object:e,property:"background_color",callback:function(){l("shape",a,"background_color")}}),t.addBoolean({container:n,label:_("Gradient"),object:e,property:"background_gradient",callback:function(){l("shape",a,"background_gradient")}}),t.addSeparator({container:n}),t.addBorder({container:n,object:e,property:"border",callback:function(){l("shape",a,"border")}}),t.addSeparator({container:n}),t.addSlider({container:n,label:_("RoundedCorners"),object:e,property:"roundness",callback:function(){l("shape",a,"roundness")},interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:n}),t.addShadow({container:n,object:e,property:"shadow",callback:function(){l("shape",a,"shadow")}})},getLabelProperties:function(l){function t(e){i.empty();var t=o.p.all_buttons,a=o.updateDOM.bind(o),n=(e&&e.value?t=Utils.arrayFirst(o.p.buttons,function(t){return t.guid===e.value}):a=o.updateAllButtonsProperties.bind(o),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_RegularStateLabel"))),l.addSection().appendTo(i)),n=(o.renderStateLabelProperties(l,t,"regular_state",n,a,!!e.value),l.addSeparator({container:i}),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_SelectedStateLabel"))),l.addSection().appendTo(i));o.renderStateLabelProperties(l,t,"selected_state",n,a,!!e.value),l.addSeparator({container:i})}var o=this,e=this.getButtonsDropdownItems(),i=(l.ui.content.addClass("in7"),l.addDropdown({label:_("ButtonsDropdownLabel"),object:{button:null},property:"serie",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),l.addSeparator(),l.addSection().appendTo(l.ui.content));t({value:null})},renderStateLabelProperties:function(t,e,a,n,l,o){e=e[a].label;o&&t.addText({container:n,label:_("Label"),object:e,property:"text",callback:function(){l("label",a,"text")}}),t.addFont({object:e,container:n,property:"font",autofit_property:"autofit",autofit_callback:function(){l("label",a,"autofit")},callback:function(){l("label",a,"font")},dropDown:!0})},getIconProperties:function(l){function t(e){i.empty();var t=o.p.all_buttons,a=o.updateDOM.bind(o),n=(e&&e.value?t=Utils.arrayFirst(o.p.buttons,function(t){return t.guid===e.value}):a=o.updateAllButtonsProperties.bind(o),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_RegularStateLabel"))),l.addSection().appendTo(i)),n=(o.renderStateIconProperties(l,t,"regular_state",n,a),l.addSeparator({container:i}),i.append('<div class="property_text"><span class="label ">{0}</span></div>'.format(_("IN7_SelectedStateLabel"))),l.addSection().appendTo(i));o.renderStateIconProperties(l,t,"selected_state",n,a),l.addSeparator({container:i})}var o=this,e=this.getButtonsDropdownItems(),i=(l.ui.content.addClass("in7"),l.addDropdown({label:_("ButtonsDropdownLabel"),object:{button:null},property:"serie",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:e}}),l.addSeparator(),l.addSection().appendTo(l.ui.content));t({value:null})},renderStateIconProperties:function(t,e,a,n,l){var e=e[a].icon,o=t.addSection();t.addBoolean({container:n,section:o,label:_("DisplayIcon"),object:e,property:"display_icon",callback:function(){l("icon",a,"display_icon")}}),t.addGlobalIconSelector({container:o,label:_("Icon"),object:e,property:"id",callback:function(){l("icon",a,"id")},widget:this}),t.addToggleButtons({container:o,label:_("IconPlacement"),object:e,property:"placement",numeric:!1,callback:function(){l("icon",a,"placement")},buttons:[{image:"button-placement-left.png",value:"left"},{image:"button-placement-right.png",value:"right"}]})},getLayoutProperties:function(t){var e=this.updateDOM.bind(this);t.addDropdown({label:_("Type"),object:this.p.layout,property:"type",id:"type",combobox:{dataprovider:[{value:"horizontal",label:_("Horizontal")},{value:"vertical",label:_("Vertical")}],appendToBody:!0},callback:e}),t.addSeparator(),t.addNumber({label:_("Spacing"),object:this.p.layout,property:"spacing",callback:e,min:0,max:20}),t.addSeparator(),t.addNumber({label:_("PaddingTop"),object:this.p.layout,property:"padding_top",callback:e,min:0,max:20}),t.addNumber({label:_("PaddingBottom"),object:this.p.layout,property:"padding_bottom",callback:e,min:0,max:20}),t.addNumber({label:_("PaddingLeft"),object:this.p.layout,property:"padding_left",callback:e,min:0,max:20}),t.addNumber({label:_("PaddingRight"),object:this.p.layout,property:"padding_right",callback:e,min:0,max:20}),t.addSeparator()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},updateAllButtonsProperties:function(t,e,a){for(var n=0;n<this.p.buttons.length;n++)this.p.buttons[n][e][t][a]=this.p.all_buttons[e][t][a];this.updateDOM()},getFontSize:function(t,e,a){var n,l,o,e=a.label.text||e.label;return a.label.autofit?(n=(e=$("<div>").text(e).css({position:"absolute",visibility:"hidden","font-family":a.label.font.family,"font-size":"".concat(10,"px"),"font-weight":Utils.FontUtils.getFontWeight(a.label.font.family,a.label.font.font_weight),"font-style":a.label.font.italic?"italic":"normal","text-shadow":a.label.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.label.font.underline?"underline":"none"}).appendTo("body")).outerWidth(),l=e.outerHeight(),o=t.outerWidth()-30,t=t.outerHeight(),o=10*Math.min(o/n,t/l),e.remove(),"".concat(o-2*a.shape.border.width-(this.class.options.autofitSizeDelta||0),"px")):"".concat(a.label.font.size,"px")},applyStyleToTargetWidget:function(t){this.p.all_buttons=Utils.deepMerge(this.p.all_buttons,{regular_state:{icon:this.p.all_buttons.regular_state.icon,label:{autofit:this.p.all_buttons.regular_state.label.autofit,font:t.all_buttons.regular_state.label.font,text:this.p.all_buttons.regular_state.label.text},shape:this.p.all_buttons.regular_state.shape},selected_state:{icon:this.p.all_buttons.selected_state.icon,label:{autofit:this.p.all_buttons.selected_state.label.autofit,font:t.all_buttons.selected_state.label.font,text:this.p.all_buttons.selected_state.label.text},shape:t.all_buttons.selected_state.shape}}),this.copyObjOnArray(t.buttons,this.p.buttons,["regular_state","selected_state"],["icon","label"])}}});
//# sourceMappingURL=IN7-group-button.js.map

function _createForOfIteratorHelper(t,e){var i,n,a,o,l="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(l)return n=!(i=!0),{s:function(){l=l.call(t)},n:function(){var t=l.next();return i=t.done,t},e:function(t){n=!0,a=t},f:function(){try{i||null==l.return||l.return()}finally{if(n)throw a}}};if(Array.isArray(t)||(l=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return l&&(t=l),o=0,{s:e=function(){},n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var i;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(i="Object"===(i=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:i)||"Set"===i?Array.from(t):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function _defineProperties(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function _createClass(t,e,i){return e&&_defineProperties(t.prototype,e),i&&_defineProperties(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var WIDGET_IN8={Orientation:{Vertical:"vertical",Horizontal:"horizontal"},Markups:{ListItem:'<li data-label="{2}" data-value="{4}" original-index="{5}" class="{6}">                    <label title="{2}">                        <input type="{0}" name="{1}" {7} class="hidden" />                        <div>                            <i class="far checkboxIcon {3}"></i>                            <span>{2}</span>                        </div>                    </label >                </li>',ListContainer:'<div class="viewportcontainer">                            <div class="viewport vp_{1}">                                <ul class="list li_{1}"></ul>                            </div>                        </div>'},ControlType:{List:"LI3"},DefaultFilterProperties:{filter_type:null,pane:{margin_top:8,margin_bottom:8,margin_left:8,margin_right:8},title:{enabled:!0,display_title:!0,display_row_count:!1,title:"",title_formula:"",title_type:"text",font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"#000000"}},separator:{enabled:!1,height:2,background:{color:"rgba(0,0,0,0)",gradient:!1}},list:{height:200,width:null,search_enabled:!1,allow_multiple_selection:!1,move_selected_to_top:!1,display_checkboxes:!0,all_option_enabled:!0,all_option_label:null,none_option_label:null,none_option_enabled:!0,default_selection_type:"none",default_selection_formula:"",specific_selection_values:[],background:{color:"rgba(0,0,0,0)",gradient:!1},border:{width:0,color:"#000000"},roundness:2,shadow:{code:"light",radius:5,opacity:.3},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"#000000"},format:null}}};Widget.createType({id:"IN8",options:{min_width:120,width:200,min_height:100,height:400,formula_input:["buttons.formula","sort_filter.filters.formula","filters_custom.config.title.title_formula","filters_custom.config.list.default_selection_formula"],formula_output:["filterscount"],filters_output:[{filter_type:WIDGET_IN8.ControlType.List,outputs:["count","selectedcount","selectedlabel","selectedlabels","selectedvalue","selectedvalues"]}],hasStyleProperty:!0,layer:!0},properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings"},panel:{background_color:"rgba(255,255,255,1)",gradient:!1,border:{width:0,color:"rgba(0,0,0,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},header:{enabled:!0,enable_reset_button:!0,background:{color:"rgba(242,242,242,1)",gradient:!1},border:{width:1,color:"rgba(191,191,191,1)"},titles:{title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,halign:"left",color:"#000000"},text:_("Filters")},subtitle:{font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,halign:"left",color:"#000000"},text:_("SelectBelow")}}},sort_filter:{sorts:[],filters:[]},filters_custom:[],orientation:WIDGET_IN8.Orientation.Vertical},prototype:{canUpdateData:function(){return 0<this.getBindings(Enums.WidgetAreas.Filters).length},getBindings:function(e,t){var i;return e?(i=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?i[t]:i):this.p.data_bindings},updateService:"IN8Data",updateServiceError:function(){this._loaded=!1},updateServiceSuccess:function(t){this._Data=t,this.render()},getDataToSendForUpdate:function(){var t=null;if(!Utils.isObjectEmpty(this._selections))for(var e in t=[],this._selections)t.push({all_selected:this._selections[e].all_selected,binding_guid:e,items:this._selections[e].items.map(function(t){return null!=t?t.replace("&quot;",'"'):t})});var i=this.widgetDataToSendForUpdate();return{BinderRecId:i.BinderRecId,DashboardRecId:i.DashboardRecId,Dependencies:i.Dependencies,FilterDependencies:i.FilterDependencies,FormulasDependencies:i.FormulasDependencies,ParametersDependencies:i.ParametersDependencies,Selections:t,Widget:this.model}},refreshFromDataDependency:function(t,e){var i=!1,n=[];if(!i){if(this.p.buttons&&this.p.buttons.length)for(var a=0;a<this.p.buttons.length;a++)n.push(this.p.buttons[a].formula);n.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(i=!0)})}i&&this.tryUpdate()},init:function(){this._selections={},this._scrollpositionsTop={},this._clusterHeights={},this._selectionsspecific={},this._dataspecific={},this._specificclusters={},this._searches={},this.createOutputProperties(),this.appendDOM(),this.bindEvents(),this.getAndApplyWidgetSelection(),this.tryUpdate()},setSample:function(){this.render()},render:function(){this.ui.toggleClass("horizontal",this.p.orientation===WIDGET_IN8.Orientation.Horizontal),this.appendFilters(),this.updateStyles(),this._loaded=!0},appendDOM:function(){this.ui.append('<div class="header hidden">                                    <div class="text">                                        <div class="title hidden" ></div>                                        <div class="subtitle hidden"></div>                                    </div>                                    <div class="button hidden">                                        <i class="far fa-sync"></i>                                    </div>                                  </div>                                  <div class="scrollable">                                  </div>')},appendFilters:function(){var t=this,e=(this.ui.find(".filter").remove(),OverlayScrollbars(this.ui.find(".scrollable")));if(e&&e.destroy(),this._Data){var i=this.getBindings();this._clusters=[],this._datas=[];for(var n=0;n<this._Data.length;n++){var a=i[n];a&&!a.hidden&&this._renderControl(a,this._Data[n],n)}this.filterscount=i.length}else this.filterscount=0;0<this.ui.find(".scrollable").length&&this.ui.find(".scrollable").setOverlayScrollbar({callbacks:{onScroll:function(){t._mainScrollbarTopPosition=this.scroll().position.y,t._mainScrollbarLefPosition=this.scroll().position.x}}}).scroll({y:t._mainScrollbarTopPosition?"".concat(t._mainScrollbarTopPosition,"px"):0,x:t._mainScrollbarLefPosition?"".concat(t._mainScrollbarLefPosition,"px"):0})},bindEvents:function(){var e=this;this._eventsBound||(this.on("stylechanged",function(){e.p.filters_custom.forEach(function(t){t.config&&(t.config=$.extend(!0,t.config,e.getWidgetStyleConfig().default_control_config))}),e.render()}),this.on("propertieschanged",function(){e._selections={},e._searches={},e._scrollpositionsTop={},e._clusterHeights={},e.render()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var t=this;this.ui.on("click",".button i",function(){t._selections={},t._searches={},t._scrollpositionsTop={},t._clusterHeights={},t.tryUpdate()})},initializeSettings:function(t){var e=Mustache.render('                <button type="button" id="tab_balance" quickTab-href="filterItems" class="quickTab">                    <i class="far fa-2x fa-list-alt"></i>                    <p>{{ label }}</p>                </button>',{label:_("FilterItems")}),n=($("#tab_data").after(e),$('<div id="filterItems"><div class="propertiesContainer"><div class="scrollable"><div class="properties"></div></div></div></div>')),e=(n.prependTo(".content"),_createClass(function t(e){var i=this;_classCallCheck(this,t),this.settings=e,this.ui={content:n},this.show=function(){i.settings.toggleContent("filterItems"),i.settings._widget.renderFilterItemsTab(i)}}));t.Filters=new e(t),routie("filterItems",function(){t.Filters.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active"),$(".scrollable",n).setOverlayScrollbar()},_renderControl:function(a,t,e){var o=this,i="",l=this._getBindingConfiguration(a.guid);switch(a.filter_type){case WIDGET_IN8.ControlType.List:l.list.search_enabled&&(i='<input type="text" class="cd-input searchbox" placeholder="{2}" />'),i+=WIDGET_IN8.Markups.ListContainer;break;case WIDGET_IN8.ControlType.DropdownList:i='<select class="ddl"></select>'}var n=a.name,r=("text"===l.title.title_type&&""!==l.title.title.trim()?n=l.title.title:"formula"===l.title.title_type&&t.title_formula_result&&(n=t.title_formula_result.type===Enums.FormulaStatus.Error?_("WidgetErrorInFormula"):t.title_formula_result.value),l.title.display_title?"":"hidden"),s=l.title.display_row_count&&l.list.allow_multiple_selection?"":"hidden",r='<div class="filter f_{1}">\n          <p>\n            <label class="'.concat(r,'">{0}</label>\n            <span class="').concat(s,'"></span>\n          </p>\n          <div class="control">\n          ').concat(i,"\n          </div>\n      </div>");switch(this.ui.find(".scrollable").append(r.format(n,e,_("Search"))),a.filter_type){case WIDGET_IN8.ControlType.List:function d(){var t=o._LIgetAllSelectedItems(o._datas[a.guid]);o[w]=o._datas[a.guid].filter(function(t){return-1===t.indexOf("select-all")&&-1===t.indexOf("none-element")}).length,o[S]=t.length,o[v]=o._LIgetAllValuesFromItems(t).map(function(t){return"string"==typeof(t="{#CD.EMPTY#}"===t?"":t)?t.replace("&quot;",'"'):t}),o[k]=t.map(function(t){t=t.match(/data-label="(.+?)"/);return t?"string"==typeof t[1]?t[1].replace("&quot;",'"'):t[1]:null}),0<o[v].length?o[I]=o[v][0]:o[I]=null,0<o[k].length?o[F]=o[k][0]:o[F]=null}function c(){var t,e;l.list.allow_multiple_selection&&(t=o._datas[a.guid].filter(function(t){return-1<t.indexOf('checked="checked"')&&-1===t.indexOf("select-all")}).length===o._datas[a.guid].length-1,-1!==(e=Utils.arrayFirstIndex(o._datas[a.guid],function(t){return-1<t.indexOf("select-all")}))&&(o._LIupdateDataItems(o._datas[a.guid],t,[e]),C()))}function u(t,e){return t.filter(function(t){t=t.match(new RegExp(/data-value=\"(.*?)(?=\")/,"i"));return t&&t[1]&&t[1].match(new RegExp(e,"gi"))})}function p(){o.ui.find(".f_{0} p span".format(e)).text("(".concat(o[S],"/").concat(o[w],")"))}function f(){l.list.move_selected_to_top&&0!==o[S]&&o[S]!==o[w]&&(l.list.allow_multiple_selection?o._datas[a.guid].sort(function(t,e){t=$(t),e=$(e);return t.hasClass("select-all")&&!e.hasClass("select-all")?-1:!t.hasClass("select-all")&&e.hasClass("select-all")?1:t.find("input").is(":checked")&&!e.find("input").is(":checked")?-1:!t.find("input").is(":checked")&&e.find("input").is(":checked")?1:parseInt(t.attr("original-index"))-parseInt(e.attr("original-index"))}):o._datas[a.guid].sort(function(t,e){t=$(t),e=$(e);return t.hasClass("none-element")&&!e.hasClass("none-element")?-1:!t.hasClass("none-element")&&e.hasClass("none-element")?1:t.find("input").is(":checked")&&!e.find("input").is(":checked")?-1:!t.find("input").is(":checked")&&e.find("input").is(":checked")?1:parseInt(t.attr("original-index"))-parseInt(e.attr("original-index"))}))}var h=this.ui.find(".f_{0} .control".format(e)),g=this.ui.find(".f_{0} .control .vp_{0}".format(e)),b=this.ui.find(".f_{0} .li_{0}".format(e)),m=this.ui.find(".f_{0} .control .searchbox".format(e)),y=null,v="selectedvalues_{0}".format(a.guid),I="selectedvalue_{0}".format(a.guid),k="selectedlabels_{0}".format(a.guid),F="selectedlabel_{0}".format(a.guid),S="selectedcount_{0}".format(a.guid),w="count_{0}".format(a.guid),x=(this.createProperty(v),this.createProperty(I),this.createProperty(k),this.createProperty(F),this.createProperty(S),this.createProperty(w),function(){return 0<o._datas[a.guid].filter(function(t){return-1<t.indexOf("select-all")&&-1<t.indexOf('checked="checked"')}).length}),C=function(){var t=o._LIgetAllValuesFromItems(o._LIgetAllSelectedItems(o._datas[a.guid])),e=x()&&"specific"!==l.list.default_selection_type;o._selections[a.guid]={all_selected:e,items:e?[]:t},o.dashboard&&o.dashboard.updateState(o.model.guid,o.model.remember_selection,o._selections)};if(!this._selections[a.guid])switch(l.list.allow_multiple_selection||"all"!==l.list.default_selection_type||(l.list.default_selection_type="none"),l.list.default_selection_type){case"all":this._selections[a.guid]={all_selected:!0,items:[]};break;case"first":this._selections[a.guid]={all_selected:!1,items:0<t.data.length?[t.data[0]]:[]};break;case"specific":this._selections[a.guid]={all_selected:!1,items:l.list.specific_selection_values};break;case"formula":var D=t.default_selection_formula_result?$.isArray(t.default_selection_formula_result.value)?t.default_selection_formula_result.value:[t.default_selection_formula_result.value]:[];this._selections[a.guid]={all_selected:!1,items:D};break;case"none":this._selections[a.guid]={all_selected:!1,items:[]}}this._datas[a.guid]=this._LIgenerateMarkup(t.data,this._selections[a.guid],a.guid,l.list,t.column.type,t.column.internal_type),C(),l.list.allow_multiple_selection&&c(),d(),p(),g.on("click",".select-all",function(t){var e=!$(t.currentTarget).find("input").prop("checked"),i=o._LIgetAllSelectedItems(o._datas[a.guid]),n=x();o._LIupdateDataItems(o._datas[a.guid],e,o._datas[a.guid].map(function(t,e){return e})),C(),o._clusters[a.guid].update(o._datas[a.guid]),n||0===i.length?d():o._updateIfNeeded(d),p(),t.stopPropagation()}),g.on("click",".none-element",function(t){var e=Utils.arrayFirstIndex(o._datas[a.guid],function(t){return-1<t.indexOf('checked="checked"')});-1!==e&&(o._LIupdateDataItems(o._datas[a.guid],!1,[e]),C(),o._clusters[a.guid].update(o._datas[a.guid]),o._updateIfNeeded(d)),t.stopPropagation()}),g.on("click","li:not(.select-all):not(.none-element) input",function(t){var e,t=$(t.currentTarget),i=t.prop("checked"),n=t.closest("li").attr("original-index"),t=Utils.arrayFirstIndex(o._datas[a.guid],function(t){return-1<t.indexOf('original-index="{0}"'.format(n))});l.list.allow_multiple_selection||(e=Utils.arrayFirstIndex(o._datas[a.guid],function(t){return-1<t.indexOf('checked="checked"')&&-1===t.indexOf('original-index="{0}"'.format(n))}),o._LIupdateDataItems(o._datas[a.guid],!1,[e])),o._LIupdateDataItems(o._datas[a.guid],i,[t]),(y=o._searches[a.guid]?o._searches[a.guid]:y)?(e=u(o._datas[a.guid],y),t=Utils.arrayFirstIndex(e,function(t){return-1<t.indexOf('original-index="{0}"'.format(n))}),o._LIupdateDataItems(o._datas[a.guid],i,[t],e),C(),o._clusters[a.guid].update(e)):(l.list.allow_multiple_selection&&c(),C(),f(),o._clusters[a.guid].update(o._datas[a.guid])),o._updateIfNeeded(d)}),g.on("click","li",function(t){var e;l.list.allow_multiple_selection&&t.shiftKey&&(e=$(t.target).closest("li"),t=Utils.arrayFirstIndex(o._datas[a.guid],function(t){return-1<t.indexOf("data-value")&&-1<t.indexOf('data-value="{0}"'.format(e.attr("data-value")))}),o._LIupdateDataItems(o._datas[a.guid],!1,o._datas[a.guid].map(function(t,e){return e})),o._LIupdateDataItems(o._datas[a.guid],!0,[t]),c(),C(),o._clusters[a.guid].update(o._datas[a.guid]),o._updateIfNeeded(d))}),h.on("keyup change",".searchbox",Utils.debounce(function(t){y=$(t.currentTarget).val().toLowerCase().trim();t=o._datas[a.guid];""!==y?t=u(t,y):(y=null,f()),o._searches[a.guid]=y,o._clusters[a.guid].update(t)},200)),h.on("input keydown",".searchbox",function(t){t.which!==$.ui.keyCode.BACKSPACE&&t.which!==$.ui.keyCode.SPACE||t.stopPropagation()}),f(),this._LIclusterize(this._clusters,a.guid,this._datas[a.guid],g,b,l.list),null!=this._searches[a.guid]?(h=this._datas[a.guid],h=u(h,this._searches[a.guid]),this._clusters[a.guid].update(h),m.val(this._searches[a.guid])):m.val("");break;case WIDGET_IN8.ControlType.DropdownList:}},createOutputProperties:function(){this.createProperty("filterscount")},resetState:function(t){this._selections=t,this.tryUpdate()},updateStyles:function(){this.updateContainerStyle(),this.updateHeaderStyle(),this.updateFiltersStyle()},updateContainerStyle:function(){this.container.css({border:"".concat(this.p.panel.border.width,"px solid ").concat(this.p.panel.border.color),background:this._getBackgroundValue(),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.panel.shadow),"border-radius":"".concat(this.p.panel.roundness+this.p.panel.border.width,"px")})},updateHeaderStyle:function(){var t=this.p.header,e=t.titles.title,i=t.titles.subtitle,n=""!==e.text.trim(),a=""!==i.text.trim(),o=this.ui.find(".header"),l=this.ui.find(".header .title"),r=this.ui.find(".header .subtitle"),s=this.ui.find(".header .button");o.css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.border.width,"px"),"border-bottom-style":"solid","border-radius":"".concat(t.border.roundness?t.border.width+t.border.roundness:0,"px"),"border-color":t.border.color}),o.toggleClass("hidden",!t.enabled||!t.enable_reset_button&&!n&&!a),l.css(this._getFontStyle(e)),l.text(e.text.trim()),l.toggleClass("hidden",!t.enabled||!n),r.css(this._getFontStyle(i)),r.text(i.text.trim()),r.toggleClass("hidden",!t.enabled||!a),s.css(this._getFontStyle(e)),s.toggleClass("hidden",!t.enable_reset_button)},updateFiltersStyle:function(){var t=[];if(this._Data)for(var e=this.getBindings(),i=0;i<this._Data.length;i++){var n=e[i];if(n&&!n.hidden){var a=this._getBindingConfiguration(n.guid),o=["margin-top: {0}px".format(a.pane.margin_top),"margin-bottom: {0}px; ".format(a.pane.margin_bottom),"margin-left: {0}px; ".format(a.pane.margin_left),"margin-right: {0}px; ".format(a.pane.margin_right)];switch(t[".f_{0}".format(i)]=o.join(";"),t[".f_{0} p > label".format(i)]=this._getFontStyleFormat(a.title).join(";"),t[".f_{0} p > span".format(i)]=["opacity: 0.3"].concat(this._getFontStyleFormat(a.title)).join(";"),t[".f_{0} p".format(i)]=["text-align: {0}".format(a.title.font.halign),"display: {0}".format(a.title.enabled?"block":"none")].join(";"),n.filter_type){case WIDGET_IN8.ControlType.List:var l=["min-height: {0}px".format(a.list.height),"height: {0}px".format(a.list.height),"background: {0}".format(a.list.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(a.list.background.color,DashboardUtils.shadeBlend(null,a.list.background.color)):"transparent"!==a.list.background.color?a.list.background.color:this.p.panel.background_color),"border: {0}px solid {1}".format(a.list.border.width,a.list.border.color),"border-radius: {0}px".format(a.list.roundness),"box-shadow: {0}".format(this.getShadowCssFromShadowConfiguration(a.list.shadow))].concat(this._getFontStyleFormat(a.list)),l=(null!==a.list.width&&(l.push("width: ".concat(a.list.width,"px;")),l.push("max-width: ".concat(a.list.width,"px;")),t[".filter.f_".concat(i)]=["width: ".concat(a.list.width,"px;"),"max-width: ".concat(a.list.width,"px;")].join(";")),t[".f_{0} .control .viewportcontainer".format(i)]=l.join(";"),["border-radius: {0}px".format(a.list.roundness),"box-shadow: {0}".format(this.getShadowCssFromShadowConfiguration(a.list.shadow))].concat(this._getFontStyleFormat(a.list))),l=((0<a.list.border.width||"none"!==a.list.shadow.code)&&l.push("border: {0}px solid {1}".format(a.list.border.width,a.list.border.color)),t[".f_{0} .control > input".format(i)]=l.join(";"),DashboardUtils.parseRGBA(a.list.font.color));t[".f_{0} .control ul li label:hover > div".format(i)]="".concat("background-color:rgba(").concat(l.r,",").concat(l.g,",").concat(l.b,",",.2,");"),t[".f_{0} .control ul li label input:checked + div".format(i)]="".concat("background-color:rgba(").concat(l.r,",").concat(l.g,",").concat(l.b,",",.15,");"),t[".f_{0} .control ul li .checkboxIcon".format(i)]="width:".concat(a.list.font.size,"px");break;case WIDGET_IN8.ControlType.DropdownList:}}}Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},_getFontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textAlign:t.font.halign,textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}},_getFontStyleFormat:function(t){return Utils.FontUtils.loadFont(t.font.family),["font-family: {0}".format(t.font.family),"text-shadow: {0}".format(t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),"text-decoration: {0}".format(t.font.underline?"underline":"none"),"font-weight: {0}".format(Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight)),"font-style: {0}".format(t.font.italic?"italic":"normal"),"font-size: {0}px".format(t.font.size),"color: {0}".format(t.font.color),"text-align: {0}".format(t.font.halign)]},_getBackgroundValue:function(){return this.p.panel.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.panel.background_color,DashboardUtils.shadeBlend(null,this.p.panel.background_color)):this.p.panel.background_color},renderPropertiesTab:function(t){var e=this,i=t.ui.content;t.addLargeDropdown({container:i,id:"orientation",dataprovider:[{label:_("Vertical"),value:WIDGET_IN8.Orientation.Vertical,image:"/Dashboard/Images/WidgetProperties/orientation_vertical.png"},{label:_("Horizontal"),value:WIDGET_IN8.Orientation.Horizontal,image:"/Dashboard/Images/WidgetProperties/orientation_horizontal.png"}],callback:function(){e.render()},object:this.p,property:"orientation"})},renderDataTab:function(t){t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.renderDataBindings(t)},renderDataBindings:function(t){var i=this,e=new Settings.Data.Bindings(t);e.area_column_limits[Enums.WidgetAreas.Rows]=30;e.templates.area_filter_column='<li class="area-column measure" data-column-id="{{ id }}" data-filter="{{ filter_type }}">                                <div class="column">                                    <span class="title" title="{{col_name}}">{{ name }}</span>                                    <span class="current-filter"><span class="value"> {{ filter_label }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                                </div>                                <div class="buttons">                                    <button type="button" class="edit"><i class="far fa-edit"></i></button>                                    <button type="button" class="remove"><i class="far fa-trash"></i></button>                                </div>                            </li>',e.bindDropAreaDropdownsEvents=this.bindFilterDropdownsEvents.bind(e),e.toggleFilterPopup=this.toggleFilterPopup.bind(e),e.filterPopupChanged=this.filterPopupChanged.bind(e),e.render([{name:_("Filters"),placeholder:_("DropFilters"),area:Enums.WidgetAreas.Filters,height_ratio:1}]),e.ui.filters_ddl.empty(),e.ui.filters_ddl.append(Mustache.render('{{#filters}}<li data-filter="{{value}}">                                                        <label class="fa-checkbox">                                                            <input type="radio" name="type_ddl_radio" /><i class="far"></i><span>{{label}}</span>                                                        </label>                                                       </li>{{/filters}}',{filters:this._getFilterControlTypeDropdownItems()})),e.on("bindingCleared",function(){Utils.arrayRemove(i.p.filters_custom,function(t){return"all"!==t.binding_guid}),i._selections={},i._scrollpositionsTop={},i._clusterHeights={},i._datas=[],i._clusters=[]}),e.on("bindingRemoved",function(e){Utils.arrayRemove(i.p.filters_custom,function(t){return t.binding_guid===e.guid}),delete i._selections[e.guid],delete i._scrollpositionsTop[e.guid],delete i._clusterHeights[e.guid],delete i._datas[e.guid],delete i._clusters[e.guid]}),e.on("bindingAdded",function(t){i.p.filters_custom.push({binding_guid:t.guid,filter_name:i._getUniqueFilterName(t.filter_type,"all")})}),this.data_destroy_callback=function(){e.destroy()}},bindFilterDropdownsEvents:function(){var e=this;this.areas.length<=1&&$(".expand",this.ui.drop_areas).remove(),this.ui.drop_areas.on("mousedown",".current-filter",function(t){e.closeCustomPopups&&e.closeCustomPopups();t=$(t.currentTarget).closest(".area-column");return e.toggleFilterPopup(t),!1}),this.ui.filters_ddl.on("change","input",function(){e.filterPopupChanged()}),this._closeBindingPopups=this.closeBindingPopups.bind(this),$("body").on("mousedown",this._closeBindingPopups)},toggleFilterPopup:function(t){var e=t.data("binding"),i=t.find(".ddl-opener");this.ui.filters_ddl.find("input").prop("checked",!1).end().find('[data-filter="{0}"] input'.format(e.filter_type)).prop("checked",!0).end().css({top:i.offset().top+i.outerHeight(),left:i.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},filterPopupChanged:function(){var t=this.ui.filters_ddl.find(":checked").closest("li").attr("data-filter"),e=this.ui.filters_ddl.data("area_column"),i=e.data("binding");e.find(".current-filter .value").text(_("FilterType_".concat(t))),this.ui.filters_ddl.hide(),i.filter_type=t,i.filter_label=_("FilterControlType_".concat(t)),this.trigger("filterChanged",{binding:i,areaColumn:e}),this._isDirty=!0},getFormatTabs:function(){var t=[];return t.push({icon:"panel-background.png",text:_("Panel"),code:"shape",renderer:this.getPanelProperties.bind(this)}),t.push({icon:"panel-title.png",text:_("Header"),code:"label",renderer:this.getHeaderProperties.bind(this)}),t.push({icon:"panel-controls.png",text:_("FilterItems"),code:"icon",renderer:this.getFiltersProperties.bind(this)}),t},getPanelProperties:function(t){var e=this.updateContainerStyle.bind(this),i=this.p.panel;t.addHeader({text:_("FilterPanel_PanelHeader")}),t.addBackgroundColor({label:_("BackgroundColor"),object:i,property_color:"background_color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:i,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:i,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:i,property:"shadow",callback:e}),t.addSeparator()},getHeaderProperties:function(t){var e=this.updateHeaderStyle.bind(this),i=this.p.header,n=(t.addHeader({text:_("FilterPanel_HeaderHeader")}),t.addSection());t.content.append(n),t.addBoolean({section:n,label:_("DisplayHeader"),object:i,property:"enabled",callback:e}),t.addSeparator({container:n}),t.addBackgroundColor({container:n,label:_("BackgroundColor"),object:i.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator({container:n}),t.addBorder({label:_("Separator"),label_color:_("Color"),container:n,object:i,property:"border",callback:e}),t.addSeparator({container:n}),t.addSeparator({container:n}),t.addText({container:n,object:i.titles.title,label:_("Title"),property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({container:n,object:i.titles.title,property:"font",callback:e,dropDown:!0}),t.addSeparator({container:n}),t.addText({container:n,object:i.titles.subtitle,label:_("Subtitle"),property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({container:n,object:i.titles.subtitle,property:"font",callback:e}),t.addSeparator({container:n})},getFiltersProperties:function(e){function t(t){l.empty(),e.ui.content.find(".noneSelected").removeClass("hidden"),null!==t.value&&("all"===t.value?i._renderAllFiltersProperties(t.value,e,l):(t=i._getOrCreateFilterConfiguration(t.value),i._renderFilterProperties(t,e,l,n.bind(i),a.bind(i))))}var i=this,n=this.updateFiltersStyle.bind(this),a=this.render.bind(this),o=this._getFilterDropdownItems(),l=(e.addDropdown({label:_("FilterControl"),object:{button:null},property:"filter",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:o}}),e.addSeparator({customclass:"noneSelected"}),e.addSection().addClass("nomargin").appendTo(e.ui.content));t({value:null})},_renderAllFiltersProperties:function(t,e,i){function n(t){o._updateNestedPropsOfType(r,t),o.updateFiltersStyle()}function a(t){o._updateNestedPropsOfType(r,t),o.render()}var o=this,l=this._getOrCreateFilterConfiguration(t),r=l.config,s=(r.filter_type||(r.filter_type=WIDGET_IN8.ControlType.List),e.ui.content.find(".noneSelected").addClass("hidden"),e.addDropdown({container:i,label:_("OfType"),object:r,property:"filter_type",callback:function(){o._renderFilterProperties(l,e,s,n.bind(o),a.bind(o),!0)},combobox:{appendToBody:!0,dataprovider:this._getFilterControlTypeDropdownItems()}}),e.addSeparator({container:i}),e.addSection().addClass("nomargin").appendTo(i));this._renderFilterProperties(l,e,s,n.bind(this),a.bind(this),!0)},_renderFilterProperties:function(e,t,i,n,a,o){var l=this,r=e.config;switch(i.empty(),r.filter_type){case WIDGET_IN8.ControlType.List:t.addFont({container:i,object:r.list,property:"font",callback:a.bind(this,"list.font"),dropDown:!0}),t.addFormat({container:i,label:_("Format"),object:r.list,property:"format",callback:a.bind(this,"list.format")}),t.addSeparator({container:i});break;case WIDGET_IN8.ControlType.DropdownList:}var s=t.addSection(),d=(t.addBoolean({container:i,section:s,label:_("ShowFilterHeader"),object:r.title,property:"enabled",callback:n.bind(this,"title.enabled")}),t.addFont({container:s,object:r.title,property:"font",callback:n.bind(this,"title.font")}),r.list.allow_multiple_selection&&t.addBoolean({container:s,label:_("DisplayRowCount"),object:r.title,property:"display_row_count",callback:a.bind(this,"title.display_row_count")}),t.addSection());switch(t.addBoolean({section:d,container:s,label:_("DisplayTitle"),object:r.title,property:"display_title",callback:a.bind(this,"title.display_title")}),o||(s=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e.binding_guid}),t.addCustomTitle({container:d,object:r.title,property:"title_type",text_placeholder:s?s.name:null,formula_property:"title_formula",formula_callback:function(){l.settings.Data._isDirty=!0,l.tryUpdate()},widget:this,dashboard:this._from&&this._from.dashboard,text_property:"title",text_callback:this.render.bind(this)})),t.addSeparator({container:i}),r.filter_type){case WIDGET_IN8.ControlType.List:t.addLabel({container:i,text:_("FilterBackground")});var c=t.addSection().appendTo(i);t.addNumber({callback:n.bind(this,"list.height"),container:c,label:_("Height"),object:r.list,property:"height"}),t.addNumber({callback:n.bind(this,"list.width"),container:c,label:_("Width"),object:r.list,property:"width"}),t.addBackgroundColor({container:c,label:_("BackgroundColor"),object:r.list.background,property_color:"color",property_gradient:"gradient",callback:n.bind(this,["list.background.color","list.background.gradient"])}),t.addBorder({container:c,object:r.list,property:"border",callback:n.bind(this,"list.border")}),t.addSlider({container:c,label:_("RoundedCorners"),object:r.list,property:"roundness",callback:n.bind(this,"list.roundness"),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addShadow({container:c,object:r.list,property:"shadow",callback:n.bind(this,"list.shadow")}),t.addSeparator({container:c});break;case WIDGET_IN8.ControlType.DropdownList:}t.addMargin({container:i,margins:[{label:_("Top"),name:"margin_top",callback:n.bind(this,"pane.margin_top")},{label:_("Bottom"),name:"margin_bottom",callback:n.bind(this,"pane.margin_bottom")},{label:_("Left"),name:"margin_left",callback:n.bind(this,"pane.margin_left")},{label:_("Right"),name:"margin_right",callback:n.bind(this,"pane.margin_right")}],min:0,max:99,object:r.pane}),t.addSeparator({container:i})},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e&&!t.is_context})},renderFilter:function(t){var r=this,e=this.p.data.mode,i=this.p.data_id,n=this._from.dashboard.id,a=new Settings.SortFilter.Filter(t);a.getFilterColumns=function(l){"bindings"===e&&t.settings.getDataClone(i,n).then(function(t){for(var e=[],i=0;i<r.p.data_bindings.length;i++){var n=r.p.data_bindings[i],a=r.getColumnFromId(t.columns,n.column_id);a&&e.push({is_used:!0,is_context:a.is_context||!1,icon:DashboardUtils.getIconForColumnType(a.type),label:n.name||a.name,value:a.id,column_id:a.id})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var o=t.columns.concat(r.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(o.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));l(e)})},a.onColumnChangedCallback=function(t,e,i){t.column_id=e.data().column_id,a.updateOperatorDropdown(t,i),a.updateDataCallback()},a.updateDataCallback=function(){r.update()},a.render()},renderSort:function(t){var l=this,e=this.p.data.mode,i=new Settings.SortFilter.Sort(t);i.getSortColumns=function(o){"bindings"===e&&t.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],i=0;i<l.p.data_bindings.length;i++){var n=l.p.data_bindings[i],a=l.getColumnFromId(t.columns,n.column_id);a&&e.push({is_used:!0,icon:DashboardUtils.getIconForColumnType(a.type),label:n.name||a.name,value:"".concat(a.id).concat(n.aggregation||""),is_context:a.is_context||!1,column_id:a.id,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null})}o(e)})},i.updateDataCallback=function(){t._isDirty=!0,l.update()},i.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},renderFilterItemsTab:function(e){function t(t){c.empty(),e.ui.content.find(".noneSelected").removeClass("hidden"),null!==t.value&&("all"===t.value?i._renderFilterItemsTabPropertiesAll(t.value,a,c,n):(t=i._getOrCreateFilterConfiguration(t.value),i._renderFilterItemsTabProperties(t,a,c,o.bind(i),l.bind(i))))}var i=this,n=e.ui.content.find(".properties"),a=this.settings.Format,o=this.render.bind(this),l=this.tryUpdate.bind(this),r=this.updateHeaderStyle.bind(this),s=this.p.header,d=(n.empty(),this._getFilterDropdownItems()),c=(a.addBoolean({container:n,label:_("DisplayResetButton"),object:s,property:"enable_reset_button",callback:r}),a.addSeparator({container:n}),a.addDropdown({container:n,label:_("FilterControl"),object:{button:null},property:"filter",callback:t,combobox:{containerClasses:"ddl-placeholder",dataprovider:d}}),a.addSeparator({container:n,customclass:"noneSelected"}),a.addSection().addClass("nomargin").appendTo(n));t({value:null})},_renderFilterItemsTabPropertiesAll:function(t,e,i,n){function a(t){l._updateNestedPropsOfType(r,t),l.render()}function o(t){l._updateNestedPropsOfType(r,t),l.tryUpdate()}var l=this,t=this._getOrCreateFilterConfiguration(t),r=t.config,s=(r.filter_type||(r.filter_type=WIDGET_IN8.ControlType.List),n.find(".noneSelected").addClass("hidden"),e.addDropdown({container:i,label:_("OfType"),object:r,property:"filter_type",callback:function(){l._renderFilterItemsTabProperties(r,e,s,a.bind(l),o.bind(l))},combobox:{appendToBody:!0,dataprovider:this._getFilterControlTypeDropdownItems()}}),e.addSeparator({container:i}),e.addSection().addClass("nomargin").appendTo(i));this._renderFilterItemsTabProperties(t,e,s,a.bind(this),o.bind(this),!0)},_renderFilterItemsTabProperties:function(a,o,t,e,i,l){var n,r=this,s=this;switch(l||(n=a.filter_name,o.addText({container:t,label:_("FilterName"),errortootlip:_("FilterNameAlreadyExist"),object:a,event:"change",property:"filter_name",callback:function(){s._findFilterByName(this.object[this.property],this.object.binding_guid)?(this.object[this.property]=n,this.container.find("#prop_{0} .ctrl".format(this.id)).addClass("error")):(n=this.object[this.property],this.container.find("#prop_{0} .ctrl".format(this.id)).removeClass("error"))}}),o.addSeparator({container:t})),a.config.filter_type){case WIDGET_IN8.ControlType.List:function d(){var t;g.empty(),u.allow_multiple_selection||(t=o.addSection().appendTo(g),o.addBoolean({container:g,section:t,label:_("AllowNoSelection"),object:u,property:"none_option_enabled",callback:e.bind(r,"list.none_option_enabled")}),o.addText({container:t,label:_("NoSelectionText"),placeholder:_("NoneLabel"),object:u,property:"none_option_label",callback:e.bind(r,"list.none_option_label"),event:"focusout"}))}function c(){b.empty();var t=[];u.allow_multiple_selection?(t.push({label:_("NoSelection"),value:"none"}),u.all_option_enabled&&t.push({label:_("AllItems"),value:"all"})):u.none_option_enabled&&t.push({label:_("SelectNoneItem"),value:"none_element"}),l||t.push({label:_("SpecificItems"),value:"specific"}),t.push({label:_("Formula"),value:"formula"}),o.addDropdown({container:b,label:_("DefaultSelection"),object:u,property:"default_selection_type",callback:function(){l?r._selections={}:r._selections[a.binding_guid]&&delete r._selections[a.binding_guid],p(),r.settings.Data._isDirty=!0,i("list.default_selection_type")},combobox:{appendToBody:!0,dataprovider:t}}),p()}var u=a.config.list,p=function(){switch(m.empty(),u.default_selection_type){case"formula":o.addFormulaInput({container:m,widget:r,dashboard:r.settings._original_widget.dashboard,label:_("DefaultSelection"),object:u,dropup:!0,customClass:"in8_formula_input",grid:!0,property:"default_selection_formula",callback:function(){l?r._selections={}:r._selections[a.binding_guid]&&delete r._selections[a.binding_guid],r.settings.Data._isDirty=!0,r._updateIfNeeded(null,!0)}});break;case"specific":var n="".concat(u.default_selection_type,"_").concat(a.binding_guid),t=(m.append(WIDGET_IN8.Markups.ListContainer.format(n,n)),$(".vp_{0}".format(n),m)),e=$(".li_{0}".format(n),m),i=Utils.arrayFirstIndex(r.getBindings(),function(t){return t.guid===a.binding_guid}),i=r._Data[i];t.on("click","li:not(.select-all):not(.none-element) input",function(t){var t=$(t.currentTarget),e=t.prop("checked"),i=t.closest("li").attr("original-index"),t=Utils.arrayFirstIndex(r._dataspecific[n],function(t){return-1<t.indexOf('original-index="{0}"'.format(i))}),e=(r._LIupdateDataItems(r._dataspecific[n],e,[t]),r._LIgetAllSelectedItems(r._dataspecific[n]));r._selectionsspecific[n]={all_selected:!1,items:r._LIgetAllValuesFromItems(e)},u.specific_selection_values=r._selectionsspecific[n].items,r._selections[a.binding_guid]=r._selectionsspecific[n],r.settings.Data._isDirty=!0,r.render()}),r._selectionsspecific[n]={all_selected:!1,items:u.specific_selection_values},r._dataspecific[n]=r._LIgenerateMarkup(i.data,r._selectionsspecific[n],n,{allow_multiple_selection:u.allow_multiple_selection,all_option_enabled:!1,display_checkboxes:u.display_checkboxes},i.column.type,i.column.internal_type),r._LIclusterize(r._specificclusters,n,r._dataspecific[n],t,e,{height:200,font:{size:13}})}},f=(o.addBoolean({container:t,label:_("EnableSearch"),object:u,property:"search_enabled",callback:e.bind(this,"list.search_enabled")}),o.addBoolean({container:t,label:_("MoveSelectedToTop"),object:u,property:"move_selected_to_top",callback:e.bind(this,"list.move_selected_to_top")}),o.addSection().appendTo(t)),h=(o.addBoolean({container:t,section:f,label:_("MultipleSelection"),object:u,property:"allow_multiple_selection",callback:function(){d(),c(),e("list.allow_multiple_selection")}}),o.addBoolean({container:f,label:_("DisplayCheckboxes"),object:u,property:"display_checkboxes",callback:e.bind(this,"list.display_checkboxes")}),o.addSection().appendTo(f)),g=(o.addBoolean({container:f,section:h,label:_("DisplayAllOption"),object:u,property:"all_option_enabled",callback:e.bind(this,"list.all_option_enabled")}),o.addText({container:h,label:_("AllOptionText"),placeholder:_("SelectAll"),object:u,property:"all_option_label",callback:e.bind(this,"list.all_option_label"),event:"focusout"}),o.addSection().addClass("nomargin").appendTo(t)),b=(d(),o.addSeparator({container:t}),o.addSection().appendTo(t)),m=o.addSection().addClass("defaultselection").appendTo(t);c();break;case WIDGET_IN8.ControlType.DropdownList:}},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},_getFilterControlTypeDropdownItems:function(){var e=[];return $.each(WIDGET_IN8.ControlType,function(t){e.push({value:WIDGET_IN8.ControlType[t],label:_("FilterControlType_{0}".format(WIDGET_IN8.ControlType[t]))})}),e},_getOrCreateFilterConfiguration:function(e){var t,i=this._getFilterConfiguration(e);return i.config||(t=Utils.arrayFirst(this.getBindings(),function(t){return t.guid===e}),i.config=$.extend(!0,{},this._getDefaultFilterConfiguration(),{filter_type:t?t.filter_type:WIDGET_IN8.ControlType.List})),i},_getFilterConfiguration:function(e){return e?Utils.arrayFirst(this.p.filters_custom,function(t){return t.binding_guid===e}):null},_getDefaultFilterConfiguration:function(){var t=Utils.arrayFirst(this.p.filters_custom,function(t){return"all"===t.binding_guid});return t||((t={}).config=$.extend(!0,{},WIDGET_IN8.DefaultFilterProperties,{filter_type:WIDGET_IN8.ControlType.List},this.getWidgetStyleConfig().default_control_config),this.p.filters_custom.push({binding_guid:"all",filter_name:null,config:t.config})),t.config},_getFilterDropdownItems:function(){var t=this.getBindings().map(function(t){return{label:t.name,value:t.guid,filter_type:t.filter_type}});return t.unshift({value:"all",label:_("AllFilters")}),t.unshift({value:null,label:_("SelectAFilter")}),t},_updateNestedPropsOfType:function(e,t){var i,n=this.getBindings().filter(function(t){return t.filter_type===e.filter_type}).map(function(t){return t.guid}),a=_createForOfIteratorHelper(t=$.isArray(t)?t:[t]);try{for(a.s();!(i=a.n()).done;){var o,l=i.value,r=Utils.getNestedValue(e,l),s=_createForOfIteratorHelper(n);try{for(s.s();!(o=s.n()).done;){var d=o.value,c=this._getOrCreateFilterConfiguration(d);Utils.setNestedProperty(c.config,l,r)}}catch(t){s.e(t)}finally{s.f()}}}catch(t){a.e(t)}finally{a.f()}},_getBindingConfiguration:function(t){t=this._getFilterConfiguration(t);return t=t&&t.config?t.config:this._getDefaultFilterConfiguration()},_getUniqueFilterName:function(t,e){for(var i,n=_("WidgetName_".concat(t)),a=1;i=n+" #{0}".format(a++),this._findFilterByName(i,e););return i},_findFilterByName:function(e,i){return Utils.arrayFirst(this.p.filters_custom,function(t){return null!==t.filter_name&&t.binding_guid!==i&&t.filter_name.toUpperCase()===e.toUpperCase()})},_updateIfNeeded:function(t,e){1<this.getBindings().filter(function(t){return!t.hidden}).length?this.tryUpdate():e?(t&&t(),this.render()):t&&t()},_LIgenerateMarkup:function(t,i,n,a,o,l){var r=this,t=t.map(function(t,e){return r._LIgenerateSingleElement(i,n,a,t,o,l,e)});return a.allow_multiple_selection?t.unshift(this._LIgenerateSingleElement(i,n,a,a.all_option_label||_("SelectAll"),o,l,null,"select-all".concat(a.all_option_enabled?" ":" hidden"))):!a.allow_multiple_selection&&a.none_option_enabled&&t.unshift(this._LIgenerateSingleElement(i,n,a,a.none_option_label||_("NoneLabel"),o,l,null,"none-element")),t},_LIgenerateSingleElement:function(t,e,i,n,a,o,l,r,s){var d,c=s,s=(n="string"==typeof n?n.replace(/"/g,"&quot;"):n,t&&!s&&(t.all_selected||(null!=n?(""===(d=Utils.utcTZtoDateString(n,a,o))&&(d="{#CD.EMPTY#}"),"System.Boolean"==a&&(d=n.toString()),Utils.arrayFirst(t.items,function(t){return t==d})):-1<t.items.indexOf(null)))&&(c=!0),i.format?Utils.formatValue(n,i.format):n),t=(!i.format&&a&&Utils.isDateType(a)&&(s=Utils.formatValue(s,DashboardUtils.applyFormat(i.format,a,o))),Utils.utcTZtoDateString(n,a,o));return""===t&&(t="{#CD.EMPTY#}"),WIDGET_IN8.Markups.ListItem.format(i.allow_multiple_selection?"checkbox":"radio",e,null!==s?s:"&nbsp;",i.allow_multiple_selection&&i.display_checkboxes?"":"hidden",null!==s?t:"{#DB.NULL#}",null!==l?l:"",r||"",c?'checked="checked"':"")},_LIclusterize:function(e,i,t,n,a,o){var l,r=this,s=(e[i]=new Clusterize({rows:t,scrollElem:n[0],contentElem:a[0],blocks_in_cluster:2,tag:"li",callbacks:{scrollingProgress:function(t){0===(t=parseInt(t))&&e[i].refresh()}}}),$(e[i].content_elem).height()),d=_createForOfIteratorHelper(n);try{for(d.s();!(l=d.n()).done;)!function(){var t=l.value;window.requestAnimationFrame(function(){$(t).setOverlayScrollbar({callbacks:{onScroll:function(){r._scrollpositionsTop[i]=Math.abs(this.scroll().position.y),e[i].updatePosition(Math.abs(this.scroll().position.y))},onInitialized:function(){this.scroll({y:r._scrollpositionsTop[i]?"".concat(s*r._scrollpositionsTop[i]/r._clusterHeights[i],"px"):0})}}})})}()}catch(t){d.e(t)}finally{d.f()}r._clusterHeights[i]=s},_LIgetAllSelectedItems:function(t){return t.filter(function(t){return-1===t.indexOf("select-all")&&-1===t.indexOf("none-element")&&-1<t.indexOf('checked="checked"')})},_LIgetAllValuesFromItems:function(t){return t.map(function(t){t=t.match(/data-value="(.*?)"/);return t?t[1]:null}).map(function(t){return"{#DB.NULL#}"===t?null:t})},_LIupdateDataItems:function(t,e,i,n){var a,o=n||t,n=(Utils.arrayRemove(i,function(t){return-1===t}),i.map(function(t){return o[t]}).join("")),t=document.createRange().createContextualFragment(n),l=_createForOfIteratorHelper(t.querySelectorAll("li input"));try{for(l.s();!(a=l.n()).done;){var r=a.value;e?r.setAttribute("checked","checked"):r.removeAttribute("checked")}}catch(t){l.e(t)}finally{l.f()}for(var s=t.querySelectorAll("li"),d=0;d<s.length;d++)o[i[d]]=s[d].outerHTML.replace(/&amp;/g,"&")}}});
//# sourceMappingURL=IN8-filter-panel.js.map

var WidgetIN9={DataTab_Template:'<header class="nomargin">'.concat(_("IN9_TabHeader"),'</header>\n                      <div class="addNew">\n                          <button type="button" class= "btn btn-default btn-grey addButton" >').concat(_("IN9_AddRadioButton"),'</button>\n                      </div>\n                      <div class="ingroup_buttons">\n                          <div class="ingroup_sortable_list_container"></div>\n                      </div>\n                      <div class="additionnalControls">\n                      </div>'),get_data_element_template:function(t,e,a){var i=a?t:Utils.formatValue(t,this.p.format);return a&&this.valueType&&Utils.isDateType(this.valueType)&&(i=Utils.formatValue(t,DashboardUtils.applyFormat(null,this.valueType))),this.valueType&&Utils.isDateType(this.valueType)&&(e=moment(e).format("YYYY-MM-DD")),$("<option>").attr("value",e).text(Utils.isEmpty(t)?" ":i).data({label:t,value:e})}};Widget.createType({id:"IN9",options:{min_width:120,width:220,min_height:40,height:130,hasStyleProperty:!0,formula_input:function(t){var e=["data.formula","sort_filter.filters.formula"];return"formula"===t.default_selection_type&&e.push("default_selection_formula"),e.push("calculated_columns.formula"),e},formula_output:["selectedvalue","selectedvalues","selectedlabel"]},properties:{style:"",default_selection_type:"last_selected",default_selection_custom:[],specific_selection_values:["0"],format:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",custom:[]},title:{display:!1,text:"Title goes here...",font:{family:"Open Sans",size:18,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(62,62,62,1)"},halign:"center",background:{color:"transparant",gradient:!1},border:{width:1,color:"#000000"}},container:{background_color:"transparent",gradient:!1,border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0},radios:{unselected_state:{border:{width:1,color:"#000000"},button_color:"rgba(110,110,110,1)",gap:2},selected_state:{border:{width:1,color:"#000000"},button_color:"rgba(110,110,110,1)",gap:2},vspacing:10,animation:!0},labels:{unselected_state:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(20,20,20,1)"},halign:"left"},selected_state:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(20,20,20,1)"},halign:"left"}},sort_filter:{sorts:[],filters:[]}},prototype:$.extend(!0,{},WidgetLI.prototype,{init:function(){this.bindEvents(),this.feedDummyCustomData(),"formula"===this.p.data.mode||"mixed"===this.p.data.mode?this.updateData():this.render()},generate_element:function(t){var e=$('<li class="ingroup_button"></li>'),t=(this.valueType&&Utils.isDateType(this.valueType)&&(t=Utils.formatValue(t,DashboardUtils.applyFormat(this.p.format,this.valueType))),$("<label>{0}</label>".format(Utils.sanitizeHTML(t)))),a=$('<input type="checkbox" />'),i=$('<div class="checkmark"></div>'),n=$('<div class="mark"></div>'),l=$('<div class="mark_checked"></div>');return i.append([n,l]),t.append([a,i]),e.append(t),e[0]},get_data_element_template:function(t,e){return null==e?this.get_empty_data_element_template():this.generate_element(t,e)},get_empty_data_element_template:function(){return this.generate_element("&nbsp;",null)},createProperties:function(){this.createProperty("selectedvalues"),this.createProperty("selectedvalue"),this.createProperty("selectedlabel")},updateSelectionOutputProperties:function(){var t=this._lis.filter(function(t){return $(t.querySelector("label")).hasClass("checked")});this.selectedvalues=[],0<t.length?(this.selectedlabel=$(t[0]).attr("data-label"),this.selectedvalue=$(t[0]).attr("data-value"),this.selectedvalues=$(t[0]).attr("data-values")):(this.selectedlabel=null,this.selectedvalue=null,this.selectedvalues=null)},resetState:function(t){for(var e=this,a=0;a<e._lis.length;a++)$(e._lis[a].querySelector("label")).removeClass("checked");t.selectedIndexes&&t.selectedIndexes.forEach(function(t){$(e._lis[t].querySelector("label")).toggleClass("checked",!0)}),this.updateSelectionOutputProperties()},updateState:function(){var e=this,a=[];this._lis.filter(function(t){return $(t.querySelector("label")).hasClass("checked")}).forEach(function(t){a.push(e._lis.indexOf(t))}),this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedIndexes:a})},bindEvents:function(){var t=this;this._eventsBound||(this.createProperties(),this.on("propertieschanged",function(){t.render()}),this.on("stylechanged",function(){t.render()}),this.on("fontchanged",function(){t.render()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.on("height",function(){t.render()}),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var i=this;this.ui.on("change","li input",function(){var t,e=$(this).parent().hasClass("checked"),a=$(this).closest("li").attr("original-index");1===$("label.checked",i.ui).length&&e||(t=i._lis.filter(function(t){return t.getAttribute("original-index")&&t.getAttribute("original-index")===a}),i.updateUISelections(i._lis,!1),i.updateUISelections(t,!e),i.updateDefaultSelection(),i.updateSelectionOutputProperties(),i.updateState())})},render:function(){this._rendered?(e=$("ul",this.ui),t=$(".viewport",this.ui)):(t=$('<div class="viewport"></div>'),a=$('<div class="viewport-container"></div>').append(t),e=$("<ul>").appendTo(t),this.ui.append(a),$(".os-content",t).css("padding","{0}px 0".format(this.p.radios.vspacing)));var t,e,a=this.widgetData();this._lis=[],a&&0<a.length?this.appendDataToList(a,e,this.get_data_element_template.bind(this),!0,this.valueType&&Utils.isDateType(this.valueType)):e.empty(),this._lis.forEach(function(t){e.append(t)}),t.setOverlayScrollbar(),this.getAndApplyWidgetSelection(this.applyDefaultSelection.bind(this)),this.updateSelectionOutputProperties(),this.updateStyle(),this.updateState(),this._rendered=!0,this._loaded=!0},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"mixed":this.renderDataBindings(t)}this.current_data_mode=this.p.data.mode}t.ui.addClass("propertiesContainer");var e=$(".li_additional_properties",t.ui);0<e.length||(e=$('<div class="properties li_additional_properties"></div>'),t.ui.append(e)),this.renderDefaultSelection(e)},renderDataBindings:function(e){var a=this,i=new Settings.Data.Bindings(e);i.area_column_limits.Label=1,i.render([{name:_("Label"),placeholder:_("DropLabelColumnHere"),area:"Label",height_ratio:.5},{name:_("Value"),placeholder:_("DropOptionalValueHere"),area:"Value",height_ratio:.5}],{dateGrouping:!1,count:!1}),this.on("updatedatasuccess",function(){a.renderDefaultSelection()}),i.on("bindingCleared",function(){a.resetSortAndFilters()}),i.on("bindingRemoved",function(t){a.p.data_bindings.length||a.renderAdditionalItemsControls($(".li_additional_properties",e.ui)),a.resetSortAndFilters(t,!1),a.updateData(),a.tryUpdate()}),i.ui.data_columns_list.off("click","li.datacolumn:not(.disabled):not(.calculated)").on("click","li.datacolumn:not(.disabled):not(.calculated)",function(){var t=parseInt($(this).attr("data-column-id")),e=i.ui.drop_areas.find('[data-area="{0}"]'.format("Value"));i._checkAreaBindings(e,t,function(){i.createBinding("Value",t)})})},updateService:function(){if("mixed"===this.p.data.mode)return"IN9Data"},updateServiceSuccess:function(t){var e,a;this.valueType="System.String","mixed"===this.p.data.mode&&(e=Utils.arrayFirst(this.p.data_bindings,function(t){return"Label"===t.area})||Utils.arrayFirst(this.p.data_bindings,function(t){return"Value"===t.area}),a=Utils.arrayFirst(t.columns,function(t){return t.id===e.column_id}),this.valueType=a.type,this._Data=t.data,this.p.default_selection_formula_result=t.default_selection_formula_result||0===t.default_selection_formula_result?t.default_selection_formula_result.value:""),this.render()},updateServiceError:function(){this.selectedlabel=null,this.selectedvalue=null,this.selectedvalues=null},appendDataToList:function(t,e,a,i,n){e.empty();var l=[];if(this.p.data){for(var l="mixed"!==this.p.data.mode?this.filterCustomAndFormulaData(t):t,o="mixed"!==this.p.data.mode?this.sortCustomAndFormulaData(l):l,s=[],r=0;r<o.length;r++){var d=this.getLabelAndValueFromDataRow(o[r]),c=d.label,p=a(c,r,!this.p.format);i?(p.setAttribute("data-label",c),p.setAttribute("data-value",d.value?n?moment(d.value).format("YYYY-MM-DD"):d.value:"NULL"),p.setAttribute("data-values",d.values),p.setAttribute("original-index",r),s.push(p)):s.push($(p).data({label:c,value:n?moment(d.value).format("YYYY-MM-DD"):d.value,"original-index":r}))}i?this._lis=s:e.append(s)}return l.length},getLabelAndValueFromDataRow:function(t){var e,a,i=[];return Array.isArray(t)?2<=t.length?(e=t[0],a=t[1],2<t.length&&(i=t.slice(1,t.length))):(void 0!==t[0]||0===t[0]?e=t[0]:void 0===t[1]&&0!==t[1]||(e=t[1]),void 0!==t[1]||0===t[1]?a=t[1]:void 0===t[0]&&0!==t[0]||(a=t[0])):a=e=t,i.length<=0&&i.push(a),{label:e="".concat(e),value:a="".concat(a),values:i.join(",")}},rebuildDefaultSelectionDropdown:function(){var t=this,e=this.widgetData();$("#prop_default_selection .dynamic_control").append($('<select id="default_selection_dropdown"></select>')),e&&0<e.length&&this.appendDataToList(e,$("#default_selection_dropdown"),WidgetIN9.get_data_element_template.bind(this)),$("#default_selection_dropdown").comboBox({nSelectedText:_("NItemsSelected"),onDropdownShow:function(){$("input:radio[name=gender][value=specific]").prop("checked",!0).trigger("change")},onChange:function(){t.p.specific_selection_values=$.map(this.getSelected(),function(t){return t.value}),t.render()}}),$("#default_selection_dropdown").comboBox("select",this.p.specific_selection_values)},updateStyle:function(){var t;$(".viewport",this.ui).css({background:this.p.container.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color}),$(this.ui).css({"border-width":"".concat(this.p.container.border.width,"px"),"border-color":this.p.container.border.color,"border-radius":"".concat(this.p.container.roundness?this.p.container.border.width+this.p.container.roundness:0,"px"),"border-style":"solid","box-shadow":this.getShadowCssFromShadowConfiguration(this.p.container.shadow)}),$(".title",this.ui).remove(),this.p.title.display&&((t=$('<div class="title">{0}</div>'.format(this.p.title.text))).css({"min-height":"".concat(this.p.title.font.size+10,"px"),height:"".concat(this.p.title.font.size+10,"px"),"font-family":this.p.title.font.family,"line-height":"".concat(this.p.title.font.size+10,"px"),"font-size":"".concat(this.p.title.font.size,"px"),"text-shadow":this.p.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.title.font.underline?"underline":"none",color:this.p.title.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.title.font.family,this.p.title.font.font_weight),"font-style":this.p.title.font.italic?"italic":"normal",background:this.p.title.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.title.background.color,DashboardUtils.shadeBlend(null,this.p.title.background.color)):this.p.title.background.color,"border-bottom-width":"".concat(this.p.title.border.width,"px"),"border-bottom-color":this.p.title.border.color,"border-bottom-style":"solid","text-align":this.p.title.halign}),this.ui.prepend(t)),this.injectElementsCSS()},injectElementsCSS:function(){var t={};t[".ui ul li:not(:last-of-type)"]="margin-bottom: ".concat(this.p.radios.vspacing,"px;"),t[".ui ul li label .checkmark .mark"]="background-color: ".concat(this.p.radios.unselected_state.button_color,";width: ").concat(14-2*this.p.radios.unselected_state.border.width-2*this.p.radios.unselected_state.gap,"px; height: ").concat(14-2*this.p.radios.unselected_state.border.width-2*this.p.radios.unselected_state.gap,"px;"),t[".ui ul li label.checked .checkmark .mark_checked"]="background-color: ".concat(this.p.radios.selected_state.button_color,";\n                                            width: ").concat(14-2*this.p.radios.selected_state.border.width-2*this.p.radios.selected_state.gap,"px; height: ").concat(14-2*this.p.radios.selected_state.border.width-2*this.p.radios.selected_state.gap,"px;"),t[".ui ul li label.checked .checkmark .mark"]="display: none;",t[".ui ul li label .checkmark .mark_checked"]="transition: ".concat(this.p.radios.animation?".2s ease-in-out":"none",";"),t[".ui ul li label"]="text-align: ".concat(this.p.labels.unselected_state.halign,"; font-family: ").concat(this.p.labels.unselected_state.font.family,"; line-height: ").concat(this.p.labels.unselected_state.font.size,"px; font-size: ").concat(this.p.labels.unselected_state.font.size,"px; text-shadow: ").concat(this.p.labels.unselected_state.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","; text-decoration: ").concat(this.p.labels.unselected_state.font.underline?"underline":"none","; color: ").concat(this.p.labels.unselected_state.font.color,"; font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.labels.unselected_state.font.family,this.p.labels.unselected_state.font.font_weight),"; font-style: ").concat(this.p.labels.unselected_state.font.italic?"italic":"normal",";"),t[".ui ul li label .checkmark"]="border-width: ".concat(this.p.radios.unselected_state.border.width,"px; margin-top: ").concat((this.p.labels.unselected_state.font.size-14)/2,"px; border-color: ").concat(this.p.radios.unselected_state.border.color,";"),t[".ui ul li label.checked"]="text-align: ".concat(this.p.labels.selected_state.halign,"; font-family: ").concat(this.p.labels.selected_state.font.family,"; line-height: ").concat(this.p.labels.selected_state.font.size,"px; font-size: ").concat(this.p.labels.selected_state.font.size,"px; text-shadow: ").concat(this.p.labels.selected_state.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","; text-decoration: ").concat(this.p.labels.selected_state.font.underline?"underline":"none","; color: ").concat(this.p.labels.selected_state.font.color,"; font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.labels.selected_state.font.family,this.p.labels.selected_state.font.font_weight),"; font-style: ").concat(this.p.labels.selected_state.font.italic?"italic":"normal",";"),t[".ui ul li label.checked .checkmark"]="border-width: ".concat(this.p.radios.selected_state.border.width,"px; margin-top: ").concat((this.p.labels.selected_state.font.size-14)/2,"px;                                            border-color: ").concat(this.p.radios.selected_state.border.color,";"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},applyDefaultSelection:function(){var t=[],e=[];switch(this.p.default_selection_type){case"specific":case"last_selected":e=this.p.specific_selection_values,t=this._lis.filter(function(t){if($(t).attr("original-index")||"0"===$(t).attr("original-index"))return-1<e.indexOf($(t).attr("original-index"))});break;case"first":t=this._lis.filter(function(t){return 0===parseInt($(t).attr("original-index"))})}1<(t=1<t.length?[t[0]]:t).length&&(t=[t[0]]),this.updateUISelections(t,!0)},renderDefaultSelection:function(t){var e=this,a=$("#li_default_selection_container"),t=(0<!a.length&&(a=$('<div id="li_default_selection_container"></div>'),t.append(a)),a.empty(),[]);t.push({label:_("FirstItem"),value:"first"}),t.push({label:_("LastSelectedItem"),value:"last_selected"}),t.push({label:_("SpecificItem"),value:"specific"}),this.settings.Format.addDropdownDynamic({container:a,label:_("DefaultSelection"),object:this.p,containerClass:"default_selection_container",property:"default_selection_type",id:"default_selection",callback:function(t){e.p.default_selection_type=t.value,e.render()},combobox:{dataprovider:t},dynamicControlRenderer:function(t){this._renderDefaultSelectionDynamicControl(t.value)}.bind(this)}),this._renderDefaultSelectionDynamicControl(this.p.default_selection_type)},updateDefaultSelection:function(){if(this.setModifiedState(),"last_selected"===this.p.default_selection_type){var t=$("ul li:not(.select-all):not(.none-element) label.checked",this.ui).closest("li");this.p.specific_selection_values=[];for(var e=0;e<t.length;e++)this.p.specific_selection_values.push($(t[e]).attr("original-index"))}},feedDummyCustomData:function(){if(this.p.data.custom.length<1)for(var t=0;t<3;t++)this.p.data.custom.push([_("IN9_ButtonName").format(t+1),"0"])},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                     <span>{{ based_on_label }}</span>                     <ul class="multiple_labels">                         <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                     </ul>                     </div>',{based_on_label:_("BasedOn"),data:_("Data"),data_desc:_("DropdownListDataDesc"),custom:_("DropdownListCustom"),custom_desc:_("DropdownListCustomDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.resetSortAndFilters(),e.p.format=null,e.updateData(),e.setSortFilterTabState()})},renderDataCustom:function(t){var e=this;this.eventBounds=!1,t.loaded||(t.ui.append(WidgetIN9.DataTab_Template),t.ui.addClass("ingroup"),this.sortableList=new SortableList({container:$(".ingroup_sortable_list_container",t.ui),object:this.p.data,property:"custom",onSortCallback:this.render.bind(this),onDeleteCallback:this.render.bind(this),minimumElement:2,columns:[{name:_("Label"),width:"250",classes:"button_name",cellFormat:function(e,t){var a=$("<input type='text'>");t.append(a),a.val(e[0]),a.on("change",function(){var t=$(this).val();e[0]=t})}},{name:_("Visualization_value"),width:"auto",classes:"button_value",cellFormat:function(e,t){var a=$("<input type='text'>");t.append(a),a.val(e[1]),a.on("change",function(){var t=$(this).val();e[1]=t})}}]}),t.ui.on("click",".addButton",function(){var t=[e.getNameLabel(),"0"];e.sortableList.addNewObject(t),e.render()}),t.loaded=!0)},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"radios.png",text:_("RadioButtons"),code:"buttons",renderer:this.getButtonsProperties.bind(this)}),t.push({icon:"legend.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.updateStyle.bind(this),a=t.addSection();t.addBoolean({section:a,label:_("DisplayTitle"),object:this.p.title,property:"display",callback:e}),t.addText({container:a,object:this.p.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({container:a,dropDown:!0,object:this.p.title,property:"font",callback:e}),t.addHorizontalAlign({container:a,label:_("HorizontalAlign"),object:this.p.title,property:"halign",callback:e}),t.addSeparator({container:a}),t.addColor({container:a,label:_("BackgroundColor"),object:this.p.title.background,property:"color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.title.background,property:"gradient",callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,label:_("BottomBorder"),object:this.p.title,property:"border",callback:e})},getBackgroundProperties:function(t){var e=this.updateStyle.bind(this);t.addColor({label:_("BackgroundColor"),object:this.p.container,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.container,property:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.container,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.container,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.container,property:"shadow",callback:e})},getButtonsProperties:function(t){var e=this,a=this.updateStyle.bind(this),i=(t.addSeparator({label:!0,text:_("UnselectedState")}),t.addSection().appendTo(t.ui.content)),i=(t.addBorder({container:i,object:this.p.radios.unselected_state,property:"border",callback:a}),t.addColor({container:i,label:_("ButtonColor"),object:this.p.radios.unselected_state,property:"button_color",callback:a}),t.addSlider({container:i,label:_("Gap"),object:this.p.radios.unselected_state,property:"gap",callback:a,interval:1,min:0,max:10,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({label:!0,text:_("SelectedState")}),t.addSection().appendTo(t.ui.content));t.addBorder({container:i,object:this.p.radios.selected_state,property:"border",callback:a}),t.addColor({container:i,label:_("ButtonColor"),object:this.p.radios.selected_state,property:"button_color",callback:a}),t.addSlider({container:i,label:_("Gap"),object:this.p.radios.selected_state,property:"gap",callback:a,interval:1,min:0,max:10,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addNumber({label:_("VerticalSpacingBetweenOptions"),object:this.p.radios,property:"vspacing",callback:function(){e.render()},min:0,max:30}),t.addBoolean({label:_("AnimationOnClick"),object:this.p.radios,property:"animation",callback:a,min:0,max:30})},getLabelsProperties:function(t){var e=this.updateStyle.bind(this),a=(t.addSeparator({label:!0,text:_("UnselectedState")}),t.addSection().appendTo(t.ui.content)),a=(t.addFont({container:a,dropDown:!0,object:this.p.labels.unselected_state,property:"font",callback:e}),t.addHorizontalAlign({container:a,label:_("HorizontalAlign"),object:this.p.labels.unselected_state,property:"halign",callback:e}),t.addSeparator({label:!0,text:_("SelectedState")}),t.addSection().appendTo(t.ui.content));t.addFont({container:a,dropDown:!0,object:this.p.labels.selected_state,property:"font",callback:e}),t.addHorizontalAlign({container:a,label:_("HorizontalAlign"),object:this.p.labels.selected_state,property:"halign",callback:e})},getNameLabel:function(){return _("IN9_ButtonName").format(this.p.data.custom.length+1)},destroy:function(){this._rendered=!1},updateUISelections:function(t,e){t.forEach(function(t){$(t.querySelector("label")).toggleClass("checked",e)})}})});
//# sourceMappingURL=IN9-radio-buttons.js.map

function _createForOfIteratorHelper(t,e){var a,i,o,n,l="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(l)return i=!(a=!0),{s:function(){l=l.call(t)},n:function(){var t=l.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==l.return||l.return()}finally{if(i)throw o}}};if(Array.isArray(t)||(l=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return l&&(t=l),n=0,{s:e=function(){},n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,i=new Array(e);a<e;a++)i[a]=t[a];return i}var LI={formulaInputs:function(t){var e=["data.formula","sort_filter.filters.formula","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula"];return"formula"===t.default_selection_type&&e.push("default_selection_formula"),e},formulaOutputs:["count","selectedcount","selectedvalues","selectedlabels","selectedvalue","selectedlabel"],noneOptionValue:"{#virtual-select-none-option#}",selectionTypes:[{label:_("SingleSelection"),value:"single"},{label:_("MultipleSelection"),value:"multiple"}],widgetPrototype:{_renderDefaultSelectionDynamicControl:function(t){var e=$("#prop_default_selection .dynamic_control");switch(e.empty(),t){case"specific":e.show(),this.rebuildDefaultSelectionDropdown();break;case"formula":this.rebuildDefaultSelectionFormula(e),e.show();break;default:e.hide()}},bindEvents:function(){var t=this;this._eventsBound||(this.createProperties(),this.on(["height","stylechanged","propertieschanged"],function(){t.render()}),this._eventsBound=!0)},canUpdateData:function(){return!this.p.data||"mixed"!==this.p.data.mode||!(Array.isArray(this.p.data_bindings)&&!this.p.data_bindings.length)&&void 0},createProperties:function(){this.createProperty("count"),this.createProperty("selectedcount"),this.createProperty("selectedvalues"),this.createProperty("selectedlabels"),this.createProperty("selectedvalue"),this.createProperty("selectedlabel")},feedDummyCustomData:function(){this.p.data.custom.length<1&&(this.p.data.custom=[["Label 1","Value 1"],["Label 2","Value 2"],["Label 3","Value 3"],["Label 4","Value 4"],["Label 5","Value 5"],["Label 6","Value 6"],["Label 7","Value 7"],["Label 8","Value 8"],["Label 9","Value 9"]])},filterCustomAndFormulaData:function(t){var t=t.slice(),e=this.p.sort_filter.filters.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{column_index:t.column_id,disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,operator:t.operator,value:t.formula_result}});return DashboardUtils.filterData(t,e)},getBackgroundValue:function(){return this.p.container.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.container.background_color,DashboardUtils.shadeBlend(null,this.p.container.background_color)):this.p.container.background_color},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},getContainerProperties:function(t){t.addColor({callback:this.updateStyle.bind(this),label:_("BackgroundColor"),object:this.p.container,property:"background_color"}),t.addBoolean({callback:this.updateStyle.bind(this),label:_("Gradient"),object:this.p.container,property:"gradient"}),t.addSeparator(),t.addBorder({callback:this.updateStyle.bind(this),object:this.p.container,property:"border"}),t.addSeparator(),t.addSlider({callback:this.updateStyle.bind(this),interval:1,label:_("RoundedCorners"),max:30,min:0,object:this.p.container,property:"roundness",valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({callback:this.updateStyle.bind(this),object:this.p.container,property:"shadow"}),t.addSeparator()},getCustomData:function(){return this.p.data.custom},getFormatTabs:function(){var t=[];return t.push({code:"container",icon:"dropdown-shape.png",renderer:this.getContainerProperties.bind(this),text:_("Container")}),t.push({code:"text",icon:"font.png",renderer:this.getTextProperties.bind(this),text:_("Text")}),t.push({code:"listoptions",icon:"list-options.png",renderer:this.getListOptionsProperties.bind(this),text:_("ListOptions")}),t},getLabelAndValueFromDataRow:function(t){var e,a;return Array.isArray(t)?(void 0!==t[0]||0===t[0]?e=t[0]:void 0===t[1]&&0!==t[1]||(e=t[1]),void 0!==t[1]||0===t[1]?a=t[1]:void 0===t[0]&&0!==t[0]||(a=t[0])):a=e=t,{label:e=!this.p.format&&this.valueType&&Utils.isDateType(this.valueType)?Utils.formatValue(e,DashboardUtils.applyFormat(this.p.format,this.valueType,this.internalType)):Utils.formatValue(e,this.p.format),value:a=Utils.utcTZtoDateString(a,this.valueType,this.internalType)}},init:function(){this.bindEvents(),this.feedDummyCustomData(),this.updateData()},rebuildDefaultSelectionDropdown:function(){var e=this;if($("#prop_default_selection .dynamic_control").append($('<div id="default_selection_dropdown"></div>')),this._from){for(var a=this,t=this.widgetData().map(function(t){return e.getLabelAndValueFromDataRow(t)}),i=$("#default_selection_dropdown"),o=this.p.specific_selection_values,n=0;n<o.length;n++)o=Utils.utcTZtoDateString(o,this.valueType,this.internalValueType);VirtualSelect.init({allowNoneOption:!1,disableSelectAll:!this.p.data.all_option_enabled,ele:i[0],hideClearButton:!0,itemsSelectedMessage:_("NItemsSelected"),keepAlwaysOpen:!1,multiple:this.p.allow_multiple_selection,noneOptionText:_("NoneLabel"),noOptionsText:"",noSearchResultsText:"",optionHeight:29,options:t,optionsCount:8,placeholder:this.p.allow_multiple_selection?_("ComboboxDefaultNonSelectedText"):_("NoneLabel"),search:!0,searchPlaceholder:_("Search"),selectAllText:_("SelectAll"),showDropboxAsPopup:!1,zIndex:60}),i.on("change",function(){var t=this.value;this.value===LI.noneOptionValue&&(t=null),Array.isArray(t)||(t=[t]),a.valueType&&(a.p.specific_selection_values=t),a.render()}),i[0].setValue(o,!0)}},rebuildDefaultSelectionFormula:function(t){var e=this;this.settings.Format.addFormulaInput({callback:function(){e.tryUpdate()},container:t,dashboard:this.settings._original_widget.dashboard,dropup:!0,grid:!0,label:_("DefaultSelection"),object:this.p,property:"default_selection_formula",widget:this})},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===t&&"mixed"===this.p.data.mode&&(a=!0),"formula"===this.p.data.mode&&DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula,e)&&(a=!0),"formula"===this.p.default_selection_type&&DashboardUtils.checkFormulaDataCloneDependency(this.p.default_selection_formula,e)&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"mixed"===this.p.data.mode&&this.p.data_id)for(var i=0;i<this.p.sort_filter.filters.length;i++){var o=this.p.sort_filter.filters[i];if(o.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(o.formula,e)){a=!0;break}}a&&this.tryUpdate()},renderComponent:function(e){var t,i=this,a=this,o=(this._rendered?this._list=$("div",this.ui):this._list=$("<div>").appendTo(this.ui),this.widgetData()),n=("mixed"!==this.p.data.mode&&(o=this.filterCustomAndFormulaData(o)),(o="mixed"!==this.p.data.mode?this.sortCustomAndFormulaData(o):o).map(function(t){return i.getLabelAndValueFromDataRow(t)})),l=function(t,e){var a;i.p.allow_multiple_selection?(i.selectedcount=t?t.length:0,i.selectedvalues=t||[],i.selectedvalue=0<i.selectedvalues.length?i.selectedvalues[0]:null):(i.selectedcount=t?1:0,i.selectedvalues=t?[t]:[],i.selectedvalue=t),i.selectedlabels=!e||(a=e,0===(a=Array.isArray(a)?a:[a]).length)?[]:(a=a.map(function(t){return parseInt(t)}),n.length===a.length?n.map(function(t){return t.label}):n.filter(function(t,e){return a.includes(e)}).map(function(t){return t.label})),i.selectedlabel=0<i.selectedlabels.length?i.selectedlabels[0]:null},o=8,r=2*this.p.font.size+1;this.count=n.length,VirtualSelect.init({addSeachToSelection:this.p.search_add_to_selection,addSearchToSelectionText:_("AddToSelection"),allowNoneOption:this.p.data.none_option_enabled,disableSelectAll:!this.p.data.all_option_enabled,dropboxWidth:e||"selection"===i.p.dropdown_width_type?"":"custom"===i.p.dropdown_width_type?"".concat(i.p.dropdown_width,"px"):(t=n.map(function(t){return t.label}).filter(function(t){return!!t}).reduce(function(t,e){return t.length>e.length?t:e},""),t=Math.ceil(DashboardUtils.measureText(t,i.p.font.family,i.p.font.size,i.p.font.font_weight===Enums.FontWeights.Bold,i.p.font.italic)),t+=16,i.p.allow_multiple_selection&&i.p.display_checkboxes&&(t+=17),n.length>o&&(t+=10),"".concat(t,"px")),ele:this._list[0],hideClearButton:!this.p.data.none_option_enabled,itemsSelectedMessage:Utils.sanitizeHTML(this.p.selected_items_label)||_("NItemsSelected"),keepAlwaysOpen:e,multiple:this.p.allow_multiple_selection,noneOptionText:Utils.sanitizeHTML(this.p.data.none_option_label)||_("NoneLabel"),noOptionsText:"",noSearchResultsText:_("NoMatchingElement"),optionHeight:r,options:n,optionsCount:e?Math.ceil((this.ui.height()-42)/r):o,placeholder:this.p.allow_multiple_selection?Utils.sanitizeHTML(this.p.no_selection_label)||_("ComboboxDefaultNonSelectedText"):Utils.sanitizeHTML(this.p.data.none_option_label)||_("NoneLabel"),search:this.p.search_enabled,searchPlaceholder:Utils.sanitizeHTML(this.p.search_placeholder)||_("Search"),selectAllText:Utils.sanitizeHTML(this.p.data.all_option_label)||_("SelectAll"),selectedValue:function(){var t=null;if(i.dashboard&&!i.dashboard.in_editor&&i.remember_selection&&!i._rendered){var e=sessionStorage.getItem("widget-state-".concat(i.guid));if(e=e&&JSON.parse(e))return e.selection}switch(i.p.default_selection_type){case"all":t=n.map(function(t){return t.value});break;case"first":t=n&&0<n.length?n[0].value:[];break;case"specific":case"last_selected":t=i.p.specific_selection_values;break;case"none_element":t=LI.noneOptionValue;break;case"formula":t=void 0!==i.p.default_selection_formula_result&&null!==i.p.default_selection_formula_result||0===i.p.default_selection_formula_result?i.p.default_selection_formula_result:null,t=Utils.utcTZtoDateString(t,i.valueType,i.internalValueType);break;case"none":t=[]}return null===t&&l(null,null),t}(),showDropboxAsPopup:!1,showSelectedOptionsFirst:this.p.move_selected_to_top}),e&&(this.adjustListHeight(e),this.p.search_enabled&&($(".vscomp-search-input",this.ui).on("keyup",function(){var t=$(".vscomp-search-input",i.ui);i.p.search_enabled&&t&&t.val()?i.adjustListHeight(e,!0):i.adjustListHeight(e)}),$(".vscomp-search-clear",this.ui).on("click",function(){i.adjustListHeight(e)})));e||(this._list.on("opened",function(){setTimeout(function(){i.container.css("zIndex",99999),i.container.addClass("opened")},50)}),this._list.on("closed",function(){i.container.css("zIndex",i.model.zindex),i.container.removeClass("opened")})),this._list.on("change",Utils.debounce(function(){var t=this.value,e=this.index;a._rendered&&a.updateState(t),this.value===LI.noneOptionValue&&(t=e=null),l(t,e),e=t,"last_selected"===i.p.default_selection_type&&(i.setModifiedState(),Array.isArray(e)||(e=[e]),i.p.specific_selection_values=e),a.resetPendingState()},500)),this.updateStyle(),this._loaded=!0,setTimeout(function(){i._rendered=!0},600)},adjustListHeight:function(t,e){t&&(t=0,this.p.search_enabled&&(t+=40,e&&(t+=40)),this.p.data.all_option_enabled&&this.p.allow_multiple_selection&&(t+=40),$(".vscomp-options-container",this.ui).css("max-height",this.ui.height()-t))},renderDataBindings:function(t){var e=this,a=new Settings.Data.Bindings(t);a.area_column_limits.Value=1,a.area_column_limits.Label=1,a.render([{area:"Label",height_ratio:.5,name:_("Label"),placeholder:_("DropLabelColumnHere")},{area:"Value",height_ratio:.5,name:_("Value"),placeholder:_("DropOptionalValueHere")}],{count:!1,dateGrouping:!1}),this.on("updatedatasuccess",function(){e.renderDefaultSelection()}),a.on("bindingCleared",function(){e.resetSortAndFilters()}),a.on("bindingRemoved",function(t){e.resetSortAndFilters(t,!1),e.updateData(),e.tryUpdate()}),a.ui.data_columns_list.off("click","li.datacolumn:not(.disabled):not(.calculated)").on("click","li.datacolumn:not(.disabled):not(.calculated)",function(){var t=parseInt($(this).attr("data-column-id")),e=a.ui.drop_areas.find('[data-area="{0}"]'.format("Value"));a._checkAreaBindings(e,t,function(){a.createBinding("Value",t)})})},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("DropdownCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.render({callback:function(){e.resetSortAndFilters(),e.render(),e.rebuildDefaultSelectionDropdown()},fixed_columns:!0,object:this.p.data,property:"custom"})},renderDataFormula:function(t){var e=this,t=t.ui;t.append($("<header>").text(_("LI4FormulaDataHeader"))),this.settings.Format.addFormulaInput({callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()},container:t,dashboard:this.settings._original_widget.dashboard,label:_("Formula"),object:this.p.data,property:"formula",widget:this})},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"custom":this.renderDataCustom(t);break;case"formula":this.renderDataFormula(t);break;case"mixed":this.renderDataBindings(t)}this.current_data_mode=this.p.data.mode}t.ui.addClass("propertiesContainer"),t.ui.toggleClass("dataCustom","custom"===this.p.data.mode);var e=$(".li_additional_properties",t.ui);0<e.length||(e=$('<div class="properties li_additional_properties"></div>'),t.ui.append(e)),this.renderDefaultSelection(e)},renderDefaultSelection:function(t){var e=this,a=$("#li_default_selection_container"),t=(0<!a.length&&(a=$('<div id="li_default_selection_container"></div>'),t.append(a)),a.empty(),[]);this.p.allow_multiple_selection?(t.push({label:_("NoSelection"),value:"none"}),this.p.data.all_option_enabled&&t.push({label:_("AllItems"),value:"all"})):this.p.data.none_option_enabled&&t.push({label:_("SelectNoneItem"),value:"none_element"}),t.push({label:_("FirstItem"),value:"first"}),t.push({label:_("LastSelectedItem"),value:"last_selected"}),t.push({label:_("SpecificItems"),value:"specific"}),t.push({label:_("Formula"),value:"formula"}),this.settings.Format.addDropdownDynamic({callback:function(t){e.p.default_selection_type=t.value,e.render()},combobox:{dataprovider:t},container:a,containerClass:"default_selection_container",dynamicControlRenderer:function(t){e._renderDefaultSelectionDynamicControl(t.value)},id:"default_selection",label:_("DefaultSelection"),object:this.p,property:"default_selection_type"}),this._renderDefaultSelectionDynamicControl(this.p.default_selection_type)},renderFilter:function(t){var r=this,i=new Settings.SortFilter.Filter(t);i.getFilterColumns=function(n){var l=[];switch(r.p.data.mode){case"mixed":t.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){l=[];for(var e=0;e<r.p.data_bindings.length;e++){var a=r.p.data_bindings[e],i=r.getColumnFromId(t.columns,a.column_id);i&&l.push({aggregation:a.aggregation,aggregationLabel:a.aggregation?_("Aggregation_".concat(a.aggregation)):null,column_id:i.id,icon:DashboardUtils.getIconForColumnType(i.type),is_context:i.is_context||!1,is_used:!0,label:a.name||i.name,value:"".concat(i.id).concat(a.aggregation||"")})}(l=l.filter(function(t){return!t.is_context})).push({sep:!0});var o=t.columns.concat(r.p.calculated_columns||[]).filter(function(t){return!t.is_context});l=l.concat(o.map(function(t){return{column_id:t.id,icon:DashboardUtils.getIconForColumnType(t.type),is_context:t.is_context||!1,label:t.name,value:t.id}})),n(l)});break;case"custom":case"formula":l=[{icon:DashboardUtils.getIconForColumnType(),label:_("Labels"),value:0},{icon:DashboardUtils.getIconForColumnType(),label:_("Values"),value:1}],n(l)}return l},i.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().value,i.updateOperatorDropdown(t,a),i.updateDataCallback()},i.getDataCloneId=function(){return r.p.data_id},i.updateDataCallback=function(){r.updateData(),r.tryUpdate()},i.render()},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),this.settings.Format.addBoolean({callback:this.render.bind(this),container:t.ui,label:_("MoveSelectedToTop"),object:this.p,property:"move_selected_to_top"}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))],label:_("InteractionType_WhenHovering"),object:this.p.interactions,onChange:this.handleTooltipState.bind(this),property:"onhover"})},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>           <span>{{ based_on_label }}</span>           <ul class="multiple_labels">               <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>               <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_upload" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>               <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>           </ul>           </div>',{based_on_label:_("BasedOn"),custom:_("DropdownListCustom"),custom_desc:_("DropdownListCustomDesc"),data:_("Data"),data_desc:_("DropdownListDataDesc"),formula:_("Formula"),formula_desc:_("DropdownListFormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.resetSortAndFilters(),e.p.format=null,e.updateData(),e.setSortFilterTabState()})},renderSort:function(t){var r=this,e=new Settings.SortFilter.Sort(t);e.getSortColumns=function(n){var l=[];switch(r.p.data.mode){case"mixed":t.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){l=[];for(var e=0;e<r.p.data_bindings.length;e++){var a=r.p.data_bindings[e],i=r.getColumnFromId(t.columns,a.column_id);i&&l.push({aggregation:a.aggregation,aggregationLabel:a.aggregation?_("Aggregation_".concat(a.aggregation)):null,column_id:i.id,icon:DashboardUtils.getIconForColumnType(i.type),is_context:i.is_context||!1,is_used:!0,label:a.name||i.name,value:"".concat(i.id).concat(a.aggregation||"")})}l.push({sep:!0});var o=t.columns.concat(r.p.calculated_columns||[]);l=l.concat(o.map(function(t){return{column_id:t.id,icon:DashboardUtils.getIconForColumnType(t.type),is_context:t.is_context||!1,label:t.name,value:t.id}})),n(l)});break;case"custom":case"formula":l=[{label:_("Labels"),value:0},{label:_("Values"),value:1}],n(l)}},e.updateDataCallback=function(){t._isDirty=!0,r.updateData()},e.render()},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},resetState:function(t,e){this._list&&this._list[0].setValue(t.selection,e),this.pending_state=t},resolveDefaultSelectionFormula:function(e){var a=this;FormulaUtils.evaluateFormula({errorCallback:function(){e()},formula:this.p.default_selection_formula,sucessCallback:function(t){a.p.default_selection_formula_result=t,e()},widget:this})},setSample:function(){this._Data=this.p.data.custom},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","formula"===this.p.data.mode||"mixed"===this.p.data.mode&&!this.p.data_id)},sortCustomAndFormulaData:function(t){var e;return this.p.sort_filter.sorts.find(function(t){return null!==t.column})?(e=$.extend(!0,[],t),DashboardUtils.sortData(e,this.p.sort_filter.sorts),e):t},updateData:function(){switch(this.p.data.mode){case"formula":this.tryUpdate();break;case"mixed":0<this.p.data_bindings.length?this.tryUpdate():(this.setSample(),this.rendered||this.render());break;default:this.valueType="System.String";var t=this.render.bind(this);"formula"===this.p.default_selection_type?this.resolveDefaultSelectionFormula(t):t()}},updateService:function(){return"mixed"!==this.p.data.mode?"Formulas":"LIData"},updateServiceError:function(){this.count=0,this.selectedvalues=[],this.selectedvalue=null,this.selectedlabels=[],this.selectedlabel=null},updateServiceSuccess:function(t){this.valueType="System.String";var e=this.render.bind(this);switch(this.p.data.mode){case"formula":this.p.data.formula_result=t[0].value,"formula"===this.p.default_selection_type&&1<t.length&&(this.p.default_selection_formula_result=t[1].value||0===t[1].value?t[1].value:"");for(var a=t.splice(1,t.length),i=0;i<this.p.sort_filter.filters.length;i++)this.p.sort_filter.filters[i].formula_result=a[i].value;e();break;case"mixed":var o=Utils.arrayFirst(this.p.data_bindings,function(t){return"Value"===t.area})||Utils.arrayFirst(this.p.data_bindings,function(t){return"Label"===t.area}),n=Utils.arrayFirst(t.columns,function(t){return t.id===o.column_id});this.valueType=n.type,this.internalType=n.internal_type,this._Data=t.data,this.p.default_selection_formula_result=t.default_selection_formula_result||0===t.default_selection_formula_result?t.default_selection_formula_result.value:"","specific"===this.p.default_selection_type&&this.rebuildDefaultSelectionDropdown(),e();break;default:this.resolveDefaultSelectionFormula(e)}},updateState:function(t){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selection:t})},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family),$(this.ui).css({background:this.getBackgroundValue(),border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.container.shadow),color:this.p.font.color,"font-family":this.p.font.family,"font-style":this.p.font.italic?"italic":"normal","font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"text-decoration":this.p.font.underline?"underline":"none","text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"});var t=[],e=["color: ".concat(this.p.font.color),"font-size: ".concat(this.p.font.size,"px"),"font-family: ".concat(this.p.font.family)],a=(t[".vscomp-wrapper"]=e.join(";"),.7*this.p.font.size),a=(t[".vscomp-arrow::after"]=["border-right-color: ".concat(this.p.font.color),"border-bottom-color: ".concat(this.p.font.color),48<this.p.font.size?"width:".concat(a,"px;"):""].join(";"),38<this.p.font.size&&(t[".vscomp-clear-button"]="right: ".concat(a-5,"px"),t[".vscomp-arrow"]="width:".concat(a,"px;"),t[".vscomp-toggle-button"]="padding: 0 ".concat(a,"px 0 8px; overflow: hidden")),t[".checkbox-icon"]="display: ".concat(this.p.display_checkboxes?"inline-flex":"none !important"),this.p.display_checkboxes||(t[".vscomp-wrapper.multiple .vscomp-option .vscomp-option-text"]="width: 100%",t[".vscomp-wrapper-body.multiple .vscomp-option .vscomp-option-text"]="width: 100%"),t[".vscomp-dropbox"]=["background: ".concat(this.getBackgroundValue()),"border: ".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color)].join(";"),t[".vscomp-search-input"]=e.join(";"),DashboardUtils.parseRGBA(this.p.font.color));t[".vscomp-option.selected"]="background-color: rgba(".concat(a.r,",").concat(a.g,", ").concat(a.b,",0.1)"),t[".vscomp-option.focused"]="background-color: rgba(".concat(a.r,",").concat(a.g,", ").concat(a.b,",0.05)"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},widgetData:function(){var t;switch(this.p.data.mode){case"custom":if((t=this.p.data.custom).every(function(t){return 0<t.length&&""===t[1]})||t.every(function(t){return 0<t.length&&null===t[1]})){var e,a=_createForOfIteratorHelper(t);try{for(a.s();!(e=a.n()).done;){var i=e.value;i[1]=i[0]}}catch(t){a.e(t)}finally{a.f()}}break;case"formula":t=this.p.data.formula_result,Array.isArray(t)||(t=[t]);break;case"mixed":t=this._Data||this._from&&this._from._Data?this._Data||this._from&&this._from._Data:this.p.data.custom}return t}}};
//# sourceMappingURL=LI-V2.js.map

Widget.createType({id:"LI3",options:{min_width:50,min_height:60,width:150,height:200,layer:!0,hasStyleProperty:!0,formula_input:function(e){var t=["data.formula"];return"formula"===e.default_selection_type&&t.push("default_selection_formula"),t.push("sort_filter.filters.formula"),t.push("calculated_columns.formula"),t.push("interactions.ondblclick.parameters.parameters.formula"),t},formula_output:["count","selectedcount","selectedvalues","selectedlabels","selectedvalue","selectedlabel"]},properties:{style:"",search_enabled:!1,search_placeholder:null,allow_multiple_selection:!1,display_checkboxes:!0,move_selected_to_top:!1,default_selection_type:"last_selected",default_selection_formula:"",specific_selection_values:[],format:null,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(0,0,0,1)"},data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",formula:"",custom:[],all_option_enabled:!0,all_option_label:null,none_option_label:null,none_option_enabled:!0},container:{background_color:"rgba(255,255,255,1)",gradient:!1,border:{width:1,color:"rgba(156,166,166,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:0},interactions:{ondblclick:null,onhover:null},sort_filter:{sorts:[],filters:[]}},prototype:$.extend(!0,{},WidgetLI.prototype,{generate_element:function(e,t){var i=t?e:Utils.formatValue(e,this.p.format),t=(t&&this.valueType&&Utils.isDateType(this.valueType)&&(i=Utils.formatValue(e,DashboardUtils.applyFormat(this.p.format,this.valueType,this.internalType))),document.createElement("li")),e=document.createElement("label"),l=(t.appendChild(e),document.createElement("input")),l=(l.setAttribute("type",this.p.allow_multiple_selection?"checkbox":"radio"),l.setAttribute("name",this.guid),e.appendChild(l),document.createElement("div")),n=(e.appendChild(l),document.createElement("i")),n=(n.classList.add("checkboxIcon"),n.classList.add("fa"),l.appendChild(n),document.createElement("span"));return n.innerHTML=i,e.title=i,l.appendChild(n),t},get_data_element_template:function(e,t,i){return null==t?this.get_empty_data_element_template():this.generate_element(e,i)},get_empty_data_element_template:function(){return this.generate_element("&nbsp;",!1)},init:function(){this.bindEvents(),this.feedDummyCustomData(),"formula"===this.p.data.mode||"mixed"===this.p.data.mode?this.updateData():this.render()},createProperties:function(){this.createProperty("count"),this.createProperty("selectedcount"),this.createProperty("selectedvalues"),this.createProperty("selectedlabels"),this.createProperty("selectedvalue"),this.createProperty("selectedlabel")},updateSelectionOutputProperties:function(){for(var e=this._lis.filter(function(e){return!e.classList.contains("select-all")&&!e.classList.contains("none-element")&&null!==e.querySelector("input").getAttribute("checked")&&"checked"===e.querySelector("input").getAttribute("checked")}),t=(this.selectedcount=e.length,[]),i=[],l=0;l<e.length;l++){t.push(e[l].getAttribute("data-label"));var n=e[l].getAttribute("data-value");i.push(n="{#DB.NULL#}"===n?null:n)}this.selectedlabels=t,this.selectedvalues=i,0<e.length&&0<this.selectedlabels.length?this.selectedlabel=this.selectedlabels[0]:this.selectedlabel=null,0<e.length&&0<this.selectedvalues.length?this.selectedvalue=this.selectedvalues[0]:this.selectedvalue=null},setSample:function(){this._Data=this.p.data.custom,this.render()},resetState:function(e){for(var t=this,i=0;i<t._lis.length;i++)t._lis[i]&&t._lis[i].querySelector("input").removeAttribute("checked");e.selectedIndexes&&e.selectedIndexes.forEach(function(e){t._lis[e]&&t._lis[e].querySelector("input").setAttribute("checked","checked")}),this.p.allow_multiple_selection&&this.p.data.all_option_enabled&&e.selectedIndexes&&e.selectedIndexes.length===this._lis.length-1&&t._lis[0]&&t._lis[0].querySelector("input").setAttribute("checked","checked"),this.refreshUI(),this.updateSelectionOutputProperties(),this.pending_state=e},updateState:function(){var t=this,i=[];this._lis.filter(function(e){return e.querySelector("input").getAttribute("checked")&&"checked"===e.querySelector("input").getAttribute("checked")}).forEach(function(e){e=t._lis.indexOf(e);t.p.allow_multiple_selection&&t.p.data.all_option_enabled&&0===e||i.push(e)}),this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedIndexes:i})},updateSelectAllOption:function(){var e=!0,t=this.ui[0].querySelectorAll("ul li:not(.hidden):not(.select-all) input");if(0<t.length){for(var i=0;i<t.length;i++)if(null===t[i].getAttribute("checked")||"checked"!==t[i].getAttribute("checked")){e=!1;break}}else e=!1;var l=this.ui[0].querySelector(".select-all input");e?l&&l.setAttribute("checked","checked"):l&&l.removeAttribute("checked")},bindEvents:function(){var e=this;this._eventsBound||(this.createProperties(),this.on("propertieschanged",function(){e.render()}),this.on("stylechanged",function(){e.render()}),this.on("fontchanged",function(){this.render()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.on("height",function(){e.render()}),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var l=this;this.ui.on("click",".select-all",function(e){l.updateUISelections(l._lis,!$(this).find("input").prop("checked")),l.updateDefaultSelection(),l.updateSelectionOutputProperties(),l.updateState(),e.stopPropagation()}),this.ui.on("change","li input",function(){var e=$(this).prop("checked"),t=$(this).closest("li").attr("original-index"),i=l._lis.filter(function(e){return e.getAttribute("original-index")&&e.getAttribute("original-index")===t});l.p.allow_multiple_selection||l.updateUISelections(l._lis,!1),l.updateUISelections(i,e),l.updateDefaultSelection(),l.updateSelectionOutputProperties(),l.updateState()}),this.ui.on("keyup change",".search-container input",Utils.debounce(function(){var e=$(this).val().toLowerCase();l.searchItems(e)},200)),this.ui.on("change","li:not(.none-element):not(.select-all) input",function(){l.p.move_selected_to_top&&(l.p.allow_multiple_selection?l._lis.sort(function(e,t){e=$(e),t=$(t);return e.hasClass("select-all")&&!t.hasClass("select-all")?-1:!e.hasClass("select-all")&&t.hasClass("select-all")?1:e.find("input").is(":checked")&&!t.find("input").is(":checked")?-1:!e.find("input").is(":checked")&&t.find("input").is(":checked")?1:parseInt(e.attr("original-index"))-parseInt(t.attr("original-index"))}):l._lis.sort(function(e,t){e=$(e),t=$(t);return e.hasClass("none-element")&&!t.hasClass("none-element")?-1:!e.hasClass("none-element")&&t.hasClass("none-element")?1:e.find("input").is(":checked")&&!t.find("input").is(":checked")?-1:!e.find("input").is(":checked")&&t.find("input").is(":checked")?1:parseInt(e.attr("original-index"))-parseInt(t.attr("original-index"))}),l.refreshUI()),l.p.data.all_option_enabled&&l.updateSelectAllOption()}),this.ui.on("input keydown",".search-container input",function(e){e.which===$.ui.keyCode.BACKSPACE&&e.stopPropagation()}),this.ui.on("click","li",function(e){var t;l.p.allow_multiple_selection&&e.shiftKey&&(t=$(e.target).closest("li"),e=l._lis.filter(function(e){return $(e).attr("data-value")&&$(e).attr("data-value")===t.attr("data-value")}),l.updateUISelections(l._lis,!1),l.updateUISelections(e,!0),l.updateDefaultSelection(),l.updateSelectionOutputProperties(),l.updateState())})},render:function(){var e,t,i=this,l=this,n=(this._rendered?e=$("ul",this.ui):(t=$('<div class="viewport"></div>'),n=$('<div class="viewport-container"></div>').append(t),e=$("<ul>").appendTo(t),this.ui.append(n),t.setOverlayScrollbar({callbacks:{onScroll:function(){l._scrollPol=this.scroll().position.y,l._cluster.updatePosition(Math.abs(this.scroll().position.y))}}})),this.updateSearchInput(),this.handleTooltipState(),this.widgetData());this._lis=[],n&&0<n.length?this.count=this.appendDataToList(n,e,this.get_data_element_template.bind(this),!0,this.valueType,this.internalType):(e.empty(),this.count=0),this.buildClusterItems(),$(".select-all",this.ui).remove(),$(".none-element",this.ui).remove(),Utils.arrayRemove(this._lis,function(e){return"select-all"===e.className}),Utils.arrayRemove(this._lis,function(e){return"none-element"===e.className}),this.p.allow_multiple_selection&&this.p.data.all_option_enabled&&!this.hasTooManyRows?(t=this.p.data.all_option_label||_("SelectAll"),(n=this.get_data_element_template.call(this,t,t,!0)).classList.add("select-all"),this._lis.unshift(n)):!this.p.allow_multiple_selection&&this.p.data.none_option_enabled&&(e=this.p.data.none_option_label||_("NoneLabel"),(t=this.get_data_element_template.call(this,e,e,!0)).classList.add("none-element"),this._lis.unshift(t)),null!=this._searchString&&this.searchItems(this._searchString),this.getAndApplyWidgetSelection(function(){i.applyDefaultSelection(i),i.resetPendingState()}),this.updateSelectionOutputProperties(),this.updateStyle(),OverlayScrollbars($(".viewport",l.ui)).scroll({y:(l._scrollPol||0)+1}),this.updateState(),this._rendered=!0,this._loaded=!0},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family),this.ui.find(".dropdown-menu").css({left:-this.p.container.border.value,top:this.container.outerHeight()-this.p.container.border.value});var e=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),e=($(this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal",border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":e}),$(".os-scrollbar-vertical",this.ui).css({"border-width":this.p.container.border.width||0,"border-left-width":this.p.container.border.width?1:0,"border-color":this.p.container.border.color}),$("ul",this.ui).toggleClass("invisible-checkboxes",!this.p.allow_multiple_selection||this.p.allow_multiple_selection&&!this.p.display_checkboxes),DashboardUtils.parseRGBA(this.p.font.color));$(".search-container",this.ui).css({"border-color":"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.3,")"),"font-size":"".concat(Math.min(this.p.font.size,30),"px")}),this.injectElementsCSS(e)},updateSearchInput:function(){var e;this.p.search_enabled&&0===$(".search-container",this.ui).length?((e=$('<div class="search-container"></div>')).insertBefore($(".viewport-container",this.ui)),e.append($('<input type="text" class="cd-input" placeholder="{0}"/>'.format(this.p.search_placeholder||_("Search"))))):this.p.search_enabled?(e=$(".search-container",this.ui),$("input",e).attr("placeholder",this.p.search_placeholder||_("Search"))):$(".search-container",this.ui).remove()},applyDefaultSelection:function(){var e=[],i=null;switch(this.p.default_selection_type){case"all":e=this.p.allow_multiple_selection&&this.p.data.all_option_enabled&&1===this._lis.length?[]:this._lis;break;case"specific":case"last_selected":i=this.p.specific_selection_values,i=this.convertSelectionToProperType(i,this.valueType,this.internalType),e=this._lis.filter(function(e){if($(e).attr("data-value")||"0"===$(e).attr("data-value"))return-1<i.indexOf($(e).attr("data-value"))});break;case"formula":i=this.p.default_selection_formula_result||0===this.p.default_selection_formula_result?this.p.default_selection_formula_result:"";i=this.convertSelectionToProperType(i,this.valueType,this.internalType),e=this._lis.filter(function(e){return($(e).attr("data-value")||"0"===$(e).attr("data-value"))&&(t=i,e=e,$.isArray(t)?-1<t.indexOf($(e).attr("data-value")):$(e).attr("data-value")==="".concat(t));var t});break;case"first":var t=this.widgetData(),l=this.getLabelAndValueFromDataRow(t[0]).value,l=this.convertSelectionToProperType(l,this.valueType,this.internalType);e=this._lis.filter(function(e){return $(e).attr("data-value")===l.toString()})}this.p.allow_multiple_selection&&this.p.data.all_option_enabled&&e.length===this._lis.length-1&&(e=this._lis),this.updateUISelections(e,!0)},injectElementsCSS:function(e){var t={};t[".ui ul li label > div"]="color: ".concat(this.p.font.color,";                                                    font-size: ").concat(this.p.font.size,"px;                                                    text-shadow: ").concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";                                                    text-decoration: ").concat(this.p.font.underline?"underline":"none",";                                                    font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";                                                    font-style: ").concat(this.p.font.italic?"italic":"normal",";"),t[".ui .search-container input"]="border-color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,");"),t[".ui .search-container input::-webkit-input-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,");"),t[".ui .search-container input:-moz-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,");"),t[".ui .search-container input::-moz-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,");"),t[".ui .search-container input:-ms-input-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,");"),t[".ui .search-container input:focus"]="border-color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");                                                                                 color: ")+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");"),t[".ui .search-container input:focus::-webkit-input-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");"),t[".ui .search-container input:focus:-moz-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");"),t[".ui .search-container input:focus::-moz-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");"),t[".ui .search-container input:focus:-ms-input-placeholder"]="color: "+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",1,");"),t[".ui ul li label:hover > div"]="background-color:"+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.05,");"),t[".ui ul li label input:checked + div"]="background-color:"+"rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.1,");"),t[".ui ul li .checkboxIcon"]="width:".concat(this.p.font.size,"px"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},repositionListElement:function(e,t){var i,l=e.data("original-index"),n=(t?$("ul li:not(.select-all):not(.none-element) input:checked",this.ui):$("ul li:not(.select-all):not(.none-element) input:not(:checked)",this.ui)).closest("li").not(e);if(0<n.length){for(var a=0;a<n.length;a++)(!i||Math.abs($(n[a]).data("original-index")-l)<Math.abs($(i).data("original-index")-l))&&(i=n[a]);l<$(i).data("original-index")?e.insertBefore(i):e.insertAfter(i)}else{var o=$("li.select-all",this.ui)[0]||$("li.none-element",this.ui)[0];t?o?e.insertAfter(o):e.prependTo($("ul",this.ui)):e.appendTo($("ul",this.ui))}},updateDefaultSelection:function(){if(this.setModifiedState(),"last_selected"===this.p.default_selection_type){var e=$("ul li:not(.select-all):not(.none-element) input:checked",this.ui).closest("li");this.p.specific_selection_values=[];for(var t=0;t<e.length;t++)this.p.specific_selection_values.push($(e[t]).attr("data-value"))}},getTextProperties:function(e){e.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),this.p.allow_multiple_selection&&(e.addSeparator(),e.addBoolean({label:_("DisplayCheckboxes"),object:this.p,property:"display_checkboxes",callback:this.updateStyle.bind(this)}),e.addSeparator()),e.addFormat({label:_("Format"),object:this.p,property:"format",callback:this.render.bind(this)}),e.addSeparator()},destroy:function(){this._rendered=!1},getListOptionsProperties:function(t){var i=this,e=this,l={type:this.p.allow_multiple_selection?"multiple":"single"},n=this.render.bind(this),a=(t.addDropdown({label:_("SelectionType"),object:l,property:"type",combobox:{dataprovider:WidgetLI4.SelectionType},callback:function(){e.p.allow_multiple_selection="multiple"===l.type,o(),n()}}),t.addSection().addClass("nomargin").appendTo(t.ui.content)),o=function(){var e;a.empty(),i.p.allow_multiple_selection?(t.addBoolean({container:a,label:_("DisplayCheckboxes"),object:i.p,property:"display_checkboxes",callback:n}),e=t.addSection(),t.addBoolean({container:a,section:e,label:_("DisplayAllOption"),object:i.p.data,property:"all_option_enabled",callback:n}),t.addText({container:e,object:i.p.data,property:"all_option_label",label:_("SelectAllMessage"),placeholder:_("SelectAll"),callback:n,event:"focusout"})):(e=t.addSection(),t.addBoolean({container:a,section:e,label:_("AllowNoSelection"),object:i.p.data,property:"none_option_enabled",callback:n}),t.addText({container:e,object:i.p.data,property:"none_option_label",label:_("NoneSelectedMessage"),placeholder:_("NoneLabel"),callback:n,event:"focusout"})),t.addSeparator({container:a})},s=(o(),t.addSection());t.addBoolean({section:s,label:_("EnableSearch"),object:this.p,property:"search_enabled",callback:n}),t.addText({container:s,object:this.p,property:"search_placeholder",label:_("SearchPlaceholderLabel"),placeholder:_("Search"),callback:this.updateSearchInput.bind(this),event:"focusout"}),t.addSeparator()},buildClusterItems:function(e,t,i){e=e||$(".viewport",this.ui),t=t||$("ul",this.ui),(i=i||Math.round((e.height()||this.height)/(2*this.p.font.size+2)))%2!=0&&i++,this.initCluster(e,t,i)},initCluster:function(e,t,i){this._cluster=new Clusterize({rows:this.getHtmlContent(),scrollElem:e[0],contentElem:t[0],rows_in_block:i})},refreshUI:function(e){this._cluster.update(this.getHtmlContent(e))},displaySearchItems:function(e){this._cluster.update(this.getHtmlContent(e))},getHtmlContent:function(e){return(e=e||this._searchLis||this._lis).map(function(e){return e.outerHTML})},updateUISelections:function(e,t){e.forEach(function(e){e=e.querySelector("input");t?e.setAttribute("checked","checked"):e.removeAttribute("checked","checked")}),this.refreshUI()},searchItems:function(e){var t=this;""!==e.trim()?(this._searchString=e.trim(),e=this._lis.filter(function(e){return null!=e.getAttribute("data-value")&&(-1<e.getAttribute("data-value").toLowerCase().indexOf(t._searchString)||-1<e.getAttribute("data-label").toLowerCase().indexOf(t._searchString))}),this._searchLis=e,this.refreshUI(e)):(this._searchString=null,this._searchLis=null,this.refreshUI())}})});
//# sourceMappingURL=LI3-list.js.map

var WidgetLI4={get_data_element_template:function(e,t,o){var n=o?e:Utils.formatValue(e,this.p.format);return o&&this.valueType&&Utils.isDateType(this.valueType)&&(n=Utils.formatValue(e,DashboardUtils.applyFormat(null,this.valueType,this.internalType))),t=null!==t?Utils.utcTZtoDateString(t,this.valueType,this.internalType):"{#DB.NULL#}",$("<option>").attr("value",t).text(Utils.isEmpty(e)?" ":n).data({label:e,value:t})},SelectionType:[{value:"single",label:_("SingleSelection")},{value:"multiple",label:_("MultipleSelection")}],DropdownWidthType:[{label:_("SameAsSelection"),value:"selection"},{label:_("LargestItem"),value:"fit"},{label:_("CustomWidth"),value:"custom"}]};Widget.createType({id:"LI4",options:{min_width:100,width:200,height:30,min_height:20,max_height:100,layer:!0,hasStyleProperty:!0,formula_input:function(e){var t=["data.formula"];return"formula"===e.default_selection_type&&t.push("default_selection_formula"),t.push("sort_filter.filters.formula"),t.push("calculated_columns.formula"),t.push("interactions.ondblclick.parameters.parameters.formula"),t},formula_output:["count","selectedcount","selectedvalues","selectedlabels","selectedvalue","selectedlabel"]},styles:["/Dashboard/Scripts/Widgets/WidgetDropdown.css"],properties:{style:"",search_enabled:!1,search_placeholder:null,selected_items_label:null,allow_multiple_selection:!1,display_checkboxes:!0,no_selection_label:null,move_selected_to_top:!1,default_selection_type:"last_selected",default_selection_formula:"",specific_selection_values:[],dropdown_width_type:"selection",dropdown_width:null,format:null,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(255,255,255,1)"},data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"mixed",formula:"",custom:[],all_option_enabled:!1,all_option_label:null,none_option_label:null,none_option_enabled:!0},container:{background_color:"rgba(53,67,80,1)",gradient:!0,border:{width:1,color:"rgba(18,23,27,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:7},interactions:{ondblclick:null,onhover:null},sort_filter:{sorts:[],filters:[]}},prototype:$.extend(!0,{},WidgetLI.prototype,{init:function(){this.bindEvents(),this.feedDummyCustomData(),this.updateData()},onSetSampleFromVisibility:function(){this.render()},bindEvents:function(){var e=this;this._eventsBound||(this.createProperties(),this.on("stylechanged",function(){e.render()}),this.on("propertieschanged",function(){e.render()}),this.on("fontchanged",function(){this.render()}.bind(this)),this.dashboard&&this.dashboard.in_editor&&(this.on(WidgetLayer.Events.RESIZING,function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"resizing"),function(){e.updateDropdownSizesAndPaddings()})}),this.on(WidgetLayer.Events.RESIZED,function(){e.updateDropdownSizesAndPaddings(),e.injectDropdownElementsCSS()})),this._from||"undefined"==typeof WidgetSelection||this.on(WidgetSelection.Events.REMOVED_MYSELF,function(){$("select",this.ui).widgetDropdown("close")}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},createProperties:function(){this.createProperty("count"),this.createProperty("selectedcount"),this.createProperty("selectedvalues"),this.createProperty("selectedlabels"),this.createProperty("selectedvalue"),this.createProperty("selectedlabel")},updateServiceError:function(){this.count=0,this.selectedcount=null,this.selectedvalues=[],this.selectedvalue=null,this.selectedlabels=[],this.selectedlabel=null},updateSelectionOutputProperties:function(e){e=e||$("select",this.ui).widgetDropdown("getSelectedLabelsAndValues"),this.selectedcount=e.values.length;for(var t=[],o=0;o<e.values.length;o++){var n=e.values[o];t.push(n="{#DB.NULL#}"===n?null:n)}for(var i=[],a=0;a<e.labels.length;a++){var l=e.labels[a];i.push(l="{#DB.NULL#}"===l?"":l)}this.selectedlabels=i,this.selectedvalues=t,0<e.labels.length?this.selectedlabel=this.selectedlabels[0]:this.selectedlabel=null,0<e.values.length?this.selectedvalue=this.selectedvalues[0]:this.selectedvalue=null},resetState:function(e){var t=$("select option",this.ui),o=$("select",this.ui);o.widgetDropdown("deselectall",!1),o.widgetDropdown("clearSelection"),e.selectedIndexes?e.selectedIndexes.forEach(function(e){o.widgetDropdown("select",$(t[e]).data("value"))}):$(t[0]).data("value")?o.widgetDropdown("select",$(t[0]).data("value")):o.widgetDropdown("clearSelection"),this.updateSelectionOutputProperties(),this.pending_state=e},updateState:function(){var t=$("select option",this.ui).get().map(function(e){return $(e).data("value")}),o=[];this.selectedvalues.forEach(function(e){-1<t.indexOf(e)&&o.push(t.indexOf(e))}),this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedIndexes:o})},render:function(){var e,t=this,o=this,n=(this._rendered?(e=$("select",this.ui)).widgetDropdown("destroy"):e=$("<select>").appendTo(this.ui),e.attr("multiple",!!this.p.allow_multiple_selection&&"multiple"),this.widgetData());n&&0<n.length?this.count=this.appendDataToList(n,e,WidgetLI4.get_data_element_template.bind(this),!1,this.valueType,this.internalType):(e.widgetDropdown("empty"),this.count=0),this.handleTooltipState(),e.widgetDropdown({buildItemsOnOpen:!0,onOpenCallBack:function(){o.applyDefaultSelection()},enableCaseInsensitiveFiltering:this.p.search_enabled,filterPlaceholder:this.p.search_placeholder||_("ComboboxDefaultFilterPlaceHolder"),filterBehavior:"both",includeSelectAllOption:this.p.data.all_option_enabled&&!this.hasTooManyRows,selectAllText:this.p.data.all_option_label||_("SelectAll"),moveSelectedToTop:this.p.move_selected_to_top,containerClasses:e.attr("multiple")?"multiple":"",enablePlaceholder:this.p.data.none_option_enabled,checkboxName:this.guid,placeholderLabel:this.p.data.none_option_label||_("NoneLabel"),nonSelectedText:this.p.no_selection_label||_("ComboboxDefaultNonSelectedText"),onDropdownShow:function(){$(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),o.container.css("zIndex",4e3),o._from||DashboardUtils.fitDropdownWithinBounds(e.parent(),o,o.dashboard,0),o.updateDropdownWidth(),o.container.addClass("opened")},onDropdownHide:function(){$(".layer-s, .layer-n, .layer-nn, .layer-ss").css({opacity:1}),o.container.css("zIndex",o.zindex),o.container.removeClass("opened")},nSelectedText:this.p.selected_items_label||_("NItemsSelected"),input:{placeholder:this.p.data.none_option_label||_("NoneLabel")},onChange:function(){o.updateSelectionOutputProperties(this.getSelectedLabelsAndValues()),o.updateDefaultSelection(this),o.updateState(),o.onItemChangeInteraction()}}),this.getAndApplyWidgetSelection(function(){t.applyDefaultSelection(t),t.resetPendingState()}),this.updateSelectionOutputProperties(),this.updateStyle(),this.updateState(),this._rendered=!0,this._loaded=!0},updateStyle:function(){Utils.FontUtils.loadFont(this.p.font.family),this.ui.find(".dropdown-menu").css({left:-this.p.container.border.value,top:this.container.outerHeight()-this.p.container.border.value});var e=this.getShadowCssFromShadowConfiguration(this.p.container.shadow),e=($(".dropdown-toggle",this.ui).css({"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.font.underline?"underline":"none",color:this.p.font.color,"font-family":this.p.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal",border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),background:this.getBackgroundValue(),"border-radius":"".concat(this.p.container.roundness+this.p.container.border.width,"px"),"box-shadow":e}),$(".dropdown-toggle input",this.ui).css({"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}),$(".widgetdropdown-dropdown-container",this.ui).css({"font-family":this.p.font.family,background:this.p.container.background_color,border:"".concat(this.p.container.border.width,"px solid ").concat(this.p.container.border.color),"margin-top":"-".concat(this.p.container.border.width,"px")}),$(".os-scrollbar-vertical",this.ui).css({"border-width":this.p.container.border.width||0,"border-color":this.p.container.border.color}),$(".dropdown-menu",this.ui).toggleClass("invisible-checkboxes",this.p.allow_multiple_selection&&!this.p.display_checkboxes),DashboardUtils.parseRGBA(this.p.font.color)),t="rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.3,")"),e="rgba(".concat(e.r,",").concat(e.g,",").concat(e.b,",",.5,")");$(".dropdown-menu .widgetDropdown-search",this.ui).css({border:"1px solid ".concat(t),color:e,"font-size":"".concat(Math.min(this.p.font.size,30),"px")}),this.updateDropdownSizesAndPaddings(),this.injectDropdownElementsCSS()},updateDropdownWidth:function(){var e=this,t="100%";requestAnimationFrame(function(){$(".widgetDropdown-container li label",e.ui).css({display:"block"}),e.p.dropdown_width_type&&"custom"===e.p.dropdown_width_type&&(t="".concat(e.p.dropdown_width,"px")),e.p.dropdown_width_type&&"fit"===e.p.dropdown_width_type&&(t="auto",$(".widgetDropdown-container li label",e.ui).css({display:"table"})),$(".widgetdropdown-dropdown-container",e.ui).css({width:t})})},injectDropdownElementsCSS:function(){var e={},t=(e[".ui .dropdown-menu li a label"]="color: ".concat(this.p.font.color,";                                            font-size: ").concat(this.p.font.size,"px;                                            text-shadow: ").concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";                                            text-decoration: ").concat(this.p.font.underline?"underline":"none",";                                            font-weight: ").concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";                                            font-style: ").concat(this.p.font.italic?"italic":"normal",";"),DashboardUtils.parseRGBA(this.p.font.color)),o="color: rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.7,");"),o=(o=(o=(o=(o=(o+="font-size:".concat(this.p.font.size,"px;"))+"text-shadow:".concat(this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5);":"none;"))+"text-decoration:".concat(this.p.font.underline?"underline;":"none;"))+"font-weight:".concat(Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),";"))+"font-style: ".concat(this.p.font.italic?"italic;":"normal;"),e[".ui .dropdown-toggle > input::-webkit-input-placeholder"]=o,e[".ui .dropdown-toggle > input:-moz-placeholder"]=o,e[".ui .dropdown-toggle > input::-moz-placeholder"]=o,e[".ui .dropdown-toggle > input:-ms-input-placeholder"]=o,"color: rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.5,");")),o=(e[".ui .dropdown-menu .widgetDropdown-search::-webkit-input-placeholder"]=o,e[".ui .dropdown-menu .widgetDropdown-search:-moz-placeholder"]=o,e[".ui .dropdown-menu .widgetDropdown-search::-moz-placeholder"]=o,e[".ui .dropdown-menu .widgetDropdown-search:-ms-input-placeholder"]=o,"rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.6,");")),o=(e[".ui .dropdown-menu .widgetDropdown-search:focus"]="".concat("border: 1px solid ").concat(o,"; color: ").concat(o),e[".ui .dropdown-menu .widgetDropdown-search:focus::-webkit-input-placeholder"]="color: ".concat(t,";"),e[".ui .dropdown-menu .widgetDropdown-search:focus:-moz-placeholder"]="color: ".concat(t,";"),e[".ui .dropdown-menu .widgetDropdown-search:focus::-moz-placeholder"]="color: ".concat(t,";"),e[".ui .dropdown-menu .widgetDropdown-search:focus:-ms-input-placeholder"]="color: ".concat(t,";"),"rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.3,");")),o=(e[".ui .dropdown-menu .widgetDropdown-item.filter"]="".concat("border-bottom: 1px solid ").concat(o),"rgba(".concat(t.r,",").concat(t.g,",").concat(t.b,",",.1,");")),t=(e[".ui .cd-widgetDropdown .dropdown-menu li:hover"]="background-color:".concat(o),e[".ui .cd-widgetDropdown .dropdown-menu li a:focus"]="background-color: transparent",e[".ui .cd-widgetDropdown .dropdown-menu li.active"]="background-color:".concat(o),e[".ui .cd-widgetDropdown .dropdown-menu li.currentIndex"]="background-color:".concat(o),e[".ui .cd-widgetDropdown .dropdown-menu li i"]="width:".concat(this.p.font.size,"px"),this.getLabelPadding());e[".ui .cd-widgetDropdown .dropdown-menu li label"]="padding-left: ".concat(t,"px;                                                                    padding-right: ").concat(t,"px;"),Utils.AppendCSSToPage("#widget_".concat(this.guid),e)},updateDropdownSizesAndPaddings:function(){var e=this.getLabelPadding();$(".dropdown-toggle .toggleIcon",this.ui).css({width:"".concat(this.p.font.size,"px"),"font-size":"".concat(this.p.font.size,"px"),right:"".concat(Math.max(e,7),"px")}),$(".dropdown-toggle",this.ui).css({"font-size":"".concat(this.p.font.size,"px"),padding:"0 {0} 0 {1}".format("".concat(e+this.p.font.size,"px"),"".concat(e,"px"))})},getLabelPadding:function(){return 20===this.ui.height()?7:Math.min((this.ui.height()-this.p.font.size)/2,18)},updateDefaultSelection:function(e){this.setModifiedState(),"last_selected"===this.p.default_selection_type&&(this.p.specific_selection_values=$.map(e.getSelected(),function(e){return e.value}))},applyDefaultSelection:function(){var e=this.ui.find("select");switch(this.p.default_selection_type){case"all":e.widgetDropdown("selectall",!0);break;case"specific":case"last_selected":e.widgetDropdown("select",this.convertSelectionToProperType(this.p.specific_selection_values,this.valueType,this.internalType));break;case"formula":this.p.data.none_option_enabled&&null===this.p.default_selection_formula_result?e.widgetDropdown("clearSelection"):e.widgetDropdown("select",this.convertSelectionToProperType(this.p.default_selection_formula_result,this.valueType,this.internalType));break;case"none_element":e.widgetDropdown("clearSelection");break;case"first":var t=$("option:not([placeholder])",e).attr("value");e.widgetDropdown("select",t)}},getTextProperties:function(e){e.addFont({object:this.p,property:"font",callback:this.updateStyle.bind(this),dropDown:!0}),e.addFormat({label:_("Format"),object:this.p,property:"format",callback:this.render.bind(this)}),e.addSeparator()},getListOptionsProperties:function(t){function e(){r.empty(),"custom"===o.p.dropdown_width_type?(o.p.dropdown_width||(o.p.dropdown_width=o.width),t.addSlider({label:_("Width"),object:o.p,container:r,property:"dropdown_width",callback:c,interval:1,min:20,max:1e3,valueLabelFormat:function(e){return"".concat(e," px")}})):o.p.dropdown_width=0}var o=this,n=this,i={type:this.p.allow_multiple_selection?"multiple":"single"},a=this.render.bind(this),l=(t.addDropdown({label:_("SelectionType"),object:i,property:"type",combobox:{dataprovider:WidgetLI4.SelectionType},callback:function(){n.p.allow_multiple_selection="multiple"===i.type,d(),a()}}),t.addSection().addClass("nomargin").appendTo(t.ui.content)),d=function(){var e;l.empty(),o.p.allow_multiple_selection?(t.addBoolean({container:l,label:_("DisplayCheckboxes"),object:o.p,property:"display_checkboxes",callback:a}),t.addText({container:l,object:o.p,property:"no_selection_label",label:_("NoneSelectedMessage"),placeholder:_("ComboboxDefaultNonSelectedText"),callback:a,event:"focusout"}),t.addText({container:l,object:o.p,property:"selected_items_label",label:_("SelectedItemsLabel"),placeholder:_("NItemsSelected"),callback:a,event:"focusout"}),e=t.addSection(),t.addBoolean({container:l,section:e,label:_("DisplayAllOption"),object:o.p.data,property:"all_option_enabled",callback:a}),t.addText({container:e,object:o.p.data,property:"all_option_label",label:_("SelectAllMessage"),placeholder:_("SelectAll"),callback:a,event:"focusout"})):(e=t.addSection(),t.addBoolean({container:l,section:e,label:_("AllowNoSelection"),object:o.p.data,property:"none_option_enabled",callback:a}),t.addText({container:e,object:o.p.data,property:"none_option_label",label:_("NoneSelectedMessage"),placeholder:_("NoneLabel"),callback:a,event:"focusout"})),t.addSeparator({container:l})},s=(d(),t.addSection()),c=(t.addBoolean({section:s,label:_("EnableSearch"),object:this.p,property:"search_enabled",callback:a}),t.addText({container:s,object:this.p,property:"search_placeholder",label:_("SearchPlaceholderLabel"),placeholder:_("Search"),callback:a,event:"focusout"}),t.addSeparator(),this.updateDropdownWidth.bind(this)),r=(t.addDropdown({label:_("SelectionType"),object:this.p,property:"dropdown_width_type",combobox:{dataprovider:WidgetLI4.DropdownWidthType},callback:function(){e(),c()}}),t.addSection().appendTo(t.ui.content));e(),t.addSeparator()},destroy:function(){this._rendered=!1,$("select",this.ui).widgetDropdown("destroy")},onItemChangeInteraction:function(){if(this.p&&this.p.interactions&&this.p.interactions.ondblclick){var e=this.p.interactions.ondblclick;switch(e.type){case"dashboard":this.handleDashboardInteraction(e);break;case"url":DashboardUtils.handleUrlInteraction(this.dashboard,this,e)}}},_bindContainerInteractionEvents:function(){var e=this;this.p&&this.p.interactions&&this.container.on("mouseenter",function(){e.p.interactions.onhover&&"show_tooltip"==e.p.interactions.onhover.type&&""!=e.p.interactions.onhover.tooltip_text&&(e.updateTooltipText(),e.updateTooltipStyle())})},renderInteractionsTab:function(e){e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenSelecting"),object:this.p.interactions,parameters:!0,items:[{type:null},{type:"dashboard"},{type:"url"}],property:"ondblclick"}),this.settings.Format.addBoolean({container:e.ui,label:_("MoveSelectedToTop"),object:this.p,property:"move_selected_to_top",callback:this.render.bind(this)}),e.settings.Format.addSeparator({container:e.ui}),e.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})}})});
//# sourceMappingURL=LI4-dropdown-list.js.map

!function(){var e={formula_input:LI.formulaInputs,formula_output:LI.formulaOutputs,hasStyleProperty:!0,height:200,layer:!0,min_height:60,min_width:50,width:150},t={allow_multiple_selection:!1,calculated_columns:[],container:{background_color:"rgba(255,255,255,1)",border:{color:"rgba(156,166,166,1)",width:1},gradient:!1,roundness:0,shadow:{code:"light",opacity:.3,radius:5}},data:{all_option_enabled:!0,all_option_label:null,custom:[],formula:"",mode:"mixed",none_option_enabled:!0,none_option_label:null},data_bindings:[],data_id:null,default_selection_formula:"",default_selection_type:"last_selected",display_checkboxes:!0,font:{color:"rgba(0,0,0,1)",family:"Open Sans",font_weight:Enums.FontWeights.Regular,italic:!1,shadow:!1,size:14,underline:!1},format:null,interactions:{ondblclick:null,onhover:null},move_selected_to_top:!1,search_add_to_selection:!1,search_enabled:!1,search_placeholder:null,sort_filter:{filters:[],sorts:[]},specific_selection_values:[],style:""},l=$.extend(!0,{},LI.widgetPrototype,{getListOptionsProperties:function(t){var l=this,a=this.render.bind(this),e={type:this.p.allow_multiple_selection?"multiple":"single"},o=(t.addDropdown({callback:function(){l.p.allow_multiple_selection="multiple"===e.type,n(),a()},combobox:{dataprovider:LI.selectionTypes},label:_("SelectionType"),object:e,property:"type"}),t.addSection().addClass("nomargin").appendTo(t.ui.content)),n=function(){var e;o.empty(),l.p.allow_multiple_selection?(t.addBoolean({callback:a,container:o,label:_("DisplayCheckboxes"),object:l.p,property:"display_checkboxes"}),e=t.addSection(),t.addBoolean({callback:a,container:o,label:_("DisplayAllOption"),object:l.p.data,property:"all_option_enabled",section:e}),t.addText({callback:a,container:e,event:"focusout",label:_("SelectAllMessage"),object:l.p.data,placeholder:_("SelectAll"),property:"all_option_label"})):(e=t.addSection(),t.addBoolean({callback:a,container:o,label:_("AllowNoSelection"),object:l.p.data,property:"none_option_enabled",section:e}),t.addText({callback:a,container:e,event:"focusout",label:_("NoneSelectedMessage"),object:l.p.data,placeholder:_("NoneLabel"),property:"none_option_label"})),t.addSeparator({container:o})},i=(n(),t.addSection());t.addBoolean({callback:a,label:_("EnableSearch"),object:this.p,property:"search_enabled",section:i}),t.addText({callback:a,container:i,event:"focusout",label:_("SearchPlaceholderLabel"),object:this.p,placeholder:_("Search"),property:"search_placeholder"}),t.addBoolean({callback:a,container:i,label:_("SearchAddToSelection"),object:this.p,property:"search_add_to_selection"}),t.addSeparator()},getTextProperties:function(e){e.addFont({callback:this.render.bind(this),dropDown:!0,object:this.p,property:"font"}),this.p.allow_multiple_selection&&(e.addSeparator(),e.addBoolean({callback:this.updateStyle.bind(this),label:_("DisplayCheckboxes"),object:this.p,property:"display_checkboxes"}),e.addSeparator()),e.addFormat({callback:this.render.bind(this),label:_("Format"),object:this.p,property:"format"}),e.addSeparator()},render:function(){this.renderComponent(!0)}});Widget.createType({id:"LI6",options:e,properties:t,prototype:l,scripts:["/Libraries/virtual-select/virtual-select.min.js"],styles:["/Libraries/virtual-select/virtual-select.min.css"]})}();
//# sourceMappingURL=LI6-list-v2.js.map

!function(){var e={formula_input:LI.formulaInputs,formula_output:LI.formulaOutputs,hasStyleProperty:!0,height:30,layer:!0,max_height:100,min_height:20,min_width:100,width:200},t={allow_multiple_selection:!1,calculated_columns:[],container:{background_color:"rgba(53,67,80,1)",border:{color:"rgba(18,23,27,1)",width:1},gradient:!0,roundness:7,shadow:{code:"light",opacity:.3,radius:5}},data:{all_option_enabled:!1,all_option_label:null,custom:[],formula:"",mode:"mixed",none_option_enabled:!0,none_option_label:null},data_bindings:[],data_id:null,default_selection_formula:"",default_selection_type:"last_selected",display_checkboxes:!0,dropdown_width:null,dropdown_width_type:"selection",font:{color:"rgba(255,255,255,1)",family:"Open Sans",font_weight:Enums.FontWeights.Regular,italic:!1,shadow:!1,size:14,underline:!1},format:null,interactions:{ondblclick:null,onhover:null},move_selected_to_top:!1,no_selection_label:null,search_add_to_selection:!1,search_enabled:!1,search_placeholder:null,selected_items_label:null,sort_filter:{filters:[],sorts:[]},specific_selection_values:[],style:""},l=$.extend(!0,{},LI.widgetPrototype,{getListOptionsProperties:function(t){function e(){d.empty(),"custom"===l.p.dropdown_width_type?(l.p.dropdown_width||(l.p.dropdown_width=l.width),t.addSlider({callback:o,container:d,interval:1,label:_("Width"),max:1e3,min:20,object:l.p,property:"dropdown_width",valueLabelFormat:function(e){return"".concat(e," px")}})):l.p.dropdown_width=0}var l=this,o=this.render.bind(this),a={type:this.p.allow_multiple_selection?"multiple":"single"},n=(t.addDropdown({callback:function(){l.p.allow_multiple_selection="multiple"===a.type,c(),o()},combobox:{dataprovider:LI.selectionTypes},label:_("SelectionType"),object:a,property:"type"}),t.addSection().addClass("nomargin").appendTo(t.ui.content)),c=function(){var e;n.empty(),l.p.allow_multiple_selection?(t.addBoolean({callback:o,container:n,label:_("DisplayCheckboxes"),object:l.p,property:"display_checkboxes"}),t.addText({callback:o,container:n,event:"focusout",label:_("NoneSelectedMessage"),object:l.p,placeholder:_("ComboboxDefaultNonSelectedText"),property:"no_selection_label"}),t.addText({callback:o,container:n,event:"focusout",label:_("SelectedItemsLabel"),object:l.p,placeholder:_("NItemsSelected"),property:"selected_items_label"}),e=t.addSection(),t.addBoolean({callback:o,container:n,label:_("DisplayAllOption"),object:l.p.data,property:"all_option_enabled",section:e}),t.addText({callback:o,container:n,event:"focusout",label:_("SelectAllMessage"),object:l.p.data,placeholder:_("SelectAll"),property:"all_option_label"})):(e=t.addSection(),t.addBoolean({callback:o,container:n,label:_("AllowNoSelection"),object:l.p.data,property:"none_option_enabled",section:e}),t.addText({callback:o,container:e,event:"focusout",label:_("NoneSelectedMessage"),object:l.p.data,placeholder:_("NoneLabel"),property:"none_option_label"})),t.addSeparator({container:n})},i=(c(),t.addSection()),d=(t.addBoolean({callback:o,label:_("EnableSearch"),object:this.p,property:"search_enabled",section:i}),t.addText({callback:o,container:i,event:"focusout",label:_("SearchPlaceholderLabel"),object:this.p,placeholder:_("Search"),property:"search_placeholder"}),t.addBoolean({callback:o,container:i,label:_("SearchAddToSelection"),object:this.p,property:"search_add_to_selection"}),t.addSeparator(),t.addDropdown({callback:function(){e(),o()},combobox:{dataprovider:[{label:_("SameAsSelection"),value:"selection"},{label:_("LargestItem"),value:"fit"},{label:_("CustomWidth"),value:"custom"}]},label:_("SelectionType"),object:this.p,property:"dropdown_width_type"}),t.addSection().appendTo(t.ui.content));e(),t.addSeparator()},getTextProperties:function(e){e.addFont({callback:this.updateStyle.bind(this),dropDown:!0,object:this.p,property:"font"}),e.addFormat({callback:this.render.bind(this),label:_("Format"),object:this.p,property:"format"}),e.addSeparator()},render:function(){this.renderComponent(!1)}});Widget.createType({id:"LI8",options:e,properties:t,prototype:l,scripts:["/Libraries/virtual-select/virtual-select.min.js"],styles:["/Libraries/virtual-select/virtual-select.min.css"]})}();
//# sourceMappingURL=LI8-dropdown-list-v2.js.map

function _createForOfIteratorHelper(t,e){var a,o,i,n,r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return o=!(a=!0),{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){o=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw i}}};if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return r&&(t=r),n=0,{s:e=function(){},n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,o=new Array(e);a<e;a++)o[a]=t[a];return o}var _WidgetMA1={MapStore:{}};function HighchartsMapBase(){}HighchartsMapBase.prototype={init:function(){ChartUtils.resetSelectedOutputs(this),this.p.ma_colors.stops||(this.p.ma_colors.stops=[{min:0,max:0,color:DashboardUtils.getPaletteColor(this.p.colors,0)},{min:100,max:0,color:DashboardUtils.getPaletteColor(this.p.colors,1)}]),this._selectedRegionCode=null,this.p.data.mappings||(this.p.data.mappings=[],this.p.data.data=[]),this.bindEvents(),_WidgetMA1.MapStore[this.p.data.map_id]||(_WidgetMA1.MapStore[this.p.data.map_id]=WS.get("DashboardEditor/MAMetaData/{0}?id={2}&type={3}&custom={1}".format(this.p.data.map_id,this.p.data.custom_map,Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()))),this.tryUpdate()},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedregion"),this.createProperty("selectedregioncode"),this.createProperty("selectedvalues"),this.createProperty("selectedregions"),this.createProperty("selectedregioncodes")},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedregion:this.selectedregion,selectedregioncode:this.selectedregioncode,selectedvalues:this.selectedvalues,selectedregions:this.selectedregions,selectedregioncodes:this.selectedregioncodes})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedregion=t.selectedregion,this.selectedregioncode=t.selectedregioncode,this.selectedvalues=t.selectedvalues,this.selectedregions=t.selectedregions,this.selectedregioncodes=t.selectedregioncodes},resetSelectedOutput:function(t){if(void 0===this._plotClicks||0===this._plotClicks){this._selectedRegionCode=this.selectedregioncode,this.selectedvalue=null,this.selectedregion=null,this.selectedregioncode=null,this.selectedvalues=null,this.selectedregions=null,this.selectedregioncodes=null;var e=this.ui.highcharts();if(e){e=e.getSelectedPoints();if(e&&e.length&&(!t||!t.is("path"))){var a,o=_createForOfIteratorHelper(e);try{for(o.s();!(a=o.n()).done;)a.value.select(!1)}catch(t){o.e(t)}finally{o.f()}}}}},bindEvents:function(){var a=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(t){t&&a.ui.highcharts()&&a.ui.highcharts().destroy()}),this.on("colorschanged",function(){this.p.ma_colors.stops.forEach(function(t,e){t.color=DashboardUtils.getPaletteColor(a.p.colors,e)}),this.render()}.bind(this)),this.on("stylechanged",function(){this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on(["propertieschanged"],function(){this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(a,a.ui,!1,t),a.ui.highcharts().reflow()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings({data:_WidgetMA1}),this.bindInteractions(),this._eventsBound=!0)},bindInteractions:function(){var t=this,e=this,a=this.p.interactions.onclick&&"map"===this.p.interactions.onclicklocation,o=this.p.interactions.onseriesdblclick&&"map"===this.p.interactions.ondblclicklocation,i=this.p.interactions.onclick||{type:""},n=this.p.interactions.onseriesdblclick||{type:""},r=0;"dashboard"!==i.type&&"dashboard"!==n.type||this.container.on("click",function(){r++,setTimeout(function(){1===r&&i.dashboard_id&&a?e.handleDashboardInteraction(i):1<r&&n.dashboard_id&&o&&e.handleDashboardInteraction(n),r=0},300)}),"url"!==i.type&&"url"!==n.type||this.container.on("click",function(){r++,setTimeout(function(){1===r&&i.url&&a?DashboardUtils.handleUrlInteraction(e.dashboard,e,i):1<r&&n.url&&o&&DashboardUtils.handleUrlInteraction(e.dashboard,e,n),r=0},300)}),"data"===n.type&&o&&this.container.on("dblclick",function(){t._displayRowData()})},_displayRowData:function(e){var t=[];if(!this.p.data_id)return!1;if(e){var a=this.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Columns}),o=null;if(!(o=0<a.length?a[0]:o))return;a=Utils.arrayFirst(this.p.data.mappings,function(t){return t.hckey===e});t.push({Column:o.name,Value:a?a.name:null,ColumnId:o.column_id,Grouping:o.grouping||null,Operator:8})}this.displayRowDataPopup(t)},_processMapData:function(t){$.each(t,function(){var t=this.path,e={path:t};9727===t[1]&&(Highcharts.seriesTypes.map.prototype.getBox.call(0,[e]),this.middleX=((t[1]+t[4])/2-e._minX)/(e._maxX-e._minX),this.middleY=((t[2]+t[7])/2-e._minY)/(e._maxY-e._minY))})},_handleMapMultipleSelection:function(){var a=this;Highcharts.wrap(Highcharts.Point.prototype,"select",function(t){t.apply(this,Array.prototype.slice.call(arguments,1));var e=this.graphic.element.closest(".widget");e&&-1!==$(e).attr("id").indexOf(a.guid)&&(1<=(e=a.ui.highcharts().getSelectedPoints()).length?(a.selectedvalue=e[0].value,a.selectedregion=e[0].name,a.selectedregioncode=e[0]["hc-key"],a.selectedvalues=e.map(function(t){return t.value}).join(),a.selectedregions=e.map(function(t){return t.name}).join(),a.selectedregioncodes=e.map(function(t){return t["hc-key"]}).join(),a.updateState()):a._selectedRegionCode=null)})},_getMapPlotOptions:function(r){var s=this;return{map:{nullInteraction:!0},series:{point:{events:{select:function(){var t=s.ui.highcharts().getSelectedPoints();s.selectedvalue=this.value,s.selectedregion=this.name,s.selectedregioncode=this["hc-key"],s.selectedvalues=t.map(function(t){return t.value}).join(),s.selectedregions=t.map(function(t){return t.name}).join(),s.selectedregioncodes=t.map(function(t){return t["hc-key"]}).join(),s.updateState()},unselect:function(){var t=s.ui.highcharts().getSelectedPoints();t&&t.length?(s.selectedvalue=t[0].value,s.selectedregion=t[0].name,s.selectedregioncode=t[0]["hc-key"],s.selectedvalues=t.map(function(t){return t.value}).join(),s.selectedregions=t.map(function(t){return t.name}).join(),s.selectedregioncodes=t.map(function(t){return t["hc-key"]}).join(),s.updateState()):s.resetSelectedOutput()},click:function(){var t=this,e=(e=0<s._plotClicks,r||(e||t["hc-key"]!==s._selectedRegionCode?(s.selectedvalue=t.value,s.selectedregion=t.name,s.selectedregioncode=t["hc-key"],s.selectedvalues=t.value,s.selectedregions=t.name,s.selectedregioncodes=t["hc-key"],s.updateState()):s.selectedregioncode=null),"map_region"),a=("MA3"===s.model.type&&(e="map_bubble"),s.p.interactions.onclick&&s.p.interactions.onclicklocation===e),o=s.p.interactions.onseriesdblclick&&s.p.interactions.ondblclicklocation===e,i=s.p.interactions.onclick||{type:""},n=s.p.interactions.onseriesdblclick||{type:""};"dashboard"!==i.type&&"dashboard"!==n.type||("dashboard"===i.type&&s._plotClicks++,"dashboard"===n.type&&s._plotDblClicks++,s._dashboardInteractionTimeout&&clearTimeout(s._dashboardInteractionTimeout),s._dashboardInteractionTimeout=setTimeout(function(){1===s._plotClicks&&1===s._plotDblClicks&&a?s.handleDashboardInteraction(i):1<s._plotDblClicks&&o&&s.handleDashboardInteraction(n),s._plotClicks=0,s._plotDblClicks=0},300)),"url"!==i.type&&"url"!==n.type||("url"===i.type&&s._plotClicks++,"url"===n.type&&s._plotDblClicks++,s._urlInteractionTimeout&&clearTimeout(s._urlInteractionTimeout),s._urlInteractionTimeout=setTimeout(function(){1===s._plotClicks&&1===s._plotDblClicks&&i.url&&a?DashboardUtils.handleUrlInteraction(s.dashboard,s,i):1<s._plotClicks&&n.url&&o&&DashboardUtils.handleUrlInteraction(s.dashboard,s,n),s._plotClicks=0,s._plotDblClicks=0},300));"data"===n.type&&o&&(s._plotDblClicks++,s._dataInteractionTimeout&&clearTimeout(s._dataInteractionTimeout),s._dataInteractionTimeout=setTimeout(function(){1<s._plotDblClicks&&s._displayRowData(t["hc-key"]),s._plotClicks=0,s._plotDblClicks=0},300))}}}}}},_getMapTooltip:function(){var a=this;return{enabled:this.p.tooltip&&this.p.tooltip.display&&this.p.tooltip.content,shared:!1,borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color,useHTML:!0,formatter:function(){var t=this.series.valueMin,e=this.series.valueMax;return"MA3"===a.model.type&&(t=this.series.minColorValue,e=this.series.maxColorValue),DashboardUtils.formatWidgetTooltip([{regex:"this.point.x",value:this.point.x,format:!0},{regex:"this.point.name",value:this.point.name},{regex:"this.point.value",value:this.point.value,format:!0},{regex:"this.series.name",value:this.series.name},{regex:"this.series.valueMin",value:t,format:!0},{regex:"this.series.valueMax",value:e,format:!0},{regex:"this\\.points\\[(\\d+)\\]\\.name",array:this.series.points,property:"name"},{regex:"this\\.points\\[(\\d+)\\]\\.value",array:this.series.points,property:"value"},{regex:"this\\.points\\[(\\d+)\\]\\.x",array:this.series.points,property:"x"}],a.p.tooltip.content,a)}}},render:function(){var t=this;this._isSelectorOpen?this.chartData=[]:this.chartData=$.extend(!0,[],this.p.hc_data);try{var e=Highcharts.geojson(this.p.map_data),a=(this.ui.highcharts()&&this.ui.highcharts().destroy(),this._fixTooltipObject(),this._fixZoomControlObject(),this.p.interactions.onseriesdblclick&&"map_region"===this.p.interactions.ondblclicklocation&&"zoom_in"===this.p.interactions.onseriesdblclick.type),o=this.p.interactions.onclick&&"select_deselect"===this.p.interactions.onclick.type,i=(this._plotClicks=0,this._plotDblClicks=0,{exporting:{enabled:!1},chart:{spacingTop:20,spacingLeft:30,spacingBottom:20,width:this.width,height:this.height,spacingRight:30,backgroundColor:"transparent",events:{load:function(){t._loaded=!0,t.trigger("loaded")}}},title:this._getMapTitle(this.p.titles.title),subtitle:this._getMapTitle(this.p.titles.subtitle),credits:{enabled:!1},markers:{},mapNavigation:{enabled:this.p.map.allow_zoom||a,enableDoubleClickZoomTo:a},xAxis:{minRange:.1},yAxis:{minRange:.1},plotOptions:this._getMapPlotOptions(o),tooltip:this._getMapTooltip(),legend:t._getLegend(),colorAxis:t._getColorAxis(),series:[{color:this.p.map.default_region_color,nullColor:this.p.map.default_region_color,borderWidth:this.p.map.border.width,borderColor:this.p.map.border.color,allowPointSelect:o,dataLabels:{enabled:this.p.labels.enabled,formatter:function(){return t._getDataLabelFormatter(this.point)},style:this._getFontStyle(this.p.labels)},states:{hover:{color:this.p.ma_colors.hover_color},select:{color:this.p.interactions.onclick&&"select_deselect"==this.p.interactions.onclick.type?this.p.interactions.onclick.background_color:"rgba(164, 237, 186, 1)",borderColor:this.p.interactions.onclick&&"select_deselect"==this.p.interactions.onclick.type?this.p.interactions.onclick.border_color:"rgba(0, 0, 0, 1)"}},data:this.chartData,mapData:e,joinBy:["hc-key"],showInLegend:!1},{type:"mapline",data:Highcharts.geojson(this.p.map_data,"mapline"),color:this.p.map.border.color,enableMouseTracking:!1}]});this.resetSelectedOutput(),Highcharts.mapChart(this.ui[0],i),this.updateBackground(),ChartUtils.resizeChart(this,this.ui)}catch(t){this.error=t}this.updateState()},updateBackground:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},initializeSettings:function(t){_WidgetMA1=t.editorData.widgetMa1,this.setSortFilterTabState(),this.showUnMatchedOnly=!0;var e=Mustache.render('<button type="button" id="tab_mapping" quickTab-href="mapping" class="quickTab">\n        <i class="far fa-2x fa-sitemap"></i>\n        <p>{{ label }}</p>\n    </button>',{label:_("MA1Mapping")}),a=($("#tab_data").after(e),$('<div id="mapping">'));a.prependTo(".content");t.Mapping=new function(t){this.settings=t,this.ui={content:a},this.show=function(){this.settings.toggleContent("mapping"),this.settings._widget.renderMappingTab(this)}}(t),routie("mapping",function(){t.Mapping.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active")},getSettingsData:function(){return{widgetMa1:_WidgetMA1}},canUpdateData:function(){return"bindings"!==this.p.data.mode||1<this.p.data_bindings.length},updateService:function(){return"bindings"!==this.p.data.mode?"Formulas":"MA1Data"},updateServiceSuccess:function(r){var s=this;_WidgetMA1.MapStore[this.p.data.map_id].done(function(t){var e=JSON.parse(t.MapGeoJson);if(s.p.data.mappings.forEach(function(t){t.hidden=!0}),"bindings"===s.p.data.mode&&0<s.p.data_bindings.length){if(0<s.p.ma_colors.stops.length&&"formula"===s.p.ma_colors.value)for(var a=0;a<r.stops.length;a++)s.p.ma_colors.stops[a].min_result=r.stops[a].min_value.value,s.p.ma_colors.stops[a].max_result=r.stops[a].max_value.value;s.p.hc_data=s._getBindingsData(e,r.data[0],r.data[1])}else{if(0<s.p.ma_colors.stops.length&&"formula"===s.p.ma_colors.value){for(var o=0,i=0;i<s.p.ma_colors.stops.length;i++)s.p.ma_colors.stops[i].min_result=r[o].value,o++;for(var n=0;n<s.p.ma_colors.stops.length;n++)s.p.ma_colors.stops[n].max_result=r[o].value,o++}s.p.hc_data=s._getCustomData(e)}s.updateDataAndMetaData(e,t.MapName)})},updateServiceError:function(){this._loaded=!1},updateDataAndMetaData:function(t,e){this.p.map_data=t,this.p.map_name=e,this.render()},refreshFromDataDependency:function(t,e){var a=!1,o=[];if(!(a=this.p.data_id==t&&"bindings"==this.p.data.mode?!0:a)){if(0<this.p.ma_colors.stops.length&&"formula"===this.p.ma_colors.value)for(var i=0;i<this.p.ma_colors.stops.length;i++)o.push(this.p.ma_colors.stops[i].min),o.push(this.p.ma_colors.stops[i].max);if(this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var n=0;n<this.p.sort_filter.filters.length;n++){var r=this.p.sort_filter.filters[n];r.state!=Enums.WidgetFilterState.Disabled&&o.push(r.formula)}o.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)})}a&&this.tryUpdate()},setSample:function(){var a=this;_WidgetMA1.MapStore[this.p.data.map_id].done(function(t){a.p.data.mappings=[];var e=JSON.parse(t.MapGeoJson);a.p.hc_data=a._getCustomData(e),a.updateDataAndMetaData(JSON.parse(t.MapGeoJson),t.MapName)})},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderMappingTab:function(t){var e=this;this.p.hc_data?this.renderMappingTabCompleted(t):(this.off("loaded"),this.on("loaded",function(){e.renderMappingTabCompleted(t),e.off("loaded")}))},renderMappingTabCompleted:function(t){var d=this,e=t.ui.content.empty(),p=this._featuresListDataProvider(this.p.map_data),u=$('<ul class="suggestions hidden"></ul>'),a='<header>{{ header }}</header>\n                        <div class="ma1_tablemapping_container">\n                            <div class="sortable_list_container"></div>\n                        </div>\n                        <div class="ma1_tablemapping_footer">\n                            <label class="fa-checkbox"><input type="checkbox" /><i class="far"></i><span>'.concat(_("ShowUnMatchedOnly"),"</span></label></li>\n                        </div>");e.append(Mustache.render(a,{header:_("MA1MappingHeader")})),$(".ma1_tablemapping_footer input").attr("checked",d.showUnMatchedOnly),$(".ma1_tablemapping_footer input").on("change",function(){d.showUnMatchedOnly=$(this).is(":checked"),d.renderMappingTabCompleted(t)});a=(a=d.p.data.mappings).sort(function(t,e){return null==t.hckey&&null!=e.hckey?-1:null!=t.hckey&&null==e.hckey||t.name>e.name?1:t.name<e.name?-1:0}),a={mappings:a=(a=d.showUnMatchedOnly?a.filter(function(t){return null==t.hckey}):a).filter(function(t){return!t.hidden})};this.sortableList=new SortableList({container:$(".ma1_tablemapping_container .sortable_list_container"),object:a,property:"mappings",columns:[{name:"",width:60,classes:"mapping_icon",cellFormat:function(t,e){null!=t.hckey?e.append($('<i class="far fa-check"></i>')):e.append($('<i class="far fa-times"></i>'))}},{name:_("YourData"),width:210,classes:"mapping_label",cellFormat:function(t,e){e.append($("<span>".concat(t.name,"</span>")))}},{name:_("MatchAgainst"),classes:"mapping_value",cellFormat:function(r,t){var s=Utils.arrayFirst(d.p.hc_data,function(t){return t.name===r.name})||{},l=$('<input class="cd-input" placeholder="'.concat(_("TypeToSelectMapArea"),'"/>')),c=$("<div></div>");c.append(l),t.append(c),null!==r.hckey&&(t=Utils.arrayFirst(p,function(t){return t.value===r.hckey}))&&l.val(t.label),l.on("keyup",function(){var e=$(this).val().trim().toLowerCase(),a=$(this).closest("tr").find(".mapping_icon");if(r.hckey=null,s["hc-key"]=null,a.html("<i class='far fa-times'></i>"),void 0===e||""===e)u.addClass("hidden"),d.render();else if(1<=e.length){for(var t,o=p.filter(function(t){return-1!==t.label.toLowerCase().indexOf(e)}),i=(u.empty(),null),n=0;n<Math.min(o.length,10);n++)t=o[n],i=$('<li data-id="'.concat(t.value,'">').concat(t.label,"</li>")),u.append(i),i.on("click",function(){var t=$(this);l.val(t.text()),r.hckey=t.attr("data-id"),s["hc-key"]=t.attr("data-id"),a.html("<i class='far fa-check'></i>"),u.addClass("hidden"),d.render()});u.removeClass("hidden"),u.css({top:$(this).offset().top-$(".content").offset().top+27,left:$(this).offset().left-$(".content").offset().left,width:c.width()})}})}}]}),e.append(u),$("#mapping").on("click",function(){u.addClass("hidden"),d.render()})},renderPropertiesTab:function(t){var i=this,e=t.ui.content,i=(t.settings.Format.addInputButton({container:e,label:_("Map"),id:"inputButtonMap",object:this.p,property:"map_name",readonly:!0,buttonCallback:function(){Dialog.show("/dashboard/ma1mapselector",{map_id:i.p.data.map_id,custom_map:i.p.data.custom_map,widget:window._widget,editorData:_WidgetMA1,okCallback:function(t,e,a,o){i.p.data.map_id=t,i.p.data.custom_map=o,i.p.data.mappings=[],i.update(),i.updateDataAndMetaData(e,a),$("#prop_inputButtonMap input").val(a),i.setDownloadLink()}})},buttonIcon:"far fa-globe"}),e.append('<div class="sep">'),e.append(Mustache.render('<div> \n                <span>{{ label }}</span> \n                <ul class="multiple_labels"> \n                    <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li> \n                    <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="static" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li> \n                </ul> \n              </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("IDDataDesc"),custom:_("Custom"),custom_desc:_("CustomDataDesc")})),this);e.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),e.on("change",".multiple_labels input[type=radio]",function(){i.p.data.mode=$(this).val(),i.clearSortAndFilters(),i.setSortFilterTabState(),i.p.data.mappings=[],i.update()})},setDownloadLink:function(){_WidgetMA1.MapStore[this.p.data.map_id].done(function(t){var e=JSON.parse(t.MapGeoJson),t="".concat(t.MapName,".csv");$(".downloadMapReference").attr("href","data:text/csv;charset=utf-8,%EF%BB%BF".concat(encodeURI(Utils.GeoJSONtoCSV(e)))).attr("download",t)})},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"static":this.renderDataCustom(t)}},renderDataBindings:function(t){var e=this,a=(t.ui,new Settings.Data.Bindings(t));a.area_column_limits[Enums.WidgetAreas.Values]=1,a.area_column_limits[Enums.WidgetAreas.Columns]=1,a.on("bindingAdded",function(){e.p.data.mappings=[]}),a.render([{name:_("Geography"),placeholder:_("DropGeographies"),area:Enums.WidgetAreas.Columns,height_ratio:.5},{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5}]),0==$(".downloadMapReference").length&&($("footer").append($('<a class="downloadMapReference"><i class="far fa-download" aria-hidden="true"></i> '.concat(_("DownloadMapReference"),"</a>"))),e.setDownloadLink()),this.data_destroy_callback=function(){a.destroy()}},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("DropdownCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:'<td><i class="far fa-bars"></i></td>',cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.render({object:e.p.data,property:"data",callback:function(){e.p.data.mappings=[],e.updateServiceSuccess()},fixed_columns:!0})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(t){var r=this,e=new Settings.SortFilter.TopBottom(t);e.updateDataCallback=function(){r._isDirty=!0,r.update()},e.getTopBottomColumns=function(n){"bindings"===r.p.data.mode&&t.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,i=r.p.data_bindings[a];"Values"===i.area&&(i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,value:i.guid,is_context:!1}):(o=r.getColumnFromId(t.columns,i.column_id),e.push({label:i.name||o.name,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,value:i.guid,is_context:o.is_context||!1,column_id:o.id})))}n(e)})},e.render()},renderFilter:function(t){var s=this,o=new Settings.SortFilter.Filter(t);o.getFilterColumns=function(r){"bindings"===s.p.data.mode&&t.settings.getDataClone(s.p.data_id,s._from.dashboard.id).then(function(t){for(var e=[],a=0;a<s.p.data_bindings.length;a++){var o=s.p.data_bindings[a],i=s.getColumnFromId(t.columns,o.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:o.name||i.name,value:"".concat(i.id).concat(o.aggregation||""),column_id:i.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(s.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id,is_context:t.is_context||!1}}));r(e)})},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){s.update()},o.render()},clearSortAndFilters:function(){this.p.sort_filter.filters=[],this.p.sort_filter.top_bottom.enabled=!1},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled",!("bindings"===this.p.data.mode&&this.p.data_id))},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"region-map-map.png",text:_("Map"),code:"map",renderer:this.getMapProperties.bind(this)}),t.push({icon:"region-map-color.png",text:_("RegionColor"),code:"color",renderer:this.getColorProperties.bind(this)}),t.push({icon:"maps-title.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),t},getTooltipMacro:function(){return[["{{this.point.name}}",_("PointName")],["{{this.point.value}}",_("PointValue")],["{{this.point.x}}",_("XPointValue")],["{{this.series.name}}",_("SeriesName")],["{{this.series.valueMin}}",_("SeriesMin")],["{{this.series.valueMax}}",_("SeriesMax")],["{{this.points[index].name}}",_("PointNameIndex"),"this\\.points\\[(\\d+)\\]\\.name"],["{{this.points[index].value}}",_("PointValueIndex"),"this\\.points\\[(\\d+)\\]\\.value"],["{{this.points[index].x}}",_("PointXValueIndex"),"this\\.points\\[(\\d+)\\]\\.x"]]},getTitleProperties:function(t){var e=this.render.bind(this);t.addHeader({text:_("FormatTitleTitle"),description:_("FormatTitleDesc")}),t.addText({object:this.p.titles.title,property:"text",label:_("Title"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.title,dropDown:!0,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",label:_("Subtitle"),placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.render.bind(this);t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getMapProperties:function(t){var e=this.render.bind(this);t.addHeader({text:_("FormatMapTitle"),description:_("FormatMapDesc")}),t.addColor({label:_("DefaultRegionColor"),object:this.p.map,property:"default_region_color",callback:e}),t.addSeparator(),t.addBorder({object:this.p.map,property:"border",callback:e}),t.addSeparator(),t.addBoolean({label:_("DisplayZoomControl"),object:this.p.map,property:"allow_zoom",callback:e}),t.addSeparator()},getColorProperties:function(i){var t=this.render.bind(this),n=this;i.addHeader({text:_("RegionColor"),description:_("RegionColorHeader")}),i.addColor({label:_("ColorOnHover"),object:this.p.ma_colors,property:"hover_color",callback:t}),i.addSeparator(),i.addDropdown({label:_("Scale"),object:this.p.ma_colors,property:"scale",combobox:{dataprovider:[{value:"discrete",label:_("DiscreteNumber")},{value:"continuous",label:_("Continuous")}]},callback:function(){i.content.find(".ga1_bands_container").remove(),n._generateSortableListForColors(i.content),n.update()}}),i.addDropdown({label:_("Value"),object:this.p.ma_colors,property:"value",combobox:{dataprovider:[{value:"values",label:_("Number")},{value:"percent",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){i.content.find(".ga1_bands_container").remove();var t,e=new RegExp(/^\d+$/),a=_createForOfIteratorHelper(n.p.ma_colors.stops);try{for(a.s();!(t=a.n()).done;){var o=t.value;"formula"!==n.p.ma_colors.value&&(e.test(o.min)||(o.min=0),e.test(o.max)||(o.max=0))}}catch(t){a.e(t)}finally{a.f()}n._generateSortableListForColors(i.content),n.update()}}),this._generateSortableListForColors(i.content)},getLabelsProperties:function(t){var e=this.render.bind(this),a=(t.addHeader({text:_("FormatLabelsTitle"),description:_("FormatMapLabelsDesc")}),t.addSection());t.addBoolean({section:a,label:_("ShowLabels"),object:this.p.labels,property:"enabled",callback:e}),t.addBoolean({container:a,label:_("ShortNames"),object:this.p.labels,property:"short_names",callback:e}),t.addDropdown({container:a,label:_("Display"),object:this.p.labels,property:"type",callback:e,combobox:{dataprovider:[{label:_("Value"),value:"value"},{label:_("Label"),value:"label"},{label:_("ValueAndLabel"),value:"valueandlabel"}]}}),t.addFont({container:a,object:this.p.labels,property:"font",callback:e}),t.addSeparator(),t.addFormat({container:a,label:_("ValueFormat"),displayDdl:!0,object:this.p.labels,property:"value_format",dataTypes:[Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Number],callback:e})},getLegendProperties:function(t){var e=this.render.bind(this),a=(t.addHeader({text:_("LegendTitleTitle"),description:_("MapLegendTitleDesc")}),t.addSection());t.addBoolean({section:a,label:_("ShowLegend"),object:this.p.legend,property:"enabled",callback:e}),t.addSeparator({container:a}),t.addText({container:a,object:this.p.legend.title,property:"text",label:_("Title"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({container:a,object:this.p.legend.title,property:"font",callback:e}),t.addSeparator({container:a}),t.addFont({container:a,object:this.p.legend,property:"font",callback:e}),t.addSeparator({container:a}),t.addFormat({container:a,label:_("Format"),object:this.p.legend,property:"format",callback:e,enablePlaceholder:!0,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency]}),t.addSeparator({container:a}),t.addToggleButtons({label:_("Layout"),callback:e,container:a,object:this.p.legend,property:"layout",buttons:[{image:"legend-layout-horizontal.png",value:"horizontal"},{image:"legend-layout-vertical.png",value:"vertical"}]}),t.addToggleButtons({label:_("Position"),callback:e,container:a,object:this.p.legend,property:"position",buttons:[{image:"legend-position-top.png",value:"top"},{image:"legend-position-right.png",value:"right"},{image:"legend-position-left.png",value:"left"},{image:"legend-position-bottom.png",value:"bottom"}]}),t.addSeparator({container:a}),t.addColor({container:a,dropDown:!1,object:this.p.legend,label:_("BackgroundColor"),property:"background_color",callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,dropDown:!1,object:this.p.legend,property:"border",callback:e}),t.addSeparator({container:a}),t.addSlider({container:a,label:_("RoundedCorners"),object:this.p.legend,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:a})},renderInteractionsTab:function(a){function t(t){o.p.interactions.onclicklocation=t.value,$(".sub",r).remove(),$("#prop_interactionClick").remove();var e=[{type:null},{type:"dashboard"},{type:"url"}];"map_region"===t.value?e.push({type:"select_deselect",label:_("Interaction_SelectDeselect"),getDefaultValue:function(t){return $.extend(!0,{__type:"WidgetInteractionHighchartSelectDeselect:#Infinis",background_color:"rgba(164, 237, 186, 1)",border_color:"rgba(0, 0, 0, 1)"},t)},renderer:function(t,e,a){a.Format.addColor({container:t,label:_("Interaction_SelectionBackgroundColor"),object:e,property:"background_color",callback:i}),a.Format.addColor({container:t,label:_("Interaction_SelectionBorderColor"),object:e,property:"border_color",callback:i})}}):o.p.interactions.onclick&&"select_deselect"===o.p.interactions.onclick.type&&(o.p.interactions.onclick={type:null}),"nothing"!==t.value&&a.appendDropdownWithDynamicSection({container:r,object:o.p.interactions,property:"onclick",id:"interactionClick",label:_("InteractionType_Action"),parameters:!0,items:e}),i()}function e(t){o.p.interactions.ondblclicklocation=t.value,$(".sub",s).remove(),$("#prop_interactionDblClick").remove();var e=[{type:null},{type:"dashboard"},{type:"url"},{type:"data"}];"map_region"===t.value?e.push({type:"zoom_in",label:_("Interaction_ZoomIn"),getDefaultValue:function(t){return t},renderer:function(){}}):o.p.interactions.onseriesdblclick&&"zoom_in"===o.p.interactions.onseriesdblclick.type&&(o.p.interactions.onseriesdblclick={type:null}),"nothing"!==t.value&&a.appendDropdownWithDynamicSection({container:s,object:o.p.interactions,property:"onseriesdblclick",id:"interactionDblClick",label:_("InteractionType_Action"),parameters:!0,items:e,onChange:l}),l(),i()}var o=this,i=this.render.bind(this),n=[{label:_("Interaction_DoNothing"),value:"nothing"},{label:_("Map"),value:"map"},{label:_("MapRegion"),value:"map_region"}],r=$('<div class="interactionContainer"></div>'),s=(a.ui.append(r),a.settings.Format.addDropdown({container:r,object:this.p.interactions,property:"onclicklocation",label:_("InteractionType_WhenClicking"),combobox:{dataprovider:n},callback:t}),this.p.interactions.onclicklocation&&t({value:this.p.interactions.onclicklocation}),a.settings.Format.addSeparator({container:a.ui}),$('<div class="interactionContainer"></div>')),l=(a.ui.append(s),function(){$("#prop_allowExport",s).remove(),o.p.interactions.onseriesdblclick&&"data"===o.p.interactions.onseriesdblclick.type&&a.settings.Format.addBoolean({container:s,label:_("AllowExport"),object:o.p.interactions,property:"allow_export",id:"allowExport"})});a.settings.Format.addDropdown({container:s,object:this.p.interactions,property:"ondblclicklocation",label:_("InteractionType_WhenDblClicking"),combobox:{dataprovider:n},callback:e}),this.p.interactions.ondblclicklocation&&e({value:this.p.interactions.ondblclicklocation}),this.renderToolbarProperties(a)},_getMapTitle:function(t){return{text:Utils.disableHTML(t.text),style:this._getFontStyle(t)}},_getFontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color,textOutline:null}},_getMapShadow:function(t){return!!t.radius&&{opacity:t.opacity,color:"rgba(0,0,0, {0})".format(t.opacity),width:t.radius/5}},_getDataLabelFormatter:function(t){if(null==t["hc-key"])return"";var e=t.name;switch(this.p.labels.short_names&&(t.properties?e=t.properties["iso-a2"]||t.properties["hc-a2"]:t.options&&t.options.properties&&(e=t.options.properties["iso-a2"]||t.options.properties["hc-a2"])),this.p.labels.type){case"label":return e;case"value":return Utils.formatValue(t.value,this.p.labels.value_format);case"valueandlabel":return null!=t.value?"".concat(e,"<br />").concat(Utils.formatValue(t.value,this.p.labels.value_format)):e}},_getColorAxis:function(){var t;return"continuous"===this.p.ma_colors.scale?0===(t=this._getStops()).length?null:{stops:t,labels:{style:this._getFontStyle(this.p.legend)}}:0===(t=this._getDataClasses()).length?null:{dataClasses:t}},_getStops:function(){var e,t=[],a=this.p.ma_colors.stops.slice(0);if(0<a.length){function o(t){return+t&&+i+ +e?parseInt(t)/(parseInt(i)+parseInt(e)):0}for(var i="formula"===this.p.ma_colors.value?(a.sort(function(t,e){return t.min_result-e.min_result}),e=a[0].min_result,a[a.length-1].min_result):(a.sort(function(t,e){return t.min-e.min}),e=a[0].min,a[a.length-1].min),n=0;n<this.p.ma_colors.stops.length;n++)switch(this.p.ma_colors.value){case"percent":t.push([a[n].min/100,a[n].color]);break;case"values":t.push([o(a[n].min),a[n].color]);break;case"formula":t.push([o(a[n].min_result),a[n].color])}}return t},_getDataClasses:function(){for(var t=[],e=Math.max.apply(this.chartData,$.map(this.chartData,function(t){return t.value})),a=0;a<this.p.ma_colors.stops.length;a++){var o={color:this.p.ma_colors.stops[a].color};switch(this.p.ma_colors.value){case"percent":Utils.isNotEmpty(this.p.ma_colors.stops[a].min)&&(o.from=e*this.p.ma_colors.stops[a].min/100),Utils.isNotEmpty(this.p.ma_colors.stops[a].max)&&(o.to=e*this.p.ma_colors.stops[a].max/100);break;case"values":Utils.isNotEmpty(this.p.ma_colors.stops[a].min)&&(o.from=parseFloat(this.p.ma_colors.stops[a].min)),Utils.isNotEmpty(this.p.ma_colors.stops[a].max)&&(o.to=parseFloat(this.p.ma_colors.stops[a].max));break;case"formula":Utils.isNotEmpty(this.p.ma_colors.stops[a].min_result)&&(o.from=this.p.ma_colors.stops[a].min_result),Utils.isNotEmpty(this.p.ma_colors.stops[a].max_result)&&(o.to=this.p.ma_colors.stops[a].max_result)}t.push(o)}return t},_getLegend:function(){var a=this,t=0,e="middle",o="bottom";return"top"!=this.p.legend.position||""==this.p.titles.title.text&&""==this.p.titles.subtitle.text||(""!=this.p.titles.title.text&&(t+=1.33*this.p.titles.title.font.size),""!=this.p.titles.subtitle.text&&(t+=1.33*this.p.titles.subtitle.font.size),t+=20),o="top"==this.p.legend.position||"bottom"==this.p.legend.position?(e="center",this.p.legend.position):(e=this.p.legend.position,"middle"),{enabled:this.p.legend.enabled,layout:this.p.legend.layout,backgroundColor:this.p.legend.background_color,title:{text:this.p.legend.title.text,style:this._getFontStyle(this.p.legend.title)},itemStyle:"discrete"===this.p.ma_colors.scale?this._getFontStyle(this.p.legend):"",verticalAlign:o,align:e,borderColor:this.p.legend.border.color,borderWidth:this.p.legend.border.width,borderRadius:this.p.legend.roundness,y:t,labelFormatter:function(){var t,e;if(void 0!==this.from||void 0!==this.to||"continuous"!==a.p.ma_colors.scale)return"percent"===a.p.ma_colors.value?(t=Math.max.apply(a.chartData,$.map(a.chartData,function(t){return t.value})),void 0!==this.from&&null!==this.from||(this.from=0),void 0!==this.to&&null!==this.to||(this.to=0),this.from=100*this.from/t,this.to=100*this.to/t,t=Utils.formatValue(this.from,a.p.legend.format),e=Utils.formatValue(this.to,a.p.legend.format),0===this.from||Utils.isEmpty(this.from)?"<= ".concat(e,"%"):100===this.to||Utils.isEmpty(this.to)?"> ".concat(t,"%"):"".concat(t,"% - ").concat(e,"%")):(t=Utils.formatValue(this.from,a.p.legend.format),e=Utils.formatValue(this.to,a.p.legend.format),0===this.from||Utils.isEmpty(this.from)?"<= ".concat(e):Utils.isEmpty(this.to)?"> $".concat(t):"".concat(t," - ").concat(e))}}},_getCustomData:function(t){var e,a=[];if(this.p.data.data)for(var o=0;o<this.p.data.data.length;o++)e=this._getOrCreateMapping(t,this.p.data.data[o][0]),a.push({"hc-key":e.hckey,name:this.p.data.data[o][0],value:this.p.data.data[o][1]});return a},_getBindingsData:function(t,e,a){for(var o,i,n,r=[],s=0;s<e.length;s++)(o=e[s])&&(i=a[s],n=this._getOrCreateMapping(t,o),r.push({"hc-key":n.hckey,name:o,value:parseFloat(i)}));return r},_getOrCreateMapping:function(t,e){var n,r,a,s=this;if(null!=e)return null===(a=Utils.arrayFirst(this.p.data.mappings,function(t){return t.name==e}))&&(n=[["id"],["name","properties"],["hc-key","properties"],["hc-a2","properties"],["iso-a3","properties"],["iso-a2","properties"],["country-abbrev","properties"],["woe-id","properties"].properties],r=(r=(r=(r=e.toString().toLowerCase()).trim()).replaceAll("-","")).replaceAll(" ",""),r=s._accentFold(r),a={hckey:(t=Utils.arrayFirst(t.features,function(t){for(var e=0;e<n.length;e++){var a=n[e];if(a){var o=a[0],a=a[1],i=null,i=(a?t[a]:t)[o];if(i&&(i=(i=(i=(i=i.toLowerCase()).trim()).replaceAll("-","")).replaceAll(" ",""),(i=s._accentFold(i))==r))return!0}}}))&&t.properties["hc-key"],name:e},this.p.data.mappings.push(a)),a&&(a.hidden=!1),a},_featuresListDataProvider:function(t){for(var e,a=[],o=0;o<t.features.length;o++)(e=t.features[o])&&e.id&&a.push({value:e.properties["hc-key"],label:"".concat(e.properties.name," (").concat(e.id,")")});return a=a.sort(function(t,e){return t.label<e.label?-1:t.label>e.label?1:0})},_accentFold:function(t){var e={"à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ß":"s","ù":"u","ú":"u","û":"u","ü":"u","ÿ":"y"};if(!t)return"";for(var a="",o=0;o<t.length;o++)a+=e[t.charAt(o)]||t.charAt(o);return a},_generateSortableListForColors:function(t){var e=this,a='<div class="ga1_bands_container">\n                            <button type="button" class="btn btn-default btn-grey addBands">'.concat(_("AddNew"),'</button>\n                            <div class="sortable_list_container"></div>\n                            </div>');t.append(Mustache.render(a)),this.sortableList=new SortableList({container:$(".ga1_bands_container .sortable_list_container"),object:this.p.ma_colors,property:"stops",onDeleteCallback:this.render.bind(this),onSortCallback:this.render.bind(this),columns:e._getColorsSortableListColumns()}),$(".addBands",t).on("click",function(){e.sortableList.addNewObject({color:"#000000",min:"0",max:"0",min_result:0,max_result:0}),e.render()})},_getColorsSortableListColumns:function(){var o=this,t=[];return t.push({name:_("Color"),width:70,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">\n              <button type="button" class="btn btn-default colorPreview">&nbsp;</button>\n              <button type="button" class="btn btn-default dropdown-toggle"></button>\n              <input type="text" value="'.concat(t.color,'" class="colorPicker" />\n            </div>'));e.append(a),$("> input",a).clicColorPicker({onColorChanged:function(){t.color=this.getRGBAColor(),o.render()},onPreviewColorChanged:function(){t.color=this.getRGBAColor(),o.render()},onCancel:function(){t.color=this.getRGBAColor(),o.render()},palette:o._from.dashboard.model.colors})}}),"discrete"===o.p.ma_colors.scale?(t.push({name:_("MinValue"),classes:"value_column",cellFormat:function(t,e){o._generateColumnContent(t,"min",e)}}),t.push({name:_("MaxValue"),classes:"value_column",cellFormat:function(t,e){o._generateColumnContent(t,"max",e)}})):t.push({name:_("Value"),classes:"value_column",cellFormat:function(t,e){o._generateColumnContent(t,"min",e)}}),t},_generateColumnContent:function(t,e,a){var o=this;switch(this.p.ma_colors.value){case"values":case"percent":var i='<div class="cd-number {0}value">                                                <input class="cd-input" type="text" value="{1}" />                                                </div>'.format(e,t[e]||"");a.append(i),$(".cd-number.{0}value".format(e),a).cdNumber(),$(".cd-number.{0}value input".format(e),a).on("change",function(){Utils.isNotEmpty($(this).val())?t[e]=parseFloat($(this).val()):t[e]=null,o.render()});break;case"formula":this.settings.Format.addFormulaInput({container:a,widget:o,dashboard:o.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:e,appendToBody:!0,callback:function(t){o.settings.Data._isDirty=!0,o.tryUpdate()}})}},_fixTooltipObject:function(){this.p.tooltip||(this.p.tooltip={onhover:{}}),this.p.interactions&&this.p.interactions.onhover&&(this.p.tooltip.onhover=this.p.interactions.onhover,this.p.interactions.onhover=null)},_fixZoomControlObject:function(){this.p.interactions&&null!=this.p.interactions.allow_zoom&&(this.p.map.allow_zoom=this.p.interactions.allow_zoom,this.p.interactions.allow_zoom=null)}};
//# sourceMappingURL=MA-base.js.map

Widget.createType({id:"MA1",options:{width:300,min_width:200,height:300,min_height:200,hasColorsProperty:!0,hasStyleProperty:!0,formula_input:function(o){var e=["calculated_columns.formula"];return"formula"===o.ma_colors.value&&(e.push("ma_colors.stops.min"),e.push("ma_colors.stops.max")),"bindings"===o.data.mode&&e.push("sort_filter.filters.formula"),e.push("interactions.onclick.parameters.parameters.formula"),e.push("interactions.onseriesdblclick.parameters.parameters.formula"),e},formula_output:["selectedvalue","selectedregion","selectedregioncode","selectedvalues","selectedregions","selectedregioncodes"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/map.js"],properties:{colors:"",style:"",data_id:null,data_name:"",data_bindings:[],calculated_columns:[],data:{mode:"bindings",mappings:null,data:null,map_id:"wo_all_897C7",custom_map:!1},titles:{title:{text:_("MapTitle"),font:{family:"Open Sans",size:18,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#ffffff"}},subtitle:{text:_("MapSubTitle"),font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},map:{allow_zoom:!1,default_region_color:"#ffffff",border:{width:1,color:"#000000"}},ma_colors:{hover_color:"#ffffff",scale:"continuous",value:"percent",stops:null},labels:{enabled:!1,short_names:!0,type:"label",value_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),{Properties:{Decimals:0}}),font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}},legend:{enabled:!0,title:{text:"",font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}},font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"},format:null,layout:"horizontal",position:"bottom",equalWidth:!0,background_color:"rgba(255,255,255,0)",border:{width:0,color:"#000000"},roundness:0},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1},filters:[]},tooltip:{display:!0,content:'<p style="text-align: center;">{{this.point.name}}</p><p style="text-align: center; "><b>{{this.point.value}}</b></p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{onclick:null,onseriesdblclick:null,allow_export:!0,onclicklocation:null,ondblclicklocation:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},HighchartsMapBase.prototype)});
//# sourceMappingURL=MA1-region-map.js.map

function _createForOfIteratorHelper(t,e){var a,o,n,i,r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return o=!(a=!0),{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){o=!0,n=t},f:function(){try{a||null==r.return||r.return()}finally{if(o)throw n}}};if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return r&&(t=r),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,o=new Array(e);a<e;a++)o[a]=t[a];return o}function gm_authFailure(t){if("undefined"!=typeof editor&&(e=editor.activeDashboard),e="undefined"!=typeof liveLink?liveLink.dashboard:e){var e=e.widgets.filter(function(t){return"MA2"===t.model.type});if(e&&e.length){var a,o=_createForOfIteratorHelper(e);try{for(o.s();!(a=o.n()).done;){var n=a.value;n._gmAuthFailure=!0,n.onAuthFailure&&n.onAuthFailure()}}catch(t){o.e(t)}finally{o.f()}}}else"undefined"!=typeof _widget&&"MA2"===_widget.model.type&&_widget.onAuthFailure&&_widget.onAuthFailure()}!function(){var u={GEO_ENCODING_SERVICES_CALLS:{},GEO_ENCODING_ADDRESSES:{}},i={Equals:"equals",GreaterThan:"greater_than",GreaterOrEqualThan:"greater_or_equal_to",LessThan:"less_than",LessOrEqualThan:"less_or_equal_to"},n=[Enums.GeoDimensionsTypes.Latitude,Enums.GeoDimensionsTypes.Longitude,Enums.GeoDimensionsTypes.Address,Enums.GeoDimensionsTypes.Street,Enums.GeoDimensionsTypes.State,Enums.GeoDimensionsTypes.City,Enums.GeoDimensionsTypes.Postal,Enums.GeoDimensionsTypes.Country],t={style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",custom:null,calculated_columns:[]},titles:{title:{text:"",font:{family:"Open Sans",size:18,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"transparent"}},subtitle:{text:"",font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"transparent"}}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},map:{map_type:"roadmap",display_labels:!0,display_scale:!1},position_zoom:{zoom:{enabled:!1,position:4,scrollwheel:!0,manual:!1,zoomLevel:1},allow_panning:!0,center_manually:!1,saved_position:null},markers:{type:"icon",icon:{id:"mapm",color:"#f7544a"},image:{file_name:"",file_guid:null,url:""},conditional_column:null,conditions:[]},tooltip:{display:!0,action:"hover",content:'<p style="text-align: center;">{{this.values[0]}}</p>',font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#000000"},background:{color:"#ffffff",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0}},custom_style:"",sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1},filters:[]},interactions:{onclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_left",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}};Widget.createType({id:"MA2",options:{layer:!0,width:500,min_width:200,height:330,min_height:200,forceServiceCall:!0,hasStyleProperty:!0,formula_output:["selectedvalue","selectedlabel","selectedvalues","selectedgeography"],formula_input:function(){var t;return(t=["calculated_columns.formula"]).push("markers.conditions.value"),t.push("sort_filter.filters.formula"),t.push("interactions.onclick.parameters.parameters.formula"),t}},scripts:["/Libraries/GMTooltip/GMTooltip.js","/Global/Scripts/FontAwesomeMarker.js"],properties:t,prototype:{getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences,ma2Data:u}},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,ParametersDependencies:t.ParametersDependencies,RequestPreview:!!this._requestPreview,Widget:this.model}},onWidgetSettingsSaved:function(){var t=this;this._gmAuthFailure&&setTimeout(function(){t.onAuthFailure()},200)},onAuthFailure:function(){this._errorDOM&&this._errorDOM.remove(),this._errorDOM=$('<div class="widgetError custom"><i class="far fa-exclamation-circle fa-3x"></i><span>'.concat(_("WidgetRegionMapAuthError"),"</span></div>")),this.container.addClass("in-error"),this.container.append(this._errorDOM);var t=0<$("#dashboard").length?$("#dashboard"):$("#widgetpreview");this.setSample(),t&&0<t.length&&this.initErrorTooltip(t,_("WidgetRegionMapAuthError"))},setCustomError:function(){},init:function(){u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[],this.destroyMap(),this.ui.append($("<div class='titleCtr'><div class='title'></div><div class='subtitle' /></div></div>")),this.ui.append($("<div class='mapCtr'></div>")),this.p.data.custom||(this.p.data.custom=this.getSample()),this.dashboard&&this.dashboard.createWidgetMapActivity(this.model),this._fixProperties(),this.markers=[],this.bindEvents(),this.initMap(),this._updateData=!0,this.tryUpdate()},initCompleted:function(){this.tryUpdate()},bindEvents:function(){var t=this;this._eventsBound||(this.createProperty("selectedvalue"),this.createProperty("selectedlabel"),this.createProperty("selectedvalues"),this.createProperty("selectedgeography"),this.selectedvalue=[],this.selectedvalues=[],this.selectedgeography=null,this.selectedlabel=null,this.on("stylechanged",function(){t._updateMapStyle(),t._updateBackground(),t._updateTitles()}.bind(this)),this.on("fontchanged",function(){this._updateMapStyle(),this._updateBackground(),this._updateTitles()}.bind(this)),this.on(["propertieschanged"],function(){t.initMap(),t.tryUpdate()}.bind(this)),this.on(["height","width"],function(){google.maps.event.trigger(t._Map,"resize"),t._reRenderMarkers()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings({data:u}),this.bindInteractions(),this._eventsBound=!0)},bindInteractions:function(){var t=this;if(this.p.interactions.onclick){var e=this.p.interactions.onclick;switch(e.type){case"dashboard":this.container.on("click",function(){t.handleDashboardInteraction(e)});break;case"url":this.container.on("click",function(){t._dragEnded||DashboardUtils.handleUrlInteraction(t.dashboard,t,e)})}}},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedvalues:this.selectedvalues,selectedgeography:this.selectedgeography,selectedlabel:this.selectedlabel})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedlabel=t.selectedlabel,this.selectedvalues=t.selectedvalues,this.selectedgeography=t.selectedgeography},destroyMap:function(){this._Map&&(google.maps.event.clearListeners(this._Map,"center_changed"),google.maps.event.clearListeners(this._Map,"mouseup"),this._Map=null)},initMap:function(){var t=this.ui,e=this;this._Map||(this._Map=new google.maps.Map(t.find(".mapCtr")[0],{mapTypeId:this.p.map.map_type,center:{lat:0,lng:0},minZoom:1,maxZoom:18,zoom:1,mapTypeControl:!1,streetViewControl:!1})),this._Map.addListener("center_changed",function(){var t;e._loaded&&e._from&&e.p.position_zoom.center_manually&&((t=e._Map.getCenter())&&(e.p.position_zoom.saved_position={lat:t.lat(),lng:t.lng()}))}),this._Map.addListener("dragend",function(){e._dragEnded=!0,setTimeout(function(){e._dragEnded=!1},200)}),this._Map.addListener("mouseup",function(){e.selectedgeography=null}),this._updateMapType(),this._updateMapOptions(),this._updateMapZoom(),this._updateMapStyle(),this._updateBackground(),this._updateTitles()},isCustomDataMode:function(){return"mixed"===this.p.data.mode},customData:function(){return this.p.data.custom},setSample:function(){if(this._Data&&0<this._Data.length)return!1;var t=this.getSample();this._Data=t,this._renderCustomDataMarkers()},getSample:function(){return[["Stockholm",59.3294,18.0686,20],["Paris",48.8567,2.3508,30],["London",51.50722,-.1275,40],["Rome",41.9,12.5,80]]},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},canUpdateData:function(){var t;return"bindings"!==this.p.data.mode||(t=!(0===this.getBindings(Enums.WidgetAreas.Geos).length||this._withinDataBinding&&!this._updateData),this._updateData=!1,t)},updateService:"MA2Data",updateServiceError:function(t){t&&403===t.status&&(this.error=_("GeoEncodingLimitReached")),this._loaded=!1},updateServiceSuccess:function(a){if(u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[],this.bounds=new google.maps.LatLngBounds,this._updateMapType(),this._updateMapOptions(),this._updateMapZoom(),this._updateMapStyle(),this._updateBackground(),this._updateTitles(),this._appendTooltipStyle(),a&&a.conditions)for(var t=0;t<a.conditions.length;t++)this.p.markers.conditions[t].value_result=a.conditions[t].value;var e,o;this.isCustomDataMode()?(e=$.extend(!0,[],this.customData()),0<this.p.sort_filter.filters.length&&(o=[],this.p.sort_filter.filters.forEach(function(t,e){t.state!==Enums.WidgetFilterState.Disabled&&o.push({disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:a.filters[e].value})}),e=DashboardUtils.filterData(e,o)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(e,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),this._Data=e,this._renderCustomDataMarkers()):(this._Values=a.values,this._Data=a.data,this._rawData=a.raw_data,this._renderDataMarkers(),this._processAsyncGeoCoding())},refreshFromDataDependency:function(t,e){var a=!1;if(!(a=this.p.data_id===parseInt(t)&&"bindings"===this.p.data.mode?!0:a)&&this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var n=this.p.sort_filter.filters[o];if(n.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,e)){a=!0;break}}a&&this.tryUpdate()},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                                 <span>{{ label }}</span>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="mixed" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                                 </ul>                             </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.clearSortAndFilters(),e.setSortFilterTabState(),e.update()})},initializeSettings:function(t){u=t.editorData.ma2Data},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"mixed":this.renderDataCustom(t)}},renderDataBindings:function(t){var o=this,e=new Settings.Data.Bindings(t),t=(e.area_column_limits[Enums.WidgetAreas.Geos]=5,_("DropLatLngAddress")),t=(top._User.AccountIsWhiteLabel||(t+=" ".concat(_("ConsultHelp").format(Utils.getAccountDomain(top._User.DomainType,top._User.Domain)))),e.render([{name:_("Geography"),placeholder:t,area:Enums.WidgetAreas.Geos,height_ratio:.6},{name:_("Values"),placeholder:_("DropOptionalValueHere"),area:Enums.WidgetAreas.Values,height_ratio:.4}],{count:!1,allowDuplicateInArea:!1}),n.map(function(t){return'<li data-type="'.concat(t,'">                        <label class="fa-checkbox">                            <input type="radio" name="type_ddl_radio" />                                <i class="far"></i>                                <span>').concat(_("GeoType_".concat(t)),"</span>                        </label>                    </li>")}).join(""));e.ui.type_dll=$('<ul id="data-type-ddl" class="dropdown-menu dropdown-arrow">'.concat(t,"</ul>")).appendTo("body"),e.ui.drop_areas.on("mousedown",".type-picker-ddl",function(){var t=$(this).closest(".area-column");return e.toggleTypePopup(t),!1}),e.ui.type_dll.on("change","input",function(){e.typePopupChanged()}),e.templates.area_geo_column='                    <li class="area-column measure big" data-column-id="{{ id }}">                        <div class="column">                            <span class="title" title="{{col_name}}">{{ name }}</span>                            <span class="type-picker-ddl">{{ typeLabel }}: <span class="value">{{ type }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        </div>                        <div class="buttons">                            <button type="button" class="edit"><i class="far fa-edit"></i></button>                            <button type="button" class="remove"><i class="far fa-trash"></i></button>                        </div>                    </li>',e.getAreaColumnTemplateItemData=function(t,e){t.area===Enums.WidgetAreas.Geos&&(e.typeLabel=_("SetAs"),o.isAddingBinding&&(o.isAddingBinding=!1,t.type=o._autoDetectBindingType(e.col_name)),e.type=_("GeoType_".concat(t.type)))},e.on("bindingRemoved",function(t){t&&(u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[],o.p.markers.conditional_column==t.column_id&&(o.p.markers.conditional_column=null))}),e.on("bindingCleared",function(){o._Data=[],u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[]}),e.on("bindingMoved",function(){u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[]}),e.on("bindingAdded",function(){o.isAddingBinding=!0,o._updateData=!1,u.GEO_ENCODING_SERVICES_CALLS[this.guid]=[],u.GEO_ENCODING_ADDRESSES[this.guid]=[]}),e.toggleTypePopup=function(t){var e=t.data("binding"),a=t.find(".type-picker-ddl .ddl-opener"),e=e.type;this.ui.type_dll.find("input").prop("checked",!1).end().find('[data-type="{0}"] input'.format(e)).prop("checked",!0).end().css({top:a.offset().top+a.outerHeight(),left:a.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},e.typePopupChanged=function(){var t=this.ui.type_dll.find(":checked").closest("li").attr("data-type"),e=this.ui.type_dll.data("area_column"),a=e.data("binding");e.find(".type-picker-ddl .value").text(_("GeoType_".concat(t))),a.type=t,this.ui.type_dll.hide(),o.initMap(),this._isDirty=!0},e.closeCustomPopups=function(){this.ui.type_dll.hide()},this.data_destroy_callback=function(){e.destroy()},this.updateRefreshButtons(!0)},renderDataCustom:function(t){var e=this,a=(t.ui.append($("<header>").text(_("MapCustomDataHeader")).addClass("nomargin")),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Label"),{columnIndex:0}),this.addColumn(_("Latitude"),{columnIndex:1}),this.addColumn(_("Longitude"),{columnIndex:2}),this.addColumn(_("Value"),{columnIndex:3});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates={column_header:"<td><span>{{ name }}</span></td>",cell_category:'<td><div><input type="text" class="category" value="{{ name }}" /></div></td>',cell_data:'<td><div><input type="text" class="data" value="{{ value }}" /></div></td>',cell_row_reorder:'<td><i class="far fa-bars"></i></td>',cell_row_remove:'<td><button type="button" class="remove row"><i class="far fa-trash"></i></button></td>'},a.numberOfColumns=function(){return 4},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},a.cellValueFormat=function(t,e){t=$(t).val();return t=0<e?!t||""===t||isNaN(t)?0:parseFloat(t):t},a.render({object:e.p.data,property:"custom",callback:function(){e.updateServiceSuccess()},fixed_columns:!0})},updateRefreshButtons:function(t){var e=this;this._onTabChangeSet||($("body").on("click",".quickTabMenu button",function(){"tab_data"!==$(this).attr("id")&&e.updateRefreshButtons()}),this._onTabChangeSet=!0),t?(this._withinDataBinding=!0,$("#widgetpreview").addClass("withHeader").append('<div class="refreshDataNow">                                             <span>'.concat(_("GeoMapRefreshButtonsLabel"),"</span>                                             <span>").concat(_("GeoMapRefreshButtonsSubLabel"),"</span>                                         </div >")),$("#widgetpreview").on("click",".refreshDataButton",function(){e._requestPreview=$(this).hasClass("preview"),e._Data=[],e._updateData=!0,e.tryUpdate()})):(this._withinDataBinding=!1,$("#widgetpreview .refreshDataNow").remove())},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"region-map-map.png",text:_("Map"),code:"map",renderer:this.getMapProperties.bind(this)}),t.push({icon:"region-map-position-and-zoom.png",text:_("PositionAndZoom"),code:"posandzoom",renderer:this.getPositionAndZoomProperties.bind(this)}),t.push({icon:"region-map-marker.png",text:_("Marker"),code:"marker",renderer:this.getMarkerProperties.bind(this)}),t.push({icon:"region-map-style.png",text:_("Styles"),code:"style",renderer:this.getStylesProperties.bind(this)}),t},getTitleProperties:function(t){var e=this._updateTitles.bind(this);t.addText({object:this.p.titles.title,property:"text",label:_("Title"),placeholder:_("EnterTitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.title,property:"font",dropDown:!0,callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",label:_("Subtitle"),placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"keyup"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this._updateBackground.bind(this);t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getMapProperties:function(t){var e=this._updateMapOptions.bind(this),a=this._updateMapType.bind(this),o=this._updateMapStyle.bind(this);t.addDropdown({label:_("DisplayAs"),object:this.p.map,property:"map_type",callback:a,combobox:{dataprovider:[{value:google.maps.MapTypeId.ROADMAP,label:_("Map")},{value:google.maps.MapTypeId.HYBRID,label:_("Satellite")}]}}),t.addSeparator(),t.addBoolean({label:_("DisplayLabels"),object:this.p.map,property:"display_labels",callback:o}),t.addSeparator(),t.addBoolean({label:_("DisplayScale"),object:this.p.map,property:"display_scale",callback:e}),t.addSeparator()},getMarkerProperties:function(o){function t(){var t=$(".markerProperties",o.ui.content);switch(0===t.length&&(t=$('<div class="markerProperties"></div>'),o.ui.content.append(t)),t.empty(),n.p.markers.type){case"icon":n._renderIconSelectorProperties(o,t);break;case"image_url":case"image_file":n._renderImageSelectorProperties(o,t)}}function e(){var t=o.ui.content,e=$(".conditionProperties",t),a=(0===e.length&&(e=$('<div class="conditionProperties"></div>'),t.append(e)),e.empty(),'<div class="ma2_marker_conditions_container">                            <button type="button" class="btn btn-default btn-grey addCondition">'.concat(_("AddNew"),'</button>                            <div class="sortable_list_container"></div>                            </div>'));switch(e.append(Mustache.render(a)),n.p.markers.type){case"icon":n._renderIconConditionsProperties(o,e);break;case"image_url":case"image_file":n._renderImageConditionsProperties(o,e)}$(".addCondition",t).on("click",function(){n.sortableList.addNewObject({icon:{id:"mapm",color:"#f7544a"},image:{file_guid:null,url:""},operator:"equals",value:""}),n._reRenderMarkers()})}var n=this;o.addDropdown({label:_("Type"),object:this.p.markers,property:"type",callback:function(){t(),e(),n._reRenderMarkers()},combobox:{dataprovider:[{value:"icon",label:_("Icon")},{value:"image_url",label:_("ImageFromURL")},{value:"image_file",label:_("ImageFromLibrary")}]}}),t(),o.addSeparator(),o.addDropdown({label:_("ConditionalColumn"),object:this.p.markers,property:"conditional_column",combobox:{enablePlaceholder:!0,placeholderLabel:_("SelectAValue"),input:{placeholder:_("SelectAValue")},dataprovider:n._getValueColumns()},callback:function(){n._isConditionalColumnString()&&n.p.markers.conditions.forEach(function(t){t.operator=i.Equals}),e(),n._reRenderMarkers()}}),e()},getStylesProperties:function(e){var a=this,o=(e.ui.content.append($("<div id='ma2_custom_style_header'></div>").html(_("CustomMapStyles"))),e.ui.content.append($("<div id='ma2_custom_style_editor'></div>")),ace.edit("ma2_custom_style_editor"));o.$blockScrolling=1/0,o.getSession().setMode("ace/mode/json"),o.getSession().setUseWrapMode(!0),o.setValue(this.p.custom_style),o.setDisplayIndentGuides(!0),o.clearSelection(),o.getSession().on("change",function(){var t=o.getValue();a._validateJSONStyle(t,e.ui.content),a.p.custom_style=t,a._updateMapStyle()}),window.OnResize=function(){o.resize()},e.ui.content.append($("<div id='ma2_custom_style_result'></div>")),this._validateJSONStyle(this.p.custom_style,e.ui.content)},getPositionAndZoomProperties:function(t){function e(){a.initMap(),a._reRenderMarkers()}var a=this,o=this._updateMapOptions.bind(this),n=t.addSection(),n=(t.addBoolean({section:n,label:_("DisplayZoomControl"),object:this.p.position_zoom.zoom,property:"enabled",callback:o}),t.addDropdown({container:n,label:_("Position"),object:this.p.position_zoom.zoom,property:"position",callback:o,combobox:{dataprovider:[{value:google.maps.ControlPosition.LEFT_TOP,label:_("LeftTop")},{value:google.maps.ControlPosition.LEFT_CENTER,label:_("LeftCenter")},{value:google.maps.ControlPosition.LEFT_BOTTOM,label:_("LeftBottom")},{value:google.maps.ControlPosition.RIGHT_TOP,label:_("RightTop")},{value:google.maps.ControlPosition.RIGHT_CENTER,label:_("RightCenter")},{value:google.maps.ControlPosition.RIGHT_BOTTOM,label:_("RightBottom")}]}}),t.addSeparator(),t.addBoolean({label:_("AllowMouseWheelZoom"),object:this.p.position_zoom.zoom,property:"scrollwheel",callback:o}),t.addSection());t.addBoolean({section:n,label:_("ManualZoomLevel"),object:this.p.position_zoom.zoom,property:"manual",callback:e}),t.addSlider({container:n,min:1,interval:1,max:18,label:_("ZoomLevel"),object:this.p.position_zoom.zoom,property:"zoomLevel",callback:e,valueLabelFormat:function(t){return t}}),t.addSeparator(),t.addBoolean({label:_("AllowPanning"),object:this.p.position_zoom,property:"allow_panning",callback:e}),t.addBoolean({label:_("CenterManually"),object:this.p.position_zoom,property:"center_manually",callback:e}),t.ui.content.append($("<div><label class='ma2_label_tooltip'>".concat(_("CenterManuallyTooltip"),"</label></div>")))},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,property:"onclick",parameters:!0}),this.renderToolbarProperties(t)},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},clearSortAndFilters:function(){this.p.sort_filter.filters=[],this.p.sort_filter.top_bottom.enabled=!1,this.p.sort_filter.top_bottom.column=null},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderTopBottom:function(e){var r=this,t=new Settings.SortFilter.TopBottom(e);t.updateDataCallback=function(){r._isDirty=!0,r.update()},t.getTopBottomColumns=function(i){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o=r.p.data_bindings[a],n=r.getColumnFromId(t.columns,o.column_id);e.push({label:o.name||n.name,value:o.guid,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null,is_context:n.is_context||!1,column_id:n.id})}i(e)});break;case"mixed":var t=[{label:_("Label"),value:0,column_id:0},{label:_("Latitude"),value:1,column_id:1},{label:_("Longitude"),value:2,column_id:2},{label:_("Values"),value:3,column_id:3}];i(t)}},t.render()},renderFilter:function(a){var n=this,o=new Settings.SortFilter.Filter(a);o.getFilterColumns=function(e){switch(n.p.data.mode){case"bindings":a.settings.getDataClone(n.p.data_id,n._from.dashboard.id).then(function(t){t=n.getColumnsDropdownProvider(t.columns.concat(n.p.calculated_columns||[]).filter(function(t){return!t.is_context}));e(t)});break;case"mixed":var t=[{label:_("Label"),value:0,column_id:0,icon:DashboardUtils.getIconForColumnType()},{label:_("Latitude"),value:1,column_id:1,icon:DashboardUtils.getIconForColumnType("System.Double")},{label:_("Longitude"),value:2,column_id:2,icon:DashboardUtils.getIconForColumnType("System.Double")},{label:_("Values"),value:3,column_id:3,icon:DashboardUtils.getIconForColumnType("System.Double")}];e(t)}return t},o.updateOperatorDropdown=function(e,a){switch(n.p.data.mode){case"bindings":var o;Utils.isDefined(e.column_id)&&null!==e.column_id?(o=[],this.settings.getDataClone(n.p.data_id,n._from.dashboard.id).then(function(t){t=n.getColumnFromId(t.columns,e.column_id);t&&(a.closest("tr").data("columnType",t.type),-1!==$.inArray(t.type,Enums._NumericDataTypes)||-1!==$.inArray(t.type,Enums._DateDataTypes)?(o=["equals","not_equal_to","in","not_in","greater_than","greater_or_equal_to","less_than","less_or_equal_to","null","not_null"],-1!==$.inArray(t.type,Enums._DateDataTypes)&&o.push("between")):o=Utils.isUndefined(t.type)?["equals","not_equal_to","in","not_in","greater_than","greater_or_equal_to","less_than","less_or_equal_to","contains","not_contain","starts_with","not_start_with","ends_with","not_end_with","null","not_null"]:["equals","not_equal_to","contains","not_contain","starts_with","not_start_with","ends_with","not_end_with","null","not_null"],o=o.map(function(t){return{label:_("Operator_".concat(t)),value:t}})),a.comboBox("empty").comboBox("dataprovider",o).comboBox("select",e.operator)})):a.comboBox("empty").comboBox("dataprovider",[]).comboBox("select",null);break;case"mixed":var t;Utils.isDefined(e.column_id)&&null!==e.column_id?(t=(t=["equals","not_equal_to","contains","not_contain","starts_with","not_start_with","ends_with","not_end_with","in","not_in","greater_than","greater_or_equal_to","less_than","less_or_equal_to","null","not_null"]).map(function(t){return{label:_("Operator_".concat(t)),value:t}}),a.comboBox("empty").comboBox("dataprovider",t).comboBox("select",e.operator)):a.comboBox("empty").comboBox("dataprovider",[]).comboBox("select",null)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().value,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.getDataCloneId=function(){return n.p.data_id},o.updateDataCallback=function(){n.update()},o.render()},getColumnsDropdownProvider:function(t){return t.map(function(t){return{label:t.name,icon:DashboardUtils.getIconForColumnType(t.type),value:t.id,data:t}})},_updateMapOptions:function(){var t={draggable:this.p.position_zoom.allow_panning,scrollwheel:this.p.position_zoom.zoom.scrollwheel,zoomControl:this.p.position_zoom.zoom.enabled,zoomControlOptions:{position:this.p.position_zoom.zoom.position},scaleControl:this.p.map.display_scale,backgroundColor:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color};this._Map.setOptions(t)},_updateMapType:function(){this._Map.setMapTypeId(this.p.map.map_type)},_updateMapStyle:function(){var t=[{featureType:"all",elementType:"labels",stylers:[{visibility:this.p.map.display_labels?"on":"off"}]}],e=null;try{e=JSON.parse(this.p.custom_style),$.isArray(e)||(e=[e])}catch(t){e=[]}var a=[];$.extend(a,e,t),this._Map.set("styles",a)},_updateTitles:function(){var t=$(".title",this.container),t=(t.html(Utils.disableHTML(this.p.titles.title.text)),t.css(this._getFontStyle(this.p.titles.title)),$(".subtitle",this.container)),t=(t.html(Utils.disableHTML(this.p.titles.subtitle.text)),t.css(this._getFontStyle(this.p.titles.subtitle)),$(".titleCtr",this.container));""===this.p.titles.title.text.trim()&&""===this.p.titles.subtitle.text.trim()?t.hide():t.show()},_updateBackground:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},_renderCustomDataMarkers:function(){var a=this;this.bounds||(this.bounds=new google.maps.LatLngBounds),this._clearOldMarkers(),this._Data.forEach(function(t,e){t[1]&&t[2]&&a._appendMarker(t[1],t[2],[t[3]],e,a._Data.length,a.bounds)})},_processAsyncGeoCoding:function(){if(this.bounds||(this.bounds=new google.maps.LatLngBounds),0!==this._Data.length){for(var c=this,t=0;t<this._Data[0].length;t++)null==this._Data[0][t]&&null==this._Data[1][t]&&u.GEO_ENCODING_ADDRESSES[this.guid].push(t);0<u.GEO_ENCODING_ADDRESSES[this.guid].length?function r(s){var l=u.GEO_ENCODING_ADDRESSES[c.guid][s],d=c._getGeographyFromRawData(l);u.GEO_ENCODING_SERVICES_CALLS[c.guid].push(WS.post("DashboardEditor/MA2LatLong",{Address:d,WidgetGuid:c.guid})),0<u.GEO_ENCODING_SERVICES_CALLS[c.guid].length&&u.GEO_ENCODING_SERVICES_CALLS[c.guid][s]&&u.GEO_ENCODING_SERVICES_CALLS[c.guid][s].done(function(t){var e,a=[],o=2;c.p.data_bindings&&c.p.data_bindings.length&&((e=c.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Values}))&&e.length&&(o=c._Data.length-e.length));for(var n=o;n<c._Data.length;n++){var i=c._Data[n];i&&(i=i[l],a.push(null!=i?i:""))}c._Data[0][l]=t.Lat,c._Data[1][l]=t.Lng,c._appendMarker(t.Lat,t.Lng,a,l,c._Data[0]&&c._Data[0].length||0,c.bounds,d),s!==u.GEO_ENCODING_ADDRESSES[c.guid].length-1?r(s+1):c._renderMarkerCompleted(c.bounds)}).fail(function(){s!==u.GEO_ENCODING_ADDRESSES[c.guid].length-1?r(s+1):c._renderMarkerCompleted(c.bounds)})}(0):this._renderMarkerCompleted(this.bounds)}},_renderDataMarkers:function(){if(this.bounds||(this.bounds=new google.maps.LatLngBounds),this._clearOldMarkers(),0<this._Data.length)for(var t=0;t<this._Data[0].length;t++){var e=[],a=2;this.p.data_bindings&&this.p.data_bindings.length&&((i=this.p.data_bindings.filter(function(t){return t.area===Enums.WidgetAreas.Values}))&&i.length&&(a=this._Data.length-i.length));for(var o,n=a;n<this._Data.length;n++)this._Data[n]&&(o=this._Data[n][t],e.push(null!=o?this._Data[n][t]:""));var i=this._getGeographyFromRawData(t);this._appendMarker(this._Data[0][t],this._Data[1][t],e,t,this._Data[0].length,this.bounds,i)}},_reRenderMarkers:function(){!this.error&&this.p.data&&"bindings"===this.p.data.mode&&this.canUpdateData()?this._renderDataMarkers():this._renderCustomDataMarkers()},_appendTooltipStyle:function(){var t=this.p.tooltip,e=t.background,t=t.font,a=(Utils.FontUtils.loadFont(t.family),"cursor:pointer;"),o=[];o[".GMTooltip"]=(a=(a=(a=(a=(a=(a=(a=(a=a+" min-width: 100px;"+" text-align: center;")+" border-style: solid;"+" padding: 5px;")+" background:{0};"+" border-width:{1}px;")+" border-color:{2};"+" box-shadow: {3};")+" font-family: {4};"+" font-size: {5}px;")+" font-weight: {6};"+" font-style: {7};")+" text-decoration: {8};"+" color: {9};")+" border-radius: {10}px;"+" text-shadow: {11};").format(e.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.color,DashboardUtils.shadeBlend(null,e.color)):e.color,e.border.width,e.border.color,this.getShadowCssFromShadowConfiguration(e.shadow),t.family,t.size,Utils.FontUtils.getFontWeight(t.family,t.font_weight),t.italic?"italic":"",t.underline?"underline":"",t.color,e.roundness?e.border.width+e.roundness:0,t.shadow?"1px 0px 4px rgba(0,0,0,.5)":""),Utils.AppendCSSToPage("#widget_".concat(this.guid),o)},_updateMapZoom:function(){this.p.position_zoom.zoom.manual&&this._Map.setZoom(this.p.position_zoom.zoom.zoomLevel)},_appendMarker:function(o,n,i,r,s,l,d){var c=this;null!=o&&null!=n&&""!=o&&""!=n&&-92!=o&&-182!=n&&this._getImageObject(i,function(t,e,a){null!=t&&(e=e?new FontAwesomeMarker(new google.maps.LatLng(o,n),{lat:o,lng:n},c._Map,{icon:t,color:a,fontSize:27}):new google.maps.Marker({position:{lat:o,lng:n},map:c._Map,icon:t}),google.maps.event.addListener(e,"click",function(){for(var t=i,e=(c.selectedlabel=t[0],[]),a=1;a<t.length;a++)e.push(t[a]);c.selectedvalue=e,c.selectedvalues=i,c.selectedgeography=d,c.updateState()}),c.p.tooltip.display&&c._generateTooltip(i,d,e),c.markers.push(e),a=new google.maps.LatLng(o,n),l.extend(a),r===s-1&&c._renderMarkerCompleted(l))})},_generateTooltip:function(t,e,a){var o;0<t.length&&(o=(o="<div id='tooltip'>")+DashboardUtils.formatWidgetTooltip([{regex:"this.geography",value:e},{array:t,regex:"this.values\\[(\\d+)\\]"},{array:e?e.split(","):[],regex:"this.geographies\\[(\\d+)\\]"}],this.p.tooltip.content,this)+"</div>",new GMTooltip({content:o,cssClass:"GMTooltip",event:this.p.tooltip.action||"hover",marker:a}))},_getImageObject:function(t,e){var a,o=this._getGraphicObjFromValue(t);switch(this.p.markers.type){case"icon":this.loadWidgetIcons(function(){var t=DashboardUtils.WidgetIcons.getSymbolFromCode(o.icon.id,"fa-map-marker");e&&e(t,!0,o.icon.color)});break;case"image_url":a=null,""!==o.image.url.trim()&&(a={url:o.image.url,anchor:new google.maps.Point(13.5,13.5),scaledSize:new google.maps.Size(27,27)}),e&&e(a);break;case"image_file":a=null,void 0!==o.image.file_guid&&null!==o.image.file_guid&&(a={url:window._App.webservices_url+"Media/Image/{0}?key={1}&id={2}&type={3}".format(o.image.file_guid,Utils.getSessionKey(),Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()),anchor:new google.maps.Point(13.5,13.5),scaledSize:new google.maps.Size(27,27)}),e&&e(a)}},_getGraphicObjFromValue:function(t){var e,a=this,o={icon:this.p.markers.icon,image:this.p.markers.image};return void 0!==this.p.markers.conditional_column&&null!==this.p.markers.conditional_column&&(e=null,e="mixed"===this.p.data.mode?t[0]:t[Utils.arrayFirstIndex(this._Values,function(t){return t.id==a.p.markers.conditional_column})],this.p.markers.conditions.filter(function(t){switch(t.operator){case i.Equals:return e==t.value_result;case i.GreaterOrEqualThan:return e>=t.value_result;case i.GreaterThan:return e>t.value_result;case i.LessOrEqualThan:return e<=t.value_result;case i.LessThan:return e<t.value_result}})[0])||o},_clearOldMarkers:function(){for(var t=0;t<this.markers.length;t++)this.markers[t].setMap(null);this.markers=[]},_renderMarkerCompleted:function(t){var e=this,a=t.getNorthEast(),o=(null!=a&&a.equals(t.getSouthWest())&&(o=new google.maps.LatLng(a.lat()+.01,a.lng()+.01),a=new google.maps.LatLng(a.lat()-.01,a.lng()-.01),t.extend(o),t.extend(a)),this.p.position_zoom.saved_position),n=(this._Map.fitBounds(t),this.p.position_zoom.center_manually?this._Map.panTo(new google.maps.LatLng(o.lat,o.lng)):this._Map.panToBounds(t),this.p.position_zoom.saved_position=o,google.maps.event.addListener(this._Map,"idle",function(){e._updateMapZoom(),google.maps.event.removeListener(n),setTimeout(function(){e.loading=!1,e._loaded=!0},2e3)}))},_getValueColumns:function(){function t(t){return{label:t.name||e(t).name,value:t.column_id}}var e=function(e){return Utils.arrayFirst(this._Values,function(t){return t.id===e.column_id})}.bind(this),a=[],o=function(){return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values).map(t):"mixed"===this.p.data.mode?{label:_("Values"),value:_("Values")}:void 0}.call(this);return a=a.concat(o)},_validateJSONStyle:function(t,e){try{JSON.parse(t),e.find("#ma2_custom_style_result").removeClass("invalid").addClass("valid").html(_("CurrentJSONStyle").format(_("Valid")))}catch(t){e.find("#ma2_custom_style_result").removeClass("valid").addClass("invalid").html(_("CurrentJSONStyle").format(_("InvalidJson").format(t.message)))}},_renderIconSelectorProperties:function(t,e){var a=this._reRenderMarkers.bind(this);t.addGlobalIconSelector({container:e,label:_("Icon"),object:this.p.markers.icon,property:"id",callback:a,widget:this}),t.addColor({container:e,label:_("IconColor"),object:this.p.markers.icon,property:"color",callback:this._reRenderMarkers.bind(this)})},_renderImageSelectorProperties:function(t,e){var a=this;switch(this.p.markers.type){case"image_url":t.addInputButton({container:e,label:_("URL"),object:this.p.markers.image,property:"url",placeholder:_("URLDesc"),buttonCallback:this._reRenderMarkers.bind(this),buttonIcon:"fa-arrow-down",inputEvents:"change",inputCallback:this._reRenderMarkers.bind(this)});break;case"image_file":t.addInputButton({container:e,label:_("Image"),placeholder:_("Browser"),object:this.p.markers.image,property:"file_name",buttonCallback:function(){Dialog.openVueDialog("/utils/mediapicker",{onSelect:function(t){$("input",e).val(t.Name).trigger("change"),a.p.markers.image.file_guid=t.FileId,a.p.markers.image.file_name=t.Name,a._reRenderMarkers()},type:Enums.DocumentType.Image})},buttonIcon:"fa-image",event:"focusout"})}},_renderIconConditionsProperties:function(a){var o=this,n=this._reRenderMarkers.bind(this);this.sortableList=new SortableList({container:$(".ma2_marker_conditions_container .sortable_list_container"),object:this.p.markers,property:"conditions",onDeleteCallback:n,onSortCallback:n,enableScrollbar:!1,columns:[{name:_("Icon"),width:70,cellFormat:function(t,e){a.addGlobalIconSelector({container:e,label:_("Icon"),object:t.icon,property:"id",callback:n,grid:!0,widget:o})}},{name:_("Color"),width:70,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                    <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                    <button type="button" class="btn btn-default dropdown-toggle">                                                    </button>                                                    <input type="text" value="'.concat(t.icon.color,'" class="colorPicker" />                                                </div>'));e.append(a),$("> input",a).clicColorPicker({onColorChanged:function(){t.icon.color=this.getRGBAColor(),o._reRenderMarkers()},onPreviewColorChanged:function(){t.icon.color=this.getRGBAColor(),o._reRenderMarkers()},onCancel:function(){t.icon.color=this.getRGBAColor(),o._reRenderMarkers()},palette:o._from.dashboard.model.colors})}},{name:_("Condition"),classes:"value_column",cellFormat:function(t,e){o._renderConditionCell(t,e)}}]})},_renderImageConditionsProperties:function(t){var o=this,n=this._reRenderMarkers.bind(this);this.sortableList=new SortableList({container:$(".ma2_marker_conditions_container .sortable_list_container"),object:this.p.markers,property:"conditions",onDeleteCallback:n,onSortCallback:n,enableScrollbar:!1,columns:[{name:_("Image"),width:100,cellFormat:function(e,a){switch(o.p.markers.type){case"image_url":t.addInputButton({container:a,object:e.image,property:"url",buttonCallback:n,buttonIcon:"fas fa-arrow-down",inputEvents:"change",inputCallback:n,placeholder:_("URLDesc"),grid:!0});break;case"image_file":t.addInputButton({container:a,placeholder:_("Browser"),object:e.image,property:"file_name",grid:!0,buttonCallback:function(){Dialog.openVueDialog("/utils/mediapicker",{onSelect:function(t){$("input",a).val(t.Name).trigger("change"),e.image.file_guid=t.FileId,e.image.image.file_name=t.Name,o._reRenderMarkers()},type:Enums.DocumentType.Image})},buttonIcon:"fa-image",event:"focusout"})}}},{name:_("Condition"),classes:"value_column",cellFormat:function(t,e){o._renderConditionCell(t,e)}}]})},_renderFormatFormulaInput:function(t,e,a,o){var n=this;o[a]=o[a]||o[e],$(".formula-container.{0}".format(a),t).show(),$(".formula-container.{0}".format(a),t).length||this.settings.Format.addFormulaInput({container:t,widget:n,dashboard:n.settings._original_widget.dashboard,object:o,grid:!0,dropup:!0,property:e,appendToBody:!0,callback:function(t){o[a]=t,n.settings.Data._isDirty=!0,n._reRenderMarkers()}})},_renderConditionCell:function(t,e){var a=this,o=(e.append($('<div class="value_container"></div>')),$(".value_container",e)),n=$('<select class="operator_selector"></select>'),n=(o.append(n),a._renderFormatFormulaInput($(".value_container",e),"value","value_result",t),$(".operator_selector",o).comboBox({appendToBody:!0,onChange:function(){t.operator=this.getValue(),a._reRenderMarkers()}}),i);a._isConditionalColumnString()&&(n=[i.Equals]),$(".operator_selector",o).comboBox("dataprovider",$.map(n,function(t){return{label:_("Operator_".concat(t)),value:t}})),$(".operator_selector",o).comboBox("select",t.operator)},render:function(){this._reRenderMarkers()},getTooltipMacro:function(){return[["{{this.geography}}",_("Geography")],["{{this.values[index]}}",_("PointValueIndex"),"this.values\\[(\\d+)\\]"],["{{this.geographies[index]}}",_("PointGeographyIndex"),"this.geographies\\[(\\d+)\\]"]]},getTooltipMacroAdditionalControls:function(t,e){var a=this._reRenderMarkers.bind(this);t.addShadow({container:e,object:this.p.tooltip.background,property:"shadow",callback:a}),t.addSeparator({container:e}),t.addDropdown({label:_("Display"),object:this.p.tooltip,container:e,property:"action",callback:a,combobox:{dataprovider:[{value:"hover",label:_("InteractionType_WhenHovering")},{value:"click",label:_("InteractionType_WhenClicking")}]}}),t.addSeparator({container:e})},_getGeographyFromRawData:function(t){var e="";if(!this._rawData||!this._rawData.length)return"";var a=this.p.data_bindings.filter(function(t){return"GeographyDimensionDataBindingProperties:#Infinis"===t.__type}),o=Utils.arrayFirstIndex(a,function(t){return t.type===Enums.GeoDimensionsTypes.Address});if(null!=o&&0<=o)e+=this._rawData[o]&&this._rawData[o][t]||"";else for(var n=a&&a.length||0,i=0;i<n;i++)i&&e&&(e+=", "),e+=this._rawData[i]&&this._rawData[i][t]||"";return e},_fixProperties:function(){this.p.interactions||(this.p.interactions=t.interactions)},_isConditionalColumnString:function(){var e=this;if("bindings"===e.p.data.mode&&null!=e.p.markers.conditional_column){var t=Utils.arrayFirst(e._Values,function(t){return t.id==e.p.markers.conditional_column});if(t)return"System.String"===t.type}return!1},_getFontStyle:function(t){return Utils.FontUtils.loadFont(t.font.family),{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}},_autoDetectBindingType:function(t){var e=t.trim().toLowerCase(),a=Enums.GeoDimensionsTypes.Latitude;return n.forEach(function(t){if(-1<e.indexOf(t))return a=t,!1}),a}}})}();
//# sourceMappingURL=MA2-gps-map.js.map

function _createForOfIteratorHelper(e,t){var o,r,a,i,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return r=!(o=!0),{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){r=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(r)throw a}}};if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),i=0,{s:t=function(){},n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var o;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(o="Object"===(o=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:o)||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}Widget.createType({id:"MA3",options:{width:300,min_width:200,height:300,min_height:200,hasColorsProperty:!0,hasStyleProperty:!0,formula_input:function(e){var t=["calculated_columns.formula"];return"formula"===e.ma_colors.value&&(t.push("ma_colors.stops.min"),t.push("ma_colors.stops.max")),"bindings"===e.data.mode&&t.push("sort_filter.filters.formula"),t.push("interactions.onclick.parameters.parameters.formula"),t.push("interactions.onseriesdblclick.parameters.parameters.formula"),t},formula_output:["selectedvalue","selectedregion","selectedregioncode","selectedvalues","selectedregions","selectedregioncodes"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/map.js"],properties:{colors:"",style:"",data_id:null,data_name:"",data_bindings:[],calculated_columns:[],data:{mode:"bindings",mappings:null,data:null,map_id:"wo_all_897C7",custom_map:!1},bubble:{color:"rgba(255,255,255,0.8)",shape:"circle",border:{width:1,color:"#fafafa"},min_size:4,max_size:12},titles:{title:{text:_("MapTitle"),font:{family:"Open Sans",size:18,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#ffffff"}},subtitle:{text:_("MapSubTitle"),font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},map:{allow_zoom:!1,default_region_color:"#ffffff",border:{width:1,color:"#000000"}},ma_colors:{hover_color:"#ffffff",hover_border:{color:"#ffffff",width:0},scale:"continuous",value:"percent",stops:null},labels:{enabled:!1,short_names:!0,type:"label",value_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Number),{Properties:{Decimals:0}}),font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}},legend:{enabled:!0,title:{text:"",font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"}},font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#ffffff"},format:null,layout:"horizontal",position:"bottom",equalWidth:!0,background_color:"rgba(255,255,255,0)",border:{width:0,color:"#000000"},roundness:0},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1},filters:[]},tooltip:{display:!0,content:'<p style="text-align: center;">{{this.point.name}}</p><p style="text-align: center; "><b>{{this.point.value}}</b></p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{onclick:null,onseriesdblclick:null,allow_export:!0,onclicklocation:null,ondblclicklocation:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},HighchartsMapBase.prototype,{init:function(){ChartUtils.resetSelectedOutputs(this),this.p.ma_colors.stops||(this.p.ma_colors.stops=[{min:0,max:0,color:DashboardUtils.getPaletteColor(this.p.colors,0)},{min:100,max:0,color:DashboardUtils.getPaletteColor(this.p.colors,1)}]),this._selectedRegionCode=null,this.p.data.mappings||(this.p.data.mappings=[],this.p.data.data=[["EU",3e3],["OC",4e3],["AF",3e3],["NA",1e3],["SA",2e3]]),this.bindEvents(),_WidgetMA1.MapStore[this.p.data.map_id]||(_WidgetMA1.MapStore[this.p.data.map_id]=WS.get("DashboardEditor/MAMetaData/{0}?id={2}&type={3}&custom={1}".format(this.p.data.map_id,this.p.data.custom_map,Utils.getLiveLinkObjectId(),Utils.getLiveLinkObjectType()))),this.tryUpdate()},updateService:function(){return"bindings"!==this.p.data.mode?"Formulas":"MA3Data"},render:function(){var e=this;this._isSelectorOpen?this.chartData=[]:this.chartData=$.extend(!0,[],this.p.hc_data);try{var t=Highcharts.geojson(this.p.map_data),o=(this.ui.highcharts()&&this.ui.highcharts().destroy(),this._handleMapMultipleSelection(),this._fixTooltipObject(),this._fixZoomControlObject(),this.p.interactions.onseriesdblclick&&"map_bubble"===this.p.interactions.ondblclicklocation&&"zoom_in"===this.p.interactions.onseriesdblclick.type),r=this.p.interactions.onclick&&"select_deselect"===this.p.interactions.onclick.type,a=(this._plotClicks=0,this._plotDblClicks=0,{exporting:{enabled:!1},chart:{spacingTop:20,spacingLeft:30,spacingBottom:20,width:this.width,height:this.height,spacingRight:30,backgroundColor:"transparent",events:{load:function(){e._loaded=!0,e.trigger("loaded")}}},title:this._getMapTitle(this.p.titles.title),subtitle:this._getMapTitle(this.p.titles.subtitle),credits:{enabled:!1},markers:{},mapNavigation:{enabled:this.p.map.allow_zoom||o,enableDoubleClickZoomTo:o},xAxis:{minRange:.1},yAxis:{minRange:.1},plotOptions:this._getMapPlotOptions(r),tooltip:this._getMapTooltip(),legend:e._getLegend(),colorAxis:e._getColorAxis(),series:[{color:this.p.map.default_region_color,nullColor:this.p.map.default_region_color,borderWidth:this.p.map.border.width,borderColor:this.p.map.border.color,dataLabels:{enabled:this.p.labels.enabled,formatter:function(){return e._getDataLabelFormatter(this.point)},style:this._getFontStyle(this.p.labels)},mapData:t,joinBy:["hc-key"],showInLegend:!1},{type:"mapline",data:Highcharts.geojson(this.p.map_data,"mapline"),color:this.p.map.border.color,enableMouseTracking:!1},{type:"mapbubble",joinBy:["hc-key"],data:this.chartData,mapData:t,color:this.p.bubble.color,borderColor:this.p.bubble.border.color,borderWidth:this.p.bubble.border.width,allowPointSelect:r,marker:{symbol:this.p.bubble.shape,lineColor:this.p.bubble.border.color,lineWidth:this.p.bubble.border.width,fillOpacity:1,states:{hover:{fillColor:this.p.ma_colors.hover_color,fillOpacity:1,lineColor:this.p.ma_colors.hover_border.color,lineWidth:this.p.ma_colors.hover_border.width},select:{fillColor:this.p.interactions.onclick&&"select_deselect"===this.p.interactions.onclick.type?this.p.interactions.onclick.background_color:"rgba(164, 237, 186, 1)",lineColor:this.p.interactions.onclick&&"select_deselect"===this.p.interactions.onclick.type?this.p.interactions.onclick.border_color:"rgba(0, 0, 0, 1)"}}},minSize:"".concat(this.p.bubble.min_size,"%"),maxSize:"".concat(this.p.bubble.max_size,"%")}]});this.resetSelectedOutput(),this.ui.highcharts("Map",a),this.updateBackground(),ChartUtils.resizeChart(this,this.ui)}catch(e){this.error=e}this.updateState()},_getCustomData:function(e){var t,o=[];if(this.p.data.data)for(var r=0;r<this.p.data.data.length;r++)t=this._getOrCreateMapping(e,this.p.data.data[r][0]),o.push({"hc-key":t.hckey,name:this.p.data.data[r][0],z:parseFloat(this.p.data.data[r][1]),value:parseFloat(this.p.data.data[r][1])});return o},_getBindingsData:function(e,t,o){for(var r,a,i,n=[],l=0;l<t.length;l++)(r=t[l])&&(a=o[l],i=this._getOrCreateMapping(e,r),n.push({"hc-key":i.hckey,name:r,z:parseFloat(a),value:parseFloat(a)}));return n},getFormatTabs:function(){var e=[];return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:"region-map-map.png",text:_("Map"),code:"map",renderer:this.getMapProperties.bind(this)}),e.push({iconCode:"fal fa-circle",text:_("BubbleProperties"),code:"bubble",renderer:this.getBubbleProperties.bind(this)}),e.push({icon:"region-map-color.png",text:_("BubbleColor"),code:"color",renderer:this.getBubbleColorProperties.bind(this)}),e.push({icon:"maps-title.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),e.push({icon:"legend.png",text:_("Legend"),code:"legend",renderer:this.getLegendProperties.bind(this)}),e},getBubbleProperties:function(e){var t=this.render.bind(this);e.addHeader({text:_("BubbleProperties"),description:_("BubblePropertiesDesc")}),e.addColor({label:_("DefaultBubbleColor"),object:this.p.bubble,property:"color",callback:t}),e.addBorder({object:this.p.bubble,property:"border",callback:t}),e.addSeparator(),e.addSlider({label:_("MinBubbleSize"),object:this.p.bubble,property:"min_size",callback:Utils.debounce(function(){t()},200),interval:1,min:1,max:30,valueLabelFormat:function(e){return"".concat(e," %")}}),e.addSlider({label:_("MaxBubbleSize"),object:this.p.bubble,property:"max_size",callback:Utils.debounce(function(){t()},200),interval:1,min:1,max:30,valueLabelFormat:function(e){return"".concat(e," %")}}),e.addSeparator(),e.addToggleButtons({label:_("Marker"),object:this.p.bubble,property:"shape",callback:function(){t()},buttons:[{image:"marker-circle.png",value:"circle"},{image:"marker-triangle.png",value:"triangle"},{image:"marker-diamond.png",value:"diamond"},{image:"marker-square.png",value:"square"}]}),e.addSeparator()},getBubbleColorProperties:function(a){var e=this.render.bind(this),i=this;a.addHeader({text:_("BubbleColor"),description:_("BubbleColorDesc")}),a.addColor({label:_("ColorOnHover"),object:this.p.ma_colors,property:"hover_color",callback:e}),a.addBorder({label:_("BorderOnHover"),object:this.p.ma_colors,property:"hover_border",callback:e}),a.addSeparator(),a.addDropdown({label:_("Scale"),object:this.p.ma_colors,property:"scale",combobox:{dataprovider:[{value:"discrete",label:_("DiscreteNumber")},{value:"continuous",label:_("Continuous")}]},callback:function(){a.content.find(".ga1_bands_container").remove(),i._generateSortableListForColors(a.content),i.update()}}),a.addDropdown({label:_("Value"),object:this.p.ma_colors,property:"value",combobox:{dataprovider:[{value:"values",label:_("Number")},{value:"percent",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){a.content.find(".ga1_bands_container").remove();var e,t=new RegExp(/^\d+$/),o=_createForOfIteratorHelper(i.p.ma_colors.stops);try{for(o.s();!(e=o.n()).done;){var r=e.value;"formula"!==i.p.ma_colors.value&&(t.test(r.min)||(r.min=0),t.test(r.max)||(r.max=0))}}catch(e){o.e(e)}finally{o.f()}i._generateSortableListForColors(a.content),i.update()}}),this._generateSortableListForColors(a.content)},renderInteractionsTab:function(o){function e(e){r.p.interactions.onclicklocation=e.value,$(".sub",n).remove(),$("#prop_interactionClick").remove();var t=[{type:null},{type:"dashboard"},{type:"url"}];"map_bubble"===e.value?t.push({type:"select_deselect",label:_("Interaction_SelectDeselect"),getDefaultValue:function(e){return $.extend(!0,{__type:"WidgetInteractionHighchartSelectDeselect:#Infinis",background_color:"rgba(164, 237, 186, 1)",border_color:"rgba(0, 0, 0, 1)"},e)},renderer:function(e,t,o){o.Format.addColor({container:e,label:_("Interaction_SelectionBackgroundColor"),object:t,property:"background_color",callback:a}),o.Format.addColor({container:e,label:_("Interaction_SelectionBorderColor"),object:t,property:"border_color",callback:a})}}):r.p.interactions.onclick&&"select_deselect"===r.p.interactions.onclick.type&&(r.p.interactions.onclick={type:null}),"nothing"!==e.value&&o.appendDropdownWithDynamicSection({container:n,object:r.p.interactions,property:"onclick",id:"interactionClick",label:_("InteractionType_Action"),parameters:!0,items:t}),a()}function t(e){r.p.interactions.ondblclicklocation=e.value,$(".sub",l).remove(),$("#prop_interactionDblClick").remove();var t=[{type:null},{type:"dashboard"},{type:"url"},{type:"data"}];"map_region"===e.value?t.push({type:"zoom_in",label:_("Interaction_ZoomIn"),getDefaultValue:function(e){return e},renderer:function(){}}):r.p.interactions.onseriesdblclick&&"zoom_in"===r.p.interactions.onseriesdblclick.type&&(r.p.interactions.onseriesdblclick={type:null}),"nothing"!==e.value&&o.appendDropdownWithDynamicSection({container:l,object:r.p.interactions,property:"onseriesdblclick",id:"interactionDblClick",label:_("InteractionType_Action"),parameters:!0,items:t,onChange:s}),s(),a()}var r=this,a=this.render.bind(this),i=[{label:_("Interaction_DoNothing"),value:"nothing"},{label:_("Map"),value:"map"},{label:_("MapBubble"),value:"map_bubble"}],n=$('<div class="interactionContainer"></div>'),l=(o.ui.append(n),o.settings.Format.addDropdown({container:n,object:this.p.interactions,property:"onclicklocation",label:_("InteractionType_WhenClicking"),combobox:{dataprovider:i},callback:e}),this.p.interactions.onclicklocation&&e({value:this.p.interactions.onclicklocation}),o.settings.Format.addSeparator({container:o.ui}),$('<div class="interactionContainer"></div>')),s=(o.ui.append(l),function(){$("#prop_allowExport",l).remove(),r.p.interactions.onseriesdblclick&&"data"===r.p.interactions.onseriesdblclick.type&&o.settings.Format.addBoolean({container:l,label:_("AllowExport"),object:r.p.interactions,property:"allow_export",id:"allowExport"})});o.settings.Format.addDropdown({container:l,object:this.p.interactions,property:"ondblclicklocation",label:_("InteractionType_WhenDblClicking"),combobox:{dataprovider:i},callback:t}),this.p.interactions.ondblclicklocation&&t({value:this.p.interactions.ondblclicklocation}),this.renderToolbarProperties(o)}})});
//# sourceMappingURL=MA3-bubble-map.js.map

var _excluded=["add","cancel","delete","edit","height","navigation","save","types"];function _objectWithoutProperties(t,e){if(null==t)return{};var a,n=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var i=Object.getOwnPropertySymbols(t),o=0;o<i.length;o++)a=i[o],0<=e.indexOf(a)||Object.prototype.propertyIsEnumerable.call(t,a)&&(n[a]=t[a]);return n}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var a,n={},i=Object.keys(t),o=0;o<i.length;o++)a=i[o],0<=e.indexOf(a)||(n[a]=t[a]);return n}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,i,o=[],r=!0,d=!1;try{for(a=a.call(t);!(r=(n=a.next()).done)&&(o.push(n.value),!e||o.length!==e);r=!0);}catch(t){d=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(d)throw i}}return o}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _createForOfIteratorHelper(t,e){var a,n,i,o,r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return n=!(a=!0),{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){n=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(n)throw i}}};if(Array.isArray(t)||(r=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return r&&(t=r),o=0,{s:e=function(){},n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}Widget.createType({id:"DA1",options:{height:350,width:300,min_height:250,min_width:300,hasStyleProperty:!0,hasColorsProperty:!1,forceServiceCall:!0,formula_input:function(t){var e=["sort_filter.filters.formula"];return t.options.on_load===Enums.DA1DefaultRowType.Specific&&e.push("options.formula"),e},custom_formula_input:["defaults.formula"],formula_output:[]},styles:["/Libraries/Bootstrap/bootstrap-datetimepicker.css","/Libraries/Bootstrap/bootstrap-timepicker.css"],scripts:["/Libraries/Bootstrap/bootstrap-datetimepicker.min.js","/Libraries/Bootstrap/bootstrap-timepicker.js"],properties:{defaultValues:!0,changeTracking:!0,change_tracking_enabled:!1,change_tracking_table_id:null,style:null,colors:null,data_id:null,data_bindings:[],data:{mode:"bindings",formula:null,custom:null},sort_filter:{sorts:[],filters:[]},layout:{direction:"horizontal",number_of_column:1},background:{color:"#ffffff",gradient:!1,border:{width:1,color:"#cccccc"},shadow:{code:"none"},roundness:0},labels:[],fields:[],validations:[],defaults:[],options:{on_load:"none",column:null,formula:""},header:{enabled:!0,height:50,background:{color:"#fafafa",gradient:!1,border:{width:1,color:"#cccccc"}},title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("FormTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("FormSubtitle")}},footer:{height:35,type:"labels",hoverBackgroundColor:"#DEE0E2",hoverColor:"#000000",background:{color:"#fafafa",gradient:!1,border:{width:1,color:"#cccccc"}},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},navigation:{enabled:!0},delete:{enabled:!0,label:_("Da1Button_delete")},edit:{enabled:!0,label:_("Da1Button_edit")},add:{enabled:!0,label:_("Da1Button_add")},cancel:{enabled:!0,label:_("Da1Button_cancel")},save:{enabled:!0,label:_("Da1Button_save")}}},prototype:{validationDisabledOn:function(){return["checkbox","dropdown"]},onApplyStyle:function(){var t=(this._from||this).dashboard;t&&Utils.findNestedProperties(this.p,"family",t.font)},getWidgetMinHeight:function(){var t=40;return this.p.header.enabled&&(t+=this.p.header.height),(this.p.footer.add.enabled||this.p.footer.edit.enabled||this.p.footer.delete.enabled||this.p.footer.navigation.enabled)&&(t+=this.p.footer.height),t},init:function(){this._dropdownWS=[],this.p.defaults||(this.p.defaults=[]),this._Data||(this._Data={data:[]},this._currentIndex=-2),this.createProperty("_editMode"),this.bindEvents(),this.verifyChangeTrackingTable(),this.tryUpdate()},verifyChangeTrackingTable:function(){var e=this;this._changeTrackingValidated=!0,this.p.change_tracking_enabled&&(this.p.change_tracking_table_id?this.getChangeTrackingDataInfo(function(t){e._changeTrackingValidated=t}):this._changeTrackingValidated=!1)},getChangeTrackingDataInfo:function(e){var a=this,t=!this._from&&this.dashboard&&this.dashboard.model&&this.dashboard.model.binder_id?this.dashboard.model.binder_id:null;WS.post("Data/".concat(this.p.change_tracking_table_id,"/Folder"),{DashboardRecId:(this._from||this).dashboard.id,BinderRecId:t}).done(function(t){t&&t.RecId?e&&e(!0):(a.p.change_tracking_table_id=null,e&&e(!1))}).fail(function(t){t.status===Enums.HttpStatusCode.NotFound?a.p.change_tracking_table_id=null:WS.displayDefaultError(),e&&e(!1)})},bindEvents:function(){var t=this;this._eventsBound||(this.on("_editMode",function(){$(".da1FormContainer",t.ui).toggleClass("da1Editing",t._editMode)}),this.on("fontchanged",function(){t.render()}),this.on("propertieschanged",function(){t.render()}),this.on("colorschanged",function(){t.render()}),this.on("stylechanged",function(){t.render()}),this.on(["height","width"],function(){t.applyFormItemsStyle()}),!this._from&&this.dashboard&&this.dashboard.in_editor&&this.on(WidgetLayer.Events.RESIZING,function(){$(".da1FormContainer ",this.ui).css("height",this.container.outerHeight()-this.p.header.height-this.p.footer.height)}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},canUpdateData:function(){return!(!this.p.data_id||!this.p.data_bindings.length)||!(this._Data={data:[]})},getDA1Defaults:function(t){var e,d=this;this._currentDefaultData=[],0===this.p.defaults.length||0===this.p.defaults.filter(function(t){return t.enabled}).length?t([]):(this.loading=!0,e=this.getDataToSendForUpdate(),WS.post("DashboardEditor/".concat(this.guid,"/DA1Defaults"),e).done(function(i){var o,r=[],e=_createForOfIteratorHelper(d.p.data_bindings);try{for(e.s();!(o=e.n()).done;)!function(){var e=o.value,t=[],a=Utils.arrayFirst(d.p.defaults,function(t){return e.guid===t.column_guid}),n=Utils.arrayFirst(i,function(t){return e.guid===t.column_guid});a&&a.enabled&&n&&n.formula&&null!==n.formula.value&&(a=d.validateDefaultValue(e.guid,n.formula.value),d._currentDefaultData.push({guid:e.guid,defaultValue:n.formula.value}),a||t.push(n.formula.value)),r.push(t)}()}catch(t){e.e(t)}finally{e.f()}t(r),d.loading=!1}).fail(function(){t([]),d.loading=!1}))},validateDefaultValue:function(e,t){var a=null,n=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e});if(n)switch(n.rowType){case"numeric":isNaN(t)&&(a={type:n.rowType});break;case"date":case"datetime":moment(t,["YYYY-MM-DD","YYYY-MM-DD LT","YYYY-MM-DD h:mm:ss A","YYYY-MM-DD HH:mm:ss","YYYY-MM-DD HH:mm"],!0).isValid()||(a={type:n.rowType})}return a},validateValue:function(t,e,a){var n=!0;if(a&&a.enabled)switch(t.rowType){case"multilineText":case"text":if(a.text){if(a.text.minimum_length&&e.length<a.text.minimum_length){n=!1;break}if(a.text.maximum_length&&e.length>a.text.maximum_length){n=!1;break}if(a.text.case){if(a.text.case===Enums.DA1ValidationTextCase.Lower&&e!==e.toLowerCase()){n=!1;break}if(a.text.case===Enums.DA1ValidationTextCase.Upper&&e!==e.toUpperCase()){n=!1;break}}if(/\d/.test(e)&&!a.text.allow_numbers){n=!1;break}if(/\s/.test(e)&&!a.text.allow_spaces){n=!1;break}if(a.text.excluded_char&&0<a.text.excluded_char.length){n=this.checkForExcludedCharacter(e,a);break}}break;case"numeric":var i=0,o=(!e||(o=e.split("."))&&1<o.length&&(i=o[1].length),parseFloat(e));if(i&&(o=parseFloat(e).toFixed(i)),a.numeric){if(void 0!==a.numeric.minimum&&null!==a.numeric.minimum&&(isNaN(o)||a.numeric.minimum>o)){n=!1;break}if(void 0!==a.numeric.maximum&&null!==a.numeric.maximum&&(isNaN(o)||a.numeric.maximum<o)){n=!1;break}if(void 0!==a.numeric.decimals&&null!==a.numeric.decimals&&(isNaN(o)||DashboardUtils.getNumberOfDecimals(o)!==a.numeric.decimals)){n=!1;break}}break;case"time":if(a.time){if(a.time.time_start&&(!e||a.time.time_start>e)){n=!1;break}if(a.time.time_end&&(!e||a.time.time_end<e)){n=!1;break}}break;case"date":case"datetime":if(a.date){if(a.date.date_start&&(!e||moment(a.date.date_start).isAfter(e))){n=!1;break}if(a.date.date_end&&(!e||moment(a.date.date_end).isBefore(e))){n=!1;break}}}return n},checkForExcludedCharacter:function(t,e){var a,n=!0,i=_createForOfIteratorHelper(e.text.excluded_char);try{for(i.s();!(a=i.n()).done;){var o=a.value;if(-1!==t.indexOf(o)){n=!1;break}}}catch(t){i.e(t)}finally{i.f()}return n},render:function(t){!this._uiRendered||t?(this.renderUI(),this._uiRendered=!0):(this.updateFields(),this.applyStyles()),this._loaded=!0,this.loading=!1},renderUI:function(){this.setFormLayout(),this.setFormContent(),this.setContentScrollbar(),this.bindUIEvents(),this.applyStyles(),this.updateButtonsState()},changeFormLayout:function(){$(".da1FormContainer",this.ui).removeClass("vertical horizontal").addClass(this.p.layout.direction)},clearStylesConfig:function(){var t=Utils.arrayFirst(this.p.labels,function(t){return"all"===t.guid}),e=Utils.arrayFirst(this.p.fields,function(t){return"all"===t.guid});this.p.labels=[],this.p.fields=[],t&&this.p.labels.push(t),e&&this.p.fields.push(e),this.p.defaults=[],this.p.validations=[]},deleteLabelConfig:function(e){Utils.arrayRemove(this.p.labels,function(t){return t.guid===e})},deleteFieldConfig:function(e){Utils.arrayRemove(this.p.fields,function(t){return t.guid===e})},deleteDefaultsAndValidations:function(e){Utils.arrayRemove(this.p.defaults,function(t){return t.column_guid===e}),Utils.arrayRemove(this.p.validations,function(t){return t.column_guid===e})},getOrCreateLabelConfig:function(e){var t,a=Utils.arrayFirst(this.p.labels,function(t){return t.guid===e});return a||("all"===e?a={guid:e,font:{family:"Open Sans",halign:"left",valign:"top",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},width:50,text:""}:(t=this.getOrCreateLabelConfig("all"),(a=$.extend(!0,{},t)).guid=e),this.p.labels.push(a),a)},getOrCreateFieldConfig:function(e,t){var a,t=t||null,n=(t||(t=(n=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e}))&&n.rowType||null),Utils.arrayFirst(this.p.fields,function(t){return t.guid===e}));return n||("all"===e?n={background:{color:"#ffffff",gradient:!1,border:{width:1,color:"#cccccc"},shadow:{code:"none"},roundness:4},font:{family:"Open Sans",halign:"left",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},format:null,guid:e,height:30,width:100,padding:{top:0,bottom:0,left:0,right:0}}:(a=this.getOrCreateFieldConfig("all"),(n=$.extend(!0,{},a)).guid=e),this.p.fields.push(n)),t&&"checkbox"===t?(n.font.family=null,n.font.valign||(n.font.valign="middle")):n.font.valign=null,n},getOrCreateButtonConfig:function(e){var t=Utils.arrayFirst(this.p.buttons,function(t){return t.code===e});return t||("all"===e&&(t={background:{color:"#ffffff",gradient:!1,border:{width:1,color:"#cccccc"},shadow:{code:"none"},roundness:4},font:{family:"Open Sans",halign:"left",valign:"top",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},code:e,type:"labels",height:50}),this.p.buttons.push(t),t)},updateFields:function(){var a=this;$(".da1FormItem",this.ui).each(function(){var t=$(this),e=t.data("binding_guid"),e=a.getBindingConfigUsingGUID(e);a.updateField(e,t)}),this.updateButtonsState()},updateField:function(e,t){var a=this,n=this.getOrCreateFieldConfig(e.guid),i=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e.guid}),o=("date"!==e.rowType&&"datetime"!==e.rowType&&$("input, textarea",t).on("focus",function(){a.hideUnusedPickers()}),e.value);switch(this._editMode||(o=o&&this.formatCellValue(o,n.format,i.internal_type)),e.rowType){case"text":case"numeric":$("input",t).val(o);break;case"time":var r=top._User.TimeFormat===Enums.ClicFormat.TimeDisplay.TwelveHour,d=o;this._editMode&&d&&(l=i.internal_type,d=this.formatCellValue(d,n.format,l)),$("input",t).val(d),$("input",t).attr("title",d),this.isDisabled(n)||this.initTimePicker($("input",t),r,d,n);break;case"date":var l=e.value?moment(e.value).format("YYYY-MM-DD"):"",r=this.formatDateValue(o,i,n)||"",d=e.value?moment(e.value).toDate():new Date;$("input",t).val(this._editMode?r:o),$("input",t).attr("title",r),$("input",t).data({date:d,nonFormattedValue:l}),this.isDisabled(n)||this.initDateTimePicker($("input",t),!1,n,i,d);break;case"datetime":r=e.value?moment(e.value).format("YYYY-MM-DD HH:mm:ss"):"",l=this.formatDateValue(o,i,n)||"",d=e.value?moment(e.value).toDate():new Date;$("input",t).val(this._editMode?l:o),$("input",t).attr("title",l),$("input",t).data({date:d,nonFormattedValue:r}),this.isDisabled(n)||this.initDateTimePicker($("input",t),!0,n,i,d);break;case"checkbox":e.value?$(".da1Checkbox i",t).removeClass("fa-square").addClass("fa-check-square"):$(".da1Checkbox i",t).removeClass("fa-check-square").addClass("fa-square");break;case"multilineText":$("textarea",t).val(e.value);break;case"dropdown":this._editMode?this.initComboBox(t,e,n):$("input",t).val(e.value)}this.changeControlsState(t,e)},hideUnusedPickers:function(t){$(".da1DatePicker .add",this.ui).each(function(){t&&$(this).is(t)||$(this).datetimepicker("hide")})},initTimePicker:function(a,t,e,n){var i=this,o=$("button",a.parent());o.timepicker({defaultTime:e||null,snapToStep:!0,minuteStep:1,showMeridian:t,appendWidgetTo:$("body"),orientation:{x:"right",y:"top"}}),a.on("click",function(){$(".da1TimePicker .add",i.ui).timepicker("hideWidget"),o.timepicker("showWidget")}),this.ui.on("mousedown",function(t){$(t.target).closest(".da1TimePicker").length||!i.isDisabled(n)&&i._editMode&&o.timepicker("hideWidget")}),o.on("hide.timepicker",function(t){var e=t.time.value;return":"===e[1]&&(e="0".concat(t.time.value)),a.val(e),!1})},formatDateValue:function(t,e,a){var n=e.internal_type;return"date"===e.rowType&&(n="date"),this.formatCellValue(t,a.format,n)},initDateTimePicker:function(a,n,i,o,t){var r=this,d=$($(".dashboard")[$(".dashboard").length-1]),t={autoclose:!0,initialDate:t||new Date,keyboardNavigation:!1,customPickerContainer:d,pickerPosition:"bottom-left",customPlacement:function(t,e){var a=t._events[0][0],n=a.offset(),a=a[0].getBoundingClientRect(),i=d.offset(),o=d[0].getBoundingClientRect().width/d.width(),r=t.picker[0].getBoundingClientRect();t.picker.css({top:(n.top-i.top+a.height)/o,left:(n.left-i.left-r.width+a.width)/o,zIndex:e})}},e=(n||(t.minView=3,t.maxView=3),$("button",a.parent()));e.datetimepicker("remove"),e.datetimepicker(t),e.datetimepicker().on("changeDate",function(t){var t=t.date?moment.utc(t.date):null,e=(t.set({second:0}),a.data({date:t}),t=n?t?moment(t).format("YYYY-MM-DD HH:mm:ss"):"":t?moment(t).format("YYYY-MM-DD"):"",r.formatDateValue(t,o,i));a.val(e||""),a.data("nonFormattedValue",t)}),e.datetimepicker().on("show",function(){r.hideUnusedPickers(e)}),a.on("focus",function(){r.hideUnusedPickers(e),e.datetimepicker("show")}),a.on("click",function(){$(".da1DatePicker .add",r.ui).datetimepicker("hide"),e.datetimepicker("show")}),this.ui.on("mousedown",function(t){$(t.target).closest(".da1DatePicker").length||!r.isDisabled(i)&&r._editMode&&e.datetimepicker("hide")})},initComboBox:function(t,e,n){function i(t){a.comboBox("empty").comboBox("dataprovider",t),a.comboBox("select",e.value),$(".toggleIcon > i",a.next(".cd-select")).addClass("fas fa-caret-down").removeClass("far fa-spinner fa-pulse")}var a=$(".da1Dropdown",t),o=this;this._dropdownItems||(this._dropdownItems=[]);a.comboBox("destroy").comboBox({appendToBody:!0,noScrollBar:!0,dropdownClasses:"da1DropdownOption",input:{placeholder:""},enableDropdownSearch:n.search_enabled,dropdownSearchPlaceholder:n.search_placeholder||_("Search"),customPlacement:function(t,e,a){a.hide(),a.addClass("da1DropdownContainer"),"undefined"!=typeof screenfull&&screenfull.isFullscreen&&screenfull.element&&a.appendTo($(screenfull.element)),a.css({top:0,left:0});var n=t[0].getBoundingClientRect(),i=$(".comboBox.dropdown-toggle",t)[0].getBoundingClientRect(),o=window.scrollX,r=window.scrollY,d=300<e.$ul.outerHeight()?298:e.$ul.outerHeight(),e=e.options.maxHeight&&d>e.options.maxHeight?e.options.maxHeight:d,d=window.innerHeight<n.top+n.height+e;a.css("top",n.top+r+(d?-e:n.height-1)),a.css("left",n.left+o),a.css("width",i.width),a.css("z-index",9999999999),a.show(),t.toggleClass("openedUpwards",d),a.addClass("show").toggleClass("openedUpwards",d)}}),this._editMode?($(".toggleIcon > i",a.next(".cd-select")).removeClass("fas fa-caret-down").addClass("far fa-spinner fa-pulse"),o._dropdownItems[e.column_id]?i(o._dropdownItems[e.column_id]):(this._dropdownWS[e.column_id]&&this._dropdownWS[e.column_id].abort(),t={},n.load_mode&&n.load_mode!==Enums.DA1DropdownListDataMode.DistinctFiltered?((t=this.widgetDataToSendForUpdate(!0)).Dependencies=[],t.FilterDependencies=[],t.FormulasDependencies=[],t.ParametersDependencies=[]):t=this.getDataToSendForUpdate(),t.BindingGUID=e.guid,this._dropdownWS[e.column_id]=WS.post("DashboardEditor/".concat(o.guid,"/DA1DropdownItems"),t).done(function(t){var a;t.length&&(a=(a=t[0]).filter(function(t,e){return a.indexOf(t)===e}),n.dropdown_sorting&&("asc"===n.dropdown_sorting?a.sort():"desc"===n.dropdown_sorting&&(a.sort(),a.reverse())),t=a.map(function(t){return{value:t,label:t}}),o._dropdownItems[e.column_id]=t,i(t))}).fail(function(){$(".toggleIcon > i",a.next(".cd-select")).addClass("fas fa-caret-down").removeClass("far fa-spinner fa-pulse")}))):i([{label:e.value,value:e.value}])},changeControlsState:function(t,e){var a,n=this._editMode,i=this.getOrCreateFieldConfig(e.guid),i=this.isDisabled(i);this._Data.columns&&this._Data.columns.length&&((a=Utils.arrayFirst(this._Data.columns,function(t){return t.id===e.column_id}))&&a.custom_type&&"id"===a.custom_type&&(n=!1)),n&&"disabled"!==i?(t.removeClass("disabled"),$(".disabled",t).removeClass("disabled").addClass("enabledForEdit"),$("input",t).prop("disabled",!1),$("button",t).prop("disabled",!1),$("textarea",t).prop("disabled",!1),$(".da1Dropdown",t).comboBox("enable")):(t.addClass("disabled"),$(".enabledForEdit",t).addClass("disabled").removeClass("enabledForEdit"),$("input",t).prop("disabled",!0),$("button",t).prop("disabled",!0),$("textarea",t).prop("disabled",!0),$(".da1Dropdown",t).comboBox("disable"))},bindUIEvents:function(){var e=this,a=this;this.uiEventsBound||(this.ui.on("keydown",function(t){9===t.keyCode&&t.stopPropagation()}),this.ui.on("click",".da1Nav:not(.disabled)",function(){var t=$(this).hasClass("da1Next")?1:-1;a._currentIndex+=t,a._navigating=!0,a.tryUpdate()}),this.ui.on("click",".da1FormControl .da1Checkbox.enabledForEdit",function(){var t=$("i",this);t.hasClass("fa-check-square")?(t.removeClass("fa-check-square"),t.addClass("fa-square")):t.hasClass("fa-square")&&(t.removeClass("fa-square"),t.addClass("fa-check-square"))}),this._from||(this.ui.on("click",".da1Actions.da1New:not(.disabled)",function(t){e.p.footer.add.enabled&&e.setAddMode(),t.stopPropagation()}),this.ui.on("click",".da1Actions.da1Delete:not(.disabled)",function(t){e.p.footer.delete.enabled&&e.setDeleteMode(),t.stopPropagation()}),this.ui.on("click",".da1Actions.da1Edit:not(.disabled)",function(t){e.p.footer.edit.enabled&&e.setEditMode(),t.stopPropagation()}),this.ui.on("click",".da1Actions.da1EditSave:not(.disabled)",function(t){e.editRow(),t.stopPropagation()}),this.ui.on("click",".da1Actions.da1Save:not(.disabled)",function(t){e.createRow(),t.stopPropagation()}),this.ui.on("click",".da1Actions.da1Cancel",function(t){t.stopPropagation(),e.resetFooterState(),e.clearValidationMarker(),e._editMode=!1,e._addMode=!1,a._navigating=!0,e.tryUpdate()}),this.ui.on("click",".da1Actions.da1ConfirmDelete:not(.disabled)",function(t){e.deleteRow(),t.stopPropagation()})),this.uiEventsBound=!0)},getCurrentRowData:function(){var t=[];if(this.p.change_tracking_enabled){var e,a=_createForOfIteratorHelper(this.p.data_bindings.entries());try{for(a.s();!(e=a.n()).done;){var n=_slicedToArray(e.value,2),i=n[0],o=n[1],r=this._Data.data[i],d=null;r&&r.length&&void 0!==r[0]&&(d=r[0]),t.push({columnId:o.column_id,columnName:o.name,value:d})}}catch(t){a.e(t)}finally{a.f()}}return t},deleteRow:function(){var t,e,a,n=this;this.p.footer.delete.enabled&&this._currentIndex<this._Data.total_count?(this.loading=!0,t=this.p.data_bindings.length,t=this._Data.data[t][0],e=this.getCurrentRowData(),a=this.getDataToSendForUpdate(!0),WS.delete("DashboardEditor/".concat(this.guid,"/DA1Row"),{DataCloneId:this.p.data_id,DashboardRecId:(this._from||this).dashboard.id,OldRow:e,RowId:t,Widget:a.Widget},{no_result:!0}).done(function(){n._editMode=!1,n.resetFooterState(),n._currentIndex=Math.max(n._currentIndex-1,-1),n.tryUpdate()}).fail(function(){n.loading=!1,WS.displayDefaultError(),n.render(),n.resetFooterState()})):this.resetFooterState()},editRow:function(){var i=this;if(this.p.footer.edit.enabled&&0<=this._currentIndex){var o,r=!0,d=(this.loading=!0,[]),e=(this.clearValidationMarker(),_createForOfIteratorHelper(this.p.data_bindings));try{for(e.s();!(o=e.n()).done;)!function(){var e=o.value,t=i.getValueFromUi(e),a=Utils.arrayFirst(i.p.validations,function(t){return t.column_guid===e.guid}),n=i.validateValue(e,t,a);r=r&&n,n?d.push({columnId:e.column_id,columnName:e.name,value:t}):i.displayValidationMarker(e,a)}()}catch(t){e.e(t)}finally{e.f()}var t,a,n=this.p.data_bindings.length,n=this._Data.data[n][0];r?(t=this.getDataToSendForUpdate(!0),a=this.getCurrentRowData(),WS.put("DashboardEditor/".concat(this.guid,"/DA1Row"),{DataCloneId:this.p.data_id,DashboardRecId:(this._from||this).dashboard.id,OldRow:a,Row:d,RowId:n,Widget:t.Widget},{no_result:!0}).done(function(){i._editMode=!1,i.tryUpdate(),i.resetFooterState()}).fail(function(t){300===t.status?top.App.messages.error(_("DA1UniqueKeyError")):WS.displayDefaultError(),i._editMode=!1,i.render(),i.resetFooterState()}).always(function(){i.clearValidationMarker(),i.loading=!1})):this.loading=!1}},clearValidationMarker:function(){$(".da1ValidationMarker",this.ui).remove()},displayValidationMarker:function(a,t){var e=$(".da1FormItem",this.ui).filter(function(t,e){return $(e).data("binding_guid")===a.guid});e&&$(".da1FormControl",e).append('<div class="da1ValidationMarker" title="'.concat(t&&t.validation_message?t.validation_message:_("ValidationDefaultMessage"),'"></div>')),this.displayWidgetCustomMessage(_("Da1FieldsNotValidated"),"error")},createRow:function(){var i=this;if(this.p.footer.add.enabled){var o,t,r=!0,d=(this.loading=!0,[]),e=(this.clearValidationMarker(),_createForOfIteratorHelper(this.p.data_bindings));try{for(e.s();!(o=e.n()).done;)!function(){var e=o.value,t=i.getValueFromUi(e),a=Utils.arrayFirst(i.p.validations,function(t){return t.column_guid===e.guid}),n=i.validateValue(e,t,a);r=r&&n,n?d.push({columnId:e.column_id,columnName:e.name,value:t}):i.displayValidationMarker(e,a)}()}catch(t){e.e(t)}finally{e.f()}r?(t=this.getDataToSendForUpdate(!0),WS.post("DashboardEditor/".concat(this.guid,"/DA1Row"),{DataCloneId:this.p.data_id,DashboardRecId:(this._from||this).dashboard.id,Row:d,Widget:t.Widget},{no_result:!0}).done(function(t){i._currentIndex=t-1,i._editMode=!1,i._addMode=!1,i.resetFooterState(),i.tryUpdate()}).fail(function(t){300===t.status?top.App.messages.error(_("DA1UniqueKeyError")):WS.displayDefaultError(),i._editMode=!1,i._addMode=!1,i.resetFooterState()}).always(function(){i.clearValidationMarker(),i.loading=!1})):this.loading=!1}},getRowDefaultValue:function(e,t){if(this._currentDefaultData&&0<this._currentDefaultData.length){var a=Utils.arrayFirst(this._currentDefaultData,function(t){return t.guid===e});if(a&&void 0!==a.defaultValue)return a.defaultValue}switch(t){case"checkbox":return!1;case"numeric":case"date":case"datetime":case"time":case"dropdown":return null;default:return""}},getValueFromUi:function(e){var t=Utils.arrayFirst($(".da1FormItem",this.ui),function(t){return $(t).data("binding_guid")===e.guid});if(!t&&this._addMode)return this.getRowDefaultValue(e.guid,e.rowType);if(!t&&this._editMode){var a=this._Data.data[this._Data.columns.map(function(t){return t.id}).indexOf(e.column_id)][0];if(a)return a;switch(e.rowType){case"text":case"multilineText":return"";case"checkbox":return!1;default:return null}}switch(e.rowType){case"text":return $("input",t).val()||"";case"numeric":return $("input",t).val()||null;case"date":case"datetime":return $("input",t).data("nonFormattedValue")||null;case"time":var n=$("input",t).val()||null;return n=n&&DashboardUtils.getTimeString(n);case"multilineText":return $("textarea",t).val()||"";case"checkbox":return $(".da1Checkbox i",t).hasClass("fa-check-square");case"dropdown":n=$(".da1Dropdown",t).comboBox("getSelected");return n?n.data("value"):null}this.changeControlsState(t,e)},setAddMode:function(){var e=this;this.getDA1Defaults(function(t){e._Data.data=t,e._editMode=!0,e._addMode=!0,e.changeFooterState(e.getEditFooterContent()),e.render()})},changeFooterState:function(t){$(".da1FooterContainer",this.ui).replaceWith(function(){return $(t)}),this.applyFooterStyle()},resetFooterState:function(){var t=this;$(".da1FooterContainer",this.ui).replaceWith(function(){return $(t.getFooterContent())}),this.applyFooterStyle()},setDeleteMode:function(){this.changeFooterState(this.getDeleteFooterContent())},setEditMode:function(){this._editMode=!0,this.changeFooterState(this.getEditFooterContent("Edit")),this.render()},updateButtonsState:function(){this._from||!this.canUpdateData()?($(".da1Previous",this.ui).addClass("disabled"),$(".da1Edit",this.ui).addClass("disabled"),$(".da1Delete",this.ui).addClass("disabled"),$(".da1New",this.ui).addClass("disabled"),this.p.data_id&&this.p.data_bindings.length||$(".da1Next",this.ui).addClass("disabled"),!this._Data.total_count||this._currentIndex===this._Data.total_count-1?$(".da1Next",this.ui).addClass("disabled"):$(".da1Next",this.ui).removeClass("disabled"),this._Data.total_count&&-1<this._currentIndex&&$(".da1Previous",this.ui).removeClass("disabled"),this._from||$(".da1New",this.ui).removeClass("disabled")):($(".da1New",this.ui).removeClass("disabled"),this._currentIndex<0?($(".da1Previous",this.ui).addClass("disabled"),$(".da1Edit",this.ui).addClass("disabled"),$(".da1Delete",this.ui).addClass("disabled")):$(".da1Previous",this.ui).removeClass("disabled"),this._Data.total_count?(this._currentIndex===this._Data.total_count-1?($(".da1Next",this.ui).addClass("disabled"),$(".da1Edit",this.ui).removeClass("disabled"),$(".da1Delete",this.ui).removeClass("disabled")):-1<=this._currentIndex&&($(".da1Next",this.ui).removeClass("disabled"),$(".da1Edit",this.ui).removeClass("disabled"),$(".da1Delete",this.ui).removeClass("disabled")),this._currentIndex<=-1&&($(".da1Edit",this.ui).addClass("disabled"),$(".da1Delete",this.ui).addClass("disabled"))):$(".da1Next",this.ui).addClass("disabled")),this.p.change_tracking_enabled&&!1===this._changeTrackingValidated?($(".da1Edit",this.ui).addClass("disabled").attr("title",_("ChangeTrackingTableError")),$(".da1Delete",this.ui).addClass("disabled").attr("title",_("ChangeTrackingTableError")),$(".da1New",this.ui).addClass("disabled").attr("title",_("ChangeTrackingTableError"))):($(".da1Edit",this.ui).attr("title",""),$(".da1Delete",this.ui).attr("title",""),$(".da1New",this.ui).attr("title",""))},setContentScrollbar:function(){$(".da1FormContainer",this.ui).setOverlayScrollbar()},applyContainerStyle:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this.ui.css({"padding-bottom":0<$(".da1FooterContainer",this.ui).length?this.p.footer.height:0}),this.applyFormItemsStyle()},applyFormItemsStyle:function(){var i,o=this,e=($(".da1FormContainer ",this.ui).css("height",this.height-this.p.header.height-this.p.footer.height),_createForOfIteratorHelper(this.p.data_bindings));try{for(e.s();!(i=e.n()).done;)!function(){var t,e,a=i.value,n=Utils.arrayFirst($(".da1FormItem",o.ui),function(t){return $(t).data("binding_guid")===a.guid});n&&(t=o.getOrCreateLabelConfig(a.guid,a.rowType),e=o.getOrCreateFieldConfig(a.guid,a.rowType),t&&o.applyLabelStyle(t,n,a),e&&o.applyFieldStyle(e,n,a))}()}catch(t){e.e(t)}finally{e.f()}},applyFormItemStyle:function(e){var t,a,n=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e}),i=Utils.arrayFirst($(".da1FormItem",this.ui),function(t){return $(t).data("binding_guid")===e});i&&(t=this.getOrCreateLabelConfig(n.guid,n.rowType),a=this.getOrCreateFieldConfig(n.guid,n.rowType),t&&this.applyLabelStyle(t,i,n),a&&this.applyFieldStyle(a,i,n))},applyLabelStyle:function(t,e){var a="flex-start",n=("center"===t.font.halign&&(a="center"),"right"===t.font.halign&&(a="flex-end"),"flex-start");"middle"===t.font.valign&&(n="center"),"bottom"===t.font.valign&&(n="flex-end"),$(".da1FormLabel",e).css({"margin-right":"5px","font-family":t.font.family,"font-size":t.font.size,width:"horizontal"===this.p.layout.direction?"".concat(t.width,"%"):"100%","justify-content":a,"align-items":n,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.font.underline?"underline":"none",color:t.font.color,"font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal"}),$(".da1FormLabel > div",e).css({"text-align":t.font.halign});Utils.FontUtils.loadFont(t.font.family,function(){$(".da1FormLabel",e).css("font-family",t.font.family)})},applyFieldStyle:function(t,e,a){var n="flex-start",i=("center"===t.font.halign&&(n="center"),"right"===t.font.halign&&(n="flex-end"),"flex-start");"middle"===t.font.valign&&(i="center"),"bottom"===t.font.valign&&(i="flex-end"),$(".da1FormControl",e).css({"font-family":t.font.family,"font-size":t.font.size,"justify-content":n,"align-items":i,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.font.underline?"underline":"none",color:t.font.color,"font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal"});t.font.family&&Utils.FontUtils.loadFont(t.font.family,function(){$(".da1FormControl",e).css("font-family",t.font.family)}),"vertical"!==this.p.layout.direction&&($(e).css({height:t.height,"min-height":t.height,"max-height":t.height}),$(e).parent().css({height:t.height,"min-height":t.height,"max-height":t.height}),$(e).parent().is(":first-child")&&$(e).parent().css({height:t.height+10,"min-height":t.height+10,"max-height":t.height+10})),this.changeControlStyles(t,e,a)},changeControlStyles:function(t,e,a){var n=t.height-t.padding.top-t.padding.bottom,i=function(){$("input",e).css({"text-align":t.font.halign,"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.font.underline?"underline":"none",color:t.font.color,"font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal"})};switch($(".da1FormControl",e).css({"padding-top":"".concat(t.padding.top,"px"),"padding-bottom":"".concat(t.padding.bottom,"px"),"padding-left":"".concat(t.padding.left,"px"),"padding-right":"".concat(t.padding.right,"px")}),a.rowType){case"text":$("input",e).css({height:n,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.background.border.width,"px"),"border-radius":"".concat(t.background.roundness?t.background.border.width+t.background.roundness:0,"px"),"border-color":t.background.border.color,width:"".concat(t.width,"%")});break;case"numeric":$(".cd-number, input",e).css({height:n,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.background.border.width,"px"),"border-radius":"".concat(t.background.roundness?t.background.border.width+t.background.roundness:0,"px"),"border-color":t.background.border.color,width:"".concat(t.width,"%")}),$("input",e).css({height:n-2*t.background.border.width}),$(".cdNumbersArrows",e).css({"border-color":t.background.border.color,"border-left-width":"".concat(t.background.border.width,"px")});break;case"checkbox":$(".da1Checkbox",e).css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,height:.875*t.font.size-1,width:.875*t.font.size}),$(".da1FormControl",e).css({"min-height":n,height:n}),$("i",e).css({"font-size":t.font.size,color:t.font.color});break;case"multilineText":$("textarea",e).css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.background.border.width,"px"),"border-radius":"".concat(t.background.roundness?t.background.border.width+t.background.roundness:0,"px"),"border-color":t.background.border.color,width:"".concat(t.width,"%"),height:n}),i=function(){$("textarea",e).css({"text-align":t.font.halign,"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.font.underline?"underline":"none",color:t.font.color,"font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal"})};break;case"dropdown":$(".comboBox , input",e).css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.background.border.width,"px"),"border-radius":"".concat(t.background.roundness?t.background.border.width+t.background.roundness:0,"px"),"border-color":t.background.border.color,width:"".concat(t.width,"%")}),$(".cd-comboBox",e).css({height:n}),$("input",e).css({height:n-2*t.background.border.width}),$(".toggleIcon",e).css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-color":t.background.border.color,"border-left-width":"".concat(t.background.border.width,"px")});break;case"date":case"datetime":case"time":$(".cd-input-button",e).css({height:n,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color,"border-width":"".concat(t.background.border.width,"px"),"border-radius":"".concat(t.background.roundness?t.background.border.width+t.background.roundness:0,"px"),"border-color":t.background.border.color,width:"".concat(t.width,"%")}),$("input",e).css({height:n-2*t.background.border.width,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color}),$(".buttons",e).css({background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color}),$(".buttons button",e).css({"border-color":t.background.border.color,"border-left-width":"".concat(t.background.border.width,"px")})}t.font.family&&Utils.FontUtils.loadFont(t.font.family,i)},applyFooterStyle:function(){var t=$(".da1FooterContainer",this.ui),e=this.p.footer;$(".da1FormContainer ",this.ui).css("height",this.height-this.p.header.height-e.height),this.ui.css({"padding-bottom":0<$(".da1FooterContainer",this.ui).length?e.height:0}),t.css({height:e.height,"max-height":e.height,"min-height":e.height,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):e.background.color,"border-top":"".concat(e.background.border.width,"px solid ").concat(e.background.border.color),"border-bottom-left-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-bottom-right-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),color:e.font.color,"font-size":e.font.size}),$("div",t).css({color:e.font.color,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):e.background.color}),$("div",t).off("mouseenter").on("mouseenter",function(){$(this).hasClass("disabled")||$(this).css({color:e.hoverColor,background:e.hoverBackgroundColor})}),$("div",t).off("mouseleave").on("mouseleave",function(){$(this).css({color:e.font.color,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):e.background.color})}),$("div",t).css({color:e.font.color,"font-size":e.font.size});"labels"===this.p.footer.type&&Utils.FontUtils.loadFont(e.font.family,function(){t.css({"font-family":e.font.family,"text-shadow":e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":e.font.underline?"underline":"none","font-weight":Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),"font-style":e.font.italic?"italic":"normal"}),$("div",t).css({"font-family":e.font.family,"text-shadow":e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":e.font.underline?"underline":"none","font-weight":Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),"font-style":e.font.italic?"italic":"normal"})}),$(".da1Nav",this.ui).css({"border-right":"".concat(e.background.border.width,"px solid ").concat(e.background.border.color)}),$(".da1Actions",this.ui).css({"border-right":"".concat(e.background.border.width,"px solid ").concat(e.background.border.color)})},applyHeaderStyle:function(){var t=$(".da1TitleContainer",this.ui),e=this.p.header;t.css({height:e.height,"min-height":e.height,"max-height":e.height,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):e.background.color,"border-bottom":"".concat(e.background.border.width,"px solid ").concat(e.background.border.color)}),this.applyTitleStyle(e),this.applySubtitleStyle(e)},applyTitleStyle:function(t){var e=$(".da1TitleContainer .da1Title",this.ui),a=t.title;e&&0<e.length&&(e.css({"font-family":a.font.family,"font-size":a.font.size,"text-align":a.font.halign,"text-shadow":a.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.font.underline?"underline":"none",color:a.font.color,"font-weight":Utils.FontUtils.getFontWeight(a.font.family,a.font.font_weight),"font-style":a.font.italic?"italic":"normal"}),Utils.FontUtils.loadFont(a.font.family,function(){e.css("font-family",a.font.family)}))},applySubtitleStyle:function(t){var e=$(".da1TitleContainer .da1Subtitle",this.ui),a=t.subtitle;e&&0<e.length&&(e.css({"font-family":a.font.family,"font-size":a.font.size,"text-align":a.font.halign,"text-shadow":a.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.font.underline?"underline":"none",color:a.font.color,"font-weight":Utils.FontUtils.getFontWeight(a.font.family,a.font.font_weight),"font-style":a.font.italic?"italic":"normal"}),Utils.FontUtils.loadFont(a.font.family,function(){e.css("font-family",a.font.family)}))},applyStyles:function(){this.applyContainerStyle(),this.applyHeaderStyle(),this.applyFooterStyle()},setFormLayout:function(){0<$(".da1TitleContainer",this.ui).length?$(".da1TitleContainer",this.ui).replaceWith(this.getTitleContent()):this.ui.append(this.getTitleContent()),0<$(".da1FormContainer",this.ui).length?$(".da1FormContainer",this.ui).replaceWith("<div class='da1FormContainer ".concat(this.p.layout.direction,"'>\n        </div>")):this.ui.append("<div class='da1FormContainer ".concat(this.p.layout.direction,"'>\n        </div>")),0<$(".da1FooterContainer",this.ui).length?$(".da1FooterContainer",this.ui).replaceWith(this.getFooterContent()):this.ui.append(this.getFooterContent())},updateTitleContent:function(){var t=this.getTitleContent(),e=$(".da1TitleContainer",this.ui);e.length?e.replaceWith(t):this.ui.prepend(t),this.applyHeaderStyle()},getTitleContent:function(){var t,e;return this.p.header.enabled?(t="",(e=this.p.header).title.text&&(t+="<div class='da1Title'>".concat(e.title.text,"</div>")),e.subtitle.text&&(t+="<div class='da1Subtitle'>".concat(e.subtitle.text,"</div>")),"<div class='da1TitleContainer'>".concat(t,"</div>")):""},setFormContent:function(){for(var t=$(".da1FormContainer",this.ui),e=(t.empty(),$('<div class="left">')),a=$('<div class="right">'),n=(t.append(e),2===Number(this.p.layout.number_of_column)&&t.append(a),this.getAvailableBindings()),i=0;i<n.length;i++){var o=n[i],r=1===Number(this.p.layout.number_of_column)||i%2==0?e:a,d=$(this.getFormRowTemplate());r.append(d),this.getRowContent(o,d)}},getBindingConfigUsingGUID:function(e){var t=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e});return this.getBindingConfig(t)},getAvailableBindings:function(){return this.p.data_bindings.filter(function(t){return!t.hidden})},updateRowLabel:function(e){var t,a,n=Utils.arrayFirst($(".da1FormItem",this.ui),function(t){return $(t).data("binding_guid")===e});n&&(t=this.getOrCreateLabelConfig(e),a=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e}),$("span",n).text(t.text||a.name))},getBindingConfig:function(e){var t=Utils.arrayFirstIndex(this.p.data_bindings,function(t){return t.guid===e.guid}),a=this._Data.data.length>t?this._Data.data[t][0]:"",n=e.name;return{guid:e.guid,value:a,label:n,index:t,rowType:e.rowType,column_id:e.column_id}},getRowContent:function(t,e){switch(t.rowType){case"text":this.getTextRow(t,e);break;case"numeric":this.getNumericRow(t,e);break;case"checkbox":this.getCheckboxRow(t,e);break;case"multilineText":this.getTextAreaRow(t,e);break;case"dropdown":this.getDropdownRow(t,e);break;case"time":this.getTimeSelector(t,e);break;case"date":case"datetime":this.getDateSelector(t,e)}},isDisabled:function(t){return t.edit_mode&&t.edit_mode!==Enums.DA1EditMode.Default?t.edit_mode===Enums.DA1EditMode.AddEdit?(this._editMode,"disabled"):t.edit_mode===Enums.DA1EditMode.Add?this._addMode?"":"disabled":void 0:this._editMode?"":"disabled"},getFieldTabIndex:function(){var t=100;return t=0<$(".da1FormControl").length?100+$(".da1FormControl").length:t},getFormRowTemplate:function(){return"<div class='da1FormRow'>\n              </div>"},getFormItemTemplate:function(t,e){return"<div class='da1FormItem'>\n                <div class='da1FormLabel'><div><span title='".concat(t,"'>").concat(t,"</span></div></div>\n                <div class='da1FormControl'>").concat(e,"</div>\n              </div>")},getTextRow:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=Utils.arrayFirst(this._Data.columns,function(t){return t.id===a.column_id}),r=this.getFieldTabIndex(),d="",o=(!o||(o=InternalType.parse(o.original_type))&&o.Length&&(d='maxlength="'.concat(o.Length,'"')),'<input tabindex="'.concat(r,'" class="cd-input" ').concat(d,' type="text" value="').concat(a.value||"",'" ').concat(this.isDisabled(i)," />")),r=$(this.getFormItemTemplate(n.text||a.label,o));r.data("binding_guid",t.guid),e.append(r)},getDropdownRow:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=this.getFieldTabIndex(),o='<ul class="da1Dropdown" tabindex="'.concat(o,'">\n                      </ul>'),n=$(this.getFormItemTemplate(n.text||a.label,o)),o=(n.data("binding_guid",t.guid),e.append(n),a.value);this._editMode||(o=o&&this.formatCellValue(o,i.format,t.internal_type)),$(".da1Dropdown",n).comboBox({input:{placeholder:""}}),$(".da1Dropdown",n).comboBox("dataprovider",[{value:a.value,label:o}]),$(".da1Dropdown",n).comboBox("select",a.value),this.isDisabled(i)&&$(".da1Dropdown",n).comboBox("disable")},getTextAreaRow:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=Utils.arrayFirst(this._Data.columns,function(t){return t.id===a.column_id}),r=this.getFieldTabIndex(),d="",o=(!o||(o=InternalType.parse(o.original_type))&&o.Length&&(d='maxlength="'.concat(o.Length,'"')),'<textarea tabindex="'.concat(r,'" class="textField" ').concat(d,' type="text" ').concat(this.isDisabled(i),">").concat(a.value||"","</textarea>")),r=$(this.getFormItemTemplate(n.text||a.label,o));r.data("binding_guid",t.guid),e.closest(".da1FormRow").addClass("textContainer"),e.append(r)},getNumericRow:function(e,t){var a=this.getBindingConfig(e),n=this.getOrCreateLabelConfig(e.guid),i=this.getOrCreateFieldConfig(e.guid),o=Utils.arrayFirst(this.p.validations,function(t){return t.column_guid===e.guid}),r=Utils.arrayFirst(this._Data.columns,function(t){return t.id===a.column_id}),d=this.getFieldTabIndex(),l=a.value,i=(this._editMode||(l=l&&this.formatCellValue(l,i.format,e.internal_type)),this.isDisabled(i)),r=(r&&r.custom_type&&"id"===r.custom_type&&(i="disabled"),o&&o.numeric&&o.numeric.step||1),o=$('<div class="cd-number '.concat(i,'">\n                          <input tabindex="').concat(d,'" step="').concat(r,'"\n      } allowdecimal="true" class="cd-input" value="').concat(l||"",'" ').concat(i," />\n                      </div>")),d=$(this.getFormItemTemplate(n.text||a.label,o[0].outerHTML));d.data("binding_guid",e.guid),t.append(d),$(".cd-number",d).cdNumber()},getCheckboxRow:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=this.getFieldTabIndex(),i='<div class="da1Checkbox '.concat(this.isDisabled(i),'" tabindex="').concat(o,"\"><i class='far ").concat(a.value?"fa-check-square":"fa-square","'></i></div>"),o=$(this.getFormItemTemplate(n.text||a.label,i));o.data("binding_guid",t.guid),e.append(o)},getDateSelector:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=this.getFieldTabIndex(),r=a.value,i=(this._editMode||(r=r&&this.formatDateValue(r,t,i)),this.isDisabled(i)),o='<div class="cd-input-button '.concat(i,'">\n                          <input tabindex="').concat(o,'" type="text" class="da1Date" value="').concat(r||"",'" ').concat(i,' />\n                          <div class="buttons">\n                            <button type="button" class="add" ').concat(i,'>\n                              <i class="far fa-calendar"></i>\n                            </button>\n                          </div>\n                        </div>'),r=$(this.getFormItemTemplate(n.text||a.label,o));r.addClass("disabled"),$(".da1FormControl",r).addClass("da1DatePicker"),r.data("binding_guid",t.guid),e.append(r)},getTimeSelector:function(t,e){var a=this.getBindingConfig(t),n=this.getOrCreateLabelConfig(t.guid),i=this.getOrCreateFieldConfig(t.guid),o=this.getFieldTabIndex(),r=a.value,d=(!this._editMode&&r&&(d=t.internal_type,r=this.formatCellValue(r,i.format,d)),this.isDisabled(i)),i='<div class="cd-input-button '.concat(d,'" style="z-index:9999999;">\n                        <input tabindex="').concat(o,'" value="').concat(r||"",'" type="text" class="da1TimeInput" ').concat(d,'>\n                      <div class="buttons">\n                        <button type="button" class="add" ').concat(d,'>\n                          <i class="far fa-clock"></i>\n                        </button>\n                      </div>\n                    </div>'),o=$(this.getFormItemTemplate(n.text||a.label,i));o.addClass("disabled"),$(".da1FormControl",o).addClass("da1TimePicker"),o.data("binding_guid",t.guid),e.append(o)},getEditFooterContent:function(t){var e=this.p.footer;return"icons"===this.p.footer.type?"<div class='da1FooterContainer'>\n        <div class='da1Actions da1Cancel' title=\"".concat(e.cancel.label,'"><i class="fas fa-times"></i></div>\n        <div class=\'da1Actions da1').concat(t||"","Save' title='").concat(e.save.label,'\'><i class="fas fa-check"></i></div>\n      </div>'):"<div class='da1FooterContainer'>\n        <div class='da1Actions da1Cancel'>".concat(e.cancel.label,"</div>\n        <div class='da1Actions da1").concat(t||"","Save'>").concat(e.save.label,"</div>\n      </div>")},getDeleteFooterContent:function(){var t=this.p.footer;return"icons"===this.p.footer.type?"<div class='da1FooterContainer'>\n        <div class='da1Actions da1Cancel' title='".concat(t.cancel.label,"'><i class='fas fa-times'></i></div>\n        <div class='da1Actions da1ConfirmDelete' title='").concat(t.delete.label,"'><i class='fas fa-check'></i></div>\n      </div>"):"<div class='da1FooterContainer'>\n        <div class='da1Actions da1Cancel'>".concat(t.cancel.label,"</div>\n        <div class='da1Actions da1ConfirmDelete'>").concat(t.delete.label,"</div>\n      </div>")},updateFooter:function(){0<$(".da1FooterContainer",this.ui).length?$(".da1FooterContainer",this.ui).replaceWith(this.getFooterContent()):this.ui.append(this.getFooterContent()),this.ui.css({"padding-bottom":0<$(".da1FooterContainer",this.ui).length?35:0}),this.updateButtonsState(),this.applyFooterStyle()},getFooterContent:function(){var t=this.p.footer,e="",a="",n="icons"===this.p.footer.type;return t.navigation.enabled&&(e="<div class='da1Nav da1Previous'><i class='fas fa-angle-left'></i></div>\n          <div class='da1Nav da1Next'><i class='fas fa-angle-right'></i></div>"),t.edit.enabled&&(a+=n?"<div class='da1Actions da1Edit' title=\"".concat(t.edit.label,'"><i class="fas fa-pencil"></i></div>'):"<div class='da1Actions da1Edit'><span>".concat(t.edit.label,"</span></div>")),t.delete.enabled&&(a+=n?"<div class='da1Actions da1Delete' title=\"".concat(t.delete.label,'"><i class="fas fa-trash"></i></div>'):"<div class='da1Actions da1Delete'><span>".concat(t.delete.label,"</span></div>")),t.add.enabled&&(a+=n?"<div class='da1Actions da1New' title=\"".concat(t.add.label,'"><i class="fas fa-plus"></i></div>'):"<div class='da1Actions da1New'><span>".concat(t.add.label,"</span></div>")),e||a?"<div class='da1FooterContainer'>\n      ".concat(e,"\n      ").concat(a,"\n      </div>"):""},updateFooterButton:function(){},updateService:"DA1Data",updateServiceSuccess:function(t){this._Data=t,this._Data.data||(this._Data.data=[]),void 0!==t.current_displayed_index&&null!==t.current_displayed_index&&(this._currentIndex=t.current_displayed_index),t.total_count<=this._currentIndex&&(this._currentIndex=t.total_count-1),0===t.total_count&&(this._currentIndex=-1),this._navigating||(this._dropdownItems=[]),this._navigating=!1,this.render(),this.updateButtonsState()},onWidgetSettingsSaved:function(){this._editMode=!1,this._addMode=!1,this._uiRendered=!1,this._dropdownItems=[],this._currentIndex=-2,this.updateFormulaDependencies(),this.verifyChangeTrackingTable(),this.tryUpdate()},setSample:function(){this._Data={data:[],columns:[]},this.render()},getUpdateDataQueryString:function(){return this._from&&this._currentIndex<0&&(this._currentIndex=-2),this.updatedFromDependency&&(this._currentIndex=-2),"start=".concat(this._currentIndex)},onPreviewRender:function(t){0===$(".widgetPreviewHeader",t).length&&(t.addClass("withHeader"),t.append('<div class="widgetPreviewHeader">\n                                            <span>'.concat(_("Da1PreviewHeader"),"</span>\n                                        </div >")))},renderPropertiesTab:function(t){var e=this,a=t.ui.content,n=this.updateFooter.bind(this),i="<div> \n                      <span>".concat(_("EnableLabel"),'</span> \n                      <ul class="multiple_checkbox da1Nav"> \n                          <li><label class="cd-checkbox hoverStyle"><input type="checkbox" name="enable_previousnext" value="navigation" id="enable_previousnext" ').concat(this.p.footer.navigation.enabled?"checked":"",' /><i class="far"></i><span>').concat(_("PreviousNext"),'</span></label></li> \n                          <li><label class="cd-checkbox hoverStyle"><input type="checkbox" name="enable_edit" value="edit" id="enable_edit" ').concat(this.p.footer.edit.enabled?"checked":"",' /><i class="far"></i><span>').concat(_("Edit"),'</span></label></li> \n                          <li><label class="cd-checkbox hoverStyle"><input type="checkbox" name="enable_new" value="add" id="enable_new" ').concat(this.p.footer.add.enabled?"checked":"",' /><i class="far"></i><span>').concat(_("New"),'</span></label></li> \n                          <li><label class="cd-checkbox hoverStyle"><input type="checkbox" name="enable_delete" value="delete" id="enable_delete" ').concat(this.p.footer.delete.enabled?"checked":"",' /><i class="far"></i><span>').concat(_("Delete"),"</span></label></li> \n                          </ul> \n                    </div>");a.append(i),a.on("change",".multiple_checkbox input[type=checkbox]",function(){t.settings.Data._isDirty=!0,e.p.footer[$(this).val()].enabled=$(this).prop("checked"),n()})},formatCellValue:function(t,e,a){var n=new InternalType(a);return Utils.formatValue(t,DashboardUtils.applyFormat(e,n.toDotNet(),a))},getFormRowTypes:function(){return{checkbox:{},dropdown:{},text:{},numeric:{},date:{},datetime:{},multilineText:{},time:{}}},renderDataTab:function(t){function a(){n._uiRendered=!1,n._isDirty=!0}var e,n=this,r=this,d=(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),new Settings.Data.Bindings(t)),i=(d.ignoreDataConnectionCodes=[Enums.DataConnectionCodes.DataFusion,Enums.DataConnectionCodes.DataMerge,Enums.DataConnectionCodes.View],_createForOfIteratorHelper(this.p.data_bindings));try{for(i.s();!(e=i.n()).done;){var o=e.value;o.rowTypeLabel=_("FormRowType_".concat(o.rowType))}}catch(t){i.e(t)}finally{i.f()}d.render([{name:_("FormRow"),placeholder:_("FormRowPlaceholder"),area:Enums.WidgetAreas.Columns,height_ratio:1,disabledCalculated:!0}],{hideCalculated:!0,allowDuplicateInArea:!1});t=Object.keys(this.getFormRowTypes()).map(function(t){var e=_("FormRowType_".concat(t));return'<li data-rowType="'.concat(t,'"><label class="fa-checkbox"><input type="radio" name="visualization_ddl_radio" /><i class="far"></i>\n            <span>').concat(e,"</span>\n            </label></li>")}).join("");d.ui.visualization_ddl=$('<ul id="data-visualization-ddl" class="dropdown-menu dropdown-arrow">'.concat(t,"</ul>")).appendTo("body"),d.toggleVisualizationPopup=function(t){var e=t.data("binding"),a=d.getColumn(e.column_id),n=t.find(".visualization-picker-ddl .ddl-opener"),e=e.rowType,i=r.getAvailableTypesForBinding(a.internal_type,a.custom_type);this.ui.visualization_ddl.find("[data-rowType]").hide();for(var o=0;o<i.length;o++)this.ui.visualization_ddl.find('[data-rowType="{0}"]'.format(i[o])).show();this.ui.visualization_ddl.find("input").prop("checked",!1).end().find('[data-rowType="{0}"] input'.format(e)).prop("checked",!0).end().css({top:n.offset().top+n.outerHeight(),left:n.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},d.visualizationPopupChanged=function(){var t=this.ui.visualization_ddl.find(":checked").closest("li").attr("data-rowType"),e=this.ui.visualization_ddl.data("area_column");e.data("binding").rowType=t,e.find(".visualization-picker-ddl .value").text(_("FormRowType_".concat(t))),this.ui.visualization_ddl.hide(),a(),this._isDirty=!0},d.ui.drop_areas.on("mousedown",".visualization-picker-ddl",function(){var t=$(this).closest(".area-column");return d.toggleVisualizationPopup(t),!1}),d.ui.visualization_ddl.on("change","input",function(){d.visualizationPopupChanged()}),d.templates.area_string_column='<li class="area-column measure big {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">\n            <div class="column">\n                <span class="title" title="{{col_name}}">{{ name }}</span>\n                <span class="visualization-picker-ddl"><span class="value">{{ rowTypeLabel }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>\n            </div>\n            <div class="buttons">\n                <button type="button" class="visibility"><i class="far"></i></button>\n                <button type="button" class="edit"><i class="far fa-edit"></i></button>\n                <button type="button" class="remove"><i class="far fa-trash"></i></button>\n            </div>\n        </li>',d.closeCustomPopups=function(){this.ui.visualization_ddl.hide()},d.on("bindingAdded",function(t){var e=d.getColumn(t.column_id);t.rowType="text",t.internal_type=e.internal_type,t.__type="DA1DataBindingProperties:#Infinis",InternalType.Time.isCompatible(e.internal_type)&&(t.rowType="time"),InternalType.isDate(e.internal_type)&&("date"===e.internal_type?t.rowType="date":t.rowType="datetime"),InternalType.isNumber(e.internal_type)&&(t.rowType="numeric"),InternalType.isText(e.internal_type)&&(t.rowType="text"),e.internal_type===Enums.InternalType.Boolean&&(t.rowType="checkbox"),t.rowTypeLabel=_("FormRowType_".concat(t.rowType)),r.getOrCreateLabelConfig(t.guid,t.rowType),r.getOrCreateFieldConfig(t.guid,t.rowType),a()}.bind(this)),d.on("bindingCleared",function(){n.clearStylesConfig(),a()}),d.on("bindingMoved",function(){a()}),d.on("bindingRenamed",function(){a()}),d.on("bindingRemoved",function(t){n.deleteLabelConfig(t.guid),n.deleteFieldConfig(t.guid),n.deleteDefaultsAndValidations(t.guid),a()}),d.ui.data_columns_list.off("click","li.datacolumn:not(.disabled):not(.calculated)").on("click","li.datacolumn:not(.disabled):not(.calculated)",function(){var t=parseInt($(this).attr("data-column-id")),e=d.ui.drop_areas.find('[data-area="{0}"]'.format(Enums.WidgetAreas.Columns));d._checkAreaBindings(e,t,function(){d.createBinding(Enums.WidgetAreas.Columns,t)})}),d.on("_isDirty",function(){n._uiRendered=!1})},getAvailableTypesForBinding:function(t,e){var a=[];return e&&"id"===e?["numeric"]:(InternalType.Time.isCompatible(t)&&a.push("time","dropdown"),InternalType.isDate(t)&&a.push("date","datetime","dropdown"),InternalType.isNumber(t)&&(t===Enums.InternalType.Boolean?a.push("checkbox"):a.push("numeric","dropdown")),InternalType.isText(t)&&a.push("text","dropdown","multilineText"),a)},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t,function(t){return t.id===e})},renderSort:function(t){var r=this,e=this.p.data_id,a=this._from.dashboard.id,d=this.getColumnFromId.bind(this),n=new Settings.SortFilter.Sort(t);n.getSortColumns=function(o){t.settings.getDataClone(e,a).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var n=r.p.data_bindings[a],i=d(t.columns,n.column_id);i&&e.push({icon:DashboardUtils.getIconForColumnType(i.type),label:n.name||i.name,value:n.guid,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,area:n.area})}o(e)})},n.updateDataCallback=function(){t._isDirty=!0,r.update()},n.render()},renderFilter:function(t){var d=this,e=this.p.data_id,a=this._from.dashboard.id,n=new Settings.SortFilter.Filter(t);n.getFilterColumns=function(r){t.settings.getDataClone(e,a).then(function(t){for(var e=[],a=0;a<d.p.data_bindings.length;a++){var n=d.p.data_bindings[a],i=d.getColumnFromId(t.columns,n.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:n.name||i.name,value:i.id,column_id:i.id})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var o=t.columns.concat(d.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(o.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));r(e)})},n.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,n.updateOperatorDropdown(t,a),n.updateDataCallback()},n.updateDataCallback=function(){d.update()},n.render()},getDefaultValuesTabs:function(){var t=[];return t.push({iconCode:"fal fa-clipboard-check",text:_("Validation"),code:"validation",renderer:this.getValidationProperties.bind(this)}),t.push({iconCode:"fal fa-badge-check",text:_("DefaultValues"),code:"default_values",renderer:this.getDefaultValuesProperties.bind(this)}),t.push({iconCode:"fal fa-sliders-h",text:_("AdditionalOptions"),code:"options",renderer:this.getAdditionalOptions.bind(this)}),t},getFields:function(){var t=this.p.data_bindings.map(function(t){return{label:t.name,value:t.guid,rowType:t.rowType}});return t.unshift({value:"none",label:_("SelectField"),placeholder:!0}),t},getValidationProperties:function(t){var r=this,d=t.settings.Format;d.addHeader({text:_("Validation"),description:_("ValidationDesc"),container:t.ui.content});var e=(e=this.getFields()).map(function(e){var t=Utils.arrayFirst(r.p.validations,function(t){return t.column_guid===e.value});return t&&t.enabled&&(e.validationEnabled=!0),-1!==r.validationDisabledOn().indexOf(e.rowType)&&(e.validationEnabled=!1,e.validationDisabled=!0),e}),l=$("<div class='validationSubContainer'></div>");d.addDropdown({label:_("FieldLabel"),object:{column:null},property:"column",container:t.ui.content,callback:function(t){var e=t&&t.value||null;if(l.empty(),e){var a=Utils.arrayFirst(r.p.validations,function(t){return t.column_guid===e}),n=Utils.arrayFirst(r.p.data_bindings,function(t){return t.guid===e}),i=InternalType.parse(n.internal_type),t=-1!==r.validationDisabledOn().indexOf(n.rowType);if(!a){switch(a={column_guid:e,enabled:!1},n.rowType){case"text":case"multilineText":a.text={case:Enums.DA1ValidationTextCase.Any,allow_numbers:!0,allow_spaces:!0,minimum_length:0,maximum_length:i.length||null};break;case"numeric":a.numeric={minimum:null,maximum:null,decimals:2,step:1};break;case"date":case"datetime":a.date={date_start:null,date_end:null};break;case"time":a.time={time_start:null,time_end:null}}r.p.validations.push(a)}var o=$("<div class='validationEnabledSection'></div>");l.append(o),d.addBoolean({section:o,container:l,label:_("EnabledValidation"),object:a,property:"enabled",disabled:t,callback:function(){var t=$('.da1ValidationRowItem[data-id="'.concat(a.column_guid,'"]'));$("label",t).toggleClass("validationSet",a.enabled),r.getValidationSection(a,n,d,o)}}),r.getValidationSection(a,n,d,o)}},combobox:{dataprovider:e,liTemplate:'<li class="da1ValidationRowItem" data-id="{{value}}">\n            <a href="javascript:void(0);">\n              <label class="{{#placeholder}}listPlaceholder{{/placeholder}} {{#validationDisabled}}validationDisabled{{/validationDisabled}} {{#validationEnabled}}validationSet{{/validationEnabled}}" title="{{#label}}{{label}}{{/label}}">{{#label}}{{label}}{{/label}}</label>\n            </a>\n          </li>'}}),d.addSeparator({container:t.ui.content}),t.ui.content.append(l)},getValidationSection:function(t,e,a,n){if(n.empty(),t.enabled&&e){var i=InternalType.parse(e.internal_type);switch(e.rowType){case"numeric":void 0!==t.numeric.step&&null!==t.numeric.step||(t.numeric.step=1),a.addNumber({container:n,label:_("Da1ValidationMinimum"),object:t.numeric,property:"minimum"}),a.addNumber({container:n,label:_("Da1ValidationMaximum"),object:t.numeric,property:"maximum"}),a.addNumber({container:n,label:_("Da1ValidationNumberOfDecimals"),object:t.numeric,min:0,max:12,property:"decimals"}),a.addNumber({container:n,label:_("Da1ValidationStep"),object:t.numeric,min:0,max:100,decimals:!0,property:"step"});break;case"time":a.addTimePicker({label:_("Da1ValidationMinimum"),object:t.time,property:"time_start",container:n}),a.addTimePicker({label:_("Da1ValidationMaximum"),object:t.time,property:"time_end",container:n});break;case"date":a.addDatePicker({label:_("Da1ValidationMinimum"),object:t.date,property:"date_start",container:n}),a.addDatePicker({label:_("Da1ValidationMaximum"),object:t.date,property:"date_end",container:n});break;case"datetime":a.addDatePicker({label:_("Da1ValidationMinimum"),object:t.date,property:"date_start",dateOnly:!1,container:n}),a.addDatePicker({label:_("Da1ValidationMaximum"),object:t.date,property:"date_end",dateOnly:!1,container:n});break;case"multilineText":case"text":var o=i.length||null;a.addDropdown({label:_("DA1ValidationTextCase"),object:t.text,property:"case",container:n,combobox:{dataprovider:[{value:Enums.DA1ValidationTextCase.Any,label:_("DA1ValidationTextCaseAny")},{value:Enums.DA1ValidationTextCase.Lower,label:_("DA1ValidationTextCaseLower")},{value:Enums.DA1ValidationTextCase.Upper,label:_("DA1ValidationTextCaseUpper")}]}}),a.addNumber({container:n,label:_("Da1ValidationMinimumLength"),object:t.text,min:0,max:o,property:"minimum_length"}),a.addNumber({container:n,label:_("Da1ValidationMaximumLength"),object:t.text,min:0,max:o,property:"maximum_length"}),a.addBoolean({container:n,label:_("Da1ValidationAllowNumbers"),object:t.text,property:"allow_numbers"}),a.addBoolean({container:n,label:_("Da1ValidationAllowSpaces"),object:t.text,property:"allow_spaces"}),a.addText({container:n,label:_("Da1DoNotAllowThese"),object:t.text,property:"excluded_char"});break;case"checkbox":case"dropdown":return}a.addTextarea({container:n,label:_("ValidationMessage"),placeholder:_("ValidationMessagePlaceholder"),object:t,property:"validation_message"})}},getDefaultValuesProperties:function(t){var n=this,i=t.settings.Format;i.addHeader({text:_("DefaultValues"),description:_("DefaultValuesDesc"),container:t.ui.content});var e=(e=this.getFields()).map(function(e){var t=Utils.arrayFirst(n.p.defaults,function(t){return t.column_guid===e.value});return t&&t.enabled&&(e.defaultEnabled=!0),e}),o=$("<div class='defaultSubContainer'></div>");i.addDropdown({label:_("FieldLabel"),object:{column:null},property:"column",container:t.ui.content,callback:function(t){var e,a;e=t&&t.value||null,o.empty(),e&&((a=Utils.arrayFirst(n.p.defaults,function(t){return t.column_guid===e}))||(a={column_guid:e,enabled:!1,formula:""},n.p.defaults.push(a)),t=$("<div class='defaultEnabledContainer'></div>"),o.append(t),i.addBoolean({section:t,container:o,label:_("EnabledDefault"),object:a,property:"enabled",callback:function(){var t=$('.da1DefaultRowItem[data-id="'.concat(a.column_guid,'"]'));$("label",t).toggleClass("defaultSet",a.enabled)}}),i.addFormulaInput({container:t,widget:n,dashboard:n.settings._original_widget.dashboard,label:_("Value"),object:a,property:"formula",callbackOnClick:!0,callback:function(t){t=n.validateDefaultValue(a.column_guid,t);t&&t.type&&Messages.error(_("Da1DefaultError_".concat(t.type)))}}))},combobox:{dataprovider:e,liTemplate:'<li class="da1DefaultRowItem" data-id="{{value}}">\n            <a href="javascript:void(0);">\n              <label class="{{#placeholder}}listPlaceholder{{/placeholder}} {{#defaultEnabled}}defaultSet{{/defaultEnabled}}" title="{{#label}}{{label}}{{/label}}">{{#label}}{{label}}{{/label}}</label>\n            </a>\n          </li>'}}),i.addSeparator({container:t.ui.content}),t.ui.content.append(o)},getAdditionalOptions:function(n){function t(t){switch(d.empty(),i.p.options.on_load){case"none":break;case"first":d.append("<div class='description'><div class='placeholder'></div><small>".concat(_("FirstRowDesc"),"</small></div>"));break;case"specific":d.append("<div class='description'><div class='placeholder'></div><small>".concat(_("SpecificRecordDesc"),"</small></div>"));function e(){var t=[];n.datacolumns[i.p.data_id]&&(t=n.datacolumns[i.p.data_id].map(function(t){return{label:t.name,value:t.id}})).unshift({value:null,label:_("LabelNone")}),r.addDropdown({label:_("Column"),object:i.p.options,container:d,property:"column",callback:function(){l()},combobox:{dataprovider:t}}),r.addFormulaInput({container:d,widget:i,dashboard:i.settings._original_widget.dashboard,label:_("Value"),object:i.p.options,property:"formula",callback:function(){o.settings.Data._isDirty=!0,l()}})}var a=n.getDataCloneColumns();a?a.done(function(){e()}):e()}l(t)}var i=this,o=this,r=n.settings.Format,d=(r.addHeader({text:_("AdditionalOptions"),description:_("AdditionalOptionsDesc"),container:n.ui.content}),$("<div class='optionSubContainer'></div>")),l=function(t){t||(i._currentIndex=-1,i.tryUpdate())};r.addDropdown({label:_("OnLoadDisplay"),object:this.p.options,property:"on_load",container:n.ui.content,callback:function(){t()},combobox:{dataprovider:[{value:Enums.DA1DefaultRowType.None,label:_("EmptyFormLabel")},{value:Enums.DA1DefaultRowType.First,label:_("FirstRowLabel")},{value:Enums.DA1DefaultRowType.Specific,label:_("SpecificRecordLabel")}]}}),n.ui.content.append(d),t(!0)},getFormatTabs:function(){var t=[];return t.push({iconCode:"fal fa-columns",text:_("FormatFormTitle"),code:"form",renderer:this.getFormProperties.bind(this)}),t.push({iconCode:"fal fa-stop",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({iconCode:"fal fa-window-maximize",text:_("Header"),code:"title",renderer:this.getHeaderProperties.bind(this)}),t.push({iconCode:"fal fa-align-left",text:_("FormatLabelsTitle"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t.push({iconSVG:"pen-field.svg#DA1field",text:_("FormatFieldsTitle"),code:"fields",renderer:this.getFieldsProperties.bind(this)}),t.push({iconCode:"fal fa-rectangle-wide",text:_("FormatButtonsTitle"),code:"buttons",renderer:this.getButtonsProperties.bind(this)}),t},getHeaderProperties:function(t){var e=this.updateTitleContent.bind(this),a=this.applyHeaderStyle.bind(this),n=this.p.header,i=(t.addHeader({text:_("HeaderTitle"),description:_("HeaderDesc")}),t.addSection());i.addClass("da1Header"),t.content.append(i),t.addBoolean({section:i,label:_("DisplayHeader"),object:n,property:"enabled",callback:e}),t.addText({container:i,object:n.title,property:"text",placeholder:_("EnterSubtitlePlaceholder"),label:_("TitleText"),callback:e,event:"focusout"}),t.addFont({object:n.title,container:i,property:"font",callback:a}),t.addSeparator({container:i}),t.addText({object:n.subtitle,container:i,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,label:_("SubtitleText"),event:"focusout"}),t.addFont({object:n.subtitle,container:i,property:"font",callback:a}),t.addSeparator({container:i}),t.addBackgroundColor({object:n.background,container:i,property_color:"color",property_gradient:"gradient",callback:a}),t.addSeparator({container:i}),t.addBorder({object:n.background,container:i,property:"border",callback:a}),t.addSeparator({container:i}),t.addSlider({object:n,label:_("Height"),container:i,property:"height",callback:a,interval:1,min:30,max:80,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:i})},getBackgroundProperties:function(t){var e=this.applyStyles.bind(this);t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getFormProperties:function(t){var e=this.render.bind(this,!0);t.addHeader({text:_("FormatFormTitle"),description:_("FormatFormDesc")}),t.addDropdown({label:_("Layout"),object:this.p.layout,property:"direction",callback:e,combobox:{inputTemplate:'<div class="dropdownIcon"><i class="{{ icon }}"></i><span class="name">{{ label }}</span></div>',liTemplate:'<li class="dropdownIconRow"><a href="javascript:void(0);"><label><i class="{{ icon }}"></i><span class="name">{{ label }}</span></label></a></li>',dataprovider:[{value:"horizontal",label:_("Horizontal"),icon:"far fa-line-columns"},{value:"vertical",label:_("Vertical"),icon:"far fa-align-justify"}]}}),t.addSeparator(),t.addDropdown({label:_("NumberOfColumn"),object:this.p.layout,property:"number_of_column",callback:e,combobox:{dataprovider:[{value:1,label:1},{value:2,label:2}]}}),t.addSeparator()},getLabelsProperties:function(e){var r=this,t=(e.addHeader({text:_("FormatLabelsTitle"),description:_("FormatLabelsDesc")}),this.p.data_bindings.map(function(t){return{label:t.name,value:t.guid}})),a=(t.unshift({value:"all",label:_("Da1Button_all")}),e.addDropdown({label:_("Label"),object:{column:null},property:"column",callback:function(t){n(t.value)},combobox:{dataprovider:t}}),e.addSeparator(),$("<div></div>")),n=(e.ui.content.append(a),function(i){a.empty();function t(t){if("all"===i){var e,a=_createForOfIteratorHelper(r.p.data_bindings);try{for(a.s();!(e=a.n()).done;){var n=e.value;r.getOrCreateLabelConfig(n.guid)[t]=o[t],r.applyFormItemStyle(n.guid)}}catch(t){a.e(t)}finally{a.f()}}else r.applyFormItemStyle(i)}var o=r.getOrCreateLabelConfig(i);e.addFont({object:o,container:a,property:"font",callback:function(){t("font")}}),e.addSeparator({container:a}),"horizontal"===r.p.layout.direction&&(e.addSlider({object:o,label:_("WidthPercentageLabel"),min:0,max:100,interval:1,valueLabelFormat:function(t){return"".concat(t,"%")},container:a,property:"width",callback:function(){t("width")}}),e.addSeparator({container:a})),"all"!==i&&e.addText({label:_("FieldTextLabel"),placeholder:_("FieldTextPlaceholder"),object:o,container:a,property:"text",callback:r.updateRowLabel.bind(r,i)})});n("all")},getFieldsProperties:function(d){var l=this,s=this.render.bind(this,!0),t=(d.addHeader({text:_("FormatFieldsTitle"),description:_("FormatFieldsDesc")}),this.p.data_bindings.map(function(t){return{label:t.name,value:t.guid}})),i=(t.unshift({value:"all",label:_("Da1Button_all")}),d.addDropdown({label:_("FieldLabel"),object:{column:null},property:"column",callback:function(t){e(t.value)},combobox:{dataprovider:t}}),d.addSeparator(),$("<div></div>")),c=(d.ui.content.append(i),$("<div></div>")),e=(c.css("padding-bottom","20px"),d.ui.content.append(c),function(e){var a,t,n;i.empty(),"all"===e?o("all"):(a=Utils.arrayFirst(l.p.data_bindings,function(t){return t.guid===e}),t=null,l._Data.columns&&(t=(n=Utils.arrayFirst(l._Data.columns,function(t){return t.id===a.column_id}))&&n.custom_type||null),n=l.getAvailableTypesForBinding(a.internal_type,t),d.addDropdown({label:_("TypeLabel"),container:i,object:a,property:"rowType",callback:function(t){o(a.guid,t.value),s()},combobox:{dataprovider:n.map(function(t){return{label:_("FormRowType_".concat(t)),value:t}})}}),d.addSeparator({container:i}),o(a.guid,a.rowType))}),o=function(i,t){c.empty();function e(t){if("all"===i){var e,a=_createForOfIteratorHelper(l.p.data_bindings);try{for(a.s();!(e=a.n()).done;){var n=e.value;l.getOrCreateFieldConfig(n.guid)[t]=r[t],l.applyFormItemStyle(n.guid)}}catch(t){a.e(t)}finally{a.f()}}else l.applyFormItemStyle(i)}var a,n,o,r=l.getOrCreateFieldConfig(i);if("all"!==i&&(d.addDropdown({label:_("EditModeLabel"),object:r,container:c,property:"edit_mode",callback:s,combobox:{dataprovider:[{value:Enums.DA1EditMode.Default,label:_("EditMode_".concat(Enums.DA1EditMode.Default))},{value:Enums.DA1EditMode.AddEdit,label:_("EditMode_".concat(Enums.DA1EditMode.AddEdit))},{value:Enums.DA1EditMode.Add,label:_("EditMode_".concat(Enums.DA1EditMode.Add))}]}}),d.addSeparator({container:c}),"dropdown"===t&&(r.data||(r.data={column_id:null,data_id:null}),d.addDropdown({label:_("ListItemsLabel"),object:r,container:c,property:"load_mode",callback:function(){n()},combobox:{dataprovider:[{value:Enums.DA1DropdownListDataMode.DistinctFiltered,label:_("ListData_".concat(Enums.DA1DropdownListDataMode.DistinctFiltered))},{value:Enums.DA1DropdownListDataMode.Distinct,label:_("ListData_".concat(Enums.DA1DropdownListDataMode.Distinct))},{value:Enums.DA1DropdownListDataMode.FromData,label:_("ListData_".concat(Enums.DA1DropdownListDataMode.FromData))}]}}),a=$('<div class="da1LoadModeContainer"></div>'),c.append(a),(n=function(){a.empty(),r.load_mode===Enums.DA1DropdownListDataMode.FromData&&d.addDataSelector({container:a,object:r.data,property:"data_id",property_column_id:"column_id",displayColumns:!0,dashboardRecId:l._from&&l._from.dashboard&&l._from.dashboard.model.id||null})})(),d.addSeparator({container:c}),r.dropdown_sorting||(r.dropdown_sorting="none"),d.addToggleButtons({container:c,label:_("DropdownSorting"),object:r,property:"dropdown_sorting",buttons:[{icon:"fa-times",value:"none"},{icon:"fa-sort-alpha-down",value:"asc"},{icon:"fa-sort-alpha-up",value:"desc"}]}),d.addSeparator({container:c}),o=d.addSection({container:c}),null===r.search_placeholder&&(r.search_placeholder=_("Search")),d.addBoolean({label:_("EnableSearch"),object:r,property:"search_enabled",section:o,container:c}),d.addText({container:o,event:"focusout",label:_("SearchPlaceholderLabel"),object:r,placeholder:_("Search"),property:"search_placeholder"}),d.addSeparator({container:c}))),"checkbox"===t?d.addFont({object:r,container:c,disabledFontStyle:!0,property:"font",callback:function(){e("font")}}):d.addFont({object:r,container:c,property:"font",callback:function(){e("font")}}),d.addSeparator({container:c}),d.addSlider({label:_("WidthPercentageLabel"),container:c,min:0,max:100,interval:1,valueLabelFormat:function(t){return"".concat(t,"%")},object:r,property:"width",callback:function(){e("width")}}),d.addSeparator({container:c}),"all"!==i)switch(t){case"numeric":d.addFormat({container:c,label:_("Format"),displayDdl:!0,enablePlaceholder:!0,object:r,property:"format",dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency],callback:s}),d.addSeparator({container:c});break;case"date":d.addFormat({container:c,label:_("Format"),displayDdl:!0,enablePlaceholder:!0,object:r,property:"format",dataTypes:[Enums.ClicFormat.DataType.Date],callback:s}),d.addSeparator({container:c});break;case"datetime":d.addFormat({container:c,label:_("Format"),displayDdl:!0,enablePlaceholder:!0,object:r,property:"format",dataTypes:[Enums.ClicFormat.DataType.DateTime],callback:s}),d.addSeparator({container:c})}d.addBackgroundColor({container:c,object:r.background,property_color:"color",property_gradient:"gradient",callback:function(){e("background")}}),d.addSeparator({container:c}),"checkbox"!==t&&(d.addSlider({label:_("RoundedCorners"),container:c,object:r.background,property:"roundness",callback:function(){e("background")},interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),d.addSeparator({container:c}),d.addBorder({container:c,object:r.background,property:"border",callback:function(){e("background")}}),d.addSeparator({container:c})),d.addNumber({container:c,label:_("Height"),object:r,property:"height",min:10,max:1e3,step:10,decimals:!1,callback:function(){e("height")}}),"checkbox"!==t&&(d.addMargin({container:c,margins:[{label:_("Top"),name:"top",callback:function(){e("padding")}},{label:_("Bottom"),name:"bottom",callback:function(){e("padding")}},{label:_("Left"),name:"left",callback:function(){e("padding")}},{label:_("Right"),name:"right",callback:function(){e("padding")}}],min:0,max:99,object:r.padding}),d.addSeparator({container:c}))};e("all")},getButtonsProperties:function(n){var i=this,o=this.applyFooterStyle.bind(this),r=this.updateFooter.bind(this),a=(n.addHeader({text:_("FormatButtonsTitle"),description:_("FormatButtonsDesc")}),n.addDropdown({label:_("Labels"),object:{buttton:null},property:"buttton",callback:function(t){e(t.value)},combobox:{dataprovider:[{label:_("Da1Button_all"),value:"all"},{label:_("Da1Button_edit"),value:"edit"},{label:_("Da1Button_delete"),value:"delete"},{label:_("Da1Button_add"),value:"add"},{label:_("Da1Button_save"),value:"save"},{label:_("Da1Button_cancel"),value:"cancel"}]}}),n.addSeparator(),$("<div></div>")),d=(n.ui.content.append(a),$("<div></div>")),e=(n.ui.content.append(d),function(e){var t=i.p.footer;a.empty(),d.empty(),"all"===e&&n.addDropdown({label:_("DA1ButtonTypeIcons"),container:a,object:t,property:"type",callback:function(t){l(e,t.value),r()},combobox:{dataprovider:[{label:_("DA1ButtonTypeIcons"),value:"icons"},{label:_("DA1ButtonTypeLabels"),value:"labels"}]}}),l(e,t.type)}),l=function(t,e){d.empty();var a=i.p.footer;if("all"===t){switch(e){case"labels":a.font.family="Open Sans",n.addFont({decoration_label:_("IconSizeAndColor"),container:d,object:a,property:"font",callback:o});break;case"icons":a.font.family=null,n.addFont({decoration_label:_("IconSizeAndColor"),container:d,object:a,disabledFontStyle:!0,property:"font",callback:o})}n.addSeparator({container:d}),n.addBackgroundColor({container:d,object:a.background,property_color:"color",property_gradient:"gradient",callback:o}),n.addSeparator({container:d}),n.addBorder({container:d,object:a.background,property:"border",callback:o}),n.addSeparator({container:d}),n.addColor({label:_("HoverColor"),container:d,object:a,property:"hoverColor",callback:o}),n.addColor({label:_("HoverBackgroundColor"),container:d,object:a,property:"hoverBackgroundColor",callback:o}),n.addSeparator({container:d}),n.addSlider({container:d,label:_("Height"),object:a,property:"height",min:30,max:90,interval:1,valueLabelFormat:function(t){return"".concat(t," px")},callback:o}),n.addSeparator({container:d})}else{e=i.p.footer[t];"labels"===a.type?n.addText({container:d,object:e,property:"label",placeholder:_("EnterTitlePlaceholder"),callback:r,event:"focusout"}):"icons"===a.type&&n.addText({label:_("TooltipLabel"),container:d,object:e,property:"label",callback:r,event:"focusout"})}};e("all")},validateModel:function(t){if(this.p.change_tracking_enabled&&(!this.p.change_tracking_table_id||!1===this._changeTrackingValidated))return $("button.active",".quickTabMenu").removeClass("active"),$('button[quicktab-href="changeTracking"]',".quickTabMenu").addClass("active"),t.ChangeTracking.show(),Messages.error(_("DA1ChangeTrackingTableRequired")),!1;if(this.p.validations&&0<this.p.validations.length){var e,a=_createForOfIteratorHelper(this.p.validations.filter(function(t){return t.enabled&&!!t.numeric}));try{for(a.s();!(e=a.n()).done;){var n=e.value,i="".concat(n.numeric.step).split(".");if(i&&1<i.length&&i[1].length>n.numeric.decimals)return"defaultValues"!==$("button.active",".quickTabMenu").attr("quicktab-href")&&($("button.active",".quickTabMenu").removeClass("active"),$('button[quicktab-href="defaultValues"]',".quickTabMenu").addClass("active"),t.DefaultValues.show()),Messages.error(_("DA1ValidationStepIncorrect")),!1}}catch(t){a.e(t)}finally{a.f()}}return!0},changeTrackingRenderer:function(t){function e(){function a(){t.empty(),n.p.change_tracking_enabled?(o.append($("<div class='da1DisableTrackingWarning'><span>".concat(_("DA1DisableTrackingMessage"),"</span></div>"))),t.append('<div class="property_text property_data_selector changeTrackingSelector">\n                  <label>\n                      <span class="label">'.concat(_("Table"),'</span>\n                      <div class="ctrl">\n                          <div class="cd-input-button twoButtons">\n                            <input type="text" cd-input-button="" placeholder="').concat(_("DA1CreateTrackingLabel"),'" can-clear="true" readonly="true">\n                            <div class="buttons">\n                              <button type="button" class="remove" title="').concat(_("DA1ClearTrackingTable"),'"><i class="fas fa-times"></i></button>\n                              <button type="button" class="select" title="').concat(_("DA1UseExistingTrackingLabel"),'"><i class="far fa-database"></i></button>\n                              <button type="button" class="add" title="').concat(_("DA1CreateTable"),'"><i class="far fa-plus"></i></button>\n                            </div>\n                          </div>\n                      </div>\n                  </label>\n              </div>')),$(".changeTrackingSelector input",o).val(n._changeTrackingTableName||"")):$(".da1DisableTrackingWarning",o).remove()}o.empty(),i.addHeader({text:_("ChangeTrackingTitle"),description:_("ChangeTrackingDesc"),container:o}),i.addBoolean({container:o,label:_("EnableChangeTracking"),object:n.p,property:"change_tracking_enabled",callback:a}),i.addSeparator({container:o});var t=$('<div class="da1ChangeTrackingContainer"></div>');o.append(t),a(),o.on("change",".cd-input-button input",function(){var t=!!$(this).val();$(".remove",$(this).parent()).toggle(t)}),o.on("click",".changeTrackingSelector .remove",function(){var t=$(this).closest(".cd-input-button");$("input",t).val(""),$(".remove",t).toggle(!1),r.p.change_tracking_table_id=null,r._changeTrackingTableName=null,r._changeTrackingValidated=!1}),o.on("click",".changeTrackingSelector .add",function(){Dialog.openVueDialog("/dashboard/da1createtrackingtable",{folderRecId:null,onSave:function(t){n.p.change_tracking_table_id=t.tableRecId,n._changeTrackingTableName=t.tableName,n._changeTrackingValidated=!0,a()}})}),o.on("click",".changeTrackingSelector input, .changeTrackingSelector .select",function(){Dialog.openVueDialog("/utils/datapicker",{addNew:function(t){var e=this;Dialog.openVueDialog("/dashboard/da1createtrackingtable",{folderRecId:t||null,onSave:function(t){e.p.change_tracking_table_id=t.tableRecId,e._changeTrackingTableName=t.tableName,e._changeTrackingValidated=!0,a()}})},onSelect:function(t){n.p.change_tracking_table_id=t.RecId,n._changeTrackingTableName=t.Name,n._changeTrackingValidated=!0,a()},connectionCodesToEnable:Enums.DataConnectionCodes.FormChangeLog})})}var n=this,i=t.settings.Format,o=t.ui,r=this;this.p.change_tracking_table_id?WS.get("Data/".concat(this.p.change_tracking_table_id,"/").concat(Enums.SecurityObjectType.Dashboard,"/").concat(this._from.dashboard.id,"/Name")).done(function(t){t.Success?n._changeTrackingTableName=t.Result:WS.displayDefaultError(t),e()}):e()},applyStyleToTargetWidget:function(t){var e=Utils.clone(t.footer),e=(e.add,e.cancel,e.delete,e.edit,e.height,e.navigation,e.save,e.types,_objectWithoutProperties(e,_excluded)),e=(this.p.footer=Utils.deepMerge(this.p.footer,e),this.p.header=Utils.deepMerge(this.p.header,{background:t.header.background,enabled:this.p.header.enabled,height:this.p.header.height,subtitle:{font:t.header.subtitle.font,text:this.p.header.subtitle.text},title:{font:t.header.title.font,text:this.p.header.title.text}}),this.p.fields.find(function(t){return"all"===t.guid})),a=this.p.labels.find(function(t){return"all"===t.guid});this.copyObjOnArray(t.fields,this.p.fields,["background","font"],[""],e),this.copyObjOnArray(t.labels,this.p.labels,["font"],["guid","text","width"],a)}}});
//# sourceMappingURL=DA1-data-form.js.map

function cdSlider(t){this.opts=$.extend(!0,{},{container:"body",callback:null,length:200,buttonLength:20,buttonBorderWidth:1,interval:1,min:0,max:10,defaultValue:-1,defaultValueLeft:-1,defaultValueRight:-1,labels:{enabled:!1,steps:null,interval_units:null,first_last_only:!1,format:function(t){return t.toString()}},ticks:{display:!1,alignment:"labels",steps:0},orientation:"horizontal",type:"single",valueUIFormat:function(t){return t},templates:{container:'<div class="cd-slider-container"></div>',value:'<div class="cd-slider-value"></div>',slider:'<div class="cd-slider"></div>',highlight:'<div class="cd-slider-highlight-container"><div class="cd-slider-highlight"></div></div>',button:'<button type="button" class="cd-slider-button"></button>',buttonDouble:'<button type="button" class="cd-slider-button-double"></button>',mobileButton:'<div class="mobileHandler"><button type="button" class="cd-slider-button"></button></div>',mobileButtonDouble:'<div class="mobileHandler"><button type="button" class="cd-slider-button-double"></button></div>'}},t),this.init()}cdSlider.prototype={init:function(){this.ui=$(this.opts.templates.container),Utils.detectMobileDevices()?(this.button=$(this.opts.templates.mobileButton),this.buttonDouble=$(this.opts.templates.mobileButtonDouble)):(this.button=$(this.opts.templates.button),this.buttonDouble=$(this.opts.templates.buttonDouble)),this.highlightContainer=$(this.opts.templates.highlight),this.highlight=$(".cd-slider-highlight",this.highlightContainer),this.slider=$(this.opts.templates.slider),this.sliderValue=$(this.opts.templates.value),this.sliderValueDouble=$(this.opts.templates.value),this.ticksContainer=$("<div></div>").addClass("cd-slider-ticks"),this.labelsContainer=$("<div></div>").addClass("cd-slider-labels"),this.slider.append(this.sliderValue,this.sliderValueDouble,this.highlightContainer,this.ticksContainer,this.button,this.buttonDouble,this.labelsContainer),this.ui.append(this.slider),$(this.opts.container).append(this.ui),this.value=this._getSnappedSliderValue(this.opts.defaultValue,!0),this.valuemin=this._getSnappedSliderValue(this.opts.defaultValueLeft,!0),this.valuemax=this._getSnappedSliderValue(this.opts.defaultValueRight,!0),this.updateIntervalVariables(),this.initializeDraggable(),this.updateUILengths(),this.updateSliderUI(),"double"===this.opts.type&&this.updateSliderUI(void 0,this.buttonDouble),this.bindEvents(),"horizontal"===this.opts.orientation?this.ui.addClass("horizontal"):this.ui.addClass("vertical"),"single"===this.opts.type?this.opts.callback&&this.opts.callback(this.value):this.opts.callback&&this.opts.callback(this.valuemin,this.valuemax),Utils.setUpHandlersForTouchEvent(this.slider)},bindEvents:function(){var i=this;this.button.on("mousedown",function(){return!1}),this.buttonDouble.on("mousedown",function(){return!1}),this.slider.on("mousedown",function(t){var i,s,e=!1;t.target===this.highlight[0]&&"double"===this.opts.type||(e="horizontal"===this.opts.orientation?(i=void 0===t.offsetX?t.originalEvent.layerX:t.offsetX,s=this.getDraggableOffset(i),"double"===this.opts.type&&this.button.position().left<=i):(i=t.clientY-this.ui.offset().top,s=this._endLength-this.getDraggableOffset(i-this.opts.buttonLength/2),"double"===this.opts.type&&this.button.position().top>=i),this.updateSliderUI(s,e?this.buttonDouble:this.button),this.updateSliderValue(s,e))}.bind(this)),this.slider.on("wheel",function(t){t.preventDefault();t=0<t.originalEvent.deltaY?1:-1;i.valuemax=i._getSnappedSliderValue(i.valuemax-t),i.valuemax<=i.valuemin?i.valuemax=i.valuemin:i.valuemin=i._getSnappedSliderValue(i.valuemin+t),i.updateSliderUI(),i.updateSliderUI(void 0,i.buttonDouble)})},updateIntervalVariables:function(){var t=this.opts.interval||1;$.isArray(this.opts.interval)&&(t=this.opts.interval.length&&this.opts.interval[0]||1),this._endLength=this.opts.length-this.opts.buttonLength,this._stepLength=this._endLength/((this.opts.max-this.opts.min)/t)||1,"horizontal"===this.opts.orientation?(this._position="left",this._size="width"):(this._position="top",this._size="height")},updateSliderValue:function(t,i){i?this.valuemax=this._getValueFromPosition(t):"single"===this.opts.type?this.value=this._getValueFromPosition(t):this.valuemin=this._getValueFromPosition(t),this.updateSliderValueUI(),"single"===this.opts.type?this.opts.callback&&this.opts.callback(this.value):this.opts.callback&&this.opts.callback(this.valuemin,this.valuemax)},_getValueFromPosition:function(t){t/=this._endLength,t=(+this.opts.max-+this.opts.min)*t+ +this.opts.min;return this._getSnappedSliderValue(t)},_getSnappedSliderValue:function(t,i){var s=this.opts.max>this.opts.min?this.opts.min:this.opts.max,e=this.opts.max<this.opts.min?this.opts.min:this.opts.max,o=this.opts.interval||1;if($.isArray(this.opts.interval)&&(o=this.opts.interval.length&&this.opts.interval[0]||1),t===s||t===e)return t;if(t<s)return s;if(e<t)return e;for(var n=0;s+o*n<e+o;){var a=s+o*n,h=s+o*(n+1);if(t===a||t===h)return t;if(e<a+o)return t=e-t<(e-a)/2?e:a;if(a<t&&t<h)return t=t-a<o/2||i?a:h;n++}},updateSliderLength:function(t){this.opts.length=t,this.updateIntervalVariables(),this.updateUILengths(),this.updateSlidersUI()},updateButtonLength:function(t){this.opts.buttonLength=t,this.updateIntervalVariables(),this.updateUILengths(),this.updateSlidersUI()},updateButtonBorderWidth:function(t){this.opts.buttonBorderWidth=t,this.updateIntervalVariables(),this.updateUILengths(),this.updateSlidersUI()},initializeDraggable:function(){var a=this,l=this;[this.button,this.buttonDouble].map(function(h){h.css("position","absolute").draggable({cancel:"",axis:"horizontal"===l.opts.orientation?"x":"y",drag:function(t,i){var s,e=l.ui.get(0).getBoundingClientRect().width/l.ui.get(0).offsetWidth,o=parseInt(l.button.css(l._position)),n=parseInt(l.buttonDouble.css(l._position)),a=(l.opts.buttonLength+2*l.opts.buttonBorderWidth)/2,a=("horizontal"===l.opts.orientation?(i.position.left+=a,i.position.top=a):(i.position.left=a,i.position.top+=a),"horizontal"===l.opts.orientation?(s=l.getDraggableOffset(i.position.left/e),("double"===l.opts.type&&h===l.button&&n<s||h===l.buttonDouble&&s<o)&&(s=h===l.button?n:o),i.position.left=s):(s=l.getDraggableOffset(i.position.top/e),("double"===l.opts.type&&h===l.button&&s<n||h===l.buttonDouble&&o<s)&&(s=h===l.button?n:o),i.position.top=s,s=l._endLength-s),{});"double"===l.opts.type?"horizontal"===l.opts.orientation?h===l.button?(a[l._position]="".concat(s,"px"),a[l._size]="".concat(n-s,"px")):(a[l._position]="".concat(o,"px"),a[l._size]="".concat(s-o,"px")):h===l.button?(a[l._position]="".concat(n,"px"),a[l._size]="".concat(i.position.top-n,"px")):(a[l._position]="".concat(i.position.top,"px"),a[l._size]="".concat(o-i.position.top,"px")):("vertical"===l.opts.orientation&&(a[l._position]="".concat(i.position.top,"px")),a[l._size]="".concat(s,"px")),l.highlight.css(a),l.updateSliderValue(s,h===l.buttonDouble)}})}),"double"===this.opts.type&&this.highlight.css("position","absolute").draggable({cancel:"",axis:"horizontal"===l.opts.orientation?"x":"y",drag:function(t,i){var s,e,o,n=a.ui.get(0).getBoundingClientRect().width/a.ui.get(0).offsetWidth;"horizontal"===a.opts.orientation?(s=a.getDraggableOffset(i.position.left/n),e=parseInt(a._endLength-parseInt(a.highlight.css("width"))),e=s=s<=0||e<=s?s<=0?0:e:s,o=a.getDraggableOffset(s+a._stepLength*(a.valuemax-a.valuemin)),i.position.left=s):(s=a.getDraggableOffset(i.position.top/n),n=parseInt(a._endLength-parseInt(a.highlight.css("height"))),o=a._endLength-(s=s<=0||n<=s?s<=0?0:n:s),e=a.getDraggableOffset(a._endLength-s-a._stepLength*(a.valuemax-a.valuemin)),i.position.top=s),a.updateSliderValue(e,!1),a.updateSliderValue(o,!0),a.updateSliderUI(),a.updateSliderUI(void 0,a.buttonDouble)}})},getDraggableOffset:function(t){var i="horizontal"===this.opts.orientation?Math.min(this._endLength,Math.round(Math.round(t/this._stepLength)*this._stepLength)):Math.min(this._endLength,this._endLength-Math.abs(Math.round(Math.round((t-this._endLength)/this._stepLength)))*this._stepLength);return t>this._endLength&&(i=this._endLength),Math.max(0,t+(i-t))},updateSlidersUI:function(){this.updateSliderUI(),this.updateSliderUI(void 0,this.buttonDouble)},updateSliderUI:function(t,i){i=i||this.button,void 0===t&&(t=(s=i===this.button?"single"===this.opts.type?this.value:this.valuemin:this.valuemax)===this.opts.min?0:s===this.opts.max?this._endLength:(s=(s-this.opts.min)/(this.opts.max-this.opts.min),Math.round(s*this._endLength/this._stepLength)*this._stepLength)),"vertical"===this.opts.orientation?i.css(this._position,"".concat(this._endLength-t,"px")):i.css(this._position,"".concat(t,"px")),"double"===this.opts.type?(this.buttonDouble.show(),this.sliderValueDouble.show()):(this.buttonDouble.hide(),this.sliderValueDouble.hide());var s={},i=parseInt(this.button.css(this._position)),t=parseInt(this.buttonDouble.css(this._position));"horizontal"===this.opts.orientation?"double"===this.opts.type?(s[this._position]="".concat(i,"px"),s[this._size]="".concat(t-i,"px")):(s[this._position]=0,s[this._size]="".concat(i,"px")):"double"===this.opts.type?(s[this._position]="".concat(t,"px"),s[this._size]="".concat(i-t,"px")):(s[this._position]="".concat(i,"px"),s[this._size]="".concat(this._endLength-i,"px")),this.highlight.css(s),this.updateSliderValueUI(),this.updateSliderTicks(),this.updateSliderLabels()},updateSliderValueUI:function(){this.sliderValue.text(this.opts.valueUIFormat("single"===this.opts.type?this.value:this.valuemin)),this.sliderValueDouble.text(this.opts.valueUIFormat(this.valuemax)),requestAnimationFrame(function(){"horizontal"===this.opts.orientation?this.sliderValue.css(this._position,"".concat(parseInt(this.button.css(this._position))+this.button.outerWidth()/2,"px")):this.sliderValue.css(this._position,"".concat(parseInt(this.button.css(this._position))+this.button.outerHeight()/2,"px")),"double"===this.opts.type&&("horizontal"===this.opts.orientation?this.sliderValueDouble.css(this._position,"".concat(parseInt(this.buttonDouble.css(this._position))+this.buttonDouble.outerWidth()/2,"px")):this.sliderValueDouble.css(this._position,"".concat(parseInt(this.buttonDouble.css(this._position))+this.buttonDouble.outerHeight()/2,"px")))}.bind(this))},updateSliderTicks:function(){if(this.ticksContainer.empty(),this.opts.ticks.display){this.ticksContainer.removeClass("hidden");var t=0,i=0;switch(this.opts.ticks.alignment){case"labels":0!==this.opts.labels.interval_units&&(t=this._endLength/(this.opts.max-this.opts.min)*this.opts.labels.interval_units,i=Math.ceil((this.opts.max-this.opts.min)/this.opts.labels.interval_units));break;case"units":t=this._endLength/(this.opts.max-this.opts.min)*this.opts.ticks.steps,i=Math.ceil((this.opts.max-this.opts.min)/this.opts.ticks.steps);break;case"percentage":t=this._endLength/100*this.opts.ticks.steps,i=Math.ceil(this._endLength/t)}if(0<t)for(var s=t,e=1;e<i;e++)"horizontal"===this.opts.orientation?this.ticksContainer.append($('<div class="tick"></div>').css(this._position,"".concat(Math.floor(s),"px"))):this.ticksContainer.append($('<div class="tick"></div>').css(this._position,"".concat(Math.floor(this._endLength-s),"px"))),s+=t}else this.ticksContainer.addClass("hidden")},updateSliderLabels:function(){if(this.labelsContainer.empty(),this.opts.labels.enabled){if(this.labelsContainer.removeClass("hidden"),0<this.opts.labels.interval_units||this.opts.labels.steps){var t,i=this.opts.labels.steps?(t=this._endLength/this.opts.labels.steps,Math.floor(this._endLength/t)):(t=this._endLength/(this.opts.max-this.opts.min)*this.opts.labels.interval_units,Math.ceil((this.opts.max-this.opts.min)/this.opts.labels.interval_units));if(this.opts.labels.first_last_only){var s=$('<div class="label"></div>'),s=("horizontal"===this.opts.orientation?s.css("left",0):s.css("top",this._endLength),this.labelsContainer.append(s.text(this.opts.labels.format(this.opts.min))),$('<div class="label"></div>'));s.css("horizontal"===this.opts.orientation?"right":"top",0),this.labelsContainer.append(s.text(this.opts.labels.format(this.opts.max)))}else for(var e=0;e<=i;e++){var o,n=t*e,a=$('<div class="label"></div>');"horizontal"===this.opts.orientation?e===i?a.css("right","".concat(0,"px")):a.css(this._position,"".concat(n,"px")):e===i?a.css("top","".concat(0,"px")):a.css(this._position,"".concat(this._endLength-n,"px")),n=0===e?this.opts.min:e===i?this.opts.max:(n=this.opts.labels.steps?(+this.opts.max-+this.opts.min)/+this.opts.labels.steps*e+ +this.opts.min:this.opts.min+e*this.opts.labels.interval_units,o=this.opts.interval||1,$.isArray(this.opts.interval)&&(o=this.opts.interval.length&&this.opts.interval[0]||1),n.toFixed(this.decimalCount(o))),this.labelsContainer.append(a.text(this.opts.labels.format(n)))}}}else this.labelsContainer.addClass("hidden")},updateUILengths:function(){this.slider.css(this._position,"".concat(this.opts.buttonLength/2,"px")),this.slider.css(this._size,"".concat(this.opts.length-this.opts.buttonLength,"px")),this.button.css(this._size,"".concat(this.opts.buttonLength,"px")),this.buttonDouble.css(this._size,"".concat(this.opts.buttonLength,"px"))},decimalCount:function(t){t="".concat(t).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return t?Math.max(0,(t[1]?t[1].length:0)-(t[2]?+t[2]:0)):0}};
//# sourceMappingURL=cd-slider.js.map

var _excluded=["enabled","format"];function _objectWithoutProperties(t,e){if(null==t)return{};var a,i=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var r=Object.getOwnPropertySymbols(t),l=0;l<r.length;l++)a=r[l],0<=e.indexOf(a)||Object.prototype.propertyIsEnumerable.call(t,a)&&(i[a]=t[a]);return i}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var a,i={},r=Object.keys(t),l=0;l<r.length;l++)a=r[l],0<=e.indexOf(a)||(i[a]=t[a]);return i}Widget.createType({id:"SK1",options:{min_width:50,width:300,min_height:60,height:100,hasStyleProperty:!0,formula_input:["data.min.formula","data.max.formula","data.default.formula","data.defaultLeft.formula","data.defaultRight.formula","data.interval.formula","ticks.alignment.units.formula"],formula_output:["value","minvalue","maxvalue","valuemin","valuemax"]},styles:["/Dashboard/Scripts/Widgets/sliders-knobs/cd-slider.css"],properties:{style:"",orientation:"horizontal",type:"single",data:{mode:"formula",min:{formula:"0"},max:{formula:"100"},default:{formula:"0"},defaultLeft:{formula:"0"},defaultRight:{formula:"100"},interval:{formula:"1"}},background:{background_color:"transparent",gradient:!1,border:{width:0,color:"rgba(191,191,191,1)"},shadow:{code:"none",radius:0,opacity:0},roundness:0,margins:{top:10,bottom:10,left:10,right:10}},shape:{height:30,progress_color:"rgba(255,105,78,1)",progress_gradient:!1,background_color:"rgba(255,255,255,1)",gradient:!1,border:{width:2,color:"rgba(255,255,255,1)"},shadow:{code:"light",radius:5,opacity:.3},roundness:2},value:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,1)"},format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:0,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after",NumericScaling:"one"}}),background_color:"transparent",gradient:!1,border:{width:0,color:"rgba(191,191,191,1)"},shadow:{code:"none",radius:0,opacity:0},roundness:0},grab:{width:20,height:30,background_color:"rgba(62,78,91,1)",gradient:!1,border:{width:0,color:"rgba(191,191,191,1)"},shadow:{code:"none",radius:0,opacity:0},roundness:2},ticks:{display:!1,alignment:{actual:"labels",units:{formula:"0"},percentage:10},color:"rgba(64, 64, 64, 1)",placement:"bottom",size:10},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,0.5)"},step:null,same_interval:!1,custom_interval:10,format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:0,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after",NumericScaling:"one"}}),first_last_only:!0},interactions:{onhover:null}},prototype:{init:function(){this.createProperties(),this.tryUpdate(),this.bindEvents()},bindEvents:function(){var t,e=this,a=this;this._eventsBound||(this.on("stylechanged",function(){a.updateStyle()}),this.on("propertieschanged",function(){a.render()}),this.on("fontchanged",function(){this.render()}.bind(this)),t=function(){e.sliderComponent&&e.sliderComponent.updateSliderLength(e._widgetInnerSize())},this.on("dashboardresized",function(){t()}),this.on("responsiveresized",function(){t()}),this.dashboard&&this.dashboard.in_editor&&this.on(WidgetLayer.Events.RESIZING,function(){t()}),this._eventsBound=!0)},render:function(t){var a=this,t=(this.ui.empty(),void 0!==this._stateValue&&null!==this._stateValue?this._stateValue:t),e=void 0!==this._stateMinValue&&null!==this._stateMinValue?this._stateMinValue:this.p.data.defaultLeft.formula_result,i=void 0!==this._stateMaxValue&&null!==this._stateMaxValue?this._stateMaxValue:this.p.data.defaultRight.formula_result;this.sliderComponent=new cdSlider({container:this.ui,length:this._widgetInnerSize(),orientation:this.p.orientation,type:this.p.type,interval:this.p.data.interval.formula_result,min:this.p.data.min.formula_result,max:this.p.data.max.formula_result,defaultValue:t||this.p.data.default.formula_result,defaultValueLeft:e||0,defaultValueRight:i||100,labels:{enabled:this.p.labels.enabled,steps:this.p.labels.step,interval_units:this.p.labels.same_interval?this.p.data.interval.formula_result:this.p.labels.custom_interval,first_last_only:this.p.labels.first_last_only,format:function(t){return Utils.formatValue(t,this.p.labels.format)}.bind(this)},ticks:{display:this.p.ticks.display,alignment:this.p.ticks.alignment.actual,steps:"units"===this.p.ticks.alignment.actual?this.p.ticks.alignment.units.formula_result:this.p.ticks.alignment.percentage},valueUIFormat:function(t){return Utils.formatValue(t,this.p.value.format)}.bind(this),callback:function(t,e){"double"===a.p.type?(a.value&&(a.value=null),a.valuemin!==parseFloat(t)&&(a.valuemin=parseFloat(t)),a.valuemax!==parseFloat(e)&&(a.valuemax=parseFloat(e))):(a.value!==parseFloat(t)&&(a.value=parseFloat(t)),a.valuemin&&(a.valuemin=null),a.valuemax&&(a.valuemax=null)),a.updateState()}}),this.handleTooltipState(),this.updateStyle(),this._rendered=!0,this._loaded=!0},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{minvalue:this.minvalue,value:"single"===this.p.type?this.value:null,maxvalue:this.maxvalue,valuemin:"double"===this.p.type?this.valuemin:null,valuemax:"double"===this.p.type?this.valuemax:null})},resetState:function(t){this.minvalue=t.minvalue,this.value=t.value,this.maxvalue=t.maxvalue,this.valuemin=t.valuemin,this.valuemax=t.valuemax,this._stateValue=t.value,this._stateMinValue=t.valuemin,this._stateMaxValue=t.valuemax,this.render()},updateStyle:function(){var t=$(".cd-slider",this.ui),e=$(".cd-slider-ticks",this.ui),a=this.getShadowCssFromShadowConfiguration(this.p.background.shadow),a=(this.container.css({border:"".concat(this.p.background.border.width,"px solid ").concat(this.p.background.border.color),background:this.getBackgroundValue(this.p.background.background_color,this.p.background.gradient),"border-radius":"".concat(this.p.background.roundness+this.p.background.border.width,"px"),"box-shadow":a,padding:"".concat(this.p.background.margins.top,"px ").concat(this.p.background.margins.right,"px ").concat(this.p.background.margins.bottom,"px ").concat(this.p.background.margins.left,"px")}),this.getShadowCssFromShadowConfiguration(this.p.shape.shadow)),i=(t.css({border:"".concat(this.p.shape.border.width,"px solid ").concat(this.p.shape.border.color),background:this.getBackgroundValue(this.p.shape.background_color,this.p.shape.gradient),"border-radius":"".concat(this.p.shape.roundness+this.p.shape.border.width,"px"),"box-shadow":a}),"top");switch("horizontal"===this.p.orientation?t.css("height","".concat(this.p.shape.height,"px")):(t.css("width","".concat(this.p.shape.height,"px")),i="left"),this.p.ticks.placement){case"middle":e.css(i,"".concat(this.p.shape.height/2-this.p.ticks.size/2,"px"));break;case"bottom":e.css(i,"100%"),"horizontal"===this.p.orientation?e.css("margin-top",this.p.shape.border.width):e.css("margin-left",this.p.shape.border.width);break;case"top":this.p.orientation,e.css(i,"".concat(-this.p.ticks.size-this.p.shape.border.width,"px"))}$(".cd-slider-highlight",this.ui).css({background:this.getBackgroundValue(this.p.shape.progress_color,this.p.shape.progress_gradient)}),$(".cd-slider-highlight-container",this.ui).css({"border-radius":"".concat(this.p.shape.roundness,"px"),overflow:"hidden"});a=this.getShadowCssFromShadowConfiguration(this.p.value.shadow),Utils.FontUtils.loadFont(this.p.value.font.family),$(".cd-slider-value",this.ui).toggleClass("hidden",!this.p.value.enabled).css({"text-shadow":this.p.value.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.value.font.underline?"underline":"none",color:this.p.value.font.color,"font-family":this.p.value.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.value.font.family,this.p.value.font.font_weight),"font-style":this.p.value.font.italic?"italic":"normal","font-size":this.p.value.font.size,border:"".concat(this.p.value.border.width,"px solid ").concat(this.p.value.border.color),background:this.getBackgroundValue(this.p.value.background_color,this.p.value.gradient),"border-radius":"".concat(this.p.value.roundness+this.p.value.border.width,"px"),"box-shadow":a}),t=this.getShadowCssFromShadowConfiguration(this.p.grab.shadow),$(".cd-slider-button, .cd-slider-button-double",this.ui).css({border:"".concat(this.p.grab.border.width,"px solid ").concat(this.p.grab.border.color),background:this.getBackgroundValue(this.p.grab.background_color,this.p.grab.gradient),"border-radius":"".concat(this.p.grab.roundness+this.p.grab.border.width,"px"),"box-shadow":t,padding:"horizontal"===this.p.orientation?"".concat(this.p.shape.border.width,"px 0"):"0 ".concat(this.p.shape.border.width,"px")}),Utils.FontUtils.loadFont(this.p.labels.font.family),$(".cd-slider-labels",this.ui).css({"text-shadow":this.p.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":this.p.labels.font.underline?"underline":"none",color:this.p.labels.font.color,"font-family":this.p.labels.font.family,"font-weight":Utils.FontUtils.getFontWeight(this.p.labels.font.family,this.p.labels.font.font_weight),"font-style":this.p.labels.font.italic?"italic":"normal","font-size":this.p.labels.font.size}),a={};"horizontal"===this.p.orientation?($(".cd-slider-button, .cd-slider-button-double",this.ui).css("height","".concat(this.p.grab.height,"px")),this.sliderComponent.updateButtonLength(this.p.grab.width),this.sliderComponent.updateButtonBorderWidth(this.p.grab.border.width),a[".ui .cd-slider-ticks .tick"]="background-color: ".concat(this.p.ticks.color,"; height: ").concat(this.p.ticks.size,"px")):($(".cd-slider-button, .cd-slider-button-double",this.ui).css("width","".concat(this.p.grab.width,"px")),this.sliderComponent.updateButtonLength(this.p.grab.height),this.sliderComponent.updateButtonBorderWidth(this.p.grab.border.width),a[".ui .cd-slider-ticks .tick"]="background-color: ".concat(this.p.ticks.color,"; width: ").concat(this.p.ticks.size,"px")),Utils.AppendCSSToPage("#widget_".concat(this.guid),a),this.sliderComponent.updateSliderLength(this._widgetInnerSize())},getBackgroundValue:function(t,e){return e?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t,DashboardUtils.shadeBlend(null,t)):t},_widgetInnerSize:function(){return"horizontal"===this.p.orientation?this.ui.width()-2*this.p.shape.border.width:this.ui.height()-2*this.p.shape.border.width},invertGrabSizes:function(){var t=this.p.grab.width,e=this.p.grab.height;this.p.grab.width=e,this.p.grab.height=t},renderPropertiesTab:function(t){var e=this,a=t.ui.content,i=(t.addLargeDropdown({container:a,id:"slider-type",label:_("Type"),dataprovider:[{value:"single",label:_("SingleSlider"),image:"/Dashboard/Images/WidgetProperties/slider-horizontal-single.png"},{value:"double",label:_("DoubleSlider"),image:"/Dashboard/Images/WidgetProperties/slider-horizontal-double.png"}],object:e.p,property:"type",callback:function(){e.updateDataFormulas(),e.render()}}),e.p.orientation);t.addLargeDropdown({container:a,id:"slider-orientation",label:_("Orientation"),dataprovider:[{value:"horizontal",label:_("Horizontal"),image:"/Dashboard/Images/WidgetProperties/slider-horizontal-single.png"},{value:"vertical",label:_("Vertical"),image:"/Dashboard/Images/WidgetProperties/slider-vertical-single.png"}],object:e.p,property:"orientation",callback:function(){i!==e.p.orientation&&(e.invertGrabSizes(),i=e.p.orientation),e.render()}})},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"slider-slider.png",text:_("Slider"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"slider-handles.png",text:_("Handles"),code:"grab",renderer:this.getGrabProperties.bind(this)}),t.push({icon:"slider-ticks.png",text:_("Ticks"),code:"ticks",renderer:this.getTicksProperties.bind(this)}),t.push({icon:"slider-labels.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t.push({icon:"slider-values.png",text:_("SelectedValues"),code:"value",renderer:this.getValueProperties.bind(this)}),t},getTicksProperties:function(t){var e=this,a=(t.addHeader({text:_("HeaderTicks")}),t.addSection());t.addBoolean({section:a,label:_("DisplayTicks"),object:this.p.ticks,property:"display",callback:function(){e.tryUpdate()}}),t.addSeparator({container:a});a.append(Mustache.render('<div id="{{ prop_id }}" class="property_ddl tags_style verticalAlign" >                         <span class="label">{{ label }}</span>                         <div class="ctrl options">                            <div>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="alignment" value="labels" /><i class="far"></i><span>{{ toLabels }}</span></label></li>                                     <li class="container">                                         <label class="cd-radio hoverStyle"><input type="radio" name="alignment" value="units" /><i class="far"></i><span>{{ toUnits }}</span></label>                                         <div class="units_formula"></div>                                    </li >                                    <li class="container">                                         <label class="cd-radio hoverStyle"><input type="radio" name="alignment" value="percentage" /><i class="far"></i><span>{{ toPercentage }}</span></label>                                         <div class="percentage_input"></div>                                    </li >                                </ul>                             </div>                        </div>',{prop_id:t._property_id++,label:_("AlignTicks"),toLabels:_("SameAsLabelsInterval"),toUnits:_("ToUnits"),toPercentage:_("ToPercentage")})),t.addFormulaInput({container:$(".units_formula"),id:"toUnitsAlign",object:this.p.ticks.alignment.units,property:"formula",customTemplate:$("#template_properties_formula_no_label").html(),callback:function(){e.tryUpdate()}}),t.addNumber({container:$(".percentage_input"),label:_("Step"),id:"toPercentageAlign",object:this.p.ticks.alignment,property:"percentage",min:1,nolabel:!0,callback:function(){e.tryUpdate()}}),a.on("change",".multiple_labels input[type=radio]",function(){e.p.ticks.alignment.actual=$(this).attr("value"),$("input:disabled, button:disabled",a).prop("disabled",!1),$(".disabled",a).removeClass("disabled");var t=[];switch(e.p.ticks.alignment.actual){case"labels":t=["#prop_toUnitsAlign","#prop_toPercentageAlign"];break;case"units":t=["#prop_toPercentageAlign"];break;case"percentage":t=["#prop_toUnitsAlign"]}t.forEach(function(t){$("input[type=text], input[type=number], input[type=button], button",$(t)).prop("disabled",!0).parent().toggleClass("disabled",!0)}),e.tryUpdate()}),$("input[type=radio][value='".concat(this.p.ticks.alignment.actual,"']"),a).prop("checked",!0).trigger("change"),t.addSeparator({container:a}),t.addSlider({container:a,label:_("Size"),object:this.p.ticks,property:"size",callback:function(){e.tryUpdate()},interval:1,min:1,max:50,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addColor({container:a,object:this.p.ticks,label:_("Color"),property:"color",callback:function(){e.tryUpdate()}}),t.addToggleButtons({container:a,label:_("Placement"),object:this.p.ticks,property:"placement",buttons:[{image:"slider-bottom.png",value:"bottom"},{image:"slider-middle.png",value:"middle"},{image:"slider-top.png",value:"top"}],callback:function(){e.tryUpdate()}})},getBackgroundProperties:function(t){t.addColor({label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.background,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:this.updateStyle.bind(this)},{label:_("Bottom"),name:"bottom",callback:this.updateStyle.bind(this)},{label:_("Left"),name:"left",callback:this.updateStyle.bind(this)},{label:_("Right"),name:"right",callback:this.updateStyle.bind(this)}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getShapeProperties:function(t){t.addSlider({label:"horizontal"===this.p.orientation?_("Height"):_("Width"),object:this.p.shape,property:"height",callback:this.updateStyle.bind(this),min:1,max:50,interval:1,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addColor({label:_("ProgressColor"),object:this.p.shape,property:"progress_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"progress_gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.shape,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.shape,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.shape,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getValueProperties:function(t){var e=t.addSection();t.addBoolean({label:_("DisplayValue"),object:this.p.value,property:"enabled",section:e,callback:this.updateStyle.bind(this)}),t.addFont({container:e,dropDown:!0,object:this.p.value,property:"font",callback:this.updateStyle.bind(this)}),t.addFormat({container:e,label:_("Format"),object:this.p.value,property:"format",callback:this.updateStyle.bind(this),dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Percentage]}),t.addSeparator({container:e}),t.addColor({container:e,label:_("BackgroundColor"),object:this.p.value,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({container:e,label:_("Gradient"),object:this.p.value,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator({container:e}),t.addBorder({container:e,object:this.p.value,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator({container:e}),t.addSlider({container:e,label:_("RoundedCorners"),object:this.p.value,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:e}),t.addShadow({container:e,object:this.p.value,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getGrabProperties:function(t){t.addSlider({label:_("Width"),object:this.p.grab,property:"width",callback:this.updateStyle.bind(this),min:2,max:50,interval:1,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSlider({label:_("Height"),object:this.p.grab,property:"height",callback:this.updateStyle.bind(this),min:2,max:50,interval:1,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addColor({label:_("BackgroundColor"),object:this.p.grab,property:"background_color",callback:this.updateStyle.bind(this)}),t.addBoolean({label:_("Gradient"),object:this.p.grab,property:"gradient",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addBorder({object:this.p.grab,property:"border",callback:this.updateStyle.bind(this)}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.grab,property:"roundness",callback:this.updateStyle.bind(this),interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.grab,property:"shadow",callback:this.updateStyle.bind(this)}),t.addSeparator()},getLabelsProperties:function(t){var e=this,a=t.addSection();t.addBoolean({section:a,label:_("ShowLabels"),object:this.p.labels,property:"enabled",callback:this.render.bind(this)}),t.addFont({container:a,dropDown:!0,object:this.p.labels,property:"font",callback:this.updateStyle.bind(this)}),t.addFormat({container:a,label:_("Format"),object:this.p.labels,property:"format",callback:this.updateStyle.bind(this),dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Percentage]}),t.addBoolean({container:a,label:_("ShowFirstLastOnly"),object:this.p.labels,property:"first_last_only",callback:this.render.bind(this)});a.append(Mustache.render('<div id="{{ prop_id }}" class="property_ddl tags_style verticalAlign" >                         <span class="label">{{ label }}</span>                         <div class="ctrl options">                            <div>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="interval" value="sameAsInterval" /><i class="far"></i><span>{{ sameAsInterval }}</span></label></li>                                     <li class="container">                                         <label class="cd-radio hoverStyle"><input type="radio" name="interval" value="customInterval" /><i class="far"></i><span>{{ custominterval }}</span></label>                                         <div class="interval_nb"></div>                                    </li >                                </ul>                             </div>                        </div>',{prop_id:t._property_id++,label:_("Interval"),sameAsInterval:_("SameAsIntervalUnits"),custominterval:_("ToUnits")})),t.addNumber({container:$(".interval_nb"),id:"labelsCustomInterval",object:this.p.labels,property:"custom_interval",min:1,nolabel:!0,callback:function(){e.p.labels.step&&(e.p.labels.step=null),e.tryUpdate()}}),a.on("change",".multiple_labels input[type=radio]",function(){e.p.labels.same_interval="sameAsInterval"===$(this).attr("value"),e.p.labels.step&&(e.p.labels.step=null),$("input:disabled, button:disabled",a).prop("disabled",!1),$(".disabled",a).removeClass("disabled"),e.p.labels.same_interval&&$("input[type=text], input[type=number], input[type=button], button",$("#prop_labelsCustomInterval")).prop("disabled",!0).parent().toggleClass("disabled",!0),e.tryUpdate()}),this.p.labels.same_interval?$("input[type=radio][value='sameAsInterval']",a).prop("checked",!0).trigger("change"):($("input[type=radio][value='customInterval']",a).prop("checked",!0),e.p.labels.same_interval=!1,e.tryUpdate())},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},createProperties:function(){this.createProperty("value"),this.createProperty("minvalue"),this.createProperty("maxvalue"),this.createProperty("valuemin"),this.createProperty("valuemax")},updateService:"Formulas",updateServiceSuccess:function(t){this.updateMinValue(this.checkFormulaResult(t[0])),this.updateMaxValue(this.checkFormulaResult(t[1])),this.updateDefaultValue(this.checkFormulaResult(t[2])),this.updateDefaultLeftValue(this.checkFormulaResult(t[3])),this.updateDefaultRightValue(this.checkFormulaResult(t[4])),this.updateInterval(this.checkFormulaResult(t[5])),this.updateUnits(this.checkFormulaResult(t[6])),this._from?this.render():this.render(this.value)},onWidgetSettingsSaved:function(){this.value=null,this.render()},checkFormulaResult:function(t){var e=InternalType.fromDotNet(t.type);return e&&e.isNumber()?t.value:parseInt(t.value)},refreshFromDataDependency:function(t,e){var a=!1,i=[];i.push(this.p.data.min.formula),i.push(this.p.data.max.formula),i.push(this.p.data.default.formula),i.push(this.p.data.defaultLeft.formula),i.push(this.p.data.defaultRight.formula),i.push(this.p.data.interval.formula),i.push(this.p.ticks.alignment.units.formula),i.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)}),a&&this.tryUpdate()},updateMinValue:function(t){this.p.data.min.formula_result=t,this.minvalue=this.p.data.min.formula_result},updateDefaultValue:function(t){this.p.data.default.formula_result=t},updateDefaultLeftValue:function(t){t=t||0,this.p.data.defaultLeft?this.p.data.defaultLeft.formula_result=t:this.p.data.defaultLeft={formula:"0",formula_result:t},this.valuemin=this.p.data.defaultLeft.formula_result},updateDefaultRightValue:function(t){t=t||100,this.p.data.defaultRight?this.p.data.defaultRight.formula_result=t:this.p.data.defaultRight={formula:"100",formula_result:t},this.valuemax=this.p.data.defaultRight.formula_result},updateMaxValue:function(t){this.p.data.max.formula_result=t,this.maxvalue=this.p.data.max.formula_result},updateInterval:function(t){this.p.data.interval.formula_result=t},updateUnits:function(t){this.p.ticks.alignment.units.formula_result=t},renderDataTab:function(t){this._isDataRendered||(this.renderDataFormulas(t),this._isDataRendered=!0)},updateDataFormulas:function(){"single"===this.p.type?($("#prop_leftslider, #prop_rightslider").hide(),$("#prop_mainslider").show()):($("#prop_leftslider, #prop_rightslider").show(),$("#prop_mainslider").hide())},renderDataFormulas:function(t){var e=this,t=t.ui,a=(t.append($("<header>").text(_("EnterMinMaxValue"))),this.settings.Format.addTextHeader({container:t,text:_("Scale")})),a=(this.settings.Format.addFormulaInput({container:a,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:a,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addSeparator({container:t}),this.settings.Format.addTextHeader({container:t,text:_("DefaultValues")}));this.settings.Format.addFormulaInput({container:a,widget:e,id:"mainslider",dashboard:e.settings._original_widget.dashboard,label:_("MainSlider"),object:this.p.data.default,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:a,widget:e,dashboard:e.settings._original_widget.dashboard,id:"leftslider",label:_("LeftSlider"),object:this.p.data.defaultLeft,property:"formula",callback:function(t){t>e.p.data.defaultRight.formula_result?(parseInt(e.p.data.defaultLeft.formula_result)<=e.p.data.defaultRight.formula_result?(e.p.data.defaultLeft.formula=e.p.data.defaultLeft.formula_result.toString(),e.updateDefaultLeftValue(e.p.data.defaultLeft.formula_result)):(e.p.data.defaultLeft.formula="0",e.updateDefaultLeftValue(0)),Messages.error(_("LeftSliderError"))):e.tryUpdate(),e.settings.Data._isDirty=!0}}),this.settings.Format.addFormulaInput({container:a,widget:e,dashboard:e.settings._original_widget.dashboard,id:"rightslider",label:_("RightSlider"),object:this.p.data.defaultRight,property:"formula",callback:function(t){t<e.p.data.defaultLeft.formula_result?(parseInt(e.p.data.defaultRight.formula_result)>=e.p.data.defaultLeft.formula_result?(e.p.data.defaultRight.formula=e.p.data.defaultRight.formula_result.toString(),e.updateDefaultRightValue(e.p.data.defaultRight.formula_result)):(e.p.data.defaultRight.formula="0",e.updateDefaultRightValue(0)),Messages.error(_("RightSliderError"))):e.tryUpdate(),e.settings.Data._isDirty=!0}}),this.updateDataFormulas(),this.settings.Format.addSeparator({container:t}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("Interval"),object:this.p.data.interval,property:"formula",callback:function(){e.settings.Data._isDirty=!0,e.tryUpdate()}})},applyStyleToTargetWidget:function(t){this.p.background=Utils.clone(t.background),this.p.grab=Utils.clone(t.grab),this.p.labels.font=Utils.clone(t.labels.font),this.p.ticks.color=t.ticks.color,this.p.shape.progress_color=t.shape.progress_color;t=Utils.clone(t.value),t.enabled,t.format,t=_objectWithoutProperties(t,_excluded);this.p.value=Utils.deepMerge(this.p.value,t)}}});
//# sourceMappingURL=SK1-slider.js.map

var _excluded=["enabled","format"];function _objectWithoutProperties(t,e){if(null==t)return{};var a,o=_objectWithoutPropertiesLoose(t,e);if(Object.getOwnPropertySymbols)for(var r=Object.getOwnPropertySymbols(t),i=0;i<r.length;i++)a=r[i],0<=e.indexOf(a)||Object.prototype.propertyIsEnumerable.call(t,a)&&(o[a]=t[a]);return o}function _objectWithoutPropertiesLoose(t,e){if(null==t)return{};for(var a,o={},r=Object.keys(t),i=0;i<r.length;i++)a=r[i],0<=e.indexOf(a)||(o[a]=t[a]);return o}var WidgetSK4={KnobTypes:{Circular:"circular",Amphi:"amphi"},get StartingPoints(){return[{type:this.KnobTypes.Circular,points:[{value:"top",label:_("Top"),image:"/Dashboard/Images/WidgetProperties/knob-top.png"},{value:"right",label:_("Right"),image:"/Dashboard/Images/WidgetProperties/knob-right.png"},{value:"bottom",label:_("Bottom"),image:"/Dashboard/Images/WidgetProperties/knob-bottom.png"},{value:"left",label:_("Left"),image:"/Dashboard/Images/WidgetProperties/knob-left.png"}]},{type:this.KnobTypes.Amphi,points:[{value:"left",label:_("Left"),image:"/Dashboard/Images/WidgetProperties/circular-starting-point-top.png"},{value:"right",label:_("Right"),image:"/Dashboard/Images/WidgetProperties/circular-starting-point-bottom.png"}]}]}};Widget.createType({id:"SK4",options:{layer:!0,width:300,min_width:100,height:300,min_height:100,hasStyleProperty:!0,formula_input:["data.min.formula","data.max.formula","data.default.formula","data.interval.formula"],formula_output:["value","minvalue","maxvalue"]},scripts:["/Libraries/jQueryKnob/jquery.knob.min.js"],properties:{style:"",knob_type:WidgetSK4.KnobTypes.Circular,start_point:"left",data:{mode:"formula",min:{formula:"0"},max:{formula:"100"},default:{formula:"0"},interval:{formula:"1"}},background:{background_color:"transparent",gradient:!1,border:{width:0,color:"rgba(191,191,191,1)"},shadow:{code:"none",radius:0,opacity:0},roundness:0},shape:{thickness:35,progress_color:"rgba(255,105,78,1)",background_color:"rgba(255,255,255,1)",shadow:{code:"light",radius:5,opacity:.3}},value:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,1)"},format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:0,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after",NumericScaling:"one"}}),background_color:"transparent",gradient:!1},interactions:{enable_scroll:!0,disable_user:!1,onhover:null}},prototype:{init:function(){this.createProperties(),this.tryUpdate(),this.bindEvents(),this.bindUIEvents()},bindEvents:function(){var t=this;this._eventsBound||(this.on("stylechanged",function(){t.render()}),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("propertieschanged",function(){t.render()}),this.on(["height","width"],function(){t.render()}.bind(this)),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){this.ui.on("keydown","input",function(t){t.stopPropagation()})},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{minvalue:this.minvalue,value:this.value,maxvalue:this.maxvalue})},resetState:function(t){this.minvalue=t.minvalue,this.value=t.value,this.maxvalue=t.maxvalue,this.ui.find(".dial").val(this.value).trigger("change")},setCustomError:function(){this.updateDefaultValue(0),this.render()},render:function(){var a=this,t=(this.ui.empty(),$("<input class='dial' type='text' />"));this.ui.append(t);try{t.val(this.p.data.default.formula_result),t.knob({min:this.p.data.min.formula_result,max:this.p.data.max.formula_result,step:this.p.data.interval.formula_result,bgColor:this.p.shape.background_color,fgColor:this.p.shape.progress_color,thickness:this.p.shape.thickness/100,height:"100%",displayInput:this.p.value.enabled,font:this._loadAndReturnFont(this.p.value.font.family),format:function(t){return Utils.formatValue(t,a.p.value.format)},draw:function(){var t,e=this.c;a.p.shape.shadow.radius&&(this.radius=this.xy-this.lineWidth/2-(a.p.shape.shadow.radius/2+5)),a.p.interactions.enable_scroll||(this.$c.off("mousewheel DOMMouseScroll mousedown mouseup mousemove touchstart touchend touchmove"),this.$.off("mousewheel DOMMouseScroll mousedown mouseup mousemove touchstart touchend touchmove")),a.p.interactions.disable_user&&(a.ui.find(".dial").attr("readonly","readonly"),this.$c.off("keydown keyup"),this.$.off("keydown keyup")),"transparent"!=a.p.value.background_color&&(e.beginPath(),e.strokeStyle=this.o.bgColor,e.arc(this.xy,this.xy,this.radius,this.endAngle-1e-5,this.startAngle+1e-5,!0),a.p.value.gradient?((t=e.createLinearGradient(0,0,0,this.xy)).addColorStop(0,DashboardUtils.rgb2hex(a.p.value.background_color)),t.addColorStop(1,DashboardUtils.rgb2hex(DashboardUtils.shadeBlend(null,a.p.value.background_color))),e.fillStyle=t):e.fillStyle=DashboardUtils.rgb2hex(a.p.value.background_color),e.fill(),e.stroke()),$(this.i).css("font-size","".concat(a.p.value.font.size,"px")),$(this.i).css({"text-shadow":a.p.value.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":a.p.value.font.underline?"underline":"none","font-weight":Utils.FontUtils.getFontWeight(a.p.value.font.family,a.p.value.font.font_weight),"font-style":a.p.value.font.italic?"italic":"normal",color:a.p.value.font.color}),a.p.shape.shadow.radius&&(e.shadowColor="rgba(0, 0, 0,".concat(a.p.shape.shadow.opacity,")"),e.shadowBlur=a.p.shape.shadow.radius,e.shadowOffsetY=1)},angleArc:this.p.knob_type==WidgetSK4.KnobTypes.Circular?360:180,angleOffset:this._getAngleOffset(),release:function(t){a.value=t,a.updateState()}})}catch(t){}this.updateBackground(),this.updateState(),this.handleTooltipState(),this._loaded=!0},updateBackground:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.background_color,DashboardUtils.shadeBlend(null,this.p.background.background_color)):this.p.background.background_color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},refreshFromDataDependency:function(t,e){var a=!1,o=[];o.push(this.p.data.min.formula),o.push(this.p.data.max.formula),o.push(this.p.data.default.formula),o.push(this.p.data.interval.formula),o.forEach(function(t){if(DashboardUtils.checkFormulaDataCloneDependency(t,e))return!(a=!0)}),a&&this.tryUpdate()},createProperties:function(){this.createProperty("value"),this.createProperty("minvalue"),this.createProperty("maxvalue")},updateService:"Formulas",updateServiceSuccess:function(t){this.updateMinValue(t[0].value),this.updateMaxValue(t[1].value),this.updateDefaultValue(t[2].value),this.updateInterval(t[3].value),this.render()},updateMinValue:function(t){this.p.data.min.formula_result=t,this.minvalue=this.p.data.min.formula_result},updateDefaultValue:function(t){this.p.data.default.formula_result=t,this.value=this.p.data.default.formula_result},updateMaxValue:function(t){this.p.data.max.formula_result=t,this.maxvalue=this.p.data.max.formula_result},updateInterval:function(t){this.p.data.interval.formula_result=t},renderPropertiesTab:function(t){var o=this,r=t.ui.content;t.addLargeDropdown({container:r,label:_("Type"),dataprovider:[{label:_("Circular"),value:WidgetSK4.KnobTypes.Circular,image:"/Dashboard/Images/WidgetProperties/knob-top.png"},{label:_("SemiCircular"),value:WidgetSK4.KnobTypes.Amphi,image:"/Dashboard/Images/WidgetProperties/knob-half.png"}],object:this.p,property:"knob_type",callback:function(){var t=Utils.arrayFirst(WidgetSK4.StartingPoints,function(t){return t.type==o.p.knob_type}).points,e=t[0].value,a=r.find("#start_point_ddl");a.comboBox("empty"),a.comboBox("dataprovider",t),a.comboBox("select",e),o.p.start_point=e,o.render(),r.find(".startPointDDL").toggleClass("hidden"),r.find(".startPointLabel").toggleClass("hidden")}}),t.addLargeDropdown({container:r,id:"start_point_ddl",label:_("StartingPoint"),class_label:"startPointLabel".concat(o.p.knob_type==WidgetSK4.KnobTypes.Amphi?" hidden":""),class:"startPointDDL".concat(o.p.knob_type==WidgetSK4.KnobTypes.Amphi?" hidden":""),dataprovider:Utils.arrayFirst(WidgetSK4.StartingPoints,function(t){return t.type==o.p.knob_type}).points,object:this.p,property:"start_point",callback:function(){o.render()}})},renderDataTab:function(t){this._isDataRendered||(this.renderDataFormulas(t),this._isDataRendered=!0)},renderDataFormulas:function(t){var e=this,t=t.ui;t.append($("<header>").text(_("EnterMinMaxValue"))),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MinValue"),object:this.p.data.min,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("MaxValue"),object:this.p.data.max,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("Interval"),object:this.p.data.interval,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}}),this.settings.Format.addFormulaInput({container:t,widget:e,dashboard:e.settings._original_widget.dashboard,label:_("DefaultValue"),object:this.p.data.default,property:"formula",callback:function(t){e.settings.Data._isDirty=!0,e.tryUpdate()}})},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"ring-knob-shape.png",text:_("Shape"),code:"shape",renderer:this.getShapeProperties.bind(this)}),t.push({icon:"ring-knob-value.png",text:_("Value"),code:"value",renderer:this.getValueProperties.bind(this)}),t},getBackgroundProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.background,property_color:"background_color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getShapeProperties:function(t){var e=this.render.bind(this);t.addSlider({label:_("Thickness"),object:this.p.shape,property:"thickness",callback:e,min:1,max:50,interval:1,valueLabelFormat:function(t){return"".concat(t,"%")}}),t.addSeparator(),t.addColor({label:_("ProgressColor"),object:this.p.shape,property:"progress_color",callback:e}),t.addColor({label:_("BackgroundColor"),object:this.p.shape,property:"background_color",callback:e}),t.addSeparator(),t.addShadow({object:this.p.shape,property:"shadow",callback:e}),t.addSeparator()},getValueProperties:function(t){var e=this.render.bind(this),a=t.addSection();t.addBoolean({label:_("DisplayValue"),object:this.p.value,property:"enabled",section:a,callback:e}),t.addFont({container:a,object:this.p.value,dropDown:!0,property:"font",callback:e}),t.addFormat({container:a,label:_("Format"),object:this.p.value,property:"format",callback:e,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Percentage]}),t.addSeparator({container:a}),t.addColor({container:a,label:_("BackgroundColor"),object:this.p.value,property:"background_color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.value,property:"gradient",callback:e}),t.addSeparator()},getGrabProperties:function(t){},renderInteractionsTab:function(t){var e=this.render.bind(this);t.settings.Format.addBoolean({container:t.ui,label:_("Interaction_EnableEdition"),object:this.p.interactions,property:"disable_user",callback:e}),t.settings.Format.addBoolean({container:t.ui,label:_("Interaction_EnableScroll"),object:this.p.interactions,property:"enable_scroll",callback:e}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},_loadAndReturnFont:function(t){return Utils.FontUtils.loadFont(t),t},_getAngleOffset:function(){var t=-90;if(this.p.knob_type==WidgetSK4.KnobTypes.Circular)switch(this.p.start_point){case"left":t=-90;break;case"top":t=0;break;case"right":t=90;break;case"bottom":t=180}return t},applyStyleToTargetWidget:function(t){this.p.background=Utils.clone(t.background),this.p.shape=Utils.clone(t.shape);t=Utils.clone(t.value),t.enabled,t.format,t=_objectWithoutProperties(t,_excluded);this.p.value=Utils.deepMerge(this.p.value,t)}}});
//# sourceMappingURL=SK4-ring-knob.js.map

var WidgetSF1={Layouts:{Horizontal:"horizontal",Vertical:"vertical"},ButtonTypes:{Offical:"official",Custom:"custom"},ProviderIds:{Twitter:"twitter",FacebookShare:"facebookshare",LinkedIn:"linkedin",Email:"email"},get Providers(){return[{id:this.ProviderIds.Twitter,label:"Twitter",image:"fab fa-twitter-square",color:"#1477b7"},{id:this.ProviderIds.FacebookShare,label:"Facebook Share",image:"fab fa-facebook-square",color:"#4863a5"},{id:this.ProviderIds.LinkedIn,label:"LinkedIn",image:"fab fa-linkedin",color:"#1477b7"},{id:this.ProviderIds.Email,label:"Email",image:"far fa-envelope-square",color:"#404041"}]}};Widget.createType({id:"SF1",options:{layer:!0,hasStyleProperty:!0,height:40,width:340},scripts:["/Global/Scripts/ShareClicData.min.js"],properties:{layout:WidgetSF1.Layouts.Horizontal,button_type:WidgetSF1.ButtonTypes.Custom,providers:[{id:WidgetSF1.ProviderIds.Twitter,active:!0},{id:WidgetSF1.ProviderIds.FacebookShare,active:!0},{id:WidgetSF1.ProviderIds.LinkedIn,active:!0},{id:WidgetSF1.ProviderIds.Email,active:!0}],background:{background_gradient:!1,border:{width:0,color:"#000000"},roundness:0,shadow:{code:"none"}},icon_text:{icon:{enabled:!0,custom_color:!1,color:"#404041"},text:{enabled:!0,color:"#404041"}},button:{background_gradient:!1,border:{enabled:!1,color:"#c0c0c0"},roundness:2,shadow:{code:"none"}}},prototype:{applyPastedStyle:function(){this.refresh()},sharingLink:"",emailSharingSubject:null,emailSharingBody:null,dashboardSharingMessage:null,cultureCode:_App.culture_code.replace("-","_"),lang:_App.culture_code.split("-")[0],init:function(){this.emailSharingSubject=("undefined"!=typeof _IsWhiteLabel?_IsWhiteLabel:top._User.AccountIsWhiteLabel)?_("DashboardEmailSharingSubjectWhiteLabel"):_("DashboardEmailSharingSubject"),this.emailSharingBody=("undefined"!=typeof _IsWhiteLabel?_IsWhiteLabel:top._User.AccountIsWhiteLabel)?_("DashboardEmailSharingBodyWhiteLabel"):_("DashboardEmailSharingBody"),this.dashboardSharingMessage=("undefined"!=typeof _IsWhiteLabel?_IsWhiteLabel:top._User.AccountIsWhiteLabel)?_("DashboardSocialSharingMessageWhiteLabel"):_("DashboardSocialSharingMessage");this.dashboard&&(this.sharingLink="".concat(function(){switch(top._User.DomainType){case Enums.AccountDomainType.Common:return _App.webdesktop_url;case Enums.AccountDomainType.Sub:return _App.webdesktopcustom_url.format(top._User.Domain);case Enums.AccountDomainType.Full:return top._User.Domain.endsWith("/")?"https://".concat(top._User.Domain):"https://".concat(top._User.Domain,"/")}}(),"v/").concat(this.dashboard.model.live_link_url),this.emailSharingBody=this.emailSharingBody.format(this.dashboard.model.name,this.sharingLink),this.dashboardSharingMessage=this.dashboardSharingMessage.format(this.dashboard.model.name,this.sharingLink)),this.render(),this.bindEvents(),this.updateGlobalStyle()},initializeSettings:function(t){t.on("tabchanged",function(t){var e;"format"===t&&(e=(t=this.Format.ui.nav).find("[panel='icontext']"),t=t.find("[panel='button']"),e.toggle(this._widget.p.button_type===WidgetSF1.ButtonTypes.Custom),t.toggle(this._widget.p.button_type===WidgetSF1.ButtonTypes.Custom))}),$('<div class="blocking-layer">').appendTo(this.container)},bindEvents:function(){var t=this;this._eventsBound||(this.on("propertieschanged",function(){t.refresh(),t.updateGlobalStyle()}),this.on("stylechanged",function(){t.updateGlobalStyle()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},refresh:function(){this.ui.empty(),this.render(),this.updateGlobalStyle()},render:function(){for(var t=this.ui,e=0;e<this.p.providers.length;e++){var a=this.p.providers[e],o=$("<div class='".concat(a.id,"'>"));this.p.button_type===WidgetSF1.ButtonTypes.Custom&&o.addClass("custom"),t.append(o),a.active?this.renderButtonBasedOnProvider(a.id,o):o.addClass("hidden")}this._loaded=!0},renderButtonBasedOnProvider:function(t,e){switch(t){case WidgetSF1.ProviderIds.Twitter:this.renderTwitterButton(e);break;case WidgetSF1.ProviderIds.FacebookShare:this.renderFacebookShareButton(e);break;case WidgetSF1.ProviderIds.LinkedIn:this.renderLinkedInButton(e);break;case WidgetSF1.ProviderIds.Email:this.renderEmailButton(e)}},renderTwitterButton:function(t){var e,a;this.p.button_type===WidgetSF1.ButtonTypes.Offical?(t.append('<a href="https://twitter.com/share" class="twitter-share-button" data-width="100" data-lang="en" data-text="'.concat(this.dashboardSharingMessage,'" data-url="').concat(this.sharingLink,'" data-count="none">Tweet</a>')),window.twttr?window.twttr.widgets.load():$.getScript("https://platform.twitter.com/widgets.js")):(e=this,a=$("<button type='button' class='btn'><img class='svg' src='/Dashboard/Images/WidgetProperties/twitter.svg' /><span>Twitter</span></button>"),t.append(a),DashboardUtils.replaceIMGBySVG(t,function(){e.updateIconStyle()}),a.on("click",function(){ShareClicdata.shareUsingTwitter(e.sharingLink,e.dashboardSharingMessage)}))},renderFacebookShareButton:function(t){var e,a;this.p.button_type===WidgetSF1.ButtonTypes.Offical?(t.append('<div class="fb-share-button" data-href="'.concat(this.sharingLink,'" data-layout="button"></div>')),window.FB?1==$(".fb-share-button").length?(t.append("<script>delete FB;<\/script>"),t.append('<div id="fb-root"></div>'),this._loadFacebookScripts()):window.FB.XFBML.parse(t[0]):(t.append('<div id="fb-root"></div>'),this._loadFacebookScripts())):(e=this,a=$("<button type='button' class='btn'><img class='svg' src='/Dashboard/Images/WidgetProperties/facebook.svg' /><span>Facebook</span></button>"),t.append(a),DashboardUtils.replaceIMGBySVG(t,function(){e.updateIconStyle()}),a.on("click",function(){ShareClicdata.shareUsingFacebook(e.sharingLink,e.dashboardSharingMessage)}))},renderLinkedInButton:function(t){var e,a=this;this.p.button_type===WidgetSF1.ButtonTypes.Offical?(t.append('<script type="IN/Share" data-url="'.concat(this.sharingLink,'"><\/script>')),window.IN?window.IN.parse():$.getScript("https://platform.linkedin.com/in.js?async=true",function(){window.IN.init({lang:a.cultureCode})})):(e=$("<button type='button' class='btn'><img class='svg' src='/Dashboard/Images/WidgetProperties/linkedin.svg' /><span>LinkedIn</span></button>"),t.append(e),DashboardUtils.replaceIMGBySVG(t,function(){a.updateIconStyle()}),e.on("click",function(){ShareClicdata.shareUsingLinkedIn(a.sharingLink,a.twitterSharingMessage)}))},renderEmailButton:function(t){var e=this,a=$("<button type='button' class='btn'><img class='svg' src='/Dashboard/Images/WidgetProperties/email.svg' /><span>".concat(_("LabelEmail"),"</span></button>"));t.append(a),this.p.button_type===WidgetSF1.ButtonTypes.Offical?(t.addClass("official"),DashboardUtils.replaceIMGBySVG(t)):DashboardUtils.replaceIMGBySVG(t,function(){e.updateIconStyle()}),a.on("click",function(){ShareClicdata.shareUsingEmail(e.emailSharingSubject,e.emailSharingBody,"")})},_loadFacebookScripts:function(){$.getScript("https://connect.facebook.net/".concat(this.cultureCode,"/all.js#xfbml=1&appId=255502637824271"),function(){window.FB.init({status:!0,cookie:!0,xfbml:!0,appId:0xe860d7f7790f})})},updateGlobalStyle:function(){this.updateContainerStyle("background"),this.p.layout===WidgetSF1.Layouts.Vertical?this.ui.addClass("vertical"):this.ui.removeClass("vertical"),this.p.button_type===WidgetSF1.ButtonTypes.Custom&&this.updateCustomStyle()},updateCustomStyle:function(){this.updateIconStyle(),this.updateTextStyle(),this.updateButtonStyle()},updateIconStyle:function(){var t=this.ui.find("button > svg"),e=this.p.icon_text.icon;t.css("display",e.enabled?"inline-block":"none"),e.custom_color?t.find("path").css("fill",e.color):t.find("path").css("fill","")},updateTextStyle:function(){var t=this.ui.find("button > span"),e=this.p.icon_text.text;t.css("display",e.enabled?"inline-block":"none"),t.css("color",e.color)},updateButtonStyle:function(){var t=this.ui.find(".custom button"),e=this.p.button;t.css({background:e.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background_color,DashboardUtils.shadeBlend(null,e.background_color)):e.background_color,"border-width":e.border.enabled?"".concat(1,"px"):"".concat(0,"px"),"border-radius":"".concat(e.roundness?(e.border.enabled?1:0)+e.roundness:0,"px"),"border-color":e.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(e.shadow)})},renderPropertiesTab:function(t){var e=this,a=t.ui.content;t.addLargeDropdown({container:a,label:_("Layout"),dataprovider:[{label:_("Horizontal"),value:WidgetSF1.Layouts.Horizontal,image:"/Dashboard/Images/WidgetProperties/layout-horizontal.png"},{label:_("Vertical"),value:WidgetSF1.Layouts.Vertical,image:"/Dashboard/Images/WidgetProperties/layout-vertical.png"}],object:this.p,property:"layout",callback:function(){e.updateGlobalStyle()}}),t.settings.Format.addDropdown({container:a,label:_("ButtonType"),combobox:{dataprovider:[{label:_("OfficialButtons"),value:WidgetSF1.ButtonTypes.Offical},{label:_("CustomButtons"),value:WidgetSF1.ButtonTypes.Custom}]},object:this.p,property:"button_type",callback:function(){e.refresh()}})},renderDataTab:function(t){var o=this,e=t.ui;this._isLoaded||(this._isLoaded=!0,t.appendHeader(_("SelectSocialMedia")),e.append($('<div class="sf1_sortable_list_container"></div>')),this.sortableList=new SortableList({container:$(".sf1_sortable_list_container"),object:this.p,property:"providers",enableDelete:!1,onSortCallback:this.refresh.bind(this),columns:[{name:_("ShareVia"),width:300,cellFormat:function(e,t){var a=Utils.arrayFirst(WidgetSF1.Providers,function(t){return t.id==e.id}),a=$("<div class='socialRow'><i class='fa-2x ".concat(a.image,"' style='color:").concat(a.color,"'></i><label>").concat(a.label,"</label></div>"));t.append(a)}},{name:"",width:80,classes:"toggleColumn",cellFormat:function(e,t){var a=$("<input type='checkbox'/>");e.active&&a.attr("checked","checked"),t.append(a),a.flipSwitch(),a.on("change",function(){e.active=$(this).is(":checked");var t=o.ui.find(".".concat(e.id));t.toggleClass("hidden"),e.active&&0==t.children().length&&(o.renderButtonBasedOnProvider(e.id,t),o.updateGlobalStyle())})}}]}))},getFormatTabs:function(){var t=[];return t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"font.png",text:_("IconAndText"),code:"icontext",renderer:this.getIconAndTextProperties.bind(this)}),t.push({icon:"social-sharing-button.png",text:_("Button"),code:"button",renderer:this.getButtonProperties.bind(this)}),t},getBackgroundProperties:function(t){var e=this.updateContainerStyle.bind(this,"background");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.background,property:"background_gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getIconAndTextProperties:function(t){var e=this.updateIconStyle.bind(this),a=this.updateTextStyle.bind(this),o=t.addSection(),i=(t.addBoolean({section:o,label:_("Icon"),object:this.p.icon_text.icon,property:"enabled",callback:e}),t.addSection()),o=(t.addBoolean({section:i,container:o,label:_("CustomIconColor"),object:this.p.icon_text.icon,property:"custom_color",callback:e}),t.addColor({dropDown:!0,container:i,label:_("IconColor"),object:this.p.icon_text.icon,property:"color",callback:e}),t.addSeparator(),t.addSection());t.addBoolean({section:o,label:_("Text"),object:this.p.icon_text.text,property:"enabled",callback:a}),t.addColor({dropDown:!0,container:o,label:_("TextColor"),object:this.p.icon_text.text,property:"color",callback:a}),t.addSeparator()},getButtonProperties:function(t){var e=this.updateButtonStyle.bind(this),a=(t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.button,property:"background_color",callback:e}),t.addBoolean({label:_("Gradient"),object:this.p.button,property:"background_gradient",callback:e}),t.addSeparator(),t.addSection());t.addBoolean({section:a,label:_("Border"),object:this.p.button.border,property:"enabled",callback:e}),t.addColor({container:a,dropDown:!0,label:_("BorderColor"),object:this.p.button.border,property:"color",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.button,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.button,property:"shadow",callback:e}),t.addSeparator()}}});
//# sourceMappingURL=SF1-share.js.map

Widget.createType({id:"SC1",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/modules/funnel.js"],properties:{type:"funnel",reversed:!1,composed_type:ChartUtils.FunnelChartType.FunnelTop,style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:"",custom:null},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{background_color:"transparent",background_gradient:!1,margins:{top:30,bottom:30,left:20,right:20},border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},slices:{border:{width:0,color:"#cccccc"},shadow:{code:"none"},gradient:!1},neck:{width:.3,height:.25},labels:{show_labels:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},place_labels_inside:!1,inside_labels_alignment:"center",show_category_labels:!0,show_value_labels:!1,show_percentage_labels:!1,value_categories_format:null,value_labels_format:null,percentage_labels_format:$.extend(!0,{},ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Percentage),{Properties:{Decimals:2,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"comma",LeftPadding:0,Suffix:"",SymbolPosition:"after"}}),hide_empty_slices:!1,border:{width:1,color:"#c0c0c0"},label_distance:5},other:{fixed_size_on:!0,fixed_size:.8},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!0,content:'<p style="text-align: center;">Category: <b>{{this.point.category}}</b></p><p style="text-align: center; "><b>{{this.point.percentage}}%</b></p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{ondblclick:null,onseriesdblclick:null,allow_export:!0,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""},slices_custom_properties:[]},prototype:$.extend(!0,{},Widget.PiePrototype,{setSample:function(){this._Data=this.p.data.custom,this.render()},updateService:function(){return"bindings"!==this.p.data.mode?"Formulas":"SC1Data"},updateServiceSuccess:function(t){var e,a,o,i=this;switch(this.categoryType=null,this.categoryInternalType=null,this.values=[],this.p.data.mode){case"formula":if(0<t.length){this.p.data.formula_result=t[0].value;for(var l=t.splice(1,t.length),r=0;r<this.p.sort_filter.filters.length;r++)this.p.sort_filter.filters[r].formula_result=l[r].value}break;case"bindings":if(t&&t.data){0<t.rows.length&&(this._rowsColumns=t.rows,this.categoryType=t.rows[0].type,this.categoryOriginalType=t.rows[0].original_type,this.categoryGroupings=t.rows[0].groupings),this.values=t.values,this._Data=[];for(var s=0;s<t.values.length;s++){var n=Utils.arrayFirst(i.p.data_bindings,function(e){return e.column_id==t.values[s].id&&i.p.data_bindings.indexOf(e)===s}),c=!1;n&&(c=n.hidden);for(r=0;r<t.data[s].length;r++)t.rowHeaders[r]?this._Data.push([(e=t.rowHeaders[r].name,a=t.values[s],1<t.values.length&&(e=Utils.formatValue(e,DashboardUtils.applyFormat(i.p.labels.value_categories_format,i.categoryType,i.categoryOriginalType)),e+=ChartUtils.SERIES_NAME_SEPARATOR+a.name),e),t.data[s][r][0],c]):this._Data.push([t.values[s].name,t.data[s][r][0],c])}}}if("custom"===this.p.data.mode||"formula"===this.p.data.mode){switch(this.p.data.mode){case"custom":t=this.p.data.custom.concat();break;case"formula":t=this.p.data.formula_result}0<this.p.sort_filter.filters.length&&(o=this.p.sort_filter.filters.filter(function(e){return e.state!=Enums.WidgetFilterState.Disabled}).map(function(e){return{disabled_if_null:e.state==Enums.WidgetFilterState.DisabledIfNull,column_index:e.column,operator:e.operator,value:e.formula_result}}),t=DashboardUtils.filterData(t,o)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(t,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),Utils.arrayFirst(this.p.sort_filter.sorts,function(e){return null!=e.column})&&DashboardUtils.sortData(t,this.p.sort_filter.sorts),this._Data=t}this.render()},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedseries=null},_getHighchartsData:function(){var a=this,e=this._Data,t=[];return t=e?e.filter(function(e){return!e[2]}).map(function(e,t){return{y:e[1],name:e[0],color:a._getSliceColor(t,e[0],e[1]),hidden:e[2]}}):t},render:function(){var e=this._getHighchartsData(),e=(this.setChartType(),this.series=[],this.categories=e.map(function(e){return e.name}),this.updateState(),{chart:this._getHighchartsChart(),exporting:{enabled:!1},colors:this.getColorsFromPalette(),title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:{enabled:!1},tooltip:this._getHighchartsTooltip(),plotOptions:this._getHighchartsPlotOptions(),series:[this._getHighchartsSeries(e)],credits:{enabled:!1}});this.ui.highcharts(e),this.updateContainerStyle("background")},_getHighchartsSeries:function(e){var a=this,o=!1;return{animation:!1,data:e.map(function(e){return{color:e.color,name:e.name||"",y:e.y,visible:!(e.hidden||0==e.y&&a.p.labels.hide_empty_slices),showInLegend:!1}}),events:{click:function(e){a.previousCategory&&a.previousCategory==e.point.name||(a.selectedvalue=e.point.y,a.selectedcategory=e.point.name,a.updateState());var t=a.p.interactions.onseriesdblclick;if(o&&t){switch(t.type){case"url":DashboardUtils.handleUrlInteraction(a.dashboard,a,t);break;case"dashboard":a.handleDashboardInteraction(t);break;case"data":a._onSeriesClicked(e)}return o=!1}o=!0,setTimeout(function(){o=!1},200)}}}},_getHighchartsChart:function(){var e=this;return{type:this.p.type,width:this.width,animation:!1,backgroundColor:"transparent",plotBackgroundColor:null,plotBorderWidth:null,plotShadow:!1,style:{fontFamily:'"Open Sans"'},events:{load:function(){e._loaded=!0}},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right}},_getHighchartsPlotOptions:function(){var e=this,t=(Utils.FontUtils.loadFont(this.p.labels.font.family),{reversed:this.p.reversed,width:this.p.other.fixed_size_on?"".concat(100*this.p.other.fixed_size,"%"):"100%",borderColor:this.p.slices.border.color,borderWidth:this.p.slices.border.width,shadow:{color:"rgba(0, 0, 0, .2)",offsetX:0,offsetY:0,opacity:this.p.slices.shadow.opacity,width:this.p.slices.shadow.radius/2},cursor:"pointer",enableMouseTracking:this._lastvisibilityValue,dataLabels:{crop:!1,overflow:"allow",connectorShape:"straight",enabled:this.p.labels.show_labels,formatter:function(){return e._getSliceLabel(this)},style:{color:this.p.labels.font.color,textShadow:this.p.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",textDecoration:this.p.labels.font.underline?"underline":"none",fontFamily:this.p.labels.font.family,fontWeight:Utils.FontUtils.getFontWeight(this.p.labels.font.family,this.p.labels.font.font_weight),fontStyle:this.p.labels.font.italic?"italic":"normal",fontSize:this.p.labels.font.size,textOutline:null},connectorColor:this.p.labels.border.color,connectorWidth:this.p.labels.border.width,distance:this.p.labels.label_distance}});return this.p.labels.place_labels_inside&&(t.dataLabels.useHTML=!0,t.dataLabels.inside=!0,t.dataLabels.align=this.p.labels.inside_labels_alignment,t.dataLabels.style.textAlign="center"),"funnel"===this.p.type?(t.neckHeight="".concat(100*this.p.neck.height,"%"),t.neckWidth="".concat(100*this.p.neck.width,"%"),{funnel:t}):"pyramid"===this.p.type?(t.height="100%",{pyramid:t}):void 0},_getSliceLabel:function(e){var t=Utils.arrayFirst(this.p.data_bindings,function(e){return"DateDimensionDataBindingProperties:#Infinis"===e.__type}),a=null,t=(t&&(a=t.grouping),"");return null===e.point.y||e.point.y<0?null:(this.p.labels.show_category_labels&&(a=WidgetsCommon.getFormattedAxisLabel(e.point.name,DashboardUtils.applyFormat(this.p.labels.value_categories_format,this.categoryType,this.categoryOriginalType),a,Utils.isDateType(this.categoryType),this.categoryOriginalType),t+="{0}<br />".format(a)),this.p.labels.show_value_labels&&(t+="{0}".format(Utils.formatValue(e.point.y,this.p.labels.value_labels_format))),this.p.labels.show_percentage_labels&&(this.p.labels.show_value_labels?t+=" ({0})".format(Utils.formatValue(e.point.percentage,this.p.labels.percentage_labels_format)):t+=" {0}".format(Utils.formatValue(e.point.percentage,this.p.labels.percentage_labels_format))),this.p.labels.place_labels_inside&&(a="font-size: ".concat(this.p.labels.font.size,"px;text-shadow: ").concat(this.p.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),t='<p style="'.concat(a,'">').concat(t,"</p>")),t)},getAvailableChartTypes:function(){return[{label:_("FunnelTop"),value:ChartUtils.FunnelChartType.FunnelTop,image:"/Dashboard/Images/WidgetProperties/funnel-widget-funnel_top.png"},{label:_("FunnelBottom"),value:ChartUtils.FunnelChartType.FunnelBottom,image:"/Dashboard/Images/WidgetProperties/funnel-widget-funnel_bottom.png"},{label:_("PyramidTop"),value:ChartUtils.FunnelChartType.PyramidTop,image:"/Dashboard/Images/WidgetProperties/funnel-widget-pyramid_top.png"},{label:_("PyramidBottom"),value:ChartUtils.FunnelChartType.PyramidBottom,image:"/Dashboard/Images/WidgetProperties/funnel-widget-pyramid_bottom.png"}]},renderPropertiesTab:function(e){var t=this,a=e.ui.content,o=this.update.bind(this),t=(e.addLargeDropdown({container:a,id:"properties_chart_type",dataprovider:this.getAvailableChartTypes(),object:this.p,property:"composed_type",callback:function(){t.setChartType(),t.settings&&!t.settings.Format._firstLoad&&t.settings.Format.renderTabs(),o()}}),a.append(Mustache.render('<div>                             <span>{{ label }}</span>                             <ul class="multiple_labels">                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                 <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             </ul>                         </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc")})),this);a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){e.settings.Data._isDirty=!0,t.p.data.mode=$(this).val(),t.setSortFilterTabState(),t.resetSortAndFilters(),t.update()})},getFormatTabs:function(){var e=[];this.getSliceIcon();return e.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),e.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),e.push({icon:this.getSliceIcon(),text:_("Slices"),code:"slices",renderer:this.getSlicesProperties.bind(this)}),e.push({icon:"funnel-widget-labels.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),"funnel"==this.p.type&&e.push({icon:"funnel-widget-format-neck.png",text:_("FunnelNeck"),code:"neck",renderer:this.getNeckProperties.bind(this)}),e},getSlicesProperties:function(e){function o(e){return function(){e.color=this.getRGBAColor(),r()}}function i(e){return $("<option>").val("".concat(e)).text(e)}var l=this,r=this.render.bind(this),t=(e.addBorder({object:this.p.slices,property:"border",callback:r}),e.addSeparator(),e.addShadow({object:this.p.slices,property:"shadow",callback:r}),e.addSeparator(),e.addBoolean({label:_("Gradient"),object:this.p.slices,property:"gradient",callback:r}),'<div class="SC1_slices_container">                                        <button type="button" class="btn btn-default btn-grey addSliceColor"> '.concat(_("AddCustomColor"),'</button>                                        <div class="sortable_list_container"></div>                                      </div>')),e=e.ui.content,s=(e.append(Mustache.render(t)),this._Data?this._Data.map(function(e){return e[0]}):[]),a=new SortableList({container:$(".SC1_slices_container .sortable_list_container"),object:this.p,property:"slices_custom_properties",onDeleteCallback:r,onSortCallback:r,columns:[{name:_("Color"),width:80,cellFormat:function(e,t){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(e.color));t.append(a),$("> input",a).clicColorPicker({onColorChanged:o(e),onPreviewColorChanged:o(e),onCancel:o(e),palette:l._from.dashboard.model.colors})}},{name:_("Category"),classes:"category_column",cellFormat:function(e,t){var a,o=$('<select class="category-selector">');o.append("<option>"),o.append(s.map(i)),o.append('<option value="addAllOtherCategories">'.concat(_("addAllOtherCategoriesLabel"),"</option>")),t.append(o),o.comboBox({appendToBody:!0,onChange:(a=e,function(){a.category=this.getValue(),r()})}).comboBox("select",e.category)}}]});$(".addSliceColor",e).on("click",function(){a.addNewObject({color:"#000000",category:null}),r()})},getSliceIcon:function(){switch(this.p.composed_type){case ChartUtils.FunnelChartType.FunnelTop:return"funnel-widget-funnel_top.png";case ChartUtils.FunnelChartType.FunnelBottom:return"funnel-widget-funnel_bottom.png";case ChartUtils.FunnelChartType.PyramidBottom:return"funnel-widget-pyramid_bottom.png";case ChartUtils.FunnelChartType.PyramidTop:return"funnel-widget-pyramid_top.png"}},getNeckProperties:function(e){var t=this.render.bind(this),a=(e.addSlider({label:_("Width"),object:this.p.neck,property:"width",callback:t}),e.addSlider({label:_("Height"),object:this.p.neck,property:"height",callback:t}),e.addSeparator(),e.addSection());e.addBoolean({section:a,label:_("FixedFunnelSize"),object:this.p.other,property:"fixed_size_on",callback:t}),e.addSlider({container:a,label:_("Size"),object:this.p.other,property:"fixed_size",callback:t}),e.addSeparator()},getLabelsProperties:function(t){function e(e){r.empty(),a.p.labels.place_labels_inside?t.addToggleButtons({container:r,label:_("HorizontalAlign"),object:a.p.labels,property:"inside_labels_alignment",callback:o,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]}):(a.p.labels.inside_labels_alignment="center",t.addBorder({container:r,label:_("ConnectorLines"),object:a.p.labels,property:"border",dropDown:!1,label_color:_("ConnectorLineColor"),callback:o}),t.addNumber({container:r,label:_("ConnectorLabelDistance"),object:a.p.labels,property:"label_distance",min:-100,max:100,callback:o})),e||o()}var a=this,o=this.render.bind(this),i=t.addSection(),l=(t.addBoolean({section:i,label:_("ShowLabels"),object:this.p.labels,property:"show_labels",callback:o}),t.addFont({container:i,dropDown:!0,object:this.p.labels,property:"font",callback:o}),t.addSeparator({container:i}),t.addSection({container:i})),l=(t.addBoolean({section:l,container:i,label:_("ShowCategoryLabels"),object:this.p.labels,property:"show_category_labels",callback:o,noellipsis:!0}),t.addFormat({container:l,label:_("Format"),object:this.p.labels,property:"value_categories_format",callback:o}),t.addSeparator({container:i}),t.addSection({container:i})),l=(t.addBoolean({section:l,container:i,label:_("ShowValueLabels"),object:this.p.labels,property:"show_value_labels",callback:o}),t.addFormat({container:l,label:_("Format"),object:this.p.labels,property:"value_labels_format",callback:o,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage,Enums.ClicFormat.DataType.Currency,Enums.ClicFormat.DataType.Duration]}),t.addSeparator({container:i}),t.addSection({container:i})),r=(t.addBoolean({section:l,container:i,label:_("ShowPercentageLabels"),object:this.p.labels,property:"show_percentage_labels",callback:o,noellipsis:!0}),t.addFormat({container:l,label:_("Format"),object:this.p.labels,property:"percentage_labels_format",callback:o,dataTypes:[Enums.ClicFormat.DataType.Number,Enums.ClicFormat.DataType.Percentage]}),t.addSeparator({container:i}),t.addBoolean({container:i,label:_("HideEmptySlices"),object:this.p.labels,property:"hide_empty_slices",callback:o}),t.addSeparator({container:i}),t.addBoolean({container:i,label:_("ShowLabelsInside"),object:this.p.labels,property:"place_labels_inside",callback:e}),t.addSection().appendTo(i));e(!0),t.addSeparator({container:i})},setChartType:function(){switch(this.p.composed_type){case ChartUtils.FunnelChartType.FunnelTop:this.p.type="funnel",this.p.reversed=!1;break;case ChartUtils.FunnelChartType.FunnelBottom:this.p.type="funnel",this.p.reversed=!0;break;case ChartUtils.FunnelChartType.PyramidTop:this.p.type="pyramid",this.p.reversed=!1;break;case ChartUtils.FunnelChartType.PyramidBottom:this.p.type="pyramid",this.p.reversed=!0}}})});
//# sourceMappingURL=SC1-funnel.js.map

function _defineProperty(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}Widget.createType({id:"SC3",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","y_axis.scale.max","y_axis.scale.min","y_axis.scale.interval","interactions.ondblclick.parameters.parameters.formula","interactions.onseriesdblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory","selectedseries","categories","series"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/highcharts-more.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:null,custom:null},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0,plot_background:{enabled:!0,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},x_axis:{title:{text:_("ChartMyCategories"),align:"middle",enabled:!1,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},rotation:0,step:null,format:null},scale:{interval:null},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",opposite:!1},y_axis:{title:{text:_("ChartMyValues"),enabled:!1,rotation:0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"}},labels:{enabled:!0,font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},step:null,format:null},scale:{max:null,min:null,interval:null,threshold:0,reverse:!1},axis_line:{width:1,color:"#000000"},major_grid_lines:{width:1,color:"#CCCCCC"},minor_grid_lines:{width:0,color:"#CCCCCC"},ticks:"#000000",bands:"transparent",opposite:!1},columns:[],series:{border:{width:0,color:"#fff"},shadow:{code:"none"},roundness:0},balances:null,sort_filter:{sorts:[],filters:[]},tooltip:{display:!1,content:"{{this.series.name}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},display_crosshair:!1},interactions:{ondblclick:null,allow_zoom:!0,allow_export:!0,onseriesdblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:{getColumnsFormat:function(t){var e=[];if("bindings"==this.p.data.mode){var a=this.p.data_bindings.sort(function(t,e){return t.area.localeCompare(e.area)});t||(a=a.filter(function(t){return!t.hidden}));for(var o=0;o<a.length;o++){var i=a[o],n=null,r="System.String";switch(i.area){case Enums.WidgetAreas.Values:n=this.p.y_axis.labels.format,r="System.Double";break;case Enums.WidgetAreas.Rows:n=this.p.x_axis.labels.format,r=this.categoryType||"System.String"}e.push(n?{ColumnId:i.column_id,Index:o,Format:DashboardUtils.applyFormat(n,r)}:{ColumnId:i.column_id,Index:o,Format:DashboardUtils.applyFormat(null,r)})}}return e},onVisibilityChange:function(){this.render()},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.createProperty("selectedseries"),this.createProperty("categories"),this.createProperty("series"),this.resetSelectedOutput()},updateOutputFromPoint:function(t){this.selectedvalue=t.y,this.selectedcategory=t.name,this.updateState()},setOutputFromData:function(t){this.series=[],this.categories=t.map(function(t){return t.name}),this.updateState()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedcategory:this.selectedcategory,selectedseries:this.selectedseries,selectedvalue:this.selectedvalue})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedcategory=t.selectedcategory,this.selectedseries=t.selectedseries},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null,this.selectedseries=null},init:function(){ChartUtils.resetSelectedOutputs(this),ChartUtils.disableHighchartsZoom(this),this.p.data.custom||(this.p.data.custom=[["Start",12e4],["Product Revenue",569e3],["Service Revenue",231e3],["Fixed Costs",-342e3],["Variable Costs",-233e3]]),this.p.balances||(this.p.balances=[{type:"after_column",column_name:"Service Revenue",name:"Positive Balance"},{type:"at_the_end",column_name:null,name:"Balance"}]),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(e.ui)}),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("stylechanged",function(){this.p.columns=[],this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},render:function(){var a=this;try{ChartUtils.destroyChart(this.ui);var o=!1,t=this._getHighchartsSeriesData(this.p.chart_data),e=(this.setOutputFromData(t),{exporting:{enabled:!1},chart:this._getHighchartsChart(),colors:this.getColorsFromPalette(),credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),legend:{enabled:!1},tooltip:this._getHighchartsTooltip(this.p.y_axis,this.p.x_axis),plotOptions:{series:{borderWidth:this.p.series.border.width,borderColor:this.p.series.border.color,borderRadius:this.p.series.roundness,shadow:this._getSeriesShadow(this.p.series.shadow),animation:!1,turboThreshold:1e4,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0},events:{click:function(t){a.updateOutputFromPoint(t.point);var e=a.p.interactions.onseriesdblclick;if(o&&e){switch(e.type){case"url":DashboardUtils.handleUrlInteraction(a.dashboard,a,e);break;case"dashboard":a.handleDashboardInteraction(e)}o=!1}else o=!0,setTimeout(function(){o=!1},200)}}}},xAxis:this._getHighchartsXAxis(this.p.x_axis,t),yAxis:this._getHighchartsYAxis(this.p.y_axis),series:[{name:"".concat(_("Series"),"1"),data:t,threshold:this.p.y_axis.scale.threshold}]});this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),Highcharts.chart(this.ui[0],e),ChartUtils.putPlotAreaOnTop(this.ui)}catch(t){this.error=t}},initializeSettings:function(t){var e=Mustache.render('                <button type="button" id="tab_balance" quickTab-href="balance" class="quickTab">                    <i class="far fa-2x fa-balance-scale"></i>                    <p>{{ label }}</p>                </button>',{label:_("SC3Balance")}),a=($("#tab_data").after(e),$('<div id="balance">'));a.prependTo(".content");t.Balance=new function(t){this.settings=t,this.ui={content:a},this.show=function(){this.settings.toggleContent("balance"),this.settings._widget.renderBalanceTab(this)}}(t),routie("balance",function(){t.Balance.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active")},isCustomDataMode:function(){return"custom"===this.p.data.mode},customData:function(){return this.p.data.custom},setSample:function(){this.p.chart_data=this.customData(),this.render()},getCustomData:function(){return this.p.data.custom},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},getDataClone:function(t,e){return this._dataCloneAjax&&this._dataCloneId==t||(this._dataCloneId=t,this._dashboardId=e,this._dataCloneAjax=WS.get("DashboardEditor/Data/{0}/{1}".format(t,e))),this._dataCloneAjax},canUpdateData:function(){return 2===this.p.data_bindings.length},updateService:"SC3Data",updateServiceError:function(t){this._loaded=!1},updateServiceSuccess:function(t){this.categoryType="System.String";var e=function(){this.render()}.bind(this);if(this._totalPositiveValues=0,this._totalNegativeValues=0,this.isCustomDataMode()){var a,o=$.extend(!0,[],this.customData());0<this.p.sort_filter.filters.length&&(a=this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),o=DashboardUtils.filterData(o,a)),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})&&DashboardUtils.sortData(o,this.p.sort_filter.sorts),this._totalPositiveValues=o.map(function(t){return t.length&&1<t.length&&0<t[1]?t[1]:0}).reduce(function(t,e){return t+e},0),this._totalNegativeValues=o.map(function(t){return t.length&&1<t.length&&t[1]<0?t[1]:0}).reduce(function(t,e){return t+e},0),this.p.chart_data=o,this._resolveScaleMinMaxCustom(this,e)}else{if(t&&t.data){0<t.rows.length&&(this.categoryType=t.rows[0].type,this.categoryOriginalType=t.rows[0].original_type,this.categoryGroupings=t.rows[0].groupings,this.scaleFormulaResults=t.scaleFormulaResults,this.intervalFormulaResult=t.intervalFormulaResult);for(var i,n=[],r=0;r<t.data[0].length;r++)t.rowHeaders[r]&&(i=t.data[0][r][0],n.push([t.rowHeaders[r].name,i]),i&&0<i?this._totalPositiveValues+=i:this._totalNegativeValues+=i||0);this.p.chart_data=n}e()}},refreshFromDataDependency:function(t,e){var a=!1;if(!(a=this.p.data_id==t&&"bindings"==this.p.data.mode?!0:a)&&this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var i=this.p.sort_filter.filters[o];if(i.state!=Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(i.formula,e)){a=!0;break}}a&&this.tryUpdate()},renderPropertiesTab:function(t){var e=this,a=t.ui.content;this.update.bind(this);a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.balances=[],e.p.data.mode=$(this).val(),e.resetSortAndFilters(),e.setSortFilterTabState(),e.update()})},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=this,a=new Settings.Data.Bindings(t);a.area_column_limits[Enums.WidgetAreas.Values]=1,a.area_column_limits[Enums.WidgetAreas.Rows]=1,a.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5},{name:_("Categories"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.5}],{count:!1}),a.on("bindingAdded",function(){e.p.balances=[]}),a.on("bindingCleared",function(){this.resetSortAndFilters()}.bind(this)),a.on("bindingRemoved",function(t){this.resetSortAndFilters(t)}.bind(this)),this.data_destroy_callback=function(){a.destroy()}},renderDataCustomTable:function(t){var e=this,a=(this.update.bind(this),new Settings.Data.CustomTable(t));a.loadData=function(){this.addColumn(_("Categories"),{columnIndex:0}),this.addColumn(_("Values"),{columnIndex:1});for(var t=0;t<this._data.length;t++)this.addRow(this._data[t])},a.templates.column_header="<td><span>{{ name }}</span></td>",a.cellValueFormat=function(t,e){t=$(t).val();return t=1==e?!t||""===t||isNaN(t)?0:parseFloat(t):t},a.numberOfColumns=function(){return 2},a.startIndex=0,this.data_destroy_callback=function(){a.destroy()},t.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),a.render({object:this.p.data,property:"custom",fixed_columns:!0,callback:function(){e.resetSortAndFilters(),e.update()}})},renderBalanceTab:function(t){var e=this;this.p.chart_data?this.renderBalanceTabCompleted(t):(this.off("loaded"),this.on("loaded",function(){e.renderBalanceTabCompleted(t),e.off("loaded")}))},renderBalanceTabCompleted:function(t){var e=this,a=t.ui.content.empty(),o="<header>".concat(_("SC3AddBalanceHeader"),'</header>                           <div class="sc3_balance_container">                               <button type="button" class="btn btn-default btn-grey addBalanceButton">').concat(_("SC3AddBalance"),'</button>                               <div class="sortable_list_container"></div>                           </div>'),d=(a.append(o),function(){t.settings.Data._isDirty=!0,this.render()}.bind(this)),c=function(t){return $("<option>").attr("value",t).text(e._getCategoriesFormat(t,null))},u=function(){return e.p.chart_data.map(function(t){return t[0]})},i=new SortableList({container:$(".sc3_balance_container .sortable_list_container"),object:this.p,property:"balances",onDeleteCallback:d,onSortCallback:d,columns:[{name:_("SC3TableBalances"),cellFormat:function(e,t){t.addClass("balanceCell");var a,o,i=$('<table class="valuesTable">').hide(),n=(i.append((a=e,r=$('<td class="label"></td>').text(_("SC3AddBalance")),n=["at_the_end"],0<u().length&&n.push("after_column"),n=$("<select />").append(n.map(function(t){return $("<option>").attr("value",t).text("at_the_end"==t?_("AtTheEnd"):_("AfterColumn"))})),s=$('<td class="cell_type">').append(n),n.comboBox({appendToBody:!0,onChange:function(){a.type=this.getValue(),"at_the_end"==a.type?(a.column_name=null,o.addClass("unvisible")):(a.column_name=u()[0],o.removeClass("unvisible")),d()}}).comboBox("select",a.type),n=$("<select />").append(u().map(c)),o=$('<td class="cell_column">').append(n),n.comboBox({appendToBody:!0,onChange:function(){a.column_name=this.getValue(),d()}}).comboBox("select",a.column_name),"at_the_end"==a.type&&o.addClass("unvisible"),$("<tr>").append(r,s,o))),$('<input type="text" />').val(e.name).on("change",function(){var t=$(this).val();e.name=t,d()})),r=$('<div class="inputContainer">').append(n),l=$('<button type="button" class="borderless"><i class="far"></i></button>').on("click",function(){i.toggle(),l.toggleClass("expanded")}),s=$('<div class="inputButtonContainer">').append(r,l);t.append(s,i)}.bind(this)}]});$(".addBalanceButton",a).on("click",function(){i.addNewObject({name:_("Balance"),type:"at_the_end",column_name:null}),d()})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",this.renderSort.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var r=this,t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(n){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,i=r.p.data_bindings[a];i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),value:i.guid,area:i.area,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(t.columns,i.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:i.name||o.name,value:i.guid,area:i.area,is_context:o.is_context||!1,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,column_id:o.id})}n(e)});break;case"custom":var t=[{label:_("Categories"),value:0,area:Enums.WidgetAreas.Rows},{label:_("Values"),value:1,area:Enums.WidgetAreas.Values}];n(t)}},t.updateDataCallback=function(){e._isDirty=!0,r.update()},t.render()},renderFilter:function(e){var s=this,o=new Settings.SortFilter.Filter(e);o.getFilterColumns=function(l){switch(s.p.data.mode){case"bindings":e.settings.getDataClone(s.p.data_id,s._from.dashboard.id).then(function(t){for(var e=[],a=0;a<s.p.data_bindings.length;a++){var o,i=s.p.data_bindings[a],n=s.getColumnFromId(t.columns,i.column_id);n&&e.push((_defineProperty(o={is_used:!0,is_context:n.is_context||!1},"is_context",Utils.isDefined(n.is_context)),_defineProperty(o,"icon",DashboardUtils.getIconForColumnType(n.type)),_defineProperty(o,"label",i.name||n.name),_defineProperty(o,"value","".concat(n.id).concat(i.aggregation||"")),_defineProperty(o,"column_id",n.id),_defineProperty(o,"aggregation",i.aggregation),_defineProperty(o,"aggregationLabel",i.aggregation?_("Aggregation_".concat(i.aggregation)):null),o))}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var r=t.columns.concat(s.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(r.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));l(e)});break;case"custom":var t=[{label:_("Categories"),value:0,column_id:0},{label:_("Values"),value:1,column_id:1}];l(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){s.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"chart-line-y-axis.png",text:_("Vertical"),code:"yaxis",renderer:this.getYAxisProperties.bind(this)}),t.push({icon:"chart-line-x-axis.png",text:_("Horizontal"),code:"xaxis",renderer:this.getXAxisProperties.bind(this)}),t.push({icon:"chart-column-series.png",text:_("Columns"),code:"series",renderer:this.getColumnsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.render.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,dropDown:!0,property:"font",callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){var e=this.render.bind(this),a=(t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addSection());t.content.append(a),t.addBoolean({section:a,label:_("PlotAreaBackground"),object:this.p.background.plot_background,property:"enabled",callback:e}),t.addColor({container:a,dropDown:!1,label:_("PlotAreaColor"),object:this.p.background.plot_background,property:"color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.background.plot_background,property:"gradient",callback:e}),t.addBorder({container:a,dropDown:!1,label:_("PlotAreaBorder"),object:this.p.background.plot_background,property:"border",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getYAxisProperties:function(t){var e=this,a=this.render.bind(this),o=e.p.y_axis,i=t.addSection(),i=(t.addBoolean({section:i,label:_("ShowTitle"),object:o.title,property:"enabled",callback:a}),t.addText({container:i,label:_("AxisTitle"),placeholder:_("EnterTitlePlaceholder"),object:o.title,property:"text",callback:a,event:"focusout"}),t.addSection().appendTo(i)),i=(t.addFont({container:i,object:o.title,property:"font",callback:a}),t.addToggleButtons({container:i,label:_("Rotation"),object:o.title,property:"rotation",callback:a,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),t.addSeparator(),t.addSection());t.addBoolean({section:i,label:_("ShowAxisLabels"),object:o.labels,property:"enabled",callback:a}),t.addFont({container:i,object:o.labels,property:"font",callback:a}),t.addNumber({container:i,label:_("Step"),placeholder:_("AutoPlaceholder"),object:o.labels,property:"step",callback:a}),t.addFormat({container:i,label:_("Format"),object:o.labels,property:"format",callback:a}),t.addSeparator(),t.addFormulaInput({widget:e,container:t.content,containerClass:"scaleFormulas",dashboard:e.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MaxValue"),object:o.scale,property:"max",callback:e.tryUpdate.bind(e)}),t.addFormulaInput({widget:e,container:t.content,containerClass:"scaleFormulas",dashboard:e.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("MinValue"),object:o.scale,property:"min",callback:e.tryUpdate.bind(e)}),t.addFormulaInput({widget:e,container:t.content,containerClass:"scaleFormulas",dashboard:e.settings._original_widget.dashboard,placeholder:_("AutoPlaceholder"),label:_("Interval"),object:o.scale,property:"interval",callback:e.tryUpdate.bind(e)}),t.addNumber({label:_("Threshold"),object:o.scale,property:"threshold",callback:a}),t.addBoolean({label:_("Reverse"),object:o.scale,property:"reverse",callback:a}),t.addSeparator(),t.addBorder({label:_("AxisLine"),label_color:_("Color"),object:o,property:"axis_line",color:!0,callback:a}),t.addColor({label:_("Ticks"),dropDown:!1,object:o,property:"ticks",callback:a}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),dropDown:!1,label_color:_("LineColor"),object:o,property:"major_grid_lines",callback:a}),t.addColor({label:_("Bands"),dropDown:!1,object:o,property:"bands",callback:a}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:o,property:"minor_grid_lines",callback:a}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:o,property:"opposite",callback:a}),t.addSeparator()},getXAxisProperties:function(t){var e=this.render.bind(this),a=this.p.x_axis,o=t.addSection(),o=(t.addBoolean({section:o,label:_("ShowTitle"),object:a.title,property:"enabled",callback:e}),t.addText({container:o,label:_("AxisTitle"),placeholder:_("EnterTitlePlaceholder"),object:a.title,property:"text",callback:e,event:"focusout"}),t.addSection().appendTo(o)),o=(t.addFont({container:o,object:a.title,property:"font",callback:e}),t.addToggleButtons({container:o,label:_("Rotation"),object:a.title,property:"rotation",callback:e,numeric:!0,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270}]}),t.addSeparator(),t.addSection());t.addBoolean({section:o,label:_("ShowAxisLabels"),object:a.labels,property:"enabled",callback:e}),t.addFont({container:o,object:a.labels,property:"font",callback:e}),t.addToggleButtons({container:o,label:_("Rotation"),object:a.labels,property:"rotation",numeric:!0,callback:e,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30},{image:"title-rotation-5.png",value:-40}]}),t.addNumber({container:o,label:_("Step"),placeholder:_("AutoPlaceholder"),object:a.labels,property:"step",callback:e}),t.addFormat({container:o,label:_("Format"),object:a.labels,property:"format",callback:e}),t.addNumber({label:_("Interval"),placeholder:_("AutoPlaceholder"),object:a.scale,property:"interval",callback:e,min:0}),t.addSeparator(),t.addBorder({label:_("AxisLine"),dropDown:!1,label_color:_("Color"),object:a,property:"axis_line",color:!0,callback:e}),t.addColor({label:_("Ticks"),dropDown:!1,object:a,property:"ticks",callback:e}),t.addSeparator(),t.addBorder({label:_("MajorGridLines"),label_color:_("LineColor"),object:a,property:"major_grid_lines",callback:e}),t.addColor({label:_("Bands"),dropDown:!1,object:a,property:"bands",callback:e}),t.addSeparator(),t.addBorder({label:_("MinorGridLines"),dropDown:!1,label_color:_("LineColor"),object:a,property:"minor_grid_lines",callback:e}),t.addSeparator(),t.addBoolean({label:_("OppositePosition"),object:a,property:"opposite",callback:e}),t.addSeparator()},getColumnsProperties:function(a){var o=this,i=this.render.bind(this),t=(a.addBorder({object:this.p.series,property:"border",callback:i}),a.addSeparator(),a.addShadow({object:this.p.series,property:"shadow",callback:i}),a.addSeparator(),a.addSlider({label:_("RoundedCorners"),object:this.p.series,property:"roundness",callback:i,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),a.addSeparator(),[{value:null,label:_("SelectAColumn")},{value:"positive_values",label:_("PositiveValues")},{value:"negative_values",label:_("NegativeValues")},{value:"balance",label:_("SC3Balance")}]),n=(a.addDropdown({label:_("Columns"),callback:function(t){var e;n.empty(),null!=t.value&&(t=o._getOrCreateColumnProperties(t).config,e=a.addSection(),a.addSeparator({container:n}),a.addBoolean({container:n,section:e,label:_("ShowValueLabels"),object:t.labels,property:"enabled",callback:i}),a.addBoolean({container:e,label:_("DisplayMeasure"),object:t.labels,property:"show_measure",callback:i}),a.addBoolean({container:e,label:_("DisplayDimension"),object:t.labels,property:"show_dimension",callback:i}),a.addBoolean({container:e,label:_("DisplaySeries"),object:t.labels,property:"show_series",callback:i}),a.addBoolean({container:e,label:_("DisplayPercentage"),object:t.labels,property:"show_percentage",callback:i}),a.addFont({container:e,object:t.labels,property:"font",callback:i}),a.addToggleButtons({container:e,label:_("Position"),object:t.labels,property:"position",callback:i,buttons:[{image:"position-vertical-outside.png",value:"outside"},{image:"position-vertical-bottom.png",value:"start"},{image:"position-vertical-middle.png",value:"middle"},{image:"position-vertical-top.png",value:"end"}]}),a.addToggleButtons({container:e,label:_("Rotation"),object:t.labels,property:"rotation",numeric:!0,callback:i,buttons:[{image:"title-rotation-1.png",value:0},{image:"title-rotation-2.png",value:90},{image:"title-rotation-3.png",value:270},{image:"title-rotation-4.png",value:30}]}),a.addFormat({container:e,label:_("Format"),object:t.labels,property:"format",callback:i}),a.addSeparator({container:n}),a.addColor({container:n,dropDown:!1,label:_("FillColor"),object:t.columns,property:"color",callback:i,treatTransparentAsNull:!0}),e=a.addSection().appendTo(n),a.addBoolean({container:e,label:_("Gradient"),object:t.columns,property:"gradient",callback:i}))},object:{serie:null},property:"serie",combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),a.addSection().addClass("nomargin").appendTo(a.ui.content));a.addSeparator()},renderInteractionsTab:function(t){var e=this,a=this.render.bind(this),o=(t.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({object:this.p.interactions,parameters:!0,property:"onseriesdblclick",label:_("InteractionType_OnSeriesDblClick"),items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}],onChange:function(){e.refreshAllowExport(t)}}),$('<div class="allow-export-div"></div>'));t.ui.append(o),this.refreshAllowExport(t),t.settings.Format.addSeparator({container:t.ui}),t.settings.Format.addBoolean({container:t.ui,label:_("Interaction_AllowZoom"),object:this.p.interactions,property:"allow_zoom",callback:function(){e.updateToolbar(),a()}}),this.renderToolbarProperties(t)},_getHighchartsChart:function(){var t=this;return{type:"waterfall",width:this.width,zoomType:!Utils.isMobileDevice()&&this.p.interactions.allow_zoom?"xy":null,animation:!1,backgroundColor:"transparent",plotBackgroundColor:this.p.background.plot_background.enabled?this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color:"transparent",plotBorderWidth:this.p.background.plot_background.enabled?this.p.background.plot_background.border.width:0,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){t._loaded=!0}},spacingTop:this.p.other&&this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other&&this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other&&this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other&&this.p.other.margin_left_right||this.p.background.margins.right}},_getHighchartsTitle:function(t){return t.font.halign||(t.font.halign="center"),Utils.FontUtils.loadFont(t.font.family),{text:Utils.disableHTML(t.text),align:t.font.halign||"center",style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}}},_getHighchartsYAxis:function(e){var t,a=this,o=(Utils.FontUtils.loadFont(e.title.font.family),Utils.FontUtils.loadFont(e.labels.font.family),{title:{text:e.title.enabled?e.title.text:"",rotation:e.title.rotation,margin:90==e.title.rotation&&e.title.enabled?e.title.font.size:20,style:{fontFamily:e.title.font.family,fontSize:"".concat(e.title.font.size,"px"),textShadow:e.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.title.font.family,e.title.font.font_weight),fontStyle:e.title.font.italic?"italic":"",textDecoration:e.title.font.underline?"underline":"",color:e.title.font.color}},labels:{enabled:e.labels.enabled,step:e.labels.step,style:{fontFamily:e.labels.font.family,fontSize:"".concat(e.labels.font.size,"px"),textShadow:e.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.labels.font.family,e.labels.font.font_weight),fontStyle:e.labels.font.italic?"italic":"",textDecoration:e.labels.font.underline?"underline":"",color:e.labels.font.color}},opposite:e.opposite,lineColor:e.axis_line.color,lineWidth:e.axis_line.width,gridLineWidth:e.major_grid_lines.width,gridLineColor:e.major_grid_lines.color,minorGridLineWidth:e.minor_grid_lines.width,minorGridLineColor:e.minor_grid_lines.color,minorTickInterval:"auto",crosshair:a.p.tooltip&&a.p.tooltip.display&&a.p.tooltip.display_crosshair||!1,tickColor:e.ticks,tickWidth:"transparent"!==e.ticks?1:0,tickLength:5,alternateGridColor:e.bands,reversed:e.scale.reverse});return a.scaleFormulaResults&&((t=a.scaleFormulaResults[0])&&null!==t.max_result&&$.isNumeric(t.max_result.value)&&(o.max=t.max_result.value),t&&null!==t.min_result&&$.isNumeric(t.min_result.value)&&(o.min=t.min_result.value)),a.intervalFormulaResult&&(t=a.intervalFormulaResult[0])&&$.isNumeric(t.value)&&0<t.value&&(o.tickInterval=t.value),e.labels.format&&(o.labels.formatter=function(){var t=this.value;return Utils.formatValue(t,e.labels.format)}),o},_getHighchartsXAxis:function(t,e){var a=this,o=(Utils.FontUtils.loadFont(t.title.font.family),Utils.FontUtils.loadFont(t.labels.font.family),{type:"category",events:{afterSetExtremes:function(){ChartUtils.handleToolbarZoom(this.eventArgs,a.container)}},title:{text:t.title.enabled?t.title.text:"",align:t.title.align,style:{fontFamily:t.title.font.family,fontSize:"".concat(t.title.font.size,"px"),textShadow:t.title.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.title.font.family,t.title.font.font_weight),fontStyle:t.title.font.italic?"italic":"",textDecoration:t.title.font.underline?"underline":"",color:t.title.font.color}},opposite:t.opposite,lineColor:t.axis_line.color,lineWidth:t.axis_line.width,startOnTick:!0,endOnTick:!0,gridLineWidth:t.major_grid_lines.width,gridLineColor:t.major_grid_lines.color,gridZIndex:2,minorGridLineWidth:t.minor_grid_lines.width,minorGridLineColor:t.minor_grid_lines.color,alternateGridColor:t.bands,tickColor:t.ticks,crosshair:a.p.tooltip&&a.p.tooltip.display&&a.p.tooltip.display_crosshair||!1,tickLength:5,tickWidth:"transparent"!==t.ticks?1:0,labels:{enabled:t.labels.enabled,rotation:t.labels.rotation,step:t.labels.step,style:{fontFamily:t.labels.font.family,fontSize:"".concat(t.labels.font.size,"px"),textShadow:t.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.labels.font.family,t.labels.font.font_weight),fontStyle:t.labels.font.italic?"italic":"",textDecoration:t.labels.font.underline?"underline":"",color:t.labels.font.color}},reversed:t.scale.reverse});return null!==t.scale.max&&(o.max=t.scale.max),null!==t.scale.min&&(o.min=t.scale.min),null!==t.scale.interval&&(o.tickInterval=t.scale.interval),o.labels.formatter=function(){return a._getCategoriesFormat(this.value,t.labels.format)},o},_getHighchartsTooltip:function(t,a){var e,o=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(e={enabled:!0,shared:!1,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},e.pointFormatter=function(){var e=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.y,format:!0,defaultFormatting:function(){return t.labels.format}.call(this)},{regex:"this.point.percentage",value:ChartUtils.getPercentage(this.percentage,this.series.points,this.y).toFixed(1),format:!1},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(t){return function(t){return o._getCategoriesFormat(this.name,t||a.labels.format)}.call(e,t)}}],o.p.tooltip.content,o)},e):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.point.percentage}}",_("PointPercentage")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]},_getHighchartsSeriesData:function(t){function i(t,i){var e=$.extend(!0,{},r._getSerieLabelAlignmentFromRotation(i.labels.rotation),r._getSeriesLabelPosition(i.labels.position));null!=i.columns.color&&(t.color=i.columns.gradient&&i.columns.color?{linearGradient:[0,0,0,"100%"],stops:[[0,i.columns.color],[1,DashboardUtils.shadeBlend(null,i.columns.color)]]}:i.columns.color),t.dataLabels={enabled:i.labels.enabled,rotation:i.labels.rotation,align:e.align,verticalAlign:e.verticalAlign,inside:e.inside,y:e.y||0,x:e.x||0,color:i.labels.font.color,style:{fontFamily:i.labels.font.family,fontSize:"".concat(i.labels.font.size,"px"),textShadow:i.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(i.labels.font.family,i.labels.font.font_weight),fontStyle:i.labels.font.italic?"italic":"",textDecoration:i.labels.font.underline?"underline":"",color:i.labels.font.color,textOutline:null},formatter:function(){var t,e=this,a=i.labels,o="";return null!==this.y&&0!==this.y||(this.y=0),a.show_dimension&&(t=this.key,r.categoryType&&Utils.isDateType(r.categoryType)&&(t=new Date(t).toISOString()),o=Utils.formatValue(t,a.format)),a.show_measure&&(o&&(o+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),o+=Utils.formatValue(this.y,a.format)),a.show_series&&(o&&(o+=ChartUtils.TOOLTIP_DIMENSION_VALUE_SEPARATOR),o+=Utils.formatValue(this.series.name,a.format)),a.show_percentage&&(t=function(t){t=Utils.formatNumber(100*e.y/t,2),t="".concat(t,"%");o?o+=" (".concat(t,")"):o=t},0<this.y&&r._totalPositiveValues?t(r._totalPositiveValues):this.y<0&&r._totalNegativeValues&&t(r._totalNegativeValues)),o}}}var n=[],r=this,t=(t.forEach(function(t){var t={name:t[0],y:t[1],events:{click:function(t){var e=this.series,a=t,o=r.p.interactions.onseriesdblclick;if(e.dblclick&&o){switch(o.type){case"url":DashboardUtils.handleUrlInteraction(r.dashboard,r,o);break;case"dashboard":r.handleDashboardInteraction(o);break;case"data":r._displaySeriesData(a)}e.dblclick=!1}else e.dblclick=!0,setTimeout(function(){e.dblclick=!1},200)}}},e=t.y&&0<t.y?r._getColumnConfig("positive_values"):r._getColumnConfig("negative_values");i(t,e),n.push(t)}),this.p.balances.filter(function(t){return"at_the_end"!=t.type}).reverse()),e=this.p.balances.filter(function(t){return"at_the_end"==t.type});return t.concat(e).forEach(function(e,t){var a=r._getColumnConfig("balance"),o={name:e.name,isSum:!0};i(o,a),"at_the_end"==e.type?n.push(o):(a=Utils.arrayFirstIndex(n,function(t){return t.name==e.column_name}),n.splice(a+1,0,o))}),n.forEach(function(t,e){t.x=e}),n},_getSeriesLabelPosition:function(t){return"outside"==t?{verticalAlign:"bottom"}:{inside:!0,verticalAlign:{start:"bottom",middle:"middle",end:"top"}[t]}},_getSerieLabelAlignmentFromRotation:function(t){e=t;var e,t=[{rotation:0,align:"center",y:0},{rotation:90,align:"right",y:-6},{rotation:270,align:"left",y:-6},{rotation:30,align:"center",y:-14}];return Utils.arrayFirst(t,function(t){return t.rotation===e})},_getSeriesShadow:function(t){return"none"!=t.code&&{color:"rgba(0, 0, 0, .5)",offsetX:0,offsetY:0,opacity:t.opacity,width:t.radius}},_getCategoriesFormat:function(e,t){return null!=Utils.arrayFirst(this.p.balances,function(t){return t.name==e})?e:(e=Utils.isDateType(this.categoryType)&&t||this.categoryOriginalType&&Utils.isDateType(this.categoryOriginalType)&&t?WidgetsCommon.parseDataUsingGrouping(this.categoryGroupings,e):"".concat(e),Utils.formatValue(e,DashboardUtils.applyFormat(t,this.categoryType)))},_displaySeriesData:function(o){var i=this;this.canUpdateData()&&i.dashboard&&this.getDataClone(this.p.data_id,i.dashboard.id).then(function(t){var e=Utils.arrayFirst(i.p.data_bindings,function(t){return t.area==Enums.WidgetAreas.Rows}),t=i.getColumnFromId(t.columns,e.column_id),a=[];a.push({Column:t.name,ColumnId:t.id,Value:o.point.name,Grouping:e.grouping||null,Operator:8}),i.displayRowDataPopup(a)})},_getDefaulColorFromType:function(t){var e=this.getColorsFromPalette(),a=e[2];switch(t){case"positive_values":a=e[2];break;case"negative_values":a=e[0];break;case"balance":a=e[15]}return a},_getColumnConfig:function(e){var t=Utils.arrayFirst(this.p.columns,function(t){return t.type==e});return t=t?t.config:$.extend(!0,this._getDefaultColumnProperties(),this.getWidgetStyleConfig().default_column_style,{columns:{color:this._getDefaulColorFromType(e)}})},_getOrCreateColumnProperties:function(e){var t=Utils.arrayFirst(this.p.columns,function(t){return t.type==e.value});return t||(t={type:e.value,config:$.extend(!0,this._getDefaultColumnProperties(),this.getWidgetStyleConfig().default_column_style,{columns:{color:this._getDefaulColorFromType(e.value)}})},this.p.columns.push(t)),t},_getDefaultColumnProperties:function(){return{labels:{enabled:!1,show_measure:!0,show_dimension:!1,show_percentage:!1,show_series:!1,font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#3e4e5b"},rotation:0,position:"outside",format:null},columns:{color:null,gradient:!1}}}}});
//# sourceMappingURL=SC3-waterfall.js.map

var getTreeMapSample=function(){return[["UN continental","Country or area","Population 2017"],["Asia","China",1409517397],["Asia","India",1339180127],["Americas","United States",324459463],["Asia","Indonesia",263991379],["Americas","Brazil",209288278],["Asia","Pakistan",197015955],["Africa","Nigeria",190886311],["Europe","Russia",143989754],["Americas","Mexico",129163276],["Africa","Ethiopia",104957438],["Africa","Egypt",97553151],["Europe","Germany",82114224],["Africa","Democratic Republic of the Congo",81339988],["Europe","United Kingdom",66181585],["Europe","France[b]",64979548],["Europe","Italy",59359900],["Africa","Tanzania[c]",55155e3],["Americas","Colombia",49065615],["Americas","Argentina",44271041],["Africa","Uganda",42862958],["Africa","Algeria",41318142],["Africa","Sudan",40533330]]},SC7_LAYOUT_ALGORITHM={sliceAndDice:"sliceAndDice",stripes:"stripes",squarified:"squarified",strip:"strip"};Widget.createType({id:"SC7",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","layout.colors.intervals.min","layout.colors.intervals.max","interactions.ondblclick.parameters.parameters.formula"],formula_output:["selectedcategory","selectedcolor","selectedvalue"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/boost.js","/Libraries/Highcharts/modules/treemap.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",formula:"",custom:null},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,margins:{top:30,bottom:30,left:20,right:20},border:{width:0,color:"#cccccc"},shadow:{code:"none"},roundness:0},layout:{algorithm:"squarified",colors:{mode:"palette",single_color:"#2eb363",intervals:[]},border:{width:1,color:"#cccccc"},direction:"vertical"},labels:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#cccccc"},format:null},other:{threeD:{enabled:!1,x:0,y:0,z:.4},fixed_pie:!1,fixed_pie_size:1},series_custom:[],sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},tooltip:{display:!0,content:"{{this.point.category}}: <b>{{this.point.y}}</b>",background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0}},interactions:{ondblclick:null,onseriesdblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:$.extend(!0,{},Widget.CHPrototype,{createOutputProperties:function(){this.createProperty("selectedcategory"),this.createProperty("selectedcolor"),this.createProperty("selectedvalue"),this.resetSelectedOutput()},resetSelectedOutput:function(){this.selectedcategory=null,this.selectedcolor=null,this.selectedvalue=null},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedcategory:this.selectedcategory,selectedcolor:this.selectedcolor,selectedvalue:this.selectedvalue})},updateOutputProperties:function(t){this.selectedcategory=t.name,this.selectedcolor=t.color_value,this.selectedvalue=t.value,this.updateState()},resetState:function(t){this.selectedcategory=t.selectedcategory,this.selectedcolor=t.selectedcolor,this.selectedvalue=t.selectedvalue},onVisibilityChange:function(){this.render()},applyMarginOnChart:DashboardUtils.applyMarginOnChart,init:function(){this.p.data.custom=getTreeMapSample(),ChartUtils.resetSelectedOutputs(this),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(e.ui)}),this.on("fontchanged",function(){e.render()}),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.tryUpdate()}.bind(this)),this.on("stylechanged",function(){this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},isCustomDataMode:function(){return"custom"===this.p.data.mode},convertCustomDataInTreeMapData:function(t){for(var r=this,n=[],s=[],l=0,d=[],e=t.data[0],a=0;a<e.length;a++)for(var s=[],o=e[a],c=0;c<o.length;c++){function i(e,t){var a,o,i=Utils.arrayFirst(n,function(t){return t.name===e});i?s.push(i):(i={id:0<s.length?(a=s[c].id,i=n.filter(function(t){return t.parent===a}).length,a+"_{0}".format(i)):"id_{0}".format(l++),name:e,value:0},(o=function(t){switch(r.p.layout.colors.mode){case"palette":var e=t%(d=r.getColorsFromPalette()).length;return d[e];case"conditional":break;case"single":return null}}(l-1))&&t&&(i.color=o),a&&(i.parent=a),s.push(i),n.push(i))}var u=o[c];c===o.length-1?(s[c].value=u,s[0].value+=u):(i(t.rowHeaders[a].name,!0),i(u,!1))}return n},canUpdateData:function(){return"bindings"!==this.p.data.mode||1<=this.getBindings(Enums.WidgetAreas.Rows).length&&1<=this.getBindings(Enums.WidgetAreas.Values).length},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,PaletteColors:"palette"===this.p.layout.colors.mode?this.getColorsFromPalette():[],ParametersDependencies:t.ParametersDependencies,Widget:this.model}},updateService:"SC7Data",updateServiceError:function(){this._loaded=!1},updateServiceSuccess:function(t){this._Data=t,this.categoryType="System.String";var e,a=function(){this.isAllCategoriesAreDates()&&(this.p.sort_filter.top_bottom.others=!1),this.updateServiceSuccessCallback&&this.updateServiceSuccessCallback(),this.render()}.bind(this);if(this.isCustomDataMode())t=this.p.data.custom.slice(1),0<this.p.sort_filter.filters.length&&(e=this.p.sort_filter.filters.filter(function(t){return t.state!==Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state===Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),t=DashboardUtils.filterData(t,e)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(t,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties},!0),t.unshift(this.p.data.custom[0]),this._Data=this.convertCustomDataToHeaders(t),this._Data.ConvertedData=this.convertCustomDataInTreeMapData(this._Data);else if(0<t.rows.length&&(this.categoryType=t.rows[0].type,this.categoryOriginalType=t.rows[0].original_type,this.categoryGroupings=t.rows[0].groupings),t.Intervals&&t.Intervals.length)for(var o=0;o<this.p.layout.colors.intervals.length;o++){var i=this.p.layout.colors.intervals[o],r=t.Intervals[o];i.min_result=r.min_result,i.max_result=r.max_result}a()},setSample:function(){this._Data=this.convertCustomDataToHeaders(),this._Data.ConvertedData=this.convertCustomDataInTreeMapData(this._Data),this.render()},getCustomData:function(){return this.p.data.custom.slice(1)},getContextualParameters:function(){var t=[];return!this.error&&this._Data&&(t.push({name:"Data",value:this._Data.data}),t.push({name:"RowPointIdx",value:0}),t.push({name:"ChildPointIdx",value:0}),t.push({name:"ValuePointIdx",value:0}),this._Data&&this._Data.rowHeaders&&t.push({name:"RowHeaders",value:this._Data.rowHeaders.map(function(t){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},t)})}),this._Data&&this._Data.columnHeaders&&t.push({name:"ColumnHeaders",value:this._Data.columnHeaders.map(function(t){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},t)})}),this._Data&&this._Data.values&&t.push({name:Enums.WidgetAreas.Values,value:this._Data.values.map(function(t){return $.extend({},{__type:"GenericDataResponse.MetricInfo:#Infinis"},t)})}),this._Data&&this._Data.rows&&t.push({name:Enums.WidgetAreas.Rows,value:this._Data.rows.map(function(t){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},t)})}),this._Data&&this._Data.columns&&t.push({name:Enums.WidgetAreas.Columns,value:this._Data.columns.map(function(t){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},t)})})),t},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},getCustomDataInfo:function(t){return t===Enums.WidgetAreas.Values?[{name:this.p.data.custom[0][1]}]:t===Enums.WidgetAreas.Rows?[{name:this.p.data.custom[0][0]}]:void 0},isAllCategoriesAreDates:function(){if(null===this._Data)return!1;for(var t=0<this._Data.rows.length,e=0;e<this._Data.rows.length;e++)Utils.isDateType(this._Data.rows[e].type)||(t=!1);return t},render:function(){var e=this;if(ChartUtils.destroyChart(this.ui),this._Data){var t=[];switch(this.p.layout.colors.mode){case"palette":t=this.getColorsFromPalette();break;case"single":t=[this.p.layout.colors.single_color]}var a={chart:this._getHighchartsChart(),exporting:{enabled:!1},colors:t,credits:{enabled:!1},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),tooltip:this._getHighchartsTooltip(),navigation:{},boost:{seriesThreshold:32},plotOptions:{column:{grouping:!0},series:{events:{click:function(t){e.updateOutputProperties(t.point)}},animation:!1,shadow:!1,turboThreshold:1e3,borderWidth:1,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0,crop:!1,overflow:"none"}}},series:this._getHighchartsSeries()};this.applyMarginOnChart&&this.applyMarginOnChart(a),this._lastvisibilityValue||(a.plotOptions[this.p.type]={enableMouseTracking:!1},this.dashboard&&!this.dashboard.in_editor&&a.legend&&(a.legend.enabled=!1,a.legend.navigation={enabled:!1})),this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),this.ui.highcharts(a),this.updateState(),ChartUtils.putPlotAreaOnTop(this.ui)}else this.error=_("NoData")},_getHighchartsChart:function(){var t=this;return{zoomType:!Utils.isMobileDevice()&&this.p.interactions.allow_zoom?"x":null,animation:!1,width:this.width,backgroundColor:"transparent",style:{fontFamily:'"Open Sans"'},events:{load:function(){t.onloadedCallback?t.onloadedCallback():t._loaded=!0}},spacingTop:this.p.other.margin_top_bottom||this.p.background.margins.top,spacingLeft:this.p.other.margin_left_right||this.p.background.margins.left,spacingBottom:this.p.other.margin_top_bottom||this.p.background.margins.bottom,spacingRight:this.p.other.margin_left_right||this.p.background.margins.right}},_getNodeLabel:function(t){var e,a="{0}",o=("conditional"===this.p.layout.colors.mode&&(e=t.point.id,(o=Utils.arrayFirst(this._Data.ConvertedData,function(t){return t.id===e}))&&(o=this.getFontColorFromValue(o.color_value),a='<span style="color:'.concat(o||"#000000",'">{0}</span>'))),t.point.node.level-1),o=this._Data.rows[o],i=this.p.labels.format,t=Utils.formatValue(t.key,DashboardUtils.applyFormat(i,o&&o.type||"System.String"));return a.format(t)},getFontColorFromValue:function(t){for(var e=!0,a=0,o="",i=this.p.layout.colors.intervals||[];e&&a<i.length;){var r=i[a],n=parseFloat(r.min_result);t<=parseFloat(r.max_result)&&n<=t?(e=!1,o=r.font_color):a+=1}return o},_getHighchartsSeries:function(){var t=this,e=(Utils.FontUtils.loadFont(this.p.labels.font.family),function(){return{enabled:!0,formatter:function(){return t._getNodeLabel(this)},style:{color:this.p.labels.font.color,textShadow:this.p.labels.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",textDecoration:this.p.labels.font.underline?"underline":"none",fontFamily:this.p.labels.font.family,fontWeight:Utils.FontUtils.getFontWeight(this.p.labels.font.family,this.p.labels.font.font_weight),fontStyle:this.p.labels.font.italic?"italic":"normal",fontSize:"".concat(this.p.labels.font.size,"px"),textOutline:null}}}.bind(this));return[{type:"treemap",layoutAlgorithm:this.p.layout.algorithm,layoutStartingDirection:this.p.layout.direction,allowDrillToNode:!0,animationLimit:1e3,interactByLeaf:!1,dataLabels:{enabled:!1},levelIsConstant:!1,levels:[{level:1,dataLabels:e(),borderWidth:this.p.layout.border.width,borderColor:this.p.layout.border.color},{level:2,borderWidth:this.p.layout.border.width,borderColor:this.p.layout.border.color}],data:this._Data.ConvertedData}]},_getHighchartsTooltip:function(){var t,o=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(t={enabled:!0,shared:!1,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},t.pointFormatter=function(){var e=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.y",value:this.value,format:!0},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(t){return function(t){var e=this.node.level-1,e=o._Data.rows[e],a=this.name;return WidgetsCommon.getFormattedAxisLabel(a,t,null,e&&Utils.isDateType(e.type),null)}.call(e,t)}}],o.p.tooltip.content,o)},t):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.y}}",_("PointValue")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             \x3c!--<li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>--\x3e                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.resetSortAndFilters(),e.update()})},renderDataBindings:function(t){var e=this,a=new Settings.Data.Bindings(t);a.render([{name:_("Categories"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.6},{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.2},{name:_("Color"),placeholder:_("DropColor"),area:Enums.WidgetAreas.Color,height_ratio:.2}]),a.area_column_limits[Enums.WidgetAreas.Rows]=3,a.area_column_limits[Enums.WidgetAreas.Values]=1,a.area_column_limits[Enums.WidgetAreas.Color]=1,a.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var t=$(this).closest(".area-column");return a.toggleAxisPopup(t),!1}),a.on("bindingCleared",function(){this.resetSortAndFilters(),this.p.layout.colors.mode="palette"}.bind(this)),a.on("bindingRemoved",function(t){e.resetSortAndFilters(t),t.area===Enums.WidgetAreas.Color&&(e.p.layout.colors.mode="palette"),t.area,Enums.WidgetAreas.Values}),this.data_destroy_callback=function(){a.destroy()}},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"tree-map-properties-areas.png",text:_("TreeMap"),code:"treemap",renderer:this.getTreeProperties.bind(this)}),t.push({icon:"tree-map-properties-labels.png",text:_("Labels"),code:"labels",renderer:this.getLabelsProperties.bind(this)}),t},getBackgroundProperties:function(t){var e=this.render.bind(this);t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()},getLabelsProperties:function(t){var e=this.render.bind(this);t.addFont({dropDown:!0,object:this.p.labels,property:"font",callback:e}),t.addSeparator(),t.addFormat({label:_("Format"),object:this.p.labels,property:"format",callback:e}),t.addSeparator()},getTreeProperties:function(r){var n=this,s=this.render.bind(this),l=function(){this.settings.Data._isDirty=!0,this.tryUpdate()}.bind(this),d=n.settings._original_widget.dashboard,c=(r.addDropdown({label:_("LayoutAlgorithm"),object:this.p.layout,property:"algorithm",combobox:{dataprovider:[{value:SC7_LAYOUT_ALGORITHM.sliceAndDice,label:_("SliceAndDice")},{value:SC7_LAYOUT_ALGORITHM.squarified,label:_("Squarified")},{value:SC7_LAYOUT_ALGORITHM.stripes,label:_("Stripes")},{value:SC7_LAYOUT_ALGORITHM.strip,label:_("Strip")}],appendToBody:!0},callback:s}),r.addDropdown({label:_("LayoutDirection"),object:this.p.layout,property:"direction",id:"mode",combobox:{dataprovider:[{value:"vertical",label:_("Vertical")},{value:"Horizontal",label:_("Horizontal")}],appendToBody:!0},callback:s}),r.addSeparator(),r.addBorder({object:this.p.layout,property:"border",callback:s}),r.addSeparator(),r.ui.content.append(Mustache.render('<div id="{{ prop_id }}" class="property_ddl tags_style" >                         <span class="label">{{ label }}</span>                         <div class="ctrl ">                            <div>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="palette" /><i class="far"></i><span>{{ palette }}</span></label></li>                                     <li class="single_color_container">                                         <label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="single" /><i class="far"></i><span>{{ single }}</span></label>                                         <div class="single_color"></div></li>                                    <li><label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="conditional" /><i class="far"></i><span>{{ conditional }}</span></label></li>                                 </ul>                             </div>                        </div>',{prop_id:r._property_id++,label:_("Colors"),palette:_("FromPalette"),single:_("SingleColor"),range:_("ColorRange"),conditional:_("ConditionalColor")})),function(t,e,a){n.settings.Format.addFormulaInput({container:a,widget:n,dashboard:d,object:t,grid:!0,dropup:!0,property:e,appendToBody:!0,callback:l})}),u=function(i,r){return function(t,e){function a(){t[i]=this.getRGBAColor(),r()}var o=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t[i]));e.append(o);$("> input",o).clicColorPicker({onColorChanged:a,onPreviewColorChanged:a,onCancel:a,palette:d.model.colors})}},t=function(){r.ui.content.find(".missingBindingMessage").remove(),r.ui.content.find(".multiple_labels li").removeClass("checked"),r.ui.content.find(".multiple_labels input[type=radio][value={0}]".format(this.p.layout.colors.mode)).closest("li").addClass("checked"),r.ui.content.find(".single_color .clicColorPicker-toggle button").prop("disabled","single"!==this.p.layout.colors.mode),r.ui.content.find(".custom_colors .cd-number button").prop("disabled","range"!==this.p.layout.colors.mode),r.ui.content.find(".custom_colors .cd-number input").prop("disabled","range"!==this.p.layout.colors.mode);var t,e,a,o,i=this.getBindings(Enums.WidgetAreas.Color);r.ui.content.find(".multiple_labels input[type=radio][value='conditional']").attr("disabled",!i.length).closest("li").toggleClass("disabled",!i.length),i.length||r.ui.content.append('<div class="missingBindingMessage"><span>'.concat(_("MissingBindingMessage"),"</span></div>")),r.ui.content.find(".SC7_intervals_container").remove(),"conditional"===this.p.layout.colors.mode&&(i=r.ui.content,this.p.layout.colors.intervals,t=s,e=l,a=Mustache.render('<div class="SC7_intervals_container">                                <button type="button" class="btn btn-default btn-grey addItem">{{ buttonLabel }}</button>                                <div class="sortable_list_container"></div>                            </div>',{buttonLabel:_("AddNew")}),i.append(a),o=new SortableList({container:$(".SC7_intervals_container > .sortable_list_container",i),object:n.p.layout.colors,property:"intervals",onDeleteCallback:e,onSortCallback:e,enableScrollbar:!1,columns:[{name:_("Background"),width:70,cellFormat:u("background_color",e)},{name:_("Font"),width:70,cellFormat:u("font_color",t)},{name:_("MinValue"),classes:"value_column",cellFormat:function(t,e){c(t,"min",e)}},{name:_("MaxValue"),classes:"value_column",cellFormat:function(t,e){c(t,"max",e)}}]}),$(".SC7_intervals_container > .addItem",i).on("click",function(){o.addNewObject({background_color:"transparent",font_color:"#000000",min:"0",max:"0",min_result:0,max_result:0}),t()})),l()}.bind(this);r.ui.content.find(".multiple_labels input[type=radio][value={0}]".format(this.p.layout.colors.mode)).prop("checked",!0),r.ui.content.on("change",".multiple_labels input[type=radio]",function(){r.settings.Format._isDirty=!0,n.p.layout.colors.mode=$(this).val(),t(),s()}),r.addColor({label:"",object:this.p.layout.colors,getHexColor:!0,container:$(".single_color",r.ui.content),property:"single_color",callback:l}),t()},renderInteractionsTab:function(t){this.render.bind(this);t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),this.renderToolbarProperties(t)},quickToolbarOptions:function(){return this._quickToolbarOptions()}})});
//# sourceMappingURL=SC7-treemap.js.map

function _createForOfIteratorHelper(t,e){var o,a,r,n,i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return a=!(o=!0),{s:function(){i=i.call(t)},n:function(){var t=i.next();return o=t.done,t},e:function(t){a=!0,r=t},f:function(){try{o||null==i.return||i.return()}finally{if(a)throw r}}};if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return i&&(t=i),n=0,{s:e=function(){},n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var o;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(o="Object"===(o=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:o)||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,a=new Array(e);o<e;o++)a[o]=t[o];return a}!function(){var g="none",h=function(t,e,o){var a,r,n,i,l=Math.abs(o-t.scrollTop),o=(t.scrollTop=o,l>e.viewportHeight?(r=t,n=e.virtualHeight-e.viewportHeight,i=e.scrollableHeight-e.viewportHeight,n/=i,{page:Math.floor(r.scrollTop*n/e.pageHeight),scrollTop:r.scrollTop}):(i=e,r=(n=t).scrollTop+n.pageOffset,o=(n.page+1)*i.pageHeight,l=n.page*i.pageHeight,o=o<r,r=r<l,l=n.page,a=n.scrollTop,o?(l++,a=n.scrollTop-i.jumpinessCoefficient):r&&(l--,a=n.scrollTop+i.jumpinessCoefficient),{page:l,scrollTop:a}));return t.page!==o.page&&$(e.viewport).scrollTop(o.scrollTop),$.extend(t,o),t.pageOffset=Math.round(t.page*e.jumpinessCoefficient),t},t={background:{color:"#ffffff",gradient:!1},footer_height:30,border_top:{width:1,color:"#cccccc"},columns:[],column_all:{font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,1)",halign:"right",valign:null}}},e={hide_repeated_data:!1,custom_width_set:!1,custom_width:150,wrap:!1},S={min:0,max:100,color:"rgba(120, 204, 126, 1)",symbol:"arciup"},m={__type:"TA1SparkColumnLineTypeProperties:#Infinis",line:{width:1,color:"#000000"},fill_color:"transparent",marker:{width:2,color:"rgba(120, 204, 126, 1)",max_color:"transparent",min_color:"transparent"}},f={__type:"TA1SparkColumnBarTypeProperties:#Infinis",zero_axis:{enabled:!1,color:"#000000"},bar:{width:1,color:"rgba(120, 204, 126, 1)",negative_color:"transparent"}},y={__type:"TA1SparkColumnBulletTypeProperties:#Infinis",target_color:"rgba(120, 204, 126, 1)",performance_color:"#8888FF",range_color1:"#aaaaff",range_color2:"#bbbbff",range_color3:"#ccccff"},d={value:{align:"left",background_color:"transparent",background_gradient:!1,format:null},bar:{background_color:"transparent",background_gradient:!1,bar:{color:"rgba(120, 204, 126, 1)",gradient:!1,bar_align:"left",border:{width:1,color:"transparent"},bar_height:.1}},indicator:{background_color:"transparent",background_gradient:!1,type:"percentage",intervals:[S]},conditional:{align:"right",type:"percentage",intervals:[],format:null},spark:{background_color:"transparent",background_gradient:!1,type:"line",properties:m},hyperlink:{background_color:"transparent",display:"original",text:"Link",icon:"mlink",icon_color:"#000000",align:"left",onhover:{size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!0,color:"#558fd1"}}},v=d,F=(Object.keys(v).forEach(function(t){v[t]=$.extend({__type:"TA1{0}ColumnProperties:#Infinis".format(t.initCap()),visualization:t},v[t],e)}),{value:"<span>{{ value }}</span>",bar:'<div class="placeholder {{#align_left}}left{{/align_left}}"></div>                <div class="bar" style="width: {{ width_percentage }}%;height: {{ height_percentage }}%"></div>              <div class="placeholder {{#align_right}}right{{/align_right}}"></div>',indicator:'<div><i style="color: {{iconColor}};" class="{{iconClass}}"></i></div>',conditional:'<div style="{{# fontColor }}color: {{fontColor}};{{/ fontColor }}">{{ value }}</div>',spark:'<span id="{{ uid }}" values="{{ value }}"></span>',hyperlink:'<a class="hyperlinkCells" {{#url}}href="{{ url }}"{{/url}} target="_blank">{{#iconClass}}<i style="color: {{iconColor}};" class="{{iconClass}}"></i>{{/iconClass}}{{^iconClass}}{{value}}{{/iconClass}}</a>'});function T(t,e,o,a,r){switch(t){case"number":return Utils.arrayFirst(e,function(t){if(+t.min<=o&&o<=+t.max)return t});case"percentage":var n=100/(r-a);return Utils.arrayFirst(e,function(t){var e=o*n;if(+t.min<=e&&e<=+t.max)return t});case"formula":return Utils.arrayFirst(e,function(t){if(+t.min_result<=o&&o<=+t.max_result)return t})}}var o={height:400,width:400,min_height:100,min_width:100,hasStyleProperty:!0,formula_input:function(){return["sort_filter.filters.formula","calculated_columns.formula","header.columns.title_formula","interactions.onrowdblclick.parameters.parameters.formula"].concat("columns.properties.intervals.min","columns.properties.intervals.max","footers.columns.formula")},formula_output:["selectedrow","selectedrowindex","columns","rows","count","headers"],layer:!0},a={titles:{title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""},subtitle:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""}},table:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},background:{color:"#ffffff",gradient:!1},lines:{type:"both",color:"#cccccc"},border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0},header:{background:{color:"#ffffff",gradient:!1},wrap:!1,header_height:30,border_bottom:{width:1,color:"#cccccc"},columns:[],column_all:{font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,1)",halign:"left",valign:null}}},body:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},background:{color:"transparent",gradient:!1},row_background:{color:"transparent",gradient:!1},row_height_automatic:!1,row_height:30,alternate_row_color:"transparent",alternate_row_gradient:!1},footers:[],footer_all:t,columns:[],column_all:e},t=$.extend({},{data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",custom:null}},{sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,of_column:null,by_column:null,over_column:null,ties:!1,remainder:!1},user_sorting:{enabled:!0},sorts:[],filters:[]}},{interactions:{rowselect:!0,rowhover:!0,onrowdblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"bottom_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},a,{style:null}),r={getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},getColumnsFormat:function(t){var e=[];if("bindings"===this.p.data.mode){var o=this.getBindings();void 0===t||t||(o=o.filter(function(t){return!t.hidden}));for(var a=0;a<o.length;a++){var r=o[a],n=Utils.arrayFirst(this._Data.columns,function(t){return t.id===r.column_id}),i=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid==r.guid});e.push(i?{ColumnId:r.column_id,Index:a,Format:DashboardUtils.applyFormat(i.properties.format,n.type)}:{ColumnId:r.column_id,Index:a,Format:DashboardUtils.applyFormat(null,n.type)})}}return e},init:function(){this.p.data.custom||(this.p.data.custom=[["Column 1","Column 2","Value"],["A","x",10],["A","y",20],["B","x",30],["B","y",40],["C","x",50],["C","y",60]]),this.default_column_width=[],this.orderByFilters=[],this.columnsMaxes=[],this.columnsMins=[],this.resetVirtualScrolling(),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var t=this;this._eventsBound||(this.createProperty("selectedrow"),this.createProperty("count"),this.createProperty("rows"),this.createProperty("columns"),this.createProperty("headers",[]),this.createProperty("selectedrowindex",-1),this.on("propertieschanged",function(){this.default_column_width=[],this.resetVirtualScrolling(),this.tryUpdate()}.bind(this)),this.on("stylechanged",function(){this.default_column_width=[],this.p.footers=[],this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("responsiveresized",function(){this.default_column_width=[],this.resetVirtualScrolling(),this.tryUpdate()}.bind(this)),this.on(["height","width"],function(){t.updateTableSize(),t.updateHeaderAndFooterPosition(),t.default_column_width=[],t.resetVirtualScrolling(),t.tryUpdate()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var a=this,t=!1,r=(this.ui.on("click","table.data tr",function(){t?(a.onSelectRow($(this),!0),a.onDblClickRow($(this)),t=!1):(a.onSelectRow($(this)),t=!0,setTimeout(function(){t=!1},300))}),null);this.ui.on("mouseover","table.data tr td.error, tr.table-footer-line td.error",function(){$(".ta1CellError").each(function(t){$(this).data("widgetid")===a.guid&&($(this).fadeOut(100),$(this).remove())}),r=$(Mustache.render('<div id="widgetErrorTooltip" class="ta1CellError">                                        <div class="header error"><span>{{tooltipHeader}}</span></div>                                        <div class="formulaResult"></div>',{tooltipHeader:_("Error")})),$("body").append(r),r.data("widgetid",a.guid);var t=$(this),e=t.offset().left+t.outerWidth(),o=t.parent().offset().left+t.parent().outerWidth(),e=e+r.outerWidth();r.removeClass("left right"),e<o?(r.css({top:"".concat(t.offset().top+t.outerHeight()/2,"px"),left:"".concat(t.offset().left+t.outerWidth(),"px")}),r.addClass("right")):(r.css({top:"".concat(t.offset().top+t.outerHeight()/2,"px"),left:"".concat(t.offset().left-r.outerWidth(),"px")}),r.addClass("left")),$(".formulaResult",r).html(t.attr("data-error")),r.fadeIn(100)}),this.ui.on("mouseout","table.data tr td.error,  tr.table-footer-line td.error",function(){r&&(r.fadeOut(100),r.remove())})},updateSize:function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"updateSize"),function(){this.updateHeaderAndFooterPosition()}.bind(this)),this.updateHeadersWidthInNextFrame(),this.updateTableSize(),this.updateScrollbarsInNextFrame()},handleVirtualScrolling:function(){return this.p.data_id&&"bindings"===this.p.data.mode},renderTable:function(t){!this.handleVirtualScrolling()||!this.updateOnlyData?(this.ui.empty(),Utils.ClearInjectedCSS("#widget_".concat(this.guid)),this.resetVirtualScrolling(),this.renderTableContainers(),this.renderOrUpdateTitlesIfAny(),this.initCustomScrollbar(),this.appendHeaderContents(this.tableHeader,t.columns),this.appendRowsToTable(this.tbody,t.data),this.appendFooterContents(this.tableFooter,t.columns,t.footers),this.toggleRowInteractions(),this.updateAllStyles(),this.updateHeadersWidthInNextFrame(),requestAnimationFrame(function(){this.updateHeaderAndFooterPosition()}.bind(this))):(t=this.getRowsCells(t.data),this.tbody.html(t),this.updateHeadersWidthInNextFrame()),this._loaded=!0},render:function(t){t=t||this._Data;var e=function(){this.renderTable(t),this.updateOnlyData=!1}.bind(this);this.widgetIconsNeedToBeLoaded()?this.loadWidgetIcons(e):e()},widgetIconsNeedToBeLoaded:function(){var t=this.getAllColumnsProperties(),o=this.getBindings(),t=(o.filter(function(t,e){return!o[e]||o[e]&&!o[e].hidden}),t.filter(function(t,e){return!o[e]||o[e]&&!o[e].hidden}));return null!=Utils.arrayFirst(t,function(t){return"indicator"==t.visualization||"hyperlink"==t.visualization&&"icon"==t.display})},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedrow:this.selectedrow,selectedrowindex:this.selectedrowindex,rows:this.rows,columns:this.columns,count:this.count,headers:this.headers})},resetState:function(t){null!==t.selectedrowindex&&void 0!==t.selectedrowindex&&-1<t.selectedrowindex&&this.onSelectRow($('tr[data-rowindex="{0}"]'.format(t.selectedrowindex),this.ui)),this.rows=t.rows,this.columns=t.columns,this.count=t.count,this.headers=t.headers},getContextualParameters:function(){var t;return"custom"===this.p.data.mode||void 0!==this._isUsed&&!this._isUsed?null:(t=[],!this.error&&this._Data&&(t.push({name:"SimpleTable",value:!0}),this._Data&&this._Data.columns&&t.push({name:"DimensionsMetaData",value:this._Data.columns.map(function(t){return $.extend({},{__type:"DataHelperTA.DimensionInfo:#Infinis"},t)})}),this._Data&&this._Data.data&&t.push({name:"TableNodes",value:this._Data.data.map(function(t){return $.extend({},{__type:"DataHelperTA.TARow:#Infinis"},t)})})),t)},setSample:function(){var t=this.p.data.custom.slice(1),e=this.p.data.custom[0].map(function(t){return{id:t,name:t,type:"System.String"}});this._Data={columns:e,data:t,dataInColumns:Utils.transpose(t),count:this.p.data.custom.length-1,footers:[]},this.headers=this._Data.columns.map(function(t){return t.name}),this.render(this._Data)},resetVirtualScrolling:function(){this._virtualScrolling={scrollTop:0,start:0,range:this.getVirtualScrollingRange()}},getVirtualScrollingRange:function(){var t=Math.floor(this.container.outerHeight()/this.p.body.row_height);return t=t<10?10:t},updateService:"TA1Data",getCustomData:function(){return this.p.data.custom.slice(1)},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,OrderByColumns:this.orderByFilters,ParametersDependencies:t.ParametersDependencies,Widget:t.Widget}},getCustomFormulaToResolve:function(){return Utils.arrayFlatten(this.getColumnVisualizationFormulaIntervals().map(function(t){return[t.min,t.max]}))},getUpdateDataQueryString:function(){var t="start={0}&range={1}".format(this._virtualScrolling.start,this._virtualScrolling.range);return this.updateOnlyData&&(t+="&onlyData=1"),t},updateServiceSuccess:function(t){var o=this;if("custom"===this.p.data.mode){var e=this.p.data.custom.slice(1),a=this.p.sort_filter.filters,r=this.p.sort_filter.top_bottom;0<a.length&&(a=a.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),e=DashboardUtils.filterData(e,a)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(e,{column_index:r.column,type:r.direction,count:r.rows,ties:r.ties}),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})&&DashboardUtils.sortData(e,this.p.sort_filter.sorts);for(var n=0;n<this.orderByFilters.length;n++){var i=this.orderByFilters[n],l={column_index:this._Data.columns.findIndex(function(t){return t.id==i.columnGuid}),direction:i.order,custom_order:i.custom_order};DashboardUtils.sortData(e,l)}var s=function(e){return this.p.data.custom.slice(1).map(function(t){return t[e]})}.bind(this),d=this.p.data.custom[0].map(function(t){return{id:t,name:t,type:"System.String",max:0}}),a=this.p.footers.map(function(t){return t.columns.map(function(t,e){t=t.aggregation;return"none"!=t?DashboardUtils.Aggregator.aggregate(s(e),t):null})});this._Data={columns:d,data:e,dataInColumns:Utils.transpose(e),count:this.p.data.custom.length-1,footers:a},Array.isArray(t)&&this.saveFormulaResultsIntoIntervals(t)}else{r=0,a=[];if(this._Data&&(r=this._Data.count,a=this._Data.footers),this.updateOnlyData)this._Data={columns:t.columns,data:t.data,dataInColumns:t.data,count:r,footers:t.footers||a};else{for(n=0;n<t.columns.length;n++){var c=t.columns[n],u=Utils.arrayFirst(this.columnsMaxes,function(t){return t.id==c.id});u?u.maxValue=c.max:this.columnsMaxes.push({maxValue:c.max,id:c.id})}for(n=0;n<t.columns.length;n++){var c=t.columns[n],p=Utils.arrayFirst(this.columnsMins,function(t){return t.id==c.id});p?p.minValue=c.min:this.columnsMins.push({minValue:c.min,id:c.id})}var h,b=_createForOfIteratorHelper(t.column_header_title_formula_results);try{var m;for(b.s();!(h=b.n()).done;)!function(){var e=h.value;(m=Utils.arrayFirst(o.p.header.columns,function(t){return t.binding_guid===e.binding_guid}))&&(m.title_formula_result=e.formula_result||o.resetColumnName(e.binding_guid,t.columns))}()}catch(t){b.e(t)}finally{b.f()}this._Data={columns:t.columns,data:t.data,dataInColumns:t.data,count:t.count,footers:t.footers||a}}this._Data.count===this._Data.data.length||this._Data.data.length>this.getVirtualScrollingRange()?this.allDataAreClientSide=!0:this.allDataAreClientSide=!1,this.column_visualization_formula_results=t.column_visualization_formula_results}if(this.render(this._Data),this.updateOnlyData||(this.updateOnlyData=!1,this.selectedrowindex=-1,this.selectedrow=[]),this.rows=this._Data.data.map(function(t){return t.values}),this._Data&&this._Data.data&&0<this._Data.data.length){for(var d=[],g=this._Data.data[0].values.length,f=0;f<g;f++)d.push([]);for(var _=0;_<this._Data.data.length;_++)for(var y=0;y<g;y++)d[y].push(this._Data.data[_].values[y]);this.columns=d}else this.columns=[];this.count=this._Data.count,this.headers=this._Data.columns.map(function(t){return t.name}),this.setSortFilterTabState(),this.dashboard&&this.dashboard.setWidgetState&&this.dashboard.setWidgetState(this)},updateServiceError:function(){this.updateOnlyData=!1,this.selectedrowindex=-1,this.selectedrow=[],this.count=0,this.rows=[],this.columns=[],this.headers=[],this.resetVirtualScrolling()},getColumnVisualizationFormulaIntervals:function(){return this.p.columns.reduce(function(t,e){e=e.properties;return t=0<=["indicator","conditional"].indexOf(e.visualization)&&"formula"===e.type?t.concat(e.intervals):t},[])},saveFormulaResultsIntoIntervals:function(t){var t=Utils.arrayChunk(t,2),e=this.getColumnVisualizationFormulaIntervals();Utils.arrayZip(t,e).forEach(function(t){var e=t[0],t=t[1];t.min_result=e[0].value,t.max_result=e[1].value})},autoFormatDates:function(t){if(!t)throw new Error("Missing argument");if(!t.dataInColumns)throw new Error("Missing data");if(!t.columns)throw new Error("Missing metadata");function r(t){return null!==t?new Date(t):null}Utils.arrayZip(this.getBindings(),t.columns,t.dataInColumns).forEach(function(t){var e,o=t[0],a=t[1],t=t[2];!Utils.isDateType(a.type)||(e=this.getColumnProperties(o.guid,null,!1))&&e.format||(e=this.getColumnProperties(o.guid,null,!0),t.map(r).every(Utils.isPlainDate),e.format=DashboardUtils.applyFormat(columnProperties.format,a.type))}.bind(this))},onSelectRow:function(t,e){!e&&t.is(".selected")?(t.removeClass("selected"),this.selectedrow=[],this.selectedrowindex=-1):(t.addClass("selected").siblings("tr.selected").removeClass("selected"),e=+t.attr("data-rowIndex"),(t=this.getDataFromRowId(e))&&("custom"===this.p.data.mode?this.selectedrow=t:this.selectedrow=t.values),this.selectedrowindex=e,this.updateState())},getDataFromRowId:function(t){return this.allDataAreClientSide||(t-=this._virtualScrolling.start),this._Data.data[t]},onDblClickRow:function(t){if(this.p.interactions.onrowdblclick&&this.dashboard&&("bindings"!=this.p.data.mode||null!==this.p.data_id)){var e=this.allDataAreClientSide?+t.attr("data-rowIndex"):+t.attr("data-rowIndex")-this._virtualScrolling.start,o=this.p.interactions.onrowdblclick,a=o.type;switch(a){case"url":DashboardUtils.handleUrlInteraction(this.dashboard,this,o);break;case"dashboard":this.handleDashboardInteraction(o);break;case"display_record":var r,n=[];if(this.p.data_id)for(var i=0;i<this._Data.columns.length;i++)0<this._Data.columns[i].id&&n.push({Column:this._Data.columns[i].original_name,Grouping:null,Operator:8,Value:this._Data.dataInColumns[e].values[i]});else r=this._Data;DashboardDialog.display("/dashboard/displayrecordinteraction.aspx",{livelinkObjectRecId:"undefined"!=typeof _LiveLinkObjectRecId?_LiveLinkObjectRecId:void 0,livelinkObjectType:"undefined"!=typeof _LiveLinkObjectType?_LiveLinkObjectType:void 0,Widget:this,DataCloneRecId:this.p.data_id,RowIndex:e,Filters:n,CustomData:r,in_editor:this.dashboard.in_editor});break;default:throw new Error("Interaction type is not handled:",a)}}},refreshFromDataDependency:function(t){var e=!1;(e=this.p.data_id===t&&"bindings"===this.p.data.mode?!0:e)&&(this.resetVirtualScrolling(),this.tryUpdate())},getBindings:function(e,t){var o;return e?(o=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?o[t]:o):this.p.data_bindings},initializeSettings:function(t){var e=Mustache.render('                <button type="button" id="tab_footer" quickTab-href="tablefooter" class="quickTab">                    <i class="far fa-2x fa-server "></i>                    <p>{{ label }}</p>                </button>',{label:_("TA2TableFooterTab")}),o=($("#tab_data").after(e),this.setSortFilterTabState(),$('<div id="tablefooter">'));o.prependTo(".content");t.TableFooter=new function(t){this.settings=t,this.ui={content:o},this.show=function(){this.settings.toggleContent("tablefooter"),this.settings._widget.renderTableFooterTab(this)}}(t),routie("tablefooter",function(){t.TableFooter.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active")},renderTableFooterTab:function(e){e.ui.content.empty().append(Mustache.render('                <header>{{ header }}</header>                <div class="ta2_tablefooter_container">                    <button type="button" class="btn btn-default btn-grey addTableFooter">{{ addButtonLabel }}</button>                    <div class="sortable_list_container"></div>                </div>',{header:_("TA2TableFooterTabHeader"),addButtonLabel:_("TA2AddNewSummary")})),this.p.data_id?e.settings.getDataClone(this.p.data_id,this._from.dashboard.id).then(function(t){this._renderTableFooterTab(e,t.columns)}.bind(this)):this._renderTableFooterTab(e)},_renderTableFooterTab:function(t,e){function a(t){return{column_id:t,name:t,type:"System.String",aggregation:g}}var i=this,o=this.p.calculated_columns||[],l=function(){t.settings.Data._isDirty=!0,this.tryUpdate()}.bind(this),s=function(t,e){return Utils.arrayFirst(t,function(t){return t.column_id===e})},d=function(t,e){return Utils.arrayFirst(t,function(t){return t.binding_guid===e})},c=function(t){if("custom"===i.p.data.mode)return!1;for(var e=i.getBindings(Enums.WidgetAreas.Columns),o=0;o<t.length;o++){var a=t[o];a.binding_guid||(a.binding_guid=e[o].guid)}},u=function(t,e,o){$(".formula-container",e).parent().remove(),e.removeClass("calculated"),o.removeClass("calculated"),"calculated"==t.aggregation&&(t.formula||(t.formula=""),e.addClass("calculated"),o.addClass("calculated"),i.settings.Format.addFormulaInput({container:e,widget:i,dashboard:i.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:"formula",appendToBody:!0,forbiddenFormulas:["rowvalue"],callback:function(t){l()}}))},p=function(t){return-1<Enums._NumericDataTypes.indexOf(t.type)||t.column_id&&parseInt(t.column_id)<0||"calculated"==t.type?["none","count","dcount","sum","avg","min","max","calculated"]:["none","count","dcount","min","max","calculated"]},r=function(t){return"none"===t?_("TA2_TableFooterHideAggregation"):_("Aggregation_".concat(t))},h=function(t){return $("<option>").attr("value",t).text(r(t))},n=function(t,e){return Utils.arrayFirst(t.concat(o),function(t){return t.id===e})},b=function(){var o;return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Columns).map((o=e,function(t){var e=n(o,t.column_id);return{column_id:"".concat(e.id),name:t.name||(e?e.name:"-"),type:e?e.type:"",aggregation:g,binding_guid:t.guid}})):"custom"===this.p.data.mode?this.p.data.custom[0].map(a):void 0}.bind(this),m=new SortableList({container:$(".ta2_tablefooter_container .sortable_list_container"),object:this.p,property:"footers",onDeleteCallback:l,onSortCallback:l,columns:[{name:_("TA2TableFooters"),cellFormat:function(e,t){t.addClass("footerCell");var n,o=$('<table class="valuesTable">').hide(),a=(o.append(b().map((n=e,function(t){var e=$('<td class="valueName">').text(t.name),o=p(t).map(h),o=$("<select>").append(o),a=$("<td>").append(o),r="bindings"===i.p.data.mode?(c(n.columns),d(n.columns,"".concat(t.binding_guid))):s(n.columns,"".concat(t.column_id));return r||console.error("No match for the column",t.column_id,"in",n.columns),o.comboBox({appendToBody:!0,onChange:function(){r&&(r.aggregation=this.getValue(),u(r,a,e),l())}}).comboBox("select",r?r.aggregation:"none"),u(r,a,e),$("<tr>").append(e,a)}))),$('<input type="text" />').val(e.name).on("change",function(){var t=$(this).val();e.name=t,l()})),a=$('<div class="inputContainer">').append(a),r=$('<button type="button" class="borderless"><i class="fas"></i></button>').on("click",function(){o.toggle(),r.toggleClass("expanded")}),a=$('<div class="inputButtonContainer">').append(a,r);t.append(a,o)}.bind(this)}]});$(".addTableFooter",t.ui.content).on("click",function(){m.addNewObject({footer_guid:Utils.newGuid(),name:_("Total"),properties:$.extend(!0,{},this.p.footer_all),columns:b()}),l()}.bind(this))},renderPropertiesTab:function(t){var e=this,o=t.ui.content;o.append(Mustache.render('<div>                     <span>{{ label }}</span>                     <ul class="multiple_labels">                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isBindings}}checked{{/isBindings}} name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ dataDescription }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isCustom}}checked{{/isCustom}} name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ customDescription }}</small></label></li>                     </ul>                 </div>',{label:_("BasedOn"),data:_("Data"),dataDescription:_("DataDesc"),custom:_("Custom"),customDescription:_("CustomDesc"),isBindings:"bindings"===this.p.data.mode,isCustom:"custom"===this.p.data.mode})),o.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,this.orderByFilters=[],e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.clearCustomStyleConfigurations(),e.update()})},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var r=this,n=this.getColumnProperties.bind(this),i=new Settings.Data.Bindings(t),t=(i.render([{name:_("Columns"),placeholder:_("ColumnsHerePlaceholder"),area:Enums.WidgetAreas.Columns,height_ratio:1}],{dateGrouping:!1,count:!1,allowMultipleDrops:!0}),Object.keys(d).map(function(t){return"".concat('<li data-visualization="{0}"><label class="fa-checkbox"><input type="radio" name="visualization_ddl_radio" /><i class="far"></i><span>'.format(t)+_("Visualization_".concat(t)),"</span></label></li>")}).join(""));i.ui.visualization_ddl=$('<ul id="data-visualization-ddl" class="dropdown-menu dropdown-arrow">'.concat(t,"</ul>")).appendTo("body"),i.ui.drop_areas.on("mousedown",".visualization-picker-ddl",function(){var t=$(this).closest(".area-column");return i.toggleVisualizationPopup(t),!1}),i.closeCustomPopups=function(){this.ui.visualization_ddl.hide()},i.ui.visualization_ddl.on("change","input",function(){r.default_column_width=[],i.visualizationPopupChanged()}),i.templates.area_string_column='                    <li class="area-column string {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" style="height: 50px">                        <div class="column">                            <span class="title" title="{{col_name}}">{{ name }}</span>                            <span class="visualization-picker-ddl">{{ visualizationLabel }}: <span class="value">{{ visualization }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        </div>                        <div class="buttons">                            <button type="button" class="visibility"><i class="far"></i></button>                            <button type="button" class="edit"><i class="far fa-edit"></i></button>                            <button type="button" class="remove"><i class="far fa-trash"></i></button>                        </div>                    </li>',i.getAreaColumnTemplateItemData=function(t,e){t=n(t.guid,null);e.visualizationLabel=_("Visualization"),e.visualization=_("Visualization_".concat(t.visualization))},i.toggleVisualizationPopup=function(t){var e=t.data("binding"),o=t.find(".visualization-picker-ddl .ddl-opener"),a=n(e.guid,null).visualization;i.getColumn(e.column_id);this.ui.visualization_ddl.find("input").prop("checked",!1).end().find('[data-visualization="{0}"] input'.format(a)).prop("checked",!0).end().css({top:o.offset().top+o.outerHeight(),left:o.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},i.visualizationPopupChanged=function(){var t=this.ui.visualization_ddl.find(":checked").closest("li").attr("data-visualization"),e=this.ui.visualization_ddl.data("area_column"),o=e.data("binding"),a=Utils.arrayFirst(r.p.columns,function(t){return t.binding_guid===o.guid}),e=(e.find(".visualization-picker-ddl .value").text(_("Visualization_".concat(t))),this.ui.visualization_ddl.hide(),a.properties=$.extend(!0,{},d[t]),r.getBindings()),t=Utils.arrayFirst(e,function(t){return t.guid===o.guid}).column_type;t&&("System.String"===t||Utils.isDateType(t))&&(a.properties.align="left"),r.render(),this._isDirty=!0},i.on("bindingAdded",function(e){this.resetVirtualScrolling(),this.p.footers.forEach(function(t){t.columns.push({column_id:"".concat(e.column_id),binding_guid:"".concat(e.guid),aggregation:g})}),this.createDefaultColumnProperties(e.guid,e.column_type,!0)}.bind(this)),i.on("bindingCleared",function(){this.resetVirtualScrolling(),this.clearCustomStyleConfigurations()}.bind(this)),i.on("bindingRemoved",function(o){this.resetVirtualScrolling();var e;this.p.footers.forEach(function(t){var e;t.columns=t.columns.filter((e=o.guid,function(t){return t.binding_guid!=="".concat(e)}))}),this.p.header.columns=this.p.header.columns.filter(function(t){return t.binding_guid!==o.guid}),this.p.footers=this.p.footers.filter(function(t){return 0<t.columns.length});this.p.columns=this.p.columns.filter((e=o.guid,function(t){return t.binding_guid!==e})),this.resetSortAndFilters(o),this.setSortFilterTabState()}.bind(this)),i.on("bindingMoved",function(){this.default_column_width=[],this.resetVirtualScrolling()}.bind(this)),i.ui.data_columns_list.off("click","li.datacolumn:not(.disabled):not(.calculated)").on("click","li.datacolumn:not(.disabled):not(.calculated)",function(){var t=parseInt($(this).attr("data-column-id")),e=i.ui.drop_areas.find('[data-area="{0}"]'.format(Enums.WidgetAreas.Columns));i._checkAreaBindings(e,t,function(){i.createBinding(Enums.WidgetAreas.Columns,t)})}),this.data_destroy_callback=function(){i.destroy()}},clearCustomStyleConfigurations:function(){this.p.columns=[],this.p.footers=[],this.p.header.columns=[],this.resetSortAndFilters()},renderDataCustomTable:function(t){var e=this,o=this.update.bind(this),a=(t.ui.append($('<header class="nomargin">').text(_("TA1DataCustomHeader"))),new Settings.Data.CustomTable(t));a.getDefaultColumnName=function(){return _("Column")},a.render({object:this.p.data,property:"custom",callback:function(){e.resetSortAndFilters(),o()}}),a.on("columnadded",function(e){this.p.footers.forEach(function(t){t.columns.push({column_id:e,aggregation:g})})}.bind(this)),a.on("columnremoved",function(o){this.p.footers.forEach(function(t){var e;t.columns=t.columns.filter((e=o,function(t){return t.column_id!==e}))})}.bind(this)),a.customColumnRenameProcess=function(t,e,o){var a=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===e});a?a.binding_guid=o:console.error("No column configuration found for the column",e)}.bind(this),a.on("columnrenamed",function(e,o){this.p.footers.forEach(function(t){t.columns.filter(function(t){return t.column_id===e}).forEach(function(t){t.column_id=o})})}.bind(this)),this.data_destroy_callback=function(){a.destroy()}},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",function(t){e.renderTopBottom(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},renderTopBottom:function(o){var a=this,r=this.p.data.mode,n=this.p.data_id,i=this.p.data_bindings,l=this._from.dashboard.id,s=this.getColumnFromId.bind(this),t=(o.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.TopBottom(o));t.updateDataCallback=function(){a._isDirty=!0,a.update()},t.getTopBottomColumns=function(e){switch(r){case"bindings":o.settings.getDataClone(n,l).then(function(o){var t=i.map(function(t){var e=s(o.columns,t.column_id);if(e)return{label:t.name||e.name,aggregation:t.aggregation,aggregationLabel:t.aggregation?_("Aggregation_".concat(t.aggregation)):null,value:t.guid}});(t=t.filter(function(t){return null!=t})).sort(function(t,e){return t.label.localeCompare(e.label)}),e(t)});break;case"custom":var t=a.p.data.custom[0].map(function(t,e){return{label:t,value:e}});t.sort(function(t,e){return t.label.localeCompare(e.label)}),e(t)}},t.render()},renderSort:function(e){var i=this,o=this.p.data.mode,a=this.p.data_id,r=(this.p.data_bindings,this._from.dashboard.id),l=this.getColumnFromId.bind(this),t=new Settings.SortFilter.Sort(e);t.renderUserSortingProperties=t._renderUserSortingProperties,t.getSortColumns=function(n){switch(o){case"bindings":e.settings.getDataClone(a,r).then(function(t){for(var e=[],o=0;o<i.p.data_bindings.length;o++){var a=i.p.data_bindings[o],r=l(t.columns,a.column_id);r&&e.push({icon:DashboardUtils.getIconForColumnType(r.type),label:a.name||r.name,value:a.guid,aggregation:a.aggregation,aggregationLabel:a.aggregation?_("Aggregation_".concat(a.aggregation)):null,area:a.area})}n(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:Enums.WidgetAreas.Columns}});n(t)}},t.updateDataCallback=function(){e._isDirty=!0,i.update()},t.render()},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderFilter:function(e){var l=this,o=this.p.data.mode,a=this.p.data_id,r=(this.p.data_bindings,this._from.dashboard.id),n=(this.getColumnFromId.bind(this),e.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.Filter(e));n.getFilterColumns=function(i){switch(o){case"bindings":e.settings.getDataClone(a,r).then(function(t){for(var e=[],o=0;o<l.p.data_bindings.length;o++){var a=l.p.data_bindings[o],r=l.getColumnFromId(t.columns,a.column_id);r&&e.push({is_used:!0,is_context:r.is_context||!1,icon:DashboardUtils.getIconForColumnType(r.type),label:a.name||r.name,value:r.id,column_id:r.id})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));i(e)});break;case"custom":var t=l.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});i(t)}},n.onColumnChangedCallback=function(t,e,o){t.column_id=e.data().column_id,n.updateOperatorDropdown(t,o),n.updateDataCallback()},n.updateDataCallback=function(){l.update()},n.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&this.p.data_bindings.length<1),$("#tab_footer").prop("disabled","bindings"===this.p.data.mode&&this.p.data_bindings.length<1)},renderInteractionsTab:function(t){t.ui.empty();var e=this.toggleRowInteractions.bind(this);t.settings.Format.addBoolean({container:t.ui,label:_("EnableRowHover"),object:this.p.interactions,property:"rowhover",callback:e}),t.settings.Format.addBoolean({container:t.ui,label:_("EnableRowSelection"),object:this.p.interactions,property:"rowselect",callback:e}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_OnDblRowClick"),object:this.p.interactions,parameters:!0,property:"onrowdblclick",onChange:e,items:[{type:null},{type:"dashboard"},{type:"url"},{type:"display_record"}]}),this.renderToolbarProperties(t)},initCustomScrollbar:function(){var o=this,a=this.handleVirtualScrolling(),t=this.tableViewport,e=this.table,r=this._Data.count,n=r*+this.p.body.row_height,i=DashboardUtils.getMaxSupportedCssHeight(),i=Math.min(i,n),l=i/100,s=Math.ceil(n/l),d=(n-i)/(s-1),c=(this.tableVirtual.height(i),{page:0,pageOffset:0,scrollTop:0}),u={container:e[0],viewport:t[0],viewportHeight:this.getViewportHeight(),rowHeight:this.p.body.row_height,virtualHeight:n,scrollableHeight:i,jumpinessCoefficient:d,pageHeight:l,nbPages:s,nbItems:r},p=(this.tableViewport.mCustomScrollbar({axis:"yx",scrollInertia:.05,advanced:{},callbacks:{whileScrolling:function(){var t,e=-this.mcs.top;o._virtualScrolling.scrollTop=e,"y"===this.mcs.direction&&(o.updateHeaderAndFooterPosition(),a&&(h(c,u,e),e=c.scrollTop+c.pageOffset,t=Math.max(0,Math.floor(e/u.rowHeight)),(e=Math.min(u.nbItems,Math.ceil((e+u.viewportHeight)/u.rowHeight))-1)<t||p(t,e,c,u)))}}}),function(t,e,o,a){var r=t*a.rowHeight-o.pageOffset;e==a.nbItems-1?(a.virtualHeight%a.rowHeight!=0&&(t-=1),0!=o.scrollTop?(a.container.style.top=null,a.container.style.bottom="-15px"):(a.container.style.bottom=null,a.container.style.top="".concat(0,"px"))):(a.container.style.bottom=null,a.container.style.top="".concat(r,"px")),this._virtualScrolling.start=t,this.allDataAreClientSide?(o=this._Data.data.slice(t,e+1),a=this.getRowsCells(o),this.tbody.html(a),this.updateHeadersWidthInNextFrame()):(this.updateOnlyData=!0,this.tryUpdateDebounce())}.bind(this))},tryUpdateDebounce:Utils.debounce(function(){this.tryUpdate()},200),updateScrollbarsInNextFrame:function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"updateScrollbarsInNextFrame"),function(){var t=this.getTotalFooterHeight(),e=this.table.outerHeight(),o=this.tableViewport.outerHeight()-Math.round(this.p.header.header_height)-t;0<t&&o<=e?$(".mCSB_container",this.tableViewport).css({"padding-bottom":"".concat(t,"px")}):$(".mCSB_container",this.tableViewport).css({"padding-bottom":0}),this.tableViewport.mCustomScrollbar("update")}.bind(this))},renderTableContainers:function(){this.tableViewport=$('<div class="scrollable">').appendTo(this.ui),this.tableVirtual=$('<div class="scrollable-virtual">').appendTo(this.tableViewport),this.tableHeader=$('<table class="table-header"><tr></tr></table>').appendTo(this.tableViewport),this.table=$('<table class="data">').appendTo(this.tableVirtual),this.tbody=$("<tbody>").appendTo(this.table),this.tableFooter=$('<table class="table-footer">').appendTo(this.tableViewport)},toggleRowInteractions:function(){this.table&&(this.table.toggleClass("can-hover-rows",this.p.interactions.rowhover),this.table.toggleClass("can-select-rows",this.p.interactions.rowselect))},renderOrUpdateTitlesIfAny:function(){var t=function(t,e){Utils.FontUtils.loadFont(e.font.family),t.text(e.text),t.css({fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color,textAlign:e.font.halign})}.bind(this);""!==this.p.titles.title.text?(t(0<this.ui.children(".title").length?this.ui.children(".title"):$('<div class="title">').appendTo(this.ui),this.p.titles.title),""!==this.p.titles.subtitle.text?t(0<this.ui.children(".subtitle").length?this.ui.children(".subtitle"):$('<div class="subtitle">').appendTo(this.ui),this.p.titles.subtitle):this.ui.children(".subtitle").remove()):(this.ui.children(".title").remove(),this.ui.children(".subtitle").remove()),this.updateTableContainerPosition()},updateTableContainerPosition:function(){this.p.titles.title.text?this.p.titles.subtitle.text?this.tableViewport.css({top:this.ui.children(".title").outerHeight()+this.ui.children(".subtitle").outerHeight()}):this.tableViewport.css({top:this.ui.children(".title").outerHeight()}):this.tableViewport.css({top:0}),this.updateHeaderAndFooterPosition()},appendHeaderContents:function(t,e){var s=this,o=function(t,e,o){var a,r,n,i,l=this.getBindings(Enums.WidgetAreas.Columns)[o];return l&&l.hidden?t:(a=l&&l.guid?l.guid:e.id,o="",(i=Utils.arrayFirst(this.orderByFilters,function(t){return t.columnGuid===a}))&&i.order&&(o="asc"===i.order?"ascending":"descending"),i=!1,l&&(r=this.getCustomTableHeaderTitle(l.guid),l.column_id<0&&(i=(n=Utils.arrayFirst(s.p.calculated_columns,function(t){return t.id==l.column_id}))&&n.is_context)),t+Mustache.render('<td class="column" column-guid="{{ columnGuid }}"><div class="{{orderClass}} {{#context}}sortDisabled{{/context}}"><div class="column_name">{{ columnName }}</div></div></td>',{columnName:r||e.name,columnGuid:a,orderClass:o,context:i}))}.bind(this);this.tableHeader.on("click",".column > div:not(.sortDisabled)",function(){if(!s.p.sort_filter.user_sorting||!s.p.sort_filter.user_sorting.enabled)return!1;var t,e=$(this),o=e.closest(".column").attr("column-guid"),a=Utils.arrayFirst(s.orderByFilters,function(t){return t.columnGuid==o});a&&a.order?"asc"==a.order?(t=null,e.removeClass("ascending descending")):(t="asc",e.removeClass("descending").addClass("ascending")):(t="desc",e.removeClass("ascending").addClass("descending")),t?a?a.order=t:s.orderByFilters.push({columnGuid:o,order:t}):Utils.arrayRemove(s.orderByFilters,a),s.default_column_width=[],s.tryUpdate()}),0<this.p.header.header_height&&(e=e.reduce(o,""),$("tr",t).append(e))},resetColumnName:function(e,t){var t=t||this._Data.columns,o=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e});if(o)return(t=Utils.arrayFirst(t,function(t){return t.id===o.column_id}))&&t.name||""},getCustomTableHeaderTitle:function(e){var t,o=null;return this.p.header.columns&&this.p.header.columns.length&&((t=Utils.arrayFirst(this.p.header.columns,function(t){return t.binding_guid===e}))&&"text"===t.title_type?o=t.title:t&&"formula"===t.title_type&&(o=t.title_formula_result)),o},getAllColumnsProperties:function(){var t=function(t){return this.getColumnProperties(t,null,!0)}.bind(this),e=!0;return void 0===this._isUsed||this._isUsed||(e=!1),(!this.error&&e&&this.p.data_id&&"bindings"===this.p.data.mode&&0<this.p.data_bindings.length?this.getBindings().map(function(t){return t.guid}):this.p.data.custom[0]).map(t)},appendFooterContents:function(t,o,p){var a=this,h=this.getAllColumnsProperties(),b=this.getBindings(Enums.WidgetAreas.Columns),e=this.p.footers.reduce(function(t,c,u){!function(t){if("custom"===a.p.data.mode)return;for(var e=0;e<t.length;e++){var o=t[e];o.binding_guid||(o.binding_guid=b[e].guid)}}(c.columns);var e=o.reduce(function(t,e,o){var a=h[o];if("bindings"===this.p.data.mode){if(b[o]&&b[o].hidden)return t;s=Utils.arrayFirstIndex(c.columns,function(t){return t.binding_guid===b[o].guid})}else s=Utils.arrayFirstIndex(c.columns,function(t){return t.column_id==="".concat(e.id)});var r=c.columns[s],n=r.aggregation,i=null,l=null,s=("none"!==n&&(i=p&&p.length?p[u][s]:0,$.isArray(i)&&i[0]==Enums.FormulaStatus.Error&&(l=Utils.getWidgetErrorMessage({ErrorCode:i[1],ErrorParams:i[2]}),i=Utils.formatValue(_("WidgetErrorInFormula"),a.format))),Utils.arrayFirst(b,function(t){return t.column_id==r.column_id})),d=Utils.arrayFirst(this._Data.columns,function(t){return t.id==r.column_id}),d=d?d.type:"System.String",n={value:i="dcount"===n||"count"===n?i:Utils.formatValue(i,DashboardUtils.applyFormat(a.format,d)),error:l,cssClass:l?"error":null,columnGuid:s&&s.guid?s.guid:r.column_id};return t+Mustache.render('<td class="value {{cssClass}}" data-error="{{error}}" column-guid="{{ columnGuid }}"><div>{{ value }}</div></td>',n)}.bind(this),"");return t+Mustache.render('<tr class="table-footer-line clearfix" footer-guid="{{ footerGuid }}">{{{ cells }}}/tr>',{footerGuid:c.footer_guid,cells:e})}.bind(this),"");t.append(e)},getRowsCells:function(v){0<v.length&&v[0].hasOwnProperty("values")&&(v=v.map(function(t){return t.values}));var w,C=this,t=this._Data.columns,e=this.getAllColumnsProperties(),a=this.getBindings(),k=e.filter(function(t,e){return!a[e]||a[e]&&!a[e].hidden}),x=t.filter(function(t,e){return!a[e]||a[e]&&!a[e].hidden});return C.column_visualization_formula_results&&(w=C.column_visualization_formula_results.filter(function(t,e){return!a[e]||a[e]&&!a[e].hidden})),v.reduce(function(t,e,y){var e=(e=e.filter(function(t,e){return!a[e]||a[e]&&!a[e].hidden})).reduce(function(t,e,o){var a=k[o],r=x[o],n="";if(a.hide_repeated_data){var i=v[y-1];if(i&&i[o]===e){for(var l=!0,s=0;s<=o;s++)if(i[s]!==v[y][s]){l=!1;break}l&&(n=" notvisible")}}var d={columnClass:"column-{0}".format(o)+n,visualizationType:a.visualization};if($.isArray(e)&&e[0]===Enums.FormulaStatus.Error)d.visualizationType="value",d.columnClass="".concat("column-{0}".format(o)," error"),d.value=Utils.formatValue(_("WidgetErrorInFormula"),a.format),d.error=Utils.getWidgetErrorMessage({ErrorCode:e[1],ErrorParams:e[2]});else{var c,n=Utils.arrayFirst(C.columnsMaxes,function(t){return r.id===t.id}),u=Utils.arrayFirst(C.columnsMins,function(t){return r.id===t.id}),p=n?n.maxValue:1,h=u?u.minValue:0,b=null;switch(a.visualization){case"value":b=WidgetsCommon.getFormattedAxisLabel(e,DashboardUtils.applyFormat(a.format,r.type,r.original_type),[],Utils.isDateType(r.type),r.type),d.value=b;break;case"bar":d.align_left="left"===a.bar.bar_align?a.bar.bar_align:"",d.align_right="right"===a.bar.bar_align?a.bar.bar_align:"",d.width_percentage=p===e&&h===e?100:(e-h)/(p-h)*100,d.height_percentage=100*+a.bar.bar_height;break;case"indicator":var m,g=null;"formula"===a.type&&w?(m=w[o][C._virtualScrolling.start+y])&&(g={symbol:m[1],color:m[2]}):g=T(a.type,a.intervals,e,h,p),g=g||S,d.iconClass=DashboardUtils.WidgetIcons.getSymbolFromCode(g.symbol,"fa-arrow-circle-down"),d.iconColor=g.color;break;case"conditional":d.value=Utils.formatValue(e,DashboardUtils.applyFormat(a.format,r.type,r.original_type)),"formula"===a.type&&w?(c=C.updateOnlyData?w[o][y]:w[o][C._virtualScrolling.start+y])&&(d.backgroundColor=c[1],d.fontColor=c[2]):(c=T(a.type,a.intervals,e,h,p))&&(d.backgroundColor=c.background_color,d.fontColor=c.font_color);break;case"spark":"string"==typeof e?d.value=e.replaceAll(" ",",").replace(/,$/,""):($.isArray(e)||(e=[e]),d.value=e.join(",").replaceAll(" ",",").replaceAll(",,",",").replace(/,$/,"")),d.uid="spark".concat(Utils.newGuid()),setTimeout(function(){var t=function(){switch(a.type){case"line":return{type:"line",fillColor:a.properties.fill_color,lineWidth:a.properties.line.width,lineColor:a.properties.line.color,spotColor:a.properties.marker.color,spotRadius:a.properties.marker.width,minSpotColor:a.properties.marker.min_color,maxSpotColor:a.properties.marker.max_color};case"bar":return{type:"bar",barColor:a.properties.bar.color,negBarColor:a.properties.bar.negative_color,barWidth:a.properties.bar.width,zeroColor:a.properties.zero_axis.color,zeroAxis:a.properties.zero_axis.enabled};case"bullet":return{type:"bullet",targetColor:a.properties.target_color,performanceColor:a.properties.performance_color,rangeColors:[a.properties.range_color1,a.properties.range_color2,a.properties.range_color3]};default:throw new Error("Unknown sparkchart type:",a.type)}}(),e=$("#".concat(d.uid)),o=parseInt(e.closest("td").height());$.extend(!0,t,{height:o,tooltipContainer:e}),e.sparkline("html",t)}.bind(this),0);break;case"hyperlink":function f(t){return t?t.match(/(:\/\/|tel:|mailto:)/)?t:"http://".concat(t):null}switch(a.display){case"original":b=Utils.formatValue(e,DashboardUtils.applyFormat(a.format,r.type,r.original_type)),d.value=b,d.url=f(b);break;case"label":d.value=a.text,d.url=f(e);break;case"icon":b=Utils.formatValue(e,DashboardUtils.applyFormat(a.format,r.type,r.original_type)),d.url=f(b),b&&(d.iconClass=DashboardUtils.WidgetIcons.getSymbolFromCode(a.icon,"fa-arrow-circle-down"),d.iconColor=a.icon_color)}}}return t+Mustache.render('<td class="column {{columnClass}} viz-{{visualizationType}}" style="{{style}}" data-error="{{error}}"><div style="{{# backgroundColor }}background-color: {{ backgroundColor }};{{/ backgroundColor }}">{{> content }}</div></td>',d,{content:F[a.visualization]})},""),o=y+C._virtualScrolling.start;return t+Mustache.render("<tr data-rowIndex={{ rowIndex }} {{{selected}}}>{{{ cells }}}</tr>",{cells:e,rowIndex:o,selected:o===C.selectedrowindex?'class="selected"':""})},"")},appendRowsToTable:function(t,e){this.allDataAreClientSide&&(e=e.slice(0,this.getVirtualScrollingRange()));e=this.getRowsCells(e);t.append(e),this.updateHeadersWidthInNextFrame(),this.updateTableSize()},updateHeaderAndFooterPosition:function(){var t=this._virtualScrolling.scrollTop,e=this.tableViewport.height(),o=this.getTotalFooterHeight();this.tableHeader.css({transform:"translateY({0}px)".format(t)}),this.tableFooter.css({transform:"translateY({0}px)".format(t+e-o)})},updateHeadersWidthInNextFrame:function(){var t=this.table.find("tr:first-child"),o=this.getBindings(),d=(d=this.getAllColumnsProperties()).filter(function(t,e){return!o[e]||o[e]&&!o[e].hidden}),c=0===t.length?d.map(function(t){return t.custom_width_set?t.custom_width:100}):t.children("td").map(function(){return $(this).outerWidth()}).get();c.forEach(function(t,e){var o,a,r=0===d.filter(function(t){return!0===t.custom_width_set}).length,n=0===d.filter(function(t){return!1===t.custom_width_set}).length,i=c.length-1===e,i=d[e].custom_width_set?(!d[e].custom_width&&this.p.column_all.custom_width_set&&(d[e].custom_width=this.p.column_all.custom_width),d[e].custom_width?i&&n?"100%":d[e].custom_width:i&&n?"100%":t):(o=$("td:nth-child({0})".format(e+1),this.tableHeader).attr("column-guid"),a=Utils.arrayFirst(this.default_column_width,function(t){return t.column_guid===o}),this.default_column_width&&!a&&(a={width:i||r||!n?t:null,column_guid:o},this.default_column_width.push({width:i||r||!n?t:null,column_guid:o})),a.width);if(c.length-1===e){for(var l=0,s=0;s<=c.length-1;s++)l+=this.table.find("td:nth-child({0})".format(s+1)).outerWidth();this.table.outerWidth()-l>i&&(i=this.table.outerWidth()-l)}this.table.find(".column-{0}".format(e)).css({"max-width":i,"min-width":i,width:i}),this.tableHeader.find("td:nth-child({0})".format(e+1)).css({"max-width":i,"min-width":i,width:i}),this.tableFooter.find(".table-footer-line > :nth-child({0})".format(e+1)).css({"max-width":i,"min-width":i,width:i})}.bind(this))},getViewportHeight:function(){var t=this.p.header.header_height,e=this.getTotalFooterHeight();return this.tableViewport.height()-t-e},getTotalFooterHeight:function(){return this.p.footers.map(function(t){return t.properties.footer_height}).reduce(function(t,e){return t+e},0)},updateTableBodyPositionInNextFrame:function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"updateTableBodyPositionInNextFrame"),function(){var t=this.getTotalFooterHeight();this.table.css({height:(this.p.body.row_height_automatic,"auto")}),this.tableVirtual.css({"margin-top":this.p.header.header_height,"margin-bottom":t}),this.tableViewport.find(".mCSB_scrollTools_vertical").css({top:this.p.header.header_height,bottom:t}),this.tableViewport.find(".mCSB_scrollTools_horizontal").css({bottom:t})}.bind(this))},updateTableSize:function(){var t=null,e=(this.ui.find(".mCSB_container").length&&((t=this.ui.find(".mCSB_container")[0]).style.width="auto"),this.table.find("tr")),o=(t&&(t.style.height="100%"),"".concat(this.p.body.row_height,"px"));e.each(function(){this.style.height=o}),Utils.requestAnimationFrameOnce("".concat(this.guid,"updateTableSize"),function(){var t=this.table.outerWidth(),e=this.tableViewport.outerWidth(),o=null,a=(this.ui.find(".mCSB_container").length&&(o=this.ui.find(".mCSB_container")[0]),this.tableVirtual[0]),r=this.table.outerHeight(),n=this.tableViewport.outerHeight()-Math.round(this.p.header.header_height)-Math.round(this.getTotalFooterHeight());o&&(t<e&&(o.style.width="100%"),a.style.width="".concat(t,"px"),r<n?o.style.height="100%":n<=r&&(o.style.height="auto")),this.updateScrollbarsInNextFrame()}.bind(this))},updateAllStyles:function(){this.updateHeaderStyle(),this.updateFooterStyle(),this.updateTableContainerStyle(),this.updateBodyStyle()},updateTableHeaderTitle:function(t){var e=$('[column-guid="{0}"] > div > div'.format(t),this.tableHeader),o=this.getCustomTableHeaderTitle(t);o?e.text(o):e.text(this.resetColumnName(t))},updateHeaderStyle:function(){var t=this.p.header,e=(Utils.FontUtils.loadFont(t.column_all.font.family),!(!this.p.sort_filter.user_sorting||!this.p.sort_filter.user_sorting.enabled)),o=(this.tableHeader.toggleClass("userSorting",e),e||($(".descending",this.tableHeader).removeClass("descending"),$(".ascending",this.tableHeader).removeClass("ascending")),function(t){var e=$('[column-guid="{0}"] > div > div'.format(t.binding_guid),this.tableHeader);Utils.FontUtils.loadFont(t.font.family),e.css({"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal",color:t.font.color,"text-align":t.font.halign,"text-decoration":t.font.underline?"underline":"none"})}.bind(this)),e=($(this.tableHeader).css({"font-family":t.column_all.font.family,"font-size":t.column_all.font.size,"text-shadow":t.column_all.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(t.column_all.font.family,t.column_all.font.font_weight),"font-style":t.column_all.font.italic?"italic":"normal",color:t.column_all.font.color,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):("transparent"!=t.background.color?t:this.p.body).background.color,"border-bottom-width":t.border_bottom.width,"border-bottom-color":t.border_bottom.color,height:t.header_height,"border-top-left-radius":"".concat(this.p.table.roundness,"px"),"border-top-right-radius":"".concat(this.p.table.roundness,"px")}),"".concat(t.header_height-t.border_bottom.width,"px"));this.tableHeader.find("td").css({height:e,"line-height":e,"text-align":t.column_all.font.halign,"text-decoration":t.column_all.font.underline?"underline":"none"}),this.tableHeader.find("td > div").css({height:e}),t.columns.forEach(function(t){o(t)}),this.updateTableBodyPositionInNextFrame()},updateFooterStyle:function(){var n=this;this.p.footers.forEach(function(t){var e=t.footer_guid,o=this.tableFooter.find('[footer-guid="{0}"]'.format(e)),e=t.properties,a="".concat(e.footer_height-e.border_top.width,"px"),r=function(t){var e=$('[column-guid="{0}"]'.format(t.binding_guid),o);Utils.FontUtils.loadFont(t.font.family),e.css({"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal",color:t.font.color,height:a,"line-height":a,"text-align":t.font.halign,"text-decoration":t.font.underline?"underline":"none"})}.bind(this);o.css({"font-family":e.column_all.font.family,"font-size":e.column_all.font.size,"text-shadow":e.column_all.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(e.column_all.font.family,e.column_all.font.font_weight),"font-style":e.column_all.font.italic?"italic":"normal",color:e.column_all.font.color,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):("transparent"!=e.background.color?e:n.p.body).background.color,"border-top-width":"".concat(e.border_top.width,"px"),"border-top-color":e.border_top.color,height:e.footer_height}),this.setDefaultColumnStyle(t,o),o.find("td").css({height:a,"line-height":a,"text-align":e.column_all.font.halign,"text-decoration":e.column_all.font.underline?"underline":"none"}),o.find("td > div").css({height:a}),e.columns.forEach(function(t){r(t)})}.bind(this)),this.updateTableBodyPositionInNextFrame()},setDefaultColumnStyle:function(t,o){var a=["count","dcount","sum","avg"];t.columns.forEach(function(e){!Utils.arrayFirst(t.properties.columns,function(t){return t.binding_guid==e.binding_guid})&&-1<$.inArray(e.aggregation,a)&&$('[column-guid="{0}"]'.format(e.binding_guid),o).css({"text-align":"right"})})},updateTableContainerStyle:function(){var t=this.p.table;Utils.FontUtils.loadFont(t.font.family,this.updateHeadersWidthInNextFrame.bind(this)),this.tableViewport.css({"border-width":t.border.width,"border-color":t.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(t.shadow),"border-radius":"".concat(t.roundness?t.border.width+t.roundness:0,"px"),background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color}),this.table.css({color:t.font.color}),this.updateHeadersWidthInNextFrame()},updateBodyStyle:function(){var t=this.p.body,e=(Utils.FontUtils.loadFont(t.font.family,this.updateHeadersWidthInNextFrame.bind(this)),[]);e["table.data tr td > div"]="height: {0}px; line-height: {0}px".format(t.row_height),e["table.data tr td i"]="font-size: {0}px;".format(t.row_height),t.row_background&&(e["table.data tr"]="background: {0}".format(t.row_background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.row_background.color,DashboardUtils.shadeBlend(null,t.row_background.color)):t.row_background.color)),t.alternate_row_color&&"transparent"!=t.alternate_row_color&&(e["table.data tr:nth-child(even)"]="background: {0}".format(t.alternate_row_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.alternate_row_color,DashboardUtils.shadeBlend(null,t.alternate_row_color)):t.alternate_row_color)),this._updateBodyStyle_injectGridLines(e),this._updateBodyStyle_injectColumnStyles(e),this._updateHeaderStyle_injectHeaderStyle(e),Utils.AppendCSSToPage("#widget_".concat(this.guid),e),setTimeout(function(){this.updateHeadersWidthInNextFrame()}.bind(this),0)},_updateBodyStyle_injectGridLines:function(t){var e=this.p.table;"none"!==e.lines.type&&(t["table.data td"]="border-color: {0};".format(e.lines.color),"both"!==e.lines.type&&"vertical"!==e.lines.type||(t["table.data td"]+="border-left-width: 1px;",t[".table-header td"]="border-color: {0};".format(e.lines.color),t[".table-footer td"]="border-color: {0};".format(e.lines.color),t[".table-header td:not(:first-child)"]="border-left-width: 1px;",t[".table-footer td:not(:first-child)"]="border-left-width: 1px;"),"both"!==e.lines.type&&"horizontal"!==e.lines.type||(t["table.data td:not(.notvisible)"]+="border-bottom-width: 1px; border-top-width: 1px;"))},_updateBodyStyle_injectColumnStyles:function(i){var l=this.p.column_all,s=this.p.body,d=this,t=function(t){return this.getColumnProperties(t,null,!0)}.bind(this),c=function(){var o;return(this.p.data_id&&"bindings"===this.p.data.mode?(o=this.getBindings(Enums.WidgetAreas.Columns)).filter(function(t,e){return!o[e]||o[e]&&!o[e].hidden}).map(function(t){return t.guid}):this.p.data.custom[0]).map(t)}.call(this),u="".concat(["font-family: {0}".format(s.font.family),"text-shadow: {0}".format(s.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),"text-decoration: {0}".format(s.font.underline?"underline":"none"),"font-weight: {0}".format(Utils.FontUtils.getFontWeight(s.font.family,s.font.font_weight)),"font-style: {0}".format(s.font.italic?"italic":"normal"),"font-size: {0}px".format(s.font.size),"color: {0}".format(s.font.color),"background: {0}".format(s.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(s.background.color,DashboardUtils.shadeBlend(null,s.background.color)):s.background.color)].reduce(function(t,e){return"".concat(t,";").concat(e)}),";");c.forEach(function(t,e){var t=t||l,o={},a=function(t,e){var o=["overflow: hidden"],a=(t.custom_width_set&&(o=(o=(o=o.concat("width: {0}px".format(t.custom_width))).concat("max-width: {0}px".format(t.custom_width))).concat("min-width: {0}px".format(t.custom_width))),t.background_color&&o.push("background: {0}".format(t.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background_color,DashboardUtils.shadeBlend(null,t.background_color)):t.background_color)),"display: -webkit-box;\n        display: -moz-box;\n        display: -ms-flexbox;\n        display: -webkit-flex;\n        display: flex;"),r="-ms-flex-align: center;\n        -webkit-box-align: center;\n        -webkit-align-items: center;\n        align-items: center;",n="vertical-align: middle;\n        text-align: ".concat(t.align,";\n        padding: 0px 5px;\n        white-space: pre-wrap;\n        white-space: -moz-pre-wrap;\n        white-space: -pre-wrap; \n        white-space: -o-pre-wrap;\n        line-height: 100%;");switch(t.visualization){case"value":o.push("text-align: {0}".format(t.align)),t.wrap&&(e[" > span"]=n,o.push(a),o.push(r));break;case"bar":var i=t.bar.gradient?"linear-gradient(to left, {0} 0, {1} 100%)".format(t.bar.color,DashboardUtils.shadeBlend(null,t.bar.color)):t.bar.color;e["> .bar"]="background: {0};".format(i),t.bar.border&&t.bar.border.color&&"transparent"!==t.bar.border.color&&(e["> .bar"]+="border: {0}px solid {1};".format(t.bar.border.width,t.bar.border.color)),"center"!=t.bar.bar_align&&(e["> .bar"]+="border-{0}: none;".format(t.bar.bar_align));break;case"conditional":var l=t.align||"right";t.wrap&&(e[" > div"]=n,o.push(a),o.push(r)),o.push("text-align: {0}".format(l));break;case"indicator":case"spark":break;case"hyperlink":switch(t.display){case"original":case"label":e[" > a"]="color: ".concat(s.font.color,"; font-weight:").concat(Utils.FontUtils.getFontWeight(s.font.family,s.font.font_weight),"; font-size: ").concat(s.font.size,"px")+"; font-style: ".concat(s.font.italic?"italic":"normal","; text-decoration: ").concat(s.font.underline?"underline":"initial","; text-shadow: ").concat(s.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";"),e[" > a:hover"]="color: ".concat(t.onhover.color,"; font-weight:").concat(Utils.FontUtils.getFontWeight(s.font.family,t.onhover.font_weight),"; font-size: ").concat(t.onhover.size,"px")+"; font-style: ".concat(t.onhover.italic?"italic":"normal","; text-decoration: ").concat(t.onhover.underline?"underline":"initial","; text-shadow: ").concat(t.onhover.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",";");break;case"icon":e[" > a"]="color: ".concat(s.font.color)}l=t.align||"right";o.push("text-align: {0}".format(l))}return o}(t,o);if(t.custom_width_set&&c.length-1==e){for(var r=0,n=0;n<=c.length-2;n++)r+=d.table.find(".column-{0}".format(n)).outerWidth();d.tableViewport.outerWidth()-r>t.custom_width&&(a[1]="width: 100%",a[2]="max-width: 100%",a[3]="min-width: 100%")}i["table .column-{0}".format(e)]=a.filter(function(t){return 0<=t.indexOf("width")}).join(";"),i["table .column-{0} > div".format(e)]="".concat(u+a.join(";"),";"),Object.keys(o).forEach(function(t){i["table .column-{0} > div {1}".format(e,t)]=o[t]});t=DashboardUtils.luminosity(s.background.color),a="{0}".format(s.background.gradient?"background: linear-gradient(to bottom, {0} 0, {1} 100%)".format(s.background.color,DashboardUtils.shadeBlend(null,s.background.color)):"background-color: {0};".format(DashboardUtils.shadeBlend(.5<t?-.07:.1,s.background.color))),t=DashboardUtils.shadeBlend(.5<t?-.07:.1,s.background.color);i["table.data.can-hover-rows tr:hover td".format(e)]=a,i["table.data.can-select-rows tr.selected td".format(e)]="background-color: {0};".format(t)})},_updateHeaderStyle_injectHeaderStyle:function(t){this.p.header.wrap?t[".table-header .column_name"]="white-space: pre-wrap; word-break: break-word; line-height: 1.4; display: inline-block;":t[".table-header .column_name"]=""},getColumnProperties:function(e,t,o){if("all"===e)return this.p.column_all;var a=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===e});if(!a){if(!1===o)return null;o={binding_guid:e,properties:$.extend(!0,{},d.value,{custom_width_set:this.p.column_all.custom_width_set,custom_width:this.p.column_all.custom_width_set?this.p.column_all.custom_width:null})};t&&("System.String"===t||Utils.isDateType(t))&&(o.properties.align="left"),this.p.columns.push(o),a=o}return a.properties},createDefaultColumnProperties:function(t,e){this.getColumnProperties(t,e,!0)},getTableFooterProperties:function(e){var t;return"all"===e?this.p.footer_all:(t=Utils.arrayFirst(this.p.footers,function(t){return t.footer_guid===e}))?t.properties:null},propagatePropertyToTableChildren:function(t,e){Utils.setNestedProperty(this.p.header,t,e),Utils.setNestedProperty(this.p.footer_all,t,e),this.propagatePropertyToBodyChildren(t,e)},propagatePropertyToBodyChildren:function(t,e){Utils.setNestedProperty(this.p.body,t,e)},propagatePropertyToAllColumns:function(e,o){this.p.columns.forEach(function(t){Utils.setNestedProperty(t,e,o)})},propagatePropertyToAllFooters:function(e,o){this.p.footers.forEach(function(t){Utils.setNestedProperty(t,e,o)})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"drilldown-table-table.png",text:_("Table"),code:"background",renderer:this.getTableProperties.bind(this)}),t.push({icon:"drilldown-table-header.png",text:_("Header"),code:"header",renderer:this.getHeaderProperties.bind(this)}),t.push({icon:"drilldown-table-body.png",text:_("Body"),code:"table",renderer:this.getBodyProperties.bind(this)}),t.push({icon:"drilldown-table-footer.png",text:_("Footer"),code:"footer",renderer:this.getFooterProperties.bind(this)}),t.push({icon:"drilldown-table-values.png",text:_("Columns"),code:"columns",renderer:this.getColumnsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.renderOrUpdateTitlesIfAny.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",dropDown:!0,callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getTableProperties:function(t){var e=this.updateTableContainerStyle.bind(this),o=this.updateAllStyles.bind(this),a=(function(){this.updateTableContainerStyle(),this.updateHeaderStyle(),this.updateFooterStyle()}.bind(this),function(t){var e=this.p.table.background[t];this.propagatePropertyToTableChildren("background.".concat(t),e),this.propagatePropertyToTableChildren("row_background.".concat(t),e),this.updateAllStyles()}.bind(this)),r=function(t){var e=this.p.table.font[t];this.propagatePropertyToTableChildren("font.".concat(t),e),this.updateAllStyles()}.bind(this),n=this.p.table,r=(t.addFont({object:n,property:"font",dropDown:!0,callback:r}),t.addSeparator(),t.addBackgroundColor({object:n.background,property_color:"color",property_gradient:"gradient",callback:a}),t.addSeparator(),t.addBorder({object:n,property:"border",callback:o}),t.addSeparator(),t.addShadow({object:n,property:"shadow",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:n,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addSection());t.addToggleButtons({section:r,label:_("VerticalAndHorizontalLines"),object:n.lines,property:"type",callback:o,buttons:[{icon:"fa-times",value:"none",class:"none"},{image:"grid-vertical-horizontal.png",value:"both"},{image:"grid-vertical.png",value:"vertical"},{image:"grid-horizontal.png",value:"horizontal"}]}),t.addColor({container:r,label:_("LineColor"),object:n.lines,property:"color",dropDown:!1,callback:o}),t.addSeparator()},getHeaderProperties:function(e){var o=this,a=this.updateHeaderStyle.bind(this),t={label:_("All"),value:"all"},r=this.prepareColumnsDropdown(),n=(e.addNumber({min:0,label:_("HeaderHeightInPx"),object:this.p.header,property:"header_height",callback:a}),e.addBoolean({label:_("WrapText"),object:this.p.header,property:"wrap",callback:this.updateBodyStyle.bind(this)}),e.addSeparator(),e.addBackgroundColor({object:this.p.header.background,property_color:"color",property_gradient:"gradient",callback:a}),e.addBorder({label:_("BorderBottom"),object:this.p.header,property:"border_bottom",callback:a}),e.addSeparator(),e.addDropdown({label:_("Columns"),object:{},property:"column",callback:function(t){o.onColumnDropdownChange(e,o.p.header,n,t,!0,!1,a)},combobox:{appendToBody:!0,containerClasses:"ddl-placeholder",dataprovider:r}}),e.addSection().addClass("nomargin").appendTo(e.ui.content));this.onColumnDropdownChange(e,this.p.header,n,t,!0,!1,a),e.addSeparator()},getBodyProperties:function(t){var e=function(){this.resetVirtualScrolling(),this.tryUpdate()}.bind(this),o=function(t){var e=this.p.body.font[t];this.propagatePropertyToBodyChildren("font.".concat(t),e),this.updateBodyStyle()}.bind(this);t.addFont({object:this.p.body,property:"font",dropDown:!0,callback:o}),t.addSeparator(),this.p.body.row_background||(this.p.body.row_background=a.body.row_background),t.addBackgroundColor({object:this.p.body.row_background,property_color:"color",property_gradient:"gradient",label:_("RowColor"),callback:this.updateBodyStyle.bind(this)}),t.addSeparator(),t.addBackgroundColor({object:this.p.body,property_color:"alternate_row_color",property_gradient:"alternate_row_gradient",label:_("AlternateRowColor"),callback:this.updateBodyStyle.bind(this)}),t.addSeparator(),t.addBackgroundColor({object:this.p.body.background,property_color:"color",property_gradient:"gradient",dropDown:!1,label:_("HightlightRowColor"),callback:this.updateBodyStyle.bind(this)}),t.addSeparator(),t.addNumber({min:0,label:_("RowHeightInPx"),object:this.p.body,property:"row_height",callback:e}),t.addSeparator()},getFooterProperties:function(o){var a,r=this,n={label:_("All"),value:"all"},t=[n].concat(this.p.footers.map(function(t){return{label:t.name,value:t.footer_guid}})),i=!0,l=function(t){var e;i&&(e=this.p.footer_all.background[t],this.propagatePropertyToAllFooters("properties.background.".concat(t),e)),this.updateFooterStyle()}.bind(this),s=function(){var t;i&&(t=this.p.footer_all.footer_height,this.propagatePropertyToAllFooters("properties.footer_height",t)),this.updateFooterStyle(),this.updateHeaderAndFooterPosition()}.bind(this),d=function(t){var e;i&&(e=this.p.footer_all.border_top[t],this.propagatePropertyToAllFooters("properties.border_top.".concat(t),e)),this.updateFooterStyle(),this.updateHeaderAndFooterPosition()}.bind(this),c=(_("All"),this.prepareColumnsDropdown()),e=function(t){u.empty(),a&&a.empty(),i="all"===t.value;var e=this.getTableFooterProperties(t.value);o.addNumber({min:0,container:u,label:_("FooterHeightInPx"),object:e,property:"footer_height",callback:s}),o.addSeparator({container:u}),o.addBackgroundColor({container:u,object:e.background,property_color:"color",property_gradient:"gradient",callback:l}),o.addBorder({container:u,label:_("BorderTop"),object:e,property:"border_top",callback:d}),o.addSeparator({container:u}),o.addDropdown({label:_("Columns"),container:u,object:{},property:"column",callback:function(t){r.onColumnDropdownChange(o,e,a,t,!0,i,r.updateFooterStyle.bind(r))},combobox:{appendToBody:!0,containerClasses:"ddl-placeholder",dataprovider:c}}),a=o.addSection().addClass("nomargin").appendTo(o.ui.content),this.onColumnDropdownChange(o,e,a,n,!0,i,this.updateFooterStyle.bind(this)),o.addSeparator({container:a})}.bind(this),u=(o.addDropdown({label:_("TableFooter"),object:{},property:"footer",callback:e,combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),o.addSeparator(),o.addSection().addClass("nomargin").appendTo(o.ui.content));e(n)},onOneFontPropertyChanged:function(t,e,o,a,r,n){var i,l=o.column_all.font[t];if(e&&(d=Utils.arrayFirst(o.columns,function(t){return t.binding_guid==e}))&&(i=d.font[t]),r)for(var s=0;s<this.p.footers.length;s++){var d,c,o=this.p.footers[s].properties;if(a){o.column_all.font[t]=l;for(var u=0;u<o.columns.length;u++)o.columns[u].font[t]=l}else(d=Utils.arrayFirst(o.columns,function(t){return t.binding_guid==e}))?d.font[t]=i:(o.columns.push,(c={binding_guid:e,font:$.extend(!0,{},o.column_all.font)}).font[t]=i,o.columns.push(c))}else if(a)for(u=0;u<o.columns.length;u++)o.columns[u].font[t]=l;n&&n()},onColumnDropdownChange:function(t,e,o,a,r,n,i){var l,s,d,c=this;return o.empty(),"all"===a.value?(d=e.column_all,r=!0,l=null):(r=!1,l=a.value,d=Utils.arrayFirst(e.columns,function(t){return t.binding_guid===l})||(s={binding_guid:l,font:$.extend(!0,{},e.column_all.font),title_type:"text",title:""},e.columns.push(s),s)),t.addFont({container:o,object:d,property:"font",callback:function(t){c.onOneFontPropertyChanged(t,l,e,r,n,i)}}),"all"!==a.value&&this.renderCustomHeaderControls(t,o,d,i),l},renderCustomHeaderControls:function(t,e,o){var a=this;o.title_type||(o.title_type="text"),t.addCustomTitle({container:e,object:o,property:"title_type",formula_property:"title_formula",widget:this,dashboard:this._from&&this._from.dashboard,text_property:"title",text_callback:function(){a.updateTableHeaderTitle(o.binding_guid)},formula_callback:function(t){o.title_formula_result=t,a.updateTableHeaderTitle(o.binding_guid)}})},prepareColumnsDropdown:function(){function t(t){return{label:t.name||o(t).name,value:t.guid,type:o(t).type}}function e(t){return{label:t,value:t,type:"System.String"}}var o=function(e){return Utils.arrayFirst(this._Data.columns,function(t){return t.id===e.column_id})}.bind(this),a=[{label:_("All"),value:"all"}],r=function(){return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Columns).map(t):"custom"===this.p.data.mode?this.p.data.custom[0].map(e):void 0}.call(this);return a=a.concat(r)},getColumnsProperties:function(u){function a(l,t,c){function e(t){var i=p._from.dashboard;switch(t.empty(),l.visualization){case"value":u.addToggleButtons({container:t,label:_("HorizontalAlign"),object:l,property:"align",callback:h,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]}),u.addBackgroundColor({container:t,object:l,property_color:"background_color",property_gradient:"background_gradient",callback:h}),u.addSeparator({container:t}),u.addFormat({container:t,object:l,property:"format",callback:h});break;case"bar":u.addBackgroundColor({container:t,object:l,property_color:"background_color",property_gradient:"background_gradient",callback:h}),u.addSeparator({container:t}),u.addBackgroundColor({container:t,label:_("BarColor"),object:l.bar,property_color:"color",property_gradient:"gradient",callback:h}),u.addSeparator({container:t}),u.addBorder({container:t,object:l.bar,property:"border",callback:b}),u.addSeparator({container:t}),u.addHorizontalAlign({container:t,label:_("HorizontalAlign"),object:l.bar,property:"bar_align",callback:b}),u.addSlider({container:t,label:_("BarHeight"),object:l.bar,property:"bar_height",callback:h});break;case"indicator":u.addBackgroundColor({container:t,object:l,property_color:"background_color",property_gradient:"background_gradient",callback:h}),u.addSeparator({container:t}),u.addDropdown({container:t,label:_("Value"),object:l,property:"type",combobox:{dataprovider:[{value:"number",label:_("Number")},{value:"percentage",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){t.find(".TA1_intervals_container").remove(),"indicator"===l.type&&(l.intervals=[S]),n(t,l.intervals,h,b),h()}}),n(t,l.intervals,function(){if("formula"==l.type)for(var e=0;e<l.intervals.length;e++)p.column_visualization_formula_results[c]&&p.column_visualization_formula_results[c].filter(function(t){return t&&t[0]==e}).forEach(function(t){t[1]=l.intervals[e].symbol,t[2]=l.intervals[e].color});h()},b);break;case"conditional":l.align||(l.align="right",u._isDirty=!0),u.addToggleButtons({container:t,label:_("HorizontalAlign"),object:l,property:"align",callback:h,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]}),u.addDropdown({container:t,label:_("Value"),object:l,property:"type",combobox:{dataprovider:[{value:"number",label:_("Number")},{value:"percentage",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){t.find(".TA1_intervals_container").remove(),l.intervals.forEach(function(t){t.min=$.isNumeric(t.min)?t.min:0,t.max=$.isNumeric(t.max)?t.max:0}),r(t,l.intervals,h,b),h()}}),u.addSeparator({container:t}),u.addFormat({container:t,object:l,property:"format",callback:h}),r(t,l.intervals,function(){if("formula"==l.type)for(var e=0;e<l.intervals.length;e++)p.column_visualization_formula_results[c]&&p.column_visualization_formula_results[c].filter(function(t){return t&&t[0]==e}).forEach(function(t){t[1]=l.intervals[e].background_color,t[2]=l.intervals[e].font_color});h()},b);break;case"spark":u.addDropdown({container:t,label:_("Type"),object:l,property:"type",combobox:{dataprovider:["line","bar","bullet"].map(function(t){return{label:_("VisualizationSpark".concat(t)),value:t}})},callback:function(){switch(l.type){case"line":l.properties=m;break;case"bar":l.properties=f;break;case"bullet":l.properties=y;break;default:throw new Error("Unknown type of spark chart:",l.type)}t.find(".spark-properties").remove(),a(t,l,h),h()}}),u.addSeparator({container:t}),u.addBackgroundColor({container:t,object:l,property_color:"background_color",property_gradient:"background_gradient",callback:h}),u.addSeparator({container:t}),a(t,l,h);break;case"hyperlink":u.addDropdown({container:t,label:_("DisplayHyperlinkAs"),object:l,property:"display",callback:function(t){o(t.value),h()},combobox:{dataprovider:[{value:"original",label:_("Original")},{value:"label",label:_("Label")},{value:"icon",label:_("Icon")}]}}),u.addToggleButtons({container:t,label:_("HorizontalAlign"),object:l,property:"align",callback:h,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]});var e=u.addSection().addClass("nomargin").appendTo(t),o=function(t){switch(e.empty(),t){case"original":u.addSeparator({container:e}),u.addFont({container:e,object:l,property:"onhover",second_label:_("Onhover"),callback:h});break;case"label":u.addText({container:e,object:l,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:h}),u.addSeparator({container:e}),u.addFont({container:e,second_label:_("Onhover"),object:l,property:"onhover",callback:h});break;case"icon":u.addGlobalIconSelector({container:e,label:_("Icon"),object:l,property:"icon",callback:h,categories:["files","arrows","indicators","places","social","markers","symbols","bullets","computer","communication"],widget:p}),u.addColor({container:e,object:l,property:"icon_color",label:_("Color"),dropDown:!1,callback:h})}};o(l.display);break;default:throw new Error("Visualization type ".concat(l.visualization," not handled"))}function a(t,e,o){var a=$('<div class="spark-properties sub nomargin">').appendTo(t);switch(e.type){case"line":u.addWidth({container:a,label:_("LineWidth"),object:e.properties.line,property:"width",callback:o,display_none_btn:!1});var r=u.addSection().appendTo(a),r=(u.addColor({container:r,label:_("LineColor"),object:e.properties.line,property:"color",callback:o}),u.addColor({container:a,label:_("FillColor"),object:e.properties,property:"fill_color",callback:o}),u.addSeparator({container:a}),u.addSection());u.addToggleButtons({container:a,section:r,label:_("MarkerSize"),object:e.properties.marker,property:"width",callback:o,numeric:!0,buttons:[{icon:"fa-times",value:0,class:"none"},{image:"marker-circle.png",value:1,class:"small"},{image:"marker-circle.png",value:2},{image:"marker-circle.png",value:3,class:"big"}]}),u.addColor({container:r,label:_("CurrentColor"),object:e.properties.marker,property:"color",callback:o}),u.addColor({container:r,label:_("MaxColor"),object:e.properties.marker,property:"max_color",callback:o}),u.addColor({container:r,label:_("MinColor"),object:e.properties.marker,property:"min_color",callback:o}),u.addSeparator({container:a});break;case"bar":r=u.addSection(),r=(u.addBoolean({container:a,section:r,label:_("ShowZeroAxis"),object:e.properties.zero_axis,property:"enabled",callback:o}),u.addColor({container:r,label:_("AxisColor"),object:e.properties.zero_axis,property:"color",callback:o}),u.addSeparator({container:a}),u.addWidth({container:a,label:_("BarWidth"),object:e.properties.bar,property:"width",callback:o,display_none_btn:!1}),u.addSection().appendTo(a));u.addColor({container:r,label:_("BarColor"),object:e.properties.bar,property:"color",callback:o}),u.addColor({container:a,label:_("NegativeColor"),object:e.properties.bar,property:"negative_color",callback:o}),u.addSeparator({container:a});break;case"bullet":u.addColor({container:a,label:_("TargetColor"),object:e.properties,property:"target_color",callback:o}),u.addColor({container:a,label:_("PerformanceColor"),object:e.properties,property:"performance_color",callback:o}),u.addSeparator({container:a}),u.addColor({container:a,label:"".concat(_("RangeColor")," #1"),object:e.properties,property:"range_color1",callback:o}),u.addColor({container:a,label:"".concat(_("RangeColor")," #2"),object:e.properties,property:"range_color2",callback:o}),u.addColor({container:a,label:"".concat(_("RangeColor")," #3"),object:e.properties,property:"range_color3",callback:o}),u.addSeparator({container:a})}}function r(t,e,o,a){var r=Mustache.render('<div class="TA1_intervals_container">                                <button type="button" class="btn btn-default btn-grey addItem">{{ buttonLabel }}</button>                                <div class="sortable_list_container"></div>                            </div>',{buttonLabel:_("AddNew")}),n=(t.append(r),new SortableList({container:$(".TA1_intervals_container > .sortable_list_container",t),object:{items:e},property:"items",onDeleteCallback:a,onSortCallback:a,enableScrollbar:!1,columns:[{name:_("Background"),width:70,cellFormat:d("background_color",o)},{name:_("Font"),width:70,cellFormat:d("font_color",o)},{name:_("MinValue"),classes:"value_column",cellFormat:s("min",a)},{name:_("MaxValue"),classes:"value_column",cellFormat:s("max",a)}]}));$(".TA1_intervals_container > .addItem",t).on("click",function(){n.addNewObject({background_color:"transparent",font_color:"#000000",min:"0",max:"0",min_result:0,max_result:0}),o()})}function n(t,e,o,a){var r,n,i=Mustache.render('<div class="TA1_intervals_container">                                <button type="button" class="btn btn-default btn-grey addItem">{{ buttonLabel }}</button>                                <div class="sortable_list_container"></div>                            </div>',{buttonLabel:_("AddNew")}),l=(t.append(i),new SortableList({container:$(".TA1_intervals_container > .sortable_list_container",t),object:{items:e},property:"items",onDeleteCallback:a,onSortCallback:a,enableScrollbar:!1,columns:[{name:_("Symbol"),width:70,cellFormat:(r="symbol",n=o,function(t,e){p.settings.Format.addGlobalIconSelector({container:e,label:_("Icon"),object:t,property:r,callback:n,grid:!0,widget:p})})},{name:_("Color"),width:70,cellFormat:d("color",o)},{name:_("MinValue"),classes:"value_column",cellFormat:s("min",a)},{name:_("MaxValue"),classes:"value_column",cellFormat:s("max",a)}]}));$(".TA1_intervals_container > .addItem",t).on("click",function(){l.addNewObject({symbol:"arcou",color:"rgba(120, 204, 126, 1)",min:"0",max:"0",min_result:0,max_result:0}),o()})}function s(r,n){return function(t,e){var o;switch(l.type){case"number":case"percentage":o=$('<div class="cd-number">').appendTo(e),$('<input class="cd-input" type="text" allowdecimal="true">').val(t[r]).appendTo(o).on("change",function(){t[r]=+$(this).val(),n()});var a={};"percentage"===l.type&&(a={min:0,max:100}),o.cdNumber(a);break;case"formula":p.settings.Format.addFormulaInput({container:e,widget:p,dashboard:p.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:r,appendToBody:!0,callback:function(t){p.settings.Data._isDirty=!0,p.tryUpdate()}})}}}function d(r,n){return function(t,e){function o(){t[r]=this.getRGBAColor(),n()}var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t[r]));e.append(a);$("> input",a).clicColorPicker({onColorChanged:o,onPreviewColorChanged:o,onCancel:o,palette:i.model.colors})}}}u.addDropdown({container:s,label:_("Visualization"),object:l,property:"visualization",callback:function(t){t=t.value;$.extend(!0,l,d[t]),e(o),p.renderDataBindings(p.settings.Data),h()},combobox:{dataprovider:Object.keys(v).map(function(t){return{value:t,label:_("Visualization_".concat(t))}})}}),u.addSeparator({container:s});var o=u.addSection().addClass("nomargin").appendTo(s);e(o)}var p=this,h=function(){p.render()},b=function(){u.settings.Data._isDirty=!0,this.update()}.bind(this),t={label:_("All"),value:"all"},e=this.prepareColumnsDropdown(),r=!0,n=function(){r&&this.propagatePropertyToAllColumns("properties.custom_width",this.p.column_all.custom_width),this.updateBodyStyle()}.bind(this),i=function(){r&&this.propagatePropertyToAllColumns("properties.custom_width_set",this.p.column_all.custom_width_set),this.updateBodyStyle()}.bind(this),o=function(e){s.empty(),r="all"===e.value;var t=this.getColumnProperties(e.value,null),o=(e.type,u.addSection(),Utils.arrayFirst(p.p.data_bindings,function(t){return t.guid==e.value})),o=(o&&(u.addBoolean({container:s,label:_("HideEntireColumn"),object:o,property:"hidden",callback:function(){p.renderDataBindings(p.settings.Data),b()}}),u.addBoolean({container:s,label:_("HideRepeatedData"),object:t,property:"hide_repeated_data",callback:b}),u.addSeparator({container:s})),u.addSection()),o=(u.addBoolean({container:s,section:o,label:_("CustomColumnWidth"),object:t,property:"custom_width_set",callback:i}),u.addNumber({container:o,label:_("ColumnWidth"),min:0,object:t,property:"custom_width",callback:n}),u.addBoolean({container:o,label:_("WrapText"),object:t,property:"wrap",callback:i}),u.addSeparator({container:s}),Utils.arrayFirstIndex(this.p.data_bindings,function(t){return t.guid===e.value}));r||a(t,0,o)}.bind(this),s=(u.addDropdown({label:_("Columns"),object:{},property:"column",callback:o,combobox:{appendToBody:!0,containerClasses:"ddl-placeholder",dataprovider:e}}),u.addSeparator(),u.addSection().addClass("nomargin").appendTo(u.ui.content));o(t)}};Widget.createType({id:"TA1",options:o,scripts:["/Libraries/jQuerySparkline/jquery.sparkline.min.js"],properties:t,prototype:r})}();
//# sourceMappingURL=TA1-simple-table.js.map

function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _createForOfIteratorHelper(t,e){var a,o,n,r,i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(i)return o=!(a=!0),{s:function(){i=i.call(t)},n:function(){var t=i.next();return a=t.done,t},e:function(t){o=!0,n=t},f:function(){try{a||null==i.return||i.return()}finally{if(o)throw n}}};if(Array.isArray(t)||(i=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return i&&(t=i),r=0,{s:e=function(){},n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,o=new Array(e);a<e;a++)o[a]=t[a];return o}!function(){var y="none",t={family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"rgba(62,78,91,1)",halign:"left",valign:null},e={columns:[],column_all:{font:t},background:{color:"#ffffff",gradient:!1},footer_height:30,border_top:{width:1,color:"#cccccc"}},a={custom_width_set:!1,custom_width:150,expand_collapse_all:!1,format:null,auto_expanded:!1,hide_subtotals:!1,fixed_position:!1,collapsed:{enabled:!1,font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"left",valign:null},background:{color:"transparent",gradient:!1},border_bottom:{type:"solid",color:"#000000"}},expanded:{enabled:!1,font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"left",valign:null},background:{color:"transparent",gradient:!1},border_bottom:{type:"solid",color:"#000000"}}},o={custom_width_set:!1,custom_width:150},f={min:0,max:100,color:"rgba(120, 204, 126, 1)",symbol:"arciup"},m={__type:"TA2SparkColumnLineTypeProperties:#Infinis",line:{width:1,color:"#000000"},fill_color:"transparent",marker:{width:2,color:"rgba(120, 204, 126, 1)",max_color:"transparent",min_color:"transparent"}},v={__type:"TA2SparkColumnBarTypeProperties:#Infinis",zero_axis:{enabled:!1,color:"#000000"},bar:{width:1,color:"rgba(120, 204, 126, 1)",negative_color:"transparent"}},w={__type:"TA2SparkColumnBulletTypeProperties:#Infinis",target_color:"rgba(120, 204, 126, 1)",performance_color:"#8888FF",range_color1:"#aaaaff",range_color2:"#bbbbff",range_color3:"#ccccff"},C={value:{align:"right",background_color:"transparent",background_gradient:!1,format:null},bar:{background_color:"transparent",background_gradient:!1,bar:{color:"rgba(120, 204, 126, 1)",gradient:!1,bar_align:"left",border:{width:1,color:"transparent"},bar_height:.1}},indicator:{background_color:"transparent",background_gradient:!1,type:"percentage",intervals:[f]},conditional:{align:"right",type:"percentage",intervals:[],format:null},spark:{background_color:"transparent",background_gradient:!1,type:"line",properties:m}},x=C,c=(Object.keys(x).forEach(function(t){x[t]=$.extend({__type:"TA2{0}ColumnProperties:#Infinis".format(t.initCap()),visualization:t},x[t],o)}),{value:"{{ value }}",bar:'<div class="placeholder {{#align_left}}left{{/align_left}}"></div>                <div class="bar" style="width: {{ width_percentage }}%;height: {{ height_percentage }}%"></div>              <div class="placeholder {{#align_right}}right{{/align_right}}"></div>',indicator:'<div><i style="color: {{iconColor}};" class="{{iconClass}}"></i></div>',conditional:'<div style="{{# fontColor }}color: {{fontColor}};{{/ fontColor }}">{{ value }}</div>',spark:'<span id="{{ uid }}" value-idx="{{index}}"  class="sparks" values="{{ value }}"></span>'});function u(t,e,a,o,n){switch(t){case"number":return Utils.arrayFirst(e,function(t){if(+t.min<=a&&a<=+t.max)return t});case"percentage":var r=100/(n-o);return Utils.arrayFirst(e,function(t){var e=a*r;if(+t.min<=e&&e<=+t.max)return t});case"formula":return Utils.arrayFirst(e,function(t){if(+t.min_result<=a&&a<=+t.max_result)return t})}}Widget.createType({id:"TA2",options:{height:400,width:400,hasStyleProperty:!0,formula_input:function(){return["sort_filter.filters.formula","calculated_columns.formula","footers.columns.formula","header.columns.title_formula","interactions.onrowdblclick.parameters.parameters.formula"].concat("columns.properties.intervals.min","columns.properties.intervals.max")},formula_output:["selectedrow","count","rows","columns","selectedrowindex","totals"],layer:!0},scripts:["/Libraries/jQuerySparkline/jquery.sparkline.min.js"],properties:{style:null,colors:null,data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",custom:null},interactions:{rowselect:!0,rowhover:!0,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_information_enabled:!1,toolbar_information_text:"",toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"bottom_right",toolbar_buttons_color:"",onrowdblclick:{__type:"WidgetTA2InteractionOnDblRowClick:#Infinis",type:null}},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},user_sorting:{enabled:!0},sorts:[],filters:[]},titles:{title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""},subtitle:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""}},table:{font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},background:{color:"#ffffff",gradient:!1},border:{width:1,color:"#000000"},shadow:{code:"none"},roundness:0,lines:{type:"both",color:"#cccccc"},expand_icon:"plus"},body:{font:{family:"Open Sans",size:15,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},background:{color:"transparent",gradient:!1},row_height_automatic:!1,row_height:30},header:{background:{color:"#ffffff",gradient:!1},wrap:!1,header_height:30,border_bottom:{width:1,color:"#cccccc"},columns:[],column_all:{font:t}},footers:[],footer_all:e,rows:[],row_all:a,columns:[],column_all:o},prototype:{getSettingsData:function(){return{iconsReferences:_WidgetIconsReferences}},getColumnsFormat:function(t){var e=[];if("bindings"==this.p.data.mode){var a=$.extend([],this.getBindings()).sort(function(t,e){return t.area.localeCompare(e.area)});void 0===t||t||(a=a.filter(function(t){return!t.hidden}));for(var o=0;o<a.length;o++){var n,r=a[o],i=this._Data.rows.concat(this._Data.values),i=Utils.arrayFirst(i,function(t){return t.id===r.column_id}),l=Utils.arrayFirst(this.p.columns.concat(this.p.rows),function(t){return t.binding_guid===r.guid});l?(!r.grouping||!r.grouping.length)&&(n=InternalType.fromDotNet(i.type))&&n.isDate()?e.push({ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(l.properties.format,i.type)}):e.push({ColumnId:r.column_id,Index:o,Format:l.properties.format}):e.push({ColumnId:r.column_id,Index:o,Format:DashboardUtils.applyFormat(null,i.type)})}}return e},init:function(){this.p.data.custom||(this.p.data.custom=[["Column 1","Column 2","Value"],["A","x",10],["A","y",20],["B","x",30],["B","y",40],["C","x",50],["C","y",60]]),this.bindEvents(),this.orderByFilters=[],this.tryUpdate()},bindEvents:function(){var t=this,e=this;this._eventsBound||(this.createProperty("selectedrow"),this.createProperty("count"),this.createProperty("headers"),this.createProperty("rows"),this.createProperty("totals"),this.createProperty("columns"),this.createProperty("selectedrowindex"),this.on(["propertieschanged"],function(){this.update()}.bind(this)),this.on("responsiveresized",function(){this.updateSize()}.bind(this)),this.on(["bindingschanged"],function(){e._currentExpandedRow=[]}),this.on("stylechanged",function(){this.p.columns=[],this.p.rows=[],this.p.footers=[],this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on(["height","width"],function(){t._loaded&&(t.resetStickyPositions(),t.updateHeadersWidthInNextFrame(),requestAnimationFrame(function(){this.updateHeaderAndFooterPosition()}.bind(t)),t.initCluster(),t.updateTableSize())}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},onUpdateDataTooManyValues:function(){this.setSample(),this.displayCustomErrorMessage(_("TooManyValuesToDisplay"),_("TooManyValuesToDisplay_Export"))},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{collapsedchildren:this._collapsedChildren||[],count:this.count,rowsstate:this._currentExpandedRow||[],selectedrow:this.selectedrow,selectedrowindex:this.selectedrowindex,totals:this.totals})},resetState:function(t){this.selectedrow=t.selectedrow,this.selectedrowindex=t.selectedrowindex,this.rows=t.rows,this.totals=t.totals,this.rowsstate=t.rowsstate||[],this.collapsedchildren=t.collapsedchildren||[],(this.rowsstate&&this.rowsstate.length||this.collapsedchildren&&this.collapsedchildren.length)&&this.applyRowsState()},bindUIEvents:function(){var e=this,o=(this.ui.on("click","td.dimension .expand-icon",function(){return e.toggleRow($(this).closest("tr"),$(this).closest("td").index()),!1}),null),a=(this.ui.on("mouseover","table.data tr td.error, div.table-footer-line div.error",function(){o=$(Mustache.render('<div id="widgetErrorTooltip">                                        <div class="header error"><span>{{tooltipHeader}}</span></div>                                        <div class="formulaResult"></div>',{tooltipHeader:_("Error")})),$("body").append(o);var t=$(this),e=t.offset().left+t.outerWidth(),a=t.parent().offset().left+t.parent().outerWidth(),e=e+o.outerWidth();o.removeClass("left right"),e<a?(o.css({top:"".concat(t.offset().top+t.outerHeight()/2,"px"),left:"".concat(t.offset().left+t.outerWidth(),"px")}),o.addClass("right")):(o.css({top:"".concat(t.offset().top+t.outerHeight()/2,"px"),left:"".concat(t.offset().left-o.outerWidth(),"px")}),o.addClass("left")),$(".formulaResult",o).html(t.attr("data-error")),o.fadeIn(100)}),this.ui.on("mouseout","table.data tr td.error,  div.table-footer-line div.error",function(){o.fadeOut(100),o.remove()}),!1);this.ui.on("click","table.data tr",function t(){a?$(t.target).add($(t.target).parent()).is(".expand-icon")||(e.onSelectRow($(this).closest("tr"),!0),e.onDblClickRow($(this).closest("tr")),a=!1):(e.onSelectRow($(this).closest("tr")),a=!0,setTimeout(function(){a=!1},300))}),this.container.on("click",".exportOnClick",function(){e.exportWidgetData()})},toggleRow:function(t,e){this.saveExpandedRow(t,e),t.hasClass("expanded")?this.collapseRow(t):this.expandRow(t)},applyRowsState:function(){if(this.rowsstate)if(this.p.row_all.auto_expanded){var t,e=_createForOfIteratorHelper(this.rowsstate);try{for(e.s();!(t=e.n()).done;){var a=t.value,o=$(".row[data-clientid=".concat(a.rootId,"]"),this.ui);o&&$(".expand-icon",o).trigger("click")}}catch(t){e.e(t)}finally{e.f()}var n,r=_createForOfIteratorHelper(this.collapsedchildren);try{for(r.s();!(n=r.n()).done;){var i=n.value,l=$(".row[data-clientid=".concat(i.rootId,"]"),this.ui);l&&$(".expand-icon",l).trigger("click")}}catch(t){r.e(t)}finally{r.f()}}else this._currentExpandedRow=this.rowsstate,this.expandMultipleRows()},saveExpandedRow:function(t,e){this._currentExpandedRow||(this._currentExpandedRow=[]),t.hasClass("row-{0}".format(e))&&(this.setExpandedRowId(e,t),this.updateState())},setExpandedRowId:function(t,a){function e(t){var e=Utils.arrayFirst(t,function(t){return t.rootId==n});e?(e.children&&e.children.length&&o.collapseChildren(e,!0,0,0),Utils.arrayRemove(t,function(t){return t.rootId==n})):(e={rootId:n,children:[],collapsed:a.hasClass("expanded")},t.push(e))}var o=this,n=a.attr("data-clientid");if(0==t)e(this._currentExpandedRow);else{var r=[],i=$(a).attr("data-parentid");r.push(i);for(var l=t-1;0<=l;l--){var s=$(".row[data-clientid={0}]".format(i),this.ui).attr("data-parentid");s&&(i=s,r.push(s))}var d=Utils.arrayFirst(this._currentExpandedRow,function(t){return t.rootId==i});if(d){for(var c=d.children,l=1;l<t;l++){var u=Utils.arrayFirst(c,function(t){return-1!=r.indexOf(t.rootId)});u.children&&(c=u.children)}e(c)}else this._collapsedChildren||(this._collapsedChildren=[]),this._collapsedChildren.push({children:[],collapsed:a.hasClass("expanded"),rootId:n})}},collapseChildren:function(t,e,a,o){var n=a;if(t.children&&0<t.children.length){a++;for(var r=0;r<t.children.length;r++)this.collapseChildren(t.children[r],!1,a,o);o<=n&&this.collapseChild(t,e),o<=n+1&&(t.children=[])}else o<=n&&this.collapseChild(t)},collapseChild:function(t,e){e||(e=$(".row[data-clientid={0}]".format(t.rootId),this.ui),this.collapseRow(e))},collapseRight:function(t){if(!this._currentExpandedRow)return!1;var e=this.getBindings(Enums.WidgetAreas.Rows);e&&e.length<=t&&(t=1);for(var a=0;a<=this._currentExpandedRow.length-1;a++){var o=this._currentExpandedRow[a];o.children&&o.children.length&&this.collapseChildren(o,!0,0,t),0==t&&(o=$(".row[data-clientid={0}]".format(o.rootId),this.ui),this.collapseRow(o))}0==t&&(this._currentExpandedRow=[])},expandMultipleRows:function(){for(var t=0;t<=this._currentExpandedRow.length-1;t++){var e=this._currentExpandedRow[t];if(!e)return;var a=$(".row[data-clientid={0}]".format(e.rootId),this.ui);a&&(e.children&&0<e.children.length?this.expandChild(e):this.expandRow(a))}},expandChild:function(t){var e=null;if(t.children&&0<t.children.length){e=$(".row[data-clientid={0}]".format(t.rootId),this.ui),this.expandRow(e);for(var a=0;a<t.children.length;a++)this.expandChild(t.children[a])}else e=$(".row[data-clientid={0}]".format(t.rootId),this.ui),this.expandRow(e)},updateSize:function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"updateSize"),function(){this.updateHeaderAndFooterPosition()}.bind(this)),this.updateHeadersWidthInNextFrame(),this.updateTableSize(),this.updateScrollbarsInNextFrame()},updateService:"TA2Data",getContextualParameters:function(){var t,e=[];return!this.error&&this._Data&&(e.push({name:"SimpleTable",value:!1}),this._Data&&this._Data.rows&&e.push({name:"DimensionsMetaData",value:this._Data.rows.map(function(t){return $.extend({},{__type:"DataHelperTA.DimensionInfo:#Infinis"},t)})}),this._Data&&this._Data.values&&e.push({name:"ValuesMetaData",value:this._Data.values.map(function(t){return $.extend({},{__type:"DataHelperTA.MetricInfo:#Infinis"},t)})}),this._Data&&this._Data.data&&(t=this._Data.data.map(function(t){return $.extend({},{__type:"DataHelperTA.TARow:#Infinis"},t)}),Utils.findNestedProperties(t,"parentNode",null),e.push({name:"TableNodes",value:t}),this.p.row_all.hide_subtotals&&e.push({name:"FormulaPreview",value:!0}))),e},getDataToSendForUpdate:function(){var t=this.widgetDataToSendForUpdate();return{BinderRecId:t.BinderRecId,DashboardRecId:t.DashboardRecId,Dependencies:t.Dependencies,FilterDependencies:t.FilterDependencies,FormulasDependencies:t.FormulasDependencies,OrderByColumns:this.orderByFilters,ParametersDependencies:t.ParametersDependencies,Widget:t.Widget}},getCustomFormulaToResolve:function(){return Utils.arrayFlatten(this.getColumnVisualizationFormulaIntervals().map(function(t){return[t.min,t.max]}))},canUpdateData:function(){return"bindings"!==this.p.data.mode||0!==this.getBindings(Enums.WidgetAreas.Rows).length},computeTotals:function(r){if(!r)throw new Error("Missing argument");if(!r.data)throw new Error("Missing data");if(!r.rows||!r.values)throw new Error("Missing metadata");var i=function(t,e){if(t.length!==e)for(var a=0;a<e;a++)t[a]=[]};(function e(o,n){return o=o||0,function(t){var a;o<n-1&&t.nodes.forEach(e(o+1,n)),(a=t).rawValues=[],a.values=[],a.nodes.forEach(function(t){t.rawValues?(i(a.rawValues,t.rawValues.length),t.rawValues.forEach(function(t,e){a.rawValues[e]=a.rawValues[e].concat(t)})):(i(a.rawValues,t.values.length),t.values.forEach(function(t,e){a.rawValues[e].push(t)}));t=r.values.map(function(t){return t.aggregation}),t=Utils.arrayZip(a.rawValues,t);a.values=t.map(function(t){var e=t[0],t=t[1];return"values"===t?e:("dcount"===t&&(t="sum"),DashboardUtils.Aggregator.aggregate(e,t))})})}})(-1,r.rows.length-1)(r.rootNode)},setParentNodeReferences:function(t,e){Array.isArray(t)&&t.forEach(function(t){t.parentNode=e,Array.isArray(t.nodes)&&this.setParentNodeReferences(t.nodes,t)}.bind(this))},setNodeDepth:function(t){!function e(t,a){Array.isArray(t)&&t.forEach(function(t){t.depth=a,Array.isArray(t.nodes)&&e(t.nodes,a+1)}.bind(this))}(t,0)},setAndCacheNodesClientId:function(t){var a={},o=0;!function e(t){Array.isArray(t)&&t.forEach(function(t){a[t.clientId=o++]=t,Array.isArray(t.nodes)&&e(t.nodes)})}(t),this._nodesClientId=a},getNodeFromClientId:function(t){return this._nodesClientId[t]},updateServiceSuccess:function(t){var a=this;if("custom"===this.p.data.mode){var e=this.p.data.custom.slice(1),o=this.p.sort_filter.filters;0<o.length&&(o=o.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),e=DashboardUtils.filterData(e,o)),Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})&&DashboardUtils.sortData(e,this.p.sort_filter.sorts),this.applySortOnCustomData(e),e.unshift(this.p.data.custom[0]),this._Data=this.transformMatrixToData(e),Array.isArray(t)&&this.saveFormulaResultsIntoIntervals(t)}else{t.rootNode={nodes:t.data},this.setParentNodeReferences(t.data,t.rootNode),this.applySort(t),this.column_visualization_formula_results=t.column_visualization_formula_results;var n,r=_createForOfIteratorHelper((this._Data=t).column_header_title_formula_results);try{var i;for(r.s();!(n=r.n()).done;)!function(){var e=n.value;(i=Utils.arrayFirst(a.p.header.columns,function(t){return t.binding_guid===e.binding_guid}))&&(i.title_formula_result=e.formula_result||a.resetColumnName(e.binding_guid))}()}catch(t){r.e(t)}finally{r.f()}}this.setNodeDepth(this._Data.data),this.setAndCacheNodesClientId(this._Data.data),this.render(),this.selectedrowindex=-1,this.selectedrow=[],this.rows=this.getFlattenDataRows(this._Data.data,this._Data.rows,this._Data.values);for(var l=[],s=0;s<this.p.footers.length;s++){for(var d=this.p.footers[s],c=[],u=0;u<d.columns.length;u++)c.push(t.footers[s][u]);l.push(c)}if(this.totals=l.flat(),this._Data&&this._Data.data&&0<this._Data.data.length){for(var p=[],h=this._Data.rows.length+this._Data.values.length,g=0;g<h;g++)p.push([]);for(var b=0;b<this.rows.length;b++)for(var f=0;f<h;f++)p[f].push(this.rows[b][f]);this.columns=p}else this.columns=[];this.count=this.rows.length;o=this._Data.rows.map(function(t){return t.name}),e=this._Data.values.map(function(t){return t.name});this.headers=o.concat(e),this.setSortFilterTabState(),this.dashboard&&this.dashboard.setWidgetState&&this.dashboard.setWidgetState(this)},updateServiceError:function(){this.selectedrowindex=-1,this.selectedrow=[],this.count=0,this.rows=[],this.totals=[],this.headers=[],this.columns=[]},getColumnVisualizationFormulaIntervals:function(){return this.p.columns.reduce(function(t,e){e=e.properties;return t=0<=["indicator","conditional"].indexOf(e.visualization)&&"formula"===e.type?t.concat(e.intervals):t},[])},saveFormulaResultsIntoIntervals:function(t){var t=Utils.arrayChunk(t,2),e=this.getColumnVisualizationFormulaIntervals();Utils.arrayZip(t,e).forEach(function(t){var e=t[0],t=t[1];t.min_result=e[0].value,t.max_result=e[1].value})},getFlattenDataRows:function(t,e,a){function n(t){for(var e=t,a=e.depth,o=t.values.slice();0<=a;){r.rows[a];o.unshift(e.name),e=e.parentNode,a--}i.push(o),t.nodes&&t.nodes.forEach(function(t){n(t)})}var r=this._Data,i=[];return t.forEach(function(t){n(t)}),i},autoFormatDates:function(o){if(!o)throw new Error("Missing argument");if(!o.data)throw new Error("Missing data");if(!o.rows)throw new Error("Missing metadata");function n(a,o){return o=o||0,function(t,e){return o<a?Array.isArray(e.nodes)&&e.nodes.reduce(n(a,o+1),t):o===a&&t.push(e.name),t}}function r(t){return null!==t?new Date(t):null}this.getBindings(Enums.WidgetAreas.Rows).forEach(function(t,e){var a;!Utils.isDateType(o.rows[e].type)||(a=this.getDrilldownRowProperties(t.guid,!1))&&a.format||(a=this.getDrilldownRowProperties(t.guid,!0),t=o.data.reduce(n(e),[]).map(r).every(Utils.isPlainDate),a.format=t?ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Date):ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.DateTime))}.bind(this))},applySortOnCustomData:function(t){if(!t)throw new Error("Missing argument");Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return null!=t.column})&&DashboardUtils.sortData(t,this.p.sort_filter.sorts);for(var e=0;e<this.orderByFilters.length;e++){var a=this.orderByFilters[e],o=Utils.arrayFirstIndex(this.p.data.custom[0],function(t){return t===a.columnGuid});-1!==o&&DashboardUtils.sortData(t,[Utils.arrayFirst(this.p.sort_filter.sorts,function(t){return t.column==o})])}},applySort:function(r){if(!r)throw new Error("Missing argument");if(!r.data)throw new Error("Missing data");if(!r.rows||!r.values)throw new Error("Missing metadata");var i=this;this.p.sort_filter.sorts.forEach(function(e){var a,t,o,n;null!=e.column&&"custom"!=e.direction&&(o=t=-1,(a=Utils.arrayFirst(i.getBindings(),function(t){return t.guid===e.column}))&&(n=a.column_id,0<=a.__type.indexOf("CountDataBindingProperties")?o=Utils.arrayFirstIndex(r.values,function(t){return"count"===t.aggregation}):0<=a.__type.indexOf("ValueDataBindingProperties")?o=Utils.arrayFirstIndex(r.values,function(t){return t.id===n&&t.aggregation===a.aggregation}):t=Utils.arrayFirstIndex(r.rows,function(t){return t.id===n}),-1!==t?i.sortNodesByColumnName(r.data,t,e.direction):-1!==o&&i.sortNodesByValue(r.data,o,e.direction)))});for(var t=0;t<this.orderByFilters.length;t++){var e,a=this.orderByFilters[t],o=Utils.arrayFirst(this.getBindings(),function(t){return t.guid===a.columnGuid}),n=-1,l=-1;o&&(l=0<=o.__type.indexOf("CountDataBindingProperties")?Utils.arrayFirstIndex(r.values,function(t){return"count"===t.aggregation}):(e=o.column_id,n=Utils.arrayFirstIndex(r.rows,function(t){return t.id===e}),Utils.arrayFirstIndex(r.values,function(t){return t.id===e&&t.aggregation===o.aggregation})),-1!==n?this.sortNodesByColumnName(r.data,n,a.order):-1!==l&&this.sortNodesByValue(r.data,l,a.order))}},getNodeSortFunction:function(n,r){return function(t,e){var a,o="asc"===n?1:-1,t=r(t),e=r(e);return null===t?o:null===e?-1*o:null===t&&null===e?0:(a=t-e,isNaN(a)?"asc"===n?t.toString().localeCompare(e):e.toString().localeCompare(t):a*o)}},getCustomNodeSortFunction:function(t,e){},sortNodesByColumnName:function(t,e,a,o,n){var r;t.length&&((o=o||0)===e?(r=this.getNodeSortFunction(a,n||function(t){return t.name}),t.sort(r)):$.isArray(t[0].nodes)&&t.forEach(function(t){this.sortNodesByColumnName(t.nodes,e,a,o+1,n)}.bind(this)))},sortNodesByValue:function(t,e,a){var o;t.length&&(o=this.getNodeSortFunction(a,function(t){return t.values[e]}),t.sort(o),$.isArray(t[0].nodes)&&t.forEach(function(t){this.sortNodesByValue(t.nodes,e,a)}.bind(this)))},sortCustomData:function(t,e,a){t.length&&(a=this.getCustomNodeSortFunction(a,e),t.sort(a))},refreshFromDataDependency:function(t,e){var a=!1;(a=this.p.data_id===t&&"bindings"===this.p.data.mode?!0:a)&&this.tryUpdate()},transformMatrixToData:function(t){var e=t[0],a=Utils.arrayWithoutLast(e).map(function(t,e){return{name:t,type:"System.String",id:-e}}),e=[{id:-1,name:Utils.arrayLast(e),aggregation:"sum",type:"System.Double"}],t=this.getNodes(t),a={rows:a,values:e,data:t,rootNode:{nodes:t}};return this.setParentNodeReferences(t,a.rootNode),this.computeTotals(a),a},getNodes:function(t){for(var e,a=t.slice(1),o=0<a.length?a[0].length-1:0,n=a.length,r=[],i=0;i<n;i++)for(var l=0;l<o;l++){var s=0===l?r:e.nodes,d=a[i][l],c=function(t,e){return Utils.arrayFirst(t,function(t){return 0<=t.name.indexOf(e)})}(s,d);c?e=c:(e={name:d||""},l<o-1?e.nodes=[]:e.values=[+a[i][o]],s.push(e))}return r},setSample:function(){this._Data=this.transformMatrixToData(this.p.data.custom),this.setNodeDepth(this._Data.data),this.setAndCacheNodesClientId(this._Data.data),this.render(),this.selectedrowindex=-1,this.selectedrow=[],this.totals=[],this.rows=this.getFlattenDataRows(this._Data.data,this._Data.rows,this._Data.values),this.count=this.rows.length;var t=this._Data.rows.map(function(t){return t.name}),e=this._Data.values.map(function(t){return t.name});this.headers=t.concat(e)},hasData:function(){return this._Data&&this._Data.data},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},render:function(){var t=function(){this.renderTable()}.bind(this);this.widgetIconsNeedToBeLoaded()?this.loadWidgetIcons(t):t()},widgetIconsNeedToBeLoaded:function(){var t=this.getAllValueColumnsProperties(),a=this.getBindings(),t=t.filter(function(t,e){return!a[e]||a[e]&&!a[e].hidden});return null!==Utils.arrayFirst(t,function(t){return"indicator"===t.visualization||"hyperlink"===t.visualization&&"icon"===t.display})},renderTable:function(){this.hasData()?(this.ui.empty(),this._currentScrollPosition=0,this.renderTableContainers(),this.renderOrUpdateTitlesIfAny(),this.initCustomScrollbar(),this.appendHeaderContents(),this.appendRowsToTable(),this.updateExpandedColumnCSSClasses(),this.appendFooterContents(),this.toggleRowInteractions(),this.updateAllStyles(),this.updateHeadersWidthInNextFrame(),requestAnimationFrame(function(){this.updateHeaderAndFooterPosition()}.bind(this)),this._currentExpandedRow&&this.expandMultipleRows(),this.initCluster(),this.updateTableSize(),this._loaded=!0):this.error=_("NoData")},resetStickyPositions:function(){this.ui.find(".scrollable").removeClass("sticky_dimensions"),$(".sticky",this.ui).removeClass("sticky")},applyStickyPositions:function(t){var e,a;this.p.row_all.fixed_position&&null!==Utils.arrayFirst(this.getBindings("Values"),function(t){return!t.hidden})&&(this.ui.find(".scrollable").addClass("sticky_dimensions"),e=function(t,e){t.addClass("sticky"),t.css({left:e})},a=0,$(".table-header .drilldown-column",this.ui).each(function(){e($(this),a),a+=$(this).outerWidth()}),$(".row",t).each(function(){var t=0;$(this).find(".dimension, .empty").each(function(){e($(this),t),t+=$(this).outerWidth()})}),e($(".table-footer-line .label",this.ui),0))},initCustomScrollbar:function(){var t=this;this.tableViewport.mCustomScrollbar({axis:"yx",scrollInertia:.05,advanced:{},callbacks:{whileScrolling:function(){t._cluster.updatePosition(Math.abs(this.mcs.top+1)),t._currentScrollPosition=-this.mcs.top,t.updateHeaderAndFooterPosition(),t.refreshSparks()}}})},updateScrollbarsInNextFrame:function(){Utils.requestAnimationFrameOnce("".concat(this.guid,"updateScrollbarsInNextFrame"),function(){this.tableViewport.mCustomScrollbar("update"),this.updateHeaderAndFooterPosition()}.bind(this))},renderTableContainers:function(){this.tableViewport=$('<div class="scrollable">').appendTo(this.ui),this.tableHeader=$('<div class="table-header">').appendTo(this.tableViewport),this.table=$('<table class="data">').appendTo(this.tableViewport),this.tbody=$("<tbody>").appendTo(this.table),this.tableFooter=$('<div class="table-footer">').appendTo(this.tableViewport),this.updateExpandedColumnCSSClasses()},toggleRowInteractions:function(){this.table&&(this.table.toggleClass("has-interactions",this.p.interactions&&!!this.p.interactions.onrowdblclick),this.table.toggleClass("can-hover-rows",this.p.interactions.rowhover),this.table.toggleClass("can-select-rows",this.p.interactions.rowselect),this.table.toggleClass("can-drilldown-rows",this.p.interactions.onrowdblclick&&"details"===this.p.interactions.onrowdblclick.type))},renderOrUpdateTitlesIfAny:function(){var t=function(t,e){Utils.FontUtils.loadFont(e.font.family),t.text(e.text),t.css({fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color,textAlign:e.font.halign})}.bind(this);""!==this.p.titles.title.text?(t(0<this.ui.children(".title").length?this.ui.children(".title"):$('<div class="title">').appendTo(this.ui),this.p.titles.title),""!==this.p.titles.subtitle.text?t(0<this.ui.children(".subtitle").length?this.ui.children(".subtitle"):$('<div class="subtitle">').appendTo(this.ui),this.p.titles.subtitle):this.ui.children(".subtitle").remove()):(this.ui.children(".title").remove(),this.ui.children(".subtitle").remove()),this.updateTableContainerPosition()},updateTableContainerPosition:function(){this.p.titles.title.text?this.p.titles.subtitle.text?this.tableViewport.css({top:this.ui.children(".title").outerHeight()+this.ui.children(".subtitle").outerHeight()}):this.tableViewport.css({top:this.ui.children(".title").outerHeight()}):this.tableViewport.css({top:0}),this.updateHeaderAndFooterPosition()},appendHeaderContents:function(){var s=this,d=this._Data.rows,t=this._Data.values;d.length&&d.forEach(function(e,t){var a,o=this.getBindings(Enums.WidgetAreas.Rows),n="",r=e.name,o=("custom"===this.p.data.mode?n=this.getColumnOrderClass({guid:e.name}):(a="",o&&o.length&&(a=Utils.arrayFirst(o,function(t){return t.column_id===e.id&&t.name===e.name}))&&(n=this.getColumnOrderClass(a),(o=this.getCustomTableHeaderTitle(a.guid))&&(r=o))),t===d.length-1),i=s.getExpandedIcon(),l=s.getCollapsedIcon(),t=(o||this.p.row_all.hide_subtotals||!this.p.row_all.expand_collapse_all?'<div class="{1}"><div class="column_name">{2}</div></div>':'<div class="expand-icon toggle-all" button-depth="{0}"><i class="fas '.concat(this.p.row_all.auto_expanded?i:l,'"></i></div><div class="{1} drilldown-column-text"><div class="column_name">{2}</div></div>')).format(t,n,r);this.tableHeader.append($('<span class="drilldown-column" column-guid="{0}">'.format(a&&a.guid?a.guid:r)).toggleClass("last",o).append(t).on("click",".toggle-all",function(t){var e=$(t.currentTarget).attr("button-depth"),a=s._clusteredRows.filter(function(t){return $(t).hasClass("row-{0}".format(e))}).map(function(t){return $(t)});if($(t.currentTarget).find("i").hasClass(l)){for(var o=0;o<a.length;o++)a[o].hasClass("expanded")||s.expandRow(a[o]);$(t.currentTarget).find("i").removeClass(l).addClass(i)}else{for(var n=0;n<a.length;n++)a[n].hasClass("expanded")&&s.collapseRow(a[n]);$(t.currentTarget).find("i").removeClass(i).addClass(l)}t.stopPropagation()}))}.bind(this)),t.forEach(function(e,t){var a,o,n="",r=e.name;"custom"===this.p.data.mode?n=this.getColumnOrderClass({guid:e.name}):(a="",(o=this.getBindings(Enums.WidgetAreas.Values))&&o.length&&(a=Utils.arrayFirst(o,function(t){return t.column_id===e.id&&t.name===e.name}))&&(n=this.getColumnOrderClass(a),(o=this.getCustomTableHeaderTitle(a.guid))&&(r=o))),a&&a.hidden||(o='<div class="{0}"><div class="column_name">{1}</div></div>'.format(n,r),this.tableHeader.append($('<span class="value value-{1}" column-guid="{0}">'.format(a&&a.guid?a.guid:r,t)).append(o)))}.bind(this)),this.tableHeader.on("click","span > div",function(){if(!s.p.sort_filter.user_sorting||!s.p.sort_filter.user_sorting.enabled)return!1;var t,e=$(this),a=e.closest("span"),o=a.index(),n=Utils.arrayFirst(s.orderByFilters,function(t){return t.columnGuid==a.attr("column-guid")});n&&n.order?"asc"==n.order?(t=null,e.removeClass("ascending descending")):(t="asc",e.removeClass("descending").addClass("ascending")):(t="desc",e.removeClass("ascending").addClass("descending")),t?n?n.order=t:s.orderByFilters.push({columnGuid:a.attr("column-guid"),order:t}):Utils.arrayRemove(s.orderByFilters,n),s.p.row_all.hide_subtotals||s.collapseRight(o),s.tryUpdate()})},updateTableHeaderTitle:function(t){var e=$('[column-guid="{0}"] > div > div'.format(t),this.tableHeader),a=this.getCustomTableHeaderTitle(t);a?e.text(a):e.text(this.resetColumnName(t,this._Data.columns))},getCustomTableHeaderTitle:function(e){var t,a=null;return this.p.header.columns&&this.p.header.columns.length&&((t=Utils.arrayFirst(this.p.header.columns,function(t){return t.binding_guid===e}))&&"text"===t.title_type?a=t.title:t&&"formula"===t.title_type&&(a=t.title_formula_result)),a},resetColumnName:function(e){var t=this._Data.rows.concat(this._Data.values),a=Utils.arrayFirst(this.p.data_bindings,function(t){return t.guid===e});if(a)return(t=Utils.arrayFirst(t,function(t){return t.id===a.column_id}))&&t.name||""},getColumnOrderClass:function(e){var t=Utils.arrayFirst(this.orderByFilters,function(t){return t.columnGuid==e.guid}),a="";return a=t&&t.order?"asc"==t.order?"ascending":"descending":a},getAllDrilldownRowsProperties:function(){var t=function(t){return this.getDrilldownRowProperties(t,!1)||this.p.row_all}.bind(this);return(this.p.data_id&&"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values).map(function(t){return t.guid}):Utils.arrayWithoutLast(this.p.data.custom[0])).map(t)},getAllValueColumnsProperties:function(){var t=function(t){return this.getValueColumnProperties(t,!1)||this.p.column_all}.bind(this);return this.p.data_id&&"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values).map(function(t){return t.guid}).map(t):[t(Utils.arrayLast(this.p.data.custom[0]))]},getValueColumnStyle:function(t,e){return"bindings"===this.p.data.mode?(t=this.getBindings(Enums.WidgetAreas.Values,t))?this.getValueColumnProperties(t.guid,e):$.extend(!0,{},C.value):(t=Utils.arrayLast(this.p.data.custom[0]),this.getValueColumnProperties(t,e))},renderValueToDOMString:function(d,t){(d=d).parentNode;return function(t,e){var a=this.getBindings(Enums.WidgetAreas.Values,e);if(a&&a.hidden)return null;var a="value-".concat(e),o=this.getValueColumnStyle(e,!0),n={valueClass:a,visualizationType:o.visualization};if($.isArray(t)&&t[0]==Enums.FormulaStatus.Error)n.visualizationType="value",n.valueClass="value-".concat(e," error"),n.value=Utils.formatValue(_("WidgetErrorInFormula"),o.format),n.error=Utils.getWidgetErrorMessage({ErrorCode:t[1],ErrorParams:t[2]});else{var r,i=this._maxValues[e];switch(o.visualization){case"value":var l=Utils.formatValue(t,o.format);n.value=l;break;case"bar":n.align_left="left"==o.bar.bar_align?o.bar.bar_align:"",n.align_right="right"==o.bar.bar_align?o.bar.bar_align:"",n.width_percentage=100*+t/i,n.height_percentage=100*+o.bar.bar_height;break;case"indicator":var s,l=null;"formula"===o.type&&this.column_visualization_formula_results?(s=Utils.arrayFirst(this.column_visualization_formula_results[e],function(t){return null!==t&&t[0]===d.guid}))&&(l={symbol:s[1],color:s[2]}):l=u(o.type,o.intervals,t,0,i),(l=l||f)&&(n.iconClass=DashboardUtils.WidgetIcons.getSymbolFromCode(l.symbol,"fa-arrow-circle-up"),n.iconColor=l.color);break;case"conditional":n.value=Utils.formatValue(t,o.format),"formula"===o.type&&this.column_visualization_formula_results?(r=Utils.arrayFirst(this.column_visualization_formula_results[e],function(t){return null!==t&&t[0]===d.guid}))&&(n.backgroundColor=r[1],n.fontColor=r[2]):(r=u(o.type,o.intervals,t,0,i))&&(n.backgroundColor=r.background_color,n.fontColor=r.font_color);break;case"spark":t&&("string"==typeof t?n.value=t.replaceAll(" ",",").replace(/,$/,""):$.isArray(t)?n.value=t.join(",").replaceAll(" ",",").replaceAll(",,",",").replace(/,$/,""):n.value=t,n.uid="spark".concat(Utils.newGuid()),n.index=e,setTimeout(function(){var t=$("#".concat(n.uid),this.ui),t=(this.buildSparkFromProperties(t,o),t.addClass("loaded"),$("tr[data-clientid='".concat(d.clientId,"']"),this.ui));0<t.length&&this.updateRowInCluster(d.clientId,t[0].outerHTML)}.bind(this),0))}}return Mustache.render('<td class="value {{valueClass}} viz-{{visualizationType}}" data-error="{{error}}"><div style="{{# backgroundColor }}background-color: {{ backgroundColor }};{{/ backgroundColor }}">{{> content }}</div></td>',n,{content:c[o.visualization]})}.bind(this)},rowModelToUI:function(t,e){var a=this.getBindings(Enums.WidgetAreas.Rows),o="auto",n=(this.p.body.row_height_automatic||(o="".concat(this.p.body.row_height,"px")),t.node&&t.node.parentNode&&null!=t.node.parentNode.clientId&&null!=t.node.parentNode.clientId?'data-parentId="'.concat(t.node.parentNode.clientId,'"'):""),o='\n      <tr style="height: '.concat(o,'" \n      class="row row-').concat(t.depth," ").concat(t.node.expanded?"expanded":"",'" \n      data-clientid="').concat(t.node.clientId,'" ').concat(n,">"),n=t.name,a=(t.config&&(null!==t.config.format?n=(a=a[t.depth])&&a.grouping&&a.grouping.length?WidgetsCommon.getFormattedAxisLabel(n,DashboardUtils.applyFormat(t.config.format,t.type,t.original_type),a.grouping,!1,t.type,t.original_type):Utils.formatValue(n,t.config.format):Utils.isDateType(t.type)&&null===t.config.format&&(n=Utils.formatValue(n,DashboardUtils.applyFormat(null,t.type,t.original_type)))),t.depth===t.maxDepth),r=t.node.expanded?this.getExpandedIcon():this.getCollapsedIcon(),r='<div class="expand-icon"> \n        <i class="fas '.concat(r,'"></i> \n      </div>'),a='<td class="dimension '.concat(a?"last-column":"",'"> \n        ').concat(a||this.p.row_all.hide_subtotals?"":r,"\n        ").concat(n," \n      </td>"),i=Utils.range(0,t.depth-1),l=Utils.range(0,t.maxDepth-t.depth-1),r=i.reduce(function(t,e,a){return"".concat(t,'<td class="empty before ').concat(a+1===i.length?"last":"",'"></td>')},""),n=l.reduce(function(t,e,a){return"".concat(t,'<td class="empty after ').concat(a+1===l.length?"last":"",'"></td>')},""),e=this._Data&&this._Data.data&&this._Data.data[e-1];return o+=r+a+n+t.values.map(this.renderValueToDOMString(t.node,e)).join("")},convertNodeToRowModels:function(o){var n=o.depth,r=o.metadata.length-1,i=o.untilDepth,l=o.metadata,s=o.rowsConfig;return function(t){var e,a=[{depth:n,maxDepth:r,type:l[n].type,original_type:l[n].original_type,config:s[n],name:t.name,values:t.values,node:t}];return t.expanded||t.nodes&&(isNaN(i)||n+1<=i)?(t.expanded=!0,e=$.extend({},o,{depth:n+1}),e=t.nodes.map(this.convertNodeToRowModels(e).bind(this)),a=a.concat(e)):t.expanded=!1,a}},getRowConfig:function(r,i,l){return function(t,e){return o=i,n=(a=r)[e],a=null,((a=n?Utils.arrayFirst(o,function(t){return n.guid===t.binding_guid}):a)?a.properties:null)||l;var a,o,n}},appendRowsToTable:function(t){var e=null;if(t){var a=t.attr("data-clientid"),o=this.getNodeFromClientId(a);if(!(e=o.nodes))throw new Error("Can't expand this node, no child found.");o=o.depth+1}else e=this._Data.data,o=0;var o={depth:o,untilDepth:this.p.row_all.auto_expanded||this.p.row_all.hide_subtotals?this._Data.rows.length-1:o,metadata:this._Data.rows,rowsConfig:this._Data.rows.map(this.getRowConfig(this.getBindings(Enums.WidgetAreas.Rows),this.p.rows,this.p.row_all).bind(this))},n=Utils.arrayFlatten(e.map(this.convertNodeToRowModels(o).bind(this)));this._maxValues=[];for(var r=0;r<this._Data.values.length;r++)this._maxValues.push(Math.max.apply(Math,_toConsumableArray(n.map(function(t){return t.values[r]}))));var i=n.map(this.rowModelToUI.bind(this));if(this.p.row_all.hide_subtotals){e=document.createElement("table");e.innerHTML=i.join("");var l,s=_createForOfIteratorHelper(e.querySelectorAll(".expanded"));try{for(s.s();!(l=s.n()).done;){for(var d=l.value,c=d.nextSibling,u=d.querySelectorAll(".empty.before, .dimension"),p=c.querySelectorAll(".empty.before"),r=0;r<p.length;r++)p[r].parentNode.replaceChild(u[r],p[r]);d.remove()}}catch(t){s.e(t)}finally{s.f()}this._fakeTable=e}if(t){for(var h=this.findRowIdxInCluster(a)+1,g=0;g<i.length;g++)this._clusteredRows.splice(g+h,0,i[g]);this.updateTableSize()}else this.p.row_all.hide_subtotals?this._clusteredRows=_toConsumableArray(this._fakeTable.querySelectorAll("tr")).map(function(t){return t.outerHTML}):this._clusteredRows=i;this.updateHeadersWidthInNextFrame()},appendFooterContents:function(){function d(e){return function(t){return t.binding_guid===e}}var o=this,t=this._Data.values,c=(this._Data.rootNode,this.getBindings(Enums.WidgetAreas.Values));this.p.footers.forEach(function(i,l){!function(t){if("custom"===o.p.data.mode)return;for(var e=0;e<t.length;e++){var a=t[e];a.binding_guid||(a.binding_guid=c[e].guid)}}(i.columns);var s=$('<div class="table-footer-line clearfix">').attr("footer-guid",i.footer_guid).appendTo(this.tableFooter);s.append($('<span class="label" column-guid="title">').append($("<div>").text(i.name))),t.length&&t.forEach(function(t,e){t.id&&"".concat(t.id);var a,o,n,r=c[e];r.hidden||(a=function(){return"bindings"===this.p.data.mode?Utils.arrayFirst(i.columns,d(r.guid)):"custom"===this.p.data.mode?i.columns[0]:void 0}.call(this),t=$('<span class="value" column-guid="{0}" >'.format(r&&r.guid?r.guid:t.name)).addClass("value-".concat(e)),("none"!==(a=a?a.aggregation:"none")||r&&r.hidden)&&(o="bindings"===this.p.data.mode&&(o=Utils.arrayFirstIndex(i.columns,d(r.guid)),this._Data.footers)?this._Data.footers[l][o]:0,e=this.getValueColumnStyle(e,!0),n=$("<div></div>"),$.isArray(o)&&o[0]==Enums.FormulaStatus.Error?(n.addClass("error"),n.text(Utils.formatValue(_("WidgetErrorInFormula"),e.format)),n.attr("data-error",Utils.getWidgetErrorMessage({ErrorCode:o[1],ErrorParams:o[2]}))):($.isArray(o)?o=o.join(" ").replaceAll(/ +/g," ").replace(/ $/,"").split(" ").map(Number):"dcount"!==a&&(o=Utils.formatValue(o,e.format)),n.text(o)),t.append(n)),s.append(t))}.bind(this))}.bind(this))},updateHeaderAndFooterPosition:function(){var t=!this.tableViewport.hasClass("mCS_no_scrollbar")&&this._currentScrollPosition||0,e=this.tableViewport.height(),a=this.getTotalFooterHeight();this.tableHeader.css({position:"absolute",top:"{0}px".format(t)}),this.tableFooter.css({position:"absolute",top:"{0}px".format(t+e-a)})},buildSparkFromProperties:function(t,e){var a=function(){switch(e.type){case"line":return{type:"line",fillColor:e.properties.fill_color,lineWidth:e.properties.line.width,lineColor:e.properties.line.color,spotColor:e.properties.marker.color,spotRadius:e.properties.marker.width,minSpotColor:e.properties.marker.min_color,maxSpotColor:e.properties.marker.max_color};case"bar":return{type:"bar",barColor:e.properties.bar.color,negBarColor:e.properties.bar.negative_color,barWidth:e.properties.bar.width,zeroColor:e.properties.zero_axis.color,zeroAxis:e.properties.zero_axis.enabled};case"bullet":return{type:"bullet",targetColor:e.properties.target_color,performanceColor:e.properties.performance_color,rangeColors:[e.properties.range_color1,e.properties.range_color2,e.properties.range_color3]};default:throw new Error("Unknown sparkchart type:",e.type)}}(),o=t.closest("td").height();$.extend(!0,a,{height:o,tooltipContainer:t}),t.sparkline("html",a)},refreshSparks:function(){var a=this;$(".sparks.loaded",this.ui).each(function(){var t=$(this),e=$(this).attr("value-idx");e&&(e=parseInt(e),e=a.getValueColumnStyle(e,!0),a.buildSparkFromProperties(t,e))})},updateHeadersWidthInNextFrame:function(){var s=this;requestAnimationFrame(function(){var t,n,r,e,a,o,i,l=s;s.headerInProcess?s._headersWidthCallback=!0:(s.headerInProcess=!0,t=s.table.find("tbody tr:not(.clusterize-extra-row):first"),n=0,r=s._Data.rows.length,0===t.length?(e=s.getAllDrilldownRowsProperties(),o=s.getAllValueColumnsProperties(),o=(e=e.concat(o)).map(function(t){return t.custom_width_set?t.custom_width:100}),0===e.filter(function(t){return t.custom_width_set}).length&&(a=s.table.outerWidth()/s.tableHeader.children("span").length,o=s.tableHeader.children("span").map(function(){return a}).get())):o=t.children("td").map(function(){return $(this).outerWidth()}).get(),i=null,s._fakeTable?i=s._fakeTable:(i=document.createElement("table")).innerHTML=s._clusteredRows.join(""),o.forEach(function(t,e){if(this.tableHeader.children(":nth-child(".concat(e+1,")")).outerWidth(t),0<i.querySelectorAll("td").length)for(var a=i.querySelectorAll("td:nth-child(".concat(e+1,")")),o=0;o<a.length;o++)a[o].style.width="".concat(t,"px"),a[o].style.maxWidth="".concat(t,"px");e<r&&(n+=t),e===r-1?this.tableFooter.find(".table-footer-line > span:first-child").outerWidth(n):this.tableFooter.find(".table-footer-line > span:nth-child(".concat(e-r+1+1,")")).outerWidth(t)}.bind(s)),s.applyStickyPositions(i),s._clusteredRows=_toConsumableArray(i.querySelectorAll("tr")).map(function(t){return t.outerHTML}),s._cluster?s._cluster.update(s._clusteredRows):s.initCluster(),s.refreshSparks(),setTimeout(function(){l.headerInProcess=!1,l._headersWidthCallback&&(l._headersWidthCallback=!1,l.updateHeadersWidthInNextFrame())},50))})},getTotalFooterHeight:function(){return this.p.footers.map(function(t){return t.properties.footer_height}).reduce(function(t,e){return t+e},0)},updateTableBodyPositionInNextFrame:function(){requestAnimationFrame(function(){var t=this.getTotalFooterHeight();this.table.css({"margin-top":this.p.header.header_height,height:this.p.body.row_height_automatic?"calc(100% - ".concat(this.p.header.header_height,"px - ").concat(t,"px)"):"auto","margin-bottom":t}),this.tableViewport.find(".mCSB_scrollTools_vertical").css({top:this.p.header.header_height,bottom:t}),this.tableViewport.find(".mCSB_scrollTools_horizontal").css({bottom:t})}.bind(this))},updateTableSize:function(){var t=null,t=(this.ui.find(".mCSB_container").length&&((t=this.ui.find(".mCSB_container")[0]).style.width="auto",this.p.body.row_height_automatic?t.style.height="auto":t.style.height="100%"),null);this._fakeTable?t=this._fakeTable:(t=document.createElement("table")).innerHTML=this._clusteredRows.join(""),this._clusteredRows=_toConsumableArray(t.querySelectorAll("tr")).map(function(t){return t.outerHTML}),this._cluster?this._cluster.update(this._clusteredRows):this.initCluster(),this.refreshSparks(),Utils.requestAnimationFrameOnce("".concat(this.guid,"updateTableSize"),function(){var t=this.table.outerWidth(),e=this.tableViewport.outerWidth(),a=null,o=(this.ui.find(".mCSB_container").length&&(a=this.ui.find(".mCSB_container")[0]),this.table.outerHeight()),n=this.tableViewport.outerHeight()-Math.round(this.p.header.header_height)-Math.round(this.getTotalFooterHeight());a&&(t<e&&(a.style.width="100%"),this.p.body.row_height_automatic?o<n&&(a.style.height="100%"):n<=o&&(a.style.height="auto"))}.bind(this)),this.updateScrollbarsInNextFrame()},updateAllStyles:function(){this.collapseRight(0),this.updateHeaderStyle(),this.updateFooterStyle(),this.updateTableContainerStyle(),this.updateBodyStyle()},updateHeaderStyle:function(){var t=this.p.header,e=(Utils.FontUtils.loadFont(t.column_all.font.family),!(!this.p.sort_filter.user_sorting||!this.p.sort_filter.user_sorting.enabled)),a=(this.tableHeader.toggleClass("userSorting",e),e||($(".descending",this.tableHeader).removeClass("descending"),$(".ascending",this.tableHeader).removeClass("ascending")),function(t){var e=$('[column-guid="{0}"]'.format(t.binding_guid),this.tableHeader);Utils.FontUtils.loadFont(t.font.family),e.css({"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal",color:t.font.color,height:o,"line-height":o,"text-align":t.font.halign,"text-decoration":t.font.underline?"underline":"none"})}.bind(this)),o=(this.tableHeader.css({"font-family":t.column_all.font.family,"font-size":t.column_all.font.size,"text-shadow":t.column_all.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.column_all.font.underline?"underline":"none","font-weight":Utils.FontUtils.getFontWeight(t.column_all.font.family,t.column_all.font.font_weight),"font-style":t.column_all.font.italic?"italic":"normal",color:t.column_all.font.color,background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):("transparent"!=t.background.color?t:this.p.body).background.color,"border-bottom-width":t.border_bottom.width,"border-bottom-color":t.border_bottom.color,height:t.header_height,"border-top-left-radius":"".concat(this.p.table.roundness,"px"),"border-top-right-radius":"".concat(this.p.table.roundness,"px")}),"".concat(t.header_height-t.border_bottom.width,"px"));this.tableHeader.find("span").css({height:o,"line-height":o,"text-align":t.column_all.font.halign,"text-decoration":t.column_all.font.underline?"underline":"none"}),t.columns.forEach(function(t){a(t)}),this.updateTableBodyPositionInNextFrame()},updateFooterStyle:function(){var r=this;this.p.footers.forEach(function(t){var e=t.footer_guid,a=this.tableFooter.find('[footer-guid="{0}"]'.format(e)),e=t.properties,o=(Utils.FontUtils.loadFont(e.column_all.font.family),function(t){var e=$('[column-guid="{0}"]'.format(t.binding_guid),a);Utils.FontUtils.loadFont(t.font.family),e.css({"font-family":t.font.family,"font-size":t.font.size,"text-shadow":t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),"font-style":t.font.italic?"italic":"normal",color:t.font.color,height:n,"line-height":n,"text-align":t.font.halign,"text-decoration":t.font.underline?"underline":"none"})}.bind(this)),n=(a.css({"font-family":e.column_all.font.family,"font-size":e.column_all.font.size,"text-shadow":e.column_all.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","font-weight":Utils.FontUtils.getFontWeight(e.column_all.font.family,e.column_all.font.font_weight),"font-style":e.column_all.font.italic?"italic":"normal",color:e.column_all.font.color,background:e.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(e.background.color,DashboardUtils.shadeBlend(null,e.background.color)):("transparent"!=e.background.color?e:r.p.body).background.color,"border-top-width":"".concat(e.border_top.width,"px"),"border-top-color":e.border_top.color,height:e.footer_height,"border-bottom-left-radius":"".concat(this.p.table.roundness,"px"),"border-bottom-right-radius":"".concat(this.p.table.roundness,"px")}),"".concat(e.footer_height-e.border_top.width,"px"));a.find("span").css({height:n,"line-height":n,"text-align":e.column_all.font.halign,"text-decoration":e.column_all.font.underline?"underline":"none"}),this.setDefaultColumnStyle(t,a),e.columns.forEach(function(t){o(t)})}.bind(this)),this.updateTableBodyPositionInNextFrame()},setDefaultColumnStyle:function(t,a){var o=["count","dcount","sum","avg"];t.columns.forEach(function(e){!Utils.arrayFirst(t.properties.columns,function(t){return t.binding_guid==e.binding_guid})&&-1<$.inArray(e.aggregation,o)&&$('[column-guid="{0}"]'.format(e.binding_guid),a).css({"text-align":"right"})})},updateTableContainerStyle:function(){var t=this.p.table;Utils.FontUtils.loadFont(t.font.family,this.updateHeadersWidthInNextFrame.bind(this)),this.tableViewport.css({"border-width":t.border.width,"border-color":t.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(t.shadow),"border-radius":"".concat(t.roundness?t.border.width+t.roundness:0,"px"),background:t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color}),this.updateHeadersWidthInNextFrame()},getDisplayData:function(){var t=$("<table></table>");return this.buildBodyFromTableNodes(t),this.buildHeadersFromTableNodes(t),this.buildFootersFromTableNodes(t),t},buildFootersFromTableNodes:function(t){var e=this._Data.values,l=this.getBindings(Enums.WidgetAreas.Values);this.p.footers.forEach(function(n,r){var i=$("<tr></tr>");i.append($("<td></td>").attr("colspan",this._Data.rows.length).text(n.name)),e.forEach(function(t,e){t.id&&"".concat(t.id);var a,o=l[e];o.hidden||(a=function(e){return function(t){return t.binding_guid===e}},"none"!==((t=function(){return"bindings"===this.p.data.mode?Utils.arrayFirst(n.columns,a(o.guid)):"custom"===this.p.data.mode?n.columns[0]:void 0}.call(this))?t.aggregation:"none")||o&&o.hidden?(e=0,"bindings"===this.p.data.mode&&(t=Utils.arrayFirstIndex(n.columns,a(o.guid)),this._Data.footers[r]&&this._Data.footers[r][t]&&(e=this._Data.footers[r][t])),i.append($("<td></td>").text(e))):i.append($("<td></td>")))}.bind(this)),t.append(i)}.bind(this))},buildHeadersFromTableNodes:function(t){var e=$("<tr></tr>");$("span",this.tableHeader).each(function(){e.append($("<td></td>").text($(this).text()))}),t.prepend(e)},buildBodyFromTableNodes:function(t){var e=this.getBindings(Enums.WidgetAreas.Values);if(this.p.row_all.hide_subtotals){var a=null,a=this._Data.data,o={depth:0,untilDepth:this.p.row_all.auto_expanded||this.p.row_all.hide_subtotals?this._Data.rows.length-1:0,metadata:this._Data.rows,rowsConfig:this._Data.rows.map(this.getRowConfig(this.getBindings(Enums.WidgetAreas.Rows),this.p.rows,this.p.row_all).bind(this))},a=Utils.arrayFlatten(a.map(this.convertNodeToRowModels(o).bind(this))).map(this.rowModelToUI.bind(this)),o=document.createElement("table");o.innerHTML=a.join("");var n,r=_createForOfIteratorHelper(o.querySelectorAll(".expanded"));try{for(r.s();!(n=r.n()).done;){for(var i=n.value,l=i.nextSibling,s=i.querySelectorAll(".empty.before, .dimension"),d=l.querySelectorAll(".empty.before"),c=0;c<d.length;c++)d[c].parentNode.replaceChild(s[c],d[c]);i.remove()}}catch(t){r.e(t)}finally{r.f()}t.append($("tr",$(o)))}else for(var u=this._Data.data.length-1;0<=u;u--){for(var p=this._Data.data[u],h=0,g=p.nodes.length-1;0<=g;g--)h=this.buildDomFromTableNodes(p.nodes[g],t);var b=$("<tr></tr>");b.append($("<td></td>").text(p.name));for(c=1;c<=h;c++)b.append($("<td></td>"));for(var f=0;f<p.values.length;f++){var m,_,y=e[f];y&&!y.hidden&&(m=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===y.guid}),_=p.values[f],m&&m.properties.format&&-1!==Utils.formatToExportAsString.indexOf(m.properties.format.Type)&&(_=Utils.formatValue(_,m.properties.format)),b.append($("<td></td>").text(_)))}t.prepend(b)}},buildDomFromTableNodes:function(t,e){if(t.nodes&&t.nodes.length){for(var a,o=t.nodes.length-1;0<=o;o--){var n=t.nodes[o],n=this.buildDomFromTableNodes(n,e);(!a||a<n)&&(a=n)}return this.buildRowFromTableNodes(t,e,a)}return this.buildRowFromTableNodes(t,e)},buildRowFromTableNodes:function(t,e,a){for(var o=this.getBindings(Enums.WidgetAreas.Values),n=$("<tr></tr>"),r=0;r<t.depth;r++)n.append($("<td></td>"));if(n.append($("<td></td>").text(t.name)),a)for(var i=a-t.depth,l=0;l<i;l++)n.append($("<td></td>"));for(var s=0;s<t.values.length;s++){var d,c,u=o[s];u&&!u.hidden&&(d=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===u.guid}),c=t.values[s],d&&d.properties.format&&-1!==Utils.formatToExportAsString.indexOf(d.properties.format.Type)&&(c=Utils.formatValue(c,d.properties.format)),n.append($("<td></td>").text(c)))}return e.prepend(n),a||t.depth},updateBodyStyle:function(){var t=this.p.body,e=(Utils.FontUtils.loadFont(t.font.family,this.updateHeadersWidthInNextFrame.bind(this)),this.hasExpandedIcon()&&(this.tbody.find("tr.expanded .expand-icon i").removeClassPrefix("fa-").addClass(this.getExpandedIcon()),this.tbody.find("tr:not(.expanded) .expand-icon i").removeClassPrefix("fa-").addClass(this.getCollapsedIcon())),[]);e["table.data tr td > div"]="height: {0}px; line-height: {0}px".format(t.row_height),e["table.data tr td svg"]="height: {0}px;".format(t.row_height),e["table.data tr"]="font-family: {0};".format(t.font.family),this._updateBodyStyle_injectGridLines(e),this._updateBodyStyle_injectRowStyles(e),this._updateBodyStyle_injectColumnStyles(e),this._updateHeaderStyle_injectHeaderStyle(e),Utils.AppendCSSToPage("#widget_".concat(this.guid),e),this.updateHeadersWidthInNextFrame()},_updateBodyStyle_injectGridLines:function(t){var e=this.p.table;"none"!==e.lines.type&&(t["table.data td"]="border-color: {0};".format(e.lines.color),"both"!==e.lines.type&&"vertical"!==e.lines.type||(t["table.data td:not(.value-0)"]="border-left-width: 1px;",t[".table-header span"]="border-color: {0};".format(e.lines.color),t[".table-footer span"]="border-color: {0};".format(e.lines.color),t[".table-header span.last"]="border-right-width: 1px",t[".table-header span:not(:first-child):not(.value-0)"]="border-left-width: 1px;",t[".table-footer span:not(:first-child):not(.value-0)"]="border-left-width: 1px;",t[".table-footer span.label"]="border-right-width: 1px"),"both"!==e.lines.type&&"horizontal"!==e.lines.type||(this.p.row_all.hide_subtotals||(t["table.data tr.row.expanded + tr.row td.empty.before.last"]="border-top-width: 1px;"),t["table.data td.dimension"]="border-top-width: 1px",t["table.data td.dimension ~ td"]="border-top-width: 1px"),t["table.data td.dimension.notvisible"]="text-indent: -9999px;",t["table.data td.dimension.notvisible"]+="border-top: 0px","both"!==e.lines.type&&"vertical"!==e.lines.type||(t["table.data td.dimension.last-column"]="border-right-width: 1px",t["table.data td.empty.after.last"]="border-right-width: 1px"))},_updateBodyStyle_injectRowStyles:function(s){function d(t,e){return t&&t[e].enabled?t[e]:u[e].enabled?u[e]:a}function c(t){var e=["text-shadow: {0}".format(t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),"text-decoration: {0}".format(t.font.underline?"underline":"none"),"font-family: {0}".format(t.font.family),"text-align: {0}".format(t.font.halign),"font-weight: {0}".format(Utils.FontUtils.getFontWeight(a.font.family,t.font.font_weight)),"font-style: {0}".format(t.font.italic?"italic":"normal"),"font-size: {0}px".format(t.font.size),"color: {0}".format(t.font.color),"background: {0}".format(t.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background.color,DashboardUtils.shadeBlend(null,t.background.color)):t.background.color)];return e="both"!==o&&"horizontal"!==o&&t.border_bottom&&"none"!==t.border_bottom.type?e.concat(["border-bottom-color: {0}".format(t.border_bottom.color),"border-bottom-style: {0}".format(t.border_bottom.type),"border-bottom-width: 1px;"]):e}var a=this.p.body,u=this.getDrilldownRowProperties("all"),o=this.p.table.lines.type,t=function(t){return this.getDrilldownRowProperties(t,!1)}.bind(this);(function(){var e;return(this.p.data_id&&"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Rows).map((e="guid",function(t){return t[e]})):Utils.arrayWithoutLast(this.p.data.custom[0])).map(t)}).call(this).forEach(function(t,e){(t=t||u).custom_width_set?s["table tr.row td:nth-child({0})".format(e+1)]="min-width: {0}px; width: {0}px; max-width: {0}px;".format(t.custom_width):s["table tr.row td:nth-child({0})".format(e+1)]="min-width: {0}px;".format(30);var a=d(t,"collapsed"),t=d(t,"expanded"),o=c(a),n=c(t),o=(s["table tr.row-{0}:not(.expanded) td".format(e)]=o.join(";"),s["table tr.row-{0}.expanded td".format(e)]=n.join(";"),DashboardUtils.luminosity(a.background.color)),n=DashboardUtils.luminosity(t.background.color),r=DashboardUtils.shadeBlend(.5<o?-.03:.05,a.background.color),i=DashboardUtils.shadeBlend(.5<n?-.03:.05,t.background.color),r=(s["table.data.can-hover-rows tr.row-{0}:not(.expanded):hover td".format(e)]="background-color: {0};".format(r),s["table.data.can-hover-rows tr.row-{0}.expanded:hover td".format(e)]="background-color: {0};".format(i),DashboardUtils.shadeBlend(.5<o?-.07:.1,a.background.color)),i=DashboardUtils.shadeBlend(.5<n?-.07:.1,t.background.color);s["table.data.can-select-rows tr.row-{0}:not(.expanded).selected td".format(e)]="background-color: {0};".format(r),s["table.data.can-select-rows tr.row-{0}.expanded.selected td".format(e)]="background-color: {0};".format(i);for(var l=0;l<e;l++)s[".ui:not(.expanded-depth-{0}) table.data td:nth-child({1})".format(l,l+2)]="border-left: 0; color: transparent;"});for(var e=0;e<this._Data.rows.length-1;e++)s[".ui:not(.expanded-depth-{0}) .table-header span:nth-child({1})".format(e,e+2)]="border-left: 0;",s[".ui:not(.expanded-depth-{0}) .table-header span:nth-child({1}) div div".format(e,e+2)]="color: transparent;",s[".ui:not(.expanded-depth-{0}) .table-header span:nth-child({1}) div i".format(e,e+2)]="color: transparent;"},_updateBodyStyle_injectColumnStyles:function(o){var t=function(t){return this.getValueColumnProperties(t,!0)}.bind(this);(function(){return("bindings"===this.p.data.mode&&this.p.data_id?this.getBindings(Enums.WidgetAreas.Values).map(function(t){return t.guid}):[Utils.arrayLast(this.p.data.custom[0])]).map(t)}).call(this).forEach(function(t,e){var a={},t=function(t,e){var a=["overflow: hidden"],a=t.custom_width_set?a.concat("min-width: {0}px; width: {0}px; max-width: {0}px;".format(t.custom_width)):a.concat("min-width: {0}px;".format(30));switch(t.background_color&&a.push("background: {0}".format(t.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.background_color,DashboardUtils.shadeBlend(null,t.background_color)):t.background_color)),t.visualization){case"value":a.push("text-align: {0}".format(t.align));break;case"bar":var o=t.bar.gradient?"linear-gradient(to left, {0} 0, {1} 100%)".format(t.bar.color,DashboardUtils.shadeBlend(null,t.bar.color)):t.bar.color;e["> .bar"]="background: {0};".format(o),t.bar.border&&t.bar.border.color&&"transparent"!==t.bar.border.color&&(e["> .bar"]+="border: {0}px solid {1};".format(t.bar.border.width,t.bar.border.color)),"center"!=t.bar.bar_align&&(e["> .bar"]+="border-{0}: none;".format(t.bar.bar_align));break;case"conditional":o=t.align||"right";a.push("text-align: {0}".format(o))}return a}(t,a);o["table .value-{0}".format(e)]=t.filter(function(t){return 0<=t.indexOf("width")}).join(";"),o["table .value-{0} > div".format(e)]=t.join(";"),Object.keys(a).forEach(function(t){o["table .value-{0} > div {1}".format(e,t)]=a[t]})})},_updateHeaderStyle_injectHeaderStyle:function(t){this.p.header.wrap?t[".table-header .column_name"]="white-space: pre-wrap!important; word-break: break-word; line-height: 1.4!important; display: inline-block;":t[".table-header .column_name"]="",t[".table-header .sticky > div"]="background-color: {0}".format(this.p.header.background.color)},initCluster:function(){var t=this.p.body.row_height_automatic?30:this.p.body.row_height,t=Math.round(this.ui.height()/t);this._cluster=new Clusterize({dom_mode:!0,rows:this._clusteredRows,scrollElem:this.tableViewport[0],contentElem:this.table.find("tbody")[0],rows_in_block:t<4?50:t,blocks_in_cluster:2})},findRowInCluster:function(e){return Utils.arrayFirst(this._clusteredRows,function(t){return-1<t.indexOf('data-clientid="{0}"'.format(e))})},findRowIdxInCluster:function(e){return Utils.arrayFirstIndex(this._clusteredRows,function(t){return-1<t.indexOf('data-clientid="{0}"'.format(e))})},findJqRowInCluster:function(t){return $(this.findRowInCluster(t))},updateRowInCluster:function(t,e){this._clusteredRows[this.findRowIdxInCluster(t)]=e},removeRowsFromCluster:function(t){for(var e=1;e<t.length;e++){var a=this.findRowIdxInCluster(t[e]);-1<a&&this._clusteredRows.splice(a,1)}this._cluster.update(this._clusteredRows)},collapseRow:function(t){var e=this,a=t.attr("data-clientid"),o=this.getNodeFromClientId(a),n=o,r=[];if(o){function i(t,e){if(e.push(t.clientId),t.nodes)for(var a=0;a<t.nodes.length;a++)i(t.nodes[a],e)}function l(t){t.removeClass("expanded"),t.find(".expand-icon i").removeClass(e.getExpandedIcon()).addClass(e.getCollapsedIcon())}var s,d,c=this.findJqRowInCluster(a),u=(l(t),l(c),this.updateRowInCluster(a,c[0].outerHTML),o.expanded=!1,o.depth);do{if(t=t.next(),s&&s.remove(),!t.length)return i(n,r),this.removeRowsFromCluster(r),this.updateExpandedColumnCSSClasses(),this.updateHeadersWidthInNextFrame(),void this.updateTableSize()}while((a=t.attr("data-clientid"),o=this.getNodeFromClientId(a))&&(u<(d=o.depth)&&(s=t),u<d));i(n,r),this.removeRowsFromCluster(r),this.updateExpandedColumnCSSClasses(),this.updateHeadersWidthInNextFrame(),this.updateTableSize()}},updateExpandedColumnCSSClasses:function(){for(var t=function e(t,a){var o=a=a||0;return t.forEach(function(t){t.expanded&&(t=e(t.nodes,a+1),o=Math.max(o,t))}),o}(this._Data.data),e=(this.ui.removeClassPrefix("expanded-depth-"),""),a=0;a<t;a++)e+="expanded-depth-{0} ".format(a);""!==e&&this.ui.addClass(e)},expandRow:function(t){var e=this;try{function a(t){t.addClass("expanded"),t.find(".expand-icon i").addClass(e.getExpandedIcon()).removeClass(e.getCollapsedIcon())}var o=t.attr("data-clientid"),n=this.getNodeFromClientId(o),r=this.findJqRowInCluster(o);a(t),a(r),n.expanded=!0,this.ui.addClass("expanded-depth-{0}".format(n.depth)),this.updateRowInCluster(o,r[0].outerHTML),this.appendRowsToTable(t),this.updateExpandedColumnCSSClasses()}catch(t){}},onSelectRow:function(t,e){try{var a=[],o=-1;if(!e&&t.is(".selected"))t.removeClass("selected");else{t.addClass("selected").siblings("tr.selected").removeClass("selected");for(var n=t.attr("data-clientid"),r=this.getNodeFromClientId(n),i=r,l=i.depth,o=+n,a=r.values.slice();0<=l;){this._Data.rows[l];a.unshift(i.name),i=i.parentNode,l--}}this.selectedrow=a,this.selectedrowindex=o}catch(t){}this.updateState()},onDblClickRow:function(t){if(this.p.interactions.onrowdblclick&&this.dashboard&&("bindings"!=this.p.data.mode||null!==this.p.data_id)){for(var e=[],t=t.attr("data-clientid"),a=this.getNodeFromClientId(t),o=a.depth;0<=o;){var n=this._Data.rows[o];a&&(0<n.id&&e.push({Column:n.original_name,Value:a.name,ColumnId:n.id,Operator:8,Grouping:this.getBindings(Enums.WidgetAreas.Rows,o).grouping}),a=a.parentNode),o--}var r=this.p.interactions.onrowdblclick,i=r.type;switch(i){case"url":DashboardUtils.handleUrlInteraction(this.dashboard,this,r);break;case"dashboard":this.handleDashboardInteraction(r);break;case"details":this.displayRowDataPopup(e);break;default:throw new Error("Interaction type is not handled:",i)}}},initializeSettings:function(t){function e(t){this.settings=t,this._firstLoad=!0,this._isDirty=!1,this.ui={content:$("#tablefooter")}}$('<button type="button" id="tab_footer" quickTab-href="tablefooter" class="quickTab"><i class="far fa-2x fa-server "></i><p>{0}</p></button>'.format(_("TA2TableFooterTab"))).insertAfter($("#tab_data")),this.setSortFilterTabState(),$('<div id="tablefooter">').prependTo(".content");e.prototype={show:function(){this.settings.toggleContent("tablefooter"),this.load()},load:function(){var t=this.settings._widget;t.renderTableFooterTab&&t.renderTableFooterTab(this)}},t.TableFooter=new e(t),routie("tablefooter",function(){t.TableFooter.show()}),$('button[quicktab-href="'.concat(window.location.hash.substring(1),'"]')).addClass("active")},renderTableFooterTab:function(a){var l,s,r,d,c,e,u,o,t,n,p,i,h=this.p.calculated_columns||[],g=this,b=a.ui.content.empty(),f="<header>".concat(_("TA2TableFooterTabHeader"),'</header>                           <div class="ta2_tablefooter_container">                               <button type="button" class="btn btn-default btn-grey addTableFooter">').concat(_("TA2AddNewSummary"),'</button>                               <div class="sortable_list_container"></div>                           </div>'),m=(b.append(f),function(){a.settings.Data._isDirty=!0,this.update()}.bind(this));this.p.data_id&&!a.cacheColumns?WS.get("DashboardEditor/Data/{0}/{1}".format(this.p.data_id,this._from.dashboard.id),this).done(function(t){a.cacheColumns={dataclone_id:this.p.data_id,columns:t.columns},this.renderTableFooterTab(a)}).fail(WS.displayDefaultError):(l=function(t,e){return Utils.arrayFirst(t,function(t){return t.column_id===e})},s=function(t,e){return Utils.arrayFirst(t,function(t){return t.binding_guid===e})},r=function(t){if("custom"===g.p.data.mode)return!1;for(var e=g.getBindings(Enums.WidgetAreas.Values),a=0;a<t.length;a++){var o=t[a];o.binding_guid||(o.binding_guid=e[a].guid)}},d=function(t,e,a){$(".formula-container",e).parent().remove(),e.removeClass("calculated"),a.removeClass("calculated"),"calculated"==t.aggregation&&(t.formula||(t.formula=""),e.addClass("calculated"),a.addClass("calculated"),g.settings.Format.addFormulaInput({container:e,widget:g,dashboard:g.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:"formula",appendToBody:!0,callback:function(t){m()}}))},c=function(t){return-1<Enums._NumericDataTypes.indexOf(t.type)||t.column_id&&parseInt(t.column_id)<0||"calculated"==t.type?["none","count","dcount","sum","avg","min","max","calculated"]:["none","count","dcount","min","max","calculated"]},e=function(t){return"none"===t?_("TA2_TableFooterHideAggregation"):_("Aggregation_".concat(t))},u=function(t){return $("<option>").attr("value",t).text(e(t))},o=function(e){return Utils.arrayFirst(a.cacheColumns.columns.concat(h),function(t){return t.id===e})},t=function(t){var e=0<=t.__type.indexOf("CountDataBindingProperties")?{id:"count",name:t.name||_("Count"),type:"System.Int64"}:o(t.column_id);return{column_id:"".concat(e.id),name:t.name||(e?e.name:"-"),type:e?e.type:"",aggregation:y,formula:"",binding_guid:t.guid}},n=function(t){return{name:t,column_id:t,type:"System.Int64",aggregation:y,formula:""}},p=function(){return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values).map(t):"custom"===this.p.data.mode?[Utils.arrayLast(this.p.data.custom[0])].map(n):void 0}.bind(this),i=new SortableList({container:$(".ta2_tablefooter_container .sortable_list_container"),object:this.p,property:"footers",onDeleteCallback:m,onSortCallback:m,columns:[{name:_("TA2TableFooters"),cellFormat:function(e,t){t.addClass("footerCell");var i,a=$('<table class="valuesTable">').hide(),o=(a.append(p().map((r((i=e).columns),function(e){var t,a,o=$('<td class="valueName">').text(e.name),n=c(e).map(u),n=$("<select>").append(n),r=$("<td>").append(n);return(a="bindings"===g.p.data.mode?s(i.columns,"".concat(e.binding_guid)):l(i.columns,"".concat(e.column_id)))||(t=Utils.arrayFirst(g.getBindings("Values"),function(t){return t.guid==e.binding_guid}),a={column_id:t.is_count?"count":"".concat(t.column_id),aggregation:y,binding_guid:"".concat(t.guid)},i.columns.push(a)),n.comboBox({appendToBody:!0,onChange:function(){a.aggregation=this.getValue(),d(a,r,o),m()}}).comboBox("select",a?a.aggregation:"none"),d(a,r,o),$("<tr>").append(o,r)}))),$('<input type="text" />').val(e.name).on("change",function(){var t=$(this).val();e.name=t,m()})),o=$('<div class="inputContainer">').append(o),n=$('<button type="button" class="borderless"><i class="fas"></i></button>').on("click",function(){a.toggle(),n.toggleClass("expanded")}),o=$('<div class="inputButtonContainer">').append(o,n);t.append(o,a)}.bind(this)}]}),$(".addTableFooter",b).on("click",function(){i.addNewObject({footer_guid:Utils.newGuid(),name:_("Total"),properties:$.extend(!0,{},g.p.footer_all),columns:p()}),m()}))},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                             \x3c!--<li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formula_desc }}</small></label></li>--\x3e                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,this.orderByFilters=[],e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.clearCustomStyleConfigurations(),e.update()})},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode},renderDataBindings:function(a){var n=this,o=this.getValueColumnProperties.bind(this),e=new Settings.Data.Bindings(a),t=(e.render([{name:_("DrilldownColumns"),placeholder:_("DropDrilldownColumnsHerePlaceholder"),area:Enums.WidgetAreas.Rows,height_ratio:.5,disabledCalculated:!0},{name:_("ValueColumns"),placeholder:_("DropValueColumnsHerePlaceholder"),area:Enums.WidgetAreas.Values,height_ratio:.5}]),Object.keys(C).map(function(t){return"".concat('<li data-visualization="{0}"><label class="fa-checkbox"><input type="radio" name="visualization_ddl_radio" /><i class="far"></i><span>'.format(t)+_("Visualization_".concat(t)),"</span></label></li>")}).join(""));e.ui.visualization_ddl=$('<ul id="data-visualization-ddl" class="dropdown-menu dropdown-arrow">'.concat(t,"</ul>")).appendTo("body"),e.ui.drop_areas.on("mousedown",".visualization-picker-ddl",function(){var t=$(this).closest(".area-column");return e.toggleVisualizationPopup(t),!1}),e.ui.visualization_ddl.on("change","input",function(){e.visualizationPopupChanged()}),e.templates.area_measure_column='                    <li class="area-column measure big {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                        <div class="column">                            <span class="title" title="{{col_name}}">{{ name }}</span>                            {{^is_context}}<span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span> {{/is_context}}                            <span class="visualization-picker-ddl"><span class="value">{{ visualization }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        </div>                        <div class="buttons">                            <button type="button" class="visibility"><i class="far"></i></button>                            <button type="button" class="edit"><i class="far fa-edit"></i></button>                            <button type="button" class="remove"><i class="far fa-trash"></i></button>                        </div>                    </li>',e.templates.area_count_column='                    <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}">                        <div class="column">                            <span class="title" title="{{col_name}}">{{name}}</span>                            <span class="visualization-picker-ddl"><span class="value">{{ visualization }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span>                        </div>                        <div class="buttons">                             <button type="button" class="visibility"><i class="far"></i></button>                            <button type="button" class="edit"><i class="far fa-edit"></i></button>                            <button type="button" class="remove"><i class="far fa-trash"></i></button>                        </div>                    </li>',e.getAreaColumnTemplateItemData=function(t,e){t.area===Enums.WidgetAreas.Values&&(t=o(t.guid),e.visualizationLabel=_("Visualization"),e.visualization=_("Visualization_".concat(t.visualization)))},e.toggleVisualizationPopup=function(t){var e=t.data("binding"),a=t.find(".visualization-picker-ddl .ddl-opener"),e=o(e.guid).visualization;this.ui.visualization_ddl.find("input").prop("checked",!1).end().find('[data-visualization="{0}"] input'.format(e)).prop("checked",!0).end().css({top:a.offset().top+a.outerHeight(),left:a.offset().left}).toggle().data("area_column",t),t.toggleClass("opened")},e.visualizationPopupChanged=function(){var t=this.ui.visualization_ddl.find(":checked").closest("li").attr("data-visualization"),e=this.ui.visualization_ddl.data("area_column"),a=e.data("binding"),o=Utils.arrayFirst(n.p.columns,function(t){return t.binding_guid===a.guid});e.find(".visualization-picker-ddl .value").text(_("Visualization_".concat(t))),this.ui.visualization_ddl.hide(),o.properties=$.extend(!0,{},C[t]),"spark"===t?(a.aggregation="values",$(".current-aggregation .value",e).text(_("Aggregation_values")),n.update()):"values"===a.aggregation?(a.aggregation="sum",$(".current-aggregation .value",e).text(_("Aggregation_sum")),n.update()):n.render(),this._isDirty=!0},e.on("aggregationChanged",function(t){var e=t.binding,t=t.areaColumn,a=Utils.arrayFirst(n.p.columns,function(t){return t.binding_guid===e.guid});"spark"===a.properties.visualization&&(a.properties=$.extend(!0,{},C.value),t.find(".visualization-picker-ddl .value").text(_("Visualization_".concat("value"))))}),e.closeCustomPopups=function(){this.ui.visualization_ddl.hide()},e.on("bindingAdded",function(e){e.area===Enums.WidgetAreas.Values?(this.createDefaultValueColumnProperties(e.guid,!0),this.p.footers.forEach(function(t){t.columns.push({column_id:e.is_count?"count":"".concat(e.column_id),aggregation:y,binding_guid:"".concat(e.guid)})})):a.bindingsChanged=!0}.bind(this)),e.on("bindingCleared",function(){this.clearCustomStyleConfigurations()}.bind(this)),e.on("bindingRemoved",function(o){function t(e){return function(t){return t.binding_guid!==e}}o.area===Enums.WidgetAreas.Values&&(this.p.footers.forEach(function(t){var e,a=o.is_count?"count":"".concat(o.column_id);t.columns=t.columns.filter((e=a,function(t){return t.column_id!==e}))}),this.p.columns=this.p.columns.filter(t(o.guid))),o.area===Enums.WidgetAreas.Rows&&(this.p.rows=this.p.rows.filter(t(o.guid)),a.bindingsChanged=!0),this.p.header.columns=this.p.header.columns.filter(function(t){return t.binding_guid!==o.guid}),this.p.data_bindings.length<1&&(this.p.footers=[],this.setSortFilterTabState()),this.resetSortAndFilters(o)}.bind(this)),e.on("dateGroupingChanged",function(t){t=this.getDrilldownRowProperties(t.guid);t&&t.format&&(t.format=null)}.bind(this)),this.data_destroy_callback=function(){e.destroy()}},clearCustomStyleConfigurations:function(){this.p.rows=[],this.p.columns=[],this.p.header.columns=[],this.p.footers=[],this.resetSortAndFilters()},renderDataCustomTable:function(t){var e=this.update.bind(this),a=this,o=(t.ui.append($('<header class="nomargin">').text(_("TA2DataCustomHeader"))),new Settings.Data.CustomTable(t));o.getAddColumnIndex=function(){return this._data[0].length-1},o.getDefaultColumnName=function(){return _("Column")},o.customColumnRenameProcess=function(t,e,a){var o=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===e});o?o.binding_guid=a:console.error("No column configuration found for the column",e)}.bind(this),o.render({object:this.p.data,property:"custom",callback:function(){a.resetSortAndFilters(),e()}}),this.data_destroy_callback=function(){o.destroy()}},getCustomData:function(){return this.p.data.custom.slice(1)},renderInteractionsTab:function(t){t.ui.empty();var e=this.toggleRowInteractions.bind(this);t.settings.Format.addBoolean({container:t.ui,label:_("EnableRowHover"),object:this.p.interactions,property:"rowhover",callback:e}),t.settings.Format.addBoolean({container:t.ui,label:_("EnableRowSelection"),object:this.p.interactions,property:"rowselect",callback:e}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_OnDblRowClick"),object:this.p.interactions,parameters:!0,property:"onrowdblclick",onChange:e,items:[{type:null},{type:"dashboard"},{type:"url"},{type:"details",label:_("Interaction_DisplayRowDetailsTable"),getDefaultValue:function(t){return $.extend(!0,{__type:"WidgetTA2InteractionOnDblRowClick:#Infinis"},t)},renderer:function(){}}]}),this.renderToolbarProperties(t)},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"drilldown-table-table.png",text:_("Table"),code:"background",renderer:this.getTableProperties.bind(this)}),t.push({icon:"drilldown-table-header.png",text:_("Header"),code:"header",renderer:this.getHeaderProperties.bind(this)}),t.push({icon:"drilldown-table-body.png",text:_("Body"),code:"table",renderer:this.getBodyProperties.bind(this)}),t.push({icon:"drilldown-table-footer.png",text:_("Footer"),code:"footer",renderer:this.getFooterProperties.bind(this)}),t.push({icon:"drilldown-table-rows.png",text:_("Rows"),code:"rows",renderer:this.getRowsProperties.bind(this)}),t.push({icon:"drilldown-table-values.png",text:_("Columns"),code:"columns",renderer:this.getColumnsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.renderOrUpdateTitlesIfAny.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",callback:e,dropDown:!0}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getTableProperties:function(t){var e=this.updateTableContainerStyle.bind(this),a=this.updateAllStyles.bind(this),o=(function(){this.updateTableContainerStyle(),this.updateHeaderStyle(),this.updateFooterStyle()}.bind(this),function(t){var e=this.p.table.background[t];this.propagatePropertyToTableChildren("background.".concat(t),e),this.updateAllStyles()}.bind(this)),n=function(t){var e=this.p.table.font[t];this.propagatePropertyToTableChildren("font.".concat(t),e),this.updateAllStyles()}.bind(this),r=function(){this.canHaveRowsCustomBottomBorder()||this.propagatePropertyToAllRows("border_bottom.type","none"),this.updateAllStyles()}.bind(this),i=(function(){this.updateAllStyles()}.bind(this),this.p.table),n=(t.addFont({dropDown:!0,object:i,property:"font",callback:n}),t.addSeparator(),t.addBackgroundColor({object:i.background,property_color:"color",property_gradient:"gradient",callback:o}),t.addSeparator(),t.addBorder({object:i,property:"border",callback:a}),t.addSeparator(),t.addShadow({object:i,property:"shadow",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:i,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addSection());t.addToggleButtons({section:n,label:_("VerticalAndHorizontalLines"),object:i.lines,property:"type",callback:r,buttons:[{icon:"fa-times",value:"none",class:"none"},{image:"grid-vertical-horizontal.png",value:"both"},{image:"grid-vertical.png",value:"vertical"},{image:"grid-horizontal.png",value:"horizontal"}]}),t.addColor({dropDown:!1,container:n,label:_("LineColor"),object:i.lines,property:"color",callback:a}),t.addSeparator(),t.addToggleButtons({label:_("CollapseExpandIcon"),object:i,property:"expand_icon",callback:this.render.bind(this),buttons:[{image:"collapse-expand-plus.png",value:"plus"},{image:"collapse-expand-arrow.png",value:"arrow"},{image:"collapse-expand-folder.png",value:"folder"}]}),t.addSeparator()},getHeaderProperties:function(e){var a=this,o=this.updateHeaderStyle.bind(this),t={label:_("All"),value:"all"},n=this.prepareColumnsDropdown(),r=(e.addNumber({label:_("HeaderHeightInPx"),object:this.p.header,property:"header_height",min:0,callback:o}),e.addBoolean({label:_("WrapText"),object:this.p.header,property:"wrap",callback:this.updateBodyStyle.bind(this)}),e.addSeparator(),e.addBackgroundColor({object:this.p.header.background,property_color:"color",property_gradient:"gradient",callback:o}),e.addBorder({label:_("BorderBottom"),object:this.p.header,property:"border_bottom",callback:o}),e.addSeparator(),e.addDropdown({label:_("Columns"),object:{},property:"column",callback:function(t){a.onColumnDropdownChange(e,a.p.header,r,t,!0,!1,o)},combobox:{containerClasses:"ddl-placeholder",dataprovider:n}}),e.addSection().addClass("nomargin").appendTo(e.ui.content));this.onColumnDropdownChange(e,this.p.header,r,t,!0,!1,o),e.addSeparator()},getBodyProperties:function(t){var e=function(){this.updateTableBodyPositionInNextFrame(),this.updateBodyStyle(),this.updateTableSize()}.bind(this),a=function(t){var e=this.p.body.background[t];this.propagatePropertyToBodyChildren("background.".concat(t),e),this.updateBodyStyle()}.bind(this),o=function(t){var e=this.p.body.font[t];this.propagatePropertyToBodyChildren("font.".concat(t),e),this.updateBodyStyle()}.bind(this),o=(t.addFont({object:this.p.body,dropDown:!0,property:"font",callback:o}),t.addSeparator(),t.addBackgroundColor({object:this.p.body.background,property_color:"color",property_gradient:"gradient",callback:a}),t.addSeparator(),t.addSection());t.addBoolean({section:o,section_reverse:!0,label:_("AutoHeight"),object:this.p.body,property:"row_height_automatic",callback:e}),t.addNumber({container:o,label:_("RowHeightInPx"),object:this.p.body,property:"row_height",min:0,callback:e}),t.addSeparator()},getFooterProperties:function(a){var o,n=this,r={label:_("All"),value:"all"},t=[r].concat(this.p.footers.map(function(t){return{label:t.name,value:t.footer_guid}})),i=!0,l=function(t){var e;i&&(e=this.p.footer_all.background[t],this.propagatePropertyToAllFooters("properties.background.".concat(t),e)),this.updateFooterStyle()}.bind(this),s=function(){var t;i&&(t=this.p.footer_all.footer_height,this.propagatePropertyToAllFooters("properties.footer_height",t)),this.updateFooterStyle(),this.updateHeaderAndFooterPosition()}.bind(this),d=function(t){var e;i&&(e=this.p.footer_all.border_top[t],this.propagatePropertyToAllFooters("properties.border_top.".concat(t),e)),this.updateFooterStyle(),this.updateHeaderAndFooterPosition()}.bind(this),c=(_("All"),this.prepareColumnsDropdown(!0)),e=function(t){u.empty(),o&&o.empty(),i="all"===t.value;var e=this.getTableFooterProperties(t.value);a.addNumber({container:u,label:_("FooterHeightInPx"),object:e,property:"footer_height",min:0,callback:s}),a.addSeparator({container:u}),a.addBackgroundColor({container:u,object:e.background,property_color:"color",property_gradient:"gradient",callback:l}),a.addBorder({container:u,label:_("BorderTop"),object:e,property:"border_top",callback:d}),a.addSeparator({container:u}),a.addDropdown({label:_("Columns"),container:u,object:{},property:"column",callback:function(t){n.onColumnDropdownChange(a,e,o,t,!0,i,n.updateFooterStyle.bind(n),!0),a.addSeparator({container:o})},combobox:{containerClasses:"ddl-placeholder",dataprovider:c}}),o=a.addSection().addClass("nomargin").appendTo(a.ui.content),this.onColumnDropdownChange(a,e,o,r,!0,i,this.updateFooterStyle.bind(this),!0),a.addSeparator({container:o})}.bind(this),u=(a.addDropdown({label:_("TableFooter"),object:{},property:"footer",callback:e,combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),a.addSeparator(),a.addSection().addClass("nomargin").appendTo(a.ui.content));e(r)},getRowsProperties:function(i){function t(t){return{label:t.name||a(t).name,value:t.guid}}function e(t){return{label:t,value:t}}var a=function(e){return Utils.arrayFirst(this._Data.rows,function(t){return t.id===e.column_id})}.bind(this),o={label:_("All"),value:"all"},n=[o],r=function(){return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Rows).map(t):"custom"===this.p.data.mode?Utils.arrayWithoutLast(this.p.data.custom[0]).map(e):void 0}.call(this),n=n.concat(r),l=!0,s=function(e,a){this.p.rows.forEach(function(t){Utils.setNestedProperty(t,e,a),Utils.setNestedProperty(t,e,a)})}.bind(this),d=function(){l&&s("properties.custom_width",this.p.row_all.custom_width),this.render()}.bind(this),c=function(){l&&s("properties.custom_width_set",this.p.row_all.custom_width_set),this.render()}.bind(this),u=function(){l&&s("properties.collapsed",this.p.row_all.collapsed),this.updateBodyStyle()}.bind(this),p=function(){l&&s("properties.expanded",this.p.row_all.expanded),this.updateBodyStyle()}.bind(this),h=function(t){var o=t,n=(g.empty(),l="all"===t.value,this.getDrilldownRowProperties(t.value)),t=function(a){return function(){var t,e;n[a].enabled&&n!==this.p.row_all&&(t=n.expanded.enabled,e=n.collapsed.enabled,$.extend(!0,n,this.p.row_all),n.expanded.enabled=t,n.collapsed.enabled=e),h(o),this.updateBodyStyle()}.bind(this)}.bind(this),e=(this.updateBodyStyle.bind(this),this.update.bind(this)),a=i.addSection(),r=i.addSection(),e=(i.addFormat({container:g,object:n,property:"format",callback:this.render.bind(this)}),l&&(i.addBoolean({container:g,object:n,label:_("HideSubTotals"),property:"hide_subtotals",callback:e}),i.addBoolean({container:g,object:n,label:_("FixedPosition"),property:"fixed_position",callback:e}),i.addBoolean({container:g,object:n,label:_("AutoExpanded"),property:"auto_expanded",callback:this.render.bind(this)}),i.addBoolean({container:g,object:n,label:_("ExpandCollapseAll"),property:"expand_collapse_all",callback:this.render.bind(this)})),i.addSection()),e=(i.addBoolean({container:g,section:e,label:_("CustomColumnWidth"),object:n,property:"custom_width_set",callback:c}),i.addNumber({container:e,label:_("ColumnWidth"),object:n,property:"custom_width",callback:d}),i.addSeparator({container:g}),i.addBoolean({container:g,section:a,label:_("EnableCollapsedFormat"),object:n.collapsed,property:"enabled",callback:t("collapsed")}),i.addSeparator({container:g}),i.addBoolean({container:g,section:r,label:_("EnableExpandedFormat"),object:n.expanded,property:"enabled",callback:t("expanded")}),i.addSeparator({container:g}),i.addFont({dropDown:!1,container:a,object:n.collapsed,property:"font",callback:u}),i.addBackgroundColor({dropDown:!1,container:a,object:n.collapsed.background,property_color:"color",property_gradient:"gradient",callback:u}),i.addSection()),t=(i.addToggleButtons({disabled:!this.canHaveRowsCustomBottomBorder(),container:a,section:e,label:_("BottomBorder"),object:n.collapsed.border_bottom,property:"type",callback:u,buttons:[{icon:"fa-times",value:"none",class:"none"},{image:"line-type-plain.png",value:"solid"},{image:"line-type-dashed.png",value:"dashed"},{image:"line-type-dotted.png",value:"dotted"}]}),i.addColor({dropDown:!1,container:e,label:_("UnderlineColor"),object:n.collapsed.border_bottom,property:"color",callback:u}),i.addFont({dropDown:!1,container:r,object:n.expanded,property:"font",callback:p}),i.addBackgroundColor({dropDown:!1,container:r,object:n.expanded.background,property_color:"color",property_gradient:"gradient",callback:p}),i.addSection());i.addToggleButtons({disabled:!this.canHaveRowsCustomBottomBorder(),container:r,section:t,label:_("BottomBorder"),object:n.expanded.border_bottom,property:"type",callback:p,buttons:[{icon:"fa-times",value:"none",class:"none"},{image:"line-type-plain.png",value:"solid"},{image:"line-type-dashed.png",value:"dashed"},{image:"line-type-dotted.png",value:"dotted"}]}),i.addColor({dropDown:!1,container:t,label:_("UnderlineColor"),object:n.expanded.border_bottom,property:"color",callback:p})}.bind(this),g=(i.addDropdown({label:_("DrilldownRows"),object:{row:null},property:"row",callback:h,combobox:{containerClasses:"ddl-placeholder",dataprovider:n}}),i.addSeparator(),i.addSection().addClass("nomargin").appendTo(i.ui.content));h(o)},getColumnsProperties:function(l){function t(t){return 0<=t.__type.indexOf("CountDataBindingProperties")?{label:t.name||_("Count"),value:t.guid}:{label:t.name||a(t).name,value:t.guid}}function e(t){return{label:t,value:t}}function r(r,a,n){function o(t){var i=c._from.dashboard;switch(t.empty(),r.visualization){case"value":l.addToggleButtons({container:t,label:_("HorizontalAlign"),object:r,property:"align",callback:u,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]}),l.addBackgroundColor({container:t,object:r,property_color:"background_color",property_gradient:"background_gradient",callback:u}),l.addSeparator({container:t}),l.addFormat({container:t,object:r,property:"format",callback:u});break;case"bar":l.addBackgroundColor({container:t,object:r,property_color:"background_color",property_gradient:"background_gradient",callback:u}),l.addSeparator({container:t}),l.addBackgroundColor({container:t,label:_("BarColor"),object:r.bar,property_color:"color",property_gradient:"gradient",callback:u}),l.addSeparator({container:t}),l.addBorder({container:t,object:r.bar,property:"border",callback:p}),l.addSeparator({container:t}),l.addHorizontalAlign({container:t,label:_("HorizontalAlign"),object:r.bar,property:"bar_align",callback:p}),l.addSlider({container:t,label:_("BarHeight"),object:r.bar,property:"bar_height",callback:u});break;case"indicator":l.addBackgroundColor({container:t,object:r,property_color:"background_color",property_gradient:"background_gradient",callback:u}),l.addSeparator({container:t}),l.addDropdown({container:t,label:_("Value"),object:r,property:"type",combobox:{dataprovider:[{value:"number",label:_("Number")},{value:"percentage",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){t.find(".TA2_intervals_container").remove(),r.intervals.forEach(function(t){t.min=$.isNumeric(t.min)?t.min:0,t.max=$.isNumeric(t.max)?t.max:0}),"indicator"===r.type&&(r.intervals=[f]),o(t,r.intervals,u,p),u()}}),o(t,r.intervals,function(){if("formula"==r.type)for(var e=0;e<r.intervals.length;e++)c.column_visualization_formula_results.forEach(function(t){c.column_visualization_formula_results[n]&&c.column_visualization_formula_results[n].filter(function(t){return t&&t[0]==e}).forEach(function(t){t[1]=r.intervals[e].symbol,t[2]=r.intervals[e].color})});u()},p);break;case"conditional":r.align||(r.align="right",l._isDirty=!0),l.addToggleButtons({container:t,label:_("HorizontalAlign"),object:r,property:"align",callback:u,buttons:[{icon:"fa-align-left",value:"left"},{icon:"fa-align-center",value:"center"},{icon:"fa-align-right",value:"right"}]}),l.addDropdown({container:t,label:_("Value"),object:r,property:"type",combobox:{dataprovider:[{value:"number",label:_("Number")},{value:"percentage",label:_("Percentage")},{value:"formula",label:_("Formula")}]},callback:function(){t.find(".TA2_intervals_container").remove(),r.intervals=[],a(t,r.intervals,u,p),u()}}),l.addSeparator({container:t}),l.addFormat({container:t,object:r,property:"format",callback:u}),a(t,r.intervals,function(){if("formula"==r.type)for(var e=0;e<r.intervals.length;e++)c.column_visualization_formula_results[n]&&c.column_visualization_formula_results[n].filter(function(t){return t&&t[0]==e}).forEach(function(t){t[1]=r.intervals[e].background_color,t[2]=r.intervals[e].font_color});u()},p);break;case"spark":l.addDropdown({container:t,label:_("Type"),object:r,property:"type",combobox:{dataprovider:["line","bar","bullet"].map(function(t){return{label:_("VisualizationSpark".concat(t)),value:t}})},callback:function(){switch(r.type){case"line":r.properties=m;break;case"bar":r.properties=v;break;case"bullet":r.properties=w;break;default:throw new Error("Unknown type of spark chart:",r.type)}t.find(".spark-properties").remove(),e(t,r,u),u()}}),l.addSeparator({container:t}),l.addBackgroundColor({container:t,object:r,property_color:"background_color",property_gradient:"background_gradient",callback:u}),l.addSeparator({container:t}),e(t,r,u);break;default:throw new Error("Visualization type ".concat(r.visualization," not handled"))}function e(t,e,a){var o=$('<div class="spark-properties sub nomargin">').appendTo(t);switch(e.type){case"line":l.addWidth({container:o,label:_("LineWidth"),object:e.properties.line,property:"width",callback:a,display_none_btn:!1});var n=l.addSection().appendTo(o),n=(l.addColor({container:n,label:_("LineColor"),object:e.properties.line,property:"color",callback:a}),l.addColor({container:o,label:_("FillColor"),object:e.properties,property:"fill_color",callback:a}),l.addSeparator({container:o}),l.addSection());l.addToggleButtons({container:o,section:n,label:_("MarkerSize"),object:e.properties.marker,property:"width",callback:a,numeric:!0,buttons:[{icon:"fa-remove",value:0,class:"none"},{image:"marker-circle.png",value:1,class:"small"},{image:"marker-circle.png",value:2},{image:"marker-circle.png",value:3,class:"big"}]}),l.addColor({container:n,label:_("CurrentColor"),object:e.properties.marker,property:"color",callback:a}),l.addColor({container:n,label:_("MaxColor"),object:e.properties.marker,property:"max_color",callback:a}),l.addColor({container:n,label:_("MinColor"),object:e.properties.marker,property:"min_color",callback:a}),l.addSeparator({container:o});break;case"bar":n=l.addSection(),n=(l.addBoolean({container:o,section:n,label:_("ShowZeroAxis"),object:e.properties.zero_axis,property:"enabled",callback:a}),l.addColor({container:n,label:_("AxisColor"),object:e.properties.zero_axis,property:"color",callback:a}),l.addSeparator({container:o}),l.addWidth({container:o,label:_("BarWidth"),object:e.properties.bar,property:"width",callback:a,display_none_btn:!1}),l.addSection().appendTo(o));l.addColor({container:n,label:_("BarColor"),object:e.properties.bar,property:"color",callback:a}),l.addColor({container:o,label:_("NegativeColor"),object:e.properties.bar,property:"negative_color",callback:a}),l.addSeparator({container:o});break;case"bullet":l.addColor({container:o,label:_("TargetColor"),object:e.properties,property:"target_color",callback:a}),l.addColor({container:o,label:_("PerformanceColor"),object:e.properties,property:"performance_color",callback:a}),l.addSeparator({container:o}),l.addColor({container:o,label:"".concat(_("RangeColor")," #1"),object:e.properties,property:"range_color1",callback:a}),l.addColor({container:o,label:"".concat(_("RangeColor")," #2"),object:e.properties,property:"range_color2",callback:a}),l.addColor({container:o,label:"".concat(_("RangeColor")," #3"),object:e.properties,property:"range_color3",callback:a}),l.addSeparator({container:o})}}function a(t,e,a,o){var n=Mustache.render('<div class="TA2_intervals_container">                                <button type="button" class="btn btn-default btn-grey addItem">{{ buttonLabel }}</button>                                <div class="sortable_list_container"></div>                            </div>',{buttonLabel:_("AddNew")}),r=(t.append(n),new SortableList({container:$(".TA2_intervals_container > .sortable_list_container",t),object:{items:e},property:"items",onDeleteCallback:o,onSortCallback:o,enableScrollbar:!1,columns:[{name:_("Background"),width:70,cellFormat:d("background_color",a)},{name:_("Font"),width:70,cellFormat:d("font_color",a)},{name:_("MinValue"),classes:"value_column",cellFormat:s("min",o)},{name:_("MaxValue"),classes:"value_column",cellFormat:s("max",o)}]}));$(".TA2_intervals_container > .addItem",t).on("click",function(){r.addNewObject({background_color:"transparent",font_color:"#000000",min:"0",max:"0",min_result:0,max_result:0}),a()})}function o(t,e,a,o){var n,r,i=Mustache.render('<div class="TA2_intervals_container">                                <button type="button" class="btn btn-default btn-grey addItem">{{ buttonLabel }}</button>                                <div class="sortable_list_container"></div>                            </div>',{buttonLabel:_("AddNew")}),l=(t.append(i),new SortableList({container:$(".TA2_intervals_container > .sortable_list_container",t),object:{items:e},property:"items",onDeleteCallback:o,onSortCallback:o,enableScrollbar:!1,columns:[{name:_("Symbol"),width:70,cellFormat:(n="symbol",r=a,function(t,e){c.settings.Format.addGlobalIconSelector({container:e,object:t,property:n,callback:r,grid:!0,widget:c})})},{name:_("Color"),width:70,cellFormat:d("color",a)},{name:_("MinValue"),classes:"value_column",cellFormat:s("min",o)},{name:_("MaxValue"),classes:"value_column",cellFormat:s("max",o)}]}));$(".TA2_intervals_container > .addItem",t).on("click",function(){l.addNewObject({symbol:"arciup",color:"rgba(120, 204, 126, 1)",min:"0",max:"0",min_result:0,max_result:0}),a()})}function s(o,n){return function(t,e){var a;switch(r.type){case"number":case"percentage":a=$('<div class="cd-number">').appendTo(e),$('<input class="cd-input" type="text">').val(t[o]).appendTo(a).on("change",function(){t[o]=+$(this).val(),n()}),a.cdNumber();break;case"formula":c.settings.Format.addFormulaInput({container:e,widget:c,dashboard:c.settings._original_widget.dashboard,object:t,grid:!0,dropup:!0,property:o,appendToBody:!0,callback:function(t){c.settings.Data._isDirty=!0,c.tryUpdate()}})}}}function d(n,r){return function(t,e){function a(){t[n]=this.getRGBAColor(),r()}var o=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t[n]));e.append(o);$("> input",o).clicColorPicker({onColorChanged:a,onPreviewColorChanged:a,onCancel:a,palette:i.model.colors})}}}l.addDropdown({container:b,label:_("Visualization"),object:r,property:"visualization",callback:function(t){var t=t.value,e=($.extend(!0,r,C[t]),!1);a&&("spark"===t?(a.aggregation="values",c.update(),e=!0):"indicator"===t||"conditional"===t?(r.intervals=[],c.update()):"values"===a.aggregation&&(a.aggregation="sum",c.update(),e=!0)),o(i),e||u()},combobox:{dataprovider:Object.keys(x).map(function(t){return{value:t,label:_("Visualization_".concat(t))}}).filter(function(t){return"custom"!==s||"spark"!==t.value})}}),l.addSeparator({container:b});var i=l.addSection().addClass("nomargin").appendTo(b);o(i)}var c=this,a=function(e){return Utils.arrayFirst(this._Data.values,function(t){return t.id===e.column_id})}.bind(this),u=this.render.bind(this),s=this.p.data.mode,p=function(){l.settings.Data._isDirty=!0,this.update()}.bind(this),o={label:_("All"),value:"all"},n=[o],i=function(){return"bindings"===this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values).map(t):"custom"===this.p.data.mode?[Utils.arrayLast(this.p.data.custom[0])].map(e):void 0}.call(this),n=n.concat(i),d=!0,h=function(){d&&this.propagatePropertyToAllColumns("properties.custom_width",this.p.column_all.custom_width),u()}.bind(this),g=function(){d&&this.propagatePropertyToAllColumns("properties.custom_width_set",this.p.column_all.custom_width_set),u()}.bind(this),i=function(t){b.empty(),d="all"===t.value;var e=t.value,t=Utils.arrayFirst(this.getBindings(),function(t){return t.guid===e}),a=Utils.arrayFirstIndex(this.p.columns,function(t){return t.binding_guid===e}),o=this.getValueColumnProperties(e),n=(t&&(l.addBoolean({container:b,label:_("Hide"),object:t,property:"hidden",callback:function(){c.renderDataBindings(c.settings.Data),p()}}),l.addSeparator({container:b})),l.addSection());l.addBoolean({container:b,section:n,label:_("CustomColumnWidth"),object:o,property:"custom_width_set",callback:g}),l.addNumber({container:n,label:_("ColumnWidth"),object:o,property:"custom_width",callback:h}),l.addSeparator({container:b}),d||r(o,t,a)}.bind(this),b=(l.addDropdown({label:_("Columns"),object:{},property:"column",callback:i,combobox:{containerClasses:"ddl-placeholder",dataprovider:n}}),l.addSeparator(),l.addSection().addClass("nomargin").appendTo(l.ui.content));i(o)},onOneFontPropertyChanged:function(t,e,a,o,n,r){var i,l=a.column_all.font[t];if(e&&(d=Utils.arrayFirst(a.columns,function(t){return t.binding_guid==e}))&&(i=d.font[t]),n)for(var s=0;s<this.p.footers.length;s++){var d,c,a=this.p.footers[s].properties;if(o){a.column_all.font[t]=l;for(var u=0;u<a.columns.length;u++)a.columns[u].font[t]=l}else(d=Utils.arrayFirst(a.columns,function(t){return t.binding_guid==e}))?d.font[t]=i:(a.columns.push,(c={binding_guid:e,font:$.extend(!0,{},a.column_all.font)}).font[t]=i,a.columns.push(c))}else if(o)for(u=0;u<a.columns.length;u++)a.columns[u].font[t]=l;r&&r()},onColumnDropdownChange:function(t,e,a,o,n,r,i,l){var s,d,c,u=this;return a.empty(),"all"===o.value?(c=e.column_all,s=null):(n=!1,s=o.value,c=Utils.arrayFirst(e.columns,function(t){return t.binding_guid===s})||(d={binding_guid:s,font:$.extend(!0,{},e.column_all.font),title_type:"text",title:""},e.columns.push(d),d)),t.addFont({container:a,object:c,property:"font",callback:function(t){u.onOneFontPropertyChanged(t,s,e,n,r,i)}}),"all"===o.value||l||this.renderCustomHeaderControls(t,a,c,i),s},renderCustomHeaderControls:function(t,e,a){var o=this;a.title_type||(a.title_type="text"),t.addCustomTitle({dropup:!0,container:e,object:a,property:"title_type",formula_property:"title_formula",widget:this,dashboard:this._from&&this._from.dashboard,text_property:"title",text_callback:function(){o.updateTableHeaderTitle(a.binding_guid)},formula_callback:function(t){a.title_formula_result=t,o.updateTableHeaderTitle(a.binding_guid)}})},prepareColumnsDropdown:function(o){function n(t){return{label:t.name||e(t).name,value:t.guid}}function r(t){return 0<=t.__type.indexOf("CountDataBindingProperties")?{label:t.name||_("Count"),value:t.guid}:{label:t.name||a(t).name,value:t.guid}}function i(t){return{label:t,value:t}}var e=function(e){return Utils.arrayFirst(this._Data.rows,function(t){return t.id===e.column_id})}.bind(this),a=function(e){return Utils.arrayFirst(this._Data.values,function(t){return t.id===e.column_id})}.bind(this),t=[{label:_("All"),value:"all"}],l=function(){var t,e,a=[{label:_("DrilldownFooterTitle"),value:"title"}];return"bindings"===this.p.data.mode?(e=o?a:this.getBindings(Enums.WidgetAreas.Rows).map(n),t=this.getBindings(Enums.WidgetAreas.Values).map(r),e.concat(t)):"custom"===this.p.data.mode?o?(e=[Utils.arrayLast(this.p.data.custom[0])].map(i),a.concat(e)):this.p.data.custom[0].map(i):void 0}.call(this);return t=t.concat(l)},getValueColumnProperties:function(e,t){if("all"===e)return this.p.column_all;var a=Utils.arrayFirst(this.p.columns,function(t){return t.binding_guid===e});if(!a){if(!1===t)return null;t={binding_guid:e,properties:$.extend(!0,{},C.value,{custom_width_set:this.p.column_all.custom_width_set,custom_width:this.p.column_all.custom_width_set?this.p.column_all.custom_width:null})};this.p.columns.push(t),a=t}return a.properties},createDefaultValueColumnProperties:function(t){this.getValueColumnProperties(t,!0)},getDrilldownRowProperties:function(e,t){if("all"===e)return this.p.row_all;var a=Utils.arrayFirst(this.p.rows,function(t){return t.binding_guid===e});if(!a){if(!1===t)return null;t={binding_guid:e,properties:$.extend(!0,{},this.p.row_all)};this.p.rows.push(t),a=t}return a.properties},getTableFooterProperties:function(e){var t;return"all"===e?this.p.footer_all:(t=Utils.arrayFirst(this.p.footers,function(t){return t.footer_guid===e}))?t.properties:null},canHaveRowsCustomBottomBorder:function(){return"none"===this.p.table.lines.type||"vertical"===this.p.table.lines.type},hasExpandedIcon:function(){return!!this.p.table.expand_icon},getExpandedIcon:function(){switch(this.p.table.expand_icon){case"arrow":return"fa-caret-down";case"folder":return"fa-folder-open";case"plus":return"fa-minus-circle"}},getCollapsedIcon:function(){switch(this.p.table.expand_icon){case"arrow":return"fa-caret-right";case"folder":return"fa-folder";case"plus":return"fa-plus-circle"}},propagatePropertyToTableChildren:function(t,e){Utils.setNestedProperty(this.p.header,t,e),Utils.setNestedProperty(this.p.footer_all,t,e),this.propagatePropertyToBodyChildren(t,e)},propagatePropertyToBodyChildren:function(t,e){Utils.setNestedProperty(this.p.body,t,e),this.propagatePropertyToAllRows(t,e)},propagatePropertyToAllRows:function(t,e){Utils.setNestedProperty(this.p.row_all.collapsed,t,e),Utils.setNestedProperty(this.p.row_all.expanded,t,e)},propagatePropertyToAllColumns:function(e,a){this.p.columns.forEach(function(t){Utils.setNestedProperty(t,e,a)})},propagatePropertyToAllFooters:function(e,a){this.p.footers.forEach(function(t){Utils.setNestedProperty(t,e,a)})},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",function(t){e.renderTopBottom(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},renderTopBottom:function(e){var i=this,t=new Settings.SortFilter.TopBottom(e);t.hasOthersOption=!0,t.isOthersEnabled=!0,t.updateDataCallback=function(){i._isDirty=!0,i.update()},t.getTopBottomColumns=function(r){switch(i.p.data.mode){case"bindings":e.settings.getDataClone(i.p.data_id,i._from.dashboard.id).then(function(t){for(var e=[],a=0;a<i.p.data_bindings.length;a++){var o,n=i.p.data_bindings[a];n.area===Enums.WidgetAreas.Values&&(n.__type.startsWith("CountDataBindingProperties")?e.push({label:n.name||_("Count"),value:n.guid,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=i.getColumnFromId(t.columns,n.column_id))&&e.push({label:n.name||o.name,value:n.guid,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:o.is_context||!1,column_id:o.id}))}r(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{label:t,value:e}});r(t)}},t.render()},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var i=this,l=this.getColumnFromId.bind(this),t=new Settings.SortFilter.Sort(e);t.renderUserSortingProperties=t._renderUserSortingProperties,t.getSortColumns=function(r){switch(i.p.data.mode){case"bindings":e.settings.getDataClone(i.p.data_id,i._from.dashboard.id).then(function(t){for(var e=[],a=0;a<i.p.data_bindings.length;a++){var o,n=i.p.data_bindings[a];0<=n.__type.indexOf("CountDataBindingProperties")?e.push({label:n.name||_("Count"),value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=l(t.columns,n.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:n.name||o.name,value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:o.is_context||!1,column_id:o.id})}r(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:0<e?Enums.WidgetAreas.Columns:Enums.WidgetAreas.Rows}});r(t)}},t.updateDataCallback=function(){e._isDirty=!0,i.update()},t.render()},renderFilter:function(e){var i=this,l=this.getColumnFromId.bind(this),o=(e.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.Filter(e));o.getFilterColumns=function(r){switch(i.p.data.mode){case"bindings":e.settings.getDataClone(i.p.data_id,i._from.dashboard.id).then(function(t){for(var e=[],a=0;a<i.p.data_bindings.length;a++){var o=i.p.data_bindings[a],n=l(t.columns,o.column_id);o.aggregation&&"dcount"===o.aggregation||n&&e.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:o.name||n.name,value:"".concat(n.id).concat(o.aggregation||""),column_id:n.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0}),t.columns.forEach(function(t){e.push({icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id})}),r(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});r(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){i.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id),$("#tab_footer").prop("disabled",this.p.data_bindings.length<1)}}})}();
//# sourceMappingURL=TA2-drilldown-table.js.map

function _createForOfIteratorHelper(t,e){var a,o,n,i,l="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(l)return o=!(a=!0),{s:function(){l=l.call(t)},n:function(){var t=l.next();return a=t.done,t},e:function(t){o=!0,n=t},f:function(){try{a||null==l.return||l.return()}finally{if(o)throw n}}};if(Array.isArray(t)||(l=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return l&&(t=l),i=0,{s:e=function(){},n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,o=new Array(e);a<e;a++)o[a]=t[a];return o}!function(){var t={style:null,titles:{title:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""},subtitle:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"center"},text:""}},data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",custom:null},other:{enable_collapse_expand:!0,auto_expanded:!1,expand_icon:"arrow"},heatmaps_custom:[],totals:{total:{enabled:!0,type:"rowscols",background:{color:"#ffffff",gradient:!1},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"right"},row_label:_("GrandTotal"),col_label:_("GrandTotal"),aggregation:"sum"},sub_total:{position:"bottom",type:"rowscols",background:{color:"#ffffff",gradient:!1},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"right"},row_label:_("Total"),col_label:_("Total"),aggregation:"sum"}},column_headers:{background:{color:"#fafafa",gradient:!1},headers:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"left"}},values:[]},row_headers:{background:{color:"#fafafa",gradient:!1},headers:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"left"}},values:[]},values:{background:{color:"#fafafa",gradient:!1},headers:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"center"}},values:[]},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,of_column:null,by_column:null,over_column:null,ties:!1,remainder:!1},sorts:[],filters:[]},interactions:{oncelldblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"bottom_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""},table:{background:{color:"#ffffff",gradient:!1},border:{width:1,color:"#f2f2f2"}}},e={enabled:!1,type:"heatmap",high_color:"rgba(194,77,79,1)",low_color:"rgba(255, 255, 255, 1)"},a={background:{color:"#ffffff",gradient:!1},headers:{font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#3e4e5b",halign:"right"}},format:null},o={font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"left",valign:"top"},format:null},n={font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Bold,italic:!1,underline:!1,color:"#3e4e5b",halign:"center",valign:"top"},format:null};Widget.createType({id:"TA3",options:{width:400,height:400,hasStyleProperty:!0,formula_input:["sort_filter.filters.formula","interactions.oncelldblclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcellrow","selectedcellcolumn"]},scripts:["/Libraries/d3/d3.min.js","/Global/Components/ClicPivot/ClicPivot.js"],properties:t,prototype:{getColumnsFormat:function(t){var e=[];if("bindings"===this.p.data.mode){var a=$.extend([],this.getBindings()).sort(function(t,e){return t.area.localeCompare(e.area)});void 0===t||t||(a=a.filter(function(t){return!t.hidden}));for(var o=0;o<a.length;o++){var n,i=a[o],l=null;i.area===Enums.WidgetAreas.Values&&(l=(n=Utils.arrayFirst(this.p.values.values,function(t){return t&&t.column_id===i.column_id}))&&n.config.format?n.config.format:{Type:"number",Properties:{__type:"ClicFormatNumberProperties:#Infinis",Decimals:0,DecimalsSymbol:"dot",NegativeSymbol:"minus",Grouping:"thousand",GroupingSymbol:"none",LeftPadding:0,Suffix:"",NumericScaling:"one"}}),e.push(l?{ColumnId:i.column_id,Index:o,Format:l}:{ColumnId:i.column_id,Index:o,Format:DashboardUtils.applyFormat(null,"System.String")})}}return e},init:function(){this.initDefaultProperties(),this.p.data.custom||(this.p.data.custom=this.getSample());var t=this.convertCustomDataToHeaders(this.p.data.custom);this._ValuesBindings=t.values,this._RowsBindings=t.rows,this._ColsBindings=t.cols,this.bindEvents(),this.tryUpdate()},bindEvents:function(){this._eventsBound||(this.createProperty("selectedvalue"),this.createProperty("selectedcellrow"),this.createProperty("selectedcellcolumn"),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("stylechanged",function(){this.initDefaultProperties(),this.render()}.bind(this)),this.on("fontchanged",function(){this.render()}.bind(this)),this.on("responsiveresized",function(){this.refresHeaderPositions()}.bind(this)),this.dashboard&&this.dashboard.in_editor&&this.on(WidgetLayer.Events.RESIZING,function(){this._loaded&&this.refresHeaderPositions()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.container.on("click",".exportOnClick",function(){this.exportWidgetData()}.bind(this)),this._eventsBound=!0)},initDefaultProperties:function(){a=$.extend(!0,a,this.getWidgetStyleConfig().default_values_style),o=$.extend(!0,o,this.getWidgetStyleConfig().default_rows_style),n=$.extend(!0,n,this.getWidgetStyleConfig().default_cols_style)},render:function(){this.ui.empty(),this.tableViewport=$('<div class="scrollable">').appendTo(this.ui),this.renderOrUpdateTitlesIfAny();try{this.renderPivot(this.tableViewport,!1)}catch(t){this.error=t}this.injectStyles(),this.table=this.ui.find("table"),this.toggleRowInteractions(),this.ui.find(".scrollable").setOverlayScrollbar(),this._loaded=!0},onUpdateDataTooManyValues:function(){this.setSample(),this.displayCustomErrorMessage(_("TooManyValuesToDisplay"),_("TooManyValuesToDisplay_Export"))},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedcellrow:this.selectedcellrow,selectedcellcolumn:this.selectedcellcolumn})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedcellrow=t.selectedcellrow,this.selectedcellcolumn=t.selectedcellcolumn},renderPivot:function(t,e){var o=this,n=!1;t.clicPivot(this._Data,{rows:this._Rows,cols:this._Cols,vals:this._Value,totalAggr:this.p.totals.total.aggregation,subTotalAggr:this.p.totals.sub_total.aggregation,rowsBindings:this._RowsBindings,colsBindings:this._ColsBindings,valueBindings:this._ValuesBindings,bindings:this.p.data_bindings,mode:this.p.data.mode,sorts:this.p.sort_filter.sorts,renderOpts:{values_config:this.p.values.values,rows_config:this.p.row_headers.values,cols_config:this.p.column_headers.values,enableExpandCollapse:this.p.other.enable_collapse_expand,collapseFaClass:this.getCollapsedIcon(this.p.other.expand_icon),expandFaClass:this.getExpandedIcon(this.p.other.expand_icon),collapseRowsAt:!e&&this.p.other.enable_collapse_expand&&!this.p.other.auto_expanded&&0<this._Rows.length?0:null,collapseColsAt:!e&&this.p.other.enable_collapse_expand&&!this.p.other.auto_expanded&&0<this._Cols.length?0:null,heatmaps:this._ValuesBindings.map(function(t){return null===o.getHeatMapsConfiguration({value:{aggregation:t.aggregation,column_id:t.id}})?o.getDefaultHeatMapConfiguration():o.getHeatMapsConfiguration({value:{aggregation:t.aggregation,column_id:t.id}}).config}),onToggleEvent:function(){o.refresHeaderPositions()},total:this.p.totals.total,sub_total:this.p.totals.sub_total,table:{eventHandlers:{click:function(t,e,a){n?(o._getCellDblClickEvent(a),n=!1):(n=!0,o.selectedvalue=e,o.selectedcellrow=a.filter(function(t){return"row"===t.type}).map(function(t){return t.value}),o.selectedcellcolumn=a.filter(function(t){return"column"===t.type}).map(function(t){return t.value}),setTimeout(function(){n=!1},500))}}}}})},setStickyColumnsPositions:function(){this._stickysetted=!0,this._updateHeaderLeftPosition(!0),this._updateHeaderTopPosition(),this._updateBodyHeader()},refresHeaderPositions:function(){var t=this;t._updateHeaderLeftPosition(!1),t._updateHeaderTopPosition(),$("tbody th:not(.rowcol0):not(.pvtTotalLabel), tbody th.pvtRowLabelFiller",t.ui).each(function(){t._updateBodyHeaderLeftPosition($(this))})},_updateBodyHeader:function(){var t=this;$("tbody th",this.ui).each(function(){$(this).hasClass("rowcol0")&&!$(this).hasClass("pvtRowLabelFiller")||$(this).hasClass("pvtTotalLabel")?$(this).css("left",0):t._updateBodyHeaderLeftPosition($(this))})},_updateBodyHeaderLeftPosition:function(t){var e=t,a=parseInt(t.attr("data-rownode")),o=0;$("tbody th.pvtRowLabel",this.ui).filter(function(){return $(this).attr("data-rownode")>=a&&$(this).attr("data-rowmin")<=a&&!$(this).is(e)}).each(function(){o+=$(this).outerWidth()}),t.css("left",o)},_updateHeaderLeftPosition:function(o){var n=this;$("thead th:not(.pvtColLabel):not(.rowTotal)",n.ui).each(function(){var t,e=$(this),a=e.prevAll();0!==a.length?(t=0,$.each(a,function(){$(this).hasClass("invisibleTh")||(t+=$(this).outerWidth())}),e.css("left",t)):e.hasClass("columnAxisHeader")?e.css("left",parseInt($(".columnAxisHeader",n.ui).first().css("left"))||0):o&&e.css("left",0)}),0<$("thead th:not(.nocol).invisibleTh",this.ui).length?$("tbody th.subtotalnocol",this.ui).addClass("invisibleTh"):$("tbody th.subtotalnocol",this.ui).removeClass("invisibleTh")},_updateHeaderTopPosition:function(){var l=this,r=($("thead .pvtFixedHeader",l.ui).height("auto"),$("thead th",l.ui).each(function(){var t,e,a,o=$(this);o.hasClass("colhidesubtotal")?o.css("top",30*parseInt(o.attr("data-col"))):(t=(e=o.parent()).index(),o.css("top",30*t),a=0!==(e=e.prev()).find(".invisibleTh").length,0!==e.find(".invisibleTh.nocol").length?o.css("top",parseInt(o.css("top"))-30*t):a&&o.css("top",parseInt(o.css("top"))-30*(t-1)))}),$("thead .pvtFixedHeader",l.ui).each(function(){var t=$(this),e=t.parent(),a=parseInt(e.attr("rowspan"))||1;1===a?t.css("height",30):(!e.hasClass("pvtColLabel")||e.hasClass("pvtTotalLabel")||0===l._Cols.length?t.css("height",e.height()):t.css("height",30*a),t.css("max-height",30*a))}),$("tbody .pvtVal:not(.rowhidesubtotal)",l.ui).first().outerHeight()),s=$("tbody .pvtValTot:not(.rowhidesubtotal)",l.ui).first().outerHeight();$("tbody .pvtFixedHeader",l.ui).each(function(){var t=$(this),e=t.hasClass("pvtTotalLabel"),a=t.parent(),o=a.attr("rowspan")?parseInt(a.attr("rowspan")):0;if(0===o)t.css("height",e?s:r);else if(1===o){if("top"!==l.p.totals.sub_total.position&&"none"!==l.p.totals.sub_total.position&&"cols"!==l.p.totals.sub_total.type)return t.parent().attr("rowspan","2"),!0;t.css("height",e?s:r)}else{var n=parseInt(a.attr("data-rowmin")),i=parseInt(a.attr("data-rownode")),o=$("th.leaf, th.pvtRowSubtotal",l.ui).filter(function(){return $(this).attr("data-rownode")>=n&&$(this).attr("data-rownode")<=i&&!$(this).hasClass("rowhidesubtotal")}).length;t.css("height",(e?s:r)*o)}})},renderOrUpdateTitlesIfAny:function(){var t=function(t,e){Utils.FontUtils.loadFont(e.font.family),t.text(e.text),t.css({fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color,textAlign:e.font.halign})}.bind(this);""!==this.p.titles.title.text?(t(0<this.ui.children(".title").length?this.ui.children(".title"):$('<div class="title">').appendTo(this.ui),this.p.titles.title),""!==this.p.titles.subtitle.text?t(0<this.ui.children(".subtitle").length?this.ui.children(".subtitle"):$('<div class="subtitle">').appendTo(this.ui),this.p.titles.subtitle):this.ui.children(".subtitle").remove()):(this.ui.children(".title").remove(),this.ui.children(".subtitle").remove()),this.updateTableContainerPosition()},updateTableContainerPosition:function(){this.p.titles.title.text?this.p.titles.subtitle.text?this.tableViewport.css({top:this.ui.children(".title").outerHeight()+this.ui.children(".subtitle").outerHeight()}):this.tableViewport.css({top:this.ui.children(".title").outerHeight()}):this.tableViewport.css({top:0})},getDisplayData:function(){var a=this,t=$("<div></div>");try{this._fixDisplaydataObject=[],this.renderPivot(t,!0)}catch(t){}var o,n,e=t.find("table"),i=[];return"none"!==this.p.totals.sub_total.position&&"rows"===this.p.totals.sub_total.type&&$(".pvtColSubtotal",e).remove(),("none"===this.p.totals.sub_total.position||"none"!==this.p.totals.sub_total.position&&"cols"===this.p.totals.sub_total.type)&&("none"===this.p.totals.sub_total.position&&$(".pvtColSubtotal",e).remove(),o=$("thead tr",e).length,$("tbody tr",e).each(function(){var t;0<$(".rowhidesubtotal",$(this)).length&&((t=$(".pvtRowSubtotal",$(this)))&&t.length&&(t=a.getBindings(Enums.WidgetAreas.Rows).length+1-$(t[0]).attr("colspan"),i.push({index:$(this).index()+o,valuesToMove:t})))}),this._fixDisplaydataObject=i),"bottom"===this.p.totals.sub_total.position&&"cols"!==this.p.totals.sub_total.type&&(o=$("thead tr",e).length,n=[],$("tbody tr",e).each(function(){var t,e;0===$(this).find("td").length&&(t=function t(e,a){parseInt(n[e].rownode)<parseInt(a.rownode)?(n.splice(-1,1),0===e?n[e]=a:t(e-1,a)):n.push(a)},e={element:e=$("th",$(this)),rownode:e.attr("data-rownode")},n.length?t(n.length-1,e):n.push(e),a._fixDisplaydataObject.push({index:$(this).index()+o,valuesToMove:n.length}))})),t.find("table")},displayDataPostParse:function(t){if(this._fixDisplaydataObject&&this._fixDisplaydataObject.length){var e,a=_createForOfIteratorHelper(this._fixDisplaydataObject);try{for(a.s();!(e=a.n()).done;)for(var o=e.value,n=0;n<o.valuesToMove;n++){var i=t[n],l=i[o.index];i[o.index+1]=l}}catch(t){a.e(t)}finally{a.f()}for(var r=0;r<this._fixDisplaydataObject.length;r++)for(var s=this._fixDisplaydataObject[r],d=0;d<t.length;d++)t[d].splice(s.index-r,1)}},isCustomDataMode:function(){return"custom"===this.p.data.mode},customData:function(){return this.p.data.custom},setSample:function(){this._Data=this.getSample(),this._Rows=[this._Data[0][0]],this._Cols=[this._Data[0][1]],this._Value=[this._Data[0][2]];var t=this.convertCustomDataToHeaders(this._Data);this._RowsBindings=t.rows,this._ColsBindings=t.columns,this._ValuesBindings=t.values,this.render()},getSample:function(){return[["Rows","Columns","Value"],["Blue","Circle",1],["Red","Triangle",2],["Blue","Circle",3],["Red","Triangle",4]]},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===t&&"bindings"===this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var o=0;o<this.p.sort_filter.filters.length;o++){var n=this.p.sort_filter.filters[o];if(n.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(n.formula,e)){a=!0;break}}a&&this.tryUpdate()},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||(0!==this.getBindings(Enums.WidgetAreas.Rows).length&&0!==this.getBindings(Enums.WidgetAreas.RowsBis).length||0!==this.getBindings(Enums.WidgetAreas.Values).length&&0!==this.getBindings(Enums.WidgetAreas.RowsBis).length||0!==this.getBindings(Enums.WidgetAreas.Values).length&&0!==this.getBindings(Enums.WidgetAreas.Rows).length)},updateService:"TA3Data",updateServiceError:function(){this._loaded=!1,this.selectedvalue=null,this.selectedcellrow=[],this.selectedcellcolumn=[]},updateServiceSuccess:function(t){var e=this;if(this.isCustomDataMode()){this._Data=this.p.data.custom,this._Rows=[this._Data[0][0]],this._Cols=[this._Data[0][1]],this._Value=[this._Data[0][2]];var a=this.convertCustomDataToHeaders(this._Data);this._RowsBindings=a.rows,this._ColsBindings=a.columns,this._ValuesBindings=a.values}else{var o=t.data;if(this._ValuesBindings=t.values,this._RowsBindings=t.rows,this._ColsBindings=t.cols,this._Data=[],0<o.length)for(var n=0;n<o[0].length;n++){for(var i=[],l=0;l<o.length;l++)i.push(o[l][n]);this._Data.push(i)}this._Rows=[],this._Cols=[],this._Value=[];var r=[];t.rows.forEach(function(t){e._Rows.push(t.name),r.push(t.name)}),t.cols.forEach(function(t){e._Cols.push(t.name),r.push(t.name)}),t.values.forEach(function(t){e._Value.push(t.name),r.push(t.name),r.push("#cdsum#_".concat(t.name)),r.push("#cdcount#_".concat(t.name))}),0===t.values.length&&(e._Value.push(""),r.push(""),r.push("#cdsum#_"),r.push("#cdcount#_")),this._Data.unshift(r)}this.selectedvalue=null,this.selectedcellrow=[],this.selectedcellcolumn=[],this.render()},convertCustomDataToHeaders:function(t){return{rows:(t=t||this.p.data.custom)[0]?[{name:t[0][0],type:"string",id:-1}]:[],columns:[{name:"Series",type:"string",id:-2}],values:[{id:-3,name:"Value",aggregation:"sum",type:"float"}],rowHeaders:t[0]?t.slice(1).map(function(t){return{name:t[0],count:1,subtotals:0}}):[],columnHeaders:t[0]?t[0].slice(1).map(function(t){return{name:t,count:1,subtotals:0}}):[],data:t[0]?[t.slice(1).map(function(t){return t.slice(1)})]:[]}},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                                 <span>{{ label }}</span>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                                 </ul>                             </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.update()})},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}},renderDataBindings:function(t){var a=this,e=new Settings.Data.Bindings(t);e._getAreaBindingUniqueName=function(t){for(var e=t,a=1;Utils.arrayFirst(this.bindings,function(t){return t.name===e});)e=t+" ({0})".format(a),a++;return e},e.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.3},{name:_("Columns"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.RowsBis,height_ratio:.3,disabledCalculated:!0},{name:_("Rows"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.4,disabledCalculated:!0}],{count:!1,allowDuplicateInArea:!1}),e.on("bindingCleared",function(){a.p.heatmaps_custom=[],a.p.values.values=[],a.p.row_headers.values=[],a.p.column_headers.values=[]}),e.on("bindingRemoved",function(e){e.area===Enums.WidgetAreas.Values&&(Utils.arrayRemove(a.p.heatmaps_custom,function(t){return t.value.column_id===e.column_id&&t.value.aggregation===e.aggregation}),Utils.arrayRemove(a.p.values.values,function(t){return t.column_id===e.column_id&&t.aggregation===e.aggregation}),Utils.arrayRemove(a.p.column_headers.values,function(t){return t.column_id===e.column_id}),Utils.arrayRemove(a.p.row_headers.values,function(t){return t.column_id===e.column_id}))}),this.data_destroy_callback=function(){e.destroy()}},renderDataCustomTable:function(t){var e=this.update.bind(this),a=new Settings.Data.CustomTable(t);a.cellValueFormat=function(t,e){t=$(t).val();return 2===e?""===t||isNaN(t)?0:parseFloat(t):t||""},a.addRow=function(t){this.addDummyRow(t),Utils.isUndefined(t)&&((t=[]).length=this.numberOfColumns(),this._data.push(t),Utils.arrayFill(t,""),this._isDirty=!0)},a.customColumnRenameProcess=function(){t.settings.Data._isDirty=!0},this.data_destroy_callback=function(){a.destroy()},t.ui.append($('<header class="nomargin">').text(_("TA2DataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:e,fixed_columns:!0})},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var l=this,r=this.getColumnFromId.bind(this),t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(i){switch(l.p.data.mode){case"bindings":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var o,n=l.p.data_bindings[a];0<=n.__type.indexOf("CountDataBindingProperties")?e.push({label:n.name||_("Count"),value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:!1}):(o=r(t.columns,n.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(o.type),label:n.name||o.name,value:n.guid,area:n.area,aggregation:n.aggregation,aggregationLabel:n.aggregation?_("Aggregation_".concat(n.aggregation)):null,is_context:o.is_context||!1,column_id:o.id})}i(e)});break;case"custom":var t=l.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:0<e?Enums.WidgetAreas.Columns:Enums.WidgetAreas.Rows}});i(t)}},t.updateDataCallback=function(){e._isDirty=!0,l.update()},t.render()},renderFilter:function(e){var l=this,r=this.getColumnFromId.bind(this),o=(e.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.Filter(e));o.getFilterColumns=function(i){switch(l.p.data.mode){case"bindings":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var o=l.p.data_bindings[a],n=r(t.columns,o.column_id);n&&e.push({is_used:!0,is_context:n.is_context||!1,icon:DashboardUtils.getIconForColumnType(n.type),label:o.name||n.name,value:"".concat(n.id).concat(o.aggregation||""),column_id:n.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0}),t.columns.concat(l.p.calculated_columns||[]).filter(function(t){return!t.is_context}).forEach(function(t){e.push({icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id,is_context:t.is_context||!1})}),i(e)});break;case"custom":var t=l.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});i(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){l.update()},o.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id),$("#tab_footer").prop("disabled",this.p.data_bindings.length<1)},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"drilldown-table-table.png",text:_("Table"),code:"table",renderer:this.getTableProperties.bind(this)}),t.push({icon:"pivot-table-columns-headers.png",text:_("ColHeaders"),code:"colheaders",renderer:this.getColHeadersProperties.bind(this)}),t.push({icon:"pivot-table-rows-headers.png",text:_("RowHeaders"),code:"rowheaders",renderer:this.getRowHeadersProperties.bind(this)}),t.push({icon:"pivot-table-values.png",text:_("Values"),code:"values",renderer:this.getValuesProperties.bind(this)}),t.push({icon:"pivot-table-totals.png",text:_("TotalsAndSubTotals"),code:"totals",renderer:this.getTotalsSubTotalsProperties.bind(this)}),t.push({icon:"pivot-table-heatmap.png",text:_("Heatmap"),code:"heatmap",renderer:this.getHeatMapProperties.bind(this)}),t.push({icon:"widget-properties-other.png",text:_("Other"),code:"other",renderer:this.getOtherProperties.bind(this)}),t},getTableProperties:function(t){var e=this.injectStyles.bind(this);t.addBackgroundColor({object:this.p.table.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addBorder({object:this.p.table,property:"border",callback:e})},getTitleProperties:function(t){var e=this.renderOrUpdateTitlesIfAny.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",dropDown:!0,callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getColHeadersProperties:function(e){var a=this.injectStyles.bind(this),o=this.render.bind(this),t=this.p.column_headers,n=this;e.addBackgroundColor({object:t.background,property_color:"color",property_gradient:"gradient",callback:a}),e.addSeparator(),e.addFont({object:t.headers,dropdown_label:_("ColumnHeadersFont"),halign_label:_("ColumnHeadersAlign"),property:"font",callback:a,dropDown:!0}),e.addSeparator();var t=this.getColumnsCombinaisons().map(function(t){return{label:t.name,value:t.column_id,object_value:t}}),i=(t.unshift({value:null,label:_("SelectAValue")}),e.addDropdown({label:_("ValueColumns"),object:{object_value:null},property:"values",callback:function(t){i.empty(),null!==t.object_value&&(-99===t.object_value.column_id?n.renderAllColumnValuesProperties(t.object_value,e,i):(t=t.object_value,t=n.getOrCreateColumnValueConfiguration(t).config,n._renderColumnValuesLabels.bind(n,e,i,t,function(t){("format"===t?o:a).call(n)})()))},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),e.addSection().addClass("nomargin").appendTo(e.ui.content))},getRowHeadersProperties:function(e){var a=this,o=this.injectStyles.bind(this),n=this.render.bind(this),t=this.p.row_headers;e.addBackgroundColor({object:t.background,property_color:"color",property_gradient:"gradient",callback:o}),e.addSeparator(),e.addFont({object:t.headers,dropdown_label:_("RowHeadersFont"),halign_label:_("RowHeadersAlign"),property:"font",callback:o,dropDown:!0}),e.addSeparator();var t=this.getRowsCombinaisons().map(function(t){return{label:t.name,value:t.column_id,object_value:t}}),i=(t.unshift({value:null,label:_("SelectAValue")}),e.addDropdown({label:_("ValueColumns"),object:{object_value:null},property:"values",callback:function(t){i.empty(),null!==t.object_value&&(-99===t.object_value.column_id?a.renderAllRowValuesProperties(t.object_value,e,i):(t=t.object_value,t=a.getOrCreateRowValueConfiguration(t).config,a._renderRowValuesLabels.bind(a,e,i,t,function(t){("format"===t?n:o).call(a)})()))},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),e.addSection().addClass("nomargin").appendTo(e.ui.content))},getValuesProperties:function(e){var a=this,o=this.injectStyles.bind(this),n=this.render.bind(this),t=this.p.values;e.addBackgroundColor({object:t.background,label:_("ValueHeadersBackgroundColor"),property_color:"color",property_gradient:"gradient",callback:o}),e.addFont({object:t.headers,dropdown_label:_("ValueHeadersFont"),halign_label:_("ValueHeadersAlign"),property:"font",callback:o,dropDown:!0}),e.addSeparator();var t=this.getValueCombinaisons().map(function(t){return{label:t.name,value:t.column_id,object_value:t}}),i=(t.unshift({value:null,label:_("SelectAValue")}),e.addDropdown({label:_("ValueColumns"),object:{object_value:null},property:"values",callback:function(t){i.empty(),null!==t.object_value&&("all"===t.object_value.aggregation?a.renderAllValuesProperties(t.object_value,e,i):(t=t.object_value,t=a.getOrCreateValueConfiguration(t).config,a._renderValuesLabels.bind(a,e,i,t,function(t){("format"===t?n:o).call(a)})()))},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),e.addSection().addClass("nomargin").appendTo(e.ui.content))},getTotalsSubTotalsProperties:function(t){function e(t){null==t||null===t.value||"none"===t.value?l.hide():l.show(),o()}var a=this.injectStyles.bind(this),o=this.render.bind(this),n=this.p.totals.total,i=t.addSection(),l=(t.addBoolean({section:i,label:_("DisplayTotals"),object:n,property:"enabled",callback:o}),t.addDropdown({container:i,label:_("Aggregation"),object:n,property:"aggregation",callback:o,combobox:{dataprovider:this.getAggregationDDLItems()}}),t.addDropdown({container:i,label:_("On"),object:n,property:"type",callback:o,combobox:{dataprovider:[{value:"rowscols",label:_("RowsCols")},{value:"rows",label:_("RowsOnly")},{value:"cols",label:_("ColsOnly")}]}}),t.addBackgroundColor({container:i,object:n.background,property_color:"color",property_gradient:"gradient",callback:a}),t.addFont({container:i,object:n,property:"font",callback:a,dropDown:!0}),t.addText({container:i,object:n,label:_("RowTotalLabel"),property:"row_label",placeholder:_("EnterTotalPlaceHolder"),callback:o,event:"focusout"}),t.addText({container:i,object:n,label:_("ColTotalLabel"),property:"col_label",placeholder:_("EnterTotalPlaceHolder"),callback:o,event:"focusout"}),t.addSeparator(),n=this.p.totals.sub_total,t.addDropdown({label:_("DisplaySubTotals"),object:n,property:"position",callback:e,combobox:{dataprovider:[{value:"none",label:_("Never")},{value:"top",label:_("OnTop")},{value:"bottom",label:_("OnBottom")}],appendToBody:!0}}),t.addSection().addClass("nomargin").appendTo(t.ui.content));t.addDropdown({container:l,label:_("Aggregation"),object:n,property:"aggregation",callback:o,combobox:{dataprovider:this.getAggregationDDLItems()}}),t.addDropdown({container:l,label:_("On"),object:n,property:"type",callback:a,combobox:{dataprovider:[{value:"rowscols",label:_("RowsCols")},{value:"rows",label:_("RowsOnly")},{value:"cols",label:_("ColsOnly")}]}}),t.addBackgroundColor({container:l,object:n.background,property_color:"color",property_gradient:"gradient",callback:a}),t.addFont({container:l,object:n,property:"font",callback:a,dropDown:!0}),t.addText({container:l,object:n,label:_("RowTotalLabel"),property:"row_label",placeholder:_("EnterTotalPlaceHolder"),callback:o,event:"focusout"}),t.addText({container:l,object:n,label:_("ColTotalLabel"),property:"col_label",placeholder:_("EnterTotalPlaceHolder"),callback:o,event:"focusout"}),e({value:n.position})},getHeatMapProperties:function(e){var t,a,o=this,n=this.render.bind(this);this._Data&&((t=this.getHeatMapCombinaisons().map(function(t){var e=t.value.name;return{label:e,value:e,heatmap:t}})).unshift({value:null,label:_("SelectAValue")}),e.addDropdown({label:_("Value"),object:{heatmap:null},property:"heatmap",callback:function(t){a.empty(),null!==t.value&&(t=t.heatmap,t=o.getOrCreateHeatMapConfiguration(t).config,e.addSeparator({container:a}),o._renderHeatMapsEnabled.bind(o,e,a,t,function(){n.call(o)})())},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),a=e.addSection().addClass("nomargin").appendTo(e.ui.content),e.addSeparator())},getOtherProperties:function(t){var e=this.render.bind(this),a=t.addSection(),o=this.p.other;t.addBoolean({section:a,label:_("ShowCollapseExpand"),object:o,property:"enable_collapse_expand",callback:e}),t.addBoolean({container:a,object:o,label:_("AutoExpanded"),property:"auto_expanded",callback:this.render.bind(this)}),t.addToggleButtons({container:a,label:_("CollapseExpandIcon"),object:o,property:"expand_icon",callback:e,buttons:[{image:"collapse-expand-plus.png",value:"plus"},{image:"collapse-expand-arrow.png",value:"arrow"},{image:"collapse-expand-folder.png",value:"folder"}]}),t.addSeparator()},injectStyles:function(){var t=[];this._injectTableStyle(t),this._injectColumnsStyle(t),this._injectRowsStyle(t),this._injectValuesStyle(t),this._injectTotalsStyle(t),this._injectSubTotalsStyle(t),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},_injectTableStyle:function(t){var e=this.p.table;t[".scrollable"]=this._getBackgroundStyle(e.background),t["table.pvtTable tr th"]="border: {0}px solid {1} ".format(e.border.width,e.border.color),t["table.pvtTable tr td"]="border: {0}px solid {1}; border-top: none; border-left: none;".format(e.border.width,e.border.color),t["table.pvtTable.pvtFixedHeader th"]=["border: 0px","z-index: 91","position: sticky","position: -webkit-sticky","position: -moz-sticky","position: -ms-sticky","position: -o-sticky","padding: 0px","margin: 0px !important"].join(";"),t["table.pvtTable th.pvtRowLabel, table.pvtTable th.pvtColLabel"]="z-index:80 !important;",t["table.pvtTable th > div.pvtFixedHeader"]=["z-index: 70","position: static","padding: 5px 8px 5px 8px","border-bottom : {0}px solid {1}".format(e.border.width,e.border.color),"border-right : {0}px solid {1}".format(e.border.width,e.border.color)].join(";"),t["table.pvtTable th.pvtColLabelFiller"]=["border-bottom : {0}px solid {1} !important".format(e.border.width,e.border.color),"border-right : {0}px solid {1} !important".format(e.border.width,e.border.color)].join(";")},_injectValuesStyle:function(t){var e=this.p.values;1<this._Value.length&&(t["table.pvtTable thead tr:last-child th.pvtColLabel"]="".concat(this._getFontStyle(e.headers),"; ").concat(this._getBackgroundStyle(e.background)));for(var a=0;a<this._ValuesBindings.length;a++){var o=this._ValuesBindings[a],n=(n=this.getValueConfiguration({aggregation:o.aggregation,column_id:o.id}))?n.config:this.getDefaultValueConfiguration(),o=null===this.getHeatMapsConfiguration({value:{aggregation:o.aggregation,column_id:o.id}})?this.getDefaultHeatMapConfiguration():this.getHeatMapsConfiguration({value:{aggregation:o.aggregation,column_id:o.id}}).config,i=this._getFontStyle(n.headers);o.enabled||(i+="; ".concat(this._getBackgroundStyle(n.background))),t["table.pvtTable tbody td.pvtVal.colgroup{0}".format(a)]=i}},_injectColumnsStyle:function(o){function t(t,e){var t=(t=n.getColumnValueConfiguration({column_id:t}))?t.config:n.getDefaultColumnValueConfiguration(),a=n._getFontStyle(t);return o["table.pvtTable thead th.pvtColLabel.colcol{0}".format(e)]=a,o["table.pvtTable thead th.pvtTotalLabel.colcol{0}".format(e)]=a,o["table.pvtTable thead th.pvtColLabel.colcol{0} .pvtFixedHeader".format(e)]=i._getHAlignStyle(t.font),o["table.pvtTable thead th.pvtTotalLabel.colcol{0} .pvtFixedHeader".format(e)]=i._getHAlignStyle(t.font),o["table.pvtTable thead th.pvtTotalLabel .pvtFixedHeader"]=i._getHAlignStyle(t.font),a}for(var e,n=this,i=this,a=this.p.column_headers,l=(o["table.pvtTable thead th"]=this._getBackgroundStyle(a.background),o["table.pvtTable thead th.pvtAxisLabel"]=this._getFontStyle(a.headers),0);l<this._ColsBindings.length;l++)e=t(this._ColsBindings[l].id,l);0===this._ColsBindings.length&&(e=t(-99,0)),o["table.pvtTable thead th.pvtTotalLabel"]=e,o["table.pvtTable thead tr:first-child th"]="border-top:none",o["table.pvtTable thead tr:first-child th.collapsed"]="border-bottom:none",o["table.pvtTable thead th.invisibleTh"]="border-top:none !important"},_injectRowsStyle:function(o){function t(t,e){var t=(t=n.getRowValueConfiguration({column_id:t}))?t.config:n.getDefaultRowValueConfiguration(),a=n._getFontStyle(t);return o["table.pvtTable tbody th.pvtRowLabel.rowcol{0}".format(e)]="".concat(a,"; ").concat(l),o["table.pvtTable tbody th.pvtTotalLabel.rowcol{0}".format(e)]="".concat(a,"; ").concat(l),o["table.pvtTable tbody th.pvtRowLabel.rowcol{0} .pvtFixedHeader".format(e)]=i._getHAlignStyle(t.font),o["table.pvtTable tbody th.pvtTotalLabel.rowcol{0} .pvtFixedHeader".format(e)]=i._getHAlignStyle(t.font),o["table.pvtTable tbody th.pvtTotalLabel.col .pvtFixedHeader"]=i._getHAlignStyle(t.font),a}for(var e,n=this,a=this.p.row_headers,i=this,l=this._getBackgroundStyle(a.background),r=(o["table.pvtTable thead tr:last-child th:not(.pvtColLabel)"]=l,o["table.pvtTable thead tr:last-child th.pvtAxisLabel"]=this._getFontStyle(a.headers),0);r<this._RowsBindings.length;r++)e=t(this._RowsBindings[r].id,r);0===this._RowsBindings.length&&(e=t(-99,0)),o["table.pvtTable tbody th.pvtTotalLabel.col"]="".concat(e,"; ").concat(l)},_injectTotalsStyle:function(t){var e=this.p.totals.total,e="".concat(this._getFontStyle(e),"; ").concat(this._getBackgroundStyle(e.background));t["table.pvtTable tr td.pvtValTot.pvtTotal.colTotal"]=e,t["table.pvtTable tr td.pvtTotal.rowTotal"]=e,t["table.pvtTable tr td.pvtGrandTotal"]=e},_injectSubTotalsStyle:function(t){var e,a=this.p.totals.sub_total;"none"!==a.position&&(e="".concat(this._getFontStyle(a),"; ").concat(this._getBackgroundStyle(a.background)),"rows"!==a.type&&"rowscols"!==a.type||(t["table.pvtTable tr td.pvtVal.pvtRowSubtotal"]=e),"cols"!==a.type&&"rowscols"!==a.type||(t["table.pvtTable tr td.pvtVal.pvtColSubtotal"]=e))},_getBackgroundStyle:function(t){return["background: {0}".format(t.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(t.color,DashboardUtils.shadeBlend(null,t.color)):t.color)].join(";")},_fontTimeout:null,_fontLoaded:function(){var t=this;null!==this._fontTimeout&&clearTimeout(this._fontTimeout),this._fontTimeout=setTimeout(function(){t.setStickyColumnsPositions()},100)},_getFontStyle:function(t){var e=this;return Utils.FontUtils.loadFont(t.font.family,function(){e._fontLoaded()}),["text-shadow: {0}".format(t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none"),"text-decoration: {0}".format(t.font.underline?"underline":"none"),"text-align: {0}".format(t.font.halign),"font-weight: {0}".format(Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight)),"font-style: {0}".format(t.font.italic?"italic":"normal"),"font-size: {0}px".format(t.font.size),"color: {0}".format(t.font.color),"font-family: {0}".format(t.font.family)].join(";")},_getHAlignStyle:function(t){var e="align-items: {0}";if(t&&t.valign)switch(t.valign){case"top":return e.format("flex-start");case"bottom":return e.format("flex-end");default:return e.format("center")}return e.format("center")},getHeatMapCombinaisons:function(){var e=[];return this._ValuesBindings.forEach(function(t){t={value:{column_id:t.id,aggregation:t.aggregation,name:t.name}};e.push(t)}.bind(this)),e},getOrCreateHeatMapConfiguration:function(t){var e=this.getHeatMapsConfiguration(t);return e||(e=$.extend({config:this.getDefaultHeatMapConfiguration()},t),this.p.heatmaps_custom.push(e)),e},getDefaultHeatMapConfiguration:function(){return $.extend(!0,{},e)},getHeatMapsConfiguration:function(e){return e?Utils.arrayFirst(this.p.heatmaps_custom,function(t){return t.value.column_id===e.value.column_id&&t.value.aggregation===e.value.aggregation}):null},_renderHeatMapsEnabled:function(t,e,a,o){var n=$("#heatmaps_enabled_container",e),e=(0<!n.length&&(n=$('<div id="heatmaps_enabled_container"></div>'),e.append(n)),n.empty(),t.addSection());t.addBoolean({container:n,section:e,label:_("Heatmap"),object:a,property:"enabled",callback:o}),t.addDropdown({container:e,label:_("Type"),object:a,property:"type",callback:o,combobox:{appendToBody:!0,dataprovider:[{value:"colheatmap",label:_("ByValueColumns")},{value:"rowheatmap",label:_("ByValueRows")},{value:"heatmap",label:_("ByValue")}]}}),t.addColor({label:_("HighestValueColor"),container:e,object:a,property:"high_color",callback:o}),t.addColor({label:_("LowestValueColor"),container:e,object:a,property:"low_color",callback:o})},getValueCombinaisons:function(){var e=[],t={column_id:-99,aggregation:"all",name:_("All"),hidden:!0};return e.push(t),this._ValuesBindings.forEach(function(t){t={column_id:t.id,aggregation:t.aggregation,name:t.name};e.push(t)}.bind(this)),e},getValueConfiguration:function(e){return e?Utils.arrayFirst(this.p.values.values,function(t){return t.column_id===e.column_id&&t.aggregation===e.aggregation}):null},getOrCreateValueConfiguration:function(t){var e=this.getValueConfiguration(t);return e||(e=$.extend({config:this.getDefaultValueConfiguration()},t),this.p.values.values.push(e)),e},getDefaultValueConfiguration:function(){var t=this.dashboard||this._from.dashboard;return this.updatePropertiesWithDashboardDefault(a,t),$.extend(!0,{},a)},_renderValuesLabels:function(t,e,a,o){t.addBackgroundColor({container:e,object:a.background,property_color:"color",property_gradient:"gradient",callback:o.bind(this,"background")}),t.addFont({container:e,object:a.headers,property:"font",callback:o.bind(this,"headers.font"),dropDown:!0}),t.addFormat({container:e,appendToBody:!0,label:_("Format"),object:a,property:"format",callback:o.bind(this,"format")})},renderAllValuesProperties:function(t,e,a){var i=this,l=this.getOrCreateValueConfiguration(t).config,t=function(t){for(var e,a=Utils.getNestedValue(l,t),o=this.getValueCombinaisons(),n=0;n<o.length;n++)"all"!==o[n].aggregation&&(e=i.getOrCreateValueConfiguration(o[n]),Utils.setNestedProperty(e.config,t,$.extend(!0,{},a)));"format"===t?this.render():this.injectStyles()}.bind(this);this._renderValuesLabels.bind(this,e,a,l,t.bind(this))()},getColumnsCombinaisons:function(){var e=[],t={column_id:-99,name:_("All"),hidden:!0};return e.push(t),this._ColsBindings.forEach(function(t){t={column_id:t.id,name:t.name};e.push(t)}.bind(this)),e},getColumnValueConfiguration:function(e){return e?Utils.arrayFirst(this.p.column_headers.values,function(t){return t.column_id===e.column_id}):null},getDefaultColumnValueConfiguration:function(){var t=this.dashboard||this._from.dashboard;return this.updatePropertiesWithDashboardDefault(n,t),$.extend(!0,{},n)},getOrCreateColumnValueConfiguration:function(t){var e=this.getColumnValueConfiguration(t);return e||(e=$.extend({config:this.getDefaultColumnValueConfiguration()},t),this.p.column_headers.values.push(e)),e},_renderColumnValuesLabels:function(t,e,a,o){t.addFont({container:e,object:a,property:"font",callback:o.bind(this,"font"),dropDown:!0}),t.addFormat({container:e,appendToBody:!0,label:_("Format"),object:a,property:"format",callback:o.bind(this,"format")})},renderAllColumnValuesProperties:function(t,e,a){var i=this,l=this.getOrCreateColumnValueConfiguration(t).config,t=function(t){for(var e,a=Utils.getNestedValue(l,t),o=this.getColumnsCombinaisons(),n=0;n<o.length;n++)-99!==o[n].column_id&&(e=i.getOrCreateColumnValueConfiguration(o[n]),Utils.setNestedProperty(e.config,t,$.extend(!0,{},a)));"format"===t?this.render():this.injectStyles()}.bind(this);this._renderColumnValuesLabels.bind(this,e,a,l,t.bind(this))()},getRowsCombinaisons:function(){var e=[],t={column_id:-99,name:_("All"),hidden:!0};return e.push(t),this._RowsBindings.forEach(function(t){t={column_id:t.id,name:t.name};e.push(t)}.bind(this)),e},getRowValueConfiguration:function(e){return e?Utils.arrayFirst(this.p.row_headers.values,function(t){return t.column_id===e.column_id}):null},getDefaultRowValueConfiguration:function(){var t=this.dashboard||this._from.dashboard;return this.updatePropertiesWithDashboardDefault(o,t),$.extend(!0,{},o)},getOrCreateRowValueConfiguration:function(t){var e=this.getRowValueConfiguration(t);return e||(e=$.extend({config:this.getDefaultRowValueConfiguration()},t),this.p.row_headers.values.push(e)),e},_renderRowValuesLabels:function(t,e,a,o){t.addFont({container:e,object:a,property:"font",callback:o.bind(this,"font"),dropDown:!0}),t.addFormat({appendToBody:!0,container:e,label:_("Format"),object:a,property:"format",callback:o.bind(this,"format")})},renderAllRowValuesProperties:function(t,e,a){var i=this,l=this.getOrCreateRowValueConfiguration(t).config,t=function(t){for(var e,a=Utils.getNestedValue(l,t),o=this.getRowsCombinaisons(),n=0;n<o.length;n++)-99!==o[n].column_id&&(e=i.getOrCreateRowValueConfiguration(o[n]),Utils.setNestedProperty(e.config,t,$.extend(!0,{},a)));"format"===t?this.render():this.injectStyles()}.bind(this);this._renderRowValuesLabels.bind(this,e,a,l,t.bind(this))()},renderInteractionsTab:function(t){t.ui.empty();var e=this.toggleRowInteractions.bind(this);t.appendDropdownWithDynamicSection({label:_("InteractionType_OnCellDblClick"),object:this.p.interactions,parameters:!0,callback:e,property:"oncelldblclick",items:[{type:null},{type:"dashboard"},{type:"url"},{type:"display_record"}]}),this.renderToolbarProperties(t)},_getCellDblClickEvent:function(t){var a,e=this,o=this.p.interactions.oncelldblclick;if(o)switch(o.type){case"url":DashboardUtils.handleUrlInteraction(e.dashboard,e,o);break;case"dashboard":e.handleDashboardInteraction(o);break;case"display_record":"bindings"===e.p.data.mode&&null===e.p.data_id||(a=[],t.forEach(function(t){var e=t.value,t=t.column;t&&a.push({Column:t.original_name,Value:e,ColumnId:t.id,Grouping:t.groupings||null,Operator:8})}),0<a.length&&e.displayRowDataPopup(a))}},toggleRowInteractions:function(){$("table td.pvtVal",this.ui).toggleClass("can-select",null!==this.p.interactions.oncelldblclick)},getExpandedIcon:function(t){switch(t){case"arrow":return"fa-caret-down";case"folder":return"fa-folder-open";case"plus":return"fa-minus-circle"}},getCollapsedIcon:function(t){switch(t){case"arrow":return"fa-caret-right";case"folder":return"fa-folder";case"plus":return"fa-plus-circle"}},getAggregationDDLItems:function(){return[{value:"sum",label:_("Aggregation_sum")},{value:"avg",label:_("Aggregation_avg")},{value:"avg_total",label:_("Aggregation_avg_total")},{value:"min",label:_("Aggregation_min")},{value:"max",label:_("Aggregation_max")},{value:"count",label:_("Aggregation_count")},{value:"dcount",label:_("Aggregation_dcount")}]}}})}();
//# sourceMappingURL=TA3-pivot-table.js.map

function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _toConsumableArray(t){return _arrayWithoutHoles(t)||_iterableToArray(t)||_unsupportedIterableToArray(t)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}function _regeneratorRuntime(){_regeneratorRuntime=function(){return l};var l={},t=Object.prototype,s=t.hasOwnProperty,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",a=e.asyncIterator||"@@asyncIterator",o=e.toStringTag||"@@toStringTag";function r(t,e,a){return Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{r({},"")}catch(t){r=function(t,e,a){return t[e]=a}}function i(t,e,a,n){var o,r,l,i,e=e&&e.prototype instanceof c?e:c,e=Object.create(e.prototype),n=new v(n||[]);return e._invoke=(o=t,r=a,l=n,i="suspendedStart",function(t,e){if("executing"===i)throw new Error("Generator is already running");if("completed"===i){if("throw"===t)throw e;return T()}for(l.method=t,l.arg=e;;){var a=l.delegate;if(a){a=function t(e,a){var n=e.iterator[a.method];if(void 0===n){if(a.delegate=null,"throw"===a.method){if(e.iterator.return&&(a.method="return",a.arg=void 0,t(e,a),"throw"===a.method))return d;a.method="throw",a.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}n=u(n,e.iterator,a.arg);if("throw"===n.type)return a.method="throw",a.arg=n.arg,a.delegate=null,d;n=n.arg;return n?n.done?(a[e.resultName]=n.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=void 0),a.delegate=null,d):n:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,d)}(a,l);if(a){if(a===d)continue;return a}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if("suspendedStart"===i)throw i="completed",l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);i="executing";a=u(o,r,l);if("normal"===a.type){if(i=l.done?"completed":"suspendedYield",a.arg===d)continue;return{value:a.arg,done:l.done}}"throw"===a.type&&(i="completed",l.method="throw",l.arg=a.arg)}}),e}function u(t,e,a){try{return{type:"normal",arg:t.call(e,a)}}catch(t){return{type:"throw",arg:t}}}l.wrap=i;var d={};function c(){}function p(){}function g(){}var e={},h=(r(e,n,function(){return this}),Object.getPrototypeOf),h=h&&h(h(C([]))),_=(h&&h!==t&&s.call(h,n)&&(e=h),g.prototype=c.prototype=Object.create(e));function f(t){["next","throw","return"].forEach(function(e){r(t,e,function(t){return this._invoke(e,t)})})}function m(l,i){var e;this._invoke=function(a,n){function t(){return new i(function(t,e){!function e(t,a,n,o){var r,t=u(l[t],l,a);if("throw"!==t.type)return(a=(r=t.arg).value)&&"object"==_typeof(a)&&s.call(a,"__await")?i.resolve(a.__await).then(function(t){e("next",t,n,o)},function(t){e("throw",t,n,o)}):i.resolve(a).then(function(t){r.value=t,n(r)},function(t){return e("throw",t,n,o)});o(t.arg)}(a,n,t,e)})}return e=e?e.then(t,t):t()}}function b(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function y(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function v(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function C(e){if(e){var a,t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return a=-1,(t=function t(){for(;++a<e.length;)if(s.call(e,a))return t.value=e[a],t.done=!1,t;return t.value=void 0,t.done=!0,t}).next=t}return{next:T}}function T(){return{value:void 0,done:!0}}return r(_,"constructor",p.prototype=g),r(g,"constructor",p),p.displayName=r(g,o,"GeneratorFunction"),l.isGeneratorFunction=function(t){t="function"==typeof t&&t.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},l.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,r(t,o,"GeneratorFunction")),t.prototype=Object.create(_),t},l.awrap=function(t){return{__await:t}},f(m.prototype),r(m.prototype,a,function(){return this}),l.AsyncIterator=m,l.async=function(t,e,a,n,o){void 0===o&&(o=Promise);var r=new m(i(t,e,a,n),o);return l.isGeneratorFunction(e)?r:r.next().then(function(t){return t.done?t.value:r.next()})},f(_),r(_,o,"Generator"),r(_,n,function(){return this}),r(_,"toString",function(){return"[object Generator]"}),l.keys=function(a){var t,n=[];for(t in a)n.push(t);return n.reverse(),function t(){for(;n.length;){var e=n.pop();if(e in a)return t.value=e,t.done=!1,t}return t.done=!0,t}},l.values=C,v.prototype={constructor:v,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(y),!t)for(var e in this)"t"===e.charAt(0)&&s.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var n=this;function t(t,e){return r.type="throw",r.arg=a,n.next=t,e&&(n.method="next",n.arg=void 0),!!e}for(var e=this.tryEntries.length-1;0<=e;--e){var o=this.tryEntries[e],r=o.completion;if("root"===o.tryLoc)return t("end");if(o.tryLoc<=this.prev){var l=s.call(o,"catchLoc"),i=s.call(o,"finallyLoc");if(l&&i){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!i)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(t,e){for(var a=this.tryEntries.length-1;0<=a;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&s.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var o=n;break}}var r=(o=o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc?null:o)?o.completion:{};return r.type=t,r.arg=e,o?(this.method="next",this.next=o.finallyLoc,d):this.complete(r)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),d},finish:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a=this.tryEntries[e];if(a.finallyLoc===t)return this.complete(a.completion,a.afterLoc),y(a),d}},catch:function(t){for(var e=this.tryEntries.length-1;0<=e;--e){var a,n,o=this.tryEntries[e];if(o.tryLoc===t)return"throw"===(a=o.completion).type&&(n=a.arg,y(o)),n}throw new Error("illegal catch attempt")},delegateYield:function(t,e,a){return this.delegate={iterator:C(t),resultName:e,nextLoc:a},"next"===this.method&&(this.arg=void 0),d}},l}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var n,o,r=[],l=!0,i=!1;try{for(a=a.call(t);!(l=(n=a.next()).done)&&(r.push(n.value),!e||r.length!==e);l=!0);}catch(t){i=!0,o=t}finally{try{l||null==a.return||a.return()}finally{if(i)throw o}}return r}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function asyncGeneratorStep(t,e,a,n,o,r,l){try{var i=t[r](l),s=i.value}catch(t){return void a(t)}i.done?e(s):Promise.resolve(s).then(n,o)}function _asyncToGenerator(i){return function(){var t=this,l=arguments;return new Promise(function(e,a){var n=i.apply(t,l);function o(t){asyncGeneratorStep(n,e,a,o,r,"next",t)}function r(t){asyncGeneratorStep(n,e,a,o,r,"throw",t)}o(void 0)})}}function _createForOfIteratorHelper(t,e){var a,n,o,r,l="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(l)return n=!(a=!0),{s:function(){l=l.call(t)},n:function(){var t=l.next();return a=t.done,t},e:function(t){n=!0,o=t},f:function(){try{a||null==l.return||l.return()}finally{if(n)throw o}}};if(Array.isArray(t)||(l=_unsupportedIterableToArray(t))||e&&t&&"number"==typeof t.length)return l&&(t=l),r=0,{s:e=function(){},n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){var a;if(t)return"string"==typeof t?_arrayLikeToArray(t,e):"Map"===(a="Object"===(a=Object.prototype.toString.call(t).slice(8,-1))&&t.constructor?t.constructor.name:a)||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(t,e):void 0}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}!function(){var WIDGET_CODE="TA4",WIDGET_OPTIONS={layer:!1,width:400,height:400,hasStyleProperty:!0,formula_input:function(t){var e=["sort_filter.filters.formula","calculated_columns.formula","interactions.oncelldblclick.parameters.parameters.formula"];return 0<t.grand_total_values.values.filter(function(t){return"number"===t.config.conditional}).length&&(e.push("grand_total_values.values.config.conditions.value1_formula"),e.push("grand_total_values.values.config.conditions.value2_formula")),0<t.subtotal_values.values.filter(function(t){return"number"===t.config.conditional}).length&&(e.push("subtotal_values.values.config.conditions.value1_formula"),e.push("subtotal_values.values.config.conditions.value2_formula")),0<t.values_custom.length&&0<t.values_custom.filter(function(t){return"number"===t.config.conditional}).length&&(e.push("values_custom.config.conditions.value1_formula"),e.push("values_custom.config.conditions.value2_formula")),0<t.data_bindings.filter(function(t){return"ContextualValueDataBindingProperties:#Infinis"===t.__type&&t.contextual_calculation_type===Enums.WidgetContextualCalculationType.Custom}).length&&e.push("data_bindings.contextual_custom_formula"),e},formula_output:["selectedvalue","selectedcolumn","selectedcolumns","selectedrow","selectedrows","selectedvaluename"]},WIDGET_SCRIPTS=["/Libraries/DevX/js/localization/dx.messages.".concat(_App.culture_code.split("-")[0],".js"),"/Libraries/d3/d3.min.js","/Libraries/ExcelJS/excel.js"],WIDGET_STYLES=["/Libraries/DevX/css/dx.common.css","/Libraries/DevX/css/dx.light.css"],HEADER_MACRO="{{header}}",DEFAULT_CELL_FORMAT_PROPERTIES={conditional:"none",format:null,font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#333333",halign:"right"},background_color:"transparent",based_on:"grand_total",conditions:[{operator:"default",foreground_color:"#333333",background_color:"transparent"}],width:null},DEFAULT_SUBTOTALS_FORMAT_PROPERTIES={conditional:"none",format:null,font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#333333",halign:"right"},background_color:"rgba(221, 221, 221, 0.2)",collapsed_font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#333333",halign:"right"},collapsed_background_color:"transparent",based_on:"grand_total",conditions:[{operator:"default",foreground_color:"#333333",background_color:"transparent"}]},DEFAULT_TOTALS_FORMAT_PROPERTIES={conditional:"none",format:null,font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#333333",halign:"right"},background_color:"rgba(221, 221, 221, 0.4)",based_on:"grand_total",conditions:[{operator:"default",foreground_color:"#333333",background_color:"rgba(221, 221, 221, 0.4)"}]},DEFAULT_HEATMAP_PROPERTIES={enabled:!1,level:"lowest",based_on:"grand_total",style:"2colors",lowest_value_color:"rgba(255, 255, 255, 1)",middle_value_color:"rgba(255,165,165, 1)",highest_value_color:"rgba(255, 75, 75, 1)"},WIDGET_PROPERTIES={style:null,titles:{title:{font:{family:"Open Sans",size:18,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(62,78,91,1)",halign:"center"},text:""},subtitle:{font:{family:"Open Sans",size:12,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(62,78,91,0.5)",halign:"center"},text:""}},background:{color:"#ffffff",gradient:!1,border:{width:0,color:"#cccccc"},shadow:{code:"light"},roundness:2},layout:{font:{family:"Open Sans",size:14},background:{color:"transparent",gradient:!1},border_color:"#dddddd",show_total_prior:!1,tree_row_header_layout:!1,data_field_headers_in_rows:!1,allow_sorting:!0,auto_expand:!1,allow_collapse_expand:!0,parent_col_header_halign:"left",col_header_halign:"center",parent_row_header_halign:"left",row_header_halign:"left"},values_custom:[],values_header_format:[{binding_guid:"all",format:null,width:null}],values_header:{font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(149, 149, 149, 1)"},background_color:"transparent"},subtotal_values:{header:{label:"".concat(HEADER_MACRO," ").concat(_("Total")),font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(149, 149, 149, 1)"},background_color:"rgba(221, 221, 221, 0.2)",collapsed_font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(149, 149, 149, 1)"},collapsed_background_color:"transparent"},display_on:"rowscols",values:[]},grand_total_values:{header:{label:_("GrandTotal"),font:{shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"rgba(149, 149, 149, 1)"},background_color:"rgba(221, 221, 221, 0.4)"},display_on:"rowscols",values:[]},data_id:null,data_bindings:[],calculated_columns:[],data:{mode:"bindings",custom:null},sort_filter:{sorts:[],filters:[]},interactions:{onclick:null,oncelldblclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"bottom_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""},heatmaps_custom:[]},DEFAULT_OPERATOR="default",CONDITIONAL_TYPES={None:"none",Number:"number",Percentage:"percentage"},CONDITIONAL_BASED_ON={GrandTotal:"grand_total",RowGrandTotal:"row_grand_total",ColumnGrandTotal:"column_grand_total",ColumnParentTotal:"column_parent_total",RowParentTotal:"row_parent_total"},WIDGET_PROTOTYPE={init:function(){DevExpress.localization.locale(_App.culture_code),this.tableContainer=$('<div class="tableContainer"></div>').appendTo(this.ui),this.bindEvents(),this.p.data.custom||(this.p.data.custom=this.getSample()),this.clearLocalStorage(),this.tryUpdate()},clearLocalStorage:function(){this._from&&localStorage.removeItem("dx-widget-gallery-pivotgrid-storing-".concat(this.guid))},bindEvents:function(){var a=this;this._eventsBound||(this.createProperty("selectedvalue"),this.createProperty("selectedrow"),this.createProperty("selectedrows"),this.createProperty("selectedcolumn"),this.createProperty("selectedcolumns"),this.createProperty("selectedvaluename"),this.resetOutputProperties(),this.dashboard&&this.dashboard.in_editor?(this.on(WidgetLayer.Events.RESIZING_START,function(){a.ui.css({overflow:"hidden"})}),this.on(WidgetLayer.Events.RESIZED,function(){a.ui.css({overflow:"visible"}),a.tableContainer.data("dxPivotGrid")&&a.tableContainer.data("dxPivotGrid").updateDimensions()})):this.on(["height","width"],function(){a.scrollInstance&&a.scrollInstance.off("updated"),a.tableContainer.data("dxPivotGrid")&&!a.preventRepaint&&(a.repaintPivotGrid(),a.preventRepaint=!0,setTimeout(function(){a.preventRepaint=!1},500))}),this.on("responsiveresized",function(){a.render()}),this.on("dashboardscaleupdated",function(){a.tableContainer.data("dxPivotGrid")&&!a.preventRepaint&&(a.repaintPivotGrid(),a.preventRepaint=!0,setTimeout(function(){a.preventRepaint=!1},500))}),this.on("propertieschanged",function(t){t.needRender?a.render():(a.repaintPivotGrid(),a.tableContainer.data("dxPivotGrid")&&a.tableContainer.data("dxPivotGrid").updateDimensions())}),this.on("stylechanged",function(){var e=a.getWidgetStyleConfig().default_cell_format_properties;a.p.values_custom.forEach(function(t){t.config.font=e.font,t.config.background_color=e.background_color}),a.repaintPivotGrid()}),this.hasBeenDrop&&window.editor.openWidgetSettings(),this.container.on("click",".exportOnClick",function(){this.exportWidgetData()}.bind(this)),this._eventsBound=!0)},render:function(){this.preventRepaint||this.clearLocalStorage(),this.preventRepaint=!1,this.devXComponents=this.getDevXDataFromWSData(),this.applyBackgroundProperties(),this.renderOrUpdateTitlesIfAny(),this.initPivotGrid(),this.injectStyles(),this._loaded=!0},initPivotGrid:function(){var a=this,n=this,o=!1,t={allowFiltering:!0,allowExpandAll:this.p.layout.allow_collapse_expand,showBorders:!0,stateStoring:{enabled:this._from&&!this._valueEditor,type:"localStorage",storageKey:"dx-widget-gallery-pivotgrid-storing-".concat(this.guid)},fieldChooser:{enabled:!1},fieldPanel:{showDataFields:!1,showFilterFields:!1,allowFieldDragging:!1},loadPanel:{enabled:!1},scrolling:{mode:"virtual"},dataSource:{fields:this.devXComponents.fields,store:this.devXComponents.store,onLoadingChanged:function(t){n.exporting||n.container.hasClass("fullscreen")||t||!n.dashboard||n.dashboard.in_editor||n.dashboard.ui.addClass("no-temp-scale")}},onCellClick:function(t){var e;o?(n.executeInteraction("oncelldblclick",t),o=!1):(o=!0,"data"===t.area&&(a.selectedvalue=t.cell.value,a.selectedcolumn=t.cell.columnPath[t.cell.columnPath.length-1]||null,a.selectedcolumns=t.cell.columnPath,a.selectedrow=t.cell.rowPath[t.cell.rowPath.length-1]||null,a.selectedrows=t.cell.rowPath,e=a.getBindings("Values"),a.selectedvaluename=e&&0<e.length&&e[t.cell.dataIndex]?e[t.cell.dataIndex].name:null),setTimeout(function(){o&&n.executeInteraction("onclick",t),o=!1},300)),n.p.layout.allow_collapse_expand||(t.cancel=!0)},onContentReady:function(t){n.container.hasClass("fullscreen")||!n.dashboard||n.dashboard.in_editor||(n.dashboard.ui.removeClass("no-temp-scale"),n.updateGridScrollbars(t.component),a.scrollInstance=t.element.find(".dx-scrollable").dxScrollable("instance"),a.scrollInstance.off("updated"),a.scrollInstance.on("updated",function(){a.preventResize||(a.preventResize=!0,a.reRenderedPivot||n.dashboard.ui.addClass("no-temp-scale"),a.reRenderedPivot=!1,n.tableContainer.data("dxPivotGrid").updateDimensions(),setTimeout(function(){a.preventResize=!1,n.dashboard.ui.removeClass("no-temp-scale")},10))}))}},t=$.extend(!0,t,this.getLayoutOptions(),this.getSubTotalOptions(),this.getTotalOptions(),this.getCellPreparedOptions());this.scrollInstance&&(this.reRenderedPivot=!0),this.tableContainer.dxPivotGrid(t)},repaintPivotGrid:function(){var t;this.preventRepaint||(this.applyBackgroundProperties(),this.renderOrUpdateTitlesIfAny(),t=$.extend({},!0,this.getLayoutOptions(),this.getSubTotalOptions(),this.getTotalOptions(),this.getCellPreparedOptions()),this.tableContainer.data("dxPivotGrid").option(t),this.injectStyles())},repaintCells:function(){var t;this.preventRepaint||(t=$.extend({},!0,this.getSubTotalOptions(),this.getTotalOptions(),this.getCellPreparedOptions()),this.tableContainer.data("dxPivotGrid").option(t))},updateGridScrollbars:function(t){t&&t._dataArea._getScrollable()&&t._dataArea._getScrollable().update(),t&&t._rowsArea._getScrollable()&&t._rowsArea._getScrollable().update()},getCellPreparedOptions:function(){var a=this,n=this,o=this.getBindings(Enums.WidgetAreas.Values);return{onCellPrepared:function(t){if(t.cell)if(t.cellElement.css({"font-size":a.p.layout.font.size,"font-family":a.p.layout.font.family}),"data"===t.area){var e=0<o.length&&o[t.cell.dataIndex]?o[t.cell.dataIndex].guid:"all";"D"===t.cell.columnType&&"D"===t.cell.rowType?t.cell.columnPath.length!==n._Data.cols.length||t.cell.rowPath.length!==n._Data.rows.length?a._applyConditionalFormatting(o,"T",a._getTotalBindingConfiguration(e,"T"),t,!0):a._applyConditionalFormatting(o,"D",a._getValueBindingConfiguration(e),t):"GT"===t.cell.columnType||"GT"===t.cell.rowType?a._applyConditionalFormatting(o,"GT",a._getTotalBindingConfiguration(e,"GT"),t):"T"!==t.cell.columnType&&"T"!==t.cell.rowType||a._applyConditionalFormatting(o,"T",a._getTotalBindingConfiguration(e,"T"),t)}else switch(t.cell.type){case"D":void 0!==t.cell.expanded&&!1===t.cell.expanded?a._applyCSSToCellElement(t,a.p.subtotal_values.header,null,null,a._getCustomHAlign(t),!0):a._applyCSSToCellElement(t,a.p.values_header,null,null,a._getCustomHAlign(t));break;case"GT":a._applyCSSToCellElement(t,a.p.grand_total_values.header,null,null,a._getCustomHAlign(t));break;case"T":a._applyCSSToCellElement(t,a.p.subtotal_values.header,null,null,a._getCustomHAlign(t))}}}},getLayoutOptions:function(){return{rowHeaderLayout:this.p.layout.tree_row_header_layout?"tree":"standard",allowSortingBySummary:this.p.layout.allow_sorting,allowSorting:this.p.layout.allow_sorting,showTotalsPrior:this.p.layout.show_total_prior?"both":"none",dataFieldArea:this.p.layout.data_field_headers_in_rows?"row":"column"}},getSubTotalOptions:function(){return{showRowTotals:"rowscols"===this.p.subtotal_values.display_on||"rows"===this.p.subtotal_values.display_on,showColumnTotals:"rowscols"===this.p.subtotal_values.display_on||"cols"===this.p.subtotal_values.display_on,texts:{total:this.p.subtotal_values.header.label.replace(HEADER_MACRO,"{0}")}}},getTotalOptions:function(){return{showRowGrandTotals:"rowscols"===this.p.grand_total_values.display_on||"rows"===this.p.grand_total_values.display_on,showColumnGrandTotals:"rowscols"===this.p.grand_total_values.display_on||"cols"===this.p.grand_total_values.display_on,texts:{grandTotal:this.p.grand_total_values.header.label}}},applyBackgroundProperties:function(){this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)})},injectStyles:function(){var t=[],e=this.p.layout.font,e=(Utils.FontUtils.loadFont(e.family),2*Math.ceil(1.16*this.p.layout.font.size/2));t[".dx-pivotgrid .dx-expand-icon-container"]="font: ".concat(this.p.layout.font.size,"px/1 DXIcons; width: ").concat(this.p.layout.font.size,"px;"),t[".dx-pivotgrid .dx-pivotgrid-expanded .dx-expand"]="font: ".concat(e,"px/1 DXIcons; font-size: ").concat(e,"px; color: ").concat(this.p.values_header.font.color,";"),t[".dx-pivotgrid .dx-pivotgrid-expanded .dx-expand:before"]="width: ".concat(e,"px; margin-top: -").concat(e/2,"px; margin-left: -").concat(e/2,"px;"),t[".dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand"]="font: ".concat(e,"px/1 DXIcons; font-size: ").concat(e,"px; color: ").concat(this.p.subtotal_values.header.collapsed_font.color,";"),t[".dx-pivotgrid .dx-pivotgrid-collapsed .dx-expand:before"]="width: ".concat(e,"px; margin-top: -").concat(e/2,"px; margin-left: -").concat(e/2,"px;"),t[".dx-pivotgrid"]="background: transparent;",t[".dx-pivotgrid-container"]="background: ".concat(this.p.layout.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.layout.background.color,DashboardUtils.shadeBlend(null,this.p.layout.background.color)):this.p.layout.background.color),t[".dx-pivotgrid .dx-area-description-cell"]="background-color: transparent",t.td="border-color: ".concat(this.p.layout.border_color," !important"),this.p.layout.allow_collapse_expand||(t[".dx-pivotgrid .dx-expand-icon-container"]="display: none"),0===this.getBindings(Enums.WidgetAreas.Rows).length&&this.p.layout.data_field_headers_in_rows&&(t[".dx-pivotgrid-vertical-headers .dx-row-total.dx-grandtotal:not(.dx-last-cell)"]="display:none;",t[".dx-area-row-cell table colgroup"]="display:none;"),Utils.AppendCSSToPage("#widget_".concat(this.guid),t)},getContextualCalculations:function(){return[{value:Enums.WidgetContextualCalculationType.Variation,label:_("Variation")},{value:Enums.WidgetContextualCalculationType.PercentOf,label:_("PercentOf")},{value:Enums.WidgetContextualCalculationType.RankedBy,label:_("RankedBy")},{value:Enums.WidgetContextualCalculationType.RunningTotal,label:_("RunningTotal")},{value:Enums.WidgetContextualCalculationType.Custom,label:_("Custom")}]},getContextualSubTypesCalculations:function(t){switch(t){case Enums.WidgetContextualCalculationType.Variation:return[{value:Enums.WidgetContextualCalculationVariation.Absolute,label:_("Absolute")},{value:Enums.WidgetContextualCalculationVariation.Percentage,label:_("Percentage")}];case Enums.WidgetContextualCalculationType.PercentOf:return[{value:Enums.WidgetContextualCalculationPercentOf.ColumnTotal,label:_("ColumnTotal")},{value:Enums.WidgetContextualCalculationPercentOf.ColumnGrandTotal,label:_("ColumnGrandTotal")},{value:Enums.WidgetContextualCalculationPercentOf.RowTotal,label:_("RowTotal")},{value:Enums.WidgetContextualCalculationPercentOf.RowGrandTotal,label:_("RowGrandTotal")},{value:Enums.WidgetContextualCalculationPercentOf.GrandTotal,label:_("GrandTotal")}];case Enums.WidgetContextualCalculationType.RankedBy:return[{value:Enums.WidgetContextualCalculationRankedBy.Columns,label:_("Columns")},{value:Enums.WidgetContextualCalculationRankedBy.Rows,label:_("Rows")}];case Enums.WidgetContextualCalculationType.RunningTotal:return[{value:Enums.WidgetContextualCalculationRunningTotal.Column,label:_("Columns")},{value:Enums.WidgetContextualCalculationRunningTotal.Row,label:_("Rows")}];default:return[]}},getContextualCustomExample:function(){return'cell.value("'.concat(_("LabelColumn"),'1") / cell.value("').concat(_("LabelColumn"),'2")')},isCustomDataMode:function(){return"custom"===this.p.data.mode},customData:function(){return this.p.data.custom},setSample:function(){var t=this.getSample();this.convertCustomData(t),this.render()},getSample:function(){return[["Rows","Columns","Value"],["Blue","Circle",1],["Red","Triangle",2],["Blue","Circle",3],["Red","Triangle",4]]},convertCustomData:function(t){for(var a=this,e=(this._Data={data:[],cols:[],rows:[],values:[]},this._Data.rows.push({name:t[0][0]}),this._Data.cols.push({name:t[0][1]}),this._Data.values.push({name:t[0][2]}),0);e<t.slice(1)[0].length;e++)!function(e){a._Data.data[e]=t.slice(1).map(function(t){return t[e]})}(e)},refreshFromDataDependency:function(t,e){var a=!1;if(this.p.data_id===t&&"bindings"===this.p.data.mode&&(a=!0),this.p.sort_filter&&0<this.p.sort_filter.filters.length&&"bindings"===this.p.data.mode&&this.p.data_id)for(var n=0;n<this.p.sort_filter.filters.length;n++){var o=this.p.sort_filter.filters[n];if(o.state!==Enums.WidgetFilterState.Disabled&&DashboardUtils.checkFormulaDataCloneDependency(o.formula,e)){a=!0;break}}a&&this.tryUpdate()},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},canUpdateData:function(){return"bindings"!==this.p.data.mode||(0!==this.getBindings(Enums.WidgetAreas.Rows).length&&0!==this.getBindings(Enums.WidgetAreas.RowsBis).length||0!==this.getBindings(Enums.WidgetAreas.Values).length&&0!==this.getBindings(Enums.WidgetAreas.RowsBis).length||0!==this.getBindings(Enums.WidgetAreas.Values).length&&0!==this.getBindings(Enums.WidgetAreas.Rows).length)},updateService:"TA4Data",updateServiceError:function(){},updateServiceSuccess:function(t){var o;this.isCustomDataMode()?this.convertCustomData(this.p.data.custom):(this._Data=t,o=function(t,e){if(e.conditional!==CONDITIONAL_TYPES.None)for(var a=e.conditions,n=0;n<a.length;n++)"default"!==a[n].operator&&(a[n].value1_result=t[n].value1_result&&t[n].value1_result.value,a[n].value2_result=t[n].value2_result&&t[n].value2_result.value)},(t=function(t,a){var n,e=_createForOfIteratorHelper(t);try{for(e.s();!(n=e.n()).done;)!function(){var e=n.value,t=a.filter(function(t){return t.binding_guid===e.binding_guid});t&&0<t.length&&o(t[0].conditions,e.config)}()}catch(t){e.e(t)}finally{e.f()}})(this.p.values_custom,this._Data.values_conditional_formulas),t(this.p.subtotal_values.values,this._Data.sub_totals_conditional_formulas),t(this.p.grand_total_values.values,this._Data.totals_conditional_formulas)),this.resetOutputProperties(),this.render()},onUpdateDataTooManyValues:function(){this.setSample(),this.displayCustomErrorMessage(_("TooManyValuesToDisplay"),_("TooManyValuesToDisplay_Export"))},resetOutputProperties:function(){this.selectedvalue=null,this.selectedrow=null,this.selectedrows=[],this.selectedcolumn=null,this.selectedcolumns=[],this.selectedvaluename=null},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedrow:this.selectedrow,selectedrows:this.selectedrows,selectedcolumn:this.selectedcolumn,selectedcolumns:this.selectedcolumns,selectedvaluename:this.selectedvaluename})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedrow=t.selectedrow,this.selectedrows=t.selectedrows,this.selectedcolumn=t.selectedcolumn,this.selectedcolumns=t.selectedcolumns,this.selectedvaluename=t.selectedvaluename},getDisplayData:function(){var t=this,a=this,n=(this.exporting=!0,new ExcelJS.Workbook),o=n.addWorksheet("");return new Promise(function(e){DevExpress.excelExporter.exportPivotGrid({component:t.tableContainer.dxPivotGrid("instance"),worksheet:o,customizeCell:function(t){var e=t.excelCell,t=t.pivotCell;"data"===t.area&&("number"===t.dataType&&isNaN(t.value)?e.value=null:e.value=t.value)}}).then(function(){n.xlsx.writeBuffer().then(function(t){a.exporting=!1,e(new Blob([t]))})})})},renderPropertiesTab:function(t){var e=this,a=t.ui.content;a.append(Mustache.render('<div>                                 <span>{{ label }}</span>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                                 </ul>                             </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.update()})},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"pivot-table-layout.png",text:_("Layout"),code:"layout",renderer:this.getLayoutProperties.bind(this)}),t.push({icon:"pivot-table-values-new.png",text:_("Cells"),code:"values",renderer:this.getValuesProperties.bind(this)}),t.push({icon:"pivot-table-sub-totals.png",text:_("SubTotalValues"),code:"subtotalvalues",renderer:this.getSubTotalValuesProperties.bind(this)}),t.push({icon:"pivot-table-grand-totals.png",text:_("GrandTotalValues"),code:"grandtotalvalues",renderer:this.getGrandTotalValuesProperties.bind(this)}),t.push({icon:"pivot-table-heatmaps.png",text:_("Heatmap"),code:"heatmaps",renderer:this.getHeatmapsProperties.bind(this)}),t},getTitleProperties:function(t){var e=this.renderOrUpdateTitlesIfAny.bind(this);t.addHeader({text:_("FormatTitleTitle"),description:_("FormatTitleDesc")}),t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",dropDown:!0,callback:e}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()},getBackgroundProperties:function(t){function e(){a.applyBackgroundProperties(),a.injectStyles()}var a=this;t.addHeader({text:_("FormatBackgroundTitle"),description:_("FormatBackgroundDesc")}),t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getLayoutProperties:function(t){function e(){n.tableContainer.data("dxPivotGrid").option(n.getLayoutOptions())}function a(){n.needRender=!0,n.render()}var n=this,o=this.injectStyles.bind(this),r=this.p.layout,o=(t.addHeader({text:_("Layout"),description:_("FormatLayoutTitle")}),t.addFont({object:r,property:"font",sub_label:_("FontSize"),dropDown:!0,callback:function(){n.repaintPivotGrid(),n.tableContainer.data("dxPivotGrid")&&n.tableContainer.data("dxPivotGrid").updateDimensions()},smallFontSize:!0,disabledFontColor:!0,disabledFontStyle:!0}),t.addSeparator(),t.addBackgroundColor({object:r.background,property_color:"color",property_gradient:"gradient",callback:o}),t.addSeparator(),t.addColor({label:_("BorderColor"),object:r,property:"border_color",callback:o}),t.addSeparator(),t.addBoolean({label:_("TotalAtTop"),object:r,property:"show_total_prior",callback:e}),t.addBoolean({label:_("CompactView"),object:r,property:"tree_row_header_layout",callback:e}),t.addBoolean({label:_("ValueHeadersInRows"),object:r,property:"data_field_headers_in_rows",callback:e}),t.addBoolean({label:_("AllowSorting"),object:r,property:"allow_sorting",callback:e}),t.addBoolean({label:_("ExpandedByDefault"),object:r,property:"auto_expand",callback:a}),t.addBoolean({label:_("AllowCollapseExpand"),object:r,property:"allow_collapse_expand",callback:a}),t.addSeparator({label:!0,text:_("ColHeadersHAlign")}),t.addSection().appendTo(t.ui.content)),o=(t.addHorizontalAlign({container:o,label:_("Expandable"),object:r,property:"parent_col_header_halign",callback:a}),t.addHorizontalAlign({container:o,label:_("Fixed"),object:r,property:"col_header_halign",callback:a}),t.addSeparator({label:!0,text:_("RowHeadersHAlign")}),t.addSection().appendTo(t.ui.content));t.addHorizontalAlign({container:o,label:_("Expandable"),object:r,property:"parent_row_header_halign",callback:a}),t.addHorizontalAlign({container:o,label:_("Fixed"),object:r,property:"row_header_halign",callback:a}),t.addSeparator()},getValuesProperties:function(e){function t(t){s.empty(),"all"===t.value?n._renderAllValuesProperties(t.value,e,s):(t=n._getOrCreateValueConfiguration(t.value),e.addNumber({container:s||e.content,label:_("ColumnWidth"),object:t.config,property:"width",placeholder:_("Auto"),min:0,max:500,callback:function(){n.needRender=!0,n.render()}}),n._renderCellProperties(t.config,e,s,"D",l.bind(n)))}function a(t){i.empty(),"all"===t.value?n._renderAllHeadersProperties(t.value,e,i):(t=n._getOrCreateHeaderConfiguration(t.value),n._renderHeaderProperties(t,e,i,l.bind(n)))}var n=this,o=this._getValuesDropdownItems(Enums.WidgetAreas.Values),r=this._getHeadersDropdownItems(),l=this.repaintCells.bind(this),i=(e.addHeader({text:_("Cells"),description:_("FormatValuesTitle")}),e.addFont({object:this.p.values_header,usedSpecifiedFamily:this.p.layout.font.family,hideFontSize:!0,dropDown:!0,property:"font",decoration_label:_("HeaderFont"),callback:l.bind(this)}),e.addColor({label:_("HeaderBackgroundColor"),object:this.p.values_header,property:"background_color",callback:l.bind(this)}),e.addDropdown({label:_("Headers"),object:{button:null},property:"filter",callback:a,combobox:{dataprovider:r}}),e.addSection().addClass().appendTo(e.ui.content)),s=(a({value:"all"}),e.addSeparator(),e.addDropdown({label:_("Values"),object:{button:null},property:"filter",callback:t,combobox:{dataprovider:o}}),e.addSection().addClass("").appendTo(e.ui.content));t({value:"all"})},getSubTotalValuesProperties:function(t){var e=this;t.addHeader({text:_("SubTotalValues"),description:_("FormatSubTotalsTitle")}),this._renderTotalProperties(this.p.subtotal_values,t,"T",this.repaintCells.bind(this),function(){e.tableContainer.data("dxPivotGrid").option(e.getSubTotalOptions())})},getGrandTotalValuesProperties:function(t){var e=this;t.addHeader({text:_("GrandTotalValues"),description:_("FormatTotalsTitle")}),this._renderTotalProperties(this.p.grand_total_values,t,"GT",this.repaintCells.bind(this),function(){e.tableContainer.data("dxPivotGrid").option(e.getTotalOptions())})},getHeatmapsProperties:function(o){var r=this,l=this.repaintCells.bind(this),t=(o.addHeader({text:_("Heatmap"),description:_("FormatHeatmapTitle")}),this.getBindings(Enums.WidgetAreas.Values).map(function(t){return{label:t.name,value:t.guid}})),i=(t.unshift({value:null,label:_("SelectAValue")}),o.addDropdown({label:_("Value"),object:{value:null},property:"heatmap",callback:function(t){var a,e,n;i.empty(),null!==t.value&&(a=r.getOrCreateHeatMapConfiguration(t.value).config,o.addSeparator({container:i}),t=o.addSection(),o.addBoolean({container:i,section:t,label:_("Enabled"),object:a,property:"enabled",callback:l}),o.addDropdown({label:_("Level"),object:a,property:"level",container:t,callback:l,combobox:{dataprovider:[{value:"lowest",label:_("LowestLevelOnly")},{value:"highest",label:_("HighestLevelOnly")}]}}),o.addDropdown({label:_("Compare"),object:a,property:"based_on",container:t,callback:l,combobox:{dataprovider:[{value:CONDITIONAL_BASED_ON.GrandTotal,label:_("All")},{value:CONDITIONAL_BASED_ON.ColumnGrandTotal,label:_("Columns")},{value:CONDITIONAL_BASED_ON.ColumnParentTotal,label:_("ColumnsGroup")},{value:CONDITIONAL_BASED_ON.RowGrandTotal,label:_("Rows")},{value:CONDITIONAL_BASED_ON.RowParentTotal,label:_("RowsGroup")}]}}),e=function t(e){n.empty(),o.addHeatMapPresetSelector({container:n,type:a.style,object:a,callback:function(){t(),l()}}),o.addColor({label:_("LowestValue"),container:n,object:a,dropDown:!1,property:"lowest_value_color",callback:function(){t(),l()}}),"3colors"===a.style&&o.addColor({label:_("MidpointValue"),container:n,object:a,dropDown:!1,property:"middle_value_color",callback:function(){t(),l()}}),o.addColor({label:_("HighestValue"),container:n,object:a,dropDown:!1,property:"highest_value_color",callback:function(){t(),l()}}),e&&l()},o.addDropdown({label:_("Style"),object:a,property:"style",container:t,callback:e,combobox:{dataprovider:[{value:"2colors",label:_("TwoColorGradient")},{value:"3colors",label:_("ThreeColorsGradient")}]}}),o.addSeparator({container:t}),n=o.addSection().addClass("nomargin").appendTo(t),e())},combobox:{containerClasses:"ddl-placeholder",dataprovider:t}}),o.addSection().addClass("nomargin").appendTo(o.ui.content));o.addSeparator()},renderSortFilterTab:function(t){var e=this;t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"sort",icon:"sort.png",text:_("Sort")})).data("renderFn",function(t){e.renderSort(t)})),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",function(t){e.renderFilter(t)}))},getColumnFromId:function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})},renderSort:function(e){var l=this,i=this.getColumnFromId.bind(this),t=new Settings.SortFilter.Sort(e);t.getSortColumns=function(r){switch(l.p.data.mode){case"bindings":e.settings.getDataClone(l.p.data_id,l._from.dashboard.id).then(function(t){for(var e=[],a=0;a<l.p.data_bindings.length;a++){var n,o=l.p.data_bindings[a];0<=o.__type.indexOf("CountDataBindingProperties")?e.push({label:o.name||_("Count"),value:o.guid,area:o.area,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null,is_context:!1}):(n=i(t.columns,o.column_id))&&e.push({icon:DashboardUtils.getIconForColumnType(n.type),label:o.name||n.name,value:o.guid,area:o.area,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null,is_context:n.is_context||!1,column_id:n.id})}r(e)});break;case"custom":var t=l.p.data.custom[0].map(function(t,e){return{label:t,value:e,area:0<e?Enums.WidgetAreas.Columns:Enums.WidgetAreas.Rows}});r(t)}},t.updateDataCallback=function(){e._isDirty=!0,l.update()},t.render()},renderFilter:function(e){var i=this,s=this.getColumnFromId.bind(this),n=(e.ui.content.removeClass("withUserSorting"),new Settings.SortFilter.Filter(e));n.getFilterColumns=function(l){switch(i.p.data.mode){case"bindings":e.settings.getDataClone(i.p.data_id,i._from.dashboard.id).then(function(t){for(var e=[],a=0;a<i.p.data_bindings.length;a++){var n,o=i.p.data_bindings[a],r=s(t.columns,o.column_id);r&&(n=o.aggregation||"",e.push({is_used:!0,is_context:r.is_context||!1,icon:DashboardUtils.getIconForColumnType(r.type),label:o.name||r.name,value:"".concat(r.id).concat(n),column_id:r.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null}))}(e=e.filter(function(t){return!t.is_context})).push({sep:!0}),t.columns.concat(i.p.calculated_columns||[]).filter(function(t){return!t.is_context}).forEach(function(t){e.push({icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,value:t.id,column_id:t.id,is_context:t.is_context||!1})}),l(e)});break;case"custom":var t=i.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});l(t)}},n.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,n.updateOperatorDropdown(t,a),n.updateDataCallback()},n.updateDataCallback=function(){i.update()},n.render()},setSortFilterTabState:function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id),$("#tab_footer").prop("disabled",this.p.data_bindings.length<1)},renderDataTab:function(t){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}},renderDataBindings:function(t){function e(e){e?Utils.arrayRemove(a.p.values_custom,function(t){return t.binding_guid===e}):Utils.arrayRemove(a.p.values_custom,function(t){return"all"!==t.binding_guid})}var a=this,n=new Settings.Data.Bindings(t);n._getAreaBindingUniqueName=function(t){for(var e=t,a=1;Utils.arrayFirst(n.bindings,function(t){return t.name===e});)e=t+" ({0})".format(a),a++;return e},n.render([{name:_("Rows"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.3},{name:_("Columns"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.RowsBis,height_ratio:.3},{name:_("Values"),placeholder:_("DropValues"),area:Enums.WidgetAreas.Values,height_ratio:.4}],{count:!1,allowDuplicateInArea:!0,newCalculatedColumnUI:!0}),n.templates.area_measure_column='                    <li class="area-column measure {{^hidden}}visible{{/hidden}}" data-column-id="{{ id }}" data-aggregation="{{ aggregation }}">                        <div class="column">                            <span class="title" title="{{col_name}}">{{ name }}</span>                            {{^is_context}}<span class="current-aggregation"><span class="value">{{ aggregation }}</span> <i class="far fa-caret-square-down ddl-opener"></i></span> {{/is_context}}                        </div>                        <div class="buttons">                            <button type="button" class="visibility"><i class="far"></i></button>                            <button type="button" class="edit"><i class="far fa-edit"></i></button>                            {{#is_context}}<button type="button" class="properties"><i class="far fa-cog"></i></button>{{/is_context}}                            <button type="button" class="remove"><i class="far fa-trash"></i></button>                        </div>                    </li>';n.on("bindingCleared",function(){a.resetSortAndFilters(),e()}),n.on("bindingRemoved",function(t){a.resetSortAndFilters(t),e(t.guid)}),this.data_destroy_callback=function(){n.destroy()}},renderDataCustomTable:function(t){var e=this.update.bind(this),a=new Settings.Data.CustomTable(t);a.cellValueFormat=function(t,e){t=$(t).val();return 2===e?""===t||isNaN(t)?0:parseFloat(t):t||""},a.addRow=function(t){this.addDummyRow(t),Utils.isUndefined(t)&&((t=[]).length=this.numberOfColumns(),this._data.push(t),Utils.arrayFill(t,""),this._isDirty=!0)},a.customColumnRenameProcess=function(){t.settings.Data._isDirty=!0},this.data_destroy_callback=function(){a.destroy()},t.ui.append($('<header class="nomargin">').text(_("TA2DataCustomHeader"))),a.render({object:this.p.data,property:"custom",callback:e,fixed_columns:!0})},renderInteractionsTab:function(t){t.ui.empty(),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenClicking"),object:this.p.interactions,property:"onclick"}),t.addSeparator(),t.appendDropdownWithDynamicSection({label:_("InteractionType_OnCellDblClick"),object:this.p.interactions,parameters:!0,property:"oncelldblclick",items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}]}),this.renderToolbarProperties(t)},executeInteraction:function(t,e){var n,a,o=this,r=this.p.interactions[t];if(r)switch(r.type){case"url":DashboardUtils.handleUrlInteraction(o.dashboard,o,r);break;case"dashboard":o.handleDashboardInteraction(r);break;case"data":"bindings"===o.p.data.mode&&null===o.p.data_id||(n=[],a=function(e,t){var a=e.original_name;e.id<0&&(a=o.p.calculated_columns.find(function(t){return t.id===e.id}).formula),n.push({Column:a,ColumnId:e.id,Value:t,Grouping:e.groupings||null,Operator:8})},e.cell.columnPath&&e.cell.columnPath.forEach(function(t,e){a(o._Data.cols[e],t)}),e.cell.rowPath&&e.cell.rowPath.forEach(function(t,e){a(o._Data.rows[e],t)}),0<n.length&&o.displayRowDataPopup(n))}},renderOrUpdateTitlesIfAny:function(){function t(t,e){Utils.FontUtils.loadFont(e.font.family),t.text(e.text),t.css({fontFamily:e.font.family,fontSize:"".concat(e.font.size,"px"),textShadow:e.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(e.font.family,e.font.font_weight),fontStyle:e.font.italic?"italic":"",textDecoration:e.font.underline?"underline":"",color:e.font.color,textAlign:e.font.halign})}var e=this.ui.children(".title"),a=this.ui.children(".subtitle");""!==this.p.titles.title.text?(t(0<e.length?e:$('<div class="title"></div>').insertBefore(this.tableContainer),this.p.titles.title),""!==this.p.titles.subtitle.text?(this.ui.children(".title").addClass("hasSubtitle"),t(0<a.length?a:$('<div class="subtitle"></div>').insertBefore(this.tableContainer),this.p.titles.subtitle)):(this.ui.children(".title").removeClass("hasSubtitle"),a.remove())):(e.remove(),a.remove()),this.updateTableContainerPosition()},updateTableContainerPosition:function(){this.p.titles.title.text?this.p.titles.subtitle.text?this.tableContainer.css({top:this.ui.children(".title").outerHeight()+this.ui.children(".subtitle").outerHeight()}):this.tableContainer.css({top:this.ui.children(".title").outerHeight()}):this.tableContainer.css({top:0})},_renderAllValuesProperties:function(t,e,a){var n=this,o=this._getOrCreateValueConfiguration(t).config;this._renderCellProperties(o,e,a,"D",function(t){n._updateNestedPropsOfType(o,t),n.repaintCells()}.bind(this))},_updateNestedPropsOfType:function(t,e){var a,n=_createForOfIteratorHelper(e=$.isArray(e)?e:[e]);try{for(n.s();!(a=n.n()).done;){var o,r=a.value,l=Utils.getNestedValue(t,r),i=_createForOfIteratorHelper(this.p.values_custom.filter(function(t){return"all"!==t.binding_guid}));try{for(i.s();!(o=i.n()).done;){var s=o.value;this._getOrCreateValueConfiguration(s.binding_guid).config[e]=JSON.parse(JSON.stringify(l))}}catch(t){i.e(t)}finally{i.f()}}}catch(t){n.e(t)}finally{n.f()}},_getOrCreateValueConfiguration:function(t){var e=this._getValueConfiguration(t);return e||(e={binding_guid:t,config:(t=Utils.arrayFirst(this.p.values_custom,function(t){return"all"===t.binding_guid}))?JSON.parse(JSON.stringify(t.config)):this._getDefaultValueConfiguration()},this.p.values_custom.push(e)),e},_getDefaultValueConfiguration:function(){return $.extend(!0,{},DEFAULT_CELL_FORMAT_PROPERTIES,this.getWidgetStyleConfig().default_cell_format_properties)},_getValueConfiguration:function(e){return e?Utils.arrayFirst(this.p.values_custom,function(t){return t.binding_guid===e}):null},_getValuesDropdownItems:function(t){t=this.getBindings(t).map(function(t){return{label:t.name,value:t.guid}});return t.unshift({value:"all",label:_("All")}),t},_renderCellProperties:function(a,r,t,n,l){function e(t){var e;t===CONDITIONAL_TYPES.None?("T"===n&&(r.addSeparator({container:u,label:!0,text:_("Expanded")}),r.addFont({label:_("FontColor"),container:u,object:a,property:"font",usedSpecifiedFamily:o.p.layout.font.family,hideFontSize:!0,decoration_label:_("Font"),callback:l.bind(o,"font")})),r.addColor({label:_("BackgroundColor"),container:u,object:a,dropDown:!1,property:"background_color",callback:l.bind(o,"background_color")}),"T"===n&&(r.addSeparator({container:u,label:!0,text:_("Collapsed")}),r.addFont({label:_("FontColor"),container:u,object:a,property:"collapsed_font",usedSpecifiedFamily:o.p.layout.font.family,hideFontSize:!0,decoration_label:_("Font"),callback:l.bind(o,"collapsed_font")}),r.addColor({label:_("BackgroundColor"),container:u,object:a,dropDown:!1,property:"collapsed_background_color",callback:l.bind(o,"collapsed_background_color")})),r.addSeparator({container:u})):(t!==CONDITIONAL_TYPES.Number&&"GT"!==n&&(e=[{value:CONDITIONAL_BASED_ON.GrandTotal,label:_("AllValues"),seq:1},{value:CONDITIONAL_BASED_ON.RowGrandTotal,label:_("RowsValues"),seq:2},{value:CONDITIONAL_BASED_ON.ColumnGrandTotal,label:_("ColumnValues"),seq:4}],"D"===n&&(e.push({value:CONDITIONAL_BASED_ON.ColumnParentTotal,label:_("ColumnsValueByParent"),seq:5}),e.push({value:CONDITIONAL_BASED_ON.RowParentTotal,label:_("RowsValuesByParent"),seq:3})),e.sort(function(t,e){return t.seq-e.seq}),r.addDropdown({label:t===CONDITIONAL_TYPES.Percentage?_("Of"):_("BasedOn"),object:a,property:"based_on",class:"ta4_conditional_dll",callback:l.bind(o,"based_on"),container:u,combobox:{dataprovider:e}})),"T"===n&&r.addFont({label:_("Font"),container:u,object:a,property:"font",disabledFontColor:!0,usedSpecifiedFamily:o.p.layout.font.family,hideFontSize:!0,decoration_label:_("Font"),callback:l.bind(o,"font")}),t=$('<div class="conditional_formatting_container"></div>'),u.append(t),t.append($('<div class="conditional_formatting_table_container">                                                <button type="button" class="btn btn-default btn-grey addConditionalFormatting">'.concat(_("AddCondition"),'</button>                                                <div class="sortable_list_container"></div>                                            </div>'))),e=$(".sortable_list_container",r.content),t=[{name:'<i class="far fa-font"></i>',headerClass:"center",classes:"center",width:80,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.foreground_color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:function(){i._onConditionalColorChange(t,"foreground_color",this,l)},onPreviewColorChanged:function(){i._onConditionalColorChange(t,"foreground_color",this,l)},onCancel:function(){i._onConditionalColorChange(t,"foreground_color",this,l)},palette:i._from.dashboard.model.colors})}},{name:'<i class="far fa-paint-brush"></i>',headerClass:"center",classes:"center",width:80,cellFormat:function(t,e){var a=$('<div class="btn-group clicColorPicker-toggle dropup combo">                                                        <button type="button" class="btn btn-default colorPreview">&nbsp;</button>                                                        <button type="button" class="btn btn-default dropdown-toggle">                                                        </button>                                                        <input type="text" value="{0}" class="colorPicker" />                                                    </div>'.format(t.background_color));e.append(a),$("> input",a).clicColorPicker({onColorChanged:function(){i._onConditionalColorChange(t,"background_color",this,l)},onPreviewColorChanged:function(){i._onConditionalColorChange(t,"background_color",this,l)},onCancel:function(){i._onConditionalColorChange(t,"background_color",this,l)},palette:i._from.dashboard.model.colors})}},{name:_("Value"),cellFormat:function(t,e){var a,n,o=$('<div class="value_column_container"></div>');e.append(o),t.operator===DEFAULT_OPERATOR?o.append($('<div class="value_container"><span class="text-header">{0}</span></div>'.format(_("SymbolOperator_Default")))):(a=function(){n.empty(),t.operator!==DashboardUtils.WidgetOperator.IsNotNullOrEmpty&&t.operator!==DashboardUtils.WidgetOperator.IsNullOrEmpty&&(i._renderFormatFormulaInput(n,"value1_formula","value1_result",t,l),t.operator===DashboardUtils.WidgetOperator.Between&&i._renderFormatFormulaInput(n,"value2_formula","value2_result",t,l))},r.addOperatorSelector({container:o,object:t,grid:!0,property:"operator",callback:function(){a(),l("conditions")},accepts:[DashboardUtils.WidgetOperator.Between,DashboardUtils.WidgetOperator.Equals,DashboardUtils.WidgetOperator.NotEqualTo,DashboardUtils.WidgetOperator.GreaterThan,DashboardUtils.WidgetOperator.GreaterOrEqualThan,DashboardUtils.WidgetOperator.LessThan,DashboardUtils.WidgetOperator.LessOrEqualThan,DashboardUtils.WidgetOperator.IsNullOrEmpty,DashboardUtils.WidgetOperator.IsNotNullOrEmpty]}),n=$('<div class="value_container"></div>'),o.append(n),a())}}],o.conditionalSortableList=new SortableList({container:e,object:a,property:"conditions",onDeleteCallback:function(){l("conditions")},onSortCallback:function(){l("conditions")},columns:t,noDelete:function(t){return t.operator===DEFAULT_OPERATOR}}),$(".addConditionalFormatting",r.content).on("click",function(){o.conditionalSortableList.addNewObject({foreground_color:"#000000",background_color:"#ffffff",operator:DashboardUtils.WidgetOperator.Equals,value1_formula:"",value2_formula:""})}),$("body").on("click",function(){$(".combobox-dropdown-container.show").removeClass("show"),$(".formula-container").removeClass("comboBoxOpen")}))}var o=this,i=this,s=("D"===n&&r.addFormat({container:t||r.content,label:_("ValuesFormat"),object:a,property:"format",callback:l.bind(this,"format")}),"T"!==n&&r.addFont({label:_("FontColor"),container:t||r.content,object:a,property:"font",usedSpecifiedFamily:this.p.layout.font.family,hideFontSize:!0,decoration_label:_("Font"),callback:l.bind(this,"font")}),[{value:CONDITIONAL_TYPES.None,label:_("Fixed")},{value:CONDITIONAL_TYPES.Number,label:_("ConditionalOnNumber")}]),u=("D"===n&&s.push({value:CONDITIONAL_TYPES.Percentage,label:_("ConditionalOnPercentage")}),r.addDropdown({label:_("ValuesStyle"),object:a,class:"ta4_conditional_dll",property:"conditional",callback:function(t){u.empty(),e(t.value),l("conditional")},container:t||r.content,combobox:{dataprovider:s}}),r.addSection().appendTo(t||r.content));e(a.conditional)},_renderFormatFormulaInput:function(t,e,a,n,o){var r=this;n[a]=n[a]||n[e],$(".formula-container.{0}".format(a),t).show(),n.operator===DashboardUtils.WidgetOperator.Between&&"value2"===e||$(".formula-container.value2_result".format(a),t).hide(),$(".formula-container.{0}".format(a),t).length||this.settings.Format.addFormulaInput({container:t,widget:r,dashboard:r.settings._original_widget.dashboard,object:n,grid:!0,dropup:!0,property:e,customClass:a,appendToBody:!0,callback:function(){r.settings.Data._isDirty=!0,r.preventRepaint=!0,o("conditions.value1_result"),r.tryUpdate()}})},_onConditionalColorChange:function(t,e,a,n){t[e]=a.getRGBAColor(),n&&n("conditions")},_renderAllHeadersProperties:function(t,e,a){var r=this,l=this._getOrCreateHeaderConfiguration(t);this._renderHeaderProperties(l,e,a,function(t){$.isArray(t)||(t=[t]);var e,a=l.format,n=_createForOfIteratorHelper(r.p.values_header_format.filter(function(t){return"all"!==t.binding_guid}));try{for(n.s();!(e=n.n()).done;){var o=e.value;r._getOrCreateHeaderConfiguration(o.binding_guid)[t]=JSON.parse(JSON.stringify(a))}}catch(t){n.e(t)}finally{n.f()}r.render()}.bind(this))},_getOrCreateHeaderConfiguration:function(t){var e,a=this._getHeaderConfiguration(t);return a||(e=Utils.arrayFirst(this.p.values_header_format,function(t){return"all"===t.binding_guid}),a={binding_guid:t,format:JSON.parse(JSON.stringify(e.format))},this.p.values_header_format.push(a)),a},_getHeaderConfiguration:function(e){return e?Utils.arrayFirst(this.p.values_header_format,function(t){return t.binding_guid===e}):null},_renderHeaderProperties:function(t,e,a,n){var o=this;"all"!==t.binding_guid&&e.addNumber({container:a||e.content,label:_("ColumnWidth"),object:t,property:"width",placeholder:_("Auto"),min:0,max:500,callback:function(){o.needRender=!0,o.render()}}),e.addFormat({container:a||e.content,label:_("HeaderFormat"),object:t,property:"format",callback:n.bind(this,"format")})},_getHeadersDropdownItems:function(){var t=this.getBindings(Enums.WidgetAreas.Rows).concat(this.getBindings("Rows2")).map(function(t){return{label:t.name,value:t.guid}});return t.unshift({value:"all",label:_("All")}),t},_updateNestedTotalPropsOfType:function(t,e,a){$.isArray(e)||(e=[e]);var n,o=("T"===a?this.p.subtotal_values:this.p.grand_total_values).values,r=_createForOfIteratorHelper(e);try{for(r.s();!(n=r.n()).done;){var l,i=n.value,s=Utils.getNestedValue(t,i),u=_createForOfIteratorHelper(o.filter(function(t){return"all"!==t.binding_guid}));try{for(u.s();!(l=u.n()).done;){var d=l.value;this._getOrCreateTotalConfiguration(d.binding_guid,a).config[e]=JSON.parse(JSON.stringify(s))}}catch(t){u.e(t)}finally{u.f()}}}catch(t){r.e(t)}finally{r.f()}},_getDefaultTotalConfiguration:function(t){return $.extend(!0,{},"T"===t?DEFAULT_SUBTOTALS_FORMAT_PROPERTIES:DEFAULT_TOTALS_FORMAT_PROPERTIES,"T"===t?this.getWidgetStyleConfig().default_subtotals_format_properties:this.getWidgetStyleConfig().default_totals_format_properties)},_getTotalConfiguration:function(e,t){return e?(t=("T"===t?this.p.subtotal_values:this.p.grand_total_values).values,Utils.arrayFirst(t,function(t){return t.binding_guid===e})):null},_getOrCreateTotalConfiguration:function(t,e){var a=this._getTotalConfiguration(t,e),n=("T"===e?this.p.subtotal_values:this.p.grand_total_values).values;return a||(a={binding_guid:t,config:(t=Utils.arrayFirst(n,function(t){return"all"===t.binding_guid}))?JSON.parse(JSON.stringify(t.config)):this._getDefaultTotalConfiguration(e)},n.push(a)),a},_renderAllTotalProperties:function(t,e,a,n){var o=this,r=this._getOrCreateTotalConfiguration(t,n).config;this._renderCellProperties(r,e,a,n,function(t){o._updateNestedTotalPropsOfType(r,t,n),o.repaintCells()}.bind(this))},_renderTotalProperties:function(a,n,o,r,l){function t(t){var e;u.empty(),s&&s.empty(),l(),"hidden"!==t.value&&(n.addText({container:u,object:a.header,label:_("HeaderLabel"),property:"label",placeholder:_("EnterTotalPlaceHolder"),callback:l.bind(i),event:"focusout"}),t=null,"T"===o&&(t=n.addSection().appendTo(u),n.addSeparator({container:t,label:!0,text:_("Expanded")})),n.addFont({container:t||u,usedSpecifiedFamily:i.p.layout.font.family,hideFontSize:!0,object:a.header,property:"font",dropDown:!0,decoration_label:_("HeaderFont"),callback:r.bind(i)}),n.addColor({label:_("HeaderBackgroundColor"),container:t||u,object:a.header,property:"background_color",dropDown:!1,callback:r.bind(i)}),"T"===o&&(n.addSeparator({container:t,label:!0,text:_("Collapsed")}),n.addFont({container:t,usedSpecifiedFamily:i.p.layout.font.family,hideFontSize:!0,object:a.header,property:"collapsed_font",decoration_label:_("HeaderFont"),callback:r.bind(i)}),n.addColor({label:_("HeaderBackgroundColor"),container:t,object:a.header,dropDown:!1,property:"collapsed_background_color",callback:r.bind(i)})),n.addSeparator({container:u}),t=i._getValuesDropdownItems(Enums.WidgetAreas.Values),e=function(t){s.empty(),"all"===t.value?i._renderAllTotalProperties(t.value,n,s,o):(t=i._getOrCreateTotalConfiguration(t.value,o),i._renderCellProperties(t.config,n,s,o,i.repaintCells.bind(i)))},n.addDropdown({label:_("Values"),object:{button:null},container:u,property:"filter",callback:e,combobox:{dataprovider:t}}),s=n.addSection().addClass("").appendTo(n.ui.content),e({value:"all"}))}var i=this,s=null,u=(n.addDropdown({label:_("DisplayMode"),object:a,property:"display_on",callback:t,combobox:{dataprovider:[{value:"hidden",label:_("Hidden")},{value:"rowscols",label:_("RowsCols")},{value:"rows",label:_("RowsOnly")},{value:"cols",label:_("ColsOnly")}]}}),n.addSeparator(),n.addSection().addClass("nomargin"));n.content.append(u),t({value:a.display_on})},getOrCreateHeatMapConfiguration:function(t){var e=this.getHeatMapsConfiguration(t);return e||(e={binding_guid:t,config:$.extend({},!0,DEFAULT_HEATMAP_PROPERTIES)},this.p.heatmaps_custom.push(e)),e},getHeatMapsConfiguration:function(e){return e?Utils.arrayFirst(this.p.heatmaps_custom,function(t){return t.binding_guid===e}):null},_colorScaleGenerator:function(t,e){var a=[],n=[];return a.push(DashboardUtils.rgb2hex(t.lowest_value_color)),"3colors"===t.style&&a.push(DashboardUtils.rgb2hex(t.middle_value_color)),a.push(DashboardUtils.rgb2hex(t.highest_value_color)),n.push(d3.min(e)),"3colors"===t.style&&n.push(d3.median(e)),n.push(d3.max(e)),d3.scale.linear().domain(n).range(a)},_getConditionnalCSS:function(t,e,a){var n=e.filter(function(t){return t.operator===DEFAULT_OPERATOR}),e=e.filter(function(t){return t.operator!==DEFAULT_OPERATOR}),e=Utils.arrayFirst(e,this._findCondition(a));return{color:(e=e||n[0]).foreground_color,"background-color":e.background_color,"font-weight":Utils.FontUtils.getFontWeight(this.p.layout.font.family,t.font_weight),"font-style":t.italic?"italic":"normal","text-shadow":t.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":t.underline?"underline":"none","text-align":t.halign}},_getCustomHAlign:function(t){var e=0<t.cellElement.find(".dx-expand").length,a=this.p.layout;return"row"===t.area?e?a.parent_row_header_halign:a.row_header_halign:e?a.parent_col_header_halign:a.col_header_halign},_getCellElementCssObj:function(t,e,a,n,o){var r=o?t.collapsed_font:t.font,o=o?t.collapsed_background_color:t.background_color;return{color:a||r.color,"background-color":e||o,"font-weight":Utils.FontUtils.getFontWeight(this.p.layout.font.family,r.font_weight),"font-style":r.italic?"italic":"normal","text-shadow":r.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none","text-decoration":r.underline?"underline":"none","text-align":r.halign||n}},_applyCSSToCellElement:function(t,e,a,n,o,r){t.cellElement.css(this._getCellElementCssObj(e,a,n,o,r))},_applyConditionalFormatting:function(M,$,z,q,Y){var J=this;return _asyncToGenerator(_regeneratorRuntime().mark(function t(){var e,a,n,o,r,l,i,s,u,d,c,p,g,h,_,f,m,b,y,v,C,T,x,w,D,S,O,E,P,k,B,A,I,F,R,L,j,G,N,V,U,H,W;return _regeneratorRuntime().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:e=null,a=q.cell,void 0===(n=a.value)&&(n=null),z.conditional!==CONDITIONAL_TYPES.None?t.next=8:(e=J._getCellElementCssObj(z,null,null,null,Y),t.next=56);break;case 8:z.conditional!==CONDITIONAL_TYPES.Number?t.next=12:(e=J._getConditionnalCSS(z.font,z.conditions,n),t.next=56);break;case 12:if(s=q.component.getDataSource(),o=s.getData(),null===n)return t.abrupt("return");t.next=16;break;case 16:z.conditional!==CONDITIONAL_TYPES.Percentage?t.next=56:(l=r=0,i=function(){return o.values[o.grandTotalRowIndex].map(function(t){return t[a.dataIndex]})[o.grandTotalRowIndex]},"GT"!==$?t.next=24:(l=i(),t.next=54));break;case 24:t.t0=z.based_on,t.next=t.t0===CONDITIONAL_BASED_ON.GrandTotal?27:t.t0===CONDITIONAL_BASED_ON.RowGrandTotal?29:t.t0===CONDITIONAL_BASED_ON.ColumnGrandTotal?31:t.t0===CONDITIONAL_BASED_ON.ColumnParentTotal?34:t.t0===CONDITIONAL_BASED_ON.RowParentTotal?44:54;break;case 27:return l=i(),t.abrupt("break",54);case 29:return l=o.values.slice(1,o.values.length)[q.rowIndex][o.grandTotalColumnIndex][a.dataIndex],t.abrupt("break",54);case 31:return s=o.columns._cacheByPath[a.columnPath].index,l=o.values[o.grandTotalRowIndex][s][a.dataIndex],t.abrupt("break",54);case 34:1<a.columnPath.length?(d=(d=a.columnPath).slice(0,-1),u=o.rows._cacheByPath[a.rowPath.join(".")].index,d=o.columns._cacheByPath[d.join(".")].index,l=o.values[u][d][a.dataIndex],t.next=43):t.next=42;break;case 42:return t.abrupt("return");case 43:return t.abrupt("break",54);case 44:1<a.rowPath.length?(u=(u=a.rowPath).slice(0,-1),d=o.rows._cacheByPath[u.join(".")].index,c=o.columns._cacheByPath[a.columnPath.join(".")].index,l=o.values[d][c][a.dataIndex],t.next=53):t.next=52;break;case 52:return t.abrupt("return");case 53:return t.abrupt("break",54);case 54:r=Math.round(n/l*100),e=J._getConditionnalCSS(z.font,z.conditions,r);case 56:"D"!==a.columnType||"D"!==a.rowType?t.next=115:!(c=Utils.arrayFirst(J.p.heatmaps_custom,function(t){return t.binding_guid===M[a.dataIndex].guid}))||!n&&0!==n||(p=c.config,g="T"===$?"highest":"lowest",h=!!J._Data&&(1===J._Data.rows.length&&1===J._Data.cols.length),p.level!==g&&!h||!p.enabled)?t.next=115:(_=q.component.getDataSource(),f=[],m=!0,"lowest"!==g&&!h||M[a.dataIndex].is_context?t.next=89:(b=null,y=[],t.t1=p.based_on,t.next=t.t1===CONDITIONAL_BASED_ON.GrandTotal?72:t.t1===CONDITIONAL_BASED_ON.RowGrandTotal?74:t.t1===CONDITIONAL_BASED_ON.ColumnGrandTotal?76:t.t1===CONDITIONAL_BASED_ON.ColumnParentTotal?78:t.t1===CONDITIONAL_BASED_ON.RowParentTotal?80:82));break;case 72:return b=_.createDrillDownDataSource({dataIndex:a.dataIndex,customColumns:[M[a.dataIndex].name]}),t.abrupt("break",82);case 74:return b=_.createDrillDownDataSource({dataIndex:a.dataIndex,rowPath:a.rowPath,customColumns:[M[a.dataIndex].name]}),t.abrupt("break",82);case 76:return b=_.createDrillDownDataSource({columnPath:a.columnPath,dataIndex:a.dataIndex,customColumns:[M[a.dataIndex].name]}),t.abrupt("break",82);case 78:return b=_.createDrillDownDataSource({columnPath:a.columnPath,dataIndex:a.dataIndex,rowPath:a.rowPath.slice(0,-1),customColumns:[M[a.dataIndex].name]}),t.abrupt("break",82);case 80:return b=_.createDrillDownDataSource({columnPath:a.columnPath.slice(0,-1),dataIndex:a.dataIndex,rowPath:a.rowPath,customColumns:[M[a.dataIndex].name]}),t.abrupt("break",82);case 82:return b.paginate(!1),t.next=85,b.load();case 85:y=t.sent,f=y.map(function(t){return t[M[a.dataIndex].name]}),t.next=114;break;case 89:v=_.getData(),C=v.rows._cacheByPath,T=v.columns._cacheByPath,x=Object.values(C),w=Object.values(T),D=[],S=[],O=function(t,e){var a,n=_createForOfIteratorHelper(Object.keys(C).entries());try{for(n.s();!(a=n.n()).done;){var o=_slicedToArray(a.value,2),r=o[0],l=o[1];l.replace(x[r].text,"").split(".").length===t&&D.push(C[l].index)}}catch(t){n.e(t)}finally{n.f()}var i,s=_createForOfIteratorHelper(Object.keys(T).entries());try{for(s.s();!(i=s.n()).done;){var u=_slicedToArray(i.value,2),d=u[0],c=u[1];c.replace(w[d].text,"").split(".").length===e&&S.push(T[c].index)}}catch(t){s.e(t)}finally{s.f()}},"lowest"===g||h?(I=Object.keys(C),I=I.map(function(t,e){return t.replace(x[e].text,"").split(".").length}),I=I.reduce(function(t,e){return e<t?t:e}),W=Object.keys(T),W=W.map(function(t,e){return t.replace(w[e].text,"").split(".").length}),W=W.reduce(function(t,e){return e<t?t:e}),O(I,W)):1<a.rowPath.length||1<a.columnPath.length?m=!1:O(1,1),m?(t.t2=p.based_on,t.next=t.t2===CONDITIONAL_BASED_ON.GrandTotal?102:t.t2===CONDITIONAL_BASED_ON.RowGrandTotal?104:t.t2===CONDITIONAL_BASED_ON.ColumnGrandTotal?109:113):t.next=113;break;case 102:for(E=0;E<v.values.length;E++)if(E!==v.grandTotalRowIndex&&(P=v.values[E],-1<D.indexOf(E))){k=_createForOfIteratorHelper(S);try{for(k.s();!(B=k.n()).done;)A=B.value,P[A]&&f.push(P[A][a.dataIndex])}catch(t){k.e(t)}finally{k.f()}}return t.abrupt("break",113);case 104:I=C[a.rowPath.join(".")]&&C[a.rowPath.join(".")].index,F=v.values[I],R=_createForOfIteratorHelper(S);try{for(R.s();!(L=R.n()).done;)j=L.value,F[j]&&f.push(F[j][a.dataIndex])}catch(t){R.e(t)}finally{R.f()}return t.abrupt("break",113);case 109:G=T[a.columnPath.join(".")]&&T[a.columnPath.join(".")].index,N=_createForOfIteratorHelper(D);try{for(N.s();!(V=N.n()).done;)U=V.value,(H=v.values[U])[G]&&f.push(H[G][a.dataIndex])}catch(t){N.e(t)}finally{N.f()}return t.abrupt("break",113);case 113:f=f.flat();case 114:m&&(W=J._colorScaleGenerator(p,f),e["background-color"]=W(n));case 115:q.cellElement.css(e);case 116:case"end":return t.stop()}},t)}))()},_findCondition:function(e){return function(t){switch(t.operator){case DashboardUtils.WidgetOperator.Equals:return e===t.value1_result;case DashboardUtils.WidgetOperator.Between:return t.value1_result<=e&&e<=t.value2_result;case DashboardUtils.WidgetOperator.GreaterOrEqualThan:return e>=t.value1_result;case DashboardUtils.WidgetOperator.GreaterThan:return e>t.value1_result;case DashboardUtils.WidgetOperator.LessOrEqualThan:return e<=t.value1_result;case DashboardUtils.WidgetOperator.LessThan:return e<t.value1_result;case DashboardUtils.WidgetOperator.NotEqualTo:return e!==t.value1_result;case DashboardUtils.WidgetOperator.IsNotNullOrEmpty:return null!==e;case DashboardUtils.WidgetOperator.IsNullOrEmpty:return null===e}}},_getTotalBindingConfiguration:function(t,e){t=this._getTotalConfiguration(t,e);return t=(t=t||this._getTotalConfiguration("all",e))&&t.config?t.config:this._getDefaultTotalConfiguration(e)},_getValueBindingConfiguration:function(t){t=this._getValueConfiguration(t);return t=(t=t||this._getValueConfiguration("all"))&&t.config?t.config:this._getDefaultValueConfiguration()},_getHeaderBindingConfiguration:function(t){return this._getHeaderConfiguration(t)||this._getHeaderConfiguration("all")},getDevXDataFromWSData:function getDevXDataFromWSData(){for(var _this21=this,self=this,store=[],meta=[],fields=[],data=this._Data.data,median=function(t){var e=Math.floor(t.length/2),a=_toConsumableArray(t).sort(function(t,e){return t-e});return t.length%2!=0?a[e]:(a[e-1]+a[e])/2},getFieldSummariesOpts=function getFieldSummariesOpts(meta_obj,aggregation){var summaryType="sum",summaryDisplayMode=null,calculateSummaryValue=null,calculateCustomSummary=null,dataField=meta_obj.name,runningTotal=null,allowCrossGroupCalculation=!1;if(meta_obj.is_context)switch(meta_obj.contextual_calculation_type){case Enums.WidgetContextualCalculationType.RunningTotal:runningTotal=meta_obj.contextual_calculation_sub_type,allowCrossGroupCalculation=meta_obj.contextual_calculation_allow_cross_group;break;case Enums.WidgetContextualCalculationType.Custom:calculateSummaryValue=function calculateSummaryValue(cell){return eval(meta_obj.contextual_custom_formula_result)};break;case Enums.WidgetContextualCalculationType.Variation:switch(meta_obj.contextual_calculation_sub_type){case Enums.WidgetContextualCalculationVariation.Absolute:summaryDisplayMode="absoluteVariation";break;case Enums.WidgetContextualCalculationVariation.Percentage:summaryDisplayMode="percentVariation"}break;case Enums.WidgetContextualCalculationType.PercentOf:switch(meta_obj.contextual_calculation_sub_type){case Enums.WidgetContextualCalculationPercentOf.ColumnTotal:summaryDisplayMode="percentOfColumnTotal";break;case Enums.WidgetContextualCalculationPercentOf.ColumnGrandTotal:summaryDisplayMode="percentOfColumnGrandTotal";break;case Enums.WidgetContextualCalculationPercentOf.RowTotal:summaryDisplayMode="percentOfRowTotal";break;case Enums.WidgetContextualCalculationPercentOf.RowGrandTotal:summaryDisplayMode="percentOfRowGrandTotal";break;case Enums.WidgetContextualCalculationPercentOf.GrandTotal:summaryDisplayMode="percentOfGrandTotal"}break;case Enums.WidgetContextualCalculationType.RankedBy:var useCalculatedValue=meta_obj.contextual_ranking_type===Enums.WidgetContextualCalculationRankedByType.CalculatedValues,binding=useCalculatedValue?self.getBindings().find(function(t){return t.guid===meta_obj.calculated_column_guid}):null,isCustom=(null==binding?void 0:binding.contextual_calculation_type)===Enums.WidgetContextualCalculationType.Custom,_sortValues=function _sortValues(cellValue,values){return values=values.map(function(e){return useCalculatedValue&&isCustom?void 0!==eval(binding.contextual_custom_formula.replaceAll("cell","e"))?eval(binding.contextual_custom_formula.replaceAll("cell","e")):NaN:useCalculatedValue?e.value(binding.name,!0):e.value()}).filter(function(t){return!isNaN(t)&&null!=t}),values=_toConsumableArray(new Set(values)),values.sort(function(t,e){return e-t}),meta_obj.contextual_descending_ranking&&values.reverse(),values.indexOf(cellValue)+1};switch(meta_obj.contextual_calculation_sub_type){case Enums.WidgetContextualCalculationRankedBy.Columns:calculateSummaryValue=function(t){var e;if(!useCalculatedValue||binding)return void 0!==(e=useCalculatedValue?t.value(binding.name,!0):t.value())&&t.parent("row")?_sortValues(e,t.parent("row").children("row")):t.children("row").length?null:e};break;case Enums.WidgetContextualCalculationRankedBy.Rows:calculateSummaryValue=function(t){var e;if(!useCalculatedValue||binding)return void 0!==(e=useCalculatedValue?t.value(binding.name,!0):t.value())&&t.parent("column")?_sortValues(e,t.parent("column").children()):e}}}else"avg"===aggregation?(dataField=null,summaryType=Enums.WidgetContextualCalculationType.Custom,calculateCustomSummary=function(t){switch(t.summaryProcess){case"start":t.totalValue=0,t.totalSum=0,t.totalCount=0;break;case"calculate":t.totalCount+=t.value["".concat(meta_obj.name,"#cd_count#")],t.totalSum+=t.value["".concat(meta_obj.name,"#cd_sum#")],t.totalValue=t.totalSum/t.totalCount}}):"median"===aggregation&&(dataField=null,summaryType=Enums.WidgetContextualCalculationType.Custom,calculateCustomSummary=function(t){switch(t.summaryProcess){case"start":t.totalValue=0,t.values=[];break;case"calculate":var e=t.value["".concat(meta_obj.name)];t.values.push(e);break;case"finalize":t.totalValue=median(t.values)}});return summaryType!==Enums.WidgetContextualCalculationType.Custom&&(aggregation&&"cumsum"!==aggregation&&"count"!==aggregation&&"dcount"!==aggregation&&(summaryType=aggregation),"first"===aggregation&&(summaryType="min"),"last"===aggregation&&(summaryType="max"),"avg_total"===aggregation&&(summaryType="avg")),{allowCrossGroupCalculation:allowCrossGroupCalculation,expanded:_this21.p.layout.auto_expand,dataField:dataField,summaryType:summaryType,runningTotal:runningTotal,summaryDisplayMode:summaryDisplayMode,calculateSummaryValue:calculateSummaryValue,calculateCustomSummary:calculateCustomSummary}},toSafeFieldName=function(t){return t.replaceAll(".","{#cd_dot#}")},fieldNameToCaption=function(t){return t.replaceAll("{#cd_dot#}",".")},generateFields=function(r){var l,i,s,t=[],u="",d=null,c=null,p=null,g=null,h=null;switch(r){case Enums.WidgetAreas.Rows:t=_this21._Data.rows,u="row";break;case Enums.WidgetAreas.RowsBis:t=_this21._Data.cols,u="column";break;default:t=_this21._Data.values,u="data"}void 0!==t&&(l=_this21.getBindings().filter(function(t){return t.area===r}),s=i=null,$.isArray(t)&&t.forEach(function(t,a){i=l[a],d=Utils.arrayFirst(self.p.sort_filter.sorts,function(t){return t.column===i.guid}),c="asc",p=null,d&&("custom"!==d.direction?c=d.direction:p=function(t,e){return i=l[a],(d=Utils.arrayFirst(self.p.sort_filter.sorts,function(t){return t.column===i.guid})).custom_order.indexOf(t.value)-d.custom_order.indexOf(e.value)}),r===Enums.WidgetAreas.Values||d||(e=_this21.getBindings().filter(function(t){return t.area===Enums.WidgetAreas.Values}).map(function(t){return t.guid}),0<(n=self.p.sort_filter.sorts.filter(function(t){return-1<e.indexOf(t.column)})).length&&(o=Utils.arrayFirst(_this21.getBindings(),function(t){return t.guid===n[0].column}),c=n[0].direction,g=o.name));i&&(s="data"===u?_this21._getValueBindingConfiguration(i.guid):_this21._getHeaderBindingConfiguration(i.guid))&&(h=s.width),t.name=toSafeFieldName(t.name),meta.push(t);var e,n,o={visible:!i||!i.hidden,caption:fieldNameToCaption(t.name),area:u,sortOrder:c,sortingMethod:p,sortBySummaryField:g,order_meta:d,expanded:!1,customizeText:function(t){var e;return(i=l[a])&&("data"===u?(s=_this21._getValueBindingConfiguration(i.guid),h=s.width,null!==s.format?t.valueText=Utils.formatValue(t.value,s.format):"Values"===i.area&&0<i.column_id&&"count"!==i.aggregation&&"dcount"!==i.aggregation&&(!i.is_context||i.is_context&&[Enums.WidgetContextualCalculationType.Variation,Enums.WidgetContextualCalculationType.RunningTotal].includes(i.contextual_calculation_type)&&i.contextual_calculation_sub_type!==Enums.WidgetContextualCalculationVariation.Percentage)&&(e=Utils.arrayFirst(_this21._Data.values,function(t){return t.id==i.column_id}))&&(t.valueText=InternalType.parse(e.internal_type).format(t.value))):"column"!==u&&"row"!==u||(s=_this21._getHeaderBindingConfiguration(i.guid)).format&&(i.grouping&&i.grouping.length?t.valueText=WidgetsCommon.getFormattedAxisLabel(t.value,DashboardUtils.applyFormat(s.format,"System.String","datetime"),i.grouping,!1,"System.String","datetime"):t.valueText=Utils.formatValue(t.value,s.format))),t.valueText},width:h||void 0},o=$.extend({},o,getFieldSummariesOpts(t,i?i.aggregation:null));fields.push(o)}))},row_length=(generateFields(Enums.WidgetAreas.Rows),generateFields(Enums.WidgetAreas.RowsBis),generateFields(Enums.WidgetAreas.Values),data[0].length),can_update=this.canUpdateData(),_loop3=function(t){var e={},a=0,n=0;_this21._Data.rows.forEach(function(){e[meta[a].name]=data[n][t],a++,n++}),_this21._Data.cols.forEach(function(){e[meta[a].name]=data[n][t],a++,n++}),_this21._Data.values.forEach(function(){e[meta[a].name]=data[n][t],n++,can_update&&data[n]&&(e["".concat(meta[a].name,"#cd_sum#")]=data[n][t],n++,e["".concat(meta[a].name,"#cd_count#")]=data[n][t],n++),a++}),store.push(e)},row_idx=0;row_idx<row_length;row_idx++)_loop3(row_idx);return{store:store,fields:fields}}};Widget.createType({id:WIDGET_CODE,options:WIDGET_OPTIONS,scripts:WIDGET_SCRIPTS,styles:WIDGET_STYLES,properties:WIDGET_PROPERTIES,prototype:WIDGET_PROTOTYPE})}();
//# sourceMappingURL=TA4-new-pivot-table.js.map

function ownKeys(o,e){var t,r=Object.keys(o);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(o),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})),r.push.apply(r,t)),r}function _objectSpread(o){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(t),!0).forEach(function(e){_defineProperty(o,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(t,e))})}return o}function _defineProperty(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}!function(){var r={chart_formula_obj:{formula:"",state:Enums.WidgetFilterState.Disabled},config:null,formula_obj:{formula:"",state:Enums.WidgetFilterState.Disabled},indicator_formula_obj:{state:Enums.WidgetFilterState.Disabled,trend_formula:"",y_value_formula:""},label:"",type:Enums.ScoreCardCellTypes.Label},e={background:{border:{color:"#cccccc",width:0},color:"#ffffff",gradient:!1,roundness:2,shadow:{code:"none"}},column_width_mode:Enums.ScoreCardRowHeightModes.Equal,columns:null,data:null,fixed_columns:0,fixed_rows:0,interactions:{hover:{background_color:"rgba(221,221,221,1)",mode:Enums.ScoreCardHoverSelectionModes.None,text_color:"#fff"},ondblclick:null,row_dblclick_enabled:!1,selection:{background_color:"rgba(221,221,221,1)",mode:Enums.ScoreCardHoverSelectionModes.None,text_color:"#fff"},toolbar_buttons_color:"rgba(221,221,221,1)",toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_information_enabled:!1,toolbar_information_text:"",toolbar_position:"bottom_right",toolbar_zoom_enabled:!1},row_height_mode:Enums.ScoreCardRowHeightModes.Fixed,style:null,table:{background_color:"rgba(0, 0, 0, 0)",border:{color:"#dddddd",style:"solid",width:1},font:{color:"rgb(149, 149, 149)",family:"Open Sans",font_weight:Enums.FontWeights.Regular,italic:!1,shadow:!1,size:14,underline:!1},halign:"left",separate_borders:!0,valign:"middle"}};Widget.createType({id:"TA5",options:{formula_input:["data.columns.formula_obj.formula","data.columns.chart_formula_obj.formula","data.columns.indicator_formula_obj.y_value_formula","data.columns.indicator_formula_obj.trend_formula"],formula_output:["selectedrow","selectedrowindex","selectedcell","selectedcellreference","selectedcolumn","selectedcolumnindex"],hasStyleProperty:!0,height:400,layer:!1,min_height:30,min_width:30,width:400},properties:e,prototype:{bindEvents:function(){var e=this;this.eventsBound||(this.createOutputProperties(),this.dashboard&&this.dashboard.in_editor&&this.on(WidgetLayer.Events.RESIZED,function(){}),this.on("propertieschanged",function(){e.updateBackgroundStyle(),e.loadFonts(),e.resetSelectedOutput()}),this.on("stylechanged",function(){e.styleUpdated()}),this.eventsBound=!0)},canUpdateData:function(){return!0},createOutputProperties:function(){this.createProperty("selectedrow"),this.createProperty("selectedrowindex"),this.createProperty("selectedcell"),this.createProperty("selectedcellreference"),this.createProperty("selectedcolumn"),this.createProperty("selectedcolumnindex"),this.resetSelectedOutput()},getContextualParameters:function(){return this.vueComponent.contextualParameters},init:function(){var e,o,t;this.updateBackgroundStyle(),this.loadFonts(),null===this.p.columns&&null===this.p.data&&(e={background_color:this.p.table.background_color,font:this.p.table.font,format:null,halign:"left",valign:"middle"},o=_objectSpread(_objectSpread({},this.getDefaultCellConfig()),{},{background_color:null==(o=this.getWidgetStyleConfig())?void 0:o.first_row_background_color,font:_objectSpread(_objectSpread({},this.p.table.font),{},{color:(null==(o=this.getWidgetStyleConfig())?void 0:o.first_row_foreground_color)||this.p.table.font.color,font_weight:(null==(o=this.getWidgetStyleConfig())?void 0:o.first_row_font_style)||Enums.FontWeights.Regular,size:(null==(o=this.getWidgetStyleConfig())?void 0:o.first_row_font_size)||15}),format:null,halign:"center",valign:"middle"}),t=_objectSpread(_objectSpread({},this.getDefaultCellConfig()),{},{background_color:this.p.table.background_color,font:this.p.table.font,format:ClicFormatCore.getFormatObject(Enums.ClicFormat.DataType.Currency),halign:"right",valign:"middle"}),this.p.columns=[{config:e,width:150},{config:_objectSpread(_objectSpread({},e),{},{halign:"right"}),width:150},{config:_objectSpread(_objectSpread({},e),{},{halign:"center"}),width:150},{config:_objectSpread(_objectSpread({},e),{},{halign:"center"}),width:150}],this.p.data=[{columns:[_objectSpread(_objectSpread({},r),{},{config:_objectSpread(_objectSpread({},o),{},{halign:"left"}),label:"KPI"}),_objectSpread(_objectSpread({},r),{},{config:_objectSpread(_objectSpread({},o),{},{halign:"right"}),label:"Actual"}),_objectSpread(_objectSpread({},r),{},{config:o,label:"Trend"}),_objectSpread(_objectSpread({},r),{},{config:o,label:"Change"})],config:null,height:(null==(e=this.getWidgetStyleConfig())?void 0:e.first_row_height)||38,row_section:null},{columns:[_objectSpread(_objectSpread({},r),{},{label:"Sales Volume"}),_objectSpread(_objectSpread({},r),{},{config:t,label:"120123"}),_objectSpread(_objectSpread({},r),{},{chart_formula_obj:{formula:"ToArray(4,45,13,62,78,8)",state:Enums.WidgetFilterState.Enabled},type:Enums.ScoreCardCellTypes.SparkLine}),_objectSpread(_objectSpread({},r),{},{indicator_formula_obj:{trend_formula:"-5",trend_formula_result:-5,y_value_formula:"-5"},type:Enums.ScoreCardCellTypes.Indicator})],config:null,height:30,row_section:null},{columns:[_objectSpread(_objectSpread({},r),{},{label:"Expenses"}),_objectSpread(_objectSpread({},r),{},{config:t,label:"97208"}),_objectSpread(_objectSpread({},r),{},{chart_formula_obj:{formula:"ToArray(96,46,69,86,90,86)",state:Enums.WidgetFilterState.Enabled},type:Enums.ScoreCardCellTypes.SparkLine}),_objectSpread(_objectSpread({},r),{},{indicator_formula_obj:{trend_formula:"0",trend_formula_result:0,y_value_formula:"0"},type:Enums.ScoreCardCellTypes.Indicator})],config:null,height:30,row_section:null},{columns:[_objectSpread(_objectSpread({},r),{},{label:"Invoiced"}),_objectSpread(_objectSpread({},r),{},{config:t,label:"190765"}),_objectSpread(_objectSpread({},r),{},{chart_formula_obj:{formula:"ToArray(22,4,80,2,1,79)",state:Enums.WidgetFilterState.Enabled},type:Enums.ScoreCardCellTypes.SparkLine}),_objectSpread(_objectSpread({},r),{},{indicator_formula_obj:{trend_formula:"0.07",trend_formula_result:.07,y_value_formula:"7"},type:Enums.ScoreCardCellTypes.Indicator})],config:null,height:30,row_section:null},{columns:[_objectSpread(_objectSpread({},r),{},{label:"Cash in Bank"}),_objectSpread(_objectSpread({},r),{},{config:t,label:"670123"}),_objectSpread(_objectSpread({},r),{},{chart_formula_obj:{formula:"ToArray(65,48,6,31,18,33)",state:Enums.WidgetFilterState.Enabled},type:Enums.ScoreCardCellTypes.SparkLine}),_objectSpread(_objectSpread({},r),{},{indicator_formula_obj:{trend_formula:"2",y_value_formula:"2"},type:Enums.ScoreCardCellTypes.Indicator})],config:null,height:30,row_section:null}]),this.bindEvents(),this.tryUpdate()},getDefaultCellConfig:function(){var e;return{borders:{bottom:null,left:null,right:null,top:null},chart:_objectSpread({bar_negative_color:"rgb(149, 149, 149)",bar_positive_color:"rgb(149, 149, 149)",first_last_color:"rgb(149, 149, 149)",line_color:"rgb(149, 149, 149)",line_width:1,max_color:"rgb(149, 149, 149)",min_color:"rgb(149, 149, 149)",point_color:"rgb(149, 149, 149)",point_size:4,point_symbol:"circle",show_first_last:!1,show_min_max:!0},null==(e=this.getWidgetStyleConfig())?void 0:e.default_chart_properties),format:null,indicator:{conditions:[_objectSpread({foreground_color:"#ffffff",icon:{name:"fas circle-arrow-up",rotation:0},operator:null,value1_formula:"",value2_formula:""},null==(e=this.getWidgetStyleConfig())||null==(e=e.indicator_default_color)?void 0:e.positive_value),_objectSpread({foreground_color:"#ffffff",icon:{name:"fas circle-arrow-up",rotation:180},operator:Enums.Comparator.LessThan,value1_formula:"0",value1_formula_result:{value:0},value2_formula:""},null==(e=this.getWidgetStyleConfig())||null==(e=e.indicator_default_color)?void 0:e.negative_value),_objectSpread({foreground_color:"#ffffff",icon:{name:"fas minus",rotation:180},operator:Enums.Comparator.Equals,value1_formula:"0",value1_formula_result:{value:0},value2_formula:""},null==(e=this.getWidgetStyleConfig())||null==(e=e.indicator_default_color)?void 0:e.zero_value)],size:14}}},loadFonts:function(){Utils.FontUtils.loadFont(this.p.table.font.family),this.p.data&&this.p.data.forEach(function(e){e.config&&Utils.FontUtils.loadFont(e.config.font.family),e.columns.forEach(function(e){e.config&&Utils.FontUtils.loadFont(e.config.font.family)})}),this.p.colums&&this.p.columns.forEach(function(e){e.config&&Utils.FontUtils.loadFont(e.config.font.family)})},resetSelectedOutput:function(){this.selectedrow=[],this.selectedrowindex=-1,this.selectedcell=null,this.selectedcellreference=null,this.selectedcolumn=[],this.selectedcolumnindex=-1},resetState:function(e){this.container[0].querySelectorAll("tr")[e.rowIndex].querySelectorAll("td")[e.colIndex].click()},styleUpdated:function(){var t=this.getWidgetStyleConfig();this.p.columns.forEach(function(e){e.config&&(e.config.background_color=t.table.background_color,e.config.font.color=t.table.font.color)}),this.p.data.forEach(function(e,o){0===o&&(e.height=t.first_row_height||e.height),e.columns.forEach(function(e){e.config&&(0===o?(e.config.background_color=t.first_row_background_color,(t.first_row_foreground_color||t.table.font.color)&&(e.config.font.color=t.first_row_foreground_color||t.table.font.color),(t.first_row_font_style||t.table.font.font_weight)&&(e.config.font.font_weight=t.first_row_font_style||t.table.font.font_weight),(t.first_row_font_size||t.table.font.size)&&(e.config.font.size=t.first_row_font_size||t.table.font.size)):(e.config.background_color=t.table.background_color,e.config.font.color=t.table.font.color))})})},updateService:"TA5Data",updateServiceError:function(){},updateServiceSuccess:function(e){this.renderVueWidget("TA5",e)},updateState:function(e,o){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{colIndex:e,rowIndex:o})}},scripts:[],styles:[]})}();
//# sourceMappingURL=TA5-scorecard-table.js.map

Widget.createType({id:"TX1",options:{hasStyleProperty:!0,hide_datatab:!0,height:50,width:400,formula_input:function(t){var i=[];return"formula"===t.data.mode&&i.push("data.formula_content"),i},formula_output:["value"]},properties:{data:{custom_content:null,formula_content:"",mode:"custom"},font:{family:"Open Sans",size:32,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"left",valign:"middle"},rotation:0,autofit:!0,background:{background_gradient:!1,border:{width:0,color:"#000000"},roundness:0,shadow:{code:"none"}},interactions:{ondblclick:null,onhover:null},format:null},prototype:{init:function(){this.bindEvents(),"formula"===this.p.data.mode?this.tryUpdate():(this.error=!1,this.updateText())},onSetSampleFromVisibility:function(){this.updateText()},updateService:"Formulas",updateServiceSuccess:function(t){this.isEditing&&(this.isEditing=!1);var i="";void 0!==t&&t&&t[0]&&void 0!==t[0].value&&(i=t[0].value),this.p.data.custom_content_result=i,this.updateText()},createProperties:function(){this.createProperty("value")},refreshFromDataDependency:function(t,i){var e=!1;(e=DashboardUtils.checkFormulaDataCloneDependency(this.p.data.formula_content,i)?!0:e)&&this.tryUpdate()},setCustomError:function(){this.updateText()},bindEvents:function(){var i=this;this._eventsBound||(this.createProperties(),this.on(["height","width"],function(){i.updateStyle()}),this.on("stylechanged",function(){i.updateStyle(),i.updateText()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),EventHandler.createProperty(this,"isEditing",!1),this.on("isEditing",function(t){t?(t="formula"===this.p.data.mode?this.p.data.formula_content:this.p.data.custom_content,t=$('<input type="text">').val(t).on("focusout",function(){var t=$(this).val();"custom"===i.p.data.mode?(i.p.data.custom_content!==t&&(i.p.data.custom_content=t),i.isEditing=!1):i.p.data.formula_content!==t?(i.p.data.formula_content=t,FormulaUtils.evaluateFormula({formula:i.p.data.formula_content,widget:i,sucessCallback:function(t){i.p.data.custom_content_result=t,i.isEditing=!1,i.setModifiedState()},errorCallback:function(){i.p.data.custom_content_result=i.p.data.formula_content,i.isEditing=!1,i.setModifiedState()}})):i.isEditing=!1,i.setModifiedState()}).on("click",function(t){t.stopPropagation()}).on("keydown",function(t){t.stopPropagation(),t.which===$.ui.keyCode.ESCAPE&&(i.isEditing=!1)}).css({"font-family":i.p.font.family,color:i.p.font.color,"text-align":i.p.font.halign}),this.ui.html(t),this.ui.addClass("editing"),t.trigger("focus")):(this.updateText(),this.ui.removeClass("editing")),this.p.autofit&&this.autofitText()}),this.on("propertieschanged",function(){i.init()}),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){this.dashboard&&this.dashboard.in_editor&&this.ui.on("dblclick",function(){this.isEditing||(this.isEditing=!0)}.bind(this))},getRotatedRectangleSize:function(t,i,e){var a=t*Math.abs(Math.cos(e/180*Math.PI))+i*Math.abs(Math.sin(e/180*Math.PI)),e=t*Math.abs(Math.sin(e/180*Math.PI))+i*Math.abs(Math.cos(e/180*Math.PI)),e=Math.min(this.container.innerWidth()/a,this.container.innerHeight()/e);return{width:t*e,height:i*e,sidePadding:(t-a)/2}},onDashboardScalingChange:function(){this.updateStyle()},updateStyle:function(){var i=this,t=this,e=(this.updateContainerStyle("background"),this.ui.css({"font-family":this.p.font.family,"font-size":"".concat(this.p.font.size,"px"),"text-shadow":this.p.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",color:this.p.font.color,"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal","text-decoration":this.p.font.underline?"underline":"none",display:"flex","align-items":function(t){if(i.p.rotation&&(360!==i.p.rotation||180!==i.p.rotation))return"center";switch(t){case"top":return"flex-start";case"middle":return"center";default:return"flex-end"}}(this.p.font.valign),"justify-content":function(t){switch(t){case"left":return"flex-start";case"center":return"center";default:return"flex-end"}}(this.p.font.halign)}),$("span",this.ui));this.p.font.italic&&e.css("padding-right",".1em"),Utils.FontUtils.loadFont(this.p.font.family,function(){e.css({transform:"rotate({0}deg)".format(t.p.rotation)}),t.updateFontSize()})},updateText:function(){var t="";"formula"===this.p.data.mode?t=this.p.data.custom_content_result:"custom"===this.p.data.mode&&(t=this.p.data.custom_content),this.value=t,null!==this.p.format&&(t=Utils.formatValue(t,this.p.format)),this.ui.html($("<span></span>").text(Utils.pickNonEmptyString(t,_("WidgetText_Placeholder")))),this.updateStyle(),this.handleTooltipState(),this._loaded=!0},updateFontSize:function(){this.p.autofit?this.autofitText():this.ui.css("font-size","".concat(this.p.font.size,"px"))},getDummyTextDimensions:function(t){var i="formula"===this.p.data.mode?this.p.data.custom_content_result:this.p.data.custom_content,i=(i&&null!==this.p.format&&(i=Utils.formatValue(i,this.p.format)),i=Utils.pickNonEmptyString(i,_("WidgetText_Placeholder")),$("<div>").text(i).css({position:"absolute","white-space":this.ui.css("white-space"),visibility:"hidden","font-family":this.p.font.family,"font-size":"".concat(t,"px"),"font-weight":Utils.FontUtils.getFontWeight(this.p.font.family,this.p.font.font_weight),"font-style":this.p.font.italic?"italic":"normal"}).appendTo("body"));return{width:i.innerWidth(),height:i.innerHeight(),element:i}},autofitText:function(){var t=this.getDummyTextDimensions(10),i=t.width,e=t.height,a=this.container.innerWidth()-20,n=this.container.innerHeight();this.p.rotation&&360!==this.p.rotation&&(o=this.getRotatedRectangleSize(this.container.innerWidth(),this.container.innerWidth()/i*e,this.p.rotation),"left"===this.p.font.halign&&$("span",this.ui).css("padding-left",o.sidePadding),"right"===this.p.font.halign&&$("span",this.ui).css("padding-right",o.sidePadding),a=o.width-20,n=o.height);var o=10*Math.min(a/i,n/e);t.element.remove(),this.ui.css("font-size","".concat(o,"px"))},renderInteractionsTab:function(t){t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick"}),t.settings.Format.addSeparator({container:t.ui}),t.appendDropdownWithDynamicSection({label:_("InteractionType_WhenHovering"),object:this.p.interactions,property:"onhover",onChange:this.handleTooltipState.bind(this),items:[{type:null},DashboardUtils.ShowTooltipParameters(this.handleTooltipState.bind(this))]})},renderPropertiesTab:function(t){var i=this,e=t.ui.content;e.append(Mustache.render('<div>                     <span>{{ label }}</span>                     <ul class="multiple_labels">                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isFormula}}checked{{/isFormula}} name="baseon" value="formula" id="baseon_formula" /><i class="far"></i><span>{{ formula }}</span><small>{{ formulaDescription }}</small></label></li>                         <li><label class="cd-radio hoverStyle"><input type="radio" {{#isCustom}}checked{{/isCustom}} name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ customDescription }}</small></label></li>                     </ul>                 </div>',{label:_("BasedOn"),formula:_("Formula"),formulaDescription:_("TitleFormulaDesc"),custom:_("Custom"),customDescription:_("CustomTitleDesc"),isFormula:"formula"===this.p.data.mode,isCustom:"custom"===this.p.data.mode})),e.on("change",".multiple_labels input[type=radio]",function(){t.settings.Format._isDirty=!0,i.p.data.mode=$(this).val(),i.init()})},onRotationChange:function(t){var i=!0;this.p.autofit&&(i=!this.p.rotation||180===this.p.rotation||360===this.p.rotation),$(".vertical-align button",t.ui.content).prop("disabled",!i)},getFormatTabs:function(){var t=[];return t.push({icon:"font.png",text:_("Font"),code:"font",renderer:this.getFontProperties.bind(this)}),t.push({icon:"note-shape.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t},getFontProperties:function(t){var i=this;t.ui.content.addClass("TX1"),"formula"===this.p.data.mode?this.settings.Format.addFormulaInput({container:t.ui.content,widget:i,dashboard:i.settings._original_widget.dashboard,placeholder:_("EnterTitlePlaceholder"),label:_("DefaultValue"),object:this.p.data,property:"formula_content",callback:function(t){i.settings.updateDependenciesNeeded=!0,t?(i.error=!1,i.p.data.custom_content_result=t,i.updateText(),i.updateStyle()):i.tryUpdate()}}):"custom"===this.p.data.mode&&t.addText({object:this.p.data,property:"custom_content",placeholder:_("EnterTitlePlaceholder"),callback:this.updateText.bind(this)}),t.addFont({dropDown:!0,object:this.p,property:"font",autofit_property:"autofit",autofit_callback:this.updateStyle.bind(this),callback:function(t){"size"===t&&$("div[property-name=autofit]").find("input").prop("checked",!1).trigger("change"),i.updateStyle()}}),t.addFormat({label:_("Format"),object:this.p,property:"format",callback:function(){i.updateText()}}),this.onRotationChange(t)},getBackgroundProperties:function(t){var i=this.updateContainerStyle.bind(this,"background");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:i}),t.addBoolean({label:_("Gradient"),object:this.p.background,property:"background_gradient",callback:i}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:i}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:i,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:i}),t.addSeparator(),this.p.rotation||(this.p.rotation=0),t.addSlider({label:_("Rotation"),object:this.p,property:"rotation",callback:this.updateStyle.bind(this),interval:5,min:0,max:360,valueLabelFormat:function(t){return"".concat(t,"°")}}),t.addSeparator()}}});
//# sourceMappingURL=TX1-title.js.map

Widget.createType({id:"TX2",options:{hasStyleProperty:!0,hide_datatab:!0,height:20,width:160,formula_input:function(t){var o=[];return"formula"===t.data.mode&&o.push("data.formula_content"),o},formula_output:["value"]},properties:{data:{custom_content:null,formula_content:"",mode:"custom"},font:{family:"Open Sans",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000",halign:"left",valign:"middle"},autofit:!1,background:{background_gradient:!1,border:{width:0,color:"#000000"},roundness:0,shadow:{code:"none"}},interactions:{ondblclick:null,onhover:null},format:null},prototype:$.extend(!0,{},Widget.types.TX1.prototype)});
//# sourceMappingURL=TX2-label.js.map

Widget.createType({id:"TX3",options:{hasStyleProperty:!0,formula_input:["formulas.formula"],height:130,width:320,formula_output:["value"]},properties:{text:_("WidgetParagraph_Text"),formulas:[],disable_word_wrap:!1,background:{background_gradient:!1,border:{width:0,color:"#000000"},roundness:0,shadow:{code:"none"}}},prototype:{init:function(){this.ui.append($("<div class='scrollable'></div>").append("<div class='widgetContent'></div>")),this.bindEvents(),this.tryUpdate(),this.ui.find(".scrollable").setOverlayScrollbar(),this.updateStyle()},bindEvents:function(){var t=this;this._eventsBound||(this.createProperty("value"),this.on("propertieschanged",function(){t.updateStyle(),t.tryUpdate()}),this.on("stylechanged",function(){t.updateStyle()}),this.on("fontchanged",function(){this.updateStyle()}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0),this.bindUIEvents()},bindUIEvents:function(){var t=this;this.ui.on("click","a.clicHyperLink",function(){t.dashboard.trigger("urlopened",{url:$(this).attr("data-url"),mode:"true"===$(this).attr("data-newtab")?"newtab":"currentwindow"})}),this.ui.on("click","a.clicDashboardLink",function(){t.dashboard.trigger("dashboardchanged",{dashboard_id:+$(this).attr("data-id")})})},setCustomError:function(){this.updateText(_("WidgetParagraph_Text"))},updateStyle:function(){this.updateContainerStyle("background"),this.updateParagraphStyle()},updateParagraphStyle:function(){this.ui.find(".widgetContent").css({"white-space":this.p.disable_word_wrap?"nowrap":"pre-line","word-break":"break-word"})},updateText:function(a){function e(){var t=""!==a?a:_("WidgetParagraph_Paragraph");r.ui.find(".widgetContent").html(t),r._loaded=!0}var r=this,t=this._getRequiredFonts();this.value=Utils.removeHTML(a),0===t.length?e():t.forEach(function(t){Utils.FontUtils.loadFont(t,e)})},updateService:"Tx3Data",updateServiceSuccess:function(t){this.updateText(t)},renderDataTab:function(t){var a,e;this._isLoaded||(this._isLoaded=!0,a=this,t.ui.append($("<header>").text(_("TextCustomDataHeader")),'<label class="flex-row"><textarea id="summernote-'.concat(a.model.guid,'"></textarea></label>')),e=""!==a.p.text?a.p.text:_("WidgetParagraph_Paragraph"),$("#summernote-".concat(a.model.guid)).val(e),$("#summernote-".concat(a.model.guid)).clicWysiwyg({height:423,minHeight:423,maxHeight:423,toolbar:[["style",["bold","italic","underline","strikethrough","clear"]],["fonttools",["fontname","fontsize"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["height",["height"]],["List",["ul","ol"]],["para",["paragraph"]],["unredo",["undo","redo"]],["copycut",["Cut","Copy"]],["inserts",["insertLink","Dashboard","Formula"]]],palette:a.p.colors,loadFont:Utils.FontUtils.loadFont,tryUpdate:this.tryUpdate.bind(this),callbacks:{onChange:function(t){a.p.text=t}},widget:a}),a._updateEditorBackground(t))},getFormatTabs:function(){var t=[];return t.push({icon:"note-shape.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"widget-paragraph.png",text:_("Paragraph"),code:"paragraph",renderer:this.getParagraphProperties.bind(this)}),t},getBackgroundProperties:function(t){var a=this,e=this.updateContainerStyle.bind(this,"background");t.addColor({dropDown:!0,label:_("BackgroundColor"),object:this.p.background,property:"background_color",callback:function(){a._updateEditorBackground(t),e()}}),t.addBoolean({label:_("Gradient"),object:this.p.background,property:"background_gradient",callback:function(){a._updateEditorBackground(t),e()}}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t,"px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator()},getParagraphProperties:function(t){var a=this.updateParagraphStyle.bind(this);t.addBoolean({label:_("ParagraphWordWrap"),object:this.p,property:"disable_word_wrap",callback:a}),t.addSeparator()},_getRequiredFonts:function(){for(var t=[],a=this.p.text,e=/font-family:\s*(?:[']|["]|&quot;|&apos;)?([a-z ]+)(?:[']|["]|&quot;|&apos;)?;/gi,r=e.exec(a);r;)-1===t.indexOf(r[1])&&t.push(r[1]),r=e.exec(a);for(var o=/face=\s*(?:[']|["]|&quot;|&apos;)?([a-z ]+)(?:[']|["]|&quot;|&apos;)?/gi,n=o.exec(a);n;)-1===t.indexOf(n[1])&&t.push(n[1]),n=o.exec(a);return t},_updateEditorBackground:function(t){t=this.p.background.background_color&&"transparent"!==this.p.background.background_color?this.p.background.background_gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.background_color,DashboardUtils.shadeBlend(null,this.p.background.background_color)):this.p.background.background_color:t.settings._original_widget.dashboard.model.background_color;$(".note-editable.panel-body").css({background:t})}}});
//# sourceMappingURL=TX3-paragraph.js.map

var _prototype;function _defineProperty(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}var getWordCloudSampleData=function(){return[["Country","Population"],["U.S.",326766748],["Indonesia",266794980],["Brazil",210867954],["Pakistan",200813818],["Nigeria",195875237],["Bangladesh",166368149],["Russia",143964709],["Mexico",130759074],["Japan",127185332],["Ethiopia",107534882],["Philippines",106512074],["Egypt",99375741],["Viet Nam",96491146],["DR Congo",84004989],["Germany",82293457],["Iran",82011735],["Turkey",81916871],["Thailand",69183173],["U.K.",66573504],["France",65233271],["Italy",59290969],["Tanzania",59091392],["South Africa",57398421],["Myanmar",53855735],["South Korea",51164435],["Kenya",50950879],["Colombia",49464683],["Spain",46397452],["Argentina",44688864],["Uganda",44270563],["Ukraine",44009214],["Algeria",42008054],["Sudan",41511526],["Iraq",39339753],["Poland",38104832],["Canada",36953765],["Afghanistan",36373176],["Morocco",36191805],["Saudi Arabia",33554343],["Peru",32551815],["Venezuela",32381221],["Uzbekistan",32364996],["Malaysia",32042458],["Angola",30774205],["Mozambique",30528673],["Nepal",29624035],["Ghana",29463643],["Yemen",28915284],["Madagascar",26262810],["North Korea",25610672],["Côte d'Ivoire",24905843],["Australia",24772247],["Cameroon",24678234],["Taiwan",23694089],["Niger",22311375],["Sri Lanka",20950041],["Burkina Faso",19751651],["Romania",19580634],["Malawi",19164728],["Mali",19107706],["Kazakhstan",18403860],["Syria",18284407],["Chile",18197209],["Zambia",17609178],["Guatemala",17245346],["Netherlands",17084459],["Zimbabwe",16913261],["Ecuador",16863425],["Senegal",16294270],["Cambodia",16245729],["Chad",15353184],["Somalia",15181925],["Guinea",13052608],["South Sudan",12919053],["Rwanda",12501156],["Tunisia",11659174],["Belgium",11498519],["Cuba",11489082],["Benin",11485674],["Burundi",11216450],["Bolivia",11215674],["Greece",11142161],["Haiti",11112945],["Dominican Republic",10882996],["Czech Republic",10625250],["Portugal",10291196],["Sweden",9982709],["Azerbaijan",9923914],["Jordan",9903802],["Hungary",9688847],["United Arab Emirates",9541615],["Belarus",9452113],["Honduras",9417167],["Tajikistan",9107211],["Serbia",8762027],["Austria",8751820],["Switzerland",8544034],["Israel",8452841]]};Widget.createType({id:"TX4",options:{height:400,width:400,hasStyleProperty:!0,hasColorsProperty:!0,formula_input:["sort_filter.filters.formula","calculated_columns.formula","interactions.ondblclick.parameters.parameters.formula","interactions.ontagclick.parameters.parameters.formula"],formula_output:["selectedvalue","selectedcategory"]},scripts:["/Libraries/Highcharts/highstock.js","/Libraries/Highcharts/modules/exporting.js","/Libraries/Highcharts/modules/wordcloud.js"],properties:{data_id:null,data_bindings:[],calculated_columns:[],renderingMethod:"rectangular",weightSmoothing:!1,data:{mode:"bindings",custom:null},tooltip:{display:!0,content:'<p style="text-align: center;">{{this.series.name}} ({{this.point.category}})</p><p style="text-align: center; "><b>{{this.point.value}}</b></p>',background:{color:"#ffffff",border:{width:1,color:"#cccccc"},roundness:0},tag_name_format:null},tags:{font:{family:"Open Sans",font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,shadow:!1},colors:{mode:"palette",single_color:"#2eb363",starting_color:"#2eb363",ending_color:"#fae993",steps:10}},titles:{title:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartTitle")},subtitle:{font:{family:"Open Sans",halign:"center",size:14,shadow:!1,font_weight:Enums.FontWeights.Regular,italic:!1,underline:!1,color:"#000000"},text:_("ChartSubtitle")}},background:{color:"transparent",gradient:!1,border:{width:0,color:"#cccccc"},margins:{top:30,bottom:30,left:20,right:20},shadow:{code:"none"},roundness:0,plot_background:{enabled:!1,color:"#ffffff",gradient:!1,border:{width:0,color:"#000000"}}},other:{threeD:{enabled:!1,x:.25,y:.25,z:1}},sort_filter:{top_bottom:{enabled:!1,direction:"top",rows:3,column:null,ties:!1,others:!1,others_name:_("Others")},sorts:[],filters:[]},interactions:{ondblclick:null,allow_export:!0,ontagclick:null,toolbar_zoom_enabled:!1,toolbar_export_enabled:!1,toolbar_data_download_enabled:!1,toolbar_copy_enabled:!1,toolbar_download_enabled:!1,toolbar_position:"top_right",toolbar_buttons_color:"",toolbar_information_enabled:!1,toolbar_information_text:""}},prototype:(_defineProperty(_prototype={init:function(){ChartUtils.resetSelectedOutputs(this),this.p.data.custom||(this.p.data.custom=getWordCloudSampleData()),this.bindEvents(),this.tryUpdate()},bindEvents:function(){var e=this;this._eventsBound||(this.createOutputProperties(),this.on("error",function(){ChartUtils.destroyChart(e.ui)}),this.on("fontchanged",function(){e.render()}),this.on("propertieschanged",function(){this.render()}.bind(this)),this.on("colorschanged",function(){this.render()}.bind(this)),this.on("stylechanged",function(){this.render()}.bind(this)),this.on(["height","width"],function(t){ChartUtils.resizeChart(e,e.ui,!1,t)}.bind(this)),this.hasBeenDrop&&window.editor.openWidgetSettings(),this._eventsBound=!0)},createOutputProperties:function(){this.createProperty("selectedvalue"),this.createProperty("selectedcategory"),this.resetSelectedOutput()},updateState:function(){this.dashboard&&this.dashboard.updateState(this.model.guid,this.model.remember_selection,{selectedvalue:this.selectedvalue,selectedcategory:this.selectedcategory})},resetState:function(t){this.selectedvalue=t.selectedvalue,this.selectedcategory=t.selectedcategory},resetSelectedOutput:function(){this.selectedvalue=null,this.selectedcategory=null},onVisibilityChange:function(){this.render()},isCustomDataMode:function(){return"custom"===this.p.data.mode},render:function(){ChartUtils.destroyChart(this.ui);var t=[];switch(this.p.tags.colors.mode){case"palette":t=this.getColorsFromPalette();break;case"single":t=[this.p.tags.colors.single_color];break;case"range":t=Utils.ColorUtils.interpolateColors(this.p.tags.colors.starting_color,this.p.tags.colors.ending_color,this.p.tags.colors.steps)}var e={exporting:{enabled:!1},chart:this._getHighchartsChart(),credits:{enabled:!1},colors:t,plotOptions:{column:{grouping:!0},series:{animation:!1,shadow:!1,turboThreshold:1e3,pointPadding:0,groupPadding:.15,dataLabels:{allowOverlap:!0,crop:!1,overflow:"none"}}},title:this._getHighchartsTitle(this.p.titles.title),subtitle:this._getHighchartsTitle(this.p.titles.subtitle),series:this._getHighchartsSeries(),tooltip:this._getHighchartsTooltip()},e=(this.container.css({background:this.p.background.gradient?"linear-gradient(to bottom, {0} 0, {1} 100%)".format(this.p.background.color,DashboardUtils.shadeBlend(null,this.p.background.color)):this.p.background.color,"border-width":"".concat(this.p.background.border.width,"px"),"border-radius":"".concat(this.p.background.roundness?this.p.background.border.width+this.p.background.roundness:0,"px"),"border-color":this.p.background.border.color,"box-shadow":this.getShadowCssFromShadowConfiguration(this.p.background.shadow)}),Highcharts.chart(this.ui[0],e),[]);this._updateTagStyle(e),Utils.AppendCSSToPage("#widget_".concat(this.guid),e),this.updateState()},_updateTagStyle:function(t){var e=this.p.tags.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"none",a=this.p.tags.font.underline?"underline":"none",o=this.p.tags.font.italic?"italic":"normal";t[".highcharts-wordcloud-series text"]="text-shadow: {0}; text-decoration: {1}; font-style: {2};".format(e,a,o)},_getHighchartsTooltip:function(){var t,a=this;return this.p.tooltip&&this._lastvisibilityValue&&this.p.tooltip.display&&this.p.tooltip.content?(t={enabled:!0,shared:!1,useHTML:!0,headerFormat:'<table rules="none" style="margin: 0 2px;">',footerFormat:"</table>",borderWidth:this.p.tooltip.background.border.width,borderColor:this.p.tooltip.background.border.color,borderRadius:this.p.tooltip.background.roundness,backgroundColor:this.p.tooltip.background.color},t.pointFormatter=function(){var t=this;return DashboardUtils.formatWidgetTooltip([{regex:"this.point.value",value:this.options.real_value,format:!0},{regex:"this.series.name",value:this.series.name},{regex:"this.point.category",fn:function(){return function(){var t=this.name,e=this.series.xAxis.isDatetimeAxis;return WidgetsCommon.getFormattedAxisLabel(t,a.p.tooltip.tag_name_format,null,e,null)}.call(t)}}],a.p.tooltip.content,a)},t):{enabled:!1}},getTooltipMacro:function(){return[["{{this.point.value}}",_("PointValue")],["{{this.series.name}}",_("SeriesName")],["{{this.point.category}}",_("PointCategory")]]},_getHighchartsSeries:function(){var a=this;return Utils.FontUtils.loadFont(this.p.tags.font.family),[{type:"wordcloud",allowPointSelect:!0,cursor:"pointer",data:this._Data.data,spiral:this.p.renderingMethod,placementStrategy:"center",animation:!1,style:{fontFamily:this.p.tags.font.family,fontWeight:Utils.FontUtils.getFontWeight(this.p.tags.font.family,this.p.tags.font.font_weight)},name:(this.canUpdateData()&&"custom"!=this.p.data.mode?this.getBindings(Enums.WidgetAreas.Values):this.getCustomDataInfo(Enums.WidgetAreas.Values))[0].name,events:{click:function(t){a.previousCategory&&a.previousCategory==t.point.name||(a.selectedvalue=t.point.options.real_value,a.selectedcategory=t.point.name,a.updateState());var e=a.p.interactions.ontagclick;if(e)switch(e.type){case"url":DashboardUtils.handleUrlInteraction(a.dashboard,a,e);break;case"dashboard":a.handleDashboardInteraction(e);break;case"data":Array.isArray(a.p.data_bindings)&&a.p.data_bindings.length&&a.dashboard&&a._displayTagData(t.point.options.name)}}}}]},_displayTagData:function(t){var e=this,a=[],o=e.p.data_bindings.filter(function(t){return t.area==Enums.WidgetAreas.Rows}),i=e.getColumnFromId(e._Data.rows,o[0].column_id);i&&a.push({Column:i.original_name,ColumnId:i.id,Value:t,Grouping:o.grouping||null,Operator:8}),e.displayRowDataPopup(a)},_getHighchartsTitle:function(t){return t.font.halign||(t.font.halign="center"),Utils.FontUtils.loadFont(t.font.family),{text:Utils.disableHTML(t.text),align:t.font.halign||"center",style:{fontFamily:t.font.family,fontSize:"".concat(t.font.size,"px"),textShadow:t.font.shadow?"1px 0px 4px rgba(0,0,0,.5)":"",fontWeight:Utils.FontUtils.getFontWeight(t.font.family,t.font.font_weight),fontStyle:t.font.italic?"italic":"",textDecoration:t.font.underline?"underline":"",color:t.font.color}}},_getHighchartsChart:function(){var t=this;return{animation:!1,width:this.width,backgroundColor:"transparent",plotBackgroundColor:!this.p.background.plot_background.enabled||this.p.other.threeD.enabled?"transparent":this.p.background.plot_background.gradient?{linearGradient:[0,0,0,"100%"],stops:[[0,this.p.background.plot_background.color],[1,DashboardUtils.shadeBlend(null,this.p.background.plot_background.color)]]}:this.p.background.plot_background.color,plotBorderWidth:!this.p.background.plot_background.enabled||this.p.other.threeD.enabled?0:this.p.background.plot_background.border.width,plotBorderColor:this.p.background.plot_background.border.color,style:{fontFamily:'"Open Sans"'},events:{load:function(){t.onloadedCallback?t.onloadedCallback():t._loaded=!0}},spacingTop:this.p.background.margins&&this.p.background.margins.top||30,spacingLeft:this.p.background.margins&&this.p.background.margins.left||20,spacingBottom:this.p.background.margins&&this.p.background.margins.bottom||30,spacingRight:this.p.background.margins&&this.p.background.margins.right||20}},canUpdateData:function(){return"bindings"!==this.p.data.mode||(1===this.getBindings(Enums.WidgetAreas.Rows).length&&1<=this.getBindings(Enums.WidgetAreas.Values).length||0===this.getBindings(Enums.WidgetAreas.Rows).length&&1<this.getBindings(Enums.WidgetAreas.Values).length)},updateService:"TX4Data",updateServiceError:function(t){this._loaded=!1},updateServiceSuccess:function(e){var t,a,o,i=this;if(this.categoryType=null,this.values=[],"bindings"==this.p.data.mode&&e){0<e.rows.length&&(this._rowsColumns=e.rows,this.categoryType=e.rows[0].type,this.categoryOriginalType=e.rows[0].original_type,this.categoryGroupings=e.rows[0].groupings),this.values=e.values,this._Data=e,null==this._Data.data&&(this._Data.data=[]);var n=function(t){return this.p.weightSmoothing?Math.log(t):t}.bind(this),r=[];if(0<this._Data.data.length){for(var s=0;s<e.values.length;s++){var l=Utils.arrayFirst(i.p.data_bindings,function(t){return t.column_id==e.values[s].id});l&&l.hidden;for(var d=0;d<e.data[s].length;d++)e.rowHeaders[d]?r.push({name:(t=e.rowHeaders[d].name,a=e.values[s],1<e.values.length&&(t=Utils.formatValue(t,DashboardUtils.applyFormat(i.p.labels.value_categories_format,i.categoryType)),t+=ChartUtils.SERIES_NAME_SEPARATOR+a.name),t),real_value:e.data[s][d][0],weight:n(e.data[s][d][1])}):r.push({name:e.values[s].name,real_value:e.data[s][d][0],weight:n(e.data[s][d][1])})}this._Data.data=r}}"custom"===this.p.data.mode&&("custom"===this.p.data.mode&&(e=this.p.data.custom.concat().splice(1)),0<this.p.sort_filter.filters.length&&(o=this.p.sort_filter.filters.filter(function(t){return t.state!=Enums.WidgetFilterState.Disabled}).map(function(t){return{disabled_if_null:t.state==Enums.WidgetFilterState.DisabledIfNull,column_index:t.column_id,operator:t.operator,value:t.formula_result}}),e=DashboardUtils.filterData(e,o)),this.p.sort_filter.top_bottom.enabled&&DashboardUtils.rankData(e,{column_index:this.p.sort_filter.top_bottom.column,type:this.p.sort_filter.top_bottom.direction,count:this.p.sort_filter.top_bottom.rows,ties:this.p.sort_filter.top_bottom.ties}),this._Data=this.convertCustomDataToHeaders(e),this._Data.data=this.convertIntoWordCloudData(e)),this.render()},convertIntoWordCloudData:function(t){if(!t||!t.length)return["",0];for(var e=[],a=function(t){return this.p.weightSmoothing?Math.log(t):t}.bind(this),o=(t=t.sort(function(t,e){return e[1]-t[1]}))[0][1],i=0;i<t.length;i++){var n=t[i];e.push({name:n[0],weight:Math.round(a(100*n[1]/o),2),real_value:n[1]})}return e},getCustomData:function(){return this.p.data.custom.slice(1)},setSample:function(){this._Data=this.convertCustomDataToHeaders(),this._Data.data=this.convertIntoWordCloudData(this.getCustomData()),this.render()},getContextualParameters:function(){var t=[];return!this.error&&this._Data&&(t.push({name:"Data",value:this._Data.data}),t.push({name:"RowPointIdx",value:0}),t.push({name:"ChildPointIdx",value:0}),t.push({name:"ValuePointIdx",value:0}),this._Data&&this._Data.rowHeaders&&t.push({name:"RowHeaders",value:this._Data.rowHeaders.map(function(t){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},t)})}),this._Data&&this._Data.columnHeaders&&t.push({name:"ColumnHeaders",value:this._Data.columnHeaders.map(function(t){return $.extend({},{__type:"GenericDataResponse.Header:#Infinis"},t)})}),this._Data&&this._Data.values&&t.push({name:Enums.WidgetAreas.Values,value:this._Data.values.map(function(t){return $.extend({},{__type:"GenericDataResponse.MetricInfo:#Infinis"},t)})}),this._Data&&this._Data.rows&&t.push({name:Enums.WidgetAreas.Rows,value:this._Data.rows.map(function(t){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},t)})}),this._Data&&this._Data.columns&&t.push({name:Enums.WidgetAreas.Columns,value:this._Data.columns.map(function(t){return $.extend({},{__type:"GenericDataResponse.DimensionInfo:#Infinis"},t)})})),t},getBindings:function(e,t){var a;return e?(a=this.p.data_bindings.filter(function(t){return t.area===e}),Utils.isDefined(t)?a[t]:a):this.p.data_bindings},getCustomDataInfo:function(t){return t==Enums.WidgetAreas.Values?[{name:this.p.data.custom[0][1]}]:t==Enums.WidgetAreas.Rows?[{name:this.p.data.custom[0][0]}]:void 0},isAllCategoriesAreDates:function(){if(null==this._Data)return!1;for(var t=0<this._Data.rows.length,e=0;e<this._Data.rows.length;e++)Utils.isDateType(this._Data.rows[e].type)||(t=!1);return t},renderPropertiesTab:function(t){var e=this,a=t.ui.content,o=this.update.bind(this);t.addLargeDropdown({container:a,id:"properties_rendering_method",dataprovider:this.getAvailableRenderingMethods(),object:this.p,property:"renderingMethod",callback:o,combobox:{inputTemplate:'<span class="imageResize" href="javascript:void(0);"><div class="img" style="background-image: url({{ image }});"></div>{{label}}</span>',liTemplate:'<li><a href="javascript:void(0);"><label><div class="img" style="background-image: url({{ image }});"></div></i><span>{{label}}</span></label></a></li>',containerClasses:"ddl-large wordCloudRendering",appendToBodyClasses:"ddl-large-appended wordCloudRendering",appendToBody:!0,onChange:function(t){t=this.getValue();e.p.renderingMethod=t,o()}}}),t.addBoolean({container:a,label:_("WeightSmoothing"),object:this.p,property:"weightSmoothing",callback:o});a.append(Mustache.render('<div>                         <span>{{ label }}</span>                         <ul class="multiple_labels">                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="bindings" id="baseon_data" /><i class="far"></i><span>{{ data }}</span><small>{{ data_desc }}</small></label></li>                             <li><label class="cd-radio hoverStyle"><input type="radio" name="baseon" value="custom" id="baseon_custom" /><i class="far"></i><span>{{ custom }}</span><small>{{ custom_desc }}</small></label></li>                         </ul>                     </div>',{label:_("BasedOn"),data:_("Data"),data_desc:_("DataDesc"),custom:_("Custom"),custom_desc:_("CustomDesc"),formula:_("Formula"),formula_desc:_("FormulaDesc")})),a.find(".multiple_labels input[type=radio][value={0}]".format(this.p.data.mode)).prop("checked",!0),a.on("change",".multiple_labels input[type=radio]",function(){t.settings.Data._isDirty=!0,e.p.data.mode=$(this).val(),e.setSortFilterTabState(),e.resetSortAndFilters(),e.update()})},getAvailableRenderingMethods:function(){return[{label:_("TagWordRendering_Rectangular"),value:"rectangular",image:"/Dashboard/Images/WidgetProperties/word-tag-cloud-rectangle.png"},{label:_("TagWordRendering_Ellipsis"),value:"archimedean",image:"/Dashboard/Images/WidgetProperties/word-tag-cloud-ellipse.png"},{label:_("TagWordRendering_Square"),value:"square",image:"/Dashboard/Images/WidgetProperties/word-tag-cloud-square.png"}]},renderDataTab:function(t){if(this.p.data.mode!==this.current_data_mode){switch(t.ui.empty(),this.data_destroy_callback&&(this.data_destroy_callback(),this.data_destroy_callback=null),this.p.data.mode){case"bindings":this.renderDataBindings(t);break;case"custom":this.renderDataCustomTable(t)}this.current_data_mode=this.p.data.mode}},renderDataBindings:function(t){var e=this,a=new Settings.Data.Bindings(t);a.render([{name:_("Values"),placeholder:_("DropMeasures"),area:Enums.WidgetAreas.Values,height_ratio:.5},{name:_("TagName"),placeholder:_("DropDimensions"),area:Enums.WidgetAreas.Rows,height_ratio:.5}]),a.area_column_limits[Enums.WidgetAreas.Rows]=1,a.area_column_limits[Enums.WidgetAreas.Values]=1,a.ui.axis_ddl=$('                <ul id="data-axis-ddl" class="dropdown-menu dropdown-arrow">                    <li data-axis-index="0"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>'.concat(_("AxisLeft").format(1),'</span></label></li>                    <li data-axis-index="1"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(2),'</span></label></li>                    <li data-axis-index="2"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisLeft").format(3),'</span></label></li>                    <li data-axis-index="3"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(1),'</span></label></li>                    <li data-axis-index="4"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(2),'</span></label></li>                    <li data-axis-index="5"><label class="fa-checkbox"><input type="radio" name="axis_ddl_radio" /><i class="far"></i><span>').concat(_("AxisRight").format(3),"</span></label></li>                </ul>")).appendTo("body"),a.ui.drop_areas.on("mousedown",".axis-picker-ddl",function(){var t=$(this).closest(".area-column");return a.toggleAxisPopup(t),!1}),a.ui.axis_ddl.on("change","input",function(){a.axisPopupChanged()}),a.on("bindingCleared",function(){this.resetSortAndFilters()}.bind(this)),a.on("bindingRemoved",function(t){e.resetSortAndFilters(t),t.area,Enums.WidgetAreas.Values}),this.data_destroy_callback=function(){a.destroy()}},renderDataCustomTable:function(i){var n=this,t=this.update.bind(this),e=new Settings.Data.CustomTable(i);e.cellValueFormat=function(t,e){t=$(t).val();return 0<e?""===t||isNaN(t)?0:parseFloat(t):t},e.customColumnRenameProcess=function(t,e,a){var o=Utils.arrayFirst(n.p.series_custom,function(t){return 0<t.columns.length&&-2===t.columns[0].column_id&&t.columns[0].value===e});o&&(o.columns[0].value=a),i.settings.Data._isDirty=!0},this.data_destroy_callback=function(){e.destroy()},i.ui.append($('<header class="nomargin">').text(_("ChartDataCustomHeader"))),e.render({object:this.p.data,property:"custom",fixed_columns:!0,callback:function(){t()}})},renderSortFilterTab:function(t){t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"topbottom",icon:"top-bottom.png",text:_("TopBottom")})).data("renderFn",this.renderTopBottom.bind(this))),t.ui.nav.append($(Mustache.render(t.templates.tabs,{code:"filter",icon:"filter.png",text:_("Filter")})).data("renderFn",this.renderFilter.bind(this)))},renderTopBottom:function(e){var r=this,t=new Settings.SortFilter.TopBottom(e);t.hasOthersOption=!0,t.isOthersEnabled=!this.isAllCategoriesAreDates(),t.updateDataCallback=function(){r._isDirty=!0,r.update()},t.getTopBottomColumns=function(n){switch(r.p.data.mode){case"bindings":e.settings.getDataClone(r.p.data_id,r._from.dashboard.id).then(function(t){for(var e=[],a=0;a<r.p.data_bindings.length;a++){var o,i=r.p.data_bindings[a];i.area===Enums.WidgetAreas.Values&&(i.__type.startsWith("CountDataBindingProperties")?e.push({label:i.name||_("Count"),value:i.guid,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:!1}):(o=r.getColumnFromId(t.columns,i.column_id),e.push({label:i.name||o.name,value:i.guid,aggregation:i.aggregation,aggregationLabel:i.aggregation?_("Aggregation_".concat(i.aggregation)):null,is_context:o.is_context||!1,column_id:o.id})))}n(e)});break;case"custom":var t=r.p.data.custom[0].map(function(t,e){return{label:t,value:e}});n(t)}},t.render()}},"isAllCategoriesAreDates",function(){if(null==this._Data)return!1;if("custom"===this.p.data.mode)return!1;for(var t=0<this._Data.rows.length,e=0;e<this._Data.rows.length;e++)Utils.isDateType(this._Data.rows[e].type)||(t=!1);return t}),_defineProperty(_prototype,"getColumnFromId",function(t,e){return Utils.arrayFirst(t.concat(this.p.calculated_columns||[]),function(t){return t.id===e})}),_defineProperty(_prototype,"renderFilter",function(e){var s=this,o=new Settings.SortFilter.Filter(e);o.getFilterColumns=function(r){switch(s.p.data.mode){case"bindings":e.settings.getDataClone(s.p.data_id,s._from.dashboard.id).then(function(t){for(var e=[],a=0;a<s.p.data_bindings.length;a++){var o=s.p.data_bindings[a],i=s.getColumnFromId(t.columns,o.column_id);i&&e.push({is_used:!0,is_context:i.is_context||!1,icon:DashboardUtils.getIconForColumnType(i.type),label:o.name||i.name,value:"".concat(i.id).concat(o.aggregation||""),column_id:i.id,aggregation:o.aggregation,aggregationLabel:o.aggregation?_("Aggregation_".concat(o.aggregation)):null})}(e=e.filter(function(t){return!t.is_context})).push({sep:!0});var n=t.columns.concat(s.p.calculated_columns||[]).filter(function(t){return!t.is_context}),e=e.concat(n.map(function(t){return{icon:DashboardUtils.getIconForColumnType(t.type),label:t.name,is_context:t.is_context||!1,value:t.id,column_id:t.id}}));r(e)});break;case"custom":var t=s.p.data.custom[0].map(function(t,e){return{icon:DashboardUtils.getIconForColumnType(),label:t,value:e,column_id:e}});r(t)}},o.onColumnChangedCallback=function(t,e,a){t.column_id=e.data().column_id,t.aggregation=e.data().aggregation,o.updateOperatorDropdown(t,a),o.updateDataCallback()},o.updateDataCallback=function(){s.update()},o.render()}),_defineProperty(_prototype,"setSortFilterTabState",function(){$("#tab_sortfilter").prop("disabled","bindings"===this.p.data.mode&&!this.p.data_id)}),_defineProperty(_prototype,"getFormatTabs",function(){var t=[];return t.push({icon:"font.png",text:_("Title"),code:"title",renderer:this.getTitleProperties.bind(this)}),t.push({icon:"background.png",text:_("Background"),code:"background",renderer:this.getBackgroundProperties.bind(this)}),t.push({icon:"tag-properties.png",text:_("TagStyle"),code:"tag",renderer:this.getTagStyleProperties.bind(this)}),t.push({icon:"tags.png",text:_("Tooltip"),code:"tooltip",renderer:this.getTooltipProperties.bind(this)}),t}),_defineProperty(_prototype,"getTagStyleProperties",function(t){var e=this,a=this.render.bind(this),o=(t.addFont({object:this.p.tags,property:"font",callback:a,disabledFontColor:!0,dropDown:!1}),t.addSeparator(),t.ui.content.append(Mustache.render('<div id="{{ prop_id }}" class="property_ddl tags_style" >                         <span class="label">{{ label }}</span>                         <div class="ctrl ">                            <div>                                 <ul class="multiple_labels">                                     <li><label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="palette" /><i class="far"></i><span>{{ palette }}</span></label></li>                                     <li class="single_color_container">                                         <label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="single" /><i class="far"></i><span>{{ single }}</span></label>                                         <div class="single_color"></div></li>                                    <li class="additional_controls">                                        <label class="cd-radio hoverStyle"><input type="radio" name="colors_type" value="range" /><i class="far"></i><span>{{ range }}</span></label>                                        <div class="custom_colors"></div>                                        </li>                                 </ul>                             </div>                        </div>',{prop_id:t._property_id++,label:_("Colors"),palette:_("FromPalette"),single:_("SingleColor"),range:_("ColorRange")})),function(){t.ui.content.find(".multiple_labels li").removeClass("checked"),t.ui.content.find(".multiple_labels input[type=radio][value={0}]".format(this.p.tags.colors.mode)).closest("li").addClass("checked"),t.ui.content.find(".custom_colors .clicColorPicker-toggle button").prop("disabled","range"!=this.p.tags.colors.mode),t.ui.content.find(".single_color .clicColorPicker-toggle button").prop("disabled","single"!=this.p.tags.colors.mode),t.ui.content.find(".custom_colors .cd-number button").prop("disabled","range"!=this.p.tags.colors.mode),t.ui.content.find(".custom_colors .cd-number input").prop("disabled","range"!=this.p.tags.colors.mode)}.bind(this));t.ui.content.find(".multiple_labels input[type=radio][value={0}]".format(this.p.tags.colors.mode)).prop("checked",!0),t.ui.content.on("change",".multiple_labels input[type=radio]",function(){t.settings.Format._isDirty=!0,e.p.tags.colors.mode=$(this).val(),o(),a()}),t.addColor({label:"",object:this.p.tags.colors,getHexColor:!0,container:$(".single_color",t.ui.content),property:"single_color",callback:a}),t.addColor({label:_("TagStartingColor"),object:this.p.tags.colors,getHexColor:!0,container:$(".custom_colors",t.ui.content),property:"starting_color",callback:a}),t.addColor({label:_("TagEndingColor"),object:this.p.tags.colors,getHexColor:!0,container:$(".custom_colors",t.ui.content),property:"ending_color",callback:a}),t.addNumber({label:_("Steps"),object:this.p.tags.colors,min:2,max:20,container:$(".custom_colors",t.ui.content),property:"steps",callback:a}),o()}),_defineProperty(_prototype,"getTitleProperties",function(t){var e=this.render.bind(this);t.addText({object:this.p.titles.title,property:"text",placeholder:_("EnterTitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.title,property:"font",callback:e,dropDown:!0}),t.addSeparator(),t.addText({object:this.p.titles.subtitle,property:"text",placeholder:_("EnterSubtitlePlaceholder"),callback:e,event:"focusout"}),t.addFont({object:this.p.titles.subtitle,property:"font",callback:e}),t.addSeparator()}),_defineProperty(_prototype,"getBackgroundProperties",function(t){var e=this.render.bind(this),a=(t.addBackgroundColor({object:this.p.background,property_color:"color",property_gradient:"gradient",callback:e}),t.addSeparator(),t.addBorder({object:this.p.background,property:"border",callback:e}),t.addSeparator(),t.addSlider({label:_("RoundedCorners"),object:this.p.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator(),t.addShadow({object:this.p.background,property:"shadow",callback:e}),t.addSeparator(),t.addSection());t.content.append(a),t.addBoolean({section:a,label:_("PlotAreaBackground"),object:this.p.other.threeD.enabled?{enabled:!1}:this.p.background.plot_background,property:"enabled",callback:e,disabled:this.p.other.threeD.enabled}),t.addColor({container:a,label:_("PlotAreaColor"),object:this.p.background.plot_background,property:"color",callback:e}),t.addBoolean({container:a,label:_("Gradient"),object:this.p.background.plot_background,property:"gradient",callback:e}),t.addBorder({container:a,label:_("PlotAreaBorder"),object:this.p.background.plot_background,property:"border",callback:e,dropDown:!1}),t.addSeparator(),t.addMargin({margins:[{label:_("Top"),name:"top",callback:e},{label:_("Bottom"),name:"bottom",callback:e},{label:_("Left"),name:"left",callback:e},{label:_("Right"),name:"right",callback:e}],min:0,max:99,object:this.p.background.margins}),t.addSeparator()}),_defineProperty(_prototype,"getTooltipProperties",function(t){var e=this.render.bind(this),a=(t.addHeader({text:_("TooltipHeaderTitle"),description:_("TooltipHeaderDesc")}),t.addSection());t.addBoolean({section:a,label:_("DisplayTooltips"),object:this.p.tooltip,property:"display",callback:e}),t.addSeparator({container:a}),t.addRichtext({container:a,object:this.p.tooltip,property:"content",id:"tooltipContent",macros:this.getTooltipMacro(),buttons:[["style",["bold","italic","underline","strikethrough","clear"]],["fonttools",["fontsize"]],["fontcolors",["ClicDataColor","ClicDataHLColor"]],["unredo",["undo","redo"]],["tooltipdrop",["TooltipDropdown"]],["para",["paragraph"]]],callback:e,palette:this.p.colors}),t.addFormat({container:a,label:_("TagNameFormat"),object:this.p.tooltip,property:"tag_name_format",callback:e}),t.addSeparator({container:a}),t.addColor({container:a,object:this.p.tooltip.background,property:"color",label:_("BackgroundColor"),callback:e}),t.addSeparator({container:a}),t.addBorder({container:a,object:this.p.tooltip.background,property:"border",callback:e}),t.addSeparator({container:a}),t.addSlider({container:a,label:_("RoundedCorners"),object:this.p.tooltip.background,property:"roundness",callback:e,interval:1,min:0,max:30,valueLabelFormat:function(t){return"".concat(t," px")}}),t.addSeparator({container:a})}),_defineProperty(_prototype,"renderInteractionsTab",function(t){function e(){a.p.interactions.ontagclick&&"data"===a.p.interactions.ontagclick.type?t.settings.Format.addBoolean({container:o,label:_("AllowExport"),object:a.p.interactions,property:"allow_export",id:"allowExport"}):o.empty()}var a=this,o=(this.render.bind(this),$('<div class="export-allow-div"></div>'));t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ondblclick",parameters:!0}),t.settings.Format.addSeparator({container:t.ui});t.appendDropdownWithDynamicSection({object:this.p.interactions,property:"ontagclick",label:_("InteractionType_OnTagWordClick"),parameters:!0,items:[{type:null},{type:"dashboard"},{type:"data"},{type:"url"}],onChange:e}),t.ui.append(o),e(),this.renderToolbarProperties(t)}),_prototype)});
//# sourceMappingURL=TX4-word-cloud.js.map

