@foblex/flow 17.7.1 → 17.8.1

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 (545) hide show
  1. package/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.d.ts +2 -2
  2. package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +12 -0
  5. package/domain/f-connection/calculate-connection-line-by-behavior/{calculate-connection-line-by-behavior.execution.d.ts → calculate-connection-line-by-behavior.d.ts} +4 -4
  6. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.d.ts +2 -2
  7. package/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.d.ts +2 -2
  8. package/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.d.ts +2 -2
  9. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +2 -2
  10. package/domain/f-connection/providers.d.ts +2 -2
  11. package/domain/f-connection/redraw-connections/redraw-connections.execution.d.ts +2 -2
  12. package/domain/f-connectors/add-input-to-store/add-input-to-store-request.d.ts +2 -2
  13. package/domain/f-connectors/add-input-to-store/add-input-to-store.d.ts +12 -0
  14. package/domain/f-connectors/add-input-to-store/index.d.ts +1 -1
  15. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.d.ts +2 -2
  16. package/domain/f-connectors/add-outlet-to-store/{add-outlet-to-store.execution.d.ts → add-outlet-to-store.d.ts} +5 -5
  17. package/domain/f-connectors/add-outlet-to-store/index.d.ts +1 -1
  18. package/domain/f-connectors/add-output-to-store/add-output-to-store-request.d.ts +2 -2
  19. package/domain/f-connectors/add-output-to-store/{add-output-to-store.execution.d.ts → add-output-to-store.d.ts} +5 -5
  20. package/domain/f-connectors/add-output-to-store/index.d.ts +1 -1
  21. package/domain/f-connectors/{find-closest-connector/find-closest-connector.request.d.ts → calculate-closest-connector/calculate-closest-connector-request.d.ts} +3 -3
  22. package/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.d.ts +16 -0
  23. package/domain/f-connectors/calculate-closest-connector/index.d.ts +2 -0
  24. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +3 -3
  25. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.d.ts +2 -2
  26. 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 +2 -2
  27. 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 +2 -2
  28. package/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.d.ts +2 -2
  29. package/domain/f-connectors/get-connector-and-rect/{get-connector-and-rect.execution.d.ts → get-connector-and-rect.d.ts} +4 -4
  30. package/domain/f-connectors/get-connector-and-rect/index.d.ts +1 -1
  31. package/domain/f-connectors/index.d.ts +1 -1
  32. package/domain/f-connectors/mark-connectable-connectors/index.d.ts +2 -2
  33. package/domain/f-connectors/mark-connectable-connectors/{mark-connectable-connectors.request.d.ts → mark-connectable-connectors-request.d.ts} +2 -2
  34. package/domain/f-connectors/mark-connectable-connectors/{mark-connectable-connectors.execution.d.ts → mark-connectable-connectors.d.ts} +5 -5
  35. package/domain/f-connectors/providers.d.ts +11 -11
  36. package/domain/f-connectors/remove-input-from-store/index.d.ts +1 -1
  37. package/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.d.ts +2 -2
  38. package/domain/f-connectors/remove-input-from-store/{remove-input-from-store.execution.d.ts → remove-input-from-store.d.ts} +4 -4
  39. package/domain/f-connectors/unmark-connectable-connectors/index.d.ts +2 -2
  40. package/domain/f-connectors/unmark-connectable-connectors/{unmark-connectable-connectors.request.d.ts → unmark-connectable-connectors-request.d.ts} +2 -2
  41. package/domain/f-connectors/unmark-connectable-connectors/{unmark-connectable-connectors.execution.d.ts → unmark-connectable-connectors.d.ts} +5 -5
  42. package/domain/f-draggable/providers.d.ts +1 -1
  43. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +2 -2
  44. package/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.d.ts +1 -1
  45. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  46. package/domain/f-flow/providers.d.ts +1 -1
  47. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +1 -1
  48. package/domain/i-map.d.ts +1 -3
  49. package/domain/providers.d.ts +1 -1
  50. package/esm2022/domain/css-cls.mjs +2 -2
  51. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +1 -1
  52. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +8 -8
  53. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +1 -1
  54. package/esm2022/domain/f-background/providers.mjs +2 -2
  55. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +1 -1
  56. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +2 -2
  57. package/esm2022/domain/f-background/set-background-transform/set-background-transform-request.mjs +1 -1
  58. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +1 -1
  59. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node-request.mjs +1 -1
  60. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +1 -1
  61. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +1 -1
  62. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +1 -1
  63. package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +1 -1
  64. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +1 -1
  65. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +1 -1
  66. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale-request.mjs +1 -1
  67. package/esm2022/domain/f-canvas/providers.mjs +2 -2
  68. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.mjs +1 -1
  69. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +1 -1
  70. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +1 -1
  71. package/esm2022/domain/f-canvas/update-scale/update-scale-request.mjs +1 -1
  72. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +1 -1
  73. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +1 -1
  74. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +1 -1
  75. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +1 -1
  76. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +16 -0
  77. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +32 -0
  78. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +4 -4
  79. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +8 -4
  80. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +10 -10
  81. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +3 -3
  82. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +1 -1
  83. package/esm2022/domain/f-connection/providers.mjs +4 -4
  84. package/esm2022/domain/f-connection/redraw-connections/redraw-connections-request.mjs +1 -1
  85. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +9 -9
  86. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +1 -1
  87. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +1 -1
  88. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +1 -1
  89. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +4 -4
  90. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.mjs +25 -0
  91. package/esm2022/domain/f-connectors/add-input-to-store/index.mjs +2 -2
  92. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +4 -4
  93. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.mjs +25 -0
  94. package/esm2022/domain/f-connectors/add-outlet-to-store/index.mjs +2 -2
  95. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +4 -4
  96. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.mjs +25 -0
  97. package/esm2022/domain/f-connectors/add-output-to-store/index.mjs +2 -2
  98. package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector-request.mjs +10 -0
  99. package/esm2022/domain/f-connectors/calculate-closest-connector/calculate-closest-connector.mjs +49 -0
  100. package/esm2022/domain/f-connectors/calculate-closest-connector/index.mjs +3 -0
  101. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +9 -6
  102. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +14 -14
  103. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.request.mjs +4 -4
  104. 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 +8 -8
  105. 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 +4 -4
  106. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +4 -4
  107. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.mjs +31 -0
  108. package/esm2022/domain/f-connectors/get-connector-and-rect/index.mjs +2 -2
  109. package/esm2022/domain/f-connectors/index.mjs +2 -2
  110. package/esm2022/domain/f-connectors/mark-connectable-connectors/index.mjs +3 -3
  111. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors-request.mjs +8 -0
  112. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.mjs +30 -0
  113. package/esm2022/domain/f-connectors/providers.mjs +20 -20
  114. package/esm2022/domain/f-connectors/remove-input-from-store/index.mjs +2 -2
  115. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +4 -4
  116. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.mjs +25 -0
  117. package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +1 -1
  118. package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +1 -1
  119. package/esm2022/domain/f-connectors/unmark-connectable-connectors/index.mjs +3 -3
  120. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors-request.mjs +8 -0
  121. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.mjs +30 -0
  122. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  123. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +1 -1
  124. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +1 -1
  125. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +1 -1
  126. package/esm2022/domain/f-draggable/providers.mjs +2 -2
  127. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +3 -3
  128. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store-request.mjs +1 -1
  129. package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +1 -1
  130. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +5 -5
  131. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +1 -1
  132. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +15 -9
  133. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +2 -2
  134. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +2 -2
  135. package/esm2022/domain/f-flow/providers.mjs +2 -2
  136. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +1 -1
  137. package/esm2022/domain/f-line-alignment/providers.mjs +2 -2
  138. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +1 -1
  139. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +1 -1
  140. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +3 -6
  141. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +1 -1
  142. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +3 -6
  143. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
  144. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +1 -1
  145. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +1 -1
  146. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
  147. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +2 -2
  148. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +1 -1
  149. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +1 -1
  150. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +1 -1
  151. package/esm2022/domain/f-node/providers.mjs +3 -3
  152. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +1 -1
  153. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +1 -1
  154. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +1 -1
  155. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
  156. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +2 -2
  157. package/esm2022/domain/f-selection/providers.mjs +2 -2
  158. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +1 -1
  159. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +1 -1
  160. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +1 -1
  161. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +2 -2
  162. package/esm2022/domain/f-zoom/providers.mjs +2 -2
  163. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +3 -3
  164. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +1 -1
  165. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  166. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +1 -1
  167. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +1 -1
  168. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +1 -1
  169. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +1 -1
  170. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +1 -1
  171. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  172. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +1 -1
  173. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +1 -1
  174. package/esm2022/domain/i-map.mjs +1 -1
  175. package/esm2022/domain/log-deprecated.mjs +1 -1
  176. package/esm2022/domain/log-execution-time.mjs +1 -1
  177. package/esm2022/domain/providers.mjs +2 -2
  178. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +2 -2
  179. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +2 -3
  180. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +1 -1
  181. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +1 -1
  182. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +1 -1
  183. package/esm2022/drag-toolkit/drag-and-drop-base.mjs +3 -3
  184. package/esm2022/drag-toolkit/event.extensions.mjs +1 -1
  185. package/esm2022/drag-toolkit/pointer-events/i-pointer-up-event.mjs +1 -1
  186. package/esm2022/drag-toolkit/pointer-events/i-touch-down-event.mjs +1 -1
  187. package/esm2022/drag-toolkit/pointer-events/i-touch-move-event.mjs +1 -1
  188. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  189. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +7 -7
  190. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +7 -7
  191. package/esm2022/f-backgroud/index.mjs +1 -1
  192. package/esm2022/f-backgroud/providers.mjs +2 -2
  193. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  194. package/esm2022/f-canvas/f-canvas.component.mjs +3 -3
  195. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +1 -1
  196. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +1 -1
  197. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +2 -2
  198. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +27 -11
  199. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +43 -25
  200. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +9 -3
  201. package/esm2022/f-connection/common/f-connection-base.mjs +36 -27
  202. package/esm2022/f-connection/common/f-connection-identifiers.mjs +2 -2
  203. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +20 -30
  204. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +20 -33
  205. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +4 -4
  206. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +4 -4
  207. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +18 -28
  208. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +16 -26
  209. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +10 -20
  210. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  211. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  212. package/esm2022/f-connection/f-connection/f-connection.component.mjs +25 -26
  213. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +1 -1
  214. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +1 -1
  215. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +1 -1
  216. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +21 -4
  217. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +96 -0
  218. package/esm2022/f-connection/f-connection-content/index.mjs +3 -0
  219. package/esm2022/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.mjs +2 -0
  220. package/esm2022/f-connection/f-connection-content/polyline-content-engine/index.mjs +6 -0
  221. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.mjs +6 -0
  222. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +29 -0
  223. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +65 -0
  224. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.mjs +2 -0
  225. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.mjs +2 -0
  226. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.mjs +5 -0
  227. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.mjs +143 -0
  228. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.mjs +68 -0
  229. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +17 -21
  230. package/esm2022/f-connection/f-marker/f-marker-base.mjs +2 -8
  231. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +13 -22
  232. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +17 -21
  233. package/esm2022/f-connection/index.mjs +2 -1
  234. package/esm2022/f-connection/providers.mjs +3 -3
  235. package/esm2022/f-connectors/f-connector-base.mjs +1 -1
  236. package/esm2022/f-connectors/f-node-input/f-node-input-base.mjs +2 -2
  237. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +35 -33
  238. package/esm2022/f-connectors/f-node-outlet/f-node-outlet-base.mjs +6 -6
  239. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +23 -26
  240. package/esm2022/f-connectors/f-node-output/f-node-output-base.mjs +4 -4
  241. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +31 -33
  242. package/esm2022/f-connectors/f-source-connector-base.mjs +11 -0
  243. package/esm2022/f-connectors/index.mjs +2 -1
  244. package/esm2022/f-connectors/providers.mjs +2 -2
  245. package/esm2022/f-draggable/domain/f-drag-started-event.mjs +4 -2
  246. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +1 -1
  247. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +1 -1
  248. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +1 -1
  249. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +7 -7
  250. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
  251. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +2 -2
  252. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +1 -1
  253. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +1 -1
  254. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +1 -1
  255. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +20 -18
  256. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +1 -1
  257. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +2 -2
  258. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +1 -1
  259. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +1 -1
  260. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +1 -1
  261. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +1 -1
  262. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +1 -1
  263. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +1 -1
  264. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +1 -1
  265. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +38 -36
  266. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +1 -1
  267. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +1 -1
  268. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +23 -21
  269. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +1 -1
  270. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +6 -6
  271. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +5 -5
  272. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +1 -1
  273. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +5 -5
  274. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +1 -1
  275. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +3 -3
  276. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +1 -1
  277. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +1 -1
  278. package/esm2022/f-draggable/f-drag-blocker.directive.mjs +2 -2
  279. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  280. package/esm2022/f-draggable/f-draggable-base.mjs +3 -10
  281. package/esm2022/f-draggable/f-draggable.directive.mjs +32 -36
  282. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +1 -1
  283. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +1 -1
  284. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
  285. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +1 -1
  286. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +12 -19
  287. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +2 -2
  288. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +1 -1
  289. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +13 -7
  290. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +4 -4
  291. package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +1 -1
  292. package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +5 -3
  293. package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +3 -2
  294. package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +3 -3
  295. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +1 -1
  296. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +1 -1
  297. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +1 -1
  298. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +1 -1
  299. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +3 -3
  300. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +1 -1
  301. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +1 -1
  302. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +1 -1
  303. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +8 -11
  304. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.mjs +1 -1
  305. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +5 -5
  306. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.mjs +1 -1
  307. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +5 -5
  308. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +1 -1
  309. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +1 -1
  310. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +1 -1
  311. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +1 -1
  312. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +2 -2
  313. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +1 -1
  314. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
  315. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +1 -1
  316. package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +1 -1
  317. package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +1 -1
  318. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +1 -1
  319. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +2 -2
  320. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +1 -1
  321. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +1 -1
  322. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  323. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +2 -2
  324. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +1 -1
  325. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +3 -2
  326. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +1 -1
  327. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +15 -13
  328. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +1 -1
  329. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +1 -1
  330. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +1 -1
  331. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +1 -1
  332. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +1 -1
  333. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +2 -2
  334. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +1 -1
  335. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +1 -1
  336. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +1 -1
  337. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +1 -1
  338. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +1 -1
  339. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +2 -2
  340. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +1 -1
  341. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +2 -2
  342. package/esm2022/f-draggable/f-node-rotate/calculate-difference-after-rotation.mjs +1 -1
  343. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +4 -4
  344. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +5 -4
  345. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.mjs +1 -1
  346. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +29 -17
  347. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.mjs +1 -1
  348. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +1 -1
  349. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +1 -1
  350. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +1 -1
  351. package/esm2022/f-draggable/index.mjs +1 -1
  352. package/esm2022/f-draggable/providers.mjs +2 -2
  353. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +3 -3
  354. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +1 -1
  355. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +2 -2
  356. package/esm2022/f-external-item/domain/f-create-node.event.mjs +1 -1
  357. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +2 -2
  358. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -10
  359. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +1 -1
  360. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +2 -2
  361. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +1 -1
  362. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +5 -5
  363. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +1 -1
  364. package/esm2022/f-external-item/f-external-item-base.mjs +1 -1
  365. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +5 -5
  366. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +4 -4
  367. package/esm2022/f-external-item/f-external-item.directive.mjs +13 -20
  368. package/esm2022/f-external-item/f-external-item.service.mjs +3 -3
  369. package/esm2022/f-external-item/providers.mjs +2 -2
  370. package/esm2022/f-flow/f-flow.component.mjs +5 -5
  371. package/esm2022/f-flow/providers.mjs +2 -2
  372. package/esm2022/f-flow.module.mjs +3 -3
  373. package/esm2022/f-line-alignment/domain/snap-line-element.mjs +19 -15
  374. package/esm2022/f-line-alignment/domain/snap-line-service.mjs +16 -18
  375. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  376. package/esm2022/f-line-alignment/providers.mjs +2 -2
  377. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +14 -18
  378. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +1 -1
  379. package/esm2022/f-minimap/domain/f-minimap-data.mjs +1 -1
  380. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +25 -25
  381. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  382. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +9 -8
  383. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +9 -11
  384. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +1 -1
  385. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +26 -32
  386. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +1 -1
  387. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +2 -1
  388. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  389. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +3 -3
  390. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  391. package/esm2022/f-minimap/f-minimap.component.mjs +1 -1
  392. package/esm2022/f-node/f-drag-handle.directive.mjs +3 -3
  393. package/esm2022/f-node/f-group.directive.mjs +6 -4
  394. package/esm2022/f-node/f-node-base.mjs +1 -1
  395. package/esm2022/f-node/f-node.directive.mjs +16 -14
  396. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +5 -5
  397. package/esm2022/f-selection-area/domain/providers.mjs +2 -2
  398. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +2 -2
  399. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +1 -1
  400. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +2 -2
  401. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +1 -1
  402. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +1 -1
  403. package/esm2022/f-selection-area/f-selection-area.component.mjs +2 -2
  404. package/esm2022/f-selection-area/providers.mjs +2 -2
  405. package/esm2022/f-storage/f-components-store.mjs +1 -1
  406. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +3 -4
  407. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +3 -4
  408. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +2 -2
  409. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +2 -2
  410. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +2 -2
  411. package/esm2022/f-zoom/f-zoom.directive.mjs +4 -4
  412. package/esm2022/f-zoom/providers.mjs +2 -2
  413. package/esm2022/mixins/change-selection/change-selection.mjs +5 -6
  414. package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
  415. package/esm2022/mixins/change-visibility/change-visibility.mjs +4 -3
  416. package/esm2022/mixins/constructor.mjs +1 -1
  417. package/esm2022/reactivity/debounce-time.mjs +2 -2
  418. package/esm2022/reactivity/f-channel-hub.mjs +1 -1
  419. package/esm2022/reactivity/f-channel.mjs +1 -1
  420. package/esm2022/reactivity/f-resize-channel.mjs +1 -1
  421. package/esm2022/reactivity/index.mjs +1 -2
  422. package/esm2022/reactivity/notify-on-start.mjs +1 -1
  423. package/esm2022/utils/index.mjs +2 -1
  424. package/esm2022/utils/infinity-min-max.mjs +2 -2
  425. package/esm2022/utils/string-attribute.mjs +4 -0
  426. package/f-backgroud/providers.d.ts +1 -1
  427. package/f-connection/common/domain/f-bezier.path-builder.d.ts +2 -2
  428. package/f-connection/common/domain/f-segment.path-builder.d.ts +7 -7
  429. package/f-connection/common/f-connection-base.d.ts +13 -11
  430. package/f-connection/common/f-connection-text/f-connection-text-path.directive.d.ts +6 -11
  431. package/f-connection/common/f-connection-text/f-connection-text.component.d.ts +6 -12
  432. package/f-connection/common/f-gradient/f-connection-gradient.component.d.ts +5 -10
  433. package/f-connection/common/f-path/f-connection-path.component.d.ts +2 -7
  434. package/f-connection/common/f-selection/f-connection-selection.component.d.ts +2 -6
  435. package/f-connection/common/i-has-connection-from-to.d.ts +3 -3
  436. package/f-connection/f-connection/f-connection.component.d.ts +6 -6
  437. package/f-connection/f-connection-builder/f-connection-builders.d.ts +1 -3
  438. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +1 -0
  439. package/f-connection/f-connection-center/f-connection-center.directive.d.ts +6 -1
  440. package/f-connection/f-connection-content/f-connection-content.d.ts +69 -0
  441. package/f-connection/f-connection-content/index.d.ts +2 -0
  442. package/f-connection/f-connection-content/polyline-content-engine/i-polyline-content.d.ts +9 -0
  443. package/f-connection/f-connection-content/polyline-content-engine/index.d.ts +5 -0
  444. package/f-connection/f-connection-content/polyline-content-engine/polyline-content-align.d.ts +4 -0
  445. package/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.d.ts +21 -0
  446. package/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.d.ts +18 -0
  447. package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-sampler-result.d.ts +11 -0
  448. package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/i-tangent.d.ts +4 -0
  449. package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/index.d.ts +4 -0
  450. package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline-sampler.d.ts +60 -0
  451. package/f-connection/f-connection-content/polyline-content-engine/polyline-sampler/polyline.d.ts +29 -0
  452. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -6
  453. package/f-connection/f-marker/f-marker-base.d.ts +0 -3
  454. package/f-connection/f-marker/f-marker.directive.d.ts +4 -6
  455. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -6
  456. package/f-connection/index.d.ts +1 -0
  457. package/f-connection/providers.d.ts +2 -2
  458. package/f-connectors/f-connector-base.d.ts +3 -2
  459. package/f-connectors/f-node-input/f-node-input-base.d.ts +3 -2
  460. package/f-connectors/f-node-input/f-node-input.directive.d.ts +8 -9
  461. package/f-connectors/f-node-outlet/f-node-outlet-base.d.ts +3 -3
  462. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +6 -8
  463. package/f-connectors/f-node-output/f-node-output-base.d.ts +4 -5
  464. package/f-connectors/f-node-output/f-node-output.directive.d.ts +7 -9
  465. package/f-connectors/f-source-connector-base.d.ts +7 -0
  466. package/f-connectors/index.d.ts +1 -0
  467. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
  468. package/f-draggable/domain/providers.d.ts +1 -1
  469. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +2 -2
  470. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +9 -9
  471. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +5 -5
  472. package/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.d.ts +4 -4
  473. package/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.d.ts +5 -5
  474. package/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.d.ts +5 -5
  475. package/f-draggable/f-connection/providers.d.ts +1 -1
  476. package/f-draggable/f-draggable-base.d.ts +7 -10
  477. package/f-draggable/f-draggable.directive.d.ts +10 -12
  478. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +2 -6
  479. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
  480. package/f-draggable/f-node-move/providers.d.ts +1 -1
  481. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +2 -2
  482. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +1 -1
  483. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +1 -1
  484. package/f-draggable/f-node-rotate/providers.d.ts +1 -1
  485. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
  486. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +1 -1
  487. package/f-draggable/providers.d.ts +1 -1
  488. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +1 -1
  489. package/f-external-item/f-external-item-base.d.ts +3 -3
  490. package/f-external-item/f-external-item-placeholder.directive.d.ts +1 -1
  491. package/f-external-item/f-external-item-preview.directive.d.ts +1 -1
  492. package/f-external-item/f-external-item-token.d.ts +1 -1
  493. package/f-external-item/f-external-item.directive.d.ts +5 -6
  494. package/f-external-item/f-external-item.service.d.ts +1 -1
  495. package/f-line-alignment/domain/snap-line-element.d.ts +2 -3
  496. package/f-line-alignment/domain/snap-line-service.d.ts +3 -4
  497. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +5 -7
  498. package/f-minimap/domain/f-minimap.drag-handler.d.ts +10 -10
  499. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +3 -3
  500. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -3
  501. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +7 -10
  502. package/f-minimap/providers.d.ts +1 -1
  503. package/f-node/f-node.directive.d.ts +2 -2
  504. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  505. package/f-node/providers.d.ts +1 -1
  506. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -2
  507. package/f-storage/f-components-store.d.ts +1 -1
  508. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +2 -2
  509. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +2 -2
  510. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +2 -2
  511. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +2 -2
  512. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +2 -2
  513. package/f-storage/providers.d.ts +1 -1
  514. package/fesm2022/foblex-flow.mjs +1411 -1018
  515. package/fesm2022/foblex-flow.mjs.map +1 -1
  516. package/package.json +1 -1
  517. package/reactivity/index.d.ts +0 -1
  518. package/schematics/ng-add/index.js +1 -1
  519. package/schematics/ng-add/index.js.map +1 -1
  520. package/schematics/ng-update/index.js +1 -1
  521. package/schematics/ng-update/index.js.map +1 -1
  522. package/schematics/shared/foblex-dependencies.js +1 -1
  523. package/utils/index.d.ts +1 -0
  524. package/utils/infinity-min-max.d.ts +1 -1
  525. package/utils/string-attribute.d.ts +1 -0
  526. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.d.ts +0 -12
  527. package/domain/f-connectors/add-input-to-store/add-input-to-store.execution.d.ts +0 -12
  528. package/domain/f-connectors/find-closest-connector/find-closest-connector.execution.d.ts +0 -16
  529. package/domain/f-connectors/find-closest-connector/index.d.ts +0 -2
  530. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.execution.mjs +0 -32
  531. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +0 -16
  532. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store.execution.mjs +0 -25
  533. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +0 -25
  534. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +0 -25
  535. package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.execution.mjs +0 -47
  536. package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +0 -10
  537. package/esm2022/domain/f-connectors/find-closest-connector/index.mjs +0 -3
  538. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +0 -31
  539. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.execution.mjs +0 -30
  540. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +0 -8
  541. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store.execution.mjs +0 -25
  542. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.execution.mjs +0 -30
  543. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.mjs +0 -8
  544. package/esm2022/reactivity/mediator-effect.mjs +0 -14
  545. package/reactivity/mediator-effect.d.ts +0 -2
