@foblex/flow 17.8.5 → 17.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/domain/drag-rect-cache.d.ts +8 -0
  2. package/domain/f-background/providers.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.d.ts +7 -7
  5. package/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.d.ts +37 -3
  6. package/domain/f-connection/calculate-connection-line-by-behavior/index.d.ts +4 -3
  7. package/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.d.ts +8 -0
  8. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-center-behavior.d.ts → utils/fixed-center-behavior.d.ts} +2 -2
  9. package/domain/f-connection/calculate-connection-line-by-behavior/{fixed-outbound-behavior.d.ts → utils/fixed-outbound-behavior.d.ts} +2 -2
  10. package/domain/f-connection/calculate-connection-line-by-behavior/{floating-behavior.d.ts → utils/floating-behavior.d.ts} +2 -2
  11. package/domain/f-connection/providers.d.ts +2 -2
  12. package/domain/f-connection/redraw-connections/index.d.ts +1 -1
  13. package/domain/f-connection/redraw-connections/{redraw-connections.execution.d.ts → redraw-connections.d.ts} +3 -3
  14. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
  15. package/domain/f-flow/providers.d.ts +1 -1
  16. package/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.d.ts +2 -2
  17. package/domain/f-line-alignment/add-line-alignment-to-store/{add-line-alignment-to-store.execution.d.ts → add-line-alignment-to-store.d.ts} +4 -4
  18. package/domain/f-line-alignment/add-line-alignment-to-store/index.d.ts +1 -1
  19. package/domain/f-line-alignment/providers.d.ts +3 -3
  20. package/domain/f-line-alignment/remove-line-alignment-from-store/index.d.ts +1 -1
  21. package/domain/f-line-alignment/remove-line-alignment-from-store/{remove-line-alignment-from-store.execution.d.ts → remove-line-alignment-from-store.d.ts} +4 -4
  22. package/domain/f-node/get-parent-nodes/get-parent-nodes.d.ts +1 -1
  23. package/domain/f-node/get-parent-nodes/get-parent-nodes.request.d.ts +2 -2
  24. package/domain/f-node/remove-node-from-store/remove-node-from-store-request.d.ts +2 -2
  25. package/domain/f-node/remove-node-from-store/remove-node-from-store.d.ts +1 -1
  26. package/domain/f-zoom/providers.d.ts +1 -1
  27. package/domain/index.d.ts +1 -0
  28. package/domain/providers.d.ts +4 -3
  29. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.d.ts +2 -2
  30. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.request.d.ts → move-front-elements-before-target-element-request.d.ts} +4 -4
  31. package/domain/update-item-and-children-layers/move-front-elements-before-target-element/{move-front-elements-before-target-element.execution.d.ts → move-front-elements-before-target-element.d.ts} +4 -4
  32. package/esm2022/domain/drag-rect-cache.mjs +19 -0
  33. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior-request.mjs +4 -4
  34. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.mjs +126 -13
  35. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/index.mjs +5 -4
  36. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/models/calculate-behavior-request.mjs +2 -0
  37. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-center-behavior.mjs +12 -0
  38. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/fixed-outbound-behavior.mjs +31 -0
  39. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/utils/floating-behavior.mjs +22 -0
  40. package/esm2022/domain/f-connection/providers.mjs +3 -3
  41. package/esm2022/domain/f-connection/redraw-connections/index.mjs +2 -2
  42. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +75 -0
  43. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event-request.mjs +1 -1
  44. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +2 -2
  45. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +4 -4
  46. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.mjs +25 -0
  47. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/index.mjs +2 -2
  48. package/esm2022/domain/f-line-alignment/providers.mjs +4 -7
  49. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/index.mjs +2 -2
  50. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.mjs +25 -0
  51. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +1 -1
  52. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
  53. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +8 -8
  54. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +4 -4
  55. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +4 -4
  56. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +3 -3
  57. package/esm2022/domain/index.mjs +2 -1
  58. package/esm2022/domain/providers.mjs +5 -5
  59. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/index.mjs +3 -3
  60. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element-request.mjs +15 -0
  61. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.mjs +34 -0
  62. package/esm2022/f-connection/common/domain/adaptive-curve-builder.mjs +201 -0
  63. package/esm2022/f-connection/common/domain/index.mjs +2 -1
  64. package/esm2022/f-connection/common/e-f-connection-connectable-side.mjs +12 -0
  65. package/esm2022/f-connection/common/e-f-connection-type.mjs +2 -1
  66. package/esm2022/f-connection/common/f-connection-base.mjs +28 -5
  67. package/esm2022/f-connection/common/index.mjs +2 -1
  68. package/esm2022/f-connection/f-connection/f-connection.component.mjs +13 -3
  69. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +9 -17
  70. package/esm2022/f-connection/f-connection-content/f-connection-content.mjs +10 -4
  71. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-layout-engine.mjs +4 -5
  72. package/esm2022/f-connection/f-connection-content/polyline-content-engine/polyline-content-place.mjs +3 -2
  73. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +14 -4
  74. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +14 -4
  75. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
  76. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +5 -5
  77. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +5 -5
  78. package/esm2022/f-draggable/f-draggable.directive.mjs +3 -2
  79. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +3 -3
  80. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +1 -1
  81. package/esm2022/f-flow/f-flow.component.mjs +2 -2
  82. package/f-backgroud/providers.d.ts +1 -1
  83. package/f-connection/common/domain/adaptive-curve-builder.d.ts +102 -0
  84. package/f-connection/common/domain/index.d.ts +1 -0
  85. package/f-connection/common/e-f-connection-connectable-side.d.ts +10 -0
  86. package/f-connection/common/e-f-connection-type.d.ts +2 -1
  87. package/f-connection/common/f-connection-base.d.ts +14 -2
  88. package/f-connection/common/index.d.ts +1 -0
  89. package/f-connection/f-connection/f-connection.component.d.ts +4 -2
  90. package/f-connection/f-connection-builder/f-connection-factory.d.ts +2 -4
  91. package/f-connection/f-connection-content/f-connection-content.d.ts +2 -2
  92. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +4 -2
  93. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +4 -2
  94. package/f-connection/providers.d.ts +1 -1
  95. package/f-connectors/providers.d.ts +1 -1
  96. package/f-draggable/f-connection/providers.d.ts +1 -1
  97. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  98. package/f-draggable/providers.d.ts +1 -1
  99. package/f-minimap/providers.d.ts +1 -1
  100. package/f-node/providers.d.ts +1 -1
  101. package/fesm2022/foblex-flow.mjs +502 -113
  102. package/fesm2022/foblex-flow.mjs.map +1 -1
  103. package/package.json +1 -1
  104. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +0 -12
  105. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +0 -31
  106. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +0 -22
  107. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +0 -73
  108. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store.execution.mjs +0 -25
  109. package/esm2022/domain/f-line-alignment/remove-line-alignment-from-store/remove-line-alignment-from-store.execution.mjs +0 -25
  110. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.execution.mjs +0 -34
  111. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +0 -15
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, inject, Input, numberAttribute, signal, } from '@angular/core';
2
- import { EFConnectionBehavior } from '../common';
1
+ import { ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute, signal, } from '@angular/core';
2
+ import { EFConnectionBehavior, EFConnectionConnectableSide } from '../common';
3
3
  import { EFConnectionType } from '../common';
4
4
  import { NotifyDataChangedRequest } from '../../f-storage';
5
5
  import { F_CONNECTION } from '../common/f-connection.injection-token';
@@ -26,6 +26,16 @@ export class FSnapConnectionComponent extends FConnectionBase {
26
26
  fOffset = 12;
27
27
  fBehavior = EFConnectionBehavior.FIXED;
28
28
  fType = EFConnectionType.STRAIGHT;
29
+ fInputSide = input(EFConnectionConnectableSide.DEFAULT, {
30
+ transform: (x) => {
31
+ return castToEnum(x, 'fInputSide', EFConnectionConnectableSide);
32
+ },
33
+ });
34
+ fOutputSide = input(EFConnectionConnectableSide.DEFAULT, {
35
+ transform: (x) => {
36
+ return castToEnum(x, 'fOutputSide', EFConnectionConnectableSide);
37
+ },
38
+ });
29
39
  get boundingElement() {
30
40
  return this.fPath().hostElement;
31
41
  }
@@ -43,7 +53,7 @@ export class FSnapConnectionComponent extends FConnectionBase {
43
53
  this._mediator.execute(new RemoveSnapConnectionFromStoreRequest());
44
54
  }
45
55
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
46
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold: ["fSnapThreshold", "fSnapThreshold", numberAttribute], fRadius: ["fRadius", "fRadius", numberAttribute], fOffset: ["fOffset", "fOffset", numberAttribute], fBehavior: ["fBehavior", "fBehavior", (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior)], fType: "fType" }, host: { classAttribute: "f-component f-connection f-snap-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\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 [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold: { classPropertyName: "fSnapThreshold", publicName: "fSnapThreshold", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-snap-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\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 [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n <ng-content></ng-content>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
57
  }
48
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, decorators: [{
49
59
  type: Component,
@@ -65,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
65
75
  }], fType: [{
66
76
  type: Input
67
77
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxlQUFlLEVBSWYsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDN0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLG9DQUFvQyxHQUNyQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFdEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBWWpCLE1BQU0sT0FBTyx3QkFDWCxTQUFRLGVBQWU7SUFHUCxHQUFHLEdBQUcsTUFBTSxDQUFTLHFCQUFxQixRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFeEQsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUVuQixnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFHdkMsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUVuQixTQUFTLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZCLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFHdEIsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUdwQixPQUFPLEdBQVcsRUFBRSxDQUFDO0lBR3JCLFNBQVMsR0FBeUIsb0JBQW9CLENBQUMsS0FBSyxDQUFDO0lBRzdELEtBQUssR0FBOEIsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0lBRTdFLElBQW9CLGVBQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFZ0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7d0dBakRVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGdHQVVmLGVBQWUsbUNBT2YsZUFBZSxtQ0FHZixlQUFlLHlDQUdmLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyx3R0F6QmpGLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLHNFQ2xDL0UsNHdCQXVCQTs7NEZEYWEsd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSw0Q0FBNEM7cUJBQ3BELGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDOzhCQWF0RSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFRckIsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUk5RSxLQUFLO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkU25hcENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCxcbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLXNuYXAtY29ubmVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXNuYXAtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ytc25hcC1jb25uZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24gZi1zbmFwLWNvbm5lY3Rpb24nLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50XG4gIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gc2lnbmFsPHN0cmluZz4oYGYtc25hcC1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dFN0YXJ0T2Zmc2V0OiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZlNuYXBUaHJlc2hvbGQ6IG51bWJlciA9IDIwO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBzaWduYWwoJycpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IHNpZ25hbCgnJyk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoKCkuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZVNuYXBDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLXN0YXJ0IHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1lbmQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59XG5cbkBpZiAoZkNvbm5lY3Rpb25Db250ZW50cygpLmxlbmd0aCkge1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25Db250ZW50XVwiPjwvbmctY29udGVudD5cbn1cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24vZi1zbmFwLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxFQUlmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUNMLCtCQUErQixFQUMvQixvQ0FBb0MsR0FDckMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7O0FBRXRCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQVlqQixNQUFNLE9BQU8sd0JBQ1gsU0FBUSxlQUFlO0lBR1AsR0FBRyxHQUFHLE1BQU0sQ0FBUyxxQkFBcUIsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXhELEtBQUssR0FBVyxFQUFFLENBQUM7SUFFbkIsZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO0lBR3ZDLGNBQWMsR0FBVyxFQUFFLENBQUM7SUFFbkIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV2QixRQUFRLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBR3RCLE9BQU8sR0FBVyxDQUFDLENBQUM7SUFHcEIsT0FBTyxHQUFXLEVBQUUsQ0FBQztJQUdyQixTQUFTLEdBQXlCLG9CQUFvQixDQUFDLEtBQUssQ0FBQztJQUc3RCxLQUFLLEdBQThCLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUU3RCxVQUFVLEdBQUcsS0FBSyxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRTtRQUN0RSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLE9BQU8sVUFBVSxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztRQUNsRSxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRWEsV0FBVyxHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUU7UUFDdkUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixPQUFPLFVBQVUsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILElBQW9CLGVBQWU7UUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFZ0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksb0NBQW9DLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7d0dBN0RVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHVMQVVmLGVBQWUsMkhBT2YsZUFBZSwySEFHZixlQUFlLGlJQUdmLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxtZUF6QmpGLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxDQUFDLHNFQ25DL0UsNHdCQXVCQTs7NEZEY2Esd0JBQXdCO2tCQVZwQyxTQUFTOytCQUNFLG1CQUFtQixtQkFHWix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSw0Q0FBNEM7cUJBQ3BELGFBQ1UsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVywwQkFBMEIsRUFBRSxDQUFDOzhCQWF0RSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFRckIsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUk5RSxLQUFLO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvbkJlaGF2aW9yLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9jb21tb24nO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQgeyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRl9DT05ORUNUSU9OIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkU25hcENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCxcbiAgUmVtb3ZlU25hcENvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLXNuYXAtY29ubmVjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXNuYXAtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Ytc25hcC1jb25uZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb24gZi1zbmFwLWNvbm5lY3Rpb24nLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50XG4gIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gc2lnbmFsPHN0cmluZz4oYGYtc25hcC1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dFN0YXJ0T2Zmc2V0OiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZlNuYXBUaHJlc2hvbGQ6IG51bWJlciA9IDIwO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBzaWduYWwoJycpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IHNpZ25hbCgnJyk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklucHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZJbnB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0U2lkZSA9IGlucHV0KEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZS5ERUZBVUxULCB7XG4gICAgdHJhbnNmb3JtOiAoeCkgPT4ge1xuICAgICAgcmV0dXJuIGNhc3RUb0VudW0oeCwgJ2ZPdXRwdXRTaWRlJywgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlKTtcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoKCkuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRTbmFwQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZVNuYXBDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLXN0YXJ0IHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1lbmQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICA8L2c+XG4gICAgPHRleHQgZi1jb25uZWN0aW9uLXRleHQ+PC90ZXh0PlxuICA8L2c+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59XG5cbkBpZiAoZkNvbm5lY3Rpb25Db250ZW50cygpLmxlbmd0aCkge1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25Db250ZW50XVwiPjwvbmctY29udGVudD5cbn1cbiJdfQ==
@@ -66,15 +66,15 @@ export class FCreateConnectionDragHandler {
66
66
  }
67
67
  }
68
68
  _drawConnectionForCreate(toConnectorRect, fSide) {
69
- const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._connection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
70
- this._connection.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fSide);
69
+ const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, toConnectorRect, this._connection, this._fOutputWithRect.fConnector.fConnectableSide, fSide));
70
+ this._connection.setLine(line);
71
71
  this._connection.redraw();
