@foblex/flow 12.1.1 → 12.2.0

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 (57) hide show
  1. package/domain/providers.d.ts +1 -1
  2. package/domain/redraw-connections/redraw-connections-request.d.ts +0 -1
  3. package/esm2022/domain/redraw-connections/redraw-connections-request.mjs +1 -3
  4. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +28 -13
  5. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -4
  6. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +4 -5
  7. package/esm2022/f-connection/common/domain/index.mjs +1 -5
  8. package/esm2022/f-connection/common/f-connection-base.mjs +21 -16
  9. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +1 -1
  10. package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -15
  11. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +3 -0
  12. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +34 -0
  13. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-request.mjs +2 -0
  14. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder-response.mjs +2 -0
  15. package/esm2022/f-connection/f-connection-builder/i-f-connection-builder.mjs +2 -0
  16. package/esm2022/f-connection/f-connection-builder/i-f-connection-factory-request.mjs +2 -0
  17. package/esm2022/f-connection/f-connection-builder/index.mjs +7 -0
  18. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +16 -15
  19. package/esm2022/f-connection/index.mjs +2 -1
  20. package/esm2022/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.mjs +16 -8
  21. package/esm2022/f-draggable/connections/find-inputs-under-pointer/index.mjs +1 -2
  22. package/esm2022/f-draggable/connections/providers.mjs +2 -3
  23. package/esm2022/f-flow/f-flow.component.mjs +4 -1
  24. package/f-connection/common/domain/f-bezier.path-builder.d.ts +4 -5
  25. package/f-connection/common/domain/f-segment.path-builder.d.ts +3 -5
  26. package/f-connection/common/domain/f-straight.path-builder.d.ts +3 -5
  27. package/f-connection/common/domain/index.d.ts +0 -4
  28. package/f-connection/common/f-connection-base.d.ts +4 -3
  29. package/f-connection/f-connection/f-connection.component.d.ts +2 -1
  30. package/f-connection/f-connection-builder/f-connection-builders.d.ts +6 -0
  31. package/f-connection/f-connection-builder/f-connection-factory.d.ts +11 -0
  32. package/f-connection/{common/domain/i-f-path-builder-request.d.ts → f-connection-builder/i-f-connection-builder-request.d.ts} +2 -4
  33. package/f-connection/f-connection-builder/i-f-connection-builder-response.d.ts +5 -0
  34. package/f-connection/f-connection-builder/i-f-connection-builder.d.ts +6 -0
  35. package/f-connection/f-connection-builder/i-f-connection-factory-request.d.ts +6 -0
  36. package/f-connection/f-connection-builder/index.d.ts +6 -0
  37. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +3 -2
  38. package/f-connection/index.d.ts +1 -0
  39. package/f-draggable/connections/find-inputs-under-pointer/find-inputs-under-pointer.handler.d.ts +3 -3
  40. package/f-draggable/connections/find-inputs-under-pointer/index.d.ts +0 -1
  41. package/f-draggable/connections/providers.d.ts +2 -2
  42. package/f-draggable/external-item/providers.d.ts +1 -1
  43. package/f-draggable/node/providers.d.ts +1 -1
  44. package/fesm2022/foblex-flow.mjs +121 -98
  45. package/fesm2022/foblex-flow.mjs.map +1 -1
  46. package/package.json +3 -4
  47. package/esm2022/f-connection/common/domain/f-path-builder-base.mjs +0 -3
  48. package/esm2022/f-connection/common/domain/f-path-builder-selector.mjs +0 -19
  49. package/esm2022/f-connection/common/domain/i-f-path-builder-request.mjs +0 -2
  50. package/esm2022/f-connection/common/domain/i-f-path-builder-response.mjs +0 -2
  51. package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.mjs +0 -2
  52. package/esm2022/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.mjs +0 -25
  53. package/f-connection/common/domain/f-path-builder-base.d.ts +0 -6
  54. package/f-connection/common/domain/f-path-builder-selector.d.ts +0 -7
  55. package/f-connection/common/domain/i-f-path-builder-response.d.ts +0 -5
  56. package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/index.d.ts +0 -1
  57. package/f-draggable/connections/find-inputs-under-pointer/inputs-under-pointer/inputs-under-pointer.handler.d.ts +0 -12
@@ -13,4 +13,4 @@ import { GetNodesRectHandler } from './get-nodes-rect';
13
13
  import { GetElementRectInFlowHandler } from './get-element-rect-in-flow';
14
14
  import { GetInputRectInFlowHandler } from './get-input-rect-in-flow';
15
15
  import { SelectHandler } from './select';
16
- export declare const COMMON_PROVIDERS: (typeof ClearSelectionHandler | typeof GetConnectionVectorHandler | typeof GetElementRectInFlowHandler | typeof GetInputRectInFlowHandler | typeof GetNodesRectHandler | typeof GetOutputRectInFlowHandler | typeof GetSelectionHandler | typeof RedrawConnectionsHandler | typeof SelectHandler | typeof SelectAllHandler | typeof GetConnectionHandler | typeof GetIncomingConnectionsHandler | typeof GetOutgoingConnectionsHandler | typeof UpdateNodeLayerHandler | typeof UpdateConnectionLayerHandler)[];
16
+ export declare const COMMON_PROVIDERS: (typeof ClearSelectionHandler | typeof GetConnectionVectorHandler | typeof GetElementRectInFlowHandler | typeof GetNodesRectHandler | typeof GetOutputRectInFlowHandler | typeof GetSelectionHandler | typeof RedrawConnectionsHandler | typeof SelectHandler | typeof SelectAllHandler | typeof GetConnectionHandler | typeof GetInputRectInFlowHandler | typeof GetIncomingConnectionsHandler | typeof GetOutgoingConnectionsHandler | typeof UpdateConnectionLayerHandler | typeof UpdateNodeLayerHandler)[];
@@ -1,3 +1,2 @@
1
1
  export declare class RedrawConnectionsRequest {
2
- constructor();
3
2
  }
@@ -1,5 +1,3 @@
1
1
  export class RedrawConnectionsRequest {
2
- constructor() {
3
- }
4
2
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9yZWRyYXctY29ubmVjdGlvbnMvcmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQztJQUNBLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3Qge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9yZWRyYXctY29ubmVjdGlvbnMvcmVkcmF3LWNvbm5lY3Rpb25zLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLHdCQUF3QjtDQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBSZWRyYXdDb25uZWN0aW9uc1JlcXVlc3Qge1xufVxuIl19
@@ -1,22 +1,37 @@
1
- import { PointExtensions } from '@foblex/core';
2
- import { FPathBuilderBase } from './f-path-builder-base';
3
1
  import { EFConnectableSide } from '../../../f-connectors';
4
2
  import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
5
- export class FBezierPathBuilder extends FPathBuilderBase {
6
- static getAnglePoint(side, source, target) {
7
- let result = PointExtensions.initialize(source.x, 0.5 * (source.y + target.y));
8
- if (side === EFConnectableSide.LEFT || side === EFConnectableSide.RIGHT) {
9
- result = PointExtensions.initialize(0.5 * (source.x + target.x), source.y);
3
+ export class FBezierPathBuilder {
4
+ static getConnectorOffset(distance, offset) {
5
+ if (distance >= offset) {
6
+ return distance;
7
+ }
8
+ return offset * Math.sqrt(offset - distance);
9
+ }
10
+ static getAnglePoint(side, source, target, offset) {
11
+ let result = { x: source.x, y: source.y };
12
+ switch (side) {
13
+ case EFConnectableSide.LEFT:
14
+ result.x -= FBezierPathBuilder.getConnectorOffset(source.x - target.x, offset);
15
+ break;
16
+ case EFConnectableSide.RIGHT:
17
+ result.x += FBezierPathBuilder.getConnectorOffset(target.x - source.x, offset);
18
+ break;
19
+ case EFConnectableSide.TOP:
20
+ result.y -= FBezierPathBuilder.getConnectorOffset(source.y - target.y, offset);
21
+ break;
22
+ case EFConnectableSide.BOTTOM:
23
+ result.y += FBezierPathBuilder.getConnectorOffset(target.y - source.y, offset);
24
+ break;
10
25
  }
11
26
  return result;
12
27
  }
13
28
  handle(request) {
14
- const { source, sourceSide, target, targetSide } = request;
15
- const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target);
16
- const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, source, target);
29
+ const { source, sourceSide, target, targetSide, offset } = request;
30
+ const sourceAnglePoint = FBezierPathBuilder.getAnglePoint(sourceSide, source, target, offset);
31
+ const targetAnglePoint = FBezierPathBuilder.getAnglePoint(targetSide, target, source, offset);
17
32
  const path = `M ${source.x} ${source.y} C ${sourceAnglePoint.x} ${sourceAnglePoint.y}, ${targetAnglePoint.x} ${targetAnglePoint.y}, ${target.x + 0.0001} ${target.y + 0.0001}`;
18
- const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
19
- return { path, center };
33
+ const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, sourceAnglePoint, targetAnglePoint, target]));
34
+ return { path, connectionCenter };
20
35
  }
