@plait/mind 0.50.0 → 0.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,143 +1,29 @@
1
+ ## @plait/mind
2
+ Implementation of the core logic of the mind map plugin.
1
3
 
2
4
 
3
- @plait/mind 库包含思维导图的核心逻辑的实现,基于 Plait 框架,是最早也是目前唯一一个落地的业务插件。
4
5
 
6
+ **Basic functions**
5
7
 
8
+ 1. Layout: logical layout, standard layout, indented layout
9
+ 1. Node quick creation (Tab, Enter), deletion (Delete, Backspace)
10
+ 1. Node theme text editing
11
+ 1. Expand and collapse nodes
12
+ 1. Copy and paste nodes
13
+ 1. Insert pictures
14
+ 1. Insert Emoji
15
+ 1. Node Abstract
16
+ 1. Color theme
17
+ 1. Width adjustment
18
+ 1. Multiple main topics
6
19
 
7
- **基础功能**
8
20
 
9
- 1. 支持逻辑布局、标准布局、缩进布局
10
- 1. 节点快捷新建(Tab、Enter)、删除(Delete、Backspace)
11
- 1. 节点主题文本编辑
12
- 1. 节点展开收起
13
- 1. 节点复制、粘贴
14
-
15
-
16
-
17
-
18
- **高阶功能**
19
-
20
- 1. 节点支持拖拽调整位置
21
- 1. 节点支持概要/调整概要范围
22
- 1. 节点支持扩展设置 Emoji 表情
23
- 1. 交互式创建思维导图插件
24
-
25
-
26
-
27
-
28
- **功能演示**
29
-
30
-
31
-
32
-
33
-
34
- @plait/mind 核心仅仅包含数据渲染及核心交互实现,不包含工具栏、属性设置等基于界面的交互实现,因为这部分功能依赖于特定的界面风格(插件层不希望引入组件库),我们在设计上倾向于把这部分功能交由使用方自定义实现,插件层只提供事件支持及个性化配置支持。
35
-
36
-
37
-
38
- **自定义扩展**
39
-
40
-
41
-
42
- 1. 支持 MindOptions 配置
43
-
44
- 提供 Mind 插件特有的可重写函数,用于使用方自定义 Mind 插件配置(控制渲染样式、交互风格等):
45
-
46
- ```
47
- export interface MindOptions {
48
- emojiPadding: number;
49
- spaceBetweenEmojis: number;
50
- }
51
- ```
52
-
53
- 目前仅支持 emoji 扩展相关的自定义配置,后续会把节点之间的间隙、文本与节点之间的间隙等等做成自定义配置,目前这些配置是按照我们自己的需求固定在代码中的。
54
-
55
-
56
-
57
- 2. 支持扩展 Emoji
58
-
59
- Mind 插件支持 Emoji 功能的时候仅仅提供了一个调用入口,需要使用方提供具体的一个 Emoji 渲染组件,用于具体的实现 Emoji 的渲染及交互,插件层不关注 Emoji 的交互细节、也不管理 Emoji 资源,仅仅控制 emoji 的渲染位置及空间占位。
60
-
61
- 提供可重写函数签名:
62
-
63
- ```
64
- drawEmoji: (emoji: EmojiItem, element: MindElement) => ComponentType<MindEmojiBaseComponent>;
65
- ```
66
-
67
- 提供 Emoji 渲染组件基类:
68
-
69
- ```
70
- @Directive({
71
- host: {
72
- class: 'mind-node-emoji'
73
- }
74
- })
75
- export class MindEmojiBaseComponent implements OnInit {
76
- @Input()
77
- fontSize: number = 14;
78
-
79
- @Input()
80
- emojiItem!: EmojiItem;
81
-
82
- @Input()
83
- board!: PlaitBoard;
84
-
85
- @Input()
86
- element!: MindElement<EmojiData>;
87
-
88
- get nativeElement() {
89
- return this.elementRef.nativeElement;
90
- }
91
-
92
- constructor(protected elementRef: ElementRef<HTMLElement>) {}
93
-
94
- ngOnInit(): void {
95
- this.elementRef.nativeElement.style.fontSize = `${this.fontSize}px`;
96
- }
97
- }
98
- ```
99
-
100
- 不同提供默认实现
101
-
102
- ```
103
- newBoard.drawEmoji = (emoji: EmojiItem, element: MindElement) => {
104
- throw new Error('Not implement drawEmoji method error.');
105
- };
106
- ```
107
-
108
-
109
-
110
- 3. 概要调整
111
-
112
- 因为业务方需要在概要拖拽调整范围时做一定的业务处理,所以插件层增加了一个可重写方法用于抛出概要调整时的状态
113
-
114
- 提供可选的可重写函数签名 onAbstractResize:
115
-
116
- ```
117
- export interface PlaitAbstractBoard extends PlaitBoard {
118
- onAbstractResize?: (state: AbstractResizeState) => void;
119
- }
120
- ```
121
-
122
- AbstractResizeState 状态定义:
123
-
124
- ```
125
- export enum AbstractResizeState {
126
- start = 'start',
127
- resizing = 'resizing',
128
- end = 'end'
129
- }
130
- ```
131
-
132
-
133
-
134
- **依赖**
135
-
136
- @plait/core
137
-
138
- @plait/layouts
139
-
140
- @plait/richtext
21
+ > @plait/mind The core only includes data rendering and core interaction implementation, and does not include interface-based interaction implementations such as toolbars and attribute settings. Because these functions depend on specific interface styles (the plug-in layer does not want to introduce UI libraries), we The design tends to leave this part of the function to the user for custom implementation, and the plugin layer only provides event support and special configuration support.
141
22
 
142
23
 
143
24
 
25
+ #### Dependence
26
+ - `@plait/core`
27
+ - `@plait/common`
28
+ - `@plait/text`
29
+ - `@plait/layouts`
@@ -9,7 +9,7 @@ import { BoardCreationMode, isDndMode, isDrawingMode, setCreationMode } from '@p
9
9
  const DefaultHotkey = 'm';
