@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,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute } from "@angular/core";
2
- import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute, } from "@angular/core";
2
+ import { PointExtensions, TransformModelExtensions, } from '@foblex/2d';
3
3
  import { F_BACKGROUND_PATTERN } from '../domain';
4
4
  import { BrowserService } from '@foblex/platform';
5
5
  import { createSVGElement } from '../../domain';
@@ -74,7 +74,7 @@ export class FCirclePatternComponent {
74
74
  }
75
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCirclePatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
76
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FCirclePatternComponent, isStandalone: true, selector: "f-circle-pattern", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id" } }, providers: [
77
- { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
77
+ { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent },
78
78
  ], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCirclePatternComponent, decorators: [{
@@ -84,12 +84,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
84
  template: ``,
85
85
  standalone: true,
86
86
  host: {
87
- '[attr.id]': 'id'
87
+ '[attr.id]': 'id',
88
88
  },
89
89
  providers: [
90
- { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
90
+ { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent },
91
91
  ],
92
- changeDetection: ChangeDetectionStrategy.OnPush
92
+ changeDetection: ChangeDetectionStrategy.OnPush,
93
93
  }]
94
94
  }], ctorParameters: () => [] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxlQUFlLEVBRWxELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEUsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBY3pCLE1BQU0sT0FBTyx1QkFBdUI7SUFFakIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEtB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b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVBvaW50LFxuICBJVHJhbnNmb3JtTW9kZWwsXG4gIFBvaW50RXh0ZW5zaW9ucyxcbiAgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4sIElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNoYW5uZWwsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vLi4vcmVhY3Rpdml0eSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY2lyY2xlLXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZDaXJjbGVQYXR0ZXJuQ29tcG9uZW50IH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YCk7XG4gIHB1YmxpYyBjb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgcmFkaXVzID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuXG4gIHByaXZhdGUgX3NjYWxlZFJhZGl1czogbnVtYmVyID0gMjA7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwgPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfY2lyY2xlITogU1ZHQ2lyY2xlRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuID0gY3JlYXRlU1ZHRWxlbWVudCgncGF0dGVybicsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX2NpcmNsZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2NpcmNsZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX2NpcmNsZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydyYWRpdXMnXSB8fCBjaGFuZ2VzWydjb2xvciddKSB7XG4gICAgICB0aGlzLl9yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbGN1bGF0ZVBhdHRlcm4oKTtcbiAgICB0aGlzLl9yZWRyYXdQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3RWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zY2FsZWRSYWRpdXMgPSB0aGlzLnJhZGl1cygpICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCB0aGlzLmNvbG9yKCkpO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N4JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N5JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ3InLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIC8gdGhpcy5yYWRpdXMoKSB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxlQUFlLEdBRWxELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBY2pCLE1BQU0sT0FBTyx1QkFBdUI7SUFFakIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEtB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b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElQb2ludCxcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsXG4gIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyxcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgY3JlYXRlU1ZHRWxlbWVudCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi9yZWFjdGl2aXR5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY2lyY2xlLXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YCk7XG4gIHB1YmxpYyBjb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgcmFkaXVzID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICBwcml2YXRlIF9zY2FsZWRSYWRpdXM6IG51bWJlciA9IDIwO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwcml2YXRlIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX2NpcmNsZSE6IFNWR0NpcmNsZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl9jaXJjbGUgPSBjcmVhdGVTVkdFbGVtZW50KCdjaXJjbGUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9jaXJjbGUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xpc3RlblN0YXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuU3RhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIG5ldyBGQ2hhbm5lbEh1Yih0aGlzLl9zdGF0ZUNoYW5nZXMpLnBpcGUobm90aWZ5T25TdGFydCgpKS5saXN0ZW4odGhpcy5fZGVzdHJveVJlZiwgKCkgPT4gdGhpcy5fcmVkcmF3KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncmFkaXVzJ10gfHwgY2hhbmdlc1snY29sb3InXSkge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3UGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd0VsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2NhbGVkUmFkaXVzID0gdGhpcy5yYWRpdXMoKSAqIHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhd1BhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHsgdGhpcy5fcG9zaXRpb24ueCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3knLCBgJHsgdGhpcy5fcG9zaXRpb24ueSB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdmaWxsJywgdGhpcy5jb2xvcigpKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeScsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdyJywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIHRoaXMucmFkaXVzKCkgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute } from "@angular/core";
2
- import { PointExtensions, SizeExtensions, TransformModelExtensions } from '@foblex/2d';
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute, } from "@angular/core";
2
+ import { PointExtensions, SizeExtensions, TransformModelExtensions, } from '@foblex/2d';
3
3
  import { F_BACKGROUND_PATTERN } from '../domain';
4
4
  import { createSVGElement } from '../../domain';
5
5
  import { BrowserService } from '@foblex/platform';
@@ -81,7 +81,7 @@ export class FRectPatternComponent {
81
81
  }
82
82
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FRectPatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
83
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FRectPatternComponent, isStandalone: true, selector: "f-rect-pattern", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, vColor: { classPropertyName: "vColor", publicName: "vColor", isSignal: true, isRequired: false, transformFunction: null }, hColor: { classPropertyName: "hColor", publicName: "hColor", isSignal: true, isRequired: false, transformFunction: null }, vSize: { classPropertyName: "vSize", publicName: "vSize", isSignal: true, isRequired: false, transformFunction: null }, hSize: { classPropertyName: "hSize", publicName: "hSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id" } }, providers: [
84
- { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
84
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent },
85
85
  ], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
86
  }
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FRectPatternComponent, decorators: [{
@@ -91,12 +91,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
91
91
  template: ``,
92
92
  standalone: true,
93
93
  host: {
94
- '[attr.id]': 'id'
94
+ '[attr.id]': 'id',
95
95
  },
96
96
  providers: [
97
- { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
97
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent },
98
98
  ],
99
- changeDetection: ChangeDetectionStrategy.OnPush
99
+ changeDetection: ChangeDetectionStrategy.OnPush,
100
100
  }]
