@smarterplan/ngx-smarterplan-core 1.4.16 → 1.4.18

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 (107) hide show
  1. package/README.md +24 -24
  2. package/esm2022/lib/components/csv-export/csv-export.component.mjs +3 -3
  3. package/esm2022/lib/components/loader/loader.component.mjs +3 -3
  4. package/esm2022/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
  5. package/esm2022/lib/components/menu-bar/menu-bar.component.mjs +3 -3
  6. package/esm2022/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
  7. package/esm2022/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
  8. package/esm2022/lib/components/search-bar/search-bar.component.mjs +3 -3
  9. package/esm2022/lib/components/support-modal/support-modal.component.mjs +3 -3
  10. package/esm2022/lib/config.mjs +1 -1
  11. package/esm2022/lib/helpers.service.mjs +1 -1
  12. package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
  13. package/esm2022/lib/matterport-extensions/nest-thermostat/CanvasRenderer.mjs +1 -1
  14. package/esm2022/lib/matterport-extensions/nest-thermostat/NestThermostat.mjs +1 -1
  15. package/esm2022/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
  16. package/esm2022/lib/matterport-extensions/scene-component/SceneComponent.mjs +1 -1
  17. package/esm2022/lib/matterport-extensions/security-camera/SecurityCamera.mjs +22 -22
  18. package/esm2022/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
  19. package/esm2022/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.mjs +22 -22
  20. package/esm2022/lib/mattertagData.mjs +10 -1
  21. package/esm2022/lib/ngx-smarterplan-core.module.mjs +1 -1
  22. package/esm2022/lib/ngx-smarterplan-core.service.mjs +1 -1
  23. package/esm2022/lib/pipes/duration-to-string.pipe.mjs +1 -1
  24. package/esm2022/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
  25. package/esm2022/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
  26. package/esm2022/lib/pipes/safe-url.pipe.mjs +1 -1
  27. package/esm2022/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
  28. package/esm2022/lib/pipes/username-from-id.pipe.mjs +1 -1
  29. package/esm2022/lib/services/amplify-cache.service.mjs +1 -1
  30. package/esm2022/lib/services/base-tab.service.mjs +1 -1
  31. package/esm2022/lib/services/baseVisibility.service.mjs +1 -1
  32. package/esm2022/lib/services/content.service.mjs +1 -1
  33. package/esm2022/lib/services/filter.service.mjs +11 -1
  34. package/esm2022/lib/services/intervention.service.mjs +1 -1
  35. package/esm2022/lib/services/locale.service.mjs +1 -1
  36. package/esm2022/lib/services/matterport-import.service.mjs +10 -3
  37. package/esm2022/lib/services/matterport-measurement.service.mjs +1 -1
  38. package/esm2022/lib/services/matterport-navigation.service.mjs +1 -1
  39. package/esm2022/lib/services/matterport-object3d.service.mjs +1 -1
  40. package/esm2022/lib/services/matterport-pointer.service.mjs +6 -6
  41. package/esm2022/lib/services/matterport-tag-copy.service.mjs +455 -9
  42. package/esm2022/lib/services/matterport-tag.service.mjs +99 -10
  43. package/esm2022/lib/services/matterport.service.mjs +95 -49
  44. package/esm2022/lib/services/models/affectation.service.mjs +1 -1
  45. package/esm2022/lib/services/models/base-object.service.mjs +31 -4
  46. package/esm2022/lib/services/models/capture.service.mjs +1 -1
  47. package/esm2022/lib/services/models/comment.service.mjs +1 -1
  48. package/esm2022/lib/services/models/domain.service.mjs +1 -1
  49. package/esm2022/lib/services/models/equipment.service.mjs +14 -13
  50. package/esm2022/lib/services/models/event.service.mjs +1 -1
  51. package/esm2022/lib/services/models/feature.service.mjs +8 -7
  52. package/esm2022/lib/services/models/hashtag.service.mjs +1 -1
  53. package/esm2022/lib/services/models/layer.service.mjs +1 -1
  54. package/esm2022/lib/services/models/measurement.service.mjs +1 -1
  55. package/esm2022/lib/services/models/mission.service.mjs +1 -1
  56. package/esm2022/lib/services/models/navigation.service.mjs +1 -1
  57. package/esm2022/lib/services/models/node.service.mjs +1 -1
  58. package/esm2022/lib/services/models/object3D.service.mjs +1 -1
  59. package/esm2022/lib/services/models/operation.service.mjs +1 -1
  60. package/esm2022/lib/services/models/organisation.service.mjs +1 -1
  61. package/esm2022/lib/services/models/plan.service.mjs +1 -1
  62. package/esm2022/lib/services/models/poi.service.mjs +62 -50
  63. package/esm2022/lib/services/models/profile.service.mjs +1 -1
  64. package/esm2022/lib/services/models/property.service.mjs +1 -1
  65. package/esm2022/lib/services/models/space.service.mjs +25 -2
  66. package/esm2022/lib/services/models/template.service.mjs +1 -1
  67. package/esm2022/lib/services/models/ticket.service.mjs +27 -8
  68. package/esm2022/lib/services/models/visit.service.mjs +1 -1
  69. package/esm2022/lib/services/models/zone.service.mjs +9 -5
  70. package/esm2022/lib/services/navigator.service.mjs +14 -1
  71. package/esm2022/lib/services/s3.service.mjs +1 -1
  72. package/esm2022/lib/services/search.service.mjs +1 -1
  73. package/esm2022/lib/services/support.service.mjs +1 -1
  74. package/esm2022/lib/services/tag.service.mjs +16 -16
  75. package/esm2022/lib/services/threejs-import.service.mjs +1 -1
  76. package/esm2022/lib/services/threejs.service.mjs +316 -35
  77. package/esm2022/lib/services/user.service.mjs +1 -1
  78. package/esm2022/lib/services/utils/matterport-transform.util.mjs +1 -1
  79. package/esm2022/lib/services/validators.service.mjs +1 -1
  80. package/esm2022/lib/services/viewer.service.mjs +147 -8
  81. package/esm2022/lib/services/zone-drawer.service.mjs +1 -1
  82. package/esm2022/lib/services/zoneChange.service.mjs +10 -1
  83. package/esm2022/lib/tokens/matterport-sdk-key.token.mjs +1 -1
  84. package/esm2022/lib/types.service.mjs +1 -1
  85. package/esm2022/lib/validators/email.directive.mjs +1 -1
  86. package/esm2022/lib/validators/no-empty.directive.mjs +1 -1
  87. package/esm2022/lib/validators/number.directive.mjs +1 -1
  88. package/esm2022/lib/validators/text.directive.mjs +1 -1
  89. package/esm2022/public-api.mjs +1 -1
  90. package/fesm2022/smarterplan-ngx-smarterplan-core.mjs +5150 -4022
  91. package/fesm2022/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
  92. package/lib/mattertagData.d.ts +4 -0
  93. package/lib/services/matterport-tag-copy.service.d.ts +128 -2
  94. package/lib/services/matterport-tag.service.d.ts +24 -1
  95. package/lib/services/matterport.service.d.ts +12 -3
  96. package/lib/services/models/base-object.service.d.ts +11 -1
  97. package/lib/services/models/equipment.service.d.ts +2 -1
  98. package/lib/services/models/feature.service.d.ts +2 -1
  99. package/lib/services/models/poi.service.d.ts +1 -0
  100. package/lib/services/models/space.service.d.ts +7 -0
  101. package/lib/services/models/ticket.service.d.ts +4 -1
  102. package/lib/services/threejs.service.d.ts +103 -5
  103. package/lib/services/viewer.service.d.ts +39 -1
  104. package/lib/services/zoneChange.service.d.ts +9 -0
  105. package/lib/types.service.d.ts +8 -0
  106. package/package.json +1 -1
  107. package/src/assets/vs-app.json +67 -67
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
58
58
  type: Inject,
59
59
  args: ['currentAPIService']