72
72
  }
73
73
  _drawSnapConnection(fClosestInput) {
74
74
  if (fClosestInput) {
75
- const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._snapConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
75
+ const line = this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._fOutputWithRect.fRect, fClosestInput.fRect, this._snapConnection, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
76
76
  this._snapConnection?.show();
77
- this._snapConnection?.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide);
77
+ this._snapConnection?.setLine(line);
78
78
  this._snapConnection?.redraw();
79
79
  }
80
80
  else {
@@ -96,4 +96,4 @@ export class FCreateConnectionDragHandler {
96
96
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._canBeConnectedInputs.map((x) => x.fConnector)));
97
97
  }
98
98
  }
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBRzFCLGdDQUFnQyxFQUNoQyxrQ0FBa0MsR0FDbkMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBR1gsZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBd0I3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFVO0lBRUwsT0FBTyxDQUFtRDtJQUMxRCxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0QsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFF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QUMsQ0FDNUYsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZEcmFnSGFuZGxlclJlc3VsdCwgSUZEcmFnSGFuZGxlciB9IGZyb20gJy4uLy4uL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBDYWxjdWxhdGVUYXJnZXRDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxuICBJQ2xvc2VzdENvbm5lY3RvcixcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBGTm9kZU91dGxldEJhc2UsIEZOb2RlT3V0cHV0QmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIFJvdW5kZWRSZWN0LFxuICBJTGluZSxcbiAgSVBvaW50LFxuICBQb2ludEV4dGVuc2lvbnMsXG4gIFJlY3RFeHRlbnNpb25zLFxuICBJUm91bmRlZFJlY3QsXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBJRkNyZWF0ZUNvbm5lY3Rpb25EcmFnUmVzdWx0IH0gZnJvbSAnLi9pLWYtY3JlYXRlLWNvbm5lY3Rpb24tZHJhZy1yZXN1bHQnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEZDcmVhdGVDb25uZWN0aW9uRHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRkRyYWdIYW5kbGVyIHtcbiAgcHVibGljIGZFdmVudFR5cGUgPSAnY3JlYXRlLWNvbm5lY3Rpb24nO1xuICBwdWJsaWMgZkRhdGE6IHVua25vd247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0OiBGRHJhZ0hhbmRsZXJSZXN1bHQ8SUZDcmVhdGVDb25uZWN0aW9uRHJhZ1Jlc3VsdD47XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlOiBGQ29tcG9uZW50c1N0b3JlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RvQ29ubmVjdG9yUmVjdCA9IG5ldyBSb3VuZGVkUmVjdCgpO1xuXG4gIHByaXZhdGUgZ2V0IF9jb25uZWN0aW9uKCk6IEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZlRlbXBDb25uZWN0aW9uIGFzIEZDb25uZWN0aW9uRm9yQ3JlYXRlQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3NuYXBDb25uZWN0aW9uKCk6IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZTbmFwQ29ubmVjdGlvbiBhcyBGU25hcENvbm5lY3Rpb25Db21wb25lbnQ7XG4gIH1cblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIF9jYW5CZUNvbm5lY3RlZElucHV0czogSUNvbm5lY3RvckFuZFJlY3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfZk91dHB1dE9yT3V0bGV0OiBGTm9kZU91dHB1dEJhc2UgfCBGTm9kZU91dGxldEJhc2UsXG4gICAgX29uUG9pbnRlckRvd25Qb3NpdGlvbjogSVBvaW50LFxuICApIHtcbiAgICB0aGlzLl9yZXN1bHQgPSBfaW5qZWN0b3IuZ2V0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gICAgdGhpcy5fbWVkaWF0b3IgPSBfaW5qZWN0b3IuZ2V0KEZNZWRpYXRvcik7XG4gICAgdGhpcy5fc3RvcmUgPSBfaW5qZWN0b3IuZ2V0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0ID0gUm91bmRlZFJlY3QuZnJvbVJlY3QoXG4gICAgICBSZWN0RXh0ZW5zaW9ucy5pbml0aWFsaXplKF9vblBvaW50ZXJEb3duUG9zaXRpb24ueCwgX29uUG9pbnRlckRvd25Qb3NpdGlvbi55KSxcbiAgICApO1xuICAgIHRoaXMuZkRhdGEgPSB7XG4gICAgICBmT3V0cHV0T3JPdXRsZXRJZDogdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mT3V0cHV0T3JPdXRsZXQpLFxuICAgICk7XG4gICAgdGhpcy5fZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2hvdygpO1xuICAgIHRoaXMub25Qb2ludGVyTW92ZShQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpKTtcblxuICAgIHRoaXMuX3Jlc3VsdC5zZXREYXRhKHtcbiAgICAgIHRvQ29ubmVjdG9yUmVjdDogdGhpcy5fdG9Db25uZWN0b3JSZWN0LFxuICAgICAgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLFxuICAgICAgZk91dHB1dElkOiB0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkKCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRBbmRNYXJrQ2FuQmVDb25uZWN0ZWRJbnB1dHMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IENhbGN1bGF0ZVRhcmdldENvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9mT3V0cHV0T3JPdXRsZXQsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU25hcENvbm5lY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbm5lY3Rpb25Gb3JDcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9zZXN0SW5wdXQgPSB0aGlzLl9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2UpO1xuXG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb25Gb3JDcmVhdGUoXG4gICAgICB0aGlzLl90b0Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSksXG4gICAgICBjbG9zZXN0SW5wdXQ/LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSB8fCBFRkNvbm5lY3RhYmxlU2lkZS5UT1AsXG4gICAgKTtcblxuICAgIGlmICh0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKHRoaXMuX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKGNsb3Nlc3RJbnB1dCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKHRvQ29ubmVjdG9yUmVjdDogSVJvdW5kZWRSZWN0LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICB0b0Nvbm5lY3RvclJlY3QsXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rpb24uZkJlaGF2aW9yLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmIChmQ2xvc2VzdElucHV0KSB7XG4gICAgICBjb25zdCBsaW5lID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uIS5mQmVoYXZpb3IsXG4gICAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uc2hvdygpO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnNldExpbmUoXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdElucHV0KGRpZmZlcmVuY2U6IElQb2ludCk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmQ2xvc2VzdElucHV0ICYmIGZDbG9zZXN0SW5wdXQuZGlzdGFuY2UgPCB0aGlzLl9zbmFwQ29ubmVjdGlvbiEuZlNuYXBUaHJlc2hvbGRcbiAgICAgID8gZkNsb3Nlc3RJbnB1dFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLmhpZGUoKTtcbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jcmVhdGUtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZHJhZ2dhYmxlL2YtY29ubmVjdGlvbi9mLWNyZWF0ZS1jb25uZWN0aW9uL2YtY3JlYXRlLWNvbm5lY3Rpb24uZHJhZy1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLHlDQUF5QyxFQUN6Qyx3Q0FBd0MsRUFDeEMsMEJBQTBCLEVBRzFCLGdDQUFnQyxFQUNoQyxrQ0FBa0MsR0FDbkMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUsaUJBQWlCLEVBQW9DLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxXQUFXLEVBR1gsZUFBZSxFQUNmLGNBQWMsR0FFZixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBd0I3QjtJQXZCSCxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDakMsS0FBSyxDQUFVO0lBRUwsT0FBTyxDQUFtRDtJQUMxRCxTQUFTLENBQVk7SUFDckIsTUFBTSxDQUFtQjtJQUV6QixnQkFBZ0IsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBRXRELElBQVksV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZ0QsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBWSxlQUFlO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUEyQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBcUI7SUFF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QyxlQUFlLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsVUFBa0I7UUFDMUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSxnQ0FBZ0MsQ0FDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFDMUMsSUFBSSxDQUFDLHFCQUFxQixDQUMzQixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8saUNBQWlDLENBQ3ZDLGFBQTRDO1FBRTVDLE9BQU8sYUFBYSxJQUFJLGFBQWEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWdCLENBQUMsY0FBYztZQUNuRixDQUFDLENBQUMsYUFBYTtZQUNmLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzVGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGRHJhZ0hhbmRsZXJSZXN1bHQsIElGRHJhZ0hhbmRsZXIgfSBmcm9tICcuLi8uLi9mLWRyYWctaGFuZGxlcic7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCxcbiAgQ2FsY3VsYXRlVGFyZ2V0Q29ubmVjdG9yc1RvQ29ubmVjdFJlcXVlc3QsXG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0LFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgSUNsb3Nlc3RDb25uZWN0b3IsXG4gIE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxuICBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25Gb3JDcmVhdGVDb21wb25lbnQsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSwgRk5vZGVPdXRsZXRCYXNlLCBGTm9kZU91dHB1dEJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBSb3VuZGVkUmVjdCxcbiAgSUxpbmUsXG4gIElQb2ludCxcbiAgUG9pbnRFeHRlbnNpb25zLFxuICBSZWN0RXh0ZW5zaW9ucyxcbiAgSVJvdW5kZWRSZWN0LFxufSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgSUZDcmVhdGVDb25uZWN0aW9uRHJhZ1Jlc3VsdCB9IGZyb20gJy4vaS1mLWNyZWF0ZS1jb25uZWN0aW9uLWRyYWctcmVzdWx0JztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBGQ3JlYXRlQ29ubmVjdGlvbkRyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZEcmFnSGFuZGxlciB7XG4gIHB1YmxpYyBmRXZlbnRUeXBlID0gJ2NyZWF0ZS1jb25uZWN0aW9uJztcbiAgcHVibGljIGZEYXRhOiB1bmtub3duO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3VsdDogRkRyYWdIYW5kbGVyUmVzdWx0PElGQ3JlYXRlQ29ubmVjdGlvbkRyYWdSZXN1bHQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90b0Nvbm5lY3RvclJlY3QgPSBuZXcgUm91bmRlZFJlY3QoKTtcblxuICBwcml2YXRlIGdldCBfY29ubmVjdGlvbigpOiBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3N0b3JlLmZUZW1wQ29ubmVjdGlvbiBhcyBGQ29ubmVjdGlvbkZvckNyZWF0ZUNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9zbmFwQ29ubmVjdGlvbigpOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mU25hcENvbm5lY3Rpb24gYXMgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfZk91dHB1dFdpdGhSZWN0ITogSUNvbm5lY3RvckFuZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfY2FuQmVDb25uZWN0ZWRJbnB1dHM6IElDb25uZWN0b3JBbmRSZWN0W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgX2ZPdXRwdXRPck91dGxldDogRk5vZGVPdXRwdXRCYXNlIHwgRk5vZGVPdXRsZXRCYXNlLFxuICAgIF9vblBvaW50ZXJEb3duUG9zaXRpb246IElQb2ludCxcbiAgKSB7XG4gICAgdGhpcy5fcmVzdWx0ID0gX2luamVjdG9yLmdldChGRHJhZ0hhbmRsZXJSZXN1bHQpO1xuICAgIHRoaXMuX21lZGlhdG9yID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpO1xuICAgIHRoaXMuX3N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcblxuICAgIHRoaXMuX3RvQ29ubmVjdG9yUmVjdCA9IFJvdW5kZWRSZWN0LmZyb21SZWN0KFxuICAgICAgUmVjdEV4dGVuc2lvbnMuaW5pdGlhbGl6ZShfb25Qb2ludGVyRG93blBvc2l0aW9uLngsIF9vblBvaW50ZXJEb3duUG9zaXRpb24ueSksXG4gICAgKTtcbiAgICB0aGlzLmZEYXRhID0ge1xuICAgICAgZk91dHB1dE9yT3V0bGV0SWQ6IHRoaXMuX2ZPdXRwdXRPck91dGxldC5mSWQoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHByZXBhcmVEcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0ID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4oXG4gICAgICBuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZk91dHB1dE9yT3V0bGV0KSxcbiAgICApO1xuICAgIHRoaXMuX2dldEFuZE1hcmtDYW5CZUNvbm5lY3RlZElucHV0cygpO1xuICAgIHRoaXMuX2luaXRpYWxpemVTbmFwQ29ubmVjdGlvbigpO1xuICAgIHRoaXMuX2luaXRpYWxpemVDb25uZWN0aW9uRm9yQ3JlYXRlKCk7XG5cbiAgICB0aGlzLl9jb25uZWN0aW9uLnNob3coKTtcbiAgICB0aGlzLm9uUG9pbnRlck1vdmUoUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk7XG5cbiAgICB0aGlzLl9yZXN1bHQuc2V0RGF0YSh7XG4gICAgICB0b0Nvbm5lY3RvclJlY3Q6IHRoaXMuX3RvQ29ubmVjdG9yUmVjdCxcbiAgICAgIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cyxcbiAgICAgIGZPdXRwdXRJZDogdGhpcy5fZk91dHB1dE9yT3V0bGV0LmZJZCgpLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0QW5kTWFya0NhbkJlQ29ubmVjdGVkSW5wdXRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbkJlQ29ubmVjdGVkSW5wdXRzID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdFtdPihcbiAgICAgIG5ldyBDYWxjdWxhdGVUYXJnZXRDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdChcbiAgICAgICAgdGhpcy5fZk91dHB1dE9yT3V0bGV0LFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZlJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZVNuYXBDb25uZWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24uZk91dHB1dElkLnNldCh0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkKCkpO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxpemVDb25uZWN0aW9uRm9yQ3JlYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24uZk91dHB1dElkLnNldCh0aGlzLl9mT3V0cHV0T3JPdXRsZXQuZklkKCkpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VzdElucHV0ID0gdGhpcy5fZmluZENsb3Nlc3RJbnB1dChkaWZmZXJlbmNlKTtcblxuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uRm9yQ3JlYXRlKFxuICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgY2xvc2VzdElucHV0Py5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgfHwgRUZDb25uZWN0YWJsZVNpZGUuVE9QLFxuICAgICk7XG5cbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbih0aGlzLl9nZXRDbG9zZXN0SW5wdXRGb3JTbmFwQ29ubmVjdGlvbihjbG9zZXN0SW5wdXQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kcmF3Q29ubmVjdGlvbkZvckNyZWF0ZSh0b0Nvbm5lY3RvclJlY3Q6IElSb3VuZGVkUmVjdCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mUmVjdCxcbiAgICAgICAgdG9Db25uZWN0b3JSZWN0LFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLFxuICAgICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmU2lkZSxcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd1NuYXBDb25uZWN0aW9uKGZDbG9zZXN0SW5wdXQ6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGZDbG9zZXN0SW5wdXQpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0LFxuICAgICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24hLFxuICAgICAgICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnNob3coKTtcbiAgICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5zZXRMaW5lKGxpbmUpO1xuICAgICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0SW5wdXQoZGlmZmVyZW5jZTogSVBvaW50KTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fdG9Db25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpLFxuICAgICAgICB0aGlzLl9jYW5CZUNvbm5lY3RlZElucHV0cyxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENsb3Nlc3RJbnB1dEZvclNuYXBDb25uZWN0aW9uKFxuICAgIGZDbG9zZXN0SW5wdXQ6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkLFxuICApOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGZDbG9zZXN0SW5wdXQgJiYgZkNsb3Nlc3RJbnB1dC5kaXN0YW5jZSA8IHRoaXMuX3NuYXBDb25uZWN0aW9uIS5mU25hcFRocmVzaG9sZFxuICAgICAgPyBmQ2xvc2VzdElucHV0XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24uaGlkZSgpO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY2FuQmVDb25uZWN0ZWRJbnB1dHMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -53,18 +53,18 @@ export class FReassignSourceDragHandler {
53
53
  }