@@ -1,29 +1,29 @@
1
1
  import { FDragHandlerResult } from '../../f-drag-handler';
2
- import { FindClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest } from '../../../domain';
3
- import { EFConnectableSide, } from '../../../f-connectors';
2
+ import { CalculateClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, CalculateConnectionLineByBehaviorRequest, GetConnectorAndRectRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
3
+ import { EFConnectableSide } from '../../../f-connectors';
4
4
  import { FMediator } from '@foblex/mediator';
5
- import { RoundedRect, PointExtensions, RectExtensions } from '@foblex/2d';
5
+ import { RoundedRect, PointExtensions, RectExtensions, } from '@foblex/2d';
6
6
  import { FComponentsStore } from '../../../f-storage';
7
7
  export class FCreateConnectionDragHandler {
8
8
  _fOutputOrOutlet;
9
9
  fEventType = 'create-connection';
10
10
  fData;
11
- _fResult;
12
- _fMediator;
11
+ _result;
12
+ _mediator;
13
13
  _store;
14
14
  _toConnectorRect = new RoundedRect();
15
- get _fConnection() {
15
+ get _connection() {
16
16
  return this._store.fTempConnection;
17
17
  }
18
- get _fSnapConnection() {
18
+ get _snapConnection() {
19
19
  return this._store.fSnapConnection;
20
20
  }
21
21
  _fOutputWithRect;
22
22
  _canBeConnectedInputs = [];
23
23
  constructor(_injector, _fOutputOrOutlet, _onPointerDownPosition) {
24
24
  this._fOutputOrOutlet = _fOutputOrOutlet;
25
- this._fResult = _injector.get(FDragHandlerResult);
26
- this._fMediator = _injector.get(FMediator);
25
+ this._result = _injector.get(FDragHandlerResult);
26
+ this._mediator = _injector.get(FMediator);
27
27
  this._store = _injector.get(FComponentsStore);
28
28
  this._toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(_onPointerDownPosition.x, _onPointerDownPosition.y));
29
29
  this.fData = {
@@ -34,64 +34,66 @@ export class FCreateConnectionDragHandler {
34
34
  this._getAndMarkCanBeConnectedInputs();
35
35
  this._initializeSnapConnection();
36
36
  this._initializeConnectionForCreate();
37
- this._fOutputWithRect = this._fMediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
38
- this._fConnection.show();
37
+ this._fOutputWithRect = this._mediator.execute(new GetConnectorAndRectRequest(this._fOutputOrOutlet));
38
+ this._connection.show();
39
39
  this.onPointerMove(PointExtensions.initialize());
40
- this._fResult.setData({
40
+ this._result.setData({
41
41
  toConnectorRect: this._toConnectorRect,
42
42
  canBeConnectedInputs: this._canBeConnectedInputs,
43
- fOutputId: this._fOutputOrOutlet.fId,
43
+ fOutputId: this._fOutputOrOutlet.fId(),
44
44
  });
45
45
  }
46
46
  _getAndMarkCanBeConnectedInputs() {
47
- this._canBeConnectedInputs = this._fMediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
48
- this._fMediator.execute(new MarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
47
+ this._canBeConnectedInputs = this._mediator.execute(new GetAllCanBeConnectedInputsAndRectsRequest(this._fOutputOrOutlet));
48
+ this._mediator.execute(new MarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
49
49
  }
50
50
  _initializeSnapConnection() {
51
- if (!this._fSnapConnection) {
51
+ if (!this._snapConnection) {
52
52
  return;
53
53
  }
54
- this._fSnapConnection.fOutputId = this._fOutputOrOutlet.fId;
55
- this._fSnapConnection.initialize();
54
+ this._snapConnection.fOutputId.set(this._fOutputOrOutlet.fId());
55
+ this._snapConnection.initialize();
56
56
  }
57
57
  _initializeConnectionForCreate() {
58
- this._fConnection.fOutputId = this._fOutputOrOutlet.fId;
59
- this._fConnection.initialize();
58
+ this._connection.fOutputId.set(this._fOutputOrOutlet.fId());
59
+ this._connection.initialize();
60
60
  }
61
61
  onPointerMove(difference) {
62
62
  const fClosestInput = this._findClosestInput(difference);
63
63
  this._drawConnectionForCreate(this._toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
64
- if (this._fSnapConnection) {
64
+ if (this._snapConnection) {
65
65
  this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
66
66
  }
67
67
  }
68
68
  _drawConnectionForCreate(toConnectorRect, fSide) {
69
- const line = this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
70
- this._fConnection.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fSide);
71
- this._fConnection.redraw();
69
+ const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._connection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
70
+ this._connection.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fSide);
71
+ this._connection.redraw();
72
72
  }
73
73
  _drawSnapConnection(fClosestInput) {
74
74
  if (fClosestInput) {
75
- const line = this._fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._fSnapConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
76
- this._fSnapConnection.show();
77
- this._fSnapConnection.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide);
78
- this._fSnapConnection.redraw();
75
+ const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._snapConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
76
+ this._snapConnection?.show();
77
+ this._snapConnection?.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide);
78
+ this._snapConnection?.redraw();
79
79
  }
80
80
  else {
81
- this._fSnapConnection?.hide();
81
+ this._snapConnection?.hide();
82
82
  }
83
83
  }
84
84
  _findClosestInput(difference) {
85
- return this._fMediator.execute(new FindClosestConnectorRequest(this._toConnectorRect.addPoint(difference), this._canBeConnectedInputs));
85
+ return this._mediator.execute(new CalculateClosestConnectorRequest(this._toConnectorRect.addPoint(difference), this._canBeConnectedInputs));
86
86
  }
87
87
  _getClosestInputForSnapConnection(fClosestInput) {
88
- return fClosestInput && fClosestInput.distance < this._fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
88
+ return fClosestInput && fClosestInput.distance < this._snapConnection.fSnapThreshold
89
+ ? fClosestInput
90
+ : undefined;
89
91
  }
90
92
  onPointerUp() {
91
- this._fConnection.redraw();
92
- this._fConnection.hide();
93
- this._fSnapConnection?.hide();
94
- this._fMediator.execute(new UnmarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
93
+ this._connection.redraw();
94
+ this._connection.hide();
95
+ this._snapConnection?.hide();
96
+ this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
95
97
  }
96
98
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBQ1ksZ0NBQWdDLEVBQUUsa0NBQWtDLEVBQzNHLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNMLGlCQUFpQixHQUVsQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFpQixlQUFlLEVBQUUsY0FBYyxFQUFnQixNQUFNLFlBQVksQ0FBQztBQUN2RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBeUI3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFNO0lBRUQsUUFBUSxDQUFtRDtJQUMzRCxVQUFVLENBQVk7SUFDdEIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksWUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0IsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQTJDLENBQUM7SUFDakUsQ0FBQztJQUVPLGdCQUFnQixDQUFxQjtJ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SUZEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEZpbmRDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCxcbiAgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0LFxuICBJQ29ubmVjdG9yQW5kUmVjdCwgSUNsb3Nlc3RDb25uZWN0b3IsIE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LCBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0XG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQge1xuICBFRkNvbm5lY3RhYmxlU2lkZSwgRk5vZGVPdXRsZXRCYXNlLFxuICBGTm9kZU91dHB1dEJhc2UsXG59IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFJvdW5kZWRSZWN0LCBJTGluZSwgSVBvaW50LCBQb2ludEV4dGVuc2lvbnMsIFJlY3RFeHRlbnNpb25zLCBJUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUZDcmVhdGVDb25uZWN0aW9uRHJhZ1Jlc3VsdCB9IGZyb20gJy4vaS1mLWNyZWF0ZS1jb25uZWN0aW9uLWRyYWctcmVzdWx0JztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBGQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG5cbiAgcHVibGljIGZFdmVudFR5cGUgPSAnY3JlYXRlLWNvbm5lY3Rpb24nO1xuICBwdWJsaWMgZkRhdGE6IGFueTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mUmVzdWx0OiBGRHJhZ0hhbmRsZXJSZXN1bHQ8SUZDcmVhdGVDb25uZWN0aW9uRHJhZ1Jlc3VsdD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90b0Nvbm5lY3RvclJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb24oKTogRkNvbm5lY3Rpb25CYXNlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlRlbXBDb25uZWN0aW9uITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mU25hcENvbm5lY3Rpb24oKTogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlNuYXBDb25uZWN0aW9uIGFzIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgX2NhbkJlQ29ubmVjdGVkSW5wdXRzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9mT3V0cHV0T3JPdXRsZXQ6IEZOb2RlT3V0cHV0QmFzZSB8IEZOb2RlT3V0bGV0QmFzZSxcbiAgICBfb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQsXG4gICkge1xuICAgIHRoaXMuX2ZSZXN1bHQgPSBfaW5qZWN0b3IuZ2V0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gICAgdGhpcy5fZk1lZGlhdG9yID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpO1xuICAgIHRoaXMuX3N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcblxuICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21SZWN0KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShfb25Qb2ludGVyRG93blBvc2l0aW9uLngsIF9vblBvaW50ZXJEb3duUG9zaXRpb24ueSlcbiAgICApO1xuICAgIHRoaXMuZkRhdGEgPSB7XG4gICAgICBmT3V0cHV0T3JPdXRsZXRJZDogdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTtcblxuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSk7XG5cbiAgICB0aGlzLl9mQ29ubmVjdGlvbi5zaG93KCk7XG4gICAgdGhpcy5vblBvaW50ZXJNb3ZlKFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpO1xuXG4gICAgdGhpcy5fZlJlc3VsdC5zZXREYXRhKHtcbiAgICAgIHRvQ29ubmVjdG9yUmVjdDogdGhpcy5fdG9Db25uZWN0b3JSZWN0LFxuICAgICAgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgZk91dHB1dElkOiB0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KVxuICAgICk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2ZTbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZDtcbiAgICB0aGlzLl9mU25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbm5lY3Rpb24uZk91dHB1dElkID0gdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZDtcbiAgICB0aGlzLl9mQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmQ2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKFxuICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgZkNsb3Nlc3RJbnB1dD8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IEVGQ29ubmVjdGFibGVTaWRlLlRPUFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5fZlNuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24odGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKHRvQ29ubmVjdG9yUmVjdDogSVJvdW5kZWRSZWN0LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZlJlY3QsXG4gICAgICAgIHRvQ29ubmVjdG9yUmVjdCxcbiAgICAgICAgdGhpcy5fZkNvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLl9mQ29ubmVjdGlvbi5zZXRMaW5lKGxpbmUsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGZTaWRlKTtcbiAgICB0aGlzLl9mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEuZkJlaGF2aW9yLFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEuc2hvdygpO1xuICAgICAgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5zZXRMaW5lKGxpbmUsIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbiEucmVkcmF3KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0SW5wdXQoZGlmZmVyZW5jZTogSVBvaW50KTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgRmluZENsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICAgIHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gZkNsb3Nlc3RJbnB1dCAmJiBmQ2xvc2VzdElucHV0LmRpc3RhbmNlIDwgdGhpcy5fZlNuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0SW5wdXQgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZkNvbm5lY3Rpb24ucmVkcmF3KCk7XG4gICAgdGhpcy5fZkNvbm5lY3Rpb24uaGlkZSgpO1xuICAgIHRoaXMuX2ZTbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpXG4gICAgKTtcbiAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBRzFCLGdDQUFnQyxFQUNoQyxrQ0FBa0MsR0FDbkMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBR1gsZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBd0I3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFVO0lBRUwsT0FBTyxDQUFtRDtJQUMxRCxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0QsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFFckMscUJBQXFCLEdBQXdCLEVBQUUsQ0FBQztJQUV4RCxZQUNFLFNBQW1CLEVBQ1gsZ0JBQW1ELEVBQzNELHNCQUE4QjtRQUR0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1DO1FBRzNELElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FDMUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQzlFLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUc7U0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFFdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM1QyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUN0RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ25CLGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3RDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7WUFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLCtCQUErQjtRQUNyQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ2pELElBQUkseUNBQXlDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQ3JFLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDMUYsQ0FBQztJQUNKLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMxQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyw4QkFBOEI7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLHdCQUF3QixDQUMzQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUMxQyxhQUFhLEVBQUUsVUFBVSxDQUFDLGdCQUFnQixJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FDcEUsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsaUNBQWlDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QixDQUFDLGVBQTZCLEVBQUUsS0FBd0I7UUFDdEYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ2pDLElBQUksd0NBQXdDLENBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQzNCLGVBQWUsRUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDakQsS0FBSyxDQUNOLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLGFBQTRDO1FBQ3RFLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ2pDLElBQUksd0NBQXdDLENBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQzNCLGFBQWEsQ0FBQyxLQUFLLEVBQ25CLElBQUksQ0FBQyxlQUFnQixDQUFDLFNBQVMsRUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDakQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDMUMsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FDM0IsSUFBSSxFQUNKLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQ2pELGFBQWEsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQzFDLENBQUM7WUFDRixJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtCO1FBQzFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksZ0NBQWdDLENBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQzFDLElBQUksQ0FBQyxxQkFBcUIsQ0FDM0IsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlDQUFpQyxDQUN2QyxhQUE0QztRQUU1QyxPQUFPLGFBQWEsSUFBSSxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFnQixDQUFDLGNBQWM7WUFDbkYsQ0FBQyxDQUFDLGFBQWE7WUFDZixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM1RixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkRyYWdIYW5kbGVyUmVzdWx0LCBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QsXG4gIEdldEFsbENhbkJlQ29ubmVjdGVkSW5wdXRzQW5kUmVjdHNSZXF1ZXN0LFxuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvckFuZFJlY3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbiAgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50LCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUsIEZOb2RlT3V0bGV0QmFzZSwgRk5vZGVPdXRwdXRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgUm91bmRlZFJlY3QsXG4gIElMaW5lLFxuICBJUG9pbnQsXG4gIFBvaW50RXh0ZW5zaW9ucyxcbiAgUmVjdEV4dGVuc2lvbnMsXG4gIElSb3VuZGVkUmVjdCxcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElGQ3JlYXRlQ29ubmVjdGlvbkRyYWdSZXN1bHQgfSBmcm9tICcuL2ktZi1jcmVhdGUtY29ubmVjdGlvbi1kcmFnLXJlc3VsdCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgRkNyZWF0ZUNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdjcmVhdGUtY29ubmVjdGlvbic7XG4gIHB1YmxpYyBmRGF0YTogdW5rbm93bjtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXN1bHQ6IEZEcmFnSGFuZGxlclJlc3VsdDxJRkNyZWF0ZUNvbm5lY3Rpb25EcmFnUmVzdWx0PjtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3I6IEZNZWRpYXRvcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmU6IEZDb21wb25lbnRzU3RvcmU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfdG9Db25uZWN0b3JSZWN0ID0gbmV3IFJvdW5kZWRSZWN0KCk7XG5cbiAgcHJpdmF0ZSBnZXQgX2Nvbm5lY3Rpb24oKTogRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mVGVtcENvbm5lY3Rpb24gYXMgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfc25hcENvbm5lY3Rpb24oKTogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlNuYXBDb25uZWN0aW9uIGFzIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgX2NhbkJlQ29ubmVjdGVkSW5wdXRzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9mT3V0cHV0T3JPdXRsZXQ6IEZOb2RlT3V0cHV0QmFzZSB8IEZOb2RlT3V0bGV0QmFzZSxcbiAgICBfb25Qb2ludGVyRG93blBvc2l0aW9uOiBJUG9pbnQsXG4gICkge1xuICAgIHRoaXMuX3Jlc3VsdCA9IF9pbmplY3Rvci5nZXQoRkRyYWdIYW5kbGVyUmVzdWx0KTtcbiAgICB0aGlzLl9tZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9zdG9yZSA9IF9pbmplY3Rvci5nZXQoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QgPSBSb3VuZGVkUmVjdC5mcm9tUmVjdChcbiAgICAgIFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoX29uUG9pbnRlckRvd25Qb3NpdGlvbi54LCBfb25Qb2ludGVyRG93blBvc2l0aW9uLnkpLFxuICAgICk7XG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZPdXRwdXRPck91dGxldElkOiB0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9nZXRBbmRNYXJrQ2FuQmVDb25uZWN0ZWRJbnB1dHMoKTtcbiAgICB0aGlzLl9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTtcbiAgICB0aGlzLl9pbml0aWFsaXplQ29ubmVjdGlvbkZvckNyZWF0ZSgpO1xuXG4gICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4oXG4gICAgICBuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSxcbiAgICApO1xuXG4gICAgdGhpcy5fY29ubmVjdGlvbi5zaG93KCk7XG4gICAgdGhpcy5vblBvaW50ZXJNb3ZlKFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpO1xuXG4gICAgdGhpcy5fcmVzdWx0LnNldERhdGEoe1xuICAgICAgdG9Db25uZWN0b3JSZWN0OiB0aGlzLl90b0Nvbm5lY3RvclJlY3QsXG4gICAgICBjYW5CZUNvbm5lY3RlZElucHV0czogdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICBmT3V0cHV0SWQ6IHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldEFuZE1hcmtDYW5CZUNvbm5lY3RlZElucHV0cygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmQ2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKFxuICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgZkNsb3Nlc3RJbnB1dD8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IEVGQ29ubmVjdGFibGVTaWRlLlRPUCxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24odGhpcy5fZ2V0Q2xvc2VzdElucHV0Rm9yU25hcENvbm5lY3Rpb24oZkNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKHRvQ29ubmVjdG9yUmVjdDogSVJvdW5kZWRSZWN0LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICB0b0Nvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uc2hvdygpO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnNldExpbmUoXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmQ2xvc2VzdElucHV0ICYmIGZDbG9zZXN0SW5wdXQuZGlzdGFuY2UgPCB0aGlzLl9zbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGRcbiAgICAgID8gZkNsb3Nlc3RJbnB1dFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -44,4 +44,4 @@ export { GetFirstConnectableOutputExecution };
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetFirstConnectableOutputExecution, decorators: [{
45
45
  type: Injectable
46
46
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQvZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUkvQyxJQUFNLGtDQUFrQyxHQUF4QyxNQUFNLGtDQUFrQztJQUc1QixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3RCxJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxNQUFNLENBQXdCO0lBRS9CLE1BQU0sQ0FBQyxPQUF5QztRQUNyRCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDL0MsSUFBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUE7UUFDdkYsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBeUM7UUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUF3QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBRSxDQUFDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7d0dBdkNVLGtDQUFrQzs0R0FBbEMsa0NBQWtDOztBQUFsQyxrQ0FBa0M7SUFEOUMsa0JBQWtCLENBQUMsZ0NBQWdDLENBQUM7R0FDeEMsa0NBQWtDLENBd0M5Qzs7NEZBeENZLGtDQUFrQztrQkFGOUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UsIEZOb2RlT3V0bGV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QgfSBmcm9tICcuL2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUhhbmRsZXI8R2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QsIEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudFN0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZPdXRwdXRzKCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk91dHB1dHM7XG4gIH1cblxuICBwcml2YXRlIF9mTm9kZTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmT3V0cHV0cyA9IHRoaXMuX2dldENvbm5lY3RhYmxlT3V0cHV0cygpO1xuICAgIGlmKCFmT3V0cHV0cy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGZOb2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgZk91dHB1dCBpZiB0aGVyZSBpcyBhbiBmT3V0bGV0JylcbiAgICB9XG4gICAgcmV0dXJuIGZPdXRwdXRzWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZChyZXF1ZXN0OiBHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0UmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2dldE5vZGUocmVxdWVzdC5mT3V0bGV0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGUoZk91dGxldDogRk5vZGVPdXRsZXRCYXNlKTogRk5vZGVCYXNlIHtcbiAgICB0aGlzLl9mTm9kZSA9IHRoaXMuX2ZOb2Rlcy5maW5kKCh4KSA9PiB4LmlzQ29udGFpbnMoZk91dGxldC5ob3N0RWxlbWVudCkpITtcbiAgICByZXR1cm4gdGhpcy5fZk5vZGU7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb25uZWN0YWJsZU91dHB1dHMoKTogRkNvbm5lY3RvckJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZPdXRwdXRzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mTm9kZSEuaXNDb250YWlucyh4Lmhvc3RFbGVtZW50KSAmJiB4LmNhbkJlQ29ubmVjdGVkKTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQvZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUkvQyxJQUFNLGtDQUFrQyxHQUF4QyxNQUFNLGtDQUFrQztJQUc1QixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU3RCxJQUFZLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFZLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxNQUFNLENBQXdCO0lBRS9CLE1BQU0sQ0FBQyxPQUF5QztRQUNyRCxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDL0MsSUFBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUE7UUFDdkYsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxRQUFRLENBQUMsT0FBeUM7UUFDeEQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUF3QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBRSxDQUFDO1FBRTNFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7d0dBekNVLGtDQUFrQzs0R0FBbEMsa0NBQWtDOztBQUFsQyxrQ0FBa0M7SUFEOUMsa0JBQWtCLENBQUMsZ0NBQWdDLENBQUM7R0FDeEMsa0NBQWtDLENBMEM5Qzs7NEZBMUNZLGtDQUFrQztrQkFGOUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UsIEZOb2RlT3V0bGV0QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QgfSBmcm9tICcuL2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQucmVxdWVzdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0RXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUhhbmRsZXI8R2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QsIEZDb25uZWN0b3JCYXNlIHwgdW5kZWZpbmVkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNvbXBvbmVudFN0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXMoKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk5vZGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZPdXRwdXRzKCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mQ29tcG9uZW50U3RvcmUuZk91dHB1dHM7XG4gIH1cblxuICBwcml2YXRlIF9mTm9kZTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3QpOiBGQ29ubmVjdG9yQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYoIXRoaXMuX2lzVmFsaWQocmVxdWVzdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmT3V0cHV0cyA9IHRoaXMuX2dldENvbm5lY3RhYmxlT3V0cHV0cygpO1xuICAgIGlmKCFmT3V0cHV0cy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGZOb2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgZk91dHB1dCBpZiB0aGVyZSBpcyBhbiBmT3V0bGV0JylcbiAgICB9XG5cbiAgICByZXR1cm4gZk91dHB1dHNbMF07XG4gIH1cblxuICBwcml2YXRlIF9pc1ZhbGlkKHJlcXVlc3Q6IEdldEZpcnN0Q29ubmVjdGFibGVPdXRwdXRSZXF1ZXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZ2V0Tm9kZShyZXF1ZXN0LmZPdXRsZXQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Tm9kZShmT3V0bGV0OiBGTm9kZU91dGxldEJhc2UpOiBGTm9kZUJhc2Uge1xuICAgIHRoaXMuX2ZOb2RlID0gdGhpcy5fZk5vZGVzLmZpbmQoKHgpID0+IHguaXNDb250YWlucyhmT3V0bGV0Lmhvc3RFbGVtZW50KSkhO1xuXG4gICAgcmV0dXJuIHRoaXMuX2ZOb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGFibGVPdXRwdXRzKCk6IEZDb25uZWN0b3JCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9mT3V0cHV0c1xuICAgICAgLmZpbHRlcigoeCkgPT4gdGhpcy5fZk5vZGUhLmlzQ29udGFpbnMoeC5ob3N0RWxlbWVudCkgJiYgeC5jYW5CZUNvbm5lY3RlZCk7XG4gIH1cbn1cbiJdfQ==
@@ -5,4 +5,4 @@ export class GetFirstConnectableOutputRequest {
5
5
  this.fOutlet = fOutlet;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1jcmVhdGUtY29ubmVjdGlvbi9nZXQtZmlyc3QtY29ubmVjdGFibGUtb3V0cHV0L2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR2xDO0lBRlQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNwRSxZQUNTLE9BQXdCO1FBQXhCLFlBQU8sR0FBUCxPQUFPLENBQWlCO0lBRWpDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZU91dGxldEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY2xhc3MgR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0UmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk91dGxldDogRk5vZGVPdXRsZXRCYXNlXG4gICkge1xuICB9XG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpcnN0LWNvbm5lY3RhYmxlLW91dHB1dC5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1jcmVhdGUtY29ubmVjdGlvbi9nZXQtZmlyc3QtY29ubmVjdGFibGUtb3V0cHV0L2dldC1maXJzdC1jb25uZWN0YWJsZS1vdXRwdXQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR2xDO0lBRlQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNwRSxZQUNTLE9BQXdCO1FBQXhCLFlBQU8sR0FBUCxPQUFPLENBQWlCO0lBRWpDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZU91dGxldEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuXG5leHBvcnQgY2xhc3MgR2V0Rmlyc3RDb25uZWN0YWJsZU91dHB1dFJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdHZXRGaXJzdENvbm5lY3RhYmxlT3V0cHV0UmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk91dGxldDogRk5vZGVPdXRsZXRCYXNlLFxuICApIHtcbiAgfVxufVxuIl19
@@ -1,68 +1,70 @@
1
1
  import { FDragHandlerResult } from '../../f-drag-handler';
2
- import { GetConnectorAndRectRequest, } from '../../../domain';
2
+ import { GetConnectorAndRectRequest } from '../../../domain';
3
3
  import { FMediator } from '@foblex/mediator';
4
4
  import { FComponentsStore } from '../../../f-storage';
5
- import { roundedRectFromPoint } from "./i-f-reassign-handler";
6
- import { FReassignTargetDragHandler } from "./f-reassign-target.drag-handler";
7
- import { FReassignSourceDragHandler } from "./f-reassign-source.drag-handler";
5
+ import { roundedRectFromPoint } from './i-f-reassign-handler';
6
+ import { FReassignTargetDragHandler } from './f-reassign-target.drag-handler';
7
+ import { FReassignSourceDragHandler } from './f-reassign-source.drag-handler';
8
8
  export class FReassignConnectionDragHandler {
9
9
  _connection;
10
10
  _isTargetDragHandle;
11
11
  fEventType = 'reassign-connection';
12
12
  fData;
13
- _fResult;
14
- _fMediator;
13
+ _result;
14
+ _mediator;
15
15
  _store;
16
- get _fSnapConnection() {
16
+ get _snapConnection() {
17
17
  return this._store.fSnapConnection;
18
18
  }
19
19
  get _sourceConnector() {
20
- const result = this._store.fOutputs.find((x) => x.fId === this._connection.fOutputId);
20
+ const result = this._store.fOutputs.find((x) => x.fId() === this._connection.fOutputId());
21
21
  if (!result) {
22
22
  throw new Error('Connection output not found');
23
23
  }
24
24
  return result;
25
25
  }
26
26
  get _targetConnector() {
27
- const result = this._store.fInputs.find((x) => x.fId === this._connection.fInputId);
27
+ const result = this._store.fInputs.find((x) => x.fId() === this._connection.fInputId());
28
28
  if (!result) {
29
29
  throw new Error('Connection input not found');
30
30
  }
31
31
  return result;
32
32
  }
33
33
  get _sourceConnectorAndRect() {
34
- return this._fMediator.execute(new GetConnectorAndRectRequest(this._sourceConnector));
34
+ return this._mediator.execute(new GetConnectorAndRectRequest(this._sourceConnector));
35
35
  }
36
36
  get _targetConnectorAndRect() {
37
- return this._fMediator.execute(new GetConnectorAndRectRequest(this._targetConnector));
37
+ return this._mediator.execute(new GetConnectorAndRectRequest(this._targetConnector));
38
38
  }
39
39
  _reassignHandler;
40
40
  constructor(_injector, _connection, _isTargetDragHandle) {
41
41
  this._connection = _connection;
42
42
  this._isTargetDragHandle = _isTargetDragHandle;
43
- this._fResult = _injector.get(FDragHandlerResult);
44
- this._fMediator = _injector.get(FMediator);
43
+ this._result = _injector.get(FDragHandlerResult);
44
+ this._mediator = _injector.get(FMediator);
45
45
  this._store = _injector.get(FComponentsStore);
46
46
  this.fData = {
47
- fConnectionId: this._connection.fId()
47
+ fConnectionId: this._connection.fId(),
48
48
  };
49
- this._reassignHandler = this._isTargetDragHandle ? this._targetDragHandler() : this._sourceDragHandler();
49
+ this._reassignHandler = this._isTargetDragHandle
50
+ ? this._targetDragHandler()
51
+ : this._sourceDragHandler();
50
52
  }
51
53
  _sourceDragHandler() {
52
- return new FReassignSourceDragHandler(this._fMediator, this._connection, this._sourceConnectorAndRect, this._targetConnectorAndRect);
54
+ return new FReassignSourceDragHandler(this._mediator, this._connection, this._sourceConnectorAndRect, this._targetConnectorAndRect);
53
55
  }
54
56
  _targetDragHandler() {
55
- return new FReassignTargetDragHandler(this._fMediator, this._connection, this._sourceConnectorAndRect, this._targetConnectorAndRect);
57
+ return new FReassignTargetDragHandler(this._mediator, this._connection, this._sourceConnectorAndRect, this._targetConnectorAndRect);
56
58
  }
57
59
  prepareDragSequence() {
58
60
  this._reassignHandler.markConnectableConnector();
59
- this._reassignHandler.initializeSnapConnection(this._fSnapConnection);
60
- this._fResult.setData({
61
+ this._reassignHandler.initializeSnapConnection(this._snapConnection);
62
+ this._result.setData({
61
63
  isTargetDragHandle: this._isTargetDragHandle,
62
64
  sourceConnectorRect: roundedRectFromPoint(this._connection.line.point1),
63
65
  targetConnectorRect: roundedRectFromPoint(this._connection.line.point2),
64
66
  connectableConnectors: this._reassignHandler.getConnectableConnectors(),
65
- fConnection: this._connection
67
+ fConnection: this._connection,
66
68
  });
67
69
  }
68
70
  onPointerMove(difference) {
@@ -72,4 +74,4 @@ export class FReassignConnectionDragHandler {
72
74
  this._reassignHandler.onPointerUp();
73
75
  }
74
76
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxrQkFBa0IsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsMEJBQTBCLEdBRTNCLE1BQU0saUJBQWlCLENBQUM7QUFJekIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBb0Isb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1RSxNQUFNLE9BQU8sOEJBQThCO0lBeUMvQjtJQUNBO0lBeENILFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztJQUNuQyxLQUFLLENBQU07SUFFRCxRQUFRLENBQXFEO0lBQzdELFVBQVUsQ0FBWTtJQUN0QixNQUFNLENBQW1CO0lBRTFDLElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENB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Z0JBQWdCLENBQUMsd0JBQXdCLEVBQUU7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtGRHJhZ0hhbmRsZXJSZXN1bHQsIElGRHJhZ0hhbmRsZXJ9IGZyb20gJy4uLy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0LFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7RkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQge0ZOb2RlSW5wdXREaXJlY3RpdmUsIEZOb2RlT3V0cHV0RGlyZWN0aXZlfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHtJUG9pbnR9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtGTWVkaWF0b3J9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtGQ29tcG9uZW50c1N0b3JlfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHtJRlJlYXNzaWduQ29ubmVjdGlvbkRyYWdSZXN1bHR9IGZyb20gJy4vaS1mLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQnO1xuaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lGUmVhc3NpZ25IYW5kbGVyLCByb3VuZGVkUmVjdEZyb21Qb2ludH0gZnJvbSBcIi4vaS1mLXJlYXNzaWduLWhhbmRsZXJcIjtcbmltcG9ydCB7RlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXJ9IGZyb20gXCIuL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlclwiO1xuaW1wb3J0IHtGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlcn0gZnJvbSBcIi4vZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Db25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcblxuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdyZWFzc2lnbi1jb25uZWN0aW9uJztcbiAgcHVibGljIGZEYXRhOiBhbnk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZlJlc3VsdDogRkRyYWdIYW5kbGVyUmVzdWx0PElGUmVhc3NpZ25Db25uZWN0aW9uRHJhZ1Jlc3VsdD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIGdldCBfZlNuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZTbmFwQ29ubmVjdGlvbiBhcyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yKCk6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gb3V0cHV0IG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0IGFzIEZOb2RlT3V0cHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3RhcmdldENvbm5lY3RvcigpOiBGTm9kZUlucHV0RGlyZWN0aXZlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdG9yZS5mSW5wdXRzLmZpbmQoKHgpID0+IHguZklkID09PSB0aGlzLl9jb25uZWN0aW9uLmZJbnB1dElkKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb25uZWN0aW9uIGlucHV0IG5vdCBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0IGFzIEZOb2RlSW5wdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yQW5kUmVjdCgpOiBJQ29ubmVjdG9yQW5kUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fc291cmNlQ29ubmVjdG9yKSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdCgpOiBJQ29ubmVjdG9yQW5kUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fdGFyZ2V0Q29ubmVjdG9yKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFzc2lnbkhhbmRsZXIhOiBJRlJlYXNzaWduSGFuZGxlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX2Nvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIF9pc1RhcmdldERyYWdIYW5kbGU6IGJvb2xlYW5cbiAgKSB7XG4gICAgdGhpcy5fZlJlc3VsdCA9IF9pbmplY3Rvci5nZXQoRkRyYWdIYW5kbGVyUmVzdWx0KTtcbiAgICB0aGlzLl9mTWVkaWF0b3IgPSBfaW5qZWN0b3IuZ2V0KEZNZWRpYXRvcik7XG4gICAgdGhpcy5fc3RvcmUgPSBfaW5qZWN0b3IuZ2V0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gICAgdGhpcy5mRGF0YSA9IHtcbiAgICAgIGZDb25uZWN0aW9uSWQ6IHRoaXMuX2Nvbm5lY3Rpb24uZklkKClcbiAgICB9O1xuXG4gICAgdGhpcy5fcmVhc3NpZ25IYW5kbGVyID0gdGhpcy5faXNUYXJnZXREcmFnSGFuZGxlID8gdGhpcy5fdGFyZ2V0RHJhZ0hhbmRsZXIoKSA6IHRoaXMuX3NvdXJjZURyYWdIYW5kbGVyKCk7XG4gIH1cblxuICBwcml2YXRlIF9zb3VyY2VEcmFnSGFuZGxlcigpOiBGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlciB7XG4gICAgcmV0dXJuIG5ldyBGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlcih0aGlzLl9mTWVkaWF0b3IsIHRoaXMuX2Nvbm5lY3Rpb24sIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QsIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdGFyZ2V0RHJhZ0hhbmRsZXIoKTogRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiBuZXcgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIodGhpcy5fZk1lZGlhdG9yLCB0aGlzLl9jb25uZWN0aW9uLCB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LCB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlYXNzaWduSGFuZGxlci5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3IoKTtcbiAgICB0aGlzLl9yZWFzc2lnbkhhbmRsZXIuaW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKHRoaXMuX2ZTbmFwQ29ubmVjdGlvbik7XG5cbiAgICB0aGlzLl9mUmVzdWx0LnNldERhdGEoe1xuICAgICAgaXNUYXJnZXREcmFnSGFuZGxlOiB0aGlzLl9pc1RhcmdldERyYWdIYW5kbGUsXG4gICAgICBzb3VyY2VDb25uZWN0b3JSZWN0OiByb3VuZGVkUmVjdEZyb21Qb2ludCh0aGlzLl9jb25uZWN0aW9uLmxpbmUucG9pbnQxKSxcbiAgICAgIHRhcmdldENvbm5lY3RvclJlY3Q6IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDIpLFxuICAgICAgY29ubmVjdGFibGVDb25uZWN0b3JzOiB0aGlzLl9yZWFzc2lnbkhhbmRsZXIuZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCksXG4gICAgICBmQ29ubmVjdGlvbjogdGhpcy5fY29ubmVjdGlvblxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fcmVhc3NpZ25IYW5kbGVyLm9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVhc3NpZ25IYW5kbGVyLm9uUG9pbnRlclVwKCk7XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFJaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3RELE9BQU8sRUFBcUIsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU5RSxNQUFNLE9BQU8sOEJBQThCO0lBOEMvQjtJQUNBO0lBOUNILFVBQVUsR0FBRyxxQkFBcUIsQ0FBQztJQUNuQyxLQUFLLENBQVU7SUFFTCxPQUFPLENBQXFEO0lBQzVELFNBQVMsQ0FBWTtJQUNyQixNQUFNLENBQW1CO0lBRTFDLElBQVksZUFBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBMkMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFBWSxnQkFBZ0I7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsT0FBTyxNQUE4QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxPQUFPLE1BQTZCLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVksdUJBQXVCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBWSx1QkFBdUI7UUFDakMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFFN0MsWUFDRSxTQUFtQixFQUNYLFdBQTRCLEVBQzVCLG1CQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFTO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1NBQ3RDLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtZQUM5QyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSwwQkFBMEIsQ0FDbkMsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsdUJBQXVCLEVBQzVCLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLDBCQUEwQixDQUNuQyxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyx1QkFBdUIsRUFDNUIsSUFBSSxDQUFDLHVCQUF1QixDQUM3QixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ25CLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7WUFDNUMsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZFLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN2RSxxQkFBcUIsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUU7WUFDdkUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBa0I7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkRyYWdIYW5kbGVyUmVzdWx0LCBJRkRyYWdIYW5kbGVyIH0gZnJvbSAnLi4vLi4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHsgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsIElDb25uZWN0b3JBbmRSZWN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZOb2RlSW5wdXREaXJlY3RpdmUsIEZOb2RlT3V0cHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IElGUmVhc3NpZ25Db25uZWN0aW9uRHJhZ1Jlc3VsdCB9IGZyb20gJy4vaS1mLXJlYXNzaWduLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElGUmVhc3NpZ25IYW5kbGVyLCByb3VuZGVkUmVjdEZyb21Qb2ludCB9IGZyb20gJy4vaS1mLXJlYXNzaWduLWhhbmRsZXInO1xuaW1wb3J0IHsgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIgfSBmcm9tICcuL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlcic7XG5pbXBvcnQgeyBGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlciB9IGZyb20gJy4vZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyJztcblxuZXhwb3J0IGNsYXNzIEZSZWFzc2lnbkNvbm5lY3Rpb25EcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGRHJhZ0hhbmRsZXIge1xuICBwdWJsaWMgZkV2ZW50VHlwZSA9ICdyZWFzc2lnbi1jb25uZWN0aW9uJztcbiAgcHVibGljIGZEYXRhOiB1bmtub3duO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3VsdDogRkRyYWdIYW5kbGVyUmVzdWx0PElGUmVhc3NpZ25Db25uZWN0aW9uRHJhZ1Jlc3VsdD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlOiBGQ29tcG9uZW50c1N0b3JlO1xuXG4gIHByaXZhdGUgZ2V0IF9zbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0gdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQoKSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29ubmVjdGlvbiBvdXRwdXQgbm90IGZvdW5kJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF90YXJnZXRDb25uZWN0b3IoKTogRk5vZGVJbnB1dERpcmVjdGl2ZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSB0aGlzLl9jb25uZWN0aW9uLmZJbnB1dElkKCkpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaW5wdXQgbm90IGZvdW5kJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdCBhcyBGTm9kZUlucHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QoKTogSUNvbm5lY3RvckFuZFJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9zb3VyY2VDb25uZWN0b3IpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdCgpOiBJQ29ubmVjdG9yQW5kUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KFxuICAgICAgbmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuX3RhcmdldENvbm5lY3RvciksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlYXNzaWduSGFuZGxlciE6IElGUmVhc3NpZ25IYW5kbGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgX2lzVGFyZ2V0RHJhZ0hhbmRsZTogYm9vbGVhbixcbiAgKSB7XG4gICAgdGhpcy5fcmVzdWx0ID0gX2luamVjdG9yLmdldChGRHJhZ0hhbmRsZXJSZXN1bHQpO1xuICAgIHRoaXMuX21lZGlhdG9yID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpO1xuICAgIHRoaXMuX3N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcblxuICAgIHRoaXMuZkRhdGEgPSB7XG4gICAgICBmQ29ubmVjdGlvbklkOiB0aGlzLl9jb25uZWN0aW9uLmZJZCgpLFxuICAgIH07XG5cbiAgICB0aGlzLl9yZWFzc2lnbkhhbmRsZXIgPSB0aGlzLl9pc1RhcmdldERyYWdIYW5kbGVcbiAgICAgID8gdGhpcy5fdGFyZ2V0RHJhZ0hhbmRsZXIoKVxuICAgICAgOiB0aGlzLl9zb3VyY2VEcmFnSGFuZGxlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRHJhZ0hhbmRsZXIoKTogRlJlYXNzaWduU291cmNlRHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiBuZXcgRlJlYXNzaWduU291cmNlRHJhZ0hhbmRsZXIoXG4gICAgICB0aGlzLl9tZWRpYXRvcixcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24sXG4gICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LFxuICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfdGFyZ2V0RHJhZ0hhbmRsZXIoKTogRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIge1xuICAgIHJldHVybiBuZXcgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIoXG4gICAgICB0aGlzLl9tZWRpYXRvcixcbiAgICAgIHRoaXMuX2Nvbm5lY3Rpb24sXG4gICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LFxuICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVhc3NpZ25IYW5kbGVyLm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpO1xuICAgIHRoaXMuX3JlYXNzaWduSGFuZGxlci5pbml0aWFsaXplU25hcENvbm5lY3Rpb24odGhpcy5fc25hcENvbm5lY3Rpb24pO1xuXG4gICAgdGhpcy5fcmVzdWx0LnNldERhdGEoe1xuICAgICAgaXNUYXJnZXREcmFnSGFuZGxlOiB0aGlzLl9pc1RhcmdldERyYWdIYW5kbGUsXG4gICAgICBzb3VyY2VDb25uZWN0b3JSZWN0OiByb3VuZGVkUmVjdEZyb21Qb2ludCh0aGlzLl9jb25uZWN0aW9uLmxpbmUucG9pbnQxKSxcbiAgICAgIHRhcmdldENvbm5lY3RvclJlY3Q6IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDIpLFxuICAgICAgY29ubmVjdGFibGVDb25uZWN0b3JzOiB0aGlzLl9yZWFzc2lnbkhhbmRsZXIuZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCksXG4gICAgICBmQ29ubmVjdGlvbjogdGhpcy5fY29ubmVjdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3JlYXNzaWduSGFuZGxlci5vblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2UpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlYXNzaWduSGFuZGxlci5vblBvaW50ZXJVcCgpO1xuICB9XG59XG4iXX0=
@@ -18,4 +18,4 @@ export class FReassignConnectionEvent {
18
18
  this.dropPoint = dropPoint;
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBRzFCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSVCxZQUNTLFlBQW9CLEVBQ3BCLGdCQUF5QixFQUN6QixnQkFBeUIsRUFDekIsV0FBbUIsRUFDbkIsV0FBK0IsRUFDL0IsV0FBbUIsRUFDbkIsV0FBK0IsRUFDL0IsU0FBaUI7UUFQakIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFTO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUG9pbnR9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29ubmVjdGlvbklkOiBzdHJpbmcsXG4gICAgcHVibGljIGlzU291cmNlUmVhc3NpZ246IGJvb2xlYW4sXG4gICAgcHVibGljIGlzVGFyZ2V0UmVhc3NpZ246IGJvb2xlYW4sXG4gICAgcHVibGljIG9sZFNvdXJjZUlkOiBzdHJpbmcsXG4gICAgcHVibGljIG5ld1NvdXJjZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcHVibGljIG9sZFRhcmdldElkOiBzdHJpbmcsXG4gICAgcHVibGljIG5ld1RhcmdldElkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcHVibGljIGRyb3BQb2ludDogSVBvaW50LFxuICApIHtcbiAgfVxufVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1jb25uZWN0aW9uLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tY29ubmVjdGlvbi5ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sd0JBQXdCO0lBRzFCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSVCxZQUNTLFlBQW9CLEVBQ3BCLGdCQUF5QixFQUN6QixnQkFBeUIsRUFDekIsV0FBbUIsRUFDbkIsV0FBK0IsRUFDL0IsV0FBbUIsRUFDbkIsV0FBK0IsRUFDL0IsU0FBaUI7UUFQakIsaUJBQVksR0FBWixZQUFZLENBQVE7UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFTO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztRQUN6QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb25uZWN0aW9uSWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgaXNTb3VyY2VSZWFzc2lnbjogYm9vbGVhbixcbiAgICBwdWJsaWMgaXNUYXJnZXRSZWFzc2lnbjogYm9vbGVhbixcbiAgICBwdWJsaWMgb2xkU291cmNlSWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgbmV3U291cmNlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgb2xkVGFyZ2V0SWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgbmV3VGFyZ2V0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBwdWJsaWMgZHJvcFBvaW50OiBJUG9pbnQsXG4gICkge1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { CalculateConnectionLineByBehaviorRequest, FindClosestConnectorRequest, GetAllCanBeConnectedSourceConnectorsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest } from "../../../domain";
2
- import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint } from "./i-f-reassign-handler";
1
+ import { CalculateConnectionLineByBehaviorRequest, CalculateClosestConnectorRequest, GetAllCanBeConnectedSourceConnectorsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
2
+ import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint, } from './i-f-reassign-handler';
3
3
  export class FReassignSourceDragHandler {
4
4
  _mediator;
5
5
  _connection;
@@ -26,7 +26,7 @@ export class FReassignSourceDragHandler {
26
26
  }
27
27
  markConnectableConnector() {
28
28
  this._connectableConnectors = this._mediator.execute(new GetAllCanBeConnectedSourceConnectorsAndRectsRequest(this._targetConnector));
29
- const isExistCurrentSourceConnector = this._connectableConnectors.some((x) => x.fConnector.fId === this._sourceConnector.fId);
29
+ const isExistCurrentSourceConnector = this._connectableConnectors.some((x) => x.fConnector.fId() === this._sourceConnector.fId());
30
30
  if (!isExistCurrentSourceConnector) {
31
31
  this._connectableConnectors.push(this._sourceConnectorAndRect);
32
32
  }
@@ -37,7 +37,7 @@ export class FReassignSourceDragHandler {
37
37
  if (!snapConnection) {
38
38
  return;
39
39
  }
40
- snapConnection.fInputId = this._connection.fInputId;
40
+ snapConnection.fInputId.set(this._connection.fInputId());
41
41
  snapConnection.initialize();
42
42
  }
43
43
  onPointerMove(difference) {
@@ -49,7 +49,7 @@ export class FReassignSourceDragHandler {
49
49
  }
50
50
  }
51
51
  _findClosestConnector(point, connectors) {
52
- return this._mediator.execute(new FindClosestConnectorRequest(point, connectors));
52
+ return this._mediator.execute(new CalculateClosestConnectorRequest(point, connectors));
53
53
  }
54
54
  _drawConnection(newPoint, fSide) {
55
55
  const line = this._calculateNewLine(newPoint, fSide);
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQixtREFBbUQsRUFFbkQsZ0NBQWdDLEVBQUUsa0NBQWtDLEVBQ3JFLE1BQU0saUJBQWlCLENBQUM7QUFJekIsT0FBTyxFQUFvQixxQ0FBcUMsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXRILE1BQU0sT0FBTywwQkFBMEI7SUFpQmxCO0lBQ0E7SUFDQTtJQUNBO0lBbEJYLHNCQUFzQixHQUF3QixFQUFFLENBQUM7SUFFekQsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBa0MsQ0FBQztJQUN6RSxDQUFDO0lBRUQsSUFBWSxnQkFBZ0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBaUMsQ0FBQztJQUN4RSxDQUFDO0lBRWdCLGNBQWMsQ0FBZTtJQUV0QyxlQUFlLENBQXVDO0lBRTlELFlBQ21CLFNBQW9CLEVBQ3BCLFdBQTRCLEVBQzVCLHVCQUEwQyxFQUMxQyx1QkFBMEM7UUFIMUMsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUMxQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBRTNELElBQUksQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FB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LE9BQU8sQ0FDcEIsSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rk1lZGlhdG9yfSBmcm9tIFwiQGZvYmxleC9tZWRpYXRvclwiO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgRmluZENsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZFNvdXJjZUNvbm5lY3RvcnNBbmRSZWN0c1JlcXVlc3QsIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3Rcbn0gZnJvbSBcIi4uLy4uLy4uL2RvbWFpblwiO1xuaW1wb3J0IHtFRkNvbm5lY3RhYmxlU2lkZSwgRk5vZGVJbnB1dERpcmVjdGl2ZSwgRk5vZGVPdXRwdXREaXJlY3RpdmV9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3RvcnNcIjtcbmltcG9ydCB7RkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3Rpb25cIjtcbmltcG9ydCB7SUxpbmUsIElQb2ludCwgUm91bmRlZFJlY3R9IGZyb20gXCJAZm9ibGV4LzJkXCI7XG5pbXBvcnQge0lGUmVhc3NpZ25IYW5kbGVyLCBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkLCByb3VuZGVkUmVjdEZyb21Qb2ludH0gZnJvbSBcIi4vaS1mLXJlYXNzaWduLWhhbmRsZXJcIjtcblxuZXhwb3J0IGNsYXNzIEZSZWFzc2lnblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZSZWFzc2lnbkhhbmRsZXIge1xuXG4gIHByaXZhdGUgX2Nvbm5lY3RhYmxlQ29ubmVjdG9yczogSUNvbm5lY3RvckFuZFJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3IoKTogRk5vZGVPdXRwdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVPdXRwdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yKCk6IEZOb2RlSW5wdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVJbnB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3RvclJlY3QhOiBSb3VuZGVkUmVjdDtcblxuICBwcml2YXRlIF9zbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldENvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICApIHtcbiAgICB0aGlzLl9jb25uZWN0b3JSZWN0ID0gcm91bmRlZFJlY3RGcm9tUG9pbnQodGhpcy5fY29ubmVjdGlvbi5saW5lLnBvaW50MSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnM7XG4gIH1cblxuICBwdWJsaWMgbWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRTb3VyY2VDb25uZWN0b3JzQW5kUmVjdHNSZXF1ZXN0KHRoaXMuX3RhcmdldENvbm5lY3RvcilcbiAgICApO1xuICAgIGNvbnN0IGlzRXhpc3RDdXJyZW50U291cmNlQ29ubmVjdG9yID0gdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLnNvbWUoKHgpID0+IHguZkNvbm5lY3Rvci5mSWQgPT09IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mSWQpO1xuICAgIGlmICghaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IpIHtcbiAgICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5wdXNoKHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QpO1xuICAgIH1cblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24gPSBzbmFwQ29ubmVjdGlvbjtcbiAgICBpZiAoIXNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNuYXBDb25uZWN0aW9uLmZJbnB1dElkID0gdGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZDtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbihpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkKGZDbG9zZXN0Q29ubmVjdG9yLCB0aGlzLl9zbmFwQ29ubmVjdGlvbikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKHBvaW50OiBJUG9pbnQsIGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10pOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KG5ldyBGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QocG9pbnQsIGNvbm5lY3RvcnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKG5ld1BvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9jYWxjdWxhdGVOZXdMaW5lKG5ld1BvaW50LCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUsIGZTaWRlLCB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld0xpbmUoc291cmNlUG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgcm91bmRlZFJlY3RGcm9tUG9pbnQoc291cmNlUG9pbnQpLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZSZWN0LFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgZlNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgc25hcENvbm5lY3Rpb24gPSB0aGlzLl9zbmFwQ29ubmVjdGlvbiE7XG4gICAgaWYgKGZDbG9zZXN0Q29ubmVjdG9yKSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihmQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb24pO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2hvdygpO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2V0TGluZShsaW5lLCBmQ2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGVcbiAgICApKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kcmF3Q29ubmVjdGlvbih0aGlzLl9jb25uZWN0b3JSZWN0LCB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyxtREFBbUQsRUFHbkQsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQWdCbEI7SUFDQTtJQUNBO0lBQ0E7SUFsQlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFpQyxDQUFDO0lBQ3hFLENBQUM7SUFFZ0IsY0FBYyxDQUFlO0lBRXRDLGVBQWUsQ0FBdUM7SUFFOUQsWUFDbUIsU0FBb0IsRUFDcEIsV0FBNEIsRUFDNUIsdUJBQTBDLEVBQzFDLHVCQUEwQztRQUgxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxD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QUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZFNvdXJjZUNvbm5lY3RvcnNBbmRSZWN0c1JlcXVlc3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgRk5vZGVJbnB1dERpcmVjdGl2ZSxcbiAgRk5vZGVPdXRwdXREaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgSUZSZWFzc2lnbkhhbmRsZXIsXG4gIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQsXG4gIHJvdW5kZWRSZWN0RnJvbVBvaW50LFxufSBmcm9tICcuL2ktZi1yZWFzc2lnbi1oYW5kbGVyJztcblxuZXhwb3J0IGNsYXNzIEZSZWFzc2lnblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZSZWFzc2lnbkhhbmRsZXIge1xuICBwcml2YXRlIF9jb25uZWN0YWJsZUNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10gPSBbXTtcblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yKCk6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlQ29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlT3V0cHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3RhcmdldENvbm5lY3RvcigpOiBGTm9kZUlucHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlSW5wdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0b3JSZWN0ITogUm91bmRlZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2VDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXRDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgKSB7XG4gICAgdGhpcy5fY29ubmVjdG9yUmVjdCA9IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDEpO1xuICB9XG5cbiAgcHVibGljIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzO1xuICB9XG5cbiAgcHVibGljIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IEdldEFsbENhbkJlQ29ubmVjdGVkU291cmNlQ29ubmVjdG9yc0FuZFJlY3RzUmVxdWVzdCh0aGlzLl90YXJnZXRDb25uZWN0b3IpLFxuICAgICk7XG4gICAgY29uc3QgaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IgPSB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMuc29tZShcbiAgICAgICh4KSA9PiB4LmZDb25uZWN0b3IuZklkKCkgPT09IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mSWQoKSxcbiAgICApO1xuICAgIGlmICghaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IpIHtcbiAgICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5wdXNoKHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QpO1xuICAgIH1cblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mSW5wdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24oXG4gICAgICAgIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3IsIHRoaXMuX3NuYXBDb25uZWN0aW9uKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmluZENsb3Nlc3RDb25uZWN0b3IoXG4gICAgcG9pbnQ6IElQb2ludCxcbiAgICBjb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdLFxuICApOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KHBvaW50LCBjb25uZWN0b3JzKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd0Nvbm5lY3Rpb24obmV3UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2NhbGN1bGF0ZU5ld0xpbmUobmV3UG9pbnQsIGZTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnNldExpbmUobGluZSwgZlNpZGUsIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3TGluZShzb3VyY2VQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHJvdW5kZWRSZWN0RnJvbVBvaW50KHNvdXJjZVBvaW50KSxcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIGZTaWRlLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBzbmFwQ29ubmVjdGlvbiA9IHRoaXMuX3NuYXBDb25uZWN0aW9uITtcbiAgICBpZiAoZkNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0U291cmNlQ29ubmVjdG9yKGZDbG9zZXN0Q29ubmVjdG9yLCBzbmFwQ29ubmVjdGlvbik7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zaG93KCk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgICBsaW5lLFxuICAgICAgICBmQ2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvcixcbiAgICBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50LFxuICApOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZlJlY3QsXG4gICAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fY29ubmVjdG9yUmVjdCxcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { CalculateConnectionLineByBehaviorRequest, FindClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest } from "../../../domain";
2
- import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint } from "./i-f-reassign-handler";
1
+ import { CalculateConnectionLineByBehaviorRequest, CalculateClosestConnectorRequest, GetAllCanBeConnectedInputsAndRectsRequest, MarkConnectableConnectorsRequest, UnmarkConnectableConnectorsRequest, } from '../../../domain';
2
+ import { isClosestConnectorInsideSnapThreshold, roundedRectFromPoint, } from './i-f-reassign-handler';
3
3
  export class FReassignTargetDragHandler {
4
4
  _mediator;
5
5
  _connection;
@@ -36,7 +36,7 @@ export class FReassignTargetDragHandler {
36
36
  if (!snapConnection) {
37
37
  return;
38
38
  }
39
- snapConnection.fOutputId = this._connection.fOutputId;
39
+ snapConnection.fOutputId.set(this._connection.fOutputId());
40
40
  snapConnection.initialize();
41
41
  }
42
42
  onPointerMove(difference) {
@@ -48,7 +48,7 @@ export class FReassignTargetDragHandler {
48
48
  }
49
49
  }
50
50
  _findClosestConnector(point, connectors) {
51
- return this._mediator.execute(new FindClosestConnectorRequest(point, connectors));
51
+ return this._mediator.execute(new CalculateClosestConnectorRequest(point, connectors));
52
52
  }
53
53
  _drawConnection(newPoint, fSide) {
54
54
  const line = this._calculateNewLine(newPoint, fSide);
@@ -79,4 +79,4 @@ export class FReassignTargetDragHandler {
79
79
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
80
80
  }
81
81
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUFFLHlDQUF5QyxFQUV0RSxnQ0FBZ0MsRUFBRSxrQ0FBa0MsRUFDckUsTUFBTSxpQkFBaUIsQ0FBQztBQUl6QixPQUFPLEVBQW9CLHFDQUFxQyxFQUFFLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFdEgsTUFBTSxPQUFPLDBCQUEwQjtJQXFCbEI7SUFDQTtJQUNBO0lBQ0E7SUF0Qlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVnQixjQUFjLENBQWU7SUFFdEMsZUFBZSxDQUF1QztJQUU5RCxZQUNtQixTQUFvQixFQUNwQixXQUE0QixFQUM1Qix1QkFBMEMsRUFDMUMsdUJBQTBDO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUUzRCxJQUFJLENBQUMsY0FBYyxH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QUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3RGLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QixjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDcEgsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0NBQWdDLENBQUMsYUFBZ0MsRUFBRSxjQUF3QztRQUNqSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFRLElBQUksd0NBQXdDLENBQy9FLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsYUFBYSxDQUFDLEtBQUssRUFDbkIsY0FBYyxDQUFDLFNBQVMsRUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUN0QyxhQUFhLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZNZWRpYXRvcn0gZnJvbSBcIkBmb2JsZXgvbWVkaWF0b3JcIjtcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIEZpbmRDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCwgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QsIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3Rcbn0gZnJvbSBcIi4uLy4uLy4uL2RvbWFpblwiO1xuaW1wb3J0IHtFRkNvbm5lY3RhYmxlU2lkZSwgRk5vZGVJbnB1dERpcmVjdGl2ZSwgRk5vZGVPdXRwdXREaXJlY3RpdmV9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3RvcnNcIjtcbmltcG9ydCB7RkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9mLWNvbm5lY3Rpb25cIjtcbmltcG9ydCB7SUxpbmUsIElQb2ludCwgSVJvdW5kZWRSZWN0LCBSb3VuZGVkUmVjdH0gZnJvbSBcIkBmb2JsZXgvMmRcIjtcbmltcG9ydCB7SUZSZWFzc2lnbkhhbmRsZXIsIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQsIHJvdW5kZWRSZWN0RnJvbVBvaW50fSBmcm9tIFwiLi9pLWYtcmVhc3NpZ24taGFuZGxlclwiO1xuXG5leHBvcnQgY2xhc3MgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRlJlYXNzaWduSGFuZGxlciB7XG5cbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3JSZWN0KCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZlJlY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yKCk6IEZOb2RlSW5wdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVJbnB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3RvclJlY3QhOiBSb3VuZGVkUmVjdDtcblxuICBwcml2YXRlIF9zbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldENvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICApIHtcbiAgICB0aGlzLl9jb25uZWN0b3JSZWN0ID0gcm91bmRlZFJlY3RGcm9tUG9pbnQodGhpcy5fY29ubmVjdGlvbi5saW5lLnBvaW50Mik7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnM7XG4gIH1cblxuICBwdWJsaWMgbWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fc291cmNlQ29ubmVjdG9yKVxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQgPSB0aGlzLl9jb25uZWN0aW9uLmZPdXRwdXRJZDtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlXG4gICAgKTtcbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbihpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkKGZDbG9zZXN0Q29ubmVjdG9yLCB0aGlzLl9zbmFwQ29ubmVjdGlvbikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKHBvaW50OiBJUG9pbnQsIGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10pOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KG5ldyBGaW5kQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QocG9pbnQsIGNvbm5lY3RvcnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKG5ld1BvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9jYWxjdWxhdGVOZXdMaW5lKG5ld1BvaW50LCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUsIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld0xpbmUodGFyZ2V0UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yUmVjdCxcbiAgICAgICAgcm91bmRlZFJlY3RGcm9tUG9pbnQodGFyZ2V0UG9pbnQpLFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlLFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgc25hcENvbm5lY3Rpb24gPSB0aGlzLl9zbmFwQ29ubmVjdGlvbiE7XG4gICAgaWYgKGZDbG9zZXN0Q29ubmVjdG9yKSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihmQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb24pO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2hvdygpO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9zb3VyY2VDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgZkNsb3Nlc3RDb25uZWN0b3IuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4obmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JSZWN0LFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mUmVjdCxcbiAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgKSk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24odGhpcy5fY29ubmVjdG9yUmVjdCwgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUpO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSlcbiAgICApO1xuICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQW9CbEI7SUFDQTtJQUNBO0lBQ0E7SUF0Qlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVnQixjQUFjLENBQWU7SUFFdEMsZUFBZSxDQUF1QztJQUU5RCxZQUNtQixTQUFvQixFQUNwQixXQUE0QixFQUM1Qix1QkFBMEMsRUFDMUMsdUJBQTBDO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUUzRCxJQUFJLENBQUMsY0FB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ICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBHZXRBbGxDYW5CZUNvbm5lY3RlZElucHV0c0FuZFJlY3RzUmVxdWVzdCxcbiAgSUNsb3Nlc3RDb25uZWN0b3IsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxuICBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbiAgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEVGQ29ubmVjdGFibGVTaWRlLFxuICBGTm9kZUlucHV0RGlyZWN0aXZlLFxuICBGTm9kZU91dHB1dERpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IElMaW5lLCBJUG9pbnQsIElSb3VuZGVkUmVjdCwgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElGUmVhc3NpZ25IYW5kbGVyLFxuICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkLFxuICByb3VuZGVkUmVjdEZyb21Qb2ludCxcbn0gZnJvbSAnLi9pLWYtcmVhc3NpZ24taGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25UYXJnZXREcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGUmVhc3NpZ25IYW5kbGVyIHtcbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3JSZWN0KCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZlJlY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yKCk6IEZOb2RlSW5wdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVJbnB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3RvclJlY3QhOiBSb3VuZGVkUmVjdDtcblxuICBwcml2YXRlIF9zbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldENvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICApIHtcbiAgICB0aGlzLl9jb25uZWN0b3JSZWN0ID0gcm91bmRlZFJlY3RGcm9tUG9pbnQodGhpcy5fY29ubmVjdGlvbi5saW5lLnBvaW50Mik7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnM7XG4gIH1cblxuICBwdWJsaWMgbWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgR2V0QWxsQ2FuQmVDb25uZWN0ZWRJbnB1dHNBbmRSZWN0c1JlcXVlc3QodGhpcy5fc291cmNlQ29ubmVjdG9yKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24gPSBzbmFwQ29ubmVjdGlvbjtcbiAgICBpZiAoIXNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNuYXBDb25uZWN0aW9uLmZPdXRwdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQoKSk7XG4gICAgc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgbmV3UG9pbnQgPSB0aGlzLl9jb25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpO1xuXG4gICAgY29uc3QgZkNsb3Nlc3RDb25uZWN0b3IgPSB0aGlzLl9maW5kQ2xvc2VzdENvbm5lY3RvcihuZXdQb2ludCwgdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzKTtcbiAgICB0aGlzLl9kcmF3Q29ubmVjdGlvbihcbiAgICAgIG5ld1BvaW50LFxuICAgICAgZkNsb3Nlc3RDb25uZWN0b3I/LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSB8fCB0aGlzLl90YXJnZXRDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICAgIGlmICh0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKFxuICAgICAgICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkKGZDbG9zZXN0Q29ubmVjdG9yLCB0aGlzLl9zbmFwQ29ubmVjdGlvbiksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKFxuICAgIHBvaW50OiBJUG9pbnQsXG4gICAgY29ubmVjdG9yczogSUNvbm5lY3RvckFuZFJlY3RbXSxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdChwb2ludCwgY29ubmVjdG9ycyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKG5ld1BvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9jYWxjdWxhdGVOZXdMaW5lKG5ld1BvaW50LCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUsIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU5ld0xpbmUodGFyZ2V0UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JSZWN0LFxuICAgICAgICByb3VuZGVkUmVjdEZyb21Qb2ludCh0YXJnZXRQb2ludCksXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgZlNpZGUsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgc25hcENvbm5lY3Rpb24gPSB0aGlzLl9zbmFwQ29ubmVjdGlvbiE7XG4gICAgaWYgKGZDbG9zZXN0Q29ubmVjdG9yKSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihmQ2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb24pO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2hvdygpO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2V0TGluZShcbiAgICAgICAgbGluZSxcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZDbG9zZXN0Q29ubmVjdG9yLmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25hcENvbm5lY3Rpb24uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldExpbmVUb0Nsb3Nlc3RUYXJnZXRDb25uZWN0b3IoXG4gICAgZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RDb25uZWN0b3IsXG4gICAgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JSZWN0LFxuICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICBzbmFwQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kcmF3Q29ubmVjdGlvbihcbiAgICAgIHRoaXMuX2Nvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -5,4 +5,4 @@ export function isClosestConnectorInsideSnapThreshold(fClosestConnector, snapCon
5
5
  export function roundedRectFromPoint(point) {
6
6
  return RoundedRect.fromRect(RectExtensions.initialize(point.x, point.y));
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXJlYXNzaWduLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vaS1mLXJlYXNzaWduLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLGNBQWMsRUFBRSxXQUFXLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFpQi9ELE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxpQkFBZ0QsRUFBRSxjQUF3QztJQUM5SSxPQUFPLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pILENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYTtJQUNoRCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lQb2ludCwgUmVjdEV4dGVuc2lvbnMsIFJvdW5kZWRSZWN0fSBmcm9tIFwiQGZvYmxleC8yZFwiO1xuaW1wb3J0IHtJQ2xvc2VzdENvbm5lY3RvciwgSUNvbm5lY3RvckFuZFJlY3R9IGZyb20gXCIuLi8uLi8uLi9kb21haW5cIjtcbmltcG9ydCB7RlNuYXBDb25uZWN0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vZi1jb25uZWN0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZSZWFzc2lnbkhhbmRsZXIge1xuXG4gIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdO1xuXG4gIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkO1xuXG4gIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZDtcblxuICBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgb25Qb2ludGVyVXAoKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkLCBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50KTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICByZXR1cm4gZkNsb3Nlc3RDb25uZWN0b3IgJiYgZkNsb3Nlc3RDb25uZWN0b3IuZGlzdGFuY2UgPCBzbmFwQ29ubmVjdGlvbi5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0Q29ubmVjdG9yIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRlZFJlY3RGcm9tUG9pbnQocG9pbnQ6IElQb2ludCkge1xuICByZXR1cm4gUm91bmRlZFJlY3QuZnJvbVJlY3QoUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludC54LCBwb2ludC55KSlcbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1mLXJlYXNzaWduLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLXJlYXNzaWduLWNvbm5lY3Rpb24vaS1mLXJlYXNzaWduLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFpQmpFLE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxpQkFBZ0QsRUFBRSxjQUF3QztJQUM5SSxPQUFPLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pILENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYTtJQUNoRCxPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQsIFJlY3RFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gXCJAZm9ibGV4LzJkXCI7XG5pbXBvcnQgeyBJQ2xvc2VzdENvbm5lY3RvciwgSUNvbm5lY3RvckFuZFJlY3QgfSBmcm9tIFwiLi4vLi4vLi4vZG9tYWluXCI7XG5pbXBvcnQgeyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vZi1jb25uZWN0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUZSZWFzc2lnbkhhbmRsZXIge1xuXG4gIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdO1xuXG4gIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkO1xuXG4gIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZDtcblxuICBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQ7XG5cbiAgb25Qb2ludGVyVXAoKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkLCBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50KTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICByZXR1cm4gZkNsb3Nlc3RDb25uZWN0b3IgJiYgZkNsb3Nlc3RDb25uZWN0b3IuZGlzdGFuY2UgPCBzbmFwQ29ubmVjdGlvbi5mU25hcFRocmVzaG9sZCA/IGZDbG9zZXN0Q29ubmVjdG9yIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRlZFJlY3RGcm9tUG9pbnQocG9pbnQ6IElQb2ludCkge1xuICByZXR1cm4gUm91bmRlZFJlY3QuZnJvbVJlY3QoUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludC54LCBwb2ludC55KSlcbn1cbiJdfQ==