101
101
  }], ctorParameters: () => [] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBRTNDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxlQUFlLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUMxRCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXhFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8scUJBQXFCO0lBRWYsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hE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Z3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBjcmVhdGVTVkdFbGVtZW50IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi9yZWFjdGl2aXR5JztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1yZWN0LXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZSZWN0UGF0dGVybkNvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZSZWN0UGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGVDaGFuZ2VzID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gKTtcbiAgcHVibGljIHZDb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgaENvbG9yID0gaW5wdXQ8c3RyaW5nPigncmdiYSgwLDAsMCwwLjEpJyk7XG4gIHB1YmxpYyB2U2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTtcbiAgcHVibGljIGhTaXplID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybSA9IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCk7XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3NpemUgPSBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMuaFNpemUoKSwgdGhpcy52U2l6ZSgpKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX3ZMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG4gIHByaXZhdGUgX2hMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl92TGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl92TGluZSk7XG5cbiAgICB0aGlzLl9oTGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9oTGluZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWyd2U2l6ZSddIHx8IGNoYW5nZXNbJ2hTaXplJ10gfHwgY2hhbmdlc1sndkNvbG9yJ10gfHwgY2hhbmdlc1snaENvbG9yJ10pIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FsY3VsYXRlUGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd1BhdHRlcm4oKTtcblxuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl92TGluZSwgdGhpcy52Q29sb3IoKSwgdGhpcy5fc2l6ZS53aWR0aCwgMCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl9oTGluZSwgdGhpcy5oQ29sb3IoKSwgMCwgdGhpcy5fc2l6ZS5oZWlnaHQsIHRoaXMuX3NpemUud2lkdGgsIHRoaXMuX3NpemUuaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5oU2l6ZSgpICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlLCB0aGlzLnZTaXplKCkgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2l6ZS53aWR0aCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyB0aGlzLl9zaXplLmhlaWdodCB9YCk7XG4gIH1cblxuICBwcml2YXRlIHJlZHJhd0xpbmUobGluZTogU1ZHTGluZUVsZW1lbnQsIGNvbG9yOiBzdHJpbmcsIHgxOiBudW1iZXIsIHkxOiBudW1iZXIsIHgyOiBudW1iZXIsIHkyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7IGNvbG9yIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneDEnLCBgJHsgeDEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MicsIGAkeyB4MiB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3kxJywgYCR7IHkxIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTInLCBgJHsgeTIgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEdBRTNDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxlQUFlLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixHQUMxRCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXhFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWNqQixNQUFNLE9BQU8scUJBQXFCO0lBRWYsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hE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Z3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElUcmFuc2Zvcm1Nb2RlbCxcbiAgUG9pbnRFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLFxufSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9QQVRURVJOLCBJRkJhY2tncm91bmRQYXR0ZXJuIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IEZDaGFubmVsLCBGQ2hhbm5lbEh1Yiwgbm90aWZ5T25TdGFydCB9IGZyb20gJy4uLy4uL3JlYWN0aXZpdHknO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1yZWN0LXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGUmVjdFBhdHRlcm5Db21wb25lbnQgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZSZWN0UGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGVDaGFuZ2VzID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gKTtcbiAgcHVibGljIHZDb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgaENvbG9yID0gaW5wdXQ8c3RyaW5nPigncmdiYSgwLDAsMCwwLjEpJyk7XG4gIHB1YmxpYyB2U2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyBoU2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwcml2YXRlIF9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBfc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5oU2l6ZSgpLCB0aGlzLnZTaXplKCkpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfdkxpbmUhOiBTVkdMaW5lRWxlbWVudDtcbiAgcHJpdmF0ZSBfaExpbmUhOiBTVkdMaW5lRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuID0gY3JlYXRlU1ZHRWxlbWVudCgncGF0dGVybicsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX3ZMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX3ZMaW5lKTtcblxuICAgIHRoaXMuX2hMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX2hMaW5lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5TdGF0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblN0YXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBuZXcgRkNoYW5uZWxIdWIodGhpcy5fc3RhdGVDaGFuZ2VzKS5waXBlKG5vdGlmeU9uU3RhcnQoKSkubGlzdGVuKHRoaXMuX2Rlc3Ryb3lSZWYsICgpID0+IHRoaXMuX3JlZHJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZTaXplJ10gfHwgY2hhbmdlc1snaFNpemUnXSB8fCBjaGFuZ2VzWyd2Q29sb3InXSB8fCBjaGFuZ2VzWydoQ29sb3InXSkge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3UGF0dGVybigpO1xuXG4gICAgdGhpcy5yZWRyYXdMaW5lKHRoaXMuX3ZMaW5lLCB0aGlzLnZDb2xvcigpLCB0aGlzLl9zaXplLndpZHRoLCAwLCB0aGlzLl9zaXplLndpZHRoLCB0aGlzLl9zaXplLmhlaWdodCk7XG4gICAgdGhpcy5yZWRyYXdMaW5lKHRoaXMuX2hMaW5lLCB0aGlzLmhDb2xvcigpLCAwLCB0aGlzLl9zaXplLmhlaWdodCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLmhTaXplKCkgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUsIHRoaXMudlNpemUoKSAqIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd4JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnggfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd5JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnkgfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyB0aGlzLl9zaXplLndpZHRoIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NpemUuaGVpZ2h0IH1gKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVkcmF3TGluZShsaW5lOiBTVkdMaW5lRWxlbWVudCwgY29sb3I6IHN0cmluZywgeDE6IG51bWJlciwgeTE6IG51bWJlciwgeDI6IG51bWJlciwgeTI6IG51bWJlcik6IHZvaWQge1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCdzdHJva2UnLCBgJHsgY29sb3IgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MScsIGAkeyB4MSB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3gyJywgYCR7IHgyIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTEnLCBgJHsgeTEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd5MicsIGAkeyB5MiB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=
@@ -4,4 +4,4 @@ export * from './f-circle-pattern';
4
4
  export * from './f-background.component';
5
5
  export * from './f-background-base';
6
6
  export * from './providers';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZWN0LXBhdHRlcm4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2lyY2xlLXBhdHRlcm4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZC1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5cblxuXG5cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBRXpCLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1yZWN0LXBhdHRlcm4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2lyY2xlLXBhdHRlcm4nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmFja2dyb3VuZC1iYXNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5cbiJdfQ==