21
36
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFVLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVuSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZ0JBQWdCO0lBRTlDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBdUIsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUNsRixJQUFJLE1BQU0sR0FBVyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2RixJQUFJLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hFLE1BQU0sR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE2QjtRQUN6QyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRTNELE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdEYsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RixNQUFNLElBQUksR0FBRyxLQUFNLE1BQU0sQ0FBQyxDQUFFLElBQUssTUFBTSxDQUFDLENBQUUsTUFBTyxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLGdCQUFnQixDQUFDLENBQUUsSUFBSyxnQkFBZ0IsQ0FBQyxDQUFFLEtBQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztRQUUvTCxNQUFNLE1BQU0sR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUN4RCxJQUFJLGdDQUFnQyxDQUFDLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQzdGLENBQUM7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludCwgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC9jb3JlJztcbmltcG9ydCB7IEZQYXRoQnVpbGRlckJhc2UgfSBmcm9tICcuL2YtcGF0aC1idWlsZGVyLWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlcXVlc3QgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5pbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVzcG9uc2UgfSBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVzcG9uc2UnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5leHBvcnQgY2xhc3MgRkJlemllclBhdGhCdWlsZGVyIGV4dGVuZHMgRlBhdGhCdWlsZGVyQmFzZSB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QW5nbGVQb2ludChzaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgc291cmNlOiBJUG9pbnQsIHRhcmdldDogSVBvaW50KTogSVBvaW50IHtcbiAgICBsZXQgcmVzdWx0OiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShzb3VyY2UueCwgMC41ICogKHNvdXJjZS55ICsgdGFyZ2V0LnkpKTtcblxuICAgIGlmIChzaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIHx8IHNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUKSB7XG4gICAgICByZXN1bHQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLjUgKiAoc291cmNlLnggKyB0YXJnZXQueCksIHNvdXJjZS55KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSB9ID0gcmVxdWVzdDtcblxuICAgIGNvbnN0IHNvdXJjZUFuZ2xlUG9pbnQgPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0QW5nbGVQb2ludChzb3VyY2VTaWRlLCBzb3VyY2UsIHRhcmdldCk7XG5cbiAgICBjb25zdCB0YXJnZXRBbmdsZVBvaW50ID0gRkJlemllclBhdGhCdWlsZGVyLmdldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgc291cmNlLCB0YXJnZXQpO1xuXG4gICAgY29uc3QgcGF0aCA9IGBNICR7IHNvdXJjZS54IH0gJHsgc291cmNlLnkgfSBDICR7IHNvdXJjZUFuZ2xlUG9pbnQueCB9ICR7IHNvdXJjZUFuZ2xlUG9pbnQueSB9LCAkeyB0YXJnZXRBbmdsZVBvaW50LnggfSAkeyB0YXJnZXRBbmdsZVBvaW50LnkgfSwgJHsgdGFyZ2V0LnggKyAwLjAwMDEgfSAkeyB0YXJnZXQueSArIDAuMDAwMSB9YDtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHNvdXJjZUFuZ2xlUG9pbnQsIHRhcmdldEFuZ2xlUG9pbnQsIHRhcmdldF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNlbnRlciB9O1xuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iZXppZXIucGF0aC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2RvbWFpbi9mLWJlemllci5wYXRoLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFPbkgsTUFBTSxPQUFPLGtCQUFrQjtJQUVyQixNQUFNLENBQUMsa0JBQWtCLENBQUMsUUFBZ0IsRUFBRSxNQUFjO1FBQ2hFLElBQUksUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUF1QixFQUFFLE1BQWMsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUVsRyxJQUFJLE1BQU0sR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFbEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssaUJBQWlCLENBQUMsSUFBSTtnQkFDekIsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07WUFDUixLQUFLLGlCQUFpQixDQUFDLEtBQUs7Z0JBQzFCLE1BQU0sQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUMvRSxNQUFNO1lBQ1IsS0FBSyxpQkFBaUIsQ0FBQyxHQUFHO2dCQUN4QixNQUFNLENBQUMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0UsTUFBTTtZQUNSLEtBQUssaUJBQWlCLENBQUMsTUFBTTtnQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9FLE1BQU07UUFDVixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUFtQztRQUMvQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUVuRSxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUU5RixNQUFNLElBQUksR0FBRyxLQUFNLE1BQU0sQ0FBQyxDQUFFLElBQUssTUFBTSxDQUFDLENBQUUsTUFBTyxnQkFBZ0IsQ0FBQyxDQUFFLElBQUssZ0JBQWdCLENBQUMsQ0FBRSxLQUFNLGdCQUFnQixDQUFDLENBQUUsSUFBSyxnQkFBZ0IsQ0FBQyxDQUFFLEtBQU0sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztRQUUvTCxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0NBQWdDLEVBQUUsQ0FBQyxNQUFNLENBQ3BFLElBQUksZ0NBQWdDLENBQUMsQ0FBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFFLENBQUMsQ0FDN0YsQ0FBQztRQUVGLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtcbiAgSUZDb25uZWN0aW9uQnVpbGRlcixcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZVxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBGQmV6aWVyUGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcblxuICBwcml2YXRlIHN0YXRpYyBnZXRDb25uZWN0b3JPZmZzZXQoZGlzdGFuY2U6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChkaXN0YW5jZSA+PSBvZmZzZXQpIHtcbiAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICB9XG4gICAgcmV0dXJuIG9mZnNldCAqIE1hdGguc3FydChvZmZzZXQgLSBkaXN0YW5jZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRBbmdsZVBvaW50KHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLCBzb3VyY2U6IElQb2ludCwgdGFyZ2V0OiBJUG9pbnQsIG9mZnNldDogbnVtYmVyKTogSVBvaW50IHtcblxuICAgIGxldCByZXN1bHQ6IElQb2ludCA9IHsgeDogc291cmNlLngsIHk6IHNvdXJjZS55IH07XG5cbiAgICBzd2l0Y2ggKHNpZGUpIHtcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuTEVGVDpcbiAgICAgICAgcmVzdWx0LnggLT0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldChzb3VyY2UueCAtIHRhcmdldC54LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuUklHSFQ6XG4gICAgICAgIHJlc3VsdC54ICs9IEZCZXppZXJQYXRoQnVpbGRlci5nZXRDb25uZWN0b3JPZmZzZXQodGFyZ2V0LnggLSBzb3VyY2UueCwgb2Zmc2V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVGQ29ubmVjdGFibGVTaWRlLlRPUDpcbiAgICAgICAgcmVzdWx0LnkgLT0gRkJlemllclBhdGhCdWlsZGVyLmdldENvbm5lY3Rvck9mZnNldChzb3VyY2UueSAtIHRhcmdldC55LCBvZmZzZXQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRUZDb25uZWN0YWJsZVNpZGUuQk9UVE9NOlxuICAgICAgICByZXN1bHQueSArPSBGQmV6aWVyUGF0aEJ1aWxkZXIuZ2V0Q29ubmVjdG9yT2Zmc2V0KHRhcmdldC55IC0gc291cmNlLnksIG9mZnNldCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlLCBvZmZzZXQgfSA9IHJlcXVlc3Q7XG5cbiAgICBjb25zdCBzb3VyY2VBbmdsZVBvaW50ID0gRkJlemllclBhdGhCdWlsZGVyLmdldEFuZ2xlUG9pbnQoc291cmNlU2lkZSwgc291cmNlLCB0YXJnZXQsIG9mZnNldCk7XG5cbiAgICBjb25zdCB0YXJnZXRBbmdsZVBvaW50ID0gRkJlemllclBhdGhCdWlsZGVyLmdldEFuZ2xlUG9pbnQodGFyZ2V0U2lkZSwgdGFyZ2V0LCBzb3VyY2UsIG9mZnNldCk7XG5cbiAgICBjb25zdCBwYXRoID0gYE0gJHsgc291cmNlLnggfSAkeyBzb3VyY2UueSB9IEMgJHsgc291cmNlQW5nbGVQb2ludC54IH0gJHsgc291cmNlQW5nbGVQb2ludC55IH0sICR7IHRhcmdldEFuZ2xlUG9pbnQueCB9ICR7IHRhcmdldEFuZ2xlUG9pbnQueSB9LCAkeyB0YXJnZXQueCArIDAuMDAwMSB9ICR7IHRhcmdldC55ICsgMC4wMDAxIH1gO1xuXG4gICAgY29uc3QgY29ubmVjdGlvbkNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdChbIHNvdXJjZSwgc291cmNlQW5nbGVQb2ludCwgdGFyZ2V0QW5nbGVQb2ludCwgdGFyZ2V0IF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNvbm5lY3Rpb25DZW50ZXIgfTtcbiAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { PointExtensions } from '@foblex/core';
2
- import { FPathBuilderBase } from './f-path-builder-base';
3
2
  import { EFConnectableSide } from '../../../f-connectors';
4
3
  import { CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest } from './calculate-center-between-points';
5
4
  import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
@@ -10,12 +9,12 @@ const CONNECTOR_SIDE_POINT = {
10
9
  [EFConnectableSide.BOTTOM]: PointExtensions.initialize(0, 1),
11
10
  [EFConnectableSide.AUTO]: PointExtensions.initialize(0, 0),
12
11
  };
