@foblex/flow 17.0.5 → 17.0.6

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 (85) hide show
  1. package/domain/f-draggable/providers.d.ts +1 -1
  2. package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.execution.d.ts +2 -4
  3. package/domain/f-node/index.d.ts +2 -0
  4. package/domain/f-node/providers.d.ts +3 -1
  5. package/domain/providers.d.ts +1 -1
  6. package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +34 -0
  7. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +9 -0
  8. package/esm2022/domain/f-node/get-node-padding/index.mjs +3 -0
  9. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +34 -0
  10. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +7 -0
  11. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +3 -0
  12. package/esm2022/domain/f-node/index.mjs +3 -1
  13. package/esm2022/domain/f-node/providers.mjs +5 -1
  14. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +6 -6
  15. package/esm2022/f-draggable/domain/index.mjs +1 -4
  16. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.execution.mjs +2 -2
  17. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
  18. package/esm2022/f-draggable/domain/providers.mjs +1 -7
  19. package/esm2022/f-draggable/f-draggable-base.mjs +1 -1
  20. package/esm2022/f-draggable/f-draggable.directive.mjs +8 -2
  21. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +32 -35
  22. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +12 -15
  23. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +37 -31
  24. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.execution.mjs +41 -43
  25. package/esm2022/f-draggable/node/node-move-preparation/node-move-preparation.validator.mjs +19 -23
  26. package/esm2022/f-draggable/node/node.drag-handler.mjs +25 -10
  27. package/esm2022/f-draggable/node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +3 -2
  28. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +4 -5
  29. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +3 -3
  30. package/esm2022/f-flow.module.mjs +1 -1
  31. package/esm2022/f-node/f-drag-handle.directive.mjs +22 -0
  32. package/esm2022/f-node/index.mjs +3 -3
  33. package/esm2022/f-node/is-node.mjs +4 -0
  34. package/esm2022/f-node/providers.mjs +2 -2
  35. package/f-backgroud/providers.d.ts +1 -1
  36. package/f-connection/providers.d.ts +1 -1
  37. package/f-connectors/providers.d.ts +1 -1
  38. package/f-draggable/connections/providers.d.ts +1 -1
  39. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +1 -1
  40. package/f-draggable/domain/index.d.ts +0 -3
  41. package/f-draggable/domain/providers.d.ts +1 -4
  42. package/f-draggable/f-draggable-base.d.ts +2 -0
  43. package/f-draggable/f-draggable.directive.d.ts +4 -2
  44. package/f-draggable/node/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +7 -9
  45. package/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.d.ts +3 -4
  46. package/f-draggable/node/create-move-nodes-drag-model-from-selection/providers.d.ts +1 -1
  47. package/f-draggable/node/node-move-finalize/node-move-finalize.execution.d.ts +11 -11
  48. package/f-draggable/node/node-move-preparation/node-move-preparation.execution.d.ts +11 -14
  49. package/f-draggable/node/node-move-preparation/node-move-preparation.validator.d.ts +6 -9
  50. package/f-draggable/node/node.drag-handler.d.ts +9 -5
  51. package/f-draggable/node/providers.d.ts +1 -1
  52. package/f-draggable/providers.d.ts +1 -1
  53. package/f-flow.module.d.ts +1 -1
  54. package/f-minimap/domain/providers.d.ts +1 -1
  55. package/f-node/{f-drag-handle/f-drag-handle.directive.d.ts → f-drag-handle.directive.d.ts} +1 -1
  56. package/f-node/index.d.ts +2 -2
  57. package/f-node/providers.d.ts +2 -2
  58. package/f-storage/providers.d.ts +1 -1
  59. package/fesm2022/foblex-flow.mjs +229 -245
  60. package/fesm2022/foblex-flow.mjs.map +1 -1
  61. package/package.json +1 -1
  62. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.execution.mjs +0 -34
  63. package/esm2022/f-draggable/domain/get-node-padding/get-node-padding.request.mjs +0 -9
  64. package/esm2022/f-draggable/domain/get-node-padding/index.mjs +0 -3
  65. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.mjs +0 -30
  66. package/esm2022/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.mjs +0 -7
  67. package/esm2022/f-draggable/domain/get-normalized-node-rect/index.mjs +0 -3
  68. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  69. package/esm2022/f-draggable/domain/get-parent-nodes/get-parent-nodes.request.mjs +0 -7
  70. package/esm2022/f-draggable/domain/get-parent-nodes/index.mjs +0 -3
  71. package/esm2022/f-node/domain/index.mjs +0 -2
  72. package/esm2022/f-node/domain/is-node.mjs +0 -4
  73. package/esm2022/f-node/f-drag-handle/f-drag-handle.directive.mjs +0 -22
  74. package/esm2022/f-node/f-drag-handle/index.mjs +0 -2
  75. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.execution.d.ts +0 -13
  76. package/f-draggable/domain/get-normalized-node-rect/get-normalized-node-rect.request.d.ts +0 -5
  77. package/f-draggable/domain/get-normalized-node-rect/index.d.ts +0 -2
  78. package/f-node/domain/index.d.ts +0 -1
  79. package/f-node/f-drag-handle/index.d.ts +0 -1
  80. /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.execution.d.ts +0 -0
  81. /package/{f-draggable/domain → domain/f-node}/get-node-padding/get-node-padding.request.d.ts +0 -0
  82. /package/{f-draggable/domain → domain/f-node}/get-node-padding/index.d.ts +0 -0
  83. /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/get-parent-nodes.request.d.ts +0 -0
  84. /package/{f-draggable/domain → domain/f-node}/get-parent-nodes/index.d.ts +0 -0
  85. /package/f-node/{domain/is-node.d.ts → is-node.d.ts} +0 -0
@@ -7,4 +7,4 @@ import { InitializeDragSequenceExecution } from './initialize-drag-sequence';
7
7
  import { OnPointerMoveExecution } from './on-pointer-move';
8
8
  import { IsDragStartedExecution } from './is-drag-started';
9
9
  import { StartDragSequenceExecution } from './start-drag-sequence';
10
- export declare const F_DRAGGABLE_FEATURES: (typeof AddDndToStoreExecution | typeof EmitSelectionChangeEventExecution | typeof EndDragSequenceExecution | typeof OnPointerMoveExecution | typeof InitializeDragSequenceExecution | typeof PrepareDragSequenceExecution | typeof IsDragStartedExecution | typeof StartDragSequenceExecution | typeof RemoveDndFromStoreExecution)[];
10
+ export declare const F_DRAGGABLE_FEATURES: (typeof IsDragStartedExecution | typeof AddDndToStoreExecution | typeof EmitSelectionChangeEventExecution | typeof EndDragSequenceExecution | typeof OnPointerMoveExecution | typeof InitializeDragSequenceExecution | typeof PrepareDragSequenceExecution | typeof StartDragSequenceExecution | typeof RemoveDndFromStoreExecution)[];
@@ -1,13 +1,11 @@
1
1
  import { GetParentNodesRequest } from './get-parent-nodes.request';
2
2
  import { IExecution } from '@foblex/mediator';
3
3
  import { FNodeBase } from '../../../f-node';