60
60
  }] }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmZWN0YXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2FmZmVjdGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsR0FBRyxDQUFNO0lBRVQsWUFDaUMsV0FBZ0I7UUFDN0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FDN0IsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2QyxRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLFFBQVE7YUFDZjtTQUNKLENBQUM7YUFDRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQ1AsNENBQTRDLFFBQVEsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3BGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQzlCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxzQ0FBc0MsQ0FDeEMsUUFBZ0IsRUFDaEIsU0FBaUI7UUFFakIsTUFBTSxZQUFZLEdBQ2QsTUFBTSxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO2dCQUN2RCxFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3hCLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsaUNBQWlDLENBQ25DLFFBQWdCLEVBQ2hCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxFQUFFO1lBQy9ELEVBQUUsRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQzNCLGFBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsRUFBRSxFQUFFLGFBQWE7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7d0dBdEVRLGtCQUFrQixrQkFJZixtQkFBbUI7NEdBSnRCLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFmZmVjdGF0aW9uIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEFmZmVjdGF0aW9uU2VydmljZSAge1xuICAgIEFQSTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEFmZmVjdGF0aW9uc0Zyb21UaWNrZXRJRChcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPEFmZmVjdGF0aW9uW10gfCB2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdEFmZmVjdGF0aW9ucyh7XG4gICAgICAgICAgICB0aWNrZXRJRDoge1xuICAgICAgICAgICAgICAgIGVxOiB0aWNrZXRJRCxcbiAgICAgICAgICAgIH0gLFxuICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKHJlc3VsdHMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5pdGVtcztcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAgICAgICAgIGAgRXJyb3Igd2hpbGUgcmV0cmlldmluZyBhZmZlY3RhdGlvbnMgZm9yICR7dGlja2V0SUR9IDogJHtKU09OLnN0cmluZ2lmeShlcnJvcil9YCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgZ2V0QWZmZWN0YXRpb25zRnJvbU1pc3Npb25JRChcbiAgICAgICAgbWlzc2lvbklEOiBzdHJpbmcsXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbltdIHwgdm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbihtaXNzaW9uSUQpLnRoZW4oKHJlc3Bvc25lKSA9PiByZXNwb3NuZS5pdGVtcyk7XG4gICAgfVxuXG4gICAgYXN5bmMgc29mdERlbGV0ZUFmZmVjdGF0aW9uQnlNaXNzaW9uQnlUaWNrZXQoXG4gICAgICAgIHRpY2tldElEOiBzdHJpbmcsXG4gICAgICAgIG1pc3Npb25JRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xuICAgICAgICBjb25zdCBhZmZlY3RhdGlvbnM6IEFmZmVjdGF0aW9uW10gPVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24obWlzc2lvbklELCB0aWNrZXRJRCk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgYWZmZWN0YXRpb25zLm1hcChhc3luYyAoYWZmZWN0YXRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWxldGVkID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUFmZmVjdGF0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uLmlkLFxuICAgICAgICAgICAgICAgICAgICBkZWxldGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzb2Z0IGRlbGV0ZWQgYWZmZWN0YXRpb25cIiwgZGVsZXRlZCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGFmZmVjdGF0aW9ucztcbiAgICB9XG5cbiAgICBhc3luYyBnZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24oXG4gICAgICAgIHRpY2tldElEOiBzdHJpbmcsXG4gICAgICAgIG1pc3Npb25JRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbkJ5VGlja2V0KG1pc3Npb25JRCwge1xuICAgICAgICAgICAgZXE6IHRpY2tldElELFxuICAgICAgICB9KS50aGVuKChyZXNwb3NuZSkgPT4gcmVzcG9zbmUuaXRlbXMpO1xuICAgIH1cblxuICAgIGFzeW5jIHNvZnREZWxldGVBZmZlY3RhdGlvbkJ5SUQoXG4gICAgICAgIGFmZmVjdGF0aW9uSUQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPEFmZmVjdGF0aW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQWZmZWN0YXRpb24oe1xuICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uSUQsXG4gICAgICAgICAgICBkZWxldGVkQXQ6IERhdGUubm93KCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0OiBBZmZlY3RhdGlvbik6IFByb21pc2U8QWZmZWN0YXRpb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVBZmZlY3RhdGlvbihpbnB1dCk7XG4gICAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmZWN0YXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2FmZmVjdGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT25ELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsR0FBRyxDQUFNO0lBRVQsWUFDaUMsV0FBZ0I7UUFDN0MsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FDN0IsUUFBZ0I7UUFFaEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN2QyxRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLFFBQVE7YUFDZjtTQUNKLENBQUM7YUFDRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQ1AsNENBQTRDLFFBQVEsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3BGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQzlCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELEtBQUssQ0FBQyxzQ0FBc0MsQ0FDeEMsUUFBZ0IsRUFDaEIsU0FBaUI7UUFFakIsTUFBTSxZQUFZLEdBQ2QsTUFBTSxJQUFJLENBQUMsaUNBQWlDLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDO2dCQUN2RCxFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3hCLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsaUNBQWlDLENBQ25DLFFBQWdCLEVBQ2hCLFNBQWlCO1FBRWpCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsNkJBQTZCLENBQUMsU0FBUyxFQUFFO1lBQy9ELEVBQUUsRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQzNCLGFBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUM7WUFDeEMsRUFBRSxFQUFFLGFBQWE7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7U0FDeEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7d0dBdEVRLGtCQUFrQixrQkFJZixtQkFBbUI7NEdBSnRCLGtCQUFrQixjQUZmLE1BQU07OzRGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUtRLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWZmZWN0YXRpb24gfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWZmZWN0YXRpb25TZXJ2aWNlICB7XHJcbiAgICBBUEk6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldEFmZmVjdGF0aW9uc0Zyb21UaWNrZXRJRChcclxuICAgICAgICB0aWNrZXRJRDogc3RyaW5nLFxyXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbltdIHwgdm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdEFmZmVjdGF0aW9ucyh7XHJcbiAgICAgICAgICAgIHRpY2tldElEOiB7XHJcbiAgICAgICAgICAgICAgICBlcTogdGlja2V0SUQsXHJcbiAgICAgICAgICAgIH0gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cy5pdGVtcztcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgICAgICAgICAgYCBFcnJvciB3aGlsZSByZXRyaWV2aW5nIGFmZmVjdGF0aW9ucyBmb3IgJHt0aWNrZXRJRH0gOiAke0pTT04uc3RyaW5naWZ5KGVycm9yKX1gLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0QWZmZWN0YXRpb25zRnJvbU1pc3Npb25JRChcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXSB8IHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkFmZmVjdGF0aW9uc0J5TWlzc2lvbihtaXNzaW9uSUQpLnRoZW4oKHJlc3Bvc25lKSA9PiByZXNwb3NuZS5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc29mdERlbGV0ZUFmZmVjdGF0aW9uQnlNaXNzaW9uQnlUaWNrZXQoXHJcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xyXG4gICAgICAgIGNvbnN0IGFmZmVjdGF0aW9uczogQWZmZWN0YXRpb25bXSA9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0QWZmZWNhdGlvbnNGb3JUaWNrZXRGb3JNaXNzaW9uKG1pc3Npb25JRCwgdGlja2V0SUQpO1xyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICBhZmZlY3RhdGlvbnMubWFwKGFzeW5jIChhZmZlY3RhdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVsZXRlZCA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVBZmZlY3RhdGlvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGFmZmVjdGF0aW9uLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZWRBdDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJzb2Z0IGRlbGV0ZWQgYWZmZWN0YXRpb25cIiwgZGVsZXRlZCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGFmZmVjdGF0aW9ucztcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRBZmZlY2F0aW9uc0ZvclRpY2tldEZvck1pc3Npb24oXHJcbiAgICAgICAgdGlja2V0SUQ6IHN0cmluZyxcclxuICAgICAgICBtaXNzaW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8QWZmZWN0YXRpb25bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uQWZmZWN0YXRpb25zQnlNaXNzaW9uQnlUaWNrZXQobWlzc2lvbklELCB7XHJcbiAgICAgICAgICAgIGVxOiB0aWNrZXRJRCxcclxuICAgICAgICB9KS50aGVuKChyZXNwb3NuZSkgPT4gcmVzcG9zbmUuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNvZnREZWxldGVBZmZlY3RhdGlvbkJ5SUQoXHJcbiAgICAgICAgYWZmZWN0YXRpb25JRDogc3RyaW5nLFxyXG4gICAgKTogUHJvbWlzZTxBZmZlY3RhdGlvbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQWZmZWN0YXRpb24oe1xyXG4gICAgICAgICAgICBpZDogYWZmZWN0YXRpb25JRCxcclxuICAgICAgICAgICAgZGVsZXRlZEF0OiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0OiBBZmZlY3RhdGlvbik6IFByb21pc2U8QWZmZWN0YXRpb24+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUFmZmVjdGF0aW9uKGlucHV0KTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,18 +1,34 @@
1
1
  import { Injectable } from "@angular/core";
2
+ import { CaptureViewer } from "../../types.service";
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "./poi.service";
4
5
  import * as i2 from "./navigation.service";
6
+ import * as i3 from "./visit.service";
5
7
  export class BaseObjectService {
6
8
  poiService;
7
9
  navigationService;
8
- constructor(poiService, navigationService) {
10
+ visitService;
11
+ constructor(poiService, navigationService,
12
+ // VisitService rather than SpaceService, which injects the very services that extend this
13
+ // one - taking it here would close the dependency graph into a cycle.
14
+ visitService) {
9
15
  this.poiService = poiService;
10
16
  this.navigationService = navigationService;
17
+ this.visitService = visitService;
11
18
  }
12
19
  async getModel3dAndSweep(object) {
13
20
  return this.poiService
14
21
  .getPoiByElementId(object.id)
15
22
  .then(async (poi) => {
23
+ // A POI placed in the Three.js viewer carries coordinates and nothing else: there
24
+ // is no sweep to resolve a visit from, which is why this used to report the model
25
+ // as unreachable. The space's 3D visit is the one that can show it.
26
+ if (poi && poi.coordinate && !poi.matterportSweepID) {
27
+ const visit = await this.getThreeJsVisitForSpace(object.spaceID);
28
+ return visit
29
+ ? { model3D: visit.model3d, sweep: null, rotation: null }
30
+ : null;
31
+ }
16
32
  if (poi && poi.matterportSweepID) {
17
33
  const navigations = await this.navigationService.getNavigationsForMatterportIDForSpace(poi.matterportSweepID, object.spaceID);
18
34
  const [poiNavigation] = navigations;
@@ -43,6 +59,17 @@ export class BaseObjectService {
43
59
  return null;
44
60
  });
45
61
  }
62
+ /**
63
+ * The space's 3D visit, or null when it has none.
64
+ *
65
+ * Takes the first one the database returns. That is not the space's chosen default - the
66
+ * default ordering lives in SpaceService, which cannot be injected here. The POI does not record
67
+ * which capture it was placed in, so with several 3D models this is a guess either way.
68
+ */
69
+ async getThreeJsVisitForSpace(spaceID) {
70
+ const visits = await this.visitService.getVisitsForSpaceForUser(spaceID, false);
71
+ return (visits ?? []).find((visit) => visit.viewer === CaptureViewer.THREEJS) ?? null;
72
+ }
46
73
  async updateIconForAllObjects(objects, tagIcon) {
47
74
  const IDs = [];
48
75
  for (const object of objects) {
@@ -60,7 +87,7 @@ export class BaseObjectService {
60
87
  console.log("updated", pois.length, "pois with new icons");
61
88
  return pois;
62
89
  }
63
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseObjectService, deps: [{ token: i1.PoiService }, { token: i2.NavigationService }], target: i0.ɵɵFactoryTarget.Injectable });
90
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseObjectService, deps: [{ token: i1.PoiService }, { token: i2.NavigationService }, { token: i3.VisitService }], target: i0.ɵɵFactoryTarget.Injectable });
64
91
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseObjectService, providedIn: "root" });
65
92
  }