@@ -4,6 +4,6 @@ import { FCirclePatternComponent } from './f-circle-pattern';
4
4
  export const F_BACKGROUND_PROVIDERS = [
5
5
  FBackgroundComponent,
6
6
  FRectPatternComponent,
7
- FCirclePatternComponent
7
+ FCirclePatternComponent,
8
8
  ];
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFFcEMsb0JBQW9CO0lBRXBCLHFCQUFxQjtJQUVyQix1QkFBdUI7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9mLWJhY2tncm91bmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZSZWN0UGF0dGVybkNvbXBvbmVudCB9IGZyb20gJy4vZi1yZWN0LXBhdHRlcm4nO1xuaW1wb3J0IHsgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgfSBmcm9tICcuL2YtY2lyY2xlLXBhdHRlcm4nO1xuXG5leHBvcnQgY29uc3QgRl9CQUNLR1JPVU5EX1BST1ZJREVSUyA9IFtcblxuICBGQmFja2dyb3VuZENvbXBvbmVudCxcblxuICBGUmVjdFBhdHRlcm5Db21wb25lbnQsXG5cbiAgRkNpcmNsZVBhdHRlcm5Db21wb25lbnRcbl07XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFFcEMsb0JBQW9CO0lBRXBCLHFCQUFxQjtJQUVyQix1QkFBdUI7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9mLWJhY2tncm91bmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZSZWN0UGF0dGVybkNvbXBvbmVudCB9IGZyb20gJy4vZi1yZWN0LXBhdHRlcm4nO1xuaW1wb3J0IHsgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgfSBmcm9tICcuL2YtY2lyY2xlLXBhdHRlcm4nO1xuXG5leHBvcnQgY29uc3QgRl9CQUNLR1JPVU5EX1BST1ZJREVSUyA9IFtcblxuICBGQmFja2dyb3VuZENvbXBvbmVudCxcblxuICBGUmVjdFBhdHRlcm5Db21wb25lbnQsXG5cbiAgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQsXG5dO1xuIl19
@@ -28,4 +28,4 @@ export class FCanvasBase {
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCanvasBase, decorators: [{
29
29
  type: Directive
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLHdCQUF3QixFQUFTLE1BQU0sWUFBWSxDQUFDO0FBQzdFLE9BQU8sRUFBQyxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxjQUFjLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUU1QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWxFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxVQUFVLENBQUMsQ0FBQztBQUdwRSxNQUFNLE9BQWdCLFdBQVc7SUFZeEIsU0FBUyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBSXJDLGNBQWMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNM0MsV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFNTSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksV0FBVyxDQUNiLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDMUgsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0EvQ21CLFdBQVc7NEZBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEaEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMsIElQb2ludH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge0Rlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3V0cHV0RW1pdHRlclJlZiwgU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RkNhbnZhc0NoYW5nZUV2ZW50fSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQge0lIYXNIb3N0RWxlbWVudH0gZnJvbSAnLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBGQ2hhbm5lbCwgRkNoYW5uZWxIdWJ9IGZyb20gXCIuLi9yZWFjdGl2aXR5XCI7XG5cbmV4cG9ydCBjb25zdCBGX0NBTlZBUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGQ2FudmFzQmFzZT4oJ0ZfQ0FOVkFTJyk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDYW52YXNCYXNlIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNhbnZhc0NoYW5nZTogT3V0cHV0RW1pdHRlclJlZjxGQ2FudmFzQ2hhbmdlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcm91cHNDb250YWluZXI6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2Rlc0NvbnRhaW5lcjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25zQ29udGFpbmVyOiBTaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0gPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkZWJvdW5jZTogU2lnbmFsPG51bWJlcj47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZkNhbnZhc0NoYW5nZSA9IG5ldyBGQ2hhbm5lbCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWRyYXcoKTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkO1xuXG4gIHB1YmxpYyBnZXRQb3NpdGlvbigpOiBJUG9pbnQge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5wb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQb3NpdGlvbihwb3NpdGlvbjogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2Zvcm0ucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBzZXRTY2FsZShzY2FsZTogbnVtYmVyLCB0b1Bvc2l0aW9uOiBJUG9pbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZXNldFNjYWxlKCk6IHZvaWQ7XG5cbiAgcHVibGljIGVtaXRDYW52YXNDaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mQ2FudmFzQ2hhbmdlLm5vdGlmeSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN1YnNjcmliZU9uQ2FudmFzQ2hhbmdlKCk6IHZvaWQge1xuICAgIG5ldyBGQ2hhbm5lbEh1YihcbiAgICAgIHRoaXMuX2ZDYW52YXNDaGFuZ2VcbiAgICApLnBpcGUoZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2UoKSkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB7XG4gICAgICB0aGlzLmZDYW52YXNDaGFuZ2UuZW1pdChcbiAgICAgICAgbmV3IEZDYW52YXNDaGFuZ2VFdmVudChQb2ludEV4dGVuc2lvbnMuc3VtKHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uLCB0aGlzLnRyYW5zZm9ybS5zY2FsZWRQb3NpdGlvbiksIHRoaXMudHJhbnNmb3JtLnNjYWxlKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jYW52YXMvZi1jYW52YXMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHdCQUF3QixFQUFVLE1BQU0sWUFBWSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxjQUFjLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXBFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYyxVQUFVLENBQUMsQ0FBQztBQUdwRSxNQUFNLE9BQWdCLFdBQVc7SUFZeEIsU0FBUyxHQUFHLHdCQUF3QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBSXJDLGNBQWMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFNM0MsV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFNTSxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksV0FBVyxDQUNiLElBQUksQ0FBQyxjQUFjLENBQ3BCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FDMUgsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0EvQ21CLFdBQVc7NEZBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEaEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLCBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgT3V0cHV0RW1pdHRlclJlZiwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIgfSBmcm9tIFwiLi4vcmVhY3Rpdml0eVwiO1xuXG5leHBvcnQgY29uc3QgRl9DQU5WQVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RkNhbnZhc0Jhc2U+KCdGX0NBTlZBUycpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDYW52YXNDaGFuZ2U6IE91dHB1dEVtaXR0ZXJSZWY8RkNhbnZhc0NoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JvdXBzQ29udGFpbmVyOiBTaWduYWw8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZXNDb250YWluZXI6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uc0NvbnRhaW5lcjogU2lnbmFsPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PjtcblxuICBwdWJsaWMgdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGVib3VuY2U6IFNpZ25hbDxudW1iZXI+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZDYW52YXNDaGFuZ2UgPSBuZXcgRkNoYW5uZWwoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVkcmF3KCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZDtcblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogSVBvaW50IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0ucG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgc2V0UG9zaXRpb24ocG9zaXRpb246IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNmb3JtLnBvc2l0aW9uID0gcG9zaXRpb247XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3Qgc2V0U2NhbGUoc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVzZXRTY2FsZSgpOiB2b2lkO1xuXG4gIHB1YmxpYyBlbWl0Q2FudmFzQ2hhbmdlRXZlbnQoKTogdm9pZCB7XG4gICAgdGhpcy5fZkNhbnZhc0NoYW5nZS5ub3RpZnkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVPbkNhbnZhc0NoYW5nZSgpOiB2b2lkIHtcbiAgICBuZXcgRkNoYW5uZWxIdWIoXG4gICAgICB0aGlzLl9mQ2FudmFzQ2hhbmdlLFxuICAgICkucGlwZShkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZSgpKSkubGlzdGVuKHRoaXMuX2Rlc3Ryb3lSZWYsICgpID0+IHtcbiAgICAgIHRoaXMuZkNhbnZhc0NoYW5nZS5lbWl0KFxuICAgICAgICBuZXcgRkNhbnZhc0NoYW5nZUV2ZW50KFBvaW50RXh0ZW5zaW9ucy5zdW0odGhpcy50cmFuc2Zvcm0ucG9zaXRpb24sIHRoaXMudHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uKSwgdGhpcy50cmFuc2Zvcm0uc2NhbGUpLFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -135,7 +135,7 @@ export class FCanvasComponent extends FCanvasBase {
135
135
  }
136
136
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCanvasComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
137
137
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: FCanvasComponent, isStandalone: true, selector: "f-canvas", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { fCanvasChange: "fCanvasChange" }, host: { classAttribute: "f-component f-canvas" }, providers: [
138
- { provide: F_CANVAS, useExisting: FCanvasComponent }
138
+ { provide: F_CANVAS, useExisting: FCanvasComponent },
139
139
  ], viewQueries: [{ propertyName: "fGroupsContainer", first: true, predicate: ["fGroupsContainer"], descendants: true, isSignal: true }, { propertyName: "fNodesContainer", first: true, predicate: ["fNodesContainer"], descendants: true, isSignal: true }, { propertyName: "fConnectionsContainer", first: true, predicate: ["fConnectionsContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
140
140
  }
141
141
  __decorate([
@@ -149,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
149
149
  args: [{ selector: 'f-canvas', standalone: true, host: {
150
150
  'class': 'f-component f-canvas',
151
151
  }, providers: [
152
- { provide: F_CANVAS, useExisting: FCanvasComponent }
152
+ { provide: F_CANVAS, useExisting: FCanvasComponent },
153
153
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}\n"] }]
154
154
  }], propDecorators: { setZoom: [], resetZoom: [] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBUyxlQUFlLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixhQUFhLEVBQ2Isa0JBQWtCLEdBQ25CLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFHM0Q7Ozs7Ozs7O0dBUUc7QUFjSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJ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LENBQUMsTUFBTTs4QkE2R3hDLE9BQU8sTUFtQlAsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Rl9DQU5WQVMsIEZDYW52YXNCYXNlfSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHtJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7RkNhbnZhc0NoYW5nZUV2ZW50LH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHtGTWVkaWF0b3J9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRGVwcmVjYXRlZCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7Tm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3R9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0ZGbG93QmFzZX0gZnJvbSAnLi4vZi1mbG93JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgY2FudmFzIGluIHRoZSBGLUZsb3cgZnJhbWV3b3JrLlxuICogSXQgaGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIG5vZGVzLCBjb25uZWN0aW9ucywgYW5kIGdyb3VwcyxcbiAqIGFzIHdlbGwgYXMgdXNlciBpbnRlcmFjdGlvbnMgc3VjaCBhcyB6b29taW5nIGFuZCBwYW5uaW5nLlxuICogSXQgZXh0ZW5kcyB0aGUgRkNhbnZhc0Jhc2UgY2xhc3MgYW5kIGltcGxlbWVudHMgT25Jbml0IGFuZCBPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2tzLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBtYW5pcHVsYXRlIHRoZSBjYW52YXMsIHN1Y2ggYXMgY2VudGVyaW5nIG5vZGVzIG9yIGdyb3VwcyxcbiAqIGZpdHRpbmcgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuLCBhbmQgcmVzZXR0aW5nIHRoZSBzY2FsZS5cbiAqIEl0IGFsc28gZW1pdHMgZXZlbnRzIHdoZW4gdGhlIGNhbnZhcyBjaGFuZ2VzLCBhbGxvd2luZyBvdGhlciBjb21wb25lbnRzIHRvIHJlYWN0IHRvIHRoZXNlIGNoYW5nZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWNhbnZhcycsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnR9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ29tcG9uZW50IGV4dGVuZHMgRkNhbnZhc0Jhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgX2Zsb3dJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2FudmFzQ2hhbmdlID0gb3V0cHV0PEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxJUG9pbnQsIElQb2ludCB8IG51bGwgfCB1bmRlZmluZWQ+KFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIHt0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NhbGUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDEsIHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTtcbiAgcHVibGljIG92ZXJyaWRlIGRlYm91bmNlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5kZWJvdW5jZVRpbWUoKSA8IDAgPyAwIDogdGhpcy5kZWJvdW5jZVRpbWUoKSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkdyb3Vwc0NvbnRhaW5lcicpO1xuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZk5vZGVzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmQ29ubmVjdGlvbnNDb250YWluZXInKTtcblxuICBwdWJsaWMgZ2V0IGZsb3dJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mbG93SWQhO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Zsb3dJZCA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8RkZsb3dCYXNlPihuZXcgR2V0Rmxvd1JlcXVlc3QoKSkuZklkKCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICAgIHRoaXMuX3Bvc2l0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5fc2NhbGVDaGFuZ2UoKTtcbiAgICBzdXBlci5zdWJzY3JpYmVPbkNhbnZhc0NoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnBvc2l0aW9uKCkpKTtcbiAgICB9LCB7aW5qZWN0b3I6IHRoaXMuX2luamVjdG9yfSk7XG4gIH1cblxuICBwcml2YXRlIF9zY2FsZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgIH0sIHtpbmplY3RvcjogdGhpcy5faW5qZWN0b3J9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBgdHJhbnNmb3JtOiAke1RyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSl9YCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVjdC5cbiAgICogVGhpcyBtZXRob2QgYXBwbGllcyBhIENTUyB0cmFuc2l0aW9uIHRvIHRoZSBjYW52YXMgZWxlbWVudCxcbiAgICogYWxsb3dpbmcgZm9yIGEgc21vb3RoIHZpc3VhbCB1cGRhdGUgb2YgdGhlIGNhbnZhcydzIHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWApO1xuICAgIHRyYW5zaXRpb25FbmQodGhpcy5ob3N0RWxlbWVudCwgKCkgPT4gdGhpcy5yZWRyYXcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2VudGVycyB0aGUgc3BlY2lmaWVkIGdyb3VwIG9yIG5vZGUgb24gdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIGdyb3VwT3JOb2RlSWQgLSBUaGUgSUQgb2YgdGhlIGdyb3VwIG9yIG5vZGUgdG8gY2VudGVyLlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgY2VudGVyaW5nIHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGdyb3VwT3JOb2RlSWQ6IHN0cmluZywgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoZ3JvdXBPck5vZGVJZCwgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogRml0cyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4gYnkgYWRqdXN0aW5nIHRoZSBzY2FsZSBhbmQgcG9zaXRpb24uXG4gICAqIEBwYXJhbSBwYWRkaW5nIC0gcGFkZGluZ3MgZnJvbSB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXNcbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGZpdCB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBmaXRUb1NjcmVlbihwYWRkaW5nOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBhbmQgY2VudGVyIGFsbCBub2RlcyBhbmQgZ3JvdXBzIG9uIHRoZSBjYW52YXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcmVzdG9yZSB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHNjYWxlIGFuZCBwb3NpdGlvbixcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gcXVpY2tseSByZXR1cm4gdG8gYSBzdGFuZGFyZCB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIHJlc2V0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGEgc21vb3RoIHVzZXIgZXhwZXJpZW5jZSB3aGVuIHJlc2V0dGluZyB0aGUgdmlldy5cbiAgICovXG4gIHB1YmxpYyByZXNldFNjYWxlQW5kQ2VudGVyKGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogIEdldHMgdGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIGNhbnZhcy5cbiAgICovXG4gIHB1YmxpYyBnZXRTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBNZXRob2QgXCJzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwic2V0U2NhbGVcIiBpbnN0ZWFkLiBUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAxOC4wLjAuYCxcbiAgICovXG4gIEBEZXByZWNhdGVkKCdzZXRTY2FsZScpXG4gIHB1YmxpYyBzZXRab29tKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNjYWxlKHNjYWxlLCB0b1Bvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGEgc3BlY2lmaWVkIHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHpvb20gaW4gb3Igb3V0IG9mIHRoZSBjYW52YXMsXG4gICAqIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgdmlldyBvZiB0aGUgY2FudmFzIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBzY2FsZSAtIFRoZSBzY2FsZSBmYWN0b3IgdG8gc2V0IGZvciB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gdG9Qb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiB0byB3aGljaCB0aGUgY2FudmFzIHNob3VsZCBiZSBjZW50ZXJlZCBhZnRlciBzY2FsaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldFNjYWxlKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBVcGRhdGVTY2FsZVJlcXVlc3Qoc2NhbGUsIHRvUG9zaXRpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGRlcHJlY2F0ZWQgTWV0aG9kIFwicmVzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwicmVzZXRTY2FsZVwiIGluc3RlYWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDE4LjAuMC5gLFxuICAgKi9cbiAgQERlcHJlY2F0ZWQoJ3Jlc2V0U2NhbGUnKVxuICBwdWJsaWMgcmVzZXRab29tKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTY2FsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBpdHMgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIG9yaWdpbmFsIHNjYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0U2NhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBVSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixhQUFhLEVBQ2Isa0JBQWtCLEdBQ25CLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFHN0Q7Ozs7Ozs7O0dBUUc7QUFjSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJ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LENBQUMsTUFBTTs4QkE2R3hDLE9BQU8sTUFtQlAsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfQ0FOVkFTLCBGQ2FudmFzQmFzZSB9IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQgeyBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGQ2FudmFzQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZENhbnZhc1RvU3RvcmVSZXF1ZXN0LFxuICBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QsXG4gIERlcHJlY2F0ZWQsXG4gIEZpdFRvRmxvd1JlcXVlc3QsXG4gIEdldEZsb3dSZXF1ZXN0LFxuICBJbnB1dENhbnZhc1Bvc2l0aW9uUmVxdWVzdCxcbiAgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QsXG4gIGlzTW9iaWxlLFxuICBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0LFxuICBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdCxcbiAgUmVzZXRTY2FsZVJlcXVlc3QsXG4gIFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0LFxuICB0cmFuc2l0aW9uRW5kLFxuICBVcGRhdGVTY2FsZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGRmxvd0Jhc2UgfSBmcm9tICcuLi9mLWZsb3cnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYSBjYW52YXMgaW4gdGhlIEYtRmxvdyBmcmFtZXdvcmsuXG4gKiBJdCBoYW5kbGVzIHRoZSByZW5kZXJpbmcgb2Ygbm9kZXMsIGNvbm5lY3Rpb25zLCBhbmQgZ3JvdXBzLFxuICogYXMgd2VsbCBhcyB1c2VyIGludGVyYWN0aW9ucyBzdWNoIGFzIHpvb21pbmcgYW5kIHBhbm5pbmcuXG4gKiBJdCBleHRlbmRzIHRoZSBGQ2FudmFzQmFzZSBjbGFzcyBhbmQgaW1wbGVtZW50cyBPbkluaXQgYW5kIE9uRGVzdHJveSBsaWZlY3ljbGUgaG9va3MuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIG1hbmlwdWxhdGUgdGhlIGNhbnZhcywgc3VjaCBhcyBjZW50ZXJpbmcgbm9kZXMgb3IgZ3JvdXBzLFxuICogZml0dGluZyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4sIGFuZCByZXNldHRpbmcgdGhlIHNjYWxlLlxuICogSXQgYWxzbyBlbWl0cyBldmVudHMgd2hlbiB0aGUgY2FudmFzIGNoYW5nZXMsIGFsbG93aW5nIG90aGVyIGNvbXBvbmVudHMgdG8gcmVhY3QgdG8gdGhlc2UgY2hhbmdlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtY2FudmFzJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnQgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBfZmxvd0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2UgPSBvdXRwdXQ8RkNhbnZhc0NoYW5nZUV2ZW50PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PElQb2ludCwgSVBvaW50IHwgbnVsbCB8IHVuZGVmaW5lZD4oUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSwgeyB0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludCB9KTtcbiAgcHVibGljIHJlYWRvbmx5IHNjYWxlID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigxLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVib3VuY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZHcm91cHNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dJZCE7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmxvd0lkID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGRmxvd0Jhc2U+KG5ldyBHZXRGbG93UmVxdWVzdCgpKS5mSWQoKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fcG9zaXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLl9zY2FsZUNoYW5nZSgpO1xuICAgIHN1cGVyLnN1YnNjcmliZU9uQ2FudmFzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIF9wb3NpdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgIH0sIHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2NhbGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnNjYWxlKCkpKTtcbiAgICB9LCB7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBgdHJhbnNmb3JtOiAke1RyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSl9YCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVjdC5cbiAgICogVGhpcyBtZXRob2QgYXBwbGllcyBhIENTUyB0cmFuc2l0aW9uIHRvIHRoZSBjYW52YXMgZWxlbWVudCxcbiAgICogYWxsb3dpbmcgZm9yIGEgc21vb3RoIHZpc3VhbCB1cGRhdGUgb2YgdGhlIGNhbnZhcydzIHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWApO1xuICAgIHRyYW5zaXRpb25FbmQodGhpcy5ob3N0RWxlbWVudCwgKCkgPT4gdGhpcy5yZWRyYXcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2VudGVycyB0aGUgc3BlY2lmaWVkIGdyb3VwIG9yIG5vZGUgb24gdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIGdyb3VwT3JOb2RlSWQgLSBUaGUgSUQgb2YgdGhlIGdyb3VwIG9yIG5vZGUgdG8gY2VudGVyLlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgY2VudGVyaW5nIHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGdyb3VwT3JOb2RlSWQ6IHN0cmluZywgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoZ3JvdXBPck5vZGVJZCwgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogRml0cyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4gYnkgYWRqdXN0aW5nIHRoZSBzY2FsZSBhbmQgcG9zaXRpb24uXG4gICAqIEBwYXJhbSBwYWRkaW5nIC0gcGFkZGluZ3MgZnJvbSB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXNcbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGZpdCB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBmaXRUb1NjcmVlbihwYWRkaW5nOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBhbmQgY2VudGVyIGFsbCBub2RlcyBhbmQgZ3JvdXBzIG9uIHRoZSBjYW52YXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcmVzdG9yZSB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHNjYWxlIGFuZCBwb3NpdGlvbixcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gcXVpY2tseSByZXR1cm4gdG8gYSBzdGFuZGFyZCB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIHJlc2V0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGEgc21vb3RoIHVzZXIgZXhwZXJpZW5jZSB3aGVuIHJlc2V0dGluZyB0aGUgdmlldy5cbiAgICovXG4gIHB1YmxpYyByZXNldFNjYWxlQW5kQ2VudGVyKGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogIEdldHMgdGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIGNhbnZhcy5cbiAgICovXG4gIHB1YmxpYyBnZXRTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBNZXRob2QgXCJzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwic2V0U2NhbGVcIiBpbnN0ZWFkLiBUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAxOC4wLjAuYCxcbiAgICovXG4gIEBEZXByZWNhdGVkKCdzZXRTY2FsZScpXG4gIHB1YmxpYyBzZXRab29tKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNjYWxlKHNjYWxlLCB0b1Bvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGEgc3BlY2lmaWVkIHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHpvb20gaW4gb3Igb3V0IG9mIHRoZSBjYW52YXMsXG4gICAqIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgdmlldyBvZiB0aGUgY2FudmFzIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBzY2FsZSAtIFRoZSBzY2FsZSBmYWN0b3IgdG8gc2V0IGZvciB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gdG9Qb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiB0byB3aGljaCB0aGUgY2FudmFzIHNob3VsZCBiZSBjZW50ZXJlZCBhZnRlciBzY2FsaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldFNjYWxlKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBVcGRhdGVTY2FsZVJlcXVlc3Qoc2NhbGUsIHRvUG9zaXRpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGRlcHJlY2F0ZWQgTWV0aG9kIFwicmVzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwicmVzZXRTY2FsZVwiIGluc3RlYWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDE4LjAuMC5gLFxuICAgKi9cbiAgQERlcHJlY2F0ZWQoJ3Jlc2V0U2NhbGUnKVxuICBwdWJsaWMgcmVzZXRab29tKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTY2FsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBpdHMgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIG9yaWdpbmFsIHNjYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0U2NhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -7,4 +7,4 @@ export class CalculateCenterBetweenPointsRequest {
7
7
  this.target = target;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBSXJDO0lBQ0E7SUFKVCxNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRXZFLFlBQ1MsTUFBYyxFQUNkLE1BQWM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUG9pbnR9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzb3VyY2U6IElQb2ludCxcbiAgICBwdWJsaWMgdGFyZ2V0OiBJUG9pbnQsXG4gICkge1xuICB9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cy1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sbUNBQW1DO0lBSXJDO0lBQ0E7SUFKVCxNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBRXZFLFlBQ1MsTUFBYyxFQUNkLE1BQWM7UUFEZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ0NhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNvdXJjZTogSVBvaW50LFxuICAgIHB1YmxpYyB0YXJnZXQ6IElQb2ludCxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -5,4 +5,4 @@ export class CalculateConnectionCenterRequest {
5
5
  this.points = points;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBSWxDO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUVwRSxZQUNTLE1BQWdCO1FBQWhCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SVBvaW50fSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcG9pbnRzOiBJUG9pbnRbXSxcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sZ0NBQWdDO0lBSWxDO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUVwRSxZQUNTLE1BQWdCO1FBQWhCLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwb2ludHM6IElQb2ludFtdLFxuICApIHtcbiAgfVxufVxuIl19
@@ -2,7 +2,7 @@ export class CalculateConnectionCenterHandler {
2
2
  handle(request) {
3
3
  const { points } = request;
4
4
  let totalDistance = 0;
5
- let distances = [];
5
+ const distances = [];
6
6
  for (let i = 0; i < points.length - 1; i++) {
7
7
  const distance = this.calculateDistance(points[i], points[i + 1]);
8
8
  distances.push(distance);
@@ -32,4 +32,4 @@ export class CalculateConnectionCenterHandler {
32
32
  return { x, y };
33
33
  }
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR3BDLE1BQU0sQ0FBQyxPQUF5QztRQUVyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFFN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFDLENBQUM7WUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixhQUFhLElBQUksUUFBUSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsbUJBQW1CLElBQUksU0FBUyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3RDLElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0MsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxXQUFXLENBQUUsRUFBRSxNQUFNLENBQUUsV0FBVyxHQUFHLENBQUMsQ0FBRSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUMxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlclxuICAgIGltcGxlbWVudHMgSUhhbmRsZXI8Q2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsIElQb2ludD4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QpOiBJUG9pbnQge1xuXG4gICAgY29uc3QgeyBwb2ludHMgfSA9IHJlcXVlc3Q7XG4gICAgbGV0IHRvdGFsRGlzdGFuY2UgPSAwO1xuICAgIGxldCBkaXN0YW5jZXM6IG51bWJlcltdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICAgIGNvbnN0IGRpc3RhbmNlID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZShwb2ludHNbIGkgXSwgcG9pbnRzWyBpICsgMSBdKTtcbiAgICAgIGRpc3RhbmNlcy5wdXNoKGRpc3RhbmNlKTtcbiAgICAgIHRvdGFsRGlzdGFuY2UgKz0gZGlzdGFuY2U7XG4gICAgfVxuXG4gICAgbGV0IGFjY3VtdWxhdGVkRGlzdGFuY2UgPSAwO1xuICAgIGxldCBjZW50ZXJJbmRleCA9IDA7XG4gICAgY29uc3QgaGFsZlRvdGFsRGlzdGFuY2UgPSB0b3RhbERpc3RhbmNlIC8gMjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpc3RhbmNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgYWNjdW11bGF0ZWREaXN0YW5jZSArPSBkaXN0YW5jZXNbIGkgXTtcbiAgICAgIGlmIChhY2N1bXVsYXRlZERpc3RhbmNlID49IGhhbGZUb3RhbERpc3RhbmNlKSB7XG4gICAgICAgIGNlbnRlckluZGV4ID0gaTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVtYWluaW5nRGlzdGFuY2VUb0NlbnRlciA9IGhhbGZUb3RhbERpc3RhbmNlIC0gKGFjY3VtdWxhdGVkRGlzdGFuY2UgLSBkaXN0YW5jZXNbIGNlbnRlckluZGV4IF0pO1xuXG4gICAgcmV0dXJuIHRoaXMuZmluZFBvaW50QXREaXN0YW5jZShwb2ludHNbIGNlbnRlckluZGV4IF0sIHBvaW50c1sgY2VudGVySW5kZXggKyAxIF0sIHJlbWFpbmluZ0Rpc3RhbmNlVG9DZW50ZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVEaXN0YW5jZShwb2ludEE6IElQb2ludCwgcG9pbnRCOiBJUG9pbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLnNxcnQoTWF0aC5wb3cocG9pbnRCLnggLSBwb2ludEEueCwgMikgKyBNYXRoLnBvdyhwb2ludEIueSAtIHBvaW50QS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRQb2ludEF0RGlzdGFuY2Uoc3RhcnRQb2ludDogSVBvaW50LCBlbmRQb2ludDogSVBvaW50LCBkaXN0YW5jZTogbnVtYmVyKTogSVBvaW50IHtcbiAgICBjb25zdCB0b3RhbERpc3RhbmNlID0gdGhpcy5jYWxjdWxhdGVEaXN0YW5jZShzdGFydFBvaW50LCBlbmRQb2ludCk7XG4gICAgY29uc3QgcmF0aW8gPSBkaXN0YW5jZSAvIHRvdGFsRGlzdGFuY2U7XG4gICAgY29uc3QgeCA9ICgxIC0gcmF0aW8pICogc3RhcnRQb2ludC54ICsgcmF0aW8gKiBlbmRQb2ludC54O1xuICAgIGNvbnN0IHkgPSAoMSAtIHJhdGlvKSAqIHN0YXJ0UG9pbnQueSArIHJhdGlvICogZW5kUG9pbnQueTtcbiAgICByZXR1cm4geyB4LCB5IH07XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2NhbGN1bGF0ZS1jb25uZWN0aW9uLWNlbnRlci9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXIuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8sZ0NBQWdDO0lBR3BDLE1BQU0sQ0FBQyxPQUF5QztRQUVyRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLFNBQVMsR0FBYSxFQUFFLENBQUM7UUFFL0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBRSxDQUFDLENBQUM7WUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixhQUFhLElBQUksUUFBUSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsbUJBQW1CLElBQUksU0FBUyxDQUFFLENBQUMsQ0FBRSxDQUFDO1lBQ3RDLElBQUksbUJBQW1CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDN0MsV0FBVyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSx5QkFBeUIsR0FBRyxpQkFBaUIsR0FBRyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBRSxXQUFXLENBQUUsRUFBRSxNQUFNLENBQUUsV0FBVyxHQUFHLENBQUMsQ0FBRSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVPLGlCQUFpQixDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3RELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUFrQixFQUFFLFFBQWdCLEVBQUUsUUFBZ0I7UUFDaEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsYUFBYSxDQUFDO1FBQ3ZDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUUxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXItcmVxdWVzdCc7XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlclxuICAgIGltcGxlbWVudHMgSUhhbmRsZXI8Q2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsIElQb2ludD4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QpOiBJUG9pbnQge1xuXG4gICAgY29uc3QgeyBwb2ludHMgfSA9IHJlcXVlc3Q7XG4gICAgbGV0IHRvdGFsRGlzdGFuY2UgPSAwO1xuICAgIGNvbnN0IGRpc3RhbmNlczogbnVtYmVyW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgZGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHBvaW50c1sgaSBdLCBwb2ludHNbIGkgKyAxIF0pO1xuICAgICAgZGlzdGFuY2VzLnB1c2goZGlzdGFuY2UpO1xuICAgICAgdG90YWxEaXN0YW5jZSArPSBkaXN0YW5jZTtcbiAgICB9XG5cbiAgICBsZXQgYWNjdW11bGF0ZWREaXN0YW5jZSA9IDA7XG4gICAgbGV0IGNlbnRlckluZGV4ID0gMDtcbiAgICBjb25zdCBoYWxmVG90YWxEaXN0YW5jZSA9IHRvdGFsRGlzdGFuY2UgLyAyO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGlzdGFuY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhY2N1bXVsYXRlZERpc3RhbmNlICs9IGRpc3RhbmNlc1sgaSBdO1xuICAgICAgaWYgKGFjY3VtdWxhdGVkRGlzdGFuY2UgPj0gaGFsZlRvdGFsRGlzdGFuY2UpIHtcbiAgICAgICAgY2VudGVySW5kZXggPSBpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZW1haW5pbmdEaXN0YW5jZVRvQ2VudGVyID0gaGFsZlRvdGFsRGlzdGFuY2UgLSAoYWNjdW11bGF0ZWREaXN0YW5jZSAtIGRpc3RhbmNlc1sgY2VudGVySW5kZXggXSk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5kUG9pbnRBdERpc3RhbmNlKHBvaW50c1sgY2VudGVySW5kZXggXSwgcG9pbnRzWyBjZW50ZXJJbmRleCArIDEgXSwgcmVtYWluaW5nRGlzdGFuY2VUb0NlbnRlcik7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZURpc3RhbmNlKHBvaW50QTogSVBvaW50LCBwb2ludEI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhwb2ludEIueCAtIHBvaW50QS54LCAyKSArIE1hdGgucG93KHBvaW50Qi55IC0gcG9pbnRBLnksIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFBvaW50QXREaXN0YW5jZShzdGFydFBvaW50OiBJUG9pbnQsIGVuZFBvaW50OiBJUG9pbnQsIGRpc3RhbmNlOiBudW1iZXIpOiBJUG9pbnQge1xuICAgIGNvbnN0IHRvdGFsRGlzdGFuY2UgPSB0aGlzLmNhbGN1bGF0ZURpc3RhbmNlKHN0YXJ0UG9pbnQsIGVuZFBvaW50KTtcbiAgICBjb25zdCByYXRpbyA9IGRpc3RhbmNlIC8gdG90YWxEaXN0YW5jZTtcbiAgICBjb25zdCB4ID0gKDEgLSByYXRpbykgKiBzdGFydFBvaW50LnggKyByYXRpbyAqIGVuZFBvaW50Lng7XG4gICAgY29uc3QgeSA9ICgxIC0gcmF0aW8pICogc3RhcnRQb2ludC55ICsgcmF0aW8gKiBlbmRQb2ludC55O1xuXG4gICAgcmV0dXJuIHsgeCwgeSB9O1xuICB9XG59XG4iXX0=
@@ -1,34 +1,34 @@
1
1
  import { EFConnectableSide } from '../../../f-connectors';
2
- import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
2
+ import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, } from './calculate-connection-center';
3
3
  export class FBezierPathBuilder {
4
- static getConnectorOffset(distance, offset) {
4
+ static _getConnectorOffset(distance, offset) {
5
5
  if (distance >= offset) {
6
6
  return distance;
7
7
  }
8
8
  return offset * Math.sqrt(offset - distance);
9
9
  }
10
- static getAnglePoint(side, source, target, offset) {
11
- let result = { x: source.x, y: source.y };
10
+ static _getAnglePoint(side, source, target, offset) {
11
+ const result = { x: source.x, y: source.y };
12
12
  switch (side) {
13
13
  case EFConnectableSide.LEFT:
14
- result.x -= FBezierPathBuilder.getConnectorOffset(source.x - target.x, offset);
14
+ result.x -= FBezierPathBuilder._getConnectorOffset(source.x - target.x, offset);
15
15
  break;
16
16
  case EFConnectableSide.RIGHT:
17
- result.x += FBezierPathBuilder.getConnectorOffset(target.x - source.x, offset);
17
+ result.x += FBezierPathBuilder._getConnectorOffset(target.x - source.x, offset);
18
18
  break;
19
19
  case EFConnectableSide.TOP:
20
- result.y -= FBezierPathBuilder.getConnectorOffset(source.y - target.y, offset);
20
+ result.y -= FBezierPathBuilder._getConnectorOffset(source.y - target.y, offset);
21
21
  break;
22
22
  case EFConnectableSide.BOTTOM:
23
- result.y += FBezierPathBuilder.getConnectorOffset(target.y - source.y, offset);
23
+ result.y += FBezierPathBuilder._getConnectorOffset(target.y - source.y, offset);
24
24
  break;
25
25
  }
26
26
  return result;
27
27
  }
28
28
  handle(request) {
29
29
  const { source, sourceSide, target, targetSide, offset } = request;
30
- const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
31
- const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
30
+ const sourceAnglePoint = FBezierPathBuilder._getAnglePoint(sourceSide, source, target, offset);
31
+ const targetAnglePoint = FBezierPathBuilder._getAnglePoint(targetSide, target, source, offset);
32
32
  const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0002} ${target.y + 0.0002}`;
33
33
  const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
34
34
  return {
@@ -36,7 +36,23 @@ export class FBezierPathBuilder {
36
36
  connectionCenter,
37
37
  penultimatePoint: targetAnglePoint,
38
38
  secondPoint: sourceAnglePoint,
39
+ points: _sampleCubic(source, sourceAnglePoint, targetAnglePoint, target, 32),
39
40
  };
40
41
  }
41
42
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFPbkgsTUFBTSxPQUFPLGtCQUFrQjtJQUVyQixNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2hFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUF1QixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUVsRyxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07UUFDVixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFtQztRQUMvQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVuRSxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLElBQUksR0FBRyxLQUFNLE1BQU0sQ0FBQyxDQUFFLElBQUssTUFBTSxDQUFDLENBQUUsTUFBTyxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLGdCQUFnQixDQUFDLENBQUUsSUFBSyxnQkFBZ0IsQ0FBQyxDQUFFLEtBQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztRQUUvTCxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0NBQWdDLEVBQUUsQ0FBQyxNQUFNLENBQ3BFLElBQUksZ0NBQWdDLENBQUMsQ0FBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFFLENBQUMsQ0FDN0YsQ0FBQztRQUVGLE9BQU87WUFDTCxJQUFJO1lBQ0osZ0JBQWdCO1lBQ2hCLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxXQUFXLEVBQUUsZ0JBQWdCO1NBQzlCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Vcbn0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRkJlemllclBhdGhCdWlsZGVyIGltcGxlbWVudHMgSUZDb25uZWN0aW9uQnVpbGRlciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Q29ubmVjdG9yT2Zmc2V0KGRpc3RhbmNlOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoZGlzdGFuY2UgPj0gb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfVxuICAgIHJldHVybiBvZmZzZXQgKiBNYXRoLnNxcnQob2Zmc2V0IC0gZGlzdGFuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QW5nbGVQb2ludChzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgc291cmNlOiBJUG9pbnQsIHRhcmdldDogSVBvaW50LCBvZmZzZXQ6IG51bWJlcik6IElQb2ludCB7XG5cbiAgICBsZXQgcmVzdWx0OiBJUG9pbnQgPSB7IHg6IHNvdXJjZS54LCB5OiBzb3VyY2UueSB9O1xuXG4gICAgc3dpdGNoIChzaWRlKSB7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkxFRlQ6XG4gICAgICAgIHJlc3VsdC54IC09IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnggLSB0YXJnZXQueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXN1bHQueCArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHRhcmdldC54IC0gc291cmNlLngsIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFRkNvbm5lY3RhYmxlU2lkZS5UT1A6XG4gICAgICAgIHJlc3VsdC55IC09IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnkgLSB0YXJnZXQueSwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLkJPVFRPTTpcbiAgICAgICAgcmVzdWx0LnkgKz0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueSAtIHNvdXJjZS55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgb2Zmc2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgc291cmNlQW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRBbmdsZVBvaW50KHNvdXJjZVNpZGUsIHNvdXJjZSwgdGFyZ2V0LCBvZmZzZXQpO1xuXG4gICAgY29uc3QgdGFyZ2V0QW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRBbmdsZVBvaW50KHRhcmdldFNpZGUsIHRhcmdldCwgc291cmNlLCBvZmZzZXQpO1xuXG4gICAgY29uc3QgcGF0aCA9IGBNICR7IHNvdXJjZS54IH0gJHsgc291cmNlLnkgfSBDICR7IHNvdXJjZUFuZ2xlUG9pbnQueCB9ICR7IHNvdXJjZUFuZ2xlUG9pbnQueSB9LCAkeyB0YXJnZXRBbmdsZVBvaW50LnggfSAkeyB0YXJnZXRBbmdsZVBvaW50LnkgfSwgJHsgdGFyZ2V0LnggKyAwLjAwMDIgfSAkeyB0YXJnZXQueSArIDAuMDAwMiB9YDtcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25DZW50ZXIgPSBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIoKS5oYW5kbGUoXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoWyBzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldCBdKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGNvbm5lY3Rpb25DZW50ZXIsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50OiB0YXJnZXRBbmdsZVBvaW50LFxuICAgICAgc2Vjb25kUG9pbnQ6IHNvdXJjZUFuZ2xlUG9pbnQsXG4gICAgfTtcbiAgfVxufVxuIl19
43
+ function bez3(p0, p1, p2, p3, t) {
44
+ const u = 1 - t, tt = t * t, uu = u * u, uuu = uu * u, ttt = tt * t;
45
+ return {
46
+ x: uuu * p0.x + 3 * uu * t * p1.x + 3 * u * tt * p2.x + ttt * p3.x,
47
+ y: uuu * p0.y + 3 * uu * t * p1.y + 3 * u * tt * p2.y + ttt * p3.y,
48
+ };
49
+ }
50
+ function _sampleCubic(p0, p1, p2, p3, samples = 32) {
51
+ const out = new Array(samples + 1);
52
+ out[0] = { ...p0 };
53
+ for (let i = 1; i <= samples; i++) {
54
+ out[i] = bez3(p0, p1, p2, p3, i / samples);
55
+ }
56
+ return out;
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsR0FDakMsTUFBTSwrQkFBK0IsQ0FBQztBQU92QyxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDakUsSUFBSSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE9BQU8sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUMzQixJQUF1QixFQUN2QixNQUFjLEVBQ2QsTUFBYyxFQUNkLE1BQWM7UUFFZCxNQUFNLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFcEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2hGLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsbUJBQW1C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LENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsT0FBTyxHQUFHLEVBQUU7SUFDaEYsTUFBTSxHQUFHLEdBQWEsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDbkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcixcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QsXG59IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcblxuZXhwb3J0IGNsYXNzIEZCZXppZXJQYXRoQnVpbGRlciBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIHN0YXRpYyBfZ2V0Q29ubmVjdG9yT2Zmc2V0KGRpc3RhbmNlOiBudW1iZXIsIG9mZnNldDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoZGlzdGFuY2UgPj0gb2Zmc2V0KSB7XG4gICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldCAqIE1hdGguc3FydChvZmZzZXQgLSBkaXN0YW5jZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfZ2V0QW5nbGVQb2ludChcbiAgICBzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICBzb3VyY2U6IElQb2ludCxcbiAgICB0YXJnZXQ6IElQb2ludCxcbiAgICBvZmZzZXQ6IG51bWJlcixcbiAgKTogSVBvaW50IHtcbiAgICBjb25zdCByZXN1bHQ6IElQb2ludCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG5cbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmVzdWx0LnggLT0gRkJlemllclBhdGhCdWlsZGVyLl9nZXRDb25uZWN0b3JPZmZzZXQoc291cmNlLnggLSB0YXJnZXQueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUOlxuICAgICAgICByZXN1bHQueCArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueCAtIHNvdXJjZS54LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuVE9QOlxuICAgICAgICByZXN1bHQueSAtPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldChzb3VyY2UueSAtIHRhcmdldC55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgICByZXN1bHQueSArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldENvbm5lY3Rvck9mZnNldCh0YXJnZXQueSAtIHNvdXJjZS55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVxdWVzdCk6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgb2Zmc2V0IH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3Qgc291cmNlQW5nbGVQb2ludCA9IEZCZXppZXJQYXRoQnVpbGRlci5fZ2V0QW5nbGVQb2ludChzb3VyY2VTaWRlLCBzb3VyY2UsIHRhcmdldCwgb2Zmc2V0KTtcblxuICAgIGNvbnN0IHRhcmdldEFuZ2xlUG9pbnQgPSBGQmV6aWVyUGF0aEJ1aWxkZXIuX2dldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgdGFyZ2V0LCBzb3VyY2UsIG9mZnNldCk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHtzb3VyY2UueH0gJHtzb3VyY2UueX0gQyAke3NvdXJjZUFuZ2xlUG9pbnQueH0gJHtzb3VyY2VBbmdsZVBvaW50Lnl9LCAke3RhcmdldEFuZ2xlUG9pbnQueH0gJHt0YXJnZXRBbmdsZVBvaW50Lnl9LCAke3RhcmdldC54ICsgMC4wMDAyfSAke3RhcmdldC55ICsgMC4wMDAyfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldF0pLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aCxcbiAgICAgIGNvbm5lY3Rpb25DZW50ZXIsXG4gICAgICBwZW51bHRpbWF0ZVBvaW50OiB0YXJnZXRBbmdsZVBvaW50LFxuICAgICAgc2Vjb25kUG9pbnQ6IHNvdXJjZUFuZ2xlUG9pbnQsXG4gICAgICBwb2ludHM6IF9zYW1wbGVDdWJpYyhzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldCwgMzIpLFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gYmV6MyhwMDogSVBvaW50LCBwMTogSVBvaW50LCBwMjogSVBvaW50LCBwMzogSVBvaW50LCB0OiBudW1iZXIpOiBJUG9pbnQge1xuICBjb25zdCB1ID0gMSAtIHQsXG4gICAgdHQgPSB0ICogdCxcbiAgICB1dSA9IHUgKiB1LFxuICAgIHV1dSA9IHV1ICogdSxcbiAgICB0dHQgPSB0dCAqIHQ7XG5cbiAgcmV0dXJuIHtcbiAgICB4OiB1dXUgKiBwMC54ICsgMyAqIHV1ICogdCAqIHAxLnggKyAzICogdSAqIHR0ICogcDIueCArIHR0dCAqIHAzLngsXG4gICAgeTogdXV1ICogcDAueSArIDMgKiB1dSAqIHQgKiBwMS55ICsgMyAqIHUgKiB0dCAqIHAyLnkgKyB0dHQgKiBwMy55LFxuICB9O1xufVxuXG5mdW5jdGlvbiBfc2FtcGxlQ3ViaWMocDA6IElQb2ludCwgcDE6IElQb2ludCwgcDI6IElQb2ludCwgcDM6IElQb2ludCwgc2FtcGxlcyA9IDMyKTogSVBvaW50W10ge1xuICBjb25zdCBvdXQ6IElQb2ludFtdID0gbmV3IEFycmF5KHNhbXBsZXMgKyAxKTtcbiAgb3V0WzBdID0geyAuLi5wMCB9O1xuICBmb3IgKGxldCBpID0gMTsgaSA8PSBzYW1wbGVzOyBpKyspIHtcbiAgICBvdXRbaV0gPSBiZXozKHAwLCBwMSwgcDIsIHAzLCBpIC8gc2FtcGxlcyk7XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuIl19