ngx-vflow 1.0.2 → 1.0.5

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 (140) hide show
  1. package/README.md +10 -10
  2. package/esm2022/lib/vflow/components/background/background.component.mjs +6 -10
  3. package/esm2022/lib/vflow/components/connection/connection.component.mjs +8 -10
  4. package/esm2022/lib/vflow/components/custom-node-base/custom-node-base.component.mjs +2 -2
  5. package/esm2022/lib/vflow/components/default-node/default-node.component.mjs +4 -4
  6. package/esm2022/lib/vflow/components/defs/defs.component.mjs +3 -3
  7. package/esm2022/lib/vflow/components/edge/edge.component.mjs +3 -3
  8. package/esm2022/lib/vflow/components/edge-label/edge-label.component.mjs +5 -7
  9. package/esm2022/lib/vflow/components/node/node.component.mjs +7 -8
  10. package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +5 -8
  11. package/esm2022/lib/vflow/decorators/microtask.decorator.mjs +1 -1
  12. package/esm2022/lib/vflow/decorators/run-in-injection-context.decorator.mjs +2 -2
  13. package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +64 -22
  14. package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +6 -3
  15. package/esm2022/lib/vflow/directives/drag-handle.directive.mjs +3 -3
  16. package/esm2022/lib/vflow/directives/flow-size-controller.directive.mjs +6 -4
  17. package/esm2022/lib/vflow/directives/handle-size-controller.directive.mjs +2 -2
  18. package/esm2022/lib/vflow/directives/map-context.directive.mjs +16 -14
  19. package/esm2022/lib/vflow/directives/pointer.directive.mjs +2 -2
  20. package/esm2022/lib/vflow/directives/reference.directive.mjs +1 -1
  21. package/esm2022/lib/vflow/directives/root-pointer.directive.mjs +7 -11
  22. package/esm2022/lib/vflow/directives/root-svg-context.directive.mjs +1 -1
  23. package/esm2022/lib/vflow/directives/selectable.directive.mjs +1 -1
  24. package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +2 -2
  25. package/esm2022/lib/vflow/directives/template.directive.mjs +6 -6
  26. package/esm2022/lib/vflow/interfaces/box.mjs +1 -1
  27. package/esm2022/lib/vflow/interfaces/component-node-event.interface.mjs +1 -1
  28. package/esm2022/lib/vflow/interfaces/connection-settings.interface.mjs +1 -1
  29. package/esm2022/lib/vflow/interfaces/connection.interface.mjs +1 -1
  30. package/esm2022/lib/vflow/interfaces/connection.internal.interface.mjs +1 -1
  31. package/esm2022/lib/vflow/interfaces/edge-label.interface.mjs +1 -1
  32. package/esm2022/lib/vflow/interfaces/edge.interface.mjs +1 -1
  33. package/esm2022/lib/vflow/interfaces/fit-view-options.interface.mjs +1 -1
  34. package/esm2022/lib/vflow/interfaces/flow-entity.interface.mjs +1 -1
  35. package/esm2022/lib/vflow/interfaces/marker.interface.mjs +1 -1
  36. package/esm2022/lib/vflow/interfaces/node.interface.mjs +5 -5
  37. package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +1 -1
  38. package/esm2022/lib/vflow/interfaces/path-data.interface.mjs +1 -1
  39. package/esm2022/lib/vflow/interfaces/point.interface.mjs +1 -1
  40. package/esm2022/lib/vflow/interfaces/rect.mjs +1 -1
  41. package/esm2022/lib/vflow/interfaces/template-context.interface.mjs +1 -1
  42. package/esm2022/lib/vflow/interfaces/viewport.interface.mjs +1 -1
  43. package/esm2022/lib/vflow/math/edge-path/bezier-path.mjs +4 -10
  44. package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +3 -3
  45. package/esm2022/lib/vflow/math/edge-path/straigh-path.mjs +6 -6
  46. package/esm2022/lib/vflow/math/point-on-line-by-ratio.mjs +1 -1
  47. package/esm2022/lib/vflow/models/connection.model.mjs +1 -1
  48. package/esm2022/lib/vflow/models/edge-label.model.mjs +2 -2
  49. package/esm2022/lib/vflow/models/edge.model.mjs +25 -25
  50. package/esm2022/lib/vflow/models/handle.model.mjs +41 -37
  51. package/esm2022/lib/vflow/models/minimap.model.mjs +2 -2
  52. package/esm2022/lib/vflow/models/node.model.mjs +9 -14
  53. package/esm2022/lib/vflow/models/toolbar.model.mjs +6 -6
  54. package/esm2022/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.mjs +3 -3
  55. package/esm2022/lib/vflow/public-components/custom-node/custom-node.component.mjs +3 -3
  56. package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +2 -2
  57. package/esm2022/lib/vflow/public-components/minimap/minimap.component.mjs +8 -16
  58. package/esm2022/lib/vflow/public-components/node-toolbar/node-toolbar.component.mjs +3 -3
  59. package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +11 -17
  60. package/esm2022/lib/vflow/services/component-event-bus.service.mjs +1 -1
  61. package/esm2022/lib/vflow/services/draggable.service.mjs +10 -12
  62. package/esm2022/lib/vflow/services/edge-changes.service.mjs +14 -20
  63. package/esm2022/lib/vflow/services/flow-entities.service.mjs +7 -10
  64. package/esm2022/lib/vflow/services/flow-settings.service.mjs +1 -1
  65. package/esm2022/lib/vflow/services/flow-status.service.mjs +2 -2
  66. package/esm2022/lib/vflow/services/handle.service.mjs +3 -3
  67. package/esm2022/lib/vflow/services/keyboard.service.mjs +8 -6
  68. package/esm2022/lib/vflow/services/node-accessor.service.mjs +1 -1
  69. package/esm2022/lib/vflow/services/node-changes.service.mjs +13 -21
  70. package/esm2022/lib/vflow/services/node-rendering.service.mjs +6 -7
  71. package/esm2022/lib/vflow/services/overlays.service.mjs +2 -2
  72. package/esm2022/lib/vflow/services/selection.service.mjs +6 -4
  73. package/esm2022/lib/vflow/services/viewport.service.mjs +13 -11
  74. package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +25 -25
  75. package/esm2022/lib/vflow/types/background.type.mjs +1 -1
  76. package/esm2022/lib/vflow/types/connection-mode.type.mjs +1 -1
  77. package/esm2022/lib/vflow/types/edge-change.type.mjs +1 -1
  78. package/esm2022/lib/vflow/types/handle-type.type.mjs +1 -1
  79. package/esm2022/lib/vflow/types/keyboard-action.type.mjs +1 -1
  80. package/esm2022/lib/vflow/types/node-change.type.mjs +1 -1
  81. package/esm2022/lib/vflow/types/position.type.mjs +1 -1
  82. package/esm2022/lib/vflow/types/using-points.type.mjs +1 -1
  83. package/esm2022/lib/vflow/types/viewport-change-type.type.mjs +1 -1
  84. package/esm2022/lib/vflow/utils/add-nodes-to-edges.mjs +2 -2
  85. package/esm2022/lib/vflow/utils/adjust-direction.mjs +1 -1
  86. package/esm2022/lib/vflow/utils/get-os.mjs +6 -6
  87. package/esm2022/lib/vflow/utils/hash.mjs +2 -2
  88. package/esm2022/lib/vflow/utils/id.mjs +1 -1
  89. package/esm2022/lib/vflow/utils/is-defined.mjs +1 -1
  90. package/esm2022/lib/vflow/utils/is-group-node.mjs +1 -1
  91. package/esm2022/lib/vflow/utils/nodes.mjs +2 -2
  92. package/esm2022/lib/vflow/utils/reference-keeper.mjs +7 -7
  93. package/esm2022/lib/vflow/utils/resizable.mjs +4 -4
  94. package/esm2022/lib/vflow/utils/round.mjs +1 -1
  95. package/esm2022/lib/vflow/utils/transform-background.mjs +2 -4
  96. package/esm2022/lib/vflow/utils/viewport.mjs +1 -1
  97. package/esm2022/lib/vflow/vflow.mjs +10 -10
  98. package/esm2022/public-api.mjs +1 -1
  99. package/fesm2022/ngx-vflow.mjs +320 -322
  100. package/fesm2022/ngx-vflow.mjs.map +1 -1
  101. package/lib/vflow/components/node/node.component.d.ts +1 -1
  102. package/lib/vflow/components/vflow/vflow.component.d.ts +1 -1
  103. package/lib/vflow/decorators/run-in-injection-context.decorator.d.ts +1 -1
  104. package/lib/vflow/directives/changes-controller.directive.d.ts +29 -29
  105. package/lib/vflow/directives/connection-controller.directive.d.ts +4 -2
  106. package/lib/vflow/directives/pointer.directive.d.ts +4 -4
  107. package/lib/vflow/interfaces/component-node-event.interface.d.ts +5 -5
  108. package/lib/vflow/interfaces/connection-settings.interface.d.ts +4 -4
  109. package/lib/vflow/interfaces/connection.internal.interface.d.ts +2 -2
  110. package/lib/vflow/interfaces/edge.interface.d.ts +3 -3
  111. package/lib/vflow/interfaces/flow-entity.interface.d.ts +1 -1
  112. package/lib/vflow/interfaces/node.interface.d.ts +4 -4
  113. package/lib/vflow/interfaces/path-data.interface.d.ts +2 -2
  114. package/lib/vflow/interfaces/template-context.interface.d.ts +2 -2
  115. package/lib/vflow/interfaces/viewport.interface.d.ts +2 -2
  116. package/lib/vflow/math/edge-path/straigh-path.d.ts +3 -3
  117. package/lib/vflow/math/point-on-line-by-ratio.d.ts +1 -1
  118. package/lib/vflow/models/connection.model.d.ts +3 -3
  119. package/lib/vflow/models/edge-label.model.d.ts +1 -1
  120. package/lib/vflow/models/edge.model.d.ts +8 -9
  121. package/lib/vflow/models/handle.model.d.ts +2 -2
  122. package/lib/vflow/models/minimap.model.d.ts +1 -1
  123. package/lib/vflow/models/toolbar.model.d.ts +3 -3
  124. package/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.d.ts +2 -2
  125. package/lib/vflow/public-components/custom-node/custom-node.component.d.ts +2 -2
  126. package/lib/vflow/public-components/handle/handle.component.d.ts +1 -1
  127. package/lib/vflow/services/flow-status.service.d.ts +1 -1
  128. package/lib/vflow/testing-utils/provide-custom-node-mocks.d.ts +1 -1
  129. package/lib/vflow/types/node-change.type.d.ts +1 -1
  130. package/lib/vflow/types/viewport-change-type.type.d.ts +1 -3
  131. package/lib/vflow/utils/add-nodes-to-edges.d.ts +2 -2
  132. package/lib/vflow/utils/adjust-direction.d.ts +1 -1
  133. package/lib/vflow/utils/is-group-node.d.ts +1 -1
  134. package/lib/vflow/utils/nodes.d.ts +2 -2
  135. package/lib/vflow/utils/reference-keeper.d.ts +3 -3
  136. package/lib/vflow/utils/resizable.d.ts +2 -2
  137. package/lib/vflow/utils/transform-background.d.ts +1 -1
  138. package/lib/vflow/utils/viewport.d.ts +2 -2
  139. package/lib/vflow/vflow.d.ts +8 -8
  140. package/package.json +2 -2
@@ -144,7 +144,7 @@ export function smoothStepPath(source, target, sourcePosition, targetPosition, b
144
144
  sourcePosition,
145
145
  target,
146
146
  targetPosition,
147
- offset: 20
147
+ offset: 20,
148
148
  });
149
149
  const path = points.reduce((res, p, i) => {
150
150
  let segment = '';
@@ -164,7 +164,7 @@ export function smoothStepPath(source, target, sourcePosition, targetPosition, b
164
164
  start: { x: labelX, y: labelY },
165
165
  center: { x: labelX, y: labelY },
166
166
  end: { x: labelX, y: labelY },
167
- }
167
+ },
168
168
  };
