@plait/core 0.24.0-next.1 → 0.24.0-next.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/board/board.component.d.ts +1 -1
  2. package/board/board.component.interface.d.ts +3 -1
  3. package/constants/selection.d.ts +2 -0
  4. package/core/children/children.component.d.ts +1 -1
  5. package/core/element/element.component.d.ts +1 -1
  6. package/core/element/plugin-element.d.ts +1 -1
  7. package/core/island/island-base.component.d.ts +4 -2
  8. package/esm2022/board/board.component.interface.mjs +2 -0
  9. package/esm2022/board/board.component.mjs +405 -0
  10. package/esm2022/constants/selection.mjs +4 -0
  11. package/{esm2020 → esm2022}/core/children/children.component.mjs +6 -6
  12. package/{esm2020 → esm2022}/core/element/element.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/core/element/plugin-element.mjs +4 -4
  14. package/esm2022/core/island/island-base.component.mjs +72 -0
  15. package/{esm2020 → esm2022}/interfaces/board.mjs +1 -1
  16. package/esm2022/interfaces/direction.mjs +8 -0
  17. package/{esm2020 → esm2022}/interfaces/index.mjs +2 -1
  18. package/esm2022/interfaces/rectangle-client.mjs +68 -0
  19. package/{esm2020 → esm2022}/plait.module.mjs +5 -5
  20. package/esm2022/plugins/create-board.mjs +106 -0
  21. package/esm2022/plugins/with-hotkey.mjs +62 -0
  22. package/esm2022/plugins/with-moving.mjs +116 -0
  23. package/esm2022/plugins/with-selection.mjs +193 -0
  24. package/{esm2020 → esm2022}/services/image-context.service.mjs +4 -4
  25. package/esm2022/transforms/element.mjs +22 -0
  26. package/esm2022/transforms/index.mjs +13 -0
  27. package/esm2022/transforms/selection.mjs +26 -0
  28. package/esm2022/utils/dom/common.mjs +76 -0
  29. package/esm2022/utils/dom/foreign.mjs +25 -0
  30. package/esm2022/utils/draw/line.mjs +47 -0
  31. package/esm2022/utils/draw/rectangle.mjs +34 -0
  32. package/esm2022/utils/element.mjs +71 -0
  33. package/esm2022/utils/math.mjs +176 -0
  34. package/esm2022/utils/reaction-manager.mjs +340 -0
  35. package/esm2022/utils/touch.mjs +35 -0
  36. package/esm2022/utils/weak-maps.mjs +21 -0
  37. package/{fesm2020 → fesm2022}/plait-core.mjs +2587 -1933
  38. package/fesm2022/plait-core.mjs.map +1 -0
  39. package/interfaces/board.d.ts +2 -1
  40. package/interfaces/direction.d.ts +7 -0
  41. package/interfaces/index.d.ts +1 -0
  42. package/interfaces/rectangle-client.d.ts +14 -0
  43. package/package.json +15 -14
  44. package/plugins/with-selection.d.ts +5 -1
  45. package/styles/styles.scss +1 -1
  46. package/transforms/element.d.ts +6 -0
  47. package/transforms/index.d.ts +1 -0
  48. package/transforms/selection.d.ts +2 -2
  49. package/utils/dom/common.d.ts +6 -0
  50. package/utils/dom/foreign.d.ts +2 -1
  51. package/utils/draw/line.d.ts +1 -1
  52. package/utils/draw/rectangle.d.ts +3 -0
  53. package/utils/element.d.ts +5 -0
  54. package/utils/math.d.ts +9 -0
  55. package/utils/reaction-manager.d.ts +41 -0
  56. package/utils/touch.d.ts +14 -1
  57. package/utils/weak-maps.d.ts +4 -2
  58. package/esm2020/board/board.component.interface.mjs +0 -2
  59. package/esm2020/board/board.component.mjs +0 -407
  60. package/esm2020/constants/selection.mjs +0 -2
  61. package/esm2020/core/island/island-base.component.mjs +0 -69
  62. package/esm2020/interfaces/rectangle-client.mjs +0 -40
  63. package/esm2020/plugins/create-board.mjs +0 -101
  64. package/esm2020/plugins/with-hotkey.mjs +0 -57
  65. package/esm2020/plugins/with-moving.mjs +0 -97
  66. package/esm2020/plugins/with-selection.mjs +0 -183
  67. package/esm2020/transforms/index.mjs +0 -12
  68. package/esm2020/transforms/selection.mjs +0 -16
  69. package/esm2020/utils/dom/common.mjs +0 -53
  70. package/esm2020/utils/dom/foreign.mjs +0 -19
  71. package/esm2020/utils/draw/line.mjs +0 -43
  72. package/esm2020/utils/draw/rectangle.mjs +0 -26
  73. package/esm2020/utils/element.mjs +0 -44
  74. package/esm2020/utils/math.mjs +0 -48
  75. package/esm2020/utils/touch.mjs +0 -8
  76. package/esm2020/utils/weak-maps.mjs +0 -22
  77. package/fesm2015/plait-core.mjs +0 -3454
  78. package/fesm2015/plait-core.mjs.map +0 -1
  79. package/fesm2020/plait-core.mjs.map +0 -1
  80. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  81. /package/{esm2020 → esm2022}/constants/keycodes.mjs +0 -0
  82. /package/{esm2020 → esm2022}/constants/resize.mjs +0 -0
  83. /package/{esm2020 → esm2022}/core/children/effect.mjs +0 -0
  84. /package/{esm2020 → esm2022}/core/element/context-change.mjs +0 -0
  85. /package/{esm2020 → esm2022}/core/element/context.mjs +0 -0
  86. /package/{esm2020 → esm2022}/interfaces/custom-types.mjs +0 -0
  87. /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
  88. /package/{esm2020 → esm2022}/interfaces/history.mjs +0 -0
  89. /package/{esm2020 → esm2022}/interfaces/node.mjs +0 -0
  90. /package/{esm2020 → esm2022}/interfaces/operation.mjs +0 -0
  91. /package/{esm2020 → esm2022}/interfaces/path-ref.mjs +0 -0
  92. /package/{esm2020 → esm2022}/interfaces/path.mjs +0 -0
  93. /package/{esm2020 → esm2022}/interfaces/plugin-key.mjs +0 -0
  94. /package/{esm2020 → esm2022}/interfaces/plugin.mjs +0 -0
  95. /package/{esm2020 → esm2022}/interfaces/point.mjs +0 -0
  96. /package/{esm2020 → esm2022}/interfaces/pointer.mjs +0 -0
  97. /package/{esm2020 → esm2022}/interfaces/selection.mjs +0 -0
  98. /package/{esm2020 → esm2022}/interfaces/theme.mjs +0 -0
  99. /package/{esm2020 → esm2022}/interfaces/viewport.mjs +0 -0
  100. /package/{esm2020 → esm2022}/plait-core.mjs +0 -0
  101. /package/{esm2020 → esm2022}/plugins/with-board.mjs +0 -0
  102. /package/{esm2020 → esm2022}/plugins/with-hand.mjs +0 -0
  103. /package/{esm2020 → esm2022}/plugins/with-history.mjs +0 -0
  104. /package/{esm2020 → esm2022}/plugins/with-options.mjs +0 -0
  105. /package/{esm2020 → esm2022}/plugins/with-viewport.mjs +0 -0
  106. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  107. /package/{esm2020 → esm2022}/testing/core/create-board.mjs +0 -0
  108. /package/{esm2020 → esm2022}/testing/core/fake-weak-map.mjs +0 -0
  109. /package/{esm2020 → esm2022}/testing/core/index.mjs +0 -0
  110. /package/{esm2020 → esm2022}/testing/fake-events/event-objects.mjs +0 -0
  111. /package/{esm2020 → esm2022}/testing/fake-events/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/testing/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/testing/test-element.mjs +0 -0
  114. /package/{esm2020 → esm2022}/transforms/board.mjs +0 -0
  115. /package/{esm2020 → esm2022}/transforms/general.mjs +0 -0
  116. /package/{esm2020 → esm2022}/transforms/node.mjs +0 -0
  117. /package/{esm2020 → esm2022}/transforms/theme.mjs +0 -0
  118. /package/{esm2020 → esm2022}/transforms/viewport.mjs +0 -0
  119. /package/{esm2020 → esm2022}/utils/board.mjs +0 -0
  120. /package/{esm2020 → esm2022}/utils/clipboard.mjs +0 -0
  121. /package/{esm2020 → esm2022}/utils/common.mjs +0 -0
  122. /package/{esm2020 → esm2022}/utils/dom/environment.mjs +0 -0
  123. /package/{esm2020 → esm2022}/utils/dom/index.mjs +0 -0
  124. /package/{esm2020 → esm2022}/utils/draw/arrow.mjs +0 -0
  125. /package/{esm2020 → esm2022}/utils/draw/circle.mjs +0 -0
  126. /package/{esm2020 → esm2022}/utils/environment.mjs +0 -0
  127. /package/{esm2020 → esm2022}/utils/helper.mjs +0 -0
  128. /package/{esm2020 → esm2022}/utils/history.mjs +0 -0
  129. /package/{esm2020 → esm2022}/utils/hotkeys.mjs +0 -0
  130. /package/{esm2020 → esm2022}/utils/id-creator.mjs +0 -0
  131. /package/{esm2020 → esm2022}/utils/index.mjs +0 -0
  132. /package/{esm2020 → esm2022}/utils/moving-element.mjs +0 -0
  133. /package/{esm2020 → esm2022}/utils/selected-element.mjs +0 -0
  134. /package/{esm2020 → esm2022}/utils/to-image.mjs +0 -0
  135. /package/{esm2020 → esm2022}/utils/tree.mjs +0 -0
  136. /package/{esm2020 → esm2022}/utils/viewport.mjs +0 -0
@@ -78,10 +78,10 @@ export class PlaitElementComponent {
78
78
  ngOnDestroy() {
79
79
  this.board.destroyElement(this.getContext());
80
80
  }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: PlaitElementComponent, selector: "plait-element", inputs: { index: "index", element: "element", parent: "parent", board: "board", effect: "effect", parentG: "parentG" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
83
  }
82
- PlaitElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitElementComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
83
- PlaitElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.5", type: PlaitElementComponent, selector: "plait-element", inputs: { index: "index", element: "element", parent: "parent", board: "board", effect: "effect", parentG: "parentG" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitElementComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitElementComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{
87
87
  selector: 'plait-element',
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
101
101
  }], parentG: [{
102
102
  type: Input
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9jb3JlL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQU9SLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJeEQsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU8zRixNQUFNLE9BQU8scUJBQXFCO0lBaUI5QixZQUFtQixTQUFvQixFQUFTLGdCQUFrQztRQUEvRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCbEYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFnQmlFLENBQUM7SUFFdEYsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDTixhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFD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SUFFRCxVQUFVO1FBQ04sTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQThCO1lBQ3ZDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDOztrSEF6RlEscUJBQXFCO3NHQUFyQixxQkFBcUIsa01BSHBCLEVBQUU7MkZBR0gscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7K0hBTVksS0FBSztzQkFBYixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW4tZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEVmZmVjdCB9IGZyb20gJy4uL2NoaWxkcmVuL2VmZmVjdCc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IE5PREVfVE9fSU5ERVgsIE5PREVfVE9fUEFSRU5UIH0gZnJvbSAnLi4vLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IGFkZFNlbGVjdGVkRWxlbWVudCwgaXNTZWxlY3RlZEVsZW1lbnQsIHJlbW92ZVNlbGVjdGVkRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1lbGVtZW50JyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGxhaXRFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGluc3RhbmNlPzogUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PFBsYWl0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGVsZW1lbnQhOiBQbGFpdEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBwYXJlbnQhOiBBbmNlc3RvcjtcblxuICAgIEBJbnB1dCgpIGJvYXJkITogUGxhaXRCb2FyZDtcblxuICAgIEBJbnB1dCgpIGVmZmVjdD86IFBsYWl0RWZmZWN0O1xuXG4gICAgQElucHV0KCkgcGFyZW50RyE6IFNWR0dFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyMjogUmVuZGVyZXIyLCBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5kcmF3RWxlbWVudCgpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIE5PREVfVE9fSU5ERVguc2V0KHRoaXMuZWxlbWVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgIE5PREVfVE9fUEFSRU5ULnNldCh0aGlzLmVsZW1lbnQsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgZHJhd0VsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5ib2FyZC5kcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChyZXN1bHQpO1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBpbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0RyhpbnN0YW5jZS5yb290RyA/IGluc3RhbmNlLnJvb3RHIDogaW5zdGFuY2UuZyk7XG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnNlcnRHKGc6IFNWR0dFbGVtZW50KSB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQodGhpcy5wYXJlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEcuYXBwZW5kKGcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHNpYmxpbmdHID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudCh0aGlzLnBhcmVudCkuZztcbiAgICAgICAgICAgIGlmICh0aGlzLmluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJyb3RoZXJFbGVtZW50ID0gKHRoaXMucGFyZW50LmNoaWxkcmVuIGFzIFBsYWl0RWxlbWVudFtdKVt0aGlzLmluZGV4IC0gMV07XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdEVsZW1lbnQgPSBQbGFpdE5vZGUubGFzdCh0aGlzLmJvYXJkLCBQbGFpdEJvYXJkLmZpbmRQYXRoKHRoaXMuYm9hcmQsIGJyb3RoZXJFbGVtZW50KSk7XG4gICAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQobGFzdEVsZW1lbnQpIHx8IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoYnJvdGhlckVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHNpYmxpbmdHID0gY29tcG9uZW50Lmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcmVudEcuaW5zZXJ0QmVmb3JlKGcsIHNpYmxpbmdHKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIE5PREVfVE9fSU5ERVguc2V0KHRoaXMuZWxlbWVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgICAgICBOT0RFX1RPX1BBUkVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzLnBhcmVudCk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Q2hhbmdlZCA9IHNpbXBsZUNoYW5nZXNbJ2VsZW1lbnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50Q2hhbmdlZCAmJiBpc1NlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50Q2hhbmdlZC5wcmV2aW91c1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlbW92ZVNlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50Q2hhbmdlZC5wcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbnRleHQoKTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0ID0ge1xuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLnBhcmVudCxcbiAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAgICBlZmZlY3Q6IHRoaXMuZWZmZWN0XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJvYXJkLmRlc3Ryb3lFbGVtZW50KHRoaXMuZ2V0Q29udGV4dCgpKTtcbiAgICB9XG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9jb3JlL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQU9SLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJeEQsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU8zRixNQUFNLE9BQU8scUJBQXFCO0lBaUI5QixZQUFtQixTQUFvQixFQUFTLGdCQUFrQztRQUEvRCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWhCbEYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFnQmlFLENBQUM7SUFFdEYsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDTixhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1NBQzFCO2FBQU07WUFDSCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25FLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDdkMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQWM7UUFDbEIsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0gsSUFBSSxRQUFRLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ2hCLE1BQU0sY0FBYyxHQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hHLElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDcEcsUUFBUSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQTRCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQyxJQUFJLGNBQWMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDL0UsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNoRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoRDtZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7YUFDbkM7U0FDSjtJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsTUFBTSxPQUFPLEdBQThCO1lBQ3ZDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDOzhHQXpGUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixrTUFIcEIsRUFBRTs7MkZBR0gscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7K0hBTVksS0FBSztzQkFBYixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW4tZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEVmZmVjdCB9IGZyb20gJy4uL2NoaWxkcmVuL2VmZmVjdCc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IE5PREVfVE9fSU5ERVgsIE5PREVfVE9fUEFSRU5UIH0gZnJvbSAnLi4vLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IGFkZFNlbGVjdGVkRWxlbWVudCwgaXNTZWxlY3RlZEVsZW1lbnQsIHJlbW92ZVNlbGVjdGVkRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1lbGVtZW50JyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUGxhaXRFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGluc3RhbmNlPzogUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PFBsYWl0RWxlbWVudD47XG5cbiAgICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGVsZW1lbnQhOiBQbGFpdEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBwYXJlbnQhOiBBbmNlc3RvcjtcblxuICAgIEBJbnB1dCgpIGJvYXJkITogUGxhaXRCb2FyZDtcblxuICAgIEBJbnB1dCgpIGVmZmVjdD86IFBsYWl0RWZmZWN0O1xuXG4gICAgQElucHV0KCkgcGFyZW50RyE6IFNWR0dFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyMjogUmVuZGVyZXIyLCBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5kcmF3RWxlbWVudCgpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIE5PREVfVE9fSU5ERVguc2V0KHRoaXMuZWxlbWVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgIE5PREVfVE9fUEFSRU5ULnNldCh0aGlzLmVsZW1lbnQsIHRoaXMucGFyZW50KTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgZHJhd0VsZW1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5ib2FyZC5kcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChyZXN1bHQpO1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICBpbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIHRoaXMuaW5zZXJ0RyhpbnN0YW5jZS5yb290RyA/IGluc3RhbmNlLnJvb3RHIDogaW5zdGFuY2UuZyk7XG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnNlcnRHKGc6IFNWR0dFbGVtZW50KSB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQodGhpcy5wYXJlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEcuYXBwZW5kKGcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHNpYmxpbmdHID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudCh0aGlzLnBhcmVudCkuZztcbiAgICAgICAgICAgIGlmICh0aGlzLmluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJyb3RoZXJFbGVtZW50ID0gKHRoaXMucGFyZW50LmNoaWxkcmVuIGFzIFBsYWl0RWxlbWVudFtdKVt0aGlzLmluZGV4IC0gMV07XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdEVsZW1lbnQgPSBQbGFpdE5vZGUubGFzdCh0aGlzLmJvYXJkLCBQbGFpdEJvYXJkLmZpbmRQYXRoKHRoaXMuYm9hcmQsIGJyb3RoZXJFbGVtZW50KSk7XG4gICAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQobGFzdEVsZW1lbnQpIHx8IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoYnJvdGhlckVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHNpYmxpbmdHID0gY29tcG9uZW50Lmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBhcmVudEcuaW5zZXJ0QmVmb3JlKGcsIHNpYmxpbmdHKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIE5PREVfVE9fSU5ERVguc2V0KHRoaXMuZWxlbWVudCwgdGhpcy5pbmRleCk7XG4gICAgICAgICAgICBOT0RFX1RPX1BBUkVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzLnBhcmVudCk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Q2hhbmdlZCA9IHNpbXBsZUNoYW5nZXNbJ2VsZW1lbnQnXTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50Q2hhbmdlZCAmJiBpc1NlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50Q2hhbmdlZC5wcmV2aW91c1ZhbHVlKSkge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlbW92ZVNlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50Q2hhbmdlZC5wcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgICAgICAgICBhZGRTZWxlY3RlZEVsZW1lbnQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENvbnRleHQoKTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpc1NlbGVjdGVkRWxlbWVudCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICBjb25zdCBjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0ID0ge1xuICAgICAgICAgICAgZWxlbWVudDogdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgcGFyZW50OiB0aGlzLnBhcmVudCxcbiAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGlzU2VsZWN0ZWQsXG4gICAgICAgICAgICBlZmZlY3Q6IHRoaXMuZWZmZWN0XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjb250ZXh0O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJvYXJkLmRlc3Ryb3lFbGVtZW50KHRoaXMuZ2V0Q29udGV4dCgpKTtcbiAgICB9XG59XG4iXX0=
@@ -63,13 +63,13 @@ export class PlaitPluginElementComponent {
63
63
  removeSelectedElement(this.board, this.element);
64
64
  (this.rootG || this.g).remove();
65
65
  }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitPluginElementComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
67
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: PlaitPluginElementComponent, inputs: { context: "context" }, ngImport: i0 }); }
66
68
  }
67
- PlaitPluginElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitPluginElementComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
68
- PlaitPluginElementComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.5", type: PlaitPluginElementComponent, inputs: { context: "context" }, ngImport: i0 });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitPluginElementComponent, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitPluginElementComponent, decorators: [{
70
70
  type: Directive
71
71
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { context: [{
72
72
  type: Input
73
73
  }] } });
