@worktile/theia 14.3.10 → 14.3.11

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.
Files changed (48) hide show
  1. package/editor.module.d.ts +3 -2
  2. package/esm2020/components/column-resize/column-resize.directive.mjs +4 -4
  3. package/esm2020/editor.module.mjs +4 -4
  4. package/esm2020/plugins/code/code.component.mjs +3 -6
  5. package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +5 -3
  6. package/esm2020/plugins/table/components/row/row.component.mjs +23 -17
  7. package/esm2020/plugins/table/components/table.component.mjs +188 -23
  8. package/esm2020/plugins/table/components/td/td.component.mjs +4 -35
  9. package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +24 -9
  10. package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +38 -28
  11. package/esm2020/plugins/table/table.editor.mjs +6 -5
  12. package/esm2020/plugins/table/table.pipe.mjs +19 -3
  13. package/esm2020/plugins/table/table.plugin.mjs +2 -1
  14. package/esm2020/plugins/table/table.service.mjs +5 -7
  15. package/esm2020/plugins/table/table.store.mjs +46 -67
  16. package/esm2020/plugins/table/table.types.mjs +9 -4
  17. package/esm2020/plugins/table/transforms/insert-column.mjs +6 -2
  18. package/esm2020/plugins/table/utils/add-columns.mjs +16 -2
  19. package/esm2020/plugins/table/utils/create-table.mjs +5 -3
  20. package/esm2020/plugins/table/utils/is-selection-in-table.mjs +30 -8
  21. package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +9 -9
  22. package/esm2020/plugins/table/utils/table-position.mjs +1 -1
  23. package/esm2020/services/context.service.mjs +28 -4
  24. package/esm2020/services/table-contextmenu.service.mjs +8 -2
  25. package/esm2020/utils/copy-node.mjs +28 -13
  26. package/esm2020/utils/refocus.mjs +7 -7
  27. package/fesm2015/worktile-theia.mjs +501 -249
  28. package/fesm2015/worktile-theia.mjs.map +1 -1
  29. package/fesm2020/worktile-theia.mjs +489 -250
  30. package/fesm2020/worktile-theia.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/plugins/table/components/row/row.component.d.ts +5 -3
  33. package/plugins/table/components/table.component.d.ts +19 -4
  34. package/plugins/table/components/table.component.scss +168 -59
  35. package/plugins/table/components/td/td.component.d.ts +0 -3
  36. package/plugins/table/components/toolbar/table-toolbar.component.d.ts +9 -5
  37. package/plugins/table/table.editor.d.ts +2 -2
  38. package/plugins/table/table.pipe.d.ts +5 -0
  39. package/plugins/table/table.service.d.ts +2 -2
  40. package/plugins/table/table.store.d.ts +3 -3
  41. package/plugins/table/table.types.d.ts +7 -2
  42. package/plugins/table/utils/add-columns.d.ts +1 -1
  43. package/plugins/table/utils/is-selection-in-table.d.ts +2 -1
  44. package/plugins/table/utils/set-menu-cell-invisibility.d.ts +1 -1
  45. package/plugins/table/utils/table-position.d.ts +2 -2
  46. package/services/context.service.d.ts +7 -2
  47. package/utils/copy-node.d.ts +3 -1
  48. package/utils/refocus.d.ts +1 -2
@@ -2,6 +2,7 @@ import { Transforms, Editor } from 'slate';
2
2
  import { TablePosition, createCell } from '../utils';
3
3
  import { calcSpanForColumn } from '../utils/calc-span';
4
4
  import { addColumns } from '../utils/add-columns';
5
+ import { AngularEditor } from 'slate-angular';
5
6
  /**
6
7
  * Insert a new column in current table
7
8
  */
@@ -41,7 +42,10 @@ getCell) {
41
42
  });
42
43
  }
43
44
  if (table.columns) {
44
- Transforms.setNodes(editor, { columns: addColumns(table, table.columns.length + 1, insertColumnIndex) }, { at: tableEntry[1] });
45
+ const theTableWrapper = AngularEditor.toDOMNode(editor, table).querySelector('.the-table-wrapper');
46
+ const scrollWidth = theTableWrapper.scrollWidth;
47
+ const clientWidth = theTableWrapper.clientWidth;
48
+ Transforms.setNodes(editor, { columns: addColumns(table, table.columns.length + 1, insertColumnIndex, scrollWidth > clientWidth) }, { at: tableEntry[1] });
45
49
  }
46
50
  });
47
51
  }
@@ -58,4 +62,4 @@ export function insertColumnAtRow(opts, editor, count = 1, tableEntry, rowIndex,
58
62
  }
59
63
  });
60
64
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLE9BQU8sQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJbEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUN4QixJQUFrQixFQUNsQixNQUFjLEVBQ2QsS0FBSyxHQUFHLENBQUMsRUFDVCxFQUFXLEVBQUUsZUFBZTtBQUM1QixPQUEyRDtJQUUzRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzdCLE1BQU0sRUFDRixNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFDbkIsR0FBRyxTQUFTLENBQUM7SUFFZCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0QsSUFBSSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNoQyxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO0lBRTFDLE1BQU0saUJBQWlCLEdBQUcsT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFOUYsc0JBQXNCO0lBRXRCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25D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QUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdEMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBFZGl0b3IsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24sIGNyZWF0ZUNlbGwgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjYWxjU3BhbkZvckNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NhbGMtc3Bhbic7XG5pbXBvcnQgeyBhZGRDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvYWRkLWNvbHVtbnMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgY29sdW1uIGluIGN1cnJlbnQgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydENvbHVtbihcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgY291bnQgPSAxLFxuICAgIGF0PzogbnVtYmVyLCAvLyBDb2x1bW4gaW5kZXhcbiAgICBnZXRDZWxsPzogKGNvbHVtbjogbnVtYmVyLCByb3c6IG51bWJlcikgPT4gVGFibGVDZWxsRWxlbWVudFxuKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCB7XG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICB9ID0gc2VsZWN0aW9uO1xuXG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgbGV0IHRhYmxlID0gdGFibGVQb3NpdGlvbi50YWJsZTtcbiAgICBsZXQgdGFibGVFbnRyeSA9IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeTtcblxuICAgIGNvbnN0IGluc2VydENvbHVtbkluZGV4ID0gdHlwZW9mIGF0ID09PSAndW5kZWZpbmVkJyA/IHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSArIDEgOiBhdDtcblxuICAgIC8vIEluc2VydCB0aGUgbmV3IGNlbGxcblxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBjYWxjU3BhbkZvckNvbHVtbih0YWJsZSwgaW5zZXJ0Q29sdW1uSW5kZXgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0luc2lkZSA9IGNvbHNwYW5bcm93SW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NlbGwgPSBnZXRDZWxsID8gZ2V0Q2VsbChpbnNlcnRDb2x1bW5JbmRleCwgcm93SW5kZXgpIDogY3JlYXRlQ2VsbChvcHRzKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNJbnNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q2VsbC5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXJ0eUNlbGwgPSByb3cuY2hpbGRyZW4uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFjZWxsLmhpZGRlbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbkluZGV4IDwgaW5zZXJ0Q29sdW1uSW5kZXggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gKyBjb2x1bW5JbmRleCA+IGluc2VydENvbHVtbkluZGV4XG4gICAgICAgICAgICAgICAgICAgICkgYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuOiBkaXJ0eUNlbGwuY29sc3BhbiArIDEgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHJvd0luZGV4KS5jb25jYXQocm93LmNoaWxkcmVuLmluZGV4T2YoZGlydHlDZWxsKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgPSBwb3NpdGlvbi50YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlRW50cnkgPSBwb3NpdGlvbi50YWJsZUVudHJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBbbmV3Q2VsbF0sIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeVsxXS5jb25jYXQocm93SW5kZXgpLmNvbmNhdChpbnNlcnRDb2x1bW5JbmRleClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWJsZS5jb2x1bW5zKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2x1bW5zOiBhZGRDb2x1bW5zKHRhYmxlLCB0YWJsZS5jb2x1bW5zLmxlbmd0aCArIDEsIGluc2VydENvbHVtbkluZGV4KSB9LCB7IGF0OiB0YWJsZUVudHJ5WzFdIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKlxuICogSW5zZXJ0IG5ldyBjb2x1bW4gaW4gdGhlIHJvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Q29sdW1uQXRSb3coXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIGNvdW50ID0gMSxcbiAgICB0YWJsZUVudHJ5OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PixcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgZ2V0Q2VsbD86IChjb2x1bW46IG51bWJlciwgcm93OiBudW1iZXIpID0+IFRhYmxlQ2VsbEVsZW1lbnRcbikge1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2VsbCA9IGdldENlbGwgPyBnZXRDZWxsKGNvbHVtbkluZGV4LCByb3dJbmRleCkgOiBjcmVhdGVDZWxsKG9wdHMpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIFtuZXdDZWxsXSwge1xuICAgICAgICAgICAgICAgIGF0OiB0YWJsZUVudHJ5WzFdLmNvbmNhdChbcm93SW5kZXgsIGNvbHVtbkluZGV4XSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RhYmxlL3RyYW5zZm9ybXMvaW5zZXJ0LWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBYSxNQUFNLE9BQU8sQ0FBQztBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQ3hCLElBQWtCLEVBQ2xCLE1BQWMsRUFDZCxLQUFLLEdBQUcsQ0FBQyxFQUNULEVBQVcsRUFBRSxlQUFlO0FBQzVCLE9BQTJEO0lBRTNELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsTUFBTSxFQUNGLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxFQUNuQixHQUFHLFNBQVMsQ0FBQztJQUVkLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ2hDLElBQUksVUFBVSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFFMUMsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUU5RixzQkFBc0I7SUFFdEIsTUFBTSxD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QUNULFVBQW1DLEVBQ25DLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLE9BQTJEO0lBRTNELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDdEMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7YUFDcEQsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zvcm1zLCBFZGl0b3IsIE5vZGVFbnRyeSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlUG9zaXRpb24sIGNyZWF0ZUNlbGwgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjYWxjU3BhbkZvckNvbHVtbiB9IGZyb20gJy4uL3V0aWxzL2NhbGMtc3Bhbic7XG5pbXBvcnQgeyBhZGRDb2x1bW5zIH0gZnJvbSAnLi4vdXRpbHMvYWRkLWNvbHVtbnMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgY29sdW1uIGluIGN1cnJlbnQgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydENvbHVtbihcbiAgICBvcHRzOiBUYWJsZU9wdGlvbnMsXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgY291bnQgPSAxLFxuICAgIGF0PzogbnVtYmVyLCAvLyBDb2x1bW4gaW5kZXhcbiAgICBnZXRDZWxsPzogKGNvbHVtbjogbnVtYmVyLCByb3c6IG51bWJlcikgPT4gVGFibGVDZWxsRWxlbWVudFxuKSB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCB7XG4gICAgICAgIGFuY2hvcjogeyBwYXRoIH1cbiAgICB9ID0gc2VsZWN0aW9uO1xuXG4gICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgcGF0aCk7XG4gICAgbGV0IHRhYmxlID0gdGFibGVQb3NpdGlvbi50YWJsZTtcbiAgICBsZXQgdGFibGVFbnRyeSA9IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeTtcblxuICAgIGNvbnN0IGluc2VydENvbHVtbkluZGV4ID0gdHlwZW9mIGF0ID09PSAndW5kZWZpbmVkJyA/IHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSArIDEgOiBhdDtcblxuICAgIC8vIEluc2VydCB0aGUgbmV3IGNlbGxcblxuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBjYWxjU3BhbkZvckNvbHVtbih0YWJsZSwgaW5zZXJ0Q29sdW1uSW5kZXgpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRhYmxlLmNoaWxkcmVuLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0luc2lkZSA9IGNvbHNwYW5bcm93SW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NlbGwgPSBnZXRDZWxsID8gZ2V0Q2VsbChpbnNlcnRDb2x1bW5JbmRleCwgcm93SW5kZXgpIDogY3JlYXRlQ2VsbChvcHRzKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNJbnNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q2VsbC5oaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXJ0eUNlbGwgPSByb3cuY2hpbGRyZW4uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgIChjZWxsOiBUYWJsZUNlbGxFbGVtZW50LCBjb2x1bW5JbmRleDogbnVtYmVyKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFjZWxsLmhpZGRlbiAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbkluZGV4IDwgaW5zZXJ0Q29sdW1uSW5kZXggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmNvbHNwYW4gKyBjb2x1bW5JbmRleCA+IGluc2VydENvbHVtbkluZGV4XG4gICAgICAgICAgICAgICAgICAgICkgYXMgVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpcnR5Q2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBjb2xzcGFuOiBkaXJ0eUNlbGwuY29sc3BhbiArIDEgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiB0YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0uY29uY2F0KHJvd0luZGV4KS5jb25jYXQocm93LmNoaWxkcmVuLmluZGV4T2YoZGlydHlDZWxsKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUgPSBwb3NpdGlvbi50YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlRW50cnkgPSBwb3NpdGlvbi50YWJsZUVudHJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBbbmV3Q2VsbF0sIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IHRhYmxlUG9zaXRpb24udGFibGVFbnRyeVsxXS5jb25jYXQocm93SW5kZXgpLmNvbmNhdChpbnNlcnRDb2x1bW5JbmRleClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWJsZS5jb2x1bW5zKSB7XG4gICAgICAgICAgICBjb25zdCB0aGVUYWJsZVdyYXBwZXIgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZShlZGl0b3IsIHRhYmxlKS5xdWVyeVNlbGVjdG9yKCcudGhlLXRhYmxlLXdyYXBwZXInKTtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFdpZHRoID0gdGhlVGFibGVXcmFwcGVyLnNjcm9sbFdpZHRoO1xuICAgICAgICAgICAgY29uc3QgY2xpZW50V2lkdGggPSB0aGVUYWJsZVdyYXBwZXIuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICB7IGNvbHVtbnM6IGFkZENvbHVtbnModGFibGUsIHRhYmxlLmNvbHVtbnMubGVuZ3RoICsgMSwgaW5zZXJ0Q29sdW1uSW5kZXgsIHNjcm9sbFdpZHRoID4gY2xpZW50V2lkdGgpIH0sXG4gICAgICAgICAgICAgICAgeyBhdDogdGFibGVFbnRyeVsxXSB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbi8qKlxuICogSW5zZXJ0IG5ldyBjb2x1bW4gaW4gdGhlIHJvd1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0Q29sdW1uQXRSb3coXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGVkaXRvcjogRWRpdG9yLFxuICAgIGNvdW50ID0gMSxcbiAgICB0YWJsZUVudHJ5OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PixcbiAgICByb3dJbmRleDogbnVtYmVyLFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXIsXG4gICAgZ2V0Q2VsbD86IChjb2x1bW46IG51bWJlciwgcm93OiBudW1iZXIpID0+IFRhYmxlQ2VsbEVsZW1lbnRcbikge1xuICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY291bnQ7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgbmV3Q2VsbCA9IGdldENlbGwgPyBnZXRDZWxsKGNvbHVtbkluZGV4LCByb3dJbmRleCkgOiBjcmVhdGVDZWxsKG9wdHMpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIFtuZXdDZWxsXSwge1xuICAgICAgICAgICAgICAgIGF0OiB0YWJsZUVudHJ5WzFdLmNvbmNhdChbcm93SW5kZXgsIGNvbHVtbkluZGV4XSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { TableOptions } from '../table.types';
2
- export function addColumns(table, columnsCount, insertIndex) {
2
+ export function addColumns(table, columnsCount, insertIndex, canScroll) {
3
3
  if (table.columns.length < columnsCount) {
4
4
  if (!insertIndex && insertIndex !== 0) {
5
5
  insertIndex = table.columns.length;
@@ -11,6 +11,20 @@ export function addColumns(table, columnsCount, insertIndex) {
11
11
  const preTotalWidth = table.columns.reduce((prevValue, column) => {
12
12
  return prevValue + column.width;
13
13
  }, 0);
14
+ const isEqualColumns = table.columns.every(col => col.width === table.columns[0].width);
15
+ if (isEqualColumns) {
16
+ if (canScroll) {
17
+ columns.push(columns[0]);
18
+ return columns;
19
+ }
20
+ else {
21
+ const width = Math.round(preTotalWidth / columnsCount > opts.minWidthPx ? preTotalWidth / columnsCount : opts.minWidthPx);
22
+ columns.push({ width });
23
+ return columns.map(() => {
24
+ return { width };
25
+ });
26
+ }
27
+ }
14
28
  for (let i = 0; i < columnsCount - table.columns.length; i++) {
15
29
  columns.splice(insertIndex, 0, { width: opts.defaultWidth });
16
30
  }
@@ -25,4 +39,4 @@ export function addColumns(table, columnsCount, insertIndex) {
25
39
  }
26
40
  return table.columns;
27
41
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9hZGQtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFtQixFQUFFLFlBQW9CLEVBQUUsV0FBb0I7SUFDdEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUU7UUFDckMsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFO1lBQ25DLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUN0QztRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzdELE9BQU8sU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDcEMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRU4sS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxRCxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDaEU7UUFDRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0QsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixNQUFNLFVBQVUsR0FBRyxhQUFhLEdBQUcsaUJBQWlCLENBQUM7UUFDckQsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwSCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZENvbHVtbnModGFibGU6IFRhYmxlRWxlbWVudCwgY29sdW1uc0NvdW50OiBudW1iZXIsIGluc2VydEluZGV4PzogbnVtYmVyKSB7XG4gICAgaWYgKHRhYmxlLmNvbHVtbnMubGVuZ3RoIDwgY29sdW1uc0NvdW50KSB7XG4gICAgICAgIGlmICghaW5zZXJ0SW5kZXggJiYgaW5zZXJ0SW5kZXggIT09IDApIHtcbiAgICAgICAgICAgIGluc2VydEluZGV4ID0gdGFibGUuY29sdW1ucy5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgbGV0IGNvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLnNsaWNlKDAsIGNvbHVtbnNDb3VudCkubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGg6IGl0ZW0ud2lkdGggfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHByZVRvdGFsV2lkdGggPSB0YWJsZS5jb2x1bW5zLnJlZHVjZSgocHJldlZhbHVlLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsdWUgKyBjb2x1bW4ud2lkdGg7XG4gICAgICAgIH0sIDApO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1uc0NvdW50IC0gdGFibGUuY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29sdW1ucy5zcGxpY2UoaW5zZXJ0SW5kZXgsIDAsIHsgd2lkdGg6IG9wdHMuZGVmYXVsdFdpZHRoIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRUb3RhbFdpZHRoID0gY29sdW1ucy5yZWR1Y2UoKHByZXZWYWx1ZSwgY29sdW1uKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcHJldlZhbHVlICsgY29sdW1uLndpZHRoO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gcHJlVG90YWxXaWR0aCAvIGN1cnJlbnRUb3RhbFdpZHRoO1xuICAgICAgICByZXR1cm4gY29sdW1ucy5tYXAoKGNvbHVtbiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gTWF0aC5yb3VuZChjb2x1bW4ud2lkdGggKiBwZXJjZW50YWdlID4gb3B0cy5taW5XaWR0aFB4ID8gY29sdW1uLndpZHRoICogcGVyY2VudGFnZSA6IG9wdHMubWluV2lkdGhQeCk7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aCB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRhYmxlLmNvbHVtbnM7XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWNvbHVtbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9hZGQtY29sdW1ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFtQixFQUFFLFlBQW9CLEVBQUUsV0FBb0IsRUFBRSxTQUFtQjtJQUMzRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFlBQVksRUFBRTtRQUNyQyxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsS0FBSyxDQUFDLEVBQUU7WUFDbkMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3RDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDN0QsT0FBTyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNwQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4RixJQUFJLGNBQWMsRUFBRTtZQUNoQixJQUFJLFNBQVMsRUFBRTtnQkFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixPQUFPLE9BQU8sQ0FBQzthQUNsQjtpQkFBTTtnQkFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMxSCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFeEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFFRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFELE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMzRCxPQUFPLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVOLE1BQU0sVUFBVSxHQUFHLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BILE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztLQUNOO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWRkQ29sdW1ucyh0YWJsZTogVGFibGVFbGVtZW50LCBjb2x1bW5zQ291bnQ6IG51bWJlciwgaW5zZXJ0SW5kZXg/OiBudW1iZXIsIGNhblNjcm9sbD86IGJvb2xlYW4pIHtcbiAgICBpZiAodGFibGUuY29sdW1ucy5sZW5ndGggPCBjb2x1bW5zQ291bnQpIHtcbiAgICAgICAgaWYgKCFpbnNlcnRJbmRleCAmJiBpbnNlcnRJbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgaW5zZXJ0SW5kZXggPSB0YWJsZS5jb2x1bW5zLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICBsZXQgY29sdW1ucyA9IHRhYmxlLmNvbHVtbnMuc2xpY2UoMCwgY29sdW1uc0NvdW50KS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4geyB3aWR0aDogaXRlbS53aWR0aCB9O1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcHJlVG90YWxXaWR0aCA9IHRhYmxlLmNvbHVtbnMucmVkdWNlKChwcmV2VmFsdWUsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgY29uc3QgaXNFcXVhbENvbHVtbnMgPSB0YWJsZS5jb2x1bW5zLmV2ZXJ5KGNvbCA9PiBjb2wud2lkdGggPT09IHRhYmxlLmNvbHVtbnNbMF0ud2lkdGgpO1xuXG4gICAgICAgIGlmIChpc0VxdWFsQ29sdW1ucykge1xuICAgICAgICAgICAgaWYgKGNhblNjcm9sbCkge1xuICAgICAgICAgICAgICAgIGNvbHVtbnMucHVzaChjb2x1bW5zWzBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29sdW1ucztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBNYXRoLnJvdW5kKHByZVRvdGFsV2lkdGggLyBjb2x1bW5zQ291bnQgPiBvcHRzLm1pbldpZHRoUHggPyBwcmVUb3RhbFdpZHRoIC8gY29sdW1uc0NvdW50IDogb3B0cy5taW5XaWR0aFB4KTtcbiAgICAgICAgICAgICAgICBjb2x1bW5zLnB1c2goeyB3aWR0aCB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW5zLm1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHdpZHRoIH07XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbnNDb3VudCAtIHRhYmxlLmNvbHVtbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbHVtbnMuc3BsaWNlKGluc2VydEluZGV4LCAwLCB7IHdpZHRoOiBvcHRzLmRlZmF1bHRXaWR0aCB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50VG90YWxXaWR0aCA9IGNvbHVtbnMucmVkdWNlKChwcmV2VmFsdWUsIGNvbHVtbikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZSArIGNvbHVtbi53aWR0aDtcbiAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHByZVRvdGFsV2lkdGggLyBjdXJyZW50VG90YWxXaWR0aDtcbiAgICAgICAgcmV0dXJuIGNvbHVtbnMubWFwKChjb2x1bW4sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IE1hdGgucm91bmQoY29sdW1uLndpZHRoICogcGVyY2VudGFnZSA+IG9wdHMubWluV2lkdGhQeCA/IGNvbHVtbi53aWR0aCAqIHBlcmNlbnRhZ2UgOiBvcHRzLm1pbldpZHRoUHgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgd2lkdGggfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0YWJsZS5jb2x1bW5zO1xufVxuIl19
@@ -4,10 +4,12 @@ import { createRow } from './create-row';
4
4
  */
5
5
  export function createTable(opts, columns, rows, getCellContent) {
6
6
  const rowNodes = new Array(rows).fill(1).map(i => createRow(opts, columns, getCellContent ? getCellContent.bind(null, i) : undefined));
7
- rowNodes[0].header = true;
8
7
  return {
9
8
  type: opts.typeTable,
10
- children: rowNodes
9
+ children: rowNodes,
10
+ options: {
11
+ headerRow: true
12
+ }
11
13
  };
12
14
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvY3JlYXRlLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixJQUFrQixFQUNsQixPQUFlLEVBQ2YsSUFBWSxFQUNaLGNBQXdEO0lBRXhELE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXZJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQzFCLE9BQU87UUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDcEIsUUFBUSxFQUFFLFFBQVE7S0FDckIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVJvdyB9IGZyb20gJy4vY3JlYXRlLXJvdyc7XG5cbi8qKlxuICogQ3JlYXRlIGEgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRhYmxlKFxuICAgIG9wdHM6IFRhYmxlT3B0aW9ucyxcbiAgICBjb2x1bW5zOiBudW1iZXIsXG4gICAgcm93czogbnVtYmVyLFxuICAgIGdldENlbGxDb250ZW50PzogKHJvdzogbnVtYmVyLCBjb2x1bW46IG51bWJlcikgPT4gTm9kZVtdXG4pOiBUYWJsZUVsZW1lbnQge1xuICAgIGNvbnN0IHJvd05vZGVzID0gbmV3IEFycmF5KHJvd3MpLmZpbGwoMSkubWFwKGkgPT4gY3JlYXRlUm93KG9wdHMsIGNvbHVtbnMsIGdldENlbGxDb250ZW50ID8gZ2V0Q2VsbENvbnRlbnQuYmluZChudWxsLCBpKSA6IHVuZGVmaW5lZCkpO1xuXG4gICAgcm93Tm9kZXNbMF0uaGVhZGVyID0gdHJ1ZTtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBvcHRzLnR5cGVUYWJsZSxcbiAgICAgICAgY2hpbGRyZW46IHJvd05vZGVzXG4gICAgfTtcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvY3JlYXRlLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN2QixJQUFrQixFQUNsQixPQUFlLEVBQ2YsSUFBWSxFQUNaLGNBQXdEO0lBRXhELE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXZJLE9BQU87UUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDcEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsT0FBTyxFQUFFO1lBQ0wsU0FBUyxFQUFFLElBQUk7U0FDbEI7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUYWJsZUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgY3JlYXRlUm93IH0gZnJvbSAnLi9jcmVhdGUtcm93JztcblxuLyoqXG4gKiBDcmVhdGUgYSB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGFibGUoXG4gICAgb3B0czogVGFibGVPcHRpb25zLFxuICAgIGNvbHVtbnM6IG51bWJlcixcbiAgICByb3dzOiBudW1iZXIsXG4gICAgZ2V0Q2VsbENvbnRlbnQ/OiAocm93OiBudW1iZXIsIGNvbHVtbjogbnVtYmVyKSA9PiBOb2RlW11cbik6IFRhYmxlRWxlbWVudCB7XG4gICAgY29uc3Qgcm93Tm9kZXMgPSBuZXcgQXJyYXkocm93cykuZmlsbCgxKS5tYXAoaSA9PiBjcmVhdGVSb3cob3B0cywgY29sdW1ucywgZ2V0Q2VsbENvbnRlbnQgPyBnZXRDZWxsQ29udGVudC5iaW5kKG51bGwsIGkpIDogdW5kZWZpbmVkKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBvcHRzLnR5cGVUYWJsZSxcbiAgICAgICAgY2hpbGRyZW46IHJvd05vZGVzLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBoZWFkZXJSb3c6IHRydWVcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -1,4 +1,6 @@
1
+ import { TableOptions } from '../table.types';
1
2
  import { isRangeInTable } from './is-range-in-table';
3
+ import { TablePosition } from './table-position';
2
4
  /**
3
5
  * Is the selection in a table
4
6
  */
@@ -10,21 +12,41 @@ export function isSelectionInTable(opts, editor) {
10
12
  }
11
13
  /**
12
14
  * Whether the cells passed in can form a rectangle
15
+ * @param editor
13
16
  * @param cells
14
17
  * @returns boolean
15
18
  */
16
- export function isRectangularInTableCells(cells) {
19
+ export function isRectangularInTableCells(editor, cells) {
20
+ let selectCellSize = cells.length;
21
+ if (selectCellSize === 0) {
22
+ return false;
23
+ }
17
24
  const { row, col } = cells[0];
18
25
  let maxCol = col;
19
26
  let minCol = col;
20
27
  let maxRow = row;
21
28
  let minRow = row;
22
- for (const cell of cells) {
23
- maxCol = cell.col > maxCol ? cell.col : maxCol;
24
- minCol = cell.col < minCol ? cell.col : minCol;
25
- maxRow = cell.row > maxRow ? cell.row : maxRow;
26
- minRow = cell.row < minRow ? cell.row : minRow;
29
+ const path = editor.selection.anchor.path;
30
+ const pos = TablePosition.create(new TableOptions(), editor, path);
31
+ for (let { row, col } of cells) {
32
+ const node = pos.findCellByPath({ row, col });
33
+ if (node.hidden) {
34
+ selectCellSize--;
35
+ continue;
36
+ }
37
+ const { rowspan, colspan } = pos.table.children[row].children[col];
38
+ if (rowspan && colspan) {
39
+ // 更新视觉选中的个数
40
+ selectCellSize = selectCellSize + (rowspan * colspan - 1);
41
+ // 纠正合并单元格下的 row 和 col 的真实值
42
+ col = col + colspan - 1;
43
+ row = row + rowspan - 1;
44
+ }
45
+ maxCol = col > maxCol ? col : maxCol;
46
+ minCol = col < minCol ? col : minCol;
47
+ maxRow = row > maxRow ? row : maxRow;
48
+ minRow = row < minRow ? row : minRow;
27
49
  }
28
- return (maxRow + 1 - minRow) * (maxCol + 1 - minCol) === cells.length;
50
+ return (maxRow + 1 - minRow) * (maxCol + 1 - minCol) === selectCellSize;
29
51
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvaXMtc2VsZWN0aW9uLWluLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFrQixFQUFFLE1BQWM7SUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbkIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxLQUFxQjtJQUMzRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLElBQUksTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUN6QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDdEIsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDL0MsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDL0MsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDL0MsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDbEQ7SUFDRCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2VsZWN0ZWRDZWxsLCBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBpc1JhbmdlSW5UYWJsZSB9IGZyb20gJy4vaXMtcmFuZ2UtaW4tdGFibGUnO1xuXG4vKipcbiAqIElzIHRoZSBzZWxlY3Rpb24gaW4gYSB0YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3Rpb25JblRhYmxlKG9wdHM6IFRhYmxlT3B0aW9ucywgZWRpdG9yOiBFZGl0b3IpOiBib29sZWFuIHtcbiAgICBpZiAoIWVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNSYW5nZUluVGFibGUob3B0cywgZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBjZWxscyBwYXNzZWQgaW4gY2FuIGZvcm0gYSByZWN0YW5nbGVcbiAqIEBwYXJhbSBjZWxsc1xuICogQHJldHVybnMgYm9vbGVhblxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSZWN0YW5ndWxhckluVGFibGVDZWxscyhjZWxsczogU2VsZWN0ZWRDZWxsW10pOiBib29sZWFuIHtcbiAgICBjb25zdCB7IHJvdywgY29sIH0gPSBjZWxsc1swXTtcbiAgICBsZXQgbWF4Q29sOiBudW1iZXIgPSBjb2w7XG4gICAgbGV0IG1pbkNvbDogbnVtYmVyID0gY29sO1xuICAgIGxldCBtYXhSb3c6IG51bWJlciA9IHJvdztcbiAgICBsZXQgbWluUm93OiBudW1iZXIgPSByb3c7XG4gICAgZm9yIChjb25zdCBjZWxsIG9mIGNlbGxzKSB7XG4gICAgICAgIG1heENvbCA9IGNlbGwuY29sID4gbWF4Q29sID8gY2VsbC5jb2wgOiBtYXhDb2w7XG4gICAgICAgIG1pbkNvbCA9IGNlbGwuY29sIDwgbWluQ29sID8gY2VsbC5jb2wgOiBtaW5Db2w7XG4gICAgICAgIG1heFJvdyA9IGNlbGwucm93ID4gbWF4Um93ID8gY2VsbC5yb3cgOiBtYXhSb3c7XG4gICAgICAgIG1pblJvdyA9IGNlbGwucm93IDwgbWluUm93ID8gY2VsbC5yb3cgOiBtaW5Sb3c7XG4gICAgfVxuICAgIHJldHVybiAobWF4Um93ICsgMSAtIG1pblJvdykgKiAobWF4Q29sICsgMSAtIG1pbkNvbCkgPT09IGNlbGxzLmxlbmd0aDtcbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2VsZWN0aW9uLWluLXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdXRpbHMvaXMtc2VsZWN0aW9uLWluLXRhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUFrQixFQUFFLE1BQWM7SUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDbkIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBYyxFQUFFLEtBQXFCO0lBQzNFLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxjQUFjLEtBQUssQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBQ0QsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLElBQUksTUFBTSxHQUFXLEdBQUcsQ0FBQztJQUN6QixJQUFJLE1BQU0sR0FBVyxHQUFHLENBQUM7SUFDekIsSUFBSSxNQUFNLEdBQVcsR0FBRyxDQUFDO0lBQ3pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLEtBQUssSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxLQUFLLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNiLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLFNBQVM7U0FDWjtRQUNELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtZQUNwQixZQUFZO1lBQ1osY0FBYyxHQUFHLGNBQWMsR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUQsMkJBQTJCO1lBQzNCLEdBQUcsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQztZQUN4QixHQUFHLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNyQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7S0FDeEM7SUFDRCxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssY0FBYyxDQUFDO0FBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTZWxlY3RlZENlbGwsIFRhYmxlT3B0aW9ucyB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGlzUmFuZ2VJblRhYmxlIH0gZnJvbSAnLi9pcy1yYW5nZS1pbi10YWJsZSc7XG5pbXBvcnQgeyBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi90YWJsZS1wb3NpdGlvbic7XG5cbi8qKlxuICogSXMgdGhlIHNlbGVjdGlvbiBpbiBhIHRhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGlvbkluVGFibGUob3B0czogVGFibGVPcHRpb25zLCBlZGl0b3I6IEVkaXRvcik6IGJvb2xlYW4ge1xuICAgIGlmICghZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc1JhbmdlSW5UYWJsZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGNlbGxzIHBhc3NlZCBpbiBjYW4gZm9ybSBhIHJlY3RhbmdsZVxuICogQHBhcmFtIGVkaXRvclxuICogQHBhcmFtIGNlbGxzXG4gKiBAcmV0dXJucyBib29sZWFuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvcjogRWRpdG9yLCBjZWxsczogU2VsZWN0ZWRDZWxsW10pOiBib29sZWFuIHtcbiAgICBsZXQgc2VsZWN0Q2VsbFNpemUgPSBjZWxscy5sZW5ndGg7XG4gICAgaWYgKHNlbGVjdENlbGxTaXplID09PSAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgeyByb3csIGNvbCB9ID0gY2VsbHNbMF07XG4gICAgbGV0IG1heENvbDogbnVtYmVyID0gY29sO1xuICAgIGxldCBtaW5Db2w6IG51bWJlciA9IGNvbDtcbiAgICBsZXQgbWF4Um93OiBudW1iZXIgPSByb3c7XG4gICAgbGV0IG1pblJvdzogbnVtYmVyID0gcm93O1xuICAgIGNvbnN0IHBhdGggPSBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoO1xuICAgIGNvbnN0IHBvcyA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG5ldyBUYWJsZU9wdGlvbnMoKSwgZWRpdG9yLCBwYXRoKTtcbiAgICBmb3IgKGxldCB7IHJvdywgY29sIH0gb2YgY2VsbHMpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHBvcy5maW5kQ2VsbEJ5UGF0aCh7IHJvdywgY29sIH0pO1xuICAgICAgICBpZiAobm9kZS5oaWRkZW4pIHtcbiAgICAgICAgICAgIHNlbGVjdENlbGxTaXplLS07XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHJvd3NwYW4sIGNvbHNwYW4gfSA9IHBvcy50YWJsZS5jaGlsZHJlbltyb3ddLmNoaWxkcmVuW2NvbF07XG4gICAgICAgIGlmIChyb3dzcGFuICYmIGNvbHNwYW4pIHtcbiAgICAgICAgICAgIC8vIOabtOaWsOinhuiniemAieS4reeahOS4quaVsFxuICAgICAgICAgICAgc2VsZWN0Q2VsbFNpemUgPSBzZWxlY3RDZWxsU2l6ZSArIChyb3dzcGFuICogY29sc3BhbiAtIDEpO1xuICAgICAgICAgICAgLy8g57qg5q2j5ZCI5bm25Y2V5YWD5qC85LiL55qEIHJvdyDlkowgY29sIOeahOecn+WunuWAvFxuICAgICAgICAgICAgY29sID0gY29sICsgY29sc3BhbiAtIDE7XG4gICAgICAgICAgICByb3cgPSByb3cgKyByb3dzcGFuIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBtYXhDb2wgPSBjb2wgPiBtYXhDb2wgPyBjb2wgOiBtYXhDb2w7XG4gICAgICAgIG1pbkNvbCA9IGNvbCA8IG1pbkNvbCA/IGNvbCA6IG1pbkNvbDtcbiAgICAgICAgbWF4Um93ID0gcm93ID4gbWF4Um93ID8gcm93IDogbWF4Um93O1xuICAgICAgICBtaW5Sb3cgPSByb3cgPCBtaW5Sb3cgPyByb3cgOiBtaW5Sb3c7XG4gICAgfVxuICAgIHJldHVybiAobWF4Um93ICsgMSAtIG1pblJvdykgKiAobWF4Q29sICsgMSAtIG1pbkNvbCkgPT09IHNlbGVjdENlbGxTaXplO1xufVxuIl19
@@ -3,18 +3,18 @@ import { getSelectCellNode } from './get-select-cell-node';
3
3
  import { isRectangularInTableCells } from './is-selection-in-table';
4
4
  import { TableInsertType } from '../table.types';
5
5
  import { TableEditor } from '../table.editor';
6
- export function setCellMenuVisibility(editor, menuList, tableInfo, isFromControls) {
6
+ export function setCellMenuVisibility(editor, menuList, tableInfo) {
7
7
  const { selectedCells, isFullscreen, selectedRowsIndex, selectedColumnsIndex } = tableInfo;
8
8
  const isCellMerged = isSelectedCellMerged(editor);
9
9
  const selectCellNodes = getSelectCellNode(editor, selectedCells).filter(item => !item.node.hidden);
10
- const isRect = isRectangularInTableCells(selectedCells);
10
+ const isRect = isRectangularInTableCells(editor, selectedCells);
11
11
  menuList.forEach(item => {
12
12
  switch (item.key) {
13
13
  case 'merge-cells':
14
- item.visibility = selectCellNodes && selectCellNodes.length > 1 && !isFromControls && isRect;
14
+ item.visibility = selectCellNodes && selectCellNodes.length > 1 && isRect;
15
15
  break;
16
16
  case 'split-cells':
17
- item.visibility = selectCellNodes && selectCellNodes.length === 1 && isCellMerged && !isFromControls;
17
+ item.visibility = selectCellNodes && selectCellNodes.length === 1 && isCellMerged;
18
18
  break;
19
19
  case 'delete-selection-rows':
20
20
  item.visibility = !isFullscreen || !selectedColumnsIndex.length;
@@ -26,15 +26,15 @@ export function setCellMenuVisibility(editor, menuList, tableInfo, isFromControl
26
26
  item.visibility = !isFullscreen;
27
27
  break;
28
28
  case TableInsertType.insertRowsUp:
29
- const isHeader = TableEditor.isActiveHeaderRow(editor);
30
- item.visibility = !isHeader && isRect;
29
+ const hasHeaderRowCell = TableEditor.hasHeaderRowCell(editor);
30
+ item.visibility = !hasHeaderRowCell && isRect;
31
31
  break;
32
32
  case TableInsertType.insertRowsDown:
33
33
  item.visibility = isRect;
34
34
  break;
35
35
  case TableInsertType.insertColumnsLeft:
36
- const isHeaderColumn = TableEditor.isActiveHeaderColumn(editor);
37
- item.visibility = !isHeaderColumn && isRect;
36
+ const hasHeaderColumnCell = TableEditor.hasHeaderColumnCell(editor);
37
+ item.visibility = !hasHeaderColumnCell && isRect;
38
38
  break;
39
39
  case TableInsertType.insertColumnsRight:
40
40
  item.visibility = isRect;
@@ -42,4 +42,4 @@ export function setCellMenuVisibility(editor, menuList, tableInfo, isFromControl
42
42
  }
43
43
  });
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxNQUFjLEVBQ2QsUUFBc0IsRUFDdEIsU0FBbUksRUFDbkksY0FBd0I7SUFFeEIsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDM0YsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRyxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RCxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNkLEtBQUssYUFBYTtnQkFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUM7Z0JBQzdGLE1BQU07WUFDVixLQUFLLGFBQWE7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksWUFBWSxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNyRyxNQUFNO1lBQ1YsS0FBSyx1QkFBdUI7Z0JBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hFLE1BQU07WUFDVixLQUFLLDBCQUEwQjtnQkFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztnQkFDN0QsTUFBTTtZQUNWLEtBQUssY0FBYztnQkFDZixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUNoQyxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsWUFBWTtnQkFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQztnQkFDdEMsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLGNBQWM7Z0JBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO2dCQUN6QixNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsaUJBQWlCO2dCQUNsQyxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxjQUFjLElBQUksTUFBTSxDQUFDO2dCQUM1QyxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsa0JBQWtCO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsTUFBTTtTQUNiO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaXNTZWxlY3RlZENlbGxNZXJnZWQgfSBmcm9tICcuL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0Q2VsbE5vZGUgfSBmcm9tICcuL2dldC1zZWxlY3QtY2VsbC1ub2RlJztcbmltcG9ydCB7IGlzUmVjdGFuZ3VsYXJJblRhYmxlQ2VsbHMgfSBmcm9tICcuL2lzLXNlbGVjdGlvbi1pbi10YWJsZSc7XG5pbXBvcnQgeyBNZW51RW50aXR5LCBTZWxlY3RlZENlbGwsIFRhYmxlSW5zZXJ0VHlwZSB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldENlbGxNZW51VmlzaWJpbGl0eShcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBtZW51TGlzdDogTWVudUVudGl0eVtdLFxuICAgIHRhYmxlSW5mbzogeyBzZWxlY3RlZENlbGxzOiBTZWxlY3RlZENlbGxbXTsgaXNGdWxsc2NyZWVuPzogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzSW5kZXg/OiBudW1iZXJbXTsgc2VsZWN0ZWRDb2x1bW5zSW5kZXg/OiBudW1iZXJbXSB9LFxuICAgIGlzRnJvbUNvbnRyb2xzPzogYm9vbGVhblxuKSB7XG4gICAgY29uc3QgeyBzZWxlY3RlZENlbGxzLCBpc0Z1bGxzY3JlZW4sIHNlbGVjdGVkUm93c0luZGV4LCBzZWxlY3RlZENvbHVtbnNJbmRleCB9ID0gdGFibGVJbmZvO1xuICAgIGNvbnN0IGlzQ2VsbE1lcmdlZCA9IGlzU2VsZWN0ZWRDZWxsTWVyZ2VkKGVkaXRvcik7XG4gICAgY29uc3Qgc2VsZWN0Q2VsbE5vZGVzID0gZ2V0U2VsZWN0Q2VsbE5vZGUoZWRpdG9yLCBzZWxlY3RlZENlbGxzKS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5ub2RlLmhpZGRlbik7XG4gICAgY29uc3QgaXNSZWN0ID0gaXNSZWN0YW5ndWxhckluVGFibGVDZWxscyhzZWxlY3RlZENlbGxzKTtcbiAgICBtZW51TGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICBzd2l0Y2ggKGl0ZW0ua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdtZXJnZS1jZWxscyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPiAxICYmICFpc0Zyb21Db250cm9scyAmJiBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzcGxpdC1jZWxscyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPT09IDEgJiYgaXNDZWxsTWVyZ2VkICYmICFpc0Zyb21Db250cm9scztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS1zZWxlY3Rpb24tcm93cyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWlzRnVsbHNjcmVlbiB8fCAhc2VsZWN0ZWRDb2x1bW5zSW5kZXgubGVuZ3RoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlLXNlbGVjdGlvbi1jb2x1bW5zJzpcbiAgICAgICAgICAgICAgICBpdGVtLnZpc2liaWxpdHkgPSAhaXNGdWxsc2NyZWVuIHx8ICFzZWxlY3RlZFJvd3NJbmRleC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkZWxldGUtdGFibGUnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFpc0Z1bGxzY3JlZW47XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRSb3dzVXA6XG4gICAgICAgICAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlclJvdyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFpc0hlYWRlciAmJiBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRSb3dzRG93bjpcbiAgICAgICAgICAgICAgICBpdGVtLnZpc2liaWxpdHkgPSBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRDb2x1bW5zTGVmdDpcbiAgICAgICAgICAgICAgICBjb25zdCBpc0hlYWRlckNvbHVtbiA9IFRhYmxlRWRpdG9yLmlzQWN0aXZlSGVhZGVyQ29sdW1uKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWlzSGVhZGVyQ29sdW1uICYmIGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNSaWdodDpcbiAgICAgICAgICAgICAgICBpdGVtLnZpc2liaWxpdHkgPSBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUMsTUFBTSxVQUFVLHFCQUFxQixDQUNqQyxNQUFjLEVBQ2QsUUFBc0IsRUFDdEIsU0FBbUk7SUFFbkksTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDM0YsTUFBTSxZQUFZLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRyxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNwQixRQUFRLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDZCxLQUFLLGFBQWE7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDO2dCQUMxRSxNQUFNO1lBQ1YsS0FBSyxhQUFhO2dCQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQztnQkFDbEYsTUFBTTtZQUNWLEtBQUssdUJBQXVCO2dCQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO2dCQUNoRSxNQUFNO1lBQ1YsS0FBSywwQkFBMEI7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxZQUFZLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQzdELE1BQU07WUFDVixLQUFLLGNBQWM7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDaEMsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLFlBQVk7Z0JBQzdCLE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDO2dCQUM5QyxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsY0FBYztnQkFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBQ3pCLE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxpQkFBaUI7Z0JBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsbUJBQW1CLElBQUksTUFBTSxDQUFDO2dCQUNqRCxNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsa0JBQWtCO2dCQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFDekIsTUFBTTtTQUNiO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgaXNTZWxlY3RlZENlbGxNZXJnZWQgfSBmcm9tICcuL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0Q2VsbE5vZGUgfSBmcm9tICcuL2dldC1zZWxlY3QtY2VsbC1ub2RlJztcbmltcG9ydCB7IGlzUmVjdGFuZ3VsYXJJblRhYmxlQ2VsbHMgfSBmcm9tICcuL2lzLXNlbGVjdGlvbi1pbi10YWJsZSc7XG5pbXBvcnQgeyBNZW51RW50aXR5LCBTZWxlY3RlZENlbGwsIFRhYmxlSW5zZXJ0VHlwZSB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vdGFibGUuZWRpdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNldENlbGxNZW51VmlzaWJpbGl0eShcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBtZW51TGlzdDogTWVudUVudGl0eVtdLFxuICAgIHRhYmxlSW5mbzogeyBzZWxlY3RlZENlbGxzOiBTZWxlY3RlZENlbGxbXTsgaXNGdWxsc2NyZWVuPzogYm9vbGVhbjsgc2VsZWN0ZWRSb3dzSW5kZXg/OiBudW1iZXJbXTsgc2VsZWN0ZWRDb2x1bW5zSW5kZXg/OiBudW1iZXJbXSB9XG4pIHtcbiAgICBjb25zdCB7IHNlbGVjdGVkQ2VsbHMsIGlzRnVsbHNjcmVlbiwgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4IH0gPSB0YWJsZUluZm87XG4gICAgY29uc3QgaXNDZWxsTWVyZ2VkID0gaXNTZWxlY3RlZENlbGxNZXJnZWQoZWRpdG9yKTtcbiAgICBjb25zdCBzZWxlY3RDZWxsTm9kZXMgPSBnZXRTZWxlY3RDZWxsTm9kZShlZGl0b3IsIHNlbGVjdGVkQ2VsbHMpLmZpbHRlcihpdGVtID0+ICFpdGVtLm5vZGUuaGlkZGVuKTtcbiAgICBjb25zdCBpc1JlY3QgPSBpc1JlY3Rhbmd1bGFySW5UYWJsZUNlbGxzKGVkaXRvciwgc2VsZWN0ZWRDZWxscyk7XG4gICAgbWVudUxpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgc3dpdGNoIChpdGVtLmtleSkge1xuICAgICAgICAgICAgY2FzZSAnbWVyZ2UtY2VsbHMnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IHNlbGVjdENlbGxOb2RlcyAmJiBzZWxlY3RDZWxsTm9kZXMubGVuZ3RoID4gMSAmJiBpc1JlY3Q7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdzcGxpdC1jZWxscyc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gc2VsZWN0Q2VsbE5vZGVzICYmIHNlbGVjdENlbGxOb2Rlcy5sZW5ndGggPT09IDEgJiYgaXNDZWxsTWVyZ2VkO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlLXNlbGVjdGlvbi1yb3dzJzpcbiAgICAgICAgICAgICAgICBpdGVtLnZpc2liaWxpdHkgPSAhaXNGdWxsc2NyZWVuIHx8ICFzZWxlY3RlZENvbHVtbnNJbmRleC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdkZWxldGUtc2VsZWN0aW9uLWNvbHVtbnMnOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFpc0Z1bGxzY3JlZW4gfHwgIXNlbGVjdGVkUm93c0luZGV4Lmxlbmd0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RlbGV0ZS10YWJsZSc6XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWlzRnVsbHNjcmVlbjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NVcDpcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNIZWFkZXJSb3dDZWxsID0gVGFibGVFZGl0b3IuaGFzSGVhZGVyUm93Q2VsbChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9ICFoYXNIZWFkZXJSb3dDZWxsICYmIGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NEb3duOlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0OlxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc0hlYWRlckNvbHVtbkNlbGwgPSBUYWJsZUVkaXRvci5oYXNIZWFkZXJDb2x1bW5DZWxsKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgaXRlbS52aXNpYmlsaXR5ID0gIWhhc0hlYWRlckNvbHVtbkNlbGwgJiYgaXNSZWN0O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Q29sdW1uc1JpZ2h0OlxuICAgICAgICAgICAgICAgIGl0ZW0udmlzaWJpbGl0eSA9IGlzUmVjdDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0pO1xufVxuIl19
@@ -240,4 +240,4 @@ export class TablePosition {
240
240
  return this.table.children[cell.row].children[cell.col];
241
241
  }
242
242
  }
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFtQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFJdkQsTUFBTSxPQUFPLGFBQWE7SUFhdEIsWUFDSSxPQUFPLEdBQUc7UUFDTixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsWUFBWSxFQUFFLElBQUk7S0FDckI7UUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWtCLEVBQUUsYUFBbUIsRUFBRSxJQUFVO1FBQzdELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEcsTUFBTSxR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LENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFFSCxjQUFjLENBQUMsSUFBa0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXFCLENBQUM7SUFDaEYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSwgUGF0aCwgTm9kZUVudHJ5LCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsRWxlbWVudCwgVGFibGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVQb3NpdGlvbiB7XG4gICAgLy8gVGhlRWxlbWVudCBjb250YWluZXIgZm9yIHRoZSB0YWJsZVxuICAgIHRhYmxlRW50cnk/OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PjtcblxuICAgIC8vIFRoZUVsZW1lbnQgZm9yIGN1cnJlbnQgcm93XG4gICAgcm93RW50cnk/OiBOb2RlRW50cnk8RWxlbWVudD47XG5cbiAgICAvLyBUaGVFbGVtZW50IGZvciBjdXJyZW50IGNlbGxcbiAgICBjZWxsRW50cnk/OiBOb2RlRW50cnk8VGFibGVDZWxsRWxlbWVudD47XG5cbiAgICAvLyBDdXJyZW50IGNvbnRlbnQgVGhlRWxlbWVudCBpbiB0aGUgY2VsbFxuICAgIGNvbnRlbnRFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGFibGVFbnRyeTogbnVsbCxcbiAgICAgICAgICAgIHJvd0VudHJ5OiBudWxsLFxuICAgICAgICAgICAgY2VsbEVudHJ5OiBudWxsLFxuICAgICAgICAgICAgY29udGVudEVudHJ5OiBudWxsXG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZUVudHJ5LCByb3dFbnRyeSwgY2VsbEVudHJ5LCBjb250ZW50RW50cnkgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGFibGVFbnRyeSA9IHRhYmxlRW50cnk7XG4gICAgICAgIHRoaXMucm93RW50cnkgPSByb3dFbnRyeTtcbiAgICAgICAgdGhpcy5jZWxsRW50cnkgPSBjZWxsRW50cnk7XG4gICAgICAgIHRoaXMuY29udGVudEVudHJ5ID0gY29udGVudEVudHJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhIFRhYmxlUG9zaXRpb24gZnJvbSBhIFNsYXRlIGRvY3VtZW50XG4gICAgICogYW5kIGEgbm9kZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShvcHRzOiBUYWJsZU9wdGlvbnMsIGNvbnRhaW5lck5vZGU6IE5vZGUsIHBhdGg6IFBhdGgpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzID0gQXJyYXkuZnJvbShOb2RlLmFuY2VzdG9ycyhjb250YWluZXJOb2RlLCBwYXRoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlRW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVRhYmxlKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93RW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVJvdykgfHwgW107XG4gICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCkgfHwgW107XG4gICAgICAgIGNvbnN0IGNvbnRlbnRFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ29udGVudCkgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBvc2l0aW9uKHtcbiAgICAgICAgICAgIHRhYmxlRW50cnksXG4gICAgICAgICAgICByb3dFbnRyeSxcbiAgICAgICAgICAgIGNlbGxFbnRyeSxcbiAgICAgICAgICAgIGNvbnRlbnRFbnRyeVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGUoKTogVGFibGVFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlRW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGluIGEgdGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUVudHJ5WzBdO1xuICAgIH1cblxuICAgIGdldCByb3coKTogRWxlbWVudCB7XG4gICAgICAgIGlmICghdGhpcy5yb3dFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSByb3cnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5yb3dFbnRyeVswXTtcbiAgICB9XG5cbiAgICBnZXQgY2VsbCgpOiBUYWJsZUNlbGxFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmNlbGxFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSBjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVudHJ5WzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIHdpdGhpbiBhIGNlbGxcbiAgICAgKi9cbiAgICBpc0luQ2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jZWxsRW50cnkubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgcG9zaXRpb24gaXMgd2l0aGluIGEgcm93XG4gICAgICovXG4gICAgaXNJblJvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5yb3dFbnRyeS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhpcyBwb3NpdGlvbiBpcyB3aXRoaW4gYSB0YWJsZVxuICAgICAqL1xuICAgIGlzSW5UYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy50YWJsZUVudHJ5Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNUb3BPZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNCb3R0b21PZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBjaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb3VudCBvZiBjb2x1bW5zXG4gICAgICovXG4gICAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjZWxscyA9IHJvd3NbMF0uY2hpbGRyZW4gYXMgTm9kZVtdO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvdW50IG9mIHJvd3NcbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggb2YgY3VycmVudCByb3cgaW4gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGdldFJvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUsIHJvdyB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmZpbmRJbmRleCh4ID0+IHggPT09IHJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IG9mIGN1cnJlbnQgY29sdW1uIGluIHRoZSByb3cuXG4gICAgICovXG4gICAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNlbGwgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5maW5kSW5kZXgoeCA9PiB4ID09PSBjZWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kIGN1cnJlbnQgYWJvdmUgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGZpbmRBYm92ZSgpIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB0ID0gdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgd2hpbGUgKHQpIHtcbiAgICAgICAgICAgIHkrKztcbiAgICAgICAgICAgIGlmICh0YWJsZS5jaGlsZHJlbltyb3dJbmRleCAtIHldICYmIHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZE5leHQoKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgbmV4dENlbGwgPSB0aGlzLmNlbGw7XG4gICAgICAgIHdoaWxlIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCArIDEgPCB0aGlzLmdldFdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCsrO1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyb3dJbmRleCArIDEgPCB0aGlzLmdldEhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgbmV4dENlbGwgPSB0aGlzLnRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dENlbGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCB7IHRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHByZXZpb3VzQ2VsbCA9IHRoaXMuY2VsbDtcbiAgICAgICAgd2hpbGUgKHByZXZpb3VzQ2VsbCAmJiBwcmV2aW91c0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggLSAxID49IDApIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleC0tO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2VsbCA9IHRoaXMudGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c0NlbGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZCBjdXJyZW50IGJlbG93IGNvbHVtbiBpbiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBmaW5kQmVsb3coKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgIHdoaWxlICh0KSB7XG4gICAgICAgICAgICB5Kys7XG4gICAgICAgICAgICBpZiAodGFibGUuY2hpbGRyZW5bcm93SW5kZXggKyB5XSAmJiB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XSkge1xuICAgICAgICAgICAgICAgIHQgPSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBpc0ZpcnN0Q2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaXJzdFJvdygpICYmIHRoaXMuaXNGaXJzdENvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCBjZWxsIG9mIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGlzTGFzdENlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFJvdygpICYmIHRoaXMuaXNMYXN0Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1ZSBpZiBvbiBmaXJzdCByb3dcbiAgICAgKi9cbiAgICBpc0ZpcnN0Um93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3dJbmRleCgpID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCByb3dcbiAgICAgKi9cbiAgICBpc0xhc3RSb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvd0luZGV4KCkgPT09IHRoaXMuZ2V0SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNGaXJzdENvbHVtbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVlIGlmIG9uIGxhc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNMYXN0Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbmRleCgpID09PSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmQgY2VsbCBkYXRhIHdpdGggY29sIGFuZCByb3dcbiAgICAgKi9cblxuICAgIGZpbmRDZWxsQnlQYXRoKGNlbGw6IFNlbGVjdGVkQ2VsbCk6IFRhYmxlQ2VsbEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZS5jaGlsZHJlbltjZWxsLnJvd10uY2hpbGRyZW5bY2VsbC5jb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy90YWJsZS91dGlscy90YWJsZS1wb3NpdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFtQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFJdkQsTUFBTSxPQUFPLGFBQWE7SUFhdEIsWUFDSSxPQUFPLEdBQUc7UUFDTixVQUFVLEVBQUUsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSTtRQUNkLFNBQVMsRUFBRSxJQUFJO1FBQ2YsWUFBWSxFQUFFLElBQUk7S0FDckI7UUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWtCLEVBQUUsYUFBbUIsRUFBRSxJQUFVO1FBQzdELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEcsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hHLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEcsT0FBTyxJQUFJLGFBQWEsQ0FBQztZQUNyQixVQUFVO1lBQ1YsUUFBUTtZQUNSLFNBQVM7WUFDVCxZQUFZO1NBQ2YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNyQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQW9CLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNKLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ0wsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNQLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXpDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekUsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDVixNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQztRQUV6QyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQzdCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpFLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDSixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQWtCLENBQUM7UUFFekMsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDTCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUM1QixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1YsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUUzQixPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNMLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsRUFBRTtZQUNOLENBQUMsRUFBRSxDQUFDO1lBQ0osSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3BGLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZELE9BQU8sQ0FBQyxDQUFDO2FBQ1o7WUFDRCxPQUFPO1NBQ1Y7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3pCLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDaEMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDbkMsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNsRTtpQkFBTSxJQUFJLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN4QyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2xFO2lCQUFNO2dCQUNILFFBQVEsR0FBRyxJQUFJLENBQUM7YUFDbkI7U0FDSjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxZQUFZO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsT0FBTyxZQUFZLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUN4QyxJQUFJLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QixXQUFXLEVBQUUsQ0FBQztnQkFDZCxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3RFO2lCQUFNO2dCQUNILFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxRQUFRLEVBQUUsQ0FBQztnQkFDWCxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ3RFO1NBQ0o7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ0wsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxFQUFFO1lBQ04sQ0FBQyxFQUFFLENBQUM7WUFDSixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDcEYsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDdkQsT0FBTyxDQUFDLENBQUM7YUFDWjtZQUNELE9BQU87U0FDVjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsVUFBVTtRQUNOLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBRUgsY0FBYyxDQUFDLElBQWtCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFxQixDQUFDO0lBQ2hGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUsIFBhdGgsIE5vZGVFbnRyeSwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFNlbGVjdGVkQ2VsbCwgVGFibGVPcHRpb25zIH0gZnJvbSAnLi4vdGFibGUudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgVGFibGVQb3NpdGlvbiB7XG4gICAgLy8gVGhlRWxlbWVudCBjb250YWluZXIgZm9yIHRoZSB0YWJsZVxuICAgIHRhYmxlRW50cnk/OiBOb2RlRW50cnk8VGFibGVFbGVtZW50PjtcblxuICAgIC8vIFRoZUVsZW1lbnQgZm9yIGN1cnJlbnQgcm93XG4gICAgcm93RW50cnk/OiBOb2RlRW50cnk8RWxlbWVudD47XG5cbiAgICAvLyBUaGVFbGVtZW50IGZvciBjdXJyZW50IGNlbGxcbiAgICBjZWxsRW50cnk/OiBOb2RlRW50cnk8VGFibGVDZWxsRWxlbWVudD47XG5cbiAgICAvLyBDdXJyZW50IGNvbnRlbnQgVGhlRWxlbWVudCBpbiB0aGUgY2VsbFxuICAgIGNvbnRlbnRFbnRyeT86IE5vZGVFbnRyeTxFbGVtZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBvcHRpb25zID0ge1xuICAgICAgICAgICAgdGFibGVFbnRyeTogbnVsbCxcbiAgICAgICAgICAgIHJvd0VudHJ5OiBudWxsLFxuICAgICAgICAgICAgY2VsbEVudHJ5OiBudWxsLFxuICAgICAgICAgICAgY29udGVudEVudHJ5OiBudWxsXG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZUVudHJ5LCByb3dFbnRyeSwgY2VsbEVudHJ5LCBjb250ZW50RW50cnkgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMudGFibGVFbnRyeSA9IHRhYmxlRW50cnk7XG4gICAgICAgIHRoaXMucm93RW50cnkgPSByb3dFbnRyeTtcbiAgICAgICAgdGhpcy5jZWxsRW50cnkgPSBjZWxsRW50cnk7XG4gICAgICAgIHRoaXMuY29udGVudEVudHJ5ID0gY29udGVudEVudHJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBhIFRhYmxlUG9zaXRpb24gZnJvbSBhIFNsYXRlIGRvY3VtZW50XG4gICAgICogYW5kIGEgbm9kZSBrZXkuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZShvcHRzOiBUYWJsZU9wdGlvbnMsIGNvbnRhaW5lck5vZGU6IE5vZGUsIHBhdGg6IFBhdGgpOiBUYWJsZVBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgYW5jZXN0b3JzID0gQXJyYXkuZnJvbShOb2RlLmFuY2VzdG9ycyhjb250YWluZXJOb2RlLCBwYXRoKSk7XG4gICAgICAgIGNvbnN0IHRhYmxlRW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVRhYmxlKSB8fCBbXTtcbiAgICAgICAgY29uc3Qgcm93RW50cnkgPSBhbmNlc3RvcnMuZmluZCgoW3BdKSA9PiBFbGVtZW50LmlzRWxlbWVudChwKSAmJiBwLnR5cGUgPT09IG9wdHMudHlwZVJvdykgfHwgW107XG4gICAgICAgIGNvbnN0IGNlbGxFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ2VsbCkgfHwgW107XG4gICAgICAgIGNvbnN0IGNvbnRlbnRFbnRyeSA9IGFuY2VzdG9ycy5maW5kKChbcF0pID0+IEVsZW1lbnQuaXNFbGVtZW50KHApICYmIHAudHlwZSA9PT0gb3B0cy50eXBlQ29udGVudCkgfHwgW107XG5cbiAgICAgICAgcmV0dXJuIG5ldyBUYWJsZVBvc2l0aW9uKHtcbiAgICAgICAgICAgIHRhYmxlRW50cnksXG4gICAgICAgICAgICByb3dFbnRyeSxcbiAgICAgICAgICAgIGNlbGxFbnRyeSxcbiAgICAgICAgICAgIGNvbnRlbnRFbnRyeVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgdGFibGUoKTogVGFibGVFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnRhYmxlRW50cnkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90IGluIGEgdGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50YWJsZUVudHJ5WzBdO1xuICAgIH1cblxuICAgIGdldCByb3coKTogVGFibGVSb3dFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLnJvd0VudHJ5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbiBhIHJvdycpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnJvd0VudHJ5WzBdIGFzIFRhYmxlUm93RWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgY2VsbCgpOiBUYWJsZUNlbGxFbGVtZW50IHtcbiAgICAgICAgaWYgKCF0aGlzLmNlbGxFbnRyeSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgaW4gYSBjZWxsJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbEVudHJ5WzBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIHdpdGhpbiBhIGNlbGxcbiAgICAgKi9cbiAgICBpc0luQ2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jZWxsRW50cnkubGVuZ3RoID4gMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgcG9zaXRpb24gaXMgd2l0aGluIGEgcm93XG4gICAgICovXG4gICAgaXNJblJvdygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5yb3dFbnRyeS5sZW5ndGggPiAwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayB0byBzZWUgaWYgdGhpcyBwb3NpdGlvbiBpcyB3aXRoaW4gYSB0YWJsZVxuICAgICAqL1xuICAgIGlzSW5UYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy50YWJsZUVudHJ5Lmxlbmd0aCA+IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSB0b3Agb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNUb3BPZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIHRvIHNlZSBpZiB0aGlzIHBvc2l0aW9uIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIGNlbGwuXG4gICAgICovXG4gICAgaXNCb3R0b21PZkNlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHsgY29udGVudEVudHJ5LCBjZWxsRW50cnkgfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKCFjb250ZW50RW50cnkgfHwgIWNlbGxFbnRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY2VsbEVudHJ5WzBdO1xuICAgICAgICBjb25zdCBpbmRleCA9IGNoaWxkcmVuLmZpbmRJbmRleChjb250ZW50ID0+IGNvbnRlbnQgPT09IGNvbnRlbnRFbnRyeVswXSk7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBjaGlsZHJlbi5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBjb3VudCBvZiBjb2x1bW5zXG4gICAgICovXG4gICAgZ2V0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuICAgICAgICBjb25zdCBjZWxscyA9IHJvd3NbMF0uY2hpbGRyZW4gYXMgTm9kZVtdO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5sZW5ndGg7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNvdW50IG9mIHJvd3NcbiAgICAgKi9cbiAgICBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgaW5kZXggb2YgY3VycmVudCByb3cgaW4gdGhlIHRhYmxlLlxuICAgICAqL1xuICAgIGdldFJvd0luZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUsIHJvdyB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93cyA9IHRhYmxlLmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiByb3dzLmZpbmRJbmRleCh4ID0+IHggPT09IHJvdyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGluZGV4IG9mIGN1cnJlbnQgY29sdW1uIGluIHRoZSByb3cuXG4gICAgICovXG4gICAgZ2V0Q29sdW1uSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNlbGwgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93LmNoaWxkcmVuO1xuXG4gICAgICAgIHJldHVybiBjZWxscy5maW5kSW5kZXgoeCA9PiB4ID09PSBjZWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaW5kIGN1cnJlbnQgYWJvdmUgY29sdW1uIGluIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGZpbmRBYm92ZSgpIHtcbiAgICAgICAgY29uc3QgeyB0YWJsZSB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgeSA9IDA7XG4gICAgICAgIGxldCB0ID0gdGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgd2hpbGUgKHQpIHtcbiAgICAgICAgICAgIHkrKztcbiAgICAgICAgICAgIGlmICh0YWJsZS5jaGlsZHJlbltyb3dJbmRleCAtIHldICYmIHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdKSB7XG4gICAgICAgICAgICAgICAgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4IC0geV0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmluZE5leHQoKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGxldCByb3dJbmRleCA9IHRoaXMuZ2V0Um93SW5kZXgoKTtcbiAgICAgICAgbGV0IGNvbHVtbkluZGV4ID0gdGhpcy5nZXRDb2x1bW5JbmRleCgpO1xuICAgICAgICBsZXQgbmV4dENlbGwgPSB0aGlzLmNlbGw7XG4gICAgICAgIHdoaWxlIChuZXh0Q2VsbCAmJiBuZXh0Q2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgIGlmIChjb2x1bW5JbmRleCArIDEgPCB0aGlzLmdldFdpZHRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleCsrO1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChyb3dJbmRleCArIDEgPCB0aGlzLmdldEhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4Kys7XG4gICAgICAgICAgICAgICAgbmV4dENlbGwgPSB0aGlzLnRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5leHRDZWxsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dENlbGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZpb3VzKCkge1xuICAgICAgICBjb25zdCB7IHRhYmxlIH0gPSB0aGlzO1xuICAgICAgICBsZXQgcm93SW5kZXggPSB0aGlzLmdldFJvd0luZGV4KCk7XG4gICAgICAgIGxldCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHByZXZpb3VzQ2VsbCA9IHRoaXMuY2VsbDtcbiAgICAgICAgd2hpbGUgKHByZXZpb3VzQ2VsbCAmJiBwcmV2aW91c0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uSW5kZXggLSAxID49IDApIHtcbiAgICAgICAgICAgICAgICBjb2x1bW5JbmRleC0tO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzQ2VsbCA9IHRoaXMudGFibGUuY2hpbGRyZW5bcm93SW5kZXhdLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29sdW1uSW5kZXggPSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgICAgICAgICAgICAgIHJvd0luZGV4LS07XG4gICAgICAgICAgICAgICAgcHJldmlvdXNDZWxsID0gdGhpcy50YWJsZS5jaGlsZHJlbltyb3dJbmRleF0uY2hpbGRyZW5bY29sdW1uSW5kZXhdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c0NlbGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmluZCBjdXJyZW50IGJlbG93IGNvbHVtbiBpbiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBmaW5kQmVsb3coKSB7XG4gICAgICAgIGNvbnN0IHsgdGFibGUgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5nZXRSb3dJbmRleCgpO1xuICAgICAgICBjb25zdCBjb2x1bW5JbmRleCA9IHRoaXMuZ2V0Q29sdW1uSW5kZXgoKTtcbiAgICAgICAgbGV0IHkgPSAwO1xuICAgICAgICBsZXQgdCA9IHRhYmxlLmNoaWxkcmVuW3Jvd0luZGV4XS5jaGlsZHJlbltjb2x1bW5JbmRleF07XG4gICAgICAgIHdoaWxlICh0KSB7XG4gICAgICAgICAgICB5Kys7XG4gICAgICAgICAgICBpZiAodGFibGUuY2hpbGRyZW5bcm93SW5kZXggKyB5XSAmJiB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XSkge1xuICAgICAgICAgICAgICAgIHQgPSB0YWJsZS5jaGlsZHJlbltyb3dJbmRleCArIHldLmNoaWxkcmVuW2NvbHVtbkluZGV4XTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY2VsbCBvZiB0aGUgdGFibGVcbiAgICAgKi9cbiAgICBpc0ZpcnN0Q2VsbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGaXJzdFJvdygpICYmIHRoaXMuaXNGaXJzdENvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCBjZWxsIG9mIHRoZSB0YWJsZVxuICAgICAqL1xuICAgIGlzTGFzdENlbGwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzTGFzdFJvdygpICYmIHRoaXMuaXNMYXN0Q29sdW1uKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1ZSBpZiBvbiBmaXJzdCByb3dcbiAgICAgKi9cbiAgICBpc0ZpcnN0Um93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRSb3dJbmRleCgpID09PSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gbGFzdCByb3dcbiAgICAgKi9cbiAgICBpc0xhc3RSb3coKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJvd0luZGV4KCkgPT09IHRoaXMuZ2V0SGVpZ2h0KCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRydWUgaWYgb24gZmlyc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNGaXJzdENvbHVtbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29sdW1uSW5kZXgoKSA9PT0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcnVlIGlmIG9uIGxhc3QgY29sdW1uXG4gICAgICovXG4gICAgaXNMYXN0Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDb2x1bW5JbmRleCgpID09PSB0aGlzLmdldFdpZHRoKCkgLSAxO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGZpbmQgY2VsbCBkYXRhIHdpdGggY29sIGFuZCByb3dcbiAgICAgKi9cblxuICAgIGZpbmRDZWxsQnlQYXRoKGNlbGw6IFNlbGVjdGVkQ2VsbCk6IFRhYmxlQ2VsbEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZS5jaGlsZHJlbltjZWxsLnJvd10uY2hpbGRyZW5bY2VsbC5jb2xdIGFzIFRhYmxlQ2VsbEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
@@ -1,24 +1,41 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { fromEvent, Subject } from 'rxjs';
3
3
  import { FontSizes } from '../constants/node-types';
4
+ import { takeUntil } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
6
  export class TheContextService {
6
7
  constructor(ngZone) {
7
8
  this.ngZone = ngZone;
9
+ this.destroy$ = new Subject();
8
10
  this.uploadingFiles = [];
9
11
  this.paintFormatStatus = {
10
12
  isActive: false,
11
13
  marks: {}
12
14
  };
15
+ this.containerScrolled$ = new Subject();
13
16
  this.uploadingStatus$ = new Subject();
14
17
  this.ngZone.runOutsideAngular(() => {
15
- this.onMouseUp$ = fromEvent(window, `mouseup`);
16
- this.onMouseMove$ = fromEvent(window, `mousemove`);
17
- this.onMouseDown$ = fromEvent(window, `mousedown`);
18
+ this.onMouseUp$ = fromEvent(window, `mouseup`).pipe(takeUntil(this.destroy$));
19
+ this.onMouseMove$ = fromEvent(window, `mousemove`).pipe(takeUntil(this.destroy$));
20
+ this.onMouseDown$ = fromEvent(window, `mousedown`).pipe(takeUntil(this.destroy$));
18
21
  });
19
22
  }
20
23
  initialize(options) {
21
24
  this.options = options;
25
+ this.rebindContainerScroll();
26
+ }
27
+ rebindContainerScroll() {
28
+ this.scrollSubscription?.unsubscribe();
29
+ if (this.options.theOptions.scrollContainer) {
30
+ const containerElement = this.options.nativeElement.closest(this.options.theOptions.scrollContainer);
31
+ if (containerElement) {
32
+ this.ngZone.runOutsideAngular(() => {
33
+ this.scrollSubscription = fromEvent(containerElement, 'scroll').subscribe(event => {
34
+ this.containerScrolled$.next(event);
35
+ });
36
+ });
37
+ }
38
+ }
22
39
  }
23
40
  getOptions() {
24
41
  if (!this.options.width) {
@@ -46,10 +63,17 @@ export class TheContextService {
46
63
  removeUploadFile(file) {
47
64
  this.uploadingFiles.splice(this.uploadingFiles.findIndex(item => item.url === file.url), 1);
48
65
  }
66
+ ngOnDestroy() {
67
+ this.uploadingStatus$.complete();
68
+ this.containerScrolled$?.complete();
69
+ this.scrollSubscription?.unsubscribe();
70
+ this.destroy$.next();
71
+ this.destroy$.complete();
72
+ }
49
73
  }
50
74
  TheContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TheContextService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
51
75
  TheContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TheContextService });
52
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: TheContextService, decorators: [{
53
77
  type: Injectable
54
78
  }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0seUJBQXlCLENBQUM7O0FBZS9ELE1BQU0sT0FBTyxpQkFBaUI7SUFrQjFCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZmxDLG1CQUFjLEdBQWtDLEVBQUUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBc0I7WUFDMUMsUUFBUSxFQUFFLEtBQUs7WUFDZixLQUFLLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFRSyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRzdDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQWEsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUEwQjtRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNyQixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztTQUN0RDtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ25DLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUNyRSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsRCxPQUFPLGVBQWUsRUFBRSxpQkFBZ0MsQ0FBQztJQUM3RCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBaUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQWlDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUM1RCxDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7OzhHQWhFUSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRoZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtUeXBlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVDb250ZXh0T3B0aW9ucyB7XG4gICAgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHdpZHRoPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUGFpbnRGb3JtYXRTdGF0dXMge1xuICAgIGlzQWN0aXZlOiBib29sZWFuO1xuICAgIG1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IGFueSB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlQ29udGV4dFNlcnZpY2Uge1xuICAgIHByaXZhdGUgb3B0aW9uczogVGhlQ29udGV4dE9wdGlvbnM7XG5cbiAgICB1cGxvYWRpbmdGaWxlczogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB9W10gPSBbXTtcblxuICAgIHB1YmxpYyBwYWludEZvcm1hdFN0YXR1czogUGFpbnRGb3JtYXRTdGF0dXMgPSB7XG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgbWFya3M6IHt9XG4gICAgfTtcblxuICAgIHB1YmxpYyBvbk1vdXNlVXAkOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIG9uTW91c2VNb3ZlJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIHB1YmxpYyBvbk1vdXNlRG93biQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgdXBsb2FkaW5nU3RhdHVzJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZVVwJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csIGBtb3VzZXVwYCk7XG4gICAgICAgICAgICB0aGlzLm9uTW91c2VNb3ZlJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csIGBtb3VzZW1vdmVgKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZURvd24kID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlZG93bmApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZShvcHRpb25zOiBUaGVDb250ZXh0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy53aWR0aCkge1xuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50Q2hpbGQgPSB0aGlzLmdldEZpcnN0RWxlbWVudENoaWxkKCk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMud2lkdGggPSBmaXJzdEVsZW1lbnRDaGlsZC5vZmZzZXRXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUaGVPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRoZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERlZmF1bHRGb250U2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50aGVPcHRpb25zPy5mb250U2l6ZSB8fCBGb250U2l6ZXMuZm9udFNpemUxNDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RWRpdGFibGVFbGVtZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnRoZS1lZGl0b3ItdHlwbycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRGaXJzdEVsZW1lbnRDaGlsZCgpIHtcbiAgICAgICAgY29uc3QgZWRpdGFibGVFbGVtZW50ID0gdGhpcy5nZXRFZGl0YWJsZUVsZW1lbnQoKTtcbiAgICAgICAgcmV0dXJuIGVkaXRhYmxlRWxlbWVudD8uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgYWRkVXBsb2FkaW5nRmlsZXMoZmlsZTogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB9KSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMucHVzaChmaWxlKTtcbiAgICB9XG5cbiAgICByZW1vdmVVcGxvYWRGaWxlKGZpbGU6IHsgdXJsOiBzdHJpbmc7IGZpbGU6IEZpbGUgfSkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ0ZpbGVzLnNwbGljZShcbiAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS51cmwgPT09IGZpbGUudXJsKSxcbiAgICAgICAgICAgIDFcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFlM0MsTUFBTSxPQUFPLGlCQUFpQjtJQXlCMUIsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUF0QjFCLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUl6QyxtQkFBYyxHQUFrQyxFQUFFLENBQUM7UUFFbkQsc0JBQWlCLEdBQXNCO1lBQzFDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBU0ssdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQztRQUUxQyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRzdDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFhLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzlGLElBQUksQ0FBQyxZQUFZLEdBQUcs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QUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRoZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtUeXBlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaGVDb250ZXh0T3B0aW9ucyB7XG4gICAgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHdpZHRoPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgUGFpbnRGb3JtYXRTdGF0dXMge1xuICAgIGlzQWN0aXZlOiBib29sZWFuO1xuICAgIG1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IGFueSB9O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlQ29udGV4dFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgc2Nyb2xsU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwcml2YXRlIG9wdGlvbnM6IFRoZUNvbnRleHRPcHRpb25zO1xuXG4gICAgcHVibGljIHVwbG9hZGluZ0ZpbGVzOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH1bXSA9IFtdO1xuXG4gICAgcHVibGljIHBhaW50Rm9ybWF0U3RhdHVzOiBQYWludEZvcm1hdFN0YXR1cyA9IHtcbiAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxuICAgICAgICBtYXJrczoge31cbiAgICB9O1xuXG5cbiAgICBwdWJsaWMgb25Nb3VzZVVwJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIHB1YmxpYyBvbk1vdXNlTW92ZSQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgb25Nb3VzZURvd24kOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIGNvbnRhaW5lclNjcm9sbGVkJCA9IG5ldyBTdWJqZWN0PEV2ZW50PigpO1xuXG4gICAgcHVibGljIHVwbG9hZGluZ1N0YXR1cyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uTW91c2VVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCBgbW91c2V1cGApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZU1vdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlbW92ZWApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZURvd24kID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHdpbmRvdywgYG1vdXNlZG93bmApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRpYWxpemUob3B0aW9uczogVGhlQ29udGV4dE9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5yZWJpbmRDb250YWluZXJTY3JvbGwoKTtcbiAgICB9XG5cbiAgICByZWJpbmRDb250YWluZXJTY3JvbGwoKSB7XG4gICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMudGhlT3B0aW9ucy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5jbG9zZXN0KHRoaXMub3B0aW9ucy50aGVPcHRpb25zLnNjcm9sbENvbnRhaW5lcik7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQ8RXZlbnQ+KGNvbnRhaW5lckVsZW1lbnQsICdzY3JvbGwnKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXJTY3JvbGxlZCQubmV4dChldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLndpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdEVsZW1lbnRDaGlsZCA9IHRoaXMuZ2V0Rmlyc3RFbGVtZW50Q2hpbGQoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy53aWR0aCA9IGZpcnN0RWxlbWVudENoaWxkLm9mZnNldFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRoZU9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGhlT3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdEZvbnRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRoZU9wdGlvbnM/LmZvbnRTaXplIHx8IEZvbnRTaXplcy5mb250U2l6ZTE0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFZGl0YWJsZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLWVkaXRvci10eXBvJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpcnN0RWxlbWVudENoaWxkKCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSB0aGlzLmdldEVkaXRhYmxlRWxlbWVudCgpO1xuICAgICAgICByZXR1cm4gZWRpdGFibGVFbGVtZW50Py5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBhZGRVcGxvYWRpbmdGaWxlcyhmaWxlOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH0pIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdGaWxlcy5wdXNoKGZpbGUpO1xuICAgIH1cblxuICAgIHJlbW92ZVVwbG9hZEZpbGUoZmlsZTogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB9KSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMuc3BsaWNlKFxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdGaWxlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnVybCA9PT0gZmlsZS51cmwpLFxuICAgICAgICAgICAgMVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ1N0YXR1cyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJTY3JvbGxlZCQ/LmNvbXBsZXRlKCk7XG5cbiAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19