/* * This combined file was created by the DataTables downloader builder: * https://datatables.net/download * * To rebuild or modify this file with the latest versions of the included * software please visit: * https://datatables.net/download/#dt/dt-1.10.21 * * Included libraries: * DataTables 1.10.21 */ /*! Copyright 2008-2020 SpryMedia Ltd. This source file is free software, available under the following license: MIT license - http://datatables.net/license This source file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. For details please refer to: http://www.datatables.net DataTables 1.10.21 ©2008-2020 SpryMedia Ltd - datatables.net/license */ var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.findInternal = function (f, y, w) { f instanceof String && (f = String(f)); for (var n = f.length, H = 0; H < n; H++) { var L = f[H]; if (y.call(w, L, H, f)) return { i: H, v: L } } return { i: -1, v: void 0 } }; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; $jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (f, y, w) { f != Array.prototype && f != Object.prototype && (f[y] = w.value) }; $jscomp.getGlobal = function (f) { f = ["object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global, f]; for (var y = 0; y < f.length; ++y) { var w = f[y]; if (w && w.Math == Math) return w } throw Error("Cannot find global object"); }; $jscomp.global = $jscomp.getGlobal(this); $jscomp.polyfill = function (f, y, w, n) { if (y) { w = $jscomp.global; f = f.split("."); for (n = 0; n < f.length - 1; n++) { var H = f[n]; H in w || (w[H] = {}); w = w[H] } f = f[f.length - 1]; n = w[f]; y = y(n); y != n && null != y && $jscomp.defineProperty(w, f, { configurable: !0, writable: !0, value: y }) } }; $jscomp.polyfill("Array.prototype.find", function (f) { return f ? f : function (f, w) { return $jscomp.findInternal(this, f, w).v } }, "es6", "es3"); (function (f) { "function" === typeof define && define.amd ? define(["jquery"], function (y) { return f(y, window, document) }) : "object" === typeof exports ? module.exports = function (y, w) { y || (y = window); w || (w = "undefined" !== typeof window ? require("jquery") : require("jquery")(y)); return f(w, y, y.document) } : f(jQuery, window, document) })(function (f, y, w, n) { function H(a) { var b, c, d = {}; f.each(a, function (e, h) { (b = e.match(/^([^A-Z]+?)([A-Z])/)) && -1 !== "a aa ai ao as b fn i m o s ".indexOf(b[1] + " ") && (c = e.replace(b[0], b[2].toLowerCase()), d[c] = e, "o" === b[1] && H(a[e])) }); a._hungarianMap = d } function L(a, b, c) { a._hungarianMap || H(a); var d; f.each(b, function (e, h) { d = a._hungarianMap[e]; d === n || !c && b[d] !== n || ("o" === d.charAt(0) ? (b[d] || (b[d] = {}), f.extend(!0, b[d], b[e]), L(a[d], b[d], c)) : b[d] = b[e]) }) } function Fa(a) { var b = q.defaults.oLanguage, c = b.sDecimal; c && Ga(c); if (a) { var d = a.sZeroRecords; !a.sEmptyTable && d && "No data available in table" === b.sEmptyTable && M(a, a, "sZeroRecords", "sEmptyTable"); !a.sLoadingRecords && d && "Loading..." === b.sLoadingRecords && M(a, a, "sZeroRecords", "sLoadingRecords"); a.sInfoThousands && (a.sThousands = a.sInfoThousands); (a = a.sDecimal) && c !== a && Ga(a) } } function ib(a) { E(a, "ordering", "bSort"); E(a, "orderMulti", "bSortMulti"); E(a, "orderClasses", "bSortClasses"); E(a, "orderCellsTop", "bSortCellsTop"); E(a, "order", "aaSorting"); E(a, "orderFixed", "aaSortingFixed"); E(a, "paging", "bPaginate"); E(a, "pagingType", "sPaginationType"); E(a, "pageLength", "iDisplayLength"); E(a, "searching", "bFilter"); "boolean" === typeof a.sScrollX && (a.sScrollX = a.sScrollX ? "100%" : ""); "boolean" === typeof a.scrollX && (a.scrollX = a.scrollX ? "100%" : ""); if (a = a.aoSearchCols) for (var b = 0, c = a.length; b < c; b++)a[b] && L(q.models.oSearch, a[b]) } function jb(a) { E(a, "orderable", "bSortable"); E(a, "orderData", "aDataSort"); E(a, "orderSequence", "asSorting"); E(a, "orderDataType", "sortDataType"); var b = a.aDataSort; "number" !== typeof b || f.isArray(b) || (a.aDataSort = [b]) } function kb(a) { if (!q.__browser) { var b = {}; q.__browser = b; var c = f("
").css({ position: "fixed", top: 0, left: -1 * f(y).scrollLeft(), height: 1, width: 1, overflow: "hidden" }).append(f("
").css({ position: "absolute", top: 1, left: 1, width: 100, overflow: "scroll" }).append(f("
").css({ width: "100%", height: 10 }))).appendTo("body"), d = c.children(), e = d.children(); b.barWidth = d[0].offsetWidth - d[0].clientWidth; b.bScrollOversize = 100 === e[0].offsetWidth && 100 !== d[0].clientWidth; b.bScrollbarLeft = 1 !== Math.round(e.offset().left); b.bBounding = c[0].getBoundingClientRect().width ? !0 : !1; c.remove() } f.extend(a.oBrowser, q.__browser); a.oScroll.iBarWidth = q.__browser.barWidth } function lb(a, b, c, d, e, h) { var g = !1; if (c !== n) { var k = c; g = !0 } for (; d !== e;)a.hasOwnProperty(d) && (k = g ? b(k, a[d], d, a) : a[d], g = !0, d += h); return k } function Ha(a, b) { var c = q.defaults.column, d = a.aoColumns.length; c = f.extend({}, q.models.oColumn, c, { nTh: b ? b : w.createElement("th"), sTitle: c.sTitle ? c.sTitle : b ? b.innerHTML : "", aDataSort: c.aDataSort ? c.aDataSort : [d], mData: c.mData ? c.mData : d, idx: d }); a.aoColumns.push(c); c = a.aoPreSearchCols; c[d] = f.extend({}, q.models.oSearch, c[d]); la(a, d, f(b).data()) } function la(a, b, c) { b = a.aoColumns[b]; var d = a.oClasses, e = f(b.nTh); if (!b.sWidthOrig) { b.sWidthOrig = e.attr("width") || null; var h = (e.attr("style") || "").match(/width:\s*(\d+[pxem%]+)/); h && (b.sWidthOrig = h[1]) } c !== n && null !== c && (jb(c), L(q.defaults.column, c, !0), c.mDataProp === n || c.mData || (c.mData = c.mDataProp), c.sType && (b._sManualType = c.sType), c.className && !c.sClass && (c.sClass = c.className), c.sClass && e.addClass(c.sClass), f.extend(b, c), M(b, c, "sWidth", "sWidthOrig"), c.iDataSort !== n && (b.aDataSort = [c.iDataSort]), M(b, c, "aDataSort")); var g = b.mData, k = T(g), l = b.mRender ? T(b.mRender) : null; c = function (a) { return "string" === typeof a && -1 !== a.indexOf("@") }; b._bAttrSrc = f.isPlainObject(g) && (c(g.sort) || c(g.type) || c(g.filter)); b._setter = null; b.fnGetData = function (a, b, c) { var d = k(a, b, n, c); return l && b ? l(d, b, a, c) : d }; b.fnSetData = function (a, b, c) { return Q(g)(a, b, c) }; "number" !== typeof g && (a._rowReadObject = !0); a.oFeatures.bSort || (b.bSortable = !1, e.addClass(d.sSortableNone)); a = -1 !== f.inArray("asc", b.asSorting); c = -1 !== f.inArray("desc", b.asSorting); b.bSortable && (a || c) ? a && !c ? (b.sSortingClass = d.sSortableAsc, b.sSortingClassJUI = d.sSortJUIAscAllowed) : !a && c ? (b.sSortingClass = d.sSortableDesc, b.sSortingClassJUI = d.sSortJUIDescAllowed) : (b.sSortingClass = d.sSortable, b.sSortingClassJUI = d.sSortJUI) : (b.sSortingClass = d.sSortableNone, b.sSortingClassJUI = "") } function Z(a) { if (!1 !== a.oFeatures.bAutoWidth) { var b = a.aoColumns; Ia(a); for (var c = 0, d = b.length; c < d; c++)b[c].nTh.style.width = b[c].sWidth } b = a.oScroll; "" === b.sY && "" === b.sX || ma(a); A(a, null, "column-sizing", [a]) } function aa(a, b) { a = na(a, "bVisible"); return "number" === typeof a[b] ? a[b] : null } function ba(a, b) { a = na(a, "bVisible"); b = f.inArray(b, a); return -1 !== b ? b : null } function V(a) { var b = 0; f.each(a.aoColumns, function (a, d) { d.bVisible && "none" !== f(d.nTh).css("display") && b++ }); return b } function na(a, b) { var c = []; f.map(a.aoColumns, function (a, e) { a[b] && c.push(e) }); return c } function Ja(a) { var b = a.aoColumns, c = a.aoData, d = q.ext.type.detect, e, h, g; var k = 0; for (e = b.length; k < e; k++) { var f = b[k]; var m = []; if (!f.sType && f._sManualType) f.sType = f._sManualType; else if (!f.sType) { var p = 0; for (h = d.length; p < h; p++) { var v = 0; for (g = c.length; v < g; v++) { m[v] === n && (m[v] = F(a, v, k, "type")); var u = d[p](m[v], a); if (!u && p !== d.length - 1) break; if ("html" === u) break } if (u) { f.sType = u; break } } f.sType || (f.sType = "string") } } } function mb(a, b, c, d) { var e, h, g, k = a.aoColumns; if (b) for (e = b.length - 1; 0 <= e; e--) { var l = b[e]; var m = l.targets !== n ? l.targets : l.aTargets; f.isArray(m) || (m = [m]); var p = 0; for (h = m.length; p < h; p++)if ("number" === typeof m[p] && 0 <= m[p]) { for (; k.length <= m[p];)Ha(a); d(m[p], l) } else if ("number" === typeof m[p] && 0 > m[p]) d(k.length + m[p], l); else if ("string" === typeof m[p]) { var v = 0; for (g = k.length; v < g; v++)("_all" == m[p] || f(k[v].nTh).hasClass(m[p])) && d(v, l) } } if (c) for (e = 0, a = c.length; e < a; e++)d(e, c[e]) } function R(a, b, c, d) { var e = a.aoData.length, h = f.extend(!0, {}, q.models.oRow, { src: c ? "dom" : "data", idx: e }); h._aData = b; a.aoData.push(h); for (var g = a.aoColumns, k = 0, l = g.length; k < l; k++)g[k].sType = null; a.aiDisplayMaster.push(e); b = a.rowIdFn(b); b !== n && (a.aIds[b] = h); !c && a.oFeatures.bDeferRender || Ka(a, e, c, d); return e } function oa(a, b) { var c; b instanceof f || (b = f(b)); return b.map(function (b, e) { c = La(a, e); return R(a, c.data, e, c.cells) }) } function F(a, b, c, d) { var e = a.iDraw, h = a.aoColumns[c], g = a.aoData[b]._aData, k = h.sDefaultContent, f = h.fnGetData(g, d, { settings: a, row: b, col: c }); if (f === n) return a.iDrawError != e && null === k && (O(a, 0, "Requested unknown parameter " + ("function" == typeof h.mData ? "{function}" : "'" + h.mData + "'") + " for row " + b + ", column " + c, 4), a.iDrawError = e), k; if ((f === g || null === f) && null !== k && d !== n) f = k; else if ("function" === typeof f) return f.call(g); return null === f && "display" == d ? "" : f } function nb(a, b, c, d) { a.aoColumns[c].fnSetData(a.aoData[b]._aData, d, { settings: a, row: b, col: c }) } function Ma(a) { return f.map(a.match(/(\\.|[^\.])+/g) || [""], function (a) { return a.replace(/\\\./g, ".") }) } function T(a) { if (f.isPlainObject(a)) { var b = {}; f.each(a, function (a, c) { c && (b[a] = T(c)) }); return function (a, c, h, g) { var d = b[c] || b._; return d !== n ? d(a, c, h, g) : a } } if (null === a) return function (a) { return a }; if ("function" === typeof a) return function (b, c, h, g) { return a(b, c, h, g) }; if ("string" !== typeof a || -1 === a.indexOf(".") && -1 === a.indexOf("[") && -1 === a.indexOf("(")) return function (b, c) { return b[a] }; var c = function (a, b, h) { if ("" !== h) { var d = Ma(h); for (var e = 0, l = d.length; e < l; e++) { h = d[e].match(ca); var m = d[e].match(W); if (h) { d[e] = d[e].replace(ca, ""); "" !== d[e] && (a = a[d[e]]); m = []; d.splice(0, e + 1); d = d.join("."); if (f.isArray(a)) for (e = 0, l = a.length; e < l; e++)m.push(c(a[e], b, d)); a = h[0].substring(1, h[0].length - 1); a = "" === a ? m : m.join(a); break } else if (m) { d[e] = d[e].replace(W, ""); a = a[d[e]](); continue } if (null === a || a[d[e]] === n) return n; a = a[d[e]] } } return a }; return function (b, e) { return c(b, e, a) } } function Q(a) { if (f.isPlainObject(a)) return Q(a._); if (null === a) return function () { }; if ("function" === typeof a) return function (b, d, e) { a(b, "set", d, e) }; if ("string" !== typeof a || -1 === a.indexOf(".") && -1 === a.indexOf("[") && -1 === a.indexOf("(")) return function (b, d) { b[a] = d }; var b = function (a, d, e) { e = Ma(e); var c = e[e.length - 1]; for (var g, k, l = 0, m = e.length - 1; l < m; l++) { g = e[l].match(ca); k = e[l].match(W); if (g) { e[l] = e[l].replace(ca, ""); a[e[l]] = []; c = e.slice(); c.splice(0, l + 1); g = c.join("."); if (f.isArray(d)) for (k = 0, m = d.length; k < m; k++)c = {}, b(c, d[k], g), a[e[l]].push(c); else a[e[l]] = d; return } k && (e[l] = e[l].replace(W, ""), a = a[e[l]](d)); if (null === a[e[l]] || a[e[l]] === n) a[e[l]] = {}; a = a[e[l]] } if (c.match(W)) a[c.replace(W, "")](d); else a[c.replace(ca, "")] = d }; return function (c, d) { return b(c, d, a) } } function Na(a) { return K(a.aoData, "_aData") } function pa(a) { a.aoData.length = 0; a.aiDisplayMaster.length = 0; a.aiDisplay.length = 0; a.aIds = {} } function qa(a, b, c) { for (var d = -1, e = 0, h = a.length; e < h; e++)a[e] == b ? d = e : a[e] > b && a[e]--; -1 != d && c === n && a.splice(d, 1) } function da(a, b, c, d) { var e = a.aoData[b], h, g = function (c, d) { for (; c.childNodes.length;)c.removeChild(c.firstChild); c.innerHTML = F(a, b, d, "display") }; if ("dom" !== c && (c && "auto" !== c || "dom" !== e.src)) { var k = e.anCells; if (k) if (d !== n) g(k[d], d); else for (c = 0, h = k.length; c < h; c++)g(k[c], c) } else e._aData = La(a, e, d, d === n ? n : e._aData).data; e._aSortData = null; e._aFilterData = null; g = a.aoColumns; if (d !== n) g[d].sType = null; else { c = 0; for (h = g.length; c < h; c++)g[c].sType = null; Oa(a, e) } } function La(a, b, c, d) { var e = [], h = b.firstChild, g, k = 0, l, m = a.aoColumns, p = a._rowReadObject; d = d !== n ? d : p ? {} : []; var v = function (a, b) { if ("string" === typeof a) { var c = a.indexOf("@"); -1 !== c && (c = a.substring(c + 1), Q(a)(d, b.getAttribute(c))) } }, u = function (a) { if (c === n || c === k) g = m[k], l = f.trim(a.innerHTML), g && g._bAttrSrc ? (Q(g.mData._)(d, l), v(g.mData.sort, a), v(g.mData.type, a), v(g.mData.filter, a)) : p ? (g._setter || (g._setter = Q(g.mData)), g._setter(d, l)) : d[k] = l; k++ }; if (h) for (; h;) { var q = h.nodeName.toUpperCase(); if ("TD" == q || "TH" == q) u(h), e.push(h); h = h.nextSibling } else for (e = b.anCells, h = 0, q = e.length; h < q; h++)u(e[h]); (b = b.firstChild ? b : b.nTr) && (b = b.getAttribute("id")) && Q(a.rowId)(d, b); return { data: d, cells: e } } function Ka(a, b, c, d) { var e = a.aoData[b], h = e._aData, g = [], k, l; if (null === e.nTr) { var m = c || w.createElement("tr"); e.nTr = m; e.anCells = g; m._DT_RowIndex = b; Oa(a, e); var p = 0; for (k = a.aoColumns.length; p < k; p++) { var v = a.aoColumns[p]; var n = (l = c ? !1 : !0) ? w.createElement(v.sCellType) : d[p]; n._DT_CellIndex = { row: b, column: p }; g.push(n); if (l || !(c && !v.mRender && v.mData === p || f.isPlainObject(v.mData) && v.mData._ === p + ".display")) n.innerHTML = F(a, b, p, "display"); v.sClass && (n.className += " " + v.sClass); v.bVisible && !c ? m.appendChild(n) : !v.bVisible && c && n.parentNode.removeChild(n); v.fnCreatedCell && v.fnCreatedCell.call(a.oInstance, n, F(a, b, p), h, b, p) } A(a, "aoRowCreatedCallback", null, [m, h, b, g]) } e.nTr.setAttribute("role", "row") } function Oa(a, b) { var c = b.nTr, d = b._aData; if (c) { if (a = a.rowIdFn(d)) c.id = a; d.DT_RowClass && (a = d.DT_RowClass.split(" "), b.__rowc = b.__rowc ? sa(b.__rowc.concat(a)) : a, f(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass)); d.DT_RowAttr && f(c).attr(d.DT_RowAttr); d.DT_RowData && f(c).data(d.DT_RowData) } } function ob(a) { var b, c, d = a.nTHead, e = a.nTFoot, h = 0 === f("th, td", d).length, g = a.oClasses, k = a.aoColumns; h && (c = f("").appendTo(d)); var l = 0; for (b = k.length; l < b; l++) { var m = k[l]; var p = f(m.nTh).addClass(m.sClass); h && p.appendTo(c); a.oFeatures.bSort && (p.addClass(m.sSortingClass), !1 !== m.bSortable && (p.attr("tabindex", a.iTabIndex).attr("aria-controls", a.sTableId), Pa(a, m.nTh, l))); m.sTitle != p[0].innerHTML && p.html(m.sTitle); Qa(a, "header")(a, p, m, g) } h && ea(a.aoHeader, d); f(d).find(">tr").attr("role", "row"); f(d).find(">tr>th, >tr>td").addClass(g.sHeaderTH); f(e).find(">tr>th, >tr>td").addClass(g.sFooterTH); if (null !== e) for (a = a.aoFooter[0], l = 0, b = a.length; l < b; l++)m = k[l], m.nTf = a[l].cell, m.sClass && f(m.nTf).addClass(m.sClass) } function fa(a, b, c) { var d, e, h = [], g = [], k = a.aoColumns.length; if (b) { c === n && (c = !1); var l = 0; for (d = b.length; l < d; l++) { h[l] = b[l].slice(); h[l].nTr = b[l].nTr; for (e = k - 1; 0 <= e; e--)a.aoColumns[e].bVisible || c || h[l].splice(e, 1); g.push([]) } l = 0; for (d = h.length; l < d; l++) { if (a = h[l].nTr) for (; e = a.firstChild;)a.removeChild(e); e = 0; for (b = h[l].length; e < b; e++) { var m = k = 1; if (g[l][e] === n) { a.appendChild(h[l][e].cell); for (g[l][e] = 1; h[l + k] !== n && h[l][e].cell == h[l + k][e].cell;)g[l + k][e] = 1, k++; for (; h[l][e + m] !== n && h[l][e].cell == h[l][e + m].cell;) { for (c = 0; c < k; c++)g[l + c][e + m] = 1; m++ } f(h[l][e].cell).attr("rowspan", k).attr("colspan", m) } } } } } function S(a) { var b = A(a, "aoPreDrawCallback", "preDraw", [a]); if (-1 !== f.inArray(!1, b)) J(a, !1); else { b = []; var c = 0, d = a.asStripeClasses, e = d.length, h = a.oLanguage, g = a.iInitDisplayStart, k = "ssp" == I(a), l = a.aiDisplay; a.bDrawing = !0; g !== n && -1 !== g && (a._iDisplayStart = k ? g : g >= a.fnRecordsDisplay() ? 0 : g, a.iInitDisplayStart = -1); g = a._iDisplayStart; var m = a.fnDisplayEnd(); if (a.bDeferLoading) a.bDeferLoading = !1, a.iDraw++, J(a, !1); else if (!k) a.iDraw++; else if (!a.bDestroying && !pb(a)) return; if (0 !== l.length) for (h = k ? a.aoData.length : m, k = k ? 0 : g; k < h; k++) { var p = l[k], v = a.aoData[p]; null === v.nTr && Ka(a, p); var u = v.nTr; if (0 !== e) { var q = d[c % e]; v._sRowStripe != q && (f(u).removeClass(v._sRowStripe).addClass(q), v._sRowStripe = q) } A(a, "aoRowCallback", null, [u, v._aData, c, k, p]); b.push(u); c++ } else c = h.sZeroRecords, 1 == a.iDraw && "ajax" == I(a) ? c = h.sLoadingRecords : h.sEmptyTable && 0 === a.fnRecordsTotal() && (c = h.sEmptyTable), b[0] = f("", { "class": e ? d[0] : "" }).append(f("", { valign: "top", colSpan: V(a), "class": a.oClasses.sRowEmpty }).html(c))[0]; A(a, "aoHeaderCallback", "header", [f(a.nTHead).children("tr")[0], Na(a), g, m, l]); A(a, "aoFooterCallback", "footer", [f(a.nTFoot).children("tr")[0], Na(a), g, m, l]); d = f(a.nTBody); d.children().detach(); d.append(f(b)); A(a, "aoDrawCallback", "draw", [a]); a.bSorted = !1; a.bFiltered = !1; a.bDrawing = !1 } } function U(a, b) { var c = a.oFeatures, d = c.bFilter; c.bSort && qb(a); d ? ha(a, a.oPreviousSearch) : a.aiDisplay = a.aiDisplayMaster.slice(); !0 !== b && (a._iDisplayStart = 0); a._drawHold = b; S(a); a._drawHold = !1 } function rb(a) { var b = a.oClasses, c = f(a.nTable); c = f("
").insertBefore(c); var d = a.oFeatures, e = f("
", { id: a.sTableId + "_wrapper", "class": b.sWrapper + (a.nTFoot ? "" : " " + b.sNoFooter) }); a.nHolding = c[0]; a.nTableWrapper = e[0]; a.nTableReinsertBefore = a.nTable.nextSibling; for (var h = a.sDom.split(""), g, k, l, m, p, n, u = 0; u < h.length; u++) { g = null; k = h[u]; if ("<" == k) { l = f("
")[0]; m = h[u + 1]; if ("'" == m || '"' == m) { p = ""; for (n = 2; h[u + n] != m;)p += h[u + n], n++; "H" == p ? p = b.sJUIHeader : "F" == p && (p = b.sJUIFooter); -1 != p.indexOf(".") ? (m = p.split("."), l.id = m[0].substr(1, m[0].length - 1), l.className = m[1]) : "#" == p.charAt(0) ? l.id = p.substr(1, p.length - 1) : l.className = p; u += n } e.append(l); e = f(l) } else if (">" == k) e = e.parent(); else if ("l" == k && d.bPaginate && d.bLengthChange) g = sb(a); else if ("f" == k && d.bFilter) g = tb(a); else if ("r" == k && d.bProcessing) g = ub(a); else if ("t" == k) g = vb(a); else if ("i" == k && d.bInfo) g = wb(a); else if ("p" == k && d.bPaginate) g = xb(a); else if (0 !== q.ext.feature.length) for (l = q.ext.feature, n = 0, m = l.length; n < m; n++)if (k == l[n].cFeature) { g = l[n].fnInit(a); break } g && (l = a.aanFeatures, l[k] || (l[k] = []), l[k].push(g), e.append(g)) } c.replaceWith(e); a.nHolding = null } function ea(a, b) { b = f(b).children("tr"); var c, d, e; a.splice(0, a.length); var h = 0; for (e = b.length; h < e; h++)a.push([]); h = 0; for (e = b.length; h < e; h++) { var g = b[h]; for (c = g.firstChild; c;) { if ("TD" == c.nodeName.toUpperCase() || "TH" == c.nodeName.toUpperCase()) { var k = 1 * c.getAttribute("colspan"); var l = 1 * c.getAttribute("rowspan"); k = k && 0 !== k && 1 !== k ? k : 1; l = l && 0 !== l && 1 !== l ? l : 1; var m = 0; for (d = a[h]; d[m];)m++; var p = m; var n = 1 === k ? !0 : !1; for (d = 0; d < k; d++)for (m = 0; m < l; m++)a[h + m][p + d] = { cell: c, unique: n }, a[h + m].nTr = g } c = c.nextSibling } } } function ta(a, b, c) { var d = []; c || (c = a.aoHeader, b && (c = [], ea(c, b))); b = 0; for (var e = c.length; b < e; b++)for (var h = 0, g = c[b].length; h < g; h++)!c[b][h].unique || d[h] && a.bSortCellsTop || (d[h] = c[b][h].cell); return d } function ua(a, b, c) { A(a, "aoServerParams", "serverParams", [b]); if (b && f.isArray(b)) { var d = {}, e = /(.*?)\[\]$/; f.each(b, function (a, b) { (a = b.name.match(e)) ? (a = a[0], d[a] || (d[a] = []), d[a].push(b.value)) : d[b.name] = b.value }); b = d } var h = a.ajax, g = a.oInstance, k = function (b) { A(a, null, "xhr", [a, b, a.jqXHR]); c(b) }; if (f.isPlainObject(h) && h.data) { var l = h.data; var m = "function" === typeof l ? l(b, a) : l; b = "function" === typeof l && m ? m : f.extend(!0, b, m); delete h.data } m = { data: b, success: function (b) { var c = b.error || b.sError; c && O(a, 0, c); a.json = b; k(b) }, dataType: "json", cache: !1, type: a.sServerMethod, error: function (b, c, d) { d = A(a, null, "xhr", [a, null, a.jqXHR]); -1 === f.inArray(!0, d) && ("parsererror" == c ? O(a, 0, "Invalid JSON response", 1) : 4 === b.readyState && O(a, 0, "Ajax error", 7)); J(a, !1) } }; a.oAjaxData = b; A(a, null, "preXhr", [a, b]); a.fnServerData ? a.fnServerData.call(g, a.sAjaxSource, f.map(b, function (a, b) { return { name: b, value: a } }), k, a) : a.sAjaxSource || "string" === typeof h ? a.jqXHR = f.ajax(f.extend(m, { url: h || a.sAjaxSource })) : "function" === typeof h ? a.jqXHR = h.call(g, b, k, a) : (a.jqXHR = f.ajax(f.extend(m, h)), h.data = l) } function pb(a) { return a.bAjaxDataGet ? (a.iDraw++, J(a, !0), ua(a, yb(a), function (b) { zb(a, b) }), !1) : !0 } function yb(a) { var b = a.aoColumns, c = b.length, d = a.oFeatures, e = a.oPreviousSearch, h = a.aoPreSearchCols, g = [], k = X(a); var l = a._iDisplayStart; var m = !1 !== d.bPaginate ? a._iDisplayLength : -1; var p = function (a, b) { g.push({ name: a, value: b }) }; p("sEcho", a.iDraw); p("iColumns", c); p("sColumns", K(b, "sName").join(",")); p("iDisplayStart", l); p("iDisplayLength", m); var n = { draw: a.iDraw, columns: [], order: [], start: l, length: m, search: { value: e.sSearch, regex: e.bRegex } }; for (l = 0; l < c; l++) { var u = b[l]; var ra = h[l]; m = "function" == typeof u.mData ? "function" : u.mData; n.columns.push({ data: m, name: u.sName, searchable: u.bSearchable, orderable: u.bSortable, search: { value: ra.sSearch, regex: ra.bRegex } }); p("mDataProp_" + l, m); d.bFilter && (p("sSearch_" + l, ra.sSearch), p("bRegex_" + l, ra.bRegex), p("bSearchable_" + l, u.bSearchable)); d.bSort && p("bSortable_" + l, u.bSortable) } d.bFilter && (p("sSearch", e.sSearch), p("bRegex", e.bRegex)); d.bSort && (f.each(k, function (a, b) { n.order.push({ column: b.col, dir: b.dir }); p("iSortCol_" + a, b.col); p("sSortDir_" + a, b.dir) }), p("iSortingCols", k.length)); b = q.ext.legacy.ajax; return null === b ? a.sAjaxSource ? g : n : b ? g : n } function zb(a, b) { var c = function (a, c) { return b[a] !== n ? b[a] : b[c] }, d = va(a, b), e = c("sEcho", "draw"), h = c("iTotalRecords", "recordsTotal"); c = c("iTotalDisplayRecords", "recordsFiltered"); if (e !== n) { if (1 * e < a.iDraw) return; a.iDraw = 1 * e } pa(a); a._iRecordsTotal = parseInt(h, 10); a._iRecordsDisplay = parseInt(c, 10); e = 0; for (h = d.length; e < h; e++)R(a, d[e]); a.aiDisplay = a.aiDisplayMaster.slice(); a.bAjaxDataGet = !1; S(a); a._bInitComplete || wa(a, b); a.bAjaxDataGet = !0; J(a, !1) } function va(a, b) { a = f.isPlainObject(a.ajax) && a.ajax.dataSrc !== n ? a.ajax.dataSrc : a.sAjaxDataProp; return "data" === a ? b.aaData || b[a] : "" !== a ? T(a)(b) : b } function tb(a) { var b = a.oClasses, c = a.sTableId, d = a.oLanguage, e = a.oPreviousSearch, h = a.aanFeatures, g = '', k = d.sSearch; k = k.match(/_INPUT_/) ? k.replace("_INPUT_", g) : k + g; b = f("
", { id: h.f ? null : c + "_filter", "class": b.sFilter }).append(f("