74
74
  export const ELEMENT_TO_COMPONENT = new WeakMap();
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9jb3JlL2VsZW1lbnQvcGx1Z2luLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQWMsWUFBWSxFQUE2QixNQUFNLGtCQUFrQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHL0UsTUFBTSxPQUFnQiwyQkFBMkI7SUFVN0MsSUFDSSxPQUFPLENBQUMsS0FBc0M7UUFDOUMsSUFBSSxzQkFBc0IsQ0FBTyxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxtQkFBbUIsQ0FBSSxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQzthQUNqRDtTQUNKO2FBQU07WUFDSCxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNuRSxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQzthQUN0QjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxENUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFrRDJCLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pELG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFDRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7O3dIQXZFaUIsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEaEQsU0FBUzt3R0FZRixPQUFPO3NCQURWLEtBQUs7O0FBZ0VWLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlbW92ZVNlbGVjdGVkRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3NlbGVjdGVkLWVsZW1lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRyB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgaGFzQmVmb3JlQ29udGV4dENoYW5nZSwgaGFzT25Db250ZXh0Q2hhbmdlZCB9IGZyb20gJy4vY29udGV4dC1jaGFuZ2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQ8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCwgSyBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGchOiBTVkdHRWxlbWVudDtcblxuICAgIHJvb3RHPzogU1ZHR0VsZW1lbnQ7XG5cbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIF9jb250ZXh0ITogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxULCBLPjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRleHQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8VCwgSz4pIHtcbiAgICAgICAgaWYgKGhhc0JlZm9yZUNvbnRleHRDaGFuZ2U8VCwgSz4odGhpcykpIHtcbiAgICAgICAgICAgIHRoaXMuYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5fY29udGV4dDtcbiAgICAgICAgdGhpcy5fY29udGV4dCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICBpZiAoaGFzT25Db250ZXh0Q2hhbmdlZDxUPih0aGlzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Db250ZXh0Q2hhbmdlZCh2YWx1ZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChQbGFpdEVsZW1lbnQuaXNSb290RWxlbWVudCh0aGlzLmVsZW1lbnQpICYmIHRoaXMuZWxlbWVudC5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RHID0gY3JlYXRlRygpO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdEcuYXBwZW5kKHRoaXMuZyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb250ZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcbiAgICB9XG5cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgYm9hcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmJvYXJkO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGVmZmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWZmZWN0O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudHlwZSkge1xuICAgICAgICAgICAgKHRoaXMucm9vdEcgfHwgdGhpcy5nKS5zZXRBdHRyaWJ1dGUoYHBsYWl0LSR7dGhpcy5lbGVtZW50LnR5cGV9YCwgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0aGlzLmVsZW1lbnQpID09PSB0aGlzKSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5kZWxldGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZW1vdmVTZWxlY3RlZEVsZW1lbnQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgKHRoaXMucm9vdEcgfHwgdGhpcy5nKS5yZW1vdmUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTEVNRU5UX1RPX0NPTVBPTkVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0RWxlbWVudCwgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PigpO1xuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9jb3JlL2VsZW1lbnQvcGx1Z2luLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQWMsWUFBWSxFQUE2QixNQUFNLGtCQUFrQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHL0UsTUFBTSxPQUFnQiwyQkFBMkI7SUFVN0MsSUFDSSxPQUFPLENBQUMsS0FBc0M7UUFDOUMsSUFBSSxzQkFBc0IsQ0FBTyxJQUFJLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7UUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsSUFBSSxtQkFBbUIsQ0FBSSxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsQ0FBQzthQUNqRDtTQUNKO2FBQU07WUFDSCxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUNuRSxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQzthQUN0QjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFFRCxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWxENUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFrRDJCLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDbkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdFO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2pELG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFDRCxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBdkVpQiwyQkFBMkI7a0dBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFEaEQsU0FBUzt3R0FZRixPQUFPO3NCQURWLEtBQUs7O0FBZ0VWLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUE2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlbW92ZVNlbGVjdGVkRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3NlbGVjdGVkLWVsZW1lbnQnO1xuaW1wb3J0IHsgY3JlYXRlRyB9IGZyb20gJy4uLy4uL3V0aWxzL2RvbS9jb21tb24nO1xuaW1wb3J0IHsgaGFzQmVmb3JlQ29udGV4dENoYW5nZSwgaGFzT25Db250ZXh0Q2hhbmdlZCB9IGZyb20gJy4vY29udGV4dC1jaGFuZ2UnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQ8VCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCwgSyBleHRlbmRzIFBsYWl0Qm9hcmQgPSBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGchOiBTVkdHRWxlbWVudDtcblxuICAgIHJvb3RHPzogU1ZHR0VsZW1lbnQ7XG5cbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIF9jb250ZXh0ITogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxULCBLPjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRleHQodmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8VCwgSz4pIHtcbiAgICAgICAgaWYgKGhhc0JlZm9yZUNvbnRleHRDaGFuZ2U8VCwgSz4odGhpcykpIHtcbiAgICAgICAgICAgIHRoaXMuYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcHJldmlvdXNDb250ZXh0ID0gdGhpcy5fY29udGV4dDtcbiAgICAgICAgdGhpcy5fY29udGV4dCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50KSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICBpZiAoaGFzT25Db250ZXh0Q2hhbmdlZDxUPih0aGlzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25Db250ZXh0Q2hhbmdlZCh2YWx1ZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChQbGFpdEVsZW1lbnQuaXNSb290RWxlbWVudCh0aGlzLmVsZW1lbnQpICYmIHRoaXMuZWxlbWVudC5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIHRoaXMuZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RHID0gY3JlYXRlRygpO1xuICAgICAgICAgICAgICAgIHRoaXMucm9vdEcuYXBwZW5kKHRoaXMuZyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjb250ZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dDtcbiAgICB9XG5cbiAgICBnZXQgZWxlbWVudCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgYm9hcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmJvYXJkO1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuc2VsZWN0ZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGVmZmVjdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuZWZmZWN0O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnQudHlwZSkge1xuICAgICAgICAgICAgKHRoaXMucm9vdEcgfHwgdGhpcy5nKS5zZXRBdHRyaWJ1dGUoYHBsYWl0LSR7dGhpcy5lbGVtZW50LnR5cGV9YCwgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0aGlzLmVsZW1lbnQpID09PSB0aGlzKSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5kZWxldGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZW1vdmVTZWxlY3RlZEVsZW1lbnQodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgKHRoaXMucm9vdEcgfHwgdGhpcy5nKS5yZW1vdmUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTEVNRU5UX1RPX0NPTVBPTkVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0RWxlbWVudCwgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PigpO1xuIl19
@@ -0,0 +1,72 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { PlaitBoard } from '../../interfaces';
3
+ import * as i0 from "@angular/core";
4
+ export class PlaitIslandBaseComponent {
5
+ constructor(cdr) {
6
+ this.cdr = cdr;
7
+ }
8
+ initialize(board) {
9
+ this.board = board;
10
+ this.markForCheck();
11
+ }
12
+ markForCheck() {
13
+ this.cdr.markForCheck();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: PlaitIslandBaseComponent, host: { classAttribute: "plait-island-container" }, ngImport: i0 }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandBaseComponent, decorators: [{
19
+ type: Directive,
20
+ args: [{
21
+ host: {
22
+ class: 'plait-island-container'
23
+ }
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
26
+ export class PlaitIslandPopoverBaseComponent {
27
+ constructor(cdr) {
28
+ this.cdr = cdr;
29
+ }
30
+ initialize(board) {
31
+ this.board = board;
32
+ const boardComponent = PlaitBoard.getComponent(board);
33
+ this.subscription = boardComponent.plaitChange.subscribe(() => {
34
+ if (hasOnBoardChange(this)) {
35
+ this.onBoardChange();
36
+ }
37
+ this.cdr.markForCheck();
38
+ });
39
+ }
40
+ ngOnInit() {
41
+ if (!this.board) {
42
+ throw new Error('can not find board instance');
43
+ }
44
+ this.initialize(this.board);
45
+ this.islandOnInit();
46
+ }
47
+ ngOnDestroy() {
48
+ this.subscription?.unsubscribe();
49
+ this.islandOnDestroy();
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandPopoverBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: PlaitIslandPopoverBaseComponent, inputs: { board: "board" }, host: { classAttribute: "plait-island-popover-container" }, ngImport: i0 }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitIslandPopoverBaseComponent, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ host: {
58
+ class: 'plait-island-popover-container'
59
+ }
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { board: [{
62
+ type: Input
63
+ }] } });
64
+ export const hasOnBoardChange = (value) => {
65
+ if (value.onBoardChange) {
66
+ return true;
67
+ }
68
+ else {
69
+ return false;
70
+ }
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNsYW5kLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvY29yZS9pc2xhbmQvaXNsYW5kLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVE5QyxNQUFNLE9BQWdCLHdCQUF3QjtJQUcxQyxZQUFzQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFaEQsVUFBVSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4R0FaaUIsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBTDdDLFNBQVM7bUJBQUM7b0JBQ1AsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSx3QkFBd0I7cUJBQ2xDO2lCQUNKOztBQXFCRCxNQUFNLE9BQWdCLCtCQUErQjtJQUtqRCxZQUFtQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFN0MsVUFBVSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTdCaUIsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBTHBELFNBQVM7bUJBQUM7b0JBQ1AsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxnQ0FBZ0M7cUJBQzFDO2lCQUNKO3dHQUVZLEtBQUs7c0JBQWIsS0FBSzs7QUE2Q1YsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFVLEVBQTBCLEVBQUU7SUFDbkUsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7U0FBTTtRQUNILE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3BsYWl0LWlzbGFuZC1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbGFpdElzbGFuZEJhc2VDb21wb25lbnQge1xuICAgIGJvYXJkITogUGxhaXRCb2FyZDtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgaW5pdGlhbGl6ZShib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICB0aGlzLmJvYXJkID0gYm9hcmQ7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgbWFya0ZvckNoZWNrKCkge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwbGFpdC1pc2xhbmQtcG9wb3Zlci1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbGFpdElzbGFuZFBvcG92ZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGJvYXJkITogUGxhaXRCb2FyZDtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBpbml0aWFsaXplKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHRoaXMuYm9hcmQgPSBib2FyZDtcbiAgICAgICAgY29uc3QgYm9hcmRDb21wb25lbnQgPSBQbGFpdEJvYXJkLmdldENvbXBvbmVudChib2FyZCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gYm9hcmRDb21wb25lbnQucGxhaXRDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChoYXNPbkJvYXJkQ2hhbmdlKHRoaXMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkJvYXJkQ2hhbmdlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ib2FyZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW4gbm90IGZpbmQgYm9hcmQgaW5zdGFuY2UnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemUodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaXNsYW5kT25Jbml0KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmlzbGFuZE9uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVzZSBpc2xhbmRPbkluaXQgcmVwbGFjZSBuZ09uSW5pdCB0byBhdm9pZCBuZ09uSW5pdCBiZWluZyBvdmVycmlkZGVuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaXNsYW5kT25Jbml0KCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiB1c2UgaXNsYW5kT25EZXN0cm95IHJlcGxhY2UgbmdPbkRlc3Ryb3kgdG8gYXZvaWQgbmdPbkRlc3Ryb3kgYmVpbmcgb3ZlcnJpZGRlblxuICAgICAqL1xuICAgIGFic3RyYWN0IGlzbGFuZE9uRGVzdHJveSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uQm9hcmRDaGFuZ2Uge1xuICAgIG9uQm9hcmRDaGFuZ2U6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBoYXNPbkJvYXJkQ2hhbmdlID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBPbkJvYXJkQ2hhbmdlID0+IHtcbiAgICBpZiAodmFsdWUub25Cb2FyZENoYW5nZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
@@ -95,4 +95,4 @@ export const PlaitBoard = {
95
95
  return (board.options.themeColors || ThemeColors);
96
96
  }
97
97
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixjQUFjLEVBQ2pCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJMUQsT0FBTyxFQUEwQixXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUVqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxDQUFDLEtBQVU7UUFDZCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUM3QixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztRQUMxRixjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBZTtRQUN2QyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQWEsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxFQUFFO1lBQ1QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdB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LENBQUM7SUFDckQsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RSxJQUFJLEtBQUssSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGNBQWMsQ0FBb0MsS0FBaUI7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBUSxDQUFDO0lBQzdELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4vcG9pbnRlcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBQbGFpdEVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0SGlzdG9yeSB9IGZyb20gJy4vaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFNlbGVjdGlvbiwgUmFuZ2UgfSBmcm9tICcuL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBWaWV3cG9ydCB9IGZyb20gJy4vdmlld3BvcnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9lbGVtZW50L3BsdWdpbi1lbGVtZW50JztcbmltcG9ydCB7XG4gICAgQk9BUkRfVE9fQ09NUE9ORU5ULFxuICAgIEJPQVJEX1RPX0VMRU1FTlRfSE9TVCxcbiAgICBCT0FSRF9UT19IT1NULFxuICAgIEJPQVJEX1RPX01PVklOR19QT0lOVCxcbiAgICBCT0FSRF9UT19NT1ZJTkdfUE9JTlRfSU5fQk9BUkQsXG4gICAgQk9BUkRfVE9fUk9VR0hfU1ZHLFxuICAgIElTX0JPQVJEX0NBQ0hFLFxuICAgIElTX1RFWFRfRURJVEFCTEUsXG4gICAgTk9ERV9UT19JTkRFWCxcbiAgICBOT0RFX1RPX1BBUkVOVFxufSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUm91Z2hTVkcgfSBmcm9tICdyb3VnaGpzL2Jpbi9zdmcnO1xuaW1wb3J0IHsgQm9hcmRDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9ib2FyZC9ib2FyZC5jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi9wb2ludCc7XG5pbXBvcnQgeyBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICcuL3JlY3RhbmdsZS1jbGllbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGF0aFJlZiwgUGF0aFJlZk9wdGlvbnMgfSBmcm9tICcuL3BhdGgtcmVmJztcbmltcG9ydCB7IEFuY2VzdG9yLCBQbGFpdE5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJy4vcGF0aCc7XG5pbXBvcnQgeyBQbGFpdFRoZW1lLCBUaGVtZUNvbG9yLCBUaGVtZUNvbG9ycyB9IGZyb20gJy4vdGhlbWUnO1xuaW1wb3J0IHsgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUgfSBmcm9tICcuLi91dGlscy9tYXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkIHtcbiAgICB2aWV3cG9ydDogVmlld3BvcnQ7XG4gICAgY2hpbGRyZW46IFBsYWl0RWxlbWVudFtdO1xuICAgIHRoZW1lOiBQbGFpdFRoZW1lO1xuICAgIG9wZXJhdGlvbnM6IFBsYWl0T3BlcmF0aW9uW107XG4gICAgLy8gcmVjb3JkIHBvaW50ZXIgc2VsZWN0aW9uIG9yIGRyYWcgc2VsZWN0aW9uXG4gICAgLy8gaXQgd2lsbCBiZSBkaXJ0eSB3aGVuIGJvYXJkIHZpZXdwb3J0IGNoYW5nZVxuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbDtcbiAgICBwb2ludGVyOiBQbGFpdFBvaW50ZXJUeXBlIHwgc3RyaW5nO1xuICAgIGhpc3Rvcnk6IFBsYWl0SGlzdG9yeTtcbiAgICBvcHRpb25zOiBQbGFpdEJvYXJkT3B0aW9ucztcbiAgICB1bmRvOiAoKSA9PiB2b2lkO1xuICAgIHJlZG86ICgpID0+IHZvaWQ7XG4gICAgYXBwbHk6IChvcGVyYXRpb246IFBsYWl0T3BlcmF0aW9uKSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xuICAgIG1vdXNlZG93bjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNlbW92ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNlbGVhdmU6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBtb3VzZXVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsTW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsTW91c2V1cDogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIGtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxLZXlkb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG4gICAga2V5dXA6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBzZXRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCkgPT4gdm9pZDtcbiAgICBpbnNlcnRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50OiBQb2ludCkgPT4gdm9pZDtcbiAgICBkZWxldGVGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHZvaWQ7XG4gICAgZGJsY2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBkcmF3RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IFNWR0dFbGVtZW50W10gfCBDb21wb25lbnRUeXBlPFBsYWl0UGx1Z2luRWxlbWVudENvbXBvbmVudD47XG4gICAgcmVkcmF3RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIHByZXZpb3VzQ29udGV4dD86IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IFNWR0dFbGVtZW50W10gfCB2b2lkO1xuICAgIGRlc3Ryb3lFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gdm9pZDtcbiAgICBpc0hpdFNlbGVjdGlvbjogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgcmFuZ2U6IFJhbmdlKSA9PiBib29sZWFuO1xuICAgIGlzUmVjdXJzaW9uOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIGlzTW92YWJsZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IFJlY3RhbmdsZUNsaWVudCB8IG51bGw7XG4gICAgaXNXaXRoaW5TZWxlY3Rpb246IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgcGF0aFJlZjogKHBhdGg6IFBhdGgsIG9wdGlvbnM/OiBQYXRoUmVmT3B0aW9ucykgPT4gUGF0aFJlZjtcbiAgICBwYXRoUmVmczogKCkgPT4gU2V0PFBhdGhSZWY+O1xuICAgIGFwcGx5VGhlbWU6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHZvaWQ7XG5cbiAgICAvLyBwb2ludGVyIGhvb2tcbiAgICBwb2ludGVyRG93bjogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyTW92ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyVXA6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlckNhbmNlbDogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyT3V0OiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJMZWF2ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxQb2ludGVyTW92ZTogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxQb2ludGVyVXA6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRCb2FyZENoYW5nZUV2ZW50IHtcbiAgICBjaGlsZHJlbjogUGxhaXRFbGVtZW50W107XG4gICAgb3BlcmF0aW9uczogUGxhaXRPcGVyYXRpb25bXTtcbiAgICB2aWV3cG9ydDogVmlld3BvcnQ7XG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb24gfCBudWxsO1xuICAgIHRoZW1lOiBQbGFpdFRoZW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmRPcHRpb25zIHtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgaGlkZVNjcm9sbGJhcj86IGJvb2xlYW47XG4gICAgZGlzYWJsZWRTY3JvbGxPbk5vbkZvY3VzPzogYm9vbGVhbjtcbiAgICB0aGVtZUNvbG9ycz86IFRoZW1lQ29sb3JbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkTW92ZSB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFBsYWl0Qm9hcmQgPSB7XG4gICAgaXNCb2FyZCh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRCb2FyZCB7XG4gICAgICAgIGNvbnN0IGNhY2hlZElzQm9hcmQgPSBJU19CT0FSRF9DQUNIRS5nZXQodmFsdWUpO1xuICAgICAgICBpZiAoY2FjaGVkSXNCb2FyZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkSXNCb2FyZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0JvYXJkID0gdHlwZW9mIHZhbHVlLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiB2YWx1ZS5hcHBseSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgICAgSVNfQk9BUkRfQ0FDSEUuc2V0KHZhbHVlLCBpc0JvYXJkKTtcbiAgICAgICAgcmV0dXJuIGlzQm9hcmQ7XG4gICAgfSxcbiAgICBmaW5kUGF0aChib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogUGxhaXROb2RlKTogUGF0aCB7XG4gICAgICAgIGNvbnN0IHBhdGg6IFBhdGggPSBbXTtcbiAgICAgICAgbGV0IGNoaWxkOiBBbmNlc3RvciA9IG5vZGU7XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBOT0RFX1RPX1BBUkVOVC5nZXQoY2hpbGQgYXMgUGxhaXRFbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChwYXJlbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGkgPSBOT0RFX1RPX0lOREVYLmdldChjaGlsZCBhcyBQbGFpdEVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGkgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0aC51bnNoaWZ0KGkpO1xuICAgICAgICAgICAgY2hpbGQgPSBwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gZmluZCB0aGUgcGF0aCBmb3IgUGxhaXQgbm9kZTogJHtKU09OLnN0cmluZ2lmeShub2RlKX1gKTtcbiAgICB9LFxuICAgIGdldEhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0hPU1QuZ2V0KGJvYXJkKSBhcyBTVkdTVkdFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0RWxlbWVudEhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0VMRU1FTlRfSE9TVC5nZXQoYm9hcmQpPy5ob3N0IGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRFbGVtZW50VXBwZXJIb3N0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19FTEVNRU5UX0hPU1QuZ2V0KGJvYXJkKT8udXBwZXJIb3N0IGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fRUxFTUVOVF9IT1NULmdldChib2FyZCk/LmFjdGl2ZUhvc3QgYXMgU1ZHU1ZHRWxlbWVudDtcbiAgICB9LFxuICAgIGdldFJvdWdoU1ZHKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19ST1VHSF9TVkcuZ2V0KGJvYXJkKSBhcyBSb3VnaFNWRztcbiAgICB9LFxuICAgIGdldENvbXBvbmVudChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCkgYXMgQm9hcmRDb21wb25lbnRJbnRlcmZhY2U7XG4gICAgfSxcbiAgICBnZXRCb2FyZENvbnRhaW5lcihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gUGxhaXRCb2FyZC5nZXRDb21wb25lbnQoYm9hcmQpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRSZWN0YW5nbGUoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbiAgICB9LFxuICAgIGdldFZpZXdwb3J0Q29udGFpbmVyKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmdldEhvc3QoYm9hcmQpLnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfSxcbiAgICBpc0ZvY3VzKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiAhIWJvYXJkLnNlbGVjdGlvbjtcbiAgICB9LFxuICAgIGlzUmVhZG9ubHkoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLm9wdGlvbnMucmVhZG9ubHk7XG4gICAgfSxcbiAgICBoYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuICEhSVNfVEVYVF9FRElUQUJMRS5nZXQoYm9hcmQpO1xuICAgIH0sXG4gICAgZ2V0UG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLnBvaW50ZXIgYXMgVDtcbiAgICB9LFxuICAgIGlzUG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXI6IFQpIHtcbiAgICAgICAgcmV0dXJuIGJvYXJkLnBvaW50ZXIgPT09IHBvaW50ZXI7XG4gICAgfSxcbiAgICBpc0luUG9pbnRlcjxUID0gUGxhaXRQb2ludGVyVHlwZT4oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50ZXJzOiBUW10pIHtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBib2FyZC5wb2ludGVyIGFzIFQ7XG4gICAgICAgIHJldHVybiBwb2ludGVycy5pbmNsdWRlcyhwb2ludCk7XG4gICAgfSxcbiAgICBnZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX01PVklOR19QT0lOVF9JTl9CT0FSRC5nZXQoYm9hcmQpO1xuICAgIH0sXG4gICAgaXNNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBCT0FSRF9UT19NT1ZJTkdfUE9JTlQuZ2V0KGJvYXJkKTtcbiAgICAgICAgY29uc3QgcmVjdCA9IFBsYWl0Qm9hcmQuZ2V0Qm9hcmRDb250YWluZXIoYm9hcmQpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBpZiAocG9pbnQgJiYgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUocG9pbnRbMF0sIHBvaW50WzFdLCByZWN0KSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgZ2V0VGhlbWVDb2xvcnM8VCBleHRlbmRzIFRoZW1lQ29sb3IgPSBUaGVtZUNvbG9yPihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gKGJvYXJkLm9wdGlvbnMudGhlbWVDb2xvcnMgfHwgVGhlbWVDb2xvcnMpIGFzIFRbXTtcbiAgICB9XG59O1xuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2JvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixjQUFjLEVBQ2pCLE1BQU0sb0JBQW9CLENBQUM7QUFLNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJMUQsT0FBTyxFQUEwQixXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMEVqRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsT0FBTyxDQUFDLEtBQVU7UUFDZCxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUM3QixPQUFPLGFBQWEsQ0FBQztTQUN4QjtRQUNELE1BQU0sT0FBTyxHQUFHLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQztRQUMxRixjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWlCLEVBQUUsSUFBZTtRQUN2QyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQWEsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxFQUFFO1lBQ1QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdB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LENBQUM7SUFDckQsQ0FBQztJQUNELG9CQUFvQixDQUFDLEtBQWlCO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RSxJQUFJLEtBQUssSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRSxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGNBQWMsQ0FBb0MsS0FBaUI7UUFDL0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBUSxDQUFDO0lBQzdELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRQb2ludGVyVHlwZSB9IGZyb20gJy4vcG9pbnRlcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBQbGFpdEVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZWxlbWVudC9jb250ZXh0JztcbmltcG9ydCB7IFBsYWl0SGlzdG9yeSB9IGZyb20gJy4vaGlzdG9yeSc7XG5pbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcbmltcG9ydCB7IFNlbGVjdGlvbiwgUmFuZ2UgfSBmcm9tICcuL3NlbGVjdGlvbic7XG5pbXBvcnQgeyBWaWV3cG9ydCB9IGZyb20gJy4vdmlld3BvcnQnO1xuaW1wb3J0IHsgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9lbGVtZW50L3BsdWdpbi1lbGVtZW50JztcbmltcG9ydCB7XG4gICAgQk9BUkRfVE9fQ09NUE9ORU5ULFxuICAgIEJPQVJEX1RPX0VMRU1FTlRfSE9TVCxcbiAgICBCT0FSRF9UT19IT1NULFxuICAgIEJPQVJEX1RPX01PVklOR19QT0lOVCxcbiAgICBCT0FSRF9UT19NT1ZJTkdfUE9JTlRfSU5fQk9BUkQsXG4gICAgQk9BUkRfVE9fUk9VR0hfU1ZHLFxuICAgIElTX0JPQVJEX0NBQ0hFLFxuICAgIElTX1RFWFRfRURJVEFCTEUsXG4gICAgTk9ERV9UT19JTkRFWCxcbiAgICBOT0RFX1RPX1BBUkVOVFxufSBmcm9tICcuLi91dGlscy93ZWFrLW1hcHMnO1xuaW1wb3J0IHsgUm91Z2hTVkcgfSBmcm9tICdyb3VnaGpzL2Jpbi9zdmcnO1xuaW1wb3J0IHsgQm9hcmRDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9ib2FyZC9ib2FyZC5jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi9wb2ludCc7XG5pbXBvcnQgeyBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICcuL3JlY3RhbmdsZS1jbGllbnQnO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGF0aFJlZiwgUGF0aFJlZk9wdGlvbnMgfSBmcm9tICcuL3BhdGgtcmVmJztcbmltcG9ydCB7IEFuY2VzdG9yLCBQbGFpdE5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJy4vcGF0aCc7XG5pbXBvcnQgeyBQbGFpdFRoZW1lLCBUaGVtZUNvbG9yLCBUaGVtZUNvbG9ycyB9IGZyb20gJy4vdGhlbWUnO1xuaW1wb3J0IHsgZGlzdGFuY2VCZXR3ZWVuUG9pbnRBbmRSZWN0YW5nbGUgfSBmcm9tICcuLi91dGlscy9tYXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkIHtcbiAgICB2aWV3cG9ydDogVmlld3BvcnQ7XG4gICAgY2hpbGRyZW46IFBsYWl0RWxlbWVudFtdO1xuICAgIHRoZW1lOiBQbGFpdFRoZW1lO1xuICAgIG9wZXJhdGlvbnM6IFBsYWl0T3BlcmF0aW9uW107XG4gICAgLy8gcmVjb3JkIHBvaW50ZXIgc2VsZWN0aW9uIG9yIGRyYWcgc2VsZWN0aW9uXG4gICAgLy8gaXQgd2lsbCBiZSBkaXJ0eSB3aGVuIGJvYXJkIHZpZXdwb3J0IGNoYW5nZVxuICAgIHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbDtcbiAgICBwb2ludGVyOiBQbGFpdFBvaW50ZXJUeXBlIHwgc3RyaW5nO1xuICAgIGhpc3Rvcnk6IFBsYWl0SGlzdG9yeTtcbiAgICBvcHRpb25zOiBQbGFpdEJvYXJkT3B0aW9ucztcbiAgICB1bmRvOiAoKSA9PiB2b2lkO1xuICAgIHJlZG86ICgpID0+IHZvaWQ7XG4gICAgYXBwbHk6IChvcGVyYXRpb246IFBsYWl0T3BlcmF0aW9uKSA9PiB2b2lkO1xuICAgIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xuICAgIG1vdXNlZG93bjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNlbW92ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIG1vdXNlbGVhdmU6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgICBtb3VzZXVwOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsTW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgZ2xvYmFsTW91c2V1cDogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIGtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBnbG9iYWxLZXlkb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHZvaWQ7XG4gICAga2V5dXA6IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBzZXRGcmFnbWVudDogKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbCwgdHlwZTogJ2NvcHknIHwgJ2N1dCcpID0+IHZvaWQ7XG4gICAgaW5zZXJ0RnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCB0YXJnZXRQb2ludDogUG9pbnQpID0+IHZvaWQ7XG4gICAgZGVsZXRlRnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB2b2lkO1xuICAgIGdldERlbGV0ZWRGcmFnbWVudDogKGRhdGE6IFBsYWl0RWxlbWVudFtdKSA9PiBQbGFpdEVsZW1lbnRbXTtcbiAgICBkYmxjbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIGRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gU1ZHR0VsZW1lbnRbXSB8IENvbXBvbmVudFR5cGU8UGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PjtcbiAgICByZWRyYXdFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgcHJldmlvdXNDb250ZXh0PzogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4gU1ZHR0VsZW1lbnRbXSB8IHZvaWQ7XG4gICAgZGVzdHJveUVsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB2b2lkO1xuICAgIGlzSGl0U2VsZWN0aW9uOiAoZWxlbWVudDogUGxhaXRFbGVtZW50LCByYW5nZTogUmFuZ2UpID0+IGJvb2xlYW47XG4gICAgaXNSZWN1cnNpb246IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgaXNNb3ZhYmxlOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gUmVjdGFuZ2xlQ2xpZW50IHwgbnVsbDtcbiAgICBpc1dpdGhpblNlbGVjdGlvbjogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICBwYXRoUmVmOiAocGF0aDogUGF0aCwgb3B0aW9ucz86IFBhdGhSZWZPcHRpb25zKSA9PiBQYXRoUmVmO1xuICAgIHBhdGhSZWZzOiAoKSA9PiBTZXQ8UGF0aFJlZj47XG4gICAgYXBwbHlUaGVtZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gdm9pZDtcblxuICAgIC8vIHBvaW50ZXIgaG9va1xuICAgIHBvaW50ZXJEb3duOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJNb3ZlOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJVcDogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbiAgICBwb2ludGVyQ2FuY2VsOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIHBvaW50ZXJPdXQ6IChwb2ludGVyOiBQb2ludGVyRXZlbnQpID0+IHZvaWQ7XG4gICAgcG9pbnRlckxlYXZlOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIGdsb2JhbFBvaW50ZXJNb3ZlOiAocG9pbnRlcjogUG9pbnRlckV2ZW50KSA9PiB2b2lkO1xuICAgIGdsb2JhbFBvaW50ZXJVcDogKHBvaW50ZXI6IFBvaW50ZXJFdmVudCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEJvYXJkQ2hhbmdlRXZlbnQge1xuICAgIGNoaWxkcmVuOiBQbGFpdEVsZW1lbnRbXTtcbiAgICBvcGVyYXRpb25zOiBQbGFpdE9wZXJhdGlvbltdO1xuICAgIHZpZXdwb3J0OiBWaWV3cG9ydDtcbiAgICBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGw7XG4gICAgdGhlbWU6IFBsYWl0VGhlbWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRCb2FyZE9wdGlvbnMge1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBoaWRlU2Nyb2xsYmFyPzogYm9vbGVhbjtcbiAgICBkaXNhYmxlZFNjcm9sbE9uTm9uRm9jdXM/OiBib29sZWFuO1xuICAgIHRoZW1lQ29sb3JzPzogVGhlbWVDb2xvcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Qm9hcmRNb3ZlIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRCb2FyZCA9IHtcbiAgICBpc0JvYXJkKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEJvYXJkIHtcbiAgICAgICAgY29uc3QgY2FjaGVkSXNCb2FyZCA9IElTX0JPQVJEX0NBQ0hFLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChjYWNoZWRJc0JvYXJkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRJc0JvYXJkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQm9hcmQgPSB0eXBlb2YgdmFsdWUub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlLmFwcGx5ID09PSAnZnVuY3Rpb24nO1xuICAgICAgICBJU19CT0FSRF9DQUNIRS5zZXQodmFsdWUsIGlzQm9hcmQpO1xuICAgICAgICByZXR1cm4gaXNCb2FyZDtcbiAgICB9LFxuICAgIGZpbmRQYXRoKGJvYXJkOiBQbGFpdEJvYXJkLCBub2RlOiBQbGFpdE5vZGUpOiBQYXRoIHtcbiAgICAgICAgY29uc3QgcGF0aDogUGF0aCA9IFtdO1xuICAgICAgICBsZXQgY2hpbGQ6IEFuY2VzdG9yID0gbm9kZTtcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE5PREVfVE9fUEFSRU5ULmdldChjaGlsZCBhcyBQbGFpdEVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKHBhcmVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaSA9IE5PREVfVE9fSU5ERVguZ2V0KGNoaWxkIGFzIFBsYWl0RWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoaSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRoLnVuc2hpZnQoaSk7XG4gICAgICAgICAgICBjaGlsZCA9IHBhcmVudDtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIHRoZSBwYXRoIGZvciBQbGFpdCBub2RlOiAke0pTT04uc3RyaW5naWZ5KG5vZGUpfWApO1xuICAgIH0sXG4gICAgZ2V0SG9zdChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fSE9TVC5nZXQoYm9hcmQpIGFzIFNWR1NWR0VsZW1lbnQ7XG4gICAgfSxcbiAgICBnZXRFbGVtZW50SG9zdChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fRUxFTUVOVF9IT1NULmdldChib2FyZCk/Lmhvc3QgYXMgU1ZHU1ZHRWxlbWVudDtcbiAgICB9LFxuICAgIGdldEVsZW1lbnRVcHBlckhvc3QoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX0VMRU1FTlRfSE9TVC5nZXQoYm9hcmQpPy51cHBlckhvc3QgYXMgU1ZHU1ZHRWxlbWVudDtcbiAgICB9LFxuICAgIGdldEVsZW1lbnRBY3RpdmVIb3N0KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19FTEVNRU5UX0hPU1QuZ2V0KGJvYXJkKT8uYWN0aXZlSG9zdCBhcyBTVkdTVkdFbGVtZW50O1xuICAgIH0sXG4gICAgZ2V0Um91Z2hTVkcoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIEJPQVJEX1RPX1JPVUdIX1NWRy5nZXQoYm9hcmQpIGFzIFJvdWdoU1ZHO1xuICAgIH0sXG4gICAgZ2V0Q29tcG9uZW50KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBCT0FSRF9UT19DT01QT05FTlQuZ2V0KGJvYXJkKSBhcyBCb2FyZENvbXBvbmVudEludGVyZmFjZTtcbiAgICB9LFxuICAgIGdldEJvYXJkQ29udGFpbmVyKGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmdldENvbXBvbmVudChib2FyZCkubmF0aXZlRWxlbWVudDtcbiAgICB9LFxuICAgIGdldFJlY3RhbmdsZShib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgYm9hcmQuY2hpbGRyZW4sIHRydWUpO1xuICAgIH0sXG4gICAgZ2V0Vmlld3BvcnRDb250YWluZXIoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9LFxuICAgIGlzRm9jdXMoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICAgICAgcmV0dXJuICEhYm9hcmQuc2VsZWN0aW9uO1xuICAgIH0sXG4gICAgaXNSZWFkb25seShib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gYm9hcmQub3B0aW9ucy5yZWFkb25seTtcbiAgICB9LFxuICAgIGhhc0JlZW5UZXh0RWRpdGluZyhib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gISFJU19URVhUX0VESVRBQkxFLmdldChib2FyZCk7XG4gICAgfSxcbiAgICBnZXRQb2ludGVyPFQgPSBQbGFpdFBvaW50ZXJUeXBlPihib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gYm9hcmQucG9pbnRlciBhcyBUO1xuICAgIH0sXG4gICAgaXNQb2ludGVyPFQgPSBQbGFpdFBvaW50ZXJUeXBlPihib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRlcjogVCkge1xuICAgICAgICByZXR1cm4gYm9hcmQucG9pbnRlciA9PT0gcG9pbnRlcjtcbiAgICB9LFxuICAgIGlzSW5Qb2ludGVyPFQgPSBQbGFpdFBvaW50ZXJUeXBlPihib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRlcnM6IFRbXSkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGJvYXJkLnBvaW50ZXIgYXMgVDtcbiAgICAgICAgcmV0dXJuIHBvaW50ZXJzLmluY2x1ZGVzKHBvaW50KTtcbiAgICB9LFxuICAgIGdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICByZXR1cm4gQk9BUkRfVE9fTU9WSU5HX1BPSU5UX0lOX0JPQVJELmdldChib2FyZCk7XG4gICAgfSxcbiAgICBpc01vdmluZ1BvaW50SW5Cb2FyZChib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICBjb25zdCBwb2ludCA9IEJPQVJEX1RPX01PVklOR19QT0lOVC5nZXQoYm9hcmQpO1xuICAgICAgICBjb25zdCByZWN0ID0gUGxhaXRCb2FyZC5nZXRCb2FyZENvbnRhaW5lcihib2FyZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGlmIChwb2ludCAmJiBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFJlY3RhbmdsZShwb2ludFswXSwgcG9pbnRbMV0sIHJlY3QpID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSxcbiAgICBnZXRUaGVtZUNvbG9yczxUIGV4dGVuZHMgVGhlbWVDb2xvciA9IFRoZW1lQ29sb3I+KGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHJldHVybiAoYm9hcmQub3B0aW9ucy50aGVtZUNvbG9ycyB8fCBUaGVtZUNvbG9ycykgYXMgVFtdO1xuICAgIH1cbn07XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export var Direction;
2
+ (function (Direction) {
3
+ Direction["left"] = "left";
4
+ Direction["top"] = "top";
5
+ Direction["right"] = "right";
6
+ Direction["bottom"] = "bottom";
7
+ })(Direction || (Direction = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvaW50ZXJmYWNlcy9kaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNqQiwwQkFBYSxDQUFBO0lBQ2Isd0JBQVcsQ0FBQTtJQUNYLDRCQUFlLENBQUE7SUFDZiw4QkFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsU0FBUyxLQUFULFNBQVMsUUFLcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICAgIGxlZnQgPSAnbGVmdCcsXG4gICAgdG9wID0gJ3RvcCcsXG4gICAgcmlnaHQgPSAncmlnaHQnLFxuICAgIGJvdHRvbSA9ICdib3R0b20nXG59XG5cbmV4cG9ydCB0eXBlIFZlY3RvciA9IFtudW1iZXIsIG51bWJlcl07Il19
@@ -14,4 +14,5 @@ export * from './viewport';
14
14
  export * from './history';
15
15
  export * from './plugin-key';
16
16
  export * from './theme';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi4vY29yZS9lbGVtZW50L2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjdGFuZ2xlLWNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4ta2V5JztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUnO1xuIl19
17
+ export * from './direction';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi4vY29yZS9lbGVtZW50L2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b20tdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcmVjdGFuZ2xlLWNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9wYXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi92aWV3cG9ydCc7XG5leHBvcnQgKiBmcm9tICcuL2hpc3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9wbHVnaW4ta2V5JztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3Rpb24nO1xuIl19
@@ -0,0 +1,68 @@
1
+ export const RectangleClient = {
2
+ isHit: (origin, target) => {
3
+ const minX = origin.x < target.x ? origin.x : target.x;
4
+ const maxX = origin.x + origin.width > target.x + target.width ? origin.x + origin.width : target.x + target.width;
5
+ const minY = origin.y < target.y ? origin.y : target.y;
6
+ const maxY = origin.y + origin.height > target.y + target.height ? origin.y + origin.height : target.y + target.height;
7
+ // float calculate error( eg: 1.4210854715202004e-14 > 0)
8
+ if (Math.floor(maxX - minX - origin.width - target.width) <= 0 && Math.floor(maxY - minY - origin.height - target.height) <= 0) {
9
+ return true;
10
+ }
11
+ else {
12
+ return false;
13
+ }
14
+ },
15
+ toRectangleClient: (points) => {
16
+ const xArray = points.map(ele => ele[0]);
17
+ const yArray = points.map(ele => ele[1]);
18
+ const xMin = Math.min(...xArray);
19
+ const xMax = Math.max(...xArray);
20
+ const yMin = Math.min(...yArray);
21
+ const yMax = Math.max(...yArray);
22
+ const rect = { x: xMin, y: yMin, width: xMax - xMin, height: yMax - yMin };
23
+ return rect;
24
+ },
25
+ getOutlineRectangle: (rectangle, offset) => {
26
+ return {
27
+ x: rectangle.x + offset,
28
+ y: rectangle.y + offset,
29
+ width: rectangle.width - offset * 2,
30
+ height: rectangle.height - offset * 2
31
+ };
32
+ },
33
+ inflate: (rectangle, delta) => {
34
+ const half = delta / 2;
35
+ return {
36
+ x: rectangle.x - half,
37
+ y: rectangle.y - half,
38
+ width: rectangle.width + half * 2,
39
+ height: rectangle.height + half * 2
40
+ };
41
+ },
42
+ isEqual: (rectangle, otherRectangle) => {
43
+ return (rectangle.x === otherRectangle.x &&
44
+ rectangle.y === otherRectangle.y &&
45
+ rectangle.width === otherRectangle.width &&
46
+ rectangle.height === otherRectangle.height);
47
+ },
48
+ getCornerPoints: (rectangle) => {
49
+ return [
50
+ [rectangle.x, rectangle.y],
51
+ [rectangle.x + rectangle.width, rectangle.y],
52
+ [rectangle.x + rectangle.width, rectangle.y + rectangle.height],
53
+ [rectangle.x, rectangle.y + rectangle.height]
54
+ ];
55
+ },
56
+ getEdgeCenterPoints: (rectangle) => {
57
+ return [
58
+ [rectangle.x + rectangle.width / 2, rectangle.y],
59
+ [rectangle.x + rectangle.width, rectangle.y + rectangle.height / 2],
60
+ [rectangle.x + rectangle.width / 2, rectangle.y + rectangle.height],
61
+ [rectangle.x, rectangle.y + rectangle.height / 2]
62
+ ];
63
+ },
64
+ getConnectionPoint: (rectangle, point) => {
65
+ return [rectangle.x + rectangle.width * point[0], rectangle.y + rectangle.height * point[1]];
66
+ }
67
+ };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2ludGVyZmFjZXMvcmVjdGFuZ2xlLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsS0FBSyxFQUFFLENBQUMsTUFBdUIsRUFBRSxNQUF1QixFQUFFLEVBQUU7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ25ILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUN2SCx5REFBeUQ7UUFDekQsSUFB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2ludCB9IGZyb20gJy4vcG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlY3RhbmdsZUNsaWVudCB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG4vKipcbiAqIFt4LCB5XSB4LHkgYmV0d2VlbiAwIGFuZCAxXG4gKiByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGhlIHJlY3RhbmdsZVxuICovXG5leHBvcnQgdHlwZSBQb2ludE9mUmVjdGFuZ2xlID0gW251bWJlciwgbnVtYmVyXTtcblxuZXhwb3J0IGNvbnN0IFJlY3RhbmdsZUNsaWVudCA9IHtcbiAgICBpc0hpdDogKG9yaWdpbjogUmVjdGFuZ2xlQ2xpZW50LCB0YXJnZXQ6IFJlY3RhbmdsZUNsaWVudCkgPT4ge1xuICAgICAgICBjb25zdCBtaW5YID0gb3JpZ2luLnggPCB0YXJnZXQueCA/IG9yaWdpbi54IDogdGFyZ2V0Lng7XG4gICAgICAgIGNvbnN0IG1heFggPSBvcmlnaW4ueCArIG9yaWdpbi53aWR0aCA+IHRhcmdldC54ICsgdGFyZ2V0LndpZHRoID8gb3JpZ2luLnggKyBvcmlnaW4ud2lkdGggOiB0YXJnZXQueCArIHRhcmdldC53aWR0aDtcbiAgICAgICAgY29uc3QgbWluWSA9IG9yaWdpbi55IDwgdGFyZ2V0LnkgPyBvcmlnaW4ueSA6IHRhcmdldC55O1xuICAgICAgICBjb25zdCBtYXhZID0gb3JpZ2luLnkgKyBvcmlnaW4uaGVpZ2h0ID4gdGFyZ2V0LnkgKyB0YXJnZXQuaGVpZ2h0ID8gb3JpZ2luLnkgKyBvcmlnaW4uaGVpZ2h0IDogdGFyZ2V0LnkgKyB0YXJnZXQuaGVpZ2h0O1xuICAgICAgICAvLyBmbG9hdCBjYWxjdWxhdGUgZXJyb3IoIGVnOiAxLjQyMTA4NTQ3MTUyMDIwMDRlLTE0ID4gMClcbiAgICAgICAgaWYgKE1hdGguZmxvb3IobWF4WCAtIG1pblggLSBvcmlnaW4ud2lkdGggLSB0YXJnZXQud2lkdGgpIDw9IDAgJiYgTWF0aC5mbG9vcihtYXhZIC0gbWluWSAtIG9yaWdpbi5oZWlnaHQgLSB0YXJnZXQuaGVpZ2h0KSA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgdG9SZWN0YW5nbGVDbGllbnQ6IChwb2ludHM6IFtQb2ludCwgUG9pbnRdKSA9PiB7XG4gICAgICAgIGNvbnN0IHhBcnJheSA9IHBvaW50cy5tYXAoZWxlID0+IGVsZVswXSk7XG4gICAgICAgIGNvbnN0IHlBcnJheSA9IHBvaW50cy5tYXAoZWxlID0+IGVsZVsxXSk7XG4gICAgICAgIGNvbnN0IHhNaW4gPSBNYXRoLm1pbiguLi54QXJyYXkpO1xuICAgICAgICBjb25zdCB4TWF4ID0gTWF0aC5tYXgoLi4ueEFycmF5KTtcbiAgICAgICAgY29uc3QgeU1pbiA9IE1hdGgubWluKC4uLnlBcnJheSk7XG4gICAgICAgIGNvbnN0IHlNYXggPSBNYXRoLm1heCguLi55QXJyYXkpO1xuICAgICAgICBjb25zdCByZWN0ID0geyB4OiB4TWluLCB5OiB5TWluLCB3aWR0aDogeE1heCAtIHhNaW4sIGhlaWdodDogeU1heCAtIHlNaW4gfTtcbiAgICAgICAgcmV0dXJuIHJlY3Q7XG4gICAgfSxcbiAgICBnZXRPdXRsaW5lUmVjdGFuZ2xlOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiByZWN0YW5nbGUueCArIG9mZnNldCxcbiAgICAgICAgICAgIHk6IHJlY3RhbmdsZS55ICsgb2Zmc2V0LFxuICAgICAgICAgICAgd2lkdGg6IHJlY3RhbmdsZS53aWR0aCAtIG9mZnNldCAqIDIsXG4gICAgICAgICAgICBoZWlnaHQ6IHJlY3RhbmdsZS5oZWlnaHQgLSBvZmZzZXQgKiAyXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBpbmZsYXRlOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIGRlbHRhOiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3QgaGFsZiA9IGRlbHRhIC8gMjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IHJlY3RhbmdsZS54IC0gaGFsZixcbiAgICAgICAgICAgIHk6IHJlY3RhbmdsZS55IC0gaGFsZixcbiAgICAgICAgICAgIHdpZHRoOiByZWN0YW5nbGUud2lkdGggKyBoYWxmICogMixcbiAgICAgICAgICAgIGhlaWdodDogcmVjdGFuZ2xlLmhlaWdodCArIGhhbGYgKiAyXG4gICAgICAgIH07XG4gICAgfSxcbiAgICBpc0VxdWFsOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG90aGVyUmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHJlY3RhbmdsZS54ID09PSBvdGhlclJlY3RhbmdsZS54ICYmXG4gICAgICAgICAgICByZWN0YW5nbGUueSA9PT0gb3RoZXJSZWN0YW5nbGUueSAmJlxuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoID09PSBvdGhlclJlY3RhbmdsZS53aWR0aCAmJlxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCA9PT0gb3RoZXJSZWN0YW5nbGUuaGVpZ2h0XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHM6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueV0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XVxuICAgICAgICBdIGFzIFtQb2ludCwgUG9pbnQsIFBvaW50LCBQb2ludF07XG4gICAgfSxcbiAgICBnZXRFZGdlQ2VudGVyUG9pbnRzOiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDIsIHJlY3RhbmdsZS55XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHRdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXVxuICAgICAgICBdIGFzIFtQb2ludCwgUG9pbnQsIFBvaW50LCBQb2ludF07XG4gICAgfSxcbiAgICBnZXRDb25uZWN0aW9uUG9pbnQ6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50T2ZSZWN0YW5nbGUpID0+IHtcbiAgICAgICAgcmV0dXJuIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAqIHBvaW50WzBdLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgKiBwb2ludFsxXV0gYXMgUG9pbnQ7XG4gICAgfVxufTtcbiJdfQ==
@@ -6,11 +6,11 @@ import { PlaitChildrenElement } from './core/children/children.component';
6
6
  import * as i0 from "@angular/core";
7
7
  const COMPONENTS = [PlaitBoardComponent, PlaitChildrenElement, PlaitElementComponent];
8
8
  export class PlaitModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.3", ngImport: i0, type: PlaitModule, declarations: [PlaitBoardComponent, PlaitChildrenElement, PlaitElementComponent], imports: [CommonModule], exports: [PlaitBoardComponent, PlaitChildrenElement, PlaitElementComponent] }); }
11
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitModule, imports: [CommonModule] }); }
9
12
  }
10
- PlaitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- PlaitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.5", ngImport: i0, type: PlaitModule, declarations: [PlaitBoardComponent, PlaitChildrenElement, PlaitElementComponent], imports: [CommonModule], exports: [PlaitBoardComponent, PlaitChildrenElement, PlaitElementComponent] });
12
- PlaitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitModule, imports: [CommonModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImport: i0, type: PlaitModule, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: PlaitModule, decorators: [{
14
14
  type: NgModule,
15
15
  args: [{
16
16
  declarations: [...COMPONENTS],
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
18
18
  exports: [...COMPONENTS]
19
19
  }]
20
20
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGxhaXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUUxRSxNQUFNLFVBQVUsR0FBRyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFPdEYsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFQSixtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsYUFJdEUsWUFBWSxhQUpOLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQjt5R0FPdkUsV0FBVyxZQUhWLFlBQVk7MkZBR2IsV0FBVztrQkFMdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0Qm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvZWxlbWVudC9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdENoaWxkcmVuRWxlbWVudCB9IGZyb20gJy4vY29yZS9jaGlsZHJlbi9jaGlsZHJlbi5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1BsYWl0Qm9hcmRDb21wb25lbnQsIFBsYWl0Q2hpbGRyZW5FbGVtZW50LCBQbGFpdEVsZW1lbnRDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFpdE1vZHVsZSB7fVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGxhaXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUUxRSxNQUFNLFVBQVUsR0FBRyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFPdEYsTUFBTSxPQUFPLFdBQVc7OEdBQVgsV0FBVzsrR0FBWCxXQUFXLGlCQVBKLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixhQUl0RSxZQUFZLGFBSk4sbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCOytHQU92RSxXQUFXLFlBSFYsWUFBWTs7MkZBR2IsV0FBVztrQkFMdkIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0Qm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2JvYXJkL2JvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvZWxlbWVudC9lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQbGFpdENoaWxkcmVuRWxlbWVudCB9IGZyb20gJy4vY29yZS9jaGlsZHJlbi9jaGlsZHJlbi5jb21wb25lbnQnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW1BsYWl0Qm9hcmRDb21wb25lbnQsIFBsYWl0Q2hpbGRyZW5FbGVtZW50LCBQbGFpdEVsZW1lbnRDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxufSlcbmV4cG9ydCBjbGFzcyBQbGFpdE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,106 @@
1
+ import { PlaitPointerType } from '../interfaces/pointer';
2
+ import { Transforms } from '../transforms';
3
+ import { FLUSHING, PATH_REFS } from '../utils/weak-maps';
4
+ import { PathRef } from '../interfaces/path-ref';
5
+ import { ThemeColorMode } from '../interfaces/theme';
6
+ import { CoreTransforms } from '../transforms/element';
7
+ export function createBoard(children, options) {
8
+ const board = {
9
+ viewport: {
10
+ zoom: 1
11
+ },
12
+ children,
13
+ theme: { themeColorMode: ThemeColorMode.default },
14
+ operations: [],
15
+ history: {
16
+ redos: [],
17
+ undos: []
18
+ },
19
+ selection: null,
20
+ options: options || {
21
+ readonly: false,
22
+ hideScrollbar: false,
23
+ disabledScrollOnNonFocus: false
24
+ },
25
+ pointer: options?.readonly ? PlaitPointerType.hand : PlaitPointerType.selection,
26
+ undo: () => { },
27
+ redo: () => { },
28
+ apply: (operation) => {
29
+ for (const ref of board.pathRefs()) {
30
+ PathRef.transform(ref, operation);
31
+ }
32
+ board.operations.push(operation);
33
+ Transforms.transform(board, operation);
34
+ if (!FLUSHING.get(board)) {
35
+ FLUSHING.set(board, true);
36
+ Promise.resolve().then(() => {
37
+ FLUSHING.set(board, false);
38
+ board.onChange();
39
+ board.operations = [];
40
+ });
41
+ }
42
+ },
43
+ pathRef: (path, options) => {
44
+ const affinity = options?.affinity || 'forward';
45
+ const ref = {
46
+ current: path,
47
+ affinity,
48
+ unref() {
49
+ const { current } = ref;
50
+ const pathRefs = board.pathRefs();
51
+ pathRefs.delete(ref);
52
+ ref.current = null;
53
+ return current;
54
+ }
55
+ };
56
+ const refs = board.pathRefs();
57
+ refs.add(ref);
58
+ return ref;
59
+ },
60
+ pathRefs: () => {
61
+ let refs = PATH_REFS.get(board);
62
+ if (!refs) {
63
+ refs = new Set();
64
+ PATH_REFS.set(board, refs);
65
+ }
66
+ return refs;
67
+ },
68
+ onChange: () => { },
69
+ mousedown: (event) => { },
70
+ mousemove: (event) => { },
71
+ mouseleave: (event) => { },
72
+ globalMousemove: (event) => { },
73
+ mouseup: (event) => { },
74
+ globalMouseup: (event) => { },
75
+ keydown: (event) => { },
76
+ globalKeydown: (event) => { },
77
+ keyup: (event) => { },
78
+ dblclick: (event) => { },
79
+ setFragment: (data) => { },
80
+ insertFragment: (data) => { },
81
+ deleteFragment: (data) => {
82
+ const elements = board.getDeletedFragment([]);
83
+ CoreTransforms.removeElements(board, elements);
84
+ },
85
+ getDeletedFragment: (data) => data,
86
+ drawElement: (context) => [],
87
+ redrawElement: (context, previousContext) => { },
88
+ destroyElement: (context) => { },
89
+ isWithinSelection: element => false,
90
+ isHitSelection: element => false,
91
+ isRecursion: element => true,
92
+ isMovable: element => false,
93
+ getRectangle: element => null,
94
+ applyTheme: (element) => { },
95
+ pointerDown: (pointer) => { },
96
+ pointerMove: (pointer) => { },
97
+ pointerUp: (pointer) => { },
98
+ pointerCancel: (pointer) => { },
99
+ pointerOut: (pointer) => { },
100
+ pointerLeave: (pointer) => { },
101
+ globalPointerMove: (pointer) => { },
102
+ globalPointerUp: (pointer) => { },
103
+ };
104
+ return board;
105
+ }
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy9jcmVhdGUtYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsV0FBVyxDQUFDLFFBQXdCLEVBQUUsT0FBMkI7SUFDN0UsTUFBTSxLQUFLLEdBQWU7UUFDdEIsUUFBUSxFQUFFO1lBQ04sSUFBSSxFQUFFLENBQUM7U0FDVjtRQUNELFFBQVE7UUFDUixLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDLE9BQU8sRUFBRTtRQUNqRCxVQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRTtZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7U0FDWjtRQUNELFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFLE9BQU8sSUFBSTtZQUNoQixRQUFRLEVBQUUsS0FBSztZQUNmLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLHdCQUF3QixFQUFFLEtBQUs7U0FDbEM7UUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTO1FBQy9FLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRSxD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LEdBQUUsQ0FBQztRQUM5QixVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFFLENBQUM7UUFDM0IsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRSxDQUFDO1FBQzdCLGlCQUFpQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRSxDQUFDO1FBQ2xDLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUUsQ0FBQztLQUNuQyxDQUFDO0lBQ0YsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0Qm9hcmRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBQbGFpdFBvaW50ZXJUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludGVyJztcbmltcG9ydCB7IFBsYWl0RWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0IH0gZnJvbSAnLi4vY29yZS9lbGVtZW50L2NvbnRleHQnO1xuaW1wb3J0IHsgUGxhaXRPcGVyYXRpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wZXJhdGlvbic7XG5pbXBvcnQgeyBUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBGTFVTSElORywgUEFUSF9SRUZTIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFBhdGhSZWYsIFBhdGhSZWZPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXRoLXJlZic7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wYXRoJztcbmltcG9ydCB7IFRoZW1lQ29sb3JNb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy90aGVtZSc7XG5pbXBvcnQgeyBDb3JlVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMvZWxlbWVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCb2FyZChjaGlsZHJlbjogUGxhaXRFbGVtZW50W10sIG9wdGlvbnM/OiBQbGFpdEJvYXJkT3B0aW9ucyk6IFBsYWl0Qm9hcmQge1xuICAgIGNvbnN0IGJvYXJkOiBQbGFpdEJvYXJkID0ge1xuICAgICAgICB2aWV3cG9ydDoge1xuICAgICAgICAgICAgem9vbTogMVxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgdGhlbWU6IHsgdGhlbWVDb2xvck1vZGU6IFRoZW1lQ29sb3JNb2RlLmRlZmF1bHQgfSxcbiAgICAgICAgb3BlcmF0aW9uczogW10sXG4gICAgICAgIGhpc3Rvcnk6IHtcbiAgICAgICAgICAgIHJlZG9zOiBbXSxcbiAgICAgICAgICAgIHVuZG9zOiBbXVxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Rpb246IG51bGwsXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMgfHwge1xuICAgICAgICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgICAgICAgICAgaGlkZVNjcm9sbGJhcjogZmFsc2UsXG4gICAgICAgICAgICBkaXNhYmxlZFNjcm9sbE9uTm9uRm9jdXM6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHBvaW50ZXI6IG9wdGlvbnM/LnJlYWRvbmx5ID8gUGxhaXRQb2ludGVyVHlwZS5oYW5kIDogUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24sXG4gICAgICAgIHVuZG86ICgpID0+IHt9LFxuICAgICAgICByZWRvOiAoKSA9PiB7fSxcbiAgICAgICAgYXBwbHk6IChvcGVyYXRpb246IFBsYWl0T3BlcmF0aW9uKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJlZiBvZiBib2FyZC5wYXRoUmVmcygpKSB7XG4gICAgICAgICAgICAgICAgUGF0aFJlZi50cmFuc2Zvcm0ocmVmLCBvcGVyYXRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBib2FyZC5vcGVyYXRpb25zLnB1c2gob3BlcmF0aW9uKTtcblxuICAgICAgICAgICAgVHJhbnNmb3Jtcy50cmFuc2Zvcm0oYm9hcmQsIG9wZXJhdGlvbik7XG5cbiAgICAgICAgICAgIGlmICghRkxVU0hJTkcuZ2V0KGJvYXJkKSkge1xuICAgICAgICAgICAgICAgIEZMVVNISU5HLnNldChib2FyZCwgdHJ1ZSk7XG5cbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRkxVU0hJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLm9uQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLm9wZXJhdGlvbnMgPSBbXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcGF0aFJlZjogKHBhdGg6IFBhdGgsIG9wdGlvbnM/OiBQYXRoUmVmT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWZmaW5pdHkgPSBvcHRpb25zPy5hZmZpbml0eSB8fCAnZm9yd2FyZCc7XG4gICAgICAgICAgICBjb25zdCByZWY6IFBhdGhSZWYgPSB7XG4gICAgICAgICAgICAgICAgY3VycmVudDogcGF0aCxcbiAgICAgICAgICAgICAgICBhZmZpbml0eSxcbiAgICAgICAgICAgICAgICB1bnJlZigpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSByZWY7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhSZWZzID0gYm9hcmQucGF0aFJlZnMoKTtcbiAgICAgICAgICAgICAgICAgICAgcGF0aFJlZnMuZGVsZXRlKHJlZik7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgY29uc3QgcmVmcyA9IGJvYXJkLnBhdGhSZWZzKCk7XG4gICAgICAgICAgICByZWZzLmFkZChyZWYpO1xuICAgICAgICAgICAgcmV0dXJuIHJlZjtcbiAgICAgICAgfSxcbiAgICAgICAgcGF0aFJlZnM6ICgpID0+IHtcbiAgICAgICAgICAgIGxldCByZWZzID0gUEFUSF9SRUZTLmdldChib2FyZCk7XG5cbiAgICAgICAgICAgIGlmICghcmVmcykge1xuICAgICAgICAgICAgICAgIHJlZnMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICAgICAgUEFUSF9SRUZTLnNldChib2FyZCwgcmVmcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZWZzO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZTogKCkgPT4ge30sXG4gICAgICAgIG1vdXNlZG93bjogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgbW91c2Vtb3ZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBtb3VzZWxlYXZlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHt9LFxuICAgICAgICBnbG9iYWxNb3VzZW1vdmU6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIG1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbE1vdXNldXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge30sXG4gICAgICAgIGtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGdsb2JhbEtleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge30sXG4gICAgICAgIGtleXVwOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHt9LFxuICAgICAgICBkYmxjbGljazogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7fSxcbiAgICAgICAgc2V0RnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7fSxcbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7fSxcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQ6IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJvYXJkLmdldERlbGV0ZWRGcmFnbWVudChbXSk7XG4gICAgICAgICAgICBDb3JlVHJhbnNmb3Jtcy5yZW1vdmVFbGVtZW50cyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICB9LFxuICAgICAgICBnZXREZWxldGVkRnJhZ21lbnQ6IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4gZGF0YSxcbiAgICAgICAgZHJhd0VsZW1lbnQ6IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiBbXSxcbiAgICAgICAgcmVkcmF3RWxlbWVudDogKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIHByZXZpb3VzQ29udGV4dCkgPT4ge30sXG4gICAgICAgIGRlc3Ryb3lFbGVtZW50OiAoY29udGV4dDogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCkgPT4ge30sXG4gICAgICAgIGlzV2l0aGluU2VsZWN0aW9uOiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBpc0hpdFNlbGVjdGlvbjogZWxlbWVudCA9PiBmYWxzZSxcbiAgICAgICAgaXNSZWN1cnNpb246IGVsZW1lbnQgPT4gdHJ1ZSxcbiAgICAgICAgaXNNb3ZhYmxlOiBlbGVtZW50ID0+IGZhbHNlLFxuICAgICAgICBnZXRSZWN0YW5nbGU6IGVsZW1lbnQgPT4gbnVsbCxcbiAgICAgICAgYXBwbHlUaGVtZTogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge30sXG4gICAgICAgIHBvaW50ZXJEb3duOiAocG9pbnRlcikgPT4ge30sXG4gICAgICAgIHBvaW50ZXJNb3ZlOiAocG9pbnRlcikgPT4ge30sXG4gICAgICAgIHBvaW50ZXJVcDogKHBvaW50ZXIpID0+IHt9LFxuICAgICAgICBwb2ludGVyQ2FuY2VsOiAocG9pbnRlcikgPT4ge30sXG4gICAgICAgIHBvaW50ZXJPdXQ6IChwb2ludGVyKSA9PiB7fSxcbiAgICAgICAgcG9pbnRlckxlYXZlOiAocG9pbnRlcikgPT4ge30sXG4gICAgICAgIGdsb2JhbFBvaW50ZXJNb3ZlOiAocG9pbnRlcikgPT4ge30sXG4gICAgICAgIGdsb2JhbFBvaW50ZXJVcDogKHBvaW50ZXIpID0+IHt9LFxuICAgIH07XG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { isHotkey } from 'is-hotkey';
2
+ import { PlaitBoard, PlaitPluginKey } from '../interfaces';
3
+ import { BoardTransforms, Transforms } from '../transforms';
4
+ import { depthFirstRecursion, getSelectedElements, hotkeys } from '../utils';
5
+ export const withHotkey = (board) => {
6
+ const { keydown, globalKeydown } = board;
7
+ board.keydown = (event) => {
8
+ const options = board.getPluginOptions(PlaitPluginKey.withSelection);
9
+ if (!PlaitBoard.isReadonly(board) && options.isMultiple && isHotkey('mod+a', event)) {
10
+ event.preventDefault();
11
+ let elements = [];
12
+ depthFirstRecursion(board, node => {
13
+ if (PlaitBoard.isBoard(node)) {
14
+ return;
15
+ }
16
+ elements.push(node);
17
+ }, node => {
18
+ if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
19
+ return true;
20
+ }
21
+ else {
22
+ return false;
23
+ }
24
+ }, true);
25
+ Transforms.addSelectionWithTemporaryElements(board, elements);
26
+ return;
27
+ }
28
+ const selectedElements = getSelectedElements(board);
29
+ if (!PlaitBoard.isReadonly(board) && selectedElements.length > 0 && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
30
+ event.preventDefault();
31
+ board.deleteFragment(null);
32
+ }
33
+ keydown(event);
34
+ };
35
+ board.globalKeydown = (event) => {
36
+ if (PlaitBoard.getMovingPointInBoard(board) || PlaitBoard.isMovingPointInBoard(board)) {
37
+ if (isHotkey(['mod+=', 'mod++'], { byKey: true })(event)) {
38
+ event.preventDefault();
39
+ BoardTransforms.updateZoom(board, board.viewport.zoom + 0.1, false);
40
+ return;
41
+ }
42
+ if (isHotkey(['mod+shift+=', 'mod+shift++'], { byKey: true })(event)) {
43
+ event.preventDefault();
44
+ BoardTransforms.fitViewport(board);
45
+ return;
46
+ }
47
+ if (isHotkey(['mod+-', 'mod+shift+-'])(event)) {
48
+ event.preventDefault();
49
+ BoardTransforms.updateZoom(board, board.viewport.zoom - 0.1);
50
+ return;
51
+ }
52
+ if (isHotkey(['mod+0', 'mod+shift+0'], { byKey: true })(event)) {
53
+ event.preventDefault();
54
+ BoardTransforms.updateZoom(board, 1);
55
+ return;
56
+ }
57
+ }
58
+ globalKeydown(event);
59
+ };
60
+ return board;
61
+ };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ob3RrZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wbHVnaW5zL3dpdGgtaG90a2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFZLFVBQVUsRUFBZ0IsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJN0UsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQzVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRXpDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDckMsTUFBTSxPQUFPLEdBQUksS0FBMkIsQ0FBQyxnQkFBZ0IsQ0FBb0IsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9HLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNqRixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxRQUFRLEdBQW1CLEVBQUUsQ0FBQztZQUNsQyxtQkFBbUIsQ0FDZixLQUFLLEVBQ0wsSUFBSSxDQUFDLEVBQUU7Z0JBQ0gsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUMxQixPQUFPO2lCQUNWO2dCQUNELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBb0IsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsRUFDRCxJQUFJLENBQUMsRUFBRTtnQkFDSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDckQsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0gsT0FBTyxLQUFLLENBQUM7aUJBQ2hCO1lBQ0wsQ0FBQyxFQUNELElBQUksQ0FDUCxDQUFDO1lBQ0YsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5RCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7UUFDM0MsSUFBSSxVQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25GLElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwRSxPQUFPO2FBQ1Y7WUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNsRSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzNDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzdELE9BQU87YUFDVjtZQUNELElBQUksUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDVjtTQUNKO1FBQ0QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzSG90a2V5IH0gZnJvbSAnaXMtaG90a2V5JztcbmltcG9ydCB7IEFuY2VzdG9yLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0UGx1Z2luS2V5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCb2FyZFRyYW5zZm9ybXMsIFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGRlcHRoRmlyc3RSZWN1cnNpb24sIGdldFNlbGVjdGVkRWxlbWVudHMsIGhvdGtleXMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJy4vd2l0aC1vcHRpb25zJztcbmltcG9ydCB7IFdpdGhQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi93aXRoLXNlbGVjdGlvbic7XG5cbmV4cG9ydCBjb25zdCB3aXRoSG90a2V5ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3QgeyBrZXlkb3duLCBnbG9iYWxLZXlkb3duIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuZ2V0UGx1Z2luT3B0aW9uczxXaXRoUGx1Z2luT3B0aW9ucz4oUGxhaXRQbHVnaW5LZXkud2l0aFNlbGVjdGlvbik7XG5cbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIG9wdGlvbnMuaXNNdWx0aXBsZSAmJiBpc0hvdGtleSgnbW9kK2EnLCBldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBsZXQgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uPEFuY2VzdG9yPihcbiAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2gobm9kZSBhcyBQbGFpdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmlzQm9hcmQobm9kZSkgfHwgYm9hcmQuaXNSZWN1cnNpb24obm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5hZGRTZWxlY3Rpb25XaXRoVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpICYmIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID4gMCAmJiAoaG90a2V5cy5pc0RlbGV0ZUJhY2t3YXJkKGV2ZW50KSB8fCBob3RrZXlzLmlzRGVsZXRlRm9yd2FyZChldmVudCkpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgYm9hcmQuZGVsZXRlRnJhZ21lbnQobnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBrZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsS2V5ZG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5nZXRNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpIHx8IFBsYWl0Qm9hcmQuaXNNb3ZpbmdQb2ludEluQm9hcmQoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrPScsICdtb2QrKyddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIGJvYXJkLnZpZXdwb3J0Lnpvb20gKyAwLjEsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2Qrc2hpZnQrPScsICdtb2Qrc2hpZnQrKyddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLmZpdFZpZXdwb3J0KGJvYXJkKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrLScsICdtb2Qrc2hpZnQrLSddKShldmVudCkpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVab29tKGJvYXJkLCBib2FyZC52aWV3cG9ydC56b29tIC0gMC4xKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNIb3RrZXkoWydtb2QrMCcsICdtb2Qrc2hpZnQrMCddLCB7IGJ5S2V5OiB0cnVlIH0pKGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVpvb20oYm9hcmQsIDEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBnbG9iYWxLZXlkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==