54
54
  _drawConnection(newPoint, fSide) {
55
55
  const line = this._calculateNewLine(newPoint, fSide);
56
- this._connection.setLine(line, fSide, this._targetConnectorAndRect.fConnector.fConnectableSide);
56
+ this._connection.setLine(line);
57
57
  this._connection.redraw();
58
58
  }
59
59
  _calculateNewLine(sourcePoint, fSide) {
60
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(roundedRectFromPoint(sourcePoint), this._targetConnectorAndRect.fRect, this._connection.fBehavior, fSide, this._targetConnectorAndRect.fConnector.fConnectableSide));
60
+ return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(roundedRectFromPoint(sourcePoint), this._targetConnectorAndRect.fRect, this._connection, fSide, this._targetConnectorAndRect.fConnector.fConnectableSide));
61
61
  }
62
62
  _drawSnapConnection(fClosestConnector) {
63
63
  const snapConnection = this._snapConnection;
64
64
  if (fClosestConnector) {
65
65
  const line = this._getLineToClosestSourceConnector(fClosestConnector, snapConnection);
66
66
  snapConnection.show();
67
- snapConnection.setLine(line, fClosestConnector.fConnector.fConnectableSide, this._targetConnector.fConnectableSide);
67
+ snapConnection.setLine(line);
68
68
  snapConnection.redraw();
69
69
  }
70
70
  else {
@@ -72,7 +72,7 @@ export class FReassignSourceDragHandler {
72
72
  }
73
73
  }
74
74
  _getLineToClosestSourceConnector(fClosestInput, snapConnection) {
75
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(fClosestInput.fRect, this._targetConnectorAndRect.fRect, snapConnection.fBehavior, fClosestInput.fConnector.fConnectableSide, this._targetConnector.fConnectableSide));
75
+ return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(fClosestInput.fRect, this._targetConnectorAndRect.fRect, snapConnection, fClosestInput.fConnector.fConnectableSide, this._targetConnector.fConnectableSide));
76
76
  }
77
77
  onPointerUp() {
78
78
  this._drawConnection(this._connectorRect, this._sourceConnectorAndRect.fConnector.fConnectableSide);
@@ -80,4 +80,4 @@ export class FReassignSourceDragHandler {
80
80
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQWdCbEI7SUFDQTtJQUNBO0lBQ0E7SUFsQlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFpQyxDQUFDO0lBQ3hFLENBQUM7SUFFZ0IsY0FBYyxDQUFlO0lBRXRDLGVBQWUsQ0FBdUM7SUFFOUQsWUFDbUIsU0FBb0IsRUFDcEIsV0FBNEIsRUFDNUIsdUJBQTBDLEVBQzFDLHVCQUEwQztRQUgxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxD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QUFDLGdCQUFnQixDQUN6RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDN0YsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QsXG4gIENhbGN1bGF0ZVNvdXJjZUNvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0LFxuICBJQ2xvc2VzdENvbm5lY3RvcixcbiAgSUNvbm5lY3RvckFuZFJlY3QsXG4gIE1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxuICBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHtcbiAgRUZDb25uZWN0YWJsZVNpZGUsXG4gIEZOb2RlSW5wdXREaXJlY3RpdmUsXG4gIEZOb2RlT3V0cHV0RGlyZWN0aXZlLFxufSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlLCBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElGUmVhc3NpZ25IYW5kbGVyLFxuICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkLFxuICByb3VuZGVkUmVjdEZyb21Qb2ludCxcbn0gZnJvbSAnLi9pLWYtcmVhc3NpZ24taGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25Tb3VyY2VEcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGUmVhc3NpZ25IYW5kbGVyIHtcbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF90YXJnZXRDb25uZWN0b3IoKTogRk5vZGVJbnB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZUlucHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdG9yUmVjdCE6IFJvdW5kZWRSZWN0O1xuXG4gIHByaXZhdGUgX3NuYXBDb25uZWN0aW9uOiBGU25hcENvbm5lY3Rpb25Db21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlQ29ubmVjdG9yQW5kUmVjdDogSUNvbm5lY3RvckFuZFJlY3QsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdDogSUNvbm5lY3RvckFuZFJlY3QsXG4gICkge1xuICAgIHRoaXMuX2Nvbm5lY3RvclJlY3QgPSByb3VuZGVkUmVjdEZyb21Qb2ludCh0aGlzLl9jb25uZWN0aW9uLmxpbmUucG9pbnQxKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25uZWN0YWJsZUNvbm5lY3RvcnMoKTogSUNvbm5lY3RvckFuZFJlY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycztcbiAgfVxuXG4gIHB1YmxpYyBtYXJrQ29ubmVjdGFibGVDb25uZWN0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdFtdPihcbiAgICAgIG5ldyBDYWxjdWxhdGVTb3VyY2VDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdChcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZSZWN0LmdyYXZpdHlDZW50ZXIsXG4gICAgICApLFxuICAgICk7XG4gICAgY29uc3QgaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IgPSB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMuc29tZShcbiAgICAgICh4KSA9PiB4LmZDb25uZWN0b3IuZklkKCkgPT09IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mSWQoKSxcbiAgICApO1xuICAgIGlmICghaXNFeGlzdEN1cnJlbnRTb3VyY2VDb25uZWN0b3IpIHtcbiAgICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5wdXNoKHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QpO1xuICAgIH1cblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mSW5wdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBzbmFwQ29ubmVjdGlvbi5pbml0aWFsaXplKCk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyTW92ZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdQb2ludCA9IHRoaXMuX2Nvbm5lY3RvclJlY3QuYWRkUG9pbnQoZGlmZmVyZW5jZSk7XG5cbiAgICBjb25zdCBmQ2xvc2VzdENvbm5lY3RvciA9IHRoaXMuX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKG5ld1BvaW50LCB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMpO1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgbmV3UG9pbnQsXG4gICAgICBmQ2xvc2VzdENvbm5lY3Rvcj8uZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlIHx8IHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgaWYgKHRoaXMuX3NuYXBDb25uZWN0aW9uKSB7XG4gICAgICB0aGlzLl9kcmF3U25hcENvbm5lY3Rpb24oXG4gICAgICAgIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQoZkNsb3Nlc3RDb25uZWN0b3IsIHRoaXMuX3NuYXBDb25uZWN0aW9uKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmluZENsb3Nlc3RDb25uZWN0b3IoXG4gICAgcG9pbnQ6IElQb2ludCxcbiAgICBjb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdLFxuICApOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQ+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0KHBvaW50LCBjb25uZWN0b3JzKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd0Nvbm5lY3Rpb24obmV3UG9pbnQ6IElQb2ludCwgZlNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgY29uc3QgbGluZSA9IHRoaXMuX2NhbGN1bGF0ZU5ld0xpbmUobmV3UG9pbnQsIGZTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnNldExpbmUobGluZSwgZlNpZGUsIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3TGluZShzb3VyY2VQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHJvdW5kZWRSZWN0RnJvbVBvaW50KHNvdXJjZVBvaW50KSxcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIGZTaWRlLFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdTbmFwQ29ubmVjdGlvbihmQ2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBzbmFwQ29ubmVjdGlvbiA9IHRoaXMuX3NuYXBDb25uZWN0aW9uITtcbiAgICBpZiAoZkNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0U291cmNlQ29ubmVjdG9yKGZDbG9zZXN0Q29ubmVjdG9yLCBzbmFwQ29ubmVjdGlvbik7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zaG93KCk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5zZXRMaW5lKFxuICAgICAgICBsaW5lLFxuICAgICAgICBmQ2xvc2VzdENvbm5lY3Rvci5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFNvdXJjZUNvbm5lY3RvcihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvcixcbiAgICBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50LFxuICApOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZlJlY3QsXG4gICAgICAgIHNuYXBDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fY29ubmVjdG9yUmVjdCxcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi1zb3VyY2UuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tc291cmNlLmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQWdCbEI7SUFDQTtJQUNBO0lBQ0E7SUFsQlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFpQyxDQUFDO0lBQ3hFLENBQUM7SUFFZ0IsY0FBYyxDQUFlO0lBRXRDLGVBQWUsQ0FBdUM7SUFFOUQsWUFDbUIsU0FBb0IsRUFDcEIsV0FBNEIsRUFDNUIsdUJBQTBDLEVBQzFDLHVCQUEwQztRQUgxQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQW1CO1FBQzFDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFFM0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFTSx3QkFBd0I7UUFDN0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNsRCxJQUFJLHlDQUF5QyxDQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUNqRCxDQUNGLENBQUM7UUFDRixNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQ3BFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FDMUQsQ0FBQztRQUNGLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDakUsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVNLHdCQUF3QixDQUFDLGNBQW9EO1FBQ2xGLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUNELGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6RCxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQjtRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsUUFBUSxFQUNSLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQ3pGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQ3RCLHFDQUFxQyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDL0UsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQzNCLEtBQWEsRUFDYixVQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUMzQixJQUFJLGdDQUFnQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FDeEQsQ0FBQztJQUNKLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxLQUF3QjtRQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsS0FBd0I7UUFDckUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSx3Q0FBd0MsQ0FDMUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLEVBQ2pDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQ2hCLEtBQUssRUFDTCxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUN6RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sbUJBQW1CLENBQUMsaUJBQWdEO1FBQzFFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFnQixDQUFDO1FBQzdDLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdEYsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0NBQWdDLENBQ3RDLGFBQWdDLEVBQ2hDLGNBQXdDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksd0NBQXdDLENBQzFDLGFBQWEsQ0FBQyxLQUFLLEVBQ25CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQ2xDLGNBQWMsRUFDZCxhQUFhLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQ3ZDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM3RixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCxcbiAgQ2FsY3VsYXRlU291cmNlQ29ubmVjdG9yc1RvQ29ubmVjdFJlcXVlc3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgRk5vZGVJbnB1dERpcmVjdGl2ZSxcbiAgRk5vZGVPdXRwdXREaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtcbiAgSUZSZWFzc2lnbkhhbmRsZXIsXG4gIGlzQ2xvc2VzdENvbm5lY3Rvckluc2lkZVNuYXBUaHJlc2hvbGQsXG4gIHJvdW5kZWRSZWN0RnJvbVBvaW50LFxufSBmcm9tICcuL2ktZi1yZWFzc2lnbi1oYW5kbGVyJztcblxuZXhwb3J0IGNsYXNzIEZSZWFzc2lnblNvdXJjZURyYWdIYW5kbGVyIGltcGxlbWVudHMgSUZSZWFzc2lnbkhhbmRsZXIge1xuICBwcml2YXRlIF9jb25uZWN0YWJsZUNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10gPSBbXTtcblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yKCk6IEZOb2RlT3V0cHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlQ29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlT3V0cHV0RGlyZWN0aXZlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3RhcmdldENvbm5lY3RvcigpOiBGTm9kZUlucHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlSW5wdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0b3JSZWN0ITogUm91bmRlZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2VDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXRDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgKSB7XG4gICAgdGhpcy5fY29ubmVjdG9yUmVjdCA9IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDEpO1xuICB9XG5cbiAgcHVibGljIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzO1xuICB9XG5cbiAgcHVibGljIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IENhbGN1bGF0ZVNvdXJjZUNvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0KFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3IsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZlJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICAgICksXG4gICAgKTtcbiAgICBjb25zdCBpc0V4aXN0Q3VycmVudFNvdXJjZUNvbm5lY3RvciA9IHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5zb21lKFxuICAgICAgKHgpID0+IHguZkNvbm5lY3Rvci5mSWQoKSA9PT0gdGhpcy5fc291cmNlQ29ubmVjdG9yLmZJZCgpLFxuICAgICk7XG4gICAgaWYgKCFpc0V4aXN0Q3VycmVudFNvdXJjZUNvbm5lY3Rvcikge1xuICAgICAgdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLnB1c2godGhpcy5fc291cmNlQ29ubmVjdG9yQW5kUmVjdCk7XG4gICAgfVxuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24gPSBzbmFwQ29ubmVjdGlvbjtcbiAgICBpZiAoIXNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNuYXBDb25uZWN0aW9uLmZJbnB1dElkLnNldCh0aGlzLl9jb25uZWN0aW9uLmZJbnB1dElkKCkpO1xuICAgIHNuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1BvaW50ID0gdGhpcy5fY29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKTtcblxuICAgIGNvbnN0IGZDbG9zZXN0Q29ubmVjdG9yID0gdGhpcy5fZmluZENsb3Nlc3RDb25uZWN0b3IobmV3UG9pbnQsIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyk7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24oXG4gICAgICBuZXdQb2ludCxcbiAgICAgIGZDbG9zZXN0Q29ubmVjdG9yPy5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgfHwgdGhpcy5fc291cmNlQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgKTtcbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbihcbiAgICAgICAgaXNDbG9zZXN0Q29ubmVjdG9ySW5zaWRlU25hcFRocmVzaG9sZChmQ2xvc2VzdENvbm5lY3RvciwgdGhpcy5fc25hcENvbm5lY3Rpb24pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdENvbm5lY3RvcihcbiAgICBwb2ludDogSVBvaW50LFxuICAgIGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10sXG4gICk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QocG9pbnQsIGNvbm5lY3RvcnMpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3Q29ubmVjdGlvbihuZXdQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fY2FsY3VsYXRlTmV3TGluZShuZXdQb2ludCwgZlNpZGUpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lKTtcbiAgICB0aGlzLl9jb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlTmV3TGluZShzb3VyY2VQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHJvdW5kZWRSZWN0RnJvbVBvaW50KHNvdXJjZVBvaW50KSxcbiAgICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mUmVjdCxcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbixcbiAgICAgICAgZlNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd1NuYXBDb25uZWN0aW9uKGZDbG9zZXN0Q29ubmVjdG9yOiBJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGNvbnN0IHNuYXBDb25uZWN0aW9uID0gdGhpcy5fc25hcENvbm5lY3Rpb24hO1xuICAgIGlmIChmQ2xvc2VzdENvbm5lY3Rvcikge1xuICAgICAgY29uc3QgbGluZSA9IHRoaXMuX2dldExpbmVUb0Nsb3Nlc3RTb3VyY2VDb25uZWN0b3IoZkNsb3Nlc3RDb25uZWN0b3IsIHNuYXBDb25uZWN0aW9uKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnNob3coKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnNldExpbmUobGluZSk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25hcENvbm5lY3Rpb24uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldExpbmVUb0Nsb3Nlc3RTb3VyY2VDb25uZWN0b3IoXG4gICAgZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RDb25uZWN0b3IsXG4gICAgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZSZWN0LFxuICAgICAgICBzbmFwQ29ubmVjdGlvbixcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIHRoaXMuX3RhcmdldENvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlclVwKCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYXdDb25uZWN0aW9uKFxuICAgICAgdGhpcy5fY29ubmVjdG9yUmVjdCxcbiAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24/LmhpZGUoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -52,18 +52,18 @@ export class FReassignTargetDragHandler {
52
52
  }
53
53
  _drawConnection(newPoint, fSide) {
54
54
  const line = this._calculateNewLine(newPoint, fSide);
55
- this._connection.setLine(line, this._sourceConnectorAndRect.fConnector.fConnectableSide, fSide);
55
+ this._connection.setLine(line);
56
56
  this._connection.redraw();
57
57
  }
58
58
  _calculateNewLine(targetPoint, fSide) {
59
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, roundedRectFromPoint(targetPoint), this._connection.fBehavior, this._sourceConnector.fConnectableSide, fSide));
59
+ return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, roundedRectFromPoint(targetPoint), this._connection, this._sourceConnector.fConnectableSide, fSide));
60
60
  }
