node-red-contrib-discovergy-meter
Version:
Allows to work with a Discovergy Smart Meter (Electricity only) within Node RED flows
15 lines (12 loc) • 84.5 kB
JavaScript
/*!
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(t,e,n){t instanceof String&&(t=String(t));for(var a=t.length,r=0;r<a;r++){var o=t[r];if(e.call(n,o,r,t))return{i:r,v:o}}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(t,e,n){t!=Array.prototype&&t!=Object.prototype&&(t[e]=n.value)},$jscomp.getGlobal=function(t){t=["object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global,t];for(var e=0;e<t.length;++e){var n=t[e];if(n&&n.Math==Math)return n}throw Error("Cannot find global object")},$jscomp.global=$jscomp.getGlobal(this),$jscomp.polyfill=function(t,e,n,a){if(e){for(n=$jscomp.global,t=t.split("."),a=0;a<t.length-1;a++){var r=t[a];r in n||(n[r]={}),n=n[r]}(e=e(a=n[t=t[t.length-1]]))!=a&&null!=e&&$jscomp.defineProperty(n,t,{configurable:!0,writable:!0,value:e})}},$jscomp.polyfill("Array.prototype.find",(function(t){return t||function(t,e){return $jscomp.findInternal(this,t,e).v}}),"es6","es3"),function(t){"function"==typeof define&&define.amd?define(["jquery"],(function(e){return t(e,window,document)})):"object"==typeof exports?module.exports=function(e,n){return e||(e=window),n||(n="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(n,e,e.document)}:t(jQuery,window,document)}((function(t,e,n,a){function r(e){var n,a,o={};t.each(e,(function(t,i){(n=t.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(n[1]+" ")&&(a=t.replace(n[0],n[2].toLowerCase()),o[a]=t,"o"===n[1]&&r(e[t]))})),e._hungarianMap=o}function o(e,n,i){var l;e._hungarianMap||r(e),t.each(n,(function(r,s){(l=e._hungarianMap[r])===a||!i&&n[l]!==a||("o"===l.charAt(0)?(n[l]||(n[l]={}),t.extend(!0,n[l],n[r]),o(e[l],n[l],i)):n[l]=n[r])}))}function i(t){var e=$t.defaults.oLanguage,n=e.sDecimal;if(n&&Wt(n),t){var a=t.sZeroRecords;!t.sEmptyTable&&a&&"No data available in table"===e.sEmptyTable&&Lt(t,t,"sZeroRecords","sEmptyTable"),!t.sLoadingRecords&&a&&"Loading..."===e.sLoadingRecords&&Lt(t,t,"sZeroRecords","sLoadingRecords"),t.sInfoThousands&&(t.sThousands=t.sInfoThousands),(t=t.sDecimal)&&n!==t&&Wt(t)}}function l(t){if(se(t,"ordering","bSort"),se(t,"orderMulti","bSortMulti"),se(t,"orderClasses","bSortClasses"),se(t,"orderCellsTop","bSortCellsTop"),se(t,"order","aaSorting"),se(t,"orderFixed","aaSortingFixed"),se(t,"paging","bPaginate"),se(t,"pagingType","sPaginationType"),se(t,"pageLength","iDisplayLength"),se(t,"searching","bFilter"),"boolean"==typeof t.sScrollX&&(t.sScrollX=t.sScrollX?"100%":""),"boolean"==typeof t.scrollX&&(t.scrollX=t.scrollX?"100%":""),t=t.aoSearchCols)for(var e=0,n=t.length;e<n;e++)t[e]&&o($t.models.oSearch,t[e])}function s(e){se(e,"orderable","bSortable"),se(e,"orderData","aDataSort"),se(e,"orderSequence","asSorting"),se(e,"orderDataType","sortDataType");var n=e.aDataSort;"number"!=typeof n||t.isArray(n)||(e.aDataSort=[n])}function u(n){if(!$t.__browser){var a={};$t.__browser=a;var r=t("<div/>").css({position:"fixed",top:0,left:-1*t(e).scrollLeft(),height:1,width:1,overflow:"hidden"}).append(t("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(t("<div/>").css({width:"100%",height:10}))).appendTo("body"),o=r.children(),i=o.children();a.barWidth=o[0].offsetWidth-o[0].clientWidth,a.bScrollOversize=100===i[0].offsetWidth&&100!==o[0].clientWidth,a.bScrollbarLeft=1!==Math.round(i.offset().left),a.bBounding=!!r[0].getBoundingClientRect().width,r.remove()}t.extend(n.oBrowser,$t.__browser),n.oScroll.iBarWidth=$t.__browser.barWidth}function c(t,e,n,r,o,i){var l=!1;if(n!==a){var s=n;l=!0}for(;r!==o;)t.hasOwnProperty(r)&&(s=l?e(s,t[r],r,t):t[r],l=!0,r+=i);return s}function f(e,a){var r=$t.defaults.column,o=e.aoColumns.length;r=t.extend({},$t.models.oColumn,r,{nTh:a||n.createElement("th"),sTitle:r.sTitle?r.sTitle:a?a.innerHTML:"",aDataSort:r.aDataSort?r.aDataSort:[o],mData:r.mData?r.mData:o,idx:o}),e.aoColumns.push(r),(r=e.aoPreSearchCols)[o]=t.extend({},$t.models.oSearch,r[o]),d(e,o,t(a).data())}function d(e,n,r){n=e.aoColumns[n];var i=e.oClasses,l=t(n.nTh);if(!n.sWidthOrig){n.sWidthOrig=l.attr("width")||null;var u=(l.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);u&&(n.sWidthOrig=u[1])}r!==a&&null!==r&&(s(r),o($t.defaults.column,r,!0),r.mDataProp===a||r.mData||(r.mData=r.mDataProp),r.sType&&(n._sManualType=r.sType),r.className&&!r.sClass&&(r.sClass=r.className),r.sClass&&l.addClass(r.sClass),t.extend(n,r),Lt(n,r,"sWidth","sWidthOrig"),r.iDataSort!==a&&(n.aDataSort=[r.iDataSort]),Lt(n,r,"aDataSort"));var c=n.mData,f=C(c),d=n.mRender?C(n.mRender):null;r=function(t){return"string"==typeof t&&-1!==t.indexOf("@")},n._bAttrSrc=t.isPlainObject(c)&&(r(c.sort)||r(c.type)||r(c.filter)),n._setter=null,n.fnGetData=function(t,e,n){var r=f(t,e,a,n);return d&&e?d(r,e,t,n):r},n.fnSetData=function(t,e,n){return x(c)(t,e,n)},"number"!=typeof c&&(e._rowReadObject=!0),e.oFeatures.bSort||(n.bSortable=!1,l.addClass(i.sSortableNone)),e=-1!==t.inArray("asc",n.asSorting),r=-1!==t.inArray("desc",n.asSorting),n.bSortable&&(e||r)?e&&!r?(n.sSortingClass=i.sSortableAsc,n.sSortingClassJUI=i.sSortJUIAscAllowed):!e&&r?(n.sSortingClass=i.sSortableDesc,n.sSortingClassJUI=i.sSortJUIDescAllowed):(n.sSortingClass=i.sSortable,n.sSortingClassJUI=i.sSortJUI):(n.sSortingClass=i.sSortableNone,n.sSortingClassJUI="")}function h(t){if(!1!==t.oFeatures.bAutoWidth){var e=t.aoColumns;gt(t);for(var n=0,a=e.length;n<a;n++)e[n].nTh.style.width=e[n].sWidth}""===(e=t.oScroll).sY&&""===e.sX||ht(t),Ht(t,null,"column-sizing",[t])}function p(t,e){return"number"==typeof(t=v(t,"bVisible"))[e]?t[e]:null}function g(e,n){return e=v(e,"bVisible"),-1!==(n=t.inArray(n,e))?n:null}function b(e){var n=0;return t.each(e.aoColumns,(function(e,a){a.bVisible&&"none"!==t(a.nTh).css("display")&&n++})),n}function v(e,n){var a=[];return t.map(e.aoColumns,(function(t,e){t[n]&&a.push(e)})),a}function m(t){var e,n,r,o=t.aoColumns,i=t.aoData,l=$t.ext.type.detect,s=0;for(e=o.length;s<e;s++){var u=o[s],c=[];if(!u.sType&&u._sManualType)u.sType=u._sManualType;else if(!u.sType){var f=0;for(n=l.length;f<n;f++){var d=0;for(r=i.length;d<r;d++){c[d]===a&&(c[d]=_(t,d,s,"type"));var h=l[f](c[d],t);if(!h&&f!==l.length-1)break;if("html"===h)break}if(h){u.sType=h;break}}u.sType||(u.sType="string")}}}function S(e,n,r,o){var i,l,s,u=e.aoColumns;if(n)for(i=n.length-1;0<=i;i--){var c=n[i],d=c.targets!==a?c.targets:c.aTargets;t.isArray(d)||(d=[d]);var h=0;for(l=d.length;h<l;h++)if("number"==typeof d[h]&&0<=d[h]){for(;u.length<=d[h];)f(e);o(d[h],c)}else if("number"==typeof d[h]&&0>d[h])o(u.length+d[h],c);else if("string"==typeof d[h]){var p=0;for(s=u.length;p<s;p++)("_all"==d[h]||t(u[p].nTh).hasClass(d[h]))&&o(p,c)}}if(r)for(i=0,e=r.length;i<e;i++)o(i,r[i])}function D(e,n,r,o){var i=e.aoData.length,l=t.extend(!0,{},$t.models.oRow,{src:r?"dom":"data",idx:i});l._aData=n,e.aoData.push(l);for(var s=e.aoColumns,u=0,c=s.length;u<c;u++)s[u].sType=null;return e.aiDisplayMaster.push(i),(n=e.rowIdFn(n))!==a&&(e.aIds[n]=l),!r&&e.oFeatures.bDeferRender||P(e,i,r,o),i}function y(e,n){var a;return n instanceof t||(n=t(n)),n.map((function(t,n){return a=L(e,n),D(e,a.data,n,a.cells)}))}function _(t,e,n,r){var o=t.iDraw,i=t.aoColumns[n],l=t.aoData[e]._aData,s=i.sDefaultContent,u=i.fnGetData(l,r,{settings:t,row:e,col:n});if(u===a)return t.iDrawError!=o&&null===s&&(jt(t,0,"Requested unknown parameter "+("function"==typeof i.mData?"{function}":"'"+i.mData+"'")+" for row "+e+", column "+n,4),t.iDrawError=o),s;if(u!==l&&null!==u||null===s||r===a){if("function"==typeof u)return u.call(l)}else u=s;return null===u&&"display"==r?"":u}function T(t,e,n,a){t.aoColumns[n].fnSetData(t.aoData[e]._aData,a,{settings:t,row:e,col:n})}function w(e){return t.map(e.match(/(\\.|[^\.])+/g)||[""],(function(t){return t.replace(/\\\./g,".")}))}function C(e){if(t.isPlainObject(e)){var n={};return t.each(e,(function(t,e){e&&(n[t]=C(e))})),function(t,e,r,o){var i=n[e]||n._;return i!==a?i(t,e,r,o):t}}if(null===e)return function(t){return t};if("function"==typeof e)return function(t,n,a,r){return e(t,n,a,r)};if("string"!=typeof e||-1===e.indexOf(".")&&-1===e.indexOf("[")&&-1===e.indexOf("("))return function(t,n){return t[e]};var r=function(e,n,o){if(""!==o)for(var i=w(o),l=0,s=i.length;l<s;l++){o=i[l].match(ue);var u=i[l].match(ce);if(o){if(i[l]=i[l].replace(ue,""),""!==i[l]&&(e=e[i[l]]),u=[],i.splice(0,l+1),i=i.join("."),t.isArray(e))for(l=0,s=e.length;l<s;l++)u.push(r(e[l],n,i));e=""===(e=o[0].substring(1,o[0].length-1))?u:u.join(e);break}if(u)i[l]=i[l].replace(ce,""),e=e[i[l]]();else{if(null===e||e[i[l]]===a)return a;e=e[i[l]]}}return e};return function(t,n){return r(t,n,e)}}function x(e){if(t.isPlainObject(e))return x(e._);if(null===e)return function(){};if("function"==typeof e)return function(t,n,a){e(t,"set",n,a)};if("string"!=typeof e||-1===e.indexOf(".")&&-1===e.indexOf("[")&&-1===e.indexOf("("))return function(t,n){t[e]=n};var n=function(e,r,o){for(var i,l,s=(o=w(o))[o.length-1],u=0,c=o.length-1;u<c;u++){if(i=o[u].match(ue),l=o[u].match(ce),i){if(o[u]=o[u].replace(ue,""),e[o[u]]=[],(s=o.slice()).splice(0,u+1),i=s.join("."),t.isArray(r))for(l=0,c=r.length;l<c;l++)n(s={},r[l],i),e[o[u]].push(s);else e[o[u]]=r;return}l&&(o[u]=o[u].replace(ce,""),e=e[o[u]](r)),null!==e[o[u]]&&e[o[u]]!==a||(e[o[u]]={}),e=e[o[u]]}s.match(ce)?e[s.replace(ce,"")](r):e[s.replace(ue,"")]=r};return function(t,a){return n(t,a,e)}}function I(t){return ae(t.aoData,"_aData")}function A(t){t.aoData.length=0,t.aiDisplayMaster.length=0,t.aiDisplay.length=0,t.aIds={}}function F(t,e,n){for(var r=-1,o=0,i=t.length;o<i;o++)t[o]==e?r=o:t[o]>e&&t[o]--;-1!=r&&n===a&&t.splice(r,1)}function j(t,e,n,r){var o,i=t.aoData[e],l=function(n,a){for(;n.childNodes.length;)n.removeChild(n.firstChild);n.innerHTML=_(t,e,a,"display")};if("dom"!==n&&(n&&"auto"!==n||"dom"!==i.src)){var s=i.anCells;if(s)if(r!==a)l(s[r],r);else for(n=0,o=s.length;n<o;n++)l(s[n],n)}else i._aData=L(t,i,r,r===a?a:i._aData).data;if(i._aSortData=null,i._aFilterData=null,l=t.aoColumns,r!==a)l[r].sType=null;else{for(n=0,o=l.length;n<o;n++)l[n].sType=null;R(t,i)}}function L(e,n,r,o){var i,l,s=[],u=n.firstChild,c=0,f=e.aoColumns,d=e._rowReadObject;o=o!==a?o:d?{}:[];var h=function(t,e){if("string"==typeof t){var n=t.indexOf("@");-1!==n&&(n=t.substring(n+1),x(t)(o,e.getAttribute(n)))}},p=function(e){r!==a&&r!==c||(i=f[c],l=t.trim(e.innerHTML),i&&i._bAttrSrc?(x(i.mData._)(o,l),h(i.mData.sort,e),h(i.mData.type,e),h(i.mData.filter,e)):d?(i._setter||(i._setter=x(i.mData)),i._setter(o,l)):o[c]=l),c++};if(u)for(;u;){var g=u.nodeName.toUpperCase();"TD"!=g&&"TH"!=g||(p(u),s.push(u)),u=u.nextSibling}else for(u=0,g=(s=n.anCells).length;u<g;u++)p(s[u]);return(n=n.firstChild?n:n.nTr)&&(n=n.getAttribute("id"))&&x(e.rowId)(o,n),{data:o,cells:s}}function P(e,a,r,o){var i,l,s=e.aoData[a],u=s._aData,c=[];if(null===s.nTr){var f=r||n.createElement("tr");s.nTr=f,s.anCells=c,f._DT_RowIndex=a,R(e,s);var d=0;for(i=e.aoColumns.length;d<i;d++){var h=e.aoColumns[d],p=(l=!r)?n.createElement(h.sCellType):o[d];p._DT_CellIndex={row:a,column:d},c.push(p),!l&&(r&&!h.mRender&&h.mData===d||t.isPlainObject(h.mData)&&h.mData._===d+".display")||(p.innerHTML=_(e,a,d,"display")),h.sClass&&(p.className+=" "+h.sClass),h.bVisible&&!r?f.appendChild(p):!h.bVisible&&r&&p.parentNode.removeChild(p),h.fnCreatedCell&&h.fnCreatedCell.call(e.oInstance,p,_(e,a,d),u,a,d)}Ht(e,"aoRowCreatedCallback",null,[f,u,a,c])}s.nTr.setAttribute("role","row")}function R(e,n){var a=n.nTr,r=n._aData;a&&((e=e.rowIdFn(r))&&(a.id=e),r.DT_RowClass&&(e=r.DT_RowClass.split(" "),n.__rowc=n.__rowc?le(n.__rowc.concat(e)):e,t(a).removeClass(n.__rowc.join(" ")).addClass(r.DT_RowClass)),r.DT_RowAttr&&t(a).attr(r.DT_RowAttr),r.DT_RowData&&t(a).data(r.DT_RowData))}function N(e){var n,a,r=e.nTHead,o=e.nTFoot,i=0===t("th, td",r).length,l=e.oClasses,s=e.aoColumns;i&&(a=t("<tr/>").appendTo(r));var u=0;for(n=s.length;u<n;u++){var c=s[u],f=t(c.nTh).addClass(c.sClass);i&&f.appendTo(a),e.oFeatures.bSort&&(f.addClass(c.sSortingClass),!1!==c.bSortable&&(f.attr("tabindex",e.iTabIndex).attr("aria-controls",e.sTableId),wt(e,c.nTh,u))),c.sTitle!=f[0].innerHTML&&f.html(c.sTitle),Mt(e,"header")(e,f,c,l)}if(i&&E(e.aoHeader,r),t(r).find(">tr").attr("role","row"),t(r).find(">tr>th, >tr>td").addClass(l.sHeaderTH),t(o).find(">tr>th, >tr>td").addClass(l.sFooterTH),null!==o)for(u=0,n=(e=e.aoFooter[0]).length;u<n;u++)(c=s[u]).nTf=e[u].cell,c.sClass&&t(c.nTf).addClass(c.sClass)}function H(e,n,r){var o,i,l=[],s=[],u=e.aoColumns.length;if(n){r===a&&(r=!1);var c=0;for(o=n.length;c<o;c++){for(l[c]=n[c].slice(),l[c].nTr=n[c].nTr,i=u-1;0<=i;i--)e.aoColumns[i].bVisible||r||l[c].splice(i,1);s.push([])}for(c=0,o=l.length;c<o;c++){if(e=l[c].nTr)for(;i=e.firstChild;)e.removeChild(i);for(i=0,n=l[c].length;i<n;i++){var f=u=1;if(s[c][i]===a){for(e.appendChild(l[c][i].cell),s[c][i]=1;l[c+u]!==a&&l[c][i].cell==l[c+u][i].cell;)s[c+u][i]=1,u++;for(;l[c][i+f]!==a&&l[c][i].cell==l[c][i+f].cell;){for(r=0;r<u;r++)s[c+r][i+f]=1;f++}t(l[c][i].cell).attr("rowspan",u).attr("colspan",f)}}}}}function O(e){var n=Ht(e,"aoPreDrawCallback","preDraw",[e]);if(-1!==t.inArray(!1,n))ft(e,!1);else{n=[];var r=0,o=e.asStripeClasses,i=o.length,l=e.oLanguage,s=e.iInitDisplayStart,u="ssp"==kt(e),c=e.aiDisplay;e.bDrawing=!0,s!==a&&-1!==s&&(e._iDisplayStart=u?s:s>=e.fnRecordsDisplay()?0:s,e.iInitDisplayStart=-1),s=e._iDisplayStart;var f=e.fnDisplayEnd();if(e.bDeferLoading)e.bDeferLoading=!1,e.iDraw++,ft(e,!1);else if(u){if(!e.bDestroying&&!U(e))return}else e.iDraw++;if(0!==c.length)for(l=u?e.aoData.length:f,u=u?0:s;u<l;u++){var d=c[u],h=e.aoData[d];null===h.nTr&&P(e,d);var p=h.nTr;if(0!==i){var g=o[r%i];h._sRowStripe!=g&&(t(p).removeClass(h._sRowStripe).addClass(g),h._sRowStripe=g)}Ht(e,"aoRowCallback",null,[p,h._aData,r,u,d]),n.push(p),r++}else r=l.sZeroRecords,1==e.iDraw&&"ajax"==kt(e)?r=l.sLoadingRecords:l.sEmptyTable&&0===e.fnRecordsTotal()&&(r=l.sEmptyTable),n[0]=t("<tr/>",{class:i?o[0]:""}).append(t("<td />",{valign:"top",colSpan:b(e),class:e.oClasses.sRowEmpty}).html(r))[0];Ht(e,"aoHeaderCallback","header",[t(e.nTHead).children("tr")[0],I(e),s,f,c]),Ht(e,"aoFooterCallback","footer",[t(e.nTFoot).children("tr")[0],I(e),s,f,c]),(o=t(e.nTBody)).children().detach(),o.append(t(n)),Ht(e,"aoDrawCallback","draw",[e]),e.bSorted=!1,e.bFiltered=!1,e.bDrawing=!1}}function M(t,e){var n=t.oFeatures,a=n.bFilter;n.bSort&&yt(t),a?q(t,t.oPreviousSearch):t.aiDisplay=t.aiDisplayMaster.slice(),!0!==e&&(t._iDisplayStart=0),t._drawHold=e,O(t),t._drawHold=!1}function k(e){var n=e.oClasses,a=t(e.nTable);a=t("<div/>").insertBefore(a);var r=e.oFeatures,o=t("<div/>",{id:e.sTableId+"_wrapper",class:n.sWrapper+(e.nTFoot?"":" "+n.sNoFooter)});e.nHolding=a[0],e.nTableWrapper=o[0],e.nTableReinsertBefore=e.nTable.nextSibling;for(var i,l,s,u,c,f,d=e.sDom.split(""),h=0;h<d.length;h++){if(i=null,"<"==(l=d[h])){if(s=t("<div/>")[0],"'"==(u=d[h+1])||'"'==u){for(c="",f=2;d[h+f]!=u;)c+=d[h+f],f++;"H"==c?c=n.sJUIHeader:"F"==c&&(c=n.sJUIFooter),-1!=c.indexOf(".")?(u=c.split("."),s.id=u[0].substr(1,u[0].length-1),s.className=u[1]):"#"==c.charAt(0)?s.id=c.substr(1,c.length-1):s.className=c,h+=f}o.append(s),o=t(s)}else if(">"==l)o=o.parent();else if("l"==l&&r.bPaginate&&r.bLengthChange)i=lt(e);else if("f"==l&&r.bFilter)i=J(e);else if("r"==l&&r.bProcessing)i=ct(e);else if("t"==l)i=dt(e);else if("i"==l&&r.bInfo)i=et(e);else if("p"==l&&r.bPaginate)i=st(e);else if(0!==$t.ext.feature.length)for(f=0,u=(s=$t.ext.feature).length;f<u;f++)if(l==s[f].cFeature){i=s[f].fnInit(e);break}i&&((s=e.aanFeatures)[l]||(s[l]=[]),s[l].push(i),o.append(i))}a.replaceWith(o),e.nHolding=null}function E(e,n){var a,r,o;n=t(n).children("tr"),e.splice(0,e.length);var i=0;for(o=n.length;i<o;i++)e.push([]);for(i=0,o=n.length;i<o;i++){var l=n[i];for(a=l.firstChild;a;){if("TD"==a.nodeName.toUpperCase()||"TH"==a.nodeName.toUpperCase()){var s=1*a.getAttribute("colspan"),u=1*a.getAttribute("rowspan");s=s&&0!==s&&1!==s?s:1,u=u&&0!==u&&1!==u?u:1;var c=0;for(r=e[i];r[c];)c++;var f=c,d=1===s;for(r=0;r<s;r++)for(c=0;c<u;c++)e[i+c][f+r]={cell:a,unique:d},e[i+c].nTr=l}a=a.nextSibling}}}function W(t,e,n){var a=[];n||(n=t.aoHeader,e&&E(n=[],e)),e=0;for(var r=n.length;e<r;e++)for(var o=0,i=n[e].length;o<i;o++)!n[e][o].unique||a[o]&&t.bSortCellsTop||(a[o]=n[e][o].cell);return a}function B(e,n,a){if(Ht(e,"aoServerParams","serverParams",[n]),n&&t.isArray(n)){var r={},o=/(.*?)\[\]$/;t.each(n,(function(t,e){(t=e.name.match(o))?(t=t[0],r[t]||(r[t]=[]),r[t].push(e.value)):r[e.name]=e.value})),n=r}var i=e.ajax,l=e.oInstance,s=function(t){Ht(e,null,"xhr",[e,t,e.jqXHR]),a(t)};if(t.isPlainObject(i)&&i.data){var u=i.data,c="function"==typeof u?u(n,e):u;n="function"==typeof u&&c?c:t.extend(!0,n,c),delete i.data}c={data:n,success:function(t){var n=t.error||t.sError;n&&jt(e,0,n),e.json=t,s(t)},dataType:"json",cache:!1,type:e.sServerMethod,error:function(n,a,r){r=Ht(e,null,"xhr",[e,null,e.jqXHR]),-1===t.inArray(!0,r)&&("parsererror"==a?jt(e,0,"Invalid JSON response",1):4===n.readyState&&jt(e,0,"Ajax error",7)),ft(e,!1)}},e.oAjaxData=n,Ht(e,null,"preXhr",[e,n]),e.fnServerData?e.fnServerData.call(l,e.sAjaxSource,t.map(n,(function(t,e){return{name:e,value:t}})),s,e):e.sAjaxSource||"string"==typeof i?e.jqXHR=t.ajax(t.extend(c,{url:i||e.sAjaxSource})):"function"==typeof i?e.jqXHR=i.call(l,n,s,e):(e.jqXHR=t.ajax(t.extend(c,i)),i.data=u)}function U(t){return!t.bAjaxDataGet||(t.iDraw++,ft(t,!0),B(t,V(t),(function(e){X(t,e)})),!1)}function V(e){var n=e.aoColumns,a=n.length,r=e.oFeatures,o=e.oPreviousSearch,i=e.aoPreSearchCols,l=[],s=Dt(e),u=e._iDisplayStart,c=!1!==r.bPaginate?e._iDisplayLength:-1,f=function(t,e){l.push({name:t,value:e})};f("sEcho",e.iDraw),f("iColumns",a),f("sColumns",ae(n,"sName").join(",")),f("iDisplayStart",u),f("iDisplayLength",c);var d={draw:e.iDraw,columns:[],order:[],start:u,length:c,search:{value:o.sSearch,regex:o.bRegex}};for(u=0;u<a;u++){var h=n[u],p=i[u];c="function"==typeof h.mData?"function":h.mData,d.columns.push({data:c,name:h.sName,searchable:h.bSearchable,orderable:h.bSortable,search:{value:p.sSearch,regex:p.bRegex}}),f("mDataProp_"+u,c),r.bFilter&&(f("sSearch_"+u,p.sSearch),f("bRegex_"+u,p.bRegex),f("bSearchable_"+u,h.bSearchable)),r.bSort&&f("bSortable_"+u,h.bSortable)}return r.bFilter&&(f("sSearch",o.sSearch),f("bRegex",o.bRegex)),r.bSort&&(t.each(s,(function(t,e){d.order.push({column:e.col,dir:e.dir}),f("iSortCol_"+t,e.col),f("sSortDir_"+t,e.dir)})),f("iSortingCols",s.length)),null===(n=$t.ext.legacy.ajax)?e.sAjaxSource?l:d:n?l:d}function X(t,e){var n=function(t,n){return e[t]!==a?e[t]:e[n]},r=$(t,e),o=n("sEcho","draw"),i=n("iTotalRecords","recordsTotal");if(n=n("iTotalDisplayRecords","recordsFiltered"),o!==a){if(1*o<t.iDraw)return;t.iDraw=1*o}for(A(t),t._iRecordsTotal=parseInt(i,10),t._iRecordsDisplay=parseInt(n,10),o=0,i=r.length;o<i;o++)D(t,r[o]);t.aiDisplay=t.aiDisplayMaster.slice(),t.bAjaxDataGet=!1,O(t),t._bInitComplete||ot(t,e),t.bAjaxDataGet=!0,ft(t,!1)}function $(e,n){return"data"===(e=t.isPlainObject(e.ajax)&&e.ajax.dataSrc!==a?e.ajax.dataSrc:e.sAjaxDataProp)?n.aaData||n[e]:""!==e?C(e)(n):n}function J(e){var a=e.oClasses,r=e.sTableId,o=e.oLanguage,i=e.oPreviousSearch,l=e.aanFeatures,s='<input type="search" class="'+a.sFilterInput+'"/>',u=o.sSearch;u=u.match(/_INPUT_/)?u.replace("_INPUT_",s):u+s,a=t("<div/>",{id:l.f?null:r+"_filter",class:a.sFilter}).append(t("<label/>").append(u));var c=function(){var t=this.value?this.value:"";t!=i.sSearch&&(q(e,{sSearch:t,bRegex:i.bRegex,bSmart:i.bSmart,bCaseInsensitive:i.bCaseInsensitive}),e._iDisplayStart=0,O(e))};l=null!==e.searchDelay?e.searchDelay:"ssp"===kt(e)?400:0;var f=t("input",a).val(i.sSearch).attr("placeholder",o.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",l?ge(c,l):c).on("mouseup",(function(t){setTimeout((function(){c.call(f[0])}),10)})).on("keypress.DT",(function(t){if(13==t.keyCode)return!1})).attr("aria-controls",r);return t(e.nTable).on("search.dt.DT",(function(t,a){if(e===a)try{f[0]!==n.activeElement&&f.val(i.sSearch)}catch(t){}})),a[0]}function q(t,e,n){var r=t.oPreviousSearch,o=t.aoPreSearchCols,i=function(t){r.sSearch=t.sSearch,r.bRegex=t.bRegex,r.bSmart=t.bSmart,r.bCaseInsensitive=t.bCaseInsensitive},l=function(t){return t.bEscapeRegex!==a?!t.bEscapeRegex:t.bRegex};if(m(t),"ssp"!=kt(t)){for(Y(t,e.sSearch,n,l(e),e.bSmart,e.bCaseInsensitive),i(e),e=0;e<o.length;e++)z(t,o[e].sSearch,e,l(o[e]),o[e].bSmart,o[e].bCaseInsensitive);G(t)}else i(e);t.bFiltered=!0,Ht(t,null,"search",[t])}function G(e){for(var n,a,r=$t.ext.search,o=e.aiDisplay,i=0,l=r.length;i<l;i++){for(var s=[],u=0,c=o.length;u<c;u++)a=o[u],n=e.aoData[a],r[i](e,n._aFilterData,a,n._aData,u)&&s.push(a);o.length=0,t.merge(o,s)}}function z(t,e,n,a,r,o){if(""!==e){var i=[],l=t.aiDisplay;for(a=Z(e,a,r,o),r=0;r<l.length;r++)e=t.aoData[l[r]]._aFilterData[n],a.test(e)&&i.push(l[r]);t.aiDisplay=i}}function Y(t,e,n,a,r,o){r=Z(e,a,r,o);var i=t.oPreviousSearch.sSearch,l=t.aiDisplayMaster;o=[],0!==$t.ext.search.length&&(n=!0);var s=K(t);if(0>=e.length)t.aiDisplay=l.slice();else{for((s||n||a||i.length>e.length||0!==e.indexOf(i)||t.bSorted)&&(t.aiDisplay=l.slice()),e=t.aiDisplay,n=0;n<e.length;n++)r.test(t.aoData[e[n]]._sFilterRow)&&o.push(e[n]);t.aiDisplay=o}}function Z(e,n,a,r){return e=n?e:fe(e),a&&(e="^(?=.*?"+t.map(e.match(/"[^"]+"|[^ ]+/g)||[""],(function(t){if('"'===t.charAt(0)){var e=t.match(/^"(.*)"$/);t=e?e[1]:t}return t.replace('"',"")})).join(")(?=.*?")+").*$"),new RegExp(e,r?"i":"")}function K(t){var e,n,a=t.aoColumns,r=$t.ext.type.search,o=!1,i=0;for(e=t.aoData.length;i<e;i++){var l=t.aoData[i];if(!l._aFilterData){var s=[],u=0;for(n=a.length;u<n;u++){if((o=a[u]).bSearchable){var c=_(t,i,u,"filter");r[o.sType]&&(c=r[o.sType](c)),null===c&&(c=""),"string"!=typeof c&&c.toString&&(c=c.toString())}else c="";c.indexOf&&-1!==c.indexOf("&")&&(de.innerHTML=c,c=he?de.textContent:de.innerText),c.replace&&(c=c.replace(/[\r\n\u2028]/g,"")),s.push(c)}l._aFilterData=s,l._sFilterRow=s.join(" "),o=!0}}return o}function Q(t){return{search:t.sSearch,smart:t.bSmart,regex:t.bRegex,caseInsensitive:t.bCaseInsensitive}}function tt(t){return{sSearch:t.search,bSmart:t.smart,bRegex:t.regex,bCaseInsensitive:t.caseInsensitive}}function et(e){var n=e.sTableId,a=e.aanFeatures.i,r=t("<div/>",{class:e.oClasses.sInfo,id:a?null:n+"_info"});return a||(e.aoDrawCallback.push({fn:nt,sName:"information"}),r.attr("role","status").attr("aria-live","polite"),t(e.nTable).attr("aria-describedby",n+"_info")),r[0]}function nt(e){var n=e.aanFeatures.i;if(0!==n.length){var a=e.oLanguage,r=e._iDisplayStart+1,o=e.fnDisplayEnd(),i=e.fnRecordsTotal(),l=e.fnRecordsDisplay(),s=l?a.sInfo:a.sInfoEmpty;l!==i&&(s+=" "+a.sInfoFiltered),s=at(e,s+=a.sInfoPostFix),null!==(a=a.fnInfoCallback)&&(s=a.call(e.oInstance,e,r,o,i,l,s)),t(n).html(s)}}function at(t,e){var n=t.fnFormatNumber,a=t._iDisplayStart+1,r=t._iDisplayLength,o=t.fnRecordsDisplay(),i=-1===r;return e.replace(/_START_/g,n.call(t,a)).replace(/_END_/g,n.call(t,t.fnDisplayEnd())).replace(/_MAX_/g,n.call(t,t.fnRecordsTotal())).replace(/_TOTAL_/g,n.call(t,o)).replace(/_PAGE_/g,n.call(t,i?1:Math.ceil(a/r))).replace(/_PAGES_/g,n.call(t,i?1:Math.ceil(o/r)))}function rt(t){var e=t.iInitDisplayStart,n=t.aoColumns,a=t.oFeatures,r=t.bDeferLoading;if(t.bInitialised){k(t),N(t),H(t,t.aoHeader),H(t,t.aoFooter),ft(t,!0),a.bAutoWidth&>(t);var o=0;for(a=n.length;o<a;o++){var i=n[o];i.sWidth&&(i.nTh.style.width=St(i.sWidth))}Ht(t,null,"preInit",[t]),M(t),("ssp"!=(n=kt(t))||r)&&("ajax"==n?B(t,[],(function(n){var a=$(t,n);for(o=0;o<a.length;o++)D(t,a[o]);t.iInitDisplayStart=e,M(t),ft(t,!1),ot(t,n)})):(ft(t,!1),ot(t)))}else setTimeout((function(){rt(t)}),200)}function ot(t,e){t._bInitComplete=!0,(e||t.oInit.aaData)&&h(t),Ht(t,null,"plugin-init",[t,e]),Ht(t,"aoInitComplete","init",[t,e])}function it(t,e){e=parseInt(e,10),t._iDisplayLength=e,Ot(t),Ht(t,null,"length",[t,e])}function lt(e){var n=e.oClasses,a=e.sTableId,r=e.aLengthMenu,o=t.isArray(r[0]),i=o?r[0]:r;r=o?r[1]:r,o=t("<select/>",{name:a+"_length","aria-controls":a,class:n.sLengthSelect});for(var l=0,s=i.length;l<s;l++)o[0][l]=new Option("number"==typeof r[l]?e.fnFormatNumber(r[l]):r[l],i[l]);var u=t("<div><label/></div>").addClass(n.sLength);return e.aanFeatures.l||(u[0].id=a+"_length"),u.children().append(e.oLanguage.sLengthMenu.replace("_MENU_",o[0].outerHTML)),t("select",u).val(e._iDisplayLength).on("change.DT",(function(n){it(e,t(this).val()),O(e)})),t(e.nTable).on("length.dt.DT",(function(n,a,r){e===a&&t("select",u).val(r)})),u[0]}function st(e){var n=e.sPaginationType,a=$t.ext.pager[n],r="function"==typeof a,o=function(t){O(t)};n=t("<div/>").addClass(e.oClasses.sPaging+n)[0];var i=e.aanFeatures;return r||a.fnInit(e,n,o),i.p||(n.id=e.sTableId+"_paginate",e.aoDrawCallback.push({fn:function(t){if(r){var e,n=t._iDisplayStart,l=t._iDisplayLength,s=t.fnRecordsDisplay(),u=-1===l;for(n=u?0:Math.ceil(n/l),l=u?1:Math.ceil(s/l),s=a(n,l),u=0,e=i.p.length;u<e;u++)Mt(t,"pageButton")(t,i.p[u],u,s,n,l)}else a.fnUpdate(t,o)},sName:"pagination"})),n}function ut(t,e,n){var a=t._iDisplayStart,r=t._iDisplayLength,o=t.fnRecordsDisplay();return 0===o||-1===r?a=0:"number"==typeof e?(a=e*r)>o&&(a=0):"first"==e?a=0:"previous"==e?0>(a=0<=r?a-r:0)&&(a=0):"next"==e?a+r<o&&(a+=r):"last"==e?a=Math.floor((o-1)/r)*r:jt(t,0,"Unknown paging action: "+e,5),e=t._iDisplayStart!==a,t._iDisplayStart=a,e&&(Ht(t,null,"page",[t]),n&&O(t)),e}function ct(e){return t("<div/>",{id:e.aanFeatures.r?null:e.sTableId+"_processing",class:e.oClasses.sProcessing}).html(e.oLanguage.sProcessing).insertBefore(e.nTable)[0]}function ft(e,n){e.oFeatures.bProcessing&&t(e.aanFeatures.r).css("display",n?"block":"none"),Ht(e,null,"processing",[e,n])}function dt(e){var n=t(e.nTable);n.attr("role","grid");var a=e.oScroll;if(""===a.sX&&""===a.sY)return e.nTable;var r=a.sX,o=a.sY,i=e.oClasses,l=n.children("caption"),s=l.length?l[0]._captionSide:null,u=t(n[0].cloneNode(!1)),c=t(n[0].cloneNode(!1)),f=n.children("tfoot");f.length||(f=null),u=t("<div/>",{class:i.sScrollWrapper}).append(t("<div/>",{class:i.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:r?r?St(r):null:"100%"}).append(t("<div/>",{class:i.sScrollHeadInner}).css({"box-sizing":"content-box",width:a.sXInner||"100%"}).append(u.removeAttr("id").css("margin-left",0).append("top"===s?l:null).append(n.children("thead"))))).append(t("<div/>",{class:i.sScrollBody}).css({position:"relative",overflow:"auto",width:r?St(r):null}).append(n)),f&&u.append(t("<div/>",{class:i.sScrollFoot}).css({overflow:"hidden",border:0,width:r?r?St(r):null:"100%"}).append(t("<div/>",{class:i.sScrollFootInner}).append(c.removeAttr("id").css("margin-left",0).append("bottom"===s?l:null).append(n.children("tfoot")))));var d=(n=u.children())[0];i=n[1];var h=f?n[2]:null;return r&&t(i).on("scroll.DT",(function(t){t=this.scrollLeft,d.scrollLeft=t,f&&(h.scrollLeft=t)})),t(i).css("max-height",o),a.bCollapse||t(i).css("height",o),e.nScrollHead=d,e.nScrollBody=i,e.nScrollFoot=h,e.aoDrawCallback.push({fn:ht,sName:"scrolling"}),u[0]}function ht(e){var n=e.oScroll,r=n.sX,o=n.sXInner,i=n.sY;n=n.iBarWidth;var l=t(e.nScrollHead),s=l[0].style,u=l.children("div"),c=u[0].style,f=u.children("table");u=e.nScrollBody;var d,g=t(u),b=u.style,v=t(e.nScrollFoot).children("div"),m=v.children("table"),S=t(e.nTHead),D=t(e.nTable),y=D[0],_=y.style,T=e.nTFoot?t(e.nTFoot):null,w=e.oBrowser,C=w.bScrollOversize,x=ae(e.aoColumns,"nTh"),I=[],A=[],F=[],j=[],L=function(t){(t=t.style).paddingTop="0",t.paddingBottom="0",t.borderTopWidth="0",t.borderBottomWidth="0",t.height=0},P=u.scrollHeight>u.clientHeight;if(e.scrollBarVis!==P&&e.scrollBarVis!==a)e.scrollBarVis=P,h(e);else{if(e.scrollBarVis=P,D.children("thead, tfoot").remove(),T){var R=T.clone().prependTo(D),N=T.find("tr");R=R.find("tr")}var H=S.clone().prependTo(D);S=S.find("tr"),P=H.find("tr"),H.find("th, td").removeAttr("tabindex"),r||(b.width="100%",l[0].style.width="100%"),t.each(W(e,H),(function(t,n){d=p(e,t),n.style.width=e.aoColumns[d].sWidth})),T&&pt((function(t){t.style.width=""}),R),l=D.outerWidth(),""===r?(_.width="100%",C&&(D.find("tbody").height()>u.offsetHeight||"scroll"==g.css("overflow-y"))&&(_.width=St(D.outerWidth()-n)),l=D.outerWidth()):""!==o&&(_.width=St(o),l=D.outerWidth()),pt(L,P),pt((function(e){F.push(e.innerHTML),I.push(St(t(e).css("width")))}),P),pt((function(e,n){-1!==t.inArray(e,x)&&(e.style.width=I[n])}),S),t(P).height(0),T&&(pt(L,R),pt((function(e){j.push(e.innerHTML),A.push(St(t(e).css("width")))}),R),pt((function(t,e){t.style.width=A[e]}),N),t(R).height(0)),pt((function(t,e){t.innerHTML='<div class="dataTables_sizing">'+F[e]+"</div>",t.childNodes[0].style.height="0",t.childNodes[0].style.overflow="hidden",t.style.width=I[e]}),P),T&&pt((function(t,e){t.innerHTML='<div class="dataTables_sizing">'+j[e]+"</div>",t.childNodes[0].style.height="0",t.childNodes[0].style.overflow="hidden",t.style.width=A[e]}),R),D.outerWidth()<l?(N=u.scrollHeight>u.offsetHeight||"scroll"==g.css("overflow-y")?l+n:l,C&&(u.scrollHeight>u.offsetHeight||"scroll"==g.css("overflow-y"))&&(_.width=St(N-n)),""!==r&&""===o||jt(e,1,"Possible column misalignment",6)):N="100%",b.width=St(N),s.width=St(N),T&&(e.nScrollFoot.style.width=St(N)),!i&&C&&(b.height=St(y.offsetHeight+n)),r=D.outerWidth(),f[0].style.width=St(r),c.width=St(r),o=D.height()>u.clientHeight||"scroll"==g.css("overflow-y"),c[i="padding"+(w.bScrollbarLeft?"Left":"Right")]=o?n+"px":"0px",T&&(m[0].style.width=St(r),v[0].style.width=St(r),v[0].style[i]=o?n+"px":"0px"),D.children("colgroup").insertBefore(D.children("thead")),g.trigger("scroll"),!e.bSorted&&!e.bFiltered||e._drawHold||(u.scrollTop=0)}}function pt(t,e,n){for(var a,r,o=0,i=0,l=e.length;i<l;){for(a=e[i].firstChild,r=n?n[i].firstChild:null;a;)1===a.nodeType&&(n?t(a,r,o):t(a,o),o++),a=a.nextSibling,r=n?r.nextSibling:null;i++}}function gt(n){var a,r=n.nTable,o=n.aoColumns,i=n.oScroll,l=i.sY,s=i.sX,u=i.sXInner,c=o.length,f=v(n,"bVisible"),d=t("th",n.nTHead),g=r.getAttribute("width"),m=r.parentNode,S=!1,D=n.oBrowser;for(i=D.bScrollOversize,(a=r.style.width)&&-1!==a.indexOf("%")&&(g=a),a=0;a<f.length;a++){var y=o[f[a]];null!==y.sWidth&&(y.sWidth=bt(y.sWidthOrig,m),S=!0)}if(i||!S&&!s&&!l&&c==b(n)&&c==d.length)for(a=0;a<c;a++)null!==(f=p(n,a))&&(o[f].sWidth=St(d.eq(a).width()));else{(c=t(r).clone().css("visibility","hidden").removeAttr("id")).find("tbody tr").remove();var _=t("<tr/>").appendTo(c.find("tbody"));for(c.find("thead, tfoot").remove(),c.append(t(n.nTHead).clone()).append(t(n.nTFoot).clone()),c.find("tfoot th, tfoot td").css("width",""),d=W(n,c.find("thead")[0]),a=0;a<f.length;a++)y=o[f[a]],d[a].style.width=null!==y.sWidthOrig&&""!==y.sWidthOrig?St(y.sWidthOrig):"",y.sWidthOrig&&s&&t(d[a]).append(t("<div/>").css({width:y.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(n.aoData.length)for(a=0;a<f.length;a++)y=o[S=f[a]],t(vt(n,S)).clone(!1).append(y.sContentPadding).appendTo(_);for(t("[name]",c).removeAttr("name"),y=t("<div/>").css(s||l?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(c).appendTo(m),s&&u?c.width(u):s?(c.css("width","auto"),c.removeAttr("width"),c.width()<m.clientWidth&&g&&c.width(m.clientWidth)):l?c.width(m.clientWidth):g&&c.width(g),a=l=0;a<f.length;a++)u=(m=t(d[a])).outerWidth()-m.width(),l+=m=D.bBounding?Math.ceil(d[a].getBoundingClientRect().width):m.outerWidth(),o[f[a]].sWidth=St(m-u);r.style.width=St(l),y.remove()}g&&(r.style.width=St(g)),!g&&!s||n._reszEvt||(r=function(){t(e).on("resize.DT-"+n.sInstance,ge((function(){h(n)})))},i?setTimeout(r,1e3):r(),n._reszEvt=!0)}function bt(e,a){return e?(a=(e=t("<div/>").css("width",St(e)).appendTo(a||n.body))[0].offsetWidth,e.remove(),a):0}function vt(e,n){var a=mt(e,n);if(0>a)return null;var r=e.aoData[a];return r.nTr?r.anCells[n]:t("<td/>").html(_(e,a,n,"display"))[0]}function mt(t,e){for(var n,a=-1,r=-1,o=0,i=t.aoData.length;o<i;o++)(n=(n=(n=_(t,o,e,"display")+"").replace(pe,"")).replace(/ /g," ")).length>a&&(a=n.length,r=o);return r}function St(t){return null===t?"0px":"number"==typeof t?0>t?"0px":t+"px":t.match(/\d$/)?t+"px":t}function Dt(e){var n=[],r=e.aoColumns,o=e.aaSortingFixed,i=t.isPlainObject(o),l=[],s=function(e){e.length&&!t.isArray(e[0])?l.push(e):t.merge(l,e)};for(t.isArray(o)&&s(o),i&&o.pre&&s(o.pre),s(e.aaSorting),i&&o.post&&s(o.post),e=0;e<l.length;e++){var u=l[e][0];for(o=0,i=(s=r[u].aDataSort).length;o<i;o++){var c=s[o],f=r[c].sType||"string";l[e]._idx===a&&(l[e]._idx=t.inArray(l[e][1],r[c].asSorting)),n.push({src:u,col:c,dir:l[e][1],index:l[e]._idx,type:f,formatter:$t.ext.type.order[f+"-pre"]})}}return n}function yt(t){var e,n=[],a=$t.ext.type.order,r=t.aoData,o=0,i=t.aiDisplayMaster;m(t);var l=Dt(t),s=0;for(e=l.length;s<e;s++){var u=l[s];u.formatter&&o++,xt(t,u.col)}if("ssp"!=kt(t)&&0!==l.length){for(s=0,e=i.length;s<e;s++)n[i[s]]=s;o===l.length?i.sort((function(t,e){var a,o=l.length,i=r[t]._aSortData,s=r[e]._aSortData;for(a=0;a<o;a++){var u=l[a],c=i[u.col],f=s[u.col];if(0!==(c=c<f?-1:c>f?1:0))return"asc"===u.dir?c:-c}return(c=n[t])<(f=n[e])?-1:c>f?1:0})):i.sort((function(t,e){var o,i=l.length,s=r[t]._aSortData,u=r[e]._aSortData;for(o=0;o<i;o++){var c=l[o],f=s[c.col],d=u[c.col];if(0!==(f=(c=a[c.type+"-"+c.dir]||a["string-"+c.dir])(f,d)))return f}return(f=n[t])<(d=n[e])?-1:f>d?1:0}))}t.bSorted=!0}function _t(t){var e=t.aoColumns,n=Dt(t);t=t.oLanguage.oAria;for(var a=0,r=e.length;a<r;a++){var o=e[a],i=o.asSorting,l=o.sTitle.replace(/<.*?>/g,""),s=o.nTh;s.removeAttribute("aria-sort"),o.bSortable&&(0<n.length&&n[0].col==a?(s.setAttribute("aria-sort","asc"==n[0].dir?"ascending":"descending"),o=i[n[0].index+1]||i[0]):o=i[0],l+="asc"===o?t.sSortAscending:t.sSortDescending),s.setAttribute("aria-label",l)}}function Tt(e,n,r,o){var i=e.aaSorting,l=e.aoColumns[n].asSorting,s=function(e,n){var r=e._idx;return r===a&&(r=t.inArray(e[1],l)),r+1<l.length?r+1:n?null:0};"number"==typeof i[0]&&(i=e.aaSorting=[i]),r&&e.oFeatures.bSortMulti?-1!==(r=t.inArray(n,ae(i,"0")))?(null===(n=s(i[r],!0))&&1===i.length&&(n=0),null===n?i.splice(r,1):(i[r][1]=l[n],i[r]._idx=n)):(i.push([n,l[0],0]),i[i.length-1]._idx=0):i.length&&i[0][0]==n?(n=s(i[0]),i.length=1,i[0][1]=l[n],i[0]._idx=n):(i.length=0,i.push([n,l[0]]),i[0]._idx=0),M(e),"function"==typeof o&&o(e)}function wt(t,e,n,a){var r=t.aoColumns[n];Rt(e,{},(function(e){!1!==r.bSortable&&(t.oFeatures.bProcessing?(ft(t,!0),setTimeout((function(){Tt(t,n,e.shiftKey,a),"ssp"!==kt(t)&&ft(t,!1)}),0)):Tt(t,n,e.shiftKey,a))}))}function Ct(e){var n,a=e.aLastSort,r=e.oClasses.sSortColumn,o=Dt(e),i=e.oFeatures;if(i.bSort&&i.bSortClasses){for(i=0,n=a.length;i<n;i++){var l=a[i].src;t(ae(e.aoData,"anCells",l)).removeClass(r+(2>i?i+1:3))}for(i=0,n=o.length;i<n;i++)l=o[i].src,t(ae(e.aoData,"anCells",l)).addClass(r+(2>i?i+1:3))}e.aLastSort=o}function xt(t,e){var n,a=t.aoColumns[e],r=$t.ext.order[a.sSortDataType];r&&(n=r.call(t.oInstance,t,e,g(t,e)));for(var o,i=$t.ext.type.order[a.sType+"-pre"],l=0,s=t.aoData.length;l<s;l++)(a=t.aoData[l])._aSortData||(a._aSortData=[]),(!a._aSortData[e]||r)&&(o=r?n[l]:_(t,l,e,"sort"),a._aSortData[e]=i?i(o):o)}function It(e){if(e.oFeatures.bStateSave&&!e.bDestroying){var n={time:+new Date,start:e._iDisplayStart,length:e._iDisplayLength,order:t.extend(!0,[],e.aaSorting),search:Q(e.oPreviousSearch),columns:t.map(e.aoColumns,(function(t,n){return{visible:t.bVisible,search:Q(e.aoPreSearchCols[n])}}))};Ht(e,"aoStateSaveParams","stateSaveParams",[e,n]),e.oSavedState=n,e.fnStateSaveCallback.call(e.oInstance,e,n)}}function At(e,n,r){var o,i,l=e.aoColumns;if(n=function(n){if(n&&n.time){var s=Ht(e,"aoStateLoadParams","stateLoadParams",[e,n]);if(-1===t.inArray(!1,s)&&!(0<(s=e.iStateDuration)&&n.time<+new Date-1e3*s||n.columns&&l.length!==n.columns.length)){if(e.oLoadedState=t.extend(!0,{},n),n.start!==a&&(e._iDisplayStart=n.start,e.iInitDisplayStart=n.start),n.length!==a&&(e._iDisplayLength=n.length),n.order!==a&&(e.aaSorting=[],t.each(n.order,(function(t,n){e.aaSorting.push(n[0]>=l.length?[0,n[1]]:n)}))),n.search!==a&&t.extend(e.oPreviousSearch,tt(n.search)),n.columns)for(o=0,i=n.columns.length;o<i;o++)(s=n.columns[o]).visible!==a&&(l[o].bVisible=s.visible),s.search!==a&&t.extend(e.aoPreSearchCols[o],tt(s.search));Ht(e,"aoStateLoaded","stateLoaded",[e,n])}}r()},e.oFeatures.bStateSave){var s=e.fnStateLoadCallback.call(e.oInstance,e,n);s!==a&&n(s)}else r()}function Ft(e){var n=$t.settings;return-1!==(e=t.inArray(e,ae(n,"nTable")))?n[e]:null}function jt(t,n,a,r){if(a="DataTables warning: "+(t?"table id="+t.sTableId+" - ":"")+a,r&&(a+=". For more information about this error, please see http://datatables.net/tn/"+r),n)e.console&&console.log&&console.log(a);else if(n=(n=$t.ext).sErrMode||n.errMode,t&&Ht(t,null,"error",[t,r,a]),"alert"==n)alert(a);else{if("throw"==n)throw Error(a);"function"==typeof n&&n(t,r,a)}}function Lt(e,n,r,o){t.isArray(r)?t.each(r,(function(a,r){t.isArray(r)?Lt(e,n,r[0],r[1]):Lt(e,n,r)})):(o===a&&(o=r),n[r]!==a&&(e[o]=n[r]))}function Pt(e,n,a){var r;for(r in n)if(n.hasOwnProperty(r)){var o=n[r];t.isPlainObject(o)?(t.isPlainObject(e[r])||(e[r]={}),t.extend(!0,e[r],o)):a&&"data"!==r&&"aaData"!==r&&t.isArray(o)?e[r]=o.slice():e[r]=o}return e}function Rt(e,n,a){t(e).on("click.DT",n,(function(n){t(e).trigger("blur"),a(n)})).on("keypress.DT",n,(function(t){13===t.which&&(t.preventDefault(),a(t))})).on("selectstart.DT",(function(){return!1}))}function Nt(t,e,n,a){n&&t[e].push({fn:n,sName:a})}function Ht(e,n,a,r){var o=[];return n&&(o=t.map(e[n].slice().reverse(),(function(t,n){return t.fn.apply(e.oInstance,r)}))),null!==a&&(n=t.Event(a+".dt"),t(e.nTable).trigger(n,r),o.push(n.result)),o}function Ot(t){var e=t._iDisplayStart,n=t.fnDisplayEnd(),a=t._iDisplayLength;e>=n&&(e=n-a),e-=e%a,(-1===a||0>e)&&(e=0),t._iDisplayStart=e}function Mt(e,n){e=e.renderer;var a=$t.ext.renderer[n];return t.isPlainObject(e)&&e[n]?a[e[n]]||a._:"string"==typeof e&&a[e]||a._}function kt(t){return t.oFeatures.bServerSide?"ssp":t.ajax||t.sAjaxSource?"ajax":"dom"}function Et(t,e){var n=je.numbers_length,a=Math.floor(n/2);return e<=n?t=oe(0,e):t<=a?((t=oe(0,n-2)).push("ellipsis"),t.push(e-1)):(t>=e-1-a?t=oe(e-(n-2),e):((t=oe(t-a+2,t+a-1)).push("ellipsis"),t.push(e-1)),t.splice(0,0,"ellipsis"),t.splice(0,0,0)),t.DT_el="span",t}function Wt(e){t.each({num:function(t){return Le(t,e)},"num-fmt":function(t){return Le(t,e,Zt)},"html-num":function(t){return Le(t,e,Gt)},"html-num-fmt":function(t){return Le(t,e,Gt,Zt)}},(function(t,n){Ut.type.order[t+e+"-pre"]=n,t.match(/^html\-/)&&(Ut.type.search[t+e]=Ut.type.search.html)}))}function Bt(t){return function(){var e=[Ft(this[$t.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return $t.ext.internal[t].apply(this,e)}}var Ut,Vt,Xt,$t=function(e){this.$=function(t,e){return this.api(!0).$(t,e)},this._=function(t,e){return this.api(!0).rows(t,e).data()},this.api=function(t){return new me(t?Ft(this[Ut.iApiIndex]):this)},this.fnAddData=function(e,n){var r=this.api(!0);return e=t.isArray(e)&&(t.isArray(e[0])||t.isPlainObject(e[0]))?r.rows.add(e):r.row.add(e),(n===a||n)&&r.draw(),e.flatten().toArray()},this.fnAdjustColumnSizing=function(t){var e=this.api(!0).columns.adjust(),n=e.settings()[0],r=n.oScroll;t===a||t?e.draw(!1):(""!==r.sX||""!==r.sY)&&ht(n)},this.fnClearTable=function(t){var e=this.api(!0).clear();(t===a||t)&&e.draw()},this.fnClose=function(t){this.api(!0).row(t).child.hide()},this.fnDeleteRow=function(t,e,n){var r=this.api(!0),o=(t=r.rows(t)).settings()[0],i=o.aoData[t[0][0]];return t.remove(),e&&e.call(this,o,i),(n===a||n)&&r.draw(),i},this.fnDestroy=function(t){this.api(!0).destroy(t)},this.fnDraw=function(t){this.api(!0).draw(t)},this.fnFilter=function(t,e,n,r,o,i){o=this.api(!0),null===e||e===a?o.search(t,n,r,i):o.column(e).search(t,n,r,i),o.draw()},this.fnGetData=function(t,e){var n=this.api(!0);if(t!==a){var r=t.nodeName?t.nodeName.toLowerCase():"";return e!==a||"td"==r||"th"==r?n.cell(t,e).data():n.row(t).data()||null}return n.data().toArray()},this.fnGetNodes=function(t){var e=this.api(!0);return t!==a?e.row(t).node():e.rows().nodes().flatten().toArray()},this.fnGetPosition=function(t){var e=this.api(!0),n=t.nodeName.toUpperCase();return"TR"==n?e.row(t).index():"TD"==n||"TH"==n?[(t=e.cell(t).index()).row,t.columnVisible,t.column]:null},this.fnIsOpen=function(t){return this.api(!0).row(t).child.isShown()},this.fnOpen=function(t,e,n){return this.api(!0).row(t).child(e,n).show().child()[0]},this.fnPageChange=function(t,e){t=this.api(!0).page(t),(e===a||e)&&t.draw(!1)},this.fnSetColumnVis=function(t,e,n){t=this.api(!0).column(t).visible(e),(n===a||n)&&t.columns.adjust().draw()},this.fnSettings=function(){return Ft(this[Ut.iApiIndex])},this.fnSort=function(t){this.api(!0).order(t).draw()},this.fnSortListener=function(t,e,n){this.api(!0).order.listener(t,e,n)},this.fnUpdate=function(t,e,n,r,o){var i=this.api(!0);return n===a||null===n?i.row(e).data(t):i.cell(e,n).data(t),(o===a||o)&&i.columns.adjust(),(r===a||r)&&i.draw(),0},this.fnVersionCheck=Ut.fnVersionCheck;var n=this,r=e===a,c=this.length;for(var h in r&&(e={}),this.oApi=this.internal=Ut.internal,$t.ext.internal)h&&(this[h]=Bt(h));return this.each((function(){var h,p={},g=1<c?Pt(p,e,!0):e,b=0;p=this.getAttribute("id");var v=!1,m=$t.defaults,_=t(this);if("table"!=this.nodeName.toLowerCase())jt(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{l(m),s(m.column),o(m,m,!0),o(m.column,m.column,!0),o(m,t.extend(g,_.data()),!0);var T=$t.settings;for(b=0,h=T.length;b<h;b++){var w=T[b];if(w.nTable==this||w.nTHead&&w.nTHead.parentNode==this||w.nTFoot&&w.nTFoot.parentNode==this){var x=g.bRetrieve!==a?g.bRetrieve:m.bRetrieve;if(r||x)return w.oInstance;if(g.bDestroy!==a?g.bDestroy:m.bDestroy){w.oInstance.fnDestroy();break}return void jt(w,0,"Cannot reinitialise DataTable",3)}if(w.sTableId==this.id){T.splice(b,1);break}}null!==p&&""!==p||(this.id=p="DataTables_Table_"+$t.ext._unique++);var I=t.extend(!0,{},$t.models.oSettings,{sDestroyWidth:_[0].style.width,sInstance:p,sTableId:p});I.nTable=this,I.oApi=n.internal,I.oInit=g,T.push(I),I.oInstance=1===n.length?n:_.dataTable(),l(g),i(g.oLanguage),g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=t.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]),g=Pt(t.extend(!0,{},m),g),Lt(I.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" ")),Lt(I,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]),Lt(I.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]),Lt(I.oLanguage,g,"fnInfoCallback"),Nt(I,"aoDrawCallback",g.fnDrawCallback,"user"),Nt(I,"aoServerParams",g.fnServerParams,"user"),Nt(I,"aoStateSaveParams",g.fnStateSaveParams,"user"),Nt(I,"aoStateLoadParams",g.fnStateLoadParams,"user"),Nt(I,"aoStateLoaded",g.fnStateLoaded,"user"),Nt(I,"aoRowCallback",g.fnRowCallback,"user"),Nt(I,"aoRowCreatedCallback",g.fnCreatedRow,"user"),Nt(I,"aoHeaderCallback",g.fnHeaderCallback,"user"),Nt(I,"aoFooterCallback",g.fnFooterCallback,"user"),Nt(I,"aoInitComplete",g.fnInitComplete,"user"),Nt(I,"aoPreDrawCallback",g.fnPreDrawCallback,"user"),I.rowIdFn=C(g.rowId),u(I);var A=I.oClasses;t.extend(A,$t.ext.classes,g.oClasses),_.addClass(A.sTable),I.iInitDisplayStart===a&&(I.iInitDisplayStart=g.iDisplayStart,I._iDisplayStart=g.iDisplayStart),null!==g.iDeferLoading&&(I.bDeferLoading=!0,p=t.isArray(g.iDeferLoading),I._iRecordsDisplay=p?g.iDeferLoading[0]:g.iDeferLoading,I._iRecordsTotal=p?g.iDeferLoading[1]:g.iDeferLoading);var F=I.oLanguage;t.extend(!0,F,g.oLanguage),F.sUrl&&(t.ajax({dataType:"json",url:F.sUrl,success:function(e){i(e),o(m.oLanguage,e),t.extend(!0,F,e),rt(I)},error:function(){rt(I)}}),v=!0),null===g.asStripeClasses&&(I.asStripeClasses=[A.sStripeOdd,A.sStripeEven]),p=I.asStripeClasses;var j=_.children("tbody").find("tr").eq(0);if(-1!==t.inArray(!0,t.map(p,(function(t,e){return j.hasClass(t)})))&&(t("tbody tr",this).removeClass(p.join(" ")),I.asDestroyStripes=p.slice()),p=[],0!==(T=this.getElementsByTagName("thead")).length&&(E(I.aoHeader,T[0]),p=W(I)),null===g.aoColumns)for(T=[],b=0,h=p.length;b<h;b++)T.push(null);else T=g.aoColumns;for(b=0,h=T.length;b<h;b++)f(I,p?p[b]:null);if(S(I,g.aoColumnDefs,T,(function(t,e){d(I,t,e)})),j.length){var L=function(t,e){return null!==t.getAttribute("data-"+e)?e:null};t(j[0]).children("th, td").each((function(t,e){var n=I.aoColumns[t];if(n.mData===t){var r=L(e,"sort")||L(e,"order");e=L(e,"filter")||L(e,"search"),null===r&&null===e||(n.mData={_:t+".display",sort:null!==r?t+".@data-"+r:a,type:null!==r?t+".@data-"+r:a,filter:null!==e?t+".@data-"+e:a},d(I,t))}}))}var P=I.oFeatures;p=function(){if(g.aaSorting===a){var e=I.aaSorting;for(b=0,h=e.length;b<h;b++)e[b][1]=I.aoColumns[b].asSorting[0]}Ct(I),P.bSort&&Nt(I,"aoDrawCallback",(function(){if(I.bSorted){var e=Dt(I),n={};t.each(e,(function(t,e){n[e.src]=e.dir})),Ht(I,null,"order",[I,e,n]),_t(I)}})),Nt(I,"aoDrawCallback",(function(){(I.bSorted||"ssp"===kt(I)||P.bDeferRender)&&Ct(I)}),"sc"),e=_.children("caption").each((function(){this._captionSide=t(this).css("caption-side")}));var n=_.children("thead");if(0===n.length&&(n=t("<thead/>").appendTo(_)),I.nTHead=n[0],0===(n=_.children("tbody")).length&&(n=t("<tbody/>").appendTo(_)),I.nTBody=n[0],0===(n=_.children("tfoot")).length&&0<e.length&&(""!==I.oScroll.sX||""!==I.oScroll.sY)&&(n=t("<tfoot/>").appendTo(_)),0===n.length||0===n.children().length?_.addClass(A.sNoFooter):0<n.length&&(I.nTFoot=n[0],E(I.aoFooter,I.nTFoot)),g.aaData)for(b=0;b<g.aaData.length;b++)D(I,g.aaData[b]);else(I.bDeferLoading||"dom"==kt(I))&&y(I,t(I.nTBody).children("tr"));I.aiDisplay=I.aiDisplayMaster.slice(),I.bInitialised=!0,!1===v&&rt(I)},g.bStateSave?(P.bStateSave=!0,Nt(I,"aoDrawCallback",It,"state_save"),At(I,g,p)):p()}})),n=null,this},Jt={},qt=/[\r\n\u2028]/g,Gt=/<.*?>/g,zt=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,Yt=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,Zt=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,Kt=function(t){return!t||!0===t||"-"===t},Qt=function(t){var e=parseInt(t,10);return!isNaN(e)&&isFinite(t)?e:null},te=function(t,e){return Jt[e]||(Jt[e]=new RegExp(fe(e),"g")),"string"==typeof t&&"."!==e?t.replace(/\./g,"").replace(Jt[e],"."):t},ee=function(t,e,n){var a="string"==typeof t;return!!Kt(t)||(e&&a&&(t=te(t,e)),n&&a&&(t=t.replace(Zt,"")),!isNaN(parseFloat(t))&&isFinite(t))},ne=function(t,e,n){return!!Kt(t)||((Kt(t)||"string"==typeof t)&&!!ee(t.replace(Gt,""),e,n)||null)},ae=function(t,e,n){var r=[],o=0,i=t.length;if(n!==a)for(;o<i;o++)t[o]&&t[o][e]&&r.push(t[o][e][n]);else for(;o<i;o++)t[o]&&r.push(t[o][e]);return r},re=function(t,e,n,r){var o=[],i=0,l=e.length;if(r!==a)for(;i<l;i++)t[e[i]][n]&&o.push(t[e[i]][n][r]);else for(;i<l;i++)o.push(t[e[i]][n]);return o},oe=function(t,e){var n=[];if(e===a){e=0;var r=t}else r=e,e=t;for(t=e;t<r;t++)n.push(t);return n},ie=function(t){for(var e=[],n=0,a=t.length;n<a;n++)t[n]&&e.push(t[n]);return e},le=function(t){t:{if(!(2>t.length))for(var e=t.slice().sort(),n=e[0],a=1,r=e.length;a<r;a++){if(e[a]===n){e=!1;break t}n=e[a]}e=!0}if(e)return t.slice();e=[],r=t.length;var o,i=0;a=0;t:for(;a<r;a++){for(n=t[a],o=0;o<i;o++)if(e[o]===n)continue t;e.push(n),i++}return e};$t.util={throttle:function(t,e){var n,r,o=e!==a?e:200;return function(){var e=this,i=+new Date,l=arguments;n&&i<n+o?(clearTimeout(r),r=setTimeout((function(){n=a,t.apply(e,l)}),o)):(n=i,t.apply(e,l))}},escapeRegex:function(t){return t.replace(Yt,"\\$1")}};var se=function(t,e,n){t[e]!==a&&(t[n]=t[e])},ue=/\[.*?\]$/,ce=/\(\)$/,fe=$t.util.escapeRegex,de=t("<div>")[0],he=de.textContent!==a,pe=/<.*?>/g,ge=$t.util.throttle,be=[],ve=Array.prototype,me=function(e,n){if(!(this instanceof me))return new me(e,n);var a=[],r=function(e){(e=function(e){var n,a=$t.settings,r=t.map(a,(function(t,e){return t.nTable}));if(!e)return[];if(e.nTable&&e.oApi)return[e];if(e.nodeName&&"table"===e.nodeName.toLowerCase()){var o=t.inArray(e,r);return-1!==o?[a[o]]:null}return e&&"function"==typeof e.settings?e.settings().toArray():("string"==typeof e?n=t(e):e instanceof t&&(n=e),n?n.map((function(e){return-1!==(o=t.inArray(this,r))?a[o]:null})).toArray():void 0)}(e))&&a.push.apply(a,e)};if(t.isArray(e))for(var o=0,i=e.length;o<i;o++)r(e[o]);else r(e);this.context=le(a),n&&t.merge(this,n),this.selector={rows:null,cols:null,opts:null},me.extend(this,this,be)};$t.Api=me,t.extend(me.prototype,{any:function(){return 0!==this.count()},concat:ve.concat,context:[],count:function(){return this.flatten().length},each:function(t){for(var e=0,n=this.length;e<n;e++)t.call(this,this[e],e,this);return this},eq:function(t){var e=this.context;return e.length>t?new me(e[t],this[t]):null},filter:function(t){var e=[];if(ve.filter)e=ve.filter.call(this,t,this);else for(var n=0,a=this.length;n<a;n++)t.call(this,this[n],n,this)&&e.push(this[n]);return new me(this.context,e)},flatten:function(){var t=[];return new me(this.context,t.concat.apply(t,t