/*
 * ATTENTION: An "eval-source-map" devtool has been used.
 * This devtool is neither made for production nor for readable output files.
 * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
 * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
 * or disable the default devtool with "devtool: false".
 * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
 */
/******/ (function() { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ "./libs/datatables-checkboxes-jquery/datatables.checkboxes.js":
/*!********************************************************************!*\
  !*** ./libs/datatables-checkboxes-jquery/datatables.checkboxes.js ***!
  \********************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var jquery_datatables_checkboxes_js_dataTables_checkboxes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery-datatables-checkboxes/js/dataTables.checkboxes */ "./node_modules/jquery-datatables-checkboxes/js/dataTables.checkboxes.js");
/* harmony import */ var jquery_datatables_checkboxes_js_dataTables_checkboxes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery_datatables_checkboxes_js_dataTables_checkboxes__WEBPACK_IMPORTED_MODULE_0__);


/***/ }),

/***/ "./node_modules/jquery-datatables-checkboxes/js/dataTables.checkboxes.js":
/*!*******************************************************************************!*\
  !*** ./node_modules/jquery-datatables-checkboxes/js/dataTables.checkboxes.js ***!
  \*******************************************************************************/
/***/ (function(module, exports, __webpack_require__) {

eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\r\n * jQuery DataTables Checkboxes (https://www.gyrocode.com/projects/jquery-datatables-checkboxes/)\r\n * Checkboxes extension for jQuery DataTables\r\n *\r\n * @version     1.2.13\r\n * @author      Gyrocode LLC (https://www.gyrocode.com)\r\n * @copyright   (c) Gyrocode LLC\r\n * @license     MIT\r\n */\r\n(function( factory ){\r\n/* eslint-disable */\r\n   if ( true ) {\r\n      // AMD\r\n      !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ \"jquery\"), __webpack_require__(/*! datatables.net */ \"datatables.net\")], __WEBPACK_AMD_DEFINE_RESULT__ = (function ( $ ) {\r\n         return factory( $, window, document );\r\n      }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n   }\r\n   else {}\r\n/* eslint-enable */\r\n}(function( $, window, document ) {\r\n   'use strict';\r\n   var DataTable = $.fn.dataTable;\r\n\r\n\r\n   /**\r\n   * Checkboxes is an extension for the jQuery DataTables library that provides\r\n   * universal solution for working with checkboxes in a table.\r\n   *\r\n   *  @class\r\n   *  @param {object} settings DataTables settings object for the host table\r\n   *  @requires jQuery 1.7+\r\n   *  @requires DataTables 1.10.8+\r\n   *\r\n   *  @example\r\n   *     $('#example').DataTable({\r\n   *        'columnDefs': [\r\n   *           {\r\n   *              'targets': 0,\r\n   *              'checkboxes': true\r\n   *           }\r\n   *        ]\r\n   *     });\r\n   */\r\n   var Checkboxes = function ( settings ) {\r\n      // Sanity check that we are using DataTables 1.10.8 or newer\r\n      if ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.8' ) ) {\r\n         throw 'DataTables Checkboxes requires DataTables 1.10.8 or newer';\r\n      }\r\n\r\n      this.s = {\r\n         dt: new DataTable.Api( settings ),\r\n         columns: [],\r\n         data: {},\r\n         dataDisabled: {},\r\n         ignoreSelect: false\r\n      };\r\n\r\n      // Get settings object\r\n      this.s.ctx = this.s.dt.settings()[0];\r\n\r\n      // Check if checkboxes have already been initialised on this table\r\n      if ( this.s.ctx.checkboxes ) {\r\n         return;\r\n      }\r\n\r\n      settings.checkboxes = this;\r\n\r\n      this._constructor();\r\n   };\r\n\r\n\r\n   Checkboxes.prototype = {\r\n      /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\r\n      * Constructor\r\n      */\r\n\r\n      /**\r\n      * Initialise the Checkboxes instance\r\n      *\r\n      * @private\r\n      */\r\n      _constructor: function ()\r\n      {\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n         var hasCheckboxes = false;\r\n         var hasCheckboxesSelectRow = false;\r\n\r\n         for(var i = 0; i < ctx.aoColumns.length; i++){\r\n            if (ctx.aoColumns[i].checkboxes){\r\n               var $colHeader = $(dt.column(i).header());\r\n\r\n               //\r\n               // INITIALIZATION\r\n               //\r\n\r\n               hasCheckboxes = true;\r\n\r\n               if(!$.isPlainObject(ctx.aoColumns[i].checkboxes)){\r\n                  ctx.aoColumns[i].checkboxes = {};\r\n               }\r\n\r\n               ctx.aoColumns[i].checkboxes = $.extend(\r\n                  {}, Checkboxes.defaults, ctx.aoColumns[i].checkboxes\r\n               );\r\n\r\n               //\r\n               // OPTIONS\r\n               //\r\n\r\n               var colOptions = {\r\n                  'searchable': false,\r\n                  'orderable': false\r\n               };\r\n\r\n               if(ctx.aoColumns[i].sClass === ''){\r\n                  colOptions['className'] = 'dt-checkboxes-cell';\r\n               } else {\r\n                  colOptions['className'] = ctx.aoColumns[i].sClass + ' dt-checkboxes-cell';\r\n               }\r\n\r\n               if(ctx.aoColumns[i].sWidthOrig === null){\r\n                  colOptions['width'] = '1%';\r\n               }\r\n\r\n               if(ctx.aoColumns[i].mRender === null){\r\n                  colOptions['render'] = function(){\r\n                     return '<input type=\"checkbox\" class=\"dt-checkboxes\" autocomplete=\"off\">';\r\n                  };\r\n               }\r\n\r\n               DataTable.ext.internal._fnColumnOptions(ctx, i, colOptions);\r\n\r\n\r\n               // WORKAROUND: Remove \"sorting\" class\r\n               $colHeader.removeClass('sorting');\r\n\r\n               // WORKAROUND: Detach all event handlers for this column\r\n               $colHeader.off('.dt');\r\n\r\n               // If table has data source other than Ajax\r\n               if(ctx.sAjaxSource === null){\r\n                  // WORKAROUND: Invalidate column data\r\n                  var cells = dt.cells('tr', i);\r\n                  cells.invalidate('data');\r\n\r\n                  // WORKAROUND: Add required class to existing cells\r\n                  $(cells.nodes()).addClass(colOptions['className']);\r\n               }\r\n\r\n\r\n               //\r\n               // DATA\r\n               //\r\n\r\n               // Initialize object holding data for selected checkboxes\r\n               self.s.data[i] = {};\r\n               self.s.dataDisabled[i] = {};\r\n\r\n               // Store column index for easy column selection later\r\n               self.s.columns.push(i);\r\n\r\n\r\n               //\r\n               // CLASSES\r\n               //\r\n\r\n               // If row selection is enabled for this column\r\n               if(ctx.aoColumns[i].checkboxes.selectRow){\r\n\r\n                  // If Select extension is enabled\r\n                  if(ctx._select){\r\n                     hasCheckboxesSelectRow = true;\r\n\r\n                  // Otherwise, if Select extension is not enabled\r\n                  } else {\r\n                     // Disable row selection for this column\r\n                     ctx.aoColumns[i].checkboxes.selectRow = false;\r\n                  }\r\n               }\r\n\r\n               // If \"Select all\" control is enabled\r\n               if(ctx.aoColumns[i].checkboxes.selectAll){\r\n                  // Save previous HTML content\r\n                  $colHeader.data('html', $colHeader.html());\r\n\r\n                  // If \"Select all\" control markup is provided\r\n                  if(ctx.aoColumns[i].checkboxes.selectAllRender !== null){\r\n                     var selectAllHtml = '';\r\n\r\n                     // If \"selectAllRender\" option is a function\r\n                     if($.isFunction(ctx.aoColumns[i].checkboxes.selectAllRender)){\r\n                        selectAllHtml = ctx.aoColumns[i].checkboxes.selectAllRender();\r\n\r\n                     // Otherwise, if \"selectAllRender\" option is a string\r\n                     } else if(typeof ctx.aoColumns[i].checkboxes.selectAllRender === 'string'){\r\n                        selectAllHtml = ctx.aoColumns[i].checkboxes.selectAllRender;\r\n                     }\r\n\r\n                     $colHeader\r\n                        .html(selectAllHtml)\r\n                        .addClass('dt-checkboxes-select-all')\r\n                        .attr('data-col', i);\r\n                  }\r\n               }\r\n            }\r\n         }\r\n\r\n         // If table has at least one checkbox column\r\n         if(hasCheckboxes){\r\n\r\n            // Load previous state\r\n            self.loadState();\r\n\r\n            //\r\n            // EVENT HANDLERS\r\n            //\r\n\r\n            var $table = $(dt.table().node());\r\n            var $tableBody = $(dt.table().body());\r\n            var $tableContainer = $(dt.table().container());\r\n\r\n            // If there is at least one column that has row selection enabled\r\n            if(hasCheckboxesSelectRow){\r\n               $table.addClass('dt-checkboxes-select');\r\n\r\n               // Handle event before row is selected/deselected\r\n               $table.on('user-select.dt.dtCheckboxes', function (e, dt, type, cell , originalEvent){\r\n                  self.onDataTablesUserSelect(e, dt, type, cell , originalEvent);\r\n               });\r\n\r\n               // Handle row select/deselect event\r\n               $table.on('select.dt.dtCheckboxes deselect.dt.dtCheckboxes', function(e, api, type, indexes){\r\n                  self.onDataTablesSelectDeselect(e, type, indexes);\r\n               });\r\n\r\n               // If displaying of Select extension information is enabled\r\n               if(ctx._select.info){\r\n                  // Disable Select extension information display\r\n                  dt.select.info(false);\r\n\r\n                  // Update the table information element with selected item summary\r\n                  //\r\n                  // NOTE: Needed to display correct count of selected rows\r\n                  // when using server-side processing mode\r\n                  $table.on('draw.dt.dtCheckboxes select.dt.dtCheckboxes deselect.dt.dtCheckboxes', function(){\r\n                     self.showInfoSelected();\r\n                  });\r\n               }\r\n            }\r\n\r\n            // Handle table draw event\r\n            $table.on('draw.dt.dtCheckboxes', function(e){\r\n               self.onDataTablesDraw(e);\r\n            });\r\n\r\n            // Handle checkbox click event\r\n            $tableBody.on('click.dtCheckboxes', 'input.dt-checkboxes', function(e){\r\n               self.onClick(e, this);\r\n            });\r\n\r\n            // Handle click on \"Select all\" control\r\n            $tableContainer.on('click.dtCheckboxes', 'thead th.dt-checkboxes-select-all input[type=\"checkbox\"]', function(e){\r\n               self.onClickSelectAll(e, this);\r\n            });\r\n\r\n            // Handle click on heading containing \"Select all\" control\r\n            $tableContainer.on('click.dtCheckboxes', 'thead th.dt-checkboxes-select-all', function() {\r\n               $('input[type=\"checkbox\"]', this).not(':disabled').trigger('click');\r\n            });\r\n\r\n            // If row selection is disabled\r\n            if(!hasCheckboxesSelectRow){\r\n               // Handle click on cell containing checkbox\r\n               $tableContainer.on('click.dtCheckboxes', 'tbody td.dt-checkboxes-cell', function() {\r\n                  $('input[type=\"checkbox\"]', this).not(':disabled').trigger('click');\r\n               });\r\n            }\r\n\r\n            // Handle click on label node in heading containing \"Select all\" control\r\n            // and in cell containing checkbox\r\n            $tableContainer.on('click.dtCheckboxes', 'thead th.dt-checkboxes-select-all label, tbody td.dt-checkboxes-cell label', function(e) {\r\n               // Prevent default behavior\r\n               e.preventDefault();\r\n            });\r\n\r\n            // Handle click on \"Select all\" control in floating fixed header\r\n            $(document).on('click.dtCheckboxes', '.fixedHeader-floating thead th.dt-checkboxes-select-all input[type=\"checkbox\"]', function(e){\r\n               // If FixedHeader is enabled in this instance\r\n               if(ctx._fixedHeader){\r\n                  // If header is floating in this instance\r\n                  if(ctx._fixedHeader.dom['header'].floating){\r\n                     self.onClickSelectAll(e, this);\r\n                  }\r\n               }\r\n            });\r\n\r\n            // Handle click on heading containing \"Select all\" control in floating fixed header\r\n            $(document).on('click.dtCheckboxes', '.fixedHeader-floating thead th.dt-checkboxes-select-all', function() {\r\n               // If FixedHeader is enabled in this instance\r\n               if(ctx._fixedHeader){\r\n                  // If header is floating in this instance\r\n                  if(ctx._fixedHeader.dom['header'].floating){\r\n                     $('input[type=\"checkbox\"]', this).trigger('click');\r\n                  }\r\n               }\r\n            });\r\n\r\n            // Handle table initialization event\r\n            $table.on('init.dt.dtCheckboxes', function(){\r\n               // Use delay to handle initialization event\r\n               // because certain extensions (FixedColumns) are initialized\r\n               // only when initialization event is triggered.\r\n               setTimeout(function(){\r\n                   self.onDataTablesInit();\r\n               }, 0);\r\n            });\r\n\r\n            // Handle state saving event\r\n            $table.on('stateSaveParams.dt.dtCheckboxes', function (e, settings, data) {\r\n               self.onDataTablesStateSave(e, settings, data);\r\n            });\r\n\r\n            // Handle table destroy event\r\n            $table.one('destroy.dt.dtCheckboxes', function(e, settings){\r\n               self.onDataTablesDestroy(e, settings);\r\n            });\r\n         }\r\n      },\r\n\r\n      // Handles DataTables initialization event\r\n      onDataTablesInit: function(){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If server-side processing mode is not enabled\r\n         // NOTE: Needed to avoid duplicate call to updateStateCheckboxes() in onDataTablesDraw()\r\n         if(!ctx.oFeatures.bServerSide){\r\n\r\n            // If state saving is enabled\r\n            if(ctx.oFeatures.bStateSave){\r\n               self.updateState();\r\n            }\r\n\r\n            // Handle Ajax request completion event\r\n            // NOTE: Needed to update table state\r\n            // if table is reloaded via ajax.reload() API method\r\n            $(dt.table().node()).on('xhr.dt.dtCheckboxes', function ( e, settings , json, xhr ) {\r\n               self.onDataTablesXhr(e. settings, json, xhr);\r\n            });\r\n         }\r\n      },\r\n\r\n      // Handles DataTables user initiated select event\r\n      onDataTablesUserSelect: function ( e, dt, type, cell /*, originalEvent*/ ){\r\n         var self = this;\r\n\r\n         var cellIdx = cell.index();\r\n         var rowIdx = cellIdx.row;\r\n         var colIdx = self.getSelectRowColIndex();\r\n         var cellData = dt.cell({ row: rowIdx, column: colIdx }).data();\r\n\r\n         // If checkbox in the cell cannot be checked\r\n         if(!self.isCellSelectable(colIdx, cellData)){\r\n            // Prevent row selection\r\n            e.preventDefault();\r\n         }\r\n      },\r\n\r\n      // Handles DataTables row select/deselect event\r\n      onDataTablesSelectDeselect: function(e, type, indexes){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n\r\n         if(self.s.ignoreSelect){ return; }\r\n\r\n         if(type === 'row'){\r\n            // Get index of the first column that has checkbox and row selection enabled\r\n            var colIdx = self.getSelectRowColIndex();\r\n            if(colIdx !== null){\r\n               var cells = dt.cells(indexes, colIdx);\r\n\r\n               self.updateData(cells, colIdx, (e.type === 'select') ? true : false);\r\n               self.updateCheckbox(cells, colIdx, (e.type === 'select') ? true : false);\r\n               self.updateSelectAll(colIdx);\r\n            }\r\n         }\r\n      },\r\n\r\n      // Handles DataTables state save event\r\n      onDataTablesStateSave: function (e, settings, data) {\r\n         var self = this;\r\n         var ctx = self.s.ctx;\r\n\r\n         // For every column where checkboxes are enabled\r\n         $.each(self.s.columns, function(index, colIdx){\r\n            // If checkbox state saving is enabled\r\n            if(ctx.aoColumns[colIdx].checkboxes.stateSave){\r\n               // If checkboxes state hasn't been saved before\r\n               if(!Object.prototype.hasOwnProperty.call(data, 'checkboxes')){\r\n                  // Initialize array to save checkboxes state for each column\r\n                  data.checkboxes = [];\r\n               }\r\n\r\n               // Save checkboxes state\r\n               data.checkboxes[colIdx] = self.s.data[colIdx];\r\n            }\r\n         });\r\n      },\r\n\r\n      // Handles DataTables destroy event\r\n      onDataTablesDestroy: function(){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n\r\n         // Get table elements\r\n         var $table = $(dt.table().node());\r\n         var $tableBody = $(dt.table().body());\r\n         var $tableContainer = $(dt.table().container());\r\n\r\n         // Detach event handlers\r\n         $(document).off('click.dtCheckboxes');\r\n         $tableContainer.off('.dtCheckboxes');\r\n         $tableBody.off('.dtCheckboxes');\r\n         $table.off('.dtCheckboxes');\r\n\r\n         // Clear data\r\n         //\r\n         // NOTE: Needed only to reduce memory footprint\r\n         // in case user saves instance of DataTable object.\r\n         self.s.data = {};\r\n         self.s.dataDisabled = {};\r\n\r\n         // Remove added elements\r\n         $('.dt-checkboxes-select-all', $table).each(function(index, el){\r\n            $(el)\r\n               .html($(el).data('html'))\r\n               .removeClass('dt-checkboxes-select-all');\r\n         });\r\n      },\r\n\r\n      // Handles DataTables draw event\r\n      onDataTablesDraw: function(){\r\n         var self = this;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If server-side processing is enabled\r\n         // or deferred render is enabled\r\n         //\r\n         // TODO: it's not optimal to update state of checkboxes\r\n         // for already created rows in deferred rendering mode\r\n         if(ctx.oFeatures.bServerSide || ctx.oFeatures.bDeferRender){\r\n            self.updateStateCheckboxes({ page: 'current', search: 'none' });\r\n         }\r\n\r\n         $.each(self.s.columns, function(index, colIdx){\r\n            self.updateSelectAll(colIdx);\r\n         });\r\n      },\r\n\r\n      // Handles DataTables Ajax request completion event\r\n      onDataTablesXhr: function( /* e, settings , json, xhr */ ){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // Get table elements\r\n         var $table = $(dt.table().node());\r\n\r\n         // For every column where checkboxes are enabled\r\n         $.each(self.s.columns, function(index, colIdx){\r\n            // Reset data\r\n            self.s.data[colIdx] = {};\r\n            self.s.dataDisabled[colIdx] = {};\r\n         });\r\n\r\n         // If state saving is enabled\r\n         if(ctx.oFeatures.bStateSave){\r\n            // Load previous state\r\n            self.loadState();\r\n\r\n            // Update table state on next redraw\r\n            $table.one('draw.dt.dtCheckboxes', function(){\r\n               self.updateState();\r\n            });\r\n         }\r\n      },\r\n\r\n      // Updates array holding data for selected checkboxes\r\n      updateData: function(cells, colIdx, isSelected){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            var cellsData = cells.data();\r\n            cellsData.each(function(cellData){\r\n               // If checkbox is checked\r\n               if(isSelected){\r\n                  ctx.checkboxes.s.data[colIdx][cellData] = 1;\r\n\r\n               // Otherwise, if checkbox is not checked\r\n               } else {\r\n                  delete ctx.checkboxes.s.data[colIdx][cellData];\r\n               }\r\n            });\r\n\r\n            // If state saving is enabled\r\n            if(ctx.oFeatures.bStateSave){\r\n               // If checkbox state saving is enabled\r\n               if(ctx.aoColumns[colIdx].checkboxes.stateSave){\r\n                  // Save state\r\n                  dt.state.save();\r\n               }\r\n            }\r\n         }\r\n      },\r\n\r\n      // Updates row selection\r\n      updateSelect: function(selector, isSelected){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If Select extension is enabled\r\n         if(ctx._select){\r\n            // Disable select event hanlder temporarily\r\n            self.s.ignoreSelect = true;\r\n\r\n            if(isSelected){\r\n               dt.rows(selector).select();\r\n            } else {\r\n               dt.rows(selector).deselect();\r\n            }\r\n\r\n            // Re-enable select event handler\r\n            self.s.ignoreSelect = false;\r\n         }\r\n      },\r\n\r\n      // Updates state of single checkbox\r\n      updateCheckbox: function(cells, colIdx, isSelected){\r\n         var self = this;\r\n         var ctx = self.s.ctx;\r\n\r\n         var cellNodes = cells.nodes();\r\n         if(cellNodes.length){\r\n            $('input.dt-checkboxes', cellNodes).not(':disabled').prop('checked', isSelected);\r\n\r\n            // If selectCallback is a function\r\n            if($.isFunction(ctx.aoColumns[colIdx].checkboxes.selectCallback)){\r\n               ctx.aoColumns[colIdx].checkboxes.selectCallback(cellNodes, isSelected);\r\n            }\r\n         }\r\n      },\r\n\r\n      // Update table state\r\n      updateState: function(){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         self.updateStateCheckboxes({ page: 'all', search: 'none' });\r\n\r\n         // If FixedColumns extension is enabled\r\n         if(ctx._oFixedColumns){\r\n            // Use delay to let FixedColumns construct the header\r\n            // before we update the \"Select all\" checkbox\r\n            setTimeout(function(){\r\n               // For every column where checkboxes are enabled\r\n               $.each(self.s.columns, function(index, colIdx){\r\n                  self.updateSelectAll(colIdx);\r\n               });\r\n            }, 0);\r\n         }\r\n      },\r\n\r\n      // Updates state of multiple checkboxes\r\n      updateStateCheckboxes: function(opts){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // Enumerate all cells\r\n         dt.cells('tr', self.s.columns, opts).every(function(rowIdx, colIdx){\r\n            // Get cell data\r\n            var cellData = this.data();\r\n\r\n            // Determine if checkbox in the cell can be selected\r\n            var isCellSelectable = self.isCellSelectable(colIdx, cellData);\r\n\r\n            // If checkbox is checked\r\n            if(\r\n               Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data, colIdx)\r\n               && Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data[colIdx], cellData)\r\n            ) {\r\n               // If row selection is enabled\r\n               // and checkbox can be checked\r\n               if(ctx.aoColumns[colIdx].checkboxes.selectRow && isCellSelectable){\r\n                  self.updateSelect(rowIdx, true);\r\n               }\r\n\r\n               self.updateCheckbox(this, colIdx, true);\r\n            }\r\n\r\n            // If checkbox is disabled\r\n            if(!isCellSelectable){\r\n               $('input.dt-checkboxes', this.node()).prop('disabled', true);\r\n            }\r\n         });\r\n      },\r\n\r\n      // Handles checkbox click event\r\n      onClick: function(e, ctrl){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         var cellSelector;\r\n\r\n         // Get cell\r\n         var $cell = $(ctrl).closest('td');\r\n\r\n         // If cell is in a fixed column using FixedColumns extension\r\n         if($cell.parents('.DTFC_Cloned').length){\r\n            cellSelector = dt.fixedColumns().cellIndex($cell);\r\n\r\n         } else {\r\n            cellSelector = $cell;\r\n         }\r\n\r\n         var cell    = dt.cell(cellSelector);\r\n         var cellIdx = cell.index();\r\n         var colIdx  = cellIdx.column;\r\n         var rowIdx  = cellIdx.row;\r\n\r\n         // If row selection is not enabled\r\n         // NOTE: if row selection is enabled, checkbox selection/deselection\r\n         // would be handled by onDataTablesSelectDeselect event handler instead\r\n         if(!ctx.aoColumns[colIdx].checkboxes.selectRow){\r\n            cell.checkboxes.select(ctrl.checked);\r\n\r\n            // Prevent click event from propagating to parent\r\n            e.stopPropagation();\r\n\r\n         } else {\r\n\r\n            // If Select extension is enabled\r\n            if(ctx._select){\r\n               // If style is set to \"os\"\r\n               if(ctx._select.style === 'os'){\r\n\r\n                  // WORKAROUND:\r\n                  // See https://github.com/gyrocode/jquery-datatables-checkboxes/issues/128\r\n\r\n                  // Prevent click event from propagating to parent\r\n                  e.stopPropagation();\r\n\r\n                  // Select/deselect individual row\r\n                  cell.checkboxes.select(ctrl.checked);\r\n\r\n               // Otherwise, if style is set to other than \"os\"\r\n               } else {\r\n                  // WORKAROUND:\r\n                  // Select extension may keep the row selected\r\n                  // when checkbox is unchecked with SHIFT key.\r\n                  //\r\n                  // We need to update the state of the checkbox AFTER handling\r\n                  // select/deselect event from Select extension.\r\n                  //\r\n                  // Call to setTimeout is needed to let select/deselect event handler\r\n                  // update the data first.\r\n                  setTimeout(function(){\r\n                     // Get cell data\r\n                     var cellData = cell.data();\r\n\r\n                     // Determine whether data is in the list\r\n                     var hasData = (\r\n                        Object.prototype.hasOwnProperty.call(self.s.data, colIdx)\r\n                        && Object.prototype.hasOwnProperty.call(self.s.data[colIdx], cellData)\r\n                     );\r\n\r\n                     // If state of the checkbox needs to be updated\r\n                     if(hasData !== ctrl.checked){\r\n                        self.updateCheckbox(cell, colIdx, hasData);\r\n                        self.updateSelectAll(colIdx);\r\n                     }\r\n                  }, 0);\r\n               }\r\n            }\r\n         }\r\n      },\r\n\r\n      // Handles checkbox click event\r\n      onClickSelectAll: function(e, ctrl){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // Calculate column index\r\n         var colIdx = null;\r\n         var $th = $(ctrl).closest('th');\r\n\r\n         // If column is fixed using FixedColumns extension\r\n         if($th.parents('.DTFC_Cloned').length){\r\n            var cellIdx = dt.fixedColumns().cellIndex($th);\r\n            colIdx = cellIdx.column;\r\n         } else {\r\n            colIdx = dt.column($th).index();\r\n         }\r\n\r\n         // Indicate that state of \"Select all\" control has been changed\r\n         $(ctrl).data('is-changed', true);\r\n\r\n         dt.column(colIdx, {\r\n            page: (\r\n               (ctx.aoColumns[colIdx].checkboxes && ctx.aoColumns[colIdx].checkboxes.selectAllPages)\r\n                  ? 'all'\r\n                  : 'current'\r\n            ),\r\n            search: 'applied'\r\n         }).checkboxes.select(ctrl.checked);\r\n\r\n         // Prevent click event from propagating to parent\r\n         e.stopPropagation();\r\n      },\r\n\r\n      // Loads previosly saved sate\r\n      loadState: function () {\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If state saving is enabled\r\n         if(ctx.oFeatures.bStateSave){\r\n            // Retrieve stored state\r\n            var state = dt.state.loaded();\r\n\r\n            // For every column where checkboxes are enabled\r\n            $.each(self.s.columns, function(index, colIdx){\r\n               // If state is loaded and contains data for this column\r\n               if(state && state.checkboxes && state.checkboxes.hasOwnProperty(colIdx)){\r\n                  // If checkbox state saving is enabled\r\n                  if(ctx.aoColumns[colIdx].checkboxes.stateSave){\r\n                     // Load previous state\r\n                     self.s.data[colIdx] = state.checkboxes[colIdx];\r\n                  }\r\n               }\r\n            });\r\n         }\r\n      },\r\n\r\n      // Updates state of the \"Select all\" controls\r\n      updateSelectAll: function(colIdx){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If Checkboxes extension is enabled for this column\r\n         // and \"Select all\" control is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes && ctx.aoColumns[colIdx].checkboxes.selectAll){\r\n            var cells = dt.cells('tr', colIdx, {\r\n               page: (\r\n                  (ctx.aoColumns[colIdx].checkboxes.selectAllPages)\r\n                     ? 'all'\r\n                     : 'current'\r\n               ),\r\n               search: 'applied'\r\n            });\r\n\r\n            var $tableContainer = dt.table().container();\r\n            var $checkboxesSelectAll = $('.dt-checkboxes-select-all[data-col=\"' + colIdx + '\"] input[type=\"checkbox\"]', $tableContainer);\r\n\r\n            var countChecked = 0;\r\n            var countDisabled = 0;\r\n            var cellsData = cells.data();\r\n            $.each(cellsData, function(index, cellData){\r\n               // If checkbox is not disabled\r\n               if(self.isCellSelectable(colIdx, cellData)){\r\n                  if(\r\n                     Object.prototype.hasOwnProperty.call(self.s.data, colIdx)\r\n                     && Object.prototype.hasOwnProperty.call(self.s.data[colIdx], cellData)\r\n                  ) {\r\n                     countChecked++;\r\n                  }\r\n\r\n               // Otherwise, if checkbox is disabled\r\n               } else {\r\n                  countDisabled++;\r\n               }\r\n            });\r\n\r\n            // If FixedHeader is enabled in this instance\r\n            if(ctx._fixedHeader){\r\n               // If header is floating in this instance\r\n               if(ctx._fixedHeader.dom['header'].floating){\r\n                  $checkboxesSelectAll = $('.fixedHeader-floating .dt-checkboxes-select-all[data-col=\"' + colIdx + '\"] input[type=\"checkbox\"]');\r\n               }\r\n            }\r\n\r\n            var isSelected;\r\n            var isIndeterminate;\r\n\r\n            // If none of the checkboxes are checked\r\n            if (countChecked === 0){\r\n               isSelected      = false;\r\n               isIndeterminate = false;\r\n\r\n            // If all of the checkboxes are checked\r\n            } else if ((countChecked + countDisabled) === cellsData.length){\r\n               isSelected      = true;\r\n               isIndeterminate = false;\r\n\r\n            // If some of the checkboxes are checked\r\n            } else {\r\n               isSelected      = true;\r\n               isIndeterminate = true;\r\n            }\r\n\r\n            var isChanged          = $checkboxesSelectAll.data('is-changed');\r\n            var isSelectedNow      = $checkboxesSelectAll.prop('checked');\r\n            var isIndeterminateNow = $checkboxesSelectAll.prop('indeterminate');\r\n\r\n            // If state of \"Select all\" control has been changed\r\n            if(isChanged || isSelectedNow !== isSelected || isIndeterminateNow !== isIndeterminate){\r\n               // Reset \"Select all\" control state flag\r\n               $checkboxesSelectAll.data('is-changed', false);\r\n\r\n               $checkboxesSelectAll.prop({\r\n                  // NOTE: If checkbox has indeterminate state,\r\n                  // \"checked\" property must be set to false.\r\n                  'checked': isIndeterminate ? false : isSelected,\r\n                  'indeterminate': isIndeterminate\r\n               });\r\n\r\n               // If selectAllCallback is a function\r\n               if($.isFunction(ctx.aoColumns[colIdx].checkboxes.selectAllCallback)){\r\n                  ctx.aoColumns[colIdx].checkboxes.selectAllCallback($checkboxesSelectAll.closest('th').get(0), isSelected, isIndeterminate);\r\n               }\r\n            }\r\n         }\r\n      },\r\n\r\n      // Updates the information element of the DataTable showing information about the\r\n      // items selected. Based on info() method of Select extension.\r\n      showInfoSelected: function(){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         if ( ! ctx.aanFeatures.i ) {\r\n            return;\r\n         }\r\n\r\n         // Get index of the first column that has checkbox and row selection enabled\r\n         var colIdx = self.getSelectRowColIndex();\r\n\r\n         // If there is a column that has checkbox and row selection enabled\r\n         if(colIdx !== null){\r\n            // Count number of selected rows\r\n            var countRows = 0;\r\n            for (var cellData in ctx.checkboxes.s.data[colIdx]){\r\n               if(\r\n                  Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data, colIdx)\r\n                  && Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data[colIdx], cellData)\r\n               ) {\r\n                  countRows++;\r\n               }\r\n            }\r\n\r\n            var add = function($el, name, num){\r\n               $el.append( $('<span class=\"select-item\"/>').append( dt.i18n(\r\n                  'select.'+name+'s',\r\n                  { _: '%d '+name+'s selected', 0: '', 1: '1 '+name+' selected' },\r\n                  num\r\n               ) ) );\r\n            };\r\n\r\n            // Internal knowledge of DataTables to loop over all information elements\r\n            $.each( ctx.aanFeatures.i, function ( i, el ) {\r\n               var $el = $(el);\r\n\r\n               var $output  = $('<span class=\"select-info\"/>');\r\n               add($output, 'row', countRows);\r\n\r\n               var $existing = $el.children('span.select-info');\r\n               if($existing.length){\r\n                  $existing.remove();\r\n               }\r\n\r\n               if($output.text() !== ''){\r\n                  $el.append($output);\r\n               }\r\n            });\r\n         }\r\n      },\r\n\r\n      // Determines whether checkbox in the cell can be checked\r\n      isCellSelectable: function(colIdx, cellData){\r\n         var self = this;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If data is in the list of disabled elements\r\n         if(\r\n            Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.dataDisabled, colIdx)\r\n            && Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.dataDisabled[colIdx], cellData)\r\n         ) {\r\n            return false;\r\n\r\n         // Otherwise, if checkbox can be selected\r\n         } else {\r\n            return true;\r\n         }\r\n      },\r\n\r\n      // Gets cell index\r\n      getCellIndex: function(cell){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If FixedColumns extension is available\r\n         if(ctx._oFixedColumns){\r\n            return dt.fixedColumns().cellIndex(cell);\r\n\r\n         } else {\r\n            return dt.cell(cell).index();\r\n         }\r\n      },\r\n\r\n      // Gets index of the first column that has checkbox and row selection enabled\r\n      getSelectRowColIndex: function(){\r\n         var self = this;\r\n         var ctx = self.s.ctx;\r\n\r\n         var colIdx = null;\r\n\r\n         for(var i = 0; i < ctx.aoColumns.length; i++){\r\n            // If Checkboxes extension is enabled\r\n            // and row selection is enabled for this column\r\n            if(ctx.aoColumns[i].checkboxes && ctx.aoColumns[i].checkboxes.selectRow){\r\n               colIdx = i;\r\n               break;\r\n            }\r\n         }\r\n\r\n         return colIdx;\r\n      },\r\n\r\n      // Updates fixed column if FixedColumns extension is enabled\r\n      // and given column is inside a fixed column\r\n      updateFixedColumn: function(colIdx){\r\n         var self = this;\r\n         var dt = self.s.dt;\r\n         var ctx = self.s.ctx;\r\n\r\n         // If FixedColumns extension is enabled\r\n         if(ctx._oFixedColumns){\r\n            var leftCols = ctx._oFixedColumns.s.iLeftColumns;\r\n            var rightCols = ctx.aoColumns.length - ctx._oFixedColumns.s.iRightColumns - 1;\r\n\r\n            if (colIdx < leftCols || colIdx > rightCols){\r\n               // Update the data shown in the fixed column\r\n               dt.fixedColumns().update();\r\n\r\n               // Use delay to let FixedColumns construct the header\r\n               // before we update the \"Select all\" checkbox\r\n               setTimeout(function(){\r\n                  // For every column where checkboxes are enabled\r\n                  $.each(self.s.columns, function(index, colIdx){\r\n                     self.updateSelectAll(colIdx);\r\n                  });\r\n               }, 0);\r\n            }\r\n         }\r\n      }\r\n   };\r\n\r\n\r\n   /**\r\n   * Checkboxes default settings for initialisation\r\n   *\r\n   * @namespace\r\n   * @name Checkboxes.defaults\r\n   * @static\r\n   */\r\n   Checkboxes.defaults = {\r\n      /**\r\n      * Enable / disable checkbox state loading/saving if state saving is enabled globally\r\n      *\r\n      * @type {Boolean}\r\n      * @default `true`\r\n      */\r\n      stateSave: true,\r\n\r\n      /**\r\n      * Enable / disable row selection\r\n      *\r\n      * @type {Boolean}\r\n      * @default `false`\r\n      */\r\n      selectRow: false,\r\n\r\n      /**\r\n      * Enable / disable \"select all\" control in the header\r\n      *\r\n      * @type {Boolean}\r\n      * @default `true`\r\n      */\r\n      selectAll: true,\r\n\r\n      /**\r\n      * Enable / disable ability to select checkboxes from all pages\r\n      *\r\n      * @type {Boolean}\r\n      * @default `true`\r\n      */\r\n      selectAllPages: true,\r\n\r\n      /**\r\n      * Checkbox select/deselect callback\r\n      *\r\n      * @type {Function}\r\n      * @default  `null`\r\n      */\r\n      selectCallback: null,\r\n\r\n      /**\r\n      * \"Select all\" control select/deselect callback\r\n      *\r\n      * @type {Function}\r\n      * @default  `null`\r\n      */\r\n      selectAllCallback: null,\r\n\r\n      /**\r\n      * \"Select all\" control markup\r\n      *\r\n      * @type {mixed}\r\n      * @default `<input type=\"checkbox\">`\r\n      */\r\n      selectAllRender: '<input type=\"checkbox\" autocomplete=\"off\">'\r\n   };\r\n\r\n\r\n   /*\r\n   * API\r\n   */\r\n   var Api = $.fn.dataTable.Api;\r\n\r\n   // Doesn't do anything - work around for a bug in DT... Not documented\r\n   Api.register( 'checkboxes()', function () {\r\n      return this;\r\n   } );\r\n\r\n   Api.registerPlural( 'columns().checkboxes.select()', 'column().checkboxes.select()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n\r\n      return this.iterator( 'column-rows', function ( ctx, colIdx, i, j, rowsIdx ) {\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            // Prepare a list of all cells\r\n            var selector = [];\r\n            $.each(rowsIdx, function(index, rowIdx){\r\n               selector.push({ row: rowIdx, column: colIdx });\r\n            });\r\n\r\n            var cells = this.cells(selector);\r\n            var cellsData = cells.data();\r\n\r\n            // Prepare a list of cells that contain checkboxes that can be selected\r\n            var rowsSelectableIdx = [];\r\n            selector = [];\r\n            $.each(cellsData, function(index, cellData){\r\n               // If checkbox in the cell can be selected\r\n               if(ctx.checkboxes.isCellSelectable(colIdx, cellData)){\r\n                  selector.push({ row: rowsIdx[index], column: colIdx });\r\n                  rowsSelectableIdx.push(rowsIdx[index]);\r\n               }\r\n            });\r\n\r\n            cells = this.cells(selector);\r\n\r\n            ctx.checkboxes.updateData(cells, colIdx, state);\r\n\r\n            // If row selection is enabled\r\n            if(ctx.aoColumns[colIdx].checkboxes.selectRow){\r\n               ctx.checkboxes.updateSelect(rowsSelectableIdx, state);\r\n            }\r\n\r\n            ctx.checkboxes.updateCheckbox(cells, colIdx, state);\r\n\r\n            ctx.checkboxes.updateSelectAll(colIdx);\r\n\r\n            ctx.checkboxes.updateFixedColumn(colIdx);\r\n         }\r\n      }, 1 );\r\n   } );\r\n\r\n   Api.registerPlural( 'cells().checkboxes.select()', 'cell().checkboxes.select()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n\r\n      return this.iterator( 'cell', function ( ctx, rowIdx, colIdx ) {\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            var cells = this.cells([{ row: rowIdx, column: colIdx }]);\r\n            var cellData = this.cell({ row: rowIdx, column: colIdx }).data();\r\n\r\n            // If checkbox in the cell can be selected\r\n            if(ctx.checkboxes.isCellSelectable(colIdx, cellData)){\r\n               ctx.checkboxes.updateData(cells, colIdx, state);\r\n\r\n               // If row selection is enabled\r\n               if(ctx.aoColumns[colIdx].checkboxes.selectRow){\r\n                  ctx.checkboxes.updateSelect(rowIdx, state);\r\n               }\r\n\r\n               ctx.checkboxes.updateCheckbox(cells, colIdx, state);\r\n\r\n               ctx.checkboxes.updateSelectAll(colIdx);\r\n\r\n               ctx.checkboxes.updateFixedColumn(colIdx);\r\n            }\r\n         }\r\n      }, 1 );\r\n   } );\r\n\r\n   Api.registerPlural( 'cells().checkboxes.enable()', 'cell().checkboxes.enable()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n\r\n      return this.iterator( 'cell', function ( ctx, rowIdx, colIdx ) {\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            var cell = this.cell({ row: rowIdx, column: colIdx });\r\n\r\n            // Get cell data\r\n            var cellData = cell.data();\r\n\r\n            // If checkbox should be enabled\r\n            if(state){\r\n               delete ctx.checkboxes.s.dataDisabled[colIdx][cellData];\r\n\r\n            // Otherwise, if checkbox should be disabled\r\n            } else {\r\n               ctx.checkboxes.s.dataDisabled[colIdx][cellData] = 1;\r\n            }\r\n\r\n            // Determine if cell node is available\r\n            // (deferRender is not enabled or cell has been already created)\r\n            var cellNode = cell.node();\r\n            if(cellNode){\r\n               $('input.dt-checkboxes', cellNode).prop('disabled', !state);\r\n            }\r\n\r\n            // If row selection is enabled\r\n            // and checkbox can be checked\r\n            if(ctx.aoColumns[colIdx].checkboxes.selectRow){\r\n               // If data is in the list\r\n               if(\r\n                  Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data, colIdx)\r\n                  && Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data[colIdx], cellData)\r\n               ) {\r\n                  // Update selection based on current state:\r\n                  // if checkbox is enabled then select row;\r\n                  // otherwise, deselect row\r\n                  ctx.checkboxes.updateSelect(rowIdx, state);\r\n               }\r\n            }\r\n         }\r\n      }, 1 );\r\n   } );\r\n\r\n   Api.registerPlural( 'cells().checkboxes.disable()', 'cell().checkboxes.disable()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n      return this.checkboxes.enable(!state);\r\n   } );\r\n\r\n   Api.registerPlural( 'columns().checkboxes.deselect()', 'column().checkboxes.deselect()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n      return this.checkboxes.select(!state);\r\n   } );\r\n\r\n   Api.registerPlural( 'cells().checkboxes.deselect()', 'cell().checkboxes.deselect()', function ( state ) {\r\n      if(typeof state === 'undefined'){ state = true; }\r\n      return this.checkboxes.select(!state);\r\n   } );\r\n\r\n   Api.registerPlural( 'columns().checkboxes.deselectAll()', 'column().checkboxes.deselectAll()', function () {\r\n      return this.iterator( 'column', function (ctx, colIdx){\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            ctx.checkboxes.s.data[colIdx] = {};\r\n\r\n            this.column(colIdx).checkboxes.select(false);\r\n         }\r\n      }, 1 );\r\n   } );\r\n\r\n   Api.registerPlural( 'columns().checkboxes.selected()', 'column().checkboxes.selected()', function () {\r\n      return this.iterator( 'column-rows', function ( ctx, colIdx, i, j, rowsIdx ) {\r\n\r\n         // If Checkboxes extension is enabled for this column\r\n         if(ctx.aoColumns[colIdx].checkboxes){\r\n            var data = [];\r\n\r\n            // If server-side processing mode is enabled\r\n            if(ctx.oFeatures.bServerSide){\r\n               $.each(ctx.checkboxes.s.data[colIdx], function(cellData){\r\n                  // If checkbox in the cell can be checked\r\n                  if(ctx.checkboxes.isCellSelectable(colIdx, cellData)){\r\n                     data.push(cellData);\r\n                  }\r\n               });\r\n\r\n            // Otherwise, if server-side processing mode is not enabled\r\n            } else {\r\n               // Prepare a list of all cells\r\n               var selector = [];\r\n               $.each(rowsIdx, function(index, rowIdx){\r\n                  selector.push({ row: rowIdx, column: colIdx });\r\n               });\r\n\r\n               // Get all cells data\r\n               var cells = this.cells(selector);\r\n               var cellsData = cells.data();\r\n\r\n               // Enumerate all cells data\r\n               $.each(cellsData, function(index, cellData){\r\n                  // If checkbox is checked\r\n                  if(\r\n                     Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data, colIdx)\r\n                     && Object.prototype.hasOwnProperty.call(ctx.checkboxes.s.data[colIdx], cellData)\r\n                  ) {\r\n                     // If checkbox in the cell can be selected\r\n                     if(ctx.checkboxes.isCellSelectable(colIdx, cellData)){\r\n                        data.push(cellData);\r\n                     }\r\n                  }\r\n               });\r\n            }\r\n\r\n            return data;\r\n\r\n         } else {\r\n            return [];\r\n         }\r\n      }, 1 );\r\n   } );\r\n\r\n\r\n   /**\r\n    * Version information\r\n    *\r\n    * @name Checkboxes.version\r\n    * @static\r\n    */\r\n   Checkboxes.version = '1.2.13';\r\n\r\n\r\n\r\n   $.fn.DataTable.Checkboxes = Checkboxes;\r\n   $.fn.dataTable.Checkboxes = Checkboxes;\r\n\r\n\r\n   // Attach a listener to the document which listens for DataTables initialisation\r\n   // events so we can automatically initialise\r\n   $(document).on( 'preInit.dt.dtCheckboxes', function (e, settings /*, json */ ) {\r\n      if ( e.namespace !== 'dt' ) {\r\n         return;\r\n      }\r\n\r\n      new Checkboxes( settings );\r\n   } );\r\n\r\n\r\n   return Checkboxes;\r\n}));\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,[encoded data, 74812 characters]\n//# sourceURL=webpack-internal:///./node_modules/jquery-datatables-checkboxes/js/dataTables.checkboxes.js\n");

/***/ }),

/***/ "datatables.net":
/*!*********************************!*\
  !*** external "$.fn.dataTable" ***!
  \*********************************/
/***/ (function(module) {

"use strict";
module.exports = window["$.fn.dataTable"];

/***/ }),

/***/ "jquery":
/*!*************************!*\
  !*** external "jQuery" ***!
  \*************************/
/***/ (function(module) {

"use strict";
module.exports = window["jQuery"];

/***/ })

/******/ 	});
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
/******/ 		if (cachedModule !== undefined) {
/******/ 			return cachedModule.exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			// no module.id needed
/******/ 			// no module.loaded needed
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/compat get default export */
/******/ 	!function() {
/******/ 		// getDefaultExport function for compatibility with non-harmony modules
/******/ 		__webpack_require__.n = function(module) {
/******/ 			var getter = module && module.__esModule ?
/******/ 				function() { return module['default']; } :
/******/ 				function() { return module; };
/******/ 			__webpack_require__.d(getter, { a: getter });
/******/ 			return getter;
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/define property getters */
/******/ 	!function() {
/******/ 		// define getter functions for harmony exports
/******/ 		__webpack_require__.d = function(exports, definition) {
/******/ 			for(var key in definition) {
/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ 				}
/******/ 			}
/******/ 		};
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
/******/ 	!function() {
/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ 	}();
/******/ 	
/******/ 	/* webpack/runtime/make namespace object */
/******/ 	!function() {
/******/ 		// define __esModule on exports
/******/ 		__webpack_require__.r = function(exports) {
/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 			}
/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
/******/ 		};
/******/ 	}();
/******/ 	
/************************************************************************/
/******/ 	
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	// This entry module can't be inlined because the eval-source-map devtool is used.
/******/ 	var __webpack_exports__ = __webpack_require__("./libs/datatables-checkboxes-jquery/datatables.checkboxes.js");
/******/ 	var __webpack_export_target__ = window;
/******/ 	for(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];
/******/ 	if(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, "__esModule", { value: true });
/******/ 	
/******/ })()
;