61
61
  _drawSnapConnection(closestConnector) {
62
62
  const snapConnection = this._snapConnection;
63
63
  if (closestConnector) {
64
64
  const line = this._getLineToClosestTargetConnector(closestConnector, snapConnection);
65
65
  snapConnection.show();
66
- snapConnection.setLine(line, this._sourceConnector.fConnectableSide, closestConnector.fConnector.fConnectableSide);
66
+ snapConnection.setLine(line);
67
67
  snapConnection.redraw();
68
68
  }
69
69
  else {
@@ -71,7 +71,7 @@ export class FReassignTargetDragHandler {
71
71
  }
72
72
  }
73
73
  _getLineToClosestTargetConnector(fClosestInput, snapConnection) {
74
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, fClosestInput.fRect, snapConnection.fBehavior, this._sourceConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
74
+ return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(this._sourceConnectorRect, fClosestInput.fRect, snapConnection, this._sourceConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
75
75
  }
76
76
  onPointerUp() {
77
77
  this._drawConnection(this._connectorRect, this._targetConnectorAndRect.fConnector.fConnectableSide);
@@ -79,4 +79,4 @@ export class FReassignTargetDragHandler {
79
79
  this._mediator.execute(new UnmarkConnectableConnectorsRequest(this._connectableConnectors.map((x) => x.fConnector)));
80
80
  }
81
81
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQW9CbEI7SUFDQTtJQUNBO0lBQ0E7SUF0Qlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVnQixjQUFjLENBQWU7SUFFdEMsZUFBZSxDQUF1QztJQUU5RCxZQUNtQixTQUFvQixFQUNwQixXQUE0QixFQUM1Qix1QkFBMEMsRUFDMUMsdUJBQTBDO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUUzRCxJQUFJLENBQUMsY0FB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bnRlbnQiOlsiaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdCxcbiAgQ2FsY3VsYXRlVGFyZ2V0Q29ubmVjdG9yc1RvQ29ubmVjdFJlcXVlc3QsXG4gIElDbG9zZXN0Q29ubmVjdG9yLFxuICBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG4gIFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgRk5vZGVJbnB1dERpcmVjdGl2ZSxcbiAgRk5vZGVPdXRwdXREaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UsIEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBJUm91bmRlZFJlY3QsIFJvdW5kZWRSZWN0IH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQge1xuICBJRlJlYXNzaWduSGFuZGxlcixcbiAgaXNDbG9zZXN0Q29ubmVjdG9ySW5zaWRlU25hcFRocmVzaG9sZCxcbiAgcm91bmRlZFJlY3RGcm9tUG9pbnQsXG59IGZyb20gJy4vaS1mLXJlYXNzaWduLWhhbmRsZXInO1xuXG5leHBvcnQgY2xhc3MgRlJlYXNzaWduVGFyZ2V0RHJhZ0hhbmRsZXIgaW1wbGVtZW50cyBJRlJlYXNzaWduSGFuZGxlciB7XG4gIHByaXZhdGUgX2Nvbm5lY3RhYmxlQ29ubmVjdG9yczogSUNvbm5lY3RvckFuZFJlY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3IoKTogRk5vZGVPdXRwdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVPdXRwdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIGdldCBfc291cmNlQ29ubmVjdG9yUmVjdCgpOiBJUm91bmRlZFJlY3Qge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LmZSZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX3RhcmdldENvbm5lY3RvcigpOiBGTm9kZUlucHV0RGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yIGFzIEZOb2RlSW5wdXREaXJlY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0b3JSZWN0ITogUm91bmRlZFJlY3Q7XG5cbiAgcHJpdmF0ZSBfc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3Rpb246IEZDb25uZWN0aW9uQmFzZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2VDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90YXJnZXRDb25uZWN0b3JBbmRSZWN0OiBJQ29ubmVjdG9yQW5kUmVjdCxcbiAgKSB7XG4gICAgdGhpcy5fY29ubmVjdG9yUmVjdCA9IHJvdW5kZWRSZWN0RnJvbVBvaW50KHRoaXMuX2Nvbm5lY3Rpb24ubGluZS5wb2ludDIpO1xuICB9XG5cbiAgcHVibGljIGdldENvbm5lY3RhYmxlQ29ubmVjdG9ycygpOiBJQ29ubmVjdG9yQW5kUmVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzO1xuICB9XG5cbiAgcHVibGljIG1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0W10+KFxuICAgICAgbmV3IENhbGN1bGF0ZVRhcmdldENvbm5lY3RvcnNUb0Nvbm5lY3RSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3IsXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvclJlY3QuZ3Jhdml0eUNlbnRlcixcbiAgICAgICksXG4gICAgKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICBuZXcgTWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplU25hcENvbm5lY3Rpb24oc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uID0gc25hcENvbm5lY3Rpb247XG4gICAgaWYgKCFzbmFwQ29ubmVjdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzbmFwQ29ubmVjdGlvbi5mT3V0cHV0SWQuc2V0KHRoaXMuX2Nvbm5lY3Rpb24uZk91dHB1dElkKCkpO1xuICAgIHNuYXBDb25uZWN0aW9uLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJNb3ZlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIGNvbnN0IG5ld1BvaW50ID0gdGhpcy5fY29ubmVjdG9yUmVjdC5hZGRQb2ludChkaWZmZXJlbmNlKTtcblxuICAgIGNvbnN0IGZDbG9zZXN0Q29ubmVjdG9yID0gdGhpcy5fZmluZENsb3Nlc3RDb25uZWN0b3IobmV3UG9pbnQsIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyk7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24oXG4gICAgICBuZXdQb2ludCxcbiAgICAgIGZDbG9zZXN0Q29ubmVjdG9yPy5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUgfHwgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgKTtcbiAgICBpZiAodGhpcy5fc25hcENvbm5lY3Rpb24pIHtcbiAgICAgIHRoaXMuX2RyYXdTbmFwQ29ubmVjdGlvbihcbiAgICAgICAgaXNDbG9zZXN0Q29ubmVjdG9ySW5zaWRlU25hcFRocmVzaG9sZChmQ2xvc2VzdENvbm5lY3RvciwgdGhpcy5fc25hcENvbm5lY3Rpb24pLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9maW5kQ2xvc2VzdENvbm5lY3RvcihcbiAgICBwb2ludDogSVBvaW50LFxuICAgIGNvbm5lY3RvcnM6IElDb25uZWN0b3JBbmRSZWN0W10sXG4gICk6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ2xvc2VzdENvbm5lY3RvciB8IHVuZGVmaW5lZD4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ2xvc2VzdENvbm5lY3RvclJlcXVlc3QocG9pbnQsIGNvbm5lY3RvcnMpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3Q29ubmVjdGlvbihuZXdQb2ludDogSVBvaW50LCBmU2lkZTogRUZDb25uZWN0YWJsZVNpZGUpOiB2b2lkIHtcbiAgICBjb25zdCBsaW5lID0gdGhpcy5fY2FsY3VsYXRlTmV3TGluZShuZXdQb2ludCwgZlNpZGUpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24uc2V0TGluZShsaW5lLCB0aGlzLl9zb3VyY2VDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSwgZlNpZGUpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVOZXdMaW5lKHRhcmdldFBvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yUmVjdCxcbiAgICAgICAgcm91bmRlZFJlY3RGcm9tUG9pbnQodGFyZ2V0UG9pbnQpLFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICAgIGZTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfZHJhd1NuYXBDb25uZWN0aW9uKGNsb3Nlc3RDb25uZWN0b3I6IElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3Qgc25hcENvbm5lY3Rpb24gPSB0aGlzLl9zbmFwQ29ubmVjdGlvbiE7XG4gICAgaWYgKGNsb3Nlc3RDb25uZWN0b3IpIHtcbiAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9nZXRMaW5lVG9DbG9zZXN0VGFyZ2V0Q29ubmVjdG9yKGNsb3Nlc3RDb25uZWN0b3IsIHNuYXBDb25uZWN0aW9uKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnNob3coKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnNldExpbmUoXG4gICAgICAgIGxpbmUsXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBjbG9zZXN0Q29ubmVjdG9yLmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICk7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc25hcENvbm5lY3Rpb24uaGlkZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldExpbmVUb0Nsb3Nlc3RUYXJnZXRDb25uZWN0b3IoXG4gICAgZkNsb3Nlc3RJbnB1dDogSUNsb3Nlc3RDb25uZWN0b3IsXG4gICAgc25hcENvbm5lY3Rpb246IEZTbmFwQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3JSZWN0LFxuICAgICAgICBmQ2xvc2VzdElucHV0LmZSZWN0LFxuICAgICAgICBzbmFwQ29ubmVjdGlvbi5mQmVoYXZpb3IsXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgICBmQ2xvc2VzdElucHV0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBvaW50ZXJVcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kcmF3Q29ubmVjdGlvbihcbiAgICAgIHRoaXMuX2Nvbm5lY3RvclJlY3QsXG4gICAgICB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICAgIHRoaXMuX3NuYXBDb25uZWN0aW9uPy5oaWRlKCk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKFxuICAgICAgbmV3IFVubWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yc1JlcXVlc3QodGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzLm1hcCgoeCkgPT4geC5mQ29ubmVjdG9yKSksXG4gICAgKTtcbiAgfVxufVxuIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWFzc2lnbi10YXJnZXQuZHJhZy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWNvbm5lY3Rpb24vZi1yZWFzc2lnbi1jb25uZWN0aW9uL2YtcmVhc3NpZ24tdGFyZ2V0LmRyYWctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLGdDQUFnQyxFQUNoQyx5Q0FBeUMsRUFHekMsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxHQUNuQyxNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE9BQU8sRUFFTCxxQ0FBcUMsRUFDckMsb0JBQW9CLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsTUFBTSxPQUFPLDBCQUEwQjtJQW9CbEI7SUFDQTtJQUNBO0lBQ0E7SUF0Qlgsc0JBQXNCLEdBQXdCLEVBQUUsQ0FBQztJQUV6RCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFrQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFZLG9CQUFvQjtRQUM5QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQWlDLENBQUM7SUFDeEUsQ0FBQztJQUVnQixjQUFjLENBQWU7SUFFdEMsZUFBZSxDQUF1QztJQUU5RCxZQUNtQixTQUFvQixFQUNwQixXQUE0QixFQUM1Qix1QkFBMEMsRUFDMUMsdUJBQTBDO1FBSDFDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBbUI7UUFDMUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFtQjtRQUUzRCxJQUFJLENBQUMsY0FB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LEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDckYsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ04sY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0NBQWdDLENBQ3RDLGFBQWdDLEVBQ2hDLGNBQXdDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzNCLElBQUksd0NBQXdDLENBQzFDLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsYUFBYSxDQUFDLEtBQUssRUFDbkIsY0FBYyxFQUNkLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFDdEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDMUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FDbEIsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDekQsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BCLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQzdGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QsXG4gIENhbGN1bGF0ZUNsb3Nlc3RDb25uZWN0b3JSZXF1ZXN0LFxuICBDYWxjdWxhdGVUYXJnZXRDb25uZWN0b3JzVG9Db25uZWN0UmVxdWVzdCxcbiAgSUNsb3Nlc3RDb25uZWN0b3IsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxuICBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbiAgVW5tYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCxcbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEVGQ29ubmVjdGFibGVTaWRlLFxuICBGTm9kZUlucHV0RGlyZWN0aXZlLFxuICBGTm9kZU91dHB1dERpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSwgRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IElMaW5lLCBJUG9pbnQsIElSb3VuZGVkUmVjdCwgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7XG4gIElGUmVhc3NpZ25IYW5kbGVyLFxuICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkLFxuICByb3VuZGVkUmVjdEZyb21Qb2ludCxcbn0gZnJvbSAnLi9pLWYtcmVhc3NpZ24taGFuZGxlcic7XG5cbmV4cG9ydCBjbGFzcyBGUmVhc3NpZ25UYXJnZXREcmFnSGFuZGxlciBpbXBsZW1lbnRzIElGUmVhc3NpZ25IYW5kbGVyIHtcbiAgcHJpdmF0ZSBfY29ubmVjdGFibGVDb25uZWN0b3JzOiBJQ29ubmVjdG9yQW5kUmVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBnZXQgX3NvdXJjZUNvbm5lY3RvcigpOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZkNvbm5lY3RvciBhcyBGTm9kZU91dHB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9zb3VyY2VDb25uZWN0b3JSZWN0KCk6IElSb3VuZGVkUmVjdCB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZUNvbm5lY3RvckFuZFJlY3QuZlJlY3Q7XG4gIH1cblxuICBwcml2YXRlIGdldCBfdGFyZ2V0Q29ubmVjdG9yKCk6IEZOb2RlSW5wdXREaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl90YXJnZXRDb25uZWN0b3JBbmRSZWN0LmZDb25uZWN0b3IgYXMgRk5vZGVJbnB1dERpcmVjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nvbm5lY3RvclJlY3QhOiBSb3VuZGVkUmVjdDtcblxuICBwcml2YXRlIF9zbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3IsXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZUNvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhcmdldENvbm5lY3RvckFuZFJlY3Q6IElDb25uZWN0b3JBbmRSZWN0LFxuICApIHtcbiAgICB0aGlzLl9jb25uZWN0b3JSZWN0ID0gcm91bmRlZFJlY3RGcm9tUG9pbnQodGhpcy5fY29ubmVjdGlvbi5saW5lLnBvaW50Mik7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGFibGVDb25uZWN0b3JzKCk6IElDb25uZWN0b3JBbmRSZWN0W10ge1xuICAgIHJldHVybiB0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnM7XG4gIH1cblxuICBwdWJsaWMgbWFya0Nvbm5lY3RhYmxlQ29ubmVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycyA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3RbXT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlVGFyZ2V0Q29ubmVjdG9yc1RvQ29ubmVjdFJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvcixcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yUmVjdC5ncmF2aXR5Q2VudGVyLFxuICAgICAgKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBNYXJrQ29ubmVjdGFibGVDb25uZWN0b3JzUmVxdWVzdCh0aGlzLl9jb25uZWN0YWJsZUNvbm5lY3RvcnMubWFwKCh4KSA9PiB4LmZDb25uZWN0b3IpKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemVTbmFwQ29ubmVjdGlvbihzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgdGhpcy5fc25hcENvbm5lY3Rpb24gPSBzbmFwQ29ubmVjdGlvbjtcbiAgICBpZiAoIXNuYXBDb25uZWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNuYXBDb25uZWN0aW9uLmZPdXRwdXRJZC5zZXQodGhpcy5fY29ubmVjdGlvbi5mT3V0cHV0SWQoKSk7XG4gICAgc25hcENvbm5lY3Rpb24uaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHVibGljIG9uUG9pbnRlck1vdmUoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgY29uc3QgbmV3UG9pbnQgPSB0aGlzLl9jb25uZWN0b3JSZWN0LmFkZFBvaW50KGRpZmZlcmVuY2UpO1xuXG4gICAgY29uc3QgZkNsb3Nlc3RDb25uZWN0b3IgPSB0aGlzLl9maW5kQ2xvc2VzdENvbm5lY3RvcihuZXdQb2ludCwgdGhpcy5fY29ubmVjdGFibGVDb25uZWN0b3JzKTtcbiAgICB0aGlzLl9kcmF3Q29ubmVjdGlvbihcbiAgICAgIG5ld1BvaW50LFxuICAgICAgZkNsb3Nlc3RDb25uZWN0b3I/LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSB8fCB0aGlzLl90YXJnZXRDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICApO1xuICAgIGlmICh0aGlzLl9zbmFwQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5fZHJhd1NuYXBDb25uZWN0aW9uKFxuICAgICAgICBpc0Nsb3Nlc3RDb25uZWN0b3JJbnNpZGVTbmFwVGhyZXNob2xkKGZDbG9zZXN0Q29ubmVjdG9yLCB0aGlzLl9zbmFwQ29ubmVjdGlvbiksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmRDbG9zZXN0Q29ubmVjdG9yKFxuICAgIHBvaW50OiBJUG9pbnQsXG4gICAgY29ubmVjdG9yczogSUNvbm5lY3RvckFuZFJlY3RbXSxcbiAgKTogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDbG9zZXN0Q29ubmVjdG9yIHwgdW5kZWZpbmVkPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDbG9zZXN0Q29ubmVjdG9yUmVxdWVzdChwb2ludCwgY29ubmVjdG9ycyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RyYXdDb25uZWN0aW9uKG5ld1BvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IHZvaWQge1xuICAgIGNvbnN0IGxpbmUgPSB0aGlzLl9jYWxjdWxhdGVOZXdMaW5lKG5ld1BvaW50LCBmU2lkZSk7XG4gICAgdGhpcy5fY29ubmVjdGlvbi5zZXRMaW5lKGxpbmUpO1xuICAgIHRoaXMuX2Nvbm5lY3Rpb24ucmVkcmF3KCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVOZXdMaW5lKHRhcmdldFBvaW50OiBJUG9pbnQsIGZTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSk6IElMaW5lIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJTGluZT4oXG4gICAgICBuZXcgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdChcbiAgICAgICAgdGhpcy5fc291cmNlQ29ubmVjdG9yUmVjdCxcbiAgICAgICAgcm91bmRlZFJlY3RGcm9tUG9pbnQodGFyZ2V0UG9pbnQpLFxuICAgICAgICB0aGlzLl9jb25uZWN0aW9uLFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgZlNpZGUsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9kcmF3U25hcENvbm5lY3Rpb24oY2xvc2VzdENvbm5lY3RvcjogSUNsb3Nlc3RDb25uZWN0b3IgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBjb25zdCBzbmFwQ29ubmVjdGlvbiA9IHRoaXMuX3NuYXBDb25uZWN0aW9uITtcbiAgICBpZiAoY2xvc2VzdENvbm5lY3Rvcikge1xuICAgICAgY29uc3QgbGluZSA9IHRoaXMuX2dldExpbmVUb0Nsb3Nlc3RUYXJnZXRDb25uZWN0b3IoY2xvc2VzdENvbm5lY3Rvciwgc25hcENvbm5lY3Rpb24pO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2hvdygpO1xuICAgICAgc25hcENvbm5lY3Rpb24uc2V0TGluZShsaW5lKTtcbiAgICAgIHNuYXBDb25uZWN0aW9uLnJlZHJhdygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzbmFwQ29ubmVjdGlvbi5oaWRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0TGluZVRvQ2xvc2VzdFRhcmdldENvbm5lY3RvcihcbiAgICBmQ2xvc2VzdElucHV0OiBJQ2xvc2VzdENvbm5lY3RvcixcbiAgICBzbmFwQ29ubmVjdGlvbjogRlNuYXBDb25uZWN0aW9uQ29tcG9uZW50LFxuICApOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIHRoaXMuX3NvdXJjZUNvbm5lY3RvclJlY3QsXG4gICAgICAgIGZDbG9zZXN0SW5wdXQuZlJlY3QsXG4gICAgICAgIHNuYXBDb25uZWN0aW9uLFxuICAgICAgICB0aGlzLl9zb3VyY2VDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgZkNsb3Nlc3RJbnB1dC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Qb2ludGVyVXAoKTogdm9pZCB7XG4gICAgdGhpcy5fZHJhd0Nvbm5lY3Rpb24oXG4gICAgICB0aGlzLl9jb25uZWN0b3JSZWN0LFxuICAgICAgdGhpcy5fdGFyZ2V0Q29ubmVjdG9yQW5kUmVjdC5mQ29ubmVjdG9yLmZDb25uZWN0YWJsZVNpZGUsXG4gICAgKTtcbiAgICB0aGlzLl9zbmFwQ29ubmVjdGlvbj8uaGlkZSgpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBVbm1hcmtDb25uZWN0YWJsZUNvbm5lY3RvcnNSZXF1ZXN0KHRoaXMuX2Nvbm5lY3RhYmxlQ29ubmVjdG9ycy5tYXAoKHgpID0+IHguZkNvbm5lY3RvcikpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -4,7 +4,7 @@ import { FNodeMoveFinalizeRequest, FNodeMovePreparationRequest, } from './f-node
4
4
  import { FCanvasMoveFinalizeRequest, FCanvasMovePreparationRequest } from './f-canvas';
5
5
  import { FCreateConnectionFinalizeRequest, CreateConnectionPreparationRequest, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationRequest, } from './f-connection';
6
6
  import { FMediator } from '@foblex/mediator';
7
- import { AddDndToStoreRequest, defaultEventTrigger, EmitSelectionChangeEventRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, PrepareDragSequenceRequest, RemoveDndFromStoreRequest, } from '../domain';
7
+ import { AddDndToStoreRequest, defaultEventTrigger, EmitSelectionChangeEventRequest, EndDragSequenceRequest, InitializeDragSequenceRequest, OnPointerMoveRequest, PrepareDragSequenceRequest, DragRectCache, RemoveDndFromStoreRequest, } from '../domain';
8
8
  import { FExternalItemFinalizeRequest, FExternalItemPreparationRequest, PreventDefaultIsExternalItemRequest, } from '../f-external-item';
9
9
  import { FSingleSelectRequest } from './f-single-select';
10
10
  import { NodeResizeFinalizeRequest, NodeResizePreparationRequest } from './f-node-resize';
@@ -176,6 +176,7 @@ export class FDraggableDirective extends FDraggableBase {
176
176
  this._mediator.execute(new EndDragSequenceRequest());
177
177
  }
178
178
  finalizeDragSequence() {
179
+ DragRectCache.invalidateAll();
179
180
  this._mediator.execute(new EmitSelectionChangeEventRequest());
180
181
  this._result.clear();
181
182
  }
@@ -240,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
240
241
  type: ContentChildren,
241
242
  args: [F_AFTER_MAIN_PLUGIN, { descendants: true }]
242
243
  }] } });
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFHZixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsMkJBQTJCLEdBQzVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBRUwsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxFQUVsQyxrQ0FBa0MsRUFDbEMscUNBQXFDLEdBQ3RDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQixzQkFBc0IsRUFHdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIseUJBQXlCLEdBQzFCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFFTCw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGlCQUFpQixD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QW9CO3NCQUQxQixLQUFLO2dCQUlVLGdCQUFnQjtzQkFEL0IsTUFBTTtnQkFJUywrQkFBK0I7c0JBRDlDLE1BQU07Z0JBS1Msb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUl0QixXQUFXO3NCQUQxQixNQUFNO2dCQUlTLFVBQVU7c0JBRHpCLE1BQU07Z0JBSVMsbUJBQW1CO3NCQURsQyxNQUFNO2dCQUlTLGlCQUFpQjtzQkFEaEMsTUFBTTtnQkFJUyxZQUFZO3NCQUQzQixNQUFNO2dCQStCUyxZQUFZO3NCQUQzQixNQUFNO2dCQUlTLFVBQVU7c0JBRHpCLE1BQU07Z0JBSUMsY0FBYztzQkFEckIsZUFBZTt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSXBELGFBQWE7c0JBRHBCLGVBQWU7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgbnVtYmVyQXR0cmlidXRlLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZUJhc2UgfSBmcm9tICcuL2YtZHJhZ2dhYmxlLWJhc2UnO1xuaW1wb3J0IHtcbiAgRk1vdmVOb2Rlc0V2ZW50LFxuICBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QsXG4gIEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9mLW5vZGUtbW92ZSc7XG5pbXBvcnQgeyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdCwgRkNhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QgfSBmcm9tICcuL2YtY2FudmFzJztcbmltcG9ydCB7XG4gIEZDcmVhdGVDb25uZWN0aW9uRXZlbnQsXG4gIEZDcmVhdGVDb25uZWN0aW9uRmluYWxpemVSZXF1ZXN0LFxuICBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vZi1jb25uZWN0aW9uJztcbmltcG9ydCB7IEZTZWxlY3Rpb25DaGFuZ2VFdmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24tY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkRG5kVG9TdG9yZVJlcXVlc3QsXG4gIGRlZmF1bHRFdmVudFRyaWdnZXIsXG4gIEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QsXG4gIEVuZERyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIEZFdmVudFRyaWdnZXIsXG4gIEZUcmlnZ2VyRXZlbnQsXG4gIEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0LFxuICBPblBvaW50ZXJNb3ZlUmVxdWVzdCxcbiAgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIFJlbW92ZURuZEZyb21TdG9yZVJlcXVlc3QsXG59IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQge1xuICBGQ3JlYXRlTm9kZUV2ZW50LFxuICBGRXh0ZXJuYWxJdGVtRmluYWxpemVSZXF1ZXN0LFxuICBGRXh0ZXJuYWxJdGVtUHJlcGFyYXRpb25SZXF1ZXN0LFxuICBQcmV2ZW50RGVmYXVsdElzRXh0ZXJuYWxJdGVtUmVxdWVzdCxcbn0gZnJvbSAnLi4vZi1leHRlcm5hbC1pdGVtJztcbmltcG9ydCB7IEZTaW5nbGVTZWxlY3RSZXF1ZXN0IH0gZnJvbSAnLi9mLXNpbmdsZS1zZWxlY3QnO1xuaW1wb3J0IHsgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdCwgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLXJlc2l6ZSc7XG5pbXBvcnQge1xuICBGX0FGVEVSX01BSU5fUExVR0lOLFxuICBGX0JFRk9SRV9NQUlOX1BMVUdJTixcbiAgSUZEcmFnQW5kRHJvcFBsdWdpbixcbn0gZnJvbSAnLi9pLWYtZHJhZy1hbmQtZHJvcC1wbHVnaW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UsIEVPcGVyYXRpb25TeXN0ZW0sIFBsYXRmb3JtU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkRyYWdTdGFydGVkRXZlbnQsIEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRHJhZ0hhbmRsZXJSZXN1bHQgfSBmcm9tICcuL2YtZHJhZy1oYW5kbGVyJztcbmltcG9ydCB7XG4gIEZEcm9wVG9Hcm91cEV2ZW50LFxuICBEcm9wVG9Hcm91cEZpbmFsaXplUmVxdWVzdCxcbiAgRHJvcFRvR3JvdXBQcmVwYXJhdGlvblJlcXVlc3QsXG59IGZyb20gJy4vZi1kcm9wLXRvLWdyb3VwJztcbmltcG9ydCB7IEZOb2RlUm90YXRlRmluYWxpemVSZXF1ZXN0LCBGTm9kZVJvdGF0ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1ub2RlLXJvdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnRlckV2ZW50IH0gZnJvbSAnLi4vZHJhZy10b29sa2l0JztcbmltcG9ydCB7IGlzRHJhZ0Jsb2NrZXIgfSBmcm9tICcuL2lzLWRyYWctYmxvY2tlcic7XG5cbi8vIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkFxuLy8g4pSCICAgICAgICBBbmd1bGFyIFJlYWxtICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICDilIJcbi8vIOKUgiAg4pSCICBGRHJhZ2dhYmxlRGlyZWN0aXZlICAg4pSCICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgZXh0ZW5kcyAgICAgICAg4pSCXG4vLyDilIIgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKWvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAg4pSCXG4vLyDilIIgIOKUgiAgICAgRkRyYWdnYWJsZUJhc2UgICAgIOKUgiAg4pSCXG4vLyDilIIgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiBvdmVycmlkZXMgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pa84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICDilIJcbi8vIOKUgiAg4pSCICAgRHJhZ0FuZERyb3BCYXNlICAgICAg4pSCICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICBzdWJzY3JpYmVzIHRvICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKWvOKUgOKUgOKUgOKUgOKUkCAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiBEb2N1bWVudOKUgiAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICDilIJcbi8vIOKUgiAg4pSCICAgICAgIEZNZWRpYXRvciAgICAgICAg4pSC4peE4pSA4pSs4pSA4pSA4pSA4pSA4pSQXG4vLyDilIIgIOKUlOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAg4pSCICAgIOKUglxuLy8g4pSCICAgICAgICDilIIgICAgICAgIOKUgiAgICAgICAgICAgIOKUgiAgICDilIJcbi8vIOKUgiAgIGV4ZWN1dGVzICAgZXhlY3V0ZXMgICAgICAgIOKUgiAgICDilIJcbi8vIOKUgiAgIEYqUmVxdWVzdCAgIEYqRXZlbnQgICAgICAgIOKUgiAgICDilIJcbi8vIOKUgiAgICAgICAg4pSCICAgICAgICDilIIgICAgICAgICAgICDilIIgICAg4pSCXG4vLyDilJTilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilJhcbi8vXG4vL1xuLy8g4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQXG4vLyDilIIgICAgICAgRHJhZyAmIERyb3AgUnVudGltZSBMYXllciAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgRXZlbnRzIGZyb20gRE9NOiAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgLSBtb3VzZWRvd24gLyB0b3VjaHN0YXJ0ICAgICAgICAgIOKUglxuLy8g4pSCICAgIC0gbW91c2Vtb3ZlIC8gdG91Y2htb3ZlICAgICAgICAgICDilIJcbi8vIOKUgiAgICAtIHBvaW50ZXJ1cCAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDihpMgUm91dGVkIHRvICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUglxuLy8g4pSCICDilIIgICAgIERyYWdBbmREcm9wQmFzZSAgICAgICAgICDilIIgICAg4pSCXG4vLyDilIIgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilIJcbi8vIOKUgiAgICAgICAg4payICAgICAgICAgICAgIOKWsiAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICDilIIgICAgICAgICAgICAg4pSCICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICBjaGVja0RyYWcgICAgIG9uUG9pbnRlck1vdmUgICAgICAgIOKUglxuLy8g4pSCICAgU2VxdWVuY2UgICAgICArIEZpbmFsaXphdGlvbiAgICAgICDilIJcbi8vIOKUgiAgIFRvIFN0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJhcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2YtZmxvd1tmRHJhZ2dhYmxlXScsXG4gIGV4cG9ydEFzOiAnZkRyYWdnYWJsZScsXG4gIHByb3ZpZGVyczogW0ZEcmFnSGFuZGxlclJlc3VsdF0sXG59KVxuZXhwb3J0IGNsYXNzIEZEcmFnZ2FibGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBGRHJhZ2dhYmxlQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc3VsdCA9IGluamVjdChGRHJhZ0hhbmRsZXJSZXN1bHQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQbGF0Zm9ybVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9icm93c2VyID0gaW5qZWN0KEJyb3dzZXJTZXJ2aWNlKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsIGFsaWFzOiAnZkRyYWdnYWJsZURpc2FibGVkJyB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk11bHRpU2VsZWN0VHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IChldmVudDogRlRyaWdnZXJFdmVudCkgPT4ge1xuICAgIHJldHVybiB0aGlzLl9wbGF0Zm9ybS5nZXRPUygpID09PSBFT3BlcmF0aW9uU3lzdGVtLk1BQ19PUyA/IGV2ZW50Lm1ldGFLZXkgOiBldmVudC5jdHJsS2V5O1xuICB9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmUmVhc3NpZ25Db25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUmVzaXplVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlUm90YXRlVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZOb2RlTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmQ2FudmFzTW92ZVRyaWdnZXI6IEZFdmVudFRyaWdnZXIgPSBkZWZhdWx0RXZlbnRUcmlnZ2VyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmRXh0ZXJuYWxJdGVtVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmU2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGU2VsZWN0aW9uQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZUludGVyc2VjdGVkV2l0aENvbm5lY3Rpb25zID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnM+KCk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRW1pdE9uTm9kZUludGVyc2VjdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkNyZWF0ZU5vZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEZDcmVhdGVOb2RlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmTW92ZU5vZGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGTW92ZU5vZGVzRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25Db25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGUmVhc3NpZ25Db25uZWN0aW9uRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlQ29ubmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZUNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcm9wVG9Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RkRyb3BUb0dyb3VwRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIHZlcnRpY2FsIGNlbGwgc2l6ZSBmb3IgdGhlIGdyaWQuXG4gICAqIFRoaXMgdmFsdWUgaXMgdXNlZCB0byBzbmFwIG5vZGVzIHRvIGEgdmVydGljYWwgZ3JpZCB3aGlsZSBkcmFnZ2luZy5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDFgLCB3aGljaCBtZWFucyB0aGF0IG5vZGVzIHdpbGwgc25hcCB0byBldmVyeSBwaXhlbCB2ZXJ0aWNhbGx5LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHZDZWxsU2l6ZSA9IGlucHV0KDEsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGhlIGhvcml6b250YWwgY2VsbCBzaXplIGZvciB0aGUgZ3JpZC5cbiAgICogVGhpcyB2YWx1ZSBpcyB1c2VkIHRvIHNuYXAgbm9kZXMgdG8gYSBob3Jpem9udGFsIGdyaWQgd2hpbGUgZHJhZ2dpbmcuXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGAxYCwgd2hpY2ggbWVhbnMgdGhhdCBub2RlcyB3aWxsIHNuYXAgdG8gZXZlcnkgcGl4ZWwgaG9yaXpvbnRhbGx5LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGhDZWxsU2l6ZSA9IGlucHV0KDEsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgd2hldGhlciB0aGUgY2VsbCBzaXplIHNob3VsZCBiZSBhcHBsaWVkIHdoaWxlIGRyYWdnaW5nLlxuICAgKiBJZiBzZXQgdG8gYHRydWVgLCB0aGUgZHJhZ2dlZCBub2RlcyB3aWxsIHNuYXAgdG8gdGhlIGdyaWQgZGVmaW5lZCBieSBgdkNlbGxTaXplYCBhbmQgYGhDZWxsU2l6ZWAuXG4gICAqIElmIHNldCB0byBgZmFsc2VgLCB0aGUgbm9kZXMgd2lsbCBtb3ZlIGZyZWVseSB3aXRob3V0IHNuYXBwaW5nIHRvIHRoZSBncmlkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZDZWxsU2l6ZVdoaWxlRHJhZ2dpbmcgPSBpbnB1dChmYWxzZSwge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBib29sZWFuQXR0cmlidXRlKHZhbHVlKSxcbiAgfSk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ1N0YXJ0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZEcmFnU3RhcnRlZEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdFbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKEZfQkVGT1JFX01BSU5fUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX2JlZm9yZVBsdWdpbnMhOiBRdWVyeUxpc3Q8SUZEcmFnQW5kRHJvcFBsdWdpbj47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihGX0FGVEVSX01BSU5fUExVR0lOLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgX2FmdGVyUGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihpbmplY3QoTmdab25lLCB7IG9wdGlvbmFsOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBBZGREbmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLnN1YnNjcmliZSh0aGlzLl9icm93c2VyLmRvY3VtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbiB7XG4gICAgaWYgKGlzRHJhZ0Jsb2NrZXIoZXZlbnQudGFyZ2V0RWxlbWVudCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZXN1bHQuY2xlYXIoKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEluaXRpYWxpemVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5fYmVmb3JlUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUG9pbnRlckRvd24/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlNpbmdsZVNlbGVjdFJlcXVlc3QoZXZlbnQsIHRoaXMuZk11bHRpU2VsZWN0VHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBGUmVhc3NpZ25Db25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZSZWFzc2lnbkNvbm5lY3Rpb25UcmlnZ2VyKSxcbiAgICApO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihcbiAgICAgIG5ldyBDcmVhdGVDb25uZWN0aW9uUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZDcmVhdGVDb25uZWN0aW9uVHJpZ2dlciksXG4gICAgKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLm9uUG9pbnRlckRvd24/LihldmVudCkpO1xuXG4gICAgY29uc3QgaXNNb3VzZUxlZnRPclRvdWNoID0gZXZlbnQuaXNNb3VzZUxlZnRCdXR0b24oKTtcbiAgICBpZiAoIWlzTW91c2VMZWZ0T3JUb3VjaCkge1xuICAgICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICAgIH1cblxuICAgIHJldHVybiBpc01vdXNlTGVmdE9yVG91Y2g7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCkge1xuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZk5vZGVSZXNpemVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZVJvdGF0ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZVJvdGF0ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZU1vdmVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IEZFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkV4dGVybmFsSXRlbVRyaWdnZXIpLFxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNhbnZhc01vdmVQcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkNhbnZhc01vdmVUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgocCkgPT4gcC5wcmVwYXJlRHJhZ1NlcXVlbmNlPy4oZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXBhcmVEcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE9uUG9pbnRlck1vdmVSZXF1ZXN0KGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkNyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IE5vZGVSZXNpemVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUm90YXRlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGTm9kZU1vdmVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IERyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fYWZ0ZXJQbHVnaW5zLmZvckVhY2goKHgpID0+IHgub25Qb2ludGVyVXA/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbWl0U2VsZWN0aW9uQ2hhbmdlRXZlbnRSZXF1ZXN0KCkpO1xuXG4gICAgdGhpcy5fcmVzdWx0LmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kcmFnZ2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWRyYWdnYWJsZS9mLWRyYWdnYWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFHZixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsMkJBQTJCLEdBQzVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBRUwsZ0NBQWdDLEVBQ2hDLGtDQUFrQyxFQUVsQyxrQ0FBa0MsRUFDbEMscUNBQXFDLEdBQ3RDLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLCtCQUErQixFQUMvQixzQkFBc0IsRUFHdEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsYUFBYSxFQUNiLHlCQUF5QixHQUMxQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBRUwsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQixtQ0FBbUMsR0FDcEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsTUFB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QixLQUFLO2dCQUlDLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxvQkFBb0I7c0JBRDFCLEtBQUs7Z0JBSVUsZ0JBQWdCO3NCQUQvQixNQUFNO2dCQUlTLCtCQUErQjtzQkFEOUMsTUFBTTtnQkFLUyxvQkFBb0I7c0JBRG5DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRCLFdBQVc7c0JBRDFCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJUyxtQkFBbUI7c0JBRGxDLE1BQU07Z0JBSVMsaUJBQWlCO3NCQURoQyxNQUFNO2dCQUlTLFlBQVk7c0JBRDNCLE1BQU07Z0JBK0JTLFlBQVk7c0JBRDNCLE1BQU07Z0JBSVMsVUFBVTtzQkFEekIsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLG9CQUFvQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJcEQsYUFBYTtzQkFEcEIsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlQmFzZSB9IGZyb20gJy4vZi1kcmFnZ2FibGUtYmFzZSc7XG5pbXBvcnQge1xuICBGTW92ZU5vZGVzRXZlbnQsXG4gIEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdCxcbiAgRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0LFxufSBmcm9tICcuL2Ytbm9kZS1tb3ZlJztcbmltcG9ydCB7IEZDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0LCBGQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdCB9IGZyb20gJy4vZi1jYW52YXMnO1xuaW1wb3J0IHtcbiAgRkNyZWF0ZUNvbm5lY3Rpb25FdmVudCxcbiAgRkNyZWF0ZUNvbm5lY3Rpb25GaW5hbGl6ZVJlcXVlc3QsXG4gIENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QsXG4gIEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdCxcbiAgRlJlYXNzaWduQ29ubmVjdGlvblByZXBhcmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgRlNlbGVjdGlvbkNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mLXNlbGVjdGlvbi1jaGFuZ2UtZXZlbnQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGREbmRUb1N0b3JlUmVxdWVzdCxcbiAgZGVmYXVsdEV2ZW50VHJpZ2dlcixcbiAgRW1pdFNlbGVjdGlvbkNoYW5nZUV2ZW50UmVxdWVzdCxcbiAgRW5kRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgRkV2ZW50VHJpZ2dlcixcbiAgRlRyaWdnZXJFdmVudCxcbiAgSW5pdGlhbGl6ZURyYWdTZXF1ZW5jZVJlcXVlc3QsXG4gIE9uUG9pbnRlck1vdmVSZXF1ZXN0LFxuICBQcmVwYXJlRHJhZ1NlcXVlbmNlUmVxdWVzdCxcbiAgRHJhZ1JlY3RDYWNoZSxcbiAgUmVtb3ZlRG5kRnJvbVN0b3JlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7XG4gIEZDcmVhdGVOb2RlRXZlbnQsXG4gIEZFeHRlcm5hbEl0ZW1GaW5hbGl6ZVJlcXVlc3QsXG4gIEZFeHRlcm5hbEl0ZW1QcmVwYXJhdGlvblJlcXVlc3QsXG4gIFByZXZlbnREZWZhdWx0SXNFeHRlcm5hbEl0ZW1SZXF1ZXN0LFxufSBmcm9tICcuLi9mLWV4dGVybmFsLWl0ZW0nO1xuaW1wb3J0IHsgRlNpbmdsZVNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL2Ytc2luZ2xlLXNlbGVjdCc7XG5pbXBvcnQgeyBOb2RlUmVzaXplRmluYWxpemVSZXF1ZXN0LCBOb2RlUmVzaXplUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtcmVzaXplJztcbmltcG9ydCB7XG4gIEZfQUZURVJfTUFJTl9QTFVHSU4sXG4gIEZfQkVGT1JFX01BSU5fUExVR0lOLFxuICBJRkRyYWdBbmREcm9wUGx1Z2luLFxufSBmcm9tICcuL2ktZi1kcmFnLWFuZC1kcm9wLXBsdWdpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSwgRU9wZXJhdGlvblN5c3RlbSwgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBGRHJhZ1N0YXJ0ZWRFdmVudCwgRk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucyB9IGZyb20gJy4vZG9tYWluJztcbmltcG9ydCB7IEZEcmFnSGFuZGxlclJlc3VsdCB9IGZyb20gJy4vZi1kcmFnLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgRkRyb3BUb0dyb3VwRXZlbnQsXG4gIERyb3BUb0dyb3VwRmluYWxpemVSZXF1ZXN0LFxuICBEcm9wVG9Hcm91cFByZXBhcmF0aW9uUmVxdWVzdCxcbn0gZnJvbSAnLi9mLWRyb3AtdG8tZ3JvdXAnO1xuaW1wb3J0IHsgRk5vZGVSb3RhdGVGaW5hbGl6ZVJlcXVlc3QsIEZOb2RlUm90YXRlUHJlcGFyYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi9mLW5vZGUtcm90YXRlJztcbmltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuLi9kcmFnLXRvb2xraXQnO1xuaW1wb3J0IHsgaXNEcmFnQmxvY2tlciB9IGZyb20gJy4vaXMtZHJhZy1ibG9ja2VyJztcblxuLy8g4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQXG4vLyDilIIgICAgICAgIEFuZ3VsYXIgUmVhbG0gICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgIEZEcmFnZ2FibGVEaXJlY3RpdmUgICDilIIgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiBleHRlbmRzICAgICAgICDilIJcbi8vIOKUgiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pa84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICDilIJcbi8vIOKUgiAg4pSCICAgICBGRHJhZ2dhYmxlQmFzZSAgICAg4pSCICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIJcbi8vIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAg4pSCIG92ZXJyaWRlcyAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilrzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgICBEcmFnQW5kRHJvcEJhc2UgICAgICDilIIgIOKUglxuLy8g4pSCICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgIHN1YnNjcmliZXMgdG8gICAgICAgICAgIOKUglxuLy8g4pSCICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pa84pSA4pSA4pSA4pSA4pSQICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSCIERvY3VtZW504pSCICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgIOKUglxuLy8g4pSCICDilIIgICAgICAgRk1lZGlhdG9yICAgICAgICDilILil4TilIDilKzilIDilIDilIDilIDilJBcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICDilIIgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiAgICAgICAg4pSCICAgICAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgZXhlY3V0ZXMgICBleGVjdXRlcyAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgRipSZXF1ZXN0ICAgRipFdmVudCAgICAgICAg4pSCICAgIOKUglxuLy8g4pSCICAgICAgICDilIIgICAgICAgIOKUgiAgICAgICAgICAgIOKUgiAgICDilIJcbi8vIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUmFxuLy9cbi8vXG4vLyDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJBcbi8vIOKUgiAgICAgICBEcmFnICYgRHJvcCBSdW50aW1lIExheWVyICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICBFdmVudHMgZnJvbSBET006ICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAtIG1vdXNlZG93biAvIHRvdWNoc3RhcnQgICAgICAgICAg4pSCXG4vLyDilIIgICAgLSBtb3VzZW1vdmUgLyB0b3VjaG1vdmUgICAgICAgICAgIOKUglxuLy8g4pSCICAgIC0gcG9pbnRlcnVwICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgIOKGkyBSb3V0ZWQgdG8gICAgICAgICAgICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUglxuLy8g4pSCICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSCXG4vLyDilIIgIOKUgiAgICAgRHJhZ0FuZERyb3BCYXNlICAgICAgICAgIOKUgiAgICDilIJcbi8vIOKUgiAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUglxuLy8g4pSCICAgICAgICDilrIgICAgICAgICAgICAg4payICAgICAgICAgICAgICAg4pSCXG4vLyDilIIgICAgICAgIOKUgiAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICDilIJcbi8vIOKUgiAgIGNoZWNrRHJhZyAgICAgb25Qb2ludGVyTW92ZSAgICAgICAg4pSCXG4vLyDilIIgICBTZXF1ZW5jZSAgICAgICsgRmluYWxpemF0aW9uICAgICAgIOKUglxuLy8g4pSCICAgVG8gU3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgICDilIJcbi8vIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmFxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnZi1mbG93W2ZEcmFnZ2FibGVdJyxcbiAgZXhwb3J0QXM6ICdmRHJhZ2dhYmxlJyxcbiAgcHJvdmlkZXJzOiBbRkRyYWdIYW5kbGVyUmVzdWx0XSxcbn0pXG5leHBvcnQgY2xhc3MgRkRyYWdnYWJsZURpcmVjdGl2ZVxuICBleHRlbmRzIEZEcmFnZ2FibGVCYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzdWx0ID0gaW5qZWN0KEZEcmFnSGFuZGxlclJlc3VsdCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSwgYWxpYXM6ICdmRHJhZ2dhYmxlRGlzYWJsZWQnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmTXVsdGlTZWxlY3RUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gKGV2ZW50OiBGVHJpZ2dlckV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYXRmb3JtLmdldE9TKCkgPT09IEVPcGVyYXRpb25TeXN0ZW0uTUFDX09TID8gZXZlbnQubWV0YUtleSA6IGV2ZW50LmN0cmxLZXk7XG4gIH07XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZSZWFzc2lnbkNvbm5lY3Rpb25UcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZkNyZWF0ZUNvbm5lY3Rpb25UcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk5vZGVSZXNpemVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk5vZGVSb3RhdGVUcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZk5vZGVNb3ZlVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZDYW52YXNNb3ZlVHJpZ2dlcjogRkV2ZW50VHJpZ2dlciA9IGRlZmF1bHRFdmVudFRyaWdnZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZFeHRlcm5hbEl0ZW1UcmlnZ2VyOiBGRXZlbnRUcmlnZ2VyID0gZGVmYXVsdEV2ZW50VHJpZ2dlcjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZTZWxlY3Rpb25DaGFuZ2VFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZOb2RlSW50ZXJzZWN0ZWRXaXRoQ29ubmVjdGlvbnMgPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8Rk5vZGVJbnRlcnNlY3RlZFdpdGhDb25uZWN0aW9ucz4oKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZFbWl0T25Ob2RlSW50ZXJzZWN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmQ3JlYXRlTm9kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RkNyZWF0ZU5vZGVFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZNb3ZlTm9kZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZNb3ZlTm9kZXNFdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZSZWFzc2lnbkNvbm5lY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEZSZWFzc2lnbkNvbm5lY3Rpb25FdmVudD4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZDcmVhdGVDb25uZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxGQ3JlYXRlQ29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyb3BUb0dyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxGRHJvcFRvR3JvdXBFdmVudD4oKTtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgdmVydGljYWwgY2VsbCBzaXplIGZvciB0aGUgZ3JpZC5cbiAgICogVGhpcyB2YWx1ZSBpcyB1c2VkIHRvIHNuYXAgbm9kZXMgdG8gYSB2ZXJ0aWNhbCBncmlkIHdoaWxlIGRyYWdnaW5nLlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBgMWAsIHdoaWNoIG1lYW5zIHRoYXQgbm9kZXMgd2lsbCBzbmFwIHRvIGV2ZXJ5IHBpeGVsIHZlcnRpY2FsbHkuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgdkNlbGxTaXplID0gaW5wdXQoMSwge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDEpLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lcyB0aGUgaG9yaXpvbnRhbCBjZWxsIHNpemUgZm9yIHRoZSBncmlkLlxuICAgKiBUaGlzIHZhbHVlIGlzIHVzZWQgdG8gc25hcCBub2RlcyB0byBhIGhvcml6b250YWwgZ3JpZCB3aGlsZSBkcmFnZ2luZy5cbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgYDFgLCB3aGljaCBtZWFucyB0aGF0IG5vZGVzIHdpbGwgc25hcCB0byBldmVyeSBwaXhlbCBob3Jpem9udGFsbHkuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaENlbGxTaXplID0gaW5wdXQoMSwge1xuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDEpLFxuICB9KTtcblxuICAvKipcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSBjZWxsIHNpemUgc2hvdWxkIGJlIGFwcGxpZWQgd2hpbGUgZHJhZ2dpbmcuXG4gICAqIElmIHNldCB0byBgdHJ1ZWAsIHRoZSBkcmFnZ2VkIG5vZGVzIHdpbGwgc25hcCB0byB0aGUgZ3JpZCBkZWZpbmVkIGJ5IGB2Q2VsbFNpemVgIGFuZCBgaENlbGxTaXplYC5cbiAgICogSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBub2RlcyB3aWxsIG1vdmUgZnJlZWx5IHdpdGhvdXQgc25hcHBpbmcgdG8gdGhlIGdyaWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZkNlbGxTaXplV2hpbGVEcmFnZ2luZyA9IGlucHV0KGZhbHNlLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpLFxuICB9KTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RkRyYWdTdGFydGVkRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ0VuZGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRl9CRUZPUkVfTUFJTl9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYmVmb3JlUGx1Z2lucyE6IFF1ZXJ5TGlzdDxJRkRyYWdBbmREcm9wUGx1Z2luPjtcblxuICBAQ29udGVudENoaWxkcmVuKEZfQUZURVJfTUFJTl9QTFVHSU4sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfYWZ0ZXJQbHVnaW5zITogUXVlcnlMaXN0PElGRHJhZ0FuZERyb3BQbHVnaW4+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGluamVjdChOZ1pvbmUsIHsgb3B0aW9uYWw6IHRydWUgfSkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEFkZERuZFRvU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIuc3Vic2NyaWJlKHRoaXMuX2Jyb3dzZXIuZG9jdW1lbnQpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuIHtcbiAgICBpZiAoaXNEcmFnQmxvY2tlcihldmVudC50YXJnZXRFbGVtZW50KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuX3Jlc3VsdC5jbGVhcigpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgSW5pdGlhbGl6ZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG5cbiAgICB0aGlzLl9iZWZvcmVQbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGU2luZ2xlU2VsZWN0UmVxdWVzdChldmVudCwgdGhpcy5mTXVsdGlTZWxlY3RUcmlnZ2VyKSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IEZSZWFzc2lnbkNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZlJlYXNzaWduQ29ubmVjdGlvblRyaWdnZXIpLFxuICAgICk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IENyZWF0ZUNvbm5lY3Rpb25QcmVwYXJhdGlvblJlcXVlc3QoZXZlbnQsIHRoaXMuZkNyZWF0ZUNvbm5lY3Rpb25UcmlnZ2VyKSxcbiAgICApO1xuXG4gICAgdGhpcy5fYWZ0ZXJQbHVnaW5zLmZvckVhY2goKHApID0+IHAub25Qb2ludGVyRG93bj8uKGV2ZW50KSk7XG5cbiAgICBjb25zdCBpc01vdXNlTGVmdE9yVG91Y2ggPSBldmVudC5pc01vdXNlTGVmdEJ1dHRvbigpO1xuICAgIGlmICghaXNNb3VzZUxlZnRPclRvdWNoKSB7XG4gICAgICB0aGlzLmZpbmFsaXplRHJhZ1NlcXVlbmNlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlzTW91c2VMZWZ0T3JUb3VjaDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBwcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50OiBJUG9pbnRlckV2ZW50KSB7XG4gICAgdGhpcy5fYmVmb3JlUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLnByZXBhcmVEcmFnU2VxdWVuY2U/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZVJlc2l6ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mTm9kZVJlc2l6ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlUm90YXRlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlUm90YXRlVHJpZ2dlcikpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVNb3ZlUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50LCB0aGlzLmZOb2RlTW92ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgRkV4dGVybmFsSXRlbVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mRXh0ZXJuYWxJdGVtVHJpZ2dlciksXG4gICAgKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IERyb3BUb0dyb3VwUHJlcGFyYXRpb25SZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ2FudmFzTW92ZVByZXBhcmF0aW9uUmVxdWVzdChldmVudCwgdGhpcy5mQ2FudmFzTW92ZVRyaWdnZXIpKTtcblxuICAgIHRoaXMuX2FmdGVyUGx1Z2lucy5mb3JFYWNoKChwKSA9PiBwLnByZXBhcmVEcmFnU2VxdWVuY2U/LihldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJlcGFyZURyYWdTZXF1ZW5jZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgb25TZWxlY3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgUHJldmVudERlZmF1bHRJc0V4dGVybmFsSXRlbVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgT25Qb2ludGVyTW92ZVJlcXVlc3QoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvblBvaW50ZXJVcChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX2JlZm9yZVBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGUmVhc3NpZ25Db25uZWN0aW9uRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGQ3JlYXRlQ29ubmVjdGlvbkZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgTm9kZVJlc2l6ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRk5vZGVSb3RhdGVGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZOb2RlTW92ZUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRkV4dGVybmFsSXRlbUZpbmFsaXplUmVxdWVzdChldmVudCkpO1xuXG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgRHJvcFRvR3JvdXBGaW5hbGl6ZVJlcXVlc3QoZXZlbnQpKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZDYW52YXNNb3ZlRmluYWxpemVSZXF1ZXN0KGV2ZW50KSk7XG5cbiAgICB0aGlzLl9hZnRlclBsdWdpbnMuZm9yRWFjaCgoeCkgPT4geC5vblBvaW50ZXJVcD8uKGV2ZW50KSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBFbmREcmFnU2VxdWVuY2VSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpbmFsaXplRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIERyYWdSZWN0Q2FjaGUuaW52YWxpZGF0ZUFsbCgpO1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEVtaXRTZWxlY3Rpb25DaGFuZ2VFdmVudFJlcXVlc3QoKSk7XG5cbiAgICB0aGlzLl9yZXN1bHQuY2xlYXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBSZW1vdmVEbmRGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -44,14 +44,14 @@ export class BaseConnectionDragHandler {
44
44
  this._redrawConnection(this._recalculateConnection());
45
45
  }
