@foblex/flow 17.8.3 → 17.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.d.ts +8 -0
  2. package/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.d.ts +21 -0
  3. package/domain/f-connectors/calculate-source-connectors-to-connect/index.d.ts +2 -0
  4. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.d.ts +8 -0
  5. package/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.d.ts +20 -0
  6. package/domain/f-connectors/calculate-target-connectors-to-connect/index.d.ts +2 -0
  7. package/domain/f-connectors/index.d.ts +2 -2
  8. package/domain/f-connectors/providers.d.ts +3 -3
  9. package/domain/f-event-trigger.d.ts +1 -1
  10. package/domain/f-flow/providers.d.ts +1 -1
  11. package/domain/f-line-alignment/providers.d.ts +1 -1
  12. package/domain/f-node/add-node-to-store/add-node-to-store-request.d.ts +2 -2
  13. package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +3 -1
  14. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +22 -0
  15. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +52 -0
  16. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.d.ts +6 -0
  17. package/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.d.ts +22 -0
  18. package/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.d.ts +6 -0
  19. package/domain/f-node/calculate-connectors-connectable-sides/constants/index.d.ts +1 -0
  20. package/domain/f-node/calculate-connectors-connectable-sides/index.d.ts +7 -0
  21. package/domain/f-node/calculate-connectors-connectable-sides/models/index.d.ts +1 -0
  22. package/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.d.ts +2 -0
  23. package/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.d.ts +10 -0
  24. package/domain/f-node/calculate-connectors-connectable-sides/utils/index.d.ts +2 -0
  25. package/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.d.ts +7 -0
  26. package/domain/f-node/calculate-input-connections/calculate-input-connections-request.d.ts +2 -2
  27. package/domain/f-node/calculate-input-connections/calculate-input-connections.d.ts +3 -3
  28. package/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.d.ts +2 -3
  29. package/domain/f-node/calculate-output-connections/calculate-output-connections-request.d.ts +2 -2
  30. package/domain/f-node/calculate-output-connections/calculate-output-connections.d.ts +3 -3
  31. package/domain/f-node/index.d.ts +1 -2
  32. package/domain/f-node/providers.d.ts +2 -3
  33. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +2 -2
  34. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.d.ts +2 -2
  35. package/domain/f-zoom/providers.d.ts +1 -1
  36. package/domain/providers.d.ts +1 -1
  37. package/esm2022/domain/css-cls.mjs +2 -1
  38. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect-request.mjs +10 -0
  39. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/calculate-source-connectors-to-connect.mjs +59 -0
  40. package/esm2022/domain/f-connectors/calculate-source-connectors-to-connect/index.mjs +3 -0
  41. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect-request.mjs +10 -0
  42. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/calculate-target-connectors-to-connect.mjs +64 -0
  43. package/esm2022/domain/f-connectors/calculate-target-connectors-to-connect/index.mjs +3 -0
  44. package/esm2022/domain/f-connectors/index.mjs +3 -3
  45. package/esm2022/domain/f-connectors/providers.mjs +5 -5
  46. package/esm2022/domain/f-event-trigger.mjs +2 -2
  47. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +4 -4
  48. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +2 -2
  49. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +10 -0
  50. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +59 -0
  51. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +3 -0
  52. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +8 -0
  53. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +132 -0
  54. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +3 -0
  55. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides-request.mjs +8 -0
  56. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/calculate-connectors-connectable-sides.mjs +73 -0
  57. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/calculatable-sides.mjs +12 -0
  58. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/constants/index.mjs +2 -0
  59. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/index.mjs +8 -0
  60. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/index.mjs +2 -0
  61. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/models/t-calculate-mode.mjs +2 -0
  62. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/determine-side.mjs +124 -0
  63. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/index.mjs +3 -0
  64. package/esm2022/domain/f-node/calculate-connectors-connectable-sides/utils/is-calculate-mode.mjs +12 -0
  65. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +4 -4
  66. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +20 -7
  67. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +5 -8
  68. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +4 -4
  69. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +20 -7
  70. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
  71. package/esm2022/domain/f-node/index.mjs +2 -3
  72. package/esm2022/domain/f-node/providers.mjs +3 -5
  73. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +3 -3
  74. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  75. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +4 -4
  76. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect-request.mjs +1 -1
  77. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +2 -2
  78. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -14
  79. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +4 -1
  80. package/esm2022/domain/index.mjs +1 -1
  81. package/esm2022/domain/is-mobile.mjs +5 -3
  82. package/esm2022/f-connectors/e-f-connectable-side.mjs +3 -1
  83. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +1 -1
  84. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.mjs +10 -0
  85. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.mjs +58 -0
  86. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.mjs +10 -0
  87. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.mjs +47 -0
  88. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.mjs +3 -3
  89. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/index.mjs +3 -3
  90. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +8 -8
  91. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +3 -3
  92. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +7 -7
  93. package/esm2022/f-draggable/f-connection/providers.mjs +4 -4
  94. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -3
  95. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
  96. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +11 -13
  97. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +14 -12
  98. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  99. package/esm2022/f-node/f-group.directive.mjs +3 -3
  100. package/esm2022/f-node/f-node.directive.mjs +3 -3
  101. package/esm2022/f-storage/f-connectors-store.mjs +11 -0
  102. package/esm2022/f-storage/index.mjs +2 -1
  103. package/f-connection/providers.d.ts +1 -1
  104. package/f-connectors/e-f-connectable-side.d.ts +2 -0
  105. package/f-connectors/providers.d.ts +1 -1
  106. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation-request.d.ts +8 -0
  107. package/f-draggable/f-connection/f-create-connection/create-preparation/create-connection-preparation.d.ts +16 -0
  108. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation-request.d.ts +8 -0
  109. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/create-connection-from-output-preparation.d.ts +14 -0
  110. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/index.d.ts +2 -2
  111. package/f-draggable/f-connection/f-create-connection/create-preparation/index.d.ts +2 -2
  112. package/f-draggable/f-connection/providers.d.ts +2 -2
  113. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.d.ts +2 -2
  114. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  115. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
  116. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +1 -1
  117. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.d.ts +1 -1
  118. package/f-draggable/f-node-move/providers.d.ts +1 -1
  119. package/f-draggable/providers.d.ts +1 -1
  120. package/f-minimap/domain/providers.d.ts +1 -1
  121. package/f-minimap/providers.d.ts +1 -1
  122. package/f-node/providers.d.ts +2 -2
  123. package/f-selection-area/domain/providers.d.ts +1 -1
  124. package/f-storage/f-connectors-store.d.ts +6 -0
  125. package/f-storage/index.d.ts +1 -0
  126. package/f-storage/providers.d.ts +1 -1
  127. package/fesm2022/foblex-flow.mjs +1281 -1075
  128. package/fesm2022/foblex-flow.mjs.map +1 -1
  129. package/package.json +1 -1
  130. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +0 -17
  131. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +0 -6
  132. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.d.ts +0 -2
  133. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +0 -18
  134. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.d.ts +0 -6
  135. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.d.ts +0 -2
  136. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +0 -45
  137. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +0 -20
  138. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.d.ts +0 -6
  139. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.d.ts +0 -59
  140. package/domain/f-node/calculate-node-connectors-connectable-sides/index.d.ts +0 -4
  141. package/domain/f-node/get-nodes/get-nodes-request.d.ts +0 -3
  142. package/domain/f-node/get-nodes/get-nodes.d.ts +0 -13
  143. package/domain/f-node/get-nodes/index.d.ts +0 -2
  144. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +0 -48
  145. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +0 -8
  146. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/index.mjs +0 -3
  147. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +0 -43
  148. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +0 -8
  149. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/index.mjs +0 -3
  150. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +0 -8
  151. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +0 -92
  152. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +0 -3
  153. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +0 -8
  154. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +0 -55
  155. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +0 -3
  156. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.mjs +0 -8
  157. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.mjs +0 -99
  158. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/index.mjs +0 -5
  159. package/esm2022/domain/f-node/get-nodes/get-nodes-request.mjs +0 -4
  160. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +0 -25
  161. package/esm2022/domain/f-node/get-nodes/index.mjs +0 -3
  162. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +0 -52
  163. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +0 -10
  164. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +0 -49
  165. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +0 -10
  166. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +0 -16
  167. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.d.ts +0 -8
  168. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +0 -14
  169. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.d.ts +0 -8
  170. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-connected-positions/index.d.ts +0 -0
  171. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.d.ts +0 -0
  172. /package/domain/f-node/{calculate-node-connectors-connectable-sides → calculate-connectors-connectable-sides}/calculate-connectable-side-by-internal-position/index.d.ts +0 -0
@@ -4,7 +4,7 @@ import { GetNormalizedElementRectRequest } from './get-normalized-element-rect-r
4
4
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
5
5
  import { FComponentsStore } from '../../f-storage';
6
6
  import { RoundedRect, SizeExtensions, RectExtensions, } from '@foblex/2d';
7
- import { GetNormalizedPointRequest } from "../get-normalized-point";
7
+ import { GetNormalizedPointRequest } from '../get-normalized-point';
8
8
  import * as i0 from "@angular/core";