66
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseObjectService, decorators: [{
@@ -68,5 +95,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
68
95
  args: [{
69
96
  providedIn: "root",
70
97
  }]
71
- }], ctorParameters: () => [{ type: i1.PoiService }, { type: i2.NavigationService }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vYmplY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2Jhc2Utb2JqZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBRVo7SUFDRjtJQUZaLFlBQ2MsVUFBc0IsRUFDeEIsaUJBQW9DO1FBRGxDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUM3QyxDQUFDO0lBRUosS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQW9DO1FBS3pELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDakIsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzthQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2hCLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMvQixNQUFNLFdBQVcsR0FDYixNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsQ0FDOUQsR0FBRyxDQUFDLGlCQUFpQixFQUNyQixNQUFNLENBQUMsT0FBTyxDQUNqQixDQUFDO2dCQUNOLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBQ3BDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDcEMsT0FBTzt3QkFDSCxPQUFPLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPO3dCQUNuQyxLQUFLLEVBQUUsSUFBSTt3QkFDWCxRQUFRLEVBQUUsSUFBSTtxQkFDakIsQ0FBQztnQkFDTixDQUFDO2dCQUNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN2QixRQUFRLEdBQUc7d0JBQ1AsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO3dCQUMvQixDQUFDLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7cUJBQ2xDLENBQUM7Z0JBQ04sQ0FBQztnQkFDRCxPQUFPO29CQUNILE9BQU8sRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU87b0JBQ25DLEtBQUssRUFBRSxHQUFHLENBQUMsaUJBQWlCO29CQUM1QixRQUFRO2lCQUNYLENBQUM7WUFDTixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQ3pCLE9BQTJDLEVBQzNDLE9BQWU7UUFFZixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO2dCQUM1QyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTzthQUNWLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQXRFUSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVxdWlwbWVudCwgRmVhdHVyZSwgUE9JLCBUaWNrZXQgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi9uYXZpZ2F0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tIFwiLi9wb2kuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VPYmplY3RTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHBvaVNlcnZpY2U6IFBvaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICkge31cblxuICAgIGFzeW5jIGdldE1vZGVsM2RBbmRTd2VlcChvYmplY3Q6IEZlYXR1cmUgfCBUaWNrZXQgfCBFcXVpcG1lbnQpOiBQcm9taXNlPHtcbiAgICAgICAgbW9kZWwzRDogc3RyaW5nO1xuICAgICAgICBzd2VlcDogc3RyaW5nO1xuICAgICAgICByb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xuICAgIH0gfCB2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvaVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRQb2lCeUVsZW1lbnRJZChvYmplY3QuaWQpXG4gICAgICAgICAgICAudGhlbihhc3luYyAocG9pKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHBvaSAmJiBwb2kubWF0dGVycG9ydFN3ZWVwSUQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmF2aWdhdGlvbnMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXROYXZpZ2F0aW9uc0Zvck1hdHRlcnBvcnRJREZvclNwYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaS5tYXR0ZXJwb3J0U3dlZXBJRCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Quc3BhY2VJRCxcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtwb2lOYXZpZ2F0aW9uXSA9IG5hdmlnYXRpb25zO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wb2lTZXJ2aWNlLnBvaUlzVmlydHVhbChwb2kpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsM0Q6IHBvaU5hdmlnYXRpb24ubm9kZS5tb2RlbDNELFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3ZWVwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29yZGluYXRlID0gSlNPTi5wYXJzZShwb2kuY29vcmRpbmF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCByb3RhdGlvbiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb29yZGluYXRlLnhSb3RhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogTnVtYmVyKGNvb3JkaW5hdGUueFJvdGF0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBOdW1iZXIoY29vcmRpbmF0ZS55Um90YXRpb24pLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwzRDogcG9pTmF2aWdhdGlvbi5ub2RlLm1vZGVsM0QsXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2VlcDogcG9pLm1hdHRlcnBvcnRTd2VlcElELFxuICAgICAgICAgICAgICAgICAgICAgICAgcm90YXRpb24sXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pXG4gICAgfVxuXG4gICAgYXN5bmMgdXBkYXRlSWNvbkZvckFsbE9iamVjdHMoXG4gICAgICAgIG9iamVjdHM6IFRpY2tldFtdIHwgRmVhdHVyZVtdIHwgRXF1aXBtZW50W10sXG4gICAgICAgIHRhZ0ljb246IHN0cmluZyxcbiAgICApOiBQcm9taXNlPFBPSVtdPiB7XG4gICAgICAgIGNvbnN0IElEcyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IG9iamVjdCBvZiBvYmplY3RzKSB7XG4gICAgICAgICAgICBJRHMucHVzaChvYmplY3QuaWQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvaXMgPSBbXTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBJRHMubWFwKGFzeW5jIChpZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChpZCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IHRoaXMucG9pU2VydmljZS51cGRhdGVQb2koe1xuICAgICAgICAgICAgICAgICAgICBpZDogcG9pLmlkLFxuICAgICAgICAgICAgICAgICAgICB0YWdJY29uLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHBvaXMucHVzaCh1cGRhdGVkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmxvZyhcInVwZGF0ZWRcIiwgcG9pcy5sZW5ndGgsIFwicG9pcyB3aXRoIG5ldyBpY29uc1wiKTtcbiAgICAgICAgcmV0dXJuIHBvaXM7XG4gICAgfVxufVxuIl19
98
+ }], ctorParameters: () => [{ type: i1.PoiService }, { type: i2.NavigationService }, { type: i3.VisitService }] });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vYmplY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zbWFydGVycGxhbi1jb3JlL3NyYy9saWIvc2VydmljZXMvbW9kZWxzL2Jhc2Utb2JqZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFtQyxNQUFNLHFCQUFxQixDQUFDOzs7OztBQVFyRixNQUFNLE9BQU8saUJBQWlCO0lBRVo7SUFDRjtJQUdBO0lBTFosWUFDYyxVQUFzQixFQUN4QixpQkFBb0M7SUFDNUMsMEZBQTBGO0lBQzFGLHNFQUFzRTtJQUM5RCxZQUEwQjtRQUp4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFHcEMsaUJBQVksR0FBWixZQUFZLENBQWM7SUFDbkMsQ0FBQztJQUVKLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFvQztRQUt6RCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ2pCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoQixrRkFBa0Y7WUFDbEYsa0ZBQWtGO1lBQ2xGLG9FQUFvRTtZQUNwRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2xELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakUsT0FBTyxLQUFLO29CQUNSLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxF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QUUscUJBQXFCLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQTlGUSxpQkFBaUI7NEdBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2FwdHVyZVZpZXdlciwgRXF1aXBtZW50LCBGZWF0dXJlLCBQT0ksIFRpY2tldCB9IGZyb20gXCIuLi8uLi90eXBlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4vbmF2aWdhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tIFwiLi9wb2kuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWaXNpdFNlcnZpY2UgfSBmcm9tIFwiLi92aXNpdC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VPYmplY3RTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByb3RlY3RlZCBwb2lTZXJ2aWNlOiBQb2lTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIC8vIFZpc2l0U2VydmljZSByYXRoZXIgdGhhbiBTcGFjZVNlcnZpY2UsIHdoaWNoIGluamVjdHMgdGhlIHZlcnkgc2VydmljZXMgdGhhdCBleHRlbmQgdGhpc1xyXG4gICAgICAgIC8vIG9uZSAtIHRha2luZyBpdCBoZXJlIHdvdWxkIGNsb3NlIHRoZSBkZXBlbmRlbmN5IGdyYXBoIGludG8gYSBjeWNsZS5cclxuICAgICAgICBwcml2YXRlIHZpc2l0U2VydmljZTogVmlzaXRTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIGFzeW5jIGdldE1vZGVsM2RBbmRTd2VlcChvYmplY3Q6IEZlYXR1cmUgfCBUaWNrZXQgfCBFcXVpcG1lbnQpOiBQcm9taXNlPHtcclxuICAgICAgICBtb2RlbDNEOiBzdHJpbmc7XHJcbiAgICAgICAgc3dlZXA6IHN0cmluZztcclxuICAgICAgICByb3RhdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xyXG4gICAgfSB8IHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5wb2lTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRQb2lCeUVsZW1lbnRJZChvYmplY3QuaWQpXHJcbiAgICAgICAgICAgIC50aGVuKGFzeW5jIChwb2kpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vIEEgUE9JIHBsYWNlZCBpbiB0aGUgVGhyZWUuanMgdmlld2VyIGNhcnJpZXMgY29vcmRpbmF0ZXMgYW5kIG5vdGhpbmcgZWxzZTogdGhlcmVcclxuICAgICAgICAgICAgICAgIC8vIGlzIG5vIHN3ZWVwIHRvIHJlc29sdmUgYSB2aXNpdCBmcm9tLCB3aGljaCBpcyB3aHkgdGhpcyB1c2VkIHRvIHJlcG9ydCB0aGUgbW9kZWxcclxuICAgICAgICAgICAgICAgIC8vIGFzIHVucmVhY2hhYmxlLiBUaGUgc3BhY2UncyAzRCB2aXNpdCBpcyB0aGUgb25lIHRoYXQgY2FuIHNob3cgaXQuXHJcbiAgICAgICAgICAgICAgICBpZiAocG9pICYmIHBvaS5jb29yZGluYXRlICYmICFwb2kubWF0dGVycG9ydFN3ZWVwSUQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2aXNpdCA9IGF3YWl0IHRoaXMuZ2V0VGhyZWVKc1Zpc2l0Rm9yU3BhY2Uob2JqZWN0LnNwYWNlSUQpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHsgbW9kZWwzRDogdmlzaXQubW9kZWwzZCwgc3dlZXA6IG51bGwsIHJvdGF0aW9uOiBudWxsIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHBvaSAmJiBwb2kubWF0dGVycG9ydFN3ZWVwSUQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBuYXZpZ2F0aW9ucyA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0TmF2aWdhdGlvbnNGb3JNYXR0ZXJwb3J0SURGb3JTcGFjZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaS5tYXR0ZXJwb3J0U3dlZXBJRCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdC5zcGFjZUlELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtwb2lOYXZpZ2F0aW9uXSA9IG5hdmlnYXRpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvaVNlcnZpY2UucG9pSXNWaXJ0dWFsKHBvaSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsM0Q6IHBvaU5hdmlnYXRpb24ubm9kZS5tb2RlbDNELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dlZXA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbjogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29vcmRpbmF0ZSA9IEpTT04ucGFyc2UocG9pLmNvb3JkaW5hdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCByb3RhdGlvbiA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvb3JkaW5hdGUueFJvdGF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0aW9uID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogTnVtYmVyKGNvb3JkaW5hdGUueFJvdGF0aW9uKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk6IE51bWJlcihjb29yZGluYXRlLnlSb3RhdGlvbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsM0Q6IHBvaU5hdmlnYXRpb24ubm9kZS5tb2RlbDNELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2VlcDogcG9pLm1hdHRlcnBvcnRTd2VlcElELFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3RhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNwYWNlJ3MgM0QgdmlzaXQsIG9yIG51bGwgd2hlbiBpdCBoYXMgbm9uZS5cclxuICAgICAqXHJcbiAgICAgKiBUYWtlcyB0aGUgZmlyc3Qgb25lIHRoZSBkYXRhYmFzZSByZXR1cm5zLiBUaGF0IGlzIG5vdCB0aGUgc3BhY2UncyBjaG9zZW4gZGVmYXVsdCAtIHRoZVxyXG4gICAgICogZGVmYXVsdCBvcmRlcmluZyBsaXZlcyBpbiBTcGFjZVNlcnZpY2UsIHdoaWNoIGNhbm5vdCBiZSBpbmplY3RlZCBoZXJlLiBUaGUgUE9JIGRvZXMgbm90IHJlY29yZFxyXG4gICAgICogd2hpY2ggY2FwdHVyZSBpdCB3YXMgcGxhY2VkIGluLCBzbyB3aXRoIHNldmVyYWwgM0QgbW9kZWxzIHRoaXMgaXMgYSBndWVzcyBlaXRoZXIgd2F5LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGFzeW5jIGdldFRocmVlSnNWaXNpdEZvclNwYWNlKHNwYWNlSUQ6IHN0cmluZykge1xyXG4gICAgICAgIGNvbnN0IHZpc2l0cyA9IGF3YWl0IHRoaXMudmlzaXRTZXJ2aWNlLmdldFZpc2l0c0ZvclNwYWNlRm9yVXNlcihzcGFjZUlELCBmYWxzZSk7XHJcbiAgICAgICAgcmV0dXJuICh2aXNpdHMgPz8gW10pLmZpbmQoKHZpc2l0KSA9PiB2aXNpdC52aWV3ZXIgPT09IENhcHR1cmVWaWV3ZXIuVEhSRUVKUykgPz8gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVJY29uRm9yQWxsT2JqZWN0cyhcclxuICAgICAgICBvYmplY3RzOiBUaWNrZXRbXSB8IEZlYXR1cmVbXSB8IEVxdWlwbWVudFtdLFxyXG4gICAgICAgIHRhZ0ljb246IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8UE9JW10+IHtcclxuICAgICAgICBjb25zdCBJRHMgPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IG9iamVjdCBvZiBvYmplY3RzKSB7XHJcbiAgICAgICAgICAgIElEcy5wdXNoKG9iamVjdC5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHBvaXMgPSBbXTtcclxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgSURzLm1hcChhc3luYyAoaWQpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBvaSA9IGF3YWl0IHRoaXMucG9pU2VydmljZS5nZXRQb2lCeUVsZW1lbnRJZChpZCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLnVwZGF0ZVBvaSh7XHJcbiAgICAgICAgICAgICAgICAgICAgaWQ6IHBvaS5pZCxcclxuICAgICAgICAgICAgICAgICAgICB0YWdJY29uLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBwb2lzLnB1c2godXBkYXRlZCk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJ1cGRhdGVkXCIsIHBvaXMubGVuZ3RoLCBcInBvaXMgd2l0aCBuZXcgaWNvbnNcIik7XHJcbiAgICAgICAgcmV0dXJuIHBvaXM7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
32
32
  type: Inject,