13
- export class FSegmentPathBuilder extends FPathBuilderBase {
12
+ export class FSegmentPathBuilder {
14
13
  handle(request) {
15
14
  const { source, sourceSide, target, targetSide } = request;
16
15
  const { points, center } = this.getPathPoints(source, sourceSide, target, targetSide, request.offset);
17
16
  const path = this.buildPath(points, request.radius);
18
- return { path, center };
17
+ return { path, connectionCenter: center };
19
18
  }
20
19
  getPathPoints(source, sourceSide, target, targetSide, offset) {
21
20
  const sourceDirection = CONNECTOR_SIDE_POINT[sourceSide];
@@ -139,4 +138,4 @@ export class FSegmentPathBuilder extends FPathBuilderBase {
139
138
  return `L${point.x + 0.0001} ${point.y + 0.0001}`;
140
139
  }
141
140
  }
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFvQixTQUFR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SyxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXF1ZXN0IH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlcXVlc3QnO1xuaW1wb3J0IHsgSUZQYXRoQnVpbGRlclJlc3BvbnNlIH0gZnJvbSAnLi9pLWYtcGF0aC1idWlsZGVyLXJlc3BvbnNlJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNlbnRlckJldHdlZW5Qb2ludHNIYW5kbGVyLFxuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jZW50ZXItYmV0d2Vlbi1wb2ludHMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuTEVGVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlRPUCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT00gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgZXh0ZW5kcyBGUGF0aEJ1aWxkZXJCYXNlIHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGUGF0aEJ1aWxkZXJSZXF1ZXN0KTogSUZQYXRoQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlIH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3QgeyBwb2ludHMsIGNlbnRlciB9ID0gdGhpcy5nZXRQYXRoUG9pbnRzKFxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIHNvdXJjZVNpZGUsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgICAgcmVxdWVzdC5vZmZzZXRcbiAgICApO1xuXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY2VudGVyIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50LCB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgb2Zmc2V0OiBudW1iZXJcbiAgKTogeyBwb2ludHM6IElQb2ludFtdLCBjZW50ZXI6IElQb2ludCB9IHtcblxuICAgIGNvbnN0IHNvdXJjZURpcmVjdGlvbiA9IENPTk5FQ1RPUl9TSURFX1BPSU5UWyBzb3VyY2VTaWRlIF07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHRhcmdldFNpZGUgXTtcblxuICAgIGNvbnN0IHNvdXJjZUdhcDogSVBvaW50ID0geyB4OiBzb3VyY2UueCArIHNvdXJjZURpcmVjdGlvbi54ICogb2Zmc2V0LCB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0IH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7IHg6IHRhcmdldC54ICsgdGFyZ2V0RGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHRhcmdldC55ICsgdGFyZ2V0RGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF07XG5cbiAgICBsZXQgcG9pbnRzOiBJUG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZUdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICAgIGNvbnN0IGNlbnRlckJldHdlZW5Qb2ludHMgPSBuZXcgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIoKS5oYW5kbGUoXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdChzb3VyY2UsIHRhcmdldClcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSAqIHRhcmdldERpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gLTEpIHtcbiAgICAgIGNvbnN0IHZlcnRpY2FsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogc291cmNlR2FwLnkgfSxcbiAgICAgICAgeyB4OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLngsIHk6IHRhcmdldEdhcC55IH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNwbGl0OiBJUG9pbnRbXSA9IFtcbiAgICAgICAgeyB4OiBzb3VyY2VHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICAgIHsgeDogdGFyZ2V0R2FwLngsIHk6IGNlbnRlckJldHdlZW5Qb2ludHMueSB9LFxuICAgICAgXTtcblxuICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gWyB7IHg6IHNvdXJjZUdhcC54LCB5OiB0YXJnZXRHYXAueSB9IF07XG4gICAgICBjb25zdCB0YXJnZXRTb3VyY2U6IElQb2ludFtdID0gWyB7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9IF07XG5cbiAgICAgIGlmIChkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICAgIHBvaW50cyA9IHNvdXJjZURpcmVjdGlvbi54ID09PSBjdXJyZW50RGlyZWN0aW9uID8gdGFyZ2V0U291cmNlIDogc291cmNlVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnkgPT09IGN1cnJlbnREaXJlY3Rpb24gPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3VyY2VTaWRlID09PSB0YXJnZXRTaWRlKSB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gLSB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0pO1xuXG4gICAgICAgIGlmIChkaWZmIDw9IG9mZnNldCkge1xuICAgICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICAgIGlmIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gPT09IGN1cnJlbnREaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9IChzb3VyY2VHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiBzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRHYXBPZmZzZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPSAodGFyZ2V0R2FwWyBkaXJlY3Rpb25BY2Nlc3NvciBdID4gdGFyZ2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgIT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlyQWNjZXNzb3JPcHBvc2l0ZSA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyAneScgOiAneCc7XG4gICAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gdGFyZ2V0RGlyZWN0aW9uWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdID4gdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdIDwgdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAgICAgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICgoIWlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pIHx8IChpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSkpIHx8XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICE9PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KHBhdGhQb2ludHMpXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBvaW50czogcGF0aFBvaW50cywgY2VudGVyOiBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlyZWN0aW9uKHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGlmIChzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIHx8IHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUKSB7XG4gICAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLTEsIDApO1xuICAgIH1cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueSA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDEpIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF0aChwb2ludHM6IElQb2ludFtdLCBib3JkZXJSYWRpdXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcCA9IHBvaW50c1sgaSBdO1xuICAgICAgbGV0IHNlZ21lbnQgPSAnJztcblxuICAgICAgaWYgKGkgPiAwICYmIGkgPCBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5nZXRCZW5kKHBvaW50c1sgaSAtIDEgXSwgcCwgcG9pbnRzWyBpICsgMSBdLCBib3JkZXJSYWRpdXMpO1xuICAgICAgfSBlbHNlIGlmIChpID09PSBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaSwgcCk7XG4gICAgICB9XG4gICAgICBwYXRoICs9IHNlZ21lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIGdldEJlbmQoYTogSVBvaW50LCBiOiBJUG9pbnQsIGM6IElQb2ludCwgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKHRoaXMuZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLmRpc3RhbmNlKGIsIGMpIC8gMiwgc2l6ZSk7XG4gICAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gICAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICAgIHJldHVybiBgTCR7IHggfSAkeyB5IH1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuICAgICAgcmV0dXJuIGBMICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1RICR7IHggfSwkeyB5IH0gJHsgeCB9LCR7IHkgKyBiZW5kU2l6ZSAqIHlEaXIgfWA7XG4gICAgfVxuXG4gICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IDEgOiAtMTtcbiAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICAgIHJldHVybiBgTCAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9USAkeyB4IH0sJHsgeSB9ICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vdmVPckxpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsgaW5kZXggPT09IDAgPyAnTScgOiAnTCcgfSR7IHBvaW50LnggfSAkeyBwb2ludC55IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwkeyBwb2ludC54ICsgMC4wMDAxIH0gJHsgcG9pbnQueSArIDAuMDAwMSB9YDtcbiAgfVxufVxuIl19
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zZWdtZW50LnBhdGgtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9kb21haW4vZi1zZWdtZW50LnBhdGgtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsbUNBQW1DLEVBQ25DLG1DQUFtQyxFQUNwQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBT25ILE1BQU0sb0JBQW9CLEdBQWlCO0lBRXpDLENBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFFLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFN0QsQ0FBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUUsRUFBRSxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RCxDQUFFLGlCQUFpQixDQUFDLE1BQU0sQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5RCxDQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBRSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUM3RCxDQUFDO0FBRUYsTUFBTSxPQUFPLG1CQUFtQjtJQUV2QixNQUFNLENBQUMsT0FBbUM7UUFDL0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUzRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQ3pDLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLENBQUMsTUFBTSxDQUNqQixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVPLGFBQWEsQ0FDakIsTUFBYyxFQUFFLFVBQTZCLEVBQUUsTUFBYyxFQUFFLFVBQTZCLEVBQUUsTUFBYztRQUc5RyxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBRSxVQUFVLENBQUUsQ0FBQztRQUMzRCxNQUFNLGVBQWUsR0FBRyxvQkFBb0IsQ0FBRSxVQUFVLENBQUUsQ0FBQztRQUUzRCxNQUFNLFNBQVMsR0FBVyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDakgsTUFBTSxTQUFTLEdBQVcsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBRWpILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RSxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBRSxpQkFBaUIsQ0FBRSxDQUFDO1FBRXhELElBQUksTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckQsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXJELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxtQ0FBbUMsRUFBRSxDQUFDLE1BQU0sQ0FDeEUsSUFBSSxtQ0FBbUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQzFELENBQUM7UUFFRixJQUFJLGVBQWUsQ0FBRSxpQkFBaUIsQ0FBRSxHQUFHLGVBQWUsQ0FBRSxpQkFBaUIsQ0FBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkYsTUFBTSxhQUFhLEdBQWE7Z0JBQzlCLEVBQUUsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRTtnQkFDNUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFO2FBQzdDLENBQUM7WUFDRixNQUFNLGVBQWUsR0FBYTtnQkFDaEMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUFFO2dCQUM1QyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUU7YUFDN0MsQ0FBQztZQUVGLElBQUksZUFBZSxDQUFFLGlCQUFpQixDQUFFLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxHQUFHLGlCQUFpQixLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDdkUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sR0FBRyxpQkFBaUIsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3ZFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sWUFBWSxHQUFhLENBQUUsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQUM7WUFDdEUsTUFBTSxZQUFZLEdBQWEsQ0FBRSxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBQztZQUV0RSxJQUFJLGlCQUFpQixLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEdBQUcsZUFBZSxDQUFDLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7WUFDaEYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sR0FBRyxlQUFlLENBQUMsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUNoRixDQUFDO1lBRUQsSUFBSSxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLGlCQUFpQixDQUFFLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUMsQ0FBQztnQkFFakYsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ25CLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7b0JBQ3RELElBQUksZUFBZSxDQUFFLGlCQUFpQixDQUFFLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDOUQsZUFBZSxDQUFFLGlCQUFpQixDQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUUsaUJBQWlCLENBQUUsR0FBRyxNQUFNLENBQUUsaUJBQWlCLENBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDN0gsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLGVBQWUsQ0FBRSxpQkFBaUIsQ0FBRSxHQUFHLENBQUMsU0FBUyxDQUFFLGlCQUFpQixDQUFFLEdBQUcsTUFBTSxDQUFFLGlCQUFpQixDQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7b0JBQzdILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNsRSxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUUsaUJBQWlCLENBQUUsS0FBSyxlQUFlLENBQUUsbUJBQW1CLENBQUUsQ0FBQztnQkFDbEcsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUUsbUJBQW1CLENBQUUsR0FBRyxTQUFTLENBQUUsbUJBQW1CLENBQUUsQ0FBQztnQkFDL0YsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUUsbUJBQW1CLENBQUUsR0FBRyxTQUFTLENBQUUsbUJBQW1CLENBQUUsQ0FBQztnQkFDL0YsTUFBTSxnQkFBZ0IsR0FDbEIsQ0FBQyxlQUFlLENBQUUsaUJBQWlCLENBQUUsS0FBSyxDQUFDO29CQUN2QyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7b0JBQzlFLENBQUMsZUFBZSxDQUFFLGlCQUFpQixDQUFFLEtBQUssQ0FBQzt3QkFDdkMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRW5GLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztvQkFDckIsTUFBTSxHQUFHLGlCQUFpQixLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7Z0JBQ25FLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHO1lBQ2pCLE1BQU07WUFDTixFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsRUFBRTtZQUMxRSxHQUFHLE1BQU07WUFDVCxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsRUFBRTtZQUMxRSxNQUFNO1NBQ1AsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLElBQUksZ0NBQWdDLEVBQUUsQ0FBQyxNQUFNLENBQ3hELElBQUksZ0NBQWdDLENBQUMsVUFBVSxDQUFDLENBQ25ELENBQUM7UUFFRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsVUFBNkIsRUFBRSxNQUFjO1FBQ2hGLElBQUksVUFBVSxLQUFLLGlCQUFpQixDQUFDLElBQUksSUFBSSxVQUFVLEtBQUssaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEYsT0FBTyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVPLFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU8sU0FBUyxDQUFDLE1BQWdCLEVBQUUsWUFBb0I7UUFDdEQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUUsQ0FBQyxDQUFFLENBQUM7WUFDdEIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBRWpCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFFLENBQUMsR0FBRyxDQUFDLENBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFFLENBQUMsR0FBRyxDQUFDLENBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM1RSxDQUFDO2lCQUFNLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM5QyxDQUFDO1lBQ0QsSUFBSSxJQUFJLE9BQU8sQ0FBQztRQUNsQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sT0FBTyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQVk7UUFDM0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELE9BQU8sSUFBSyxDQUFFLElBQUssQ0FBRSxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxLQUFNLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSyxJQUFLLENBQUUsS0FBTSxDQUFFLElBQUssQ0FBRSxJQUFLLENBQUUsSUFBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssRUFBRSxDQUFDO1FBQzVGLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sS0FBTSxDQUFFLElBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFLLEtBQU0sQ0FBRSxJQUFLLENBQUUsSUFBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUssSUFBSyxDQUFFLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBYSxFQUFFLEtBQWE7UUFDekQsT0FBTyxHQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBSSxHQUFJLEtBQUssQ0FBQyxDQUFFLElBQUssS0FBSyxDQUFDLENBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN2RCxPQUFPLElBQUssS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFPLElBQUssS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTWFwLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzSGFuZGxlcixcbiAgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c1JlcXVlc3Rcbn0gZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7XG4gIElGQ29ubmVjdGlvbkJ1aWxkZXIsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0LFxuICBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Vcbn0gZnJvbSAnLi4vLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuXG5jb25zdCBDT05ORUNUT1JfU0lERV9QT0lOVDogSU1hcDxJUG9pbnQ+ID0ge1xuXG4gIFsgRUZDb25uZWN0YWJsZVNpZGUuTEVGVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgtMSwgMCksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgxLCAwKSxcblxuICBbIEVGQ29ubmVjdGFibGVTaWRlLlRPUCBdOiBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgwLCAtMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT00gXTogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgMSksXG5cbiAgWyBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPIF06IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDApLFxufTtcblxuZXhwb3J0IGNsYXNzIEZTZWdtZW50UGF0aEJ1aWxkZXIgaW1wbGVtZW50cyBJRkNvbm5lY3Rpb25CdWlsZGVyIHtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IElGQ29ubmVjdGlvbkJ1aWxkZXJSZXF1ZXN0KTogSUZDb25uZWN0aW9uQnVpbGRlclJlc3BvbnNlIHtcbiAgICBjb25zdCB7IHNvdXJjZSwgc291cmNlU2lkZSwgdGFyZ2V0LCB0YXJnZXRTaWRlIH0gPSByZXF1ZXN0O1xuXG4gICAgY29uc3QgeyBwb2ludHMsIGNlbnRlciB9ID0gdGhpcy5nZXRQYXRoUG9pbnRzKFxuICAgICAgICBzb3VyY2UsXG4gICAgICAgIHNvdXJjZVNpZGUsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0U2lkZSxcbiAgICAgICAgcmVxdWVzdC5vZmZzZXRcbiAgICApO1xuXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuYnVpbGRQYXRoKHBvaW50cywgcmVxdWVzdC5yYWRpdXMpO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY29ubmVjdGlvbkNlbnRlcjogY2VudGVyIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBhdGhQb2ludHMoXG4gICAgICBzb3VyY2U6IElQb2ludCwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldDogSVBvaW50LCB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgb2Zmc2V0OiBudW1iZXJcbiAgKTogeyBwb2ludHM6IElQb2ludFtdLCBjZW50ZXI6IElQb2ludCB9IHtcblxuICAgIGNvbnN0IHNvdXJjZURpcmVjdGlvbiA9IENPTk5FQ1RPUl9TSURFX1BPSU5UWyBzb3VyY2VTaWRlIF07XG4gICAgY29uc3QgdGFyZ2V0RGlyZWN0aW9uID0gQ09OTkVDVE9SX1NJREVfUE9JTlRbIHRhcmdldFNpZGUgXTtcblxuICAgIGNvbnN0IHNvdXJjZUdhcDogSVBvaW50ID0geyB4OiBzb3VyY2UueCArIHNvdXJjZURpcmVjdGlvbi54ICogb2Zmc2V0LCB5OiBzb3VyY2UueSArIHNvdXJjZURpcmVjdGlvbi55ICogb2Zmc2V0IH07XG4gICAgY29uc3QgdGFyZ2V0R2FwOiBJUG9pbnQgPSB7IHg6IHRhcmdldC54ICsgdGFyZ2V0RGlyZWN0aW9uLnggKiBvZmZzZXQsIHk6IHRhcmdldC55ICsgdGFyZ2V0RGlyZWN0aW9uLnkgKiBvZmZzZXQgfTtcblxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMuZ2V0RGlyZWN0aW9uKHNvdXJjZUdhcCwgc291cmNlU2lkZSwgdGFyZ2V0R2FwKTtcbiAgICBjb25zdCBkaXJlY3Rpb25BY2Nlc3NvciA9IGRpcmVjdGlvbi54ICE9PSAwID8gJ3gnIDogJ3knO1xuICAgIGNvbnN0IGN1cnJlbnREaXJlY3Rpb24gPSBkaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF07XG5cbiAgICBsZXQgcG9pbnRzOiBJUG9pbnRbXSA9IFtdO1xuICAgIGNvbnN0IHNvdXJjZUdhcE9mZnNldCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gICAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICAgIGNvbnN0IGNlbnRlckJldHdlZW5Qb2ludHMgPSBuZXcgQ2FsY3VsYXRlQ2VudGVyQmV0d2VlblBvaW50c0hhbmRsZXIoKS5oYW5kbGUoXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDZW50ZXJCZXR3ZWVuUG9pbnRzUmVxdWVzdChzb3VyY2UsIHRhcmdldClcbiAgICApO1xuXG4gICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSAqIHRhcmdldERpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gLTEpIHtcbiAgICAgIGNvbnN0IHZlcnRpY2FsU3BsaXQ6IElQb2ludFtdID0gW1xuICAgICAgICB7IHg6IGNlbnRlckJldHdlZW5Qb2ludHMueCwgeTogc291cmNlR2FwLnkgfSxcbiAgICAgICAgeyB4OiBjZW50ZXJCZXR3ZWVuUG9pbnRzLngsIHk6IHRhcmdldEdhcC55IH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNwbGl0OiBJUG9pbnRbXSA9IFtcbiAgICAgICAgeyB4OiBzb3VyY2VHYXAueCwgeTogY2VudGVyQmV0d2VlblBvaW50cy55IH0sXG4gICAgICAgIHsgeDogdGFyZ2V0R2FwLngsIHk6IGNlbnRlckJldHdlZW5Qb2ludHMueSB9LFxuICAgICAgXTtcblxuICAgICAgaWYgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gY3VycmVudERpcmVjdGlvbikge1xuICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvaW50cyA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyBob3Jpem9udGFsU3BsaXQgOiB2ZXJ0aWNhbFNwbGl0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IElQb2ludFtdID0gWyB7IHg6IHNvdXJjZUdhcC54LCB5OiB0YXJnZXRHYXAueSB9IF07XG4gICAgICBjb25zdCB0YXJnZXRTb3VyY2U6IElQb2ludFtdID0gWyB7IHg6IHRhcmdldEdhcC54LCB5OiBzb3VyY2VHYXAueSB9IF07XG5cbiAgICAgIGlmIChkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICAgIHBvaW50cyA9IHNvdXJjZURpcmVjdGlvbi54ID09PSBjdXJyZW50RGlyZWN0aW9uID8gdGFyZ2V0U291cmNlIDogc291cmNlVGFyZ2V0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9pbnRzID0gc291cmNlRGlyZWN0aW9uLnkgPT09IGN1cnJlbnREaXJlY3Rpb24gPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3VyY2VTaWRlID09PSB0YXJnZXRTaWRlKSB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSBNYXRoLmFicyhzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gLSB0YXJnZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0pO1xuXG4gICAgICAgIGlmIChkaWZmIDw9IG9mZnNldCkge1xuICAgICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICAgIGlmIChzb3VyY2VEaXJlY3Rpb25bIGRpcmVjdGlvbkFjY2Vzc29yIF0gPT09IGN1cnJlbnREaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9IChzb3VyY2VHYXBbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPiBzb3VyY2VbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0YXJnZXRHYXBPZmZzZXRbIGRpcmVjdGlvbkFjY2Vzc29yIF0gPSAodGFyZ2V0R2FwWyBkaXJlY3Rpb25BY2Nlc3NvciBdID4gdGFyZ2V0WyBkaXJlY3Rpb25BY2Nlc3NvciBdID8gLTEgOiAxKSAqIGdhcE9mZnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHNvdXJjZVNpZGUgIT09IHRhcmdldFNpZGUpIHtcbiAgICAgICAgY29uc3QgZGlyQWNjZXNzb3JPcHBvc2l0ZSA9IGRpcmVjdGlvbkFjY2Vzc29yID09PSAneCcgPyAneScgOiAneCc7XG4gICAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gdGFyZ2V0RGlyZWN0aW9uWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdID4gdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcFsgZGlyQWNjZXNzb3JPcHBvc2l0ZSBdIDwgdGFyZ2V0R2FwWyBkaXJBY2Nlc3Nvck9wcG9zaXRlIF07XG4gICAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAgICAgKHNvdXJjZURpcmVjdGlvblsgZGlyZWN0aW9uQWNjZXNzb3IgXSA9PT0gMSAmJlxuICAgICAgICAgICAgICAgICgoIWlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pIHx8IChpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSkpIHx8XG4gICAgICAgICAgICAoc291cmNlRGlyZWN0aW9uWyBkaXJlY3Rpb25BY2Nlc3NvciBdICE9PSAxICYmXG4gICAgICAgICAgICAgICAgKCghaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykgfHwgKGlzU2FtZURpciAmJiBzb3VyY2VHdFRhcmdldE9wcG8pKSk7XG5cbiAgICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgICBwb2ludHMgPSBkaXJlY3Rpb25BY2Nlc3NvciA9PT0gJ3gnID8gc291cmNlVGFyZ2V0IDogdGFyZ2V0U291cmNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0aFBvaW50cyA9IFtcbiAgICAgIHNvdXJjZSxcbiAgICAgIHsgeDogc291cmNlR2FwLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgICAgLi4ucG9pbnRzLFxuICAgICAgeyB4OiB0YXJnZXRHYXAueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXAueSArIHRhcmdldEdhcE9mZnNldC55IH0sXG4gICAgICB0YXJnZXQsXG4gICAgXTtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KHBhdGhQb2ludHMpXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBvaW50czogcGF0aFBvaW50cywgY2VudGVyOiBjZW50ZXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlyZWN0aW9uKHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQpOiBJUG9pbnQge1xuICAgIGlmIChzb3VyY2VTaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5MRUZUIHx8IHNvdXJjZVNpZGUgPT09IEVGQ29ubmVjdGFibGVTaWRlLlJJR0hUKSB7XG4gICAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDEsIDApIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoLTEsIDApO1xuICAgIH1cbiAgICByZXR1cm4gc291cmNlLnkgPCB0YXJnZXQueSA/IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKDAsIDEpIDogUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoMCwgLTEpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXN0YW5jZShhOiBJUG9pbnQsIGI6IElQb2ludCk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGF0aChwb2ludHM6IElQb2ludFtdLCBib3JkZXJSYWRpdXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcCA9IHBvaW50c1sgaSBdO1xuICAgICAgbGV0IHNlZ21lbnQgPSAnJztcblxuICAgICAgaWYgKGkgPiAwICYmIGkgPCBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5nZXRCZW5kKHBvaW50c1sgaSAtIDEgXSwgcCwgcG9pbnRzWyBpICsgMSBdLCBib3JkZXJSYWRpdXMpO1xuICAgICAgfSBlbHNlIGlmIChpID09PSBwb2ludHMubGVuZ3RoIC0gMSkge1xuICAgICAgICBzZWdtZW50ID0gdGhpcy5idWlsZExhc3RMaW5lU2VnbWVudChpLCBwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnQgPSB0aGlzLmJ1aWxkTW92ZU9yTGluZVNlZ21lbnQoaSwgcCk7XG4gICAgICB9XG4gICAgICBwYXRoICs9IHNlZ21lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIGdldEJlbmQoYTogSVBvaW50LCBiOiBJUG9pbnQsIGM6IElQb2ludCwgc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKHRoaXMuZGlzdGFuY2UoYSwgYikgLyAyLCB0aGlzLmRpc3RhbmNlKGIsIGMpIC8gMiwgc2l6ZSk7XG4gICAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gICAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICAgIHJldHVybiBgTCR7IHggfSAkeyB5IH1gO1xuICAgIH1cblxuICAgIGlmIChhLnkgPT09IHkpIHtcbiAgICAgIGNvbnN0IHhEaXIgPSBhLnggPCBjLnggPyAtMSA6IDE7XG4gICAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gMSA6IC0xO1xuICAgICAgcmV0dXJuIGBMICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1RICR7IHggfSwkeyB5IH0gJHsgeCB9LCR7IHkgKyBiZW5kU2l6ZSAqIHlEaXIgfWA7XG4gICAgfVxuXG4gICAgY29uc3QgeERpciA9IGEueCA8IGMueCA/IDEgOiAtMTtcbiAgICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICAgIHJldHVybiBgTCAkeyB4IH0sJHsgeSArIGJlbmRTaXplICogeURpciB9USAkeyB4IH0sJHsgeSB9ICR7IHggKyBiZW5kU2l6ZSAqIHhEaXIgfSwkeyB5IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE1vdmVPckxpbmVTZWdtZW50KGluZGV4OiBudW1iZXIsIHBvaW50OiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHsgaW5kZXggPT09IDAgPyAnTScgOiAnTCcgfSR7IHBvaW50LnggfSAkeyBwb2ludC55IH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZExhc3RMaW5lU2VnbWVudChpbmRleDogbnVtYmVyLCBwb2ludDogSVBvaW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYEwkeyBwb2ludC54ICsgMC4wMDAxIH0gJHsgcG9pbnQueSArIDAuMDAwMSB9YDtcbiAgfVxufVxuIl19
@@ -1,11 +1,10 @@
1
- import { FPathBuilderBase } from './f-path-builder-base';
2
1
  import { CalculateConnectionCenterHandler, CalculateConnectionCenterRequest } from './calculate-connection-center';
3
- export class FStraightPathBuilder extends FPathBuilderBase {
2
+ export class FStraightPathBuilder {
4
3
  handle(request) {
5
4
  const { source, target } = request;
6
5
  const path = `M ${source.x} ${source.y} L ${target.x + 0.0001} ${target.y + 0.0001}`;
7
- const center = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
8
- return { path, center };
6
+ const connectionCenter = new CalculateConnectionCenterHandler().handle(new CalculateConnectionCenterRequest([source, target]));
7
+ return { path, connectionCenter };
9
8
  }
10
9
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRW5ILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFFakQsTUFBTSxDQUFDLE9BQTZCO1FBQ3pDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQU0sTUFBTSxDQUFDLENBQUUsSUFBSyxNQUFNLENBQUMsQ0FBRSxNQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFN0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE1BQU0sQ0FDeEQsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1FBRUYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRlBhdGhCdWlsZGVyUmVxdWVzdCB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXF1ZXN0JztcbmltcG9ydCB7IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB9IGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlIH0gZnJvbSAnLi9mLXBhdGgtYnVpbGRlci1iYXNlJztcbmltcG9ydCB7IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyLCBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVyUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0IGNsYXNzIEZTdHJhaWdodFBhdGhCdWlsZGVyIGV4dGVuZHMgRlBhdGhCdWlsZGVyQmFzZSB7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBJRlBhdGhCdWlsZGVyUmVxdWVzdCk6IElGUGF0aEJ1aWxkZXJSZXNwb25zZSB7XG4gICAgY29uc3QgeyBzb3VyY2UsIHRhcmdldCB9ID0gcmVxdWVzdDtcbiAgICBjb25zdCBwYXRoID0gYE0gJHsgc291cmNlLnggfSAkeyBzb3VyY2UueSB9IEwgJHsgdGFyZ2V0LnggKyAwLjAwMDEgfSAkeyB0YXJnZXQueSArIDAuMDAwMSB9YDtcblxuICAgIGNvbnN0IGNlbnRlciA9IG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uQ2VudGVySGFuZGxlcigpLmhhbmRsZShcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0KFtzb3VyY2UsIHRhcmdldF0pXG4gICAgKTtcblxuICAgIHJldHVybiB7IHBhdGgsIGNlbnRlciB9O1xuICB9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBT25ILE1BQU0sT0FBTyxvQkFBb0I7SUFFeEIsTUFBTSxDQUFDLE9BQW1DO1FBQy9DLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLEtBQU0sTUFBTSxDQUFDLENBQUUsSUFBSyxNQUFNLENBQUMsQ0FBRSxNQUFPLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxJQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTyxFQUFFLENBQUM7UUFFN0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUMsTUFBTSxDQUNsRSxJQUFJLGdDQUFnQyxDQUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3pELENBQUM7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlckhhbmRsZXIsIENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJSZXF1ZXN0IH0gZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtcbiAgSUZDb25uZWN0aW9uQnVpbGRlcixcbiAgSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QsXG4gIElGQ29ubmVjdGlvbkJ1aWxkZXJSZXNwb25zZVxufSBmcm9tICcuLi8uLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjbGFzcyBGU3RyYWlnaHRQYXRoQnVpbGRlciBpbXBsZW1lbnRzIElGQ29ubmVjdGlvbkJ1aWxkZXIge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogSUZDb25uZWN0aW9uQnVpbGRlclJlcXVlc3QpOiBJRkNvbm5lY3Rpb25CdWlsZGVyUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgc291cmNlLCB0YXJnZXQgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgcGF0aCA9IGBNICR7IHNvdXJjZS54IH0gJHsgc291cmNlLnkgfSBMICR7IHRhcmdldC54ICsgMC4wMDAxIH0gJHsgdGFyZ2V0LnkgKyAwLjAwMDEgfWA7XG5cbiAgICBjb25zdCBjb25uZWN0aW9uQ2VudGVyID0gbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25DZW50ZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkNlbnRlclJlcXVlc3QoW3NvdXJjZSwgdGFyZ2V0XSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHsgcGF0aCwgY29ubmVjdGlvbkNlbnRlciB9O1xuICB9XG59XG4iXX0=
@@ -1,10 +1,6 @@
1
1
  export * from './calculate-center-between-points';
2
2
  export * from './calculate-connection-center';
3
3
  export * from './f-bezier.path-builder';
4
- export * from './f-path-builder-base';
5
- export * from './f-path-builder-selector';
6
4
  export * from './f-segment.path-builder';
7
- export * from './i-f-path-builder-request';
8
- export * from './i-f-path-builder-response';
9
5
  export * from './f-straight.path-builder';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY2VudGVyLWJldHdlZW4tcG9pbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtYmV6aWVyLnBhdGgtYnVpbGRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItYmFzZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wYXRoLWJ1aWxkZXItc2VsZWN0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktZi1wYXRoLWJ1aWxkZXItcmVxdWVzdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1mLXBhdGgtYnVpbGRlci1yZXNwb25zZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1zdHJhaWdodC5wYXRoLWJ1aWxkZXInO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZG9tYWluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNlbnRlci1iZXR3ZWVuLXBvaW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3Rpb24tY2VudGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLWJlemllci5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc2VnbWVudC5wYXRoLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc3RyYWlnaHQucGF0aC1idWlsZGVyJztcbiJdfQ==
@@ -1,22 +1,22 @@
1
1
  import { Directive } from '@angular/core';
2
- import { DomElementExtensions, VectorExtensions } from '@foblex/core';
2
+ import { DomElementExtensions, sanitizeElementId, VectorExtensions } from '@foblex/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { mixinChangeConnectionSelection, mixinChangeConnectionVisibility } from './mixins';
5
5
  import { getFlowUid } from '../../get-flow-uid';
6
- import { FPathBuilderSelector } from './domain';
7
6
  import * as i0 from "@angular/core";
7
+ import * as i1 from "../f-connection-builder";
8
8
  const MIXIN_BASE = mixinChangeConnectionSelection(mixinChangeConnectionVisibility(class {
9
9
  constructor(hostElement) {
10
10
  this.hostElement = hostElement;
11
11
  }
12
12
  }));
13
13
  export class FConnectionBase extends MIXIN_BASE {
14
- constructor(elementReference) {
14
+ constructor(elementReference, connectionFactory) {
15
15
  super(elementReference.nativeElement);
16
+ this.connectionFactory = connectionFactory;
16
17
  this.path = '';
17
18
  this.vector = VectorExtensions.initialize();
18
19
  this.stateChanges = new Subject();
19
- this.fPathBuilder = new FPathBuilderSelector();
20
20
  }
21
21
  initialize() {
22
22
  this.fPath.initialize();
@@ -34,24 +34,26 @@ export class FConnectionBase extends MIXIN_BASE {
34
34
  }
35
35
  setVector(from, fromSide, to, toSide) {
36
36
  this.vector = { point1: from, point2: to };
37
- const pathResult = this.fPathBuilder.handle({
37
+ const pathResult = this.connectionFactory.handle({
38
38
  type: this.fType,
39
- source: from,
40
- sourceSide: fromSide,
41
- target: to,
42
- targetSide: toSide,
43
- radius: 8,
44
- offset: 32
39
+ payload: {
40
+ source: from,
41
+ sourceSide: fromSide,
42
+ target: to,
43
+ targetSide: toSide,
44
+ radius: 8,
45
+ offset: 32
46
+ }
45
47
  });
46
48
  this.path = pathResult.path;
47
- const transform = `position: absolute; pointerEvents: all; transform: translate(-50%, -50%); left: ${pathResult.center.x}px; top: ${pathResult.center.y}px`;
49
+ const transform = `position: absolute; pointerEvents: all; transform: translate(-50%, -50%); left: ${pathResult.connectionCenter.x}px; top: ${pathResult.connectionCenter.y}px`;
48
50
  this.fConnectionCenter?.nativeElement?.setAttribute('style', transform);
49
51
  }
50
52
  setMarkers() {
51
53
  this.fDefs.nativeElement.innerHTML = '';
52
54
  this.fMarkers.forEach((marker) => {
53
55
  const markerElement = DomElementExtensions.createSvgElement('marker');
54
- markerElement.setAttribute('id', getFlowUid() + '-' + marker.type + '-' + this.fConnectionId);
56
+ markerElement.setAttribute('id', this.getMarkerId(getFlowUid() + '-' + marker.type + '-' + this.fConnectionId));
55
57
  markerElement.setAttribute('markerHeight', `${marker.height}`);
56
58
  markerElement.setAttribute('markerWidth', `${marker.width}`);
57
59
  markerElement.setAttribute('orient', 'auto');
@@ -69,6 +71,9 @@ export class FConnectionBase extends MIXIN_BASE {
69
71
  marker.hostElement.remove();
70
72
  });
71
73
  }
74
+ getMarkerId(id) {
75
+ return sanitizeElementId(id);
76
+ }
72
77
  redraw() {
73
78
  this.fPath.setPath(this.path);
74
79
  this.fSelection.setPath(this.path);
@@ -76,10 +81,10 @@ export class FConnectionBase extends MIXIN_BASE {
76
81
  this.fDragHandle.redraw(this.vector.point2);
77
82
  this.fTextComponent.redraw(this.vector);
78
83
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }], target: i0.ɵɵFactoryTarget.Directive }); }
80
85
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: FConnectionBase, usesInheritance: true, ngImport: i0 }); }
81
86
  }
82
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionBase, decorators: [{
83
88
  type: Directive
84
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFvQyxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTS9CLE9BQU8sRUFHTCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQ2hDLE1BQU0sVUFBVSxDQUFDO0FBUWxCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQW9CLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsRSxNQUFNLFVBQVUsR0FBRyw4QkFBOEIsQ0FDN0MsK0JBQStCLENBQzNCO0lBQ0UsWUFDVyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUVuQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFHWixNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQW9EdEQsWUFBc0IsZ0JBQXlDO1FBQzdELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQXJDakMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixXQUFNLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQThCM0QsaUJBQVksR0FBcUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBSW5FLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FB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VyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7WUFDaEUsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzlCLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQTdIbUIsZUFBZTtrR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbUVsZW1lbnRFeHRlbnNpb25zLCBJSGFzSG9zdEVsZW1lbnQsIElQb2ludCwgSVZlY3RvciwgVmVjdG9yRXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtcbiAgSUNhbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5LFxuICBJU2VsZWN0YWJsZSxcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5XG59IGZyb20gJy4vbWl4aW5zJztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50IH0gZnJvbSAnLi9mLWRyYWctaGFuZGxlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElIYXNTdGF0ZUNoYW5nZXMgfSBmcm9tICcuLi8uLi9pLWhhcy1zdGF0ZS1jaGFuZ2VzJztcbmltcG9ydCB7IEZNYXJrZXJCYXNlIH0gZnJvbSAnLi4vZi1tYXJrZXInO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGUGF0aEJ1aWxkZXJCYXNlLCBGUGF0aEJ1aWxkZXJTZWxlY3RvciB9IGZyb20gJy4vZG9tYWluJztcblxuY29uc3QgTUlYSU5fQkFTRSA9IG1peGluQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbihcbiAgICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5KFxuICAgICAgICBjbGFzcyB7XG4gICAgICAgICAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnRcbiAgICAgICAgICApIHtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRkNvbm5lY3Rpb25CYXNlIGV4dGVuZHMgTUlYSU5fQkFTRVxuICAgIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBJU2VsZWN0YWJsZSxcbiAgICAgICAgICAgICAgIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICAgIElIYXNTdGF0ZUNoYW5nZXMsIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgICAgICAgICAgICBJSGFzQ29ubmVjdGlvbkZyb21UbywgSUhhc0Nvbm5lY3Rpb25UZXh0IHtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25JZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU3RhcnRDb2xvcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRW5kQ29sb3I6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyB2ZWN0b3I6IElWZWN0b3IgPSBWZWN0b3JFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgYm91bmRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRGVmczogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZNYXJrZXJzOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGF0aDogSUNvbm5lY3Rpb25QYXRoO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmR3JhZGllbnQ6IElDb25uZWN0aW9uR3JhZGllbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEcmFnSGFuZGxlOiBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTZWxlY3Rpb246IEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dENvbXBvbmVudDogSUNvbm5lY3Rpb25UZXh0O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ29ubmVjdGlvbkNlbnRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgcHVibGljIGZQYXRoQnVpbGRlcjogRlBhdGhCdWlsZGVyQmFzZSA9IG5ldyBGUGF0aEJ1aWxkZXJTZWxlY3RvcigpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXRoID0gJyc7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZWN0b3IoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLnZlY3RvciA9IHsgcG9pbnQxOiBmcm9tLCBwb2ludDI6IHRvIH07XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuZlBhdGhCdWlsZGVyLmhhbmRsZShcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IHRoaXMuZlR5cGUsXG4gICAgICAgICAgc291cmNlOiBmcm9tLFxuICAgICAgICAgIHNvdXJjZVNpZGU6IGZyb21TaWRlLFxuICAgICAgICAgIHRhcmdldDogdG8sXG4gICAgICAgICAgdGFyZ2V0U2lkZTogdG9TaWRlLFxuICAgICAgICAgIHJhZGl1czogOCxcbiAgICAgICAgICBvZmZzZXQ6IDMyXG4gICAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuXG4gICAgY29uc3QgdHJhbnNmb3JtID0gYHBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlckV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgbGVmdDogJHsgcGF0aFJlc3VsdC5jZW50ZXIueCB9cHg7IHRvcDogJHsgcGF0aFJlc3VsdC5jZW50ZXIueSB9cHhgO1xuXG4gICAgdGhpcy5mQ29ubmVjdGlvbkNlbnRlcj8ubmF0aXZlRWxlbWVudD8uc2V0QXR0cmlidXRlKCdzdHlsZScsIHRyYW5zZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICB0aGlzLmZEZWZzLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5mTWFya2Vycy5mb3JFYWNoKChtYXJrZXIpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtlckVsZW1lbnQgPSBEb21FbGVtZW50RXh0ZW5zaW9ucy5jcmVhdGVTdmdFbGVtZW50KCdtYXJrZXInKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIGdldEZsb3dVaWQoKSArICctJyArIG1hcmtlci50eXBlICsgJy0nICsgdGhpcy5mQ29ubmVjdGlvbklkKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJIZWlnaHQnLCBgJHsgbWFya2VyLmhlaWdodCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyV2lkdGgnLCBgJHsgbWFya2VyLndpZHRoIH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdvcmllbnQnLCAnYXV0bycpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlgnLCBgJHsgbWFya2VyLnJlZlggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlZlknLCBgJHsgbWFya2VyLnJlZlkgfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlclVuaXRzJywgJ3N0cm9rZVdpZHRoJyk7XG5cbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyBtYXJrZXIuaGVpZ2h0IH1gKTtcbiAgICAgIG1hcmtlci5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IG1hcmtlci53aWR0aCB9YCk7XG4gICAgICBjb25zdCBjbG9uZSA9IG1hcmtlci5ob3N0RWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICBjbG9uZS5zdHlsZS5kaXNwbGF5ID0gJ3Vuc2V0JztcbiAgICAgIG1hcmtlckVsZW1lbnQuYXBwZW5kKGNsb25lKTtcblxuICAgICAgdGhpcy5mRGVmcy5uYXRpdmVFbGVtZW50LmFwcGVuZChtYXJrZXJFbGVtZW50KTtcbiAgICB9KTtcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnJlbW92ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24uc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZS5yZWRyYXcodGhpcy52ZWN0b3IucG9pbnQyKTtcbiAgICB0aGlzLmZUZXh0Q29tcG9uZW50LnJlZHJhdyh0aGlzLnZlY3Rvcik7XG4gIH1cbn1cbiJdfQ==
89
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }] });
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUNMLG9CQUFvQixFQUlwQixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2pCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNL0IsT0FBTyxFQUdMLDhCQUE4QixFQUM5QiwrQkFBK0IsRUFDaEMsTUFBTSxVQUFVLENBQUM7QUFRbEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFJaEQsTUFBTSxVQUFVLEdBQUcsOEJBQThCLENBQy9DLCtCQUErQixDQUM3QjtJQUNFLFlBQ1MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFakMsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFDO0FBR1IsTUFBTSxPQUFnQixlQUFnQixTQUFRLFVBQVU7SUFrRHRELFlBQ0UsZ0JBQXlDLEVBQ2pDLGlCQUFxQztRQUU3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFGOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFvQjtRQXBDeEMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVsQixXQUFNLEdBQVksZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkMsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQW1DbEUsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQXlCLENBQUEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFZLEVBQUUsUUFBMkIsRUFBRSxFQUFVLEVBQUUsTUFBeUI7UUFDL0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQzlDO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLE9BQU8sRUFBRTtnQkFDUCxNQUFNLEVBQUUsSUFBSTtnQkFDWixVQUFVLEVBQUUsUUFBUTtnQkFDcEIsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07Z0JBQ2xCLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU0sRUFBRSxFQUFFO2FBQ1g7U0FDRixDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFNUIsTUFBTSxTQUFTLEdBQUcsbUZBQW9GLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFFLFlBQWEsVUFBVSxDQUFDLGdCQUFnQixDQUFDLENBQUUsSUFBSSxDQUFDO1FBRXBMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQixNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RSxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNoSCxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFJLE1BQU0sQ0FBQyxNQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLEdBQUksTUFBTSxDQUFDLEtBQU0sRUFBRSxDQUFDLENBQUM7WUFDL0QsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0MsYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsR0FBSSxNQUFNLENBQUMsSUFBSyxFQUFFLENBQUMsQ0FBQztZQUN2RCxhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFJLE1BQU0sQ0FBQyxJQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRXpELE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFJLE1BQU0sQ0FBQyxNQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFJLE1BQU0sQ0FBQyxLQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzlELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBZ0IsQ0FBQztZQUNoRSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDOUIsYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFDLEVBQVU7UUFDNUIsT0FBTyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7OEdBcEltQixlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRHBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRG9tRWxlbWVudEV4dGVuc2lvbnMsXG4gIElIYXNIb3N0RWxlbWVudCxcbiAgSVBvaW50LFxuICBJVmVjdG9yLFxuICBzYW5pdGl6ZUVsZW1lbnRJZCxcbiAgVmVjdG9yRXh0ZW5zaW9uc1xufSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLWJlaGF2aW9yJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1jb2xvcic7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7XG4gIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgSVNlbGVjdGFibGUsXG4gIG1peGluQ2hhbmdlQ29ubmVjdGlvblNlbGVjdGlvbixcbiAgbWl4aW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eVxufSBmcm9tICcuL21peGlucyc7XG5pbXBvcnQgeyBJQ29ubmVjdGlvblBhdGggfSBmcm9tICcuL2YtcGF0aCc7XG5pbXBvcnQgeyBJQ29ubmVjdGlvbkdyYWRpZW50IH0gZnJvbSAnLi9mLWdyYWRpZW50JztcbmltcG9ydCB7IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCB9IGZyb20gJy4vZi1kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgSUNvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBJSGFzU3RhdGVDaGFuZ2VzIH0gZnJvbSAnLi4vLi4vaS1oYXMtc3RhdGUtY2hhbmdlcyc7XG5pbXBvcnQgeyBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IGdldEZsb3dVaWQgfSBmcm9tICcuLi8uLi9nZXQtZmxvdy11aWQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VDb25uZWN0aW9uU2VsZWN0aW9uKFxuICBtaXhpbkNoYW5nZUNvbm5lY3Rpb25WaXNpYmlsaXR5KFxuICAgIGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50XG4gICAgICApIHtcbiAgICAgIH1cbiAgICB9KSk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uQmFzZSBleHRlbmRzIE1JWElOX0JBU0VcbiAgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIElTZWxlY3RhYmxlLFxuICAgICAgICAgICAgIElDYW5DaGFuZ2VDb25uZWN0aW9uVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICBJSGFzU3RhdGVDaGFuZ2VzLCBJSGFzQ29ubmVjdGlvbkNvbG9yLFxuICAgICAgICAgICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLCBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQ29ubmVjdGlvbklkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZTdGFydENvbG9yOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZFbmRDb2xvcjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT3V0cHV0SWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZklucHV0SWQ6IHN0cmluZztcblxuICBwdWJsaWMgcGF0aDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIHZlY3RvcjogSVZlY3RvciA9IFZlY3RvckV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbkRpc2FibGVkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGU7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEZWZzOiBFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50PjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk1hcmtlcnM6IFF1ZXJ5TGlzdDxGTWFya2VyQmFzZT47XG5cbiAgcHVibGljIGFic3RyYWN0IGZQYXRoOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcmFkaWVudDogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdIYW5kbGU6IEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlNlbGVjdGlvbjogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0Q29tcG9uZW50OiBJQ29ubmVjdGlvblRleHQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZDb25uZWN0aW9uQ2VudGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBjb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXRoID0gJyc7XG4gICAgdGhpcy5mUGF0aC5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWZWN0b3IoZnJvbTogSVBvaW50LCBmcm9tU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRvOiBJUG9pbnQsIHRvU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICB0aGlzLnZlY3RvciA9IHsgcG9pbnQxOiBmcm9tLCBwb2ludDI6IHRvIH07XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuY29ubmVjdGlvbkZhY3RvcnkuaGFuZGxlKFxuICAgICAge1xuICAgICAgICB0eXBlOiB0aGlzLmZUeXBlLFxuICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgc291cmNlOiBmcm9tLFxuICAgICAgICAgIHNvdXJjZVNpZGU6IGZyb21TaWRlLFxuICAgICAgICAgIHRhcmdldDogdG8sXG4gICAgICAgICAgdGFyZ2V0U2lkZTogdG9TaWRlLFxuICAgICAgICAgIHJhZGl1czogOCxcbiAgICAgICAgICBvZmZzZXQ6IDMyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuXG4gICAgY29uc3QgdHJhbnNmb3JtID0gYHBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlckV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgbGVmdDogJHsgcGF0aFJlc3VsdC5jb25uZWN0aW9uQ2VudGVyLnggfXB4OyB0b3A6ICR7IHBhdGhSZXN1bHQuY29ubmVjdGlvbkNlbnRlci55IH1weGA7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uQ2VudGVyPy5uYXRpdmVFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZkRlZnMubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSAnJztcbiAgICB0aGlzLmZNYXJrZXJzLmZvckVhY2goKG1hcmtlcikgPT4ge1xuICAgICAgY29uc3QgbWFya2VyRWxlbWVudCA9IERvbUVsZW1lbnRFeHRlbnNpb25zLmNyZWF0ZVN2Z0VsZW1lbnQoJ21hcmtlcicpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5nZXRNYXJrZXJJZChnZXRGbG93VWlkKCkgKyAnLScgKyBtYXJrZXIudHlwZSArICctJyArIHRoaXMuZkNvbm5lY3Rpb25JZCkpO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlckhlaWdodCcsIGAkeyBtYXJrZXIuaGVpZ2h0IH1gKTtcbiAgICAgIG1hcmtlckVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXJXaWR0aCcsIGAkeyBtYXJrZXIud2lkdGggfWApO1xuICAgICAgbWFya2VyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ29yaWVudCcsICdhdXRvJyk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgncmVmWCcsIGAkeyBtYXJrZXIucmVmWCB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgncmVmWScsIGAkeyBtYXJrZXIucmVmWSB9YCk7XG4gICAgICBtYXJrZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyVW5pdHMnLCAnc3Ryb2tlV2lkdGgnKTtcblxuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IG1hcmtlci5oZWlnaHQgfWApO1xuICAgICAgbWFya2VyLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgbWFya2VyLndpZHRoIH1gKTtcbiAgICAgIGNvbnN0IGNsb25lID0gbWFya2VyLmhvc3RFbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNsb25lLnN0eWxlLmRpc3BsYXkgPSAndW5zZXQnO1xuICAgICAgbWFya2VyRWxlbWVudC5hcHBlbmQoY2xvbmUpO1xuXG4gICAgICB0aGlzLmZEZWZzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kKG1hcmtlckVsZW1lbnQpO1xuICAgIH0pO1xuICAgIHRoaXMuZk1hcmtlcnMuZm9yRWFjaCgobWFya2VyKSA9PiB7XG4gICAgICBtYXJrZXIuaG9zdEVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldE1hcmtlcklkKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGguc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZlNlbGVjdGlvbi5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mR3JhZGllbnQucmVkcmF3KHRoaXMudmVjdG9yKTtcbiAgICB0aGlzLmZEcmFnSGFuZGxlLnJlZHJhdyh0aGlzLnZlY3Rvci5wb2ludDIpO1xuICAgIHRoaXMuZlRleHRDb21wb25lbnQucmVkcmF3KHRoaXMudmVjdG9yKTtcbiAgfVxufVxuIl19
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
60
60
  type: Inject,
61
61
  args: [F_CONNECTION]
62
62
  }] }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDWSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVsRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J2QixZQUFZO2tHQXBCYix3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJNLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYXRoW2YtY29ubmVjdGlvbi1wYXRoXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLXBhdGhcIixcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9QQVRILCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25QYXRoIHtcblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJDb25uZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmNvbm5lY3Rpb25JZChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgZWxlbWVudFJlZmVyZW5jZTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICBASW5qZWN0KEZfQ09OTkVDVElPTikgcHJpdmF0ZSBiYXNlOiBJSGFzQ29ubmVjdGlvbkNvbG9yICYgSUhhc0Nvbm5lY3Rpb25Gcm9tVG9cbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgc2V0UGF0aChwYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcImRcIiwgYCR7IHBhdGggfWApO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9FTkQpIH0pYCk7XG4gIH1cblxuICBwdWJsaWMgZGVzZWxlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1zdGFydCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNUQVJUKSB9KWApO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItZW5kJywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuRU5EKSB9KWApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNYXJrZXJJZCh0eXBlOiBFRk1hcmtlclR5cGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBzYW5pdGl6ZUVsZW1lbnRJZChgJHsgZ2V0Rmxvd1VpZCgpIH0tJHsgdHlwZSB9LSR7IHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkIH1gKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmdldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JykgPT09IGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNFTEVDVEVEX1NUQVJUKSB9KWBcbiAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLXBhdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vY29tbW9uL2YtcGF0aC9mLWNvbm5lY3Rpb24tcGF0aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBYTlDLE1BQU0sT0FBTyx3QkFBd0I7SUFFbkMsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sd0JBQXdCLENBQUMsY0FBYyxDQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLHdCQUF3QixDQUFDLFlBQVksQ0FDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDVSxnQkFBNEMsRUFDdEIsSUFBZ0Q7UUFEdEUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE0QjtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUE0QztJQUVoRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxRQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsUUFBUyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsT0FBTyxpQkFBaUIsQ0FBQyxHQUFJLFVBQVUsRUFBRyxJQUFLLElBQUssSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWMsRUFBRSxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxLQUFLLFFBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFFLEdBQUcsQ0FBQTtJQUNySCxDQUFDOzhHQWhEVSx3QkFBd0IsNENBb0J6QixZQUFZO2tHQXBCWCx3QkFBd0IsNkxBRnhCLENBQUUsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFFLDBCQVB4RSxFQUFFOzsyRkFTRCx3QkFBd0I7a0JBWHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsK0JBQStCO3dCQUN0QyxXQUFXLEVBQUUsa0JBQWtCO3dCQUMvQixlQUFlLEVBQUUsZ0JBQWdCO3FCQUNsQztvQkFDRCxTQUFTLEVBQUUsQ0FBRSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFFO2lCQUNuRjs7MEJBcUJJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT05fSURFTlRJRklFUlMgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24taWRlbnRpZmllcnMnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4uL2ktaGFzLWNvbm5lY3Rpb24tY29sb3InO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8gfSBmcm9tICcuLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vaS1jb25uZWN0aW9uLXBhdGgnO1xuaW1wb3J0IHsgc2FuaXRpemVFbGVtZW50SWQgfSBmcm9tICdAZm9ibGV4L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Rmxvd1VpZCB9IGZyb20gJy4uLy4uLy4uL2dldC1mbG93LXVpZCc7XG5pbXBvcnQgeyBFRk1hcmtlclR5cGUgfSBmcm9tICcuLi8uLi9mLW1hcmtlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwYXRoW2YtY29ubmVjdGlvbi1wYXRoXVwiLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uLXBhdGhcIixcbiAgICAnW2F0dHIuaWRdJzogJ2F0dHJDb25uZWN0aW9uSWQnLFxuICAgICdbYXR0ci5zdHJva2VdJzogJ2xpbmtUb0dyYWRpZW50JyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogQ09OTkVDVElPTl9QQVRILCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25QYXRoQ29tcG9uZW50IGltcGxlbWVudHMgSUNvbm5lY3Rpb25QYXRoIHtcblxuICBwdWJsaWMgZ2V0IGxpbmtUb0dyYWRpZW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEZfQ09OTkVDVElPTl9JREVOVElGSUVSUy5saW5rVG9HcmFkaWVudChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF0dHJDb25uZWN0aW9uSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRl9DT05ORUNUSU9OX0lERU5USUZJRVJTLmNvbm5lY3Rpb25JZChcbiAgICAgIHRoaXMuYmFzZS5mQ29ubmVjdGlvbklkICsgdGhpcy5iYXNlLmZPdXRwdXRJZCArIHRoaXMuYmFzZS5mSW5wdXRJZFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGhvc3RFbGVtZW50KCk6IFNWR1BhdGhFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8U1ZHUGF0aEVsZW1lbnQ+LFxuICAgIEBJbmplY3QoRl9DT05ORUNUSU9OKSBwcml2YXRlIGJhc2U6IElIYXNDb25uZWN0aW9uQ29sb3IgJiBJSGFzQ29ubmVjdGlvbkZyb21Ub1xuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZFwiLCBgJHsgcGF0aCB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKCdtYXJrZXItc3RhcnQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5TRUxFQ1RFRF9TVEFSVCkgfSlgKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsIGB1cmwoIyR7IHRoaXMuZ2V0TWFya2VySWQoRUZNYXJrZXJUeXBlLlNFTEVDVEVEX0VORCkgfSlgKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZSgnbWFya2VyLXN0YXJ0JywgYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU1RBUlQpIH0pYCk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21hcmtlci1lbmQnLCBgdXJsKCMkeyB0aGlzLmdldE1hcmtlcklkKEVGTWFya2VyVHlwZS5FTkQpIH0pYCk7XG4gIH1cblxuICBwcml2YXRlIGdldE1hcmtlcklkKHR5cGU6IEVGTWFya2VyVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNhbml0aXplRWxlbWVudElkKGAkeyBnZXRGbG93VWlkKCkgfS0keyB0eXBlIH0tJHsgdGhpcy5iYXNlLmZDb25uZWN0aW9uSWQgfWApO1xuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdtYXJrZXItc3RhcnQnKSA9PT0gYHVybCgjJHsgdGhpcy5nZXRNYXJrZXJJZChFRk1hcmtlclR5cGUuU0VMRUNURURfU1RBUlQpIH0pYFxuICB9XG59XG4iXX0=
