@omniumretail/component-library 1.0.73 → 1.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -10992,7 +10992,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
10992
10992
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10993
10993
 
10994
10994
  "use strict";
10995
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Table\": function() { return /* binding */ Table; },\n/* harmony export */ \"sortBy\": function() { return /* binding */ sortBy; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/space/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/dropdown/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/select/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/table/index.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/Table/styles.module.scss\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/MoreOutlined.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar sortBy;\r\n(function (sortBy) {\r\n sortBy[\"asc\"] = \"asc\";\r\n sortBy[\"desc\"] = \"desc\";\r\n})(sortBy || (sortBy = {}));\r\nvar Table = function (props) {\r\n var _a;\r\n var _b;\r\n var t = (0,react_i18next__WEBPACK_IMPORTED_MODULE_3__.useTranslation)().t;\r\n var _c = props.dataSource, dataSource = _c === void 0 ? undefined : _c, fieldsToSort = props.fieldsToSort, _d = props.selectPlaceholder, selectPlaceholder = _d === void 0 ? 'Sort By' : _d, onSort = props.onSort, headingTranslationsKey = props.headingTranslationsKey, items = props.actionsArray, rowKeyValue = props.rowKeyValue, hiddenColumns = props.hiddenColumns, rowSelection = props.rowSelection, onSelectAllButtonClick = props.onSelectAllButtonClick, AllItemsShowing = props.AllItemsShowing, selectAllStatus = props.selectAllStatus, isTableDataRefreshed = props.isTableDataRefreshed, tableLoading = props.tableLoading, tableMaxHeight = props.tableMaxHeight, sortByColumns = props.sortByColumns, columnsToSort = props.columnsToSort;\r\n var _e = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), customFilters = _e[0], setCustomFilters = _e[1];\r\n var _f = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), customColumns = _f[0], setCustomColumns = _f[1];\r\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), sortInfo = _g[0], setSortInfo = _g[1];\r\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)((rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRowKeys) || []), selectedRowKeys = _h[0], setselectedRowKeys = _h[1];\r\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), selectedAllRowKeys = _j[0], setSelectedAllRowKeys = _j[1];\r\n var _k = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), deselectAll = _k[0], setDeselectAll = _k[1];\r\n var onSelectChange = function (newSelectedRowKeys) {\r\n if (rowSelection.type === 'radio') {\r\n setselectedRowKeys(newSelectedRowKeys);\r\n return;\r\n }\r\n setselectedRowKeys(function (prevKeys) {\r\n var dataSourceIds = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (data) { return data[rowKeyValue]; });\r\n var oldKeys = prevKeys.filter(function (key) {\r\n return !(dataSourceIds === null || dataSourceIds === void 0 ? void 0 : dataSourceIds.includes(key));\r\n });\r\n return __spreadArray(__spreadArray([], oldKeys, true), newSelectedRowKeys, true);\r\n });\r\n setSelectedAllRowKeys(false);\r\n setDeselectAll(false);\r\n };\r\n var handleChange = function (pagination, filters, sorter, extra) {\r\n var getPagination = {\r\n currentPage: pagination.current,\r\n };\r\n var getSortAndPaginationInfo = __assign(__assign({}, sortInfo), getPagination);\r\n props.paginationInfo(getSortAndPaginationInfo);\r\n // SORT \r\n if (sortByColumns) {\r\n var field = sorter.field, order = sorter.order;\r\n var mappedOrder = null;\r\n if (order === \"ascend\") {\r\n mappedOrder = \"asc\";\r\n }\r\n else if (order === \"descend\") {\r\n mappedOrder = \"desc\";\r\n }\r\n if (field && mappedOrder) {\r\n props.columnsSortChange({ field: field, order: mappedOrder });\r\n }\r\n }\r\n };\r\n var setSorter = function (option) {\r\n onSort === null || onSort === void 0 ? void 0 : onSort(option.value.split('-')[0], option.direction);\r\n var sortData = {\r\n sortDirection: option.direction,\r\n sortValue: option.value.split('-')[0],\r\n };\r\n setSortInfo(sortData);\r\n };\r\n var selectAllRows = function () {\r\n if (selectedAllRowKeys) {\r\n setDeselectAll(true);\r\n }\r\n else {\r\n onSelectAllButtonClick === null || onSelectAllButtonClick === void 0 ? void 0 : onSelectAllButtonClick(); // Call the onSelectAllButtonClick callback\r\n }\r\n };\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n if (isTableDataRefreshed && !tableLoading || AllItemsShowing) {\r\n if (selectAllStatus && AllItemsShowing) {\r\n var allRowKeys = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (record) { return record[rowKeyValue]; });\r\n setselectedRowKeys(allRowKeys);\r\n setSelectedAllRowKeys(true);\r\n }\r\n }\r\n }, [isTableDataRefreshed, tableLoading, selectAllStatus, AllItemsShowing]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n if (deselectAll) {\r\n setselectedRowKeys([]);\r\n setDeselectAll(false);\r\n setSelectedAllRowKeys(false);\r\n }\r\n }, [deselectAll]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n props.rowSelectionInfo(selectedRowKeys);\r\n }, [selectedRowKeys]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n var _a;\r\n if (dataSource && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0) {\r\n // Columns\r\n var columns = Object.keys(dataSource === null || dataSource === void 0 ? void 0 : dataSource[0]).map(function (key) {\r\n if (hiddenColumns === null || hiddenColumns === void 0 ? void 0 : hiddenColumns.includes(key)) {\r\n return;\r\n }\r\n var isColumnSortable = (columnsToSort === null || columnsToSort === void 0 ? void 0 : columnsToSort.includes(key)) ? sortByColumns : false;\r\n return ({\r\n title: headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key,\r\n dataIndex: key,\r\n key: key,\r\n ellipsis: false,\r\n sorter: isColumnSortable,\r\n });\r\n }).filter(function (el) { return el !== undefined; });\r\n var columnActions = {\r\n key: 'action',\r\n title: headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat('action')) : 'action',\r\n dataIndex: 6,\r\n ellipsis: false,\r\n render: function () { return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_6__[\"default\"], __assign({ size: \"middle\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__[\"default\"], __assign({ menu: { items: items } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"a\", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__[\"default\"], { style: { color: 'var(--color-blue)', transform: 'scale(1.6)' } }) }) })) }))); },\r\n };\r\n items && columns.push(columnActions);\r\n setCustomColumns(columns);\r\n // Filters\r\n var dataKeysToFilter = Object.keys(dataSource === null || dataSource === void 0 ? void 0 : dataSource[0]).filter(function (el) { return fieldsToSort === null || fieldsToSort === void 0 ? void 0 : fieldsToSort.includes(el); });\r\n var filters = (_a = []).concat.apply(_a, __spreadArray(__spreadArray([], dataKeysToFilter.map(function (key) { return ({\r\n value: \"\".concat(key, \"-\").concat(sortBy.desc),\r\n label: \"\".concat(headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key, \" (\").concat(sortBy.desc, \")\"),\r\n direction: \"\".concat(sortBy.desc),\r\n }); }), false), dataKeysToFilter.map(function (key) { return ({\r\n value: \"\".concat(key, \"-\").concat(sortBy.asc),\r\n label: \"\".concat(headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key, \" (\").concat(sortBy.asc, \")\"),\r\n direction: \"\".concat(sortBy.asc),\r\n }); }), false));\r\n setCustomFilters(filters);\r\n }\r\n }, [dataSource]);\r\n var shouldRenderSortDropdown = customFilters.length > 0;\r\n var tableWrapperClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\r\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].tableWrapperNoSelection] = !rowSelection,\r\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].tableWrapper]);\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: tableWrapperClasses }, { children: [shouldRenderSortDropdown &&\r\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_6__[\"default\"], __assign({ style: { marginBottom: 16 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__[\"default\"], { style: { width: 'auto', minWidth: 200 }, placeholder: selectPlaceholder, onSelect: function (_, option) {\r\n setSorter(option);\r\n }, optionFilterProp: \"children\", filterOption: function (input, option) { var _a; return ((_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : '').includes(input); }, filterSort: function (optionA, optionB) { var _a, _b; return ((_a = optionA === null || optionA === void 0 ? void 0 : optionA.label) !== null && _a !== void 0 ? _a : '').toLowerCase().localeCompare(((_b = optionB === null || optionB === void 0 ? void 0 : optionB.label) !== null && _b !== void 0 ? _b : '').toLowerCase()); }, options: customFilters }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__[\"default\"], __assign({ dataSource: dataSource, onChange: handleChange }, props, { columns: customColumns }, props.rowSelection ? ({\r\n rowSelection: {\r\n selectedRowKeys: selectedRowKeys,\r\n onChange: onSelectChange,\r\n type: (_b = props.rowSelection) === null || _b === void 0 ? void 0 : _b.type,\r\n }\r\n }) : null, { rowKey: rowKeyValue }, (tableMaxHeight ? { scroll: { y: tableMaxHeight } } : {}))), onSelectAllButtonClick &&\r\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_5__.Button, __assign({ onClick: selectAllRows, className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].selectAllRows }, { children: selectedAllRowKeys ? t('components.table.deselectAll') : t('components.table.selectAll') }))] })));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9UYWJsZS9pbmRleC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbGliLy4vc3JjL2NvbXBvbmVudHMvVGFibGUvaW5kZXgudHN4PzNlODgiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fYXNzaWduID0gKHRoaXMgJiYgdGhpcy5fX2Fzc2lnbikgfHwgZnVuY3Rpb24gKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKVxyXG4gICAgICAgICAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0O1xyXG4gICAgfTtcclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59O1xyXG52YXIgX19zcHJlYWRBcnJheSA9ICh0aGlzICYmIHRoaXMuX19zcHJlYWRBcnJheSkgfHwgZnVuY3Rpb24gKHRvLCBmcm9tLCBwYWNrKSB7XHJcbiAgICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xyXG4gICAgICAgIGlmIChhciB8fCAhKGkgaW4gZnJvbSkpIHtcclxuICAgICAgICAgICAgaWYgKCFhcikgYXIgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tLCAwLCBpKTtcclxuICAgICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xyXG59O1xyXG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xyXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBTcGFjZSwgU2VsZWN0LCBEcm9wZG93biB9IGZyb20gJ2FudGQnO1xyXG5pbXBvcnQgeyBUYWJsZSBhcyBBbnRkVGFibGUgfSBmcm9tICdhbnRkJztcclxuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3N0eWxlcy5tb2R1bGUuc2Nzcyc7XHJcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCc7XHJcbmltcG9ydCB7IE1vcmVPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcclxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XHJcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uL0J1dHRvbic7XHJcbmV4cG9ydCB2YXIgc29ydEJ5O1xyXG4oZnVuY3Rpb24gKHNvcnRCeSkge1xyXG4gICAgc29ydEJ5W1wiYXNjXCJdID0gXCJhc2NcIjtcclxuICAgIHNvcnRCeVtcImRlc2NcIl0gPSBcImRlc2NcIjtcclxufSkoc29ydEJ5IHx8IChzb3J0QnkgPSB7fSkpO1xyXG5leHBvcnQgdmFyIFRhYmxlID0gZnVuY3Rpb24gKHByb3BzKSB7XHJcbiAgICB2YXIgX2E7XHJcbiAgICB2YXIgX2I7XHJcbiAgICB2YXIgdCA9IHVzZVRyYW5zbGF0aW9uKCkudDtcclxuICAgIHZhciBfYyA9IHByb3BzLmRhdGFTb3VyY2UsIGRhdGFTb3VyY2UgPSBfYyA9PT0gdm9pZCAwID8gdW5kZWZpbmVkIDogX2MsIGZpZWxkc1RvU29ydCA9IHByb3BzLmZpZWxkc1RvU29ydCwgX2QgPSBwcm9wcy5zZWxlY3RQbGFjZWhvbGRlciwgc2VsZWN0UGxhY2Vob2xkZXIgPSBfZCA9PT0gdm9pZCAwID8gJ1NvcnQgQnknIDogX2QsIG9uU29ydCA9IHByb3BzLm9uU29ydCwgaGVhZGluZ1RyYW5zbGF0aW9uc0tleSA9IHByb3BzLmhlYWRpbmdUcmFuc2xhdGlvbnNLZXksIGl0ZW1zID0gcHJvcHMuYWN0aW9uc0FycmF5LCByb3dLZXlWYWx1ZSA9IHByb3BzLnJvd0tleVZhbHVlLCBoaWRkZW5Db2x1bW5zID0gcHJvcHMuaGlkZGVuQ29sdW1ucywgcm93U2VsZWN0aW9uID0gcHJvcHMucm93U2VsZWN0aW9uLCBvblNlbGVjdEFsbEJ1dHRvbkNsaWNrID0gcHJvcHMub25TZWxlY3RBbGxCdXR0b25DbGljaywgQWxsSXRlbXNTaG93aW5nID0gcHJvcHMuQWxsSXRlbXNTaG93aW5nLCBzZWxlY3RBbGxTdGF0dXMgPSBwcm9wcy5zZWxlY3RBbGxTdGF0dXMsIGlzVGFibGVEYXRhUmVmcmVzaGVkID0gcHJvcHMuaXNUYWJsZURhdGFSZWZyZXNoZWQsIHRhYmxlTG9hZGluZyA9IHByb3BzLnRhYmxlTG9hZGluZywgdGFibGVNYXhIZWlnaHQgPSBwcm9wcy50YWJsZU1heEhlaWdodCwgc29ydEJ5Q29sdW1ucyA9IHByb3BzLnNvcnRCeUNvbHVtbnMsIGNvbHVtbnNUb1NvcnQgPSBwcm9wcy5jb2x1bW5zVG9Tb3J0O1xyXG4gICAgdmFyIF9lID0gdXNlU3RhdGUoW10pLCBjdXN0b21GaWx0ZXJzID0gX2VbMF0sIHNldEN1c3RvbUZpbHRlcnMgPSBfZVsxXTtcclxuICAgIHZhciBfZiA9IHVzZVN0YXRlKFtdKSwgY3VzdG9tQ29sdW1ucyA9IF9mWzBdLCBzZXRDdXN0b21Db2x1bW5zID0gX2ZbMV07XHJcbiAgICB2YXIgX2cgPSB1c2VTdGF0ZShbXSksIHNvcnRJbmZvID0gX2dbMF0sIHNldFNvcnRJbmZvID0gX2dbMV07XHJcbiAgICB2YXIgX2ggPSB1c2VTdGF0ZSgocm93U2VsZWN0aW9uID09PSBudWxsIHx8IHJvd1NlbGVjdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93U2VsZWN0aW9uLnNlbGVjdGVkUm93S2V5cykgfHwgW10pLCBzZWxlY3RlZFJvd0tleXMgPSBfaFswXSwgc2V0c2VsZWN0ZWRSb3dLZXlzID0gX2hbMV07XHJcbiAgICB2YXIgX2ogPSB1c2VTdGF0ZShmYWxzZSksIHNlbGVjdGVkQWxsUm93S2V5cyA9IF9qWzBdLCBzZXRTZWxlY3RlZEFsbFJvd0tleXMgPSBfalsxXTtcclxuICAgIHZhciBfayA9IHVzZVN0YXRlKGZhbHNlKSwgZGVzZWxlY3RBbGwgPSBfa1swXSwgc2V0RGVzZWxlY3RBbGwgPSBfa1sxXTtcclxuICAgIHZhciBvblNlbGVjdENoYW5nZSA9IGZ1bmN0aW9uIChuZXdTZWxlY3RlZFJvd0tleXMpIHtcclxuICAgICAgICBpZiAocm93U2VsZWN0aW9uLnR5cGUgPT09ICdyYWRpbycpIHtcclxuICAgICAgICAgICAgc2V0c2VsZWN0ZWRSb3dLZXlzKG5ld1NlbGVjdGVkUm93S2V5cyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0c2VsZWN0ZWRSb3dLZXlzKGZ1bmN0aW9uIChwcmV2S2V5cykge1xyXG4gICAgICAgICAgICB2YXIgZGF0YVNvdXJjZUlkcyA9IGRhdGFTb3VyY2UgPT09IG51bGwgfHwgZGF0YVNvdXJjZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGF0YVNvdXJjZS5tYXAoZnVuY3Rpb24gKGRhdGEpIHsgcmV0dXJuIGRhdGFbcm93S2V5VmFsdWVdOyB9KTtcclxuICAgICAgICAgICAgdmFyIG9sZEtleXMgPSBwcmV2S2V5cy5maWx0ZXIoZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICEoZGF0YVNvdXJjZUlkcyA9PT0gbnVsbCB8fCBkYXRhU291cmNlSWRzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhU291cmNlSWRzLmluY2x1ZGVzKGtleSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgcmV0dXJuIF9fc3ByZWFkQXJyYXkoX19zcHJlYWRBcnJheShbXSwgb2xkS2V5cywgdHJ1ZSksIG5ld1NlbGVjdGVkUm93S2V5cywgdHJ1ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc2V0U2VsZWN0ZWRBbGxSb3dLZXlzKGZhbHNlKTtcclxuICAgICAgICBzZXREZXNlbGVjdEFsbChmYWxzZSk7XHJcbiAgICB9O1xyXG4gICAgdmFyIGhhbmRsZUNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgICAgdmFyIGdldFBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnQsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB2YXIgZ2V0U29ydEFuZFBhZ2luYXRpb25JbmZvID0gX19hc3NpZ24oX19hc3NpZ24oe30sIHNvcnRJbmZvKSwgZ2V0UGFnaW5hdGlvbik7XHJcbiAgICAgICAgcHJvcHMucGFnaW5hdGlvbkluZm8oZ2V0U29ydEFuZFBhZ2luYXRpb25JbmZvKTtcclxuICAgICAgICAvLyBTT1JUIFxyXG4gICAgICAgIGlmIChzb3J0QnlDb2x1bW5zKSB7XHJcbiAgICAgICAgICAgIHZhciBmaWVsZCA9IHNvcnRlci5maWVsZCwgb3JkZXIgPSBzb3J0ZXIub3JkZXI7XHJcbiAgICAgICAgICAgIHZhciBtYXBwZWRPcmRlciA9IG51bGw7XHJcbiAgICAgICAgICAgIGlmIChvcmRlciA9PT0gXCJhc2NlbmRcIikge1xyXG4gICAgICAgICAgICAgICAgbWFwcGVkT3JkZXIgPSBcImFzY1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKG9yZGVyID09PSBcImRlc2NlbmRcIikge1xyXG4gICAgICAgICAgICAgICAgbWFwcGVkT3JkZXIgPSBcImRlc2NcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZmllbGQgJiYgbWFwcGVkT3JkZXIpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLmNvbHVtbnNTb3J0Q2hhbmdlKHsgZmllbGQ6IGZpZWxkLCBvcmRlcjogbWFwcGVkT3JkZXIgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdmFyIHNldFNvcnRlciA9IGZ1bmN0aW9uIChvcHRpb24pIHtcclxuICAgICAgICBvblNvcnQgPT09IG51bGwgfHwgb25Tb3J0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNvcnQob3B0aW9uLnZhbHVlLnNwbGl0KCctJylbMF0sIG9wdGlvbi5kaXJlY3Rpb24pO1xyXG4gICAgICAgIHZhciBzb3J0RGF0YSA9IHtcclxuICAgICAgICAgICAgc29ydERpcmVjdGlvbjogb3B0aW9uLmRpcmVjdGlvbixcclxuICAgICAgICAgICAgc29ydFZhbHVlOiBvcHRpb24udmFsdWUuc3BsaXQoJy0nKVswXSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHNldFNvcnRJbmZvKHNvcnREYXRhKTtcclxuICAgIH07XHJcbiAgICB2YXIgc2VsZWN0QWxsUm93cyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRBbGxSb3dLZXlzKSB7XHJcbiAgICAgICAgICAgIHNldERlc2VsZWN0QWxsKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgb25TZWxlY3RBbGxCdXR0b25DbGljayA9PT0gbnVsbCB8fCBvblNlbGVjdEFsbEJ1dHRvbkNsaWNrID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblNlbGVjdEFsbEJ1dHRvbkNsaWNrKCk7IC8vIENhbGwgdGhlIG9uU2VsZWN0QWxsQnV0dG9uQ2xpY2sgY2FsbGJhY2tcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAoaXNUYWJsZURhdGFSZWZyZXNoZWQgJiYgIXRhYmxlTG9hZGluZyB8fCBBbGxJdGVtc1Nob3dpbmcpIHtcclxuICAgICAgICAgICAgaWYgKHNlbGVjdEFsbFN0YXR1cyAmJiBBbGxJdGVtc1Nob3dpbmcpIHtcclxuICAgICAgICAgICAgICAgIHZhciBhbGxSb3dLZXlzID0gZGF0YVNvdXJjZSA9PT0gbnVsbCB8fCBkYXRhU291cmNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhU291cmNlLm1hcChmdW5jdGlvbiAocmVjb3JkKSB7IHJldHVybiByZWNvcmRbcm93S2V5VmFsdWVdOyB9KTtcclxuICAgICAgICAgICAgICAgIHNldHNlbGVjdGVkUm93S2V5cyhhbGxSb3dLZXlzKTtcclxuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkQWxsUm93S2V5cyh0cnVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sIFtpc1RhYmxlRGF0YVJlZnJlc2hlZCwgdGFibGVMb2FkaW5nLCBzZWxlY3RBbGxTdGF0dXMsIEFsbEl0ZW1zU2hvd2luZ10pO1xyXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBpZiAoZGVzZWxlY3RBbGwpIHtcclxuICAgICAgICAgICAgc2V0c2VsZWN0ZWRSb3dLZXlzKFtdKTtcclxuICAgICAgICAgICAgc2V0RGVzZWxlY3RBbGwoZmFsc2UpO1xyXG4gICAgICAgICAgICBzZXRTZWxlY3RlZEFsbFJvd0tleXMoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtkZXNlbGVjdEFsbF0pO1xyXG4gICAgdXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBwcm9wcy5yb3dTZWxlY3Rpb25JbmZvKHNlbGVjdGVkUm93S2V5cyk7XHJcbiAgICB9LCBbc2VsZWN0ZWRSb3dLZXlzXSk7XHJcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBfYTtcclxuICAgICAgICBpZiAoZGF0YVNvdXJjZSAmJiAoZGF0YVNvdXJjZSA9PT0gbnVsbCB8fCBkYXRhU291cmNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhU291cmNlLmxlbmd0aCkgPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIENvbHVtbnNcclxuICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSBPYmplY3Qua2V5cyhkYXRhU291cmNlID09PSBudWxsIHx8IGRhdGFTb3VyY2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2VbMF0pLm1hcChmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGlkZGVuQ29sdW1ucyA9PT0gbnVsbCB8fCBoaWRkZW5Db2x1bW5zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBoaWRkZW5Db2x1bW5zLmluY2x1ZGVzKGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB2YXIgaXNDb2x1bW5Tb3J0YWJsZSA9IChjb2x1bW5zVG9Tb3J0ID09PSBudWxsIHx8IGNvbHVtbnNUb1NvcnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbHVtbnNUb1NvcnQuaW5jbHVkZXMoa2V5KSkgPyBzb3J0QnlDb2x1bW5zIDogZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogaGVhZGluZ1RyYW5zbGF0aW9uc0tleSA/IHQoXCJcIi5jb25jYXQoaGVhZGluZ1RyYW5zbGF0aW9uc0tleSwgXCIuXCIpLmNvbmNhdChrZXkpKSA6IGtleSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhSW5kZXg6IGtleSxcclxuICAgICAgICAgICAgICAgICAgICBrZXk6IGtleSxcclxuICAgICAgICAgICAgICAgICAgICBlbGxpcHNpczogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgc29ydGVyOiBpc0NvbHVtblNvcnRhYmxlLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pLmZpbHRlcihmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIGVsICE9PSB1bmRlZmluZWQ7IH0pO1xyXG4gICAgICAgICAgICB2YXIgY29sdW1uQWN0aW9ucyA9IHtcclxuICAgICAgICAgICAgICAgIGtleTogJ2FjdGlvbicsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogaGVhZGluZ1RyYW5zbGF0aW9uc0tleSA/IHQoXCJcIi5jb25jYXQoaGVhZGluZ1RyYW5zbGF0aW9uc0tleSwgXCIuXCIpLmNvbmNhdCgnYWN0aW9uJykpIDogJ2FjdGlvbicsXHJcbiAgICAgICAgICAgICAgICBkYXRhSW5kZXg6IDYsXHJcbiAgICAgICAgICAgICAgICBlbGxpcHNpczogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICByZW5kZXI6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIChfanN4KFNwYWNlLCBfX2Fzc2lnbih7IHNpemU6IFwibWlkZGxlXCIgfSwgeyBjaGlsZHJlbjogX2pzeChEcm9wZG93biwgX19hc3NpZ24oeyBtZW51OiB7IGl0ZW1zOiBpdGVtcyB9IH0sIHsgY2hpbGRyZW46IF9qc3goXCJhXCIsIHsgY2hpbGRyZW46IF9qc3goTW9yZU91dGxpbmVkLCB7IHN0eWxlOiB7IGNvbG9yOiAndmFyKC0tY29sb3ItYmx1ZSknLCB0cmFuc2Zvcm06ICdzY2FsZSgxLjYpJyB9IH0pIH0pIH0pKSB9KSkpOyB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpdGVtcyAmJiBjb2x1bW5zLnB1c2goY29sdW1uQWN0aW9ucyk7XHJcbiAgICAgICAgICAgIHNldEN1c3RvbUNvbHVtbnMoY29sdW1ucyk7XHJcbiAgICAgICAgICAgIC8vIEZpbHRlcnNcclxuICAgICAgICAgICAgdmFyIGRhdGFLZXlzVG9GaWx0ZXIgPSBPYmplY3Qua2V5cyhkYXRhU291cmNlID09PSBudWxsIHx8IGRhdGFTb3VyY2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2VbMF0pLmZpbHRlcihmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIGZpZWxkc1RvU29ydCA9PT0gbnVsbCB8fCBmaWVsZHNUb1NvcnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkc1RvU29ydC5pbmNsdWRlcyhlbCk7IH0pO1xyXG4gICAgICAgICAgICB2YXIgZmlsdGVycyA9IChfYSA9IFtdKS5jb25jYXQuYXBwbHkoX2EsIF9fc3ByZWFkQXJyYXkoX19zcHJlYWRBcnJheShbXSwgZGF0YUtleXNUb0ZpbHRlci5tYXAoZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gKHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBcIlwiLmNvbmNhdChrZXksIFwiLVwiKS5jb25jYXQoc29ydEJ5LmRlc2MpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXkgPyB0KFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXksIFwiLlwiKS5jb25jYXQoa2V5KSkgOiBrZXksIFwiIChcIikuY29uY2F0KHNvcnRCeS5kZXNjLCBcIilcIiksXHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IFwiXCIuY29uY2F0KHNvcnRCeS5kZXNjKSxcclxuICAgICAgICAgICAgfSk7IH0pLCBmYWxzZSksIGRhdGFLZXlzVG9GaWx0ZXIubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuICh7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJcIi5jb25jYXQoa2V5LCBcIi1cIikuY29uY2F0KHNvcnRCeS5hc2MpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXkgPyB0KFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXksIFwiLlwiKS5jb25jYXQoa2V5KSkgOiBrZXksIFwiIChcIikuY29uY2F0KHNvcnRCeS5hc2MsIFwiKVwiKSxcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogXCJcIi5jb25jYXQoc29ydEJ5LmFzYyksXHJcbiAgICAgICAgICAgIH0pOyB9KSwgZmFsc2UpKTtcclxuICAgICAgICAgICAgc2V0Q3VzdG9tRmlsdGVycyhmaWx0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbZGF0YVNvdXJjZV0pO1xyXG4gICAgdmFyIHNob3VsZFJlbmRlclNvcnREcm9wZG93biA9IGN1c3RvbUZpbHRlcnMubGVuZ3RoID4gMDtcclxuICAgIHZhciB0YWJsZVdyYXBwZXJDbGFzc2VzID0gY2xhc3NuYW1lcygoX2EgPSB7fSxcclxuICAgICAgICBfYVtzdHlsZXMudGFibGVXcmFwcGVyTm9TZWxlY3Rpb25dID0gIXJvd1NlbGVjdGlvbixcclxuICAgICAgICBfYSksIFtzdHlsZXMudGFibGVXcmFwcGVyXSk7XHJcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiB0YWJsZVdyYXBwZXJDbGFzc2VzIH0sIHsgY2hpbGRyZW46IFtzaG91bGRSZW5kZXJTb3J0RHJvcGRvd24gJiZcclxuICAgICAgICAgICAgICAgIF9qc3goU3BhY2UsIF9fYXNzaWduKHsgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiAxNiB9IH0sIHsgY2hpbGRyZW46IF9qc3goU2VsZWN0LCB7IHN0eWxlOiB7IHdpZHRoOiAnYXV0bycsIG1pbldpZHRoOiAyMDAgfSwgcGxhY2Vob2xkZXI6IHNlbGVjdFBsYWNlaG9sZGVyLCBvblNlbGVjdDogZnVuY3Rpb24gKF8sIG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U29ydGVyKG9wdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIG9wdGlvbkZpbHRlclByb3A6IFwiY2hpbGRyZW5cIiwgZmlsdGVyT3B0aW9uOiBmdW5jdGlvbiAoaW5wdXQsIG9wdGlvbikgeyB2YXIgX2E7IHJldHVybiAoKF9hID0gb3B0aW9uID09PSBudWxsIHx8IG9wdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9uLmxhYmVsKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJykuaW5jbHVkZXMoaW5wdXQpOyB9LCBmaWx0ZXJTb3J0OiBmdW5jdGlvbiAob3B0aW9uQSwgb3B0aW9uQikgeyB2YXIgX2EsIF9iOyByZXR1cm4gKChfYSA9IG9wdGlvbkEgPT09IG51bGwgfHwgb3B0aW9uQSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9uQS5sYWJlbCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZSgoKF9iID0gb3B0aW9uQiA9PT0gbnVsbCB8fCBvcHRpb25CID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25CLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAnJykudG9Mb3dlckNhc2UoKSk7IH0sIG9wdGlvbnM6IGN1c3RvbUZpbHRlcnMgfSkgfSkpLCBfanN4KEFudGRUYWJsZSwgX19hc3NpZ24oeyBkYXRhU291cmNlOiBkYXRhU291cmNlLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlIH0sIHByb3BzLCB7IGNvbHVtbnM6IGN1c3RvbUNvbHVtbnMgfSwgcHJvcHMucm93U2VsZWN0aW9uID8gKHtcclxuICAgICAgICAgICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBvblNlbGVjdENoYW5nZSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAoX2IgPSBwcm9wcy5yb3dTZWxlY3Rpb24pID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi50eXBlLFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSA6IG51bGwsIHsgcm93S2V5OiByb3dLZXlWYWx1ZSB9LCAodGFibGVNYXhIZWlnaHQgPyB7IHNjcm9sbDogeyB5OiB0YWJsZU1heEhlaWdodCB9IH0gOiB7fSkpKSwgb25TZWxlY3RBbGxCdXR0b25DbGljayAmJlxyXG4gICAgICAgICAgICAgICAgX2pzeChCdXR0b24sIF9fYXNzaWduKHsgb25DbGljazogc2VsZWN0QWxsUm93cywgY2xhc3NOYW1lOiBzdHlsZXMuc2VsZWN0QWxsUm93cyB9LCB7IGNoaWxkcmVuOiBzZWxlY3RlZEFsbFJvd0tleXMgPyB0KCdjb21wb25lbnRzLnRhYmxlLmRlc2VsZWN0QWxsJykgOiB0KCdjb21wb25lbnRzLnRhYmxlLnNlbGVjdEFsbCcpIH0pKV0gfSkpKTtcclxufTtcclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/Table/index.tsx\n");
10995
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Table\": function() { return /* binding */ Table; },\n/* harmony export */ \"sortBy\": function() { return /* binding */ sortBy; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"react\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/space/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/dropdown/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/select/index.js\");\n/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd */ \"./node_modules/antd/es/table/index.js\");\n/* harmony import */ var _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./styles.module.scss */ \"./src/components/Table/styles.module.scss\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-i18next */ \"react-i18next\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_i18next__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @ant-design/icons */ \"./node_modules/@ant-design/icons/es/icons/MoreOutlined.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! classnames */ \"./node_modules/classnames/index.js\");\n/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Button */ \"./src/components/Button/index.tsx\");\nvar __assign = (undefined && undefined.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nvar sortBy;\r\n(function (sortBy) {\r\n sortBy[\"asc\"] = \"asc\";\r\n sortBy[\"desc\"] = \"desc\";\r\n})(sortBy || (sortBy = {}));\r\nvar Table = function (props) {\r\n var _a;\r\n var _b;\r\n var t = (0,react_i18next__WEBPACK_IMPORTED_MODULE_3__.useTranslation)().t;\r\n var _c = props.dataSource, dataSource = _c === void 0 ? undefined : _c, fieldsToSort = props.fieldsToSort, _d = props.selectPlaceholder, selectPlaceholder = _d === void 0 ? 'Sort By' : _d, onSort = props.onSort, headingTranslationsKey = props.headingTranslationsKey, items = props.actionsArray, rowKeyValue = props.rowKeyValue, hiddenColumns = props.hiddenColumns, rowSelection = props.rowSelection, onSelectAllButtonClick = props.onSelectAllButtonClick, AllItemsShowing = props.AllItemsShowing, selectAllStatus = props.selectAllStatus, isTableDataRefreshed = props.isTableDataRefreshed, tableLoading = props.tableLoading, tableMaxHeight = props.tableMaxHeight, sortByColumns = props.sortByColumns, columnsToSort = props.columnsToSort;\r\n var _e = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), customFilters = _e[0], setCustomFilters = _e[1];\r\n var _f = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), customColumns = _f[0], setCustomColumns = _f[1];\r\n var _g = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]), sortInfo = _g[0], setSortInfo = _g[1];\r\n var _h = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)((rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.selectedRowKeys) || []), selectedRowKeys = _h[0], setselectedRowKeys = _h[1];\r\n var _j = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), selectedAllRowKeys = _j[0], setSelectedAllRowKeys = _j[1];\r\n var _k = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false), deselectAll = _k[0], setDeselectAll = _k[1];\r\n var onSelectChange = function (newSelectedRowKeys) {\r\n if (rowSelection.type === 'radio') {\r\n setselectedRowKeys(newSelectedRowKeys);\r\n return;\r\n }\r\n setselectedRowKeys(function (prevKeys) {\r\n var dataSourceIds = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (data) { return data[rowKeyValue]; });\r\n var oldKeys = prevKeys.filter(function (key) {\r\n return !(dataSourceIds === null || dataSourceIds === void 0 ? void 0 : dataSourceIds.includes(key));\r\n });\r\n return __spreadArray(__spreadArray([], oldKeys, true), newSelectedRowKeys, true);\r\n });\r\n setSelectedAllRowKeys(false);\r\n setDeselectAll(false);\r\n };\r\n var handleChange = function (pagination, filters, sorter, extra) {\r\n var getPagination = {\r\n currentPage: pagination.current,\r\n };\r\n var getSortAndPaginationInfo = __assign(__assign({}, sortInfo), getPagination);\r\n props.paginationInfo(getSortAndPaginationInfo);\r\n // SORT \r\n if (sortByColumns) {\r\n var field = sorter.field, order = sorter.order;\r\n var mappedOrder = null;\r\n if (order === \"ascend\") {\r\n mappedOrder = \"asc\";\r\n }\r\n else if (order === \"descend\") {\r\n mappedOrder = \"desc\";\r\n }\r\n if (field && mappedOrder) {\r\n props.columnsSortChange({ field: field, order: mappedOrder });\r\n }\r\n }\r\n };\r\n var setSorter = function (option) {\r\n onSort === null || onSort === void 0 ? void 0 : onSort(option.value.split('-')[0], option.direction);\r\n var sortData = {\r\n sortDirection: option.direction,\r\n sortValue: option.value.split('-')[0],\r\n };\r\n setSortInfo(sortData);\r\n };\r\n var selectAllRows = function () {\r\n if (selectedAllRowKeys) {\r\n setDeselectAll(true);\r\n }\r\n else {\r\n onSelectAllButtonClick === null || onSelectAllButtonClick === void 0 ? void 0 : onSelectAllButtonClick(); // Call the onSelectAllButtonClick callback\r\n }\r\n };\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n if (isTableDataRefreshed && !tableLoading || AllItemsShowing) {\r\n if (selectAllStatus && AllItemsShowing) {\r\n var allRowKeys = dataSource === null || dataSource === void 0 ? void 0 : dataSource.map(function (record) { return record[rowKeyValue]; });\r\n setselectedRowKeys(allRowKeys);\r\n setSelectedAllRowKeys(true);\r\n }\r\n }\r\n }, [isTableDataRefreshed, tableLoading, selectAllStatus, AllItemsShowing]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n if (deselectAll) {\r\n setselectedRowKeys([]);\r\n setDeselectAll(false);\r\n setSelectedAllRowKeys(false);\r\n }\r\n }, [deselectAll]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n props.rowSelectionInfo(selectedRowKeys);\r\n }, [selectedRowKeys]);\r\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {\r\n var _a;\r\n if (dataSource && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) > 0) {\r\n // Columns\r\n var columns = Object.keys(dataSource === null || dataSource === void 0 ? void 0 : dataSource[0]).map(function (key) {\r\n if (hiddenColumns === null || hiddenColumns === void 0 ? void 0 : hiddenColumns.includes(key)) {\r\n return;\r\n }\r\n var isColumnSortable = (columnsToSort === null || columnsToSort === void 0 ? void 0 : columnsToSort.includes(key)) ? sortByColumns : false;\r\n return ({\r\n title: headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key,\r\n dataIndex: key,\r\n key: key,\r\n ellipsis: false,\r\n sorter: isColumnSortable,\r\n });\r\n }).filter(function (el) { return el !== undefined; });\r\n var columnActions = {\r\n key: 'action',\r\n title: headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat('action')) : 'action',\r\n dataIndex: 6,\r\n ellipsis: false,\r\n render: function () {\r\n if (!(items === null || items === void 0 ? void 0 : items[0]))\r\n return null; // Verifica se o array items é nulo\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_6__[\"default\"], __assign({ size: \"middle\" }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_7__[\"default\"], __assign({ menu: { items: items } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"a\", { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__[\"default\"], { style: { color: 'var(--color-blue)', transform: 'scale(1.6)' } }) }) })) })));\r\n },\r\n };\r\n items && columns.push(columnActions);\r\n setCustomColumns(columns);\r\n // Filters\r\n var dataKeysToFilter = Object.keys(dataSource === null || dataSource === void 0 ? void 0 : dataSource[0]).filter(function (el) { return fieldsToSort === null || fieldsToSort === void 0 ? void 0 : fieldsToSort.includes(el); });\r\n var filters = (_a = []).concat.apply(_a, __spreadArray(__spreadArray([], dataKeysToFilter.map(function (key) { return ({\r\n value: \"\".concat(key, \"-\").concat(sortBy.desc),\r\n label: \"\".concat(headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key, \" (\").concat(sortBy.desc, \")\"),\r\n direction: \"\".concat(sortBy.desc),\r\n }); }), false), dataKeysToFilter.map(function (key) { return ({\r\n value: \"\".concat(key, \"-\").concat(sortBy.asc),\r\n label: \"\".concat(headingTranslationsKey ? t(\"\".concat(headingTranslationsKey, \".\").concat(key)) : key, \" (\").concat(sortBy.asc, \")\"),\r\n direction: \"\".concat(sortBy.asc),\r\n }); }), false));\r\n setCustomFilters(filters);\r\n }\r\n }, [dataSource]);\r\n var shouldRenderSortDropdown = customFilters.length > 0;\r\n var tableWrapperClasses = classnames__WEBPACK_IMPORTED_MODULE_4___default()((_a = {},\r\n _a[_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].tableWrapperNoSelection] = !rowSelection,\r\n _a), [_styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].tableWrapper]);\r\n return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", __assign({ className: tableWrapperClasses }, { children: [shouldRenderSortDropdown &&\r\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_6__[\"default\"], __assign({ style: { marginBottom: 16 } }, { children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_9__[\"default\"], { style: { width: 'auto', minWidth: 200 }, placeholder: selectPlaceholder, onSelect: function (_, option) {\r\n setSorter(option);\r\n }, optionFilterProp: \"children\", filterOption: function (input, option) { var _a; return ((_a = option === null || option === void 0 ? void 0 : option.label) !== null && _a !== void 0 ? _a : '').includes(input); }, filterSort: function (optionA, optionB) { var _a, _b; return ((_a = optionA === null || optionA === void 0 ? void 0 : optionA.label) !== null && _a !== void 0 ? _a : '').toLowerCase().localeCompare(((_b = optionB === null || optionB === void 0 ? void 0 : optionB.label) !== null && _b !== void 0 ? _b : '').toLowerCase()); }, options: customFilters }) })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(antd__WEBPACK_IMPORTED_MODULE_10__[\"default\"], __assign({ dataSource: dataSource, onChange: handleChange }, props, { columns: customColumns }, props.rowSelection ? ({\r\n rowSelection: {\r\n selectedRowKeys: selectedRowKeys,\r\n onChange: onSelectChange,\r\n type: (_b = props.rowSelection) === null || _b === void 0 ? void 0 : _b.type,\r\n }\r\n }) : null, { rowKey: rowKeyValue }, (tableMaxHeight ? { scroll: { y: tableMaxHeight } } : {}))), onSelectAllButtonClick &&\r\n (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Button__WEBPACK_IMPORTED_MODULE_5__.Button, __assign({ onClick: selectAllRows, className: _styles_module_scss__WEBPACK_IMPORTED_MODULE_2__[\"default\"].selectAllRows }, { children: selectedAllRowKeys ? t('components.table.deselectAll') : t('components.table.selectAll') }))] })));\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY29tcG9uZW50cy9UYWJsZS9pbmRleC50c3guanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9saWIvLi9zcmMvY29tcG9uZW50cy9UYWJsZS9pbmRleC50c3g/M2U4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hc3NpZ24gPSAodGhpcyAmJiB0aGlzLl9fYXNzaWduKSB8fCBmdW5jdGlvbiAoKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpXHJcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIF9fYXNzaWduLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbn07XHJcbnZhciBfX3NwcmVhZEFycmF5ID0gKHRoaXMgJiYgdGhpcy5fX3NwcmVhZEFycmF5KSB8fCBmdW5jdGlvbiAodG8sIGZyb20sIHBhY2spIHtcclxuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xyXG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xyXG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XHJcbn07XHJcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XHJcbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IFNwYWNlLCBTZWxlY3QsIERyb3Bkb3duIH0gZnJvbSAnYW50ZCc7XHJcbmltcG9ydCB7IFRhYmxlIGFzIEFudGRUYWJsZSB9IGZyb20gJ2FudGQnO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vc3R5bGVzLm1vZHVsZS5zY3NzJztcclxuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0JztcclxuaW1wb3J0IHsgTW9yZU91dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xyXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcclxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vQnV0dG9uJztcclxuZXhwb3J0IHZhciBzb3J0Qnk7XHJcbihmdW5jdGlvbiAoc29ydEJ5KSB7XHJcbiAgICBzb3J0QnlbXCJhc2NcIl0gPSBcImFzY1wiO1xyXG4gICAgc29ydEJ5W1wiZGVzY1wiXSA9IFwiZGVzY1wiO1xyXG59KShzb3J0QnkgfHwgKHNvcnRCeSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgVGFibGUgPSBmdW5jdGlvbiAocHJvcHMpIHtcclxuICAgIHZhciBfYTtcclxuICAgIHZhciBfYjtcclxuICAgIHZhciB0ID0gdXNlVHJhbnNsYXRpb24oKS50O1xyXG4gICAgdmFyIF9jID0gcHJvcHMuZGF0YVNvdXJjZSwgZGF0YVNvdXJjZSA9IF9jID09PSB2b2lkIDAgPyB1bmRlZmluZWQgOiBfYywgZmllbGRzVG9Tb3J0ID0gcHJvcHMuZmllbGRzVG9Tb3J0LCBfZCA9IHByb3BzLnNlbGVjdFBsYWNlaG9sZGVyLCBzZWxlY3RQbGFjZWhvbGRlciA9IF9kID09PSB2b2lkIDAgPyAnU29ydCBCeScgOiBfZCwgb25Tb3J0ID0gcHJvcHMub25Tb3J0LCBoZWFkaW5nVHJhbnNsYXRpb25zS2V5ID0gcHJvcHMuaGVhZGluZ1RyYW5zbGF0aW9uc0tleSwgaXRlbXMgPSBwcm9wcy5hY3Rpb25zQXJyYXksIHJvd0tleVZhbHVlID0gcHJvcHMucm93S2V5VmFsdWUsIGhpZGRlbkNvbHVtbnMgPSBwcm9wcy5oaWRkZW5Db2x1bW5zLCByb3dTZWxlY3Rpb24gPSBwcm9wcy5yb3dTZWxlY3Rpb24sIG9uU2VsZWN0QWxsQnV0dG9uQ2xpY2sgPSBwcm9wcy5vblNlbGVjdEFsbEJ1dHRvbkNsaWNrLCBBbGxJdGVtc1Nob3dpbmcgPSBwcm9wcy5BbGxJdGVtc1Nob3dpbmcsIHNlbGVjdEFsbFN0YXR1cyA9IHByb3BzLnNlbGVjdEFsbFN0YXR1cywgaXNUYWJsZURhdGFSZWZyZXNoZWQgPSBwcm9wcy5pc1RhYmxlRGF0YVJlZnJlc2hlZCwgdGFibGVMb2FkaW5nID0gcHJvcHMudGFibGVMb2FkaW5nLCB0YWJsZU1heEhlaWdodCA9IHByb3BzLnRhYmxlTWF4SGVpZ2h0LCBzb3J0QnlDb2x1bW5zID0gcHJvcHMuc29ydEJ5Q29sdW1ucywgY29sdW1uc1RvU29ydCA9IHByb3BzLmNvbHVtbnNUb1NvcnQ7XHJcbiAgICB2YXIgX2UgPSB1c2VTdGF0ZShbXSksIGN1c3RvbUZpbHRlcnMgPSBfZVswXSwgc2V0Q3VzdG9tRmlsdGVycyA9IF9lWzFdO1xyXG4gICAgdmFyIF9mID0gdXNlU3RhdGUoW10pLCBjdXN0b21Db2x1bW5zID0gX2ZbMF0sIHNldEN1c3RvbUNvbHVtbnMgPSBfZlsxXTtcclxuICAgIHZhciBfZyA9IHVzZVN0YXRlKFtdKSwgc29ydEluZm8gPSBfZ1swXSwgc2V0U29ydEluZm8gPSBfZ1sxXTtcclxuICAgIHZhciBfaCA9IHVzZVN0YXRlKChyb3dTZWxlY3Rpb24gPT09IG51bGwgfHwgcm93U2VsZWN0aW9uID09PSB2b2lkIDAgPyB2b2lkIDAgOiByb3dTZWxlY3Rpb24uc2VsZWN0ZWRSb3dLZXlzKSB8fCBbXSksIHNlbGVjdGVkUm93S2V5cyA9IF9oWzBdLCBzZXRzZWxlY3RlZFJvd0tleXMgPSBfaFsxXTtcclxuICAgIHZhciBfaiA9IHVzZVN0YXRlKGZhbHNlKSwgc2VsZWN0ZWRBbGxSb3dLZXlzID0gX2pbMF0sIHNldFNlbGVjdGVkQWxsUm93S2V5cyA9IF9qWzFdO1xyXG4gICAgdmFyIF9rID0gdXNlU3RhdGUoZmFsc2UpLCBkZXNlbGVjdEFsbCA9IF9rWzBdLCBzZXREZXNlbGVjdEFsbCA9IF9rWzFdO1xyXG4gICAgdmFyIG9uU2VsZWN0Q2hhbmdlID0gZnVuY3Rpb24gKG5ld1NlbGVjdGVkUm93S2V5cykge1xyXG4gICAgICAgIGlmIChyb3dTZWxlY3Rpb24udHlwZSA9PT0gJ3JhZGlvJykge1xyXG4gICAgICAgICAgICBzZXRzZWxlY3RlZFJvd0tleXMobmV3U2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZXRzZWxlY3RlZFJvd0tleXMoZnVuY3Rpb24gKHByZXZLZXlzKSB7XHJcbiAgICAgICAgICAgIHZhciBkYXRhU291cmNlSWRzID0gZGF0YVNvdXJjZSA9PT0gbnVsbCB8fCBkYXRhU291cmNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBkYXRhU291cmNlLm1hcChmdW5jdGlvbiAoZGF0YSkgeyByZXR1cm4gZGF0YVtyb3dLZXlWYWx1ZV07IH0pO1xyXG4gICAgICAgICAgICB2YXIgb2xkS2V5cyA9IHByZXZLZXlzLmZpbHRlcihmdW5jdGlvbiAoa2V5KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gIShkYXRhU291cmNlSWRzID09PSBudWxsIHx8IGRhdGFTb3VyY2VJZHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2VJZHMuaW5jbHVkZXMoa2V5KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gX19zcHJlYWRBcnJheShfX3NwcmVhZEFycmF5KFtdLCBvbGRLZXlzLCB0cnVlKSwgbmV3U2VsZWN0ZWRSb3dLZXlzLCB0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBzZXRTZWxlY3RlZEFsbFJvd0tleXMoZmFsc2UpO1xyXG4gICAgICAgIHNldERlc2VsZWN0QWxsKGZhbHNlKTtcclxuICAgIH07XHJcbiAgICB2YXIgaGFuZGxlQ2hhbmdlID0gZnVuY3Rpb24gKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpIHtcclxuICAgICAgICB2YXIgZ2V0UGFnaW5hdGlvbiA9IHtcclxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHZhciBnZXRTb3J0QW5kUGFnaW5hdGlvbkluZm8gPSBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgc29ydEluZm8pLCBnZXRQYWdpbmF0aW9uKTtcclxuICAgICAgICBwcm9wcy5wYWdpbmF0aW9uSW5mbyhnZXRTb3J0QW5kUGFnaW5hdGlvbkluZm8pO1xyXG4gICAgICAgIC8vIFNPUlQgXHJcbiAgICAgICAgaWYgKHNvcnRCeUNvbHVtbnMpIHtcclxuICAgICAgICAgICAgdmFyIGZpZWxkID0gc29ydGVyLmZpZWxkLCBvcmRlciA9IHNvcnRlci5vcmRlcjtcclxuICAgICAgICAgICAgdmFyIG1hcHBlZE9yZGVyID0gbnVsbDtcclxuICAgICAgICAgICAgaWYgKG9yZGVyID09PSBcImFzY2VuZFwiKSB7XHJcbiAgICAgICAgICAgICAgICBtYXBwZWRPcmRlciA9IFwiYXNjXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAob3JkZXIgPT09IFwiZGVzY2VuZFwiKSB7XHJcbiAgICAgICAgICAgICAgICBtYXBwZWRPcmRlciA9IFwiZGVzY1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChmaWVsZCAmJiBtYXBwZWRPcmRlcikge1xyXG4gICAgICAgICAgICAgICAgcHJvcHMuY29sdW1uc1NvcnRDaGFuZ2UoeyBmaWVsZDogZmllbGQsIG9yZGVyOiBtYXBwZWRPcmRlciB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB2YXIgc2V0U29ydGVyID0gZnVuY3Rpb24gKG9wdGlvbikge1xyXG4gICAgICAgIG9uU29ydCA9PT0gbnVsbCB8fCBvblNvcnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU29ydChvcHRpb24udmFsdWUuc3BsaXQoJy0nKVswXSwgb3B0aW9uLmRpcmVjdGlvbik7XHJcbiAgICAgICAgdmFyIHNvcnREYXRhID0ge1xyXG4gICAgICAgICAgICBzb3J0RGlyZWN0aW9uOiBvcHRpb24uZGlyZWN0aW9uLFxyXG4gICAgICAgICAgICBzb3J0VmFsdWU6IG9wdGlvbi52YWx1ZS5zcGxpdCgnLScpWzBdLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgc2V0U29ydEluZm8oc29ydERhdGEpO1xyXG4gICAgfTtcclxuICAgIHZhciBzZWxlY3RBbGxSb3dzID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEFsbFJvd0tleXMpIHtcclxuICAgICAgICAgICAgc2V0RGVzZWxlY3RBbGwodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBvblNlbGVjdEFsbEJ1dHRvbkNsaWNrID09PSBudWxsIHx8IG9uU2VsZWN0QWxsQnV0dG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VsZWN0QWxsQnV0dG9uQ2xpY2soKTsgLy8gQ2FsbCB0aGUgb25TZWxlY3RBbGxCdXR0b25DbGljayBjYWxsYmFja1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmIChpc1RhYmxlRGF0YVJlZnJlc2hlZCAmJiAhdGFibGVMb2FkaW5nIHx8IEFsbEl0ZW1zU2hvd2luZykge1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0QWxsU3RhdHVzICYmIEFsbEl0ZW1zU2hvd2luZykge1xyXG4gICAgICAgICAgICAgICAgdmFyIGFsbFJvd0tleXMgPSBkYXRhU291cmNlID09PSBudWxsIHx8IGRhdGFTb3VyY2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2UubWFwKGZ1bmN0aW9uIChyZWNvcmQpIHsgcmV0dXJuIHJlY29yZFtyb3dLZXlWYWx1ZV07IH0pO1xyXG4gICAgICAgICAgICAgICAgc2V0c2VsZWN0ZWRSb3dLZXlzKGFsbFJvd0tleXMpO1xyXG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRBbGxSb3dLZXlzKHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2lzVGFibGVEYXRhUmVmcmVzaGVkLCB0YWJsZUxvYWRpbmcsIHNlbGVjdEFsbFN0YXR1cywgQWxsSXRlbXNTaG93aW5nXSk7XHJcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGlmIChkZXNlbGVjdEFsbCkge1xyXG4gICAgICAgICAgICBzZXRzZWxlY3RlZFJvd0tleXMoW10pO1xyXG4gICAgICAgICAgICBzZXREZXNlbGVjdEFsbChmYWxzZSk7XHJcbiAgICAgICAgICAgIHNldFNlbGVjdGVkQWxsUm93S2V5cyhmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW2Rlc2VsZWN0QWxsXSk7XHJcbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHByb3BzLnJvd1NlbGVjdGlvbkluZm8oc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgIH0sIFtzZWxlY3RlZFJvd0tleXNdKTtcclxuICAgIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIF9hO1xyXG4gICAgICAgIGlmIChkYXRhU291cmNlICYmIChkYXRhU291cmNlID09PSBudWxsIHx8IGRhdGFTb3VyY2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2UubGVuZ3RoKSA+IDApIHtcclxuICAgICAgICAgICAgLy8gQ29sdW1uc1xyXG4gICAgICAgICAgICB2YXIgY29sdW1ucyA9IE9iamVjdC5rZXlzKGRhdGFTb3VyY2UgPT09IG51bGwgfHwgZGF0YVNvdXJjZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZGF0YVNvdXJjZVswXSkubWFwKGZ1bmN0aW9uIChrZXkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChoaWRkZW5Db2x1bW5zID09PSBudWxsIHx8IGhpZGRlbkNvbHVtbnMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGhpZGRlbkNvbHVtbnMuaW5jbHVkZXMoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHZhciBpc0NvbHVtblNvcnRhYmxlID0gKGNvbHVtbnNUb1NvcnQgPT09IG51bGwgfHwgY29sdW1uc1RvU29ydCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY29sdW1uc1RvU29ydC5pbmNsdWRlcyhrZXkpKSA/IHNvcnRCeUNvbHVtbnMgOiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybiAoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBoZWFkaW5nVHJhbnNsYXRpb25zS2V5ID8gdChcIlwiLmNvbmNhdChoZWFkaW5nVHJhbnNsYXRpb25zS2V5LCBcIi5cIikuY29uY2F0KGtleSkpIDoga2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGFJbmRleDoga2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGtleToga2V5LFxyXG4gICAgICAgICAgICAgICAgICAgIGVsbGlwc2lzOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBzb3J0ZXI6IGlzQ29sdW1uU29ydGFibGUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uIChlbCkgeyByZXR1cm4gZWwgIT09IHVuZGVmaW5lZDsgfSk7XHJcbiAgICAgICAgICAgIHZhciBjb2x1bW5BY3Rpb25zID0ge1xyXG4gICAgICAgICAgICAgICAga2V5OiAnYWN0aW9uJyxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBoZWFkaW5nVHJhbnNsYXRpb25zS2V5ID8gdChcIlwiLmNvbmNhdChoZWFkaW5nVHJhbnNsYXRpb25zS2V5LCBcIi5cIikuY29uY2F0KCdhY3Rpb24nKSkgOiAnYWN0aW9uJyxcclxuICAgICAgICAgICAgICAgIGRhdGFJbmRleDogNixcclxuICAgICAgICAgICAgICAgIGVsbGlwc2lzOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIHJlbmRlcjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKGl0ZW1zID09PSBudWxsIHx8IGl0ZW1zID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpdGVtc1swXSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsOyAvLyBWZXJpZmljYSBzZSBvIGFycmF5IGl0ZW1zIMOpIG51bG9cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU3BhY2UsIF9fYXNzaWduKHsgc2l6ZTogXCJtaWRkbGVcIiB9LCB7IGNoaWxkcmVuOiBfanN4KERyb3Bkb3duLCBfX2Fzc2lnbih7IG1lbnU6IHsgaXRlbXM6IGl0ZW1zIH0gfSwgeyBjaGlsZHJlbjogX2pzeChcImFcIiwgeyBjaGlsZHJlbjogX2pzeChNb3JlT3V0bGluZWQsIHsgc3R5bGU6IHsgY29sb3I6ICd2YXIoLS1jb2xvci1ibHVlKScsIHRyYW5zZm9ybTogJ3NjYWxlKDEuNiknIH0gfSkgfSkgfSkpIH0pKSk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBpdGVtcyAmJiBjb2x1bW5zLnB1c2goY29sdW1uQWN0aW9ucyk7XHJcbiAgICAgICAgICAgIHNldEN1c3RvbUNvbHVtbnMoY29sdW1ucyk7XHJcbiAgICAgICAgICAgIC8vIEZpbHRlcnNcclxuICAgICAgICAgICAgdmFyIGRhdGFLZXlzVG9GaWx0ZXIgPSBPYmplY3Qua2V5cyhkYXRhU291cmNlID09PSBudWxsIHx8IGRhdGFTb3VyY2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGRhdGFTb3VyY2VbMF0pLmZpbHRlcihmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIGZpZWxkc1RvU29ydCA9PT0gbnVsbCB8fCBmaWVsZHNUb1NvcnQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkc1RvU29ydC5pbmNsdWRlcyhlbCk7IH0pO1xyXG4gICAgICAgICAgICB2YXIgZmlsdGVycyA9IChfYSA9IFtdKS5jb25jYXQuYXBwbHkoX2EsIF9fc3ByZWFkQXJyYXkoX19zcHJlYWRBcnJheShbXSwgZGF0YUtleXNUb0ZpbHRlci5tYXAoZnVuY3Rpb24gKGtleSkgeyByZXR1cm4gKHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiBcIlwiLmNvbmNhdChrZXksIFwiLVwiKS5jb25jYXQoc29ydEJ5LmRlc2MpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXkgPyB0KFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXksIFwiLlwiKS5jb25jYXQoa2V5KSkgOiBrZXksIFwiIChcIikuY29uY2F0KHNvcnRCeS5kZXNjLCBcIilcIiksXHJcbiAgICAgICAgICAgICAgICBkaXJlY3Rpb246IFwiXCIuY29uY2F0KHNvcnRCeS5kZXNjKSxcclxuICAgICAgICAgICAgfSk7IH0pLCBmYWxzZSksIGRhdGFLZXlzVG9GaWx0ZXIubWFwKGZ1bmN0aW9uIChrZXkpIHsgcmV0dXJuICh7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJcIi5jb25jYXQoa2V5LCBcIi1cIikuY29uY2F0KHNvcnRCeS5hc2MpLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXkgPyB0KFwiXCIuY29uY2F0KGhlYWRpbmdUcmFuc2xhdGlvbnNLZXksIFwiLlwiKS5jb25jYXQoa2V5KSkgOiBrZXksIFwiIChcIikuY29uY2F0KHNvcnRCeS5hc2MsIFwiKVwiKSxcclxuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogXCJcIi5jb25jYXQoc29ydEJ5LmFzYyksXHJcbiAgICAgICAgICAgIH0pOyB9KSwgZmFsc2UpKTtcclxuICAgICAgICAgICAgc2V0Q3VzdG9tRmlsdGVycyhmaWx0ZXJzKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbZGF0YVNvdXJjZV0pO1xyXG4gICAgdmFyIHNob3VsZFJlbmRlclNvcnREcm9wZG93biA9IGN1c3RvbUZpbHRlcnMubGVuZ3RoID4gMDtcclxuICAgIHZhciB0YWJsZVdyYXBwZXJDbGFzc2VzID0gY2xhc3NuYW1lcygoX2EgPSB7fSxcclxuICAgICAgICBfYVtzdHlsZXMudGFibGVXcmFwcGVyTm9TZWxlY3Rpb25dID0gIXJvd1NlbGVjdGlvbixcclxuICAgICAgICBfYSksIFtzdHlsZXMudGFibGVXcmFwcGVyXSk7XHJcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIF9fYXNzaWduKHsgY2xhc3NOYW1lOiB0YWJsZVdyYXBwZXJDbGFzc2VzIH0sIHsgY2hpbGRyZW46IFtzaG91bGRSZW5kZXJTb3J0RHJvcGRvd24gJiZcclxuICAgICAgICAgICAgICAgIF9qc3goU3BhY2UsIF9fYXNzaWduKHsgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiAxNiB9IH0sIHsgY2hpbGRyZW46IF9qc3goU2VsZWN0LCB7IHN0eWxlOiB7IHdpZHRoOiAnYXV0bycsIG1pbldpZHRoOiAyMDAgfSwgcGxhY2Vob2xkZXI6IHNlbGVjdFBsYWNlaG9sZGVyLCBvblNlbGVjdDogZnVuY3Rpb24gKF8sIG9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U29ydGVyKG9wdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIG9wdGlvbkZpbHRlclByb3A6IFwiY2hpbGRyZW5cIiwgZmlsdGVyT3B0aW9uOiBmdW5jdGlvbiAoaW5wdXQsIG9wdGlvbikgeyB2YXIgX2E7IHJldHVybiAoKF9hID0gb3B0aW9uID09PSBudWxsIHx8IG9wdGlvbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9uLmxhYmVsKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnJykuaW5jbHVkZXMoaW5wdXQpOyB9LCBmaWx0ZXJTb3J0OiBmdW5jdGlvbiAob3B0aW9uQSwgb3B0aW9uQikgeyB2YXIgX2EsIF9iOyByZXR1cm4gKChfYSA9IG9wdGlvbkEgPT09IG51bGwgfHwgb3B0aW9uQSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb3B0aW9uQS5sYWJlbCkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJycpLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZSgoKF9iID0gb3B0aW9uQiA9PT0gbnVsbCB8fCBvcHRpb25CID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvcHRpb25CLmxhYmVsKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAnJykudG9Mb3dlckNhc2UoKSk7IH0sIG9wdGlvbnM6IGN1c3RvbUZpbHRlcnMgfSkgfSkpLCBfanN4KEFudGRUYWJsZSwgX19hc3NpZ24oeyBkYXRhU291cmNlOiBkYXRhU291cmNlLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlIH0sIHByb3BzLCB7IGNvbHVtbnM6IGN1c3RvbUNvbHVtbnMgfSwgcHJvcHMucm93U2VsZWN0aW9uID8gKHtcclxuICAgICAgICAgICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUm93S2V5czogc2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBvblNlbGVjdENoYW5nZSxcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAoX2IgPSBwcm9wcy5yb3dTZWxlY3Rpb24pID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi50eXBlLFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSA6IG51bGwsIHsgcm93S2V5OiByb3dLZXlWYWx1ZSB9LCAodGFibGVNYXhIZWlnaHQgPyB7IHNjcm9sbDogeyB5OiB0YWJsZU1heEhlaWdodCB9IH0gOiB7fSkpKSwgb25TZWxlY3RBbGxCdXR0b25DbGljayAmJlxyXG4gICAgICAgICAgICAgICAgX2pzeChCdXR0b24sIF9fYXNzaWduKHsgb25DbGljazogc2VsZWN0QWxsUm93cywgY2xhc3NOYW1lOiBzdHlsZXMuc2VsZWN0QWxsUm93cyB9LCB7IGNoaWxkcmVuOiBzZWxlY3RlZEFsbFJvd0tleXMgPyB0KCdjb21wb25lbnRzLnRhYmxlLmRlc2VsZWN0QWxsJykgOiB0KCdjb21wb25lbnRzLnRhYmxlLnNlbGVjdEFsbCcpIH0pKV0gfSkpKTtcclxufTtcclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/components/Table/index.tsx\n");
10996
10996
 
10997
10997
  /***/ }),
10998
10998
 
@@ -11880,7 +11880,7 @@ module.exports = JSON.parse('{"tableHeadings":{"key":"Chave","name":"Nome","meca
11880
11880
  /***/ (function(module) {
11881
11881
 
11882
11882
  "use strict";
11883
- module.exports = JSON.parse('{"tableHeadings":{"key":"Chave","name":"Nome","mecanographicNumber":"Número Mecanográfico","store":"Loja","role":"Posição","type":"Tipo","id":"Id","action":"Ação"},"userInfoColumn":{"Date":"Data","Store":"Loja","Team":"Equipa em Gestão","Supervisor":"Supervisor","TypeOfContract":"Tipo de contrato","Nationality":"Nacionalidade","CivilStatus":"Estado Civil","IdentificationDocument":"Doc.Identificação","NTaxpayer":"Nº Contribuinte","NIB":"NIB","SocialSecurity":"Nr Segurança Social","NChildren":"Nº Filhos","Workload":"Carga horária","Description":"Descrição","Comments":"Comentários"},"navigation":{"back":"Voltar Atrás","logout":"Terminar Sessão","home":"Início"},"actions":{"one":"one","two":"two"},"components":{"category":{"addQuestion":"Adicionar questão","placeholderInfo":"Informação da questão","errorInfo":"Informação da questão em falta","placeholderQuestion":"Questão","errorQuestion":"Questão em falta","placeholderGrade":"Ponderação","errorGrade":"Ponderação em falta","newCategory":"Nova categoria"},"categorySidBar":{"addCategory":"Adicionar categoria","removeCategory":"Remover categoria"},"categoryContent":{"message":"Por favor selecione uma categoria na barra lateral","categoryName":"Nome da categoria","categoryNameError":"Nome categoria em falta","weighting":"Ponderação","openAnswer":"Resposta aberta","answerOption":"Opção de resposta","answers":"Questões"},"categoryResponse":{"notApplicable":"Não Aplicável","answer":"Resposta"},"categoryReadOnly":{"categories":"Categories","categoryAverage":"Categoy Score"},"analyticsBar":{"desc":"Decrescente","asc":"Crescente"},"tag":{"search":"Procurar","advancedFields":"Advanced Fields"},"table":{"selectAll":"Selecionar todos","deselectAll":"Desselecionar Todos"},"datePickerTag":{"placeholder":"Selecionar Data"}}}');
11883
+ module.exports = JSON.parse('{"tableHeadings":{"key":"Chave","name":"Nome","mecanographicNumber":"Número Mecanográfico","store":"Loja","role":"Posição","type":"Tipo","id":"Id","action":"Ação"},"userInfoColumn":{"Date":"Data","Store":"Loja","Team":"Equipa em Gestão","Supervisor":"Supervisor","TypeOfContract":"Tipo de contrato","Nationality":"Nacionalidade","CivilStatus":"Estado Civil","IdentificationDocument":"Doc.Identificação","NTaxpayer":"Nº Contribuinte","NIB":"NIB","SocialSecurity":"Nr Segurança Social","NChildren":"Nº Filhos","Workload":"Carga horária","Description":"Descrição","Comments":"Comentários"},"navigation":{"back":"Voltar Atrás","logout":"Terminar Sessão","home":"Início"},"actions":{"one":"one","two":"two"},"components":{"category":{"addQuestion":"Adicionar questão","placeholderInfo":"Informação da questão","errorInfo":"Informação da questão em falta","placeholderQuestion":"Questão","errorQuestion":"Questão em falta","placeholderGrade":"Ponderação","errorGrade":"Ponderação em falta","newCategory":"Nova categoria"},"categorySidBar":{"addCategory":"Adicionar categoria","removeCategory":"Remover categoria"},"categoryContent":{"message":"Por favor selecione uma categoria na barra lateral","categoryName":"Nome da categoria","categoryNameError":"Nome categoria em falta","weighting":"Ponderação","openAnswer":"Resposta aberta","answerOption":"Opção de resposta","answers":"Questões"},"categoryResponse":{"notApplicable":"Não Aplicável","answer":"Resposta"},"categoryReadOnly":{"categories":"Categorias","categoryAverage":"Ponderação da categoria"},"analyticsBar":{"desc":"Decrescente","asc":"Crescente"},"tag":{"search":"Procurar","advancedFields":"Filtros avançados"},"table":{"selectAll":"Selecionar todos","deselectAll":"Desselecionar Todos"},"datePickerTag":{"placeholder":"Selecionar Data"}}}');
11884
11884
 
11885
11885
  /***/ })
11886
11886
 
package/dist/main.css CHANGED
@@ -66,10 +66,10 @@
66
66
  }
67
67
  @media (max-width: 767px) {
68
68
  .UxfXOleP69PjM5rFOMTD {
69
- padding-top: 6px;
70
- display: flex;
71
- align-items: center;
72
- justify-content: space-between;
69
+ padding-top: 6px !important;
70
+ display: flex !important;
71
+ align-items: center !important;
72
+ justify-content: space-between !important;
73
73
  }
74
74
  }
75
75
  .UxfXOleP69PjM5rFOMTD .LzcTbjk0fp70tXlKd3eS {
@@ -88,7 +88,7 @@
88
88
  @media (max-width: 767px) {
89
89
  .UxfXOleP69PjM5rFOMTD .gn06XRZhFG00HaVjAqNc {
90
90
  position: absolute;
91
- top: 0;
91
+ top: 0 !important;
92
92
  margin: 0 auto;
93
93
  left: 0;
94
94
  right: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniumretail/component-library",
3
- "version": "1.0.73",
3
+ "version": "1.0.75",
4
4
  "private": false,
5
5
  "main": "dist/bundle.js",
6
6
  "typings": "./dist/types/index",
@@ -7,11 +7,12 @@
7
7
  gap: 0 24px;
8
8
  position: relative;
9
9
 
10
+ // to override the issues from shared-resources navigation component.
10
11
  @media(max-width: 767px) {
11
- padding-top: 6px;
12
- display: flex;
13
- align-items: center;
14
- justify-content: space-between;
12
+ padding-top: 6px !important;
13
+ display: flex !important;
14
+ align-items: center !important;
15
+ justify-content: space-between !important;
15
16
  }
16
17
 
17
18
  .title {
@@ -28,7 +29,7 @@
28
29
  align-self: center;
29
30
  @media(max-width: 767px) {
30
31
  position: absolute;
31
- top: 0;
32
+ top: 0 !important;
32
33
  margin: 0 auto;
33
34
  left: 0;
34
35
  right: 0;
@@ -186,15 +186,19 @@ export const Table = (props: TableCustomProps) => {
186
186
  title: headingTranslationsKey ? t(`${headingTranslationsKey}.${'action'}`) : 'action',
187
187
  dataIndex: 6,
188
188
  ellipsis: false,
189
- render: () => (
190
- <Space size="middle">
189
+ render: () => {
190
+ if (!items?.[0]) return null; // Verifica se o array items é nulo
191
+
192
+ return (
193
+ <Space size="middle">
191
194
  <Dropdown menu={{ items }}>
192
- <a>
193
- <MoreOutlined style={{ color: 'var(--color-blue)', transform: 'scale(1.6)' }} />
194
- </a>
195
+ <a>
196
+ <MoreOutlined style={{ color: 'var(--color-blue)', transform: 'scale(1.6)' }} />
197
+ </a>
195
198
  </Dropdown>
196
- </Space>
197
- ),
199
+ </Space>
200
+ );
201
+ },
198
202
  };
199
203
 
200
204
  items && columns.push(columnActions as any);
@@ -64,8 +64,8 @@
64
64
  "answer": "Resposta"
65
65
  },
66
66
  "categoryReadOnly": {
67
- "categories": "Categories",
68
- "categoryAverage": "Categoy Score"
67
+ "categories": "Categorias",
68
+ "categoryAverage": "Ponderação da categoria"
69
69
  },
70
70
  "analyticsBar": {
71
71
  "desc": "Decrescente",
@@ -73,7 +73,7 @@
73
73
  },
74
74
  "tag": {
75
75
  "search": "Procurar",
76
- "advancedFields": "Advanced Fields"
76
+ "advancedFields": "Filtros avançados"
77
77
  },
78
78
  "table": {
79
79
  "selectAll": "Selecionar todos",