33
33
  args: ['currentAPIService']
34
34
  }] }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY2FwdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sY0FBYztJQUN2QixHQUFHLENBQU0sQ0FBQyxLQUFLO0lBRWYsWUFBeUMsV0FBZ0I7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUE7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFlO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBaUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDakMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBQyxFQUFFLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBekJRLGNBQWMsa0JBR0gsbUJBQW1COzRHQUg5QixjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDYXB0dXJlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBDYXB0dXJlU2VydmljZSB7XG4gICAgQVBJOiBhbnk7IC8vQVdTXG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5BUEkgPSBhcGlJbmplY3RlZFxuICAgIH1cblxuICAgIGFzeW5jIGdldENhcHR1cmVzQnlTcGFjZShzcGFjZUlEOiBzdHJpbmcpOiBQcm9taXNlPENhcHR1cmVbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuQ2FwdHVyZXNCeVNwYWNlKHNwYWNlSUQpLnRoZW4oKGNhcCkgPT4gY2FwLml0ZW1zKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRDYXB0dXJlKGNhcHR1cmVJRDogc3RyaW5nKTogUHJvbWlzZTxDYXB0dXJlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0Q2FwdHVyZShjYXB0dXJlSUQpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZUNhcHR1cmUoY2FwdHVyZUlEOiBzdHJpbmcpOiBQcm9taXNlPENhcHR1cmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVDYXB0dXJlKHtpZDogY2FwdHVyZUlEfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgdXBkYXRlQ2FwdHVyZShjYXB0dXJlOiBhbnkpOiBQcm9taXNlPENhcHR1cmU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVDYXB0dXJlKGNhcHR1cmUpO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZUNhcHR1cmUoY2FwdHVyZTogQ2FwdHVyZSk6IFByb21pc2U8Q2FwdHVyZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUNhcHR1cmUoY2FwdHVyZSk7XG4gICAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY2FwdHVyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1uRCxNQUFNLE9BQU8sY0FBYztJQUN2QixHQUFHLENBQU0sQ0FBQyxLQUFLO0lBRWYsWUFBeUMsV0FBZ0I7UUFDckQsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUE7SUFDMUIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFlO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBaUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDakMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBQyxFQUFFLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7d0dBekJRLGNBQWMsa0JBR0gsbUJBQW1COzRHQUg5QixjQUFjLGNBRlgsTUFBTTs7NEZBRVQsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENhcHR1cmUgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXB0dXJlU2VydmljZSB7XHJcbiAgICBBUEk6IGFueTsgLy9BV1NcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnkpIHtcclxuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkXHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0Q2FwdHVyZXNCeVNwYWNlKHNwYWNlSUQ6IHN0cmluZyk6IFByb21pc2U8Q2FwdHVyZVtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLkNhcHR1cmVzQnlTcGFjZShzcGFjZUlEKS50aGVuKChjYXApID0+IGNhcC5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0Q2FwdHVyZShjYXB0dXJlSUQ6IHN0cmluZyk6IFByb21pc2U8Q2FwdHVyZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uR2V0Q2FwdHVyZShjYXB0dXJlSUQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZUNhcHR1cmUoY2FwdHVyZUlEOiBzdHJpbmcpOiBQcm9taXNlPENhcHR1cmU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZUNhcHR1cmUoe2lkOiBjYXB0dXJlSUR9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVDYXB0dXJlKGNhcHR1cmU6IGFueSk6IFByb21pc2U8Q2FwdHVyZT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlQ2FwdHVyZShjYXB0dXJlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVDYXB0dXJlKGNhcHR1cmU6IENhcHR1cmUpOiBQcm9taXNlPENhcHR1cmU+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUNhcHR1cmUoY2FwdHVyZSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
134
134
  type: Inject,
135
135
  args: ['currentAPIService']