169
169
  }
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21vb3RoLXN0ZXAtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tYXRoL2VkZ2UtcGF0aC9zbW9vdGgtc3RlcC1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7SUFDckIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQ3JCLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtDQUN2QixDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFhLEVBQUUsTUFBYTtJQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUU5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUU5RSxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsRUFDcEIsTUFBTSxFQUNOLGNBQWMsR0FBRyxRQUFRLEVBQ3pCLE1BQU0sR0FLUCxFQUFTLEVBQUU7SUFDVixJQUFJLGNBQWMsS0FBSyxNQUFNLElBQUksY0FBYyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQzVELE9BQU8sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDaEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFRLEVBQUUsQ0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFcEcsd0VBQXdFO0FBQ3hFLGlJQUFpSTtBQUNqSSxTQUFTLFNBQVMsQ0FBQyxFQUNqQixNQUFNLEVBQ04sY0FBYyxHQUFHLFFBQVEsRUFDekIsTUFBTSxFQUNOLGNBQWMsR0FBRyxLQUFLLEVBQ3RCLE1BQU0sR0FPUDtJQUNDLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUN2RyxNQUFNLFlBQVksR0FBVSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFDdkcsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLGNBQWM7UUFDZCxNQUFNLEVBQUUsWUFBWTtLQUNyQixDQUFDLENBQUM7SUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDNUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWpDLElBQUksTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUN6QixJQUFJLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDckIsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN2QyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRXZDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV2RSwwQ0FBMEM7SUFDMUMsSUFBSSxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDM0QsT0FBTyxHQUFHLGNBQWMsQ0FBQztRQUN6QixPQUFPLEdBQUcsY0FBYyxDQUFDO1FBQ3pCLFVBQVU7UUFDVixPQUFPO1FBQ1AsT0FBTztRQUNQLE1BQU0sYUFBYSxHQUFZO1lBQzdCLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFBRTtZQUNqQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUU7U0FDbEMsQ0FBQztRQUNGLE9BQU87UUFDUCxPQUFPO1FBQ1AsS0FBSztRQUNMLE1BQU0sZUFBZSxHQUFZO1lBQy9CLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRTtZQUNqQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUU7U0FDbEMsQ0FBQztRQUVGLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sR0FBRyxXQUFXLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztRQUNqRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxXQUFXLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTiwyRkFBMkY7UUFDM0YsTUFBTSxZQUFZLEdBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RSxNQUFNLFlBQVksR0FBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLGdEQUFnRDtRQUNoRCxJQUFJLFdBQVcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ2pFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNqRSxDQUFDO1FBRUQsSUFBSSxjQUFjLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFFakUsZ1RBQWdUO1lBQ2hULElBQUksSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNuQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDdkMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztnQkFDeEcsQ0FBQztxQkFBTSxDQUFDO29CQUNOLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUM7Z0JBQ3hHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELDRGQUE0RjtRQUM1RixJQUFJLGNBQWMsS0FBSyxjQUFjLEVBQUUsQ0FBQztZQUN0QyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzVELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM1RSxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2pHLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDakcsTUFBTSxnQkFBZ0IsR0FDcEIsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQztnQkFDM0csQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQkFDckIsTUFBTSxHQUFHLFdBQVcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsSCxnRUFBZ0U7UUFDaEUsSUFBSSxZQUFZLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakMsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUc7UUFDakIsTUFBTTtRQUNOLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFO1FBQ2hGLEdBQUcsTUFBTTtRQUNULEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQyxFQUFFO1FBQ2hGLE1BQU07S0FDUCxDQUFDO0lBRUYsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLENBQVEsRUFBRSxDQUFRLEVBQUUsQ0FBUSxFQUFFLElBQVk7SUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVuQixVQUFVO0lBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsOEJBQThCO0lBQzlCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUNoRixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBYSxFQUNiLE1BQWEsRUFDYixjQUF3QixFQUN4QixjQUF3QixFQUN4QixlQUF1QixDQUFDO0lBRXhCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN6QyxNQUFNO1FBQ04sY0FBYztRQUNkLE1BQU07UUFDTixjQUFjO1FBQ2QsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xELENBQUM7UUFFRCxHQUFHLElBQUksT0FBTyxDQUFDO1FBRWYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPO1FBQ0wsSUFBSTtRQUNKLE1BQU0sRUFBRTtZQUNOLGdFQUFnRTtZQUNoRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDL0IsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQ2hDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRTtTQUM5QjtLQUNGLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhdGgtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL3Bvc2l0aW9uLnR5cGUnO1xuXG5jb25zdCBoYW5kbGVEaXJlY3Rpb25zID0ge1xuICBsZWZ0OiB7IHg6IC0xLCB5OiAwIH0sXG4gIHJpZ2h0OiB7IHg6IDEsIHk6IDAgfSxcbiAgdG9wOiB7IHg6IDAsIHk6IC0xIH0sXG4gIGJvdHRvbTogeyB4OiAwLCB5OiAxIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRnZUNlbnRlcihzb3VyY2U6IFBvaW50LCB0YXJnZXQ6IFBvaW50KTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBjb25zdCB4T2Zmc2V0ID0gTWF0aC5hYnModGFyZ2V0LnggLSBzb3VyY2UueCkgLyAyO1xuICBjb25zdCBjZW50ZXJYID0gdGFyZ2V0LnggPCBzb3VyY2UueCA/IHRhcmdldC54ICsgeE9mZnNldCA6IHRhcmdldC54IC0geE9mZnNldDtcblxuICBjb25zdCB5T2Zmc2V0ID0gTWF0aC5hYnModGFyZ2V0LnkgLSBzb3VyY2UueSkgLyAyO1xuICBjb25zdCBjZW50ZXJZID0gdGFyZ2V0LnkgPCBzb3VyY2UueSA/IHRhcmdldC55ICsgeU9mZnNldCA6IHRhcmdldC55IC0geU9mZnNldDtcblxuICByZXR1cm4gW2NlbnRlclgsIGNlbnRlclksIHhPZmZzZXQsIHlPZmZzZXRdO1xufVxuXG5jb25zdCBnZXREaXJlY3Rpb24gPSAoe1xuICBzb3VyY2UsXG4gIHNvdXJjZVBvc2l0aW9uID0gJ2JvdHRvbScsXG4gIHRhcmdldCxcbn06IHtcbiAgc291cmNlOiBQb2ludDtcbiAgc291cmNlUG9zaXRpb246IFBvc2l0aW9uO1xuICB0YXJnZXQ6IFBvaW50O1xufSk6IFBvaW50ID0+IHtcbiAgaWYgKHNvdXJjZVBvc2l0aW9uID09PSAnbGVmdCcgfHwgc291cmNlUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IHsgeDogMSwgeTogMCB9IDogeyB4OiAtMSwgeTogMCB9O1xuICB9XG4gIHJldHVybiBzb3VyY2UueSA8IHRhcmdldC55ID8geyB4OiAwLCB5OiAxIH0gOiB7IHg6IDAsIHk6IC0xIH07XG59O1xuXG5jb25zdCBkaXN0YW5jZSA9IChhOiBQb2ludCwgYjogUG9pbnQpID0+IE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG5cbi8vIGl0aCB0aGlzIGZ1bmN0aW9uIHdlIHRyeSB0byBtaW1pYyBhIG9ydGhvZ29uYWwgZWRnZSByb3V0aW5nIGJlaGF2aW91clxuLy8gSXQncyBub3QgYXMgZ29vZCBhcyBhIHJlYWwgb3J0aG9nb25hbCBlZGdlIHJvdXRpbmcgYnV0IGl0J3MgZmFzdGVyIGFuZCBnb29kIGVub3VnaCBhcyBhIGRlZmF1bHQgZm9yIHN0ZXAgYW5kIHNtb290aCBzdGVwIGVkZ2VzXG5mdW5jdGlvbiBnZXRQb2ludHMoe1xuICBzb3VyY2UsXG4gIHNvdXJjZVBvc2l0aW9uID0gJ2JvdHRvbScsXG4gIHRhcmdldCxcbiAgdGFyZ2V0UG9zaXRpb24gPSAndG9wJyxcbiAgb2Zmc2V0LFxufToge1xuICBzb3VyY2U6IFBvaW50O1xuICBzb3VyY2VQb3NpdGlvbjogUG9zaXRpb247XG4gIHRhcmdldDogUG9pbnQ7XG4gIHRhcmdldFBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgb2Zmc2V0OiBudW1iZXI7XG59KTogW1BvaW50W10sIG51bWJlciwgbnVtYmVyXSB7XG4gIGNvbnN0IHNvdXJjZURpciA9IGhhbmRsZURpcmVjdGlvbnNbc291cmNlUG9zaXRpb25dO1xuICBjb25zdCB0YXJnZXREaXIgPSBoYW5kbGVEaXJlY3Rpb25zW3RhcmdldFBvc2l0aW9uXTtcbiAgY29uc3Qgc291cmNlR2FwcGVkOiBQb2ludCA9IHsgeDogc291cmNlLnggKyBzb3VyY2VEaXIueCAqIG9mZnNldCwgeTogc291cmNlLnkgKyBzb3VyY2VEaXIueSAqIG9mZnNldCB9O1xuICBjb25zdCB0YXJnZXRHYXBwZWQ6IFBvaW50ID0geyB4OiB0YXJnZXQueCArIHRhcmdldERpci54ICogb2Zmc2V0LCB5OiB0YXJnZXQueSArIHRhcmdldERpci55ICogb2Zmc2V0IH07XG4gIGNvbnN0IGRpciA9IGdldERpcmVjdGlvbih7XG4gICAgc291cmNlOiBzb3VyY2VHYXBwZWQsXG4gICAgc291cmNlUG9zaXRpb24sXG4gICAgdGFyZ2V0OiB0YXJnZXRHYXBwZWQsXG4gIH0pO1xuICBjb25zdCBkaXJBY2Nlc3NvciA9IGRpci54ICE9PSAwID8gJ3gnIDogJ3knO1xuICBjb25zdCBjdXJyRGlyID0gZGlyW2RpckFjY2Vzc29yXTtcblxuICBsZXQgcG9pbnRzOiBQb2ludFtdID0gW107XG4gIGxldCBjZW50ZXJYLCBjZW50ZXJZO1xuICBjb25zdCBzb3VyY2VHYXBPZmZzZXQgPSB7IHg6IDAsIHk6IDAgfTtcbiAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3QgW2RlZmF1bHRDZW50ZXJYLCBkZWZhdWx0Q2VudGVyWV0gPSBnZXRFZGdlQ2VudGVyKHNvdXJjZSwgdGFyZ2V0KTtcblxuICAvLyBvcHBvc2l0ZSBoYW5kbGUgcG9zaXRpb25zLCBkZWZhdWx0IGNhc2VcbiAgaWYgKHNvdXJjZURpcltkaXJBY2Nlc3Nvcl0gKiB0YXJnZXREaXJbZGlyQWNjZXNzb3JdID09PSAtMSkge1xuICAgIGNlbnRlclggPSBkZWZhdWx0Q2VudGVyWDtcbiAgICBjZW50ZXJZID0gZGVmYXVsdENlbnRlclk7XG4gICAgLy8gICAgLS0tPlxuICAgIC8vICAgIHxcbiAgICAvLyA+LS0tXG4gICAgY29uc3QgdmVydGljYWxTcGxpdDogUG9pbnRbXSA9IFtcbiAgICAgIHsgeDogY2VudGVyWCwgeTogc291cmNlR2FwcGVkLnkgfSxcbiAgICAgIHsgeDogY2VudGVyWCwgeTogdGFyZ2V0R2FwcGVkLnkgfSxcbiAgICBdO1xuICAgIC8vICAgIHxcbiAgICAvLyAgLS0tXG4gICAgLy8gIHxcbiAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IFBvaW50W10gPSBbXG4gICAgICB7IHg6IHNvdXJjZUdhcHBlZC54LCB5OiBjZW50ZXJZIH0sXG4gICAgICB7IHg6IHRhcmdldEdhcHBlZC54LCB5OiBjZW50ZXJZIH0sXG4gICAgXTtcblxuICAgIGlmIChzb3VyY2VEaXJbZGlyQWNjZXNzb3JdID09PSBjdXJyRGlyKSB7XG4gICAgICBwb2ludHMgPSBkaXJBY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9pbnRzID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/IGhvcml6b250YWxTcGxpdCA6IHZlcnRpY2FsU3BsaXQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIHNvdXJjZVRhcmdldCBtZWFucyB3ZSB0YWtlIHggZnJvbSBzb3VyY2UgYW5kIHkgZnJvbSB0YXJnZXQsIHRhcmdldFNvdXJjZSBpcyB0aGUgb3Bwb3NpdGVcbiAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IFBvaW50W10gPSBbeyB4OiBzb3VyY2VHYXBwZWQueCwgeTogdGFyZ2V0R2FwcGVkLnkgfV07XG4gICAgY29uc3QgdGFyZ2V0U291cmNlOiBQb2ludFtdID0gW3sgeDogdGFyZ2V0R2FwcGVkLngsIHk6IHNvdXJjZUdhcHBlZC55IH1dO1xuICAgIC8vIHRoaXMgaGFuZGxlcyBlZGdlcyB3aXRoIHNhbWUgaGFuZGxlIHBvc2l0aW9uc1xuICAgIGlmIChkaXJBY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICBwb2ludHMgPSBzb3VyY2VEaXIueCA9PT0gY3VyckRpciA/IHRhcmdldFNvdXJjZSA6IHNvdXJjZVRhcmdldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9pbnRzID0gc291cmNlRGlyLnkgPT09IGN1cnJEaXIgPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZVBvc2l0aW9uID09PSB0YXJnZXRQb3NpdGlvbikge1xuICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVtkaXJBY2Nlc3Nvcl0gLSB0YXJnZXRbZGlyQWNjZXNzb3JdKTtcblxuICAgICAgLy8gaWYgYW4gZWRnZSBnb2VzIGZyb20gcmlnaHQgdG8gcmlnaHQgZm9yIGV4YW1wbGUgKHNvdXJjZVBvc2l0aW9uID09PSB0YXJnZXRQb3NpdGlvbikgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHNvdXJjZS54IGFuZCB0YXJnZXQueCBpcyBsZXNzIHRoYW4gdGhlIG9mZnNldCwgdGhlIGFkZGVkIHBvaW50IGFuZCB0aGUgZ2FwcGVkIHNvdXJjZS90YXJnZXQgd2lsbCBvdmVybGFwLiBUaGlzIGxlYWRzIHRvIGEgd2VpcmQgZWRnZSBwYXRoLiBUbyBhdm9pZCB0aGlzIHdlIGFkZCBhIGdhcE9mZnNldCB0byB0aGUgc291cmNlL3RhcmdldFxuICAgICAgaWYgKGRpZmYgPD0gb2Zmc2V0KSB7XG4gICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICBpZiAoc291cmNlRGlyW2RpckFjY2Vzc29yXSA9PT0gY3VyckRpcikge1xuICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFtkaXJBY2Nlc3Nvcl0gPSAoc291cmNlR2FwcGVkW2RpckFjY2Vzc29yXSA+IHNvdXJjZVtkaXJBY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldEdhcE9mZnNldFtkaXJBY2Nlc3Nvcl0gPSAodGFyZ2V0R2FwcGVkW2RpckFjY2Vzc29yXSA+IHRhcmdldFtkaXJBY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhlc2UgYXJlIGNvbmRpdGlvbnMgZm9yIGhhbmRsaW5nIG1peGVkIGhhbmRsZSBwb3NpdGlvbnMgbGlrZSBSaWdodCAtPiBCb3R0b20gZm9yIGV4YW1wbGVcbiAgICBpZiAoc291cmNlUG9zaXRpb24gIT09IHRhcmdldFBvc2l0aW9uKSB7XG4gICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcltkaXJBY2Nlc3Nvcl0gPT09IHRhcmdldERpcltkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA+IHRhcmdldEdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA8IHRhcmdldEdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAoc291cmNlRGlyW2RpckFjY2Vzc29yXSA9PT0gMSAmJiAoKCFpc1NhbWVEaXIgJiYgc291cmNlR3RUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykpKSB8fFxuICAgICAgICAoc291cmNlRGlyW2RpckFjY2Vzc29yXSAhPT0gMSAmJiAoKCFpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykpKTtcblxuICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgcG9pbnRzID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VHYXBQb2ludCA9IHsgeDogc291cmNlR2FwcGVkLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwcGVkLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9O1xuICAgIGNvbnN0IHRhcmdldEdhcFBvaW50ID0geyB4OiB0YXJnZXRHYXBwZWQueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXBwZWQueSArIHRhcmdldEdhcE9mZnNldC55IH07XG4gICAgY29uc3QgbWF4WERpc3RhbmNlID0gTWF0aC5tYXgoTWF0aC5hYnMoc291cmNlR2FwUG9pbnQueCAtIHBvaW50c1swXS54KSwgTWF0aC5hYnModGFyZ2V0R2FwUG9pbnQueCAtIHBvaW50c1swXS54KSk7XG4gICAgY29uc3QgbWF4WURpc3RhbmNlID0gTWF0aC5tYXgoTWF0aC5hYnMoc291cmNlR2FwUG9pbnQueSAtIHBvaW50c1swXS55KSwgTWF0aC5hYnModGFyZ2V0R2FwUG9pbnQueSAtIHBvaW50c1swXS55KSk7XG5cbiAgICAvLyB3ZSB3YW50IHRvIHBsYWNlIHRoZSBsYWJlbCBvbiB0aGUgbG9uZ2VzdCBzZWdtZW50IG9mIHRoZSBlZGdlXG4gICAgaWYgKG1heFhEaXN0YW5jZSA+PSBtYXhZRGlzdGFuY2UpIHtcbiAgICAgIGNlbnRlclggPSAoc291cmNlR2FwUG9pbnQueCArIHRhcmdldEdhcFBvaW50LngpIC8gMjtcbiAgICAgIGNlbnRlclkgPSBwb2ludHNbMF0ueTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2VudGVyWCA9IHBvaW50c1swXS54O1xuICAgICAgY2VudGVyWSA9IChzb3VyY2VHYXBQb2ludC55ICsgdGFyZ2V0R2FwUG9pbnQueSkgLyAyO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhdGhQb2ludHMgPSBbXG4gICAgc291cmNlLFxuICAgIHsgeDogc291cmNlR2FwcGVkLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwcGVkLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgIC4uLnBvaW50cyxcbiAgICB7IHg6IHRhcmdldEdhcHBlZC54ICsgdGFyZ2V0R2FwT2Zmc2V0LngsIHk6IHRhcmdldEdhcHBlZC55ICsgdGFyZ2V0R2FwT2Zmc2V0LnkgfSxcbiAgICB0YXJnZXQsXG4gIF07XG5cbiAgcmV0dXJuIFtwYXRoUG9pbnRzLCBjZW50ZXJYLCBjZW50ZXJZXTtcbn1cblxuZnVuY3Rpb24gZ2V0QmVuZChhOiBQb2ludCwgYjogUG9pbnQsIGM6IFBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKGRpc3RhbmNlKGEsIGIpIC8gMiwgZGlzdGFuY2UoYiwgYykgLyAyLCBzaXplKTtcbiAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gIC8vIG5vIGJlbmRcbiAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICByZXR1cm4gYEwke3h9ICR7eX1gO1xuICB9XG5cbiAgLy8gZmlyc3Qgc2VnbWVudCBpcyBob3Jpem9udGFsXG4gIGlmIChhLnkgPT09IHkpIHtcbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gLTEgOiAxO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAxIDogLTE7XG4gICAgcmV0dXJuIGBMICR7eCArIGJlbmRTaXplICogeERpcn0sJHt5fVEgJHt4fSwke3l9ICR7eH0sJHt5ICsgYmVuZFNpemUgKiB5RGlyfWA7XG4gIH1cblxuICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICByZXR1cm4gYEwgJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9USAke3h9LCR7eX0gJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNtb290aFN0ZXBQYXRoKFxuICBzb3VyY2U6IFBvaW50LFxuICB0YXJnZXQ6IFBvaW50LFxuICBzb3VyY2VQb3NpdGlvbjogUG9zaXRpb24sXG4gIHRhcmdldFBvc2l0aW9uOiBQb3NpdGlvbixcbiAgYm9yZGVyUmFkaXVzOiBudW1iZXIgPSA1XG4pOiBQYXRoRGF0YSB7XG4gIGNvbnN0IFtwb2ludHMsIGxhYmVsWCwgbGFiZWxZXSA9IGdldFBvaW50cyh7XG4gICAgc291cmNlLFxuICAgIHNvdXJjZVBvc2l0aW9uLFxuICAgIHRhcmdldCxcbiAgICB0YXJnZXRQb3NpdGlvbixcbiAgICBvZmZzZXQ6IDIwXG4gIH0pO1xuXG4gIGNvbnN0IHBhdGggPSBwb2ludHMucmVkdWNlPHN0cmluZz4oKHJlcywgcCwgaSkgPT4ge1xuICAgIGxldCBzZWdtZW50ID0gJyc7XG5cbiAgICBpZiAoaSA+IDAgJiYgaSA8IHBvaW50cy5sZW5ndGggLSAxKSB7XG4gICAgICBzZWdtZW50ID0gZ2V0QmVuZChwb2ludHNbaSAtIDFdLCBwLCBwb2ludHNbaSArIDFdLCBib3JkZXJSYWRpdXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWdtZW50ID0gYCR7aSA9PT0gMCA/ICdNJyA6ICdMJ30ke3AueH0gJHtwLnl9YDtcbiAgICB9XG5cbiAgICByZXMgKz0gc2VnbWVudDtcblxuICAgIHJldHVybiByZXM7XG4gIH0sICcnKTtcblxuICByZXR1cm4ge1xuICAgIHBhdGgsXG4gICAgcG9pbnRzOiB7XG4gICAgICAvLyBUT0RPIHN0YXJ0IGFuZCBlbmQgcG9pbnRzIHRlbXBvcmFyeSB1bmF2YWlsYWJsZSBmb3IgdGhpcyBwYXRoXG4gICAgICBzdGFydDogeyB4OiBsYWJlbFgsIHk6IGxhYmVsWSB9LFxuICAgICAgY2VudGVyOiB7IHg6IGxhYmVsWCwgeTogbGFiZWxZIH0sXG4gICAgICBlbmQ6IHsgeDogbGFiZWxYLCB5OiBsYWJlbFkgfSxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21vb3RoLXN0ZXAtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tYXRoL2VkZ2UtcGF0aC9zbW9vdGgtc3RlcC1wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU7SUFDckIsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQ3JCLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTtDQUN2QixDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUFhLEVBQUUsTUFBYTtJQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUU5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxD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QUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsOEJBQThCO0lBQzlCLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxLQUFLLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDO0lBQ2hGLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztBQUNoRixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsTUFBYSxFQUNiLE1BQWEsRUFDYixjQUF3QixFQUN4QixjQUF3QixFQUN4QixlQUF1QixDQUFDO0lBRXhCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN6QyxNQUFNO1FBQ04sY0FBYztRQUNkLE1BQU07UUFDTixjQUFjO1FBQ2QsTUFBTSxFQUFFLEVBQUU7S0FDWCxDQUFDLENBQUM7SUFFSCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xELENBQUM7UUFFRCxHQUFHLElBQUksT0FBTyxDQUFDO1FBRWYsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPO1FBQ0wsSUFBSTtRQUNKLE1BQU0sRUFBRTtZQUNOLGdFQUFnRTtZQUNoRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDL0IsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFO1lBQ2hDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRTtTQUM5QjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhdGgtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL3Bvc2l0aW9uLnR5cGUnO1xuXG5jb25zdCBoYW5kbGVEaXJlY3Rpb25zID0ge1xuICBsZWZ0OiB7IHg6IC0xLCB5OiAwIH0sXG4gIHJpZ2h0OiB7IHg6IDEsIHk6IDAgfSxcbiAgdG9wOiB7IHg6IDAsIHk6IC0xIH0sXG4gIGJvdHRvbTogeyB4OiAwLCB5OiAxIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWRnZUNlbnRlcihzb3VyY2U6IFBvaW50LCB0YXJnZXQ6IFBvaW50KTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBjb25zdCB4T2Zmc2V0ID0gTWF0aC5hYnModGFyZ2V0LnggLSBzb3VyY2UueCkgLyAyO1xuICBjb25zdCBjZW50ZXJYID0gdGFyZ2V0LnggPCBzb3VyY2UueCA/IHRhcmdldC54ICsgeE9mZnNldCA6IHRhcmdldC54IC0geE9mZnNldDtcblxuICBjb25zdCB5T2Zmc2V0ID0gTWF0aC5hYnModGFyZ2V0LnkgLSBzb3VyY2UueSkgLyAyO1xuICBjb25zdCBjZW50ZXJZID0gdGFyZ2V0LnkgPCBzb3VyY2UueSA/IHRhcmdldC55ICsgeU9mZnNldCA6IHRhcmdldC55IC0geU9mZnNldDtcblxuICByZXR1cm4gW2NlbnRlclgsIGNlbnRlclksIHhPZmZzZXQsIHlPZmZzZXRdO1xufVxuXG5jb25zdCBnZXREaXJlY3Rpb24gPSAoe1xuICBzb3VyY2UsXG4gIHNvdXJjZVBvc2l0aW9uID0gJ2JvdHRvbScsXG4gIHRhcmdldCxcbn06IHtcbiAgc291cmNlOiBQb2ludDtcbiAgc291cmNlUG9zaXRpb246IFBvc2l0aW9uO1xuICB0YXJnZXQ6IFBvaW50O1xufSk6IFBvaW50ID0+IHtcbiAgaWYgKHNvdXJjZVBvc2l0aW9uID09PSAnbGVmdCcgfHwgc291cmNlUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICByZXR1cm4gc291cmNlLnggPCB0YXJnZXQueCA/IHsgeDogMSwgeTogMCB9IDogeyB4OiAtMSwgeTogMCB9O1xuICB9XG4gIHJldHVybiBzb3VyY2UueSA8IHRhcmdldC55ID8geyB4OiAwLCB5OiAxIH0gOiB7IHg6IDAsIHk6IC0xIH07XG59O1xuXG5jb25zdCBkaXN0YW5jZSA9IChhOiBQb2ludCwgYjogUG9pbnQpID0+IE1hdGguc3FydChNYXRoLnBvdyhiLnggLSBhLngsIDIpICsgTWF0aC5wb3coYi55IC0gYS55LCAyKSk7XG5cbi8vIGl0aCB0aGlzIGZ1bmN0aW9uIHdlIHRyeSB0byBtaW1pYyBhIG9ydGhvZ29uYWwgZWRnZSByb3V0aW5nIGJlaGF2aW91clxuLy8gSXQncyBub3QgYXMgZ29vZCBhcyBhIHJlYWwgb3J0aG9nb25hbCBlZGdlIHJvdXRpbmcgYnV0IGl0J3MgZmFzdGVyIGFuZCBnb29kIGVub3VnaCBhcyBhIGRlZmF1bHQgZm9yIHN0ZXAgYW5kIHNtb290aCBzdGVwIGVkZ2VzXG5mdW5jdGlvbiBnZXRQb2ludHMoe1xuICBzb3VyY2UsXG4gIHNvdXJjZVBvc2l0aW9uID0gJ2JvdHRvbScsXG4gIHRhcmdldCxcbiAgdGFyZ2V0UG9zaXRpb24gPSAndG9wJyxcbiAgb2Zmc2V0LFxufToge1xuICBzb3VyY2U6IFBvaW50O1xuICBzb3VyY2VQb3NpdGlvbjogUG9zaXRpb247XG4gIHRhcmdldDogUG9pbnQ7XG4gIHRhcmdldFBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgb2Zmc2V0OiBudW1iZXI7XG59KTogW1BvaW50W10sIG51bWJlciwgbnVtYmVyXSB7XG4gIGNvbnN0IHNvdXJjZURpciA9IGhhbmRsZURpcmVjdGlvbnNbc291cmNlUG9zaXRpb25dO1xuICBjb25zdCB0YXJnZXREaXIgPSBoYW5kbGVEaXJlY3Rpb25zW3RhcmdldFBvc2l0aW9uXTtcbiAgY29uc3Qgc291cmNlR2FwcGVkOiBQb2ludCA9IHsgeDogc291cmNlLnggKyBzb3VyY2VEaXIueCAqIG9mZnNldCwgeTogc291cmNlLnkgKyBzb3VyY2VEaXIueSAqIG9mZnNldCB9O1xuICBjb25zdCB0YXJnZXRHYXBwZWQ6IFBvaW50ID0geyB4OiB0YXJnZXQueCArIHRhcmdldERpci54ICogb2Zmc2V0LCB5OiB0YXJnZXQueSArIHRhcmdldERpci55ICogb2Zmc2V0IH07XG4gIGNvbnN0IGRpciA9IGdldERpcmVjdGlvbih7XG4gICAgc291cmNlOiBzb3VyY2VHYXBwZWQsXG4gICAgc291cmNlUG9zaXRpb24sXG4gICAgdGFyZ2V0OiB0YXJnZXRHYXBwZWQsXG4gIH0pO1xuICBjb25zdCBkaXJBY2Nlc3NvciA9IGRpci54ICE9PSAwID8gJ3gnIDogJ3knO1xuICBjb25zdCBjdXJyRGlyID0gZGlyW2RpckFjY2Vzc29yXTtcblxuICBsZXQgcG9pbnRzOiBQb2ludFtdID0gW107XG4gIGxldCBjZW50ZXJYLCBjZW50ZXJZO1xuICBjb25zdCBzb3VyY2VHYXBPZmZzZXQgPSB7IHg6IDAsIHk6IDAgfTtcbiAgY29uc3QgdGFyZ2V0R2FwT2Zmc2V0ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgY29uc3QgW2RlZmF1bHRDZW50ZXJYLCBkZWZhdWx0Q2VudGVyWV0gPSBnZXRFZGdlQ2VudGVyKHNvdXJjZSwgdGFyZ2V0KTtcblxuICAvLyBvcHBvc2l0ZSBoYW5kbGUgcG9zaXRpb25zLCBkZWZhdWx0IGNhc2VcbiAgaWYgKHNvdXJjZURpcltkaXJBY2Nlc3Nvcl0gKiB0YXJnZXREaXJbZGlyQWNjZXNzb3JdID09PSAtMSkge1xuICAgIGNlbnRlclggPSBkZWZhdWx0Q2VudGVyWDtcbiAgICBjZW50ZXJZID0gZGVmYXVsdENlbnRlclk7XG4gICAgLy8gICAgLS0tPlxuICAgIC8vICAgIHxcbiAgICAvLyA+LS0tXG4gICAgY29uc3QgdmVydGljYWxTcGxpdDogUG9pbnRbXSA9IFtcbiAgICAgIHsgeDogY2VudGVyWCwgeTogc291cmNlR2FwcGVkLnkgfSxcbiAgICAgIHsgeDogY2VudGVyWCwgeTogdGFyZ2V0R2FwcGVkLnkgfSxcbiAgICBdO1xuICAgIC8vICAgIHxcbiAgICAvLyAgLS0tXG4gICAgLy8gIHxcbiAgICBjb25zdCBob3Jpem9udGFsU3BsaXQ6IFBvaW50W10gPSBbXG4gICAgICB7IHg6IHNvdXJjZUdhcHBlZC54LCB5OiBjZW50ZXJZIH0sXG4gICAgICB7IHg6IHRhcmdldEdhcHBlZC54LCB5OiBjZW50ZXJZIH0sXG4gICAgXTtcblxuICAgIGlmIChzb3VyY2VEaXJbZGlyQWNjZXNzb3JdID09PSBjdXJyRGlyKSB7XG4gICAgICBwb2ludHMgPSBkaXJBY2Nlc3NvciA9PT0gJ3gnID8gdmVydGljYWxTcGxpdCA6IGhvcml6b250YWxTcGxpdDtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9pbnRzID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/IGhvcml6b250YWxTcGxpdCA6IHZlcnRpY2FsU3BsaXQ7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIHNvdXJjZVRhcmdldCBtZWFucyB3ZSB0YWtlIHggZnJvbSBzb3VyY2UgYW5kIHkgZnJvbSB0YXJnZXQsIHRhcmdldFNvdXJjZSBpcyB0aGUgb3Bwb3NpdGVcbiAgICBjb25zdCBzb3VyY2VUYXJnZXQ6IFBvaW50W10gPSBbeyB4OiBzb3VyY2VHYXBwZWQueCwgeTogdGFyZ2V0R2FwcGVkLnkgfV07XG4gICAgY29uc3QgdGFyZ2V0U291cmNlOiBQb2ludFtdID0gW3sgeDogdGFyZ2V0R2FwcGVkLngsIHk6IHNvdXJjZUdhcHBlZC55IH1dO1xuICAgIC8vIHRoaXMgaGFuZGxlcyBlZGdlcyB3aXRoIHNhbWUgaGFuZGxlIHBvc2l0aW9uc1xuICAgIGlmIChkaXJBY2Nlc3NvciA9PT0gJ3gnKSB7XG4gICAgICBwb2ludHMgPSBzb3VyY2VEaXIueCA9PT0gY3VyckRpciA/IHRhcmdldFNvdXJjZSA6IHNvdXJjZVRhcmdldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9pbnRzID0gc291cmNlRGlyLnkgPT09IGN1cnJEaXIgPyBzb3VyY2VUYXJnZXQgOiB0YXJnZXRTb3VyY2U7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZVBvc2l0aW9uID09PSB0YXJnZXRQb3NpdGlvbikge1xuICAgICAgY29uc3QgZGlmZiA9IE1hdGguYWJzKHNvdXJjZVtkaXJBY2Nlc3Nvcl0gLSB0YXJnZXRbZGlyQWNjZXNzb3JdKTtcblxuICAgICAgLy8gaWYgYW4gZWRnZSBnb2VzIGZyb20gcmlnaHQgdG8gcmlnaHQgZm9yIGV4YW1wbGUgKHNvdXJjZVBvc2l0aW9uID09PSB0YXJnZXRQb3NpdGlvbikgYW5kIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHNvdXJjZS54IGFuZCB0YXJnZXQueCBpcyBsZXNzIHRoYW4gdGhlIG9mZnNldCwgdGhlIGFkZGVkIHBvaW50IGFuZCB0aGUgZ2FwcGVkIHNvdXJjZS90YXJnZXQgd2lsbCBvdmVybGFwLiBUaGlzIGxlYWRzIHRvIGEgd2VpcmQgZWRnZSBwYXRoLiBUbyBhdm9pZCB0aGlzIHdlIGFkZCBhIGdhcE9mZnNldCB0byB0aGUgc291cmNlL3RhcmdldFxuICAgICAgaWYgKGRpZmYgPD0gb2Zmc2V0KSB7XG4gICAgICAgIGNvbnN0IGdhcE9mZnNldCA9IE1hdGgubWluKG9mZnNldCAtIDEsIG9mZnNldCAtIGRpZmYpO1xuICAgICAgICBpZiAoc291cmNlRGlyW2RpckFjY2Vzc29yXSA9PT0gY3VyckRpcikge1xuICAgICAgICAgIHNvdXJjZUdhcE9mZnNldFtkaXJBY2Nlc3Nvcl0gPSAoc291cmNlR2FwcGVkW2RpckFjY2Vzc29yXSA+IHNvdXJjZVtkaXJBY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldEdhcE9mZnNldFtkaXJBY2Nlc3Nvcl0gPSAodGFyZ2V0R2FwcGVkW2RpckFjY2Vzc29yXSA+IHRhcmdldFtkaXJBY2Nlc3Nvcl0gPyAtMSA6IDEpICogZ2FwT2Zmc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gdGhlc2UgYXJlIGNvbmRpdGlvbnMgZm9yIGhhbmRsaW5nIG1peGVkIGhhbmRsZSBwb3NpdGlvbnMgbGlrZSBSaWdodCAtPiBCb3R0b20gZm9yIGV4YW1wbGVcbiAgICBpZiAoc291cmNlUG9zaXRpb24gIT09IHRhcmdldFBvc2l0aW9uKSB7XG4gICAgICBjb25zdCBkaXJBY2Nlc3Nvck9wcG9zaXRlID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/ICd5JyA6ICd4JztcbiAgICAgIGNvbnN0IGlzU2FtZURpciA9IHNvdXJjZURpcltkaXJBY2Nlc3Nvcl0gPT09IHRhcmdldERpcltkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IHNvdXJjZUd0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA+IHRhcmdldEdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IHNvdXJjZUx0VGFyZ2V0T3BwbyA9IHNvdXJjZUdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXSA8IHRhcmdldEdhcHBlZFtkaXJBY2Nlc3Nvck9wcG9zaXRlXTtcbiAgICAgIGNvbnN0IGZsaXBTb3VyY2VUYXJnZXQgPVxuICAgICAgICAoc291cmNlRGlyW2RpckFjY2Vzc29yXSA9PT0gMSAmJiAoKCFpc1NhbWVEaXIgJiYgc291cmNlR3RUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUx0VGFyZ2V0T3BwbykpKSB8fFxuICAgICAgICAoc291cmNlRGlyW2RpckFjY2Vzc29yXSAhPT0gMSAmJiAoKCFpc1NhbWVEaXIgJiYgc291cmNlTHRUYXJnZXRPcHBvKSB8fCAoaXNTYW1lRGlyICYmIHNvdXJjZUd0VGFyZ2V0T3BwbykpKTtcblxuICAgICAgaWYgKGZsaXBTb3VyY2VUYXJnZXQpIHtcbiAgICAgICAgcG9pbnRzID0gZGlyQWNjZXNzb3IgPT09ICd4JyA/IHNvdXJjZVRhcmdldCA6IHRhcmdldFNvdXJjZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VHYXBQb2ludCA9IHsgeDogc291cmNlR2FwcGVkLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwcGVkLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9O1xuICAgIGNvbnN0IHRhcmdldEdhcFBvaW50ID0geyB4OiB0YXJnZXRHYXBwZWQueCArIHRhcmdldEdhcE9mZnNldC54LCB5OiB0YXJnZXRHYXBwZWQueSArIHRhcmdldEdhcE9mZnNldC55IH07XG4gICAgY29uc3QgbWF4WERpc3RhbmNlID0gTWF0aC5tYXgoTWF0aC5hYnMoc291cmNlR2FwUG9pbnQueCAtIHBvaW50c1swXS54KSwgTWF0aC5hYnModGFyZ2V0R2FwUG9pbnQueCAtIHBvaW50c1swXS54KSk7XG4gICAgY29uc3QgbWF4WURpc3RhbmNlID0gTWF0aC5tYXgoTWF0aC5hYnMoc291cmNlR2FwUG9pbnQueSAtIHBvaW50c1swXS55KSwgTWF0aC5hYnModGFyZ2V0R2FwUG9pbnQueSAtIHBvaW50c1swXS55KSk7XG5cbiAgICAvLyB3ZSB3YW50IHRvIHBsYWNlIHRoZSBsYWJlbCBvbiB0aGUgbG9uZ2VzdCBzZWdtZW50IG9mIHRoZSBlZGdlXG4gICAgaWYgKG1heFhEaXN0YW5jZSA+PSBtYXhZRGlzdGFuY2UpIHtcbiAgICAgIGNlbnRlclggPSAoc291cmNlR2FwUG9pbnQueCArIHRhcmdldEdhcFBvaW50LngpIC8gMjtcbiAgICAgIGNlbnRlclkgPSBwb2ludHNbMF0ueTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2VudGVyWCA9IHBvaW50c1swXS54O1xuICAgICAgY2VudGVyWSA9IChzb3VyY2VHYXBQb2ludC55ICsgdGFyZ2V0R2FwUG9pbnQueSkgLyAyO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhdGhQb2ludHMgPSBbXG4gICAgc291cmNlLFxuICAgIHsgeDogc291cmNlR2FwcGVkLnggKyBzb3VyY2VHYXBPZmZzZXQueCwgeTogc291cmNlR2FwcGVkLnkgKyBzb3VyY2VHYXBPZmZzZXQueSB9LFxuICAgIC4uLnBvaW50cyxcbiAgICB7IHg6IHRhcmdldEdhcHBlZC54ICsgdGFyZ2V0R2FwT2Zmc2V0LngsIHk6IHRhcmdldEdhcHBlZC55ICsgdGFyZ2V0R2FwT2Zmc2V0LnkgfSxcbiAgICB0YXJnZXQsXG4gIF07XG5cbiAgcmV0dXJuIFtwYXRoUG9pbnRzLCBjZW50ZXJYLCBjZW50ZXJZXTtcbn1cblxuZnVuY3Rpb24gZ2V0QmVuZChhOiBQb2ludCwgYjogUG9pbnQsIGM6IFBvaW50LCBzaXplOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBiZW5kU2l6ZSA9IE1hdGgubWluKGRpc3RhbmNlKGEsIGIpIC8gMiwgZGlzdGFuY2UoYiwgYykgLyAyLCBzaXplKTtcbiAgY29uc3QgeyB4LCB5IH0gPSBiO1xuXG4gIC8vIG5vIGJlbmRcbiAgaWYgKChhLnggPT09IHggJiYgeCA9PT0gYy54KSB8fCAoYS55ID09PSB5ICYmIHkgPT09IGMueSkpIHtcbiAgICByZXR1cm4gYEwke3h9ICR7eX1gO1xuICB9XG5cbiAgLy8gZmlyc3Qgc2VnbWVudCBpcyBob3Jpem9udGFsXG4gIGlmIChhLnkgPT09IHkpIHtcbiAgICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gLTEgOiAxO1xuICAgIGNvbnN0IHlEaXIgPSBhLnkgPCBjLnkgPyAxIDogLTE7XG4gICAgcmV0dXJuIGBMICR7eCArIGJlbmRTaXplICogeERpcn0sJHt5fVEgJHt4fSwke3l9ICR7eH0sJHt5ICsgYmVuZFNpemUgKiB5RGlyfWA7XG4gIH1cblxuICBjb25zdCB4RGlyID0gYS54IDwgYy54ID8gMSA6IC0xO1xuICBjb25zdCB5RGlyID0gYS55IDwgYy55ID8gLTEgOiAxO1xuICByZXR1cm4gYEwgJHt4fSwke3kgKyBiZW5kU2l6ZSAqIHlEaXJ9USAke3h9LCR7eX0gJHt4ICsgYmVuZFNpemUgKiB4RGlyfSwke3l9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNtb290aFN0ZXBQYXRoKFxuICBzb3VyY2U6IFBvaW50LFxuICB0YXJnZXQ6IFBvaW50LFxuICBzb3VyY2VQb3NpdGlvbjogUG9zaXRpb24sXG4gIHRhcmdldFBvc2l0aW9uOiBQb3NpdGlvbixcbiAgYm9yZGVyUmFkaXVzOiBudW1iZXIgPSA1LFxuKTogUGF0aERhdGEge1xuICBjb25zdCBbcG9pbnRzLCBsYWJlbFgsIGxhYmVsWV0gPSBnZXRQb2ludHMoe1xuICAgIHNvdXJjZSxcbiAgICBzb3VyY2VQb3NpdGlvbixcbiAgICB0YXJnZXQsXG4gICAgdGFyZ2V0UG9zaXRpb24sXG4gICAgb2Zmc2V0OiAyMCxcbiAgfSk7XG5cbiAgY29uc3QgcGF0aCA9IHBvaW50cy5yZWR1Y2U8c3RyaW5nPigocmVzLCBwLCBpKSA9PiB7XG4gICAgbGV0IHNlZ21lbnQgPSAnJztcblxuICAgIGlmIChpID4gMCAmJiBpIDwgcG9pbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgIHNlZ21lbnQgPSBnZXRCZW5kKHBvaW50c1tpIC0gMV0sIHAsIHBvaW50c1tpICsgMV0sIGJvcmRlclJhZGl1cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlZ21lbnQgPSBgJHtpID09PSAwID8gJ00nIDogJ0wnfSR7cC54fSAke3AueX1gO1xuICAgIH1cblxuICAgIHJlcyArPSBzZWdtZW50O1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfSwgJycpO1xuXG4gIHJldHVybiB7XG4gICAgcGF0aCxcbiAgICBwb2ludHM6IHtcbiAgICAgIC8vIFRPRE8gc3RhcnQgYW5kIGVuZCBwb2ludHMgdGVtcG9yYXJ5IHVuYXZhaWxhYmxlIGZvciB0aGlzIHBhdGhcbiAgICAgIHN0YXJ0OiB7IHg6IGxhYmVsWCwgeTogbGFiZWxZIH0sXG4gICAgICBjZW50ZXI6IHsgeDogbGFiZWxYLCB5OiBsYWJlbFkgfSxcbiAgICAgIGVuZDogeyB4OiBsYWJlbFgsIHk6IGxhYmVsWSB9LFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -1,14 +1,14 @@
1
- import { getPointOnLineByRatio } from "../point-on-line-by-ratio";
1
+ import { getPointOnLineByRatio } from '../point-on-line-by-ratio';
2
2
  export function straightPath(source, target, usingPoints = [false, false, false]) {
3
3
  const [start, center, end] = usingPoints;
4
4
  const nullPoint = { x: 0, y: 0 };
5
5
  return {
6
6
  path: `M ${source.x},${source.y}L ${target.x},${target.y}`,
7
7
  points: {
8
- start: start ? getPointOnLineByRatio(source, target, .15) : nullPoint,
9
- center: center ? getPointOnLineByRatio(source, target, .50) : nullPoint,
10
- end: end ? getPointOnLineByRatio(source, target, .85) : nullPoint,
11
- }
8
+ start: start ? getPointOnLineByRatio(source, target, 0.15) : nullPoint,
9
+ center: center ? getPointOnLineByRatio(source, target, 0.5) : nullPoint,
10
+ end: end ? getPointOnLineByRatio(source, target, 0.85) : nullPoint,
11
+ },
12
12
  };
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYWlnaC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L21hdGgvZWRnZS1wYXRoL3N0cmFpZ2gtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLFVBQVUsWUFBWSxDQUMxQixNQUFhLEVBQ2IsTUFBYSxFQUNiLGNBQTJCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7SUFFaEQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFBO0lBQ3hDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFFaEMsT0FBTztRQUNMLElBQUksRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQUU7UUFDMUQsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNyRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3ZFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDbEU7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGhEYXRhIH0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvcGF0aC1kYXRhLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9wb2ludC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFVzaW5nUG9pbnRzIH0gZnJvbSBcIi4uLy4uL3R5cGVzL3VzaW5nLXBvaW50cy50eXBlXCI7XG5pbXBvcnQgeyBnZXRQb2ludE9uTGluZUJ5UmF0aW8gfSBmcm9tIFwiLi4vcG9pbnQtb24tbGluZS1ieS1yYXRpb1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyYWlnaHRQYXRoKFxuICBzb3VyY2U6IFBvaW50LFxuICB0YXJnZXQ6IFBvaW50LFxuICB1c2luZ1BvaW50czogVXNpbmdQb2ludHMgPSBbZmFsc2UsIGZhbHNlLCBmYWxzZV1cbik6IFBhdGhEYXRhIHtcbiAgY29uc3QgW3N0YXJ0LCBjZW50ZXIsIGVuZF0gPSB1c2luZ1BvaW50c1xuICBjb25zdCBudWxsUG9pbnQgPSB7IHg6IDAsIHk6IDAgfVxuXG4gIHJldHVybiB7XG4gICAgcGF0aDogYE0gJHtzb3VyY2UueH0sJHtzb3VyY2UueX1MICR7dGFyZ2V0Lnh9LCR7dGFyZ2V0Lnl9YCxcbiAgICBwb2ludHM6IHtcbiAgICAgIHN0YXJ0OiBzdGFydCA/IGdldFBvaW50T25MaW5lQnlSYXRpbyhzb3VyY2UsIHRhcmdldCwgLjE1KSA6IG51bGxQb2ludCxcbiAgICAgIGNlbnRlcjogY2VudGVyID8gZ2V0UG9pbnRPbkxpbmVCeVJhdGlvKHNvdXJjZSwgdGFyZ2V0LCAuNTApIDogbnVsbFBvaW50LFxuICAgICAgZW5kOiBlbmQgPyBnZXRQb2ludE9uTGluZUJ5UmF0aW8oc291cmNlLCB0YXJnZXQsIC44NSkgOiBudWxsUG9pbnQsXG4gICAgfVxuICB9XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyYWlnaC1wYXRoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L21hdGgvZWRnZS1wYXRoL3N0cmFpZ2gtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWEsRUFBRSxNQUFhLEVBQUUsY0FBMkIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztJQUN6RyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDekMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVqQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsRUFBRTtRQUMxRCxNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3RFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdkUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNuRTtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGF0aERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BhdGgtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2luZ1BvaW50cyB9IGZyb20gJy4uLy4uL3R5cGVzL3VzaW5nLXBvaW50cy50eXBlJztcbmltcG9ydCB7IGdldFBvaW50T25MaW5lQnlSYXRpbyB9IGZyb20gJy4uL3BvaW50LW9uLWxpbmUtYnktcmF0aW8nO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RyYWlnaHRQYXRoKHNvdXJjZTogUG9pbnQsIHRhcmdldDogUG9pbnQsIHVzaW5nUG9pbnRzOiBVc2luZ1BvaW50cyA9IFtmYWxzZSwgZmFsc2UsIGZhbHNlXSk6IFBhdGhEYXRhIHtcbiAgY29uc3QgW3N0YXJ0LCBjZW50ZXIsIGVuZF0gPSB1c2luZ1BvaW50cztcbiAgY29uc3QgbnVsbFBvaW50ID0geyB4OiAwLCB5OiAwIH07XG5cbiAgcmV0dXJuIHtcbiAgICBwYXRoOiBgTSAke3NvdXJjZS54fSwke3NvdXJjZS55fUwgJHt0YXJnZXQueH0sJHt0YXJnZXQueX1gLFxuICAgIHBvaW50czoge1xuICAgICAgc3RhcnQ6IHN0YXJ0ID8gZ2V0UG9pbnRPbkxpbmVCeVJhdGlvKHNvdXJjZSwgdGFyZ2V0LCAwLjE1KSA6IG51bGxQb2ludCxcbiAgICAgIGNlbnRlcjogY2VudGVyID8gZ2V0UG9pbnRPbkxpbmVCeVJhdGlvKHNvdXJjZSwgdGFyZ2V0LCAwLjUpIDogbnVsbFBvaW50LFxuICAgICAgZW5kOiBlbmQgPyBnZXRQb2ludE9uTGluZUJ5UmF0aW8oc291cmNlLCB0YXJnZXQsIDAuODUpIDogbnVsbFBvaW50LFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -9,4 +9,4 @@ export function getPointOnLineByRatio(start, end, ratio) {
9
9
  y: (1 - ratio) * start.y + ratio * end.y,
10
10
  };
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtb24tbGluZS1ieS1yYXRpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tYXRoL3BvaW50LW9uLWxpbmUtYnktcmF0aW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFZLEVBQUUsR0FBVSxFQUFFLEtBQWE7SUFDM0UsT0FBTztRQUNMLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDekMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2ludCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZVwiO1xuXG4vKipcbiAqIEdldCBwb2ludCBvbiBsaW5lXG4gKlxuICogaHR0cHM6Ly9tYXRoLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy81NjM1NjYvaG93LWRvLWktZmluZC10aGUtbWlkZGxlMS0yLTEtMy0xLTQtZXRjLW9mLWEtbGluZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9pbnRPbkxpbmVCeVJhdGlvKHN0YXJ0OiBQb2ludCwgZW5kOiBQb2ludCwgcmF0aW86IG51bWJlcik6IFBvaW50IHtcbiAgcmV0dXJuIHtcbiAgICB4OiAoMSAtIHJhdGlvKSAqIHN0YXJ0LnggKyByYXRpbyAqIGVuZC54LFxuICAgIHk6ICgxIC0gcmF0aW8pICogc3RhcnQueSArIHJhdGlvICogZW5kLnksXG4gIH07XG59XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtb24tbGluZS1ieS1yYXRpby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tYXRoL3BvaW50LW9uLWxpbmUtYnktcmF0aW8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFZLEVBQUUsR0FBVSxFQUFFLEtBQWE7SUFDM0UsT0FBTztRQUNMLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDekMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBHZXQgcG9pbnQgb24gbGluZVxuICpcbiAqIGh0dHBzOi8vbWF0aC5zdGFja2V4Y2hhbmdlLmNvbS9xdWVzdGlvbnMvNTYzNTY2L2hvdy1kby1pLWZpbmQtdGhlLW1pZGRsZTEtMi0xLTMtMS00LWV0Yy1vZi1hLWxpbmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFBvaW50T25MaW5lQnlSYXRpbyhzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIHJhdGlvOiBudW1iZXIpOiBQb2ludCB7XG4gIHJldHVybiB7XG4gICAgeDogKDEgLSByYXRpbykgKiBzdGFydC54ICsgcmF0aW8gKiBlbmQueCxcbiAgICB5OiAoMSAtIHJhdGlvKSAqIHN0YXJ0LnkgKyByYXRpbyAqIGVuZC55LFxuICB9O1xufVxuIl19
@@ -28,4 +28,4 @@ const notSelfValidator = (connection) => {
28
28
  const hasSourceAndTargetHandleValidator = (connection) => {
29
29
  return connection.sourceHandle !== undefined && connection.targetHandle !== undefined;
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvY29ubmVjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUFtQixRQUE0QjtRQUE1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFBO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUE7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQTtRQUVyQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBNEI7UUFDaEQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFBO1FBRXJCLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUVqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsVUFBVSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO1FBQ3BELENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNyQyxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsVUFBc0IsRUFBRSxFQUFFO0lBQ2xELE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFBO0FBQ2hELENBQUMsQ0FBQTtBQUVELE1BQU0saUNBQWlDLEdBQUcsQ0FBQyxVQUFzQixFQUFFLEVBQUU7SUFDbkUsT0FBTyxVQUFVLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQTtBQUN2RixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uU2V0dGluZ3MsIENvbm5lY3Rpb25WYWxpZGF0b3JGbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2Nvbm5lY3Rpb24tc2V0dGluZ3MuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY29ubmVjdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEN1cnZlLCBFZGdlVHlwZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VkZ2UuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9uTW9kZSB9IGZyb20gXCIuLi90eXBlcy9jb25uZWN0aW9uLW1vZGUudHlwZVwiO1xuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbk1vZGVsIHtcbiAgcHVibGljIGN1cnZlOiBDdXJ2ZVxuICBwdWJsaWMgdHlwZTogRWRnZVR5cGVcbiAgcHVibGljIHZhbGlkYXRvcjogQ29ubmVjdGlvblZhbGlkYXRvckZuXG4gIHB1YmxpYyBtb2RlOiBDb25uZWN0aW9uTW9kZVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXR0aW5nczogQ29ubmVjdGlvblNldHRpbmdzKSB7XG4gICAgdGhpcy5jdXJ2ZSA9IHNldHRpbmdzLmN1cnZlID8/ICdiZXppZXInXG4gICAgdGhpcy50eXBlID0gc2V0dGluZ3MudHlwZSA/PyAnZGVmYXVsdCdcbiAgICB0aGlzLm1vZGUgPSBzZXR0aW5ncy5tb2RlID8/ICdzdHJpY3QnXG5cbiAgICBjb25zdCB2YWxpZGF0b3JzVG9SdW4gPSB0aGlzLmdldFZhbGlkYXRvcnMoc2V0dGluZ3MpXG4gICAgdGhpcy52YWxpZGF0b3IgPSAoY29ubmVjdGlvbikgPT4gdmFsaWRhdG9yc1RvUnVuLmV2ZXJ5KCh2KSA9PiB2KGNvbm5lY3Rpb24pKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWxpZGF0b3JzKHNldHRpbmdzOiBDb25uZWN0aW9uU2V0dGluZ3MpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gW11cblxuICAgIHZhbGlkYXRvcnMucHVzaChub3RTZWxmVmFsaWRhdG9yKVxuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2xvb3NlJykge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKGhhc1NvdXJjZUFuZFRhcmdldEhhbmRsZVZhbGlkYXRvcilcbiAgICB9XG5cbiAgICBpZiAoc2V0dGluZ3MudmFsaWRhdG9yKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goc2V0dGluZ3MudmFsaWRhdG9yKVxuICAgIH1cblxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG59XG5cbi8qKlxuICogSW50ZXJuYWwgdmFsaWRhdG9yIHRoYXQgbm90IGFsbG93cyBzZWxmIGNvbm5lY3Rpb25zXG4gKi9cbmNvbnN0IG5vdFNlbGZWYWxpZGF0b3IgPSAoY29ubmVjdGlvbjogQ29ubmVjdGlvbikgPT4ge1xuICByZXR1cm4gY29ubmVjdGlvbi5zb3VyY2UgIT09IGNvbm5lY3Rpb24udGFyZ2V0XG59XG5cbmNvbnN0IGhhc1NvdXJjZUFuZFRhcmdldEhhbmRsZVZhbGlkYXRvciA9IChjb25uZWN0aW9uOiBDb25uZWN0aW9uKSA9PiB7XG4gIHJldHVybiBjb25uZWN0aW9uLnNvdXJjZUhhbmRsZSAhPT0gdW5kZWZpbmVkICYmIGNvbm5lY3Rpb24udGFyZ2V0SGFuZGxlICE9PSB1bmRlZmluZWRcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvY29ubmVjdGlvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUFtQixRQUE0QjtRQUE1QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUM3QyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQztRQUV0QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBNEI7UUFDaEQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXRCLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDMUIsVUFBVSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN2QixVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsVUFBc0IsRUFBRSxFQUFFO0lBQ2xELE9BQU8sVUFBVSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsTUFBTSxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQUcsQ0FBQyxVQUFzQixFQUFFLEVBQUU7SUFDbkUsT0FBTyxVQUFVLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQztBQUN4RixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uU2V0dGluZ3MsIENvbm5lY3Rpb25WYWxpZGF0b3JGbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29ubmVjdGlvbi1zZXR0aW5ncy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ3VydmUsIEVkZ2VUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lZGdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uTW9kZSB9IGZyb20gJy4uL3R5cGVzL2Nvbm5lY3Rpb24tbW9kZS50eXBlJztcblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25Nb2RlbCB7XG4gIHB1YmxpYyBjdXJ2ZTogQ3VydmU7XG4gIHB1YmxpYyB0eXBlOiBFZGdlVHlwZTtcbiAgcHVibGljIHZhbGlkYXRvcjogQ29ubmVjdGlvblZhbGlkYXRvckZuO1xuICBwdWJsaWMgbW9kZTogQ29ubmVjdGlvbk1vZGU7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHNldHRpbmdzOiBDb25uZWN0aW9uU2V0dGluZ3MpIHtcbiAgICB0aGlzLmN1cnZlID0gc2V0dGluZ3MuY3VydmUgPz8gJ2Jlemllcic7XG4gICAgdGhpcy50eXBlID0gc2V0dGluZ3MudHlwZSA/PyAnZGVmYXVsdCc7XG4gICAgdGhpcy5tb2RlID0gc2V0dGluZ3MubW9kZSA/PyAnc3RyaWN0JztcblxuICAgIGNvbnN0IHZhbGlkYXRvcnNUb1J1biA9IHRoaXMuZ2V0VmFsaWRhdG9ycyhzZXR0aW5ncyk7XG4gICAgdGhpcy52YWxpZGF0b3IgPSAoY29ubmVjdGlvbikgPT4gdmFsaWRhdG9yc1RvUnVuLmV2ZXJ5KCh2KSA9PiB2KGNvbm5lY3Rpb24pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsaWRhdG9ycyhzZXR0aW5nczogQ29ubmVjdGlvblNldHRpbmdzKSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuXG4gICAgdmFsaWRhdG9ycy5wdXNoKG5vdFNlbGZWYWxpZGF0b3IpO1xuXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2xvb3NlJykge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKGhhc1NvdXJjZUFuZFRhcmdldEhhbmRsZVZhbGlkYXRvcik7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLnZhbGlkYXRvcikge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKHNldHRpbmdzLnZhbGlkYXRvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCB2YWxpZGF0b3IgdGhhdCBub3QgYWxsb3dzIHNlbGYgY29ubmVjdGlvbnNcbiAqL1xuY29uc3Qgbm90U2VsZlZhbGlkYXRvciA9IChjb25uZWN0aW9uOiBDb25uZWN0aW9uKSA9PiB7XG4gIHJldHVybiBjb25uZWN0aW9uLnNvdXJjZSAhPT0gY29ubmVjdGlvbi50YXJnZXQ7XG59O1xuXG5jb25zdCBoYXNTb3VyY2VBbmRUYXJnZXRIYW5kbGVWYWxpZGF0b3IgPSAoY29ubmVjdGlvbjogQ29ubmVjdGlvbikgPT4ge1xuICByZXR1cm4gY29ubmVjdGlvbi5zb3VyY2VIYW5kbGUgIT09IHVuZGVmaW5lZCAmJiBjb25uZWN0aW9uLnRhcmdldEhhbmRsZSAhPT0gdW5kZWZpbmVkO1xufTtcbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { signal } from "@angular/core";
1
+ import { signal } from '@angular/core';
2
2
  export class EdgeLabelModel {
3
3
  constructor(edgeLabel) {
4
4
  this.edgeLabel = edgeLabel;
5
5
  this.size = signal({ width: 0, height: 0 });
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1sYWJlbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvZWRnZS1sYWJlbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBR3RDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW1CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFRixDQUFDO0NBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuaW1wb3J0IHsgRWRnZUxhYmVsIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZWRnZS1sYWJlbC5pbnRlcmZhY2VcIlxuXG5leHBvcnQgY2xhc3MgRWRnZUxhYmVsTW9kZWwge1xuICBwdWJsaWMgc2l6ZSA9IHNpZ25hbCh7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSlcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWRnZUxhYmVsOiBFZGdlTGFiZWwpIHsgfVxufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1sYWJlbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvZWRnZS1sYWJlbC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZDLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQW1CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFGaEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFSixDQUFDO0NBQzVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGdlTGFiZWwgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkZ2UtbGFiZWwuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEVkZ2VMYWJlbE1vZGVsIHtcbiAgcHVibGljIHNpemUgPSBzaWduYWwoeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH0pO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlZGdlTGFiZWw6IEVkZ2VMYWJlbCkge31cbn1cbiJdfQ==
@@ -1,9 +1,9 @@
1
- import { computed, signal } from "@angular/core";
2
- import { EdgeLabelModel } from "./edge-label.model";
3
- import { straightPath } from "../math/edge-path/straigh-path";
4
- import { bezierPath } from "../math/edge-path/bezier-path";
5
- import { toObservable } from "@angular/core/rxjs-interop";
6
- import { smoothStepPath } from "../math/edge-path/smooth-step-path";
1
+ import { computed, signal } from '@angular/core';
2
+ import { EdgeLabelModel } from './edge-label.model';
3
+ import { straightPath } from '../math/edge-path/straigh-path';
4
+ import { bezierPath } from '../math/edge-path/bezier-path';
5
+ import { toObservable } from '@angular/core/rxjs-interop';
6
+ import { smoothStepPath } from '../math/edge-path/smooth-step-path';
7
7
  export class EdgeModel {
8
8
  constructor(edge) {
9
9
  this.edge = edge;
@@ -20,20 +20,16 @@ export class EdgeModel {
20
20
  let existsSourceHandle = false;
21
21
  let existsTargetHandle = false;
22
22
  if (this.edge.sourceHandle) {
23
- existsSourceHandle = !!source.handles()
24
- .find(handle => handle.rawHandle.id === this.edge.sourceHandle);
23
+ existsSourceHandle = !!source.handles().find((handle) => handle.rawHandle.id === this.edge.sourceHandle);
25
24
  }
26
25
  else {
27
- existsSourceHandle = !!source.handles()
28
- .find(handle => handle.rawHandle.type === 'source');
26
+ existsSourceHandle = !!source.handles().find((handle) => handle.rawHandle.type === 'source');
29
27
  }
30
28
  if (this.edge.targetHandle) {
31
- existsTargetHandle = !!target.handles()
32
- .find(handle => handle.rawHandle.id === this.edge.targetHandle);
29
+ existsTargetHandle = !!target.handles().find((handle) => handle.rawHandle.id === this.edge.targetHandle);
33
30
  }
34
31
  else {
35
- existsTargetHandle = !!target.handles()
36
- .find(handle => handle.rawHandle.type === 'target');
32
+ existsTargetHandle = !!target.handles().find((handle) => handle.rawHandle.type === 'target');
37
33
  }
38
34
  return !existsSourceHandle || !existsTargetHandle;
39
35
  });
@@ -41,21 +37,25 @@ export class EdgeModel {
41
37
  this.path = computed(() => {
42
38
  let source;
43
39
  if (this.edge.sourceHandle) {
44
- source = this.source()?.handles()
45
- .find(handle => handle.rawHandle.id === this.edge.sourceHandle);
40
+ source = this.source()
41
+ ?.handles()
42
+ .find((handle) => handle.rawHandle.id === this.edge.sourceHandle);
46
43
  }
47
44
  else {
48
- source = this.source()?.handles()
49
- .find(handle => handle.rawHandle.type === 'source');
45
+ source = this.source()
46
+ ?.handles()
47
+ .find((handle) => handle.rawHandle.type === 'source');
50
48
  }
51
49
  let target;
52
50
  if (this.edge.targetHandle) {
53
- target = this.target()?.handles()
54
- .find(handle => handle.rawHandle.id === this.edge.targetHandle);
51
+ target = this.target()
52
+ ?.handles()
53
+ .find((handle) => handle.rawHandle.id === this.edge.targetHandle);
55
54
  }
56
55
  else {
57
- target = this.target()?.handles()
58
- .find(handle => handle.rawHandle.type === 'target');
56
+ target = this.target()
57
+ ?.handles()
58
+ .find((handle) => handle.rawHandle.type === 'target');
59
59
  }
60
60
  // TODO: don't like this
61
61
  if (!source || !target) {
@@ -64,8 +64,8 @@ export class EdgeModel {
64
64
  points: {
65
65
  start: { x: 0, y: 0 },
66
66
  center: { x: 0, y: 0 },
67
- end: { x: 0, y: 0 }
68
- }
67
+ end: { x: 0, y: 0 },
68
+ },
69
69
  };
70
70
  }
71
71
  switch (this.curve) {
@@ -91,4 +91,4 @@ export class EdgeModel {
91
91
  this.usingPoints = [!!this.edgeLabels.start, !!this.edgeLabels.center, !!this.edgeLabels.end];
92
92
  }
93
93
  }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvZWRnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVwRSxNQUFNLE9BQU8sU0FBUztJQXNHcEIsWUFBbUIsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07UUFyR3RCLFdBQU0sR0FBRyxNQUFNLENBQXdCLFNBQVMsQ0FBQyxDQUFBO1FBQ2pELFdBQU0sR0FBRyxNQUFNLENBQXdCLFNBQVMsQ0FBQyxDQUFBO1FBSWpELGFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsY0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1lBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUU1QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUVELElBQUksa0JBQWtCLEdBQUcs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RCxFQUFFLENBQUE7UUFLMUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFBO1FBRW5DLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3RixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTTtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDaEcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUc7WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBRXZGLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQy9GLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVkZ2VMYWJlbFBvc2l0aW9uIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZWRnZS1sYWJlbC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEVkZ2UsIEN1cnZlLCBFZGdlVHlwZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VkZ2UuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBFZGdlTGFiZWxNb2RlbCB9IGZyb20gXCIuL2VkZ2UtbGFiZWwubW9kZWxcIjtcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gXCIuL25vZGUubW9kZWxcIjtcbmltcG9ydCB7IHN0cmFpZ2h0UGF0aCB9IGZyb20gXCIuLi9tYXRoL2VkZ2UtcGF0aC9zdHJhaWdoLXBhdGhcIjtcbmltcG9ydCB7IGJlemllclBhdGggfSBmcm9tIFwiLi4vbWF0aC9lZGdlLXBhdGgvYmV6aWVyLXBhdGhcIjtcbmltcG9ydCB7IFVzaW5nUG9pbnRzIH0gZnJvbSBcIi4uL3R5cGVzL3VzaW5nLXBvaW50cy50eXBlXCI7XG5pbXBvcnQgeyBIYW5kbGVNb2RlbCB9IGZyb20gXCIuL2hhbmRsZS5tb2RlbFwiO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyBGbG93RW50aXR5IH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZmxvdy1lbnRpdHkuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBzbW9vdGhTdGVwUGF0aCB9IGZyb20gXCIuLi9tYXRoL2VkZ2UtcGF0aC9zbW9vdGgtc3RlcC1wYXRoXCI7XG5cbmV4cG9ydCBjbGFzcyBFZGdlTW9kZWwgaW1wbGVtZW50cyBGbG93RW50aXR5IHtcbiAgcHVibGljIHNvdXJjZSA9IHNpZ25hbDxOb2RlTW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgcHVibGljIHRhcmdldCA9IHNpZ25hbDxOb2RlTW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcbiAgcHVibGljIGN1cnZlOiBDdXJ2ZVxuICBwdWJsaWMgdHlwZTogRWRnZVR5cGVcblxuICBwdWJsaWMgc2VsZWN0ZWQgPSBzaWduYWwoZmFsc2UpO1xuICBwdWJsaWMgc2VsZWN0ZWQkID0gdG9PYnNlcnZhYmxlKHRoaXMuc2VsZWN0ZWQpO1xuXG4gIHB1YmxpYyBkZXRhY2hlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnNvdXJjZSgpXG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXQoKVxuXG4gICAgaWYgKCFzb3VyY2UgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBsZXQgZXhpc3RzU291cmNlSGFuZGxlID0gZmFsc2VcbiAgICBsZXQgZXhpc3RzVGFyZ2V0SGFuZGxlID0gZmFsc2VcblxuICAgIGlmICh0aGlzLmVkZ2Uuc291cmNlSGFuZGxlKSB7XG4gICAgICBleGlzdHNTb3VyY2VIYW5kbGUgPSAhIXNvdXJjZS5oYW5kbGVzKClcbiAgICAgICAgLmZpbmQoaGFuZGxlID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS5zb3VyY2VIYW5kbGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGV4aXN0c1NvdXJjZUhhbmRsZSA9ICEhc291cmNlLmhhbmRsZXMoKVxuICAgICAgICAuZmluZChoYW5kbGUgPT4gaGFuZGxlLnJhd0hhbmRsZS50eXBlID09PSAnc291cmNlJylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lZGdlLnRhcmdldEhhbmRsZSkge1xuICAgICAgZXhpc3RzVGFyZ2V0SGFuZGxlID0gISF0YXJnZXQuaGFuZGxlcygpXG4gICAgICAgIC5maW5kKGhhbmRsZSA9PiBoYW5kbGUucmF3SGFuZGxlLmlkID09PSB0aGlzLmVkZ2UudGFyZ2V0SGFuZGxlKVxuICAgIH0gZWxzZSB7XG4gICAgICBleGlzdHNUYXJnZXRIYW5kbGUgPSAhIXRhcmdldC5oYW5kbGVzKClcbiAgICAgICAgLmZpbmQoaGFuZGxlID0+IGhhbmRsZS5yYXdIYW5kbGUudHlwZSA9PT0gJ3RhcmdldCcpXG4gICAgfVxuXG4gICAgcmV0dXJuICFleGlzdHNTb3VyY2VIYW5kbGUgfHwgIWV4aXN0c1RhcmdldEhhbmRsZVxuICB9KVxuXG4gIHB1YmxpYyBkZXRhY2hlZCQgPSB0b09ic2VydmFibGUodGhpcy5kZXRhY2hlZClcblxuICBwdWJsaWMgcGF0aCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBsZXQgc291cmNlOiBIYW5kbGVNb2RlbCB8IHVuZGVmaW5lZFxuICAgIGlmICh0aGlzLmVkZ2Uuc291cmNlSGFuZGxlKSB7XG4gICAgICBzb3VyY2UgPSB0aGlzLnNvdXJjZSgpPy5oYW5kbGVzKClcbiAgICAgICAgLmZpbmQoaGFuZGxlID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS5zb3VyY2VIYW5kbGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNvdXJjZSA9IHRoaXMuc291cmNlKCk/LmhhbmRsZXMoKVxuICAgICAgICAuZmluZChoYW5kbGUgPT4gaGFuZGxlLnJhd0hhbmRsZS50eXBlID09PSAnc291cmNlJylcbiAgICB9XG5cbiAgICBsZXQgdGFyZ2V0OiBIYW5kbGVNb2RlbCB8IHVuZGVmaW5lZFxuICAgIGlmICh0aGlzLmVkZ2UudGFyZ2V0SGFuZGxlKSB7XG4gICAgICB0YXJnZXQgPSB0aGlzLnRhcmdldCgpPy5oYW5kbGVzKClcbiAgICAgICAgLmZpbmQoaGFuZGxlID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS50YXJnZXRIYW5kbGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRhcmdldCA9IHRoaXMudGFyZ2V0KCk/LmhhbmRsZXMoKVxuICAgICAgICAuZmluZChoYW5kbGUgPT4gaGFuZGxlLnJhd0hhbmRsZS50eXBlID09PSAndGFyZ2V0JylcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBkb24ndCBsaWtlIHRoaXNcbiAgICBpZiAoIXNvdXJjZSB8fCAhdGFyZ2V0KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgcG9pbnRzOiB7XG4gICAgICAgICAgc3RhcnQ6IHsgeDogMCwgeTogMCB9LFxuICAgICAgICAgIGNlbnRlcjogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgICAgZW5kOiB7IHg6IDAsIHk6IDAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dpdGNoICh0aGlzLmN1cnZlKSB7XG4gICAgICBjYXNlICdzdHJhaWdodCc6XG4gICAgICAgIHJldHVybiBzdHJhaWdodFBhdGgoc291cmNlLnBvaW50QWJzb2x1dGUoKSwgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSwgdGhpcy51c2luZ1BvaW50cylcbiAgICAgIGNhc2UgJ2Jlemllcic6XG4gICAgICAgIHJldHVybiBiZXppZXJQYXRoKFxuICAgICAgICAgIHNvdXJjZS5wb2ludEFic29sdXRlKCksIHRhcmdldC5wb2ludEFic29sdXRlKCksXG4gICAgICAgICAgc291cmNlLnJhd0hhbmRsZS5wb3NpdGlvbixcbiAgICAgICAgICB0YXJnZXQucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRoaXMudXNpbmdQb2ludHNcbiAgICAgICAgKVxuICAgICAgY2FzZSAnc21vb3RoLXN0ZXAnOlxuICAgICAgICByZXR1cm4gc21vb3RoU3RlcFBhdGgoXG4gICAgICAgICAgc291cmNlLnBvaW50QWJzb2x1dGUoKSwgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSxcbiAgICAgICAgICBzb3VyY2UucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRhcmdldC5yYXdIYW5kbGUucG9zaXRpb24sXG4gICAgICAgIClcbiAgICAgIGNhc2UgJ3N0ZXAnOlxuICAgICAgICByZXR1cm4gc21vb3RoU3RlcFBhdGgoXG4gICAgICAgICAgc291cmNlLnBvaW50QWJzb2x1dGUoKSwgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSxcbiAgICAgICAgICBzb3VyY2UucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRhcmdldC5yYXdIYW5kbGUucG9zaXRpb24sXG4gICAgICAgICAgMFxuICAgICAgICApXG4gICAgfVxuICB9KVxuXG4gIHB1YmxpYyBlZGdlTGFiZWxzOiB7IFtwb3NpdGlvbiBpbiBFZGdlTGFiZWxQb3NpdGlvbl0/OiBFZGdlTGFiZWxNb2RlbCB9ID0ge31cblxuICBwcml2YXRlIHVzaW5nUG9pbnRzOiBVc2luZ1BvaW50c1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlZGdlOiBFZGdlKSB7XG4gICAgdGhpcy50eXBlID0gZWRnZS50eXBlID8/ICdkZWZhdWx0J1xuICAgIHRoaXMuY3VydmUgPSBlZGdlLmN1cnZlID8/ICdiZXppZXInXG5cbiAgICBpZiAoZWRnZS5lZGdlTGFiZWxzPy5zdGFydCkgdGhpcy5lZGdlTGFiZWxzLnN0YXJ0ID0gbmV3IEVkZ2VMYWJlbE1vZGVsKGVkZ2UuZWRnZUxhYmVscy5zdGFydClcbiAgICBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHRoaXMuZWRnZUxhYmVscy5jZW50ZXIgPSBuZXcgRWRnZUxhYmVsTW9kZWwoZWRnZS5lZGdlTGFiZWxzLmNlbnRlcilcbiAgICBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHRoaXMuZWRnZUxhYmVscy5lbmQgPSBuZXcgRWRnZUxhYmVsTW9kZWwoZWRnZS5lZGdlTGFiZWxzLmVuZClcblxuICAgIHRoaXMudXNpbmdQb2ludHMgPSBbISF0aGlzLmVkZ2VMYWJlbHMuc3RhcnQsICEhdGhpcy5lZGdlTGFiZWxzLmNlbnRlciwgISF0aGlzLmVkZ2VMYWJlbHMuZW5kXVxuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvZWRnZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXBFLE1BQU0sT0FBTyxTQUFTO0lBeUdwQixZQUFtQixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtRQXhHdEIsV0FBTSxHQUFHLE1BQU0sQ0FBd0IsU0FBUyxDQUFDLENBQUM7UUFDbEQsV0FBTSxHQUFHLE1BQU0sQ0FBd0IsU0FBUyxDQUFDLENBQUM7UUFJbEQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4QyxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTdCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsSUFBSSxrQkFBa0IsR0FBRyxL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QUFDLENBQ0YsQ0FBQztZQUNOLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVJLGVBQVUsR0FBeUQsRUFBRSxDQUFDO1FBSzNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQztRQUVwQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSztZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUYsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU07WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4RixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFZGdlTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWRnZS1sYWJlbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRWRnZSwgQ3VydmUsIEVkZ2VUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lZGdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFZGdlTGFiZWxNb2RlbCB9IGZyb20gJy4vZWRnZS1sYWJlbC5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgc3RyYWlnaHRQYXRoIH0gZnJvbSAnLi4vbWF0aC9lZGdlLXBhdGgvc3RyYWlnaC1wYXRoJztcbmltcG9ydCB7IGJlemllclBhdGggfSBmcm9tICcuLi9tYXRoL2VkZ2UtcGF0aC9iZXppZXItcGF0aCc7XG5pbXBvcnQgeyBVc2luZ1BvaW50cyB9IGZyb20gJy4uL3R5cGVzL3VzaW5nLXBvaW50cy50eXBlJztcbmltcG9ydCB7IEhhbmRsZU1vZGVsIH0gZnJvbSAnLi9oYW5kbGUubW9kZWwnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRmxvd0VudGl0eSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmxvdy1lbnRpdHkuaW50ZXJmYWNlJztcbmltcG9ydCB7IHNtb290aFN0ZXBQYXRoIH0gZnJvbSAnLi4vbWF0aC9lZGdlLXBhdGgvc21vb3RoLXN0ZXAtcGF0aCc7XG5cbmV4cG9ydCBjbGFzcyBFZGdlTW9kZWwgaW1wbGVtZW50cyBGbG93RW50aXR5IHtcbiAgcHVibGljIHNvdXJjZSA9IHNpZ25hbDxOb2RlTW9kZWwgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHB1YmxpYyB0YXJnZXQgPSBzaWduYWw8Tm9kZU1vZGVsIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwdWJsaWMgY3VydmU6IEN1cnZlO1xuICBwdWJsaWMgdHlwZTogRWRnZVR5cGU7XG5cbiAgcHVibGljIHNlbGVjdGVkID0gc2lnbmFsKGZhbHNlKTtcbiAgcHVibGljIHNlbGVjdGVkJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnNlbGVjdGVkKTtcblxuICBwdWJsaWMgZGV0YWNoZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc291cmNlID0gdGhpcy5zb3VyY2UoKTtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xuXG4gICAgaWYgKCFzb3VyY2UgfHwgIXRhcmdldCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbGV0IGV4aXN0c1NvdXJjZUhhbmRsZSA9IGZhbHNlO1xuICAgIGxldCBleGlzdHNUYXJnZXRIYW5kbGUgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmVkZ2Uuc291cmNlSGFuZGxlKSB7XG4gICAgICBleGlzdHNTb3VyY2VIYW5kbGUgPSAhIXNvdXJjZS5oYW5kbGVzKCkuZmluZCgoaGFuZGxlKSA9PiBoYW5kbGUucmF3SGFuZGxlLmlkID09PSB0aGlzLmVkZ2Uuc291cmNlSGFuZGxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhpc3RzU291cmNlSGFuZGxlID0gISFzb3VyY2UuaGFuZGxlcygpLmZpbmQoKGhhbmRsZSkgPT4gaGFuZGxlLnJhd0hhbmRsZS50eXBlID09PSAnc291cmNlJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWRnZS50YXJnZXRIYW5kbGUpIHtcbiAgICAgIGV4aXN0c1RhcmdldEhhbmRsZSA9ICEhdGFyZ2V0LmhhbmRsZXMoKS5maW5kKChoYW5kbGUpID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS50YXJnZXRIYW5kbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBleGlzdHNUYXJnZXRIYW5kbGUgPSAhIXRhcmdldC5oYW5kbGVzKCkuZmluZCgoaGFuZGxlKSA9PiBoYW5kbGUucmF3SGFuZGxlLnR5cGUgPT09ICd0YXJnZXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIWV4aXN0c1NvdXJjZUhhbmRsZSB8fCAhZXhpc3RzVGFyZ2V0SGFuZGxlO1xuICB9KTtcblxuICBwdWJsaWMgZGV0YWNoZWQkID0gdG9PYnNlcnZhYmxlKHRoaXMuZGV0YWNoZWQpO1xuXG4gIHB1YmxpYyBwYXRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBzb3VyY2U6IEhhbmRsZU1vZGVsIHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmVkZ2Uuc291cmNlSGFuZGxlKSB7XG4gICAgICBzb3VyY2UgPSB0aGlzLnNvdXJjZSgpXG4gICAgICAgID8uaGFuZGxlcygpXG4gICAgICAgIC5maW5kKChoYW5kbGUpID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS5zb3VyY2VIYW5kbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2UgPSB0aGlzLnNvdXJjZSgpXG4gICAgICAgID8uaGFuZGxlcygpXG4gICAgICAgIC5maW5kKChoYW5kbGUpID0+IGhhbmRsZS5yYXdIYW5kbGUudHlwZSA9PT0gJ3NvdXJjZScpO1xuICAgIH1cblxuICAgIGxldCB0YXJnZXQ6IEhhbmRsZU1vZGVsIHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLmVkZ2UudGFyZ2V0SGFuZGxlKSB7XG4gICAgICB0YXJnZXQgPSB0aGlzLnRhcmdldCgpXG4gICAgICAgID8uaGFuZGxlcygpXG4gICAgICAgIC5maW5kKChoYW5kbGUpID0+IGhhbmRsZS5yYXdIYW5kbGUuaWQgPT09IHRoaXMuZWRnZS50YXJnZXRIYW5kbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXQgPSB0aGlzLnRhcmdldCgpXG4gICAgICAgID8uaGFuZGxlcygpXG4gICAgICAgIC5maW5kKChoYW5kbGUpID0+IGhhbmRsZS5yYXdIYW5kbGUudHlwZSA9PT0gJ3RhcmdldCcpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGRvbid0IGxpa2UgdGhpc1xuICAgIGlmICghc291cmNlIHx8ICF0YXJnZXQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHBhdGg6ICcnLFxuICAgICAgICBwb2ludHM6IHtcbiAgICAgICAgICBzdGFydDogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgICAgY2VudGVyOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgICAgICBlbmQ6IHsgeDogMCwgeTogMCB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMuY3VydmUpIHtcbiAgICAgIGNhc2UgJ3N0cmFpZ2h0JzpcbiAgICAgICAgcmV0dXJuIHN0cmFpZ2h0UGF0aChzb3VyY2UucG9pbnRBYnNvbHV0ZSgpLCB0YXJnZXQucG9pbnRBYnNvbHV0ZSgpLCB0aGlzLnVzaW5nUG9pbnRzKTtcbiAgICAgIGNhc2UgJ2Jlemllcic6XG4gICAgICAgIHJldHVybiBiZXppZXJQYXRoKFxuICAgICAgICAgIHNvdXJjZS5wb2ludEFic29sdXRlKCksXG4gICAgICAgICAgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSxcbiAgICAgICAgICBzb3VyY2UucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRhcmdldC5yYXdIYW5kbGUucG9zaXRpb24sXG4gICAgICAgICAgdGhpcy51c2luZ1BvaW50cyxcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ3Ntb290aC1zdGVwJzpcbiAgICAgICAgcmV0dXJuIHNtb290aFN0ZXBQYXRoKFxuICAgICAgICAgIHNvdXJjZS5wb2ludEFic29sdXRlKCksXG4gICAgICAgICAgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSxcbiAgICAgICAgICBzb3VyY2UucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRhcmdldC5yYXdIYW5kbGUucG9zaXRpb24sXG4gICAgICAgICk7XG4gICAgICBjYXNlICdzdGVwJzpcbiAgICAgICAgcmV0dXJuIHNtb290aFN0ZXBQYXRoKFxuICAgICAgICAgIHNvdXJjZS5wb2ludEFic29sdXRlKCksXG4gICAgICAgICAgdGFyZ2V0LnBvaW50QWJzb2x1dGUoKSxcbiAgICAgICAgICBzb3VyY2UucmF3SGFuZGxlLnBvc2l0aW9uLFxuICAgICAgICAgIHRhcmdldC5yYXdIYW5kbGUucG9zaXRpb24sXG4gICAgICAgICAgMCxcbiAgICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyBlZGdlTGFiZWxzOiB7IFtwb3NpdGlvbiBpbiBFZGdlTGFiZWxQb3NpdGlvbl0/OiBFZGdlTGFiZWxNb2RlbCB9ID0ge307XG5cbiAgcHJpdmF0ZSB1c2luZ1BvaW50czogVXNpbmdQb2ludHM7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVkZ2U6IEVkZ2UpIHtcbiAgICB0aGlzLnR5cGUgPSBlZGdlLnR5cGUgPz8gJ2RlZmF1bHQnO1xuICAgIHRoaXMuY3VydmUgPSBlZGdlLmN1cnZlID8/ICdiZXppZXInO1xuXG4gICAgaWYgKGVkZ2UuZWRnZUxhYmVscz8uc3RhcnQpIHRoaXMuZWRnZUxhYmVscy5zdGFydCA9IG5ldyBFZGdlTGFiZWxNb2RlbChlZGdlLmVkZ2VMYWJlbHMuc3RhcnQpO1xuICAgIGlmIChlZGdlLmVkZ2VMYWJlbHM/LmNlbnRlcikgdGhpcy5lZGdlTGFiZWxzLmNlbnRlciA9IG5ldyBFZGdlTGFiZWxNb2RlbChlZGdlLmVkZ2VMYWJlbHMuY2VudGVyKTtcbiAgICBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHRoaXMuZWRnZUxhYmVscy5lbmQgPSBuZXcgRWRnZUxhYmVsTW9kZWwoZWRnZS5lZGdlTGFiZWxzLmVuZCk7XG5cbiAgICB0aGlzLnVzaW5nUG9pbnRzID0gWyEhdGhpcy5lZGdlTGFiZWxzLnN0YXJ0LCAhIXRoaXMuZWRnZUxhYmVscy5jZW50ZXIsICEhdGhpcy5lZGdlTGFiZWxzLmVuZF07XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { computed, signal } from "@angular/core";
2
- import { Subject, map } from "rxjs";
3
- import { toSignal } from "@angular/core/rxjs-interop";
1
+ import { computed, signal } from '@angular/core';
2
+ import { Subject, map } from 'rxjs';
3
+ import { toSignal } from '@angular/core/rxjs-interop';
4
4
  export class HandleModel {
5
5
  constructor(rawHandle, parentNode) {
6
6
  this.rawHandle = rawHandle;
@@ -11,35 +11,43 @@ export class HandleModel {
11
11
  * for custom handles
12
12
  */
13
13
  this.size = signal({
14
- width: 10 + (2 * this.strokeWidth),
15
- height: 10 + (2 * this.strokeWidth)
14
+ width: 10 + 2 * this.strokeWidth,
15
+ height: 10 + 2 * this.strokeWidth,
16
16
  });
17
17
  this.offset = computed(() => {
18
18
  switch (this.rawHandle.position) {
19
- case 'left': return {
20
- x: 0,
21
- y: this.parentPosition().y + (this.parentSize().height / 2)
22
- };
23
- case 'right': return {
24
- x: this.parentNode.size().width,
25
- y: this.parentPosition().y + (this.parentSize().height / 2)
26
- };
27
- case 'top': return {
28
- x: this.parentPosition().x + (this.parentSize().width / 2),
29
- y: 0
30
- };
31
- case 'bottom': return {
32
- x: this.parentPosition().x + this.parentSize().width / 2,
33
- y: this.parentNode.size().height
34
- };
19
+ case 'left':
20
+ return {
21
+ x: 0,
22
+ y: this.parentPosition().y + this.parentSize().height / 2,
23
+ };
24
+ case 'right':
25
+ return {
26
+ x: this.parentNode.size().width,
27
+ y: this.parentPosition().y + this.parentSize().height / 2,
28
+ };
29
+ case 'top':
30
+ return {
31
+ x: this.parentPosition().x + this.parentSize().width / 2,
32
+ y: 0,
33
+ };
34
+ case 'bottom':
35
+ return {
36
+ x: this.parentPosition().x + this.parentSize().width / 2,
37
+ y: this.parentNode.size().height,
38
+ };
35
39
  }
36
40
  });
37
41
  this.sizeOffset = computed(() => {
38
42
  switch (this.rawHandle.position) {
39
- case 'left': return { x: -(this.size().width / 2), y: 0 };
40
- case 'right': return { x: this.size().width / 2, y: 0 };
41
- case 'top': return { x: 0, y: -(this.size().height / 2) };
42
- case 'bottom': return { x: 0, y: this.size().height / 2 };
43
+ case 'left':
44
+ return { x: -(this.size().width / 2), y: 0 };
45
+ case 'right':
46
+ return { x: this.size().width / 2, y: 0 };
47
+ case 'top':
48
+ return { x: 0, y: -(this.size().height / 2) };
49
+ case 'bottom':
50
+ return { x: 0, y: this.size().height / 2 };
43
51
  }
44
52
  });
45
53
  this.pointAbsolute = computed(() => {
@@ -51,17 +59,13 @@ export class HandleModel {
51
59
  this.state = signal('idle');
52
60
  this.updateParentSizeAndPosition$ = new Subject();
53
61
  this.parentSize = toSignal(this.updateParentSizeAndPosition$.pipe(map(() => this.getParentSize())), {
54
- initialValue: { width: 0, height: 0 }
62
+ initialValue: { width: 0, height: 0 },
55
63
  });
56
64
  this.parentPosition = toSignal(this.updateParentSizeAndPosition$.pipe(map(() => ({
57
- x: this.parentReference instanceof HTMLElement
58
- ? this.parentReference.offsetLeft
59
- : 0, // for now just 0 for group nodes
60
- y: this.parentReference instanceof HTMLElement
61
- ? this.parentReference.offsetTop
62
- : 0 // for now just 0 for group nodes
65
+ x: this.parentReference instanceof HTMLElement ? this.parentReference.offsetLeft : 0, // for now just 0 for group nodes
66
+ y: this.parentReference instanceof HTMLElement ? this.parentReference.offsetTop : 0, // for now just 0 for group nodes
63
67
  }))), {
64
- initialValue: { x: 0, y: 0 }
68
+ initialValue: { x: 0, y: 0 },
65
69
  });
66
70
  this.parentReference = this.rawHandle.parentReference;
67
71
  this.template = this.rawHandle.template;
@@ -69,8 +73,8 @@ export class HandleModel {
69
73
  $implicit: {
70
74
  point: this.offset,
71
75
  state: this.state,
72
- node: this.parentNode.node
73
- }
76
+ node: this.parentNode.node,
77
+ },
74
78
  };
75
79
  }
76
80
  updateParent() {
@@ -80,7 +84,7 @@ export class HandleModel {
80
84
  if (this.parentReference instanceof HTMLElement) {
81
85
  return {
82
86
  width: this.parentReference.offsetWidth,
83
- height: this.parentReference.offsetHeight
87
+ height: this.parentReference.offsetHeight,
84
88
  };
85
89
  }
86
90
  else if (this.parentReference instanceof SVGGraphicsElement) {
@@ -89,4 +93,4 @@ export class HandleModel {
89
93
  return { width: 0, height: 0 };
90
94
  }
91
95
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L21vZGVscy9oYW5kbGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXRELE1BQU0sT0FBTyxXQUFXO0lBMEZ0QixZQUNTLFNBQXFCLEVBQ3JCLFVBQXFCO1FBRHJCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQTNGZCxnQkFBVyxHQUFHLENBQUMsQ0FBQTtRQUUvQjs7O1dBR0c7UUFDSSxTQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ25CLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNsQyxNQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDcEMsQ0FBQyxDQUFBO1FBRUssV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU87b0JBQ2xCLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7aUJBQzVELENBQUE7Z0JBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPO29C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SUFBSSxDQUFDLGVBQWUsWUFBWSxrQkFBa0IsRUFBRSxDQUFDO1lBQzlELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUN2QyxDQUFDO1FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQ2hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTm9kZUhhbmRsZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9oYW5kbGUuc2VydmljZVwiO1xuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSBcIi4vbm9kZS5tb2RlbFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgbWFwIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5cbmV4cG9ydCB0eXBlIEhhbmRsZVN0YXRlID0gJ3ZhbGlkJyB8ICdpbnZhbGlkJyB8ICdpZGxlJ1xuXG5leHBvcnQgY2xhc3MgSGFuZGxlTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgc3Ryb2tlV2lkdGggPSAyXG5cbiAgLyoqXG4gICAqIFByZS1jb21wdXRlZCBzaXplIGZvciBkZWZhdWx0IGhhbmRsZSwgY2hhbmdlZCBkeW5hbWljYWxseVxuICAgKiBmb3IgY3VzdG9tIGhhbmRsZXNcbiAgICovXG4gIHB1YmxpYyBzaXplID0gc2lnbmFsKHtcbiAgICB3aWR0aDogMTAgKyAoMiAqIHRoaXMuc3Ryb2tlV2lkdGgpLFxuICAgIGhlaWdodDogMTAgKyAoMiAqIHRoaXMuc3Ryb2tlV2lkdGgpXG4gIH0pXG5cbiAgcHVibGljIG9mZnNldCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBzd2l0Y2ggKHRoaXMucmF3SGFuZGxlLnBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdsZWZ0JzogcmV0dXJuIHtcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogdGhpcy5wYXJlbnRQb3NpdGlvbigpLnkgKyAodGhpcy5wYXJlbnRTaXplKCkuaGVpZ2h0IC8gMilcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3JpZ2h0JzogcmV0dXJuIHtcbiAgICAgICAgeDogdGhpcy5wYXJlbnROb2RlLnNpemUoKS53aWR0aCxcbiAgICAgICAgeTogdGhpcy5wYXJlbnRQb3NpdGlvbigpLnkgKyAodGhpcy5wYXJlbnRTaXplKCkuaGVpZ2h0IC8gMilcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RvcCc6IHJldHVybiB7XG4gICAgICAgIHg6IHRoaXMucGFyZW50UG9zaXRpb24oKS54ICsgKHRoaXMucGFyZW50U2l6ZSgpLndpZHRoIC8gMiksXG4gICAgICAgIHk6IDBcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2JvdHRvbSc6IHJldHVybiB7XG4gICAgICAgIHg6IHRoaXMucGFyZW50UG9zaXRpb24oKS54ICsgdGhpcy5wYXJlbnRTaXplKCkud2lkdGggLyAyLFxuICAgICAgICB5OiB0aGlzLnBhcmVudE5vZGUuc2l6ZSgpLmhlaWdodFxuICAgICAgfVxuICAgIH1cbiAgfSlcblxuICBwdWJsaWMgc2l6ZU9mZnNldCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBzd2l0Y2ggKHRoaXMucmF3SGFuZGxlLnBvc2l0aW9uKSB7XG4gICAgICBjYXNlICdsZWZ0JzogcmV0dXJuIHsgeDogLSh0aGlzLnNpemUoKS53aWR0aCAvIDIpLCB5OiAwIH1cbiAgICAgIGNhc2UgJ3JpZ2h0JzogcmV0dXJuIHsgeDogdGhpcy5zaXplKCkud2lkdGggLyAyLCB5OiAwIH1cbiAgICAgIGNhc2UgJ3RvcCc6IHJldHVybiB7IHg6IDAsIHk6IC0odGhpcy5zaXplKCkuaGVpZ2h0IC8gMikgfVxuICAgICAgY2FzZSAnYm90dG9tJzogcmV0dXJuIHsgeDogMCwgeTogdGhpcy5zaXplKCkuaGVpZ2h0IC8gMiB9XG4gICAgfVxuICB9KVxuXG4gIHB1YmxpYyBwb2ludEFic29sdXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICB4OiB0aGlzLnBhcmVudE5vZGUuZ2xvYmFsUG9pbnQoKS54ICsgdGhpcy5vZmZzZXQoKS54ICsgdGhpcy5zaXplT2Zmc2V0KCkueCxcbiAgICAgIHk6IHRoaXMucGFyZW50Tm9kZS5nbG9iYWxQb2ludCgpLnkgKyB0aGlzLm9mZnNldCgpLnkgKyB0aGlzLnNpemVPZmZzZXQoKS55LFxuICAgIH1cbiAgfSlcblxuICBwdWJsaWMgc3RhdGUgPSBzaWduYWw8SGFuZGxlU3RhdGU+KCdpZGxlJylcblxuICBwcml2YXRlIHVwZGF0ZVBhcmVudFNpemVBbmRQb3NpdGlvbiQgPSBuZXcgU3ViamVjdDx2b2lkPigpXG5cbiAgcHVibGljIHBhcmVudFNpemUgPSB0b1NpZ25hbChcbiAgICB0aGlzLnVwZGF0ZVBhcmVudFNpemVBbmRQb3NpdGlvbiQucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmdldFBhcmVudFNpemUoKSlcbiAgICApLFxuICAgIHtcbiAgICAgIGluaXRpYWxWYWx1ZTogeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH1cbiAgICB9XG4gIClcblxuICBwdWJsaWMgcGFyZW50UG9zaXRpb24gPSB0b1NpZ25hbChcbiAgICB0aGlzLnVwZGF0ZVBhcmVudFNpemVBbmRQb3NpdGlvbiQucGlwZShcbiAgICAgIG1hcCgoKSA9PiAoe1xuICAgICAgICB4OiB0aGlzLnBhcmVudFJlZmVyZW5jZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50XG4gICAgICAgICAgPyB0aGlzLnBhcmVudFJlZmVyZW5jZS5vZmZzZXRMZWZ0XG4gICAgICAgICAgOiAwLCAvLyBmb3Igbm93IGp1c3QgMCBmb3IgZ3JvdXAgbm9kZXNcbiAgICAgICAgeTogdGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudFxuICAgICAgICAgID8gdGhpcy5wYXJlbnRSZWZlcmVuY2Uub2Zmc2V0VG9wXG4gICAgICAgICAgOiAwIC8vIGZvciBub3cganVzdCAwIGZvciBncm91cCBub2Rlc1xuICAgICAgfSkpXG4gICAgKSxcbiAgICB7XG4gICAgICBpbml0aWFsVmFsdWU6IHsgeDogMCwgeTogMCB9XG4gICAgfVxuICApXG5cbiAgcHVibGljIHBhcmVudFJlZmVyZW5jZSA9IHRoaXMucmF3SGFuZGxlLnBhcmVudFJlZmVyZW5jZSFcblxuICBwdWJsaWMgdGVtcGxhdGUgPSB0aGlzLnJhd0hhbmRsZS50ZW1wbGF0ZVxuXG4gIHB1YmxpYyB0ZW1wbGF0ZUNvbnRleHQgPSB7XG4gICAgJGltcGxpY2l0OiB7XG4gICAgICBwb2ludDogdGhpcy5vZmZzZXQsXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZSxcbiAgICAgIG5vZGU6IHRoaXMucGFyZW50Tm9kZS5ub2RlXG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJhd0hhbmRsZTogTm9kZUhhbmRsZSxcbiAgICBwdWJsaWMgcGFyZW50Tm9kZTogTm9kZU1vZGVsXG4gICkgeyB9XG5cbiAgcHVibGljIHVwZGF0ZVBhcmVudCgpIHtcbiAgICB0aGlzLnVwZGF0ZVBhcmVudFNpemVBbmRQb3NpdGlvbiQubmV4dCgpXG4gIH1cblxuICBwcml2YXRlIGdldFBhcmVudFNpemUoKTogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICBpZiAodGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IHRoaXMucGFyZW50UmVmZXJlbmNlLm9mZnNldFdpZHRoLFxuICAgICAgICBoZWlnaHQ6IHRoaXMucGFyZW50UmVmZXJlbmNlLm9mZnNldEhlaWdodFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBTVkdHcmFwaGljc0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmVudFJlZmVyZW5jZS5nZXRCQm94KClcbiAgICB9XG5cbiAgICByZXR1cm4geyB3aWR0aDogMCwgaGVpZ2h0OiAwIH1cbiAgfVxufVxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L21vZGVscy9oYW5kbGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSXRELE1BQU0sT0FBTyxXQUFXO0lBeUZ0QixZQUNTLFNBQXFCLEVBQ3JCLFVBQXFCO1FBRHJCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQTFGZCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQzs7O1dBR0c7UUFDSSxTQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ25CLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1lBQ2hDLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1NBQ2xDLENBQUMsQ0FBQztRQUVJLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsS0FBSyxNQUFNO29CQUNULE9BQU87d0JBQ0wsQ0FBQyxFQUFFLENBQUM7d0JBQ0osQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDO3FCQUMxRCxDQUFDO2dCQUNKLEtBQUssT0FBTztvQkFDVixPQUFPO3dCQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUs7d0JBQy9CLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztxQkFDMUQsQ0FBQztnQkFDSixLQUFLLEtBQUs7b0JBQ1IsT0FBTzt3QkFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsS0FBSyxHQUFHLENBQUM7d0JBQ3hELENBQUMsRUFBRSxDQUFDO3FCQUNMLENBQUM7Z0JBQ0osS0FBSyxRQUFRO29CQUNYLE9BQU87d0JBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDO3dCQUN4RCxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNO3FCQUNqQyxDQUFDO1lBQ04sQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUksZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsUUFBUSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxLQUFLLE1BQU07b0JBQ1QsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssT0FBTztvQkFDVixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDNUMsS0FBSyxLQUFLO29CQUNSLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDL0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUksa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLE9BQU87Z0JBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzFFLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO2FBQzNFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVJLFVBQUssR0FBRyxNQUFNLENBQWMsTUFBTSxDQUFDLENBQUM7UUFFbkMsaUNBQTRCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVwRCxlQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDcEcsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFO1NBQ3RDLENBQUMsQ0FBQztRQUVJLG1CQUFjLEdBQUcsUUFBUSxDQUM5QixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUNwQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNULENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQ0FBaUM7WUFDdkgsQ0FBQyxFQUFFLElBQUksQ0FBQyxlQUFlLFlBQVksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlDQUFpQztTQUN2SCxDQUFDLENBQUMsQ0FDSixFQUNEO1lBQ0UsWUFBWSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1NBQzdCLENBQ0YsQ0FBQztRQUVLLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFnQixDQUFDO1FBRWxELGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUVuQyxvQkFBZSxHQUFHO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ2xCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSTthQUMzQjtTQUNGLENBQUM7SUFLQyxDQUFDO0lBRUcsWUFBWTtRQUNqQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsZUFBZSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ2hELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVztnQkFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWTthQUMxQyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsWUFBWSxrQkFBa0IsRUFBRSxDQUFDO1lBQzlELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGVIYW5kbGUgfSBmcm9tICcuLi9zZXJ2aWNlcy9oYW5kbGUuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgU3ViamVjdCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuZXhwb3J0IHR5cGUgSGFuZGxlU3RhdGUgPSAndmFsaWQnIHwgJ2ludmFsaWQnIHwgJ2lkbGUnO1xuXG5leHBvcnQgY2xhc3MgSGFuZGxlTW9kZWwge1xuICBwdWJsaWMgcmVhZG9ubHkgc3Ryb2tlV2lkdGggPSAyO1xuXG4gIC8qKlxuICAgKiBQcmUtY29tcHV0ZWQgc2l6ZSBmb3IgZGVmYXVsdCBoYW5kbGUsIGNoYW5nZWQgZHluYW1pY2FsbHlcbiAgICogZm9yIGN1c3RvbSBoYW5kbGVzXG4gICAqL1xuICBwdWJsaWMgc2l6ZSA9IHNpZ25hbCh7XG4gICAgd2lkdGg6IDEwICsgMiAqIHRoaXMuc3Ryb2tlV2lkdGgsXG4gICAgaGVpZ2h0OiAxMCArIDIgKiB0aGlzLnN0cm9rZVdpZHRoLFxuICB9KTtcblxuICBwdWJsaWMgb2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5yYXdIYW5kbGUucG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogdGhpcy5wYXJlbnRQb3NpdGlvbigpLnkgKyB0aGlzLnBhcmVudFNpemUoKS5oZWlnaHQgLyAyLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHg6IHRoaXMucGFyZW50Tm9kZS5zaXplKCkud2lkdGgsXG4gICAgICAgICAgeTogdGhpcy5wYXJlbnRQb3NpdGlvbigpLnkgKyB0aGlzLnBhcmVudFNpemUoKS5oZWlnaHQgLyAyLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiB0aGlzLnBhcmVudFBvc2l0aW9uKCkueCArIHRoaXMucGFyZW50U2l6ZSgpLndpZHRoIC8gMixcbiAgICAgICAgICB5OiAwLFxuICAgICAgICB9O1xuICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB4OiB0aGlzLnBhcmVudFBvc2l0aW9uKCkueCArIHRoaXMucGFyZW50U2l6ZSgpLndpZHRoIC8gMixcbiAgICAgICAgICB5OiB0aGlzLnBhcmVudE5vZGUuc2l6ZSgpLmhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG4gIH0pO1xuXG4gIHB1YmxpYyBzaXplT2Zmc2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5yYXdIYW5kbGUucG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICByZXR1cm4geyB4OiAtKHRoaXMuc2l6ZSgpLndpZHRoIC8gMiksIHk6IDAgfTtcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgcmV0dXJuIHsgeDogdGhpcy5zaXplKCkud2lkdGggLyAyLCB5OiAwIH07XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiAtKHRoaXMuc2l6ZSgpLmhlaWdodCAvIDIpIH07XG4gICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICByZXR1cm4geyB4OiAwLCB5OiB0aGlzLnNpemUoKS5oZWlnaHQgLyAyIH07XG4gICAgfVxuICB9KTtcblxuICBwdWJsaWMgcG9pbnRBYnNvbHV0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgeDogdGhpcy5wYXJlbnROb2RlLmdsb2JhbFBvaW50KCkueCArIHRoaXMub2Zmc2V0KCkueCArIHRoaXMuc2l6ZU9mZnNldCgpLngsXG4gICAgICB5OiB0aGlzLnBhcmVudE5vZGUuZ2xvYmFsUG9pbnQoKS55ICsgdGhpcy5vZmZzZXQoKS55ICsgdGhpcy5zaXplT2Zmc2V0KCkueSxcbiAgICB9O1xuICB9KTtcblxuICBwdWJsaWMgc3RhdGUgPSBzaWduYWw8SGFuZGxlU3RhdGU+KCdpZGxlJyk7XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYXJlbnRTaXplQW5kUG9zaXRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcGFyZW50U2l6ZSA9IHRvU2lnbmFsKHRoaXMudXBkYXRlUGFyZW50U2l6ZUFuZFBvc2l0aW9uJC5waXBlKG1hcCgoKSA9PiB0aGlzLmdldFBhcmVudFNpemUoKSkpLCB7XG4gICAgaW5pdGlhbFZhbHVlOiB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSxcbiAgfSk7XG5cbiAgcHVibGljIHBhcmVudFBvc2l0aW9uID0gdG9TaWduYWwoXG4gICAgdGhpcy51cGRhdGVQYXJlbnRTaXplQW5kUG9zaXRpb24kLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gKHtcbiAgICAgICAgeDogdGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMucGFyZW50UmVmZXJlbmNlLm9mZnNldExlZnQgOiAwLCAvLyBmb3Igbm93IGp1c3QgMCBmb3IgZ3JvdXAgbm9kZXNcbiAgICAgICAgeTogdGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IHRoaXMucGFyZW50UmVmZXJlbmNlLm9mZnNldFRvcCA6IDAsIC8vIGZvciBub3cganVzdCAwIGZvciBncm91cCBub2Rlc1xuICAgICAgfSkpLFxuICAgICksXG4gICAge1xuICAgICAgaW5pdGlhbFZhbHVlOiB7IHg6IDAsIHk6IDAgfSxcbiAgICB9LFxuICApO1xuXG4gIHB1YmxpYyBwYXJlbnRSZWZlcmVuY2UgPSB0aGlzLnJhd0hhbmRsZS5wYXJlbnRSZWZlcmVuY2UhO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZSA9IHRoaXMucmF3SGFuZGxlLnRlbXBsYXRlO1xuXG4gIHB1YmxpYyB0ZW1wbGF0ZUNvbnRleHQgPSB7XG4gICAgJGltcGxpY2l0OiB7XG4gICAgICBwb2ludDogdGhpcy5vZmZzZXQsXG4gICAgICBzdGF0ZTogdGhpcy5zdGF0ZSxcbiAgICAgIG5vZGU6IHRoaXMucGFyZW50Tm9kZS5ub2RlLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJhd0hhbmRsZTogTm9kZUhhbmRsZSxcbiAgICBwdWJsaWMgcGFyZW50Tm9kZTogTm9kZU1vZGVsLFxuICApIHt9XG5cbiAgcHVibGljIHVwZGF0ZVBhcmVudCgpIHtcbiAgICB0aGlzLnVwZGF0ZVBhcmVudFNpemVBbmRQb3NpdGlvbiQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXJlbnRTaXplKCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfSB7XG4gICAgaWYgKHRoaXMucGFyZW50UmVmZXJlbmNlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRoOiB0aGlzLnBhcmVudFJlZmVyZW5jZS5vZmZzZXRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnBhcmVudFJlZmVyZW5jZS5vZmZzZXRIZWlnaHQsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJlbnRSZWZlcmVuY2UgaW5zdGFuY2VvZiBTVkdHcmFwaGljc0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmVudFJlZmVyZW5jZS5nZXRCQm94KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
- import { signal } from "@angular/core";
1
+ import { signal } from '@angular/core';
2
2
  export class MinimapModel {
3
3
  constructor() {
4
4
  this.template = signal(null);
5
5
  }
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvbWluaW1hcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRXBELE1BQU0sT0FBTyxZQUFZO0lBQXpCO1FBQ1MsYUFBUSxHQUFHLE1BQU0sQ0FBOEIsSUFBSSxDQUFDLENBQUE7SUFDN0QsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjbGFzcyBNaW5pbWFwTW9kZWwge1xuICBwdWJsaWMgdGVtcGxhdGUgPSBzaWduYWw8VGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsPihudWxsKVxufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9tb2RlbHMvbWluaW1hcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBRXBELE1BQU0sT0FBTyxZQUFZO0lBQXpCO1FBQ1MsYUFBUSxHQUFHLE1BQU0sQ0FBOEIsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2lnbmFsLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTWluaW1hcE1vZGVsIHtcbiAgcHVibGljIHRlbXBsYXRlID0gc2lnbmFsPFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbD4obnVsbCk7XG59XG4iXX0=