@@ -1,18 +1,19 @@
1
1
  import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewChild } from "@angular/core";
2
- import { castToConnectionBehavior, castToConnectionType, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
2
+ import { castToConnectionBehavior, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, FConnectionBase, FConnectionDragHandleComponent, FConnectionSelectionComponent, } from '../common';
3
3
  import { EFConnectionBehavior } from '../common';
4
4
  import { EFConnectionType } from '../common';
5
5
  import { F_CONNECTION } from '../common/f-connection.injection-token';
6
6
  import { F_MARKER } from '../f-marker';
7
7
  import { FConnectionCenterDirective } from '../f-connection-center';
8
8
  import * as i0 from "@angular/core";
9
- import * as i1 from "../../f-components-store";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "../common/f-drag-handle/f-connection-drag-handle.component";
12
- import * as i4 from "../common/f-gradient/f-connection-gradient.component";
13
- import * as i5 from "../common/f-path/f-connection-path.component";
14
- import * as i6 from "../common/f-connection-text/f-connection-text.component";
15
- import * as i7 from "../common/f-selection/f-connection-selection.component";
9
+ import * as i1 from "../f-connection-builder";
10
+ import * as i2 from "../../f-components-store";
11
+ import * as i3 from "@angular/common";
12
+ import * as i4 from "../common/f-drag-handle/f-connection-drag-handle.component";
13
+ import * as i5 from "../common/f-gradient/f-connection-gradient.component";
14
+ import * as i6 from "../common/f-path/f-connection-path.component";
15
+ import * as i7 from "../common/f-connection-text/f-connection-text.component";
16
+ import * as i8 from "../common/f-selection/f-connection-selection.component";
16
17
  let uniqueId = 0;
17
18
  export class FConnectionComponent extends FConnectionBase {
18
19
  set fBehavior(value) {
@@ -22,7 +23,7 @@ export class FConnectionComponent extends FConnectionBase {
22
23
  return this._behavior;
23
24
  }
24
25
  set fType(value) {
25
- this._type = castToConnectionType(value);
26
+ this._type = value;
26
27
  }
27
28
  get fType() {
28
29
  return this._type;
@@ -30,8 +31,8 @@ export class FConnectionComponent extends FConnectionBase {
30
31
  get boundingElement() {
31
32
  return this.fPath.hostElement;
32
33
  }
33
- constructor(elementReference, fComponentsStore) {
34
- super(elementReference);
34
+ constructor(elementReference, fConnectionFactory, fComponentsStore) {
35
+ super(elementReference, fConnectionFactory);
35
36
  this.fComponentsStore = fComponentsStore;
36
37
  this.fConnectionId = `f-connection-${uniqueId++}`;
37
38
  this.fText = '';
@@ -48,8 +49,8 @@ export class FConnectionComponent extends FConnectionBase {
48
49
  ngOnDestroy() {
49
50
  this.fComponentsStore.removeConnection(this);
50
51
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fMarkers", predicate: F_MARKER, descendants: true }, { propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i7.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }, { token: i2.FComponentsStore }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: FConnectionComponent, selector: "f-connection", inputs: { fConnectionId: "fConnectionId", fText: "fText", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fBehavior: "fBehavior", fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fConnectionId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fMarkers", predicate: F_MARKER, descendants: true }, { propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: i5.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i6.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i7.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i8.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
54
  }
54
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FConnectionComponent, decorators: [{
55
56
  type: Component,
@@ -59,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
59
60
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled',
60
61
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled',
61
62
  }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path\n [attr.d]=\"path\">\n </path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}\n"] }]
62
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FComponentsStore }], propDecorators: { fConnectionId: [{
63
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }, { type: i2.FComponentsStore }], propDecorators: { fConnectionId: [{
63
64
  type: Input
64
65
  }], fText: [{
65
66
  type: Input
@@ -108,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
108
109
  type: ContentChildren,
109
110
  args: [FConnectionCenterDirective, { descendants: true }]
110
111
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHdCQUF3QixFQUFFLG9CQUFvQixFQUM5QyxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLDZCQUE2QixHQUc5QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7QUFFcEUsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBZ0J6QixNQUFNLE9BQU8sb0JBQ1QsU0FBUSxlQUFlO0lBb0J6QixJQUNvQixTQUFTLENBQUMsS0FBb0M7UUFDaEUsSUFBSSxDQUFDLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBb0IsU0FBUztRQUMzQixPQUFPLElBQUks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QUFDLDZCQUE2QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJMUMsY0FBYztzQkFEN0IsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk1QixpQkFBaUI7c0JBRGhDLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUkxQyxrQkFBa0I7c0JBRHhCLGVBQWU7dUJBQUMsMEJBQTBCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjYXN0VG9Db25uZWN0aW9uQmVoYXZpb3IsIGNhc3RUb0Nvbm5lY3Rpb25UeXBlLFxuICBDT05ORUNUSU9OX0dSQURJRU5ULFxuICBDT05ORUNUSU9OX1BBVEgsXG4gIENPTk5FQ1RJT05fVEVYVCxcbiAgRkNvbm5lY3Rpb25CYXNlLFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50LFxuICBJQ29ubmVjdGlvbkdyYWRpZW50LFxuICBJQ29ubmVjdGlvblBhdGgsIElDb25uZWN0aW9uVGV4dCxcbn0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2YtY29tcG9uZW50cy1zdG9yZSc7XG5pbXBvcnQgeyBGX01BUktFUiwgRk1hcmtlckJhc2UgfSBmcm9tICcuLi9mLW1hcmtlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1jZW50ZXInO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIiBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5pZF0nOiAnZkNvbm5lY3Rpb25JZCcsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uXCIsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZi1jb25uZWN0aW9uLXJlYXNzaWduLWRpc2FibGVkXSc6ICdmRHJhZ2dpbmdEaXNhYmxlZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH0gXSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Db21wb25lbnRcbiAgICBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25JZDogc3RyaW5nID0gYGYtY29ubmVjdGlvbi0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTdGFydENvbG9yOiBzdHJpbmcgPSAnYmxhY2snO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRW5kQ29sb3I6IHN0cmluZyA9ICdibGFjayc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZPdXRwdXRJZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0SWQhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmQmVoYXZpb3IodmFsdWU6IEVGQ29ubmVjdGlvbkJlaGF2aW9yIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fYmVoYXZpb3IgPSBjYXN0VG9Db25uZWN0aW9uQmVoYXZpb3IodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmQmVoYXZpb3IoKTogRUZDb25uZWN0aW9uQmVoYXZpb3Ige1xuICAgIHJldHVybiB0aGlzLl9iZWhhdmlvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2JlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvciA9IEVGQ29ubmVjdGlvbkJlaGF2aW9yLkZJWEVEO1xuXG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmVHlwZSh2YWx1ZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSBjYXN0VG9Db25uZWN0aW9uVHlwZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZUeXBlKCk6IEVGQ29ubmVjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG5cbiAgQElucHV0KCdmUmVhc3NpZ25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdkZWZzJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEZWZzITogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX01BUktFUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZk1hcmtlcnMhOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9QQVRILCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGghOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX0dSQURJRU5ULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyYWRpZW50ITogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlITogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uITogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1RFWFQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dENvbXBvbmVudCE6IElDb25uZWN0aW9uVGV4dDtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbkNlbnRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMhOiBRdWVyeUxpc3Q8RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmU+O1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGguaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgcHJpdmF0ZSBmQ29tcG9uZW50c1N0b3JlOiBGQ29tcG9uZW50c1N0b3JlXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWZlcmVuY2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5hZGRDb25uZWN0aW9uKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbXBvbmVudHNTdG9yZS5yZW1vdmVDb25uZWN0aW9uKHRoaXMpO1xuICB9XG59XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBzdHlsZT1cIm92ZXJmbG93OiB2aXNpYmxlOyBkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIj5cbiAgICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gICAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGZDb25uZWN0aW9uR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kXT1cInBhdGhcIj5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICAgIDwvZz5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3N2Zz5cbjxkaXYgI2ZDb25uZWN0aW9uQ2VudGVyIGNsYXNzPVwiZi1jb25uZWN0aW9uLWNlbnRlclwiICpuZ0lmPVwiZkNvbm5lY3Rpb25DZW50ZXJzLmxlbmd0aFwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmQ29ubmVjdGlvbkNlbnRlcl1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxlQUFlLEVBRTFCLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLDZCQUE2QixHQUc5QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV0RSxPQUFPLEVBQUUsUUFBUSxFQUFlLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7O0FBR3BFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWdCekIsTUFBTSxPQUFPLG9CQUNULFNBQVEsZUFBZTtJQW9CekIsSUFDb0IsU0FBUyxDQUFDLEtBQW9DO1FBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQW9CLFNBQVM7UUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxD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QUMsNkJBQTZCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkxQyxjQUFjO3NCQUQ3QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLGlCQUFpQjtzQkFEaEMsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSTFDLGtCQUFrQjtzQkFEeEIsZUFBZTt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIGNhc3RUb0Nvbm5lY3Rpb25CZWhhdmlvciwgY2FzdFRvQ29ubmVjdGlvblR5cGUsXG4gIENPTk5FQ1RJT05fR1JBRElFTlQsXG4gIENPTk5FQ1RJT05fUEFUSCxcbiAgQ09OTkVDVElPTl9URVhULFxuICBGQ29ubmVjdGlvbkJhc2UsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCxcbiAgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsXG4gIElDb25uZWN0aW9uR3JhZGllbnQsXG4gIElDb25uZWN0aW9uUGF0aCwgSUNvbm5lY3Rpb25UZXh0LFxufSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1jb21wb25lbnRzLXN0b3JlJztcbmltcG9ydCB7IEZfTUFSS0VSLCBGTWFya2VyQmFzZSB9IGZyb20gJy4uL2YtbWFya2VyJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNlbnRlcic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY29ubmVjdGlvblwiLFxuICBleHBvcnRBczogJ2ZDb21wb25lbnQnLFxuICB0ZW1wbGF0ZVVybDogXCIuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFsgXCIuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuc2Nzc1wiIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdmQ29ubmVjdGlvbklkJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb25cIixcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbIHsgcHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnQgfSBdLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudFxuICAgIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbklkOiBzdHJpbmcgPSBgZi1jb25uZWN0aW9uLSR7IHVuaXF1ZUlkKysgfWA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0OiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlN0YXJ0Q29sb3I6IHN0cmluZyA9ICdibGFjayc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZFbmRDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZk91dHB1dElkITogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCE6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZCZWhhdmlvcih2YWx1ZTogRUZDb25uZWN0aW9uQmVoYXZpb3IgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9iZWhhdmlvciA9IGNhc3RUb0Nvbm5lY3Rpb25CZWhhdmlvcih2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZCZWhhdmlvcigpOiBFRkNvbm5lY3Rpb25CZWhhdmlvciB7XG4gICAgcmV0dXJuIHRoaXMuX2JlaGF2aW9yO1xuICB9XG5cbiAgcHJpdmF0ZSBfYmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGZUeXBlKHZhbHVlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nKSB7XG4gICAgdGhpcy5fdHlwZSA9IHZhbHVlIGFzIEVGQ29ubmVjdGlvblR5cGU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZUeXBlKCk6IEVGQ29ubmVjdGlvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHlwZTogRUZDb25uZWN0aW9uVHlwZSA9IEVGQ29ubmVjdGlvblR5cGUuU1RSQUlHSFQ7XG5cbiAgQElucHV0KCdmUmVhc3NpZ25EaXNhYmxlZCcpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdkZWZzJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEZWZzITogRWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX01BUktFUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZk1hcmtlcnMhOiBRdWVyeUxpc3Q8Rk1hcmtlckJhc2U+O1xuXG4gIEBWaWV3Q2hpbGQoQ09OTkVDVElPTl9QQVRILCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGghOiBJQ29ubmVjdGlvblBhdGg7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX0dSQURJRU5ULCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkdyYWRpZW50ITogSUNvbm5lY3Rpb25HcmFkaWVudDtcblxuICBAVmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlITogRkNvbm5lY3Rpb25EcmFnSGFuZGxlQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uITogRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChDT05ORUNUSU9OX1RFWFQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dENvbXBvbmVudCE6IElDb25uZWN0aW9uVGV4dDtcblxuICBAVmlld0NoaWxkKCdmQ29ubmVjdGlvbkNlbnRlcicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBAQ29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMhOiBRdWVyeUxpc3Q8RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmU+O1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGguaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgZkNvbm5lY3Rpb25GYWN0b3J5OiBGQ29ubmVjdGlvbkZhY3RvcnksXG4gICAgICBwcml2YXRlIGZDb21wb25lbnRzU3RvcmU6IEZDb21wb25lbnRzU3RvcmVcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZSwgZkNvbm5lY3Rpb25GYWN0b3J5KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUuYWRkQ29ubmVjdGlvbih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmZDb21wb25lbnRzU3RvcmUucmVtb3ZlQ29ubmVjdGlvbih0aGlzKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gICAgPGRlZnMgI2RlZnM+PC9kZWZzPlxuICAgIDxnIGNsYXNzPVwiZi1jb25uZWN0aW9uLWdyb3VwXCI+XG4gICAgICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgICAgPGc+XG4gICAgICAgICAgICA8cGF0aCBmLWNvbm5lY3Rpb24tcGF0aFxuICAgICAgICAgICAgICAgICAgW2F0dHIuZF09XCJwYXRoXCI+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZSByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgICA8L2c+XG4gICAgICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgICA8L2c+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9zdmc+XG48ZGl2ICNmQ29ubmVjdGlvbkNlbnRlciBjbGFzcz1cImYtY29ubmVjdGlvbi1jZW50ZXJcIiAqbmdJZj1cImZDb25uZWN0aW9uQ2VudGVycy5sZW5ndGhcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const F_CONNECTION_BUILDERS = new InjectionToken('F_CONNECTION_BUILDERS');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJ1aWxkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uLWJ1aWxkZXIvZi1jb25uZWN0aW9uLWJ1aWxkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXVCLHVCQUF1QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUZDb25uZWN0aW9uQnVpbGRlciB9IGZyb20gJy4vaS1mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5cbmV4cG9ydCBjb25zdCBGX0NPTk5FQ1RJT05fQlVJTERFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUZDb25uZWN0aW9uQnVpbGRlcnM+KCdGX0NPTk5FQ1RJT05fQlVJTERFUlMnKTtcblxuZXhwb3J0IGludGVyZmFjZSBJRkNvbm5lY3Rpb25CdWlsZGVycyB7XG4gIFtrZXk6IHN0cmluZ106IElGQ29ubmVjdGlvbkJ1aWxkZXI7XG59XG4iXX0=