4
- import { FComponentsStore } from '../../../f-storage';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class GetParentNodesExecution implements IExecution<GetParentNodesRequest, FNodeBase[]> {
7
- private fComponentsStore;
8
- constructor(fComponentsStore: FComponentsStore);
6
+ private _fComponentsStore;
9
7
  handle(request: GetParentNodesRequest): FNodeBase[];
10
- private getParentNodes;
8
+ private _getParentNodes;
11
9
  static ɵfac: i0.ɵɵFactoryDeclaration<GetParentNodesExecution, never>;
12
10
  static ɵprov: i0.ɵɵInjectableDeclaration<GetParentNodesExecution>;
13
11
  }
@@ -1,7 +1,9 @@
1
1
  export * from './add-node-to-store';
2
2
  export * from './calculate-nodes-bounding-box';
3
3
  export * from './calculate-nodes-bounding-box-normalized-position';
4
+ export * from './get-node-padding';
4
5
  export * from './get-nodes';
6
+ export * from './get-parent-nodes';
5
7
  export * from './update-node-when-state-or-size-changed';
6
8
  export * from './remove-node-from-store';
7
9
  export * from './providers';
@@ -4,4 +4,6 @@ import { UpdateNodeWhenStateOrSizeChangedExecution } from './update-node-when-st
4
4
  import { GetNodesExecution } from './get-nodes';
5
5
  import { CalculateNodesBoundingBoxExecution } from './calculate-nodes-bounding-box';
6
6
  import { CalculateNodesBoundingBoxNormalizedPositionExecution } from './calculate-nodes-bounding-box-normalized-position';
7
- export declare const F_NODE_FEATURES: (typeof AddNodeToStoreExecution | typeof CalculateNodesBoundingBoxExecution | typeof CalculateNodesBoundingBoxNormalizedPositionExecution | typeof GetNodesExecution | typeof UpdateNodeWhenStateOrSizeChangedExecution | typeof RemoveNodeFromStoreExecution)[];
7
+ import { GetNodePaddingExecution } from './get-node-padding';
8
+ import { GetParentNodesExecution } from './get-parent-nodes';
9
+ export declare const F_NODE_FEATURES: (typeof GetParentNodesExecution | typeof AddNodeToStoreExecution | typeof CalculateNodesBoundingBoxExecution | typeof CalculateNodesBoundingBoxNormalizedPositionExecution | typeof GetNodePaddingExecution | typeof GetNodesExecution | typeof UpdateNodeWhenStateOrSizeChangedExecution | typeof RemoveNodeFromStoreExecution)[];
@@ -4,4 +4,4 @@ import { GetNormalizedPointExecution } from './get-normalized-point';
4
4
  import { SortItemLayersExecution, SortItemsByParentExecution, SortNodeLayersExecution } from './sort-item-layers';
5
5
  import { GetDeepChildrenNodesAndGroupsExecution } from './get-deep-children-nodes-and-groups';
6
6
  import { GetElementRoundedRectExecution } from './get-element-rounded-rect';