136
136
  }] }, { type: i1.PoiService }] });
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY29tbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBMEMsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTS9DLE1BQU0sT0FBTyxjQUFjO0lBSVg7SUFGWixHQUFHLENBQU0sQ0FBQyxNQUFNO0lBQ2hCLFlBQXlDLFdBQWdCLEVBQzdDLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQWlCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO1FBQ3BCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDVCxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRCxNQUFNLE9BQU8sR0FBRztZQUNaLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUNkLE9BQU87WUFDUCxHQUFHO1lBQ0gsWUFBWTtZQUNaLE1BQU07U0FDTSxDQUFDO1FBQ2pCLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQWlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQWlCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsd0JBQXdCLENBQUMsU0FBaUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQy9CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsRUFDM0YsU0FBUyxDQUNaLENBQUM7SUFDTixDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxRQUFnQjtRQUMxQyxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FDL0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUN6RixRQUFRLENBQ1gsQ0FBQztJQUNOLENBQUM7SUFFRCx5RUFBeUU7SUFDakUsS0FBSyxDQUFDLHVCQUF1QixDQUNqQyxTQUFvRSxFQUNwRSxPQUFlO1FBRWYsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1gsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQWMsRUFBRSxDQUFDO1FBQzFCLElBQUksU0FBUyxHQUFrQixJQUFJLENBQUM7UUFFcEMsR0FBRyxDQUFDO1lBQ0EsTUFBTSxJQUFJLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFDRCxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDeEMsQ0FBQyxRQUFRLFNBQVMsRUFBRTtRQUVwQixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsS0FBYSxJQUFJO1FBQ3BELE9BQU8sY0FBYyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELG1EQUFtRDtJQUNuRCxLQUFLLENBQUMsd0JBQXdCLENBQzFCLE9BQWdCLEVBQ2hCLEdBQVc7UUFFWCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDM0IsVUFBVSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQ3ZCLE9BQWdCLEVBQ2hCLElBQVU7UUFFVixJQUFJLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUN2QyxJQUFJLEVBQ0osY0FBYyxDQUFDLEVBQUUsQ0FDcEIsQ0FBQztZQUNGLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQ3RDLEVBQUUsRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDckIsTUFBTSxFQUFFLEdBQUc7YUFDZCxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztJQUlELEtBQUssQ0FBQywyQkFBMkIsQ0FDN0IsU0FBaUIsRUFDakIsT0FBZ0I7UUFFaEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzVDLEVBQUUsRUFBRSxTQUFTO1lBQ2IsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFDSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxLQUFLO2dCQUNoQyxLQUFLLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFDeEIsQ0FBQztnQkFDQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ3JCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDWixZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDRixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO3dHQXJLUSxjQUFjLGtCQUdILG1CQUFtQjs0R0FIOUIsY0FBYyxjQUZYLE1BQU07OzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWVhc3VyZW1lbnQsIEZlYXR1cmUsIENvbW1lbnQsIElVcGRhdGUsIENvbW1lbnRUeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcbmltcG9ydCB7IHVwbG9hZEZpbGVUb1MzIH0gZnJvbSBcIi4uL3MzLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tIFwiLi9wb2kuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXG59KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRTZXJ2aWNlIHtcblxuICAgIEFQSTogYW55OyAvLyBBV1NcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KCdjdXJyZW50QVBJU2VydmljZScpIGFwaUluamVjdGVkOiBhbnksXG4gICAgICAgIHByaXZhdGUgcG9pU2VydmljZTogUG9pU2VydmljZSkge1xuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xuICAgIH1cblxuICAgIGdldENvbW1lbnRzRnJvbVRpY2tldElEKHRpY2tldElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNvbW1lbnRzQnlUaWNrZXQodGlja2V0SUQpLnRoZW4oKHJlcykgPT4gcmVzLml0ZW1zKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRDb21tZW50c0J5U3BhY2VJRChzcGFjZUlEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNvbW1lbnRzQnlTcGFjZShzcGFjZUlEKS50aGVuKFxuICAgICAgICAgICAgKGNvbW1lbnRzKSA9PiBjb21tZW50cy5pdGVtcyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhc3luYyByZWFkQ29tbWVudEFzTWVhc3VyZW1lbnQoY29tbWVudElEOiBzdHJpbmcpOiBQcm9taXNlPE1lYXN1cmVtZW50PiB7XG4gICAgICAgIGNvbnN0IGNvbW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbW1lbnQoY29tbWVudElEKTtcbiAgICAgICAgaWYgKGNvbW1lbnQudGlja2V0SUQgJiYgIWNvbW1lbnQudGlja2V0KSB7XG4gICAgICAgICAgICBjb21tZW50LnRpY2tldCA9IGF3YWl0IHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRUaWNrZXQoY29tbWVudC50aWNrZXRJRCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZhbHVlcyA9IGNvbW1lbnQuZGltZW5zaW9ucztcbiAgICAgICAgbGV0IG51bWJlclBvaW50cyA9IDBcbiAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgbnVtYmVyUG9pbnRzID0gdmFsdWVzLmxlbmd0aCArIDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLmdldFBvaUJ5RWxlbWVudElkKGNvbW1lbnRJRCk7XG4gICAgICAgIGNvbnN0IG1lYXN1cmUgPSB7XG4gICAgICAgICAgICBpZDogY29tbWVudC5pZCxcbiAgICAgICAgICAgIGNvbW1lbnQsXG4gICAgICAgICAgICBwb2ksXG4gICAgICAgICAgICBudW1iZXJQb2ludHMsXG4gICAgICAgICAgICB2YWx1ZXMsXG4gICAgICAgIH0gYXMgTWVhc3VyZW1lbnQ7XG4gICAgICAgIHJldHVybiBtZWFzdXJlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENSVURcbiAgICAgKlxuICAgICAqL1xuICAgIGFzeW5jIGdldENvbW1lbnQoY29tbWVudElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXRDb21tZW50KGNvbW1lbnRJRCk7XG4gICAgfVxuXG4gICAgYXN5bmMgZGVsZXRlQ29tbWVudChjb21tZW50SUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkRlbGV0ZUNvbW1lbnQoeyBpZDogY29tbWVudElEIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZUNvbW1lbnQoY29tbWVudDogQ29tbWVudCk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUNvbW1lbnQoY29tbWVudCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBFVkVSWSBjb21tZW50IGF0dGFjaGVkIHRvIGEgZmVhdHVyZSwgZm9sbG93aW5nIGBuZXh0VG9rZW5gIHVudGlsIHRoZVxuICAgICAqIGNvbm5lY3Rpb24gaXMgZXhoYXVzdGVkLlxuICAgICAqXG4gICAgICogVGhlIGBjb21tZW50c2AgY29ubmVjdGlvbiBuZXN0ZWQgaW5zaWRlIEZlYXR1cmVzQnlTcGFjZS9HZXRGZWF0dXJlIGlzIGNhcHBlZCBieVxuICAgICAqIHRoZSBBcHBTeW5jIHJlc29sdmVyIChgJHV0aWwuZGVmYXVsdElmTnVsbCgkY29udGV4dC5hcmdzLmxpbWl0LCAxMDApYCkgYW5kIGV4cG9zZXNcbiAgICAgKiBhIGBuZXh0VG9rZW5gIHRoYXQgbm9ib2R5IGZvbGxvd3MsIHNvIGEgbWVkaWEtcmljaCBQT0kgc2lsZW50bHkgbG9zZXMgZXZlcnlcbiAgICAgKiBhdHRhY2htZW50IHBhc3QgdGhlIGZpcnN0IHBhZ2UuIEFueXRoaW5nIHRoYXQgbXVzdCBzZWUgdGhlIGNvbXBsZXRlIG1lZGlhIHNldCBvZlxuICAgICAqIGEgZmVhdHVyZSAoZHVwbGljYXRpb24sIGV4cG9ydCwgYXVkaXQpIGhhcyB0byB1c2UgdGhpcyBtZXRob2QgcmF0aGVyIHRoYW5cbiAgICAgKiBgZmVhdHVyZS5jb21tZW50cy5pdGVtc2AuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0QWxsQ29tbWVudHNGb3JGZWF0dXJlKGZlYXR1cmVJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsQ29tbWVudHNQYWdpbmF0ZWQoXG4gICAgICAgICAgICAobGltaXQsIG5leHRUb2tlbikgPT5cbiAgICAgICAgICAgICAgICB0aGlzLkFQSS5fX3Byb3RvX18uQ29tbWVudHNCeUZlYXR1cmUoZmVhdHVyZUlELCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgbGltaXQsIG5leHRUb2tlbiksXG4gICAgICAgICAgICBmZWF0dXJlSUQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIFNhbWUgYXMgZ2V0QWxsQ29tbWVudHNGb3JGZWF0dXJlKCksIGZvciB0aGUgYXR0YWNobWVudHMgb2YgYSB0aWNrZXQuICovXG4gICAgYXN5bmMgZ2V0QWxsQ29tbWVudHNGb3JUaWNrZXQodGlja2V0SUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFsbENvbW1lbnRzUGFnaW5hdGVkKFxuICAgICAgICAgICAgKGxpbWl0LCBuZXh0VG9rZW4pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5BUEkuX19wcm90b19fLkNvbW1lbnRzQnlUaWNrZXQodGlja2V0SUQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBsaW1pdCwgbmV4dFRva2VuKSxcbiAgICAgICAgICAgIHRpY2tldElELFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBEcmFpbnMgYSBwYWdpbmF0ZWQgY29tbWVudCBxdWVyeSB1bnRpbCBpdHMgbmV4dFRva2VuIGlzIGV4aGF1c3RlZC4gKi9cbiAgICBwcml2YXRlIGFzeW5jIGdldEFsbENvbW1lbnRzUGFnaW5hdGVkKFxuICAgICAgICBmZXRjaFBhZ2U6IChsaW1pdDogbnVtYmVyLCBuZXh0VG9rZW46IHN0cmluZyB8IG51bGwpID0+IFByb21pc2U8YW55PixcbiAgICAgICAgb3duZXJJRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8Q29tbWVudFtdPiB7XG4gICAgICAgIGlmICghb3duZXJJRCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFsbDogQ29tbWVudFtdID0gW107XG4gICAgICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCBmZXRjaFBhZ2UoMTAwMCwgbmV4dFRva2VuKTtcbiAgICAgICAgICAgIGlmIChwYWdlPy5pdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGFsbC5wdXNoKC4uLnBhZ2UuaXRlbXMuZmlsdGVyKChpdGVtOiBDb21tZW50IHwgbnVsbCkgPT4gISFpdGVtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0VG9rZW4gPSBwYWdlPy5uZXh0VG9rZW4gPz8gbnVsbDtcbiAgICAgICAgfSB3aGlsZSAobmV4dFRva2VuKTtcblxuICAgICAgICByZXR1cm4gYWxsO1xuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZUNvbW1lbnQoaW5wdXQ6IGFueSk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUNvbW1lbnQoaW5wdXQpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwbG9hZEZpbGVGb3JDb21tZW50KGZpbGU6IEZpbGUsIGlkOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHVwbG9hZEZpbGVUb1MzKFwiY29tbWVudHMvXCIsIGZpbGUsIGlkKTtcbiAgICB9XG5cbiAgICAvKiogQ3JlYXRlIGEgbmV3IGNvbW1lbnQgd2l0aCBhbiBleGlzdGluZyBBbm5leGUgKi9cbiAgICBhc3luYyBjcmVhdGVDb21tZW50V2l0aEZpbGVVUkwoXG4gICAgICAgIGNvbW1lbnQ6IENvbW1lbnQsXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICBjb25zdCBuZXdDb21tZW50ID0gY29tbWVudDtcbiAgICAgICAgbmV3Q29tbWVudC5hbm5leGUgPSB1cmw7XG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNvbW1lbnQobmV3Q29tbWVudCk7XG4gICAgfVxuXG4gICAgYXN5bmMgY3JlYXRlQ29tbWVudFdpdGhGaWxlKFxuICAgICAgICBjb21tZW50OiBDb21tZW50LFxuICAgICAgICBmaWxlOiBGaWxlLFxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xuICAgICAgICBsZXQgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLmNyZWF0ZUNvbW1lbnQoY29tbWVudCk7XG4gICAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBhd2FpdCB0aGlzLnVwbG9hZEZpbGVGb3JDb21tZW50KFxuICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgY3JlYXRlZENvbW1lbnQuaWQsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xuICAgICAgICAgICAgICAgIGlkOiBjcmVhdGVkQ29tbWVudC5pZCxcbiAgICAgICAgICAgICAgICBhbm5leGU6IHVybCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVkQ29tbWVudDtcbiAgICB9XG5cblxuXG4gICAgYXN5bmMgc2V0Q29tbWVudEFzQ292ZXJGb3JGZWF0dXJlKFxuICAgICAgICBjb21tZW50SUQ6IHN0cmluZyxcbiAgICAgICAgZmVhdHVyZTogRmVhdHVyZSxcbiAgICApOiBQcm9taXNlPENvbW1lbnQ+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xuICAgICAgICAgICAgaWQ6IGNvbW1lbnRJRCxcbiAgICAgICAgICAgIGlzQ292ZXJJbWFnZTogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgZmVhdHVyZS5jb21tZW50cy5pdGVtcy5tYXAoYXN5bmMgKGltYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBpbWFnZS50eXBlID09PSBDb21tZW50VHlwZS5JTUFHRSAmJlxuICAgICAgICAgICAgICAgICAgICBpbWFnZS5pZCAhPT0gY29tbWVudElEXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tbWVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaW1hZ2UuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0NvdmVySW1hZ2U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRDb21tZW50O1xuICAgIH1cbn1cbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9tb2RlbHMvY29tbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBMEMsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTS9DLE1BQU0sT0FBTyxjQUFjO0lBSVg7SUFGWixHQUFHLENBQU0sQ0FBQyxNQUFNO0lBQ2hCLFlBQXlDLFdBQWdCLEVBQzdDLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQWdCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDbkQsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQy9CLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQWlCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FB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Q0FDN0IsU0FBaUIsRUFDakIsT0FBZ0I7UUFFaEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzVDLEVBQUUsRUFBRSxTQUFTO1lBQ2IsWUFBWSxFQUFFLElBQUk7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkMsSUFDSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxLQUFLO2dCQUNoQyxLQUFLLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFDeEIsQ0FBQztnQkFDQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUM7b0JBQ3JCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDWixZQUFZLEVBQUUsS0FBSztpQkFDdEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFDRixPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO3dHQXJLUSxjQUFjLGtCQUdILG1CQUFtQjs0R0FIOUIsY0FBYyxjQUZYLE1BQU07OzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNZWFzdXJlbWVudCwgRmVhdHVyZSwgQ29tbWVudCwgSVVwZGF0ZSwgQ29tbWVudFR5cGUgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyB1cGxvYWRGaWxlVG9TMyB9IGZyb20gXCIuLi9zMy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFBvaVNlcnZpY2UgfSBmcm9tIFwiLi9wb2kuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tZW50U2VydmljZSB7XHJcblxyXG4gICAgQVBJOiBhbnk7IC8vIEFXU1xyXG4gICAgY29uc3RydWN0b3IoQEluamVjdCgnY3VycmVudEFQSVNlcnZpY2UnKSBhcGlJbmplY3RlZDogYW55LFxyXG4gICAgICAgIHByaXZhdGUgcG9pU2VydmljZTogUG9pU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29tbWVudHNGcm9tVGlja2V0SUQodGlja2V0SUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudFtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5Db21tZW50c0J5VGlja2V0KHRpY2tldElEKS50aGVuKChyZXMpID0+IHJlcy5pdGVtcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0Q29tbWVudHNCeVNwYWNlSUQoc3BhY2VJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50W10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNvbW1lbnRzQnlTcGFjZShzcGFjZUlEKS50aGVuKFxyXG4gICAgICAgICAgICAoY29tbWVudHMpID0+IGNvbW1lbnRzLml0ZW1zLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVhZENvbW1lbnRBc01lYXN1cmVtZW50KGNvbW1lbnRJRDogc3RyaW5nKTogUHJvbWlzZTxNZWFzdXJlbWVudD4ge1xyXG4gICAgICAgIGNvbnN0IGNvbW1lbnQgPSBhd2FpdCB0aGlzLmdldENvbW1lbnQoY29tbWVudElEKTtcclxuICAgICAgICBpZiAoY29tbWVudC50aWNrZXRJRCAmJiAhY29tbWVudC50aWNrZXQpIHtcclxuICAgICAgICAgICAgY29tbWVudC50aWNrZXQgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uR2V0VGlja2V0KGNvbW1lbnQudGlja2V0SUQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdmFsdWVzID0gY29tbWVudC5kaW1lbnNpb25zO1xyXG4gICAgICAgIGxldCBudW1iZXJQb2ludHMgPSAwXHJcbiAgICAgICAgaWYgKHZhbHVlcykge1xyXG4gICAgICAgICAgICBudW1iZXJQb2ludHMgPSB2YWx1ZXMubGVuZ3RoICsgMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcG9pID0gYXdhaXQgdGhpcy5wb2lTZXJ2aWNlLmdldFBvaUJ5RWxlbWVudElkKGNvbW1lbnRJRCk7XHJcbiAgICAgICAgY29uc3QgbWVhc3VyZSA9IHtcclxuICAgICAgICAgICAgaWQ6IGNvbW1lbnQuaWQsXHJcbiAgICAgICAgICAgIGNvbW1lbnQsXHJcbiAgICAgICAgICAgIHBvaSxcclxuICAgICAgICAgICAgbnVtYmVyUG9pbnRzLFxyXG4gICAgICAgICAgICB2YWx1ZXMsXHJcbiAgICAgICAgfSBhcyBNZWFzdXJlbWVudDtcclxuICAgICAgICByZXR1cm4gbWVhc3VyZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENSVURcclxuICAgICAqXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGdldENvbW1lbnQoY29tbWVudElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkdldENvbW1lbnQoY29tbWVudElEKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVDb21tZW50KGNvbW1lbnRJRDogc3RyaW5nKTogUHJvbWlzZTxDb21tZW50PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVDb21tZW50KHsgaWQ6IGNvbW1lbnRJRCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVDb21tZW50KGNvbW1lbnQ6IENvbW1lbnQpOiBQcm9taXNlPENvbW1lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkNyZWF0ZUNvbW1lbnQoY29tbWVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIEVWRVJZIGNvbW1lbnQgYXR0YWNoZWQgdG8gYSBmZWF0dXJlLCBmb2xsb3dpbmcgYG5leHRUb2tlbmAgdW50aWwgdGhlXHJcbiAgICAgKiBjb25uZWN0aW9uIGlzIGV4aGF1c3RlZC5cclxuICAgICAqXHJcbiAgICAgKiBUaGUgYGNvbW1lbnRzYCBjb25uZWN0aW9uIG5lc3RlZCBpbnNpZGUgRmVhdHVyZXNCeVNwYWNlL0dldEZlYXR1cmUgaXMgY2FwcGVkIGJ5XHJcbiAgICAgKiB0aGUgQXBwU3luYyByZXNvbHZlciAoYCR1dGlsLmRlZmF1bHRJZk51bGwoJGNvbnRleHQuYXJncy5saW1pdCwgMTAwKWApIGFuZCBleHBvc2VzXHJcbiAgICAgKiBhIGBuZXh0VG9rZW5gIHRoYXQgbm9ib2R5IGZvbGxvd3MsIHNvIGEgbWVkaWEtcmljaCBQT0kgc2lsZW50bHkgbG9zZXMgZXZlcnlcclxuICAgICAqIGF0dGFjaG1lbnQgcGFzdCB0aGUgZmlyc3QgcGFnZS4gQW55dGhpbmcgdGhhdCBtdXN0IHNlZSB0aGUgY29tcGxldGUgbWVkaWEgc2V0IG9mXHJcbiAgICAgKiBhIGZlYXR1cmUgKGR1cGxpY2F0aW9uLCBleHBvcnQsIGF1ZGl0KSBoYXMgdG8gdXNlIHRoaXMgbWV0aG9kIHJhdGhlciB0aGFuXHJcbiAgICAgKiBgZmVhdHVyZS5jb21tZW50cy5pdGVtc2AuXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGdldEFsbENvbW1lbnRzRm9yRmVhdHVyZShmZWF0dXJlSUQ6IHN0cmluZyk6IFByb21pc2U8Q29tbWVudFtdPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsQ29tbWVudHNQYWdpbmF0ZWQoXHJcbiAgICAgICAgICAgIChsaW1pdCwgbmV4dFRva2VuKSA9PlxyXG4gICAgICAgICAgICAgICAgdGhpcy5BUEkuX19wcm90b19fLkNvbW1lbnRzQnlGZWF0dXJlKGZlYXR1cmVJRCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGxpbWl0LCBuZXh0VG9rZW4pLFxyXG4gICAgICAgICAgICBmZWF0dXJlSUQsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogU2FtZSBhcyBnZXRBbGxDb21tZW50c0ZvckZlYXR1cmUoKSwgZm9yIHRoZSBhdHRhY2htZW50cyBvZiBhIHRpY2tldC4gKi9cclxuICAgIGFzeW5jIGdldEFsbENvbW1lbnRzRm9yVGlja2V0KHRpY2tldElEOiBzdHJpbmcpOiBQcm9taXNlPENvbW1lbnRbXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEFsbENvbW1lbnRzUGFnaW5hdGVkKFxyXG4gICAgICAgICAgICAobGltaXQsIG5leHRUb2tlbikgPT5cclxuICAgICAgICAgICAgICAgIHRoaXMuQVBJLl9fcHJvdG9fXy5Db21tZW50c0J5VGlja2V0KHRpY2tldElELCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgbGltaXQsIG5leHRUb2tlbiksXHJcbiAgICAgICAgICAgIHRpY2tldElELFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIERyYWlucyBhIHBhZ2luYXRlZCBjb21tZW50IHF1ZXJ5IHVudGlsIGl0cyBuZXh0VG9rZW4gaXMgZXhoYXVzdGVkLiAqL1xyXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRBbGxDb21tZW50c1BhZ2luYXRlZChcclxuICAgICAgICBmZXRjaFBhZ2U6IChsaW1pdDogbnVtYmVyLCBuZXh0VG9rZW46IHN0cmluZyB8IG51bGwpID0+IFByb21pc2U8YW55PixcclxuICAgICAgICBvd25lcklEOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPENvbW1lbnRbXT4ge1xyXG4gICAgICAgIGlmICghb3duZXJJRCkge1xyXG4gICAgICAgICAgICByZXR1cm4gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGFsbDogQ29tbWVudFtdID0gW107XHJcbiAgICAgICAgbGV0IG5leHRUb2tlbjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IGZldGNoUGFnZSgxMDAwLCBuZXh0VG9rZW4pO1xyXG4gICAgICAgICAgICBpZiAocGFnZT8uaXRlbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGFsbC5wdXNoKC4uLnBhZ2UuaXRlbXMuZmlsdGVyKChpdGVtOiBDb21tZW50IHwgbnVsbCkgPT4gISFpdGVtKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmV4dFRva2VuID0gcGFnZT8ubmV4dFRva2VuID8/IG51bGw7XHJcbiAgICAgICAgfSB3aGlsZSAobmV4dFRva2VuKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGFsbDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1cGRhdGVDb21tZW50KGlucHV0OiBhbnkpOiBQcm9taXNlPENvbW1lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLlVwZGF0ZUNvbW1lbnQoaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVwbG9hZEZpbGVGb3JDb21tZW50KGZpbGU6IEZpbGUsIGlkOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdXBsb2FkRmlsZVRvUzMoXCJjb21tZW50cy9cIiwgZmlsZSwgaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBDcmVhdGUgYSBuZXcgY29tbWVudCB3aXRoIGFuIGV4aXN0aW5nIEFubmV4ZSAqL1xyXG4gICAgYXN5bmMgY3JlYXRlQ29tbWVudFdpdGhGaWxlVVJMKFxyXG4gICAgICAgIGNvbW1lbnQ6IENvbW1lbnQsXHJcbiAgICAgICAgdXJsOiBzdHJpbmcsXHJcbiAgICApOiBQcm9taXNlPENvbW1lbnQ+IHtcclxuICAgICAgICBjb25zdCBuZXdDb21tZW50ID0gY29tbWVudDtcclxuICAgICAgICBuZXdDb21tZW50LmFubmV4ZSA9IHVybDtcclxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVDb21tZW50KG5ld0NvbW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGNyZWF0ZUNvbW1lbnRXaXRoRmlsZShcclxuICAgICAgICBjb21tZW50OiBDb21tZW50LFxyXG4gICAgICAgIGZpbGU6IEZpbGUsXHJcbiAgICApOiBQcm9taXNlPENvbW1lbnQ+IHtcclxuICAgICAgICBsZXQgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLmNyZWF0ZUNvbW1lbnQoY29tbWVudCk7XHJcbiAgICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gYXdhaXQgdGhpcy51cGxvYWRGaWxlRm9yQ29tbWVudChcclxuICAgICAgICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICAgICAgICBjcmVhdGVkQ29tbWVudC5pZCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgY3JlYXRlZENvbW1lbnQgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1lbnQoe1xyXG4gICAgICAgICAgICAgICAgaWQ6IGNyZWF0ZWRDb21tZW50LmlkLFxyXG4gICAgICAgICAgICAgICAgYW5uZXhlOiB1cmwsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3JlYXRlZENvbW1lbnQ7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBhc3luYyBzZXRDb21tZW50QXNDb3ZlckZvckZlYXR1cmUoXHJcbiAgICAgICAgY29tbWVudElEOiBzdHJpbmcsXHJcbiAgICAgICAgZmVhdHVyZTogRmVhdHVyZSxcclxuICAgICk6IFByb21pc2U8Q29tbWVudD4ge1xyXG4gICAgICAgIGNvbnN0IHVwZGF0ZWRDb21tZW50ID0gYXdhaXQgdGhpcy51cGRhdGVDb21tZW50KHtcclxuICAgICAgICAgICAgaWQ6IGNvbW1lbnRJRCxcclxuICAgICAgICAgICAgaXNDb3ZlckltYWdlOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgICBmZWF0dXJlLmNvbW1lbnRzLml0ZW1zLm1hcChhc3luYyAoaW1hZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICBpbWFnZS50eXBlID09PSBDb21tZW50VHlwZS5JTUFHRSAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGltYWdlLmlkICE9PSBjb21tZW50SURcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMudXBkYXRlQ29tbWVudCh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpbWFnZS5pZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaXNDb3ZlckltYWdlOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gdXBkYXRlZENvbW1lbnQ7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
95
95
  type: Inject,