9
9
  /**
10
10
  * Execution that retrieves the normalized rectangle of an element.
@@ -25,18 +25,6 @@ let GetNormalizedElementRectExecution = class GetNormalizedElementRectExecution
25
25
  const offsetSize = this._getOffsetSize(request.element, unscaledSize);
26
26
  return RoundedRect.fromCenter(unscaledRect, offsetSize.width, offsetSize.height);
27
27
  }
28
- // BrowserWindow
29
- // +--------------------------------+
30
- // | |
31
- // | Element |
32
- // | (x: 100, y: 50) |
33
- // | +--------+ |
34
- // | | | |
35
- // | | | |
36
- // | +--------+ |
37
- // | |
38
- // +--------------------------------+
39
- // This data of the element is relative to the browser window, not the canvas, with all transformations applied.
40
28
  _getElementRoundedRect(request) {
41
29
  return RoundedRect.fromRect(RectExtensions.fromElement(request.element));
42
30
  }
@@ -62,4 +50,4 @@ export { GetNormalizedElementRectExecution };
62
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedElementRectExecution, decorators: [{
63
51
  type: Injectable
64
52
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdC9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVMLFdBQVcsRUFHWCxjQUFjLEVBRWQsY0FBYyxHQUNmLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVwRTs7OztHQUlHO0FBR0ksSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFFM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFL0MsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBRTlFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV0RSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIscUNBQXFDO0lBQ3JDLHFDQUFxQztJQUNyQyxxQ0FBcUM7SUFDckMscUNBQXFDO0lBQ3JDLHFDQUFxQztJQUNyQyxxQ0FBcUM7SUFDckMscUNBQXFDO0lBQ3JDLHFDQUFxQztJQUNyQyxxQ0FBcUM7SUFDckMscUNBQXFDO0lBQ3JDLGdIQUFnSDtJQUN4RyxzQkFBc0IsQ0FBQyxPQUF3QztRQUNyRSxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBa0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFrQjtRQUNyQyxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFFBQWdCLEVBQUUsSUFBVyxFQUFFLElBQWtCO1FBQ3hFLE9BQU8sSUFBSSxXQUFXLENBQ3BCLFFBQVEsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQy9DLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQ3ZELENBQUE7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWlDLEVBQUUsSUFBVztRQUNuRSxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUE7SUFDMUQsQ0FBQzt3R0FyRFUsaUNBQWlDOzRHQUFqQyxpQ0FBaUM7O0FBQWpDLGlDQUFpQztJQUQ3QyxrQkFBa0IsQ0FBQywrQkFBK0IsQ0FBQztHQUN2QyxpQ0FBaUMsQ0FzRDdDOzs0RkF0RFksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge1xuICBJUm91bmRlZFJlY3QsXG4gIFJvdW5kZWRSZWN0LFxuICBJUG9pbnQsXG4gIElTaXplLFxuICBTaXplRXh0ZW5zaW9ucyxcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBSZWN0RXh0ZW5zaW9ucywgSVJlY3QsXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCB9IGZyb20gXCIuLi9nZXQtbm9ybWFsaXplZC1wb2ludFwiO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHJldHJpZXZlcyB0aGUgbm9ybWFsaXplZCByZWN0YW5nbGUgb2YgYW4gZWxlbWVudC5cbiAqIEl0IGNhbGN1bGF0ZXMgdGhlIHJlY3RhbmdsZSBiYXNlZCBvbiB0aGUgZWxlbWVudCdzIHBvc2l0aW9uIGFuZCBzaXplLFxuICogYWRqdXN0aW5nIGZvciB0aGUgY2FudmFzIHRyYW5zZm9ybWF0aW9uIGFuZCBlbGVtZW50IG9mZnNldHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgY29uc3Qgc3lzdGVtUmVjdCA9IHRoaXMuX2dldEVsZW1lbnRSb3VuZGVkUmVjdChyZXF1ZXN0KTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuX25vcm1hbGl6ZVBvc2l0aW9uKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkU2l6ZSA9IHRoaXMuX3Vuc2NhbGVTaXplKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkUmVjdCA9IHRoaXMuX2dldFVuc2NhbGVkUmVjdChwb3NpdGlvbiwgdW5zY2FsZWRTaXplLCBzeXN0ZW1SZWN0KVxuXG4gICAgY29uc3Qgb2Zmc2V0U2l6ZSA9IHRoaXMuX2dldE9mZnNldFNpemUocmVxdWVzdC5lbGVtZW50LCB1bnNjYWxlZFNpemUpO1xuXG4gICAgcmV0dXJuIFJvdW5kZWRSZWN0LmZyb21DZW50ZXIodW5zY2FsZWRSZWN0LCBvZmZzZXRTaXplLndpZHRoLCBvZmZzZXRTaXplLmhlaWdodCk7XG4gIH1cblxuICAvLyBCcm93c2VyV2luZG93XG4gIC8vICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAvLyB8ICAgICBFbGVtZW50ICAgICAgICAgICAgICAgICAgICB8XG4gIC8vIHwgICAgICh4OiAxMDAsIHk6IDUwKSAgICAgICAgICAgIHxcbiAgLy8gfCAgICAgKy0tLS0tLS0tKyAgICAgICAgICAgICAgICAgfFxuICAvLyB8ICAgICB8ICAgICAgICB8ICAgICAgICAgICAgICAgICB8XG4gIC8vIHwgICAgIHwgICAgICAgIHwgICAgICAgICAgICAgICAgIHxcbiAgLy8gfCAgICAgKy0tLS0tLS0tKyAgICAgICAgICAgICAgICAgfFxuICAvLyB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gIC8vICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gVGhpcyBkYXRhIG9mIHRoZSBlbGVtZW50IGlzIHJlbGF0aXZlIHRvIHRoZSBicm93c2VyIHdpbmRvdywgbm90IHRoZSBjYW52YXMsIHdpdGggYWxsIHRyYW5zZm9ybWF0aW9ucyBhcHBsaWVkLlxuICBwcml2YXRlIF9nZXRFbGVtZW50Um91bmRlZFJlY3QocmVxdWVzdDogR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIFJvdW5kZWRSZWN0LmZyb21SZWN0KFJlY3RFeHRlbnNpb25zLmZyb21FbGVtZW50KHJlcXVlc3QuZWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbm9ybWFsaXplUG9zaXRpb24ocmVjdDogSVJvdW5kZWRSZWN0KTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdChyZWN0KSk7XG4gIH1cblxuICBwcml2YXRlIF91bnNjYWxlU2l6ZShyZWN0OiBJUm91bmRlZFJlY3QpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUocmVjdC53aWR0aCAvIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSwgcmVjdC5oZWlnaHQgLyB0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0VW5zY2FsZWRSZWN0KHBvc2l0aW9uOiBJUG9pbnQsIHNpemU6IElTaXplLCByZWN0OiBJUm91bmRlZFJlY3QpOiBJUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBuZXcgUm91bmRlZFJlY3QoXG4gICAgICBwb3NpdGlvbi54LCBwb3NpdGlvbi55LCBzaXplLndpZHRoLCBzaXplLmhlaWdodCxcbiAgICAgIHJlY3QucmFkaXVzMSwgcmVjdC5yYWRpdXMyLCByZWN0LnJhZGl1czMsIHJlY3QucmFkaXVzNCxcbiAgICApXG4gIH1cblxuICBwcml2YXRlIF9nZXRPZmZzZXRTaXplKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgc2l6ZTogSVNpemUpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIFNpemVFeHRlbnNpb25zLm9mZnNldEZyb21FbGVtZW50KGVsZW1lbnQpIHx8IHNpemVcbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2dldC1ub3JtYWxpemVkLWVsZW1lbnQtcmVjdC9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUVMLFdBQVcsRUFHWCxjQUFjLEVBRWQsY0FBYyxHQUVmLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUVwRTs7OztHQUlHO0FBR0ksSUFBTSxpQ0FBaUMsR0FBdkMsTUFBTSxpQ0FBaUM7SUFHM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFL0MsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBd0M7UUFDcEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUV0RSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxPQUF3QztRQUNyRSxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsSUFBa0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFrQjtRQUNyQyxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxJQUFXLEVBQUUsSUFBa0I7UUFDeEUsT0FBTyxJQUFJLFdBQVcsQ0FDcEIsUUFBUSxDQUFDLENBQUMsRUFDVixRQUFRLENBQUMsQ0FBQyxFQUNWLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsT0FBTyxDQUNiLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWlDLEVBQUUsSUFBVztRQUNuRSxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDM0QsQ0FBQzt3R0FuRFUsaUNBQWlDOzRHQUFqQyxpQ0FBaUM7O0FBQWpDLGlDQUFpQztJQUQ3QyxrQkFBa0IsQ0FBQywrQkFBK0IsQ0FBQztHQUN2QyxpQ0FBaUMsQ0FvRDdDOzs0RkFwRFksaUNBQWlDO2tCQUY3QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QtcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge1xuICBJUm91bmRlZFJlY3QsXG4gIFJvdW5kZWRSZWN0LFxuICBJUG9pbnQsXG4gIElTaXplLFxuICBTaXplRXh0ZW5zaW9ucyxcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBSZWN0RXh0ZW5zaW9ucyxcbiAgSVJlY3QsXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCB9IGZyb20gJy4uL2dldC1ub3JtYWxpemVkLXBvaW50JztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCByZXRyaWV2ZXMgdGhlIG5vcm1hbGl6ZWQgcmVjdGFuZ2xlIG9mIGFuIGVsZW1lbnQuXG4gKiBJdCBjYWxjdWxhdGVzIHRoZSByZWN0YW5nbGUgYmFzZWQgb24gdGhlIGVsZW1lbnQncyBwb3NpdGlvbiBhbmQgc2l6ZSxcbiAqIGFkanVzdGluZyBmb3IgdGhlIGNhbnZhcyB0cmFuc2Zvcm1hdGlvbiBhbmQgZWxlbWVudCBvZmZzZXRzLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0LCBJUmVjdD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX3RyYW5zZm9ybSgpOiBJVHJhbnNmb3JtTW9kZWwge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzIS50cmFuc2Zvcm07XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgY29uc3Qgc3lzdGVtUmVjdCA9IHRoaXMuX2dldEVsZW1lbnRSb3VuZGVkUmVjdChyZXF1ZXN0KTtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuX25vcm1hbGl6ZVBvc2l0aW9uKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkU2l6ZSA9IHRoaXMuX3Vuc2NhbGVTaXplKHN5c3RlbVJlY3QpO1xuICAgIGNvbnN0IHVuc2NhbGVkUmVjdCA9IHRoaXMuX2dldFVuc2NhbGVkUmVjdChwb3NpdGlvbiwgdW5zY2FsZWRTaXplLCBzeXN0ZW1SZWN0KTtcblxuICAgIGNvbnN0IG9mZnNldFNpemUgPSB0aGlzLl9nZXRPZmZzZXRTaXplKHJlcXVlc3QuZWxlbWVudCwgdW5zY2FsZWRTaXplKTtcblxuICAgIHJldHVybiBSb3VuZGVkUmVjdC5mcm9tQ2VudGVyKHVuc2NhbGVkUmVjdCwgb2Zmc2V0U2l6ZS53aWR0aCwgb2Zmc2V0U2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RWxlbWVudFJvdW5kZWRSZWN0KHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRFbGVtZW50UmVjdFJlcXVlc3QpOiBJUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiBSb3VuZGVkUmVjdC5mcm9tUmVjdChSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChyZXF1ZXN0LmVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX25vcm1hbGl6ZVBvc2l0aW9uKHJlY3Q6IElSb3VuZGVkUmVjdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QocmVjdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zY2FsZVNpemUocmVjdDogSVJvdW5kZWRSZWN0KTogSVNpemUge1xuICAgIHJldHVybiBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC53aWR0aCAvIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSxcbiAgICAgIHJlY3QuaGVpZ2h0IC8gdGhpcy5fdHJhbnNmb3JtLnNjYWxlLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRVbnNjYWxlZFJlY3QocG9zaXRpb246IElQb2ludCwgc2l6ZTogSVNpemUsIHJlY3Q6IElSb3VuZGVkUmVjdCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIG5ldyBSb3VuZGVkUmVjdChcbiAgICAgIHBvc2l0aW9uLngsXG4gICAgICBwb3NpdGlvbi55LFxuICAgICAgc2l6ZS53aWR0aCxcbiAgICAgIHNpemUuaGVpZ2h0LFxuICAgICAgcmVjdC5yYWRpdXMxLFxuICAgICAgcmVjdC5yYWRpdXMyLFxuICAgICAgcmVjdC5yYWRpdXMzLFxuICAgICAgcmVjdC5yYWRpdXM0LFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPZmZzZXRTaXplKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgc2l6ZTogSVNpemUpOiBJU2l6ZSB7XG4gICAgcmV0dXJuIFNpemVFeHRlbnNpb25zLm9mZnNldEZyb21FbGVtZW50KGVsZW1lbnQpIHx8IHNpemU7XG4gIH1cbn1cbiJdfQ==
@@ -34,6 +34,9 @@ let GetNormalizedPointExecution = class GetNormalizedPointExecution {
34
34
  // +------------------------------------------+
35
35
  // Transform from the browser window to the canvas coordinates:
36
36
  handle(request) {
37
+ if (!this._store.flowHost) {
38
+ return request.position;
39
+ }
37
40
  return Point.fromPoint(request.position)
38
41
  .elementTransform(this._store.flowHost)
39
42
  .sub(this._transform.scaledPosition)
@@ -50,4 +53,4 @@ export { GetNormalizedPointExecution };
50
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetNormalizedPointExecution, decorators: [{
51
54
  type: Injectable
52
55
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQvZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXlCLE1BQU0sa0JBQWtCLENBQUM7O0FBRTdFOzs7O0dBSUc7QUFHSSxJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQUVyQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbkQsSUFBWSxVQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxnQkFBZ0I7SUFDaEIsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtEQUErRDtJQUN4RCxNQUFNLENBQUMsT0FBa0M7UUFDOUMsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7YUFDckMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7YUFDdEMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2FBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUM3QixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQS9CVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjs7QUFBM0IsMkJBQTJCO0lBRHZDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDO0dBQ2pDLDJCQUEyQixDQWdDdkM7OzRGQWhDWSwyQkFBMkI7a0JBRnZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIElUcmFuc2Zvcm1Nb2RlbCwgUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQtcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmV0cmlldmVzIHRoZSBub3JtYWxpemVkIHBvaW50IG9mIGEgcG9zaXRpb24uXG4gKiBJdCBjYWxjdWxhdGVzIHRoZSBwb2ludCBiYXNlZCBvbiB0aGUgcG9zaXRpb24ncyB0cmFuc2Zvcm1hdGlvblxuICogYW5kIHRoZSBjYW52YXMgdHJhbnNmb3JtYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkUG9pbnRFeGVjdXRpb24gaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QsIElQb2ludD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG4gIC8vIEJyb3dzZXJXaW5kb3dcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gfCAgRi1GbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgfCAgRi1DYW52YXMgKHNjYWxlOiAwLjUpICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIEVsZW1lbnQgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIFN5c3RlbTogKDUwMCwzMDApICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIE5vcm1hbGl6ZTogKDIwMCwxNTApICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gVHJhbnNmb3JtIGZyb20gdGhlIGJyb3dzZXIgd2luZG93IHRvIHRoZSBjYW52YXMgY29vcmRpbmF0ZXM6XG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCk6IElQb2ludCB7XG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LnBvc2l0aW9uKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fc3RvcmUuZmxvd0hvc3QpXG4gICAgICAuc3ViKHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbilcbiAgICAgIC5zdWIodGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uKVxuICAgICAgLmRpdih0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZ2V0LW5vcm1hbGl6ZWQtcG9pbnQvZ2V0LW5vcm1hbGl6ZWQtcG9pbnQuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTJCLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbEU7Ozs7R0FJRztBQUdJLElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTJCO0lBQ3JCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVuRCxJQUFZLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQyxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQUNELGdCQUFnQjtJQUNoQiwrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0NBQStDO0lBQy9DLCtDQUErQztJQUMvQywrQ0FBK0M7SUFDL0MsK0RBQStEO0lBQ3hELE1BQU0sQ0FBQyxPQUFrQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDMUIsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2FBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2FBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQzthQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7YUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzt3R0FsQ1UsMkJBQTJCOzRHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQztHQUNqQywyQkFBMkIsQ0FtQ3ZDOzs0RkFuQ1ksMkJBQTJCO2tCQUZ2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50LCBJVHJhbnNmb3JtTW9kZWwsIFBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50LXJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCByZXRyaWV2ZXMgdGhlIG5vcm1hbGl6ZWQgcG9pbnQgb2YgYSBwb3NpdGlvbi5cbiAqIEl0IGNhbGN1bGF0ZXMgdGhlIHBvaW50IGJhc2VkIG9uIHRoZSBwb3NpdGlvbidzIHRyYW5zZm9ybWF0aW9uXG4gKiBhbmQgdGhlIGNhbnZhcyB0cmFuc2Zvcm1hdGlvbi5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldE5vcm1hbGl6ZWRQb2ludEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCwgSVBvaW50PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF90cmFuc2Zvcm0oKTogSVRyYW5zZm9ybU1vZGVsIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZkNhbnZhcyEudHJhbnNmb3JtO1xuICB9XG4gIC8vIEJyb3dzZXJXaW5kb3dcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gfCAgRi1GbG93ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgfCAgRi1DYW52YXMgKHNjYWxlOiAwLjUpICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIEVsZW1lbnQgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIFN5c3RlbTogKDUwMCwzMDApICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgIE5vcm1hbGl6ZTogKDIwMCwxNTApICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICB8ICAgIHxcbiAgLy8gfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHxcbiAgLy8gfCAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgIHxcbiAgLy8gfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgLy8gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbiAgLy8gVHJhbnNmb3JtIGZyb20gdGhlIGJyb3dzZXIgd2luZG93IHRvIHRoZSBjYW52YXMgY29vcmRpbmF0ZXM6XG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Tm9ybWFsaXplZFBvaW50UmVxdWVzdCk6IElQb2ludCB7XG4gICAgaWYgKCF0aGlzLl9zdG9yZS5mbG93SG9zdCkge1xuICAgICAgcmV0dXJuIHJlcXVlc3QucG9zaXRpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIFBvaW50LmZyb21Qb2ludChyZXF1ZXN0LnBvc2l0aW9uKVxuICAgICAgLmVsZW1lbnRUcmFuc2Zvcm0odGhpcy5fc3RvcmUuZmxvd0hvc3QpXG4gICAgICAuc3ViKHRoaXMuX3RyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbilcbiAgICAgIC5zdWIodGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uKVxuICAgICAgLmRpdih0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG59XG4iXX0=
@@ -24,4 +24,4 @@ export * from './log-deprecated';
24
24
  export * from './log-execution-time';
25
25
  export * from './providers';
26
26
  export * from './transition-end';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsU0FBUyxDQUFDO0FBRXhCLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYW52YXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXpvb20nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub3JtYWxpemVkLWNvbm5lY3Rvci1yZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtZWxlbWVudC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1wb2ludCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc29ydC1pdGVtLWxheWVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWRvbS1lbGVtZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9jc3MtY2xzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWV2ZW50LXRyaWdnZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktbWFwJztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1tb2JpbGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xvZy1kZXByZWNhdGVkJztcblxuZXhwb3J0ICogZnJvbSAnLi9sb2ctZXhlY3V0aW9uLXRpbWUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNpdGlvbi1lbmQnO1xuXG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsK0JBQStCLENBQUM7QUFFOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUV2QyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsU0FBUyxDQUFDO0FBRXhCLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtZWxlbWVudC1yb3VuZGVkLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jYW52YXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29ubmVjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jb25uZWN0b3JzJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWRyYWdnYWJsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1mbG93JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWxpbmUtYWxpZ25tZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VsZWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXpvb20nO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub3JtYWxpemVkLWNvbm5lY3Rvci1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1lbGVtZW50LXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBvaW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWl0ZW0tbGF5ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtZG9tLWVsZW1lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Nzcy1jbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtZXZlbnQtdHJpZ2dlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1tYXAnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLW1vYmlsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbG9nLWRlcHJlY2F0ZWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xvZy1leGVjdXRpb24tdGltZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcblxuZXhwb3J0ICogZnJvbSAnLi90cmFuc2l0aW9uLWVuZCc7XG4iXX0=
@@ -1,5 +1,7 @@
1
1
  export function isMobile() {
2
- // @ts-ignore
3
- return /android|iPad|iPhone|iPod/i.test(navigator.userAgent || navigator.vendor || window['opera']);
2
+ return /android|iPad|iPhone|iPod/i.test(
3
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
4
+ // @ts-expect-error
5
+ navigator.userAgent || navigator.vendor || window['opera']);
4
6
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9iaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaXMtbW9iaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRO0lBQ3RCLGFBQWE7SUFDYixPQUFPLDJCQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFFLE9BQU8sQ0FBRSxDQUFDLENBQUE7QUFDdkcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc01vYmlsZSgpOiBib29sZWFuIHtcbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gL2FuZHJvaWR8aVBhZHxpUGhvbmV8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBuYXZpZ2F0b3IudmVuZG9yIHx8IHdpbmRvd1sgJ29wZXJhJyBdKVxufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtbW9iaWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vaXMtbW9iaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sMkJBQTJCLENBQUMsSUFBSTtJQUNyQyw2REFBNkQ7SUFDN0QsbUJBQW1CO0lBQ25CLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQzNELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gL2FuZHJvaWR8aVBhZHxpUGhvbmV8aVBvZC9pLnRlc3QoXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBuYXZpZ2F0b3IudXNlckFnZW50IHx8IG5hdmlnYXRvci52ZW5kb3IgfHwgd2luZG93WydvcGVyYSddLFxuICApO1xufVxuIl19
@@ -5,6 +5,8 @@ export var EFConnectableSide;
5
5
  EFConnectableSide["RIGHT"] = "right";
6
6
  EFConnectableSide["BOTTOM"] = "bottom";
7
7
  EFConnectableSide["CALCULATE"] = "calculate";
8
+ EFConnectableSide["CALCULATE_HORIZONTAL"] = "calculate_horizontal";
9
+ EFConnectableSide["CALCULATE_VERTICAL"] = "calculate_vertical";
8
10
  EFConnectableSide["AUTO"] = "auto";
9
11
  })(EFConnectableSide || (EFConnectableSide = {}));
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFZWDtBQVpELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFFYixnQ0FBVyxDQUFBO0lBRVgsb0NBQWUsQ0FBQTtJQUVmLHNDQUFpQixDQUFBO0lBRWpCLDRDQUF1QixDQUFBO0lBRXZCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVk1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcbiAgTEVGVCA9ICdsZWZ0JyxcblxuICBUT1AgPSAndG9wJyxcblxuICBSSUdIVCA9ICdyaWdodCcsXG5cbiAgQk9UVE9NID0gJ2JvdHRvbScsXG5cbiAgQ0FMQ1VMQVRFID0gJ2NhbGN1bGF0ZScsXG5cbiAgQVVUTyA9ICdhdXRvJyxcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFnQlg7QUFoQkQsV0FBWSxpQkFBaUI7SUFDM0Isa0NBQWEsQ0FBQTtJQUViLGdDQUFXLENBQUE7SUFFWCxvQ0FBZSxDQUFBO0lBRWYsc0NBQWlCLENBQUE7SUFFakIsNENBQXVCLENBQUE7SUFFdkIsa0VBQTZDLENBQUE7SUFFN0MsOERBQXlDLENBQUE7SUFFekMsa0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFoQlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQWdCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gIExFRlQgPSAnbGVmdCcsXG5cbiAgVE9QID0gJ3RvcCcsXG5cbiAgUklHSFQgPSAncmlnaHQnLFxuXG4gIEJPVFRPTSA9ICdib3R0b20nLFxuXG4gIENBTENVTEFURSA9ICdjYWxjdWxhdGUnLFxuXG4gIENBTENVTEFURV9IT1JJWk9OVEFMID0gJ2NhbGN1bGF0ZV9ob3Jpem9udGFsJyxcblxuICBDQUxDVUxBVEVfVkVSVElDQUwgPSAnY2FsY3VsYXRlX3ZlcnRpY2FsJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
85
85
  type: Input,
86
86
  args: [{ alias: 'fCanBeConnectedInputs' }]
87
87
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFB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LFVBQVU7d0JBQzVDLGdDQUFnQyxFQUFFLFlBQVk7d0JBQzlDLHdDQUF3QyxFQUFFLG1CQUFtQjtxQkFDOUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQztpQkFDM0U7OEJBMEJpQixvQkFBb0I7c0JBSm5DLEtBQUs7dUJBQUM7d0JBQ0wsS0FBSyxFQUFFLHdCQUF3Qjt3QkFDL0IsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixDQUFDO3FCQUM5RjtnQkFJZSxpQkFBaUI7c0JBRGhDLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU91dHB1dEJhc2UsIEZfTk9ERV9PVVRQVVQgfSBmcm9tICcuL2Ytbm9kZS1vdXRwdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZfTk9ERSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZE91dHB1dFRvU3RvcmVSZXF1ZXN0LCBGX0NTU19DTEFTUywgUmVtb3ZlT3V0cHV0RnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9yLWJhc2UnO1xuaW1wb3J0IHsgc3RyaW5nQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZk5vZGVPdXRwdXRdJyxcbiAgZXhwb3J0QXM6ICdmTm9kZU91dHB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW91dHB1dC1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1ub2RlLW91dHB1dCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtc2VsZi1jb25uZWN0YWJsZV0nOiAnaXNTZWxmQ29ubmVjdGFibGUnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfTk9ERV9PVVRQVVQsIHVzZUV4aXN0aW5nOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRwdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dHB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZSA9IGluamVjdChGX05PREUpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KGBmLW5vZGUtb3V0cHV0LSR7dW5pcXVlSWQrK31gLCB7XG4gICAgYWxpYXM6ICdmT3V0cHV0SWQnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiBzdHJpbmdBdHRyaWJ1dGUodmFsdWUpIHx8IGBmLW5vZGUtb3V0cHV0LSR7dW5pcXVlSWQrK31gLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPihmYWxzZSwge1xuICAgIGFsaWFzOiAnZk91dHB1dE11bHRpcGxlJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmT3V0cHV0RGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgQElucHV0KHtcbiAgICBhbGlhczogJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZk91dHB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKSxcbiAgfSlcbiAgcHVibGljIG92ZXJyaWRlIHVzZXJGQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlzU2VsZkNvbm5lY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoeyBhbGlhczogJ2ZDYW5CZUNvbm5lY3RlZElucHV0cycgfSlcbiAgcHVibGljIG92ZXJyaWRlIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ub2RlLmZJZCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZUhvc3QoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRPdXRwdXRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fbm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd1c2VyRkNvbm5lY3RhYmxlU2lkZSddKSB7XG4gICAgICB0aGlzLl9ub2RlLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKHRvQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHN1cGVyLnNldENvbm5lY3RlZCh0b0Nvbm5lY3Rvcik7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKEZfQ1NTX0NMQVNTLkNPTk5FQ1RPUi5PVVRQVVRfQ09OTkVDVEVELCB0cnVlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXRDb25uZWN0ZWQoKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLk9VVFBVVF9DT05ORUNURUQsIGZhbHNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlT3V0cHV0RnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFB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VUFBVTt3QkFDNUMsZ0NBQWdDLEVBQUUsWUFBWTt3QkFDOUMsd0NBQXdDLEVBQUUsbUJBQW1CO3FCQUM5RDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxzQkFBc0IsRUFBRSxDQUFDO2lCQUMzRTs4QkEwQmlCLG9CQUFvQjtzQkFKbkMsS0FBSzt1QkFBQzt3QkFDTCxLQUFLLEVBQUUsd0JBQXdCO3dCQUMvQixTQUFTLEVBQUUsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsaUJBQWlCLENBQUM7cUJBQzlGO2dCQUllLGlCQUFpQjtzQkFEaEMsS0FBSztnQkFJVSxvQkFBb0I7c0JBRG5DLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlT3V0cHV0QmFzZSwgRl9OT0RFX09VVFBVVCB9IGZyb20gJy4vZi1ub2RlLW91dHB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkT3V0cHV0VG9TdG9yZVJlcXVlc3QsIEZfQ1NTX0NMQVNTLCBSZW1vdmVPdXRwdXRGcm9tU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3ItYmFzZSc7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmTm9kZU91dHB1dF0nLFxuICBleHBvcnRBczogJ2ZOb2RlT3V0cHV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtb3V0cHV0LWlkXSc6ICdmSWQoKScsXG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLW5vZGUtb3V0cHV0JyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtbXVsdGlwbGVdJzogJ211bHRpcGxlJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1zZWxmLWNvbm5lY3RhYmxlXSc6ICdpc1NlbGZDb25uZWN0YWJsZScsXG4gIH0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRl9OT0RFX09VVFBVVCwgdXNlRXhpc3Rpbmc6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZU91dHB1dERpcmVjdGl2ZSBleHRlbmRzIEZOb2RlT3V0cHV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlID0gaW5qZWN0KEZfTk9ERSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oYGYtbm9kZS1vdXRwdXQtJHt1bmlxdWVJZCsrfWAsIHtcbiAgICBhbGlhczogJ2ZPdXRwdXRJZCcsXG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgYGYtbm9kZS1vdXRwdXQtJHt1bmlxdWVJZCsrfWAsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmT3V0cHV0TXVsdGlwbGUnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4oZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZPdXRwdXREaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBASW5wdXQoe1xuICAgIGFsaWFzOiAnZk91dHB1dENvbm5lY3RhYmxlU2lkZScsXG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IGNhc3RUb0VudW0odmFsdWUsICdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJywgRUZDb25uZWN0YWJsZVNpZGUpLFxuICB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgdXNlckZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBpc1NlbGZDb25uZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmQ2FuQmVDb25uZWN0ZWRJbnB1dHMnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5CZUNvbm5lY3RlZElucHV0czogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZOb2RlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZS5mSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVIb3N0KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGUuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkT3V0cHV0VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICAgIHRoaXMuX25vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndXNlckZDb25uZWN0YWJsZVNpZGUnXSkge1xuICAgICAgdGhpcy5fbm9kZS5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZCh0b0Nvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb25uZWN0ZWQodG9Db25uZWN0b3IpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX0NPTk5FQ1RFRCwgdHJ1ZSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLk9VVFBVVF9OT1RfQ09OTkVDVEFCTEUsXG4gICAgICAhdGhpcy5jYW5CZUNvbm5lY3RlZCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIHN1cGVyLnJlc2V0Q29ubmVjdGVkKCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKEZfQ1NTX0NMQVNTLkNPTk5FQ1RPUi5PVVRQVVRfQ09OTkVDVEVELCBmYWxzZSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLk9VVFBVVF9OT1RfQ09OTkVDVEFCTEUsXG4gICAgICAhdGhpcy5jYW5CZUNvbm5lY3RlZCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX25vZGUucmVtb3ZlQ29ubmVjdG9yKHRoaXMpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZU91dHB1dEZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ export class CreateConnectionPreparationRequest {
2
+ event;
3
+ fTrigger;
4
+ static fToken = Symbol('CreateConnectionPreparationRequest');
5
+ constructor(event, fTrigger) {
6
+ this.event = event;
7
+ this.fTrigger = fTrigger;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24tcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24vY3JlYXRlLXByZXBhcmF0aW9uL2NyZWF0ZS1jb25uZWN0aW9uLXByZXBhcmF0aW9uLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGtDQUFrQztJQUczQjtJQUNBO0lBSGxCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEUsWUFDa0IsS0FBb0IsRUFDcEIsUUFBdUI7UUFEdkIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFlO0lBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9kcmFnLXRvb2xraXQnO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QnKTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGV2ZW50OiBJUG9pbnRlckV2ZW50LFxuICAgIHB1YmxpYyByZWFkb25seSBmVHJpZ2dlcjogRkV2ZW50VHJpZ2dlcixcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,58 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FComponentsStore } from '../../../../f-storage';
4
+ import { isNodeOutlet, isNodeOutput } from '../../../../f-connectors';
5
+ import { CreateConnectionPreparationRequest } from './create-connection-preparation-request';
6
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
7
+ import { FCreateConnectionFromOutletPreparationRequest } from './from-outlet-preparation';
8
+ import { CreateConnectionFromOutputPreparationRequest } from './from-output-preparation';
9
+ import { FDraggableDataContext } from '../../../f-draggable-data-context';
10
+ import { isValidEventTrigger } from '../../../../domain';
11
+ import * as i0 from "@angular/core";
12
+ // import { IPoint } from '@foblex/2d';
13
+ // import { BrowserService } from '@foblex/platform';
14
+ let CreateConnectionPreparation = class CreateConnectionPreparation {
15
+ _mediator = inject(FMediator);
16
+ _store = inject(FComponentsStore);
17
+ _dragContext = inject(FDraggableDataContext);
18
+ // private readonly _browser = inject(BrowserService);
19
+ _node;
20
+ handle(request) {
21
+ if (!this._isValid(request) || !this._isValidTrigger(request)) {
22
+ return;
23
+ }
24
+ // const elements = this._elementsFromPoint(request.event.getPosition());
25
+ //
26
+ // const outlet = this._findOutlet(elements);
27
+ // const output = this._findOutput(elements);
28
+ if (isNodeOutlet(request.event.targetElement)) {
29
+ this._mediator.execute(new FCreateConnectionFromOutletPreparationRequest(request.event, this._node));
30
+ }
31
+ else if (isNodeOutput(request.event.targetElement)) {
32
+ this._mediator.execute(new CreateConnectionFromOutputPreparationRequest(request.event, this._node));
33
+ }
34
+ }
35
+ _isValid(request) {
36
+ return !!this._getNode(request.event) && this._isValidConditions();
37
+ }
38
+ _getNode(event) {
39
+ this._node = this._store.fNodes.find((n) => n.isContains(event.targetElement));
40
+ return this._node;
41
+ }
42
+ _isValidConditions() {
43
+ return this._dragContext.isEmpty() && !!this._store.fTempConnection;
44
+ }
45
+ _isValidTrigger(request) {
46
+ return isValidEventTrigger(request.event.originalEvent, request.fTrigger);
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionPreparation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionPreparation });
50
+ };
51
+ CreateConnectionPreparation = __decorate([
52
+ FExecutionRegister(CreateConnectionPreparationRequest)
53
+ ], CreateConnectionPreparation);
54
+ export { CreateConnectionPreparation };
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionPreparation, decorators: [{
56
+ type: Injectable
57
+ }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9jcmVhdGUtY29ubmVjdGlvbi1wcmVwYXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUYsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRXpELHVDQUF1QztBQUN2QyxxREFBcUQ7QUFJOUMsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBMkI7SUFHckIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlELHNEQUFzRDtJQUU5QyxLQUFLLENBQXdCO0lBRTlCLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5RCxPQUFPO1FBQ1QsQ0FBQztRQUNELHlFQUF5RTtRQUN6RSxFQUFFO1FBQ0YsNkNBQTZDO1FBQzdDLDZDQUE2QztRQUU3QyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksNkNBQTZDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBTSxDQUFDLENBQzlFLENBQUM7UUFDSixDQUFDO2FBQU0sSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLDRDQUE0QyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQU0sQ0FBQyxDQUM3RSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsT0FBMkM7UUFDMUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckUsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFvQjtRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUUvRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQ3RFLENBQUM7SUFFTyxlQUFlLENBQUMsT0FBOEM7UUFDcEUsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUUsQ0FBQzt3R0E5Q1UsMkJBQTJCOzRHQUEzQiwyQkFBMkI7O0FBQTNCLDJCQUEyQjtJQUR2QyxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQywyQkFBMkIsQ0EyRHZDOzs0RkEzRFksMkJBQTJCO2tCQUZ2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBpc05vZGVPdXRsZXQsIGlzTm9kZU91dHB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24tcmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25Gcm9tT3V0bGV0UHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mcm9tLW91dGxldC1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZnJvbS1vdXRwdXQtcHJlcGFyYXRpb24nO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUtZGF0YS1jb250ZXh0JztcbmltcG9ydCB7IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXJlYXNzaWduLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgaXNWYWxpZEV2ZW50VHJpZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vZHJhZy10b29sa2l0Jztcbi8vIGltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuLy8gaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblxuICBpbXBsZW1lbnRzIElIYW5kbGVyPENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsIHZvaWQ+XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmFnQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyID0gaW5qZWN0KEJyb3dzZXJTZXJ2aWNlKTtcblxuICBwcml2YXRlIF9ub2RlOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc1ZhbGlkKHJlcXVlc3QpIHx8ICF0aGlzLl9pc1ZhbGlkVHJpZ2dlcihyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBjb25zdCBlbGVtZW50cyA9IHRoaXMuX2VsZW1lbnRzRnJvbVBvaW50KHJlcXVlc3QuZXZlbnQuZ2V0UG9zaXRpb24oKSk7XG4gICAgLy9cbiAgICAvLyBjb25zdCBvdXRsZXQgPSB0aGlzLl9maW5kT3V0bGV0KGVsZW1lbnRzKTtcbiAgICAvLyBjb25zdCBvdXRwdXQgPSB0aGlzLl9maW5kT3V0cHV0KGVsZW1lbnRzKTtcblxuICAgIGlmIChpc05vZGVPdXRsZXQocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50KSkge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgICAgbmV3IEZDcmVhdGVDb25uZWN0aW9uRnJvbU91dGxldFByZXBhcmF0aW9uUmVxdWVzdChyZXF1ZXN0LmV2ZW50LCB0aGlzLl9ub2RlISksXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoaXNOb2RlT3V0cHV0KHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCkpIHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICAgIG5ldyBDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdChyZXF1ZXN0LmV2ZW50LCB0aGlzLl9ub2RlISksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWQocmVxdWVzdDogQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5ldmVudCkgJiYgdGhpcy5faXNWYWxpZENvbmRpdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBGTm9kZUJhc2UgfCB1bmRlZmluZWQge1xuICAgIHRoaXMuX25vZGUgPSB0aGlzLl9zdG9yZS5mTm9kZXMuZmluZCgobikgPT4gbi5pc0NvbnRhaW5zKGV2ZW50LnRhcmdldEVsZW1lbnQpKTtcblxuICAgIHJldHVybiB0aGlzLl9ub2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZENvbmRpdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RyYWdDb250ZXh0LmlzRW1wdHkoKSAmJiAhIXRoaXMuX3N0b3JlLmZUZW1wQ29ubmVjdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX2lzVmFsaWRUcmlnZ2VyKHJlcXVlc3Q6IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNWYWxpZEV2ZW50VHJpZ2dlcihyZXF1ZXN0LmV2ZW50Lm9yaWdpbmFsRXZlbnQsIHJlcXVlc3QuZlRyaWdnZXIpO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBfZWxlbWVudHNGcm9tUG9pbnQocG9zaXRpb246IElQb2ludCk6IEhUTUxFbGVtZW50W10ge1xuICAvLyAgIHJldHVybiB0aGlzLl9icm93c2VyLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KHBvc2l0aW9uLngsIHBvc2l0aW9uLnkpIGFzIEhUTUxFbGVtZW50W107XG4gIC8vIH1cbiAgLy9cbiAgLy8gcHJpdmF0ZSBfZmluZE91dGxldChlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgLy8gICByZXR1cm4gZWxlbWVudHMuZmluZCgoZWwpID0+IGlzTm9kZU91dGxldChlbCkpO1xuICAvLyB9XG4gIC8vXG4gIC8vIHByaXZhdGUgX2ZpbmRPdXRwdXQoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gIC8vICAgcmV0dXJuIGVsZW1lbnRzLmZpbmQoKGVsKSA9PiBpc05vZGVPdXRwdXQoZWwpKTtcbiAgLy8gfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ export class CreateConnectionFromOutputPreparationRequest {
2
+ event;
3
+ node;
4
+ static fToken = Symbol('CreateConnectionFromOutputPreparationRequest');
5
+ constructor(event, node) {
6
+ this.event = event;
7
+ this.node = node;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tZnJvbS1vdXRwdXQtcHJlcGFyYXRpb24tcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24vY3JlYXRlLXByZXBhcmF0aW9uL2Zyb20tb3V0cHV0LXByZXBhcmF0aW9uL2NyZWF0ZS1jb25uZWN0aW9uLWZyb20tb3V0cHV0LXByZXBhcmF0aW9uLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLDRDQUE0QztJQUdyQztJQUNBO0lBSGxCLE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDaEYsWUFDa0IsS0FBb0IsRUFDcEIsSUFBZTtRQURmLFVBQUssR0FBTCxLQUFLLENBQWU7UUFDcEIsU0FBSSxHQUFKLElBQUksQ0FBVztJQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kcmFnLXRvb2xraXQnO1xuXG5leHBvcnQgY2xhc3MgQ3JlYXRlQ29ubmVjdGlvbkZyb21PdXRwdXRQcmVwYXJhdGlvblJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZXZlbnQ6IElQb2ludGVyRXZlbnQsXG4gICAgcHVibGljIHJlYWRvbmx5IG5vZGU6IEZOb2RlQmFzZSxcbiAgKSB7fVxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { CreateConnectionFromOutputPreparationRequest } from './create-connection-from-output-preparation-request';
4
+ import { isNodeOutput } from '../../../../../f-connectors';
5
+ import { FCreateConnectionDragHandlerPreparationRequest } from '../drag-handler-preparation';
6
+ import { FComponentsStore } from '../../../../../f-storage';
7
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
8
+ import * as i0 from "@angular/core";
9
+ let CreateConnectionFromOutputPreparation = class CreateConnectionFromOutputPreparation {
10
+ _mediator = inject(FMediator);
11
+ _store = inject(FComponentsStore);
12
+ handle(request) {
13
+ if (!this._isValid(request)) {
14
+ return;
15
+ }
16
+ const fOutput = this._getOutput(request.event.targetElement);
17
+ if (fOutput.canBeConnected) {
18
+ this._mediator.execute(new FCreateConnectionDragHandlerPreparationRequest(request.event.getPosition(), fOutput));
19
+ }
20
+ }
21
+ _isValid(request) {
22
+ return this._isNodeOutput(request.event.targetElement, request.node);
23
+ }
24
+ _isNodeOutput(element, fNode) {
25
+ return isNodeOutput(element) && !this._getNodeOutlets(fNode).length;
26
+ }
27
+ _getNodeOutlets(node) {
28
+ return this._store.fOutlets.filter((x) => node.isContains(x.hostElement));
29
+ }
30
+ _getOutput(element) {
31
+ const result = this._store.fOutputs.find((x) => x.hostElement.contains(element));
32
+ if (!result) {
33
+ throw new Error('Output not found');
34
+ }
35
+ return result;
36
+ }
37
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionFromOutputPreparation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionFromOutputPreparation });
39
+ };
40
+ CreateConnectionFromOutputPreparation = __decorate([
41
+ FExecutionRegister(CreateConnectionFromOutputPreparationRequest)
42
+ ], CreateConnectionFromOutputPreparation);
43
+ export { CreateConnectionFromOutputPreparation };
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionFromOutputPreparation, decorators: [{
45
+ type: Injectable
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbm5lY3Rpb24tZnJvbS1vdXRwdXQtcHJlcGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9mcm9tLW91dHB1dC1wcmVwYXJhdGlvbi9jcmVhdGUtY29ubmVjdGlvbi1mcm9tLW91dHB1dC1wcmVwYXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbkgsT0FBTyxFQUFtQyxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RixPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBSzFELElBQU0scUNBQXFDLEdBQTNDLE1BQU0scUNBQXFDO0lBRy9CLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxPQUFxRDtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdELElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLDhDQUE4QyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQ3pGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUFxRDtRQUNwRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBb0IsRUFBRSxLQUFnQjtRQUMxRCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RFLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBZTtRQUNyQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWdCO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sTUFBeUIsQ0FBQztJQUNuQyxDQUFDO3dHQXRDVSxxQ0FBcUM7NEdBQXJDLHFDQUFxQzs7QUFBckMscUNBQXFDO0lBRGpELGtCQUFrQixDQUFDLDRDQUE0QyxDQUFDO0dBQ3BELHFDQUFxQyxDQXVDakQ7OzRGQXZDWSxxQ0FBcUM7a0JBRmpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24tZnJvbS1vdXRwdXQtcHJlcGFyYXRpb24tcmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSwgRk5vZGVPdXRwdXRCYXNlLCBpc05vZGVPdXRwdXQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlclByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4uL2RyYWctaGFuZGxlci1wcmVwYXJhdGlvbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9mLW5vZGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKENyZWF0ZUNvbm5lY3Rpb25Gcm9tT3V0cHV0UHJlcGFyYXRpb25SZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENyZWF0ZUNvbm5lY3Rpb25Gcm9tT3V0cHV0UHJlcGFyYXRpb25cbiAgaW1wbGVtZW50cyBJSGFuZGxlcjxDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCwgdm9pZD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNWYWxpZChyZXF1ZXN0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmT3V0cHV0ID0gdGhpcy5fZ2V0T3V0cHV0KHJlcXVlc3QuZXZlbnQudGFyZ2V0RWxlbWVudCk7XG5cbiAgICBpZiAoZk91dHB1dC5jYW5CZUNvbm5lY3RlZCkge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgICAgbmV3IEZDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXJQcmVwYXJhdGlvblJlcXVlc3QocmVxdWVzdC5ldmVudC5nZXRQb3NpdGlvbigpLCBmT3V0cHV0KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBDcmVhdGVDb25uZWN0aW9uRnJvbU91dHB1dFByZXBhcmF0aW9uUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc05vZGVPdXRwdXQocmVxdWVzdC5ldmVudC50YXJnZXRFbGVtZW50LCByZXF1ZXN0Lm5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOb2RlT3V0cHV0KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmTm9kZTogRk5vZGVCYXNlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzTm9kZU91dHB1dChlbGVtZW50KSAmJiAhdGhpcy5fZ2V0Tm9kZU91dGxldHMoZk5vZGUpLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVPdXRsZXRzKG5vZGU6IEZOb2RlQmFzZSk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mT3V0bGV0cy5maWx0ZXIoKHgpID0+IG5vZGUuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPdXRwdXQoZWxlbWVudDogRWxlbWVudCk6IEZOb2RlT3V0cHV0QmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5ob3N0RWxlbWVudC5jb250YWlucyhlbGVtZW50KSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT3V0cHV0IG5vdCBmb3VuZCcpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQgYXMgRk5vZGVPdXRwdXRCYXNlO1xuICB9XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from './f-create-connection-from-output-preparation.execution';
2
- export * from './f-create-connection-from-output-preparation.request';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9mcm9tLW91dHB1dC1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlEQUF5RCxDQUFDO0FBRXhFLGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtY3JlYXRlLWNvbm5lY3Rpb24tZnJvbS1vdXRwdXQtcHJlcGFyYXRpb24uZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNyZWF0ZS1jb25uZWN0aW9uLWZyb20tb3V0cHV0LXByZXBhcmF0aW9uLnJlcXVlc3QnO1xuIl19
1
+ export * from './create-connection-from-output-preparation';
2
+ export * from './create-connection-from-output-preparation-request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9mcm9tLW91dHB1dC1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMscURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1jb25uZWN0aW9uLWZyb20tb3V0cHV0LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1mcm9tLW91dHB1dC1wcmVwYXJhdGlvbi1yZXF1ZXN0JztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  export * from './drag-handler-preparation';
2
2
  export * from './from-outlet-preparation';
3
3
  export * from './from-output-preparation';
4
- export * from './f-create-connection-preparation.execution';
5
- export * from './f-create-connection-preparation.request';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RyYWctaGFuZGxlci1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZnJvbS1vdXRsZXQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Zyb20tb3V0cHV0LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWNyZWF0ZS1jb25uZWN0aW9uLXByZXBhcmF0aW9uLmV4ZWN1dGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1jcmVhdGUtY29ubmVjdGlvbi1wcmVwYXJhdGlvbi5yZXF1ZXN0JztcbiJdfQ==
4
+ export * from './create-connection-preparation';
5
+ export * from './create-connection-preparation-request';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2NyZWF0ZS1wcmVwYXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RyYWctaGFuZGxlci1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZnJvbS1vdXRsZXQtcHJlcGFyYXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2Zyb20tb3V0cHV0LXByZXBhcmF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGUtY29ubmVjdGlvbi1wcmVwYXJhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWNvbm5lY3Rpb24tcHJlcGFyYXRpb24tcmVxdWVzdCc7XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { FDragHandlerResult } from '../../f-drag-handler';
2
- import { CalculateClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
2
+ import { CalculateClosestConnectorRequest, CalculateTargetConnectorsToConnectRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
3
3
  import { EFConnectableSide } from '../../../f-connectors';
4
4
  import { FMediator } from '@foblex/mediator';
5
5
  import { RoundedRect, PointExtensions, RectExtensions, } from '@foblex/2d';
@@ -27,14 +27,14 @@ export class FCreateConnectionDragHandler {
27
27
  this._store = _injector.get(FComponentsStore);
28
28
  this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(_onPointerDownPosition.x, _onPointerDownPosition.y));
29
29
  this.fData = {
30
- fOutputOrOutletId: this._fOutputOrOutlet.fId,
30
+ fOutputOrOutletId: this._fOutputOrOutlet.fId(),
31
31
  };
32
32
  }
33
33
  prepareDragSequence() {
34
+ this._fOutputWithRect = this._mediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
34
35
  this._getAndMarkCanBeConnectedInputs();
35
36
  this._initializeSnapConnection();
36
37
  this._initializeConnectionForCreate();
37
- this._fOutputWithRect = this._mediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
38
38
  this._connection.show();
39
39
  this.onPointerMove(PointExtensions.initialize());
40
40
  this._result.setData({
@@ -44,7 +44,7 @@ export class FCreateConnectionDragHandler {
44
44
  });
45
45
  }
46
46
  _getAndMarkCanBeConnectedInputs() {
47
- this._canBeConnectedInputs = this._mediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
47
+ this._canBeConnectedInputs = this._mediator.execute(new CalculateTargetConnectorsToConnectRequest(this._fOutputOrOutlet, this._fOutputWithRect.fRect.gravityCenter));
48
48
  this._mediator.execute(new MarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
49
49
  }
50
50
  _initializeSnapConnection() {
@@ -59,10 +59,10 @@ export class FCreateConnectionDragHandler {
59
59
  this._connection.initialize();
60
60
  }
61
61
  onPointerMove(difference) {
62
- const fClosestInput = this._findClosestInput(difference);
63
- this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
62
+ const closestInput = this._findClosestInput(difference);
63
+ this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), closestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
64
64
  if (this._snapConnection) {
65
- this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
65
+ this._drawSnapConnection(this._getClosestInputForSnapConnection(closestInput));
66
66
  }
67
67
  }
68
68
  _drawConnectionForCreate(toConnectorRect, fSide) {
@@ -96,4 +96,4 @@ export class FCreateConnectionDragHandler {
96
96
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBRzFCLGdDQUFnQyxFQUNoQyxrQ0FBa0MsR0FDbkMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBR1gsZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBd0I3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFVO0lBRUwsT0FBTyxDQUFtRDtJQUMxRCxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0QsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFF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aW1wb3J0IHsgRkRyYWdIYW5kbGVyUmVzdWx0LCBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRzQW5kUmVjdHNSZXF1ZXN0LFxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvckFuZFJlY3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbiAgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50LCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUsIEZOb2RlT3V0bGV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgUm91bmRlZFJlY3QsXG4gIElMaW5lLFxuICBJUG9pbnQsXG4gIFBvaW50RXh0ZW5zaW9ucyxcbiAgUmVjdEV4dGVuc2lvbnMsXG4gIElSb3VuZGVkUmVjdCxcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElGQ3JlYXRlQ29ubmVjdGlvbkRyYWdSZXN1bHQgfSBmcm9tICcuL2ktZi1jcmVhdGUtY29ubmVjdGlvbi1kcmFnLXJlc3VsdCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdjcmVhdGUtY29ubmVjdGlvbic7XG4gIHB1YmxpYyBmRGF0YTogdW5rbm93bjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXN1bHQ6IEZEcmFnSGFuZGxlclJlc3VsdDxJRkNyZWF0ZUNvbm5lY3Rpb25EcmFnUmVzdWx0PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3I6IEZNZWRpYXRvcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmU6IEZDb21wb25lbnRzU3RvcmU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdG9Db25uZWN0b3JSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2Nvbm5lY3Rpb24oKTogRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mVGVtcENvbm5lY3Rpb24gYXMgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfc25hcENvbm5lY3Rpb24oKTogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlNuYXBDb25uZWN0aW9uIGFzIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgX2NhbkJlQ29ubmVjdGVkSW5wdXRzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9mT3V0cHV0T3JPdXRsZXQ6IEZOb2RlT3V0cHV0QmFzZSB8IEZOb2RlT3V0bGV0QmFzZSxcbiAgICBfb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQsXG4gICkge1xuICAgIHRoaXMuX3Jlc3VsdCA9IF9pbmplY3Rvci5nZXQoRkRyYWdIYW5kbGVyUmVzdWx0KTtcbiAgICB0aGlzLl9tZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9zdG9yZSA9IF9pbmplY3Rvci5nZXQoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUmVjdChcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoX29uUG9pbnRlckRvd25Qb3NpdGlvbi54LCBfb25Qb2ludGVyRG93blBvc2l0aW9uLnkpLFxuICAgICk7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZPdXRwdXRPck91dGxldElkOiB0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRBbmRNYXJrQ2FuQmVDb25uZWN0ZWRJbnB1dHMoKTtcbiAgICB0aGlzLl9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTtcbiAgICB0aGlzLl9pbml0aWFsaXplQ29ubmVjdGlvbkZvckNyZWF0ZSgpO1xuXG4gICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4oXG4gICAgICBuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSxcbiAgICApO1xuXG4gICAgdGhpcy5fY29ubmVjdGlvbi5zaG93KCk7XG4gICAgdGhpcy5vblBvaW50ZXJNb3ZlKFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpO1xuXG4gICAgdGhpcy5fcmVzdWx0LnNldERhdGEoe1xuICAgICAgdG9Db25uZWN0b3JSZWN0OiB0aGlzLl90b0Nvbm5lY3RvclJlY3QsXG4gICAgICBjYW5CZUNvbm5lY3RlZElucHV0czogdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICBmT3V0cHV0SWQ6IHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFuZE1hcmtDYW5CZUNvbm5lY3RlZElucHV0cygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmQ2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKFxuICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgZkNsb3Nlc3RJbnB1dD8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IEVGQ29ubmVjdGFibGVTaWRlLlRPUCxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24odGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKHRvQ29ubmVjdG9yUmVjdDogSVJvdW5kZWRSZWN0LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICB0b0Nvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uc2hvdygpO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnNldExpbmUoXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmQ2xvc2VzdElucHV0ICYmIGZDbG9zZXN0SW5wdXQuZGlzdGFuY2UgPCB0aGlzLl9zbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGRcbiAgICAgID8gZkNsb3Nlc3RJbnB1dFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBRzFCLGdDQUFnQyxFQUNoQyxrQ0FBa0MsR0FDbkMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBR1gsZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBd0I3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFVO0lBRUwsT0FBTyxDQUFtRDtJQUMxRCxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0QsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFF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QUMsQ0FDNUYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZEcmFnSGFuZGxlclJlc3VsdCwgSUZEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBDYWxjdWxhdGVUYXJnZXRDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxuICBJQ2xvc2VzdENvbm5lY3RvcixcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBGTm9kZU91dGxldEJhc2UsIEZOb2RlT3V0cHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIFJvdW5kZWRSZWN0LFxuICBJTGluZSxcbiAgSVBvaW50LFxuICBQb2ludEV4dGVuc2lvbnMsXG4gIFJlY3RFeHRlbnNpb25zLFxuICBJUm91bmRlZFJlY3QsXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJRkNyZWF0ZUNvbm5lY3Rpb25EcmFnUmVzdWx0IH0gZnJvbSAnLi9pLWYtY3JlYXRlLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEZDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcbiAgcHVibGljIGZFdmVudFR5cGUgPSAnY3JlYXRlLWNvbm5lY3Rpb24nO1xuICBwdWJsaWMgZkRhdGE6IHVua25vd247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0OiBGRHJhZ0hhbmRsZXJSZXN1bHQ8SUZDcmVhdGVDb25uZWN0aW9uRHJhZ1Jlc3VsdD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlOiBGQ29tcG9uZW50c1N0b3JlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvQ29ubmVjdG9yUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuXG4gIHByaXZhdGUgZ2V0IF9jb25uZWN0aW9uKCk6IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlRlbXBDb25uZWN0aW9uIGFzIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3NuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZTbmFwQ29ubmVjdGlvbiBhcyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIF9jYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvckFuZFJlY3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfZk91dHB1dE9yT3V0bGV0OiBGTm9kZU91dHB1dEJhc2UgfCBGTm9kZU91dGxldEJhc2UsXG4gICAgX29uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50LFxuICApIHtcbiAgICB0aGlzLl9yZXN1bHQgPSBfaW5qZWN0b3IuZ2V0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gICAgdGhpcy5fbWVkaWF0b3IgPSBfaW5qZWN0b3IuZ2V0KEZNZWRpYXRvcik7XG4gICAgdGhpcy5fc3RvcmUgPSBfaW5qZWN0b3IuZ2V0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKF9vblBvaW50ZXJEb3duUG9zaXRpb24ueCwgX29uUG9pbnRlckRvd25Qb3NpdGlvbi55KSxcbiAgICApO1xuICAgIHRoaXMuZkRhdGEgPSB7XG4gICAgICBmT3V0cHV0T3JPdXRsZXRJZDogdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mT3V0cHV0T3JPdXRsZXQpLFxuICAgICk7XG4gICAgdGhpcy5fZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2hvdygpO1xuICAgIHRoaXMub25Qb2ludGVyTW92ZShQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTtcblxuICAgIHRoaXMuX3Jlc3VsdC5zZXREYXRhKHtcbiAgICAgIHRvQ29ubmVjdG9yUmVjdDogdGhpcy5fdG9Db25uZWN0b3JSZWN0LFxuICAgICAgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgZk91dHB1dElkOiB0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbmRNYXJrQ2FuQmVDb25uZWN0ZWRJbnB1dHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IENhbGN1bGF0ZVRhcmdldENvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9mT3V0cHV0T3JPdXRsZXQsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0SW5wdXQgPSB0aGlzLl9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb25Gb3JDcmVhdGUoXG4gICAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICBjbG9zZXN0SW5wdXQ/LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSB8fCBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgKTtcblxuICAgIGlmICh0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKGNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKHRvQ29ubmVjdG9yUmVjdDogSVJvdW5kZWRSZWN0LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICB0b0Nvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uc2hvdygpO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnNldExpbmUoXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmQ2xvc2VzdElucHV0ICYmIGZDbG9zZXN0SW5wdXQuZGlzdGFuY2UgPCB0aGlzLl9zbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGRcbiAgICAgID8gZkNsb3Nlc3RJbnB1dFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { CalculateConnectionLineByBehaviorRequest, CalculateClosestConnectorRequest, GetAllCanBeConnectedSourceConnectorsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
1
+ import { CalculateConnectionLineByBehaviorRequest, CalculateClosestConnectorRequest, CalculateSourceConnectorsToConnectRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
2
2
  import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint, } from './i-f-reassign-handler';
3
3
  export class FReassignSourceDragHandler {
4
4
  _mediator;
@@ -25,7 +25,7 @@ export class FReassignSourceDragHandler {
25
25
  return this._connectableConnectors;
26
26
  }
27
27
  markConnectableConnector() {
28
- this._connectableConnectors = this._mediator.execute(new GetAllCanBeConnectedSourceConnectorsAndRectsRequest(this._targetConnector));
28
+ this._connectableConnectors = this._mediator.execute(new CalculateSourceConnectorsToConnectRequest(this._targetConnector, this._targetConnectorAndRect.fRect.gravityCenter));
29
29
  const isExistCurrentSourceConnector = this._connectableConnectors.some((x) => x.fConnector.fId() === this._sourceConnector.fId());
30
30
  if (!isExistCurrentSourceConnector) {
31
31
  this._connectableConnectors.push(this._sourceConnectorAndRect);
@@ -80,4 +80,4 @@ export class FReassignSourceDragHandler {
80
80
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyxtREFBbUQsRUFHbkQsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQWdCbEI7SUFDQTtJQUNBO0lBQ0E7SUFsQlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFpQyxDQUFDO0lBQ3hFLENBQUM7SUFFZ0IsY0FBYyxDQUFlO0lBRXRDLGVBQWUsQ0FBdUM7SUFFOUQsWUFDbUIsU0FBb0IsRUFDcEIsV0FBNEIsRUFDNUIsdUJBQTBDLEVBQzFDLHVCQUEwQztRQUgxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxD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QUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZFNvdXJjZUNvbm5lY3RvcnNBbmRSZWN0c1JlcXVlc3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgRk5vZGVJbnB1dERpcmVjdGl2ZSxcbiAgRk5vZGVPdXRwdXREaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgSUZSZWFzc2lnbkhhbmRsZXIsXG4gIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQsXG4gIHJvdW5kZWRSZWN0RnJvbVBvaW50LFxufSBmcm9tICcuL2ktZi1yZWFzc2lnbi1oYW5kbGVyJztcblxuZXhwb3J0IGNsYXNzIEZSZWFzc2lnblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZSZWFzc2lnbkhhbmRsZXIge1xuICBwcml2YXRlIF9jb25uZWN0YWJsZUNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10gPSBbXTtcblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yKCk6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlQ29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlT3V0cHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3RhcmdldENvbm5lY3RvcigpOiBGTm9kZUlucHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlSW5wdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0b3JSZWN0ITogUm91bmRlZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2VDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXRDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgKSB7XG4gICAgdGhpcy5fY29ubmVjdG9yUmVjdCA9IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDEpO1xuICB9XG5cbiAgcHVibGljIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzO1xuICB9XG5cbiAgcHVibGljIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IEdldEFsbENhbkJlQ29ubmVjdGVkU291cmNlQ29ubmVjdG9yc0FuZFJlY3RzUmVxdWVzdCh0aGlzLl90YXJnZXRDb25uZWN0b3IpLFxuICAgICk7XG4gICAgY29uc3QgaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IgPSB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMuc29tZShcbiAgICAgICh4KSA9PiB4LmZDb25uZWN0b3IuZklkKCkgPT09IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mSWQoKSxcbiAgICApO1xuICAgIGlmICghaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IpIHtcbiAgICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5wdXNoKHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QpO1xuICAgIH1cblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mSW5wdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24oXG4gICAgICAgIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3IsIHRoaXMuX3NuYXBDb25uZWN0aW9uKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmluZENsb3Nlc3RDb25uZWN0b3IoXG4gICAgcG9pbnQ6IElQb2ludCxcbiAgICBjb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdLFxuICApOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KHBvaW50LCBjb25uZWN0b3JzKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd0Nvbm5lY3Rpb24obmV3UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2NhbGN1bGF0ZU5ld0xpbmUobmV3UG9pbnQsIGZTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnNldExpbmUobGluZSwgZlNpZGUsIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3TGluZShzb3VyY2VQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHJvdW5kZWRSZWN0RnJvbVBvaW50KHNvdXJjZVBvaW50KSxcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIGZTaWRlLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBzbmFwQ29ubmVjdGlvbiA9IHRoaXMuX3NuYXBDb25uZWN0aW9uITtcbiAgICBpZiAoZkNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0U291cmNlQ29ubmVjdG9yKGZDbG9zZXN0Q29ubmVjdG9yLCBzbmFwQ29ubmVjdGlvbik7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zaG93KCk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgICBsaW5lLFxuICAgICAgICBmQ2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvcixcbiAgICBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50LFxuICApOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZlJlY3QsXG4gICAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fY29ubmVjdG9yUmVjdCxcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQWdCbEI7SUFDQTtJQUNBO0lBQ0E7SUFsQlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFpQyxDQUFDO0lBQ3hFLENBQUM7SUFFZ0IsY0FBYyxDQUFlO0lBRXRDLGVBQWUsQ0FBdUM7SUFFOUQsWUFDbUIsU0FBb0IsRUFDcEIsV0FBNEIsRUFDNUIsdUJBQTBDLEVBQzFDLHVCQUEwQztRQUgxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxD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QUFDLGdCQUFnQixDQUN6RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QsXG4gIENhbGN1bGF0ZVNvdXJjZUNvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0LFxuICBJQ2xvc2VzdENvbm5lY3RvcixcbiAgSUNvbm5lY3RvckFuZFJlY3QsXG4gIE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxuICBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRUZDb25uZWN0YWJsZVNpZGUsXG4gIEZOb2RlSW5wdXREaXJlY3RpdmUsXG4gIEZOb2RlT3V0cHV0RGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElGUmVhc3NpZ25IYW5kbGVyLFxuICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkLFxuICByb3VuZGVkUmVjdEZyb21Qb2ludCxcbn0gZnJvbSAnLi9pLWYtcmVhc3NpZ24taGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGUmVhc3NpZ25IYW5kbGVyIHtcbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF90YXJnZXRDb25uZWN0b3IoKTogRk5vZGVJbnB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZUlucHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdG9yUmVjdCE6IFJvdW5kZWRSZWN0O1xuXG4gIHByaXZhdGUgX3NuYXBDb25uZWN0aW9uOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlQ29ubmVjdG9yQW5kUmVjdDogSUNvbm5lY3RvckFuZFJlY3QsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdDogSUNvbm5lY3RvckFuZFJlY3QsXG4gICkge1xuICAgIHRoaXMuX2Nvbm5lY3RvclJlY3QgPSByb3VuZGVkUmVjdEZyb21Qb2ludCh0aGlzLl9jb25uZWN0aW9uLmxpbmUucG9pbnQxKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25uZWN0YWJsZUNvbm5lY3RvcnMoKTogSUNvbm5lY3RvckFuZFJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycztcbiAgfVxuXG4gIHB1YmxpYyBtYXJrQ29ubmVjdGFibGVDb25uZWN0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdFtdPihcbiAgICAgIG5ldyBDYWxjdWxhdGVTb3VyY2VDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdChcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgICApLFxuICAgICk7XG4gICAgY29uc3QgaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IgPSB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMuc29tZShcbiAgICAgICh4KSA9PiB4LmZDb25uZWN0b3IuZklkKCkgPT09IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mSWQoKSxcbiAgICApO1xuICAgIGlmICghaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IpIHtcbiAgICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5wdXNoKHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QpO1xuICAgIH1cblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mSW5wdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24oXG4gICAgICAgIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3IsIHRoaXMuX3NuYXBDb25uZWN0aW9uKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmluZENsb3Nlc3RDb25uZWN0b3IoXG4gICAgcG9pbnQ6IElQb2ludCxcbiAgICBjb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdLFxuICApOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KHBvaW50LCBjb25uZWN0b3JzKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd0Nvbm5lY3Rpb24obmV3UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2NhbGN1bGF0ZU5ld0xpbmUobmV3UG9pbnQsIGZTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnNldExpbmUobGluZSwgZlNpZGUsIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3TGluZShzb3VyY2VQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHJvdW5kZWRSZWN0RnJvbVBvaW50KHNvdXJjZVBvaW50KSxcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIGZTaWRlLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBzbmFwQ29ubmVjdGlvbiA9IHRoaXMuX3NuYXBDb25uZWN0aW9uITtcbiAgICBpZiAoZkNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0U291cmNlQ29ubmVjdG9yKGZDbG9zZXN0Q29ubmVjdG9yLCBzbmFwQ29ubmVjdGlvbik7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zaG93KCk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgICBsaW5lLFxuICAgICAgICBmQ2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvcixcbiAgICBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50LFxuICApOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZlJlY3QsXG4gICAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fY29ubmVjdG9yUmVjdCxcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=