10
10
  export const withCreateMind = (board) => {
11
11
  const newBoard = board;
12
- const { keydown, pointerDown, pointerMove, pointerUp } = board;
12
+ const { keyDown, pointerDown, pointerMove, pointerUp } = board;
13
13
  let fakeCreateNodeRef = null;
14
14
  let emptyMind = null;
15
15
  newBoard.pointerDown = (event) => {
@@ -32,7 +32,7 @@ export const withCreateMind = (board) => {
32
32
  }
33
33
  const isMindPointer = PlaitBoard.isPointer(board, MindPointerType.mind);
34
34
  if (isDndMode(board) && isMindPointer) {
35
- throttleRAF(() => {
35
+ throttleRAF(board, 'with-mind-create', () => {
36
36
  let movingPoint = PlaitBoard.getMovingPointInBoard(board);
37
37
  if (movingPoint) {
38
38
  movingPoint = toViewBoxPoint(newBoard, toHostPoint(board, movingPoint[0], movingPoint[1]));
@@ -87,9 +87,9 @@ export const withCreateMind = (board) => {
87
87
  destroy();
88
88
  pointerUp(event);
89
89
  };
90
- board.keydown = (event) => {
90
+ board.keyDown = (event) => {
91
91
  if (PlaitBoard.isReadonly(board) || getSelectedElements(board).length > 0) {
92
- keydown(event);
92
+ keyDown(event);
93
93
  return;
94
94
  }
95
95
  if (event.key === DefaultHotkey && !PlaitBoard.isPointer(board, MindPointerType.mind)) {
@@ -98,7 +98,7 @@ export const withCreateMind = (board) => {
98
98
  event.preventDefault();
99
99
  return;
100
100
  }
101
- keydown(event);
101
+ keyDown(event);
102
102
  };
103
103
  function destroy() {
104
104
  if (fakeCreateNodeRef) {
@@ -109,4 +109,4 @@ export const withCreateMind = (board) => {
109
109
  }
110
110
  return newBoard;
111
111
  };
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUM7QUFRMUIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ2hELE1BQU0sUUFBUSxHQUFHLEtBQW9DLENBQUM7SUFDdEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUMvRCxJQUFJLGlCQUFpQixHQUE2QixJQUFJLENBQUM7SUFDdkQsSUFBSSxTQUFTLEdBQXVCLElBQUksQ0FBQztJ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QUFFLENBQUM7WUFDdkMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLGlCQUFpQixHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEJvYXJkVHJhbnNmb3JtcyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UG9pbnRlclR5cGUsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQsXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQsXG4gICAgY3JlYXRlRyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIHRocm90dGxlUkFGLFxuICAgIHRvSG9zdFBvaW50LFxuICAgIHRvVmlld0JveFBvaW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgTWluZFBvaW50ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludGVyJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5RWxlbWVudCwgZ2V0VG9waWNSZWN0YW5nbGVCeUVsZW1lbnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBkcmF3Um91bmRSZWN0YW5nbGVCeUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9kcmF3L25vZGUtc2hhcGUnO1xuaW1wb3J0IHsgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlNaW5kIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jcmVhdGUtbm9kZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQm9hcmRDcmVhdGlvbk1vZGUsIGlzRG5kTW9kZSwgaXNEcmF3aW5nTW9kZSwgc2V0Q3JlYXRpb25Nb2RlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmNvbnN0IERlZmF1bHRIb3RrZXkgPSAnbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZUNyZWF0ZU5vZGVSZWYge1xuICAgIGc6IFNWR0dFbGVtZW50O1xuICAgIG5vZGVHOiBTVkdHRWxlbWVudDtcbiAgICB0ZXh0TWFuYWdlOiBUZXh0TWFuYWdlO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZU1pbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBuZXdCb2FyZCA9IGJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGtleWRvd24sIHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcbiAgICBsZXQgZmFrZUNyZWF0ZU5vZGVSZWY6IEZha2VDcmVhdGVOb2RlUmVmIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGVtcHR5TWluZDogTWluZEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIG5ld0JvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNNaW5kUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNQb2ludGVyPE1pbmRQb2ludGVyVHlwZSB8IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCk7XG4gICAgICAgIGxldCBtb3ZpbmdQb2ludCA9IFBsYWl0Qm9hcmQuZ2V0TW92aW5nUG9pbnRJbkJvYXJkKGJvYXJkKTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIG1vdmluZ1BvaW50ICYmIGlzRHJhd2luZ01vZGUoYm9hcmQpICYmIGlzTWluZFBvaW50ZXIpIHtcbiAgICAgICAgICAgIG1vdmluZ1BvaW50ID0gdG9WaWV3Qm94UG9pbnQoYm9hcmQsIHRvSG9zdFBvaW50KGJvYXJkLCBtb3ZpbmdQb2ludFswXSwgbW92aW5nUG9pbnRbMV0pKTtcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5TWluZCA9IGNyZWF0ZUVtcHR5TWluZChuZXdCb2FyZCwgbW92aW5nUG9pbnQpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBlbXB0eU1pbmQsIFtib2FyZC5jaGlsZHJlbi5sZW5ndGhdKTtcbiAgICAgICAgICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgZW1wdHlNaW5kKTtcbiAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgbmV3Qm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSkge1xuICAgICAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzTWluZFBvaW50ZXIgPSBQbGFpdEJvYXJkLmlzUG9pbnRlcjxNaW5kUG9pbnRlclR5cGUgfCBQbGFpdFBvaW50ZXJUeXBlPihib2FyZCwgTWluZFBvaW50ZXJUeXBlLm1pbmQpO1xuICAgICAgICBpZiAoaXNEbmRNb2RlKGJvYXJkKSAmJiBpc01pbmRQb2ludGVyKSB7XG4gICAgICAgICAgICB0aHJvdHRsZVJBRigoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IG1vdmluZ1BvaW50ID0gUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKG1vdmluZ1BvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgIG1vdmluZ1BvaW50ID0gdG9WaWV3Qm94UG9pbnQobmV3Qm9hcmQsIHRvSG9zdFBvaW50KGJvYXJkLCBtb3ZpbmdQb2ludFswXSwgbW92aW5nUG9pbnRbMV0pKTtcbiAgICAgICAgICAgICAgICAgICAgZW1wdHlNaW5kID0gY3JlYXRlRW1wdHlNaW5kKG5ld0JvYXJkLCBtb3ZpbmdQb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnQobmV3Qm9hcmQsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vZGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlQnlFbGVtZW50KGJvYXJkLCBub2RlUmVjdGFuZ2xlLCBlbXB0eU1pbmQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BpY1JlY3RhbmdsZSA9IGdldFRvcGljUmVjdGFuZ2xlQnlFbGVtZW50KG5ld0JvYXJkLCBub2RlUmVjdGFuZ2xlLCBlbXB0eU1pbmQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWZha2VDcmVhdGVOb2RlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0TWFuYWdlID0gbmV3IFRleHRNYW5hZ2UoYm9hcmQsIFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKS52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3BpY1JlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Q29tcG9uZW50KGJvYXJkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52aWV3Q29udGFpbmVyUmVmLmluamVjdG9yLmdldChOZ1pvbmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2UuZHJhdyhlbXB0eU1pbmQhLmRhdGEudG9waWMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZzogY3JlYXRlRygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVHLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLmNsYXNzTGlzdC5hZGQoJ3Jvb3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLmcuc2V0QXR0cmlidXRlKCdwbGFpdC1taW5kLXRlbXBvcmFyeScsICd0cnVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLmFwcGVuZChmYWtlQ3JlYXRlTm9kZVJlZi5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLmcuYXBwZW5kKC4uLltmYWtlQ3JlYXRlTm9kZVJlZi5ub2RlRywgdGV4dE1hbmFnZS5nXSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi50ZXh0TWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSh0b3BpY1JlY3RhbmdsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5ub2RlRy5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLm5vZGVHID0gbm9kZUc7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLmFwcGVuZChub2RlRyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLmFwcGVuZChmYWtlQ3JlYXRlTm9kZVJlZi50ZXh0TWFuYWdlLmcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBuZXdCb2FyZC5wb2ludGVyVXAgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZW1wdHlNaW5kKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGVtcHR5TWluZCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgICAgICAgICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgICAgICAgICAgYWRkU2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBlbXB0eU1pbmQpO1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgICAgICBlbXB0eU1pbmQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGRlc3Ryb3koKTtcbiAgICAgICAgcG9pbnRlclVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSB8fCBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBEZWZhdWx0SG90a2V5ICYmICFQbGFpdEJvYXJkLmlzUG9pbnRlcihib2FyZCwgTWluZFBvaW50ZXJUeXBlLm1pbmQpKSB7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIE1pbmRQb2ludGVyVHlwZS5taW5kKTtcbiAgICAgICAgICAgIHNldENyZWF0aW9uTW9kZShib2FyZCwgQm9hcmRDcmVhdGlvbk1vZGUuZHJhd2luZyk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgICAgICBpZiAoZmFrZUNyZWF0ZU5vZGVSZWYpIHtcbiAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLnRleHRNYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdCb2FyZDtcbn07XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUM7QUFRMUIsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ2hELE1BQU0sUUFBUSxHQUFHLEtBQW9DLENBQUM7SUFDdEQsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUMvRCxJQUFJLGlCQUFpQixHQUE2QixJQUFJLENBQUM7SUFDdkQsSUFBSSxTQUFTLEdBQXVCLElBQUksQ0FBQztJQUV6QyxRQUFRLENBQUMsV0FBVyxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQzNDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQXFDLEtBQUssRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUcsSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFdBQVcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxFQUFFO1lBQ3ZGLFdBQVcsR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEYsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RCxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDakUsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDeEU7UUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsUUFBUSxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUMzQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLE9BQU87U0FDVjtRQUNELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQXFDLEtBQUssRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUcsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksYUFBYSxFQUFFO1lBQ25DLFdBQVcsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO2dCQUN4QyxJQUFJLFdBQVcsR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTFELElBQUksV0FBVyxFQUFFO29CQUNiLFdBQVcsR0FBRyxjQUFjLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNGLFNBQVMsR0FBRyxlQUFlLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29CQUNuRCxNQUFNLGFBQWEsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQ2pFLE1BQU0sS0FBSyxHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQzNFLE1BQU0sY0FBYyxHQUFHLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7b0JBQ3RGLElBQUksQ0FBQyxpQkFBaUIsRUFBRTt3QkFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUU7NEJBQ3RGLFlBQVksRUFBRSxHQUFHLEVBQUU7Z0NBQ2YsT0FBTyxjQUFjLENBQUM7NEJBQzFCLENBQUM7eUJBQ0osQ0FBQyxDQUFDO3dCQUNILFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDOzZCQUN6QixnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQzs2QkFDckMsR0FBRyxDQUFDLEdBQUcsRUFBRTs0QkFDTixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQzNDLENBQUMsQ0FBQyxDQUFDO3dCQUNQLGlCQUFpQixHQUFHOzRCQUNoQixDQUFDLEVBQUUsT0FBTyxFQUFFOzRCQUNaLEtBQUs7NEJBQ0wsVUFBVTt5QkFDYixDQUFDO3dCQUNGLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUMxQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUNqRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdEQsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMxRTt5QkFBTTt3QkFDSCxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO3dCQUM3RCxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ2pDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7d0JBQ2hDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2xDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM5RDtpQkFDSjtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0lBRUYsUUFBUSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLFNBQVMsRUFBRTtZQUNYLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNqRSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDckMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRSxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2RSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDZixPQUFPO1NBQ1Y7UUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssYUFBYSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25GLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELGVBQWUsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87U0FDVjtRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRixTQUFTLE9BQU87UUFDWixJQUFJLGlCQUFpQixFQUFFO1lBQ25CLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudCxcbiAgICBjbGVhclNlbGVjdGVkRWxlbWVudCxcbiAgICBjcmVhdGVHLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgdGhyb3R0bGVSQUYsXG4gICAgdG9Ib3N0UG9pbnQsXG4gICAgdG9WaWV3Qm94UG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBNaW5kUG9pbnRlclR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50ZXInO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50LCBnZXRUb3BpY1JlY3RhbmdsZUJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2RyYXcvbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRleHRNYW5hZ2UgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eU1pbmQgfSBmcm9tICcuLi91dGlscy9ub2RlL2NyZWF0ZS1ub2RlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCb2FyZENyZWF0aW9uTW9kZSwgaXNEbmRNb2RlLCBpc0RyYXdpbmdNb2RlLCBzZXRDcmVhdGlvbk1vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuY29uc3QgRGVmYXVsdEhvdGtleSA9ICdtJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWtlQ3JlYXRlTm9kZVJlZiB7XG4gICAgZzogU1ZHR0VsZW1lbnQ7XG4gICAgbm9kZUc6IFNWR0dFbGVtZW50O1xuICAgIHRleHRNYW5hZ2U6IFRleHRNYW5hZ2U7XG59XG5cbmV4cG9ydCBjb25zdCB3aXRoQ3JlYXRlTWluZCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IG5ld0JvYXJkID0gYm9hcmQgYXMgUGxhaXRCb2FyZCAmIFBsYWl0TWluZEJvYXJkO1xuICAgIGNvbnN0IHsga2V5RG93biwgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuICAgIGxldCBmYWtlQ3JlYXRlTm9kZVJlZjogRmFrZUNyZWF0ZU5vZGVSZWYgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZW1wdHlNaW5kOiBNaW5kRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgbmV3Qm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBpc01pbmRQb2ludGVyID0gUGxhaXRCb2FyZC5pc1BvaW50ZXI8TWluZFBvaW50ZXJUeXBlIHwgUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQsIE1pbmRQb2ludGVyVHlwZS5taW5kKTtcbiAgICAgICAgbGV0IG1vdmluZ1BvaW50ID0gUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpO1xuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkgJiYgbW92aW5nUG9pbnQgJiYgaXNEcmF3aW5nTW9kZShib2FyZCkgJiYgaXNNaW5kUG9pbnRlcikge1xuICAgICAgICAgICAgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIG1vdmluZ1BvaW50WzBdLCBtb3ZpbmdQb2ludFsxXSkpO1xuICAgICAgICAgICAgY29uc3QgZW1wdHlNaW5kID0gY3JlYXRlRW1wdHlNaW5kKG5ld0JvYXJkLCBtb3ZpbmdQb2ludCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGVtcHR5TWluZCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgICAgICAgICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgICAgICAgICAgYWRkU2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBlbXB0eU1pbmQpO1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBuZXdCb2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNNaW5kUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNQb2ludGVyPE1pbmRQb2ludGVyVHlwZSB8IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCk7XG4gICAgICAgIGlmIChpc0RuZE1vZGUoYm9hcmQpICYmIGlzTWluZFBvaW50ZXIpIHtcbiAgICAgICAgICAgIHRocm90dGxlUkFGKGJvYXJkLCAnd2l0aC1taW5kLWNyZWF0ZScsICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbW92aW5nUG9pbnQgPSBQbGFpdEJvYXJkLmdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZCk7XG5cbiAgICAgICAgICAgICAgICBpZiAobW92aW5nUG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChuZXdCb2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIG1vdmluZ1BvaW50WzBdLCBtb3ZpbmdQb2ludFsxXSkpO1xuICAgICAgICAgICAgICAgICAgICBlbXB0eU1pbmQgPSBjcmVhdGVFbXB0eU1pbmQobmV3Qm9hcmQsIG1vdmluZ1BvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudChuZXdCb2FyZCwgZW1wdHlNaW5kKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZUcgPSBkcmF3Um91bmRSZWN0YW5nbGVCeUVsZW1lbnQoYm9hcmQsIG5vZGVSZWN0YW5nbGUsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcGljUmVjdGFuZ2xlID0gZ2V0VG9waWNSZWN0YW5nbGVCeUVsZW1lbnQobmV3Qm9hcmQsIG5vZGVSZWN0YW5nbGUsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmFrZUNyZWF0ZU5vZGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBuZXcgVGV4dE1hbmFnZShib2FyZCwgUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpLnZpZXdDb250YWluZXJSZWYsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRSZWN0YW5nbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvcGljUmVjdGFuZ2xlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IuZ2V0KE5nWm9uZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZS5kcmF3KGVtcHR5TWluZCEuZGF0YS50b3BpYyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnOiBjcmVhdGVHKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9kZUcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLmcuY2xhc3NMaXN0LmFkZCgncm9vdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5zZXRBdHRyaWJ1dGUoJ3BsYWl0LW1pbmQtdGVtcG9yYXJ5JywgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkuYXBwZW5kKGZha2VDcmVhdGVOb2RlUmVmLmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5hcHBlbmQoLi4uW2Zha2VDcmVhdGVOb2RlUmVmLm5vZGVHLCB0ZXh0TWFuYWdlLmddKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKHRvcGljUmVjdGFuZ2xlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLm5vZGVHLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYubm9kZUcgPSBub2RlRztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLmcuYXBwZW5kKG5vZGVHKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmLmcuYXBwZW5kKGZha2VDcmVhdGVOb2RlUmVmLnRleHRNYW5hZ2UuZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIG5ld0JvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChlbXB0eU1pbmQpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgZW1wdHlNaW5kLCBbYm9hcmQuY2hpbGRyZW4ubGVuZ3RoXSk7XG4gICAgICAgICAgICBjbGVhclNlbGVjdGVkRWxlbWVudChib2FyZCk7XG4gICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICBCb2FyZFRyYW5zZm9ybXMudXBkYXRlUG9pbnRlclR5cGUoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIGVtcHR5TWluZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGVzdHJveSgpO1xuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGtleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IERlZmF1bHRIb3RrZXkgJiYgIVBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCkpIHtcbiAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgTWluZFBvaW50ZXJUeXBlLm1pbmQpO1xuICAgICAgICAgICAgc2V0Q3JlYXRpb25Nb2RlKGJvYXJkLCBCb2FyZENyZWF0aW9uTW9kZS5kcmF3aW5nKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChmYWtlQ3JlYXRlTm9kZVJlZikge1xuICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLnJlbW92ZSgpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcbiJdfQ==
@@ -4,4 +4,4 @@ export const withMindExtend = (board) => {
4
4
  board.setPluginOptions(WithMindPluginKey, { spaceBetweenEmojis: 4, emojiPadding: 0 });
5
5
  return newBoard;
6
6
  };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWV4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWV4dGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBb0MsQ0FBQztJQUVyRCxLQUEyQixDQUFDLGdCQUFnQixDQUFrQixpQkFBaUIsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5SCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IEVtb2ppSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgV2l0aE1pbmRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcHRpb25zJztcbmltcG9ydCB7IFdpdGhNaW5kUGx1Z2luS2V5IH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1pbmRFeHRlbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBuZXdCb2FyZCA9IGJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcblxuICAgIChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuc2V0UGx1Z2luT3B0aW9uczxXaXRoTWluZE9wdGlvbnM+KFdpdGhNaW5kUGx1Z2luS2V5LCB7IHNwYWNlQmV0d2VlbkVtb2ppczogNCwgZW1vamlQYWRkaW5nOiAwIH0pO1xuXG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWV4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWV4dGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBb0MsQ0FBQztJQUVyRCxLQUEyQixDQUFDLGdCQUFnQixDQUFrQixpQkFBaUIsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5SCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgV2l0aE1pbmRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcHRpb25zJztcbmltcG9ydCB7IFdpdGhNaW5kUGx1Z2luS2V5IH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1pbmRFeHRlbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBuZXdCb2FyZCA9IGJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcblxuICAgIChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuc2V0UGx1Z2luT3B0aW9uczxXaXRoTWluZE9wdGlvbnM+KFdpdGhNaW5kUGx1Z2luS2V5LCB7IHNwYWNlQmV0d2VlbkVtb2ppczogNCwgZW1vamlQYWRkaW5nOiAwIH0pO1xuXG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcbiJdfQ==
@@ -6,8 +6,8 @@ import { editTopic } from '../utils/node/common';
6
6
  import { isSpaceHotkey, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete } from '@plait/common';
7
7
  export const withMindHotkey = (baseBoard) => {
8
8
  const board = baseBoard;
9
- const { keydown } = board;
10
- board.keydown = (event) => {
9
+ const { keyDown } = board;
10
+ board.keyDown = (event) => {
11
11
  const selectedElements = getSelectedElements(board);
12
12
  const isSingleSelection = selectedElements.length === 1;
13
13
  const isSingleMindElement = selectedElements.length === 1 && MindElement.isMindElement(board, selectedElements[0]);
@@ -41,8 +41,8 @@ export const withMindHotkey = (baseBoard) => {
41
41
  return;
42
42
  }
43
43
  }
44
- keydown(event);
44
+ keyDown(event);
45
45
  };
46
46
  return board;
47
47
  };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWhvdGtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWhvdGtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQXFCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLEtBQUssR0FBRyxTQUF3QyxDQUFDO0lBQ3ZELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFMUIsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFFekQsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2xGLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdELFVBQVUsQ0FBQyxPQUFPLENBQ2QsS0FBSyxFQUNMLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQ3pELFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUM1QyxDQUFDO2dCQUNGLE9BQU87YUFDVjtTQUNKO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELE9BQU87YUFDVjtZQUVELElBQ0ksYUFBYSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsbUJBQW1CO2dCQUNuQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO2dCQUNoQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQ3pDO2dCQUNFLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU87YUFDVjtZQUVELElBQ0ksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUNwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztnQkFDckIsaUJBQWlCO2dCQUNqQixXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsRUFDakQ7Z0JBQ0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87YUFDVjtTQUNKO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBpc1NwYWNlSG90a2V5LCBpc0V4cGFuZEhvdGtleSwgaXNUYWJIb3RrZXksIGlzRW50ZXJIb3RrZXksIGlzVmlydHVhbEtleSwgaXNEZWxldGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IHdpdGhNaW5kSG90a2V5ID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGtleWRvd24gfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQua2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlU2VsZWN0aW9uID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlTWluZEVsZW1lbnQgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzWzBdKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF0gYXMgTWluZEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGlzRXhwYW5kSG90a2V5KGV2ZW50KSAmJiBpc1NpbmdsZU1pbmRFbGVtZW50ICYmICFQbGFpdE1pbmQuaXNNaW5kKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0RWxlbWVudC5jaGlsZHJlbiAmJiB0YXJnZXRFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgICAgICB7IGlzQ29sbGFwc2VkOiB0YXJnZXRFbGVtZW50LmlzQ29sbGFwc2VkID8gZmFsc2UgOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIHRhcmdldEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIGlmIChpc1RhYkhvdGtleShldmVudCkgJiYgaXNTaW5nbGVNaW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0Q2hpbGROb2RlKGJvYXJkLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBpc0VudGVySG90a2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgIGlzU2luZ2xlTWluZEVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAhUGxhaXRNaW5kLmlzTWluZCh0YXJnZXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh0YXJnZXRFbGVtZW50KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0U2libGluZ05vZGUoYm9hcmQsIHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFpc1ZpcnR1YWxLZXkoZXZlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzRGVsZXRlKGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgICFpc1NwYWNlSG90a2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgIGlzU2luZ2xlU2VsZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdGFyZ2V0RWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZWRpdFRvcGljKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWhvdGtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWhvdGtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLFNBQXFCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLEtBQUssR0FBRyxTQUF3QyxDQUFDO0lBQ3ZELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFMUIsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFFekQsSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2xGLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzdELFVBQVUsQ0FBQyxPQUFPLENBQ2QsS0FBSyxFQUNMLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQ3pELFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUM1QyxDQUFDO2dCQUNGLE9BQU87YUFDVjtTQUNKO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsY0FBYyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3JELE9BQU87YUFDVjtZQUVELElBQ0ksYUFBYSxDQUFDLEtBQUssQ0FBQztnQkFDcEIsbUJBQW1CO2dCQUNuQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO2dCQUNoQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQ3pDO2dCQUNFLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZELE9BQU87YUFDVjtZQUVELElBQ0ksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUNwQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztnQkFDckIsaUJBQWlCO2dCQUNqQixXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsRUFDakQ7Z0JBQ0UsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3pCLE9BQU87YUFDVjtTQUNKO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBpc1NwYWNlSG90a2V5LCBpc0V4cGFuZEhvdGtleSwgaXNUYWJIb3RrZXksIGlzRW50ZXJIb3RrZXksIGlzVmlydHVhbEtleSwgaXNEZWxldGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IHdpdGhNaW5kSG90a2V5ID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGtleURvd24gfSA9IGJvYXJkO1xuXG4gICAgYm9hcmQua2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlU2VsZWN0aW9uID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGNvbnN0IGlzU2luZ2xlTWluZEVsZW1lbnQgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzWzBdKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF0gYXMgTWluZEVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGlzRXhwYW5kSG90a2V5KGV2ZW50KSAmJiBpc1NpbmdsZU1pbmRFbGVtZW50ICYmICFQbGFpdE1pbmQuaXNNaW5kKHRhcmdldEVsZW1lbnQpKSB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0RWxlbWVudC5jaGlsZHJlbiAmJiB0YXJnZXRFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgICAgICB7IGlzQ29sbGFwc2VkOiB0YXJnZXRFbGVtZW50LmlzQ29sbGFwc2VkID8gZmFsc2UgOiB0cnVlIH0sXG4gICAgICAgICAgICAgICAgICAgIFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIHRhcmdldEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIGlmIChpc1RhYkhvdGtleShldmVudCkgJiYgaXNTaW5nbGVNaW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0Q2hpbGROb2RlKGJvYXJkLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBpc0VudGVySG90a2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgIGlzU2luZ2xlTWluZEVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAhUGxhaXRNaW5kLmlzTWluZCh0YXJnZXRFbGVtZW50KSAmJlxuICAgICAgICAgICAgICAgICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh0YXJnZXRFbGVtZW50KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0U2libGluZ05vZGUoYm9hcmQsIHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFpc1ZpcnR1YWxLZXkoZXZlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzRGVsZXRlKGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgICFpc1NwYWNlSG90a2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgIGlzU2luZ2xlU2VsZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdGFyZ2V0RWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZWRpdFRvcGljKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGtleURvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
@@ -9,14 +9,14 @@ import { withAbstract } from './with-abstract-resize';
9
9
  import { withMindExtend } from './with-mind-extend';
10
10
  import { withCreateMind } from './with-mind-create';
11
11
  import { withMindHotkey } from './with-mind-hotkey';
12
- import { withNodeHoverDetect } from './with-node-hover-detect';
12
+ import { withNodeHoverHitTest } from './with-node-hover-hit-test';
13
13
  import { withNodeImage } from './with-node-image';
14
14
  import { withNodeResize } from './with-node-resize';
15
15
  import { withNodeImageResize } from './with-node-image-resize';
16
16
  import { withMindFragment } from './with-mind-fragment';
17
17
  export const withMind = (baseBoard) => {
18
18
  const board = baseBoard;
19
- const { drawElement, dblclick, isRectangleHit, isHit, getRectangle, isMovable, isRecursion, isAlign, isImageBindingAllowed } = board;
19
+ const { drawElement, dblClick, isRectangleHit, isHit, getRectangle, isMovable, isRecursion, isAlign, isImageBindingAllowed } = board;
20
20
  board.drawElement = (context) => {
21
21
  if (PlaitMind.isMind(context.element)) {
22
22
  return PlaitMindComponent;
@@ -49,7 +49,7 @@ export const withMind = (baseBoard) => {
49
49
  board.isRectangleHit = (element, selection) => {
50
50
  if (MindElement.isMindElement(board, element)) {
51
51
  const client = getRectangleByNode(MindElement.getNode(element));
52
- const isHit = RectangleClient.isHit(RectangleClient.toRectangleClient([selection.anchor, selection.focus]), client);
52
+ const isHit = RectangleClient.isHit(RectangleClient.getRectangleByPoints([selection.anchor, selection.focus]), client);
53
53
  return isHit;
54
54
  }
55
55
  return isRectangleHit(element, selection);
@@ -57,7 +57,7 @@ export const withMind = (baseBoard) => {
57
57
  board.isHit = (element, point) => {
58
58
  if (MindElement.isMindElement(board, element)) {
59
59
  const client = getRectangleByNode(MindElement.getNode(element));
60
- const isHit = RectangleClient.isHit(RectangleClient.toRectangleClient([point, point]), client);
60
+ const isHit = RectangleClient.isHit(RectangleClient.getRectangleByPoints([point, point]), client);
61
61
  return isHit;
62
62
  }
63
63
  return isHit(element, point);
@@ -80,9 +80,9 @@ export const withMind = (baseBoard) => {
80
80
  }
81
81
  return isAlign(element);
82
82
  };
83
- board.dblclick = (event) => {
83
+ board.dblClick = (event) => {
84
84
  if (PlaitBoard.isReadonly(board)) {
85
- dblclick(event);
85
+ dblClick(event);
86
86
  return;
87
87
  }
88
88
  const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
@@ -98,8 +98,8 @@ export const withMind = (baseBoard) => {
98
98
  if (PlaitBoard.hasBeenTextEditing(board)) {
99
99
  return;
100
100
  }
101
- dblclick(event);
101
+ dblClick(event);
102
102
  };
103
- return withNodeResize(withNodeImageResize(withNodeImage(withNodeHoverDetect(withMindFragment(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))))))));
103
+ return withNodeResize(withNodeImageResize(withNodeImage(withNodeHoverHitTest(withMindFragment(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))))))));
104
104
  };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFFVixlQUFlLEVBQ2YsVUFBVSxFQUVWLG1CQUFtQixFQUVuQixrQkFBa0IsRUFFbEIsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdC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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMxSCxDQUNKLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIFNlbGVjdGlvbixcbiAgICBkZXB0aEZpcnN0UmVjdXJzaW9uLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBnZXRJc1JlY3Vyc2lvbkZ1bmMsXG4gICAgUG9pbnQsXG4gICAgdG9Ib3N0UG9pbnQsXG4gICAgdG9WaWV3Qm94UG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vbWluZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi9taW5kLW5vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNIaXRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgd2l0aE5vZGVEbmQgfSBmcm9tICcuL3dpdGgtbm9kZS1kbmQnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgd2l0aEFic3RyYWN0IH0gZnJvbSAnLi93aXRoLWFic3RyYWN0LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEV4dGVuZCB9IGZyb20gJy4vd2l0aC1taW5kLWV4dGVuZCc7XG5pbXBvcnQgeyB3aXRoQ3JlYXRlTWluZCB9IGZyb20gJy4vd2l0aC1taW5kLWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEhvdGtleSB9IGZyb20gJy4vd2l0aC1taW5kLWhvdGtleSc7XG5pbXBvcnQgeyB3aXRoTm9kZUhvdmVyRGV0ZWN0IH0gZnJvbSAnLi93aXRoLW5vZGUtaG92ZXItZGV0ZWN0JztcbmltcG9ydCB7IHdpdGhOb2RlSW1hZ2UgfSBmcm9tICcuL3dpdGgtbm9kZS1pbWFnZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4vd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IHdpdGhOb2RlUmVzaXplIH0gZnJvbSAnLi93aXRoLW5vZGUtcmVzaXplJztcbmltcG9ydCB7IHdpdGhOb2RlSW1hZ2VSZXNpemUgfSBmcm9tICcuL3dpdGgtbm9kZS1pbWFnZS1yZXNpemUnO1xuaW1wb3J0IHsgd2l0aE1pbmRGcmFnbWVudCB9IGZyb20gJy4vd2l0aC1taW5kLWZyYWdtZW50JztcblxuZXhwb3J0IGNvbnN0IHdpdGhNaW5kID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGRyYXdFbGVtZW50LCBkYmxjbGljaywgaXNSZWN0YW5nbGVIaXQsIGlzSGl0LCBnZXRSZWN0YW5nbGUsIGlzTW92YWJsZSwgaXNSZWN1cnNpb24sIGlzQWxpZ24sIGlzSW1hZ2VCaW5kaW5nQWxsb3dlZCB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdE1pbmRDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuYXBwbHlUaGVtZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWluZEVsZW1lbnQgPSBlbGVtZW50IGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRDbGVhclByb3BlcnR5ID1cbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzQm9hcmQoZWxlbWVudCkgJiYgKG1pbmRFbGVtZW50Py5icmFuY2hDb2xvciB8fCBtaW5kRWxlbWVudD8uZmlsbCB8fCBtaW5kRWxlbWVudD8uc3Ryb2tlQ29sb3IpO1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSAmJiBzaG91bGRDbGVhclByb3BlcnR5KSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgZmlsbDogbnVsbCwgc3Ryb2tlQ29sb3I6IG51bGwsIGJyYW5jaENvbG9yOiBudWxsIH0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGJvYXJkLmdldFJlY3RhbmdsZSA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN1cnNpb24gPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpICYmIGVsZW1lbnQuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN1cnNpb24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzUmVjdGFuZ2xlSGl0ID0gKGVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXQgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uZm9jdXNdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN0YW5nbGVIaXQoZWxlbWVudCwgc2VsZWN0aW9uKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNIaXQgPSAoZWxlbWVudCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXQgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtwb2ludCwgcG9pbnRdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXQoZWxlbWVudCwgcG9pbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc01vdmFibGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc01vdmFibGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzSW1hZ2VCaW5kaW5nQWxsb3dlZCA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0ltYWdlQmluZGluZ0FsbG93ZWQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzQWxpZ24gPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpICYmIGVsZW1lbnQuaXNSb290KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBbGlnbihlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGJsY2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICBib2FyZC5jaGlsZHJlblxuICAgICAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiBQbGFpdE1pbmQuaXNNaW5kKHZhbHVlKSlcbiAgICAgICAgICAgIC5mb3JFYWNoKG1pbmRNYXAgPT4ge1xuICAgICAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248TWluZEVsZW1lbnQ+KFxuICAgICAgICAgICAgICAgICAgICBtaW5kTWFwIGFzIE1pbmRFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpICYmIGlzSGl0TWluZEVsZW1lbnQoYm9hcmQsIHBvaW50LCBub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRUb3BpYyhub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0SXNSZWN1cnNpb25GdW5jKGJvYXJkKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhOb2RlUmVzaXplKFxuICAgICAgICB3aXRoTm9kZUltYWdlUmVzaXplKFxuICAgICAgICAgICAgd2l0aE5vZGVJbWFnZShcbiAgICAgICAgICAgICAgICB3aXRoTm9kZUhvdmVyRGV0ZWN0KHdpdGhNaW5kRnJhZ21lbnQod2l0aE1pbmRIb3RrZXkod2l0aE1pbmRFeHRlbmQod2l0aENyZWF0ZU1pbmQod2l0aEFic3RyYWN0KHdpdGhOb2RlRG5kKGJvYXJkKSkpKSkpKVxuICAgICAgICAgICAgKVxuICAgICAgICApXG4gICAgKTtcbn07XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFFVixlQUFlLEVBQ2YsVUFBVSxFQUVWLG1CQUFtQixFQUVuQixrQkFBa0IsRUFFbEIsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdC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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzSCxDQUNKLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIFNlbGVjdGlvbixcbiAgICBkZXB0aEZpcnN0UmVjdXJzaW9uLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBnZXRJc1JlY3Vyc2lvbkZ1bmMsXG4gICAgUG9pbnQsXG4gICAgdG9Ib3N0UG9pbnQsXG4gICAgdG9WaWV3Qm94UG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vbWluZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGVDb21wb25lbnQgfSBmcm9tICcuLi9taW5kLW5vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNIaXRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgd2l0aE5vZGVEbmQgfSBmcm9tICcuL3dpdGgtbm9kZS1kbmQnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgd2l0aEFic3RyYWN0IH0gZnJvbSAnLi93aXRoLWFic3RyYWN0LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEV4dGVuZCB9IGZyb20gJy4vd2l0aC1taW5kLWV4dGVuZCc7XG5pbXBvcnQgeyB3aXRoQ3JlYXRlTWluZCB9IGZyb20gJy4vd2l0aC1taW5kLWNyZWF0ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEhvdGtleSB9IGZyb20gJy4vd2l0aC1taW5kLWhvdGtleSc7XG5pbXBvcnQgeyB3aXRoTm9kZUhvdmVySGl0VGVzdCB9IGZyb20gJy4vd2l0aC1ub2RlLWhvdmVyLWhpdC10ZXN0JztcbmltcG9ydCB7IHdpdGhOb2RlSW1hZ2UgfSBmcm9tICcuL3dpdGgtbm9kZS1pbWFnZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4vd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IHdpdGhOb2RlUmVzaXplIH0gZnJvbSAnLi93aXRoLW5vZGUtcmVzaXplJztcbmltcG9ydCB7IHdpdGhOb2RlSW1hZ2VSZXNpemUgfSBmcm9tICcuL3dpdGgtbm9kZS1pbWFnZS1yZXNpemUnO1xuaW1wb3J0IHsgd2l0aE1pbmRGcmFnbWVudCB9IGZyb20gJy4vd2l0aC1taW5kLWZyYWdtZW50JztcblxuZXhwb3J0IGNvbnN0IHdpdGhNaW5kID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGRyYXdFbGVtZW50LCBkYmxDbGljaywgaXNSZWN0YW5nbGVIaXQsIGlzSGl0LCBnZXRSZWN0YW5nbGUsIGlzTW92YWJsZSwgaXNSZWN1cnNpb24sIGlzQWxpZ24sIGlzSW1hZ2VCaW5kaW5nQWxsb3dlZCB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdE1pbmRDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuYXBwbHlUaGVtZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWluZEVsZW1lbnQgPSBlbGVtZW50IGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRDbGVhclByb3BlcnR5ID1cbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzQm9hcmQoZWxlbWVudCkgJiYgKG1pbmRFbGVtZW50Py5icmFuY2hDb2xvciB8fCBtaW5kRWxlbWVudD8uZmlsbCB8fCBtaW5kRWxlbWVudD8uc3Ryb2tlQ29sb3IpO1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSAmJiBzaG91bGRDbGVhclByb3BlcnR5KSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgZmlsbDogbnVsbCwgc3Ryb2tlQ29sb3I6IG51bGwsIGJyYW5jaENvbG9yOiBudWxsIH0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGJvYXJkLmdldFJlY3RhbmdsZSA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN1cnNpb24gPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpICYmIGVsZW1lbnQuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN1cnNpb24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzUmVjdGFuZ2xlSGl0ID0gKGVsZW1lbnQsIHNlbGVjdGlvbjogU2VsZWN0aW9uKSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXQgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtzZWxlY3Rpb24uYW5jaG9yLCBzZWxlY3Rpb24uZm9jdXNdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN0YW5nbGVIaXQoZWxlbWVudCwgc2VsZWN0aW9uKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNIaXQgPSAoZWxlbWVudCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXQgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtwb2ludCwgcG9pbnRdKSwgY2xpZW50KTtcbiAgICAgICAgICAgIHJldHVybiBpc0hpdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNIaXQoZWxlbWVudCwgcG9pbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc01vdmFibGUgPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc01vdmFibGUoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzSW1hZ2VCaW5kaW5nQWxsb3dlZCA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0ltYWdlQmluZGluZ0FsbG93ZWQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzQWxpZ24gPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpICYmIGVsZW1lbnQuaXNSb290KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNBbGlnbihlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGJsQ2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIGRibENsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICBib2FyZC5jaGlsZHJlblxuICAgICAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiBQbGFpdE1pbmQuaXNNaW5kKHZhbHVlKSlcbiAgICAgICAgICAgIC5mb3JFYWNoKG1pbmRNYXAgPT4ge1xuICAgICAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248TWluZEVsZW1lbnQ+KFxuICAgICAgICAgICAgICAgICAgICBtaW5kTWFwIGFzIE1pbmRFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpICYmIGlzSGl0TWluZEVsZW1lbnQoYm9hcmQsIHBvaW50LCBub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRUb3BpYyhub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZ2V0SXNSZWN1cnNpb25GdW5jKGJvYXJkKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRibENsaWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhOb2RlUmVzaXplKFxuICAgICAgICB3aXRoTm9kZUltYWdlUmVzaXplKFxuICAgICAgICAgICAgd2l0aE5vZGVJbWFnZShcbiAgICAgICAgICAgICAgICB3aXRoTm9kZUhvdmVySGl0VGVzdCh3aXRoTWluZEZyYWdtZW50KHdpdGhNaW5kSG90a2V5KHdpdGhNaW5kRXh0ZW5kKHdpdGhDcmVhdGVNaW5kKHdpdGhBYnN0cmFjdCh3aXRoTm9kZURuZChib2FyZCkpKSkpKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
@@ -0,0 +1,19 @@
1
+ import { throttleRAF } from '@plait/core';
2
+ import { pointerLeaveHandle, pointerMoveHandle } from '../utils/node-hover/extend';
3
+ export const withNodeHoverHitTest = (board) => {
4
+ const { pointerMove, pointerLeave } = board;
5
+ let nodeExtendHoveredRef = null;
6
+ board.pointerMove = (event) => {
7
+ throttleRAF(board, 'with-mind-node-hover-hit-test', () => {
8
+ nodeExtendHoveredRef = pointerMoveHandle(board, event, nodeExtendHoveredRef);
9
+ });
10
+ pointerMove(event);
11
+ };
12
+ board.pointerLeave = (event) => {
13
+ pointerLeaveHandle(board, event, nodeExtendHoveredRef);
14
+ nodeExtendHoveredRef = null;
15
+ pointerLeave(event);
16
+ };
17
+ return board;
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWhvdmVyLWhpdC10ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW5vZGUtaG92ZXItaGl0LXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQXdCLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDNUMsSUFBSSxvQkFBb0IsR0FBZ0MsSUFBSSxDQUFDO0lBRTdELEtBQUssQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDeEMsV0FBVyxDQUFDLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxHQUFHLEVBQUU7WUFDckQsb0JBQW9CLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxZQUFZLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDekMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZELG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUM1QixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgdGhyb3R0bGVSQUYgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBOb2RlRXh0ZW5kSG92ZXJlZFJlZiwgcG9pbnRlckxlYXZlSGFuZGxlLCBwb2ludGVyTW92ZUhhbmRsZSB9IGZyb20gJy4uL3V0aWxzL25vZGUtaG92ZXIvZXh0ZW5kJztcblxuZXhwb3J0IGNvbnN0IHdpdGhOb2RlSG92ZXJIaXRUZXN0ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBwb2ludGVyTW92ZSwgcG9pbnRlckxlYXZlIH0gPSBib2FyZDtcbiAgICBsZXQgbm9kZUV4dGVuZEhvdmVyZWRSZWY6IE5vZGVFeHRlbmRIb3ZlcmVkUmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBib2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIHRocm90dGxlUkFGKGJvYXJkLCAnd2l0aC1taW5kLW5vZGUtaG92ZXItaGl0LXRlc3QnLCAoKSA9PiB7XG4gICAgICAgICAgICBub2RlRXh0ZW5kSG92ZXJlZFJlZiA9IHBvaW50ZXJNb3ZlSGFuZGxlKGJvYXJkLCBldmVudCwgbm9kZUV4dGVuZEhvdmVyZWRSZWYpO1xuICAgICAgICB9KTtcbiAgICAgICAgcG9pbnRlck1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5wb2ludGVyTGVhdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBwb2ludGVyTGVhdmVIYW5kbGUoYm9hcmQsIGV2ZW50LCBub2RlRXh0ZW5kSG92ZXJlZFJlZik7XG4gICAgICAgIG5vZGVFeHRlbmRIb3ZlcmVkUmVmID0gbnVsbDtcbiAgICAgICAgcG9pbnRlckxlYXZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { PlaitNode } from '@plait/core';
1
+ import { Point, PlaitNode } from '@plait/core';
2
2
  import { MindElement } from '../interfaces';
3
3
  import { getHitImageResizeHandleDirection } from '../utils';
4
- import { ResizeHandle, addElementOfFocusedImage, getElementOfFocusedImage, withResize } from '@plait/common';
4
+ import { addElementOfFocusedImage, getElementOfFocusedImage, withResize } from '@plait/common';
5
5
  import { MindTransforms } from '../transforms';
6
6
  export const withNodeImageResize = (board) => {
7
7
  const options = {
@@ -9,7 +9,7 @@ export const withNodeImageResize = (board) => {
9
9
  canResize: () => {
10
10
  return true;
11
11
  },
12
- detect: (point) => {
12
+ hitTest: (point) => {
13
13
  const elementOfFocusedImage = getElementOfFocusedImage(board);
14
14
  const selectedMindElement = elementOfFocusedImage && MindElement.isMindElement(board, elementOfFocusedImage) ? elementOfFocusedImage : undefined;
15
15
  if (selectedMindElement) {
@@ -25,25 +25,22 @@ export const withNodeImageResize = (board) => {
25
25
  return null;
26
26
  },
27
27
  onResize: (resizeRef, resizeState) => {
28
- let offsetX = resizeState.offsetX;
29
- let offsetY = resizeState.offsetY;
30
- if (resizeRef.handle === ResizeHandle.nw || resizeRef.handle === ResizeHandle.sw) {
31
- offsetX = -offsetX;
32
- }
28
+ const offsetX = Point.getOffsetX(resizeState.startPoint, resizeState.endPoint);
33
29
  const originWidth = resizeRef.element.data.image.width;
34
30
  const originHeight = resizeRef.element.data.image.height;
31
+ const path = resizeRef.path;
35
32
  let width = originWidth + offsetX;
36
33
  if (width <= 100) {
37
34
  width = 100;
38
35
  }
39
- const ratio = originWidth / width;
40
- const height = originHeight / ratio;
36
+ const ratio = originWidth / originHeight;
37
+ const height = width / ratio;
41
38
  const imageItem = { ...resizeRef.element.data.image, width, height };
42
- MindTransforms.setImage(board, PlaitNode.get(board, resizeRef.path), imageItem);
43
- addElementOfFocusedImage(board, PlaitNode.get(board, resizeRef.path));
39
+ MindTransforms.setImage(board, PlaitNode.get(board, path), imageItem);
40
+ addElementOfFocusedImage(board, PlaitNode.get(board, path));
44
41
  }
45
42
  };
46
43
  withResize(board, options);
47
44
  return board;
48
45
  };
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWltYWdlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWltYWdlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsWUFBWSxFQUlaLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDckQsTUFBTSxPQUFPLEdBQThDO1FBQ3ZELEdBQUcsRUFBRSxpQkFBaUI7UUFDdEIsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUNyQixNQUFNLHFCQUFxQixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELE1BQU0sbUJBQW1CLEdBQ3JCLHFCQUFxQixJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDekgsSUFBSSxtQkFBbUIsRUFBRTtnQkFDckIsTUFBTSxNQUFNLEdBQUcsZ0NBQWdDLENBQUMsS0FBSyxFQUFFLG1CQUE2QyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUM3RyxJQUFJLE1BQU0sRUFBRTtvQkFDUixPQUFPO3dCQUNILE9BQU8sRUFBRSxtQkFBNkM7d0JBQ3RELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBc0I7d0JBQ3JDLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztxQkFDbEMsQ0FBQztpQkFDTDthQUNKO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELFFBQVEsRUFBRSxDQUFDLFNBQTRDLEVBQUUsV0FBd0IsRUFBRSxFQUFFO1lBQ2pGLElBQUksT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEMsSUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLEVBQUUsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQzlFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQzthQUN0QjtZQUNELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDdkQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN6RCxJQUFJLEtBQUssR0FBRyxXQUFXLEdBQUcsT0FBTyxDQUFDO1lBQ2xDLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtnQkFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO2FBQ2Y7WUFDRCxNQUFNLEtBQUssR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDcEMsTUFBTSxTQUFTLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDckUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2hGLHdCQUF3QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO0tBQ0osQ0FBQztJQUVGLFVBQVUsQ0FBeUIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRW5ELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50LCBQbGFpdE5vZGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSW1hZ2VEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgZ2V0SGl0SW1hZ2VSZXNpemVIYW5kbGVEaXJlY3Rpb24gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICAgIFJlc2l6ZUhhbmRsZSxcbiAgICBSZXNpemVSZWYsXG4gICAgUmVzaXplU3RhdGUsXG4gICAgV2l0aFJlc2l6ZU9wdGlvbnMsXG4gICAgYWRkRWxlbWVudE9mRm9jdXNlZEltYWdlLFxuICAgIGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZSxcbiAgICB3aXRoUmVzaXplXG59IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IHdpdGhOb2RlSW1hZ2VSZXNpemUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBvcHRpb25zOiBXaXRoUmVzaXplT3B0aW9uczxNaW5kRWxlbWVudDxJbWFnZURhdGE+PiA9IHtcbiAgICAgICAga2V5OiAnbWluZC1ub2RlLWltYWdlJyxcbiAgICAgICAgY2FuUmVzaXplOiAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZGV0ZWN0OiAocG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UgPSBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRNaW5kRWxlbWVudCA9XG4gICAgICAgICAgICAgICAgZWxlbWVudE9mRm9jdXNlZEltYWdlICYmIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnRPZkZvY3VzZWRJbWFnZSkgPyBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRNaW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGdldEhpdEltYWdlUmVzaXplSGFuZGxlRGlyZWN0aW9uKGJvYXJkLCBzZWxlY3RlZE1pbmRFbGVtZW50IGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIHBvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBzZWxlY3RlZE1pbmRFbGVtZW50IGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4sXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6IHJlc3VsdC5oYW5kbGUgYXMgUmVzaXplSGFuZGxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yQ2xhc3M6IHJlc3VsdC5jdXJzb3JDbGFzc1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgICBvblJlc2l6ZTogKHJlc2l6ZVJlZjogUmVzaXplUmVmPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+LCByZXNpemVTdGF0ZTogUmVzaXplU3RhdGUpID0+IHtcbiAgICAgICAgICAgIGxldCBvZmZzZXRYID0gcmVzaXplU3RhdGUub2Zmc2V0WDtcbiAgICAgICAgICAgIGxldCBvZmZzZXRZID0gcmVzaXplU3RhdGUub2Zmc2V0WTtcbiAgICAgICAgICAgIGlmIChyZXNpemVSZWYuaGFuZGxlID09PSBSZXNpemVIYW5kbGUubncgfHwgcmVzaXplUmVmLmhhbmRsZSA9PT0gUmVzaXplSGFuZGxlLnN3KSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0WCA9IC1vZmZzZXRYO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luV2lkdGggPSByZXNpemVSZWYuZWxlbWVudC5kYXRhLmltYWdlLndpZHRoO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luSGVpZ2h0ID0gcmVzaXplUmVmLmVsZW1lbnQuZGF0YS5pbWFnZS5oZWlnaHQ7XG4gICAgICAgICAgICBsZXQgd2lkdGggPSBvcmlnaW5XaWR0aCArIG9mZnNldFg7XG4gICAgICAgICAgICBpZiAod2lkdGggPD0gMTAwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSAxMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByYXRpbyA9IG9yaWdpbldpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBvcmlnaW5IZWlnaHQgLyByYXRpbztcbiAgICAgICAgICAgIGNvbnN0IGltYWdlSXRlbSA9IHsgLi4ucmVzaXplUmVmLmVsZW1lbnQuZGF0YS5pbWFnZSwgd2lkdGgsIGhlaWdodCB9O1xuICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuc2V0SW1hZ2UoYm9hcmQsIFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHJlc2l6ZVJlZi5wYXRoKSwgaW1hZ2VJdGVtKTtcbiAgICAgICAgICAgIGFkZEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCwgUGxhaXROb2RlLmdldChib2FyZCwgcmVzaXplUmVmLnBhdGgpKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3aXRoUmVzaXplPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+KGJvYXJkLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWltYWdlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWltYWdlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBUSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RCxPQUFPLEVBS0gsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNyRCxNQUFNLE9BQU8sR0FBOEM7UUFDdkQsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixTQUFTLEVBQUUsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQ3RCLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUQsTUFBTSxtQkFBbUIsR0FDckIscUJBQXFCLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUN6SCxJQUFJLG1CQUFtQixFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBRyxnQ0FBZ0MsQ0FBQyxLQUFLLEVBQUUsbUJBQTZDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzdHLElBQUksTUFBTSxFQUFFO29CQUNSLE9BQU87d0JBQ0gsT0FBTyxFQUFFLG1CQUE2Qzt3QkFDdEQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFzQjt3QkFDckMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO3FCQUNsQyxDQUFDO2lCQUNMO2FBQ0o7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQUMsU0FBNEMsRUFBRSxXQUF3QixFQUFFLEVBQUU7WUFDakYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDekQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQVksQ0FBQztZQUNwQyxJQUFJLEtBQUssR0FBRyxXQUFXLEdBQUcsT0FBTyxDQUFDO1lBQ2xDLElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRTtnQkFDZCxLQUFLLEdBQUcsR0FBRyxDQUFDO2FBQ2Y7WUFDRCxNQUFNLEtBQUssR0FBRyxXQUFXLEdBQUcsWUFBWSxDQUFDO1lBQ3pDLE1BQU0sTUFBTSxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDN0IsTUFBTSxTQUFTLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDckUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdEUsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQztLQUNKLENBQUM7SUFFRixVQUFVLENBQXlCLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVuRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCwgUGxhaXROb2RlLCBQYXRoIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEltYWdlRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcbmltcG9ydCB7IGdldEhpdEltYWdlUmVzaXplSGFuZGxlRGlyZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBSZXNpemVIYW5kbGUsXG4gICAgUmVzaXplUmVmLFxuICAgIFJlc2l6ZVN0YXRlLFxuICAgIFdpdGhSZXNpemVPcHRpb25zLFxuICAgIGFkZEVsZW1lbnRPZkZvY3VzZWRJbWFnZSxcbiAgICBnZXRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UsXG4gICAgd2l0aFJlc2l6ZVxufSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZUltYWdlUmVzaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uczogV2l0aFJlc2l6ZU9wdGlvbnM8TWluZEVsZW1lbnQ8SW1hZ2VEYXRhPj4gPSB7XG4gICAgICAgIGtleTogJ21pbmQtbm9kZS1pbWFnZScsXG4gICAgICAgIGNhblJlc2l6ZTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGhpdFRlc3Q6IChwb2ludDogUG9pbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRPZkZvY3VzZWRJbWFnZSA9IGdldEVsZW1lbnRPZkZvY3VzZWRJbWFnZShib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE1pbmRFbGVtZW50ID1cbiAgICAgICAgICAgICAgICBlbGVtZW50T2ZGb2N1c2VkSW1hZ2UgJiYgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudE9mRm9jdXNlZEltYWdlKSA/IGVsZW1lbnRPZkZvY3VzZWRJbWFnZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE1pbmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0SGl0SW1hZ2VSZXNpemVIYW5kbGVEaXJlY3Rpb24oYm9hcmQsIHNlbGVjdGVkTWluZEVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPiwgcG9pbnQpO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ6IHNlbGVjdGVkTWluZEVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZTogcmVzdWx0LmhhbmRsZSBhcyBSZXNpemVIYW5kbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3JDbGFzczogcmVzdWx0LmN1cnNvckNsYXNzXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0sXG4gICAgICAgIG9uUmVzaXplOiAocmVzaXplUmVmOiBSZXNpemVSZWY8TWluZEVsZW1lbnQ8SW1hZ2VEYXRhPj4sIHJlc2l6ZVN0YXRlOiBSZXNpemVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IFBvaW50LmdldE9mZnNldFgocmVzaXplU3RhdGUuc3RhcnRQb2ludCwgcmVzaXplU3RhdGUuZW5kUG9pbnQpO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luV2lkdGggPSByZXNpemVSZWYuZWxlbWVudC5kYXRhLmltYWdlLndpZHRoO1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luSGVpZ2h0ID0gcmVzaXplUmVmLmVsZW1lbnQuZGF0YS5pbWFnZS5oZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gcmVzaXplUmVmLnBhdGggYXMgUGF0aDtcbiAgICAgICAgICAgIGxldCB3aWR0aCA9IG9yaWdpbldpZHRoICsgb2Zmc2V0WDtcbiAgICAgICAgICAgIGlmICh3aWR0aCA8PSAxMDApIHtcbiAgICAgICAgICAgICAgICB3aWR0aCA9IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gb3JpZ2luV2lkdGggLyBvcmlnaW5IZWlnaHQ7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSB3aWR0aCAvIHJhdGlvO1xuICAgICAgICAgICAgY29uc3QgaW1hZ2VJdGVtID0geyAuLi5yZXNpemVSZWYuZWxlbWVudC5kYXRhLmltYWdlLCB3aWR0aCwgaGVpZ2h0IH07XG4gICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRJbWFnZShib2FyZCwgUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCksIGltYWdlSXRlbSk7XG4gICAgICAgICAgICBhZGRFbGVtZW50T2ZGb2N1c2VkSW1hZ2UoYm9hcmQsIFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGgpKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3aXRoUmVzaXplPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+KGJvYXJkLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=