96
96
  args: ['currentAPIService']
97
97
  }] }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9kb21haW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLEdBQUcsQ0FBTSxDQUFDLEtBQUs7SUFFZixZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLG1DQUFtQyxDQUNyQyxjQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxDQUNILEdBQUcsQ0FBQyxjQUFjLEtBQUssY0FBYyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FDL0QsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLGNBQXNCO1FBQy9ELE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBRXBDLEdBQUcsQ0FBQztZQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxD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QUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFDNUQsS0FBSyxDQUNSLENBQUM7UUFDRixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7d0dBaElRLGFBQWEsa0JBR0YsbUJBQW1COzRHQUg5QixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBmaWx0ZXJVbmlxdWVBcnJheUJ5SUQgfSBmcm9tIFwiLi4vLi4vaGVscGVycy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBEb21haW4sIERvbWFpblR5cGUgfSBmcm9tIFwiLi4vLi4vdHlwZXMuc2VydmljZVwiO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxufSlcbmV4cG9ydCBjbGFzcyBEb21haW5TZXJ2aWNlIHtcbiAgICBBUEk6IGFueTsgLy9BV1NcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xuICAgICAgICB0aGlzLkFQSSA9IGFwaUluamVjdGVkO1xuICAgIH1cblxuICAgIGFzeW5jIGdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnYW5pc2F0aW9uKFxuICAgICAgICBvcmdhbmlzYXRpb25JRDogc3RyaW5nLFxuICAgICk6IFByb21pc2U8YW55IHwgdm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkxpc3REb21haW5zKCkudGhlbigoZG9tYWlucykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGRvbWFpbnMuaXRlbXMuZmlsdGVyKChkb20pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICBkb20ub3JnYW5pc2F0aW9uSUQgPT09IG9yZ2FuaXNhdGlvbklEIHx8ICFkb20ub3JnYW5pc2F0aW9uSURcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhbWUgYXMgZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24oKSwgYnV0IGRyYWlucyBldmVyeSBwYWdlIGluc3RlYWQgb2Ygb25seVxuICAgICAqIHRoZSBmaXJzdC4gYExpc3REb21haW5zYCBoYXMgbm8gcGVyLW9yZ2FuaXNhdGlvbiBpbmRleCDigJQgZXZlcnkgY2FsbCBhbHJlYWR5IHNjYW5zIHRoZVxuICAgICAqIFdIT0xFIHRhYmxlIGFjcm9zcyBldmVyeSBvcmdhbmlzYXRpb24gYmVmb3JlIGZpbHRlcmluZyBjbGllbnQtc2lkZSDigJQgc28gYSBjYXRhbG9ndWVcbiAgICAgKiBwYXN0IHRoZSBmaXJzdCBwYWdlIHdhcyBzaWxlbnRseSBpbnZpc2libGUgdG8gY2FsbGVycyB0aGF0IG5lZWQgdGhlIGNvbXBsZXRlIGxpc3RcbiAgICAgKiAoZS5nLiBtYXRjaGluZyBhbiBvcmdhbmlzYXRpb24tc3BlY2lmaWMgZG9tYWluIGJ5IG5hbWUgYWNyb3NzIGEgc3BhY2UtdG8tc3BhY2UgY29weSkuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0QWxsR2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24ob3JnYW5pc2F0aW9uSUQ6IHN0cmluZyk6IFByb21pc2U8RG9tYWluW10+IHtcbiAgICAgICAgY29uc3QgYWxsOiBEb21haW5bXSA9IFtdO1xuICAgICAgICBsZXQgbmV4dFRva2VuOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgICBjb25zdCBwYWdlID0gYXdhaXQgdGhpcy5BUEkuX19wcm90b19fLkxpc3REb21haW5zKHVuZGVmaW5lZCwgMTAwMCwgbmV4dFRva2VuKTtcbiAgICAgICAgICAgIGlmIChwYWdlPy5pdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGFsbC5wdXNoKC4uLnBhZ2UuaXRlbXMuZmlsdGVyKChkb206IERvbWFpbiB8IG51bGwpID0+ICEhZG9tKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0VG9rZW4gPSBwYWdlPy5uZXh0VG9rZW4gPz8gbnVsbDtcbiAgICAgICAgfSB3aGlsZSAobmV4dFRva2VuKTtcblxuICAgICAgICByZXR1cm4gYWxsLmZpbHRlcihkb20gPT4gZG9tLm9yZ2FuaXNhdGlvbklEID09PSBvcmdhbmlzYXRpb25JRCB8fCAhZG9tLm9yZ2FuaXNhdGlvbklEKTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRHZW5lcmljRG9tYWluc0FuZEZvck9yZ0FuZE9yZGVyZWRPcmcoXG4gICAgICAgIG9yZ0lEOiBzdHJpbmcsXG4gICAgICAgIG9yZGVyZWRPcmdJRDogc3RyaW5nID0gbnVsbCxcbiAgICApOiBQcm9taXNlPERvbWFpbltdPiB7XG4gICAgICAgIC8vIFRPRE86IENoYW5nZSB0aGlzIChVVUlEIGNhbiBjaGFuZ2UgZGVwZW5kaW5nIG9uIERCKVxuICAgICAgICBpZiAob3JnSUQgPT09IFwiNmUyODIwMWYtNDY3OS00YzI5LTlkMmQtOGEzMjVmNTdjZWU5XCIpIHtcbiAgICAgICAgICAgIC8vIEkgYW0gU21hcnRlclBsYW4sIGkgY2FuIHNlZSBhbGxcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdERvbWFpbnMoKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGN1cnJlbnRPcmdEb21haW5zID1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24ob3JnSUQpO1xuICAgICAgICBpZiAoIW9yZGVyZWRPcmdJRCB8fCBvcmdJRCA9PT0gb3JkZXJlZE9yZ0lEKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudE9yZ0RvbWFpbnM7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgb3JkZXJlZE9yZ0RvbWFpbnMgPVxuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRHZW5lcmljRG9tYWluc0FuZEZvck9yZ2FuaXNhdGlvbihvcmRlcmVkT3JnSUQpO1xuICAgICAgICBjb25zdCBtZXJnZWQgPSBbLi4uY3VycmVudE9yZ0RvbWFpbnMsIC4uLm9yZGVyZWRPcmdEb21haW5zXTtcbiAgICAgICAgcmV0dXJuIGZpbHRlclVuaXF1ZUFycmF5QnlJRChtZXJnZWQpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldERvbWFpbnNGb3JPcmdFeGNsdWRpbmdUeXBlcyhcbiAgICAgICAgdHlwZXM6IERvbWFpblR5cGVbXSxcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPERvbWFpbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnYW5pc2F0aW9uKG9yZ2FuaXNhdGlvbklEKS50aGVuKFxuICAgICAgICAgICAgKGRvbWFpbnMpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZG9tYWlucy5maWx0ZXIoKGRvbSkgPT4gIXR5cGVzLmluY2x1ZGVzKGRvbS50eXBlKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGdldERvbWFpbihpZDogc3RyaW5nKTogUHJvbWlzZTxEb21haW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5HZXREb21haW4oaWQpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwZGF0ZURvbWFpbihpbnB1dDogYW55KTogUHJvbWlzZTxEb21haW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5VcGRhdGVEb21haW4oaW5wdXQpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlbGV0ZURvbWFpbihpZDogc3RyaW5nKTogUHJvbWlzZTxEb21haW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVEb21haW4oeyBpZCB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBnZXRSb290RG9tYWlucyhvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxEb21haW5bXT4ge1xuICAgICAgICBjb25zdCBhbGxEb21haW5zID0gYXdhaXQgdGhpcy5nZXRHZW5lcmljRG9tYWluc0FuZEZvck9yZ2FuaXNhdGlvbihcbiAgICAgICAgICAgIG9yZ0lELFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByb290ID0gYWxsRG9tYWlucy5maWx0ZXIoKGRvbSkgPT4gIWRvbS5wYXJlbnRJRCk7XG4gICAgICAgIHJldHVybiByb290LnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGNyZWF0ZURvbWFpbihpbnB1dDogRG9tYWluKTogUHJvbWlzZTxEb21haW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVEb21haW4oaW5wdXQpO1xuICAgIH1cblxuICAgIGFzeW5jIGdldERvbWFpbnNGb3JPcmdGb3JUeXBlKFxuICAgICAgICB0eXBlOiBEb21haW5UeXBlLFxuICAgICAgICBvcmdhbmlzYXRpb25JRDogc3RyaW5nLFxuICAgICAgICBvcmRlcmVkT3JnOiBzdHJpbmcgPSBudWxsLFxuICAgICk6IFByb21pc2U8RG9tYWluW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdBbmRPcmRlcmVkT3JnKFxuICAgICAgICAgICAgb3JnYW5pc2F0aW9uSUQsXG4gICAgICAgICAgICBvcmRlcmVkT3JnLFxuICAgICAgICApLnRoZW4oKGRvbWFpbnMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBkb21haW5zLmZpbHRlcigoZG9tKSA9PiBkb20udHlwZSA9PT0gdHlwZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGdldFBhcmVudERvbWFpbnNGb3JPcmdBbmRPcmRlcmVkT3JnRm9yVHlwZShcbiAgICAgICAgdHlwZTogRG9tYWluVHlwZSxcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcbiAgICAgICAgb3JkZXJlZE9yZzogc3RyaW5nID0gbnVsbCxcbiAgICApOiBQcm9taXNlPERvbWFpbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnQW5kT3JkZXJlZE9yZyhcbiAgICAgICAgICAgIG9yZ2FuaXNhdGlvbklELFxuICAgICAgICAgICAgb3JkZXJlZE9yZyxcbiAgICAgICAgKS50aGVuKChkb21haW5zKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZG9tYWlucy5maWx0ZXIoKGRvbSkgPT4gZG9tLnR5cGUgPT09IHR5cGUgJiYgIWRvbS5wYXJlbnRJRCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFzeW5jIGdldERvbWFpbnNGb3JNaXNzaW9uc0Zvck9yZyhvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxEb21haW5bXT4ge1xuICAgICAgICBjb25zdCBkb21haW5zID0gYXdhaXQgdGhpcy5nZXREb21haW5zRm9yT3JnRXhjbHVkaW5nVHlwZXMoXG4gICAgICAgICAgICBbRG9tYWluVHlwZS5CT09LSU5HLCBEb21haW5UeXBlLkZFQVRVUkUsIERvbWFpblR5cGUuTUlTU0lPTl0sXG4gICAgICAgICAgICBvcmdJRCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGRvbWFpbnMuZmlsdGVyKChkb20pID0+ICFkb20ucGFyZW50SUQpO1xuICAgIH1cbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tY29yZS9zcmMvbGliL3NlcnZpY2VzL21vZGVscy9kb21haW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLEdBQUcsQ0FBTSxDQUFDLEtBQUs7SUFFZixZQUF5QyxXQUFnQjtRQUNyRCxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLG1DQUFtQyxDQUNyQyxjQUFzQjtRQUV0QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEMsT0FBTyxDQUNILEdBQUcsQ0FBQyxjQUFjLEtBQUssY0FBYyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FDL0QsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLGNBQXNCO1FBQy9ELE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLFNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBRXBDLEdBQUcsQ0FBQztZQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxD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QUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFDNUQsS0FBSyxDQUNSLENBQUM7UUFDRixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7d0dBaElRLGFBQWEsa0JBR0YsbUJBQW1COzRHQUg5QixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZpbHRlclVuaXF1ZUFycmF5QnlJRCB9IGZyb20gXCIuLi8uLi9oZWxwZXJzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRG9tYWluLCBEb21haW5UeXBlIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnNlcnZpY2VcIjtcclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb21haW5TZXJ2aWNlIHtcclxuICAgIEFQSTogYW55OyAvL0FXU1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoJ2N1cnJlbnRBUElTZXJ2aWNlJykgYXBpSW5qZWN0ZWQ6IGFueSkge1xyXG4gICAgICAgIHRoaXMuQVBJID0gYXBpSW5qZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24oXHJcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8YW55IHwgdm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdERvbWFpbnMoKS50aGVuKChkb21haW5zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBkb21haW5zLml0ZW1zLmZpbHRlcigoZG9tKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgIGRvbS5vcmdhbmlzYXRpb25JRCA9PT0gb3JnYW5pc2F0aW9uSUQgfHwgIWRvbS5vcmdhbmlzYXRpb25JRFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTYW1lIGFzIGdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnYW5pc2F0aW9uKCksIGJ1dCBkcmFpbnMgZXZlcnkgcGFnZSBpbnN0ZWFkIG9mIG9ubHlcclxuICAgICAqIHRoZSBmaXJzdC4gYExpc3REb21haW5zYCBoYXMgbm8gcGVyLW9yZ2FuaXNhdGlvbiBpbmRleCDigJQgZXZlcnkgY2FsbCBhbHJlYWR5IHNjYW5zIHRoZVxyXG4gICAgICogV0hPTEUgdGFibGUgYWNyb3NzIGV2ZXJ5IG9yZ2FuaXNhdGlvbiBiZWZvcmUgZmlsdGVyaW5nIGNsaWVudC1zaWRlIOKAlCBzbyBhIGNhdGFsb2d1ZVxyXG4gICAgICogcGFzdCB0aGUgZmlyc3QgcGFnZSB3YXMgc2lsZW50bHkgaW52aXNpYmxlIHRvIGNhbGxlcnMgdGhhdCBuZWVkIHRoZSBjb21wbGV0ZSBsaXN0XHJcbiAgICAgKiAoZS5nLiBtYXRjaGluZyBhbiBvcmdhbmlzYXRpb24tc3BlY2lmaWMgZG9tYWluIGJ5IG5hbWUgYWNyb3NzIGEgc3BhY2UtdG8tc3BhY2UgY29weSkuXHJcbiAgICAgKi9cclxuICAgIGFzeW5jIGdldEFsbEdlbmVyaWNEb21haW5zQW5kRm9yT3JnYW5pc2F0aW9uKG9yZ2FuaXNhdGlvbklEOiBzdHJpbmcpOiBQcm9taXNlPERvbWFpbltdPiB7XHJcbiAgICAgICAgY29uc3QgYWxsOiBEb21haW5bXSA9IFtdO1xyXG4gICAgICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgICAgICBkbyB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhZ2UgPSBhd2FpdCB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdERvbWFpbnModW5kZWZpbmVkLCAxMDAwLCBuZXh0VG9rZW4pO1xyXG4gICAgICAgICAgICBpZiAocGFnZT8uaXRlbXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGFsbC5wdXNoKC4uLnBhZ2UuaXRlbXMuZmlsdGVyKChkb206IERvbWFpbiB8IG51bGwpID0+ICEhZG9tKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbmV4dFRva2VuID0gcGFnZT8ubmV4dFRva2VuID8/IG51bGw7XHJcbiAgICAgICAgfSB3aGlsZSAobmV4dFRva2VuKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGFsbC5maWx0ZXIoZG9tID0+IGRvbS5vcmdhbmlzYXRpb25JRCA9PT0gb3JnYW5pc2F0aW9uSUQgfHwgIWRvbS5vcmdhbmlzYXRpb25JRCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdBbmRPcmRlcmVkT3JnKFxyXG4gICAgICAgIG9yZ0lEOiBzdHJpbmcsXHJcbiAgICAgICAgb3JkZXJlZE9yZ0lEOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgKTogUHJvbWlzZTxEb21haW5bXT4ge1xyXG4gICAgICAgIC8vIFRPRE86IENoYW5nZSB0aGlzIChVVUlEIGNhbiBjaGFuZ2UgZGVwZW5kaW5nIG9uIERCKVxyXG4gICAgICAgIGlmIChvcmdJRCA9PT0gXCI2ZTI4MjAxZi00Njc5LTRjMjktOWQyZC04YTMyNWY1N2NlZTlcIikge1xyXG4gICAgICAgICAgICAvLyBJIGFtIFNtYXJ0ZXJQbGFuLCBpIGNhbiBzZWUgYWxsXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uTGlzdERvbWFpbnMoKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBjdXJyZW50T3JnRG9tYWlucyA9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24ob3JnSUQpO1xyXG4gICAgICAgIGlmICghb3JkZXJlZE9yZ0lEIHx8IG9yZ0lEID09PSBvcmRlcmVkT3JnSUQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRPcmdEb21haW5zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBvcmRlcmVkT3JnRG9tYWlucyA9XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0R2VuZXJpY0RvbWFpbnNBbmRGb3JPcmdhbmlzYXRpb24ob3JkZXJlZE9yZ0lEKTtcclxuICAgICAgICBjb25zdCBtZXJnZWQgPSBbLi4uY3VycmVudE9yZ0RvbWFpbnMsIC4uLm9yZGVyZWRPcmdEb21haW5zXTtcclxuICAgICAgICByZXR1cm4gZmlsdGVyVW5pcXVlQXJyYXlCeUlEKG1lcmdlZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0RG9tYWluc0Zvck9yZ0V4Y2x1ZGluZ1R5cGVzKFxyXG4gICAgICAgIHR5cGVzOiBEb21haW5UeXBlW10sXHJcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcclxuICAgICk6IFByb21pc2U8RG9tYWluW10+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRHZW5lcmljRG9tYWluc0FuZEZvck9yZ2FuaXNhdGlvbihvcmdhbmlzYXRpb25JRCkudGhlbihcclxuICAgICAgICAgICAgKGRvbWFpbnMpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkb21haW5zLmZpbHRlcigoZG9tKSA9PiAhdHlwZXMuaW5jbHVkZXMoZG9tLnR5cGUpKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldERvbWFpbihpZDogc3RyaW5nKTogUHJvbWlzZTxEb21haW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BUEkuX19wcm90b19fLkdldERvbWFpbihpZCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdXBkYXRlRG9tYWluKGlucHV0OiBhbnkpOiBQcm9taXNlPERvbWFpbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFQSS5fX3Byb3RvX18uVXBkYXRlRG9tYWluKGlucHV0KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVEb21haW4oaWQ6IHN0cmluZyk6IFByb21pc2U8RG9tYWluPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5EZWxldGVEb21haW4oeyBpZCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRSb290RG9tYWlucyhvcmdJRDogc3RyaW5nKTogUHJvbWlzZTxEb21haW5bXT4ge1xyXG4gICAgICAgIGNvbnN0IGFsbERvbWFpbnMgPSBhd2FpdCB0aGlzLmdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnYW5pc2F0aW9uKFxyXG4gICAgICAgICAgICBvcmdJRCxcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSBhbGxEb21haW5zLmZpbHRlcigoZG9tKSA9PiAhZG9tLnBhcmVudElEKTtcclxuICAgICAgICByZXR1cm4gcm9vdC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBjcmVhdGVEb21haW4oaW5wdXQ6IERvbWFpbik6IFByb21pc2U8RG9tYWluPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuQVBJLl9fcHJvdG9fXy5DcmVhdGVEb21haW4oaW5wdXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGdldERvbWFpbnNGb3JPcmdGb3JUeXBlKFxyXG4gICAgICAgIHR5cGU6IERvbWFpblR5cGUsXHJcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcclxuICAgICAgICBvcmRlcmVkT3JnOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgKTogUHJvbWlzZTxEb21haW5bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnQW5kT3JkZXJlZE9yZyhcclxuICAgICAgICAgICAgb3JnYW5pc2F0aW9uSUQsXHJcbiAgICAgICAgICAgIG9yZGVyZWRPcmcsXHJcbiAgICAgICAgKS50aGVuKChkb21haW5zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBkb21haW5zLmZpbHRlcigoZG9tKSA9PiBkb20udHlwZSA9PT0gdHlwZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0UGFyZW50RG9tYWluc0Zvck9yZ0FuZE9yZGVyZWRPcmdGb3JUeXBlKFxyXG4gICAgICAgIHR5cGU6IERvbWFpblR5cGUsXHJcbiAgICAgICAgb3JnYW5pc2F0aW9uSUQ6IHN0cmluZyxcclxuICAgICAgICBvcmRlcmVkT3JnOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgKTogUHJvbWlzZTxEb21haW5bXT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEdlbmVyaWNEb21haW5zQW5kRm9yT3JnQW5kT3JkZXJlZE9yZyhcclxuICAgICAgICAgICAgb3JnYW5pc2F0aW9uSUQsXHJcbiAgICAgICAgICAgIG9yZGVyZWRPcmcsXHJcbiAgICAgICAgKS50aGVuKChkb21haW5zKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBkb21haW5zLmZpbHRlcigoZG9tKSA9PiBkb20udHlwZSA9PT0gdHlwZSAmJiAhZG9tLnBhcmVudElEKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXREb21haW5zRm9yTWlzc2lvbnNGb3JPcmcob3JnSUQ6IHN0cmluZyk6IFByb21pc2U8RG9tYWluW10+IHtcclxuICAgICAgICBjb25zdCBkb21haW5zID0gYXdhaXQgdGhpcy5nZXREb21haW5zRm9yT3JnRXhjbHVkaW5nVHlwZXMoXHJcbiAgICAgICAgICAgIFtEb21haW5UeXBlLkJPT0tJTkcsIERvbWFpblR5cGUuRkVBVFVSRSwgRG9tYWluVHlwZS5NSVNTSU9OXSxcclxuICAgICAgICAgICAgb3JnSUQsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZG9tYWlucy5maWx0ZXIoKGRvbSkgPT4gIWRvbS5wYXJlbnRJRCk7XHJcbiAgICB9XHJcbn1cclxuIl19