@plait/mind 0.27.0-next.3 → 0.27.0-next.5

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 (36) hide show
  1. package/base/emoji-base.component.d.ts +1 -1
  2. package/esm2022/base/emoji-base.component.mjs +5 -5
  3. package/esm2022/interfaces/element.mjs +1 -1
  4. package/esm2022/interfaces/options.mjs +1 -1
  5. package/esm2022/mind-node.component.mjs +234 -0
  6. package/esm2022/mind.component.mjs +2 -2
  7. package/esm2022/mind.module.mjs +2 -2
  8. package/esm2022/plugins/with-mind-fragment.mjs +90 -0
  9. package/esm2022/plugins/with-mind-hotkey.mjs +13 -55
  10. package/esm2022/plugins/with-mind.mjs +7 -36
  11. package/esm2022/plugins/with-node-dnd.mjs +3 -3
  12. package/esm2022/plugins/with-node-resize.mjs +2 -2
  13. package/esm2022/public-api.mjs +2 -2
  14. package/esm2022/transforms/index.mjs +2 -3
  15. package/esm2022/transforms/node.mjs +2 -18
  16. package/esm2022/utils/abstract/resize.mjs +1 -1
  17. package/esm2022/utils/dnd/common.mjs +1 -1
  18. package/esm2022/utils/draw/node-dnd.mjs +1 -1
  19. package/esm2022/utils/node/common.mjs +1 -1
  20. package/esm2022/utils/node/dynamic-width.mjs +2 -5
  21. package/esm2022/utils/node/image.mjs +1 -1
  22. package/esm2022/utils/position/topic.mjs +2 -3
  23. package/fesm2022/plait-mind.mjs +208 -234
  24. package/fesm2022/plait-mind.mjs.map +1 -1
  25. package/interfaces/options.d.ts +0 -2
  26. package/mind.component.d.ts +1 -1
  27. package/mind.module.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/plugins/with-mind-fragment.d.ts +5 -0
  30. package/plugins/with-mind-hotkey.d.ts +0 -2
  31. package/public-api.d.ts +1 -1
  32. package/styles/styles.scss +0 -3
  33. package/transforms/index.d.ts +0 -1
  34. package/transforms/node.d.ts +0 -1
  35. package/esm2022/node.component.mjs +0 -251
  36. /package/{node.component.d.ts → mind-node.component.d.ts} +0 -0
@@ -1,13 +1,12 @@
1
1
  import { Path } from 'slate';
2
2
  import { PlaitBoard, PlaitNode, Transforms } from '@plait/core';
3
- import { getFirstLevelElement } from '../utils/mind';
4
3
  import { getRelativeStartEndByAbstractRef } from '../utils/abstract/common';
5
4
  import { NodeSpace } from '../utils/space/node-space';
6
5
  const normalizeWidthAndHeight = (board, element, width, height) => {
7
6
  const minWidth = NodeSpace.getNodeTopicMinWidth(board, element, element.isRoot);
8
7
  const newWidth = width < minWidth * board.viewport.zoom ? minWidth : width / board.viewport.zoom;
9
8
  const newHeight = height / board.viewport.zoom;
10
- return { width: newWidth, height: newHeight };
9
+ return { width: Math.ceil(newWidth), height: newHeight };
11
10
  };