46
46
  _recalculateConnection() {
47
- return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection.fBehavior, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
47
+ return this._mediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this._fOutputWithRect.fRect).addPoint(this._sourceDifference), RoundedRect.fromRoundedRect(this._fInputWithRect.fRect).addPoint(this._targetDifference), this.fConnection, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide));
48
48
  }
49
49
  _redrawConnection(line) {
50
- this.fConnection.setLine(line, this._fOutputWithRect.fConnector.fConnectableSide, this._fInputWithRect.fConnector.fConnectableSide);
50
+ this.fConnection.setLine(line);
51
51
  this.fConnection.redraw();
52
52
  }
53
53
  _connectorNotFoundPrefix(message) {
54
54
  return `ConnectionDragHandler Error: Connection From (fOutput)${this.fConnection.fOutputId} To (fInput)${this.fConnection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
55
55
  }
56
56
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDBCQUEwQixHQUUzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUFrQzNCO0lBakNRLFNBQVMsQ0FBWTtJQUNyQixNQUFNLENBQW1CO0lBRWxDLGdCQUFnQixDQUFxQjtJQUNyQyxlQUFlLENBQXFCO0lBRTVDLElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FDekYsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElB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QztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBSb3VuZGVkUmVjdCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0LFxuICBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCxcbiAgSUNvbm5lY3RvckFuZFJlY3QsXG59IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZDb25uZWN0aW9uQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdGlvbic7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgQmFzZUNvbm5lY3Rpb25EcmFnSGFuZGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yOiBGTWVkaWF0b3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlOiBGQ29tcG9uZW50c1N0b3JlO1xuXG4gIHByaXZhdGUgX2ZPdXRwdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuICBwcml2YXRlIF9mSW5wdXRXaXRoUmVjdCE6IElDb25uZWN0b3JBbmRSZWN0O1xuXG4gIHByaXZhdGUgZ2V0IF9mT3V0cHV0KCk6IEZDb25uZWN0b3JCYXNlIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9zdG9yZS5mT3V0cHV0cy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSB0aGlzLmZDb25uZWN0aW9uLmZPdXRwdXRJZCgpKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICB0aGlzLl9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZk91dHB1dCB3aXRoIGlkICR7dGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWR9IG5vdCBmb3VuZGApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgX2ZJbnB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZklucHV0cy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSB0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkKCkpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIHRoaXMuX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KGBmSW5wdXQgd2l0aCBpZCAke3RoaXMuZkNvbm5lY3Rpb24uZklucHV0SWR9IG5vdCBmb3VuZGApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfc291cmNlRGlmZmVyZW5jZSA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3RhcmdldERpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGZDb25uZWN0aW9uOiBGQ29ubmVjdGlvbkJhc2UsXG4gICkge1xuICAgIHRoaXMuX21lZGlhdG9yID0gX2luamVjdG9yLmdldChGTWVkaWF0b3IpO1xuICAgIHRoaXMuX3N0b3JlID0gX2luamVjdG9yLmdldChGQ29tcG9uZW50c1N0b3JlKTtcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZPdXRwdXRXaXRoUmVjdCA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUNvbm5lY3RvckFuZFJlY3Q+KFxuICAgICAgbmV3IEdldENvbm5lY3RvckFuZFJlY3RSZXF1ZXN0KHRoaXMuX2ZPdXRwdXQpLFxuICAgICk7XG4gICAgdGhpcy5fZklucHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mSW5wdXQpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0U291cmNlRGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9zb3VyY2VEaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUYXJnZXREaWZmZXJlbmNlKGRpZmZlcmVuY2U6IElQb2ludCk6IHZvaWQge1xuICAgIHRoaXMuX3RhcmdldERpZmZlcmVuY2UgPSBkaWZmZXJlbmNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWRyYXdDb25uZWN0aW9uKHRoaXMuX3JlY2FsY3VsYXRlQ29ubmVjdGlvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlY2FsY3VsYXRlQ29ubmVjdGlvbigpOiBJTGluZSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8SUxpbmU+KFxuICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3Rpb25MaW5lQnlCZWhhdmlvclJlcXVlc3QoXG4gICAgICAgIFJvdW5kZWRSZWN0LmZyb21Sb3VuZGVkUmVjdCh0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3NvdXJjZURpZmZlcmVuY2UpLFxuICAgICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZklucHV0V2l0aFJlY3QuZlJlY3QpLmFkZFBvaW50KHRoaXMuX3RhcmdldERpZmZlcmVuY2UpLFxuICAgICAgICB0aGlzLmZDb25uZWN0aW9uLmZCZWhhdmlvcixcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3Q29ubmVjdGlvbihsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShcbiAgICAgIGxpbmUsXG4gICAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICk7XG4gICAgdGhpcy5mQ29ubmVjdGlvbi5yZWRyYXcoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Nvbm5lY3Rvck5vdEZvdW5kUHJlZml4KG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBDb25uZWN0aW9uRHJhZ0hhbmRsZXIgRXJyb3I6IENvbm5lY3Rpb24gRnJvbSAoZk91dHB1dCkke3RoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkfSBUbyAoZklucHV0KSR7dGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZH0uICR7bWVzc2FnZX0uIFBsZWFzZSBlbnN1cmUgdGhhdCBhbGwgZi1jb25uZWN0aW9ucyBhcmUgYXNzb2NpYXRlZCB3aXRoIGV4aXN0aW5nIGNvbm5lY3RvcnNgO1xuICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25uZWN0aW9uLmRyYWctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1kcmFnZ2FibGUvZi1ub2RlLW1vdmUvY29ubmVjdGlvbi1kcmFnLWhhbmRsZXJzL2Jhc2UtY29ubmVjdGlvbi5kcmFnLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0NBQXdDLEVBQ3hDLDBCQUEwQixHQUUzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXRELE1BQU0sT0FBTyx5QkFBeUI7SUFrQzNCO0lBakNRLFNBQVMsQ0FBWTtJQUNyQixNQUFNLENBQW1CO0lBRWxDLGdCQUFnQixDQUFxQjtJQUNyQyxlQUFlLENBQXFCO0lBRTVDLElBQVksUUFBUTtRQUNsQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixJQUFJLENBQUMsd0JBQXdCLENBQUMsbUJBQW1CLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxZQUFZLENBQUMsQ0FDekYsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBWSxPQUFPO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLElBQUksS0FBSyxDQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLFlBQVksQ0FBQyxDQUN2RixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxpQkFBaUIsR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakQsaUJBQWlCLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXpELFlBQ0UsU0FBbUIsRUFDWixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFFbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQzVDLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUM5QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0MsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzdDLENBQUM7SUFDSixDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBa0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBa0I7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRVMsTUFBTTtRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDM0IsSUFBSSx3Q0FBd0MsQ0FDMUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUN6RixXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUN4RixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDakQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVc7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sd0JBQXdCLENBQUMsT0FBZTtRQUM5QyxPQUFPLHlEQUF5RCxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsZUFBZSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxPQUFPLGdGQUFnRixDQUFDO0lBQ2pPLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMaW5lLCBJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgUm91bmRlZFJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGlvbkxpbmVCeUJlaGF2aW9yUmVxdWVzdCxcbiAgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QsXG4gIElDb25uZWN0b3JBbmRSZWN0LFxufSBmcm9tICcuLi8uLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEJhc2VDb25uZWN0aW9uRHJhZ0hhbmRsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvcjogRk1lZGlhdG9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogRkNvbXBvbmVudHNTdG9yZTtcblxuICBwcml2YXRlIF9mT3V0cHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcbiAgcHJpdmF0ZSBfZklucHV0V2l0aFJlY3QhOiBJQ29ubmVjdG9yQW5kUmVjdDtcblxuICBwcml2YXRlIGdldCBfZk91dHB1dCgpOiBGQ29ubmVjdG9yQmFzZSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fc3RvcmUuZk91dHB1dHMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWQoKSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgdGhpcy5fY29ubmVjdG9yTm90Rm91bmRQcmVmaXgoYGZPdXRwdXQgd2l0aCBpZCAke3RoaXMuZkNvbm5lY3Rpb24uZk91dHB1dElkfSBub3QgZm91bmRgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mSW5wdXQoKTogRkNvbm5lY3RvckJhc2Uge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX3N0b3JlLmZJbnB1dHMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0gdGhpcy5mQ29ubmVjdGlvbi5mSW5wdXRJZCgpKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICB0aGlzLl9jb25uZWN0b3JOb3RGb3VuZFByZWZpeChgZklucHV0IHdpdGggaWQgJHt0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkfSBub3QgZm91bmRgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX3NvdXJjZURpZmZlcmVuY2UgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF90YXJnZXREaWZmZXJlbmNlID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHB1YmxpYyBmQ29ubmVjdGlvbjogRkNvbm5lY3Rpb25CYXNlLFxuICApIHtcbiAgICB0aGlzLl9tZWRpYXRvciA9IF9pbmplY3Rvci5nZXQoRk1lZGlhdG9yKTtcbiAgICB0aGlzLl9zdG9yZSA9IF9pbmplY3Rvci5nZXQoRkNvbXBvbmVudHNTdG9yZSk7XG4gICAgdGhpcy5faW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9mT3V0cHV0V2l0aFJlY3QgPSB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElDb25uZWN0b3JBbmRSZWN0PihcbiAgICAgIG5ldyBHZXRDb25uZWN0b3JBbmRSZWN0UmVxdWVzdCh0aGlzLl9mT3V0cHV0KSxcbiAgICApO1xuICAgIHRoaXMuX2ZJbnB1dFdpdGhSZWN0ID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxJQ29ubmVjdG9yQW5kUmVjdD4oXG4gICAgICBuZXcgR2V0Q29ubmVjdG9yQW5kUmVjdFJlcXVlc3QodGhpcy5fZklucHV0KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldFNvdXJjZURpZmZlcmVuY2UoZGlmZmVyZW5jZTogSVBvaW50KTogdm9pZCB7XG4gICAgdGhpcy5fc291cmNlRGlmZmVyZW5jZSA9IGRpZmZlcmVuY2U7XG4gIH1cblxuICBwdWJsaWMgc2V0VGFyZ2V0RGlmZmVyZW5jZShkaWZmZXJlbmNlOiBJUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90YXJnZXREaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVkcmF3Q29ubmVjdGlvbih0aGlzLl9yZWNhbGN1bGF0ZUNvbm5lY3Rpb24oKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWNhbGN1bGF0ZUNvbm5lY3Rpb24oKTogSUxpbmUge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPElMaW5lPihcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0aW9uTGluZUJ5QmVoYXZpb3JSZXF1ZXN0KFxuICAgICAgICBSb3VuZGVkUmVjdC5mcm9tUm91bmRlZFJlY3QodGhpcy5fZk91dHB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLl9zb3VyY2VEaWZmZXJlbmNlKSxcbiAgICAgICAgUm91bmRlZFJlY3QuZnJvbVJvdW5kZWRSZWN0KHRoaXMuX2ZJbnB1dFdpdGhSZWN0LmZSZWN0KS5hZGRQb2ludCh0aGlzLl90YXJnZXREaWZmZXJlbmNlKSxcbiAgICAgICAgdGhpcy5mQ29ubmVjdGlvbixcbiAgICAgICAgdGhpcy5fZk91dHB1dFdpdGhSZWN0LmZDb25uZWN0b3IuZkNvbm5lY3RhYmxlU2lkZSxcbiAgICAgICAgdGhpcy5fZklucHV0V2l0aFJlY3QuZkNvbm5lY3Rvci5mQ29ubmVjdGFibGVTaWRlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3Q29ubmVjdGlvbihsaW5lOiBJTGluZSk6IHZvaWQge1xuICAgIHRoaXMuZkNvbm5lY3Rpb24uc2V0TGluZShsaW5lKTtcbiAgICB0aGlzLmZDb25uZWN0aW9uLnJlZHJhdygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29ubmVjdG9yTm90Rm91bmRQcmVmaXgobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYENvbm5lY3Rpb25EcmFnSGFuZGxlciBFcnJvcjogQ29ubmVjdGlvbiBGcm9tIChmT3V0cHV0KSR7dGhpcy5mQ29ubmVjdGlvbi5mT3V0cHV0SWR9IFRvIChmSW5wdXQpJHt0aGlzLmZDb25uZWN0aW9uLmZJbnB1dElkfS4gJHttZXNzYWdlfS4gUGxlYXNlIGVuc3VyZSB0aGF0IGFsbCBmLWNvbm5lY3Rpb25zIGFyZSBhc3NvY2lhdGVkIHdpdGggZXhpc3RpbmcgY29ubmVjdG9yc2A7XG4gIH1cbn1cbiJdfQ==