7
- export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").CalculateConnectionLineByBehaviorExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-connection").RedrawConnectionsExecution | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStoreExecution | typeof import("./f-connectors").AddOutletToStoreExecution | typeof import("./f-connectors").AddOutputToStoreExecution | typeof import("./f-connectors").RemoveInputFromStoreExecution | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-flow").GetFlowStateConnectionsExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStoreExecution | typeof import("./f-node").UpdateNodeWhenStateOrSizeChangedExecution | typeof import("./f-node").RemoveNodeFromStoreExecution | typeof GetElementRoundedRectExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetCanBeSelectedItemsExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
7
+ export declare const COMMON_PROVIDERS: (typeof GetElementRoundedRectExecution | typeof import("./f-node").GetParentNodesExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").FindClosestInputUsingSnapThresholdExecution | typeof import("./f-connection").GetAllCanBeConnectedInputPositionsExecution | typeof import("./f-connection").CalculateConnectionLineByBehaviorExecution | typeof import("./f-connection").GetConnectorWithRectExecution | typeof import("./f-connection").RedrawConnectionsExecution | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStoreExecution | typeof import("./f-connectors").AddOutletToStoreExecution | typeof import("./f-connectors").AddOutputToStoreExecution | typeof import("./f-connectors").RemoveInputFromStoreExecution | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-flow").GetFlowStateConnectionsExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStoreExecution | typeof import("./f-node").GetNodePaddingExecution | typeof import("./f-node").UpdateNodeWhenStateOrSizeChangedExecution | typeof import("./f-node").RemoveNodeFromStoreExecution | typeof import("./f-selection").ClearSelectionExecution | typeof import("./f-selection").GetCanBeSelectedItemsExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAllExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof SortItemLayersExecution | typeof SortItemsByParentExecution | typeof SortNodeLayersExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
@@ -0,0 +1,34 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { GetNodePaddingRequest } from './get-node-padding.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@foblex/platform";
7
+ let GetNodePaddingExecution = class GetNodePaddingExecution {
8
+ fBrowser;
9
+ constructor(fBrowser) {
10
+ this.fBrowser = fBrowser;
11
+ }
12
+ handle(request) {
13
+ return request.fNode.fIncludePadding ? this.getPaddingData(request.fNode, request.rect) : [0, 0, 0, 0];
14
+ }
15
+ getPaddingData(node, rect) {
16
+ const style = this.fBrowser.window.getComputedStyle(node.hostElement);
17
+ return [
18
+ this.fBrowser.toPixels(style.paddingLeft, rect.width, rect.height, style.fontSize),
19
+ this.fBrowser.toPixels(style.paddingTop, rect.width, rect.height, style.fontSize),
20
+ this.fBrowser.toPixels(style.paddingRight, rect.width, rect.height, style.fontSize),
21
+ this.fBrowser.toPixels(style.paddingBottom, rect.width, rect.height, style.fontSize)
22
+ ];
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, deps: [{ token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution });
26
+ };
27
+ GetNodePaddingExecution = __decorate([
28
+ FExecutionRegister(GetNodePaddingRequest)
29
+ ], GetNodePaddingExecution);
30
+ export { GetNodePaddingExecution };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNodePaddingExecution, decorators: [{
32
+ type: Injectable
33
+ }], ctorParameters: () => [{ type: i1.BrowserService }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcGFkZGluZy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvZ2V0LW5vZGUtcGFkZGluZy9nZXQtbm9kZS1wYWRkaW5nLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7O0FBTzNELElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBSXhCO0lBRFYsWUFDVSxRQUF3QjtRQUF4QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtJQUVsQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQThCO1FBQzFDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFFLENBQUM7SUFDM0csQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFlLEVBQUUsSUFBVztRQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEUsT0FBTztZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ25GLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUM7U0FDckYsQ0FBQztJQUNKLENBQUM7dUdBcEJVLHVCQUF1QjsyR0FBdkIsdUJBQXVCOztBQUF2Qix1QkFBdUI7SUFEbkMsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7R0FDN0IsdUJBQXVCLENBcUJuQzs7MkZBckJZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vZGVQYWRkaW5nUmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vZGUtcGFkZGluZy5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IElSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldE5vZGVQYWRkaW5nUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb2RlUGFkZGluZ0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0Tm9kZVBhZGRpbmdSZXF1ZXN0LCBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQnJvd3NlcjogQnJvd3NlclNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vZGVQYWRkaW5nUmVxdWVzdCk6IFsgbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyIF0ge1xuICAgIHJldHVybiByZXF1ZXN0LmZOb2RlLmZJbmNsdWRlUGFkZGluZyA/IHRoaXMuZ2V0UGFkZGluZ0RhdGEocmVxdWVzdC5mTm9kZSwgcmVxdWVzdC5yZWN0KSA6IFsgMCwgMCwgMCwgMCBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYWRkaW5nRGF0YShub2RlOiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSB7XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmZCcm93c2VyLndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUuaG9zdEVsZW1lbnQpO1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLmZCcm93c2VyLnRvUGl4ZWxzKHN0eWxlLnBhZGRpbmdMZWZ0LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCwgc3R5bGUuZm9udFNpemUpLFxuICAgICAgdGhpcy5mQnJvd3Nlci50b1BpeGVscyhzdHlsZS5wYWRkaW5nVG9wLCByZWN0LndpZHRoLCByZWN0LmhlaWdodCwgc3R5bGUuZm9udFNpemUpLFxuICAgICAgdGhpcy5mQnJvd3Nlci50b1BpeGVscyhzdHlsZS5wYWRkaW5nUmlnaHQsIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCBzdHlsZS5mb250U2l6ZSksXG4gICAgICB0aGlzLmZCcm93c2VyLnRvUGl4ZWxzKHN0eWxlLnBhZGRpbmdCb3R0b20sIHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0LCBzdHlsZS5mb250U2l6ZSlcbiAgICBdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class GetNodePaddingRequest {
2
+ fNode;
3
+ rect;
4
+ constructor(fNode, rect) {
5
+ this.fNode = fNode;
6
+ this.rect = rect;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vZGUtcGFkZGluZy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL2dldC1ub2RlLXBhZGRpbmcvZ2V0LW5vZGUtcGFkZGluZy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxxQkFBcUI7SUFHdkI7SUFDQTtJQUZULFlBQ1MsS0FBZ0IsRUFDaEIsSUFBVztRQURYLFVBQUssR0FBTCxLQUFLLENBQVc7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBTztJQUVwQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcblxuZXhwb3J0IGNsYXNzIEdldE5vZGVQYWRkaW5nUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZOb2RlOiBGTm9kZUJhc2UsXG4gICAgcHVibGljIHJlY3Q6IElSZWN0XG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './get-node-padding.execution';
2
+ export * from './get-node-padding.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvZ2V0LW5vZGUtcGFkZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZS1wYWRkaW5nLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,34 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { GetParentNodesRequest } from './get-parent-nodes.request';
4
+ import { FExecutionRegister } from '@foblex/mediator';
5
+ import { FComponentsStore } from '../../../f-storage';
6
+ import * as i0 from "@angular/core";
7
+ let GetParentNodesExecution = class GetParentNodesExecution {
8
+ _fComponentsStore = inject(FComponentsStore);
9
+ handle(request) {
10
+ return this._getParentNodes(request.fNode, new Set(), []);
11
+ }
12
+ _getParentNodes(fNode, visited, result) {
13
+ if (visited.has(fNode.fId)) {
14
+ throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fNode.fId);
15
+ }
16
+ visited.add(fNode.fId);
17
+ const parent = this._fComponentsStore.fNodes.find((x) => x.fId === fNode.fParentId);
18
+ if (!parent) {
19
+ return result;
20
+ }
21
+ result.push(parent);
22
+ return this._getParentNodes(parent, visited, result);
23
+ }
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution });
26
+ };
27
+ GetParentNodesExecution = __decorate([
28
+ FExecutionRegister(GetParentNodesRequest)
29
+ ], GetParentNodesExecution);
30
+ export { GetParentNodesExecution };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetParentNodesExecution, decorators: [{
32
+ type: Injectable
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC1ub2Rlcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvZ2V0LXBhcmVudC1ub2Rlcy9nZXQtcGFyZW50LW5vZGVzLmV4ZWN1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBSS9DLElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBRzFCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUE4QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBZ0IsRUFBRSxPQUFvQixFQUFFLE1BQW1CO1FBQ2pGLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBdEJVLHVCQUF1QjsyR0FBdkIsdUJBQXVCOztBQUF2Qix1QkFBdUI7SUFEbkMsa0JBQWtCLENBQUMscUJBQXFCLENBQUM7R0FDN0IsdUJBQXVCLENBdUJuQzs7MkZBdkJZLHVCQUF1QjtrQkFGbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtcGFyZW50LW5vZGVzLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldFBhcmVudE5vZGVzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXRQYXJlbnROb2Rlc1JlcXVlc3QsIEZOb2RlQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSBfZkNvbXBvbmVudHNTdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldFBhcmVudE5vZGVzUmVxdWVzdCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UGFyZW50Tm9kZXMocmVxdWVzdC5mTm9kZSwgbmV3IFNldDxzdHJpbmc+KCksIFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhcmVudE5vZGVzKGZOb2RlOiBGTm9kZUJhc2UsIHZpc2l0ZWQ6IFNldDxzdHJpbmc+LCByZXN1bHQ6IEZOb2RlQmFzZVtdKTogRk5vZGVCYXNlW10ge1xuICAgIGlmICh2aXNpdGVkLmhhcyhmTm9kZS5mSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NpcmN1bGFyIHJlZmVyZW5jZSBkZXRlY3RlZCBpbiB0aGUgbm9kZSBoaWVyYXJjaHkuIE5vZGUgaWQ6ICcgKyBmTm9kZS5mSWQpO1xuICAgIH1cbiAgICB2aXNpdGVkLmFkZChmTm9kZS5mSWQpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gdGhpcy5fZkNvbXBvbmVudHNTdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQgPT09IGZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcmVzdWx0LnB1c2gocGFyZW50KTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0UGFyZW50Tm9kZXMocGFyZW50LCB2aXNpdGVkLCByZXN1bHQpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class GetParentNodesRequest {
2
+ fNode;
3
+ constructor(fNode) {
4
+ this.fNode = fNode;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBhcmVudC1ub2Rlcy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL2dldC1wYXJlbnQtbm9kZXMvZ2V0LXBhcmVudC1ub2Rlcy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxxQkFBcUI7SUFHdkI7SUFEVCxZQUNTLEtBQWdCO1FBQWhCLFVBQUssR0FBTCxLQUFLLENBQVc7SUFFekIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcblxuZXhwb3J0IGNsYXNzIEdldFBhcmVudE5vZGVzUmVxdWVzdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZOb2RlOiBGTm9kZUJhc2VcbiAgKSB7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './get-parent-nodes.execution';
2
+ export * from './get-parent-nodes.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvZ2V0LXBhcmVudC1ub2Rlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMuZXhlY3V0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtcGFyZW50LW5vZGVzLnJlcXVlc3QnO1xuIl19
@@ -1,8 +1,10 @@
1
1
  export * from './add-node-to-store';
2
2
  export * from './calculate-nodes-bounding-box';
3
3
  export * from './calculate-nodes-bounding-box-normalized-position';
4
+ export * from './get-node-padding';
4
5
  export * from './get-nodes';
6
+ export * from './get-parent-nodes';
5
7
  export * from './update-node-when-state-or-size-changed';
6
8
  export * from './remove-node-from-store';
7
9
  export * from './providers';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtbm9kZS10by1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkJztcblxuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmUtbm9kZS1mcm9tLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGFBQWEsQ0FBQztBQUU1QixjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRkLW5vZGUtdG8tc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gtbm9ybWFsaXplZC1wb3NpdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtcGFkZGluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtcGFyZW50LW5vZGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLW5vZGUtZnJvbS1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
@@ -4,12 +4,16 @@ import { UpdateNodeWhenStateOrSizeChangedExecution } from './update-node-when-st
4
4
  import { GetNodesExecution } from './get-nodes';
5
5
  import { CalculateNodesBoundingBoxExecution } from './calculate-nodes-bounding-box';
6
6
  import { CalculateNodesBoundingBoxNormalizedPositionExecution } from './calculate-nodes-bounding-box-normalized-position';
7
+ import { GetNodePaddingExecution } from './get-node-padding';
8
+ import { GetParentNodesExecution } from './get-parent-nodes';
7
9
  export const F_NODE_FEATURES = [
8
10
  AddNodeToStoreExecution,
9
11
  CalculateNodesBoundingBoxExecution,
10
12
  CalculateNodesBoundingBoxNormalizedPositionExecution,
13
+ GetNodePaddingExecution,
11
14
  GetNodesExecution,
15
+ GetParentNodesExecution,
12
16
  UpdateNodeWhenStateOrSizeChangedExecution,
13
17
  RemoveNodeFromStoreExecution
14
18
  ];
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEYsT0FBTyxFQUNMLG9EQUFvRCxFQUNyRCxNQUFNLG9EQUFvRCxDQUFDO0FBRTVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUU3Qix1QkFBdUI7SUFFdkIsa0NBQWtDO0lBRWxDLG9EQUFvRDtJQUVwRCxpQkFBaUI7SUFFakIseUNBQXlDO0lBRXpDLDRCQUE0QjtDQUM3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTm9kZVRvU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL2FkZC1ub2RlLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZU5vZGVGcm9tU3RvcmVFeGVjdXRpb24gfSBmcm9tICcuL3JlbW92ZS1ub2RlLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRFeGVjdXRpb24gfSBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkJztcbmltcG9ydCB7IEdldE5vZGVzRXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveEV4ZWN1dGlvbiB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveCc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uRXhlY3V0aW9uXG59IGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveC1ub3JtYWxpemVkLXBvc2l0aW9uJztcblxuZXhwb3J0IGNvbnN0IEZfTk9ERV9GRUFUVVJFUyA9IFtcblxuICBBZGROb2RlVG9TdG9yZUV4ZWN1dGlvbixcblxuICBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94RXhlY3V0aW9uLFxuXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25FeGVjdXRpb24sXG5cbiAgR2V0Tm9kZXNFeGVjdXRpb24sXG5cbiAgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRFeGVjdXRpb24sXG5cbiAgUmVtb3ZlTm9kZUZyb21TdG9yZUV4ZWN1dGlvblxuXTtcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEYsT0FBTyxFQUNMLG9EQUFvRCxFQUNyRCxNQUFNLG9EQUFvRCxDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUU3Qix1QkFBdUI7SUFFdkIsa0NBQWtDO0lBRWxDLG9EQUFvRDtJQUVwRCx1QkFBdUI7SUFFdkIsaUJBQWlCO0lBRWpCLHVCQUF1QjtJQUV2Qix5Q0FBeUM7SUFFekMsNEJBQTRCO0NBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZGROb2RlVG9TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vYWRkLW5vZGUtdG8tc3RvcmUnO1xuaW1wb3J0IHsgUmVtb3ZlTm9kZUZyb21TdG9yZUV4ZWN1dGlvbiB9IGZyb20gJy4vcmVtb3ZlLW5vZGUtZnJvbS1zdG9yZSc7XG5pbXBvcnQgeyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZEV4ZWN1dGlvbiB9IGZyb20gJy4vdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQnO1xuaW1wb3J0IHsgR2V0Tm9kZXNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2Rlcyc7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94RXhlY3V0aW9uIH0gZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94JztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25FeGVjdXRpb25cbn0gZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24nO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuXG5leHBvcnQgY29uc3QgRl9OT0RFX0ZFQVRVUkVTID0gW1xuXG4gIEFkZE5vZGVUb1N0b3JlRXhlY3V0aW9uLFxuXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hFeGVjdXRpb24sXG5cbiAgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveE5vcm1hbGl6ZWRQb3NpdGlvbkV4ZWN1dGlvbixcblxuICBHZXROb2RlUGFkZGluZ0V4ZWN1dGlvbixcblxuICBHZXROb2Rlc0V4ZWN1dGlvbixcblxuICBHZXRQYXJlbnROb2Rlc0V4ZWN1dGlvbixcblxuICBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZEV4ZWN1dGlvbixcblxuICBSZW1vdmVOb2RlRnJvbVN0b3JlRXhlY3V0aW9uXG5dO1xuIl19
@@ -2,9 +2,9 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { GetNormalizedParentNodeRectRequest } from './get-normalized-parent-node-rect.request';
4
4
  import { RectExtensions } from '@foblex/2d';
5
- import { GetNormalizedNodeRectRequest } from '../get-normalized-node-rect';
6
5
  import { FExecutionRegister } from '@foblex/mediator';
7
- import { GetNodePaddingRequest } from '../get-node-padding';
6
+ import { GetNodePaddingRequest } from '../../../domain';
7
+ import { GetNormalizedElementRectRequest } from '../../../domain';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../../../f-storage";
10
10
  import * as i2 from "@foblex/mediator";
@@ -27,12 +27,12 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
27
27
  return this.fComponentsStore.fNodes.find((x) => x.fId === fId);
28
28
  }
29
29
  getParentRect(node) {
30
- const rect = this.getNormalizedNodeRect(node);
30
+ const rect = this._getNodeRect(node);
31
31
  const padding = this.getNodePadding(node, rect);
32
32
  return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
33
33
  }
34
- getNormalizedNodeRect(node) {
35
- return this.fMediator.send(new GetNormalizedNodeRectRequest(node));
34
+ _getNodeRect(fNode) {
35
+ return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
36
36
  }
37
37
  getNodePadding(node, rect) {
38
38
  return this.fMediator.send(new GetNodePaddingRequest(node, rect));
@@ -47,4 +47,4 @@ export { GetNormalizedParentNodeRectExecution };
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetNormalizedParentNodeRectExecution, decorators: [{
48
48
  type: Injectable
49
49
  }], ctorParameters: () => [{ type: i1.FComponentsStore }, { type: i2.FMediator }] });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0L2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBSXJELElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBSXJDO0lBQ0E7SUFGVixZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFlO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQzlCLElBQUksQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNuQixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBZTtRQUMzQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQWUsRUFBRSxJQUFXO1FBQ2pELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXFDLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQzt1R0F2Q1Usb0NBQW9DOzJHQUFwQyxvQ0FBb0M7O0FBQXBDLG9DQUFvQztJQURoRCxrQkFBa0IsQ0FBQyxrQ0FBa0MsQ0FBQztHQUMxQyxvQ0FBb0MsQ0F3Q2hEOzsyRkF4Q1ksb0NBQW9DO2tCQUZoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4vZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IElSZWN0LCBSZWN0RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZE5vZGVSZWN0UmVxdWVzdCB9IGZyb20gJy4uL2dldC1ub3JtYWxpemVkLW5vZGUtcmVjdCc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRk5vZGVCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LW5vZGUtcGFkZGluZyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgbGV0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7XG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZ2V0Tm9kZShyZXF1ZXN0LmZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0UGFyZW50UmVjdChwYXJlbnROb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZShmSWQ/OiBzdHJpbmcgfCBudWxsKTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50UmVjdChub2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZ2V0Tm9ybWFsaXplZE5vZGVSZWN0KG5vZGUpO1xuICAgIGNvbnN0IHBhZGRpbmcgPSB0aGlzLmdldE5vZGVQYWRkaW5nKG5vZGUsIHJlY3QpO1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC54ICsgcGFkZGluZ1swXSxcbiAgICAgIHJlY3QueSArIHBhZGRpbmdbMV0sXG4gICAgICByZWN0LndpZHRoIC0gcGFkZGluZ1swXSAtIHBhZGRpbmdbMl0sXG4gICAgICByZWN0LmhlaWdodCAtIHBhZGRpbmdbMV0gLSBwYWRkaW5nWzNdXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9ybWFsaXplZE5vZGVSZWN0KG5vZGU6IEZOb2RlQmFzZSk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxJUmVjdD4obmV3IEdldE5vcm1hbGl6ZWROb2RlUmVjdFJlcXVlc3Qobm9kZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb2RlUGFkZGluZyhub2RlOiBGTm9kZUJhc2UsIHJlY3Q6IElSZWN0KTogWyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8WyBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXIgXT4obmV3IEdldE5vZGVQYWRkaW5nUmVxdWVzdChub2RlLCByZWN0KSk7XG4gIH1cbn1cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW5vcm1hbGl6ZWQtcGFyZW50LW5vZGUtcmVjdC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0L2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9GLE9BQU8sRUFBUyxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUF5QixNQUFNLGtCQUFrQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSTNELElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBSXJDO0lBQ0E7SUFGVixZQUNVLGdCQUFrQyxFQUNsQyxTQUFvQjtRQURwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUEyQztRQUN2RCxJQUFJLE1BQU0sR0FBRyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sT0FBTyxDQUFDLEdBQW1CO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFlO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxjQUFjLENBQUMsVUFBVSxDQUM5QixJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDckIsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEVBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxHQUFHLE9BQU8sQ0FBRSxDQUFDLENBQUUsRUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUUsQ0FBQyxDQUFFLEdBQUcsT0FBTyxDQUFFLENBQUMsQ0FBRSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFRLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFlLEVBQUUsSUFBVztRQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFxQyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7dUdBdkNVLG9DQUFvQzsyR0FBcEMsb0NBQW9DOztBQUFwQyxvQ0FBb0M7SUFEaEQsa0JBQWtCLENBQUMsa0NBQWtDLENBQUM7R0FDMUMsb0NBQW9DLENBd0NoRDs7MkZBeENZLG9DQUFvQztrQkFGaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QgfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QucmVxdWVzdCc7XG5pbXBvcnQgeyBJUmVjdCwgUmVjdEV4dGVuc2lvbnMgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBHZXROb2RlUGFkZGluZ1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgR2V0Tm9ybWFsaXplZEVsZW1lbnRSZWN0UmVxdWVzdCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QsIElSZWN0PiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlLFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdFJlcXVlc3QpOiBJUmVjdCB7XG4gICAgbGV0IHJlc3VsdCA9IFJlY3RFeHRlbnNpb25zLmluaXRpYWxpemUoLUluZmluaXR5LCAtSW5maW5pdHksIEluZmluaXR5LCBJbmZpbml0eSk7XG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IHRoaXMuZ2V0Tm9kZShyZXF1ZXN0LmZOb2RlLmZQYXJlbnRJZCk7XG4gICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgIHJlc3VsdCA9IHRoaXMuZ2V0UGFyZW50UmVjdChwYXJlbnROb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9kZShmSWQ/OiBzdHJpbmcgfCBudWxsKTogRk5vZGVCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5mQ29tcG9uZW50c1N0b3JlLmZOb2Rlcy5maW5kKCh4KSA9PiB4LmZJZCA9PT0gZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50UmVjdChub2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuX2dldE5vZGVSZWN0KG5vZGUpO1xuICAgIGNvbnN0IHBhZGRpbmcgPSB0aGlzLmdldE5vZGVQYWRkaW5nKG5vZGUsIHJlY3QpO1xuICAgIHJldHVybiBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKFxuICAgICAgcmVjdC54ICsgcGFkZGluZ1sgMCBdLFxuICAgICAgcmVjdC55ICsgcGFkZGluZ1sgMSBdLFxuICAgICAgcmVjdC53aWR0aCAtIHBhZGRpbmdbIDAgXSAtIHBhZGRpbmdbIDIgXSxcbiAgICAgIHJlY3QuaGVpZ2h0IC0gcGFkZGluZ1sgMSBdIC0gcGFkZGluZ1sgMyBdXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldE5vZGVSZWN0KGZOb2RlOiBGTm9kZUJhc2UpOiBJUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8SVJlY3Q+KG5ldyBHZXROb3JtYWxpemVkRWxlbWVudFJlY3RSZXF1ZXN0KGZOb2RlLmhvc3RFbGVtZW50KSk7XG4gIH1cblxuICBwcml2YXRlIGdldE5vZGVQYWRkaW5nKG5vZGU6IEZOb2RlQmFzZSwgcmVjdDogSVJlY3QpOiBbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdIHtcbiAgICByZXR1cm4gdGhpcy5mTWVkaWF0b3Iuc2VuZDxbIG51bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlciBdPihuZXcgR2V0Tm9kZVBhZGRpbmdSZXF1ZXN0KG5vZGUsIHJlY3QpKTtcbiAgfVxufVxuIl19
@@ -1,9 +1,6 @@
1
- export * from './get-node-padding';
2
- export * from './get-normalized-node-rect';
3
1
  export * from './get-normalized-parent-node-rect';
4
- export * from './get-parent-nodes';
5
2
  export * from './is-array-has-parent-node';
6
3
  export * from './is-connection-under-node';
7
4
  export * from './i-node-with-rect';
8
5
  export * from './providers';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9kZS1wYWRkaW5nJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaXMtY29ubmVjdGlvbi11bmRlci1ub2RlJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLW5vZGUtd2l0aC1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1wYXJlbnQtbm9kZS1yZWN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1ub2RlLXdpdGgtcmVjdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
@@ -2,7 +2,7 @@ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { IsArrayHasParentNodeRequest } from './is-array-has-parent-node.request';
4
4
  import { FExecutionRegister } from '@foblex/mediator';
5
- import { GetParentNodesRequest } from '../get-parent-nodes';
5
+ import { GetParentNodesRequest } from '../../../domain/f-node/get-parent-nodes';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@foblex/mediator";
8
8
  let IsArrayHasParentNodeExecution = class IsArrayHasParentNodeExecution {
@@ -32,4 +32,4 @@ export { IsArrayHasParentNodeExecution };
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IsArrayHasParentNodeExecution, decorators: [{
33
33
  type: Injectable
34
34
  }], ctorParameters: () => [{ type: i1.FMediator }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBSXJELElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBSTlCO0lBRFYsWUFDVSxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBRTlCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBb0M7UUFDaEQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWMsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxhQUF1QixFQUFFLE1BQW1CO1FBQ3RFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO3VHQXRCVSw2QkFBNkI7MkdBQTdCLDZCQUE2Qjs7QUFBN0IsNkJBQTZCO0lBRHpDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDO0dBQ25DLDZCQUE2QixDQXVCekM7OzJGQXZCWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LXBhcmVudC1ub2Rlcyc7XG5cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoSXNBcnJheUhhc1BhcmVudE5vZGVSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIElzQXJyYXlIYXNQYXJlbnROb2RlRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QsIGJvb2xlYW4+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZNZWRpYXRvcjogRk1lZGlhdG9yXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1BhcmVudE5vZGVJbkFycmF5KHRoaXMuZ2V0UGFyZW50Tm9kZUlkcyhyZXF1ZXN0LmZOb2RlKSwgcmVxdWVzdC5mTm9kZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlSWRzKGZOb2RlOiBGTm9kZUJhc2UpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UGFyZW50Tm9kZXMoZk5vZGUpLm1hcCgoeCkgPT4geC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnROb2RlcyhmTm9kZTogRk5vZGVCYXNlKTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLmZNZWRpYXRvci5zZW5kPEZOb2RlQmFzZVtdPihuZXcgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0KGZOb2RlKSk7XG4gIH1cblxuICBwcml2YXRlIGlzUGFyZW50Tm9kZUluQXJyYXkocGFyZW50Tm9kZUlkczogc3RyaW5nW10sIGZOb2RlczogRk5vZGVCYXNlW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZk5vZGVzLnNvbWUoKHgpID0+IHBhcmVudE5vZGVJZHMuaW5jbHVkZXMoeC5mSWQpKTtcbiAgfVxufVxuXG5cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYXJyYXktaGFzLXBhcmVudC1ub2RlLmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZG9tYWluL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS9pcy1hcnJheS1oYXMtcGFyZW50LW5vZGUuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBeUIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBSXpFLElBQU0sNkJBQTZCLEdBQW5DLE1BQU0sNkJBQTZCO0lBSTlCO0lBRFYsWUFDVSxTQUFvQjtRQUFwQixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBRTlCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBb0M7UUFDaEQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWdCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWMsSUFBSSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxhQUF1QixFQUFFLE1BQW1CO1FBQ3RFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO3VHQXRCVSw2QkFBNkI7MkdBQTdCLDZCQUE2Qjs7QUFBN0IsNkJBQTZCO0lBRHpDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDO0dBQ25DLDZCQUE2QixDQXVCekM7OzJGQXZCWSw2QkFBNkI7a0JBRnpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QgfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZS5yZXF1ZXN0JztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2Ytbm9kZS9nZXQtcGFyZW50LW5vZGVzJztcblxuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihJc0FycmF5SGFzUGFyZW50Tm9kZVJlcXVlc3QpXG5leHBvcnQgY2xhc3MgSXNBcnJheUhhc1BhcmVudE5vZGVFeGVjdXRpb25cbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCwgYm9vbGVhbj4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZk1lZGlhdG9yOiBGTWVkaWF0b3JcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElzQXJyYXlIYXNQYXJlbnROb2RlUmVxdWVzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzUGFyZW50Tm9kZUluQXJyYXkodGhpcy5nZXRQYXJlbnROb2RlSWRzKHJlcXVlc3QuZk5vZGUpLCByZXF1ZXN0LmZOb2Rlcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudE5vZGVJZHMoZk5vZGU6IEZOb2RlQmFzZSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRQYXJlbnROb2RlcyhmTm9kZSkubWFwKCh4KSA9PiB4LmZJZCk7XG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudE5vZGVzKGZOb2RlOiBGTm9kZUJhc2UpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZk1lZGlhdG9yLnNlbmQ8Rk5vZGVCYXNlW10+KG5ldyBHZXRQYXJlbnROb2Rlc1JlcXVlc3QoZk5vZGUpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNQYXJlbnROb2RlSW5BcnJheShwYXJlbnROb2RlSWRzOiBzdHJpbmdbXSwgZk5vZGVzOiBGTm9kZUJhc2VbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmTm9kZXMuc29tZSgoeCkgPT4gcGFyZW50Tm9kZUlkcy5pbmNsdWRlcyh4LmZJZCkpO1xuICB9XG59XG5cblxuIl19
@@ -1,3 +1,3 @@
1
1
  export class IsConnectionUnderNodeRequest {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUvaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDRCQUE0QjtDQUV4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0IHtcblxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2RvbWFpbi9pcy1jb25uZWN0aW9uLXVuZGVyLW5vZGUvaXMtY29ubmVjdGlvbi11bmRlci1ub2RlLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDRCQUE0QjtDQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJc0Nvbm5lY3Rpb25VbmRlck5vZGVSZXF1ZXN0IHtcbn1cbiJdfQ==
@@ -1,16 +1,10 @@
1
- import { GetNormalizedNodeRectExecution } from './get-normalized-node-rect';
2
- import { GetParentNodesExecution } from './get-parent-nodes';
3
1
  import { IsArrayHasParentNodeExecution } from './is-array-has-parent-node';
4
2
  import { GetNormalizedParentNodeRectExecution } from './get-normalized-parent-node-rect';
5
- import { GetNodePaddingExecution } from './get-node-padding';
6
3
  import { IsConnectionUnderNodeExecution, IsConnectionUnderNodeValidator } from './is-connection-under-node';
7
4
  export const DRAG_AND_DROP_COMMON_PROVIDERS = [
8
- GetNodePaddingExecution,
9
- GetNormalizedNodeRectExecution,
10
5
  GetNormalizedParentNodeRectExecution,
11
- GetParentNodesExecution,
12
6
  IsArrayHasParentNodeExecution,
13
7
  IsConnectionUnderNodeExecution,
14
8
  IsConnectionUnderNodeValidator,
15
9
  ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBRTVDLHVCQUF1QjtJQUV2Qiw4QkFBOEI7SUFFOUIsb0NBQW9DO0lBRXBDLHVCQUF1QjtJQUV2Qiw2QkFBNkI7SUFFN0IsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Tm9ybWFsaXplZE5vZGVSZWN0RXhlY3V0aW9uIH0gZnJvbSAnLi9nZXQtbm9ybWFsaXplZC1ub2RlLXJlY3QnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXNFeGVjdXRpb24gfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuaW1wb3J0IHsgSXNBcnJheUhhc1BhcmVudE5vZGVFeGVjdXRpb24gfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QnO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmdFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuaW1wb3J0IHsgSXNDb25uZWN0aW9uVW5kZXJOb2RlRXhlY3V0aW9uLCBJc0Nvbm5lY3Rpb25VbmRlck5vZGVWYWxpZGF0b3IgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBEUkFHX0FORF9EUk9QX0NPTU1PTl9QUk9WSURFUlMgPSBbXG5cbiAgR2V0Tm9kZVBhZGRpbmdFeGVjdXRpb24sXG5cbiAgR2V0Tm9ybWFsaXplZE5vZGVSZWN0RXhlY3V0aW9uLFxuXG4gIEdldE5vcm1hbGl6ZWRQYXJlbnROb2RlUmVjdEV4ZWN1dGlvbixcblxuICBHZXRQYXJlbnROb2Rlc0V4ZWN1dGlvbixcblxuICBJc0FycmF5SGFzUGFyZW50Tm9kZUV4ZWN1dGlvbixcblxuICBJc0Nvbm5lY3Rpb25VbmRlck5vZGVFeGVjdXRpb24sXG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZVZhbGlkYXRvcixcbl07XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9kb21haW4vcHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVHLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBRTVDLG9DQUFvQztJQUVwQyw2QkFBNkI7SUFFN0IsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXNBcnJheUhhc1BhcmVudE5vZGVFeGVjdXRpb24gfSBmcm9tICcuL2lzLWFycmF5LWhhcy1wYXJlbnQtbm9kZSc7XG5pbXBvcnQgeyBHZXROb3JtYWxpemVkUGFyZW50Tm9kZVJlY3RFeGVjdXRpb24gfSBmcm9tICcuL2dldC1ub3JtYWxpemVkLXBhcmVudC1ub2RlLXJlY3QnO1xuaW1wb3J0IHsgSXNDb25uZWN0aW9uVW5kZXJOb2RlRXhlY3V0aW9uLCBJc0Nvbm5lY3Rpb25VbmRlck5vZGVWYWxpZGF0b3IgfSBmcm9tICcuL2lzLWNvbm5lY3Rpb24tdW5kZXItbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBEUkFHX0FORF9EUk9QX0NPTU1PTl9QUk9WSURFUlMgPSBbXG5cbiAgR2V0Tm9ybWFsaXplZFBhcmVudE5vZGVSZWN0RXhlY3V0aW9uLFxuXG4gIElzQXJyYXlIYXNQYXJlbnROb2RlRXhlY3V0aW9uLFxuXG4gIElzQ29ubmVjdGlvblVuZGVyTm9kZUV4ZWN1dGlvbixcbiAgSXNDb25uZWN0aW9uVW5kZXJOb2RlVmFsaWRhdG9yLFxuXTtcbiJdfQ==
@@ -11,4 +11,4 @@ export class FDraggableBase extends DragAndDropBase {
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableBase, decorators: [{
12
12
  type: Directive
13
13
  }], ctorParameters: () => [{ type: undefined }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUs5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBYzFELFlBQ0UsTUFBeUM7UUFFekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hCLENBQUM7dUdBbEJtQixjQUFjOzJGQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRG5DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDcmVhdGVDb25uZWN0aW9uRXZlbnQsIEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCB9IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRkNyZWF0ZU5vZGVFdmVudCB9IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBEcmFnQW5kRHJvcEJhc2UsIElDYW5SdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZEcm9wVG9Hcm91cEV2ZW50IH0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZEcmFnZ2FibGVCYXNlIGV4dGVuZHMgRHJhZ0FuZERyb3BCYXNlICB7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zOiBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZSZWFzc2lnbkNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlQ29ubmVjdGlvbjogRXZlbnRFbWl0dGVyPEZDcmVhdGVDb25uZWN0aW9uRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJvcFRvR3JvdXA6IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1kcmFnZ2FibGUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxHQUFpQixNQUFNLGVBQWUsQ0FBQztBQUl6RCxPQUFPLEVBQUUsZUFBZSxFQUF5QixNQUFNLHNCQUFzQixDQUFDOztBQUs5RSxNQUFNLE9BQWdCLGNBQWUsU0FBUSxlQUFlO0lBa0IxRCxZQUNFLE1BQXlDO1FBRXpDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO3VHQXRCbUIsY0FBYzsyRkFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQURuQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LCBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQgfSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZDcmVhdGVOb2RlRXZlbnQgfSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgRHJhZ0FuZERyb3BCYXNlLCBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICdAZm9ibGV4L2RyYWctdG9vbGtpdCc7XG5pbXBvcnQgeyBGRHJvcFRvR3JvdXBFdmVudCB9IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zIH0gZnJvbSAnLi9kb21haW4nO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGRHJhZ2dhYmxlQmFzZSBleHRlbmRzIERyYWdBbmREcm9wQmFzZSAge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RlNlbGVjdGlvbkNoYW5nZUV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9uczogRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ3JlYXRlTm9kZTogRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyb3BUb0dyb3VwOiBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCB2Q2VsbFNpemU6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgaENlbGxTaXplOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKG5nWm9uZSk7XG4gIH1cbn1cbiJdfQ==
@@ -25,6 +25,8 @@ export class FDraggableDirective extends FDraggableBase {
25
25
  fReassignConnection = new EventEmitter();
26
26
  fCreateConnection = new EventEmitter();
27
27
  fDropToGroup = new EventEmitter();
28
+ vCellSize = 1;
29
+ hCellSize = 1;
28
30
  plugins;
29
31
  constructor(ngZone, _fBrowser) {
30
32
  super(ngZone);
@@ -83,7 +85,7 @@ export class FDraggableDirective extends FDraggableBase {
83
85
  super.unsubscribe();
84
86
  }
85
87
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, deps: [{ token: NgZone, optional: true }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Directive });
86
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"] }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
88
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: FDraggableDirective, selector: "f-flow[fDraggable]", inputs: { disabled: ["fDraggableDisabled", "disabled"], vCellSize: "vCellSize", hCellSize: "hCellSize" }, outputs: { fSelectionChange: "fSelectionChange", fNodeIntersectedWithConnections: "fNodeIntersectedWithConnections", fCreateNode: "fCreateNode", fReassignConnection: "fReassignConnection", fCreateConnection: "fCreateConnection", fDropToGroup: "fDropToGroup" }, queries: [{ propertyName: "plugins", predicate: F_DRAG_AND_DROP_PLUGIN, descendants: true }], exportAs: ["fDraggable"], usesInheritance: true, ngImport: i0 });
87
89
  }
88
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FDraggableDirective, decorators: [{
89
91
  type: Directive,
@@ -111,8 +113,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
111
113
  type: Output
112
114
  }], fDropToGroup: [{
113
115
  type: Output
116
+ }], vCellSize: [{
117
+ type: Input
118
+ }], hCellSize: [{
119
+ type: Input
114
120
  }], plugins: [{
115
121
  type: ContentChildren,
116
122
  args: [F_DRAG_AND_DROP_PLUGIN, { descendants: true }]
117
123
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENB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c0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBRdWVyeUxpc3Rcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZEcmFnZ2FibGVCYXNlIH0gZnJvbSAnLi9mLWRyYWdnYWJsZS1iYXNlJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LCBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0LFxuICBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0LFxuICBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3Rcbn0gZnJvbSAnLi9ub2RlJztcbmltcG9ydCB7IENhbnZhc01vdmVGaW5hbGl6ZVJlcXVlc3QsIENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2NhbnZhcyc7XG5pbXBvcnQge1xuICBGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0XG59IGZyb20gJy4vY29ubmVjdGlvbnMnO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0LFxuICBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QsXG4gIEZDcmVhdGVOb2RlRXZlbnQsXG4gIFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0XG59IGZyb20gJy4uL2YtZXh0ZXJuYWwtaXRlbSc7XG5pbXBvcnQgeyBTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9zaW5nbGUtc2VsZWN0JztcbmltcG9ydCB7IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QsIE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL25vZGUtcmVzaXplJztcbmltcG9ydCB7IEZfRFJBR19BTkRfRFJPUF9QTFVHSU4sIElGRHJhZ0FuZERyb3BQbHVnaW4gfSBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyLCBJUG9pbnRlckV2ZW50IH0gZnJvbSAnQGZvYmxleC9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4vZG9tYWluJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcImYtZmxvd1tmRHJhZ2dhYmxlXVwiLFxuICBleHBvcnRBczogJ2ZEcmFnZ2FibGUnXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmUgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByaXZhdGUgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIEBJbnB1dCgnZkRyYWdnYWJsZURpc2FibGVkJylcbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM6IEV2ZW50RW1pdHRlcjxGTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVOb2RlOiBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uOiBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZUNvbm5lY3Rpb246IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcm9wVG9Hcm91cDogRXZlbnRFbWl0dGVyPEZEcm9wVG9Hcm91cEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0RSQUdfQU5EX0RST1BfUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE5nWm9uZSkgQE9wdGlvbmFsKCkgbmdab25lOiBJQ2FuUnVuT3V0c2lkZUFuZ3VsYXIsXG4gICAgcHJpdmF0ZSBfZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihuZ1pvbmUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9mQnJvd3Nlci5kb2N1bWVudCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyRG93bihldmVudDogSVBvaW50ZXJFdmVudCk6IGJvb2xlYW4ge1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIGNvbnN0IGlzTW91c2VMZWZ0QnV0dG9uID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0QnV0dG9uKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuICAgIHJldHVybiBpc01vdXNlTGVmdEJ1dHRvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50UHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25TZWxlY3Q/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBPblBvaW50ZXJNb3ZlUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG5cbiAgICB0aGlzLnBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVEcmFnVG9QYXJlbnRGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG5cbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGVBQWUsRUFDOUIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFDNUIsS0FBSyxFQUNMLE1BQU0sRUFFRSxRQUFRLEVBQUUsTUFBTSxFQUN6QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUNjLCtCQUErQixFQUNsRCxrQ0FBa0MsRUFDbEMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUNoQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkYsT0FBTyxFQUdMLG9DQUFvQyxFQUNwQyxpQ0FBaUMsRUFDakMsa0NBQWtDLEVBQ2xDLCtCQUErQixFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNyQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDhCQUE4QixFQUU5QixtQ0FBbUMsRUFDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUF1QixNQUFNLDRCQUE0QixDQUFDOzs7QUFTekYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUEyQzNDO0lBekNGLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV2QyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBR3ZCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUMsSUFBb0IsV0FBVztRQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQUdlLGdCQUFnQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0lBRzdELCtCQUErQixHQUFHLElBQUksWUFBWSxFQUFtQyxDQUFDO0lBR3RGLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUduRCxtQkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQUduRSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztJQUcvRCxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7SUFHckQsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUlkLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFHdEIsT0FBTyxDQUFrQztJQUVqRCxZQUM4QixNQUE2QixFQUNqRCxTQUF5QjtRQUVqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFGTixjQUFTLEdBQVQsU0FBUyxDQUFnQjtJQUduQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sZUFBZTtRQUNwQixLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVlLGFBQWEsQ0FBQyxLQUFvQjtRQUVoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLDZCQUE2QixFQUFFLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksb0NBQW9DLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFMUUsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRWtCLG1CQUFtQixDQUFDLEtBQW9CO1FBRXpELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSxrQ0FBa0MsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFHdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVrQixRQUFRLENBQUMsS0FBWTtRQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSxtQ0FBbUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFZSxhQUFhLENBQUMsS0FBb0I7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFZSxXQUFXLENBQUMsS0FBb0I7UUFFOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksaUNBQWlDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV6RSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUUvRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sSUFBSSx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRWpFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFPLElBQUksMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLHNCQUFzQixFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRWtCLG9CQUFvQjtRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLCtCQUErQixFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBTyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUM1RCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQzt1R0FuSVUsbUJBQW1CLGtCQTBDcEIsTUFBTTsyRkExQ0wsbUJBQW1CLGljQXNDYixzQkFBc0I7OzJGQXRDNUIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxZQUFZO2lCQUN2Qjs7MEJBMkNJLE1BQU07MkJBQUMsTUFBTTs7MEJBQUcsUUFBUTtzRUFuQ1gsUUFBUTtzQkFEdkIsS0FBSzt1QkFBQyxvQkFBb0I7Z0JBUVgsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQUlTLCtCQUErQjtzQkFEOUMsTUFBTTtnQkFJUyxXQUFXO3NCQUQxQixNQUFNO2dCQUlTLG1CQUFtQjtzQkFEbEMsTUFBTTtnQkFJUyxpQkFBaUI7c0JBRGhDLE1BQU07Z0JBSVMsWUFBWTtzQkFEM0IsTUFBTTtnQkFJUyxTQUFTO3NCQUR4QixLQUFLO2dCQUtVLFNBQVM7c0JBRHhCLEtBQUs7Z0JBSUUsT0FBTztzQkFEZCxlQUFlO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgUXVlcnlMaXN0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGRHJvcFRvR3JvdXBFdmVudCwgTm9kZURyYWdUb1BhcmVudEZpbmFsaXplUmVxdWVzdCxcbiAgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdCxcbiAgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0XG59IGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgeyBDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBDYW52YXNNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkV2ZW50LFxuICBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbiAgQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdFxufSBmcm9tICcuL2Nvbm5lY3Rpb25zJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0LFxuICBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgT25Qb2ludGVyTW92ZVJlcXVlc3Rcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdCxcbiAgRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdFxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgU2luZ2xlU2VsZWN0UmVxdWVzdCB9IGZyb20gJy4vc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9ub2RlLXJlc2l6ZSc7XG5pbXBvcnQgeyBGX0RSQUdfQU5EX0RST1BfUExVR0lOLCBJRkRyYWdBbmREcm9wUGx1Z2luIH0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IElDYW5SdW5PdXRzaWRlQW5ndWxhciwgSVBvaW50ZXJFdmVudCB9IGZyb20gJ0Bmb2JsZXgvZHJhZy10b29sa2l0JztcbmltcG9ydCB7IEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJmLWZsb3dbZkRyYWdnYWJsZV1cIixcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJ1xufSlcbmV4cG9ydCBjbGFzcyBGRHJhZ2dhYmxlRGlyZWN0aXZlIGV4dGVuZHMgRkRyYWdnYWJsZUJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICBASW5wdXQoJ2ZEcmFnZ2FibGVEaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gMTtcblxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBoQ2VsbFNpemUgPSAxO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9EUkFHX0FORF9EUk9QX1BMVUdJTiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChOZ1pvbmUpIEBPcHRpb25hbCgpIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyLFxuICAgIHByaXZhdGUgX2ZCcm93c2VyOiBCcm93c2VyU2VydmljZSxcbiAgKSB7XG4gICAgc3VwZXIobmdab25lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQWRkRG5kVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5zdWJzY3JpYmUodGhpcy5fZkJyb3dzZXIuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBJbml0aWFsaXplRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcblxuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUG9pbnRlckRvd24/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICBjb25zdCBpc01vdXNlTGVmdEJ1dHRvbiA9IGV2ZW50LmlzTW91c2VMZWZ0QnV0dG9uKCk7XG4gICAgaWYgKCFpc01vdXNlTGVmdEJ1dHRvbikge1xuICAgICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICAgIH1cbiAgICByZXR1cm4gaXNNb3VzZUxlZnRCdXR0b247XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCkge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHApID0+IHAucHJlcGFyZURyYWdTZXF1ZW5jZT8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IE5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZURyYWdUb1BhcmVudFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQpKTtcblxuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2lucy5mb3JFYWNoKCh4KSA9PiB4Lm9uU2VsZWN0Py4oZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlck1vdmUoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgT25Qb2ludGVyTW92ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuXG4gICAgdGhpcy5wbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IENyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX2ZNZWRpYXRvci5zZW5kPHZvaWQ+KG5ldyBOb2RlRHJhZ1RvUGFyZW50RmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9mTWVkaWF0b3Iuc2VuZDx2b2lkPihuZXcgQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmluYWxpemVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLnNlbmQ8dm9pZD4obmV3IFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QoKSk7XG4gICAgc3VwZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuXG4iXX0=