12
11
  export const setTopic = (board, element, topic, width, height) => {
13
12
  const newElement = {
@@ -37,21 +36,6 @@ export const setTopicSize = (board, element, width, height) => {
37
36
  Transforms.setNode(board, newElement, path);
38
37
  }
39
38
  };
40
- export const removeElements = (board, elements) => {
41
- const deletableElements = getFirstLevelElement(elements);
42
- deletableElements
43
- .map(element => {
44
- const path = PlaitBoard.findPath(board, element);
45
- const ref = board.pathRef(path);
46
- return () => {
47
- Transforms.removeNode(board, ref.current);
48
- ref.unref();
49
- };
50
- })
51
- .forEach(action => {
52
- action();
53
- });
54
- };
55
39
  export const insertNodes = (board, elements, path) => {
56
40
  const pathRef = board.pathRef(path);
57
41
  elements.forEach(element => {
@@ -79,4 +63,4 @@ export const setRightNodeCountByRefs = (board, refs) => {
79
63
  Transforms.setNode(board, { rightNodeCount: ref.rightNodeCount }, ref.path);
80
64
  });
81
65
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFlLGdDQUFnQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3RELE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQW9CLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQzNHLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRixNQUFNLFFBQVEsR0FBRyxLQUFLLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNqRyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQ25ILE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtRQUNoQyxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztLQUM3QyxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDN0csTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEgsTUFBTSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBaUIsQ0FBQztJQUM3RixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RyxNQUFNLFVBQVUsR0FBRztRQUNmLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0tBQzVELENBQUM7SUFDRixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7UUFDckIsWUFBWSxHQUFHLElBQUksQ0FBQztLQUN2QjtJQUNELElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDakMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQy9DO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxRQUF1QixFQUFFLEVBQUU7SUFDekUsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV6RCxpQkFBaUI7U0FDWixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDWCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxFQUFFO1lBQ1IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQVEsQ0FBQyxDQUFDO1lBQzNDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUM7SUFDTixDQUFDLENBQUM7U0FDRCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDZCxNQUFNLEVBQUUsQ0FBQztJQUNiLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxRQUF1QixFQUFFLElBQVUsRUFBRSxFQUFFO0lBQ2xGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN2QixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBaUIsRUFBRSxpQkFBZ0MsRUFBRSxRQUF1QixFQUFFLElBQVUsRUFBRSxFQUFFO0lBQzVILE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxPQUFPO1lBQ0gsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldEZpcnN0TGV2ZWxFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbWluZCc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZiwgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYgfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgUmlnaHROb2RlQ291bnRSZWYgfSBmcm9tICcuLi91dGlscy9ub2RlL3JpZ2h0LW5vZGUtY291bnQnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vdXRpbHMvc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcblxuY29uc3Qgbm9ybWFsaXplV2lkdGhBbmRIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlVG9waWNNaW5XaWR0aChib2FyZCwgZWxlbWVudCwgZWxlbWVudC5pc1Jvb3QpO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gd2lkdGggPCBtaW5XaWR0aCAqIGJvYXJkLnZpZXdwb3J0Lnpvb20gPyBtaW5XaWR0aCA6IHdpZHRoIC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBoZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIHJldHVybiB7IHdpZHRoOiBuZXdXaWR0aCwgaGVpZ2h0OiBuZXdIZWlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpYyA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB0b3BpYzogRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgdG9waWMgfSxcbiAgICAgICAgLi4ubm9ybWFsaXplV2lkdGhBbmRIZWlnaHQoYm9hcmQsIGVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpXG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXROb2RlTWFudWFsV2lkdGggPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgeyB3aWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSA9IG5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0geyBtYW51YWxXaWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRvcGljU2l6ZSA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIC4uLm5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KVxuICAgIH07XG4gICAgbGV0IGlzRXF1YWxXaWR0aCA9IE1hdGguY2VpbChlbGVtZW50LndpZHRoKSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQud2lkdGgpO1xuICAgIGxldCBpc0VxdWFsSGVpZ2h0ID0gTWF0aC5jZWlsKGVsZW1lbnQuaGVpZ2h0KSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQuaGVpZ2h0KTtcbiAgICBpZiAoZWxlbWVudC5tYW51YWxXaWR0aCkge1xuICAgICAgICBpc0VxdWFsV2lkdGggPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzRXF1YWxXaWR0aCB8fCAhaXNFcXVhbEhlaWdodCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IGRlbGV0YWJsZUVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoZWxlbWVudHMpO1xuXG4gICAgZGVsZXRhYmxlRWxlbWVudHNcbiAgICAgICAgLm1hcChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZShib2FyZCwgcmVmLmN1cnJlbnQhKTtcbiAgICAgICAgICAgICAgICByZWYudW5yZWYoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKGFjdGlvbiA9PiB7XG4gICAgICAgICAgICBhY3Rpb24oKTtcbiAgICAgICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgcGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYocGF0aCk7XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKHBhdGhSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBlbGVtZW50LCBwYXRoUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcGF0aFJlZi51bnJlZigpO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydEFic3RyYWN0Tm9kZXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHZhbGlkQWJzdHJhY3RSZWZzOiBBYnN0cmFjdFJlZltdLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSwgcGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHBhdGgpKTtcbiAgICBjb25zdCBhYnN0cmFjdFBhdGggPSBbLi4uUGF0aC5wYXJlbnQocGF0aCksIHBhcmVudC5jaGlsZHJlbj8ubGVuZ3RoIV07XG4gICAgY29uc3QgYWJzdHJhY3RzID0gdmFsaWRBYnN0cmFjdFJlZnMubWFwKHJlZnMgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGdldFJlbGF0aXZlU3RhcnRFbmRCeUFic3RyYWN0UmVmKHJlZnMsIGVsZW1lbnRzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlZnMuYWJzdHJhY3QsXG4gICAgICAgICAgICBzdGFydDogc3RhcnQgKyBwYXRoW3BhdGgubGVuZ3RoIC0gMV0sXG4gICAgICAgICAgICBlbmQ6IGVuZCArIHBhdGhbcGF0aC5sZW5ndGggLSAxXVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgaW5zZXJ0Tm9kZXMoYm9hcmQsIGFic3RyYWN0cywgYWJzdHJhY3RQYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyA9IChib2FyZDogUGxhaXRCb2FyZCwgcmVmczogUmlnaHROb2RlQ291bnRSZWZbXSkgPT4ge1xuICAgIHJlZnMuZm9yRWFjaChyZWYgPT4ge1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgcmlnaHROb2RlQ291bnQ6IHJlZi5yaWdodE5vZGVDb3VudCB9LCByZWYucGF0aCk7XG4gICAgfSk7XG59O1xuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQWUsZ0NBQWdDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHdEQsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDM0csTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sUUFBUSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pHLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQ25ILE1BQU0sVUFBVSxHQUFH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QyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxPQUFPO1lBQ0gsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UmVmLCBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZiB9IGZyb20gJy4uL3V0aWxzL2Fic3RyYWN0L2NvbW1vbic7XG5pbXBvcnQgeyBSaWdodE5vZGVDb3VudFJlZiB9IGZyb20gJy4uL3V0aWxzL25vZGUvcmlnaHQtbm9kZS1jb3VudCc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuXG5jb25zdCBub3JtYWxpemVXaWR0aEFuZEhlaWdodCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG1pbldpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVUb3BpY01pbldpZHRoKGJvYXJkLCBlbGVtZW50LCBlbGVtZW50LmlzUm9vdCk7XG4gICAgY29uc3QgbmV3V2lkdGggPSB3aWR0aCA8IG1pbldpZHRoICogYm9hcmQudmlld3BvcnQuem9vbSA/IG1pbldpZHRoIDogd2lkdGggLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IGhlaWdodCAvIGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgcmV0dXJuIHsgd2lkdGg6IE1hdGguY2VpbChuZXdXaWR0aCksIGhlaWdodDogbmV3SGVpZ2h0IH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0VG9waWMgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgdG9waWM6IEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEsIHRvcGljIH0sXG4gICAgICAgIC4uLm5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KVxuICAgIH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Tm9kZU1hbnVhbFdpZHRoID0gKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHsgd2lkdGg6IG5vcm1hbGl6ZWRXaWR0aCwgaGVpZ2h0OiBub3JtYWxpemVkSGVpZ2h0IH0gPSBub3JtYWxpemVXaWR0aEFuZEhlaWdodChib2FyZCwgZWxlbWVudCwgd2lkdGgsIGhlaWdodCk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHsgbWFudWFsV2lkdGg6IG5vcm1hbGl6ZWRXaWR0aCwgaGVpZ2h0OiBub3JtYWxpemVkSGVpZ2h0IH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpY1NpemUgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICAuLi5ub3JtYWxpemVXaWR0aEFuZEhlaWdodChib2FyZCwgZWxlbWVudCwgd2lkdGgsIGhlaWdodClcbiAgICB9O1xuICAgIGxldCBpc0VxdWFsV2lkdGggPSBNYXRoLmNlaWwoZWxlbWVudC53aWR0aCkgPT09IE1hdGguY2VpbChuZXdFbGVtZW50LndpZHRoKTtcbiAgICBsZXQgaXNFcXVhbEhlaWdodCA9IE1hdGguY2VpbChlbGVtZW50LmhlaWdodCkgPT09IE1hdGguY2VpbChuZXdFbGVtZW50LmhlaWdodCk7XG4gICAgaWYgKGVsZW1lbnQubWFudWFsV2lkdGgpIHtcbiAgICAgICAgaXNFcXVhbFdpZHRoID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFpc0VxdWFsV2lkdGggfHwgIWlzRXF1YWxIZWlnaHQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnROb2RlcyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10sIHBhdGg6IFBhdGgpID0+IHtcbiAgICBjb25zdCBwYXRoUmVmID0gYm9hcmQucGF0aFJlZihwYXRoKTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAocGF0aFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGVsZW1lbnQsIHBhdGhSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBwYXRoUmVmLnVucmVmKCk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QWJzdHJhY3ROb2RlcyA9IChib2FyZDogUGxhaXRCb2FyZCwgdmFsaWRBYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmW10sIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wYXJlbnQocGF0aCkpO1xuICAgIGNvbnN0IGFic3RyYWN0UGF0aCA9IFsuLi5QYXRoLnBhcmVudChwYXRoKSwgcGFyZW50LmNoaWxkcmVuPy5sZW5ndGghXTtcbiAgICBjb25zdCBhYnN0cmFjdHMgPSB2YWxpZEFic3RyYWN0UmVmcy5tYXAocmVmcyA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYocmVmcywgZWxlbWVudHMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVmcy5hYnN0cmFjdCxcbiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCArIHBhdGhbcGF0aC5sZW5ndGggLSAxXSxcbiAgICAgICAgICAgIGVuZDogZW5kICsgcGF0aFtwYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBpbnNlcnROb2Rlcyhib2FyZCwgYWJzdHJhY3RzLCBhYnN0cmFjdFBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCByZWZzOiBSaWdodE5vZGVDb3VudFJlZltdKSA9PiB7XG4gICAgcmVmcy5mb3JFYWNoKHJlZiA9PiB7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyByaWdodE5vZGVDb3VudDogcmVmLnJpZ2h0Tm9kZUNvdW50IH0sIHJlZi5wYXRoKTtcbiAgICB9KTtcbn07XG4iXX0=
@@ -188,4 +188,4 @@ export function handleTouchedAbstract(board, touchedAbstract, endPoint) {
188
188
  }
189
189
  return touchedAbstract;
190
190
  }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQVMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUE4QixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDMUMsaUJBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLG9CQUE0QyxFQUM1QyxZQUFxQixFQUN2QixFQUFFO0lBQ0EsSUFBSSxZQUFZLEVBQUU7UUFDZCxJQUFJLG9CQUFvQixLQUFLLHNCQUFzQixDQUFDLEtBQUssRUFBRTtZQUN2RCxPQUFPO2dCQUNILEdBQUcsaUJBQWlCO2dCQUNwQixDQUFDLEVBQUUsUUFBUTtnQkFDWCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsR0FBRyxRQUFRO2FBQ3BFLENBQUM7U0FDTDthQUFNO1lBQ0gsT0FBTztnQkFDSCxHQUFHLGlCQUFpQjtnQkFDcEIsTUFBTSxFQUFFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3pDLENBQUM7U0FDTDtLQUNKO1NBQU07UUFD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Q0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxlQUF3QyxFQUFFLFFBQWU7SUFDOUcsSUFBSSxhQUFhLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUgsYUFBYSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQzlCLE9BQU8sZUFBZSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxlQUFlLEVBQUU7UUFDakIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxlQUFnQixDQUFzQixDQUFDO1FBQ25GLFNBQVMsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUQsZUFBZSxHQUFHLFNBQVMsQ0FBQztLQUMvQjtJQUVELElBQUksUUFBUSxFQUFFO1FBQ1YsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLGVBQWdCLENBQXNCLENBQUM7UUFDbkYsU0FBUyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDaEY7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgTGF5b3V0Tm9kZSwgTWluZExheW91dFR5cGUsIGlzSG9yaXpvbnRhbExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRILCBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hYnN0cmFjdC1ub2RlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBnZXRDb3JyZWN0U3RhcnRFbmQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IEFic3RyYWN0SGFuZGxlUG9zaXRpb24gfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLmJvYXJkJztcblxuZXhwb3J0IGNvbnN0IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbiA9IChcbiAgICBhYnN0cmFjdFJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGxvY2F0aW9uOiBudW1iZXIsXG4gICAgYWN0aXZlSGFuZGxlUG9zaXRpb246IEFic3RyYWN0SGFuZGxlUG9zaXRpb24sXG4gICAgaXNIb3Jpem9udGFsOiBib29sZWFuXG4pID0+IHtcbiAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgIGlmIChhY3RpdmVIYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB5OiBsb2NhdGlvbixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGFic3RyYWN0UmVjdGFuZ2xlLmhlaWdodCArIGFic3RyYWN0UmVjdGFuZ2xlLnkgLSBsb2NhdGlvblxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYWJzdHJhY3RSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBsb2NhdGlvbiAtIGFic3RyYWN0UmVjdGFuZ2xlLnlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoYWN0aXZlSGFuZGxlUG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYWJzdHJhY3RSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgeDogbG9jYXRpb24sXG4gICAgICAgICAgICAgICAgd2lkdGg6IGFic3RyYWN0UmVjdGFuZ2xlLndpZHRoICsgYWJzdHJhY3RSZWN0YW5nbGUueCAtIGxvY2F0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogbG9jYXRpb24gLSBhYnN0cmFjdFJlY3RhbmdsZS54XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldExvY2F0aW9uU2NvcGUgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgaGFuZGxlUG9zaXRpb246IEFic3RyYWN0SGFuZGxlUG9zaXRpb24sXG4gICAgcGFyZW50Q2hpbGRyZW46IE1pbmRFbGVtZW50W10sXG4gICAgZWxlbWVudDogTWluZEVsZW1lbnQsXG4gICAgcGFyZW50OiBMYXlvdXROb2RlLFxuICAgIGlzSG9yaXpvbnRhbDogYm9vbGVhblxuKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IChNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpIGFzIHVua25vd24pIGFzIExheW91dE5vZGU7XG4gICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBnZXRDb3JyZWN0U3RhcnRFbmQobm9kZS5vcmlnaW4gYXMgQWJzdHJhY3ROb2RlLCBwYXJlbnQpO1xuXG4gICAgY29uc3Qgc3RhcnROb2RlID0gcGFyZW50Q2hpbGRyZW5bc3RhcnRdO1xuICAgIGNvbnN0IGVuZE5vZGUgPSBwYXJlbnRDaGlsZHJlbltlbmRdO1xuXG4gICAgaWYgKGhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IGFic3RyYWN0Tm9kZSA9IHBhcmVudENoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuZW5kIDwgZWxlbWVudC5zdGFydCEpO1xuICAgICAgICBsZXQgbWluTm9kZTtcblxuICAgICAgICBpZiAoYWJzdHJhY3ROb2RlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBhYnN0cmFjdE5vZGVcbiAgICAgICAgICAgICAgICAubWFwKG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGVuZCB9ID0gZ2V0Q29ycmVjdFN0YXJ0RW5kKG5vZGUgYXMgQWJzdHJhY3ROb2RlLCBwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW5kO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIgLSBhKVswXTtcbiAgICAgICAgICAgIG1pbk5vZGUgPSBwYXJlbnRDaGlsZHJlbltpbmRleCArIDFdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWluTm9kZSA9IHBhcmVudENoaWxkcmVuWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWluTm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFttaW5Ob2RlXSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGVuZE5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbZW5kTm9kZV0sIGZhbHNlKTtcblxuICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heDogZW5kTm9kZVJlY3RhbmdsZS55IC0gQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQsXG4gICAgICAgICAgICAgICAgbWluOiBtaW5Ob2RlUmVjdGFuZ2xlLnkgLSBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBlbmROb2RlUmVjdGFuZ2xlLnggLSBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCxcbiAgICAgICAgICAgICAgICBtaW46IG1pbk5vZGVSZWN0YW5nbGUueCAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYWJzdHJhY3ROb2RlID0gcGFyZW50Q2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5zdGFydCA+IGVsZW1lbnQuZW5kISk7XG4gICAgICAgIGxldCBtYXhOb2RlO1xuXG4gICAgICAgIGlmIChhYnN0cmFjdE5vZGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGFic3RyYWN0Tm9kZVxuICAgICAgICAgICAgICAgIC5tYXAobm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgc3RhcnQgfSA9IGdldENvcnJlY3RTdGFydEVuZChub2RlIGFzIEFic3RyYWN0Tm9kZSwgcGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXJ0O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEgLSBiKVswXTtcbiAgICAgICAgICAgIG1heE5vZGUgPSBwYXJlbnRDaGlsZHJlbltpbmRleCAtIDFdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSk7XG4gICAgICAgICAgICBtYXhOb2RlID0gcGFyZW50Q2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXhOb2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW21heE5vZGVdLCB0cnVlKTtcbiAgICAgICAgY29uc3Qgc3RhcnROb2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW3N0YXJ0Tm9kZV0sIGZhbHNlKTtcblxuICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heDogbWF4Tm9kZVJlY3RhbmdsZS55ICsgbWF4Tm9kZVJlY3RhbmdsZS5oZWlnaHQgKyBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCxcbiAgICAgICAgICAgICAgICBtaW46IHN0YXJ0Tm9kZVJlY3RhbmdsZS55ICsgc3RhcnROb2RlUmVjdGFuZ2xlLmhlaWdodCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IG1heE5vZGVSZWN0YW5nbGUueCArIG1heE5vZGVSZWN0YW5nbGUud2lkdGggKyBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCxcbiAgICAgICAgICAgICAgICBtaW46IHN0YXJ0Tm9kZVJlY3RhbmdsZS54ICsgc3RhcnROb2RlUmVjdGFuZ2xlLndpZHRoICsgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGl0QWJzdHJhY3RIYW5kbGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBub2RlTGF5b3V0ID0gTWluZFF1ZXJpZXMuZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCkgYXMgTWluZExheW91dFR5cGU7XG4gICAgY29uc3QgaXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFsTGF5b3V0KG5vZGVMYXlvdXQpO1xuXG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudChlbGVtZW50KTtcbiAgICBjb25zdCBpbmNsdWRlZEVsZW1lbnRzID0gcGFyZW50RWxlbWVudC5jaGlsZHJlbi5zbGljZShlbGVtZW50LnN0YXJ0ISwgZWxlbWVudC5lbmQhICsgMSk7XG4gICAgbGV0IGFic3RyYWN0UmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgaW5jbHVkZWRFbGVtZW50cywgdHJ1ZSk7XG4gICAgYWJzdHJhY3RSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0T3V0bGluZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgLUFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUKTtcblxuICAgIGNvbnN0IHN0YXJ0SGFuZGxlUmVjID0gZ2V0QWJzdHJhY3RIYW5kbGVSZWN0YW5nbGUoYWJzdHJhY3RSZWN0YW5nbGUsIGlzSG9yaXpvbnRhbCwgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCk7XG4gICAgY29uc3QgZW5kSGFuZGxlUmVjID0gZ2V0QWJzdHJhY3RIYW5kbGVSZWN0YW5nbGUoYWJzdHJhY3RSZWN0YW5nbGUsIGlzSG9yaXpvbnRhbCwgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQpO1xuXG4gICAgY29uc3QgcG9pbnRSZWMgPSBSZWN0YW5nbGVDbGllbnQudG9SZWN0YW5nbGVDbGllbnQoW3BvaW50LCBwb2ludF0pO1xuICAgIGlmIChSZWN0YW5nbGVDbGllbnQuaXNIaXQocG9pbnRSZWMsIHN0YXJ0SGFuZGxlUmVjKSkgcmV0dXJuIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQ7XG4gICAgaWYgKFJlY3RhbmdsZUNsaWVudC5pc0hpdChwb2ludFJlYywgZW5kSGFuZGxlUmVjKSkgcmV0dXJuIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uZW5kO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWJzdHJhY3RIYW5kbGVSZWN0YW5nbGUgPSAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIGlzSG9yaXpvbnRhbDogYm9vbGVhbiwgcG9zaXRpb246IEFic3RyYWN0SGFuZGxlUG9zaXRpb24pID0+IHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIGlmIChwb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCkge1xuICAgICAgICBjb25zdCBsb2NhdGlvbiA9IGlzSG9yaXpvbnRhbCA/IHJlY3RhbmdsZS55IDogcmVjdGFuZ2xlLng7XG5cbiAgICAgICAgcmVzdWx0ID0gZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uKFxuICAgICAgICAgICAgcmVjdGFuZ2xlLFxuICAgICAgICAgICAgbG9jYXRpb24gKyBBQlNUUkFDVF9IQU5ETEVfTUFTS19XSURUSCAvIDIsXG4gICAgICAgICAgICBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLmVuZCxcbiAgICAgICAgICAgIGlzSG9yaXpvbnRhbFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24ocmVzdWx0LCBsb2NhdGlvbiAtIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMiwgcG9zaXRpb24sIGlzSG9yaXpvbnRhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSBpc0hvcml6b250YWwgPyByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgOiByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aDtcblxuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24oXG4gICAgICAgICAgICByZWN0YW5nbGUsXG4gICAgICAgICAgICBsb2NhdGlvbiAtIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMixcbiAgICAgICAgICAgIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQsXG4gICAgICAgICAgICBpc0hvcml6b250YWxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0ID0gZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uKHJlc3VsdCwgbG9jYXRpb24gKyBBQlNUUkFDVF9IQU5ETEVfTUFTS19XSURUSCAvIDIsIHBvc2l0aW9uLCBpc0hvcml6b250YWwpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRMb2NhdGlvbkxlZnRJbmRleChib2FyZDogUGxhaXRCb2FyZCwgcGFyZW50Q2hpbGRyZW46IE1pbmRFbGVtZW50W10sIGxvY2F0aW9uOiBudW1iZXIsIGlzSG9yaXpvbnRhbDogYm9vbGVhbikge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50Q2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IHtcbiAgICAgICAgcmV0dXJuICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCk7XG4gICAgfSk7XG4gICAgY29uc3QgcmVjQXJyYXkgPSBjaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW2NoaWxkXSwgZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZmlyc3RSZWMgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbY2hpbGRyZW5bMF1dLCB0cnVlKTtcbiAgICBjb25zdCBmYWtlTGVmdFJlYyA9IHtcbiAgICAgICAgeDogZmlyc3RSZWMueCAtIGZpcnN0UmVjLndpZHRoLFxuICAgICAgICB5OiBmaXJzdFJlYy55IC0gZmlyc3RSZWMuaGVpZ2h0LFxuICAgICAgICB3aWR0aDogZmlyc3RSZWMud2lkdGgsXG4gICAgICAgIGhlaWdodDogZmlyc3RSZWMuaGVpZ2h0XG4gICAgfTtcbiAgICBjb25zdCBsYXN0UmVjID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW2NoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdXSwgdHJ1ZSk7XG4gICAgY29uc3QgZmFrZVJpZ2h0UmVjID0ge1xuICAgICAgICB4OiBsYXN0UmVjLnggKyBsYXN0UmVjLndpZHRoLFxuICAgICAgICB5OiBsYXN0UmVjLnkgKyBsYXN0UmVjLmhlaWdodCxcbiAgICAgICAgd2lkdGg6IGxhc3RSZWMud2lkdGgsXG4gICAgICAgIGhlaWdodDogbGFzdFJlYy5oZWlnaHRcbiAgICB9O1xuXG4gICAgcmVjQXJyYXkucHVzaChmYWtlUmlnaHRSZWMpO1xuICAgIHJlY0FycmF5LnVuc2hpZnQoZmFrZUxlZnRSZWMpO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZWNBcnJheS5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgICAgY29uc3QgcmVjWE9yWSA9IGlzSG9yaXpvbnRhbCA/IHJlY0FycmF5W2ldLnkgOiByZWNBcnJheVtpXS54O1xuICAgICAgICBjb25zdCByZWNXaWR0aE9ySGVpZ2h0ID0gaXNIb3Jpem9udGFsID8gcmVjQXJyYXlbaV0uaGVpZ2h0IDogcmVjQXJyYXlbaV0ud2lkdGg7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgbG9jYXRpb24gPj0gcmVjWE9yWSArIHJlY1dpZHRoT3JIZWlnaHQgLyAyICYmXG4gICAgICAgICAgICBsb2NhdGlvbiA8PSByZWNBcnJheVtpICsgMV1baXNIb3Jpem9udGFsID8gJ3knIDogJ3gnXSArIHJlY0FycmF5W2kgKyAxXVtpc0hvcml6b250YWwgPyAnaGVpZ2h0JyA6ICd3aWR0aCddIC8gMlxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBpIC0gMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVRvdWNoZWRBYnN0cmFjdChib2FyZDogUGxhaXRCb2FyZCwgdG91Y2hlZEFic3RyYWN0OiBNaW5kRWxlbWVudCB8IHVuZGVmaW5lZCwgZW5kUG9pbnQ6IFBvaW50KSB7XG4gICAgbGV0IHRvdWNoZWRIYW5kbGU7XG4gICAgY29uc3QgYWJzdHJhY3QgPSAoZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkuZmlsdGVyKGVsZW1lbnQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIGFzIE1pbmRFbGVtZW50W10pLmZpbmQoZWxlbWVudCA9PiB7XG4gICAgICAgIHRvdWNoZWRIYW5kbGUgPSBnZXRIaXRBYnN0cmFjdEhhbmRsZShib2FyZCwgZWxlbWVudCBhcyBNaW5kRWxlbWVudCwgZW5kUG9pbnQpO1xuICAgICAgICByZXR1cm4gdG91Y2hlZEhhbmRsZTtcbiAgICB9KTtcblxuICAgIGlmICh0b3VjaGVkQWJzdHJhY3QgPT09IGFic3RyYWN0KSB7XG4gICAgICAgIHJldHVybiB0b3VjaGVkQWJzdHJhY3Q7XG4gICAgfVxuXG4gICAgaWYgKHRvdWNoZWRBYnN0cmFjdCkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KHRvdWNoZWRBYnN0cmFjdCEpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICBjb21wb25lbnQuYWN0aXZlRHJhd2VyLnVwZGF0ZUFic3RyYWN0T3V0bGluZSh0b3VjaGVkQWJzdHJhY3QpO1xuICAgICAgICB0b3VjaGVkQWJzdHJhY3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGFic3RyYWN0KSB7XG4gICAgICAgIHRvdWNoZWRBYnN0cmFjdCA9IGFic3RyYWN0O1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KHRvdWNoZWRBYnN0cmFjdCEpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICBjb21wb25lbnQuYWN0aXZlRHJhd2VyLnVwZGF0ZUFic3RyYWN0T3V0bGluZSh0b3VjaGVkQWJzdHJhY3QsIHRvdWNoZWRIYW5kbGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0b3VjaGVkQWJzdHJhY3Q7XG59XG4iXX0=
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQVMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUE4QixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDMUMsaUJBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLG9CQUE0QyxFQUM1QyxZQUFxQixFQUN2QixFQUFFO0lBQ0EsSUFBSSxZQUFZLEVBQUU7UUFDZCxJQUFJLG9CQUFvQixLQUFLLHNCQUFzQixDQUFDLEtBQUssRUFBRTtZQUN2RCxPQUFPO2dCQUNILEdBQUcsaUJBQWlCO2dCQUNwQixDQUFDLEVBQUUsUUFBUTtnQkFDWCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsR0FBRyxRQUFRO2FBQ3BFLENBQUM7U0FDTDthQUFNO1lBQ0gsT0FBTztnQkFDSCxHQUFHLGlCQUFpQjtnQkFDcEIsTUFBTSxFQUFFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3pDLENBQUM7U0FDTDtLQUNKO1NBQU07UUFD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Q0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxlQUF3QyxFQUFFLFFBQWU7SUFDOUcsSUFBSSxhQUFhLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUgsYUFBYSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQzlCLE9BQU8sZUFBZSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxlQUFlLEVBQUU7UUFDakIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxlQUFnQixDQUFzQixDQUFDO1FBQ25GLFNBQVMsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUQsZUFBZSxHQUFHLFNBQVMsQ0FBQztLQUMvQjtJQUVELElBQUksUUFBUSxFQUFFO1FBQ1YsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLGVBQWdCLENBQXNCLENBQUM7UUFDbkYsU0FBUyxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDaEY7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgTGF5b3V0Tm9kZSwgTWluZExheW91dFR5cGUsIGlzSG9yaXpvbnRhbExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRILCBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hYnN0cmFjdC1ub2RlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBnZXRDb3JyZWN0U3RhcnRFbmQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1hYnN0cmFjdC1yZXNpemUuYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uID0gKFxuICAgIGFic3RyYWN0UmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsXG4gICAgbG9jYXRpb246IG51bWJlcixcbiAgICBhY3RpdmVIYW5kbGVQb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbixcbiAgICBpc0hvcml6b250YWw6IGJvb2xlYW5cbikgPT4ge1xuICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgaWYgKGFjdGl2ZUhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHk6IGxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIGhlaWdodDogYWJzdHJhY3RSZWN0YW5nbGUuaGVpZ2h0ICsgYWJzdHJhY3RSZWN0YW5nbGUueSAtIGxvY2F0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGxvY2F0aW9uIC0gYWJzdHJhY3RSZWN0YW5nbGUueVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChhY3RpdmVIYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB4OiBsb2NhdGlvbixcbiAgICAgICAgICAgICAgICB3aWR0aDogYWJzdHJhY3RSZWN0YW5nbGUud2lkdGggKyBhYnN0cmFjdFJlY3RhbmdsZS54IC0gbG9jYXRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBsb2NhdGlvbiAtIGFic3RyYWN0UmVjdGFuZ2xlLnhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TG9jYXRpb25TY29wZSA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBoYW5kbGVQb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbixcbiAgICBwYXJlbnRDaGlsZHJlbjogTWluZEVsZW1lbnRbXSxcbiAgICBlbGVtZW50OiBNaW5kRWxlbWVudCxcbiAgICBwYXJlbnQ6IExheW91dE5vZGUsXG4gICAgaXNIb3Jpem9udGFsOiBib29sZWFuXG4pID0+IHtcbiAgICBjb25zdCBub2RlID0gKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkgYXMgdW5rbm93bikgYXMgTGF5b3V0Tm9kZTtcbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGdldENvcnJlY3RTdGFydEVuZChub2RlLm9yaWdpbiBhcyBBYnN0cmFjdE5vZGUsIHBhcmVudCk7XG5cbiAgICBjb25zdCBzdGFydE5vZGUgPSBwYXJlbnRDaGlsZHJlbltzdGFydF07XG4gICAgY29uc3QgZW5kTm9kZSA9IHBhcmVudENoaWxkcmVuW2VuZF07XG5cbiAgICBpZiAoaGFuZGxlUG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpIHtcbiAgICAgICAgY29uc3QgYWJzdHJhY3ROb2RlID0gcGFyZW50Q2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5lbmQgPCBlbGVtZW50LnN0YXJ0ISk7XG4gICAgICAgIGxldCBtaW5Ob2RlO1xuXG4gICAgICAgIGlmIChhYnN0cmFjdE5vZGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGFic3RyYWN0Tm9kZVxuICAgICAgICAgICAgICAgIC5tYXAobm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZW5kIH0gPSBnZXRDb3JyZWN0U3RhcnRFbmQobm9kZSBhcyBBYnN0cmFjdE5vZGUsIHBhcmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpWzBdO1xuICAgICAgICAgICAgbWluTm9kZSA9IHBhcmVudENoaWxkcmVuW2luZGV4ICsgMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtaW5Ob2RlID0gcGFyZW50Q2hpbGRyZW5bMF07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtaW5Ob2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW21pbk5vZGVdLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZW5kTm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtlbmROb2RlXSwgZmFsc2UpO1xuXG4gICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBlbmROb2RlUmVjdGFuZ2xlLnkgLSBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCxcbiAgICAgICAgICAgICAgICBtaW46IG1pbk5vZGVSZWN0YW5nbGUueSAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IGVuZE5vZGVSZWN0YW5nbGUueCAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogbWluTm9kZVJlY3RhbmdsZS54IC0gQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhYnN0cmFjdE5vZGUgPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLnN0YXJ0ID4gZWxlbWVudC5lbmQhKTtcbiAgICAgICAgbGV0IG1heE5vZGU7XG5cbiAgICAgICAgaWYgKGFic3RyYWN0Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYWJzdHJhY3ROb2RlXG4gICAgICAgICAgICAgICAgLm1hcChub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzdGFydCB9ID0gZ2V0Q29ycmVjdFN0YXJ0RW5kKG5vZGUgYXMgQWJzdHJhY3ROb2RlLCBwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpWzBdO1xuICAgICAgICAgICAgbWF4Tm9kZSA9IHBhcmVudENoaWxkcmVuW2luZGV4IC0gMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudENoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpKTtcbiAgICAgICAgICAgIG1heE5vZGUgPSBwYXJlbnRDaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heE5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbbWF4Tm9kZV0sIHRydWUpO1xuICAgICAgICBjb25zdCBzdGFydE5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbc3RhcnROb2RlXSwgZmFsc2UpO1xuXG4gICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBtYXhOb2RlUmVjdGFuZ2xlLnkgKyBtYXhOb2RlUmVjdGFuZ2xlLmhlaWdodCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogc3RhcnROb2RlUmVjdGFuZ2xlLnkgKyBzdGFydE5vZGVSZWN0YW5nbGUuaGVpZ2h0ICsgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heDogbWF4Tm9kZVJlY3RhbmdsZS54ICsgbWF4Tm9kZVJlY3RhbmdsZS53aWR0aCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogc3RhcnROb2RlUmVjdGFuZ2xlLnggKyBzdGFydE5vZGVSZWN0YW5nbGUud2lkdGggKyBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaXRBYnN0cmFjdEhhbmRsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IG5vZGVMYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBpc0hvcml6b250YWxMYXlvdXQobm9kZUxheW91dCk7XG5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGluY2x1ZGVkRWxlbWVudHMgPSBwYXJlbnRFbGVtZW50LmNoaWxkcmVuLnNsaWNlKGVsZW1lbnQuc3RhcnQhLCBlbGVtZW50LmVuZCEgKyAxKTtcbiAgICBsZXQgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBpbmNsdWRlZEVsZW1lbnRzLCB0cnVlKTtcbiAgICBhYnN0cmFjdFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRPdXRsaW5lUmVjdGFuZ2xlKGFic3RyYWN0UmVjdGFuZ2xlLCAtQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQpO1xuXG4gICAgY29uc3Qgc3RhcnRIYW5kbGVSZWMgPSBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgaXNIb3Jpem9udGFsLCBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KTtcbiAgICBjb25zdCBlbmRIYW5kbGVSZWMgPSBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgaXNIb3Jpem9udGFsLCBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLmVuZCk7XG5cbiAgICBjb25zdCBwb2ludFJlYyA9IFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcG9pbnQsIHBvaW50XSk7XG4gICAgaWYgKFJlY3RhbmdsZUNsaWVudC5pc0hpdChwb2ludFJlYywgc3RhcnRIYW5kbGVSZWMpKSByZXR1cm4gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydDtcbiAgICBpZiAoUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHBvaW50UmVjLCBlbmRIYW5kbGVSZWMpKSByZXR1cm4gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQ7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZSA9IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgaXNIb3Jpem9udGFsOiBib29sZWFuLCBwb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbikgPT4ge1xuICAgIGxldCByZXN1bHQ7XG4gICAgaWYgKHBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gaXNIb3Jpem9udGFsID8gcmVjdGFuZ2xlLnkgOiByZWN0YW5nbGUueDtcblxuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24oXG4gICAgICAgICAgICByZWN0YW5nbGUsXG4gICAgICAgICAgICBsb2NhdGlvbiArIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMixcbiAgICAgICAgICAgIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uZW5kLFxuICAgICAgICAgICAgaXNIb3Jpem9udGFsXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihyZXN1bHQsIGxvY2F0aW9uIC0gQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLCBwb3NpdGlvbiwgaXNIb3Jpem9udGFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsb2NhdGlvbiA9IGlzSG9yaXpvbnRhbCA/IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCA6IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuXG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihcbiAgICAgICAgICAgIHJlY3RhbmdsZSxcbiAgICAgICAgICAgIGxvY2F0aW9uIC0gQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLFxuICAgICAgICAgICAgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCxcbiAgICAgICAgICAgIGlzSG9yaXpvbnRhbFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24ocmVzdWx0LCBsb2NhdGlvbiArIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMiwgcG9zaXRpb24sIGlzSG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZExvY2F0aW9uTGVmdEluZGV4KGJvYXJkOiBQbGFpdEJvYXJkLCBwYXJlbnRDaGlsZHJlbjogTWluZEVsZW1lbnRbXSwgbG9jYXRpb246IG51bWJlciwgaXNIb3Jpem9udGFsOiBib29sZWFuKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKTtcbiAgICB9KTtcbiAgICBjb25zdCByZWNBcnJheSA9IGNoaWxkcmVuLm1hcChjaGlsZCA9PiB7XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbY2hpbGRdLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmaXJzdFJlYyA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtjaGlsZHJlblswXV0sIHRydWUpO1xuICAgIGNvbnN0IGZha2VMZWZ0UmVjID0ge1xuICAgICAgICB4OiBmaXJzdFJlYy54IC0gZmlyc3RSZWMud2lkdGgsXG4gICAgICAgIHk6IGZpcnN0UmVjLnkgLSBmaXJzdFJlYy5oZWlnaHQsXG4gICAgICAgIHdpZHRoOiBmaXJzdFJlYy53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBmaXJzdFJlYy5oZWlnaHRcbiAgICB9O1xuICAgIGNvbnN0IGxhc3RSZWMgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV1dLCB0cnVlKTtcbiAgICBjb25zdCBmYWtlUmlnaHRSZWMgPSB7XG4gICAgICAgIHg6IGxhc3RSZWMueCArIGxhc3RSZWMud2lkdGgsXG4gICAgICAgIHk6IGxhc3RSZWMueSArIGxhc3RSZWMuaGVpZ2h0LFxuICAgICAgICB3aWR0aDogbGFzdFJlYy53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBsYXN0UmVjLmhlaWdodFxuICAgIH07XG5cbiAgICByZWNBcnJheS5wdXNoKGZha2VSaWdodFJlYyk7XG4gICAgcmVjQXJyYXkudW5zaGlmdChmYWtlTGVmdFJlYyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlY0FycmF5Lmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBjb25zdCByZWNYT3JZID0gaXNIb3Jpem9udGFsID8gcmVjQXJyYXlbaV0ueSA6IHJlY0FycmF5W2ldLng7XG4gICAgICAgIGNvbnN0IHJlY1dpZHRoT3JIZWlnaHQgPSBpc0hvcml6b250YWwgPyByZWNBcnJheVtpXS5oZWlnaHQgOiByZWNBcnJheVtpXS53aWR0aDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBsb2NhdGlvbiA+PSByZWNYT3JZICsgcmVjV2lkdGhPckhlaWdodCAvIDIgJiZcbiAgICAgICAgICAgIGxvY2F0aW9uIDw9IHJlY0FycmF5W2kgKyAxXVtpc0hvcml6b250YWwgPyAneScgOiAneCddICsgcmVjQXJyYXlbaSArIDFdW2lzSG9yaXpvbnRhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJ10gLyAyXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGkgLSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlVG91Y2hlZEFic3RyYWN0KGJvYXJkOiBQbGFpdEJvYXJkLCB0b3VjaGVkQWJzdHJhY3Q6IE1pbmRFbGVtZW50IHwgdW5kZWZpbmVkLCBlbmRQb2ludDogUG9pbnQpIHtcbiAgICBsZXQgdG91Y2hlZEhhbmRsZTtcbiAgICBjb25zdCBhYnN0cmFjdCA9IChnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5maWx0ZXIoZWxlbWVudCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSkgYXMgTWluZEVsZW1lbnRbXSkuZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgdG91Y2hlZEhhbmRsZSA9IGdldEhpdEFic3RyYWN0SGFuZGxlKGJvYXJkLCBlbGVtZW50IGFzIE1pbmRFbGVtZW50LCBlbmRQb2ludCk7XG4gICAgICAgIHJldHVybiB0b3VjaGVkSGFuZGxlO1xuICAgIH0pO1xuXG4gICAgaWYgKHRvdWNoZWRBYnN0cmFjdCA9PT0gYWJzdHJhY3QpIHtcbiAgICAgICAgcmV0dXJuIHRvdWNoZWRBYnN0cmFjdDtcbiAgICB9XG5cbiAgICBpZiAodG91Y2hlZEFic3RyYWN0KSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodG91Y2hlZEFic3RyYWN0ISkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgICAgIGNvbXBvbmVudC5hY3RpdmVEcmF3ZXIudXBkYXRlQWJzdHJhY3RPdXRsaW5lKHRvdWNoZWRBYnN0cmFjdCk7XG4gICAgICAgIHRvdWNoZWRBYnN0cmFjdCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoYWJzdHJhY3QpIHtcbiAgICAgICAgdG91Y2hlZEFic3RyYWN0ID0gYWJzdHJhY3Q7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodG91Y2hlZEFic3RyYWN0ISkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgICAgIGNvbXBvbmVudC5hY3RpdmVEcmF3ZXIudXBkYXRlQWJzdHJhY3RPdXRsaW5lKHRvdWNoZWRBYnN0cmFjdCwgdG91Y2hlZEhhbmRsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvdWNoZWRBYnN0cmFjdDtcbn1cbiJdfQ==
@@ -62,4 +62,4 @@ export const isDropStandardRight = (parent, dropTarget) => {
62
62
  parent.children.indexOf(target) < parent.rightNodeCount) ||
63
63
  (PlaitMind.isMind(target) && isStandardLayout(getRootLayout(target)) && dropTarget.detectResult === 'right'));
64
64
  };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvZG5kL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEUsT0FBTyxFQUFRLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcxQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxhQUEwQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQXNCLENBQUM7SUFDdEYsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWpELENBQUMsYUFBYSxDQUFDLFdBQVc7UUFDdEIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUNuRSxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBc0IsQ0FBQztJQUN0RixlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUN0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LENBQUM7UUFDN0QsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLENBQy9HLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXROb25BYnN0cmFjdENoaWxkcmVuLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IFBhdGgsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldFJvb3RMYXlvdXQgfSBmcm9tICcuLi9sYXlvdXQnO1xuaW1wb3J0IHsgRGV0ZWN0UmVzdWx0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcblxuZXhwb3J0IGNvbnN0IElTX0RSQUdHSU5HID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuZXhwb3J0IGNvbnN0IGFkZEFjdGl2ZU9uRHJhZ09yaWdpbiA9IChhY3RpdmVFbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoYWN0aXZlRWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgYWN0aXZlQ29tcG9uZW50LmcuY2xhc3NMaXN0LmFkZCgnZHJhZ2dpbmctbm9kZScpO1xuXG4gICAgIWFjdGl2ZUVsZW1lbnQuaXNDb2xsYXBzZWQgJiZcbiAgICAgICAgYWN0aXZlRWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGFkZEFjdGl2ZU9uRHJhZ09yaWdpbihjaGlsZCk7XG4gICAgICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbiA9IChhY3RpdmVFbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoYWN0aXZlRWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgYWN0aXZlQ29tcG9uZW50LmcuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ2dpbmctbm9kZScpO1xuICAgICFhY3RpdmVFbGVtZW50LmlzQ29sbGFwc2VkICYmXG4gICAgICAgIGFjdGl2ZUVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICByZW1vdmVBY3RpdmVPbkRyYWdPcmlnaW4oY2hpbGQpO1xuICAgICAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0RyYWdnaW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhSVNfRFJBR0dJTkcuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJc0RyYWdnaW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgIElTX0RSQUdHSU5HLnNldChib2FyZCwgc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QuYWRkKCdtaW5kLW5vZGUtZHJhZ2dpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBQbGFpdEJvYXJkLmdldEJvYXJkQ29udGFpbmVyKGJvYXJkKS5jbGFzc0xpc3QucmVtb3ZlKCdtaW5kLW5vZGUtZHJhZ2dpbmcnKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFzUHJldmlvdXNPck5leHRPZkRyb3BQYXRoID0gKFxuICAgIHBhcmVudDogTWluZEVsZW1lbnQsXG4gICAgZHJvcFRhcmdldDoge1xuICAgICAgICB0YXJnZXQ6IE1pbmRFbGVtZW50O1xuICAgICAgICBkZXRlY3RSZXN1bHQ6IERldGVjdFJlc3VsdDtcbiAgICB9LFxuICAgIGRyb3BQYXRoOiBQYXRoXG4pID0+IHtcbiAgICBsZXQgY2hpbGRyZW4gPSBnZXROb25BYnN0cmFjdENoaWxkcmVuKHBhcmVudCk7XG5cbiAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChwYXJlbnQpICYmIGlzU3RhbmRhcmRMYXlvdXQoZ2V0Um9vdExheW91dChwYXJlbnQpKSkge1xuICAgICAgICBjb25zdCBpc0Ryb3BSaWdodCA9IGlzRHJvcFN0YW5kYXJkUmlnaHQocGFyZW50LCBkcm9wVGFyZ2V0KTtcblxuICAgICAgICBpZiAoaXNEcm9wUmlnaHQpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4uc2xpY2UoMCwgcGFyZW50LnJpZ2h0Tm9kZUNvdW50ISk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Ryb3BSaWdodCkge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5zbGljZShwYXJlbnQucmlnaHROb2RlQ291bnQhLCBjaGlsZHJlbi5sZW5ndGgpO1xuICAgICAgICAgICAgZHJvcFBhdGggPSBbLi4uZHJvcFBhdGgsIGRyb3BQYXRoW2Ryb3BQYXRoLmxlbmd0aCAtIDFdIC0gcGFyZW50LnJpZ2h0Tm9kZUNvdW50IV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgaGFzUHJldmlvdXNOb2RlID0gZHJvcFBhdGhbZHJvcFBhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgbGV0IGhhc05leHROb2RlID0gZHJvcFBhdGhbZHJvcFBhdGgubGVuZ3RoIC0gMV0gIT09IChjaGlsZHJlbj8ubGVuZ3RoIHx8IDApO1xuXG4gICAgaWYgKHBhcmVudC5pc0NvbGxhcHNlZCkge1xuICAgICAgICBoYXNOZXh0Tm9kZSA9IGZhbHNlO1xuICAgICAgICBoYXNQcmV2aW91c05vZGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBoYXNQcmV2aW91c05vZGUsXG4gICAgICAgIGhhc05leHROb2RlXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Ryb3BTdGFuZGFyZFJpZ2h0ID0gKFxuICAgIHBhcmVudDogTWluZEVsZW1lbnQsXG4gICAgZHJvcFRhcmdldDoge1xuICAgICAgICB0YXJnZXQ6IE1pbmRFbGVtZW50O1xuICAgICAgICBkZXRlY3RSZXN1bHQ6IERldGVjdFJlc3VsdDtcbiAgICB9XG4pID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBkcm9wVGFyZ2V0LnRhcmdldDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIChQbGFpdE1pbmQuaXNNaW5kKHBhcmVudCkgJiZcbiAgICAgICAgICAgIGlzU3RhbmRhcmRMYXlvdXQoZ2V0Um9vdExheW91dChwYXJlbnQpKSAmJlxuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGFyZ2V0KSAhPT0gLTEgJiZcbiAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRhcmdldCkgPCBwYXJlbnQucmlnaHROb2RlQ291bnQhKSB8fFxuICAgICAgICAoUGxhaXRNaW5kLmlzTWluZCh0YXJnZXQpICYmIGlzU3RhbmRhcmRMYXlvdXQoZ2V0Um9vdExheW91dCh0YXJnZXQpKSAmJiBkcm9wVGFyZ2V0LmRldGVjdFJlc3VsdCA9PT0gJ3JpZ2h0JylcbiAgICApO1xufTtcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvZG5kL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRSxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbEUsT0FBTyxFQUFRLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUcxQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxhQUEwQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQXNCLENBQUM7SUFDdEYsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWpELENBQUMsYUFBYSxDQUFDLFdBQVc7UUFDdEIsYUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUNuRSxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBc0IsQ0FBQztJQUN0RixlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxhQUFhLENBQUMsV0FBVztRQUN0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LENBQUM7UUFDN0QsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLENBQy9HLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXROb25BYnN0cmFjdENoaWxkcmVuLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGF0aCwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Um9vdExheW91dCB9IGZyb20gJy4uL2xheW91dCc7XG5pbXBvcnQgeyBEZXRlY3RSZXN1bHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUnO1xuXG5leHBvcnQgY29uc3QgSVNfRFJBR0dJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5leHBvcnQgY29uc3QgYWRkQWN0aXZlT25EcmFnT3JpZ2luID0gKGFjdGl2ZUVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChhY3RpdmVFbGVtZW50KSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICBhY3RpdmVDb21wb25lbnQuZy5jbGFzc0xpc3QuYWRkKCdkcmFnZ2luZy1ub2RlJyk7XG5cbiAgICAhYWN0aXZlRWxlbWVudC5pc0NvbGxhcHNlZCAmJlxuICAgICAgICBhY3RpdmVFbGVtZW50LmNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgICAgICAgYWRkQWN0aXZlT25EcmFnT3JpZ2luKGNoaWxkKTtcbiAgICAgICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlQWN0aXZlT25EcmFnT3JpZ2luID0gKGFjdGl2ZUVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYWN0aXZlQ29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChhY3RpdmVFbGVtZW50KSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICBhY3RpdmVDb21wb25lbnQuZy5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnZ2luZy1ub2RlJyk7XG4gICAgIWFjdGl2ZUVsZW1lbnQuaXNDb2xsYXBzZWQgJiZcbiAgICAgICAgYWN0aXZlRWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcbiAgICAgICAgICAgIHJlbW92ZUFjdGl2ZU9uRHJhZ09yaWdpbihjaGlsZCk7XG4gICAgICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRHJhZ2dpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gISFJU19EUkFHR0lORy5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldElzRHJhZ2dpbmcgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHN0YXRlOiBib29sZWFuKSA9PiB7XG4gICAgSVNfRFJBR0dJTkcuc2V0KGJvYXJkLCBzdGF0ZSk7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5hZGQoJ21pbmQtbm9kZS1kcmFnZ2luZycpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmNsYXNzTGlzdC5yZW1vdmUoJ21pbmQtbm9kZS1kcmFnZ2luZycpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGggPSAoXG4gICAgcGFyZW50OiBNaW5kRWxlbWVudCxcbiAgICBkcm9wVGFyZ2V0OiB7XG4gICAgICAgIHRhcmdldDogTWluZEVsZW1lbnQ7XG4gICAgICAgIGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0O1xuICAgIH0sXG4gICAgZHJvcFBhdGg6IFBhdGhcbikgPT4ge1xuICAgIGxldCBjaGlsZHJlbiA9IGdldE5vbkFic3RyYWN0Q2hpbGRyZW4ocGFyZW50KTtcblxuICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKHBhcmVudCkgJiYgaXNTdGFuZGFyZExheW91dChnZXRSb290TGF5b3V0KHBhcmVudCkpKSB7XG4gICAgICAgIGNvbnN0IGlzRHJvcFJpZ2h0ID0gaXNEcm9wU3RhbmRhcmRSaWdodChwYXJlbnQsIGRyb3BUYXJnZXQpO1xuXG4gICAgICAgIGlmIChpc0Ryb3BSaWdodCkge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSBjaGlsZHJlbi5zbGljZSgwLCBwYXJlbnQucmlnaHROb2RlQ291bnQhKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzRHJvcFJpZ2h0KSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IGNoaWxkcmVuLnNsaWNlKHBhcmVudC5yaWdodE5vZGVDb3VudCEsIGNoaWxkcmVuLmxlbmd0aCk7XG4gICAgICAgICAgICBkcm9wUGF0aCA9IFsuLi5kcm9wUGF0aCwgZHJvcFBhdGhbZHJvcFBhdGgubGVuZ3RoIC0gMV0gLSBwYXJlbnQucmlnaHROb2RlQ291bnQhXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxldCBoYXNQcmV2aW91c05vZGUgPSBkcm9wUGF0aFtkcm9wUGF0aC5sZW5ndGggLSAxXSAhPT0gMDtcbiAgICBsZXQgaGFzTmV4dE5vZGUgPSBkcm9wUGF0aFtkcm9wUGF0aC5sZW5ndGggLSAxXSAhPT0gKGNoaWxkcmVuPy5sZW5ndGggfHwgMCk7XG5cbiAgICBpZiAocGFyZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgIGhhc05leHROb2RlID0gZmFsc2U7XG4gICAgICAgIGhhc1ByZXZpb3VzTm9kZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIGhhc1ByZXZpb3VzTm9kZSxcbiAgICAgICAgaGFzTmV4dE5vZGVcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRHJvcFN0YW5kYXJkUmlnaHQgPSAoXG4gICAgcGFyZW50OiBNaW5kRWxlbWVudCxcbiAgICBkcm9wVGFyZ2V0OiB7XG4gICAgICAgIHRhcmdldDogTWluZEVsZW1lbnQ7XG4gICAgICAgIGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0O1xuICAgIH1cbikgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGRyb3BUYXJnZXQudGFyZ2V0O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgKFBsYWl0TWluZC5pc01pbmQocGFyZW50KSAmJlxuICAgICAgICAgICAgaXNTdGFuZGFyZExheW91dChnZXRSb290TGF5b3V0KHBhcmVudCkpICYmXG4gICAgICAgICAgICBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0YXJnZXQpICE9PSAtMSAmJlxuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGFyZ2V0KSA8IHBhcmVudC5yaWdodE5vZGVDb3VudCEpIHx8XG4gICAgICAgIChQbGFpdE1pbmQuaXNNaW5kKHRhcmdldCkgJiYgaXNTdGFuZGFyZExheW91dChnZXRSb290TGF5b3V0KHRhcmdldCkpICYmIGRyb3BUYXJnZXQuZGV0ZWN0UmVzdWx0ID09PSAncmlnaHQnKVxuICAgICk7XG59O1xuIl19
