@1money/component-ui 0.0.54 → 0.0.55

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # 1Money React UI
1
+ # 1Money Component UI
2
2
 
3
3
  This repository contains the source for `@1money/component-ui`, a React component library used across 1Money front-end projects.
4
4
 
@@ -208,5 +208,5 @@ src/
208
208
  ## Release Notes
209
209
 
210
210
  - Package name: `@1money/component-ui`
211
- - Repository: `https://github.com/1Money-Co/1money-react-ui`
211
+ - Repository: `https://github.com/1Money-Co/1money-components-ui`
212
212
  - License: `MIT`
@@ -21,9 +21,10 @@ function makeExpandTransform(config) {
21
21
  var _a;
22
22
  return [{
23
23
  key: '__expand__',
24
+ className: EXPAND_COLUMN_CLS,
24
25
  // Honor `expandable.columnWidth` / `columnTitle` / `fixed`;
25
- // default to a 48px unlabeled column.
26
- width: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.columnWidth) !== null && _a !== void 0 ? _a : 48,
26
+ // default to a fixed 16px column (chevron-only, padding: 0).
27
+ width: (_a = expandable === null || expandable === void 0 ? void 0 : expandable.columnWidth) !== null && _a !== void 0 ? _a : 16,
27
28
  title: expandable === null || expandable === void 0 ? void 0 : expandable.columnTitle,
28
29
  fixed: (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === true ? 'left' : (expandable === null || expandable === void 0 ? void 0 : expandable.fixed) === false ? undefined : expandable === null || expandable === void 0 ? void 0 : expandable.fixed,
29
30
  render: function render(_, record, index) {
@@ -71,7 +72,8 @@ function makeSelectionTransform(config) {
71
72
  var _a;
72
73
  return [Object.assign(Object.assign({
73
74
  key: '__selection__',
74
- width: (_a = rowSelection.columnWidth) !== null && _a !== void 0 ? _a : 48,
75
+ className: SELECTION_COLUMN_CLS,
76
+ width: (_a = rowSelection.columnWidth) !== null && _a !== void 0 ? _a : 16,
75
77
  fixed: rowSelection.fixed ? 'left' : undefined
76
78
  }, selectionType === 'checkbox' ? {
77
79
  renderHeader: function renderHeader() {
@@ -160,6 +162,8 @@ function makeHeaderTransform(config) {
160
162
  };
161
163
  }
162
164
  var SPACER_COLUMN_CLS = 'om-component-ui-table-cell--spacer';
165
+ var EXPAND_COLUMN_CLS = 'om-component-ui-table-cell--expand';
166
+ var SELECTION_COLUMN_CLS = 'om-component-ui-table-cell--selection';
163
167
  function makeSpacerTransform() {
164
168
  return function (columns) {
165
169
  return [{
@@ -250,4 +254,4 @@ export function useTableColumns(config) {
250
254
  return transformed;
251
255
  }, [columns, variant, expandable, rowSelection, mergedExpandedRowKeys, mergedSelectedRowKeys, checkboxPropsMap, isAllSelected, isIndeterminate, triggerExpand, triggerSelection, triggerSelectAll, sorter, setSorter, filters, setFilters, size, getRowKey]);
252
256
  }
253
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsImNvbCIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuIiwibWFrZUV4cGFuZFRyYW5zZm9ybSIsImNvbmZpZyIsImV4cGFuZGFibGUiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwiZ2V0Um93S2V5IiwiY3VzdG9tRXhwYW5kSWNvbiIsImV4cGFuZEljb24iLCJyb3dFeHBhbmRhYmxlIiwiY29sdW1ucyIsIl9hIiwia2V5Iiwid2lkdGgiLCJjb2x1bW5XaWR0aCIsInRpdGxlIiwiY29sdW1uVGl0bGUiLCJmaXhlZCIsInVuZGVmaW5lZCIsInJlbmRlciIsIl8iLCJyZWNvcmQiLCJpbmRleCIsImNhbkV4cGFuZCIsInJlY29yZEtleSIsImV4cGFuZGVkIiwiaW5jbHVkZXMiLCJwcmVmaXhDbHMiLCJvbkV4cGFuZCIsInJlYyIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJvblRvZ2dsZSIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0iLCJyb3dTZWxlY3Rpb24iLCJtZXJnZWRTZWxlY3RlZFJvd0tleXMiLCJjaGVja2JveFByb3BzTWFwIiwiaXNBbGxTZWxlY3RlZCIsImlzSW5kZXRlcm1pbmF0ZSIsInRyaWdnZXJTZWxlY3Rpb24iLCJ0cmlnZ2VyU2VsZWN0QWxsIiwic2VsZWN0aW9uVHlwZSIsInR5cGUiLCJPYmplY3QiLCJhc3NpZ24iLCJyZW5kZXJIZWFkZXIiLCJjaGVja2VkIiwiaW5kZXRlcm1pbmF0ZSIsIm9uQ2hhbmdlIiwicm93UHJvcHMiLCJnZXQiLCJhcmlhU29ydEZvciIsIm9yZGVyIiwiRU1QVFlfRklMVEVSX1ZBTFVFIiwibWFrZUhlYWRlclRyYW5zZm9ybSIsInNpemUiLCJzb3J0ZXIiLCJzZXRTb3J0ZXIiLCJmaWx0ZXJzIiwic2V0RmlsdGVycyIsIm1hcCIsImNvbHVtbiIsIl9iIiwiaXNTb3J0YWJsZSIsIkJvb2xlYW4iLCJhY3RpdmVPcmRlciIsImNvbHVtbktleSIsIlN0cmluZyIsImZpbHRlclNlbGVjdGVkIiwidXNlck9uSGVhZGVyQ2VsbCIsIm9uSGVhZGVyQ2VsbCIsInVzZXJBdHRycyIsIm9uRmlsdGVyQ2hhbmdlIiwibmV4dCIsImN1cnJlbnQiLCJfZGVmaW5lUHJvcGVydHkiLCJsZW5ndGgiLCJzb3J0T3JkZXIiLCJvblNvcnRDbGljayIsImN1cnJlbnRTb3J0ZXIiLCJTUEFDRVJfQ09MVU1OX0NMUyIsIm1ha2VTcGFjZXJUcmFuc2Zvcm0iLCJjbGFzc05hbWUiLCJtYWtlUmVuZGVyVHJhbnNmb3JtIiwidmFsdWUiLCJ1c2VUYWJsZUNvbHVtbnMiLCJ2YXJpYW50IiwidHJhbnNmb3JtcyIsInNob3dFeHBhbmRDb2x1bW4iLCJwdXNoIiwic2VsZWN0aW9uVHJhbnNmb3JtIiwidHJhbnNmb3JtZWQiLCJyZWR1Y2UiLCJjb2xzIiwiZm4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLFNBQVNDLE9BQU8sUUFBa0IsT0FBTztBQUN6QyxTQUFTQyxnQkFBZ0IsRUFBRUMsc0JBQXNCLFFBQVEsNkJBQTZCO0FBQ3RGLFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsVUFBVSxRQUFRLHlCQUF5QjtBQUNwRCxTQUFTQyxRQUFRLFFBQVEsdUJBQXVCO0FBQ2hELFNBQVNDLG9CQUFvQixRQUFRLGNBQWM7QUFxQm5E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QyxrQkFBa0IsQ0FBQztJQUNyQztJQUNBSCxVQUFVLENBQUNFLElBQUksQ0FBQ25DLG1CQUFtQixDQUFDdEQsTUFBTSxDQUFDLENBQUM7SUFDNUN1RixVQUFVLENBQUNFLElBQUksQ0FBQ04sbUJBQW1CLENBQUEsQ0FBSyxDQUFDO0lBQ3pDLElBQUlHLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEJDLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDUixtQkFBbUIsQ0FBQSxDQUFLLENBQUM7SUFDM0M7SUFFQSxJQUFNVSxXQUFXLEdBQUdKLFVBQVUsQ0FBQ0ssTUFBTSxDQUFDLFVBQUNDLElBQUksRUFBRUMsRUFBRTtNQUFBLE9BQUtBLEVBQUUsQ0FBQ0QsSUFBSSxDQUFDO0lBQUEsR0FBRXJGLE9BQU8sQ0FBQztJQUN0RSxPQUFPbUYsV0FBZ0Q7RUFDekQsQ0FBQyxFQUFFLENBQ0RuRixPQUFPLEVBQ1A4RSxPQUFPLEVBQ1ByRixVQUFVLEVBQ1ZpQyxZQUFZLEVBQ1poQyxxQkFBcUIsRUFDckJpQyxxQkFBcUIsRUFDckJDLGdCQUFnQixFQUNoQkMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZuQyxhQUFhLEVBQ2JvQyxnQkFBZ0IsRUFDaEJDLGdCQUFnQixFQUNoQmdCLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxPQUFPLEVBQ1BDLFVBQVUsRUFDVkosSUFBSSxFQUNKbkQsU0FBUyxDQUNWLENBQUM7QUFDSiIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Db250cm9sLCBTZWxlY3Rpb25IZWFkZXJDb250cm9sIH0gZnJvbSAnLi4vZmVhdHVyZXMvU2VsZWN0aW9uQ29sdW1uJztcbmltcG9ydCB7IEV4cGFuZFRyaWdnZXIgfSBmcm9tICcuLi9mZWF0dXJlcy9FeHBhbmRUcmlnZ2VyJztcbmltcG9ydCB7IEhlYWRlckNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvSGVhZGVyQ2VsbCc7XG5pbXBvcnQgeyBCb2R5Q2VsbCB9IGZyb20gJy4uL3JlbmRlcmVycy9Cb2R5Q2VsbCc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5mdW5jdGlvbiBpc0NvbHVtbkdyb3VwKGNvbCkge1xuICAgIHJldHVybiAnY2hpbGRyZW4nIGluIGNvbCAmJiBBcnJheS5pc0FycmF5KGNvbC5jaGlsZHJlbik7XG59XG5mdW5jdGlvbiBtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykge1xuICAgIGNvbnN0IHsgZXhwYW5kYWJsZSwgbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLCB0cmlnZ2VyRXhwYW5kLCBnZXRSb3dLZXkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBjdXN0b21FeHBhbmRJY29uID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmV4cGFuZEljb247XG4gICAgY29uc3Qgcm93RXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5yb3dFeHBhbmRhYmxlO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiAnX19leHBhbmRfXycsXG4gICAgICAgICAgICAgICAgLy8gSG9ub3IgYGV4cGFuZGFibGUuY29sdW1uV2lkdGhgIC8gYGNvbHVtblRpdGxlYCAvIGBmaXhlZGA7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBhIDQ4cHggdW5sYWJlbGVkIGNvbHVtbi5cbiAgICAgICAgICAgICAgICB3aWR0aDogKF9hID0gZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCxcbiAgICAgICAgICAgICAgICB0aXRsZTogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmNvbHVtblRpdGxlLFxuICAgICAgICAgICAgICAgIGZpeGVkOiAoZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkKSA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXhwYW5kYWJsZSA9PT0gbnVsbCB8fCBleHBhbmRhYmxlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRhYmxlLmZpeGVkLFxuICAgICAgICAgICAgICAgIHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSG9ub3IgYHJvd0V4cGFuZGFibGVgOiB3aGVuIHRoZSBwcmVkaWNhdGUgZGVuaWVzIGEgcmVjb3JkLCByZW5kZXIgbm9cbiAgICAgICAgICAgICAgICAgICAgLy8gY2hldnJvbiBhdCBhbGwgKHRoZSByb3cgaXMgbm9uLWV4cGFuZGFibGUpLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYW5FeHBhbmQgPSByb3dFeHBhbmRhYmxlID8gcm93RXhwYW5kYWJsZShyZWNvcmQpIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjYW5FeHBhbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBleHBhbmRlZCA9IG1lcmdlZEV4cGFuZGVkUm93S2V5cy5pbmNsdWRlcyhyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY3VzdG9tRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeENsczogVEFCTEVfREVGQVVMVF9QUkVGSVgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IChyZWMsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckV4cGFuZChnZXRSb3dLZXkocmVjLCBpbmRleCksIHJlYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChFeHBhbmRUcmlnZ2VyLCB7IGV4cGFuZGVkOiBleHBhbmRlZCwgb25Ub2dnbGU6ICgpID0+IHRyaWdnZXJFeHBhbmQocmVjb3JkS2V5LCByZWNvcmQpIH0pKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIF07XG4gICAgfTtcbn1cbmZ1bmN0aW9uIG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcm93U2VsZWN0aW9uLCBtZXJnZWRTZWxlY3RlZFJvd0tleXMsIGNoZWNrYm94UHJvcHNNYXAsIGlzQWxsU2VsZWN0ZWQsIGlzSW5kZXRlcm1pbmF0ZSwgdHJpZ2dlclNlbGVjdGlvbiwgdHJpZ2dlclNlbGVjdEFsbCwgZ2V0Um93S2V5LCB9ID0gY29uZmlnO1xuICAgIGlmICghcm93U2VsZWN0aW9uKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBzZWxlY3Rpb25UeXBlID0gKF9hID0gcm93U2VsZWN0aW9uLnR5cGUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdjaGVja2JveCc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7IGtleTogJ19fc2VsZWN0aW9uX18nLCB3aWR0aDogKF9hID0gcm93U2VsZWN0aW9uLmNvbHVtbldpZHRoKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiA0OCwgZml4ZWQ6IHJvd1NlbGVjdGlvbi5maXhlZCA/ICdsZWZ0JyA6IHVuZGVmaW5lZCB9LCAoc2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJIZWFkZXI6ICgpID0+IChfanN4KFNlbGVjdGlvbkhlYWRlckNvbnRyb2wsIHsgY2hlY2tlZDogaXNBbGxTZWxlY3RlZCwgaW5kZXRlcm1pbmF0ZTogaXNJbmRldGVybWluYXRlLCBvbkNoYW5nZTogdHJpZ2dlclNlbGVjdEFsbCB9KSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDoge30pKSwgeyByZW5kZXI6IChfLCByZWNvcmQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEtleSA9IGdldFJvd0tleShyZWNvcmQsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChyZWNvcmRLZXkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goU2VsZWN0aW9uQ29udHJvbCwgeyB0eXBlOiBzZWxlY3Rpb25UeXBlLCBjaGVja2VkOiBtZXJnZWRTZWxlY3RlZFJvd0tleXMuaW5jbHVkZXMocmVjb3JkS2V5KSwgcm93UHJvcHM6IHJvd1Byb3BzLCBvbkNoYW5nZTogKCkgPT4gdHJpZ2dlclNlbGVjdGlvbihyZWNvcmRLZXkpIH0pKTtcbiAgICAgICAgICAgICAgICB9IH0pLFxuICAgICAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuZnVuY3Rpb24gYXJpYVNvcnRGb3Iob3JkZXIpIHtcbiAgICBpZiAob3JkZXIgPT09ICdhc2NlbmQnKVxuICAgICAgICByZXR1cm4gJ2FzY2VuZGluZyc7XG4gICAgaWYgKG9yZGVyID09PSAnZGVzY2VuZCcpXG4gICAgICAgIHJldHVybiAnZGVzY2VuZGluZyc7XG4gICAgcmV0dXJuICdub25lJztcbn1cbi8vIFN0YWJsZSBlbXB0eS1maWx0ZXIgcmVmZXJlbmNlLiBXaXRob3V0IHRoaXMsIGBmaWx0ZXJzW2tleV0gPz8gW11gIGNyZWF0ZXMgYVxuLy8gZnJlc2ggYFtdYCBvbiBldmVyeSByZW5kZXIsIHdoaWNoIHRocmFzaGVzIGBGaWx0ZXJUcmlnZ2VyYCdzXG4vLyBgdXNlRWZmZWN0KFtzZWxlY3RlZEtleXNdKWAgYW5kIGNhdXNlcyBhbiBpbmZpbml0ZSBzZXRTdGF0ZSBsb29wIGFmdGVyXG4vLyBjb25maXJtIC8gcmVzZXQuXG5jb25zdCBFTVBUWV9GSUxURVJfVkFMVUUgPSBbXTtcbmZ1bmN0aW9uIG1ha2VIZWFkZXJUcmFuc2Zvcm0oY29uZmlnKSB7XG4gICAgY29uc3QgeyBzaXplLCBzb3J0ZXIsIHNldFNvcnRlciwgZmlsdGVycywgc2V0RmlsdGVycyB9ID0gY29uZmlnO1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gY29sdW1ucy5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICBpZiAoaXNDb2x1bW5Hcm91cChjb2x1bW4pKVxuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgY29uc3QgaXNTb3J0YWJsZSA9IEJvb2xlYW4oY29sdW1uLnNvcnRlcik7XG4gICAgICAgIGNvbnN0IGFjdGl2ZU9yZGVyID0gc29ydGVyLmNvbHVtbktleSA9PT0gY29sdW1uLmtleSA/IChfYSA9IHNvcnRlci5vcmRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogbnVsbCA6IG51bGw7XG4gICAgICAgIGNvbnN0IGNvbHVtbktleSA9IGNvbHVtbi5rZXkgIT0gbnVsbCA/IFN0cmluZyhjb2x1bW4ua2V5KSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZmlsdGVyU2VsZWN0ZWQgPSBjb2x1bW5LZXkgIT0gbnVsbCA/ICgoX2IgPSBmaWx0ZXJzW2NvbHVtbktleV0pICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IEVNUFRZX0ZJTFRFUl9WQUxVRSkgOiBFTVBUWV9GSUxURVJfVkFMVUU7XG4gICAgICAgIC8vIENvbXBvc2Ugb25IZWFkZXJDZWxsIHNvIHdlIGRvbid0IGNsb2JiZXIgdXNlci1wcm92aWRlZCBhdHRyaWJ1dGVzLlxuICAgICAgICBjb25zdCB1c2VyT25IZWFkZXJDZWxsID0gY29sdW1uLm9uSGVhZGVyQ2VsbDtcbiAgICAgICAgY29uc3Qgb25IZWFkZXJDZWxsID0gKGNvbCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJBdHRycyA9IChfYSA9IHVzZXJPbkhlYWRlckNlbGwgPT09IG51bGwgfHwgdXNlck9uSGVhZGVyQ2VsbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogdXNlck9uSGVhZGVyQ2VsbChjb2wsIGluZGV4KSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge307XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB1c2VyQXR0cnMpLCAoaXNTb3J0YWJsZSA/IHsgJ2FyaWEtc29ydCc6IGFyaWFTb3J0Rm9yKGFjdGl2ZU9yZGVyKSB9IDogbnVsbCkpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBvbkZpbHRlckNoYW5nZSA9IChuZXh0KSA9PiB7XG4gICAgICAgICAgICBpZiAoY29sdW1uS2V5ID09IG51bGwpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgc2V0RmlsdGVycygoY3VycmVudCkgPT4gKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudCksIHsgW2NvbHVtbktleV06IG5leHQubGVuZ3RoID8gbmV4dCA6IG51bGwgfSkpKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY29sdW1uKSwgeyBvbkhlYWRlckNlbGwsIHRpdGxlOiBjb2x1bW4ucmVuZGVySGVhZGVyXG4gICAgICAgICAgICAgICAgPyBjb2x1bW4ucmVuZGVySGVhZGVyKHsgY29sdW1uIH0pXG4gICAgICAgICAgICAgICAgOiAoX2pzeChIZWFkZXJDZWxsLCB7IGNvbHVtbjogY29sdW1uLCBzaXplOiBzaXplLCBzb3J0T3JkZXI6IGFjdGl2ZU9yZGVyLCBvblNvcnRDbGljazogKCkgPT4gc2V0U29ydGVyKChjdXJyZW50U29ydGVyKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uS2V5OiBjb2x1bW4ua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IGN1cnJlbnRTb3J0ZXIuY29sdW1uS2V5ICE9PSBjb2x1bW4ua2V5IHx8IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBjdXJyZW50U29ydGVyLm9yZGVyID09PSAnYXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdkZXNjZW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIH0pKSwgZmlsdGVyU2VsZWN0ZWQ6IGZpbHRlclNlbGVjdGVkLCBvbkZpbHRlckNoYW5nZTogb25GaWx0ZXJDaGFuZ2UgfSkpIH0pO1xuICAgIH0pO1xufVxuY29uc3QgU1BBQ0VSX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNwYWNlcic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBzaXplLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1zID0gW107XG4gICAgICAgIGlmIChleHBhbmRhYmxlICYmIGV4cGFuZGFibGUuc2hvd0V4cGFuZENvbHVtbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChzZWxlY3Rpb25UcmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVJlbmRlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVNwYWNlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybXMucmVkdWNlKChjb2xzLCBmbikgPT4gZm4oY29scyksIGNvbHVtbnMpO1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gICAgfSwgW1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzLFxuICAgICAgICBzaXplLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgXSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
257
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvY29yZS91c2VUYWJsZUNvbHVtbnMuanMiLCJjb21wb25lbnRzL1RhYmxlL3NyYy9jb21wb25lbnRzL1RhYmxlL2NvcmUvdXNlVGFibGVDb2x1bW5zLnRzeCJdLCJuYW1lcyI6WyJqc3giLCJfanN4IiwidXNlTWVtbyIsIlNlbGVjdGlvbkNvbnRyb2wiLCJTZWxlY3Rpb25IZWFkZXJDb250cm9sIiwiRXhwYW5kVHJpZ2dlciIsIkhlYWRlckNlbGwiLCJCb2R5Q2VsbCIsIlRBQkxFX0RFRkFVTFRfUFJFRklYIiwiaXNDb2x1bW5Hcm91cCIsImNvbCIsIkFycmF5IiwiaXNBcnJheSIsImNoaWxkcmVuIiwibWFrZUV4cGFuZFRyYW5zZm9ybSIsImNvbmZpZyIsImV4cGFuZGFibGUiLCJtZXJnZWRFeHBhbmRlZFJvd0tleXMiLCJ0cmlnZ2VyRXhwYW5kIiwiZ2V0Um93S2V5IiwiY3VzdG9tRXhwYW5kSWNvbiIsImV4cGFuZEljb24iLCJyb3dFeHBhbmRhYmxlIiwiY29sdW1ucyIsIl9hIiwia2V5IiwiY2xhc3NOYW1lIiwiRVhQQU5EX0NPTFVNTl9DTFMiLCJ3aWR0aCIsImNvbHVtbldpZHRoIiwidGl0bGUiLCJjb2x1bW5UaXRsZSIsImZpeGVkIiwidW5kZWZpbmVkIiwicmVuZGVyIiwiXyIsInJlY29yZCIsImluZGV4IiwiY2FuRXhwYW5kIiwicmVjb3JkS2V5IiwiZXhwYW5kZWQiLCJpbmNsdWRlcyIsInByZWZpeENscyIsIm9uRXhwYW5kIiwicmVjIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIm9uVG9nZ2xlIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwibWFrZVNlbGVjdGlvblRyYW5zZm9ybSIsInJvd1NlbGVjdGlvbiIsIm1lcmdlZFNlbGVjdGVkUm93S2V5cyIsImNoZWNrYm94UHJvcHNNYXAiLCJpc0FsbFNlbGVjdGVkIiwiaXNJbmRldGVybWluYXRlIiwidHJpZ2dlclNlbGVjdGlvbiIsInRyaWdnZXJTZWxlY3RBbGwiLCJzZWxlY3Rpb25UeXBlIiwidHlwZSIsIk9iamVjdCIsImFzc2lnbiIsIlNFTEVDVElPTl9DT0xVTU5fQ0xTIiwicmVuZGVySGVhZGVyIiwiY2hlY2tlZCIsImluZGV0ZXJtaW5hdGUiLCJvbkNoYW5nZSIsInJvd1Byb3BzIiwiZ2V0IiwiYXJpYVNvcnRGb3IiLCJvcmRlciIsIkVNUFRZX0ZJTFRFUl9WQUxVRSIsIm1ha2VIZWFkZXJUcmFuc2Zvcm0iLCJzaXplIiwic29ydGVyIiwic2V0U29ydGVyIiwiZmlsdGVycyIsInNldEZpbHRlcnMiLCJtYXAiLCJjb2x1bW4iLCJfYiIsImlzU29ydGFibGUiLCJCb29sZWFuIiwiYWN0aXZlT3JkZXIiLCJjb2x1bW5LZXkiLCJTdHJpbmciLCJmaWx0ZXJTZWxlY3RlZCIsInVzZXJPbkhlYWRlckNlbGwiLCJvbkhlYWRlckNlbGwiLCJ1c2VyQXR0cnMiLCJvbkZpbHRlckNoYW5nZSIsIm5leHQiLCJjdXJyZW50IiwiX2RlZmluZVByb3BlcnR5IiwibGVuZ3RoIiwic29ydE9yZGVyIiwib25Tb3J0Q2xpY2siLCJjdXJyZW50U29ydGVyIiwiU1BBQ0VSX0NPTFVNTl9DTFMiLCJtYWtlU3BhY2VyVHJhbnNmb3JtIiwibWFrZVJlbmRlclRyYW5zZm9ybSIsInZhbHVlIiwidXNlVGFibGVDb2x1bW5zIiwidmFyaWFudCIsInRyYW5zZm9ybXMiLCJzaG93RXhwYW5kQ29sdW1uIiwicHVzaCIsInNlbGVjdGlvblRyYW5zZm9ybSIsInRyYW5zZm9ybWVkIiwicmVkdWNlIiwiY29scyIsImZuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxPQUFPLFFBQWtCLE9BQU87QUFDekMsU0FBU0MsZ0JBQWdCLEVBQUVDLHNCQUFzQixRQUFRLDZCQUE2QjtBQUN0RixTQUFTQyxhQUFhLFFBQVEsMkJBQTJCO0FBQ3pELFNBQVNDLFVBQVUsUUFBUSx5QkFBeUI7QUFDcEQsU0FBU0MsUUFBUSxRQUFR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SUFBSSxDQUFDNUYsbUJBQW1CLENBQUNDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDO0lBQ0EsSUFBTTRGLGtCQUFrQixHQUFHeEQsWUFBWSxHQUFHRCxzQkFBc0IsQ0FBQ25DLE1BQU0sQ0FBQyxHQUFHLElBQUk7SUFDL0UsSUFBSTRGLGtCQUFrQixFQUFFO01BQ3RCSCxVQUFVLENBQUNFLElBQUksQ0FBQ0Msa0JBQWtCLENBQUM7SUFDckM7SUFDQUgsVUFBVSxDQUFDRSxJQUFJLENBQUNsQyxtQkFBbUIsQ0FBQ3pELE1BQU0sQ0FBQyxDQUFDO0lBQzVDeUYsVUFBVSxDQUFDRSxJQUFJLENBQUNOLG1CQUFtQixDQUFBLENBQUssQ0FBQztJQUN6QyxJQUFJRyxPQUFPLEtBQUssUUFBUSxFQUFFO01BQ3hCQyxVQUFVLENBQUNFLElBQUksQ0FBQ1AsbUJBQW1CLENBQUEsQ0FBSyxDQUFDO0lBQzNDO0lBRUEsSUFBTVMsV0FBVyxHQUFHSixVQUFVLENBQUNLLE1BQU0sQ0FBQyxVQUFDQyxJQUFJLEVBQUVDLEVBQUU7TUFBQSxPQUFLQSxFQUFFLENBQUNELElBQUksQ0FBQztJQUFBLEdBQUV2RixPQUFPLENBQUM7SUFDdEUsT0FBT3FGLFdBQWdEO0VBQ3pELENBQUMsRUFBRSxDQUNEckYsT0FBTyxFQUNQZ0YsT0FBTyxFQUNQdkYsVUFBVSxFQUNWbUMsWUFBWSxFQUNabEMscUJBQXFCLEVBQ3JCbUMscUJBQXFCLEVBQ3JCQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMsZUFBZSxFQUNmckMsYUFBYSxFQUNic0MsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJpQixNQUFNLEVBQ05DLFNBQVMsRUFDVEMsT0FBTyxFQUNQQyxVQUFVLEVBQ1ZKLElBQUksRUFDSnRELFNBQVMsQ0FDVixDQUFDO0FBQ0oiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9jb3JlL3VzZVRhYmxlQ29sdW1ucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0aW9uQ29udHJvbCwgU2VsZWN0aW9uSGVhZGVyQ29udHJvbCB9IGZyb20gJy4uL2ZlYXR1cmVzL1NlbGVjdGlvbkNvbHVtbic7XG5pbXBvcnQgeyBFeHBhbmRUcmlnZ2VyIH0gZnJvbSAnLi4vZmVhdHVyZXMvRXhwYW5kVHJpZ2dlcic7XG5pbXBvcnQgeyBIZWFkZXJDZWxsIH0gZnJvbSAnLi4vcmVuZGVyZXJzL0hlYWRlckNlbGwnO1xuaW1wb3J0IHsgQm9keUNlbGwgfSBmcm9tICcuLi9yZW5kZXJlcnMvQm9keUNlbGwnO1xuaW1wb3J0IHsgVEFCTEVfREVGQVVMVF9QUkVGSVggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuZnVuY3Rpb24gaXNDb2x1bW5Hcm91cChjb2wpIHtcbiAgICByZXR1cm4gJ2NoaWxkcmVuJyBpbiBjb2wgJiYgQXJyYXkuaXNBcnJheShjb2wuY2hpbGRyZW4pO1xufVxuZnVuY3Rpb24gbWFrZUV4cGFuZFRyYW5zZm9ybShjb25maWcpIHtcbiAgICBjb25zdCB7IGV4cGFuZGFibGUsIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgdHJpZ2dlckV4cGFuZCwgZ2V0Um93S2V5IH0gPSBjb25maWc7XG4gICAgY29uc3QgY3VzdG9tRXhwYW5kSWNvbiA9IGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5leHBhbmRJY29uO1xuICAgIGNvbnN0IHJvd0V4cGFuZGFibGUgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUucm93RXhwYW5kYWJsZTtcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogJ19fZXhwYW5kX18nLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogRVhQQU5EX0NPTFVNTl9DTFMsXG4gICAgICAgICAgICAgICAgLy8gSG9ub3IgYGV4cGFuZGFibGUuY29sdW1uV2lkdGhgIC8gYGNvbHVtblRpdGxlYCAvIGBmaXhlZGA7XG4gICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB0byBhIGZpeGVkIDE2cHggY29sdW1uIChjaGV2cm9uLW9ubHksIHBhZGRpbmc6IDApLlxuICAgICAgICAgICAgICAgIHdpZHRoOiAoX2EgPSBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuY29sdW1uV2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDE2LFxuICAgICAgICAgICAgICAgIHRpdGxlOiBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuY29sdW1uVGl0bGUsXG4gICAgICAgICAgICAgICAgZml4ZWQ6IChleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQpID09PSB0cnVlXG4gICAgICAgICAgICAgICAgICAgID8gJ2xlZnQnXG4gICAgICAgICAgICAgICAgICAgIDogKGV4cGFuZGFibGUgPT09IG51bGwgfHwgZXhwYW5kYWJsZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kYWJsZS5maXhlZCkgPT09IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBleHBhbmRhYmxlID09PSBudWxsIHx8IGV4cGFuZGFibGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGV4cGFuZGFibGUuZml4ZWQsXG4gICAgICAgICAgICAgICAgcmVuZGVyOiAoXywgcmVjb3JkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBIb25vciBgcm93RXhwYW5kYWJsZWA6IHdoZW4gdGhlIHByZWRpY2F0ZSBkZW5pZXMgYSByZWNvcmQsIHJlbmRlciBub1xuICAgICAgICAgICAgICAgICAgICAvLyBjaGV2cm9uIGF0IGFsbCAodGhlIHJvdyBpcyBub24tZXhwYW5kYWJsZSkuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhbkV4cGFuZCA9IHJvd0V4cGFuZGFibGUgPyByb3dFeHBhbmRhYmxlKHJlY29yZCkgOiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbkV4cGFuZClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRLZXkgPSBnZXRSb3dLZXkocmVjb3JkLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4cGFuZGVkID0gbWVyZ2VkRXhwYW5kZWRSb3dLZXlzLmluY2x1ZGVzKHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjdXN0b21FeHBhbmRJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VzdG9tRXhwYW5kSWNvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4Q2xzOiBUQUJMRV9ERUZBVUxUX1BSRUZJWCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBhbmRlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwYW5kYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkV4cGFuZDogKHJlYywgZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyRXhwYW5kKGdldFJvd0tleShyZWMsIGluZGV4KSwgcmVjKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KEV4cGFuZFRyaWdnZXIsIHsgZXhwYW5kZWQ6IGV4cGFuZGVkLCBvblRvZ2dsZTogKCkgPT4gdHJpZ2dlckV4cGFuZChyZWNvcmRLZXksIHJlY29yZCkgfSkpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uY29sdW1ucyxcbiAgICAgICAgXTtcbiAgICB9O1xufVxuZnVuY3Rpb24gbWFrZVNlbGVjdGlvblRyYW5zZm9ybShjb25maWcpIHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyByb3dTZWxlY3Rpb24sIG1lcmdlZFNlbGVjdGVkUm93S2V5cywgY2hlY2tib3hQcm9wc01hcCwgaXNBbGxTZWxlY3RlZCwgaXNJbmRldGVybWluYXRlLCB0cmlnZ2VyU2VsZWN0aW9uLCB0cmlnZ2VyU2VsZWN0QWxsLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgaWYgKCFyb3dTZWxlY3Rpb24pXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHNlbGVjdGlvblR5cGUgPSAoX2EgPSByb3dTZWxlY3Rpb24udHlwZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2NoZWNrYm94JztcbiAgICByZXR1cm4gKGNvbHVtbnMpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHsga2V5OiAnX19zZWxlY3Rpb25fXycsIGNsYXNzTmFtZTogU0VMRUNUSU9OX0NPTFVNTl9DTFMsIHdpZHRoOiAoX2EgPSByb3dTZWxlY3Rpb24uY29sdW1uV2lkdGgpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IDE2LCBmaXhlZDogcm93U2VsZWN0aW9uLmZpeGVkID8gJ2xlZnQnIDogdW5kZWZpbmVkIH0sIChzZWxlY3Rpb25UeXBlID09PSAnY2hlY2tib3gnXG4gICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlckhlYWRlcjogKCkgPT4gKF9qc3goU2VsZWN0aW9uSGVhZGVyQ29udHJvbCwgeyBjaGVja2VkOiBpc0FsbFNlbGVjdGVkLCBpbmRldGVybWluYXRlOiBpc0luZGV0ZXJtaW5hdGUsIG9uQ2hhbmdlOiB0cmlnZ2VyU2VsZWN0QWxsIH0pKSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB7fSkpLCB7IHJlbmRlcjogKF8sIHJlY29yZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkS2V5ID0gZ2V0Um93S2V5KHJlY29yZCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dQcm9wcyA9IGNoZWNrYm94UHJvcHNNYXAuZ2V0KHJlY29yZEtleSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChTZWxlY3Rpb25Db250cm9sLCB7IHR5cGU6IHNlbGVjdGlvblR5cGUsIGNoZWNrZWQ6IG1lcmdlZFNlbGVjdGVkUm93S2V5cy5pbmNsdWRlcyhyZWNvcmRLZXkpLCByb3dQcm9wczogcm93UHJvcHMsIG9uQ2hhbmdlOiAoKSA9PiB0cmlnZ2VyU2VsZWN0aW9uKHJlY29yZEtleSkgfSkpO1xuICAgICAgICAgICAgICAgIH0gfSksXG4gICAgICAgICAgICAuLi5jb2x1bW5zLFxuICAgICAgICBdO1xuICAgIH07XG59XG5mdW5jdGlvbiBhcmlhU29ydEZvcihvcmRlcikge1xuICAgIGlmIChvcmRlciA9PT0gJ2FzY2VuZCcpXG4gICAgICAgIHJldHVybiAnYXNjZW5kaW5nJztcbiAgICBpZiAob3JkZXIgPT09ICdkZXNjZW5kJylcbiAgICAgICAgcmV0dXJuICdkZXNjZW5kaW5nJztcbiAgICByZXR1cm4gJ25vbmUnO1xufVxuLy8gU3RhYmxlIGVtcHR5LWZpbHRlciByZWZlcmVuY2UuIFdpdGhvdXQgdGhpcywgYGZpbHRlcnNba2V5XSA/PyBbXWAgY3JlYXRlcyBhXG4vLyBmcmVzaCBgW11gIG9uIGV2ZXJ5IHJlbmRlciwgd2hpY2ggdGhyYXNoZXMgYEZpbHRlclRyaWdnZXJgJ3Ncbi8vIGB1c2VFZmZlY3QoW3NlbGVjdGVkS2V5c10pYCBhbmQgY2F1c2VzIGFuIGluZmluaXRlIHNldFN0YXRlIGxvb3AgYWZ0ZXJcbi8vIGNvbmZpcm0gLyByZXNldC5cbmNvbnN0IEVNUFRZX0ZJTFRFUl9WQUxVRSA9IFtdO1xuZnVuY3Rpb24gbWFrZUhlYWRlclRyYW5zZm9ybShjb25maWcpIHtcbiAgICBjb25zdCB7IHNpemUsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICBjb25zdCBpc1NvcnRhYmxlID0gQm9vbGVhbihjb2x1bW4uc29ydGVyKTtcbiAgICAgICAgY29uc3QgYWN0aXZlT3JkZXIgPSBzb3J0ZXIuY29sdW1uS2V5ID09PSBjb2x1bW4ua2V5ID8gKF9hID0gc29ydGVyLm9yZGVyKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBudWxsIDogbnVsbDtcbiAgICAgICAgY29uc3QgY29sdW1uS2V5ID0gY29sdW1uLmtleSAhPSBudWxsID8gU3RyaW5nKGNvbHVtbi5rZXkpIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBmaWx0ZXJTZWxlY3RlZCA9IGNvbHVtbktleSAhPSBudWxsID8gKChfYiA9IGZpbHRlcnNbY29sdW1uS2V5XSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogRU1QVFlfRklMVEVSX1ZBTFVFKSA6IEVNUFRZX0ZJTFRFUl9WQUxVRTtcbiAgICAgICAgLy8gQ29tcG9zZSBvbkhlYWRlckNlbGwgc28gd2UgZG9uJ3QgY2xvYmJlciB1c2VyLXByb3ZpZGVkIGF0dHJpYnV0ZXMuXG4gICAgICAgIGNvbnN0IHVzZXJPbkhlYWRlckNlbGwgPSBjb2x1bW4ub25IZWFkZXJDZWxsO1xuICAgICAgICBjb25zdCBvbkhlYWRlckNlbGwgPSAoY29sLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3QgdXNlckF0dHJzID0gKF9hID0gdXNlck9uSGVhZGVyQ2VsbCA9PT0gbnVsbCB8fCB1c2VyT25IZWFkZXJDZWxsID09PSB2b2lkIDAgPyB2b2lkIDAgOiB1c2VyT25IZWFkZXJDZWxsKGNvbCwgaW5kZXgpKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiB7fTtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHVzZXJBdHRycyksIChpc1NvcnRhYmxlID8geyAnYXJpYS1zb3J0JzogYXJpYVNvcnRGb3IoYWN0aXZlT3JkZXIpIH0gOiBudWxsKSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9uRmlsdGVyQ2hhbmdlID0gKG5leHQpID0+IHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5LZXkgPT0gbnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBzZXRGaWx0ZXJzKChjdXJyZW50KSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjdXJyZW50KSwgeyBbY29sdW1uS2V5XTogbmV4dC5sZW5ndGggPyBuZXh0IDogbnVsbCB9KSkpO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IG9uSGVhZGVyQ2VsbCwgdGl0bGU6IGNvbHVtbi5yZW5kZXJIZWFkZXJcbiAgICAgICAgICAgICAgICA/IGNvbHVtbi5yZW5kZXJIZWFkZXIoeyBjb2x1bW4gfSlcbiAgICAgICAgICAgICAgICA6IChfanN4KEhlYWRlckNlbGwsIHsgY29sdW1uOiBjb2x1bW4sIHNpemU6IHNpemUsIHNvcnRPcmRlcjogYWN0aXZlT3JkZXIsIG9uU29ydENsaWNrOiAoKSA9PiBzZXRTb3J0ZXIoKGN1cnJlbnRTb3J0ZXIpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5LZXk6IGNvbHVtbi5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBvcmRlcjogY3VycmVudFNvcnRlci5jb2x1bW5LZXkgIT09IGNvbHVtbi5rZXkgfHwgY3VycmVudFNvcnRlci5vcmRlciA9PT0gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2FzY2VuZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRTb3J0ZXIub3JkZXIgPT09ICdhc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2Rlc2NlbmQnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSkpLCBmaWx0ZXJTZWxlY3RlZDogZmlsdGVyU2VsZWN0ZWQsIG9uRmlsdGVyQ2hhbmdlOiBvbkZpbHRlckNoYW5nZSB9KSkgfSk7XG4gICAgfSk7XG59XG5jb25zdCBTUEFDRVJfQ09MVU1OX0NMUyA9ICdvbS1jb21wb25lbnQtdWktdGFibGUtY2VsbC0tc3BhY2VyJztcbmNvbnN0IEVYUEFORF9DT0xVTU5fQ0xTID0gJ29tLWNvbXBvbmVudC11aS10YWJsZS1jZWxsLS1leHBhbmQnO1xuY29uc3QgU0VMRUNUSU9OX0NPTFVNTl9DTFMgPSAnb20tY29tcG9uZW50LXVpLXRhYmxlLWNlbGwtLXNlbGVjdGlvbic7XG5mdW5jdGlvbiBtYWtlU3BhY2VyVHJhbnNmb3JtKCkge1xuICAgIHJldHVybiAoY29sdW1ucykgPT4gW1xuICAgICAgICB7IGtleTogJ19fc3BhY2VyX3N0YXJ0X18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgIHsga2V5OiAnX19zcGFjZXJfZW5kX18nLCB3aWR0aDogMTYsIHRpdGxlOiAnJywgY2xhc3NOYW1lOiBTUEFDRVJfQ09MVU1OX0NMUywgcmVuZGVyOiAoKSA9PiBudWxsIH0sXG4gICAgXTtcbn1cbmZ1bmN0aW9uIG1ha2VSZW5kZXJUcmFuc2Zvcm0oKSB7XG4gICAgcmV0dXJuIChjb2x1bW5zKSA9PiBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICAgIGlmIChpc0NvbHVtbkdyb3VwKGNvbHVtbikpXG4gICAgICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBjb2x1bW4pLCB7IHJlbmRlcjogKHZhbHVlLCByZWNvcmQsIGluZGV4KSA9PiBCb2R5Q2VsbCh7XG4gICAgICAgICAgICAgICAgY29sdW1uLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgIH0pIH0pO1xuICAgIH0pO1xufVxuLyoqXG4gKiBSZXR1cm5zIGNvbHVtbnMgcmVhZHkgdG8gYmUgcGFzc2VkIHRvIHRoZSB0YWJsZSBrZXJuZWwuXG4gKlxuICogVGhlIHJldHVybmVkIHNoYXBlIElTIHN0cnVjdHVyYWxseSB0aGUga2VybmVsJ3MgYENvbHVtbnNUeXBlPFQ+YDpcbiAqICAgLSBFdmVyeSBsZWFmIGNvbHVtbidzIGByZW5kZXJgIGlzIHJlcGxhY2VkIGJ5IGBtYWtlUmVuZGVyVHJhbnNmb3JtYCwgd2hpY2hcbiAqICAgICBhbHdheXMgcmV0dXJucyBhIGBSZWFjdE5vZGVgIChCb2R5Q2VsbCBoYW5kbGVzIGBUYWJsZUNlbGxDb250ZW50VmFsdWVgIC9cbiAqICAgICBgVGFibGVSZW5kZXJlZENlbGxgIGV4dHJhcyBhbmQgZW1pdHMgUmVhY3ROb2RlL1JlbmRlcmVkQ2VsbCkuXG4gKiAgIC0gRXZlcnkgbGVhZiBjb2x1bW4ncyBgdGl0bGVgIGlzIGVpdGhlciBhIFJlYWN0Tm9kZSBvciByZXBsYWNlZCBieVxuICogICAgIGA8SGVhZGVyQ2VsbCAvPmAuXG4gKiBCZWNhdXNlIFRTIGNhbid0IHRyYWNrIHRoYXQgdGhvc2UgcmVwbGFjZW1lbnRzIGhhdmUgaGFwcGVuZWQgYWNyb3NzIHRoZVxuICogYHRyYW5zZm9ybXMucmVkdWNlYCBjaGFpbiwgYSBzaW5nbGUgaW50ZXJuYWwgY2FzdCBpcyByZXF1aXJlZCDigJQgY2FsbCBzaXRlcyBub1xuICogbG9uZ2VyIG5lZWQgdGhlaXIgb3duIGBhcyB1bmtub3duIGFzIEludGVybmFsQ29sdW1uc1R5cGU8VD5gIGNhc3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJsZUNvbHVtbnMoY29uZmlnKSB7XG4gICAgY29uc3QgeyBjb2x1bW5zLCB2YXJpYW50LCBleHBhbmRhYmxlLCByb3dTZWxlY3Rpb24sIG1lcmdlZEV4cGFuZGVkUm93S2V5cywgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLCBjaGVja2JveFByb3BzTWFwLCBpc0FsbFNlbGVjdGVkLCBpc0luZGV0ZXJtaW5hdGUsIHRyaWdnZXJFeHBhbmQsIHRyaWdnZXJTZWxlY3Rpb24sIHRyaWdnZXJTZWxlY3RBbGwsIHNvcnRlciwgc2V0U29ydGVyLCBmaWx0ZXJzLCBzZXRGaWx0ZXJzLCBzaXplLCBnZXRSb3dLZXksIH0gPSBjb25maWc7XG4gICAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1zID0gW107XG4gICAgICAgIGlmIChleHBhbmRhYmxlICYmIGV4cGFuZGFibGUuc2hvd0V4cGFuZENvbHVtbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlRXhwYW5kVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblRyYW5zZm9ybSA9IHJvd1NlbGVjdGlvbiA/IG1ha2VTZWxlY3Rpb25UcmFuc2Zvcm0oY29uZmlnKSA6IG51bGw7XG4gICAgICAgIGlmIChzZWxlY3Rpb25UcmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybXMucHVzaChzZWxlY3Rpb25UcmFuc2Zvcm0pO1xuICAgICAgICB9XG4gICAgICAgIHRyYW5zZm9ybXMucHVzaChtYWtlSGVhZGVyVHJhbnNmb3JtKGNvbmZpZykpO1xuICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVJlbmRlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgaWYgKHZhcmlhbnQgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm1zLnB1c2gobWFrZVNwYWNlclRyYW5zZm9ybSgpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZCA9IHRyYW5zZm9ybXMucmVkdWNlKChjb2xzLCBmbikgPT4gZm4oY29scyksIGNvbHVtbnMpO1xuICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWQ7XG4gICAgfSwgW1xuICAgICAgICBjb2x1bW5zLFxuICAgICAgICB2YXJpYW50LFxuICAgICAgICBleHBhbmRhYmxlLFxuICAgICAgICByb3dTZWxlY3Rpb24sXG4gICAgICAgIG1lcmdlZEV4cGFuZGVkUm93S2V5cyxcbiAgICAgICAgbWVyZ2VkU2VsZWN0ZWRSb3dLZXlzLFxuICAgICAgICBjaGVja2JveFByb3BzTWFwLFxuICAgICAgICBpc0FsbFNlbGVjdGVkLFxuICAgICAgICBpc0luZGV0ZXJtaW5hdGUsXG4gICAgICAgIHRyaWdnZXJFeHBhbmQsXG4gICAgICAgIHRyaWdnZXJTZWxlY3Rpb24sXG4gICAgICAgIHRyaWdnZXJTZWxlY3RBbGwsXG4gICAgICAgIHNvcnRlcixcbiAgICAgICAgc2V0U29ydGVyLFxuICAgICAgICBmaWx0ZXJzLFxuICAgICAgICBzZXRGaWx0ZXJzLFxuICAgICAgICBzaXplLFxuICAgICAgICBnZXRSb3dLZXksXG4gICAgXSk7XG59IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -4,12 +4,14 @@ import { TABLE_DEFAULT_PREFIX } from '../constants';
4
4
  export var ExpandTrigger = function ExpandTrigger(_ref) {
5
5
  var expanded = _ref.expanded,
6
6
  onToggle = _ref.onToggle;
7
- return _jsx("button", {
8
- role: 'button',
9
- type: "button",
7
+ return _jsx("span", {
8
+ role: "button",
10
9
  "aria-label": "Expand row",
11
10
  "aria-expanded": expanded,
12
11
  className: "".concat(TABLE_DEFAULT_PREFIX, "-expand-trigger"),
12
+ style: {
13
+ transform: expanded ? 'rotate(180deg)' : undefined
14
+ },
13
15
  onClick: function onClick(e) {
14
16
  // Without stopPropagation, clicks on the chevron would also bubble up
15
17
  // to the row, double-firing the kernel's onTriggerExpand handler when
@@ -21,12 +23,8 @@ export var ExpandTrigger = function ExpandTrigger(_ref) {
21
23
  children: _jsx(Icons, {
22
24
  name: "chevronDown",
23
25
  size: 16,
24
- color: "currentColor",
25
- className: "".concat(TABLE_DEFAULT_PREFIX, "-expand-trigger__icon"),
26
- style: {
27
- transform: expanded ? 'rotate(180deg)' : undefined
28
- }
26
+ color: "currentColor"
29
27
  })
30
28
  });
31
29
  };
32
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIkljb25zIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJFeHBhbmRUcmlnZ2VyIiwiX3JlZiIsImV4cGFuZGVkIiwib25Ub2dnbGUiLCJyb2xlIiwidHlwZSIsImNsYXNzTmFtZSIsImNvbmNhdCIsIm9uQ2xpY2siLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2hpbGRyZW4iLCJuYW1lIiwic2l6ZSIsImNvbG9yIiwic3R5bGUiLCJ0cmFuc2Zvcm0iLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxRQUFRLG1CQUFtQjtBQ0EvQyxTQUFTQyxLQUFLLFFBQVEsYUFBYTtBQUNuQyxTQUFTQyxvQkFBb0IsUUFBUSxjQUFjO0FBRW5ELE9BQU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBQyxJQUFBO0VBQUEsSUFDeEJDLFFBQVEsR0FBQUQsSUFBQSxDQUFSQyxRQUFRO0lBQ1JDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0VBQUEsT0FLUk4sSUFBQSxDQUFBLFFBQUEsRUFBQTtJQUNFTyxJQUFJLEVBQUMsUUFBUTtJQUNiQyxJQUFJLEVBQUMsUUFBUTtJQUFBLFlBQUEsRUFDRixZQUFZO0lBQUEsZUFBQSxFQUNSSCxRQUFRO0lBQ3ZCSSxTQUFTLEtBQUFDLE1BQUEsQ0FBS1Isb0JBQW9CLG9CQUFpQjtJQUNuRFMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdDLENBQUMsRUFBSTtNQUNiO01BQ0E7TUFDQTtNQUNBO01BQ0FBLENBQUMsQ0FBQ0MsZUFBZSxDQUFBLENBQUU7TUFDbkJQLFFBQVEsQ0FBQSxDQUFFO0lBQ1osQ0FBQztJQUFBUSxRQUFBLEVBRURkLElBQUEsQ0FBQ0MsS0FBSyxFQUFBO01BQ0pjLElBQUksRUFBQyxhQUFhO01BQ2xCQyxJQUFJLEVBQUUsRUFBRTtNQUNSQyxLQUFLLEVBQUMsY0FBYztNQUNwQlIsU0FBUyxLQUFBQyxNQUFBLENBQUtSLG9CQUFvQiwwQkFBdUI7TUFDekRnQixLQUFLLEVBQUU7UUFDTEMsU0FBUyxFQUFFZCxRQUFRLEdBQUcsZ0JBQWdCLEdBQUdlO01EbkJ6QztJQ29CRCxDQUFBO0VBQ0QsQ0FBQSxDQUNLO0FBQUEsQ0FDViIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2ZlYXR1cmVzL0V4cGFuZFRyaWdnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBUQUJMRV9ERUZBVUxUX1BSRUZJWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5leHBvcnQgY29uc3QgRXhwYW5kVHJpZ2dlciA9ICh7IGV4cGFuZGVkLCBvblRvZ2dsZSwgfSkgPT4gKF9qc3goXCJidXR0b25cIiwgeyByb2xlOiAnYnV0dG9uJywgdHlwZTogXCJidXR0b25cIiwgXCJhcmlhLWxhYmVsXCI6IFwiRXhwYW5kIHJvd1wiLCBcImFyaWEtZXhwYW5kZWRcIjogZXhwYW5kZWQsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyYCwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgLy8gV2l0aG91dCBzdG9wUHJvcGFnYXRpb24sIGNsaWNrcyBvbiB0aGUgY2hldnJvbiB3b3VsZCBhbHNvIGJ1YmJsZSB1cFxuICAgICAgICAvLyB0byB0aGUgcm93LCBkb3VibGUtZmlyaW5nIHRoZSBrZXJuZWwncyBvblRyaWdnZXJFeHBhbmQgaGFuZGxlciB3aGVuXG4gICAgICAgIC8vIGBleHBhbmRSb3dCeUNsaWNrYCBpcyBlbmFibGVkIChuZXQgZWZmZWN0OiBubyBjaGFuZ2UpLiBNYXRjaCB0aGVcbiAgICAgICAgLy8gYmVoYXZpb3Igb2YgdGhlIGN1c3RvbSBleHBhbmRJY29uIHBhdGggaW4gYHVzZVRhYmxlQ29sdW1uc2AuXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgfSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIsIGNsYXNzTmFtZTogYCR7VEFCTEVfREVGQVVMVF9QUkVGSVh9LWV4cGFuZC10cmlnZ2VyX19pY29uYCwgc3R5bGU6IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogZXhwYW5kZWQgPyAncm90YXRlKDE4MGRlZyknIDogdW5kZWZpbmVkLFxuICAgICAgICB9IH0pIH0pKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
30
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsImNvbXBvbmVudHMvVGFibGUvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsIkljb25zIiwiVEFCTEVfREVGQVVMVF9QUkVGSVgiLCJFeHBhbmRUcmlnZ2VyIiwiX3JlZiIsImV4cGFuZGVkIiwib25Ub2dnbGUiLCJyb2xlIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic3R5bGUiLCJ0cmFuc2Zvcm0iLCJ1bmRlZmluZWQiLCJvbkNsaWNrIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsImNoaWxkcmVuIiwibmFtZSIsInNpemUiLCJjb2xvciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DLFNBQVNDLEtBQUssUUFBUSxhQUFhO0FBQ25DLFNBQVNDLG9CQUFvQixRQUFRLGNBQWM7QUFFbkQsT0FBTyxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUFDLElBQUE7RUFBQSxJQUN4QkMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFDUkMsUUFBUSxHQUFBRixJQUFBLENBQVJFLFFBQVE7RUFBQSxPQUtSTixJQUFBLENBQUEsTUFBQSxFQUFBO0lBQ0VPLElBQUksRUFBQyxRQUFRO0lBQUEsWUFBQSxFQUNGLFlBQVk7SUFBQSxlQUFBLEVBQ1JGLFFBQVE7SUFDdkJHLFNBQVMsS0FBQUMsTUFBQSxDQUFLUCxvQkFBb0Isb0JBQWlCO0lBQ25EUSxLQUFLLEVBQUU7TUFDTEMsU0FBUyxFQUFFTixRQUFRLEdBQUcsZ0JBQWdCLEdBQUdPO0lEWDNDLENDWUM7SUFDREMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUdDLENBQUMsRUFBSTtNQUNiO01BQ0E7TUFDQTtNQUNBO01BQ0FBLENBQUMsQ0FBQ0MsZUFBZSxDQUFBLENBQUU7TUFDbkJULFFBQVEsQ0FBQSxDQUFFO0lBQ1osQ0FBQztJQUFBVSxRQUFBLEVBRURoQixJQUFBLENBQUNDLEtBQUssRUFBQTtNQUFDZ0IsSUFBSSxFQUFDLGFBQWE7TUFBQ0MsSUFBSSxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFDO0lBQWMsQ0FBQTtFQUFHLENBQUEsQ0FDdEQ7QUFBQSxDQUNSIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvRXhwYW5kVHJpZ2dlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL0ljb25zJztcbmltcG9ydCB7IFRBQkxFX0RFRkFVTFRfUFJFRklYIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmV4cG9ydCBjb25zdCBFeHBhbmRUcmlnZ2VyID0gKHsgZXhwYW5kZWQsIG9uVG9nZ2xlLCB9KSA9PiAoX2pzeChcInNwYW5cIiwgeyByb2xlOiBcImJ1dHRvblwiLCBcImFyaWEtbGFiZWxcIjogXCJFeHBhbmQgcm93XCIsIFwiYXJpYS1leHBhbmRlZFwiOiBleHBhbmRlZCwgY2xhc3NOYW1lOiBgJHtUQUJMRV9ERUZBVUxUX1BSRUZJWH0tZXhwYW5kLXRyaWdnZXJgLCBzdHlsZToge1xuICAgICAgICB0cmFuc2Zvcm06IGV4cGFuZGVkID8gJ3JvdGF0ZSgxODBkZWcpJyA6IHVuZGVmaW5lZCxcbiAgICB9LCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAvLyBXaXRob3V0IHN0b3BQcm9wYWdhdGlvbiwgY2xpY2tzIG9uIHRoZSBjaGV2cm9uIHdvdWxkIGFsc28gYnViYmxlIHVwXG4gICAgICAgIC8vIHRvIHRoZSByb3csIGRvdWJsZS1maXJpbmcgdGhlIGtlcm5lbCdzIG9uVHJpZ2dlckV4cGFuZCBoYW5kbGVyIHdoZW5cbiAgICAgICAgLy8gYGV4cGFuZFJvd0J5Q2xpY2tgIGlzIGVuYWJsZWQgKG5ldCBlZmZlY3Q6IG5vIGNoYW5nZSkuIE1hdGNoIHRoZVxuICAgICAgICAvLyBiZWhhdmlvciBvZiB0aGUgY3VzdG9tIGV4cGFuZEljb24gcGF0aCBpbiBgdXNlVGFibGVDb2x1bW5zYC5cbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgb25Ub2dnbGUoKTtcbiAgICB9LCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBcImNoZXZyb25Eb3duXCIsIHNpemU6IDE2LCBjb2xvcjogXCJjdXJyZW50Q29sb3JcIiB9KSB9KSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -78,6 +78,7 @@ export function getCellProps(rowInfo, column, colIndex, indent, index) {
78
78
  // == getCellProps ==
79
79
  // ==================================================================================
80
80
  var BodyRow = function BodyRow(props) {
81
+ var _a, _b;
81
82
  if (process.env.NODE_ENV !== 'production') {
82
83
  devRenderTimes(props);
83
84
  }
@@ -148,6 +149,14 @@ var BodyRow = function BodyRow(props) {
148
149
  })
149
150
  }));
150
151
  // ======================== Expand Row =========================
152
+ // Detect the wrapper's left/right spacer columns by className so the
153
+ // expanded row can render real spacer <td>s aligned with them, instead of
154
+ // a single colSpan cell that has to fake the inset with padding.
155
+ var SPACER_CLASS_HINT = '-cell--spacer';
156
+ var firstCol = flattenColumns[0];
157
+ var lastCol = flattenColumns[flattenColumns.length - 1];
158
+ var hasSpacerColumns = Boolean(((_a = firstCol === null || firstCol === void 0 ? void 0 : firstCol.className) === null || _a === void 0 ? void 0 : _a.includes(SPACER_CLASS_HINT)) && ((_b = lastCol === null || lastCol === void 0 ? void 0 : lastCol.className) === null || _b === void 0 ? void 0 : _b.includes(SPACER_CLASS_HINT)) && firstCol !== lastCol);
159
+ var spacerClassName = hasSpacerColumns ? firstCol.className : undefined;
151
160
  var expandRowNode;
152
161
  if (rowSupportExpand && (expandedRef.current || expanded)) {
153
162
  var expandContent = expandedRowRender(record, index, indent + 1, expanded);
@@ -160,6 +169,8 @@ var BodyRow = function BodyRow(props) {
160
169
  colSpan: expandedRowInfo ? expandedRowInfo.colSpan : flattenColumns.length,
161
170
  isEmpty: false,
162
171
  stickyOffset: expandedRowInfo === null || expandedRowInfo === void 0 ? void 0 : expandedRowInfo.sticky,
172
+ injectSpacers: hasSpacerColumns,
173
+ spacerClassName: spacerClassName,
163
174
  children: expandContent
164
175
  });
165
176
  }
@@ -171,4 +182,4 @@ if (process.env.NODE_ENV !== 'production') {
171
182
  BodyRow.displayName = 'BodyRow';
172
183
  }
173
184
  export default responseImmutable(BodyRow);
174
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvQm9keVJvdy5qcyIsImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL3NyYy9jb21wb25lbnRzL1RhYmxlL2ludGVybmFsL2tlcm5lbC9Cb2R5L0JvZHlSb3cudHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNsc3giLCJSZWFjdCIsIkNlbGwiLCJyZXNwb25zZUltbXV0YWJsZSIsImRldlJlbmRlclRpbWVzIiwidXNlUm93SW5mbyIsIkV4cGFuZGVkUm93IiwiY29tcHV0ZWRFeHBhbmRlZENsYXNzTmFtZSIsImdldENlbGxQcm9wcyIsInJvd0luZm8iLCJjb2x1bW4iLCJjb2xJbmRleCIsImluZGVudCIsImluZGV4Iiwicm93S2V5cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImV4cGFuZGVkUm93T2Zmc2V0IiwiX2EiLCJyZWNvcmQiLCJwcmVmaXhDbHMiLCJjb2x1bW5zS2V5IiwiZml4ZWRJbmZvTGlzdCIsImV4cGFuZEljb25Db2x1bW5JbmRleCIsIm5lc3RFeHBhbmRhYmxlIiwiaW5kZW50U2l6ZSIsImV4cGFuZEljb24iLCJleHBhbmRlZCIsImhhc05lc3RDaGlsZHJlbiIsIm9uVHJpZ2dlckV4cGFuZCIsImV4cGFuZGFibGUiLCJleHBhbmRlZEtleXMiLCJrZXkiLCJmaXhlZEluZm8iLCJhcHBlbmRDZWxsTm9kZSIsImNoaWxkcmVuIiwic3R5bGUiLCJwYWRkaW5nTGVmdCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIm9uRXhwYW5kIiwiYWRkaXRpb25hbENlbGxQcm9wcyIsIm9uQ2VsbCIsImNhbGwiLCJfYWRkaXRpb25hbENlbGxQcm9wcyQiLCJyb3dTcGFuIiwiY3VycmVudFJvd1NwYW4iLCJpIiwicm93S2V5IiwiaGFzIiwiQm9keVJvdyIsInByb3BzIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY2xhc3NOYW1lcyIsInN0eWxlcyIsInJlbmRlckluZGV4IiwiX3Byb3BzJGluZGVudCIsIlJvd0NvbXBvbmVudCIsInJvd0NvbXBvbmVudCIsImNlbGxDb21wb25lbnQiLCJzY29wZUNlbGxDb21wb25lbnQiLCJleHBhbmRlZFJvd0luZm8iLCJmbGF0dGVuQ29sdW1ucyIsImV4cGFuZGVkUm93Q2xhc3NOYW1lIiwiZXhwYW5kZWRSb3dSZW5kZXIiLCJyb3dQcm9wcyIsInJvd1N1cHBvcnRFeHBhbmQiLCJleHBhbmRlZFJlZiIsInVzZVJlZiIsImN1cnJlbnQiLCJleHBhbmRlZENsc05hbWUiLCJiYXNlUm93Tm9kZSIsIk9iamVjdCIsImFzc2lnbiIsInJvdyIsIl9kZWZpbmVQcm9wZXJ0eSIsIm1hcCIsInJlbmRlciIsImRhdGFJbmRleCIsImNvbHVtbkNsYXNzTmFtZSIsIl9nZXRDZWxsUHJvcHMiLCJvZmZzZXQiLCJjZWxsIiwiZWxsaXBzaXMiLCJhbGlnbiIsInNjb3BlIiwicm93U2NvcGUiLCJjb21wb25lbnQiLCJzaG91bGRDZWxsVXBkYXRlIiwiYXBwZW5kTm9kZSIsImFkZGl0aW9uYWxQcm9wcyIsImV4cGFuZFJvd05vZGUiLCJleHBhbmRDb250ZW50IiwiY29sU3BhbiIsImlzRW1wdHkiLCJzdGlja3lPZmZzZXQiLCJzdGlja3kiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxRQUFRLElBQUlDLFNBQVMsRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQXJGO0FBQ0EsU0FBU0MsSUFBSSxRQUFRLE1BQU07QUFDM0IsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5QixPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxpQkFBaUIsUUFBUSx5QkFBeUI7QUFDM0QsT0FBT0MsY0FBYyxNQUFNLHlCQUF5QjtBQUNwRCxPQUFPQyxVQUFVLE1BQU0scUJBQXFCO0FBRTVDLE9B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aUIsQ0FBQy9DLE1BQU0sRUFBRVAsS0FBSyxFQUFFRCxNQUFNLEdBQUcsQ0FBQyxFQUFFZ0IsUUFBUSxDQUFDO0lBRTVFa0UsYUFBYSxHQUNYbkcsSUFBQSxDQUFDVyxXQUFXLEVBQUE7TUFDVnNCLFFBQVEsRUFBRUEsUUFBUTtNQUNsQlksU0FBUyxFQUFFeEMsSUFBSSxJQUFBdUMsTUFBQSxDQUNWbEIsU0FBUyx1QkFBQWtCLE1BQUEsQ0FDVGxCLFNBQVMsMEJBQUFrQixNQUFBLENBQXVCM0IsTUFBTSxHQUFHLENBQUMsR0FDN0M2RCxlQUFlLENBQ2hCO01BQ0RwRCxTQUFTLEVBQUVBLFNBQVM7TUFDcEJxRSxTQUFTLEVBQUU5QixZQUFZO01BQ3ZCRSxhQUFhLEVBQUVBLGFBQWE7TUFDNUJrQyxPQUFPLEVBQUVoQyxlQUFlLEdBQUdBLGVBQWUsQ0FBQ2dDLE9BQU8sR0FBRy9CLGNBQWMsQ0FBQ2pELE1BQU07TUFDMUVpRixPQUFPLEVBQUUsS0FBSztNQUNkQyxZQUFZLEVBQUVsQyxlQUFlLEtBQUEsSUFBQSxJQUFmQSxlQUFlLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQWZBLGVBQWUsQ0FBRW1DLE1BQU07TUFBQS9ELFFBQUEsRUFFcEMyRDtJQUFhLENBQUEsQ0FFakI7RUFDSDtFQUVBLE9BQ0VoRyxLQUFBLENBQUFGLFNBQUEsRUFBQTtJQUFBdUMsUUFBQSxFQUFBLENBQ0dzQyxXQUFXLEVBQ1hvQixhQUFhO0VBQUEsQ0FBQSxDQUNiO0FBRVAsQ0FBQztBQUVELElBQUl6QyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFBRTtFQUN6Q0osT0FBTyxDQUFDaUQsV0FBVyxHQUFHLFNBQVM7QUFDakM7QUFFQSxlQUFlakcsaUJBQWlCLENBQUNnRCxPQUFPLENBQUMiLCJmaWxlIjoiY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvQm9keS9Cb2R5Um93LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuLy8gQHRzLW5vY2hlY2tcbmltcG9ydCB7IGNsc3ggfSBmcm9tICdjbHN4JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDZWxsIGZyb20gJy4uL0NlbGwnO1xuaW1wb3J0IHsgcmVzcG9uc2VJbW11dGFibGUgfSBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgZGV2UmVuZGVyVGltZXMgZnJvbSAnLi4vaG9va3MvdXNlUmVuZGVyVGltZXMnO1xuaW1wb3J0IHVzZVJvd0luZm8gZnJvbSAnLi4vaG9va3MvdXNlUm93SW5mbyc7XG5pbXBvcnQgRXhwYW5kZWRSb3cgZnJvbSAnLi9FeHBhbmRlZFJvdyc7XG5pbXBvcnQgeyBjb21wdXRlZEV4cGFuZGVkQ2xhc3NOYW1lIH0gZnJvbSAnLi4vdXRpbHMvZXhwYW5kVXRpbCc7XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyA9PSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENlbGxQcm9wcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID09XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2VsbFByb3BzKHJvd0luZm8sIGNvbHVtbiwgY29sSW5kZXgsIGluZGVudCwgaW5kZXgsIHJvd0tleXMgPSBbXSwgZXhwYW5kZWRSb3dPZmZzZXQgPSAwKSB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgcmVjb3JkLCBwcmVmaXhDbHMsIGNvbHVtbnNLZXksIGZpeGVkSW5mb0xpc3QsIGV4cGFuZEljb25Db2x1bW5JbmRleCwgbmVzdEV4cGFuZGFibGUsIGluZGVudFNpemUsIGV4cGFuZEljb24sIGV4cGFuZGVkLCBoYXNOZXN0Q2hpbGRyZW4sIG9uVHJpZ2dlckV4cGFuZCwgZXhwYW5kYWJsZSwgZXhwYW5kZWRLZXlzLCB9ID0gcm93SW5mbztcbiAgICBjb25zdCBrZXkgPSBjb2x1bW5zS2V5W2NvbEluZGV4XTtcbiAgICBjb25zdCBmaXhlZEluZm8gPSBmaXhlZEluZm9MaXN0W2NvbEluZGV4XTtcbiAgICAvLyA9PT09PT09PT09PT09IFVzZWQgZm9yIG5lc3QgZXhwYW5kYWJsZSA9PT09PT09PT09PT09XG4gICAgbGV0IGFwcGVuZENlbGxOb2RlO1xuICAgIGlmIChjb2xJbmRleCA9PT0gKGV4cGFuZEljb25Db2x1bW5JbmRleCB8fCAwKSAmJiBuZXN0RXhwYW5kYWJsZSkge1xuICAgICAgICBhcHBlbmRDZWxsTm9kZSA9IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwic3BhblwiLCB7IHN0eWxlOiB7IHBhZGRpbmdMZWZ0OiBgJHtpbmRlbnRTaXplICogaW5kZW50fXB4YCB9LCBjbGFzc05hbWU6IGAke3ByZWZpeENsc30tcm93LWluZGVudCBpbmRlbnQtbGV2ZWwtJHtpbmRlbnR9YCB9KSwgZXhwYW5kSWNvbih7XG4gICAgICAgICAgICAgICAgICAgIHByZWZpeENscyxcbiAgICAgICAgICAgICAgICAgICAgZXhwYW5kZWQsXG4gICAgICAgICAgICAgICAgICAgIGV4cGFuZGFibGU6IGhhc05lc3RDaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkLFxuICAgICAgICAgICAgICAgICAgICBvbkV4cGFuZDogb25UcmlnZ2VyRXhwYW5kLFxuICAgICAgICAgICAgICAgIH0pXSB9KSk7XG4gICAgfVxuICAgIGNvbnN0IGFkZGl0aW9uYWxDZWxsUHJvcHMgPSAoKF9hID0gY29sdW1uLm9uQ2VsbCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoY29sdW1uLCByZWNvcmQsIGluZGV4KSkgfHwge307XG4gICAgLy8gRXhwYW5kYWJsZSByb3cgaGFzIG9mZnNldFxuICAgIGlmIChleHBhbmRlZFJvd09mZnNldCkge1xuICAgICAgICBjb25zdCB7IHJvd1NwYW4gPSAxIH0gPSBhZGRpdGlvbmFsQ2VsbFByb3BzO1xuICAgICAgICAvLyBGb3IgZXhwYW5kYWJsZSByb3cgd2l0aCByb3dTcGFuLFxuICAgICAgICAvLyBXZSBzaG91bGQgaW5jcmVhc2UgdGhlIHJvd1NwYW4gaWYgdGhlIHJvdyBpcyBleHBhbmRlZFxuICAgICAgICBpZiAoZXhwYW5kYWJsZSAmJiByb3dTcGFuICYmIGNvbEluZGV4IDwgZXhwYW5kZWRSb3dPZmZzZXQpIHtcbiAgICAgICAgICAgIGxldCBjdXJyZW50Um93U3BhbiA9IHJvd1NwYW47XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gaW5kZXg7IGkgPCBpbmRleCArIHJvd1NwYW47IGkgKz0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvd0tleSA9IHJvd0tleXNbaV07XG4gICAgICAgICAgICAgICAgaWYgKGV4cGFuZGVkS2V5cy5oYXMocm93S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50Um93U3BhbiArPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZGl0aW9uYWxDZWxsUHJvcHMucm93U3BhbiA9IGN1cnJlbnRSb3dTcGFuO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGtleSxcbiAgICAgICAgZml4ZWRJbmZvLFxuICAgICAgICBhcHBlbmRDZWxsTm9kZSxcbiAgICAgICAgYWRkaXRpb25hbENlbGxQcm9wczogYWRkaXRpb25hbENlbGxQcm9wcyxcbiAgICB9O1xufVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDZWxsUHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuY29uc3QgQm9keVJvdyA9IChwcm9wcykgPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGRldlJlbmRlclRpbWVzKHByb3BzKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHN0eWxlLCBjbGFzc05hbWVzLCBzdHlsZXMsIHJlY29yZCwgaW5kZXgsIHJlbmRlckluZGV4LCByb3dLZXksIHJvd0tleXMsIGluZGVudCA9IDAsIHJvd0NvbXBvbmVudDogUm93Q29tcG9uZW50LCBjZWxsQ29tcG9uZW50LCBzY29wZUNlbGxDb21wb25lbnQsIGV4cGFuZGVkUm93SW5mbywgfSA9IHByb3BzO1xuICAgIGNvbnN0IHJvd0luZm8gPSB1c2VSb3dJbmZvKHJlY29yZCwgcm93S2V5LCBpbmRleCwgaW5kZW50KTtcbiAgICBjb25zdCB7IHByZWZpeENscywgZmxhdHRlbkNvbHVtbnMsIGV4cGFuZGVkUm93Q2xhc3NOYW1lLCBleHBhbmRlZFJvd1JlbmRlciwgcm93UHJvcHMsIFxuICAgIC8vIE1pc2NcbiAgICBleHBhbmRlZCwgcm93U3VwcG9ydEV4cGFuZCwgfSA9IHJvd0luZm87XG4gICAgLy8gRm9yY2UgcmVuZGVyIGV4cGFuZCByb3cgaWYgZXhwYW5kZWQgYmVmb3JlXG4gICAgY29uc3QgZXhwYW5kZWRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGV4cGFuZGVkUmVmLmN1cnJlbnQgfHwgKGV4cGFuZGVkUmVmLmN1cnJlbnQgPSBleHBhbmRlZCk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV2UmVuZGVyVGltZXMocHJvcHMpO1xuICAgIH1cbiAgICAvLyDoi6XmsqHmnIkgZXhwYW5kZWRSb3dSZW5kZXIg5Y+C5pWwLCDlsIbkvb/nlKggYmFzZVJvd05vZGUg5riy5p+TIENoaWxkcmVuXG4gICAgLy8g5q2k5pe25aaC5p6cIGxldmVsID4gMSDliJnor7TmmI7mmK8gZXhwYW5kZWRSb3csIOS4gOagt+mcgOimgemZhOWKoCBjb21wdXRlZEV4cGFuZGVkUm93Q2xhc3NOYW1lXG4gICAgY29uc3QgZXhwYW5kZWRDbHNOYW1lID0gY29tcHV0ZWRFeHBhbmRlZENsYXNzTmFtZShleHBhbmRlZFJvd0NsYXNzTmFtZSwgcmVjb3JkLCBpbmRleCwgaW5kZW50KTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gQmFzZSB0ciByb3cgPT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgYmFzZVJvd05vZGUgPSAoX2pzeChSb3dDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJvd1Byb3BzLCB7IFwiZGF0YS1yb3cta2V5XCI6IHJvd0tleSwgY2xhc3NOYW1lOiBjbHN4KGNsYXNzTmFtZSwgYCR7cHJlZml4Q2xzfS1yb3dgLCBgJHtwcmVmaXhDbHN9LXJvdy1sZXZlbC0ke2luZGVudH1gLCByb3dQcm9wcyA9PT0gbnVsbCB8fCByb3dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93UHJvcHMuY2xhc3NOYW1lLCBjbGFzc05hbWVzLnJvdywgeyBbZXhwYW5kZWRDbHNOYW1lXTogaW5kZW50ID49IDEgfSksIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc3R5bGUpLCByb3dQcm9wcyA9PT0gbnVsbCB8fCByb3dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93UHJvcHMuc3R5bGUpLCBzdHlsZXMucm93KSwgY2hpbGRyZW46IGZsYXR0ZW5Db2x1bW5zLm1hcCgoY29sdW1uLCBjb2xJbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyByZW5kZXIsIGRhdGFJbmRleCwgY2xhc3NOYW1lOiBjb2x1bW5DbGFzc05hbWUgfSA9IGNvbHVtbjtcbiAgICAgICAgICAgIGNvbnN0IHsga2V5LCBmaXhlZEluZm8sIGFwcGVuZENlbGxOb2RlLCBhZGRpdGlvbmFsQ2VsbFByb3BzIH0gPSBnZXRDZWxsUHJvcHMocm93SW5mbywgY29sdW1uLCBjb2xJbmRleCwgaW5kZW50LCBpbmRleCwgcm93S2V5cywgZXhwYW5kZWRSb3dJbmZvID09PSBudWxsIHx8IGV4cGFuZGVkUm93SW5mbyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kZWRSb3dJbmZvLm9mZnNldCk7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goQ2VsbCwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogY2xzeChjb2x1bW5DbGFzc05hbWUsIGNsYXNzTmFtZXMuY2VsbCksIHN0eWxlOiBzdHlsZXMuY2VsbCwgZWxsaXBzaXM6IGNvbHVtbi5lbGxpcHNpcywgYWxpZ246IGNvbHVtbi5hbGlnbiwgc2NvcGU6IGNvbHVtbi5yb3dTY29wZSwgY29tcG9uZW50OiBjb2x1bW4ucm93U2NvcGUgPyBzY29wZUNlbGxDb21wb25lbnQgOiBjZWxsQ29tcG9uZW50LCBwcmVmaXhDbHM6IHByZWZpeENscywgcmVjb3JkOiByZWNvcmQsIGluZGV4OiBpbmRleCwgcmVuZGVySW5kZXg6IHJlbmRlckluZGV4LCBkYXRhSW5kZXg6IGRhdGFJbmRleCwgcmVuZGVyOiByZW5kZXIsIHNob3VsZENlbGxVcGRhdGU6IGNvbHVtbi5zaG91bGRDZWxsVXBkYXRlIH0sIGZpeGVkSW5mbywgeyBhcHBlbmROb2RlOiBhcHBlbmRDZWxsTm9kZSwgYWRkaXRpb25hbFByb3BzOiBhZGRpdGlvbmFsQ2VsbFByb3BzIH0pLCBrZXkpKTtcbiAgICAgICAgfSkgfSkpKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gRXhwYW5kIFJvdyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgbGV0IGV4cGFuZFJvd05vZGU7XG4gICAgaWYgKHJvd1N1cHBvcnRFeHBhbmQgJiYgKGV4cGFuZGVkUmVmLmN1cnJlbnQgfHwgZXhwYW5kZWQpKSB7XG4gICAgICAgIGNvbnN0IGV4cGFuZENvbnRlbnQgPSBleHBhbmRlZFJvd1JlbmRlcihyZWNvcmQsIGluZGV4LCBpbmRlbnQgKyAxLCBleHBhbmRlZCk7XG4gICAgICAgIGV4cGFuZFJvd05vZGUgPSAoX2pzeChFeHBhbmRlZFJvdywgeyBleHBhbmRlZDogZXhwYW5kZWQsIGNsYXNzTmFtZTogY2xzeChgJHtwcmVmaXhDbHN9LWV4cGFuZGVkLXJvd2AsIGAke3ByZWZpeENsc30tZXhwYW5kZWQtcm93LWxldmVsLSR7aW5kZW50ICsgMX1gLCBleHBhbmRlZENsc05hbWUpLCBwcmVmaXhDbHM6IHByZWZpeENscywgY29tcG9uZW50OiBSb3dDb21wb25lbnQsIGNlbGxDb21wb25lbnQ6IGNlbGxDb21wb25lbnQsIGNvbFNwYW46IGV4cGFuZGVkUm93SW5mbyA/IGV4cGFuZGVkUm93SW5mby5jb2xTcGFuIDogZmxhdHRlbkNvbHVtbnMubGVuZ3RoLCBpc0VtcHR5OiBmYWxzZSwgc3RpY2t5T2Zmc2V0OiBleHBhbmRlZFJvd0luZm8gPT09IG51bGwgfHwgZXhwYW5kZWRSb3dJbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRlZFJvd0luZm8uc3RpY2t5LCBjaGlsZHJlbjogZXhwYW5kQ29udGVudCB9KSk7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbYmFzZVJvd05vZGUsIGV4cGFuZFJvd05vZGVdIH0pKTtcbn07XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIEJvZHlSb3cuZGlzcGxheU5hbWUgPSAnQm9keVJvdyc7XG59XG5leHBvcnQgZGVmYXVsdCByZXNwb25zZUltbXV0YWJsZShCb2R5Um93KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
185
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvQm9keVJvdy5qcyIsImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL3NyYy9jb21wb25lbnRzL1RhYmxlL2ludGVybmFsL2tlcm5lbC9Cb2R5L0JvZHlSb3cudHN4Il0sIm5hbWVzIjpbImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsImNsc3giLCJSZWFjdCIsIkNlbGwiLCJyZXNwb25zZUltbXV0YWJsZSIsImRldlJlbmRlclRpbWVzIiwidXNlUm93SW5mbyIsIkV4cGFuZGVkUm93IiwiY29tcHV0ZWRFeHBhbmRlZENsYXNzTmFtZSIsImdldENlbGxQcm9wcyIsInJvd0luZm8iLCJjb2x1bW4iLCJjb2xJbmRleCIsImluZGVudCIsImluZGV4Iiwicm93S2V5cyIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImV4cGFuZGVkUm93T2Zmc2V0IiwiX2EiLCJyZWNvcmQiLCJwcmVmaXhDbHMiLCJjb2x1bW5zS2V5IiwiZml4ZWRJbmZvTGlzdCIsImV4cGFuZEljb25Db2x1bW5JbmRleCIsIm5lc3RFeHBhbmRhYmxlIiwiaW5kZW50U2l6ZSIsImV4cGFuZEljb24iLCJleHBhbmRlZCIsImhhc05lc3RDaGlsZHJlbiIsIm9uVHJpZ2dlckV4cGFuZCIsImV4cGFuZGFibGUiLCJleHBhbmRlZEtleXMiLCJrZXkiLCJmaXhlZEluZm8iLCJhcHBlbmRDZWxsTm9kZSIsImNoaWxkcmVuIiwic3R5bGUiLCJwYWRkaW5nTGVmdCIsImNvbmNhdCIsImNsYXNzTmFtZSIsIm9uRXhwYW5kIiwiYWRkaXRpb25hbENlbGxQcm9wcyIsIm9uQ2VsbCIsImNhbGwiLCJfYWRkaXRpb25hbENlbGxQcm9wcyQiLCJyb3dTcGFuIiwiY3VycmVudFJvd1NwYW4iLCJpIiwicm93S2V5IiwiaGFzIiwiQm9keVJvdyIsInByb3BzIiwiX2IiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjbGFzc05hbWVzIiwic3R5bGVzIiwicmVuZGVySW5kZXgiLCJfcHJvcHMkaW5kZW50IiwiUm93Q29tcG9uZW50Iiwicm93Q29tcG9uZW50IiwiY2VsbENvbXBvbmVudCIsInNjb3BlQ2VsbENvbXBvbmVudCIsImV4cGFuZGVkUm93SW5mbyIsImZsYXR0ZW5Db2x1bW5zIiwiZXhwYW5kZWRSb3dDbGFzc05hbWUiLCJleHBhbmRlZFJvd1JlbmRlciIsInJvd1Byb3BzIiwicm93U3VwcG9ydEV4cGFuZCIsImV4cGFuZGVkUmVmIiwidXNlUmVmIiwiY3VycmVudCIsImV4cGFuZGVkQ2xzTmFtZSIsImJhc2VSb3dOb2RlIiwiT2JqZWN0IiwiYXNzaWduIiwicm93IiwiX2RlZmluZVByb3BlcnR5IiwibWFwIiwicmVuZGVyIiwiZGF0YUluZGV4IiwiY29sdW1uQ2xhc3NOYW1lIiwiX2dldENlbGxQcm9wcyIsIm9mZnNldCIsImNlbGwiLCJlbGxpcHNpcyIsImFsaWduIiwic2NvcGUiLCJyb3dTY29wZSIsImNvbXBvbmVudCIsInNob3VsZENlbGxVcGRhdGUiLCJhcHBlbmROb2RlIiwiYWRkaXRpb25hbFByb3BzIiwiU1BBQ0VSX0NMQVNTX0hJTlQiLCJmaXJzdENvbCIsImxhc3RDb2wiLCJoYXNTcGFjZXJDb2x1bW5zIiwiQm9vbGVhbiIsImluY2x1ZGVzIiwic3BhY2VyQ2xhc3NOYW1lIiwiZXhwYW5kUm93Tm9kZSIsImV4cGFuZENvbnRlbnQiLCJjb2xTcGFuIiwiaXNFbXB0eSIsInN0aWNreU9mZnNldCIsInN0aWNreSIsImluamVjdFNwYWNlcnMiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVNBLEdBQUcsSUFBSUMsSUFBSSxFQUFFQyxRQUFRLElBQUlDLFNBQVMsRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQXJGO0FBQ0EsU0FBU0MsSUFBSSxRQUFRLE1BQU07QUFDM0IsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5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QUU1RTBFLGFBQWEsR0FDWDNHLElBQUEsQ0FBQ1csV0FBVyxFQUFBO01BQ1ZzQixRQUFRLEVBQUVBLFFBQVE7TUFDbEJZLFNBQVMsRUFBRXhDLElBQUksSUFBQXVDLE1BQUEsQ0FDVmxCLFNBQVMsdUJBQUFrQixNQUFBLENBQ1RsQixTQUFTLDBCQUFBa0IsTUFBQSxDQUF1QjNCLE1BQU0sR0FBRyxDQUFDLEdBQzdDOEQsZUFBZSxDQUNoQjtNQUNEckQsU0FBUyxFQUFFQSxTQUFTO01BQ3BCc0UsU0FBUyxFQUFFOUIsWUFBWTtNQUN2QkUsYUFBYSxFQUFFQSxhQUFhO01BQzVCeUMsT0FBTyxFQUFFdkMsZUFBZSxHQUFHQSxlQUFlLENBQUN1QyxPQUFPLEdBQUd0QyxjQUFjLENBQUNsRCxNQUFNO01BQzFFeUYsT0FBTyxFQUFFLEtBQUs7TUFDZEMsWUFBWSxFQUFFekMsZUFBZSxLQUFBLElBQUEsSUFBZkEsZUFBZSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFmQSxlQUFlLENBQUUwQyxNQUFNO01BQ3JDQyxhQUFhLEVBQUVWLGdCQUFnQjtNQUMvQkcsZUFBZSxFQUFFQSxlQUFlO01BQUFqRSxRQUFBLEVBRS9CbUU7SUFBYSxDQUFBLENBRWpCO0VBQ0g7RUFFQSxPQUNFeEcsS0FBQSxDQUFBRixTQUFBLEVBQUE7SUFBQXVDLFFBQUEsRUFBQSxDQUNHdUMsV0FBVyxFQUNYMkIsYUFBYTtFQUFBLENBQUEsQ0FDYjtBQUVQLENBQUM7QUFFRCxJQUFJaEQsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxZQUFZLEVBQUU7RUFDekNMLE9BQU8sQ0FBQzBELFdBQVcsR0FBRyxTQUFTO0FBQ2pDO0FBRUEsZUFBZTFHLGlCQUFpQixDQUFDZ0QsT0FBTyxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvQm9keVJvdy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBGcmFnbWVudCBhcyBfRnJhZ21lbnQsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyBjbHN4IH0gZnJvbSAnY2xzeCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2VsbCBmcm9tICcuLi9DZWxsJztcbmltcG9ydCB7IHJlc3BvbnNlSW1tdXRhYmxlIH0gZnJvbSAnLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IGRldlJlbmRlclRpbWVzIGZyb20gJy4uL2hvb2tzL3VzZVJlbmRlclRpbWVzJztcbmltcG9ydCB1c2VSb3dJbmZvIGZyb20gJy4uL2hvb2tzL3VzZVJvd0luZm8nO1xuaW1wb3J0IEV4cGFuZGVkUm93IGZyb20gJy4vRXhwYW5kZWRSb3cnO1xuaW1wb3J0IHsgY29tcHV0ZWRFeHBhbmRlZENsYXNzTmFtZSB9IGZyb20gJy4uL3V0aWxzL2V4cGFuZFV0aWwnO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gPT0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDZWxsUHJvcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9PVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZXhwb3J0IGZ1bmN0aW9uIGdldENlbGxQcm9wcyhyb3dJbmZvLCBjb2x1bW4sIGNvbEluZGV4LCBpbmRlbnQsIGluZGV4LCByb3dLZXlzID0gW10sIGV4cGFuZGVkUm93T2Zmc2V0ID0gMCkge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IHJlY29yZCwgcHJlZml4Q2xzLCBjb2x1bW5zS2V5LCBmaXhlZEluZm9MaXN0LCBleHBhbmRJY29uQ29sdW1uSW5kZXgsIG5lc3RFeHBhbmRhYmxlLCBpbmRlbnRTaXplLCBleHBhbmRJY29uLCBleHBhbmRlZCwgaGFzTmVzdENoaWxkcmVuLCBvblRyaWdnZXJFeHBhbmQsIGV4cGFuZGFibGUsIGV4cGFuZGVkS2V5cywgfSA9IHJvd0luZm87XG4gICAgY29uc3Qga2V5ID0gY29sdW1uc0tleVtjb2xJbmRleF07XG4gICAgY29uc3QgZml4ZWRJbmZvID0gZml4ZWRJbmZvTGlzdFtjb2xJbmRleF07XG4gICAgLy8gPT09PT09PT09PT09PSBVc2VkIGZvciBuZXN0IGV4cGFuZGFibGUgPT09PT09PT09PT09PVxuICAgIGxldCBhcHBlbmRDZWxsTm9kZTtcbiAgICBpZiAoY29sSW5kZXggPT09IChleHBhbmRJY29uQ29sdW1uSW5kZXggfHwgMCkgJiYgbmVzdEV4cGFuZGFibGUpIHtcbiAgICAgICAgYXBwZW5kQ2VsbE5vZGUgPSAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInNwYW5cIiwgeyBzdHlsZTogeyBwYWRkaW5nTGVmdDogYCR7aW5kZW50U2l6ZSAqIGluZGVudH1weGAgfSwgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LXJvdy1pbmRlbnQgaW5kZW50LWxldmVsLSR7aW5kZW50fWAgfSksIGV4cGFuZEljb24oe1xuICAgICAgICAgICAgICAgICAgICBwcmVmaXhDbHMsXG4gICAgICAgICAgICAgICAgICAgIGV4cGFuZGVkLFxuICAgICAgICAgICAgICAgICAgICBleHBhbmRhYmxlOiBoYXNOZXN0Q2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIHJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgb25FeHBhbmQ6IG9uVHJpZ2dlckV4cGFuZCxcbiAgICAgICAgICAgICAgICB9KV0gfSkpO1xuICAgIH1cbiAgICBjb25zdCBhZGRpdGlvbmFsQ2VsbFByb3BzID0gKChfYSA9IGNvbHVtbi5vbkNlbGwpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGNvbHVtbiwgcmVjb3JkLCBpbmRleCkpIHx8IHt9O1xuICAgIC8vIEV4cGFuZGFibGUgcm93IGhhcyBvZmZzZXRcbiAgICBpZiAoZXhwYW5kZWRSb3dPZmZzZXQpIHtcbiAgICAgICAgY29uc3QgeyByb3dTcGFuID0gMSB9ID0gYWRkaXRpb25hbENlbGxQcm9wcztcbiAgICAgICAgLy8gRm9yIGV4cGFuZGFibGUgcm93IHdpdGggcm93U3BhbixcbiAgICAgICAgLy8gV2Ugc2hvdWxkIGluY3JlYXNlIHRoZSByb3dTcGFuIGlmIHRoZSByb3cgaXMgZXhwYW5kZWRcbiAgICAgICAgaWYgKGV4cGFuZGFibGUgJiYgcm93U3BhbiAmJiBjb2xJbmRleCA8IGV4cGFuZGVkUm93T2Zmc2V0KSB7XG4gICAgICAgICAgICBsZXQgY3VycmVudFJvd1NwYW4gPSByb3dTcGFuO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGluZGV4OyBpIDwgaW5kZXggKyByb3dTcGFuOyBpICs9IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByb3dLZXkgPSByb3dLZXlzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChleHBhbmRlZEtleXMuaGFzKHJvd0tleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudFJvd1NwYW4gKz0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGRpdGlvbmFsQ2VsbFByb3BzLnJvd1NwYW4gPSBjdXJyZW50Um93U3BhbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBrZXksXG4gICAgICAgIGZpeGVkSW5mbyxcbiAgICAgICAgYXBwZW5kQ2VsbE5vZGUsXG4gICAgICAgIGFkZGl0aW9uYWxDZWxsUHJvcHM6IGFkZGl0aW9uYWxDZWxsUHJvcHMsXG4gICAgfTtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vID09ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Q2VsbFByb3BzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNvbnN0IEJvZHlSb3cgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGRldlJlbmRlclRpbWVzKHByb3BzKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUsIHN0eWxlLCBjbGFzc05hbWVzLCBzdHlsZXMsIHJlY29yZCwgaW5kZXgsIHJlbmRlckluZGV4LCByb3dLZXksIHJvd0tleXMsIGluZGVudCA9IDAsIHJvd0NvbXBvbmVudDogUm93Q29tcG9uZW50LCBjZWxsQ29tcG9uZW50LCBzY29wZUNlbGxDb21wb25lbnQsIGV4cGFuZGVkUm93SW5mbywgfSA9IHByb3BzO1xuICAgIGNvbnN0IHJvd0luZm8gPSB1c2VSb3dJbmZvKHJlY29yZCwgcm93S2V5LCBpbmRleCwgaW5kZW50KTtcbiAgICBjb25zdCB7IHByZWZpeENscywgZmxhdHRlbkNvbHVtbnMsIGV4cGFuZGVkUm93Q2xhc3NOYW1lLCBleHBhbmRlZFJvd1JlbmRlciwgcm93UHJvcHMsIFxuICAgIC8vIE1pc2NcbiAgICBleHBhbmRlZCwgcm93U3VwcG9ydEV4cGFuZCwgfSA9IHJvd0luZm87XG4gICAgLy8gRm9yY2UgcmVuZGVyIGV4cGFuZCByb3cgaWYgZXhwYW5kZWQgYmVmb3JlXG4gICAgY29uc3QgZXhwYW5kZWRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGV4cGFuZGVkUmVmLmN1cnJlbnQgfHwgKGV4cGFuZGVkUmVmLmN1cnJlbnQgPSBleHBhbmRlZCk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV2UmVuZGVyVGltZXMocHJvcHMpO1xuICAgIH1cbiAgICAvLyDoi6XmsqHmnIkgZXhwYW5kZWRSb3dSZW5kZXIg5Y+C5pWwLCDlsIbkvb/nlKggYmFzZVJvd05vZGUg5riy5p+TIENoaWxkcmVuXG4gICAgLy8g5q2k5pe25aaC5p6cIGxldmVsID4gMSDliJnor7TmmI7mmK8gZXhwYW5kZWRSb3csIOS4gOagt+mcgOimgemZhOWKoCBjb21wdXRlZEV4cGFuZGVkUm93Q2xhc3NOYW1lXG4gICAgY29uc3QgZXhwYW5kZWRDbHNOYW1lID0gY29tcHV0ZWRFeHBhbmRlZENsYXNzTmFtZShleHBhbmRlZFJvd0NsYXNzTmFtZSwgcmVjb3JkLCBpbmRleCwgaW5kZW50KTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gQmFzZSB0ciByb3cgPT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY29uc3QgYmFzZVJvd05vZGUgPSAoX2pzeChSb3dDb21wb25lbnQsIE9iamVjdC5hc3NpZ24oe30sIHJvd1Byb3BzLCB7IFwiZGF0YS1yb3cta2V5XCI6IHJvd0tleSwgY2xhc3NOYW1lOiBjbHN4KGNsYXNzTmFtZSwgYCR7cHJlZml4Q2xzfS1yb3dgLCBgJHtwcmVmaXhDbHN9LXJvdy1sZXZlbC0ke2luZGVudH1gLCByb3dQcm9wcyA9PT0gbnVsbCB8fCByb3dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93UHJvcHMuY2xhc3NOYW1lLCBjbGFzc05hbWVzLnJvdywgeyBbZXhwYW5kZWRDbHNOYW1lXTogaW5kZW50ID49IDEgfSksIHN0eWxlOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc3R5bGUpLCByb3dQcm9wcyA9PT0gbnVsbCB8fCByb3dQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcm93UHJvcHMuc3R5bGUpLCBzdHlsZXMucm93KSwgY2hpbGRyZW46IGZsYXR0ZW5Db2x1bW5zLm1hcCgoY29sdW1uLCBjb2xJbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyByZW5kZXIsIGRhdGFJbmRleCwgY2xhc3NOYW1lOiBjb2x1bW5DbGFzc05hbWUgfSA9IGNvbHVtbjtcbiAgICAgICAgICAgIGNvbnN0IHsga2V5LCBmaXhlZEluZm8sIGFwcGVuZENlbGxOb2RlLCBhZGRpdGlvbmFsQ2VsbFByb3BzIH0gPSBnZXRDZWxsUHJvcHMocm93SW5mbywgY29sdW1uLCBjb2xJbmRleCwgaW5kZW50LCBpbmRleCwgcm93S2V5cywgZXhwYW5kZWRSb3dJbmZvID09PSBudWxsIHx8IGV4cGFuZGVkUm93SW5mbyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZXhwYW5kZWRSb3dJbmZvLm9mZnNldCk7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goQ2VsbCwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogY2xzeChjb2x1bW5DbGFzc05hbWUsIGNsYXNzTmFtZXMuY2VsbCksIHN0eWxlOiBzdHlsZXMuY2VsbCwgZWxsaXBzaXM6IGNvbHVtbi5lbGxpcHNpcywgYWxpZ246IGNvbHVtbi5hbGlnbiwgc2NvcGU6IGNvbHVtbi5yb3dTY29wZSwgY29tcG9uZW50OiBjb2x1bW4ucm93U2NvcGUgPyBzY29wZUNlbGxDb21wb25lbnQgOiBjZWxsQ29tcG9uZW50LCBwcmVmaXhDbHM6IHByZWZpeENscywgcmVjb3JkOiByZWNvcmQsIGluZGV4OiBpbmRleCwgcmVuZGVySW5kZXg6IHJlbmRlckluZGV4LCBkYXRhSW5kZXg6IGRhdGFJbmRleCwgcmVuZGVyOiByZW5kZXIsIHNob3VsZENlbGxVcGRhdGU6IGNvbHVtbi5zaG91bGRDZWxsVXBkYXRlIH0sIGZpeGVkSW5mbywgeyBhcHBlbmROb2RlOiBhcHBlbmRDZWxsTm9kZSwgYWRkaXRpb25hbFByb3BzOiBhZGRpdGlvbmFsQ2VsbFByb3BzIH0pLCBrZXkpKTtcbiAgICAgICAgfSkgfSkpKTtcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0gRXhwYW5kIFJvdyA9PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gRGV0ZWN0IHRoZSB3cmFwcGVyJ3MgbGVmdC9yaWdodCBzcGFjZXIgY29sdW1ucyBieSBjbGFzc05hbWUgc28gdGhlXG4gICAgLy8gZXhwYW5kZWQgcm93IGNhbiByZW5kZXIgcmVhbCBzcGFjZXIgPHRkPnMgYWxpZ25lZCB3aXRoIHRoZW0sIGluc3RlYWQgb2ZcbiAgICAvLyBhIHNpbmdsZSBjb2xTcGFuIGNlbGwgdGhhdCBoYXMgdG8gZmFrZSB0aGUgaW5zZXQgd2l0aCBwYWRkaW5nLlxuICAgIGNvbnN0IFNQQUNFUl9DTEFTU19ISU5UID0gJy1jZWxsLS1zcGFjZXInO1xuICAgIGNvbnN0IGZpcnN0Q29sID0gZmxhdHRlbkNvbHVtbnNbMF07XG4gICAgY29uc3QgbGFzdENvbCA9IGZsYXR0ZW5Db2x1bW5zW2ZsYXR0ZW5Db2x1bW5zLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IGhhc1NwYWNlckNvbHVtbnMgPSBCb29sZWFuKCgoX2EgPSBmaXJzdENvbCA9PT0gbnVsbCB8fCBmaXJzdENvbCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmlyc3RDb2wuY2xhc3NOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuaW5jbHVkZXMoU1BBQ0VSX0NMQVNTX0hJTlQpKSAmJlxuICAgICAgICAoKF9iID0gbGFzdENvbCA9PT0gbnVsbCB8fCBsYXN0Q29sID09PSB2b2lkIDAgPyB2b2lkIDAgOiBsYXN0Q29sLmNsYXNzTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmluY2x1ZGVzKFNQQUNFUl9DTEFTU19ISU5UKSkgJiZcbiAgICAgICAgZmlyc3RDb2wgIT09IGxhc3RDb2wpO1xuICAgIGNvbnN0IHNwYWNlckNsYXNzTmFtZSA9IGhhc1NwYWNlckNvbHVtbnMgPyBmaXJzdENvbC5jbGFzc05hbWUgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGV4cGFuZFJvd05vZGU7XG4gICAgaWYgKHJvd1N1cHBvcnRFeHBhbmQgJiYgKGV4cGFuZGVkUmVmLmN1cnJlbnQgfHwgZXhwYW5kZWQpKSB7XG4gICAgICAgIGNvbnN0IGV4cGFuZENvbnRlbnQgPSBleHBhbmRlZFJvd1JlbmRlcihyZWNvcmQsIGluZGV4LCBpbmRlbnQgKyAxLCBleHBhbmRlZCk7XG4gICAgICAgIGV4cGFuZFJvd05vZGUgPSAoX2pzeChFeHBhbmRlZFJvdywgeyBleHBhbmRlZDogZXhwYW5kZWQsIGNsYXNzTmFtZTogY2xzeChgJHtwcmVmaXhDbHN9LWV4cGFuZGVkLXJvd2AsIGAke3ByZWZpeENsc30tZXhwYW5kZWQtcm93LWxldmVsLSR7aW5kZW50ICsgMX1gLCBleHBhbmRlZENsc05hbWUpLCBwcmVmaXhDbHM6IHByZWZpeENscywgY29tcG9uZW50OiBSb3dDb21wb25lbnQsIGNlbGxDb21wb25lbnQ6IGNlbGxDb21wb25lbnQsIGNvbFNwYW46IGV4cGFuZGVkUm93SW5mbyA/IGV4cGFuZGVkUm93SW5mby5jb2xTcGFuIDogZmxhdHRlbkNvbHVtbnMubGVuZ3RoLCBpc0VtcHR5OiBmYWxzZSwgc3RpY2t5T2Zmc2V0OiBleHBhbmRlZFJvd0luZm8gPT09IG51bGwgfHwgZXhwYW5kZWRSb3dJbmZvID09PSB2b2lkIDAgPyB2b2lkIDAgOiBleHBhbmRlZFJvd0luZm8uc3RpY2t5LCBpbmplY3RTcGFjZXJzOiBoYXNTcGFjZXJDb2x1bW5zLCBzcGFjZXJDbGFzc05hbWU6IHNwYWNlckNsYXNzTmFtZSwgY2hpbGRyZW46IGV4cGFuZENvbnRlbnQgfSkpO1xuICAgIH1cbiAgICByZXR1cm4gKF9qc3hzKF9GcmFnbWVudCwgeyBjaGlsZHJlbjogW2Jhc2VSb3dOb2RlLCBleHBhbmRSb3dOb2RlXSB9KSk7XG59O1xuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBCb2R5Um93LmRpc3BsYXlOYW1lID0gJ0JvZHlSb3cnO1xufVxuZXhwb3J0IGRlZmF1bHQgcmVzcG9uc2VJbW11dGFibGUoQm9keVJvdyk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -10,6 +10,12 @@ export interface ExpandedRowProps {
10
10
  colSpan: number;
11
11
  isEmpty: boolean;
12
12
  stickyOffset?: number;
13
+ /** When true, render real <td> spacer cells flanking the content cell so the
14
+ * expanded row's content lines up with the wrapper's left/right spacer columns
15
+ * instead of relying on horizontal padding. The content cell's colSpan is
16
+ * reduced by 2 to keep the row total stable. */
17
+ injectSpacers?: boolean;
18
+ spacerClassName?: string;
13
19
  }
14
20
  declare const ExpandedRow: React.FC<ExpandedRowProps>;
15
21
  export default ExpandedRow;
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // @ts-nocheck
3
3
  import { useContext } from '../selector-context';
4
4
  import * as React from 'react';
@@ -18,7 +18,10 @@ var ExpandedRow = function ExpandedRow(props) {
18
18
  colSpan = props.colSpan,
19
19
  isEmpty = props.isEmpty,
20
20
  _props$stickyOffset = props.stickyOffset,
21
- stickyOffset = _props$stickyOffset === void 0 ? 0 : _props$stickyOffset;
21
+ stickyOffset = _props$stickyOffset === void 0 ? 0 : _props$stickyOffset,
22
+ _props$injectSpacers = props.injectSpacers,
23
+ injectSpacers = _props$injectSpacers === void 0 ? false : _props$injectSpacers,
24
+ spacerClassName = props.spacerClassName;
22
25
  var _useContext = useContext(TableContext, ['scrollbarSize', 'fixHeader', 'fixColumn', 'componentWidth', 'horizonScroll']),
23
26
  scrollbarSize = _useContext.scrollbarSize,
24
27
  fixHeader = _useContext.fixHeader,
@@ -39,18 +42,29 @@ var ExpandedRow = function ExpandedRow(props) {
39
42
  children: contentNode
40
43
  });
41
44
  }
42
- return _jsx(Component, {
45
+ var contentColSpan = injectSpacers ? Math.max(1, colSpan - 2) : colSpan;
46
+ return _jsxs(Component, {
43
47
  className: className,
44
48
  style: {
45
49
  display: expanded ? null : 'none'
46
50
  },
47
- children: _jsx(Cell, {
51
+ children: [injectSpacers && _jsx(Cell, {
48
52
  component: cellComponent,
49
53
  prefixCls: prefixCls,
50
- colSpan: colSpan,
54
+ colSpan: 1,
55
+ className: spacerClassName
56
+ }), _jsx(Cell, {
57
+ component: cellComponent,
58
+ prefixCls: prefixCls,
59
+ colSpan: contentColSpan,
51
60
  children: contentNode
52
- })
61
+ }), injectSpacers && _jsx(Cell, {
62
+ component: cellComponent,
63
+ prefixCls: prefixCls,
64
+ colSpan: 1,
65
+ className: spacerClassName
66
+ })]
53
67
  });
54
68
  };
55
69
  export default ExpandedRow;
56
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvRXhwYW5kZWRSb3cuanMiLCJjb21wb25lbnRzL1RhYmxlL2ludGVybmFsL2tlcm5lbC9zcmMvY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvQm9keS9FeHBhbmRlZFJvdy50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsInVzZUNvbnRleHQiLCJSZWFjdCIsIkNlbGwiLCJUYWJsZUNvbnRleHQiLCJkZXZSZW5kZXJUaW1lcyIsIkV4cGFuZGVkUm93IiwicHJvcHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcmVmaXhDbHMiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsImNvbXBvbmVudCIsImNlbGxDb21wb25lbnQiLCJjbGFzc05hbWUiLCJleHBhbmRlZCIsImNvbFNwYW4iLCJpc0VtcHR5IiwiX3Byb3BzJHN0aWNreU9mZnNldCIsInN0aWNreU9mZnNldCIsIl91c2VDb250ZXh0Iiwic2Nyb2xsYmFyU2l6ZSIsImZpeEhlYWRlciIsImZpeENvbHVtbiIsImNvbXBvbmVudFdpZHRoIiwiaG9yaXpvblNjcm9sbCIsImNvbnRlbnROb2RlIiwic3R5bGUiLCJ3aWR0aCIsInBvc2l0aW9uIiwibGVmdCIsIm92ZXJmbG93IiwiY29uY2F0IiwiZGlzcGxheSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLFFBQVEsbUJBQW1CO0FDQS9DO0FBQ0EsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUNoRCxPQUFPLEtBQUtDLEtBQUssTUFBTSxPQUFPO0FBQzlCLE9BQU9DLElBQUksTUFBTSxTQUFTO0FBQzFCLE9BQU9DLFlBQVksTUFBTSx5QkFBeUI7QUFDbEQsT0FBT0MsY0FBYyxNQUFNLHlCQUF5QjtBQWVwRCxJQUFNQyxXQUFXLEdBQStCLFNBQTFDQSxXQUFXQSxDQUErQkMsS0FBSyxFQUFHO0VBQ3RELElBQUlDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxRQUFRLEtBQUssWUFBWSxFQUFFO0lBQ3pDTCxjQUFjLENBQUNFLEtBQUssQ0FBQztFQUN2QjtFQUVBLElBQ0VJLFNBQVMsR0FTUEosS0FBSyxDQVRQSSxTQUFTO0lBQ1RDLFFBQVEsR0FRTkwsS0FBSyxDQVJQSyxRQUFRO0lBQ0dDLFNBQVMsR0FPbEJOLEtBQUssQ0FQUE8sU0FBUztJQUNUQyxhQUFhLEdBTVhSLEtBQUssQ0FOUFEsYUFBYTtJQUNiQyxTQUFTLEdBS1BULEtBQUssQ0FMUFMsU0FBUztJQUNUQyxRQUFRLEdBSU5WLEtBQUssQ0FKUFUsUUFBUTtJQUNSQyxPQUFPLEdBR0xYLEtBQUssQ0FIUFcsT0FBTztJQUNQQyxPQUFPLEdBRUxaLEtBQUssQ0FGUFksT0FBTztJQUFBQyxtQkFBQSxHQUVMYixLQUFLLENBRFBjLFlBQVk7SUFBWkEsWUFBWSxHQUFBRCxtQkFBQSxjQUFHLENBQUMsR0FBQUEsbUJBQUE7RUFHbEIsSUFBQUUsV0FBQSxHQUErRXJCLFVBQVUsQ0FDdkZHLFlBQVksRUFDWixDQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUMvRTtJQUhPbUIsYUFBYSxHQUFBRCxXQUFBLENBQWJDLGFBQWE7SUFBRUMsU0FBUyxHQUFBRixXQUFBLENBQVRFLFNBQVM7SUFBRUMsU0FBUyxHQUFBSCxXQUFBLENBQVRHLFNBQVM7SUFBRUMsY0FBYyxHQUFBSixXQUFBLENBQWRJLGNBQWM7SUFBRUMsYUFBYSxHQUFBTCxXQUFBLENBQWJLLGFBQWE7RUFLMUU7RUFDQSxJQUFJQyxXQUFXLEdBQUdoQixRQUFRO0VBRTFCLElBQUlPLE9BQU8sR0FBR1EsYUFBYSxJQUFJRCxjQUFjLEdBQUdELFNBQVMsRUFBRTtJQUN6REcsV0FBVyxHQUNUNUIsSUFBQSxDQUFBLEtBQUEsRUFBQTtNQUNFNkIsS0FBSyxFQUFFO1FBQ0xDLEtBQUssRUFBRUosY0FBYyxHQUFHTCxZQUFZLElBQUlHLFNBQVMsSUFBSSxDQUFDTCxPQUFPLEdBQUdJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEZRLFFBQVEsRUFBRSxRQUFRO1FBQ2xCQyxJQUFJLEVBQUVYLFlBQVk7UUFDbEJZLFFBQVEsRUFBRTtNRC9CUixDQ2dDSDtNQUNEakIsU0FBUyxLQUFBa0IsTUFBQSxDQUFLdkIsU0FBUyx3QkFBcUI7TUFBQUMsUUFBQSxFQUUzQ2dCO0lBQVcsQ0FBQSxDQUVmO0VBQ0g7RUFFQSxPQUNFNUIsSUFBQSxDQUFDYSxTQUFTLEVBQUE7SUFBQ0csU0FBUyxFQUFFQSxTQUFTO0lBQUVhLEtBQUssRUFBRTtNQUFFTSxPQUFPLEVBQUVsQixRQUFRLEdBQUcsSUFBSSxHQUFHO0lBQU0sQ0FBRTtJQUFBTCxRQUFBLEVBQzNFWixJQUFBLENBQUNHLElBQUksRUFBQTtNQUFDVyxTQUFTLEVBQUVDLGFBQWE7TUFBRUosU0FBUyxFQUFFQSxTQUFTO01BQUVPLE9BQU8sRUFBRUEsT0FBTztNQUFBTixRQUFBLEVBQ25FZ0I7SUFBVyxDQUFBO0VBQ1AsQ0FBQSxDQUNHO0FBRWhCLENBQUM7QUFFRCxlQUFldEIsV0FBVyIsImZpbGUiOiJjb21wb25lbnRzL1RhYmxlL2ludGVybmFsL2tlcm5lbC9Cb2R5L0V4cGFuZGVkUm93LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbi8vIEB0cy1ub2NoZWNrXG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAnLi4vc2VsZWN0b3ItY29udGV4dCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2VsbCBmcm9tICcuLi9DZWxsJztcbmltcG9ydCBUYWJsZUNvbnRleHQgZnJvbSAnLi4vY29udGV4dC9UYWJsZUNvbnRleHQnO1xuaW1wb3J0IGRldlJlbmRlclRpbWVzIGZyb20gJy4uL2hvb2tzL3VzZVJlbmRlclRpbWVzJztcbmNvbnN0IEV4cGFuZGVkUm93ID0gcHJvcHMgPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIGRldlJlbmRlclRpbWVzKHByb3BzKTtcbiAgICB9XG4gICAgY29uc3QgeyBwcmVmaXhDbHMsIGNoaWxkcmVuLCBjb21wb25lbnQ6IENvbXBvbmVudCwgY2VsbENvbXBvbmVudCwgY2xhc3NOYW1lLCBleHBhbmRlZCwgY29sU3BhbiwgaXNFbXB0eSwgc3RpY2t5T2Zmc2V0ID0gMCwgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgc2Nyb2xsYmFyU2l6ZSwgZml4SGVhZGVyLCBmaXhDb2x1bW4sIGNvbXBvbmVudFdpZHRoLCBob3Jpem9uU2Nyb2xsIH0gPSB1c2VDb250ZXh0KFRhYmxlQ29udGV4dCwgWydzY3JvbGxiYXJTaXplJywgJ2ZpeEhlYWRlcicsICdmaXhDb2x1bW4nLCAnY29tcG9uZW50V2lkdGgnLCAnaG9yaXpvblNjcm9sbCddKTtcbiAgICAvLyBDYWNoZSByZW5kZXIgbm9kZVxuICAgIGxldCBjb250ZW50Tm9kZSA9IGNoaWxkcmVuO1xuICAgIGlmIChpc0VtcHR5ID8gaG9yaXpvblNjcm9sbCAmJiBjb21wb25lbnRXaWR0aCA6IGZpeENvbHVtbikge1xuICAgICAgICBjb250ZW50Tm9kZSA9IChfanN4KFwiZGl2XCIsIHsgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY29tcG9uZW50V2lkdGggLSBzdGlja3lPZmZzZXQgLSAoZml4SGVhZGVyICYmICFpc0VtcHR5ID8gc2Nyb2xsYmFyU2l6ZSA6IDApLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgICAgICBsZWZ0OiBzdGlja3lPZmZzZXQsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgfSwgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LWV4cGFuZGVkLXJvdy1maXhlZGAsIGNoaWxkcmVuOiBjb250ZW50Tm9kZSB9KSk7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeChDb21wb25lbnQsIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHN0eWxlOiB7IGRpc3BsYXk6IGV4cGFuZGVkID8gbnVsbCA6ICdub25lJyB9LCBjaGlsZHJlbjogX2pzeChDZWxsLCB7IGNvbXBvbmVudDogY2VsbENvbXBvbmVudCwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNvbFNwYW46IGNvbFNwYW4sIGNoaWxkcmVuOiBjb250ZW50Tm9kZSB9KSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgRXhwYW5kZWRSb3c7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
70
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvRXhwYW5kZWRSb3cuanMiLCJjb21wb25lbnRzL1RhYmxlL2ludGVybmFsL2tlcm5lbC9zcmMvY29tcG9uZW50cy9UYWJsZS9pbnRlcm5hbC9rZXJuZWwvQm9keS9FeHBhbmRlZFJvdy50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsInVzZUNvbnRleHQiLCJSZWFjdCIsIkNlbGwiLCJUYWJsZUNvbnRleHQiLCJkZXZSZW5kZXJUaW1lcyIsIkV4cGFuZGVkUm93IiwicHJvcHMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJwcmVmaXhDbHMiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsImNvbXBvbmVudCIsImNlbGxDb21wb25lbnQiLCJjbGFzc05hbWUiLCJleHBhbmRlZCIsImNvbFNwYW4iLCJpc0VtcHR5IiwiX3Byb3BzJHN0aWNreU9mZnNldCIsInN0aWNreU9mZnNldCIsIl9wcm9wcyRpbmplY3RTcGFjZXJzIiwiaW5qZWN0U3BhY2VycyIsInNwYWNlckNsYXNzTmFtZSIsIl91c2VDb250ZXh0Iiwic2Nyb2xsYmFyU2l6ZSIsImZpeEhlYWRlciIsImZpeENvbHVtbiIsImNvbXBvbmVudFdpZHRoIiwiaG9yaXpvblNjcm9sbCIsImNvbnRlbnROb2RlIiwic3R5bGUiLCJ3aWR0aCIsInBvc2l0aW9uIiwibGVmdCIsIm92ZXJmbG93IiwiY29uY2F0IiwiY29udGVudENvbFNwYW4iLCJNYXRoIiwibWF4IiwiZGlzcGxheSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RDtBQUNBLFNBQVNDLFVBQVUsUUFBUSxxQkFBcUI7QUFDaEQsT0FBTyxLQUFLQyxLQUFLLE1BQU0sT0FBTztBQUM5QixPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixPQUFPQyxZQUFZLE1B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QUFXLENBQUEsQ0FDUCxFQUNOUixhQUFhLElBQ1p6QixJQUFBLENBQUNLLElBQUksRUFBQTtNQUNIVyxTQUFTLEVBQUVDLGFBQWE7TUFDeEJKLFNBQVMsRUFBRUEsU0FBUztNQUNwQk8sT0FBTyxFQUFFLENBQUM7TUFDVkYsU0FBUyxFQUFFUTtJQUFlLENBQUEsQ0FFN0I7RUFBQSxDQUFBLENBQ1M7QUFFaEIsQ0FBQztBQUVELGVBQWVsQixXQUFXIiwiZmlsZSI6ImNvbXBvbmVudHMvVGFibGUvaW50ZXJuYWwva2VybmVsL0JvZHkvRXhwYW5kZWRSb3cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuLy8gQHRzLW5vY2hlY2tcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICcuLi9zZWxlY3Rvci1jb250ZXh0JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDZWxsIGZyb20gJy4uL0NlbGwnO1xuaW1wb3J0IFRhYmxlQ29udGV4dCBmcm9tICcuLi9jb250ZXh0L1RhYmxlQ29udGV4dCc7XG5pbXBvcnQgZGV2UmVuZGVyVGltZXMgZnJvbSAnLi4vaG9va3MvdXNlUmVuZGVyVGltZXMnO1xuY29uc3QgRXhwYW5kZWRSb3cgPSBwcm9wcyA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgZGV2UmVuZGVyVGltZXMocHJvcHMpO1xuICAgIH1cbiAgICBjb25zdCB7IHByZWZpeENscywgY2hpbGRyZW4sIGNvbXBvbmVudDogQ29tcG9uZW50LCBjZWxsQ29tcG9uZW50LCBjbGFzc05hbWUsIGV4cGFuZGVkLCBjb2xTcGFuLCBpc0VtcHR5LCBzdGlja3lPZmZzZXQgPSAwLCBpbmplY3RTcGFjZXJzID0gZmFsc2UsIHNwYWNlckNsYXNzTmFtZSwgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgc2Nyb2xsYmFyU2l6ZSwgZml4SGVhZGVyLCBmaXhDb2x1bW4sIGNvbXBvbmVudFdpZHRoLCBob3Jpem9uU2Nyb2xsIH0gPSB1c2VDb250ZXh0KFRhYmxlQ29udGV4dCwgWydzY3JvbGxiYXJTaXplJywgJ2ZpeEhlYWRlcicsICdmaXhDb2x1bW4nLCAnY29tcG9uZW50V2lkdGgnLCAnaG9yaXpvblNjcm9sbCddKTtcbiAgICAvLyBDYWNoZSByZW5kZXIgbm9kZVxuICAgIGxldCBjb250ZW50Tm9kZSA9IGNoaWxkcmVuO1xuICAgIGlmIChpc0VtcHR5ID8gaG9yaXpvblNjcm9sbCAmJiBjb21wb25lbnRXaWR0aCA6IGZpeENvbHVtbikge1xuICAgICAgICBjb250ZW50Tm9kZSA9IChfanN4KFwiZGl2XCIsIHsgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY29tcG9uZW50V2lkdGggLSBzdGlja3lPZmZzZXQgLSAoZml4SGVhZGVyICYmICFpc0VtcHR5ID8gc2Nyb2xsYmFyU2l6ZSA6IDApLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICAgICAgICAgICAgICBsZWZ0OiBzdGlja3lPZmZzZXQsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgfSwgY2xhc3NOYW1lOiBgJHtwcmVmaXhDbHN9LWV4cGFuZGVkLXJvdy1maXhlZGAsIGNoaWxkcmVuOiBjb250ZW50Tm9kZSB9KSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRlbnRDb2xTcGFuID0gaW5qZWN0U3BhY2VycyA/IE1hdGgubWF4KDEsIGNvbFNwYW4gLSAyKSA6IGNvbFNwYW47XG4gICAgcmV0dXJuIChfanN4cyhDb21wb25lbnQsIHsgY2xhc3NOYW1lOiBjbGFzc05hbWUsIHN0eWxlOiB7IGRpc3BsYXk6IGV4cGFuZGVkID8gbnVsbCA6ICdub25lJyB9LCBjaGlsZHJlbjogW2luamVjdFNwYWNlcnMgJiYgKF9qc3goQ2VsbCwgeyBjb21wb25lbnQ6IGNlbGxDb21wb25lbnQsIHByZWZpeENsczogcHJlZml4Q2xzLCBjb2xTcGFuOiAxLCBjbGFzc05hbWU6IHNwYWNlckNsYXNzTmFtZSB9KSksIF9qc3goQ2VsbCwgeyBjb21wb25lbnQ6IGNlbGxDb21wb25lbnQsIHByZWZpeENsczogcHJlZml4Q2xzLCBjb2xTcGFuOiBjb250ZW50Q29sU3BhbiwgY2hpbGRyZW46IGNvbnRlbnROb2RlIH0pLCBpbmplY3RTcGFjZXJzICYmIChfanN4KENlbGwsIHsgY29tcG9uZW50OiBjZWxsQ29tcG9uZW50LCBwcmVmaXhDbHM6IHByZWZpeENscywgY29sU3BhbjogMSwgY2xhc3NOYW1lOiBzcGFjZXJDbGFzc05hbWUgfSkpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgRXhwYW5kZWRSb3c7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -38,7 +38,7 @@
38
38
  }
39
39
  .om-component-ui-table-thead > tr > th, .om-component-ui-table-thead > tr > td {
40
40
  position: relative;
41
- padding: var(--om-spacing-300, 12px) var(--om-spacing-400, 16px);
41
+ padding: var(--om-spacing-200, 8px);
42
42
  text-align: start;
43
43
  overflow-wrap: break-word;
44
44
  background: var(--om-bg-default-secondary, #f8f8f8);
@@ -51,11 +51,11 @@
51
51
  }
52
52
  .om-component-ui-table-tbody > tr > td {
53
53
  position: relative;
54
- padding: var(--om-spacing-300, 12px) var(--om-spacing-400, 16px);
54
+ padding: var(--om-spacing-200, 8px);
55
55
  color: var(--om-text-default, #131313);
56
56
  vertical-align: middle;
57
57
  overflow-wrap: break-word;
58
- border-bottom: 1px solid var(--om-bg-default-secondary, #f8f8f8);
58
+ border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
59
59
  font-size: var(--om-body-md-font-size);
60
60
  font-family: var(--om-body-md-font-family);
61
61
  line-height: var(--om-body-md-line-height);
@@ -69,7 +69,7 @@
69
69
  border-bottom: 0;
70
70
  }
71
71
  .om-component-ui-table-tbody > tr:hover > td {
72
- background: var(--om-bg-default-secondary, #f8f8f8);
72
+ background: var(--om-bg-default-hover, #f0f0f0);
73
73
  cursor: pointer;
74
74
  }
75
75
  .om-component-ui-table-content {
@@ -98,7 +98,7 @@
98
98
  background: var(--om-bg-default, #fff);
99
99
  }
100
100
  .om-component-ui-table-tbody > tr:hover .om-component-ui-table-cell-fix-start, .om-component-ui-table-tbody > tr:hover .om-component-ui-table-cell-fix-end {
101
- background: var(--om-bg-default-secondary, #f8f8f8);
101
+ background: var(--om-bg-default-hover, #f0f0f0);
102
102
  }
103
103
  .om-component-ui-table-thead .om-component-ui-table-cell-fix-start, .om-component-ui-table-thead .om-component-ui-table-cell-fix-end {
104
104
  background: var(--om-bg-default-secondary, #f8f8f8);
@@ -130,6 +130,9 @@
130
130
  padding: var(--om-spacing-300, 12px);
131
131
  background: var(--om-bg-default-secondary, #f8f8f8);
132
132
  }
133
+ .om-component-ui-table-expanded-row > .om-component-ui-table-cell--spacer {
134
+ background: var(--om-bg-default-secondary, #f8f8f8);
135
+ }
133
136
  .om-component-ui-table-placeholder {
134
137
  text-align: center;
135
138
  }
@@ -137,14 +140,14 @@
137
140
  display: flex;
138
141
  }
139
142
  .om-component-ui-table-tbody-virtual .om-component-ui-table-row:hover .om-component-ui-table-cell {
140
- background: var(--om-bg-default-secondary, #f8f8f8);
143
+ background: var(--om-bg-default-hover, #f0f0f0);
141
144
  cursor: pointer;
142
145
  }
143
146
  .om-component-ui-table-tbody-virtual .om-component-ui-table-cell {
144
- padding: var(--om-spacing-300, 12px) var(--om-spacing-400, 16px);
147
+ padding: var(--om-spacing-200, 8px);
145
148
  color: var(--om-text-default, #131313);
146
149
  overflow-wrap: break-word;
147
- border-bottom: 1px solid var(--om-bg-default-secondary, #f8f8f8);
150
+ border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
148
151
  font-size: var(--om-body-md-font-size);
149
152
  font-family: var(--om-body-md-font-family);
150
153
  line-height: var(--om-body-md-line-height);
@@ -159,21 +162,31 @@
159
162
  justify-content: flex-end;
160
163
  margin-top: var(--om-spacing-600, 24px);
161
164
  }
165
+ .om-component-ui-table-footer {
166
+ padding: var(--om-spacing-300, 12px) var(--om-spacing-600, 24px);
167
+ color: var(--om-text-default-tertiary, #646465);
168
+ background: var(--om-bg-default-secondary, #f8f8f8);
169
+ border-top: 1px solid var(--om-border-neutral, #e3e4e4);
170
+ font-size: var(--om-label-md-font-size);
171
+ font-family: var(--om-label-md-font-family);
172
+ line-height: var(--om-label-md-line-height);
173
+ letter-spacing: var(--om-label-md-letter-spacing);
174
+ font-weight: var(--om-label-md-font-weight);
175
+ }
162
176
  .om-component-ui-table-small {
163
177
  --table-row-height: 56px;
164
178
  --table-header-height: 40px;
165
179
  }
166
- .om-component-ui-table-small .om-component-ui-table-thead > tr > th,
167
- .om-component-ui-table-small .om-component-ui-table-thead > tr > td {
168
- padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
169
- }
170
- .om-component-ui-table-small .om-component-ui-table-tbody > tr > td {
171
- padding: var(--om-spacing-200, 8px) var(--om-spacing-300, 12px);
172
- }
173
180
  .om-component-ui-table-large {
174
181
  --table-row-height: 66px;
175
182
  --table-header-height: 48px;
176
183
  }
184
+ .om-component-ui-table-thead > tr > th.om-component-ui-table-cell--expand, .om-component-ui-table-thead > tr > td.om-component-ui-table-cell--expand, .om-component-ui-table-tbody > tr > td.om-component-ui-table-cell--expand {
185
+ padding: 0;
186
+ }
187
+ .om-component-ui-table-thead > tr > th.om-component-ui-table-cell--selection, .om-component-ui-table-thead > tr > td.om-component-ui-table-cell--selection, .om-component-ui-table-tbody > tr > td.om-component-ui-table-cell--selection {
188
+ padding: 0 var(--om-spacing-200, 8px);
189
+ }
177
190
  .om-component-ui-table-fill {
178
191
  border: 0;
179
192
  border-radius: 0;
@@ -186,6 +199,9 @@
186
199
  .om-component-ui-table-fill .om-component-ui-table-thead .om-component-ui-table-cell-fix-end {
187
200
  background: var(--om-bg-default, #fff);
188
201
  }
202
+ .om-component-ui-table-fill .om-component-ui-table-tbody > tr:last-child > td {
203
+ border-bottom: 1px solid var(--om-border-neutral, #e3e4e4);
204
+ }
189
205
  .om-component-ui-table-stroke .om-component-ui-table-thead > tr > th,
190
206
  .om-component-ui-table-stroke .om-component-ui-table-thead > tr > td {
191
207
  border-bottom: none;
@@ -195,6 +211,9 @@
195
211
  .om-component-ui-table-stroke .om-component-ui-table-tbody > tr > td.om-component-ui-table-cell--spacer {
196
212
  padding: 0;
197
213
  border-bottom: none;
214
+ width: 16px;
215
+ max-width: 16px;
216
+ min-width: 16px;
198
217
  }
199
218
  .om-component-ui-table .om-component-ui-table-header-cell {
200
219
  display: inline-flex;
@@ -306,31 +325,13 @@
306
325
  display: inline-flex;
307
326
  align-items: center;
308
327
  justify-content: center;
309
- width: var(--om-spacing-400, 16px);
310
- height: var(--om-spacing-400, 16px);
311
- padding: 0;
312
328
  color: var(--om-icon-default, #131313);
313
- background: transparent;
314
- border: 0;
315
329
  cursor: pointer;
316
- transition: color 0.2s ease;
317
- }
318
- .om-component-ui-table .om-component-ui-table-expand-trigger:focus-visible {
319
- outline: 2px solid var(--om-border-default, #d1d2d2);
320
- outline-offset: 2px;
330
+ transition: color 0.2s ease, transform 0.2s ease;
321
331
  }
322
332
  .om-component-ui-table .om-component-ui-table-expand-trigger:hover {
323
333
  color: var(--om-icon-default-secondary, #404042);
324
334
  }
325
- .om-component-ui-table .om-component-ui-table-expand-trigger[aria-expanded=true] {
326
- color: var(--om-icon-default, #131313);
327
- }
328
- .om-component-ui-table .om-component-ui-table-expand-trigger[aria-expanded=true]:hover {
329
- color: var(--om-icon-default-secondary, #404042);
330
- }
331
- .om-component-ui-table .om-component-ui-table-expand-trigger__icon {
332
- transition: transform 0.2s ease;
333
- }
334
335
  .om-component-ui-table .om-component-ui-table-cell-content {
335
336
  display: inline-flex;
336
337
  gap: 8px;