@@ -156,4 +156,4 @@ export const drawFakeDropNode = (board, dropTarget, path) => {
156
156
  fakeDropNodeG?.appendChild(fakeRectangleG);
157
157
  return fakeDropNodeG;
158
158
  };
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9kcmF3L25vZGUtZG5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBUyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1C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LFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBCQVNFLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGV0ZWN0UmVzdWx0LCBMYXlvdXREaXJlY3Rpb24sIE1pbmRFbGVtZW50LCBNaW5kTm9kZSwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGRyYXdSb3VuZFJlY3RhbmdsZSwgY3JlYXRlRywgUGF0aCwgUGxhaXROb2RlLCBQbGFpdEVsZW1lbnQsIHVwZGF0ZUZvcmVpZ25PYmplY3QgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgaXNIb3Jpem9udGFsTGF5b3V0LCBpc0luZGVudGVkTGF5b3V0LCBpc1N0YW5kYXJkTGF5b3V0LCBpc1RvcExheW91dCwgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRUb3BpY1JlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uL3Bvc2l0aW9uL3RvcGljJztcbmltcG9ydCB7IEhvcml6b250YWxQbGFjZW1lbnQsIFBvaW50UGxhY2VtZW50LCBWZXJ0aWNhbFBsYWNlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0TGF5b3V0RGlyZWN0aW9uLCBnZXRQb2ludEJ5UGxhY2VtZW50LCBtb3ZlWE9mUG9pbnQsIG1vdmVZT2ZQb2ludCwgdHJhbnNmb3JtUGxhY2VtZW50IH0gZnJvbSAnLi4vcG9pbnQtcGxhY2VtZW50JztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgaGFzUHJldmlvdXNPck5leHRPZkRyb3BQYXRoIH0gZnJvbSAnLi4vZG5kL2NvbW1vbic7XG5pbXBvcnQgeyBkcmF3TGluayB9IGZyb20gJy4vbm9kZS1saW5rL2RyYXctbGluayc7XG5pbXBvcnQgeyBnZXRFbW9qaUZvcmVpZ25SZWN0YW5nbGUgfSBmcm9tICcuLi9wb3NpdGlvbi9lbW9qaSc7XG5pbXBvcnQgeyBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUgfSBmcm9tICcuLi9wb3NpdGlvbic7XG5cbmV4cG9ydCBjb25zdCBkcmF3RmFrZURyYWdOb2RlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgb2Zmc2V0WDogbnVtYmVyLCBvZmZzZXRZOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBhY3RpdmVDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGNvbnN0IGRyYWdGYWtlTm9kZUcgPSBjcmVhdGVHKCk7XG4gICAgZHJhZ0Zha2VOb2RlRy5jbGFzc0xpc3QuYWRkKCdkcmFnZ2luZycsICdmYWtlLW5vZGUnLCAncGxhaXQtYm9hcmQtYXR0YWNoZWQnKTtcblxuICAgIGNvbnN0IGZha2VEcmFnZ2luZ05vZGU6IE1pbmROb2RlID0ge1xuICAgICAgICAuLi5hY3RpdmVDb21wb25lbnQubm9kZSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICB4OiBhY3RpdmVDb21wb25lbnQubm9kZS54ICsgb2Zmc2V0WCxcbiAgICAgICAgeTogYWN0aXZlQ29tcG9uZW50Lm5vZGUueSArIG9mZnNldFlcbiAgICB9O1xuICAgIGNvbnN0IHRleHRSZWN0YW5nbGUgPSBnZXRUb3BpY1JlY3RhbmdsZUJ5Tm9kZShib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgYWN0aXZlQ29tcG9uZW50Lm5vZGUpO1xuICAgIGNvbnN0IGZha2VOb2RlRyA9IGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZShib2FyZCwgZmFrZURyYWdnaW5nTm9kZSk7XG5cbiAgICBjb25zdCByaWNodGV4dEcgPSBhY3RpdmVDb21wb25lbnQudGV4dE1hbmFnZS5nLmNsb25lTm9kZSh0cnVlKSBhcyBTVkdHRWxlbWVudDtcbiAgICB1cGRhdGVGb3JlaWduT2JqZWN0KHJpY2h0ZXh0RywgdGV4dFJlY3RhbmdsZS53aWR0aCwgdGV4dFJlY3RhbmdsZS5oZWlnaHQsIHRleHRSZWN0YW5nbGUueCArIG9mZnNldFgsIHRleHRSZWN0YW5nbGUueSArIG9mZnNldFkpO1xuXG4gICAgZHJhZ0Zha2VOb2RlRz8uYXBwZW5kKGZha2VOb2RlRyk7XG4gICAgZHJhZ0Zha2VOb2RlRz8uYXBwZW5kKHJpY2h0ZXh0Ryk7XG5cbiAgICAvLyBkcmF3IGVtb2ppc1xuICAgIGlmIChNaW5kRWxlbWVudC5oYXNFbW9qaXMoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgZmFrZUVtb2ppc0cgPSAoYWN0aXZlQ29tcG9uZW50Lm5vZGVFbW9qaXNEcmF3ZXIuZyBhcyBTVkdHRWxlbWVudCkuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0dFbGVtZW50O1xuICAgICAgICBjb25zdCBmb3JlaWduUmVjdGFuZ2xlID0gZ2V0RW1vamlGb3JlaWduUmVjdGFuZ2xlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgdXBkYXRlRm9yZWlnbk9iamVjdChcbiAgICAgICAgICAgIGZha2VFbW9qaXNHLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUuaGVpZ2h0LFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS54ICsgb2Zmc2V0WCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueSArIG9mZnNldFlcbiAgICAgICAgKTtcbiAgICAgICAgZHJhZ0Zha2VOb2RlRz8uYXBwZW5kKGZha2VFbW9qaXNHKTtcbiAgICB9XG5cbiAgICBpZiAoTWluZEVsZW1lbnQuaGFzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgZmFrZUltYWdlRyA9IChhY3RpdmVDb21wb25lbnQuaW1hZ2VEcmF3ZXIuZyBhcyBTVkdHRWxlbWVudCkuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0dFbGVtZW50O1xuICAgICAgICBjb25zdCBmb3JlaWduUmVjdGFuZ2xlID0gZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgdXBkYXRlRm9yZWlnbk9iamVjdChcbiAgICAgICAgICAgIGZha2VJbWFnZUcsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnggKyBvZmZzZXRYLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS55ICsgb2Zmc2V0WVxuICAgICAgICApO1xuICAgICAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQoZmFrZUltYWdlRyk7XG4gICAgfVxuICAgIHJldHVybiBkcmFnRmFrZU5vZGVHO1xufTtcblxuZXhwb3J0IGNvbnN0IGRyYXdGYWtlRHJvcE5vZGUgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZHJvcFRhcmdldDoge1xuICAgICAgICB0YXJnZXQ6IE1pbmRFbGVtZW50O1xuICAgICAgICBkZXRlY3RSZXN1bHQ6IERldGVjdFJlc3VsdDtcbiAgICB9LFxuICAgIHBhdGg6IFBhdGhcbikgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGRyb3BUYXJnZXQudGFyZ2V0O1xuICAgIGNvbnN0IGZha2VEcm9wTm9kZUcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wYXJlbnQocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IGxheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChwYXJlbnQpIGFzIE1pbmRMYXlvdXRUeXBlO1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGlzSG9yaXpvbnRhbExheW91dChsYXlvdXQpO1xuICAgIGNvbnN0IHsgaGFzTmV4dE5vZGUsIGhhc1ByZXZpb3VzTm9kZSB9ID0gaGFzUHJldmlvdXNPck5leHRPZkRyb3BQYXRoKHBhcmVudCwgZHJvcFRhcmdldCwgcGF0aCk7XG5cbiAgICBjb25zdCB3aWR0aCA9IDMwO1xuICAgIGNvbnN0IGhlaWdodCA9IDEyO1xuICAgIGxldCBmYWtlTm9kZTogTWluZE5vZGUsIGNlbnRlclBvaW50OiBQb2ludCwgYmFzaWNOb2RlOiBNaW5kTm9kZSwgbGlua0RpcmVjdGlvbjogTGF5b3V0RGlyZWN0aW9uO1xuXG4gICAgaWYgKCFoYXNQcmV2aW91c05vZGUgJiYgIWhhc05leHROb2RlKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudCk7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUocGFyZW50Tm9kZSk7XG5cbiAgICAgICAgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihwYXJlbnROb2RlLCBpc0hvcml6b250YWwpO1xuICAgICAgICBiYXNpY05vZGUgPSBwYXJlbnROb2RlO1xuXG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKHRhcmdldCkgJiYgaXNTdGFuZGFyZExheW91dChsYXlvdXQpKSB7XG4gICAgICAgICAgICBpZiAoZHJvcFRhcmdldC5kZXRlY3RSZXN1bHQgPT09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgIGxpbmtEaXJlY3Rpb24gPSBMYXlvdXREaXJlY3Rpb24ubGVmdDtcbiAgICAgICAgICAgICAgICBiYXNpY05vZGUubGVmdCA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxpbmtEaXJlY3Rpb24gPSBMYXlvdXREaXJlY3Rpb24ucmlnaHQ7XG4gICAgICAgICAgICAgICAgYmFzaWNOb2RlLmxlZnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCwgVmVydGljYWxQbGFjZW1lbnQubWlkZGxlXTtcbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KHBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgIGNvbnN0IHBhcmVudENlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRSZWN0LCBwbGFjZW1lbnQpO1xuXG4gICAgICAgIGlmIChpc0luZGVudGVkTGF5b3V0KGxheW91dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbXG4gICAgICAgICAgICAgICAgSG9yaXpvbnRhbFBsYWNlbWVudC5jZW50ZXIsXG4gICAgICAgICAgICAgICAgaXNUb3BMYXlvdXQobGF5b3V0KSA/IFZlcnRpY2FsUGxhY2VtZW50LnRvcCA6IFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudENlbnRlclBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRSZWN0LCBwbGFjZW1lbnQpO1xuXG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IG1vdmVYT2ZQb2ludChwYXJlbnRDZW50ZXJQb2ludCwgaGVpZ2h0LCBsaW5rRGlyZWN0aW9uKTtcbiAgICAgICAgICAgIGNlbnRlclBvaW50WzFdID0gaXNUb3BMYXlvdXQobGF5b3V0KSA/IGNlbnRlclBvaW50WzFdIC0gaGVpZ2h0IDogY2VudGVyUG9pbnRbMV0gKyBoZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IG1vdmVYT2ZQb2ludChwYXJlbnRDZW50ZXJQb2ludCwgd2lkdGgsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICghaGFzUHJldmlvdXNOb2RlICYmIGhhc05leHROb2RlKSB7XG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGJhc2ljTm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUobmV4dEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBuZXh0UmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShiYXNpY05vZGUpO1xuICAgICAgICBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKGJhc2ljTm9kZSwgaXNIb3Jpem9udGFsKTtcblxuICAgICAgICBjb25zdCBwbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQubGVmdCwgVmVydGljYWxQbGFjZW1lbnQudG9wXTtcblxuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQocGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgICAgICBsZXQgb2Zmc2V0ID0gLWhlaWdodDtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gaXNUb3BMYXlvdXQobGF5b3V0KSA/IG9mZnNldCAvIDIgKyBiYXNpY05vZGUuaGVpZ2h0IC0gYmFzaWNOb2RlLnZHYXAgOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5leHRSZWN0LCBwbGFjZW1lbnQpO1xuICAgICAgICBjZW50ZXJQb2ludCA9IG1vdmVZT2ZQb2ludChjZW50ZXJQb2ludCwgb2Zmc2V0LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB9IGVsc2UgaWYgKGhhc1ByZXZpb3VzTm9kZSAmJiAhaGFzTmV4dE5vZGUpIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wcmV2aW91cyhwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGJhc2ljTm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUocHJldmlvdXNFbGVtZW50KTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJhc2ljTm9kZSk7XG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24oYmFzaWNOb2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgICAgIGNvbnN0IHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b21dO1xuXG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChwbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgICAgIGxldCBvZmZzZXQgPSBoZWlnaHQ7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc0luZGVudGVkTGF5b3V0KHBhcmVudCkpIHtcbiAgICAgICAgICAgIG9mZnNldCA9IGlzVG9wTGF5b3V0KGxheW91dCkgPyAtb2Zmc2V0IC0gKGJhc2ljTm9kZS5oZWlnaHQgLSBiYXNpY05vZGUudkdhcCkgOiBvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgY2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHByZXZpb3VzUmVjdCwgcGxhY2VtZW50KTtcbiAgICAgICAgY2VudGVyUG9pbnQgPSBtb3ZlWU9mUG9pbnQoY2VudGVyUG9pbnQsIG9mZnNldCwgbGlua0RpcmVjdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wcmV2aW91cyhwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGJhc2ljTm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUocHJldmlvdXNFbGVtZW50KTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJhc2ljTm9kZSk7XG5cbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKG5leHRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgbmV4dFJlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUobmV4dE5vZGUpO1xuXG4gICAgICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbV07XG4gICAgICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC50b3BdO1xuICAgICAgICBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKGJhc2ljTm9kZSwgaXNIb3Jpem9udGFsKTtcblxuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoYmVnaW5QbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgICAgICBjb25zdCBwcmV2aW91c1BvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwcmV2aW91c1JlY3QsIGJlZ2luUGxhY2VtZW50KTtcbiAgICAgICAgY29uc3QgbmV4dFBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChuZXh0UmVjdCwgZW5kUGxhY2VtZW50KTtcblxuICAgICAgICBjZW50ZXJQb2ludCA9IFsocHJldmlvdXNQb2ludFswXSArIG5leHRQb2ludFswXSkgLyAyLCAocHJldmlvdXNQb2ludFsxXSArIG5leHRQb2ludFsxXSkgLyAyXTtcbiAgICB9XG5cbiAgICBsZXQgY29ybmVyUG9pbnQgPSBjZW50ZXJQb2ludCxcbiAgICAgICAgb3Bwb3NpdGVQb2ludCA9IGNlbnRlclBvaW50O1xuXG4gICAgY29uc3Qgb2Zmc2V0WSA9IGlzSG9yaXpvbnRhbCA/IGhlaWdodCA6IHdpZHRoO1xuICAgIGNvbnN0IG9mZnNldFggPSBpc0hvcml6b250YWwgPyB3aWR0aCA6IGhlaWdodDtcblxuICAgIGNvcm5lclBvaW50ID0gbW92ZVlPZlBvaW50KGNvcm5lclBvaW50LCAtb2Zmc2V0WSAvIDIsIGxpbmtEaXJlY3Rpb24hKTtcblxuICAgIG9wcG9zaXRlUG9pbnQgPSBtb3ZlWU9mUG9pbnQob3Bwb3NpdGVQb2ludCwgb2Zmc2V0WSAvIDIsIGxpbmtEaXJlY3Rpb24hKTtcbiAgICBvcHBvc2l0ZVBvaW50ID0gbW92ZVhPZlBvaW50KG9wcG9zaXRlUG9pbnQsIG9mZnNldFgsIGxpbmtEaXJlY3Rpb24hKTtcblxuICAgIGNvbnN0IHggPSBNYXRoLm1pbihjb3JuZXJQb2ludFswXSwgb3Bwb3NpdGVQb2ludFswXSk7XG4gICAgY29uc3QgeSA9IE1hdGgubWluKGNvcm5lclBvaW50WzFdLCBvcHBvc2l0ZVBvaW50WzFdKTtcblxuICAgIGZha2VOb2RlID0ge1xuICAgICAgICAuLi5iYXNpY05vZGUhLFxuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0LFxuICAgICAgICBoR2FwOiBNaW5kRWxlbWVudC5pc0luZGVudGVkTGF5b3V0KHBhcmVudCkgPyBCQVNFICogNCArIChiYXNpY05vZGUub3JpZ2luLnN0cm9rZVdpZHRoIHx8IFNUUk9LRV9XSURUSCkgOiAwLFxuICAgICAgICB2R2FwOiBNaW5kRWxlbWVudC5pc0luZGVudGVkTGF5b3V0KHBhcmVudCkgPyBCQVNFIDogMFxuICAgIH07XG5cbiAgICBjb25zdCBmYWtlUmVjdGFuZ2xlRyA9IGRyYXdSb3VuZFJlY3RhbmdsZShcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCksXG4gICAgICAgIGZha2VOb2RlIS54LFxuICAgICAgICBmYWtlTm9kZSEueSxcbiAgICAgICAgZmFrZU5vZGUhLnggKyB3aWR0aCxcbiAgICAgICAgZmFrZU5vZGUhLnkgKyBoZWlnaHQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHN0cm9rZTogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAyLFxuICAgICAgICAgICAgZmlsbDogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IGxpbmsgPSBkcmF3TGluayhib2FyZCwgTWluZEVsZW1lbnQuZ2V0Tm9kZShwYXJlbnQpLCBmYWtlTm9kZSwgaXNIb3Jpem9udGFsLCBmYWxzZSwgUFJJTUFSWV9DT0xPUiwgU1RST0tFX1dJRFRIKTtcbiAgICBmYWtlRHJvcE5vZGVHPy5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICBmYWtlRHJvcE5vZGVHPy5hcHBlbmRDaGlsZChmYWtlUmVjdGFuZ2xlRyk7XG5cbiAgICByZXR1cm4gZmFrZURyb3BOb2RlRztcbn07XG4iXX0=
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1kbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9kcmF3L25vZGUtZG5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxXQUFXLEVBQVksU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBUyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQ3JILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1C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LFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxhQUFhLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBCQVNFLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGV0ZWN0UmVzdWx0LCBMYXlvdXREaXJlY3Rpb24sIE1pbmRFbGVtZW50LCBNaW5kTm9kZSwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgZHJhd1JvdW5kUmVjdGFuZ2xlLCBjcmVhdGVHLCBQYXRoLCBQbGFpdE5vZGUsIFBsYWl0RWxlbWVudCwgdXBkYXRlRm9yZWlnbk9iamVjdCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBpc0hvcml6b250YWxMYXlvdXQsIGlzSW5kZW50ZWRMYXlvdXQsIGlzU3RhbmRhcmRMYXlvdXQsIGlzVG9wTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi4vcG9zaXRpb24vdG9waWMnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRMYXlvdXREaXJlY3Rpb24sIGdldFBvaW50QnlQbGFjZW1lbnQsIG1vdmVYT2ZQb2ludCwgbW92ZVlPZlBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGggfSBmcm9tICcuLi9kbmQvY29tbW9uJztcbmltcG9ydCB7IGRyYXdMaW5rIH0gZnJvbSAnLi9ub2RlLWxpbmsvZHJhdy1saW5rJztcbmltcG9ydCB7IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uL2Vtb2ppJztcbmltcG9ydCB7IGdldEltYWdlRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3Bvc2l0aW9uJztcblxuZXhwb3J0IGNvbnN0IGRyYXdGYWtlRHJhZ05vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBvZmZzZXRYOiBudW1iZXIsIG9mZnNldFk6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgY29uc3QgZHJhZ0Zha2VOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICBkcmFnRmFrZU5vZGVHLmNsYXNzTGlzdC5hZGQoJ2RyYWdnaW5nJywgJ2Zha2Utbm9kZScsICdwbGFpdC1ib2FyZC1hdHRhY2hlZCcpO1xuXG4gICAgY29uc3QgZmFrZURyYWdnaW5nTm9kZTogTWluZE5vZGUgPSB7XG4gICAgICAgIC4uLmFjdGl2ZUNvbXBvbmVudC5ub2RlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHg6IGFjdGl2ZUNvbXBvbmVudC5ub2RlLnggKyBvZmZzZXRYLFxuICAgICAgICB5OiBhY3RpdmVDb21wb25lbnQubm9kZS55ICsgb2Zmc2V0WVxuICAgIH07XG4gICAgY29uc3QgdGV4dFJlY3RhbmdsZSA9IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBhY3RpdmVDb21wb25lbnQubm9kZSk7XG4gICAgY29uc3QgZmFrZU5vZGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBmYWtlRHJhZ2dpbmdOb2RlKTtcblxuICAgIGNvbnN0IHJpY2h0ZXh0RyA9IGFjdGl2ZUNvbXBvbmVudC50ZXh0TWFuYWdlLmcuY2xvbmVOb2RlKHRydWUpIGFzIFNWR0dFbGVtZW50O1xuICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QocmljaHRleHRHLCB0ZXh0UmVjdGFuZ2xlLndpZHRoLCB0ZXh0UmVjdGFuZ2xlLmhlaWdodCwgdGV4dFJlY3RhbmdsZS54ICsgb2Zmc2V0WCwgdGV4dFJlY3RhbmdsZS55ICsgb2Zmc2V0WSk7XG5cbiAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQoZmFrZU5vZGVHKTtcbiAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQocmljaHRleHRHKTtcblxuICAgIC8vIGRyYXcgZW1vamlzXG4gICAgaWYgKE1pbmRFbGVtZW50Lmhhc0Vtb2ppcyhlbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmYWtlRW1vamlzRyA9IChhY3RpdmVDb21wb25lbnQubm9kZUVtb2ppc0RyYXdlci5nIGFzIFNWR0dFbGVtZW50KS5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHR0VsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25SZWN0YW5nbGUgPSBnZXRFbW9qaUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB1cGRhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICAgICAgZmFrZUVtb2ppc0csXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnggKyBvZmZzZXRYLFxuICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS55ICsgb2Zmc2V0WVxuICAgICAgICApO1xuICAgICAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmQoZmFrZUVtb2ppc0cpO1xuICAgIH1cblxuICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmYWtlSW1hZ2VHID0gKGFjdGl2ZUNvbXBvbmVudC5pbWFnZURyYXdlci5nIGFzIFNWR0dFbGVtZW50KS5jbG9uZU5vZGUodHJ1ZSkgYXMgU1ZHR0VsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGZvcmVpZ25SZWN0YW5nbGUgPSBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICB1cGRhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICAgICAgZmFrZUltYWdlRyxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUud2lkdGgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueCArIG9mZnNldFgsXG4gICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnkgKyBvZmZzZXRZXG4gICAgICAgICk7XG4gICAgICAgIGRyYWdGYWtlTm9kZUc/LmFwcGVuZChmYWtlSW1hZ2VHKTtcbiAgICB9XG4gICAgcmV0dXJuIGRyYWdGYWtlTm9kZUc7XG59O1xuXG5leHBvcnQgY29uc3QgZHJhd0Zha2VEcm9wTm9kZSA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBkcm9wVGFyZ2V0OiB7XG4gICAgICAgIHRhcmdldDogTWluZEVsZW1lbnQ7XG4gICAgICAgIGRldGVjdFJlc3VsdDogRGV0ZWN0UmVzdWx0O1xuICAgIH0sXG4gICAgcGF0aDogUGF0aFxuKSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZHJvcFRhcmdldC50YXJnZXQ7XG4gICAgY29uc3QgZmFrZURyb3BOb2RlRyA9IGNyZWF0ZUcoKTtcbiAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnBhcmVudChwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgbGF5b3V0ID0gTWluZFF1ZXJpZXMuZ2V0TGF5b3V0QnlFbGVtZW50KHBhcmVudCkgYXMgTWluZExheW91dFR5cGU7XG4gICAgY29uc3QgaXNIb3Jpem9udGFsID0gaXNIb3Jpem9udGFsTGF5b3V0KGxheW91dCk7XG4gICAgY29uc3QgeyBoYXNOZXh0Tm9kZSwgaGFzUHJldmlvdXNOb2RlIH0gPSBoYXNQcmV2aW91c09yTmV4dE9mRHJvcFBhdGgocGFyZW50LCBkcm9wVGFyZ2V0LCBwYXRoKTtcblxuICAgIGNvbnN0IHdpZHRoID0gMzA7XG4gICAgY29uc3QgaGVpZ2h0ID0gMTI7XG4gICAgbGV0IGZha2VOb2RlOiBNaW5kTm9kZSwgY2VudGVyUG9pbnQ6IFBvaW50LCBiYXNpY05vZGU6IE1pbmROb2RlLCBsaW5rRGlyZWN0aW9uOiBMYXlvdXREaXJlY3Rpb247XG5cbiAgICBpZiAoIWhhc1ByZXZpb3VzTm9kZSAmJiAhaGFzTmV4dE5vZGUpIHtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUocGFyZW50KTtcbiAgICAgICAgY29uc3QgcGFyZW50UmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShwYXJlbnROb2RlKTtcblxuICAgICAgICBsaW5rRGlyZWN0aW9uID0gZ2V0TGF5b3V0RGlyZWN0aW9uKHBhcmVudE5vZGUsIGlzSG9yaXpvbnRhbCk7XG4gICAgICAgIGJhc2ljTm9kZSA9IHBhcmVudE5vZGU7XG5cbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQodGFyZ2V0KSAmJiBpc1N0YW5kYXJkTGF5b3V0KGxheW91dCkpIHtcbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0LmRldGVjdFJlc3VsdCA9PT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgbGlua0RpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5sZWZ0O1xuICAgICAgICAgICAgICAgIGJhc2ljTm9kZS5sZWZ0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGlua0RpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5yaWdodDtcbiAgICAgICAgICAgICAgICBiYXNpY05vZGUubGVmdCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgICAgICB0cmFuc2Zvcm1QbGFjZW1lbnQocGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICAgICAgY29uc3QgcGFyZW50Q2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHBhcmVudFJlY3QsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgaWYgKGlzSW5kZW50ZWRMYXlvdXQobGF5b3V0KSkge1xuICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtcbiAgICAgICAgICAgICAgICBIb3Jpem9udGFsUGxhY2VtZW50LmNlbnRlcixcbiAgICAgICAgICAgICAgICBpc1RvcExheW91dChsYXlvdXQpID8gVmVydGljYWxQbGFjZW1lbnQudG9wIDogVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgY29uc3QgcGFyZW50Q2VudGVyUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHBhcmVudFJlY3QsIHBsYWNlbWVudCk7XG5cbiAgICAgICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVhPZlBvaW50KHBhcmVudENlbnRlclBvaW50LCBoZWlnaHQsIGxpbmtEaXJlY3Rpb24pO1xuICAgICAgICAgICAgY2VudGVyUG9pbnRbMV0gPSBpc1RvcExheW91dChsYXlvdXQpID8gY2VudGVyUG9pbnRbMV0gLSBoZWlnaHQgOiBjZW50ZXJQb2ludFsxXSArIGhlaWdodDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVhPZlBvaW50KHBhcmVudENlbnRlclBvaW50LCB3aWR0aCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCFoYXNQcmV2aW91c05vZGUgJiYgaGFzTmV4dE5vZGUpIHtcbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShuZXh0RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IG5leHRSZWN0ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJhc2ljTm9kZSk7XG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24oYmFzaWNOb2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgICAgIGNvbnN0IHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC50b3BdO1xuXG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChwbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgICAgIGxldCBvZmZzZXQgPSAtaGVpZ2h0O1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNJbmRlbnRlZExheW91dChwYXJlbnQpKSB7XG4gICAgICAgICAgICBvZmZzZXQgPSBpc1RvcExheW91dChsYXlvdXQpID8gb2Zmc2V0IC8gMiArIGJhc2ljTm9kZS5oZWlnaHQgLSBiYXNpY05vZGUudkdhcCA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBjZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQobmV4dFJlY3QsIHBsYWNlbWVudCk7XG4gICAgICAgIGNlbnRlclBvaW50ID0gbW92ZVlPZlBvaW50KGNlbnRlclBvaW50LCBvZmZzZXQsIGxpbmtEaXJlY3Rpb24pO1xuICAgIH0gZWxzZSBpZiAoaGFzUHJldmlvdXNOb2RlICYmICFoYXNOZXh0Tm9kZSkge1xuICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShwcmV2aW91c0VsZW1lbnQpO1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmFzaWNOb2RlKTtcbiAgICAgICAgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihiYXNpY05vZGUsIGlzSG9yaXpvbnRhbCk7XG5cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbV07XG5cbiAgICAgICAgdHJhbnNmb3JtUGxhY2VtZW50KHBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG5cbiAgICAgICAgbGV0IG9mZnNldCA9IGhlaWdodDtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSkge1xuICAgICAgICAgICAgb2Zmc2V0ID0gaXNUb3BMYXlvdXQobGF5b3V0KSA/IC1vZmZzZXQgLSAoYmFzaWNOb2RlLmhlaWdodCAtIGJhc2ljTm9kZS52R2FwKSA6IG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICBjZW50ZXJQb2ludCA9IGdldFBvaW50QnlQbGFjZW1lbnQocHJldmlvdXNSZWN0LCBwbGFjZW1lbnQpO1xuICAgICAgICBjZW50ZXJQb2ludCA9IG1vdmVZT2ZQb2ludChjZW50ZXJQb2ludCwgb2Zmc2V0LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmFzaWNOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShwcmV2aW91c0VsZW1lbnQpO1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlY3QgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmFzaWNOb2RlKTtcblxuICAgICAgICBjb25zdCBuZXh0RWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBuZXh0Tm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUobmV4dEVsZW1lbnQpO1xuICAgICAgICBjb25zdCBuZXh0UmVjdCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShuZXh0Tm9kZSk7XG5cbiAgICAgICAgY29uc3QgYmVnaW5QbGFjZW1lbnQ6IFBvaW50UGxhY2VtZW50ID0gW0hvcml6b250YWxQbGFjZW1lbnQubGVmdCwgVmVydGljYWxQbGFjZW1lbnQuYm90dG9tXTtcbiAgICAgICAgY29uc3QgZW5kUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LmxlZnQsIFZlcnRpY2FsUGxhY2VtZW50LnRvcF07XG4gICAgICAgIGxpbmtEaXJlY3Rpb24gPSBnZXRMYXlvdXREaXJlY3Rpb24oYmFzaWNOb2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChiZWdpblBsYWNlbWVudCwgbGlua0RpcmVjdGlvbik7XG4gICAgICAgIHRyYW5zZm9ybVBsYWNlbWVudChlbmRQbGFjZW1lbnQsIGxpbmtEaXJlY3Rpb24pO1xuXG4gICAgICAgIGNvbnN0IHByZXZpb3VzUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KHByZXZpb3VzUmVjdCwgYmVnaW5QbGFjZW1lbnQpO1xuICAgICAgICBjb25zdCBuZXh0UG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5leHRSZWN0LCBlbmRQbGFjZW1lbnQpO1xuXG4gICAgICAgIGNlbnRlclBvaW50ID0gWyhwcmV2aW91c1BvaW50WzBdICsgbmV4dFBvaW50WzBdKSAvIDIsIChwcmV2aW91c1BvaW50WzFdICsgbmV4dFBvaW50WzFdKSAvIDJdO1xuICAgIH1cblxuICAgIGxldCBjb3JuZXJQb2ludCA9IGNlbnRlclBvaW50LFxuICAgICAgICBvcHBvc2l0ZVBvaW50ID0gY2VudGVyUG9pbnQ7XG5cbiAgICBjb25zdCBvZmZzZXRZID0gaXNIb3Jpem9udGFsID8gaGVpZ2h0IDogd2lkdGg7XG4gICAgY29uc3Qgb2Zmc2V0WCA9IGlzSG9yaXpvbnRhbCA/IHdpZHRoIDogaGVpZ2h0O1xuXG4gICAgY29ybmVyUG9pbnQgPSBtb3ZlWU9mUG9pbnQoY29ybmVyUG9pbnQsIC1vZmZzZXRZIC8gMiwgbGlua0RpcmVjdGlvbiEpO1xuXG4gICAgb3Bwb3NpdGVQb2ludCA9IG1vdmVZT2ZQb2ludChvcHBvc2l0ZVBvaW50LCBvZmZzZXRZIC8gMiwgbGlua0RpcmVjdGlvbiEpO1xuICAgIG9wcG9zaXRlUG9pbnQgPSBtb3ZlWE9mUG9pbnQob3Bwb3NpdGVQb2ludCwgb2Zmc2V0WCwgbGlua0RpcmVjdGlvbiEpO1xuXG4gICAgY29uc3QgeCA9IE1hdGgubWluKGNvcm5lclBvaW50WzBdLCBvcHBvc2l0ZVBvaW50WzBdKTtcbiAgICBjb25zdCB5ID0gTWF0aC5taW4oY29ybmVyUG9pbnRbMV0sIG9wcG9zaXRlUG9pbnRbMV0pO1xuXG4gICAgZmFrZU5vZGUgPSB7XG4gICAgICAgIC4uLmJhc2ljTm9kZSEsXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIGhHYXA6IE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSA/IEJBU0UgKiA0ICsgKGJhc2ljTm9kZS5vcmlnaW4uc3Ryb2tlV2lkdGggfHwgU1RST0tFX1dJRFRIKSA6IDAsXG4gICAgICAgIHZHYXA6IE1pbmRFbGVtZW50LmlzSW5kZW50ZWRMYXlvdXQocGFyZW50KSA/IEJBU0UgOiAwXG4gICAgfTtcblxuICAgIGNvbnN0IGZha2VSZWN0YW5nbGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlKFxuICAgICAgICBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSxcbiAgICAgICAgZmFrZU5vZGUhLngsXG4gICAgICAgIGZha2VOb2RlIS55LFxuICAgICAgICBmYWtlTm9kZSEueCArIHdpZHRoLFxuICAgICAgICBmYWtlTm9kZSEueSArIGhlaWdodCxcbiAgICAgICAge1xuICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgICAgICAgICBmaWxsOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3QgbGluayA9IGRyYXdMaW5rKGJvYXJkLCBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudCksIGZha2VOb2RlLCBpc0hvcml6b250YWwsIGZhbHNlLCBQUklNQVJZX0NPTE9SLCBTVFJPS0VfV0lEVEgpO1xuICAgIGZha2VEcm9wTm9kZUc/LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGZha2VEcm9wTm9kZUc/LmFwcGVuZENoaWxkKGZha2VSZWN0YW5nbGVHKTtcblxuICAgIHJldHVybiBmYWtlRHJvcE5vZGVHO1xufTtcbiJdfQ==
@@ -17,4 +17,4 @@ export const getSelectedMindElements = (board) => {
17
17
  const selectedElements = getSelectedElements(board).filter(value => MindElement.isMindElement(board, value));
18
18
  return selectedElements;
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbm9kZS9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFlBQVksRUFBcUIsY0FBYyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFvQjtJQUMxQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztJQUMxRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxFQUFFO1FBQ3BFLGdCQUFnQixFQUFFLElBQUk7S0FDekIsQ0FBQyxDQUFDO0lBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUN6RCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFrQixDQUFDO0lBQzlILE9BQU8sZ0JBQWdCLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdE9wdGlvbnNCb2FyZCwgUGxhaXRQbHVnaW5LZXksIFdpdGhQbHVnaW5PcHRpb25zLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9ub2RlLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlZGl0VG9waWMoZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGNvbXBvbmVudD8uZWRpdFRvcGljKCk7XG59XG5cbmV4cG9ydCBjb25zdCB0ZW1wb3JhcnlEaXNhYmxlU2VsZWN0aW9uID0gKGJvYXJkOiBQbGFpdE9wdGlvbnNCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRPcHRpb25zID0gYm9hcmQuZ2V0UGx1Z2luT3B0aW9ucyhQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uKTtcbiAgICBib2FyZC5zZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uLCB7XG4gICAgICAgIGlzRGlzYWJsZWRTZWxlY3Q6IHRydWVcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgYm9hcmQuc2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbiwgeyAuLi5jdXJyZW50T3B0aW9ucyB9KTtcbiAgICB9LCAwKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZE1pbmRFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5maWx0ZXIodmFsdWUgPT4gTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdmFsdWUpKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIHJldHVybiBzZWxlY3RlZEVsZW1lbnRzO1xufTtcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbm9kZS9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFlBQVksRUFBcUIsY0FBYyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxPQUFvQjtJQUMxQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztJQUMxRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLGdCQUFnQixDQUFvQixjQUFjLENBQUMsYUFBYSxFQUFFO1FBQ3BFLGdCQUFnQixFQUFFLElBQUk7S0FDekIsQ0FBQyxDQUFDO0lBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNaLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsRUFBRSxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDVixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUN6RCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFrQixDQUFDO0lBQzlILE9BQU8sZ0JBQWdCLENBQUM7QUFDNUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdE9wdGlvbnNCb2FyZCwgUGxhaXRQbHVnaW5LZXksIFdpdGhQbHVnaW5PcHRpb25zLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9taW5kLW5vZGUuY29tcG9uZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGVkaXRUb3BpYyhlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgY29tcG9uZW50Py5lZGl0VG9waWMoKTtcbn1cblxuZXhwb3J0IGNvbnN0IHRlbXBvcmFyeURpc2FibGVTZWxlY3Rpb24gPSAoYm9hcmQ6IFBsYWl0T3B0aW9uc0JvYXJkKSA9PiB7XG4gICAgY29uc3QgY3VycmVudE9wdGlvbnMgPSBib2FyZC5nZXRQbHVnaW5PcHRpb25zKFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24pO1xuICAgIGJvYXJkLnNldFBsdWdpbk9wdGlvbnM8V2l0aFBsdWdpbk9wdGlvbnM+KFBsYWl0UGx1Z2luS2V5LndpdGhTZWxlY3Rpb24sIHtcbiAgICAgICAgaXNEaXNhYmxlZFNlbGVjdDogdHJ1ZVxuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBib2FyZC5zZXRQbHVnaW5PcHRpb25zPFdpdGhQbHVnaW5PcHRpb25zPihQbGFpdFBsdWdpbktleS53aXRoU2VsZWN0aW9uLCB7IC4uLmN1cnJlbnRPcHRpb25zIH0pO1xuICAgIH0sIDApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkTWluZEVsZW1lbnRzID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcih2YWx1ZSA9PiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCB2YWx1ZSkpIGFzIE1pbmRFbGVtZW50W107XG4gICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHM7XG59O1xuIl19
@@ -6,11 +6,8 @@ import { PlaitElement } from '@plait/core';
6
6
  export const getNewNodeHeight = (board, element, newNodeDynamicWidth) => {
7
7
  const textManage = PlaitElement.getComponent(element).textManage;
8
8
  const { height } = textManage.getSize();
9
- textManage.updateWidth(newNodeDynamicWidth);
9
+ textManage.updateRectangleWidth(newNodeDynamicWidth);
10
10
  const { height: newHeight } = textManage.getSize();
11
- if (!element.manualWidth) {
12
- textManage.updateWidth(0);
13
- }
14
11
  if (height !== newHeight) {
15
12
  return newHeight;
16
13
  }
@@ -19,4 +16,4 @@ export const getNewNodeHeight = (board, element, newNodeDynamicWidth) => {
19
16
  }
20
17
  return undefined;
21
18
  };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy13aWR0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL25vZGUvZHluYW1pYy13aWR0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLG1CQUEyQixFQUFFLEVBQUU7SUFDckcsTUFBTSxVQUFVLEdBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQXVCLENBQUMsVUFBVSxDQUFDO0lBQ3hGLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1FBQ3RCLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDN0I7SUFFRCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7UUFDdEIsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDaEUsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcblxuLyoqXG4gKiAxLiByZXR1cm4gbmV3IG5vZGUgaGVpZ2h0IGlmIGhlaWdodCBjaGFuZ2VkXG4gKiAyLiBuZXcgaGVpZ2h0IGlzIGVmZmVjdGVkIGJ5IHpvb21cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE5ld05vZGVIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBuZXdOb2RlRHluYW1pY1dpZHRoOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gKFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQpLnRleHRNYW5hZ2U7XG4gICAgY29uc3QgeyBoZWlnaHQgfSA9IHRleHRNYW5hZ2UuZ2V0U2l6ZSgpO1xuICAgIHRleHRNYW5hZ2UudXBkYXRlV2lkdGgobmV3Tm9kZUR5bmFtaWNXaWR0aCk7XG4gICAgY29uc3QgeyBoZWlnaHQ6IG5ld0hlaWdodCB9ID0gdGV4dE1hbmFnZS5nZXRTaXplKCk7XG4gICAgaWYgKCFlbGVtZW50Lm1hbnVhbFdpZHRoKSB7XG4gICAgICAgIHRleHRNYW5hZ2UudXBkYXRlV2lkdGgoMCk7XG4gICAgfVxuXG4gICAgaWYgKGhlaWdodCAhPT0gbmV3SGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiBuZXdIZWlnaHQ7XG4gICAgfVxuXG4gICAgaWYgKE1hdGguYWJzKG5ld0hlaWdodCAvIGJvYXJkLnZpZXdwb3J0Lnpvb20gLSBlbGVtZW50LmhlaWdodCkgPiAyKSB7XG4gICAgICAgIHJldHVybiBuZXdIZWlnaHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy13aWR0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL25vZGUvZHluYW1pYy13aWR0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLG1CQUEyQixFQUFFLEVBQUU7SUFDckcsTUFBTSxVQUFVLEdBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQXVCLENBQUMsVUFBVSxDQUFDO0lBQ3hGLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDckQsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFbkQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2hFLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9taW5kLW5vZGUuY29tcG9uZW50JztcblxuLyoqXG4gKiAxLiByZXR1cm4gbmV3IG5vZGUgaGVpZ2h0IGlmIGhlaWdodCBjaGFuZ2VkXG4gKiAyLiBuZXcgaGVpZ2h0IGlzIGVmZmVjdGVkIGJ5IHpvb21cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE5ld05vZGVIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBuZXdOb2RlRHluYW1pY1dpZHRoOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gKFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCkgYXMgTWluZE5vZGVDb21wb25lbnQpLnRleHRNYW5hZ2U7XG4gICAgY29uc3QgeyBoZWlnaHQgfSA9IHRleHRNYW5hZ2UuZ2V0U2l6ZSgpO1xuICAgIHRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlV2lkdGgobmV3Tm9kZUR5bmFtaWNXaWR0aCk7XG4gICAgY29uc3QgeyBoZWlnaHQ6IG5ld0hlaWdodCB9ID0gdGV4dE1hbmFnZS5nZXRTaXplKCk7XG5cbiAgICBpZiAoaGVpZ2h0ICE9PSBuZXdIZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIG5ld0hlaWdodDtcbiAgICB9XG5cbiAgICBpZiAoTWF0aC5hYnMobmV3SGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbSAtIGVsZW1lbnQuaGVpZ2h0KSA+IDIpIHtcbiAgICAgICAgcmV0dXJuIG5ld0hlaWdodDtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbiJdfQ==
@@ -60,4 +60,4 @@ function getImageSize(file, defaultImageWidth = DEFAULT_IMAGE_WIDTH) {
60
60
  };
61
61
  });
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxNQUFNLCtCQUErQixHQUFHLElBQUksT0FBTyxFQUFzQyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3pELE9BQU8sK0JBQStCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLEVBQUU7SUFDMUYsK0JBQStCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM1RCwrQkFBK0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLE9BQWdCLEVBQUUsRUFBRTtJQUNsRyxJQUFJLE9BQU8sRUFBRTtRQUNULHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0gsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDckM7SUFFRCxNQUFNLGdCQUFnQixHQUFH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aUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQzFILENBQUM7UUFDTixDQUFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Q29udGV4dFNlcnZpY2UgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IEltYWdlRGF0YSwgSW1hZ2VJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi8uLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IERFRkFVTFRfSU1BR0VfV0lEVEggfSBmcm9tICcuLi8uLi9jb25zdGFudHMvaW1hZ2UnO1xuXG5jb25zdCBCT0FSRF9UT19TRUxFQ1RFRF9JTUFHRV9FTEVNRU5UID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPj4oKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkSW1hZ2VFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuIEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRTZWxlY3RlZEltYWdlRWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPikgPT4ge1xuICAgIEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQuc2V0KGJvYXJkLCBlbGVtZW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTZWxlY3RlZEltYWdlRWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQuZGVsZXRlKGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRJbWFnZUZvY3VzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+LCBpc0ZvY3VzOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGlzRm9jdXMpIHtcbiAgICAgICAgYWRkU2VsZWN0ZWRJbWFnZUVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJlbW92ZVNlbGVjdGVkSW1hZ2VFbGVtZW50KGJvYXJkKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtZW50Q29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudChlbGVtZW50KSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICBlbGVtZW50Q29tcG9uZW50LmltYWdlRHJhd2VyLmNvbXBvbmVudFJlZiEuaW5zdGFuY2UuaXNGb2N1cyA9IGlzRm9jdXM7XG4gICAgZWxlbWVudENvbXBvbmVudC5pbWFnZURyYXdlci5jb21wb25lbnRSZWYhLmluc3RhbmNlLmNkci5tYXJrRm9yQ2hlY2soKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RJbWFnZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIGFjY2VwdEltYWdlVHlwZXM6IHN0cmluZ1tdID0gWydwbmcnLCAnanBlZycsICdnaWYnLCAnYm1wJ10pID0+IHtcbiAgICBjb25zdCBpbnB1dEZpbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xuICAgIGlucHV0RmlsZS5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnZmlsZScpO1xuICAgIGNvbnN0IGFjY2VwdEltYWdlVHlwZXNTdHJpbmcgPSAnLicgKyBhY2NlcHRJbWFnZVR5cGVzLmpvaW4oJywuJyk7XG4gICAgaW5wdXRGaWxlLnNldEF0dHJpYnV0ZSgnYWNjZXB0JywgYWNjZXB0SW1hZ2VUeXBlc1N0cmluZyk7XG4gICAgaW5wdXRGaWxlLm9uY2hhbmdlID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgICAgICBidWlsZEltYWdlKGJvYXJkLCBlbGVtZW50LCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuZmlsZXNbMF0pO1xuICAgIH07XG4gICAgaW5wdXRGaWxlLmNsaWNrKCk7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRJbWFnZSA9IGFzeW5jIChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIGltYWdlRmlsZTogRmlsZSkgPT4ge1xuICAgIGxldCB3aWR0aCA9IDAsXG4gICAgICAgIGhlaWdodCA9IDA7XG4gICAgYXdhaXQgZ2V0SW1hZ2VTaXplKGltYWdlRmlsZSkudGhlbigodmFsdWU6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICB3aWR0aCA9IHZhbHVlLndpZHRoO1xuICAgICAgICBoZWlnaHQgPSB2YWx1ZS5oZWlnaHQ7XG4gICAgfSk7XG5cbiAgICBsZXQgaW1hZ2VJdGVtOiBJbWFnZUl0ZW0gfCBudWxsID0gbnVsbDtcbiAgICBjb25zdCB1cmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGltYWdlRmlsZSk7XG4gICAgY29uc3QgY29udGV4dCA9IFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKS52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLmdldChQbGFpdENvbnRleHRTZXJ2aWNlKTtcbiAgICBjb250ZXh0LnNldFVwbG9hZGluZ0ZpbGUoeyB1cmwsIGZpbGU6IGltYWdlRmlsZSB9KTtcblxuICAgIGltYWdlSXRlbSA9IHtcbiAgICAgICAgdXJsLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0XG4gICAgfTtcblxuICAgIE1pbmRUcmFuc2Zvcm1zLnNldEltYWdlKGJvYXJkLCBlbGVtZW50LCBpbWFnZUl0ZW0pO1xufTtcblxuZnVuY3Rpb24gZ2V0SW1hZ2VTaXplKGZpbGU6IEZpbGUsIGRlZmF1bHRJbWFnZVdpZHRoOiBudW1iZXIgPSBERUZBVUxUX0lNQUdFX1dJRFRIKTogUHJvbWlzZTx7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICBpbWFnZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xuXG4gICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBkZWZhdWx0SW1hZ2VXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IChkZWZhdWx0SW1hZ2VXaWR0aCAqIGltYWdlLm5hdHVyYWxIZWlnaHQpIC8gaW1hZ2UubmF0dXJhbFdpZHRoO1xuICAgICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgICAgICBpbWFnZS5uYXR1cmFsV2lkdGggPiBkZWZhdWx0SW1hZ2VXaWR0aCA/IHsgd2lkdGgsIGhlaWdodCB9IDogeyB3aWR0aDogaW1hZ2UubmF0dXJhbFdpZHRoLCBoZWlnaHQ6IGltYWdlLm5hdHVyYWxIZWlnaHQgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSTVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1RCxNQUFNLCtCQUErQixHQUFHLElBQUksT0FBTyxFQUFzQyxDQUFDO0FBRTFGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3pELE9BQU8sK0JBQStCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLEVBQUU7SUFDMUYsK0JBQStCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUM1RCwrQkFBK0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLE9BQWdCLEVBQUUsRUFBRTtJQUNsRyxJQUFJLE9BQU8sRUFBRTtRQUNULHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztLQUMzQztTQUFNO1FBQ0gsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDckM7SUFFRCxNQUFNLGdCQUFnQixHQUFH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aUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQzFILENBQUM7UUFDTixDQUFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Q29udGV4dFNlcnZpY2UgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgSW1hZ2VEYXRhLCBJbWFnZUl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgREVGQVVMVF9JTUFHRV9XSURUSCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9pbWFnZSc7XG5cbmNvbnN0IEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBNaW5kRWxlbWVudDxJbWFnZURhdGE+PigpO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICByZXR1cm4gQk9BUkRfVE9fU0VMRUNURURfSU1BR0VfRUxFTUVOVC5nZXQoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZFNlbGVjdGVkSW1hZ2VFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+KSA9PiB7XG4gICAgQk9BUkRfVE9fU0VMRUNURURfSU1BR0VfRUxFTUVOVC5zZXQoYm9hcmQsIGVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZVNlbGVjdGVkSW1hZ2VFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgQk9BUkRfVE9fU0VMRUNURURfSU1BR0VfRUxFTUVOVC5kZWxldGUoYm9hcmQpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEltYWdlRm9jdXMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIGlzRm9jdXM6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICBhZGRTZWxlY3RlZEltYWdlRWxlbWVudChib2FyZCwgZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlU2VsZWN0ZWRJbWFnZUVsZW1lbnQoYm9hcmQpO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGVsZW1lbnRDb21wb25lbnQuaW1hZ2VEcmF3ZXIuY29tcG9uZW50UmVmIS5pbnN0YW5jZS5pc0ZvY3VzID0gaXNGb2N1cztcbiAgICBlbGVtZW50Q29tcG9uZW50LmltYWdlRHJhd2VyLmNvbXBvbmVudFJlZiEuaW5zdGFuY2UuY2RyLm1hcmtGb3JDaGVjaygpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgYWNjZXB0SW1hZ2VUeXBlczogc3RyaW5nW10gPSBbJ3BuZycsICdqcGVnJywgJ2dpZicsICdibXAnXSkgPT4ge1xuICAgIGNvbnN0IGlucHV0RmlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgaW5wdXRGaWxlLnNldEF0dHJpYnV0ZSgndHlwZScsICdmaWxlJyk7XG4gICAgY29uc3QgYWNjZXB0SW1hZ2VUeXBlc1N0cmluZyA9ICcuJyArIGFjY2VwdEltYWdlVHlwZXMuam9pbignLC4nKTtcbiAgICBpbnB1dEZpbGUuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCBhY2NlcHRJbWFnZVR5cGVzU3RyaW5nKTtcbiAgICBpbnB1dEZpbGUub25jaGFuZ2UgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGJ1aWxkSW1hZ2UoYm9hcmQsIGVsZW1lbnQsIChldmVudC50YXJnZXQgYXMgYW55KS5maWxlc1swXSk7XG4gICAgfTtcbiAgICBpbnB1dEZpbGUuY2xpY2soKTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWlsZEltYWdlID0gYXN5bmMgKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaW1hZ2VGaWxlOiBGaWxlKSA9PiB7XG4gICAgbGV0IHdpZHRoID0gMCxcbiAgICAgICAgaGVpZ2h0ID0gMDtcbiAgICBhd2FpdCBnZXRJbWFnZVNpemUoaW1hZ2VGaWxlKS50aGVuKCh2YWx1ZTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIHdpZHRoID0gdmFsdWUud2lkdGg7XG4gICAgICAgIGhlaWdodCA9IHZhbHVlLmhlaWdodDtcbiAgICB9KTtcblxuICAgIGxldCBpbWFnZUl0ZW06IEltYWdlSXRlbSB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoaW1hZ2VGaWxlKTtcbiAgICBjb25zdCBjb250ZXh0ID0gUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KFBsYWl0Q29udGV4dFNlcnZpY2UpO1xuICAgIGNvbnRleHQuc2V0VXBsb2FkaW5nRmlsZSh7IHVybCwgZmlsZTogaW1hZ2VGaWxlIH0pO1xuXG4gICAgaW1hZ2VJdGVtID0ge1xuICAgICAgICB1cmwsXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHRcbiAgICB9O1xuXG4gICAgTWluZFRyYW5zZm9ybXMuc2V0SW1hZ2UoYm9hcmQsIGVsZW1lbnQsIGltYWdlSXRlbSk7XG59O1xuXG5mdW5jdGlvbiBnZXRJbWFnZVNpemUoZmlsZTogRmlsZSwgZGVmYXVsdEltYWdlV2lkdGg6IG51bWJlciA9IERFRkFVTFRfSU1BR0VfV0lEVEgpOiBQcm9taXNlPHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICAgIGltYWdlLnNyYyA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XG5cbiAgICAgICAgaW1hZ2Uub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBjb25zdCB3aWR0aCA9IGRlZmF1bHRJbWFnZVdpZHRoO1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gKGRlZmF1bHRJbWFnZVdpZHRoICogaW1hZ2UubmF0dXJhbEhlaWdodCkgLyBpbWFnZS5uYXR1cmFsV2lkdGg7XG4gICAgICAgICAgICByZXNvbHZlKFxuICAgICAgICAgICAgICAgIGltYWdlLm5hdHVyYWxXaWR0aCA+IGRlZmF1bHRJbWFnZVdpZHRoID8geyB3aWR0aCwgaGVpZ2h0IH0gOiB7IHdpZHRoOiBpbWFnZS5uYXR1cmFsV2lkdGgsIGhlaWdodDogaW1hZ2UubmF0dXJhbEhlaWdodCB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
@@ -3,8 +3,7 @@ import { getRectangleByNode } from './node';
3
3
  export function getTopicRectangleByNode(board, node) {
4
4
  let nodeRectangle = getRectangleByNode(node);
5
5
  const result = getTopicRectangleByElement(board, nodeRectangle, node.origin);
6
- // add buffer width to avoid unexpected text breaks in different scene
7
- result.width = result.width + 4;
6
+ result.width = result.width;
8
7
  return result;
9
8
  }
10
9
  export function getTopicRectangleByElement(board, nodeRectangle, element) {
@@ -14,4 +13,4 @@ export function getTopicRectangleByElement(board, nodeRectangle, element) {
14
13
  const height = Math.ceil(element.height);
15
14
  return { height, width, x, y };
16
15
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzVDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFxQixFQUFFLElBQWM7SUFDekUsSUFBSSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0Usc0VBQXNFO0lBQ3RFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFxQixFQUFFLGFBQThCLEVBQUUsT0FBb0I7SUFDbEgsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9waWNSZWN0YW5nbGVCeU5vZGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlOiBNaW5kTm9kZSkge1xuICAgIGxldCBub2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5vZGUpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGdldFRvcGljUmVjdGFuZ2xlQnlFbGVtZW50KGJvYXJkLCBub2RlUmVjdGFuZ2xlLCBub2RlLm9yaWdpbik7XG4gICAgLy8gYWRkIGJ1ZmZlciB3aWR0aCB0byBhdm9pZCB1bmV4cGVjdGVkIHRleHQgYnJlYWtzIGluIGRpZmZlcmVudCBzY2VuZVxuICAgIHJlc3VsdC53aWR0aCA9IHJlc3VsdC53aWR0aCArIDQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRvcGljUmVjdGFuZ2xlQnlFbGVtZW50KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZVJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgIGNvbnN0IHggPSBub2RlUmVjdGFuZ2xlLnggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgeSA9IG5vZGVSZWN0YW5nbGUueSArIE5vZGVTcGFjZS5nZXRUZXh0VG9wU3BhY2UoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHdpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVEeW5hbWljV2lkdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IGhlaWdodCA9IE1hdGguY2VpbChlbGVtZW50LmhlaWdodCk7XG4gICAgcmV0dXJuIHsgaGVpZ2h0LCB3aWR0aCwgeCwgeSB9O1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzVDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFxQixFQUFFLElBQWM7SUFDekUsSUFBSSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0UsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzVCLE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsS0FBcUIsRUFBRSxhQUE4QixFQUFFLE9BQW9CO0lBQ2xILE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RSxNQUFNLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlOb2RlIH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZTogTWluZE5vZGUpIHtcbiAgICBsZXQgbm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShub2RlKTtcbiAgICBjb25zdCByZXN1bHQgPSBnZXRUb3BpY1JlY3RhbmdsZUJ5RWxlbWVudChib2FyZCwgbm9kZVJlY3RhbmdsZSwgbm9kZS5vcmlnaW4pO1xuICAgIHJlc3VsdC53aWR0aCA9IHJlc3VsdC53aWR0aDtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9waWNSZWN0YW5nbGVCeUVsZW1lbnQoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlUmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgY29uc3QgeCA9IG5vZGVSZWN0YW5nbGUueCArIE5vZGVTcGFjZS5nZXRUZXh0TGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCB5ID0gbm9kZVJlY3RhbmdsZS55ICsgTm9kZVNwYWNlLmdldFRleHRUb3BTcGFjZShib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3Qgd2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZUR5bmFtaWNXaWR0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5jZWlsKGVsZW1lbnQuaGVpZ2h0KTtcbiAgICByZXR1cm4geyBoZWlnaHQsIHdpZHRoLCB4LCB5IH07XG59XG4iXX0=