@vendasta/meetings 0.90.0 → 0.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/esm2020/lib/_internal/enums/index.mjs +1 -1
  2. package/esm2020/lib/_internal/google-meet.api.service.mjs +7 -8
  3. package/esm2020/lib/_internal/interfaces/groups-and-services.interface.mjs +1 -1
  4. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  5. package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +1 -1
  6. package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +1 -1
  7. package/esm2020/lib/_internal/interfaces/meeting-type.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/interfaces/shared.interface.mjs +1 -1
  9. package/esm2020/lib/_internal/meeting-guest.api.service.mjs +13 -9
  10. package/esm2020/lib/_internal/meeting-host.api.service.mjs +7 -8
  11. package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +7 -8
  12. package/esm2020/lib/_internal/objects/groups-and-services.mjs +10 -1
  13. package/esm2020/lib/_internal/objects/index.mjs +5 -5
  14. package/esm2020/lib/_internal/objects/meeting-guest.mjs +49 -2
  15. package/esm2020/lib/_internal/objects/meeting-host.mjs +2 -2
  16. package/esm2020/lib/_internal/objects/meeting-type.mjs +4 -1
  17. package/esm2020/lib/_internal/objects/shared.mjs +2 -3
  18. package/esm2020/lib/_internal/zoom.api.service.mjs +7 -8
  19. package/esm2020/lib/guest/guest.service.mjs +4 -1
  20. package/esm2020/lib/host/host.service.mjs +3 -3
  21. package/esm2020/lib/host/url.mjs +8 -2
  22. package/esm2020/lib/shared/groups-and-services.mjs +6 -6
  23. package/esm2020/lib/shared/meeting-type.mjs +4 -2
  24. package/fesm2015/vendasta-meetings.mjs +366 -293
  25. package/fesm2015/vendasta-meetings.mjs.map +1 -1
  26. package/fesm2020/vendasta-meetings.mjs +366 -293
  27. package/fesm2020/vendasta-meetings.mjs.map +1 -1
  28. package/lib/_internal/google-meet.api.service.d.ts +2 -5
  29. package/lib/_internal/interfaces/groups-and-services.interface.d.ts +3 -0
  30. package/lib/_internal/interfaces/index.d.ts +4 -4
  31. package/lib/_internal/interfaces/meeting-guest.interface.d.ts +9 -1
  32. package/lib/_internal/interfaces/meeting-host.interface.d.ts +1 -1
  33. package/lib/_internal/interfaces/meeting-type.interface.d.ts +1 -0
  34. package/lib/_internal/interfaces/shared.interface.d.ts +1 -2
  35. package/lib/_internal/meeting-guest.api.service.d.ts +6 -7
  36. package/lib/_internal/meeting-host.api.service.d.ts +3 -5
  37. package/lib/_internal/meeting-source-api.api.service.d.ts +2 -5
  38. package/lib/_internal/objects/groups-and-services.d.ts +3 -0
  39. package/lib/_internal/objects/index.d.ts +4 -4
  40. package/lib/_internal/objects/meeting-guest.d.ts +15 -1
  41. package/lib/_internal/objects/meeting-host.d.ts +1 -1
  42. package/lib/_internal/objects/meeting-type.d.ts +1 -0
  43. package/lib/_internal/objects/shared.d.ts +1 -2
  44. package/lib/_internal/zoom.api.service.d.ts +2 -5
  45. package/lib/guest/guest.service.d.ts +5 -1
  46. package/lib/shared/groups-and-services.d.ts +1 -1
  47. package/lib/shared/meeting-type.d.ts +1 -0
  48. package/package.json +1 -1
@@ -337,7 +337,7 @@ export class HostService {
337
337
  }).pipe(mapTo(undefined));
338
338
  }
339
339
  deleteService(req) {
340
- return this.hostAPIService.deleteService({ id: req.id }).pipe(mapTo(undefined));
340
+ return this.hostAPIService.deleteService({ id: req.id, hostId: req.hostId }).pipe(mapTo(undefined));
341
341
  }
342
342
  listServices(req) {
343
343
  return this.hostAPIService.listServices({ hostId: req.hostId }).pipe(map(res => {
@@ -371,7 +371,7 @@ export class HostService {
371
371
  }).pipe(mapTo(undefined));
372
372
  }
373
373
  deleteGroup(req) {
374
- return this.hostAPIService.deleteGroup({ id: req.id }).pipe(mapTo(undefined));
374
+ return this.hostAPIService.deleteGroup({ id: req.id, hostId: req.hostId }).pipe(mapTo(undefined));
375
375
  }
376
376
  listGroups(req) {
377
377
  return this.hostAPIService.listGroups({ hostId: req.hostId }).pipe(map(res => {
@@ -388,4 +388,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
388
388
  type: Injectable,
389
389
  args: [{ providedIn: 'root' }]
390
390
  }], ctorParameters: function () { return [{ type: i1.MeetingHostApiService }]; } });
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvaG9zdC9ob3N0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQVNILGdDQUFnQyxFQUdoQyxxQkFBcUIsRUFDckIsbUJBQW1CLEVBRW5CLFNBQVMsRUFFVCxRQUFRLEVBR1gsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUlILGVBQWUsRUFDZixZQUFZLEVBQVMsWUFBWSxFQUFFLGNBQWMsRUFHakQsY0FBYyxFQUdkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUViLGtCQUFrQixFQUFXLGNBQWMsRUFBRSxnQkFBZ0IsRUFDaEUsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLDJCQUEyQixFQUFFLGtDQUFrQyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBQ3RGLE9BQU8sRUFBVyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUt0RSxNQUFNLE9BQU8sV0FBVztJQUNwQixZQUNZLGNBQXFDO1FBQXJDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtJQUVqRCxDQUFDO0lBRUQsa0hBQWtIO0lBQ2xILFdBQVcsQ0FBQyxHQUFzRjtRQUM5RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtZQUNsQix3RkFBd0Y7WUFDeEYsNEJBQTRCLEVBQUUsR0FBRyxD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TSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUMzSSxDQUFDLENBQUMsQ0FDTCxDQUFBO0lBQ0wsQ0FBQzs7d0dBbmZRLFdBQVc7NEdBQVgsV0FBVyxjQURDLE1BQU07MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgbWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgRGF5T2ZXZWVrLFxuICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2UsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSwgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlLCBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UsXG4gICAgTWVldGluZ0hvc3RBcGlTZXJ2aWNlLFxuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSwgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFRpbWVSYW5nZSxcbiAgICBUaW1lUmFuZ2VJbnRlcmZhY2UsXG4gICAgVGltZVpvbmUsXG4gICAgVGltZVpvbmVJbnRlcmZhY2UsXG4gICAgV2Vla2RheUF2YWlsYWJpbGl0eVxufSBmcm9tICcuLi9faW50ZXJuYWwnO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0LFxuICAgIEF2YWlsYWJpbGl0eVJ1bGUsXG4gICAgQ2FsZW5kYXIsXG4gICAgQ2FsZW5kYXJGcm9tQXBpLFxuICAgIGdldEZpZWxkTWFzaywgR3JvdXAsIEdyb3VwRnJvbUFwaSwgR3JvdXBUeXBlVG9BUGksXG4gICAgSG9zdFVybE1hcCxcbiAgICBNZWV0aW5nLFxuICAgIG1lZXRpbmdGcm9tQXBpLFxuICAgIE1lZXRpbmdNZXRhZGF0YSxcbiAgICBNZWV0aW5nVHlwZSxcbiAgICBNZWV0aW5nVHlwZUZyb21BcGksXG4gICAgTWVldGluZ1R5cGVUb0FwaSxcbiAgICBQYWdlZFJlc3BvbnNlLFxuICAgIFByZWZlcmVuY2VzLFxuICAgIFByZWZlcmVuY2VzRnJvbUFwaSwgU2VydmljZSwgU2VydmljZUZyb21BcGksIFNlcnZpY2VUeXBlVG9BcGlcbn0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7Z2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uLCBnZXRHZW5lcmFsQm9va2luZ1VybEltcGxlbWVudGF0aW9ufSBmcm9tICcuL3VybCc7XG5pbXBvcnQge0hvc3RVc2VyLCBob3N0VXNlckZyb21BcGl9IGZyb20gJy4uL3NoYXJlZC9ob3N0LXVzZXInXG5pbXBvcnQge0Vudmlyb25tZW50LCBvblByb2R1Y3Rpb25HbG9iYWx9IGZyb20gXCIuLi9zaGFyZWQvZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IEh0dHBSZXNwb25zZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSG9zdFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3RBUElTZXJ2aWNlOiBNZWV0aW5nSG9zdEFwaVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ1aWxkSG9zdElkIHRvIGdldCBhbiBpZGVudGlmaWVyIHRoYXQgY2FuIGJlIHVzZWQgaW4gc3Vic2VxdWVudCByZXF1ZXN0cy4gU2VlIHZlbmRhc3RhYXBpcyBmb3IgbW9yZSBkZXRhaWxzXG4gICAgYnVpbGRIb3N0SWQocmVxOiB7IHVzZXJJZDogc3RyaW5nLCBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0IH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5idWlsZEhvc3RJZCh7XG4gICAgICAgICAgICAgICAgdXNlcklkOiByZXEudXNlcklkLFxuICAgICAgICAgICAgICAgIC8vIEdyb3NzIHR5cGVjYXN0IGV4aXN0cyBiZWNhdXNlIEkgd2FudCB0byByZXN0cmljdCB0aGUgcHJvcGVydGllcyBvbiB0aGUgbWFwIChmb3Igbm93KS5cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiByZXEuYXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllcyBhcyBhbnkgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgICAgICAgfVxuICAgICAgICApLnBpcGUobWFwKHJlcyA9PiByZXMuaG9zdElkIHx8ICcnKSk7XG4gICAgfVxuXG4gICAgZG9lc0NhbGVuZGFyRXhpc3QoY2FsZW5kYXJJZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZG9lc0NhbGVuZGFyRXhpc3Qoe2NhbGVuZGFySWRlbnRpZmllcjogY2FsZW5kYXJJZGVudGlmaWVyfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwID0+IHJlc3AuZXhpc3RzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldENhbGVuZGFyKHJlcTogeyBjYWxlbmRhcklkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8Q2FsZW5kYXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0Q2FsZW5kYXIoe2NhbGVuZGFySWQ6IHJlcS5jYWxlbmRhcklkfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gQ2FsZW5kYXJGcm9tQXBpKHJlcz8uY2FsZW5kYXIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHMocmVxOiB7XG4gICAgICAgIHVzZXJJZDogc3RyaW5nLFxuICAgICAgICBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0XG4gICAgfSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHMoe1xuICAgICAgICAgICAgdXNlcklkOiByZXEudXNlcklkLFxuICAgICAgICAgICAgYXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllczogcmVxLmFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXMgYXMgYW55IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIH0pLnBpcGUobWFwKHJlcyA9PiByZXMgPyByZXMuY2FsZW5kYXJJZCA6ICcnKSk7XG4gICAgfVxuXG4gICAgZW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdChyZXE6IHsgZXh0ZXJuYWxJZHM6IHN0cmluZ1tdIH0pOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3Qoe2V4dGVybmFsSWRzOiByZXEuZXh0ZXJuYWxJZHN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiByZXM/LmNhbGVuZGFySWRzIHx8IFtdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qXG4gICAgIGNyZWF0ZUNhbGVuZGFyIGNyZWF0ZXMgYSBjYWxlbmRhciB3aGljaCBtZWV0aW5nIHR5cGVzIGNhbiBiZSBjcmVhdGVkIGZvciBhbmQgZXZlbnRzIGNhbiBiZSBib29rZWQgb25cbiAgICAgVGhlIGZpZWxkcyBvZiBhIGNhbGVuZGFyIGFyZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS92ZW5kYXN0YS92ZW5kYXN0YWFwaXMvYmxvYi9tYXN0ZXIvbWVldGluZ3MvdjEvc2hhcmVkLnByb3RvXG4gICAgKi9cbiAgICBjcmVhdGVDYWxlbmRhcihyZXE6IENyZWF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVDYWxlbmRhcihyZXEpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNhbGVuZGFyU2x1ZyhjYWxlbmRhcklkOiBzdHJpbmcsIG5ld1NsdWc6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVDYWxlbmRhcih7XG4gICAgICAgICAgICBjYWxlbmRhcklkOiBjYWxlbmRhcklkLFxuICAgICAgICAgICAgY2FsZW5kYXJVcGRhdGU6IHtzbHVnOiBuZXdTbHVnfSxcbiAgICAgICAgICAgIGZpZWxkTWFzazoge3BhdGhzOiBbJ3NsdWcnXX0sXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2FsZW5kYXJIb3N0VXNlcklEcyhjYWxlbmRhcklkOiBzdHJpbmcsIHJlcGxhY2VtZW50SG9zdFVzZXJJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnVwZGF0ZUNhbGVuZGFyKHtcbiAgICAgICAgICAgIGNhbGVuZGFySWQ6IGNhbGVuZGFySWQsXG4gICAgICAgICAgICBjYWxlbmRhclVwZGF0ZToge2hvc3RVc2VySWRzOiByZXBsYWNlbWVudEhvc3RVc2VySWRzfSxcbiAgICAgICAgICAgIGZpZWxkTWFzazoge3BhdGhzOiBbJ2hvc3RfdXNlcl9pZHMnXX0sXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZ2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzKHJlcToge1xuICAgICAgICBjYWxlbmRhcklkczogc3RyaW5nW10sXG4gICAgICAgIG1ldGFkYXRhOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfVxuICAgIH0pOiBPYnNlcnZhYmxlPHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IE1lZXRpbmdUeXBlW10gfT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5nZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnMoe2NhbGVuZGFySWRzOiByZXEuY2FsZW5kYXJJZHN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXM/LmNhbGVuZGFyTWVldGluZ1R5cGVzTWFwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHJlcy5jYWxlbmRhck1lZXRpbmdUeXBlc01hcCkucmVkdWNlKChjYWxlbmRhclRvTWVldGluZ1R5cGVNYXAsIGNhbGVuZGFySWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVldGluZ1R5cGVzID0gKHJlcy5jYWxlbmRhck1lZXRpbmdUeXBlc01hcFtjYWxlbmRhcklkXT8ubWVldGluZ1R5cGVzIHx8IFtdKS5tYXAobXQgPT4gTWVldGluZ1R5cGVGcm9tQXBpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZXRpbmdUeXBlQXBpOiBtdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBvblByb2R1Y3Rpb25HbG9iYWwoKSA/IEVudmlyb25tZW50LlBST0QgOiBFbnZpcm9ubWVudC5ERU1PLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNhbGVuZGFyVG9NZWV0aW5nVHlwZU1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcklkXTogbWVldGluZ1R5cGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sIHt9IGFzIHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IE1lZXRpbmdUeXBlW10gfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAvKlxuICAgICBsaXN0TWVldGluZ1R5cGVzIHJldHVybnMgYSBsaXN0IG9mIG1lZXRpbmcgdHlwZXMgZm9yIGEgaG9zdFxuICAgICBAcGFyYW0gaG9zdElkOiBBbiBpZGVudGlmaWVyIGZvciBhbiBpbmRpdmlkdWFsIGhvc3RcbiAgICAgQHBhcmFtIG1ldGFkYXRhOiBvcHRpb25hbCBtZXRhZGF0YSB0byBpbmNsdWRlIG9uIHRoZSBtZWV0aW5nIHR5cGUgYm9va2luZyBsaW5rXG4gICAgIEBwYXJhbSBjYWxlbmRhclNsdWc6IHVzZWQgdG8gcmVwbGFjZSBob3N0SWQgaW4gdGhlIHVybC4gVXNlIGl0IHdoZW4geW91IGFyZSBjb25maWRlbnQgeW91IGtub3cgdGhlIGhvc3QncyBzbHVnLlxuICAgICAgICAtIGNhbGVuZGFyU2x1ZyBJUyBOT1QgVVNFRCBUTyBSRVRSSUVWRSBNRUVUSU5HIFRZUEVTLCBPTkxZIFRPIE1BS0UgVEhFIEJPT0tJTkcgVVJMU1xuICAgICovXG4gICAgbGlzdE1lZXRpbmdUeXBlcyhyZXE6IHtcbiAgICAgICAgaG9zdElkOiBzdHJpbmcsXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgY2FsZW5kYXJTbHVnPzogc3RyaW5nLFxuICAgIH0pOiBPYnNlcnZhYmxlPE1lZXRpbmdUeXBlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdE1lZXRpbmdUeXBlcyhyZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXNwIHx8ICFyZXNwLm1lZXRpbmdUeXBlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwLm1lZXRpbmdUeXBlcy5tYXAobXQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWVldGluZ1R5cGVGcm9tQXBpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZXRpbmdUeXBlQXBpOiBtdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFySWQ6IHJlcS5ob3N0SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNTyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEJvb2tpbmdVcmwgcmV0dXJucyBhIGxpbmsgdGhhdCBjYW4gYmUgdXNlZCB0byBib29rIGEgbWVldGluZyB3aXRoIHRoaXMgaG9zdC5cbiAgICAgQHBhcmFtIGNhbGVuZGFySWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdCBvciBncm91cGluZyBvZiBob3N0cyAoaS5lLiwgdGVhbSkuXG4gICAgIEBwYXJhbSBAZGVwcmVjYXRlZCBob3N0SWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdC5cbiAgICAgQHBhcmFtIG1lZXRpbmdUeXBlSWQ6IEFuIG9wdGlvbmFsIGlkZW50aWZpZXIgZm9yIHRoZSBtZWV0aW5nIHR5cGUuIERlZmF1bHQ6IDMwLW1pbnV0ZXMuXG4gICAgIEBwYXJhbSBtZXRhZGF0YTogb3B0aW9uYWwgbWV0YWRhdGEgdG8gaW5jbHVkZSBpbiB0aGUgdXJsLlxuICAgICAtIG1ldGFkYXRhIGNhbiBiZSB1c2VkIHRvIHByZS1maWxsIGNlcnRhaW4gZm9ybSBmaWVsZHMgYW5kIHdpbGwgYmUgc3RvcmVkIGR1cmluZyB0aGUgYm9va2luZyBwcm9jZXNzLlxuICAgICAtIG1ldGFkYXRhIGNhbiBiZSBvYnRhaW5lZCBieSBzdWJzY3JpYmluZyB0byB0aGUgYm9va2luZyBldmVudC5cbiAgICBAcGFyYW0gY2FsZW5kYXJTbHVnOiB1c2VkIHRvIHJlcGxhY2UgaG9zdElkIGluIHRoZSB1cmwuIFVzZSBpdCB3aGVuIHlvdSBhcmUgY29uZmlkZW50IHlvdSBrbm93IHRoZSBob3N0J3Mgc2x1Zy5cbiAgICAgKi9cbiAgICBnZXRCb29raW5nVXJsKFxuICAgICAgICByZXE6IHtcbiAgICAgICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2UgY2FsZW5kYXJJZCBpbnN0ZWFkLiBjYWxlbmRhcklkIG5vdCByZXF1aXJlZCB0byBhdm9pZCBicmVha2luZyBleGlzdGluZyBjbGllbnRzLlxuICAgICAgICAgICAgaG9zdElkOiBzdHJpbmcsXG4gICAgICAgICAgICBjYWxlbmRhcklkPzogc3RyaW5nLFxuICAgICAgICAgICAgLy8gQGRlcHJlY2F0ZWQ6IHVzZSBtZWV0aW5nVHlwZVNsdWcgaW5zdGVhZFxuICAgICAgICAgICAgbWVldGluZ1R5cGVJZD86IHN0cmluZyxcbiAgICAgICAgICAgIG1lZXRpbmdUeXBlU2x1Zz86IHN0cmluZyxcbiAgICAgICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgICAgICBjYWxlbmRhclNsdWc/OiBzdHJpbmcsXG4gICAgICAgIH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gb2YoZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKHtcbiAgICAgICAgICAgICAgICAuLi5yZXEsXG4gICAgICAgICAgICAgICAgY2FsZW5kYXJJZDogcmVxLmNhbGVuZGFySWQgfHwgcmVxLmhvc3RJZCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNTyxcbiAgICAgICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEdlbmVyYWxCb29raW5nVXJsIHJldHVybnMgYSBsaW5rIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgbWVldGluZyB0eXBlIHRvIGJvb2sgd2l0aCB0aGUgZ2l2ZW4gY2FsZW5kYXIuXG4gICAgIEBwYXJhbSBjYWxlbmRhcklkOiBBbiBpZGVudGlmaWVyIGZvciBhbiBpbmRpdmlkdWFsIGhvc3Qgb3IgZ3JvdXBpbmcgb2YgaG9zdHMgKGkuZS4sIHRlYW0pLlxuICAgICBAcGFyYW0gbWV0YWRhdGE6IG9wdGlvbmFsIG1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIHVybC5cbiAgICAgLSBtZXRhZGF0YSBjYW4gYmUgdXNlZCB0byBwcmUtZmlsbCBjZXJ0YWluIGZvcm0gZmllbGRzIGFuZCB3aWxsIGJlIHN0b3JlZCBkdXJpbmcgdGhlIGJvb2tpbmcgcHJvY2Vzcy5cbiAgICAgLSBtZXRhZGF0YSBjYW4gYmUgb2J0YWluZWQgYnkgc3Vic2NyaWJpbmcgdG8gdGhlIGJvb2tpbmcgZXZlbnQuXG4gICAgIEBwYXJhbSBjYWxlbmRhclNsdWc6IHVzZWQgdG8gcmVwbGFjZSBob3N0SWQgaW4gdGhlIHVybC4gVXNlIGl0IHdoZW4geW91IGFyZSBjb25maWRlbnQgeW91IGtub3cgdGhlIGhvc3QncyBzbHVnLlxuICAgICAqL1xuICAgIGdldEdlbmVyYWxCb29raW5nVXJsKHJlcToge1xuICAgICAgICBjYWxlbmRhcklkOiBzdHJpbmcsXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZyxcbiAgICB9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIG9mKGdldEdlbmVyYWxCb29raW5nVXJsSW1wbGVtZW50YXRpb24oe1xuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IG9uUHJvZHVjdGlvbkdsb2JhbCgpID8gRW52aXJvbm1lbnQuUFJPRCA6IEVudmlyb25tZW50LkRFTU8sXG4gICAgICAgICAgICBjYWxlbmRhcklkOiByZXEuY2FsZW5kYXJJZCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgIH0pKVxuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEJvb2tpbmdVcmxzTXVsdGkgcmV0dXJucyBhIG1hcHBpbmcgb2YgaG9zdHMgLT4gZXZlbnQgdHlwZXMgLT4gYm9va2luZyBsaW5rcy5cbiAgICAgQHBhcmFtIGNhbGVuZGFySWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdCBvciBncm91cGluZyBvZiBob3N0cy5cbiAgICAgQHBhcmFtIG1lZXRpbmdUeXBlU2x1ZzogbWVldGluZ1R5cGVTbHVncyBhcmUgcGFzc2VkIGluIHRoZSBmb3JtIHtob3N0SWQ6IFttZWV0aW5nVHlwZVNsdWcxLCBtZWV0aW5nVHlwZVNsdWcyXX1cbiAgICAgQHBhcmFtIG1ldGFkYXRhOiBvcHRpb25hbCBtZXRhZGF0YSB0byBpbmNsdWRlIGluIHRoZSB1cmwuXG4gICAgIC0gbWV0YWRhdGEgY2FuIGJlIHVzZWQgdG8gcHJlLWZpbGwgY2VydGFpbiBmb3JtIGZpZWxkcyBhbmQgd2lsbCBiZSBzdG9yZWQgZHVyaW5nIHRoZSBib29raW5nIHByb2Nlc3MuXG4gICAgIC0gbWV0YWRhdGEgY2FuIGJlIG9idGFpbmVkIGJ5IHN1YnNjcmliaW5nIHRvIHRoZSBib29raW5nIGV2ZW50LlxuICAgICBAcGFyYW0gY2FsZW5kYXJTbHVnOiB1c2VkIHRvIHJlcGxhY2UgaG9zdElkIGluIHRoZSB1cmwuIFVzZSBpdCB3aGVuIHlvdSBhcmUgY29uZmlkZW50IHlvdSBrbm93IHRoZSBob3N0J3Mgc2x1Zy5cbiAgICAgKi9cbiAgICBnZXRCb29raW5nVXJsc011bHRpKFxuICAgICAgICByZXE6IHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IHN0cmluZ1tdIH0sXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SG9zdFVybE1hcD4ge1xuICAgICAgICByZXR1cm4gb2YoT2JqZWN0LmtleXMocmVxKS5yZWR1Y2UoKGhvc3RNYXAsIGNhbGVuZGFySWQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uaG9zdE1hcCxcbiAgICAgICAgICAgICAgICBbY2FsZW5kYXJJZF06IHJlcVtjYWxlbmRhcklkXS5yZWR1Y2UoKG1lZXRpbmdUeXBlTWFwLCBtZWV0aW5nVHlwZVNsdWcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm1lZXRpbmdUeXBlTWFwLFxuICAgICAgICAgICAgICAgICAgICAgICAgW21lZXRpbmdUeXBlU2x1Z106IGdldEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWV0aW5nVHlwZVNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IG9uUHJvZHVjdGlvbkdsb2JhbCgpID8gRW52aXJvbm1lbnQuUFJPRCA6IEVudmlyb25tZW50LkRFTU8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJTbHVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LCB7fSBhcyB7IFttZWV0aW5nVHlwZUlkOiBzdHJpbmddOiBzdHJpbmcgfSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9IGFzIEhvc3RVcmxNYXApKTtcbiAgICB9XG5cbiAgICBpc0hvc3RDb25maWd1cmVkKHJlcTogeyBob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmlzSG9zdENvbmZpZ3VyZWQocmVxKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwOiBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UpID0+IHJlc3AuaXNDb25maWd1cmVkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNldEdlbmVyYWxBdmFpbGFiaWxpdHkocmVxOiB7XG4gICAgICAgIGhvc3RJZDogc3RyaW5nLFxuICAgICAgICBtZWV0aW5nVHlwZUlkOiBzdHJpbmcsXG4gICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2Ugd2Vla2RheXNBdmFpbGFiaWxpdHkgaW5zdGVhZFxuICAgICAgICBkYXlzPzogRGF5T2ZXZWVrW10sXG4gICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2Ugd2Vla2RheXNBdmFpbGFiaWxpdHkgaW5zdGVhZFxuICAgICAgICB0aW1lU2xvdD86IFRpbWVSYW5nZUludGVyZmFjZSxcbiAgICAgICAgd2Vla2RheXNBdmFpbGFiaWxpdHk/OiBXZWVrZGF5QXZhaWxhYmlsaXR5W10sXG4gICAgICAgIHRpbWVab25lOiBUaW1lWm9uZUludGVyZmFjZSxcbiAgICB9KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIGNvbnN0IGFwaVJlcSA9IHtcbiAgICAgICAgICAgIC4uLnJlcSxcbiAgICAgICAgICAgIHRpbWVab25lOiBuZXcgVGltZVpvbmUocmVxLnRpbWVab25lKSxcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxLnRpbWVTbG90KSB7XG4gICAgICAgICAgICBhcGlSZXEudGltZVNsb3QgPSBuZXcgVGltZVJhbmdlKHJlcS50aW1lU2xvdClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5zZXRHZW5lcmFsQXZhaWxhYmlsaXR5KGFwaVJlcSkucGlwZShtYXBUbyhudWxsKSlcbiAgICB9XG5cbiAgICBsaXN0Qm9va2VkTWVldGluZ3MocmVxOiB7XG4gICAgICAgIGZpbHRlcnM6IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgICAgICBjdXJzb3I6IHN0cmluZyxcbiAgICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICAgICAgdGltZVpvbmU6IFRpbWVab25lSW50ZXJmYWNlLFxuICAgIH0pOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8TWVldGluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdEJvb2tlZE1lZXRpbmdzKHtcbiAgICAgICAgICAgIC4uLnJlcSxcbiAgICAgICAgICAgIHBhZ2luZ09wdGlvbnM6IG5ldyBQYWdlZFJlcXVlc3RPcHRpb25zKHtjdXJzb3I6IHJlcS5jdXJzb3IsIHBhZ2VTaXplOiByZXEucGFnZVNpemV9KSxcbiAgICAgICAgICAgIGZpbHRlcnM6IG5ldyBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0RmlsdGVycyhyZXEuZmlsdGVycyksXG4gICAgICAgICAgICB0aW1lWm9uZTogbmV3IFRpbWVab25lKHJlcS50aW1lWm9uZSksXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3A6IExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVldGluZ3MgPSAocmVzcC5tZWV0aW5ncyB8fCBbXSkubWFwKG1lZXRpbmcgPT4gbWVldGluZ0Zyb21BcGkobWVldGluZykpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShtZWV0aW5ncywgcmVzcC5wYWdpbmdNZXRhZGF0YS5uZXh0Q3Vyc29yLCByZXNwLnBhZ2luZ01ldGFkYXRhLmhhc01vcmUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FuY2VsTWVldGluZyhyZXE6IHtcbiAgICAgICAgbWVldGluZ0lkOiBzdHJpbmcsXG4gICAgICAgIGNhbmNlbGxhdGlvblJlYXNvbjogc3RyaW5nXG4gICAgfSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jYW5jZWxNZWV0aW5nKHtcbiAgICAgICAgICAgIC4uLnJlcVxuICAgICAgICB9KS5waXBlKG1hcFRvKG51bGwpKVxuICAgIH1cblxuICAgIHJlc2NoZWR1bGVNZWV0aW5nKHJlcToge1xuICAgICAgICBtZWV0aW5nSWQ6IHN0cmluZyxcbiAgICAgICAgc3RhcnQ6IERhdGVcbiAgICB9KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnJlc2NoZWR1bGVNZWV0aW5nKHtcbiAgICAgICAgICAgIC4uLnJlcVxuICAgICAgICB9KS5waXBlKG1hcFRvKG51bGwpKVxuICAgIH1cblxuICAgIGxpc3RBdmFpbGFiaWxpdHkocmVxOiB7XG4gICAgICAgIGZpbHRlcnM6IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICAgICAgcGFnaW5nT3B0aW9uczogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICAgICAgdGltZVpvbmU6IFRpbWVab25lSW50ZXJmYWNlLFxuICAgIH0pOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8QXZhaWxhYmlsaXR5UnVsZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdEF2YWlsYWJpbGl0eShyZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSAocmVzcG9uc2UuYXZhaWxhYmlsaXR5UnVsZXMgfHwgW10pLmZpbHRlcihCb29sZWFuKS5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0SWQ6IGEuaG9zdElkIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVldGluZ1R5cGVJZDogYS5tZWV0aW5nVHlwZUlkIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiBhLmRheSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTbG90OiBhLnRpbWVTbG90LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZVpvbmU6IGEudGltZVpvbmUsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBhZ2VkUmVzcG9uc2UocmVzdWx0cywgcmVzcG9uc2UubWV0YWRhdGEubmV4dEN1cnNvciwgcmVzcG9uc2UubWV0YWRhdGEuaGFzTW9yZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyogdXBkYXRlUHJlZmVyZW5jZXMgd2lsbCB1cGRhdGUgdGhlIGhvc3QncyBwcmVmZXJlbmNlcy5cbiAgICAgKiBJdCBpcyBndWFyYW50ZWVkIHRvIG9ubHkgdXBkYXRlIHRoZSBmaWVsZHMgcHJvdmlkZWQuXG4gICAgICogRm9yIGV4YW1wbGU6XG4gICAgICogIHVwZGF0ZVByZWZlcmVuY2VzKHttZWV0aW5nSW50ZWdyYXRpb246IE1lZXRpbmdTb3VyY2UuTUVFVElOR19TT1VSQ0VfR09PR0xFX01FRVR9KVxuICAgICAqICB3aWxsIG9ubHkgdXBkYXRlIHRoZSBwcmVmZXJlbmNlIG1lZXRpbmdJbnRlZ3JhdGlvbiB0byBHb29nbGUgTWVldC4gS2VlcGluZyB0aGUgb3RoZXIgcHJlZmVyZW5jZXMgdGhlIHNhbWUuXG4gICAgICpcbiAgICAgKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHByb3ZpZGUgYSBsaXN0IG9mIGtleXMgdG8gdXBkYXRlIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXG4gICAgICogRm9yIGV4YW1wbGU6XG4gICAgICogICB1cGRhdGVQcmVmZXJlbmNlcyh7Li4ub2JqZWN0IHdpdGggYWxsIGZpZWxkc30sIFsnbWVldGluZ0ludGVncmF0aW9uJ10pXG4gICAgICogICB3aWxsIG9ubHkgdXBkYXRlIHRoZSBmaWVsZCAnbWVldGluZ0ludGVncmF0aW9uJyB0byB0aGUgdmFsdWUgaW4gcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBDYWxsaW5nIHdpdGggYW4gZW1wdHkgb2JqZWN0IGFuZCBubyBrZXlzIGlzIGEgbm8tb3AsIG9yIGFuIHVuZGVmaW5lZCBvYmplY3QuXG4gICAgICogQ2FsbGluZyB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIGZpZWxkcyBub3QgaW4gYFByZWZlcmVuY2VzYCBvciB3aXRoIHVwZGF0ZUZpZWxkcyBub3QgbGlua2VkIHRvIHByb3BlcnRpZXMgaW5cbiAgICAgKiBgUHJlZmVyZW5jZXNgIGlzIGFuIGVycm9yLlxuICAgICAqL1xuICAgIHVwZGF0ZVByZWZlcmVuY2VzKHJlcTogeyBob3N0SWQ6IHN0cmluZywgcHJlZmVyZW5jZXM6IFBhcnRpYWw8UHJlZmVyZW5jZXM+LCB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgUHJlZmVyZW5jZXMpW10gfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBmaWVsZE1hc2sgPSBnZXRGaWVsZE1hc2soe286IHJlcS5wcmVmZXJlbmNlcywgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVIb3N0UHJlZmVyZW5jZXMoe1xuICAgICAgICAgICAgaG9zdElkOiByZXEuaG9zdElkLFxuICAgICAgICAgICAgcHJlZmVyZW5jZXM6IHJlcS5wcmVmZXJlbmNlcyxcbiAgICAgICAgICAgIGZpZWxkTWFzayxcbiAgICAgICAgfSkucGlwZShtYXBUbyh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBnZXRQcmVmZXJlbmNlcyhyZXE6IHsgaG9zdElkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8UHJlZmVyZW5jZXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0SG9zdFByZWZlcmVuY2VzKHtcbiAgICAgICAgICAgIGhvc3RJZDogcmVxLmhvc3RJZFxuICAgICAgICB9KS5waXBlKG1hcChyZXNwb25zZSA9PiBQcmVmZXJlbmNlc0Zyb21BcGkocmVzcG9uc2UucHJlZmVyZW5jZXMpKSlcbiAgICB9XG5cbiAgICBnZXRNZWV0aW5nKG1lZXRpbmdJZDogc3RyaW5nLCBsb2NhdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZWV0aW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmdldEhvc3RNZWV0aW5nKHtcbiAgICAgICAgICAgIG1lZXRpbmdJZDogbWVldGluZ0lkLCBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3A6IEdldEhvc3RNZWV0aW5nUmVzcG9uc2UpID0+IG1lZXRpbmdGcm9tQXBpKHJlc3AubWVldGluZykpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICB1cGRhdGVNZWV0aW5nTWV0YWRhdGEocmVxOiB7IG1lZXRpbmdJZDogc3RyaW5nLCBtZXRhZGF0YTogTWVldGluZ01ldGFkYXRhIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UudXBkYXRlTWVldGluZ01ldGFkYXRhKHtcbiAgICAgICAgICAgIG1lZXRpbmdJZDogcmVxLm1lZXRpbmdJZCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGFcbiAgICAgICAgfSkucGlwZShtYXBUbyh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBib29rTWVldGluZyhyZXE6IEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5ib29rTWVldGluZyhyZXEpLnBpcGUobWFwKChyZXNwOiBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSkgPT4gcmVzcC5tZWV0aW5nSWQpKTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzIHdpbGwgY3JlYXRlIHdoYXQgTWVldGluZyBTY2hlZHVsZXIgZGVlbXMgdG8gYmUgdGhlIGRlZmF1bHQgbWVldGluZyB0eXBlcy5cbiAgICAvLyBJZiB0aGUgY2FsZW5kYXIgYWxyZWFkeSBoYXMgbWVldGluZyB0eXBlcywgdGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIGEgbm8tb3AuXG4gICAgY3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlcyhyZXE6IHsgY2FsZW5kYXJJZHM6IHN0cmluZ1tdLCB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmNyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXMoe2NhbGVuZGFySWRzOiByZXEuY2FsZW5kYXJJZHN9KS5waXBlKG1hcFRvKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGNyZWF0ZU1lZXRpbmdUeXBlKHJlcTogeyBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGUsIHVwZGF0ZUZpZWxkcz86IChrZXlvZiBNZWV0aW5nVHlwZSlbXSwgSG9zdElkPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWVsZE1hc2sgPSBnZXRGaWVsZE1hc2soe286IHJlcS5tZWV0aW5nVHlwZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVNZWV0aW5nVHlwZSh7XG4gICAgICAgICAgICBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGVUb0FwaSh7bWVldGluZ1R5cGU6IHJlcS5tZWV0aW5nVHlwZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLmlkKSk7XG4gICAgfVxuXG4gICAgLyogdXBkYXRlTWVldGluZ1R5cGUgd2lsbCB1cGRhdGUgdGhlIG1lZXRpbmcgdHlwZSBmaWVsZHMuXG4gICAgICogSXQgaXMgZ3VhcmFudGVlZCB0byBvbmx5IHVwZGF0ZSB0aGUgZmllbGRzIHByb3ZpZGVkLlxuICAgICAqIEZvciBleGFtcGxlOlxuICAgICAqICB1cGRhdGVNZWV0aW5nVHlwZSh7bmFtZTogJ09uYm9hcmRpbmcnfSlcbiAgICAgKiAgd2lsbCBvbmx5IHVwZGF0ZSB0aGUgZmllbGQgJ25hbWUnIHRvICdPbmJvYXJkaW5nJy4gS2VlcGluZyB0aGUgb3RoZXIgZmllbGRzIHRoZSBzYW1lLlxuICAgICAqXG4gICAgICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBwcm92aWRlIGEgbGlzdCBvZiBrZXlzIHRvIHVwZGF0ZSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuICAgICAqIEZvciBleGFtcGxlOlxuICAgICAqICAgdXBkYXRlTWVldGluZ1R5cGUoey4uLm9iamVjdCB3aXRoIGFsbCBmaWVsZHN9LCBbJ25hbWUnXSlcbiAgICAgKiAgIHdpbGwgb25seSB1cGRhdGUgdGhlIGZpZWxkICduYW1lJyB0byB0aGUgdmFsdWUgcGFzc2VkIGluLlxuICAgICAqXG4gICAgICogQ2FsbGluZyB3aXRoIGFuIGVtcHR5IG9iamVjdCBhbmQgbm8ga2V5cyBpcyBhIG5vLW9wLCBvciBhbiB1bmRlZmluZWQgb2JqZWN0LlxuICAgICAqIENhbGxpbmcgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyBmaWVsZHMgbm90IGluIGBNZWV0aW5nVHlwZWAgb3Igd2l0aCB1cGRhdGVGaWVsZHMgbm90IGxpbmtlZCB0byBwcm9wZXJ0aWVzIGluXG4gICAgICogYE1lZXRpbmdUeXBlYCBpcyBhbiBlcnJvci5cbiAgICAgKi9cbiAgICB1cGRhdGVNZWV0aW5nVHlwZShyZXE6IHsgaWQ6IHN0cmluZywgbWVldGluZ1R5cGU6IFBhcnRpYWw8TWVldGluZ1R5cGU+LCB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgTWVldGluZ1R5cGUpW10sIEhvc3RJZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTWFzayA9IGdldEZpZWxkTWFzayh7bzogcmVxLm1lZXRpbmdUeXBlLCB1cGRhdGVGaWVsZHM6IHJlcS51cGRhdGVGaWVsZHN9KTtcbiAgICAgICAgaWYgKGZpZWxkTWFzay5wYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnVwZGF0ZU1lZXRpbmdUeXBlKHtcbiAgICAgICAgICAgIGlkOiByZXEuaWQsXG4gICAgICAgICAgICBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGVUb0FwaSh7bWVldGluZ1R5cGU6IHJlcS5tZWV0aW5nVHlwZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlTWVldGluZ1R5cGUocmVxOiB7IGlkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5kZWxldGVNZWV0aW5nVHlwZSh7aWQ6IHJlcS5pZH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZ2V0SG9zdHNGb3JDYWxlbmRhcihyZXE6IHsgY2FsZW5kYXJJZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPEhvc3RVc2VyW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0SG9zdHNGb3JDYWxlbmRhcih7Y2FsZW5kYXJJZDogcmVxLmNhbGVuZGFySWR9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChyZXMuaG9zdFVzZXJzIHx8IFtdKS5tYXAoaG9zdHVzZXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaG9zdFVzZXJGcm9tQXBpKGhvc3R1c2VyKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgfVxuXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWQocmVxOiBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuaXNDYWxlbmRhckNvbmZpZ3VyZWQocmVxKTtcbiAgICB9XG5cbiAgICBzZW5kTWVldGluZ1JlcXVlc3RFbWFpbChyZXE6IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsKHJlcSk7XG4gICAgfVxuXG4gICAgY3JlYXRlU2VydmljZShyZXE6IHsgc2VydmljZTogU2VydmljZSwgdXBkYXRlRmllbGRzPzogKGtleW9mIFNlcnZpY2UpW10sIEhvc3RJZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuc2VydmljZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVTZXJ2aWNlKHtcbiAgICAgICAgICAgIHNlcnZpY2U6IFNlcnZpY2VUeXBlVG9BcGkoe3NlcnZpY2U6IHJlcS5zZXJ2aWNlfSksXG4gICAgICAgICAgICBmaWVsZE1hc2ssXG4gICAgICAgICAgICBob3N0SWQ6IHJlcS5Ib3N0SWRcbiAgICAgICAgfSkucGlwZShtYXAocmVzID0+IHJlcy5pZCkpXG4gICAgfVxuXG4gICAgdXBkYXRlU2VydmljZShyZXE6IHtcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgc2VydmljZTogUGFydGlhbDxTZXJ2aWNlPixcbiAgICAgICAgdXBkYXRlRmllbGRzPzogKGtleW9mIFNlcnZpY2UpW10sXG4gICAgICAgIEhvc3RJZD86IHN0cmluZ1xuICAgIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuc2VydmljZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVTZXJ2aWNlKHtcbiAgICAgICAgICAgIGlkOiByZXEuaWQsXG4gICAgICAgICAgICBzZXJ2aWNlOiBTZXJ2aWNlVHlwZVRvQXBpKHtzZXJ2aWNlOiByZXEuc2VydmljZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlU2VydmljZShyZXE6IHsgaWQ6IHN0cmluZyxob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmRlbGV0ZVNlcnZpY2Uoe2lkOiByZXEuaWR9KS5waXBlKG1hcFRvKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGxpc3RTZXJ2aWNlcyggcmVxOiB7IGhvc3RJZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPFNlcnZpY2VbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5saXN0U2VydmljZXMoe2hvc3RJZDogcmVxLmhvc3RJZH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLnNlcnZpY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5zZXJ2aWNlcy5tYXAoc2VydmljZSA9PiBTZXJ2aWNlRnJvbUFwaSh7c2VydmljZUFwaTogc2VydmljZSxlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNT30pKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIGNyZWF0ZUdyb3VwKHJlcTogeyBncm91cDogR3JvdXAsIHVwZGF0ZUZpZWxkcz86IChrZXlvZiBHcm91cClbXSwgSG9zdElkPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWVsZE1hc2sgPSBnZXRGaWVsZE1hc2soe286IHJlcS5ncm91cCwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVHcm91cCh7XG4gICAgICAgICAgICBncm91cDogR3JvdXBUeXBlVG9BUGkoe2dyb3VwOiByZXEuZ3JvdXB9KSxcbiAgICAgICAgICAgIGZpZWxkTWFzayxcbiAgICAgICAgICAgIGhvc3RJZDogcmVxLkhvc3RJZFxuICAgICAgICB9KS5waXBlKG1hcChyZXMgPT4gcmVzLmlkKSlcbiAgICB9XG5cbiAgICB1cGRhdGVHcm91cChyZXE6IHtcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgZ3JvdXA6IFBhcnRpYWw8R3JvdXA+LFxuICAgICAgICB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgR3JvdXApW10sXG4gICAgICAgIEhvc3RJZD86IHN0cmluZ1xuICAgIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuZ3JvdXAsIHVwZGF0ZUZpZWxkczogcmVxLnVwZGF0ZUZpZWxkc30pO1xuICAgICAgICBpZiAoZmllbGRNYXNrLnBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UudXBkYXRlR3JvdXAoe1xuICAgICAgICAgICAgaWQ6IHJlcS5pZCxcbiAgICAgICAgICAgIGdyb3VwOiBHcm91cFR5cGVUb0FQaSh7Z3JvdXA6IHJlcS5ncm91cH0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlR3JvdXAocmVxOiB7IGlkOiBzdHJpbmcsIGhvc3RJZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZGVsZXRlR3JvdXAoe2lkOiByZXEuaWR9KS5waXBlKG1hcFRvKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGxpc3RHcm91cHMoIHJlcTogeyBob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxHcm91cFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmxpc3RHcm91cHMoe2hvc3RJZDogcmVxLmhvc3RJZH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLmdyb3Vwcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXMuZ3JvdXBzLm1hcChncm91cCA9PiBHcm91cEZyb21BcGkoe2dyb3VwQXBpOiBncm91cCxlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNT30pKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxufVxuXG5cblxuIl19
391
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvaG9zdC9ob3N0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxHQUFHLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQVNILGdDQUFnQyxFQUdoQyxxQkFBcUIsRUFDckIsbUJBQW1CLEVBRW5CLFNBQVMsRUFFVCxRQUFRLEVBR1gsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUlILGVBQWUsRUFDZixZQUFZLEVBQVMsWUFBWSxFQUFFLGNBQWMsRUFHakQsY0FBYyxFQUdkLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUViLGtCQUFrQixFQUFXLGNBQWMsRUFBRSxnQkFBZ0IsRUFDaEUsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLDJCQUEyQixFQUFFLGtDQUFrQyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBQ3RGLE9BQU8sRUFBVyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7OztBQUt0RSxNQUFNLE9BQU8sV0FBVztJQUNwQixZQUNZLGNBQXFDO1FBQXJDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtJQUVqRCxDQUFDO0lBRUQsa0hBQWtIO0lBQ2xILFdBQVcsQ0FBQyxHQUFzRjtRQUM5RixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtZQUNsQix3RkFBd0Y7WUFDeEYsNEJBQTRCLEVBQUUsR0FBRyxD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Q0FBRSxHQUF1QjtRQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FDNUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ04sSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JCLE9BQU8sRUFBRSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQTtRQUMzSSxDQUFDLENBQUMsQ0FDTCxDQUFBO0lBQ0wsQ0FBQzs7d0dBbmZRLFdBQVc7NEdBQVgsV0FBVyxjQURDLE1BQU07MkZBQ2xCLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgbWFwVG99IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgRGF5T2ZXZWVrLFxuICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2UsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSwgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlLCBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEZpbHRlcnNJbnRlcmZhY2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UsXG4gICAgTWVldGluZ0hvc3RBcGlTZXJ2aWNlLFxuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSwgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFRpbWVSYW5nZSxcbiAgICBUaW1lUmFuZ2VJbnRlcmZhY2UsXG4gICAgVGltZVpvbmUsXG4gICAgVGltZVpvbmVJbnRlcmZhY2UsXG4gICAgV2Vla2RheUF2YWlsYWJpbGl0eVxufSBmcm9tICcuLi9faW50ZXJuYWwnO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0LFxuICAgIEF2YWlsYWJpbGl0eVJ1bGUsXG4gICAgQ2FsZW5kYXIsXG4gICAgQ2FsZW5kYXJGcm9tQXBpLFxuICAgIGdldEZpZWxkTWFzaywgR3JvdXAsIEdyb3VwRnJvbUFwaSwgR3JvdXBUeXBlVG9BUGksXG4gICAgSG9zdFVybE1hcCxcbiAgICBNZWV0aW5nLFxuICAgIG1lZXRpbmdGcm9tQXBpLFxuICAgIE1lZXRpbmdNZXRhZGF0YSxcbiAgICBNZWV0aW5nVHlwZSxcbiAgICBNZWV0aW5nVHlwZUZyb21BcGksXG4gICAgTWVldGluZ1R5cGVUb0FwaSxcbiAgICBQYWdlZFJlc3BvbnNlLFxuICAgIFByZWZlcmVuY2VzLFxuICAgIFByZWZlcmVuY2VzRnJvbUFwaSwgU2VydmljZSwgU2VydmljZUZyb21BcGksIFNlcnZpY2VUeXBlVG9BcGlcbn0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7Z2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uLCBnZXRHZW5lcmFsQm9va2luZ1VybEltcGxlbWVudGF0aW9ufSBmcm9tICcuL3VybCc7XG5pbXBvcnQge0hvc3RVc2VyLCBob3N0VXNlckZyb21BcGl9IGZyb20gJy4uL3NoYXJlZC9ob3N0LXVzZXInXG5pbXBvcnQge0Vudmlyb25tZW50LCBvblByb2R1Y3Rpb25HbG9iYWx9IGZyb20gXCIuLi9zaGFyZWQvZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IEh0dHBSZXNwb25zZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgSG9zdFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3RBUElTZXJ2aWNlOiBNZWV0aW5nSG9zdEFwaVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ1aWxkSG9zdElkIHRvIGdldCBhbiBpZGVudGlmaWVyIHRoYXQgY2FuIGJlIHVzZWQgaW4gc3Vic2VxdWVudCByZXF1ZXN0cy4gU2VlIHZlbmRhc3RhYXBpcyBmb3IgbW9yZSBkZXRhaWxzXG4gICAgYnVpbGRIb3N0SWQocmVxOiB7IHVzZXJJZDogc3RyaW5nLCBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0IH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5idWlsZEhvc3RJZCh7XG4gICAgICAgICAgICAgICAgdXNlcklkOiByZXEudXNlcklkLFxuICAgICAgICAgICAgICAgIC8vIEdyb3NzIHR5cGVjYXN0IGV4aXN0cyBiZWNhdXNlIEkgd2FudCB0byByZXN0cmljdCB0aGUgcHJvcGVydGllcyBvbiB0aGUgbWFwIChmb3Igbm93KS5cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiByZXEuYXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllcyBhcyBhbnkgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgICAgICAgfVxuICAgICAgICApLnBpcGUobWFwKHJlcyA9PiByZXMuaG9zdElkIHx8ICcnKSk7XG4gICAgfVxuXG4gICAgZG9lc0NhbGVuZGFyRXhpc3QoY2FsZW5kYXJJZGVudGlmaWVyOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZG9lc0NhbGVuZGFyRXhpc3Qoe2NhbGVuZGFySWRlbnRpZmllcjogY2FsZW5kYXJJZGVudGlmaWVyfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwID0+IHJlc3AuZXhpc3RzKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldENhbGVuZGFyKHJlcTogeyBjYWxlbmRhcklkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8Q2FsZW5kYXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0Q2FsZW5kYXIoe2NhbGVuZGFySWQ6IHJlcS5jYWxlbmRhcklkfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4gQ2FsZW5kYXJGcm9tQXBpKHJlcz8uY2FsZW5kYXIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHMocmVxOiB7XG4gICAgICAgIHVzZXJJZDogc3RyaW5nLFxuICAgICAgICBhcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzOiBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0XG4gICAgfSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHMoe1xuICAgICAgICAgICAgdXNlcklkOiByZXEudXNlcklkLFxuICAgICAgICAgICAgYXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllczogcmVxLmFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXMgYXMgYW55IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIH0pLnBpcGUobWFwKHJlcyA9PiByZXMgPyByZXMuY2FsZW5kYXJJZCA6ICcnKSk7XG4gICAgfVxuXG4gICAgZW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdChyZXE6IHsgZXh0ZXJuYWxJZHM6IHN0cmluZ1tdIH0pOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3Qoe2V4dGVybmFsSWRzOiByZXEuZXh0ZXJuYWxJZHN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiByZXM/LmNhbGVuZGFySWRzIHx8IFtdKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qXG4gICAgIGNyZWF0ZUNhbGVuZGFyIGNyZWF0ZXMgYSBjYWxlbmRhciB3aGljaCBtZWV0aW5nIHR5cGVzIGNhbiBiZSBjcmVhdGVkIGZvciBhbmQgZXZlbnRzIGNhbiBiZSBib29rZWQgb25cbiAgICAgVGhlIGZpZWxkcyBvZiBhIGNhbGVuZGFyIGFyZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS92ZW5kYXN0YS92ZW5kYXN0YWFwaXMvYmxvYi9tYXN0ZXIvbWVldGluZ3MvdjEvc2hhcmVkLnByb3RvXG4gICAgKi9cbiAgICBjcmVhdGVDYWxlbmRhcihyZXE6IENyZWF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVDYWxlbmRhcihyZXEpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNhbGVuZGFyU2x1ZyhjYWxlbmRhcklkOiBzdHJpbmcsIG5ld1NsdWc6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVDYWxlbmRhcih7XG4gICAgICAgICAgICBjYWxlbmRhcklkOiBjYWxlbmRhcklkLFxuICAgICAgICAgICAgY2FsZW5kYXJVcGRhdGU6IHtzbHVnOiBuZXdTbHVnfSxcbiAgICAgICAgICAgIGZpZWxkTWFzazoge3BhdGhzOiBbJ3NsdWcnXX0sXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ2FsZW5kYXJIb3N0VXNlcklEcyhjYWxlbmRhcklkOiBzdHJpbmcsIHJlcGxhY2VtZW50SG9zdFVzZXJJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnVwZGF0ZUNhbGVuZGFyKHtcbiAgICAgICAgICAgIGNhbGVuZGFySWQ6IGNhbGVuZGFySWQsXG4gICAgICAgICAgICBjYWxlbmRhclVwZGF0ZToge2hvc3RVc2VySWRzOiByZXBsYWNlbWVudEhvc3RVc2VySWRzfSxcbiAgICAgICAgICAgIGZpZWxkTWFzazoge3BhdGhzOiBbJ2hvc3RfdXNlcl9pZHMnXX0sXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZ2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzKHJlcToge1xuICAgICAgICBjYWxlbmRhcklkczogc3RyaW5nW10sXG4gICAgICAgIG1ldGFkYXRhOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfVxuICAgIH0pOiBPYnNlcnZhYmxlPHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IE1lZXRpbmdUeXBlW10gfT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5nZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnMoe2NhbGVuZGFySWRzOiByZXEuY2FsZW5kYXJJZHN9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXM/LmNhbGVuZGFyTWVldGluZ1R5cGVzTWFwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHJlcy5jYWxlbmRhck1lZXRpbmdUeXBlc01hcCkucmVkdWNlKChjYWxlbmRhclRvTWVldGluZ1R5cGVNYXAsIGNhbGVuZGFySWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVldGluZ1R5cGVzID0gKHJlcy5jYWxlbmRhck1lZXRpbmdUeXBlc01hcFtjYWxlbmRhcklkXT8ubWVldGluZ1R5cGVzIHx8IFtdKS5tYXAobXQgPT4gTWVldGluZ1R5cGVGcm9tQXBpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZXRpbmdUeXBlQXBpOiBtdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50OiBvblByb2R1Y3Rpb25HbG9iYWwoKSA/IEVudmlyb25tZW50LlBST0QgOiBFbnZpcm9ubWVudC5ERU1PLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNhbGVuZGFyVG9NZWV0aW5nVHlwZU1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjYWxlbmRhcklkXTogbWVldGluZ1R5cGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sIHt9IGFzIHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IE1lZXRpbmdUeXBlW10gfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAvKlxuICAgICBsaXN0TWVldGluZ1R5cGVzIHJldHVybnMgYSBsaXN0IG9mIG1lZXRpbmcgdHlwZXMgZm9yIGEgaG9zdFxuICAgICBAcGFyYW0gaG9zdElkOiBBbiBpZGVudGlmaWVyIGZvciBhbiBpbmRpdmlkdWFsIGhvc3RcbiAgICAgQHBhcmFtIG1ldGFkYXRhOiBvcHRpb25hbCBtZXRhZGF0YSB0byBpbmNsdWRlIG9uIHRoZSBtZWV0aW5nIHR5cGUgYm9va2luZyBsaW5rXG4gICAgIEBwYXJhbSBjYWxlbmRhclNsdWc6IHVzZWQgdG8gcmVwbGFjZSBob3N0SWQgaW4gdGhlIHVybC4gVXNlIGl0IHdoZW4geW91IGFyZSBjb25maWRlbnQgeW91IGtub3cgdGhlIGhvc3QncyBzbHVnLlxuICAgICAgICAtIGNhbGVuZGFyU2x1ZyBJUyBOT1QgVVNFRCBUTyBSRVRSSUVWRSBNRUVUSU5HIFRZUEVTLCBPTkxZIFRPIE1BS0UgVEhFIEJPT0tJTkcgVVJMU1xuICAgICovXG4gICAgbGlzdE1lZXRpbmdUeXBlcyhyZXE6IHtcbiAgICAgICAgaG9zdElkOiBzdHJpbmcsXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICAgICAgY2FsZW5kYXJTbHVnPzogc3RyaW5nLFxuICAgIH0pOiBPYnNlcnZhYmxlPE1lZXRpbmdUeXBlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdE1lZXRpbmdUeXBlcyhyZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXNwIHx8ICFyZXNwLm1lZXRpbmdUeXBlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwLm1lZXRpbmdUeXBlcy5tYXAobXQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWVldGluZ1R5cGVGcm9tQXBpKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZXRpbmdUeXBlQXBpOiBtdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGVuZGFySWQ6IHJlcS5ob3N0SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNTyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEJvb2tpbmdVcmwgcmV0dXJucyBhIGxpbmsgdGhhdCBjYW4gYmUgdXNlZCB0byBib29rIGEgbWVldGluZyB3aXRoIHRoaXMgaG9zdC5cbiAgICAgQHBhcmFtIGNhbGVuZGFySWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdCBvciBncm91cGluZyBvZiBob3N0cyAoaS5lLiwgdGVhbSkuXG4gICAgIEBwYXJhbSBAZGVwcmVjYXRlZCBob3N0SWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdC5cbiAgICAgQHBhcmFtIG1lZXRpbmdUeXBlSWQ6IEFuIG9wdGlvbmFsIGlkZW50aWZpZXIgZm9yIHRoZSBtZWV0aW5nIHR5cGUuIERlZmF1bHQ6IDMwLW1pbnV0ZXMuXG4gICAgIEBwYXJhbSBtZXRhZGF0YTogb3B0aW9uYWwgbWV0YWRhdGEgdG8gaW5jbHVkZSBpbiB0aGUgdXJsLlxuICAgICAtIG1ldGFkYXRhIGNhbiBiZSB1c2VkIHRvIHByZS1maWxsIGNlcnRhaW4gZm9ybSBmaWVsZHMgYW5kIHdpbGwgYmUgc3RvcmVkIGR1cmluZyB0aGUgYm9va2luZyBwcm9jZXNzLlxuICAgICAtIG1ldGFkYXRhIGNhbiBiZSBvYnRhaW5lZCBieSBzdWJzY3JpYmluZyB0byB0aGUgYm9va2luZyBldmVudC5cbiAgICBAcGFyYW0gY2FsZW5kYXJTbHVnOiB1c2VkIHRvIHJlcGxhY2UgaG9zdElkIGluIHRoZSB1cmwuIFVzZSBpdCB3aGVuIHlvdSBhcmUgY29uZmlkZW50IHlvdSBrbm93IHRoZSBob3N0J3Mgc2x1Zy5cbiAgICAgKi9cbiAgICBnZXRCb29raW5nVXJsKFxuICAgICAgICByZXE6IHtcbiAgICAgICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2UgY2FsZW5kYXJJZCBpbnN0ZWFkLiBjYWxlbmRhcklkIG5vdCByZXF1aXJlZCB0byBhdm9pZCBicmVha2luZyBleGlzdGluZyBjbGllbnRzLlxuICAgICAgICAgICAgaG9zdElkOiBzdHJpbmcsXG4gICAgICAgICAgICBjYWxlbmRhcklkPzogc3RyaW5nLFxuICAgICAgICAgICAgLy8gQGRlcHJlY2F0ZWQ6IHVzZSBtZWV0aW5nVHlwZVNsdWcgaW5zdGVhZFxuICAgICAgICAgICAgbWVldGluZ1R5cGVJZD86IHN0cmluZyxcbiAgICAgICAgICAgIG1lZXRpbmdUeXBlU2x1Zz86IHN0cmluZyxcbiAgICAgICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgICAgICBjYWxlbmRhclNsdWc/OiBzdHJpbmcsXG4gICAgICAgIH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gb2YoZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKHtcbiAgICAgICAgICAgICAgICAuLi5yZXEsXG4gICAgICAgICAgICAgICAgY2FsZW5kYXJJZDogcmVxLmNhbGVuZGFySWQgfHwgcmVxLmhvc3RJZCxcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudDogb25Qcm9kdWN0aW9uR2xvYmFsKCkgPyBFbnZpcm9ubWVudC5QUk9EIDogRW52aXJvbm1lbnQuREVNTyxcbiAgICAgICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEdlbmVyYWxCb29raW5nVXJsIHJldHVybnMgYSBsaW5rIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VsZWN0IGEgbWVldGluZyB0eXBlIHRvIGJvb2sgd2l0aCB0aGUgZ2l2ZW4gY2FsZW5kYXIuXG4gICAgIEBwYXJhbSBjYWxlbmRhcklkOiBBbiBpZGVudGlmaWVyIGZvciBhbiBpbmRpdmlkdWFsIGhvc3Qgb3IgZ3JvdXBpbmcgb2YgaG9zdHMgKGkuZS4sIHRlYW0pLlxuICAgICBAcGFyYW0gbWV0YWRhdGE6IG9wdGlvbmFsIG1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIHVybC5cbiAgICAgLSBtZXRhZGF0YSBjYW4gYmUgdXNlZCB0byBwcmUtZmlsbCBjZXJ0YWluIGZvcm0gZmllbGRzIGFuZCB3aWxsIGJlIHN0b3JlZCBkdXJpbmcgdGhlIGJvb2tpbmcgcHJvY2Vzcy5cbiAgICAgLSBtZXRhZGF0YSBjYW4gYmUgb2J0YWluZWQgYnkgc3Vic2NyaWJpbmcgdG8gdGhlIGJvb2tpbmcgZXZlbnQuXG4gICAgIEBwYXJhbSBjYWxlbmRhclNsdWc6IHVzZWQgdG8gcmVwbGFjZSBob3N0SWQgaW4gdGhlIHVybC4gVXNlIGl0IHdoZW4geW91IGFyZSBjb25maWRlbnQgeW91IGtub3cgdGhlIGhvc3QncyBzbHVnLlxuICAgICAqL1xuICAgIGdldEdlbmVyYWxCb29raW5nVXJsKHJlcToge1xuICAgICAgICBjYWxlbmRhcklkOiBzdHJpbmcsXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZyxcbiAgICB9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIG9mKGdldEdlbmVyYWxCb29raW5nVXJsSW1wbGVtZW50YXRpb24oe1xuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IG9uUHJvZHVjdGlvbkdsb2JhbCgpID8gRW52aXJvbm1lbnQuUFJPRCA6IEVudmlyb25tZW50LkRFTU8sXG4gICAgICAgICAgICBjYWxlbmRhcklkOiByZXEuY2FsZW5kYXJJZCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgIH0pKVxuICAgIH1cblxuICAgIC8qXG4gICAgIGdldEJvb2tpbmdVcmxzTXVsdGkgcmV0dXJucyBhIG1hcHBpbmcgb2YgaG9zdHMgLT4gZXZlbnQgdHlwZXMgLT4gYm9va2luZyBsaW5rcy5cbiAgICAgQHBhcmFtIGNhbGVuZGFySWQ6IEFuIGlkZW50aWZpZXIgZm9yIGFuIGluZGl2aWR1YWwgaG9zdCBvciBncm91cGluZyBvZiBob3N0cy5cbiAgICAgQHBhcmFtIG1lZXRpbmdUeXBlU2x1ZzogbWVldGluZ1R5cGVTbHVncyBhcmUgcGFzc2VkIGluIHRoZSBmb3JtIHtob3N0SWQ6IFttZWV0aW5nVHlwZVNsdWcxLCBtZWV0aW5nVHlwZVNsdWcyXX1cbiAgICAgQHBhcmFtIG1ldGFkYXRhOiBvcHRpb25hbCBtZXRhZGF0YSB0byBpbmNsdWRlIGluIHRoZSB1cmwuXG4gICAgIC0gbWV0YWRhdGEgY2FuIGJlIHVzZWQgdG8gcHJlLWZpbGwgY2VydGFpbiBmb3JtIGZpZWxkcyBhbmQgd2lsbCBiZSBzdG9yZWQgZHVyaW5nIHRoZSBib29raW5nIHByb2Nlc3MuXG4gICAgIC0gbWV0YWRhdGEgY2FuIGJlIG9idGFpbmVkIGJ5IHN1YnNjcmliaW5nIHRvIHRoZSBib29raW5nIGV2ZW50LlxuICAgICBAcGFyYW0gY2FsZW5kYXJTbHVnOiB1c2VkIHRvIHJlcGxhY2UgaG9zdElkIGluIHRoZSB1cmwuIFVzZSBpdCB3aGVuIHlvdSBhcmUgY29uZmlkZW50IHlvdSBrbm93IHRoZSBob3N0J3Mgc2x1Zy5cbiAgICAgKi9cbiAgICBnZXRCb29raW5nVXJsc011bHRpKFxuICAgICAgICByZXE6IHsgW2NhbGVuZGFySWQ6IHN0cmluZ106IHN0cmluZ1tdIH0sXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8SG9zdFVybE1hcD4ge1xuICAgICAgICByZXR1cm4gb2YoT2JqZWN0LmtleXMocmVxKS5yZWR1Y2UoKGhvc3RNYXAsIGNhbGVuZGFySWQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uaG9zdE1hcCxcbiAgICAgICAgICAgICAgICBbY2FsZW5kYXJJZF06IHJlcVtjYWxlbmRhcklkXS5yZWR1Y2UoKG1lZXRpbmdUeXBlTWFwLCBtZWV0aW5nVHlwZVNsdWcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLm1lZXRpbmdUeXBlTWFwLFxuICAgICAgICAgICAgICAgICAgICAgICAgW21lZXRpbmdUeXBlU2x1Z106IGdldEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWV0aW5nVHlwZVNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQ6IG9uUHJvZHVjdGlvbkdsb2JhbCgpID8gRW52aXJvbm1lbnQuUFJPRCA6IEVudmlyb25tZW50LkRFTU8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsZW5kYXJTbHVnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LCB7fSBhcyB7IFttZWV0aW5nVHlwZUlkOiBzdHJpbmddOiBzdHJpbmcgfSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0sIHt9IGFzIEhvc3RVcmxNYXApKTtcbiAgICB9XG5cbiAgICBpc0hvc3RDb25maWd1cmVkKHJlcTogeyBob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmlzSG9zdENvbmZpZ3VyZWQocmVxKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXNwOiBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UpID0+IHJlc3AuaXNDb25maWd1cmVkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNldEdlbmVyYWxBdmFpbGFiaWxpdHkocmVxOiB7XG4gICAgICAgIGhvc3RJZDogc3RyaW5nLFxuICAgICAgICBtZWV0aW5nVHlwZUlkOiBzdHJpbmcsXG4gICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2Ugd2Vla2RheXNBdmFpbGFiaWxpdHkgaW5zdGVhZFxuICAgICAgICBkYXlzPzogRGF5T2ZXZWVrW10sXG4gICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2Ugd2Vla2RheXNBdmFpbGFiaWxpdHkgaW5zdGVhZFxuICAgICAgICB0aW1lU2xvdD86IFRpbWVSYW5nZUludGVyZmFjZSxcbiAgICAgICAgd2Vla2RheXNBdmFpbGFiaWxpdHk/OiBXZWVrZGF5QXZhaWxhYmlsaXR5W10sXG4gICAgICAgIHRpbWVab25lOiBUaW1lWm9uZUludGVyZmFjZSxcbiAgICB9KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIGNvbnN0IGFwaVJlcSA9IHtcbiAgICAgICAgICAgIC4uLnJlcSxcbiAgICAgICAgICAgIHRpbWVab25lOiBuZXcgVGltZVpvbmUocmVxLnRpbWVab25lKSxcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVxLnRpbWVTbG90KSB7XG4gICAgICAgICAgICBhcGlSZXEudGltZVNsb3QgPSBuZXcgVGltZVJhbmdlKHJlcS50aW1lU2xvdClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5zZXRHZW5lcmFsQXZhaWxhYmlsaXR5KGFwaVJlcSkucGlwZShtYXBUbyhudWxsKSlcbiAgICB9XG5cbiAgICBsaXN0Qm9va2VkTWVldGluZ3MocmVxOiB7XG4gICAgICAgIGZpbHRlcnM6IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgICAgICBjdXJzb3I6IHN0cmluZyxcbiAgICAgICAgcGFnZVNpemU6IG51bWJlcixcbiAgICAgICAgdGltZVpvbmU6IFRpbWVab25lSW50ZXJmYWNlLFxuICAgIH0pOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8TWVldGluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdEJvb2tlZE1lZXRpbmdzKHtcbiAgICAgICAgICAgIC4uLnJlcSxcbiAgICAgICAgICAgIHBhZ2luZ09wdGlvbnM6IG5ldyBQYWdlZFJlcXVlc3RPcHRpb25zKHtjdXJzb3I6IHJlcS5jdXJzb3IsIHBhZ2VTaXplOiByZXEucGFnZVNpemV9KSxcbiAgICAgICAgICAgIGZpbHRlcnM6IG5ldyBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0RmlsdGVycyhyZXEuZmlsdGVycyksXG4gICAgICAgICAgICB0aW1lWm9uZTogbmV3IFRpbWVab25lKHJlcS50aW1lWm9uZSksXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3A6IExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVldGluZ3MgPSAocmVzcC5tZWV0aW5ncyB8fCBbXSkubWFwKG1lZXRpbmcgPT4gbWVldGluZ0Zyb21BcGkobWVldGluZykpO1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUGFnZWRSZXNwb25zZShtZWV0aW5ncywgcmVzcC5wYWdpbmdNZXRhZGF0YS5uZXh0Q3Vyc29yLCByZXNwLnBhZ2luZ01ldGFkYXRhLmhhc01vcmUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FuY2VsTWVldGluZyhyZXE6IHtcbiAgICAgICAgbWVldGluZ0lkOiBzdHJpbmcsXG4gICAgICAgIGNhbmNlbGxhdGlvblJlYXNvbjogc3RyaW5nXG4gICAgfSk6IE9ic2VydmFibGU8bnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jYW5jZWxNZWV0aW5nKHtcbiAgICAgICAgICAgIC4uLnJlcVxuICAgICAgICB9KS5waXBlKG1hcFRvKG51bGwpKVxuICAgIH1cblxuICAgIHJlc2NoZWR1bGVNZWV0aW5nKHJlcToge1xuICAgICAgICBtZWV0aW5nSWQ6IHN0cmluZyxcbiAgICAgICAgc3RhcnQ6IERhdGVcbiAgICB9KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnJlc2NoZWR1bGVNZWV0aW5nKHtcbiAgICAgICAgICAgIC4uLnJlcVxuICAgICAgICB9KS5waXBlKG1hcFRvKG51bGwpKVxuICAgIH1cblxuICAgIGxpc3RBdmFpbGFiaWxpdHkocmVxOiB7XG4gICAgICAgIGZpbHRlcnM6IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSxcbiAgICAgICAgcGFnaW5nT3B0aW9uczogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSxcbiAgICAgICAgdGltZVpvbmU6IFRpbWVab25lSW50ZXJmYWNlLFxuICAgIH0pOiBPYnNlcnZhYmxlPFBhZ2VkUmVzcG9uc2U8QXZhaWxhYmlsaXR5UnVsZT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdEF2YWlsYWJpbGl0eShyZXEpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSAocmVzcG9uc2UuYXZhaWxhYmlsaXR5UnVsZXMgfHwgW10pLmZpbHRlcihCb29sZWFuKS5tYXAoYSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0SWQ6IGEuaG9zdElkIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVldGluZ1R5cGVJZDogYS5tZWV0aW5nVHlwZUlkIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF5OiBhLmRheSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTbG90OiBhLnRpbWVTbG90LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZVpvbmU6IGEudGltZVpvbmUsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFBhZ2VkUmVzcG9uc2UocmVzdWx0cywgcmVzcG9uc2UubWV0YWRhdGEubmV4dEN1cnNvciwgcmVzcG9uc2UubWV0YWRhdGEuaGFzTW9yZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyogdXBkYXRlUHJlZmVyZW5jZXMgd2lsbCB1cGRhdGUgdGhlIGhvc3QncyBwcmVmZXJlbmNlcy5cbiAgICAgKiBJdCBpcyBndWFyYW50ZWVkIHRvIG9ubHkgdXBkYXRlIHRoZSBmaWVsZHMgcHJvdmlkZWQuXG4gICAgICogRm9yIGV4YW1wbGU6XG4gICAgICogIHVwZGF0ZVByZWZlcmVuY2VzKHttZWV0aW5nSW50ZWdyYXRpb246IE1lZXRpbmdTb3VyY2UuTUVFVElOR19TT1VSQ0VfR09PR0xFX01FRVR9KVxuICAgICAqICB3aWxsIG9ubHkgdXBkYXRlIHRoZSBwcmVmZXJlbmNlIG1lZXRpbmdJbnRlZ3JhdGlvbiB0byBHb29nbGUgTWVldC4gS2VlcGluZyB0aGUgb3RoZXIgcHJlZmVyZW5jZXMgdGhlIHNhbWUuXG4gICAgICpcbiAgICAgKiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHByb3ZpZGUgYSBsaXN0IG9mIGtleXMgdG8gdXBkYXRlIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXG4gICAgICogRm9yIGV4YW1wbGU6XG4gICAgICogICB1cGRhdGVQcmVmZXJlbmNlcyh7Li4ub2JqZWN0IHdpdGggYWxsIGZpZWxkc30sIFsnbWVldGluZ0ludGVncmF0aW9uJ10pXG4gICAgICogICB3aWxsIG9ubHkgdXBkYXRlIHRoZSBmaWVsZCAnbWVldGluZ0ludGVncmF0aW9uJyB0byB0aGUgdmFsdWUgaW4gcHJlZmVyZW5jZXMuXG4gICAgICpcbiAgICAgKiBDYWxsaW5nIHdpdGggYW4gZW1wdHkgb2JqZWN0IGFuZCBubyBrZXlzIGlzIGEgbm8tb3AsIG9yIGFuIHVuZGVmaW5lZCBvYmplY3QuXG4gICAgICogQ2FsbGluZyB3aXRoIGFuIG9iamVjdCBjb250YWluaW5nIGZpZWxkcyBub3QgaW4gYFByZWZlcmVuY2VzYCBvciB3aXRoIHVwZGF0ZUZpZWxkcyBub3QgbGlua2VkIHRvIHByb3BlcnRpZXMgaW5cbiAgICAgKiBgUHJlZmVyZW5jZXNgIGlzIGFuIGVycm9yLlxuICAgICAqL1xuICAgIHVwZGF0ZVByZWZlcmVuY2VzKHJlcTogeyBob3N0SWQ6IHN0cmluZywgcHJlZmVyZW5jZXM6IFBhcnRpYWw8UHJlZmVyZW5jZXM+LCB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgUHJlZmVyZW5jZXMpW10gfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBjb25zdCBmaWVsZE1hc2sgPSBnZXRGaWVsZE1hc2soe286IHJlcS5wcmVmZXJlbmNlcywgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVIb3N0UHJlZmVyZW5jZXMoe1xuICAgICAgICAgICAgaG9zdElkOiByZXEuaG9zdElkLFxuICAgICAgICAgICAgcHJlZmVyZW5jZXM6IHJlcS5wcmVmZXJlbmNlcyxcbiAgICAgICAgICAgIGZpZWxkTWFzayxcbiAgICAgICAgfSkucGlwZShtYXBUbyh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBnZXRQcmVmZXJlbmNlcyhyZXE6IHsgaG9zdElkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8UHJlZmVyZW5jZXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0SG9zdFByZWZlcmVuY2VzKHtcbiAgICAgICAgICAgIGhvc3RJZDogcmVxLmhvc3RJZFxuICAgICAgICB9KS5waXBlKG1hcChyZXNwb25zZSA9PiBQcmVmZXJlbmNlc0Zyb21BcGkocmVzcG9uc2UucHJlZmVyZW5jZXMpKSlcbiAgICB9XG5cbiAgICBnZXRNZWV0aW5nKG1lZXRpbmdJZDogc3RyaW5nLCBsb2NhdGlvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZWV0aW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmdldEhvc3RNZWV0aW5nKHtcbiAgICAgICAgICAgIG1lZXRpbmdJZDogbWVldGluZ0lkLCBsb2NhdGlvbjogbG9jYXRpb24sXG4gICAgICAgIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3A6IEdldEhvc3RNZWV0aW5nUmVzcG9uc2UpID0+IG1lZXRpbmdGcm9tQXBpKHJlc3AubWVldGluZykpXG4gICAgICAgIClcbiAgICB9XG5cbiAgICB1cGRhdGVNZWV0aW5nTWV0YWRhdGEocmVxOiB7IG1lZXRpbmdJZDogc3RyaW5nLCBtZXRhZGF0YTogTWVldGluZ01ldGFkYXRhIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UudXBkYXRlTWVldGluZ01ldGFkYXRhKHtcbiAgICAgICAgICAgIG1lZXRpbmdJZDogcmVxLm1lZXRpbmdJZCxcbiAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGFcbiAgICAgICAgfSkucGlwZShtYXBUbyh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBib29rTWVldGluZyhyZXE6IEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5ib29rTWVldGluZyhyZXEpLnBpcGUobWFwKChyZXNwOiBIb3N0Qm9va01lZXRpbmdSZXNwb25zZSkgPT4gcmVzcC5tZWV0aW5nSWQpKTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzIHdpbGwgY3JlYXRlIHdoYXQgTWVldGluZyBTY2hlZHVsZXIgZGVlbXMgdG8gYmUgdGhlIGRlZmF1bHQgbWVldGluZyB0eXBlcy5cbiAgICAvLyBJZiB0aGUgY2FsZW5kYXIgYWxyZWFkeSBoYXMgbWVldGluZyB0eXBlcywgdGhpcyBpcyBndWFyYW50ZWVkIHRvIGJlIGEgbm8tb3AuXG4gICAgY3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlcyhyZXE6IHsgY2FsZW5kYXJJZHM6IHN0cmluZ1tdLCB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmNyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXMoe2NhbGVuZGFySWRzOiByZXEuY2FsZW5kYXJJZHN9KS5waXBlKG1hcFRvKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGNyZWF0ZU1lZXRpbmdUeXBlKHJlcTogeyBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGUsIHVwZGF0ZUZpZWxkcz86IChrZXlvZiBNZWV0aW5nVHlwZSlbXSwgSG9zdElkPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBmaWVsZE1hc2sgPSBnZXRGaWVsZE1hc2soe286IHJlcS5tZWV0aW5nVHlwZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVNZWV0aW5nVHlwZSh7XG4gICAgICAgICAgICBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGVUb0FwaSh7bWVldGluZ1R5cGU6IHJlcS5tZWV0aW5nVHlwZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLmlkKSk7XG4gICAgfVxuXG4gICAgLyogdXBkYXRlTWVldGluZ1R5cGUgd2lsbCB1cGRhdGUgdGhlIG1lZXRpbmcgdHlwZSBmaWVsZHMuXG4gICAgICogSXQgaXMgZ3VhcmFudGVlZCB0byBvbmx5IHVwZGF0ZSB0aGUgZmllbGRzIHByb3ZpZGVkLlxuICAgICAqIEZvciBleGFtcGxlOlxuICAgICAqICB1cGRhdGVNZWV0aW5nVHlwZSh7bmFtZTogJ09uYm9hcmRpbmcnfSlcbiAgICAgKiAgd2lsbCBvbmx5IHVwZGF0ZSB0aGUgZmllbGQgJ25hbWUnIHRvICdPbmJvYXJkaW5nJy4gS2VlcGluZyB0aGUgb3RoZXIgZmllbGRzIHRoZSBzYW1lLlxuICAgICAqXG4gICAgICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBwcm92aWRlIGEgbGlzdCBvZiBrZXlzIHRvIHVwZGF0ZSBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuICAgICAqIEZvciBleGFtcGxlOlxuICAgICAqICAgdXBkYXRlTWVldGluZ1R5cGUoey4uLm9iamVjdCB3aXRoIGFsbCBmaWVsZHN9LCBbJ25hbWUnXSlcbiAgICAgKiAgIHdpbGwgb25seSB1cGRhdGUgdGhlIGZpZWxkICduYW1lJyB0byB0aGUgdmFsdWUgcGFzc2VkIGluLlxuICAgICAqXG4gICAgICogQ2FsbGluZyB3aXRoIGFuIGVtcHR5IG9iamVjdCBhbmQgbm8ga2V5cyBpcyBhIG5vLW9wLCBvciBhbiB1bmRlZmluZWQgb2JqZWN0LlxuICAgICAqIENhbGxpbmcgd2l0aCBhbiBvYmplY3QgY29udGFpbmluZyBmaWVsZHMgbm90IGluIGBNZWV0aW5nVHlwZWAgb3Igd2l0aCB1cGRhdGVGaWVsZHMgbm90IGxpbmtlZCB0byBwcm9wZXJ0aWVzIGluXG4gICAgICogYE1lZXRpbmdUeXBlYCBpcyBhbiBlcnJvci5cbiAgICAgKi9cbiAgICB1cGRhdGVNZWV0aW5nVHlwZShyZXE6IHsgaWQ6IHN0cmluZywgbWVldGluZ1R5cGU6IFBhcnRpYWw8TWVldGluZ1R5cGU+LCB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgTWVldGluZ1R5cGUpW10sIEhvc3RJZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTWFzayA9IGdldEZpZWxkTWFzayh7bzogcmVxLm1lZXRpbmdUeXBlLCB1cGRhdGVGaWVsZHM6IHJlcS51cGRhdGVGaWVsZHN9KTtcbiAgICAgICAgaWYgKGZpZWxkTWFzay5wYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnVwZGF0ZU1lZXRpbmdUeXBlKHtcbiAgICAgICAgICAgIGlkOiByZXEuaWQsXG4gICAgICAgICAgICBtZWV0aW5nVHlwZTogTWVldGluZ1R5cGVUb0FwaSh7bWVldGluZ1R5cGU6IHJlcS5tZWV0aW5nVHlwZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlTWVldGluZ1R5cGUocmVxOiB7IGlkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5kZWxldGVNZWV0aW5nVHlwZSh7aWQ6IHJlcS5pZH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZ2V0SG9zdHNGb3JDYWxlbmRhcihyZXE6IHsgY2FsZW5kYXJJZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPEhvc3RVc2VyW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuZ2V0SG9zdHNGb3JDYWxlbmRhcih7Y2FsZW5kYXJJZDogcmVxLmNhbGVuZGFySWR9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChyZXMuaG9zdFVzZXJzIHx8IFtdKS5tYXAoaG9zdHVzZXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaG9zdFVzZXJGcm9tQXBpKGhvc3R1c2VyKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgfVxuXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWQocmVxOiBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuaXNDYWxlbmRhckNvbmZpZ3VyZWQocmVxKTtcbiAgICB9XG5cbiAgICBzZW5kTWVldGluZ1JlcXVlc3RFbWFpbChyZXE6IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsKHJlcSk7XG4gICAgfVxuXG4gICAgY3JlYXRlU2VydmljZShyZXE6IHsgc2VydmljZTogU2VydmljZSwgdXBkYXRlRmllbGRzPzogKGtleW9mIFNlcnZpY2UpW10sIEhvc3RJZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuc2VydmljZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS5jcmVhdGVTZXJ2aWNlKHtcbiAgICAgICAgICAgIHNlcnZpY2U6IFNlcnZpY2VUeXBlVG9BcGkoe3NlcnZpY2U6IHJlcS5zZXJ2aWNlfSksXG4gICAgICAgICAgICBmaWVsZE1hc2ssXG4gICAgICAgICAgICBob3N0SWQ6IHJlcS5Ib3N0SWRcbiAgICAgICAgfSkucGlwZShtYXAocmVzID0+IHJlcy5pZCkpXG4gICAgfVxuXG4gICAgdXBkYXRlU2VydmljZShyZXE6IHtcbiAgICAgICAgaWQ6IHN0cmluZyxcbiAgICAgICAgc2VydmljZTogUGFydGlhbDxTZXJ2aWNlPixcbiAgICAgICAgdXBkYXRlRmllbGRzPzogKGtleW9mIFNlcnZpY2UpW10sXG4gICAgICAgIEhvc3RJZD86IHN0cmluZ1xuICAgIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuc2VydmljZSwgdXBkYXRlRmllbGRzOiByZXEudXBkYXRlRmllbGRzfSk7XG4gICAgICAgIGlmIChmaWVsZE1hc2sucGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5ob3N0QVBJU2VydmljZS51cGRhdGVTZXJ2aWNlKHtcbiAgICAgICAgICAgIGlkOiByZXEuaWQsXG4gICAgICAgICAgICBzZXJ2aWNlOiBTZXJ2aWNlVHlwZVRvQXBpKHtzZXJ2aWNlOiByZXEuc2VydmljZX0pLFxuICAgICAgICAgICAgZmllbGRNYXNrLFxuICAgICAgICAgICAgaG9zdElkOiByZXEuSG9zdElkXG4gICAgICAgIH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlU2VydmljZShyZXE6IHsgaWQ6IHN0cmluZyxob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmRlbGV0ZVNlcnZpY2Uoe2lkOiByZXEuaWQsaG9zdElkOiByZXEuaG9zdElkfSkucGlwZShtYXBUbyh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBsaXN0U2VydmljZXMoIHJlcTogeyBob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxTZXJ2aWNlW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdFNlcnZpY2VzKHtob3N0SWQ6IHJlcS5ob3N0SWR9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXMgfHwgIXJlcy5zZXJ2aWNlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXMuc2VydmljZXMubWFwKHNlcnZpY2UgPT4gU2VydmljZUZyb21BcGkoe3NlcnZpY2VBcGk6IHNlcnZpY2UsZW52aXJvbm1lbnQ6IG9uUHJvZHVjdGlvbkdsb2JhbCgpID8gRW52aXJvbm1lbnQuUFJPRCA6IEVudmlyb25tZW50LkRFTU99KSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBjcmVhdGVHcm91cChyZXE6IHsgZ3JvdXA6IEdyb3VwLCB1cGRhdGVGaWVsZHM/OiAoa2V5b2YgR3JvdXApW10sIEhvc3RJZD86IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgY29uc3QgZmllbGRNYXNrID0gZ2V0RmllbGRNYXNrKHtvOiByZXEuZ3JvdXAsIHVwZGF0ZUZpZWxkczogcmVxLnVwZGF0ZUZpZWxkc30pO1xuICAgICAgICBpZiAoZmllbGRNYXNrLnBhdGhzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UuY3JlYXRlR3JvdXAoe1xuICAgICAgICAgICAgZ3JvdXA6IEdyb3VwVHlwZVRvQVBpKHtncm91cDogcmVxLmdyb3VwfSksXG4gICAgICAgICAgICBmaWVsZE1hc2ssXG4gICAgICAgICAgICBob3N0SWQ6IHJlcS5Ib3N0SWRcbiAgICAgICAgfSkucGlwZShtYXAocmVzID0+IHJlcy5pZCkpXG4gICAgfVxuXG4gICAgdXBkYXRlR3JvdXAocmVxOiB7XG4gICAgICAgIGlkOiBzdHJpbmcsXG4gICAgICAgIGdyb3VwOiBQYXJ0aWFsPEdyb3VwPixcbiAgICAgICAgdXBkYXRlRmllbGRzPzogKGtleW9mIEdyb3VwKVtdLFxuICAgICAgICBIb3N0SWQ/OiBzdHJpbmdcbiAgICB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTWFzayA9IGdldEZpZWxkTWFzayh7bzogcmVxLmdyb3VwLCB1cGRhdGVGaWVsZHM6IHJlcS51cGRhdGVGaWVsZHN9KTtcbiAgICAgICAgaWYgKGZpZWxkTWFzay5wYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBvZigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLnVwZGF0ZUdyb3VwKHtcbiAgICAgICAgICAgIGlkOiByZXEuaWQsXG4gICAgICAgICAgICBncm91cDogR3JvdXBUeXBlVG9BUGkoe2dyb3VwOiByZXEuZ3JvdXB9KSxcbiAgICAgICAgICAgIGZpZWxkTWFzayxcbiAgICAgICAgICAgIGhvc3RJZDogcmVxLkhvc3RJZFxuICAgICAgICB9KS5waXBlKG1hcFRvKHVuZGVmaW5lZCkpO1xuICAgIH1cblxuICAgIGRlbGV0ZUdyb3VwKHJlcTogeyBpZDogc3RyaW5nLCBob3N0SWQ6IHN0cmluZyB9KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvc3RBUElTZXJ2aWNlLmRlbGV0ZUdyb3VwKHtpZDogcmVxLmlkLGhvc3RJZDogcmVxLmhvc3RJZH0pLnBpcGUobWFwVG8odW5kZWZpbmVkKSk7XG4gICAgfVxuXG4gICAgbGlzdEdyb3VwcyggcmVxOiB7IGhvc3RJZDogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPEdyb3VwW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdEFQSVNlcnZpY2UubGlzdEdyb3Vwcyh7aG9zdElkOiByZXEuaG9zdElkfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVzIHx8ICFyZXMuZ3JvdXBzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5ncm91cHMubWFwKGdyb3VwID0+IEdyb3VwRnJvbUFwaSh7Z3JvdXBBcGk6IGdyb3VwLGVudmlyb25tZW50OiBvblByb2R1Y3Rpb25HbG9iYWwoKSA/IEVudmlyb25tZW50LlBST0QgOiBFbnZpcm9ubWVudC5ERU1PfSkpXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgfVxuXG5cbn1cblxuXG5cbiJdfQ==
@@ -4,7 +4,13 @@ export function getBookingUrlImplementation(req) {
4
4
  const domain = getDomainFromEnvironment(req.environment);
5
5
  const meetingType = req.meetingTypeSlug || req.meetingTypeId || '30-minutes';
6
6
  const calendarSlug = req.calendarSlug || req.calendarId;
7
- const url = `https://${domain}/book/${calendarSlug}/${meetingType}`;
7
+ let url = `https://${domain}/book/${calendarSlug}/${meetingType}`;
8
+ if (calendarSlug.startsWith("GRP-")) {
9
+ url = `https://${domain}/group/${calendarSlug}/${meetingType}`;
10
+ }
11
+ if (calendarSlug.startsWith("SVS-")) {
12
+ url = `https://${domain}/service/${calendarSlug}/${meetingType}`;
13
+ }
8
14
  if (!req.metadata) {
9
15
  return url;
10
16
  }
@@ -36,4 +42,4 @@ export function addMetadataToBookingLink(req) {
36
42
  }, '');
37
43
  return `${req.link}${queryParams}`;
38
44
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvaG9zdC91cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsMkJBQTJCLENBQ3ZDLEdBUUM7SUFFRCxNQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsYUFBYSxJQUFJLFlBQVksQ0FBQztJQUM3RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDeEQsTUFBTSxHQUFHLEdBQUcsV0FBVyxNQUFNLFNBQVMsWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1FBQ2YsT0FBTyxHQUFHLENBQUM7S0FDZDtJQUNELE9BQU8sd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLEdBS2xEO0lBQ0csTUFBTSxHQUFHLEdBQUcsV0FBVyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLFlBQVksSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekcsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDOUYsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQUMsR0FBNEM7SUFDMUUsSUFBSSxHQUFHLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRTtRQUMxQixPQUFPLGdCQUFnQixDQUFDO0tBQzNCO0lBQ0QsT0FBTyw2QkFBNkIsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEdBQTBEO0lBQy9GLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1FBQ2YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO0tBQ25CO0lBQ0QsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLFFBQXFDLENBQUM7SUFDcEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDdEQsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM1QixPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2FBQzlCO1lBQ0QsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztTQUM5QjtRQUNELE9BQU8sR0FBRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVQLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLFdBQVcsRUFBRSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBIHRlbXBvcmFyeSBtZXRob2QgZm9yIGJ1aWxkaW5nIHRoZSB1cmwgZm9yIGEgaG9zdCwgZXZlbnRUeXBlSWQsIGFuZCBtZXRhZGF0YVxuaW1wb3J0IHtFbnZpcm9ubWVudH0gZnJvbSBcIi4uL3NoYXJlZC9lbnZpcm9ubWVudFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKFxuICAgIHJlcToge1xuICAgICAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgICAgIGNhbGVuZGFySWQ6IHN0cmluZyxcbiAgICAgICAgLy8gQGRlcHJlY2F0ZWQ6IHVzZSBtZWV0aW5nVHlwZVNsdWcgaW5zdGVhZFxuICAgICAgICBtZWV0aW5nVHlwZUlkPzogc3RyaW5nLFxuICAgICAgICBtZWV0aW5nVHlwZVNsdWc/OiBzdHJpbmcsXG4gICAgICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZyxcbiAgICB9XG4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRvbWFpbiA9IGdldERvbWFpbkZyb21FbnZpcm9ubWVudChyZXEuZW52aXJvbm1lbnQpO1xuICAgIGNvbnN0IG1lZXRpbmdUeXBlID0gcmVxLm1lZXRpbmdUeXBlU2x1ZyB8fCByZXEubWVldGluZ1R5cGVJZCB8fCAnMzAtbWludXRlcyc7XG4gICAgY29uc3QgY2FsZW5kYXJTbHVnID0gcmVxLmNhbGVuZGFyU2x1ZyB8fCByZXEuY2FsZW5kYXJJZDtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly8ke2RvbWFpbn0vYm9vay8ke2NhbGVuZGFyU2x1Z30vJHttZWV0aW5nVHlwZX1gO1xuICAgIGlmICghcmVxLm1ldGFkYXRhKSB7XG4gICAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuICAgIHJldHVybiBhZGRNZXRhZGF0YVRvQm9va2luZ0xpbmsoe2xpbms6IHVybCwgbWV0YWRhdGE6IHJlcS5tZXRhZGF0YX0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0R2VuZXJhbEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbihyZXE6IHtcbiAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgY2FsZW5kYXJJZDogc3RyaW5nLFxuICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgY2FsZW5kYXJTbHVnPzogc3RyaW5nLFxufSk6IHN0cmluZyB7XG4gICAgY29uc3QgdXJsID0gYGh0dHBzOi8vJHtnZXREb21haW5Gcm9tRW52aXJvbm1lbnQocmVxLmVudmlyb25tZW50KX0vJHtyZXEuY2FsZW5kYXJTbHVnIHx8IHJlcS5jYWxlbmRhcklkfWA7XG4gICAgcmV0dXJuIHJlcS5tZXRhZGF0YSA/IGFkZE1ldGFkYXRhVG9Cb29raW5nTGluayh7bGluazogdXJsLCBtZXRhZGF0YTogcmVxLm1ldGFkYXRhfSkgOiB1cmw7XG59XG5cbmZ1bmN0aW9uIGdldERvbWFpbkZyb21FbnZpcm9ubWVudChlbnY6IEVudmlyb25tZW50IHwgJ3Byb2QnIHwgJ2RlbW8nIHwgJ2xvY2FsJyk6IHN0cmluZyB7XG4gICAgaWYgKGVudiA9PT0gRW52aXJvbm1lbnQuUFJPRCkge1xuICAgICAgICByZXR1cm4gJ2Jvb2ttZW5vdy5pbmZvJztcbiAgICB9XG4gICAgcmV0dXJuICdtZWV0aW5ncy1kZW1vLmFwaWdhdGV3YXkuY28nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rKHJlcTogeyBsaW5rOiBzdHJpbmcsIG1ldGFkYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IH0pOiBzdHJpbmcge1xuICAgIGlmICghcmVxLm1ldGFkYXRhKSB7XG4gICAgICAgIHJldHVybiByZXEubGluaztcbiAgICB9XG4gICAgY29uc3QgbSA9IHJlcS5tZXRhZGF0YSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmtleXMobSkucmVkdWNlKChwYXJhbXMsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIXBhcmFtcykge1xuICAgICAgICAgICAgaWYgKHJlcS5saW5rLmluZGV4T2YoJz8nKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAmJHtrZXl9PSR7bVtrZXldfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYD8ke2tleX09JHttW2tleV19YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7cGFyYW1zfSYke2tleX09JHttW2tleV19YDtcbiAgICB9LCAnJyk7XG5cbiAgICByZXR1cm4gYCR7cmVxLmxpbmt9JHtxdWVyeVBhcmFtc31gO1xufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvaG9zdC91cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0ZBQWdGO0FBQ2hGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsMkJBQTJCLENBQ3ZDLEdBUUM7SUFFRCxNQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsYUFBYSxJQUFJLFlBQVksQ0FBQztJQUM3RSxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUM7SUFDeEQsSUFBSSxHQUFHLEdBQUcsV0FBVyxNQUFNLFNBQVMsWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ2xFLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBQztRQUNoQyxHQUFHLEdBQUcsV0FBVyxNQUFNLFVBQVUsWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO0tBQ2xFO0lBQ0QsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFDO1FBQ2hDLEdBQUcsR0FBRyxXQUFXLE1BQU0sWUFBWSxZQUFZLElBQUksV0FBVyxFQUFFLENBQUM7S0FDcEU7SUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtRQUNmLE9BQU8sR0FBRyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLHdCQUF3QixDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVELE1BQU0sVUFBVSxrQ0FBa0MsQ0FBQyxHQUtsRDtJQUNHLE1BQU0sR0FBRyxHQUFHLFdBQVcsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pHLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzlGLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLEdBQTRDO0lBQzFFLElBQUksR0FBRyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7UUFDMUIsT0FBTyxnQkFBZ0IsQ0FBQztLQUMzQjtJQUNELE9BQU8sNkJBQTZCLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxHQUEwRDtJQUMvRixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtRQUNmLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQztLQUNuQjtJQUNELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxRQUFxQyxDQUFDO0lBQ3BELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQzthQUM5QjtZQUNELE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDOUI7UUFDRCxPQUFPLEdBQUcsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxXQUFXLEVBQUUsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQSB0ZW1wb3JhcnkgbWV0aG9kIGZvciBidWlsZGluZyB0aGUgdXJsIGZvciBhIGhvc3QsIGV2ZW50VHlwZUlkLCBhbmQgbWV0YWRhdGFcbmltcG9ydCB7RW52aXJvbm1lbnR9IGZyb20gXCIuLi9zaGFyZWQvZW52aXJvbm1lbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbihcbiAgICByZXE6IHtcbiAgICAgICAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuICAgICAgICBjYWxlbmRhcklkOiBzdHJpbmcsXG4gICAgICAgIC8vIEBkZXByZWNhdGVkOiB1c2UgbWVldGluZ1R5cGVTbHVnIGluc3RlYWRcbiAgICAgICAgbWVldGluZ1R5cGVJZD86IHN0cmluZyxcbiAgICAgICAgbWVldGluZ1R5cGVTbHVnPzogc3RyaW5nLFxuICAgICAgICBtZXRhZGF0YT86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBjYWxlbmRhclNsdWc/OiBzdHJpbmcsXG4gICAgfVxuKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW4gPSBnZXREb21haW5Gcm9tRW52aXJvbm1lbnQocmVxLmVudmlyb25tZW50KTtcbiAgICBjb25zdCBtZWV0aW5nVHlwZSA9IHJlcS5tZWV0aW5nVHlwZVNsdWcgfHwgcmVxLm1lZXRpbmdUeXBlSWQgfHwgJzMwLW1pbnV0ZXMnO1xuICAgIGNvbnN0IGNhbGVuZGFyU2x1ZyA9IHJlcS5jYWxlbmRhclNsdWcgfHwgcmVxLmNhbGVuZGFySWQ7XG4gICAgbGV0IHVybCA9IGBodHRwczovLyR7ZG9tYWlufS9ib29rLyR7Y2FsZW5kYXJTbHVnfS8ke21lZXRpbmdUeXBlfWA7XG4gICAgaWYgKGNhbGVuZGFyU2x1Zy5zdGFydHNXaXRoKFwiR1JQLVwiKSl7XG4gICAgICAgIHVybCA9IGBodHRwczovLyR7ZG9tYWlufS9ncm91cC8ke2NhbGVuZGFyU2x1Z30vJHttZWV0aW5nVHlwZX1gO1xuICAgIH1cbiAgICBpZiAoY2FsZW5kYXJTbHVnLnN0YXJ0c1dpdGgoXCJTVlMtXCIpKXtcbiAgICAgICAgdXJsID0gYGh0dHBzOi8vJHtkb21haW59L3NlcnZpY2UvJHtjYWxlbmRhclNsdWd9LyR7bWVldGluZ1R5cGV9YDtcbiAgICB9XG4gICAgaWYgKCFyZXEubWV0YWRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG4gICAgcmV0dXJuIGFkZE1ldGFkYXRhVG9Cb29raW5nTGluayh7bGluazogdXJsLCBtZXRhZGF0YTogcmVxLm1ldGFkYXRhfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRHZW5lcmFsQm9va2luZ1VybEltcGxlbWVudGF0aW9uKHJlcToge1xuICAgIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBjYWxlbmRhcklkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICBjYWxlbmRhclNsdWc/OiBzdHJpbmcsXG59KTogc3RyaW5nIHtcbiAgICBjb25zdCB1cmwgPSBgaHR0cHM6Ly8ke2dldERvbWFpbkZyb21FbnZpcm9ubWVudChyZXEuZW52aXJvbm1lbnQpfS8ke3JlcS5jYWxlbmRhclNsdWcgfHwgcmVxLmNhbGVuZGFySWR9YDtcbiAgICByZXR1cm4gcmVxLm1ldGFkYXRhID8gYWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rKHtsaW5rOiB1cmwsIG1ldGFkYXRhOiByZXEubWV0YWRhdGF9KSA6IHVybDtcbn1cblxuZnVuY3Rpb24gZ2V0RG9tYWluRnJvbUVudmlyb25tZW50KGVudjogRW52aXJvbm1lbnQgfCAncHJvZCcgfCAnZGVtbycgfCAnbG9jYWwnKTogc3RyaW5nIHtcbiAgICBpZiAoZW52ID09PSBFbnZpcm9ubWVudC5QUk9EKSB7XG4gICAgICAgIHJldHVybiAnYm9va21lbm93LmluZm8nO1xuICAgIH1cbiAgICByZXR1cm4gJ21lZXRpbmdzLWRlbW8uYXBpZ2F0ZXdheS5jbyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRNZXRhZGF0YVRvQm9va2luZ0xpbmsocmVxOiB7IGxpbms6IHN0cmluZywgbWV0YWRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfSk6IHN0cmluZyB7XG4gICAgaWYgKCFyZXEubWV0YWRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHJlcS5saW5rO1xuICAgIH1cbiAgICBjb25zdCBtID0gcmVxLm1ldGFkYXRhIGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSBPYmplY3Qua2V5cyhtKS5yZWR1Y2UoKHBhcmFtcywga2V5KSA9PiB7XG4gICAgICAgIGlmICghcGFyYW1zKSB7XG4gICAgICAgICAgICBpZiAocmVxLmxpbmsuaW5kZXhPZignPycpID49IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCYke2tleX09JHttW2tleV19YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBgPyR7a2V5fT0ke21ba2V5XX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtwYXJhbXN9JiR7a2V5fT0ke21ba2V5XX1gO1xuICAgIH0sICcnKTtcblxuICAgIHJldHVybiBgJHtyZXEubGlua30ke3F1ZXJ5UGFyYW1zfWA7XG59XG4iXX0=
@@ -52,7 +52,7 @@ export function AssociationFromApi(associationApi) {
52
52
  export function GroupFromApi(req) {
53
53
  const groupId = req.groupApi.id || '';
54
54
  const groupSlug = req.groupApi.slug || '';
55
- const bookingUrl = req?.groupApi?.bookingUrl || getBookingURL(req.environment, groupSlug, groupId, "group");
55
+ const bookingUrl = req?.groupApi?.bookingUrl || getBookingURL(req.environment, groupSlug, groupId);
56
56
  return {
57
57
  id: groupId,
58
58
  name: req.groupApi.name || '',
@@ -64,13 +64,13 @@ export function GroupFromApi(req) {
64
64
  bookingUrl: bookingUrl
65
65
  };
66
66
  }
67
- export function getBookingURL(environment, slug, id, calendarId) {
67
+ export function getBookingURL(environment, slug, calendarId) {
68
68
  let bookingUrl = '';
69
- if (slug != '' || id != '') {
69
+ if (slug != '') {
70
70
  bookingUrl = getBookingUrlImplementation({
71
71
  environment: environment,
72
72
  calendarId: calendarId,
73
- meetingTypeSlug: slug || id,
73
+ meetingTypeSlug: slug,
74
74
  });
75
75
  }
76
76
  return bookingUrl;
@@ -78,7 +78,7 @@ export function getBookingURL(environment, slug, id, calendarId) {
78
78
  export function ServiceFromApi(req) {
79
79
  const serviceId = req.serviceApi.id || '';
80
80
  const serviceSlug = req.serviceApi.slug || '';
81
- const bookingUrl = req?.serviceApi?.bookingUrl || getBookingURL(req.environment, serviceSlug, serviceId, "service");
81
+ const bookingUrl = req?.serviceApi?.bookingUrl || getBookingURL(req.environment, serviceSlug, serviceId);
82
82
  return {
83
83
  id: req.serviceApi.id || '',
84
84
  name: req.serviceApi.name || '',
@@ -90,4 +90,4 @@ export function ServiceFromApi(req) {
90
90
  bookingUrl: bookingUrl
91
91
  };
92
92
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLWFuZC1zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21lZXRpbmdzX3Nkay9zcmMvbGliL3NoYXJlZC9ncm91cHMtYW5kLXNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQW1DeEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUE4QjtJQUN6RCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3BCLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDSixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsT0FBTztRQUNILEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLFNBQVM7UUFDckIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksU0FBUztRQUN6QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxTQUFTO1FBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVM7UUFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUztRQUNqQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNuRixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTO0tBQ3BDLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQWtDO0lBQy9ELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDdEIsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNKLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxPQUFPO1FBQ0gsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksU0FBUztRQUNyQixJQUFJ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bnRlbnQiOlsiaW1wb3J0IHtcbiAgICBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9uc0ludGVyZmFjZSxcbiAgICBHcm91cEludGVyZmFjZSxcbiAgICBTZXJ2aWNlSW50ZXJmYWNlXG59IGZyb20gXCIuLi9faW50ZXJuYWxcIjtcbmltcG9ydCB7Z2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9ufSBmcm9tIFwiLi4vaG9zdC91cmxcIjtcbmltcG9ydCB7RW52aXJvbm1lbnR9IGZyb20gXCIuL2Vudmlyb25tZW50XCI7XG5cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cCB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzbHVnOiBzdHJpbmc7XG4gICAgaXNQaW5uZWQ6IGJvb2xlYW47XG4gICAgYXNzb2NpYXRpb25zOiBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9uc1tdO1xuICAgIGhleENvbG9yPzogc3RyaW5nO1xuICAgIGJvb2tpbmdVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRHcm91cEFuZFNlcnZpY2VBc3NvY2lhdGlvbnMge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV2ZW50VHlwZTogc3RyaW5nO1xuICAgIGlkZW50aWZpZXI6IHN0cmluZztcbiAgICBpc0VkaXRhYmxlPyA6IGJvb2xlYW47XG4gICAgY3JlYXRvclVzZXJOYW1lPyA6IHN0cmluZztcbiB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBzbHVnOiBzdHJpbmc7XG4gICAgaXNQaW5uZWQ6IGJvb2xlYW47XG4gICAgYXNzb2NpYXRpb25zOiBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9uc1tdO1xuICAgIGhleENvbG9yPzogc3RyaW5nO1xuICAgIGJvb2tpbmdVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHcm91cFR5cGVUb0FQaShyZXE6IHsgZ3JvdXA6IFBhcnRpYWw8R3JvdXA+IH0pOiBHcm91cEludGVyZmFjZSB7XG4gICAgY29uc3QgbSA9IHJlcS5ncm91cDtcbiAgICBpZiAoIW0pIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogbS5pZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIG5hbWU6IG0ubmFtZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgc2x1ZzogbS5zbHVnIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNQaW5uZWQ6IG0uaXNQaW5uZWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhc3NvY2lhdGlvbnM6IG0uYXNzb2NpYXRpb25zID8gbS5hc3NvY2lhdGlvbnMubWFwKEFzc29jaWF0aW9uVHlwZVRvQXBpKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGV4Q29sb3I6IG0uaGV4Q29sb3IgfHwgdW5kZWZpbmVkLFxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZpY2VUeXBlVG9BcGkocmVxOiB7IHNlcnZpY2U6IFBhcnRpYWw8U2VydmljZT4gfSk6IFNlcnZpY2VJbnRlcmZhY2Uge1xuICAgIGNvbnN0IG0gPSByZXEuc2VydmljZTtcbiAgICBpZiAoIW0pIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogbS5pZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIG5hbWU6IG0ubmFtZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgc2x1ZzogbS5zbHVnIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNQaW5uZWQ6IG0uaXNQaW5uZWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhc3NvY2lhdGlvbnM6IG0uYXNzb2NpYXRpb25zID8gbS5hc3NvY2lhdGlvbnMubWFwKEFzc29jaWF0aW9uVHlwZVRvQXBpKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgaGV4Q29sb3I6IG0uaGV4Q29sb3IgfHwgdW5kZWZpbmVkLFxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFzc29jaWF0aW9uVHlwZVRvQXBpKGFzc29jaWF0aW9uOiBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9ucyk6IEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zSW50ZXJmYWNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogYXNzb2NpYXRpb24uaWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiBhc3NvY2lhdGlvbi5uYW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZXZlbnRUeXBlOiBhc3NvY2lhdGlvbi5ldmVudFR5cGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBpZGVudGlmaWVyOiBhc3NvY2lhdGlvbi5pZGVudGlmaWVyIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNFZGl0YWJsZTogYXNzb2NpYXRpb24uaXNFZGl0YWJsZSB8fCB0cnVlLFxuICAgICAgICBjcmVhdG9yVXNlck5hbWU6IGFzc29jaWF0aW9uLmNyZWF0b3JVc2VyTmFtZSB8fCB1bmRlZmluZWRcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBc3NvY2lhdGlvbkZyb21BcGkoYXNzb2NpYXRpb25BcGk6IEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zSW50ZXJmYWNlKTogRXZlbnRHcm91cEFuZFNlcnZpY2VBc3NvY2lhdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBhc3NvY2lhdGlvbkFwaS5pZCB8fCAnJyxcbiAgICAgICAgbmFtZTogYXNzb2NpYXRpb25BcGkubmFtZSB8fCAnJyxcbiAgICAgICAgZXZlbnRUeXBlOiBhc3NvY2lhdGlvbkFwaS5ldmVudFR5cGUgfHwgJycsXG4gICAgICAgIGlkZW50aWZpZXI6IGFzc29jaWF0aW9uQXBpLmlkZW50aWZpZXIgfHwgJycsXG4gICAgICAgIGlzRWRpdGFibGU6IGFzc29jaWF0aW9uQXBpLmlzRWRpdGFibGUgfHwgdHJ1ZSxcbiAgICAgICAgY3JlYXRvclVzZXJOYW1lOiBhc3NvY2lhdGlvbkFwaS5jcmVhdG9yVXNlck5hbWUgfHwgJydcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHcm91cEZyb21BcGkocmVxOntncm91cEFwaTogR3JvdXBJbnRlcmZhY2UsZW52aXJvbm1lbnQ6IEVudmlyb25tZW50fSk6IEdyb3VwIHtcbiAgICBjb25zdCBncm91cElkID0gcmVxLmdyb3VwQXBpLmlkIHx8ICcnO1xuICAgIGNvbnN0IGdyb3VwU2x1ZyA9IHJlcS5ncm91cEFwaS5zbHVnIHx8ICcnO1xuICAgIGNvbnN0IGJvb2tpbmdVcmwgPSByZXE/Lmdyb3VwQXBpPy5ib29raW5nVXJsIHx8IGdldEJvb2tpbmdVUkwocmVxLmVudmlyb25tZW50LCBncm91cFNsdWcsIGdyb3VwSWQsXCJncm91cFwiKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogZ3JvdXBJZCxcbiAgICAgICAgbmFtZTogcmVxLmdyb3VwQXBpLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiByZXEuZ3JvdXBBcGkuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgIHNsdWc6IGdyb3VwU2x1ZyxcbiAgICAgICAgaXNQaW5uZWQ6IHJlcS5ncm91cEFwaS5pc1Bpbm5lZCB8fCBmYWxzZSxcbiAgICAgICAgYXNzb2NpYXRpb25zOiByZXEuZ3JvdXBBcGkuYXNzb2NpYXRpb25zID8gcmVxLmdyb3VwQXBpLmFzc29jaWF0aW9ucy5tYXAoQXNzb2NpYXRpb25Gcm9tQXBpKSA6IFtdLFxuICAgICAgICBoZXhDb2xvcjogcmVxLmdyb3VwQXBpLmhleENvbG9yIHx8ICcnLFxuICAgICAgICBib29raW5nVXJsOiBib29raW5nVXJsXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va2luZ1VSTChlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsIHNsdWc6IHN0cmluZywgaWQ6c3RyaW5nLCBjYWxlbmRhcklkOnN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IGJvb2tpbmdVcmwgPSAnJztcbiAgICBpZiAoc2x1ZyAhPSAnJyB8fCBpZCAhPSAnJykge1xuICAgICAgICBib29raW5nVXJsID0gZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKHtcbiAgICAgICAgICAgIGVudmlyb25tZW50OiBlbnZpcm9ubWVudCxcbiAgICAgICAgICAgIGNhbGVuZGFySWQ6IGNhbGVuZGFySWQsXG4gICAgICAgICAgICBtZWV0aW5nVHlwZVNsdWc6IHNsdWcgfHwgaWQsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYm9va2luZ1VybDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZpY2VGcm9tQXBpKHJlcTp7c2VydmljZUFwaTogU2VydmljZUludGVyZmFjZSxlbnZpcm9ubWVudDogRW52aXJvbm1lbnR9KTogU2VydmljZSB7XG4gICAgY29uc3Qgc2VydmljZUlkID0gcmVxLnNlcnZpY2VBcGkuaWQgfHwgJyc7XG4gICAgY29uc3Qgc2VydmljZVNsdWcgPSByZXEuc2VydmljZUFwaS5zbHVnIHx8ICcnO1xuICAgIGNvbnN0IGJvb2tpbmdVcmwgPSByZXE/LnNlcnZpY2VBcGk/LmJvb2tpbmdVcmwgfHwgZ2V0Qm9va2luZ1VSTChyZXEuZW52aXJvbm1lbnQsIHNlcnZpY2VTbHVnLCBzZXJ2aWNlSWQsXCJzZXJ2aWNlXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiByZXEuc2VydmljZUFwaS5pZCB8fCAnJyxcbiAgICAgICAgbmFtZTogcmVxLnNlcnZpY2VBcGkubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHJlcS5zZXJ2aWNlQXBpLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBzbHVnOiByZXEuc2VydmljZUFwaS5zbHVnIHx8ICcnLFxuICAgICAgICBpc1Bpbm5lZDogcmVxLnNlcnZpY2VBcGkuaXNQaW5uZWQgfHwgZmFsc2UsXG4gICAgICAgIGFzc29jaWF0aW9uczogcmVxLnNlcnZpY2VBcGkuYXNzb2NpYXRpb25zID8gcmVxLnNlcnZpY2VBcGkuYXNzb2NpYXRpb25zLm1hcChBc3NvY2lhdGlvbkZyb21BcGkpIDogW10sXG4gICAgICAgIGhleENvbG9yOiByZXEuc2VydmljZUFwaS5oZXhDb2xvciB8fCAnJyxcbiAgICAgICAgYm9va2luZ1VybDogYm9va2luZ1VybFxuICAgIH1cbn0iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLWFuZC1zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21lZXRpbmdzX3Nkay9zcmMvbGliL3NoYXJlZC9ncm91cHMtYW5kLXNlcnZpY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQW9DeEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUE4QjtJQUN6RCxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3BCLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDSixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBQ0QsT0FBTztRQUNILEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLFNBQVM7UUFDckIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksU0FBUztRQUN6QixXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxTQUFTO1FBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLFNBQVM7UUFDekIsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUztRQUNqQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNuRixRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTO0tBQ3BDLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQWtDO0lBQy9ELE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDdEIsSUFBSSxDQUFDLENBQUMsRUFBRTtRQUNKLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFDRCxPQUFPO1FBQ0gsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksU0FBUztRQUNyQixJQUFJ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RUFBRSxVQUFVO1lBQ3RCLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUMsQ0FBQztLQUNOO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBMkQ7SUFDdEYsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekcsT0FBTztRQUNILEVBQUUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQzNCLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQy9CLFdBQVcsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxFQUFFO1FBQzdDLElBQUksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFO1FBQy9CLFFBQVEsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxLQUFLO1FBQzFDLFlBQVksRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDcEcsUUFBUSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUU7UUFDdkMsVUFBVSxFQUFFLFVBQVU7S0FDekIsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zSW50ZXJmYWNlLFxuICAgIEdyb3VwSW50ZXJmYWNlLFxuICAgIFNlcnZpY2VJbnRlcmZhY2Vcbn0gZnJvbSBcIi4uL19pbnRlcm5hbFwiO1xuaW1wb3J0IHtnZXRCb29raW5nVXJsSW1wbGVtZW50YXRpb259IGZyb20gXCIuLi9ob3N0L3VybFwiO1xuaW1wb3J0IHtFbnZpcm9ubWVudH0gZnJvbSBcIi4vZW52aXJvbm1lbnRcIjtcblxuXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHNsdWc6IHN0cmluZztcbiAgICBpc1Bpbm5lZDogYm9vbGVhbjtcbiAgICBhc3NvY2lhdGlvbnM6IEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zW107XG4gICAgaGV4Q29sb3I/OiBzdHJpbmc7XG4gICAgYm9va2luZ1VybD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9ucyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXZlbnRUeXBlOiBzdHJpbmc7XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGlzRWRpdGFibGU/IDogYm9vbGVhbjtcbiAgICBjcmVhdG9yVXNlck5hbWU/IDogc3RyaW5nO1xuXG4gfVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2x1Zzogc3RyaW5nO1xuICAgIGlzUGlubmVkOiBib29sZWFuO1xuICAgIGFzc29jaWF0aW9uczogRXZlbnRHcm91cEFuZFNlcnZpY2VBc3NvY2lhdGlvbnNbXTtcbiAgICBoZXhDb2xvcj86IHN0cmluZztcbiAgICBib29raW5nVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gR3JvdXBUeXBlVG9BUGkocmVxOiB7IGdyb3VwOiBQYXJ0aWFsPEdyb3VwPiB9KTogR3JvdXBJbnRlcmZhY2Uge1xuICAgIGNvbnN0IG0gPSByZXEuZ3JvdXA7XG4gICAgaWYgKCFtKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG0uaWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiBtLm5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBkZXNjcmlwdGlvbjogbS5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIHNsdWc6IG0uc2x1ZyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzUGlubmVkOiBtLmlzUGlubmVkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgYXNzb2NpYXRpb25zOiBtLmFzc29jaWF0aW9ucyA/IG0uYXNzb2NpYXRpb25zLm1hcChBc3NvY2lhdGlvblR5cGVUb0FwaSkgOiB1bmRlZmluZWQsXG4gICAgICAgIGhleENvbG9yOiBtLmhleENvbG9yIHx8IHVuZGVmaW5lZCxcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBTZXJ2aWNlVHlwZVRvQXBpKHJlcTogeyBzZXJ2aWNlOiBQYXJ0aWFsPFNlcnZpY2U+IH0pOiBTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgICBjb25zdCBtID0gcmVxLnNlcnZpY2U7XG4gICAgaWYgKCFtKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG0uaWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiBtLm5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBkZXNjcmlwdGlvbjogbS5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIHNsdWc6IG0uc2x1ZyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzUGlubmVkOiBtLmlzUGlubmVkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgYXNzb2NpYXRpb25zOiBtLmFzc29jaWF0aW9ucyA/IG0uYXNzb2NpYXRpb25zLm1hcChBc3NvY2lhdGlvblR5cGVUb0FwaSkgOiB1bmRlZmluZWQsXG4gICAgICAgIGhleENvbG9yOiBtLmhleENvbG9yIHx8IHVuZGVmaW5lZCxcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBc3NvY2lhdGlvblR5cGVUb0FwaShhc3NvY2lhdGlvbjogRXZlbnRHcm91cEFuZFNlcnZpY2VBc3NvY2lhdGlvbnMpOiBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9uc0ludGVyZmFjZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGFzc29jaWF0aW9uLmlkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZTogYXNzb2NpYXRpb24ubmFtZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGV2ZW50VHlwZTogYXNzb2NpYXRpb24uZXZlbnRUeXBlIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaWRlbnRpZmllcjogYXNzb2NpYXRpb24uaWRlbnRpZmllciB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzRWRpdGFibGU6IGFzc29jaWF0aW9uLmlzRWRpdGFibGUgfHwgdHJ1ZSxcbiAgICAgICAgY3JlYXRvclVzZXJOYW1lOiBhc3NvY2lhdGlvbi5jcmVhdG9yVXNlck5hbWUgfHwgdW5kZWZpbmVkXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXNzb2NpYXRpb25Gcm9tQXBpKGFzc29jaWF0aW9uQXBpOiBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9uc0ludGVyZmFjZSk6IEV2ZW50R3JvdXBBbmRTZXJ2aWNlQXNzb2NpYXRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogYXNzb2NpYXRpb25BcGkuaWQgfHwgJycsXG4gICAgICAgIG5hbWU6IGFzc29jaWF0aW9uQXBpLm5hbWUgfHwgJycsXG4gICAgICAgIGV2ZW50VHlwZTogYXNzb2NpYXRpb25BcGkuZXZlbnRUeXBlIHx8ICcnLFxuICAgICAgICBpZGVudGlmaWVyOiBhc3NvY2lhdGlvbkFwaS5pZGVudGlmaWVyIHx8ICcnLFxuICAgICAgICBpc0VkaXRhYmxlOiBhc3NvY2lhdGlvbkFwaS5pc0VkaXRhYmxlIHx8IHRydWUsXG4gICAgICAgIGNyZWF0b3JVc2VyTmFtZTogYXNzb2NpYXRpb25BcGkuY3JlYXRvclVzZXJOYW1lIHx8ICcnXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gR3JvdXBGcm9tQXBpKHJlcTp7Z3JvdXBBcGk6IEdyb3VwSW50ZXJmYWNlLGVudmlyb25tZW50OiBFbnZpcm9ubWVudH0pOiBHcm91cCB7XG4gICAgY29uc3QgZ3JvdXBJZCA9IHJlcS5ncm91cEFwaS5pZCB8fCAnJztcbiAgICBjb25zdCBncm91cFNsdWcgPSByZXEuZ3JvdXBBcGkuc2x1ZyB8fCAnJztcbiAgICBjb25zdCBib29raW5nVXJsID0gcmVxPy5ncm91cEFwaT8uYm9va2luZ1VybCB8fCBnZXRCb29raW5nVVJMKHJlcS5lbnZpcm9ubWVudCwgZ3JvdXBTbHVnLCBncm91cElkKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogZ3JvdXBJZCxcbiAgICAgICAgbmFtZTogcmVxLmdyb3VwQXBpLm5hbWUgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiByZXEuZ3JvdXBBcGkuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgIHNsdWc6IGdyb3VwU2x1ZyxcbiAgICAgICAgaXNQaW5uZWQ6IHJlcS5ncm91cEFwaS5pc1Bpbm5lZCB8fCBmYWxzZSxcbiAgICAgICAgYXNzb2NpYXRpb25zOiByZXEuZ3JvdXBBcGkuYXNzb2NpYXRpb25zID8gcmVxLmdyb3VwQXBpLmFzc29jaWF0aW9ucy5tYXAoQXNzb2NpYXRpb25Gcm9tQXBpKSA6IFtdLFxuICAgICAgICBoZXhDb2xvcjogcmVxLmdyb3VwQXBpLmhleENvbG9yIHx8ICcnLFxuICAgICAgICBib29raW5nVXJsOiBib29raW5nVXJsXG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Qm9va2luZ1VSTChlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsIHNsdWc6IHN0cmluZywgY2FsZW5kYXJJZDpzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBib29raW5nVXJsID0gJyc7XG4gICAgaWYgKHNsdWcgIT0gJycgKSB7XG4gICAgICAgIGJvb2tpbmdVcmwgPSBnZXRCb29raW5nVXJsSW1wbGVtZW50YXRpb24oe1xuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IGVudmlyb25tZW50LFxuICAgICAgICAgICAgY2FsZW5kYXJJZDogY2FsZW5kYXJJZCxcbiAgICAgICAgICAgIG1lZXRpbmdUeXBlU2x1Zzogc2x1ZyAsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gYm9va2luZ1VybDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNlcnZpY2VGcm9tQXBpKHJlcTp7c2VydmljZUFwaTogU2VydmljZUludGVyZmFjZSxlbnZpcm9ubWVudDogRW52aXJvbm1lbnR9KTogU2VydmljZSB7XG4gICAgY29uc3Qgc2VydmljZUlkID0gcmVxLnNlcnZpY2VBcGkuaWQgfHwgJyc7XG4gICAgY29uc3Qgc2VydmljZVNsdWcgPSByZXEuc2VydmljZUFwaS5zbHVnIHx8ICcnO1xuICAgIGNvbnN0IGJvb2tpbmdVcmwgPSByZXE/LnNlcnZpY2VBcGk/LmJvb2tpbmdVcmwgfHwgZ2V0Qm9va2luZ1VSTChyZXEuZW52aXJvbm1lbnQsIHNlcnZpY2VTbHVnLCBzZXJ2aWNlSWQpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiByZXEuc2VydmljZUFwaS5pZCB8fCAnJyxcbiAgICAgICAgbmFtZTogcmVxLnNlcnZpY2VBcGkubmFtZSB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHJlcS5zZXJ2aWNlQXBpLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBzbHVnOiByZXEuc2VydmljZUFwaS5zbHVnIHx8ICcnLFxuICAgICAgICBpc1Bpbm5lZDogcmVxLnNlcnZpY2VBcGkuaXNQaW5uZWQgfHwgZmFsc2UsXG4gICAgICAgIGFzc29jaWF0aW9uczogcmVxLnNlcnZpY2VBcGkuYXNzb2NpYXRpb25zID8gcmVxLnNlcnZpY2VBcGkuYXNzb2NpYXRpb25zLm1hcChBc3NvY2lhdGlvbkZyb21BcGkpIDogW10sXG4gICAgICAgIGhleENvbG9yOiByZXEuc2VydmljZUFwaS5oZXhDb2xvciB8fCAnJyxcbiAgICAgICAgYm9va2luZ1VybDogYm9va2luZ1VybFxuICAgIH1cbn0iXX0=
@@ -50,6 +50,7 @@ export function MeetingTypeFromApi(req) {
50
50
  isPinned: req.meetingTypeApi.isPinned || false,
51
51
  CalendarType: req.meetingTypeApi.calendarType || '',
52
52
  hostUsers: req.meetingTypeApi.hostUsers || [],
53
+ teamName: req.meetingTypeApi.teamName || ''
53
54
  };
54
55
  }
55
56
  export function MeetingTypeToApi(req) {
@@ -78,7 +79,8 @@ export function MeetingTypeToApi(req) {
78
79
  isClientChoice: m.isClientChoice || undefined,
79
80
  isPinned: m.isPinned || undefined,
80
81
  calendarType: m.CalendarType || undefined,
81
- hostUsers: m.hostUsers || undefined
82
+ hostUsers: m.hostUsers || undefined,
83
+ teamName: m.teamName || undefined
82
84
  };
83
85
  }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvc2hhcmVkL21lZXRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBK0NqRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FNbEM7SUFDRyxJQUFJLFVBQVUsR0FBRyxHQUFHLEVBQUUsY0FBYyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDdkQsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO1FBQ25CLFVBQVUsR0FBRywyQkFBMkIsQ0FBQztZQUNyQyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1lBQzFCLGVBQWUsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFO1lBQ2xGLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztLQUMzRjtJQUVELE1BQU0sSUFBSSxHQUFvQjtRQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLGNB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cm1JbnRlcmZhY2UsXG4gICAgSG9zdFVzZXJJbnRlcmZhY2UsXG4gICAgTWVldGluZ1R5cGVJbnRlcmZhY2UgYXMgQXBpTWVldGluZ1R5cGVcbn0gZnJvbSAnLi4vX2ludGVybmFsL2ludGVyZmFjZXMnO1xuaW1wb3J0IHthZGRNZXRhZGF0YVRvQm9va2luZ0xpbmssIGdldEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbn0gZnJvbSAnLi4vaG9zdC91cmwnO1xuaW1wb3J0IHtGb3JtRmllbGRUeXBlfSBmcm9tICcuLi9faW50ZXJuYWwvZW51bXMnO1xuaW1wb3J0IHtFbnZpcm9ubWVudH0gZnJvbSBcIi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7SG9zdFVzZXJ9IGZyb20gXCIuLi9faW50ZXJuYWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZWV0aW5nVHlwZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLy8gc3RyaW5nIGZvcm1hdHRlZCBhczogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy9kb2NzL3JlZmVyZW5jZS9qYXZhL2NvbS9nb29nbGUvcHJvdG9idWYvRHVyYXRpb25cbiAgICAvLyB1c2UgaGVscGVycyBpbiBkdXJhdGlvbi50cyBmb3IgaGVscGVycyBvciBwYXNzIGludG8gbW9tZW50LlxuICAgIGR1cmF0aW9uOiBzdHJpbmc7XG4gICAgY2FsZW5kYXJJZDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgaGV4Q29sb3I6IHN0cmluZztcblxuICAgIC8vIGh0dHBzOi8vdmVuZGFzdGEuamlyYS5jb20vd2lraS9zcGFjZXMvQk9PS01FL3BhZ2VzLzIyNzgzNjE1Ny9UZXJtaW5vbG9neSNNZWV0aW5nLVR5cGUtU2x1Z1xuICAgIG1lZXRpbmdUeXBlU2x1Zzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgdXNlIG1lZXRpbmdUeXBlU2x1ZyBpbnN0ZWFkXG4gICAgICovXG4gICAgYm9va2luZ0xpbms/OiBzdHJpbmc7XG5cbiAgICBob3N0VXNlcklkczogc3RyaW5nW107XG5cbiAgICAvLyByZWFkb25seSBmaWVsZHMuIGhhcyBubyBpbXBhY3Qgd2hlbiB1cGRhdGluZy5cbiAgICAvLyBUaGlzIGlzIHRoZSBmdWxsIHVybCBhIHBlcnNvbiBjb3VsZCBuYXZpZ2F0ZSB0byBmb3IgYm9va2luZy4gTWF5IGluY2x1ZGUgbWV0YWRhdGEgcXVlcnkgcGFyYW1zLlxuICAgIGJvb2tpbmdVcmw6IHN0cmluZztcblxuICAgIGZvcm06IE1lZXRpbmdUeXBlRm9ybSxcbiAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ/OiBudW1iZXIsXG4gICAgYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmc/OiBudW1iZXIsXG4gICAgbm90aWNlVGltZT8gOiBudW1iZXIsXG5cbiAgICBsb2NhdGlvbj8gOiBzdHJpbmcsXG4gICAgaXNDbGllbnRTaXRlTWVldGluZyA6IGJvb2xlYW4sXG4gICAgbG9jYXRpb25HdWlkZWxpbmVzPyA6IHN0cmluZyxcbiAgICBlbWFpbFN1YmplY3Q/OiBzdHJpbmc7XG4gICAgZW1haWxEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpc0NsaWVudENob2ljZT86Ym9vbGVhblxuICAgIGlzUGlubmVkPzogYm9vbGVhblxuICAgIENhbGVuZGFyVHlwZT86IHN0cmluZ1xuICAgIGhvc3RVc2VyczogSG9zdFVzZXJJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IHR5cGUgTWVldGluZ1R5cGVGb3JtRmllbGQgPSBSZXF1aXJlZDxGaWVsZEludGVyZmFjZT47XG5leHBvcnQgdHlwZSBNZWV0aW5nVHlwZUZvcm0gPSBSZXF1aXJlZDxPbWl0PEZvcm1JbnRlcmZhY2UsICdmaWVsZHMnPj4gJiB7IGZpZWxkczogTWVldGluZ1R5cGVGb3JtRmllbGRbXSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gTWVldGluZ1R5cGVGcm9tQXBpKHJlcToge1xuICAgIG1lZXRpbmdUeXBlQXBpOiBBcGlNZWV0aW5nVHlwZSxcbiAgICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4gICAgY2FsZW5kYXJJZDogc3RyaW5nLFxuICAgIG1ldGFkYXRhPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgY2FsZW5kYXJTbHVnPzogc3RyaW5nLFxufSk6IE1lZXRpbmdUeXBlIHtcbiAgICBsZXQgYm9va2luZ1VybCA9IHJlcT8ubWVldGluZ1R5cGVBcGk/LmJvb2tpbmdVcmwgfHwgJyc7XG4gICAgaWYgKGJvb2tpbmdVcmwgPT09ICcnKSB7XG4gICAgICAgIGJvb2tpbmdVcmwgPSBnZXRCb29raW5nVXJsSW1wbGVtZW50YXRpb24oe1xuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHJlcS5lbnZpcm9ubWVudCxcbiAgICAgICAgICAgIGNhbGVuZGFySWQ6IHJlcS5jYWxlbmRhcklkLFxuICAgICAgICAgICAgbWVldGluZ1R5cGVTbHVnOiByZXEubWVldGluZ1R5cGVBcGkubWVldGluZ1R5cGVTbHVnIHx8IHJlcS5tZWV0aW5nVHlwZUFwaS5pZCB8fCAnJyxcbiAgICAgICAgICAgIG1ldGFkYXRhOiByZXEubWV0YWRhdGEsXG4gICAgICAgICAgICBjYWxlbmRhclNsdWc6IHJlcS5jYWxlbmRhclNsdWcsXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGJvb2tpbmdVcmwgPSBhZGRNZXRhZGF0YVRvQm9va2luZ0xpbmsoe2xpbms6IGJvb2tpbmdVcmwsIG1ldGFkYXRhOiByZXEubWV0YWRhdGEgfHwge319KTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtOiBNZWV0aW5nVHlwZUZvcm0gPSB7XG4gICAgICAgIC4uLihyZXEubWVldGluZ1R5cGVBcGkuZm9ybSB8fCB7ZmllbGRzOiBbXX0pLFxuICAgICAgICBmaWVsZHM6IChyZXEubWVldGluZ1R5cGVBcGkuZm9ybSAmJiByZXEubWVldGluZ1R5cGVBcGkuZm9ybS5maWVsZHMgPyByZXEubWVldGluZ1R5cGVBcGkuZm9ybS5maWVsZHMgOiBbXSkubWFwKGZpZWxkID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZmllbGQsXG4gICAgICAgICAgICAgICAgaWQ6IGZpZWxkLmlkIHx8ICcnLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWVsZC5sYWJlbCB8fCAnJyxcbiAgICAgICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlIHx8IEZvcm1GaWVsZFR5cGUuRk9STV9GSUVMRF9UWVBFX0lOVkFMSUQsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZpZWxkLnJlcXVpcmVkIHx8IGZhbHNlLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IHJlcS5tZWV0aW5nVHlwZUFwaS5pZCB8fCAnJyxcbiAgICAgICAgY2FsZW5kYXJJZDogcmVxLm1lZXRpbmdUeXBlQXBpLmNhbGVuZGFySWQgfHwgJycsXG4gICAgICAgIG5hbWU6IHJlcS5tZWV0aW5nVHlwZUFwaS5uYW1lIHx8ICcnLFxuICAgICAgICBkdXJhdGlvbjogcmVxLm1lZXRpbmdUeXBlQXBpLmR1cmF0aW9uIHx8ICcnLFxuICAgICAgICBib29raW5nVXJsOiBib29raW5nVXJsLFxuICAgICAgICBib29raW5nTGluazogcmVxLm1lZXRpbmdUeXBlQXBpLm1lZXRpbmdUeXBlU2x1ZyB8fCAnJyxcbiAgICAgICAgbWVldGluZ1R5cGVTbHVnOiByZXEubWVldGluZ1R5cGVBcGkubWVldGluZ1R5cGVTbHVnIHx8ICcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogcmVxLm1lZXRpbmdUeXBlQXBpLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBoZXhDb2xvcjogcmVxLm1lZXRpbmdUeXBlQXBpLmhleENvbG9yIHx8ICcnLFxuICAgICAgICBmb3JtOiBmb3JtLFxuICAgICAgICBob3N0VXNlcklkczogcmVxLm1lZXRpbmdUeXBlQXBpLmhvc3RVc2VySWRzIHx8IFtdLFxuICAgICAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ6IHJlcS5tZWV0aW5nVHlwZUFwaS5hdmFpbGFiaWxpdHlJbmNyZW1lbnQgfHwgLTEsXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiByZXEubWVldGluZ1R5cGVBcGkuYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcgfHwgLTEsXG4gICAgICAgIG5vdGljZVRpbWU6IHJlcS5tZWV0aW5nVHlwZUFwaS5ub3RpY2VUaW1lIHx8IC0xLFxuICAgICAgICBsb2NhdGlvbjogcmVxLm1lZXRpbmdUeXBlQXBpLmxvY2F0aW9uIHx8ICcnLFxuICAgICAgICBsb2NhdGlvbkd1aWRlbGluZXM6IHJlcS5tZWV0aW5nVHlwZUFwaS5sb2NhdGlvbkd1aWRlbGluZXMgfHwgJycsXG4gICAgICAgIGlzQ2xpZW50U2l0ZU1lZXRpbmc6IHJlcS5tZWV0aW5nVHlwZUFwaS5pc0NsaWVudFNpdGVNZWV0aW5nIHx8IGZhbHNlLFxuICAgICAgICBpc0NsaWVudENob2ljZTogcmVxLm1lZXRpbmdUeXBlQXBpLmlzQ2xpZW50Q2hvaWNlIHx8IGZhbHNlLFxuICAgICAgICBlbWFpbFN1YmplY3Q6IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbFN1YmplY3QgfHwgJycsXG4gICAgICAgIGVtYWlsRGVzY3JpcHRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbERlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBpc1Bpbm5lZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlzUGlubmVkIHx8IGZhbHNlLFxuICAgICAgICBDYWxlbmRhclR5cGU6IHJlcS5tZWV0aW5nVHlwZUFwaS5jYWxlbmRhclR5cGUgfHwgJycsXG4gICAgICAgIGhvc3RVc2VyczogcmVxLm1lZXRpbmdUeXBlQXBpLmhvc3RVc2VycyB8fCBbXSxcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNZWV0aW5nVHlwZVRvQXBpKHJlcTogeyBtZWV0aW5nVHlwZTogUGFydGlhbDxNZWV0aW5nVHlwZT4gfSk6IEFwaU1lZXRpbmdUeXBlIHtcbiAgICBjb25zdCBtID0gcmVxLm1lZXRpbmdUeXBlO1xuICAgIGlmICghbSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBtLmlkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZTogbS5uYW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaGV4Q29sb3I6IG0uaGV4Q29sb3IgfHwgdW5kZWZpbmVkLFxuICAgICAgICBtZWV0aW5nVHlwZVNsdWc6IG0ubWVldGluZ1R5cGVTbHVnIHx8IG0uYm9va2luZ0xpbmsgfHwgdW5kZWZpbmVkLFxuICAgICAgICBjYWxlbmRhcklkOiBtLmNhbGVuZGFySWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBkZXNjcmlwdGlvbjogbS5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGR1cmF0aW9uOiBtLmR1cmF0aW9uID8gbS5kdXJhdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgZm9ybTogbS5mb3JtIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaG9zdFVzZXJJZHM6IG0uaG9zdFVzZXJJZHMgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQgOiBtLmF2YWlsYWJpbGl0eUluY3JlbWVudCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiBtLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbm90aWNlVGltZTogbS5ub3RpY2VUaW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbG9jYXRpb246IG0ubG9jYXRpb24gfHwgdW5kZWZpbmVkLFxuICAgICAgICBsb2NhdGlvbkd1aWRlbGluZXM6IG0ubG9jYXRpb25HdWlkZWxpbmVzIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNDbGllbnRTaXRlTWVldGluZzogbS5pc0NsaWVudFNpdGVNZWV0aW5nIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW1haWxTdWJqZWN0OiBtLmVtYWlsU3ViamVjdCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVtYWlsRGVzY3JpcHRpb246IG0uZW1haWxEZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzQ2xpZW50Q2hvaWNlOm0uaXNDbGllbnRDaG9pY2V8fHVuZGVmaW5lZCxcbiAgICAgICAgaXNQaW5uZWQ6bS5pc1Bpbm5lZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGNhbGVuZGFyVHlwZTogbS5DYWxlbmRhclR5cGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBob3N0VXNlcnM6bS5ob3N0VXNlcnN8fHVuZGVmaW5lZFxuICAgIH07XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvc2hhcmVkL21lZXRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBZ0RqRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FNbEM7SUFDRyxJQUFJLFVBQVUsR0FBRyxHQUFHLEVBQUUsY0FBYyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDdkQsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO1FBQ25CLFVBQVUsR0FBRywyQkFBMkIsQ0FBQztZQUNyQyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1lBQzFCLGVBQWUsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFO1lBQ2xGLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztLQUMzRjtJQUVELE1BQU0sSUFBSSxHQUFvQjtRQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLGNB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QUFRLElBQUksU0FBUztLQUNwQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRmllbGRJbnRlcmZhY2UsXG4gICAgRm9ybUludGVyZmFjZSxcbiAgICBIb3N0VXNlckludGVyZmFjZSxcbiAgICBNZWV0aW5nVHlwZUludGVyZmFjZSBhcyBBcGlNZWV0aW5nVHlwZVxufSBmcm9tICcuLi9faW50ZXJuYWwvaW50ZXJmYWNlcyc7XG5pbXBvcnQge2FkZE1ldGFkYXRhVG9Cb29raW5nTGluaywgZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9ufSBmcm9tICcuLi9ob3N0L3VybCc7XG5pbXBvcnQge0Zvcm1GaWVsZFR5cGV9IGZyb20gJy4uL19pbnRlcm5hbC9lbnVtcyc7XG5pbXBvcnQge0Vudmlyb25tZW50fSBmcm9tIFwiLi9lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHtIb3N0VXNlcn0gZnJvbSBcIi4uL19pbnRlcm5hbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lZXRpbmdUeXBlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvLyBzdHJpbmcgZm9ybWF0dGVkIGFzOiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzL2RvY3MvcmVmZXJlbmNlL2phdmEvY29tL2dvb2dsZS9wcm90b2J1Zi9EdXJhdGlvblxuICAgIC8vIHVzZSBoZWxwZXJzIGluIGR1cmF0aW9uLnRzIGZvciBoZWxwZXJzIG9yIHBhc3MgaW50byBtb21lbnQuXG4gICAgZHVyYXRpb246IHN0cmluZztcbiAgICBjYWxlbmRhcklkOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBoZXhDb2xvcjogc3RyaW5nO1xuXG4gICAgLy8gaHR0cHM6Ly92ZW5kYXN0YS5qaXJhLmNvbS93aWtpL3NwYWNlcy9CT09LTUUvcGFnZXMvMjI3ODM2MTU3L1Rlcm1pbm9sb2d5I01lZXRpbmctVHlwZS1TbHVnXG4gICAgbWVldGluZ1R5cGVTbHVnOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgbWVldGluZ1R5cGVTbHVnIGluc3RlYWRcbiAgICAgKi9cbiAgICBib29raW5nTGluaz86IHN0cmluZztcblxuICAgIGhvc3RVc2VySWRzOiBzdHJpbmdbXTtcblxuICAgIC8vIHJlYWRvbmx5IGZpZWxkcy4gaGFzIG5vIGltcGFjdCB3aGVuIHVwZGF0aW5nLlxuICAgIC8vIFRoaXMgaXMgdGhlIGZ1bGwgdXJsIGEgcGVyc29uIGNvdWxkIG5hdmlnYXRlIHRvIGZvciBib29raW5nLiBNYXkgaW5jbHVkZSBtZXRhZGF0YSBxdWVyeSBwYXJhbXMuXG4gICAgYm9va2luZ1VybDogc3RyaW5nO1xuXG4gICAgZm9ybTogTWVldGluZ1R5cGVGb3JtLFxuICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudD86IG51bWJlcixcbiAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZz86IG51bWJlcixcbiAgICBub3RpY2VUaW1lPyA6IG51bWJlcixcblxuICAgIGxvY2F0aW9uPyA6IHN0cmluZyxcbiAgICBpc0NsaWVudFNpdGVNZWV0aW5nIDogYm9vbGVhbixcbiAgICBsb2NhdGlvbkd1aWRlbGluZXM/IDogc3RyaW5nLFxuICAgIGVtYWlsU3ViamVjdD86IHN0cmluZztcbiAgICBlbWFpbERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGlzQ2xpZW50Q2hvaWNlPzpib29sZWFuXG4gICAgaXNQaW5uZWQ/OiBib29sZWFuXG4gICAgQ2FsZW5kYXJUeXBlPzogc3RyaW5nXG4gICAgaG9zdFVzZXJzOiBIb3N0VXNlckludGVyZmFjZVtdO1xuICAgIHRlYW1OYW1lPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIE1lZXRpbmdUeXBlRm9ybUZpZWxkID0gUmVxdWlyZWQ8RmllbGRJbnRlcmZhY2U+O1xuZXhwb3J0IHR5cGUgTWVldGluZ1R5cGVGb3JtID0gUmVxdWlyZWQ8T21pdDxGb3JtSW50ZXJmYWNlLCAnZmllbGRzJz4+ICYgeyBmaWVsZHM6IE1lZXRpbmdUeXBlRm9ybUZpZWxkW10gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIE1lZXRpbmdUeXBlRnJvbUFwaShyZXE6IHtcbiAgICBtZWV0aW5nVHlwZUFwaTogQXBpTWVldGluZ1R5cGUsXG4gICAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuICAgIGNhbGVuZGFySWQ6IHN0cmluZyxcbiAgICBtZXRhZGF0YT86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZyxcbn0pOiBNZWV0aW5nVHlwZSB7XG4gICAgbGV0IGJvb2tpbmdVcmwgPSByZXE/Lm1lZXRpbmdUeXBlQXBpPy5ib29raW5nVXJsIHx8ICcnO1xuICAgIGlmIChib29raW5nVXJsID09PSAnJykge1xuICAgICAgICBib29raW5nVXJsID0gZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKHtcbiAgICAgICAgICAgIGVudmlyb25tZW50OiByZXEuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICBjYWxlbmRhcklkOiByZXEuY2FsZW5kYXJJZCxcbiAgICAgICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogcmVxLm1lZXRpbmdUeXBlQXBpLm1lZXRpbmdUeXBlU2x1ZyB8fCByZXEubWVldGluZ1R5cGVBcGkuaWQgfHwgJycsXG4gICAgICAgICAgICBtZXRhZGF0YTogcmVxLm1ldGFkYXRhLFxuICAgICAgICAgICAgY2FsZW5kYXJTbHVnOiByZXEuY2FsZW5kYXJTbHVnLFxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBib29raW5nVXJsID0gYWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rKHtsaW5rOiBib29raW5nVXJsLCBtZXRhZGF0YTogcmVxLm1ldGFkYXRhIHx8IHt9fSk7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybTogTWVldGluZ1R5cGVGb3JtID0ge1xuICAgICAgICAuLi4ocmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0gfHwge2ZpZWxkczogW119KSxcbiAgICAgICAgZmllbGRzOiAocmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0gJiYgcmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0uZmllbGRzID8gcmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0uZmllbGRzIDogW10pLm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgICAgIGlkOiBmaWVsZC5pZCB8fCAnJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwgfHwgJycsXG4gICAgICAgICAgICAgICAgdHlwZTogZmllbGQudHlwZSB8fCBGb3JtRmllbGRUeXBlLkZPUk1fRklFTERfVFlQRV9JTlZBTElELFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmaWVsZC5yZXF1aXJlZCB8fCBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiByZXEubWVldGluZ1R5cGVBcGkuaWQgfHwgJycsXG4gICAgICAgIGNhbGVuZGFySWQ6IHJlcS5tZWV0aW5nVHlwZUFwaS5jYWxlbmRhcklkIHx8ICcnLFxuICAgICAgICBuYW1lOiByZXEubWVldGluZ1R5cGVBcGkubmFtZSB8fCAnJyxcbiAgICAgICAgZHVyYXRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5kdXJhdGlvbiB8fCAnJyxcbiAgICAgICAgYm9va2luZ1VybDogYm9va2luZ1VybCxcbiAgICAgICAgYm9va2luZ0xpbms6IHJlcS5tZWV0aW5nVHlwZUFwaS5tZWV0aW5nVHlwZVNsdWcgfHwgJycsXG4gICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogcmVxLm1lZXRpbmdUeXBlQXBpLm1lZXRpbmdUeXBlU2x1ZyB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgICAgaGV4Q29sb3I6IHJlcS5tZWV0aW5nVHlwZUFwaS5oZXhDb2xvciB8fCAnJyxcbiAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgaG9zdFVzZXJJZHM6IHJlcS5tZWV0aW5nVHlwZUFwaS5ob3N0VXNlcklkcyB8fCBbXSxcbiAgICAgICAgYXZhaWxhYmlsaXR5SW5jcmVtZW50OiByZXEubWVldGluZ1R5cGVBcGkuYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IC0xLFxuICAgICAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogcmVxLm1lZXRpbmdUeXBlQXBpLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nIHx8IC0xLFxuICAgICAgICBub3RpY2VUaW1lOiByZXEubWVldGluZ1R5cGVBcGkubm90aWNlVGltZSB8fCAtMSxcbiAgICAgICAgbG9jYXRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5sb2NhdGlvbiB8fCAnJyxcbiAgICAgICAgbG9jYXRpb25HdWlkZWxpbmVzOiByZXEubWVldGluZ1R5cGVBcGkubG9jYXRpb25HdWlkZWxpbmVzIHx8ICcnLFxuICAgICAgICBpc0NsaWVudFNpdGVNZWV0aW5nOiByZXEubWVldGluZ1R5cGVBcGkuaXNDbGllbnRTaXRlTWVldGluZyB8fCBmYWxzZSxcbiAgICAgICAgaXNDbGllbnRDaG9pY2U6IHJlcS5tZWV0aW5nVHlwZUFwaS5pc0NsaWVudENob2ljZSB8fCBmYWxzZSxcbiAgICAgICAgZW1haWxTdWJqZWN0OiByZXEubWVldGluZ1R5cGVBcGkuZW1haWxTdWJqZWN0IHx8ICcnLFxuICAgICAgICBlbWFpbERlc2NyaXB0aW9uOiByZXEubWVldGluZ1R5cGVBcGkuZW1haWxEZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgICAgaXNQaW5uZWQ6IHJlcS5tZWV0aW5nVHlwZUFwaS5pc1Bpbm5lZCB8fCBmYWxzZSxcbiAgICAgICAgQ2FsZW5kYXJUeXBlOiByZXEubWVldGluZ1R5cGVBcGkuY2FsZW5kYXJUeXBlIHx8ICcnLFxuICAgICAgICBob3N0VXNlcnM6IHJlcS5tZWV0aW5nVHlwZUFwaS5ob3N0VXNlcnMgfHwgW10sXG4gICAgICAgIHRlYW1OYW1lOiByZXEubWVldGluZ1R5cGVBcGkudGVhbU5hbWUgfHwgJydcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNZWV0aW5nVHlwZVRvQXBpKHJlcTogeyBtZWV0aW5nVHlwZTogUGFydGlhbDxNZWV0aW5nVHlwZT4gfSk6IEFwaU1lZXRpbmdUeXBlIHtcbiAgICBjb25zdCBtID0gcmVxLm1lZXRpbmdUeXBlO1xuICAgIGlmICghbSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBtLmlkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZTogbS5uYW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaGV4Q29sb3I6IG0uaGV4Q29sb3IgfHwgdW5kZWZpbmVkLFxuICAgICAgICBtZWV0aW5nVHlwZVNsdWc6IG0ubWVldGluZ1R5cGVTbHVnIHx8IG0uYm9va2luZ0xpbmsgfHwgdW5kZWZpbmVkLFxuICAgICAgICBjYWxlbmRhcklkOiBtLmNhbGVuZGFySWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBkZXNjcmlwdGlvbjogbS5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGR1cmF0aW9uOiBtLmR1cmF0aW9uID8gbS5kdXJhdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgZm9ybTogbS5mb3JtIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaG9zdFVzZXJJZHM6IG0uaG9zdFVzZXJJZHMgfHwgdW5kZWZpbmVkLFxuICAgICAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQgOiBtLmF2YWlsYWJpbGl0eUluY3JlbWVudCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiBtLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbm90aWNlVGltZTogbS5ub3RpY2VUaW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbG9jYXRpb246IG0ubG9jYXRpb24gfHwgdW5kZWZpbmVkLFxuICAgICAgICBsb2NhdGlvbkd1aWRlbGluZXM6IG0ubG9jYXRpb25HdWlkZWxpbmVzIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNDbGllbnRTaXRlTWVldGluZzogbS5pc0NsaWVudFNpdGVNZWV0aW5nIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW1haWxTdWJqZWN0OiBtLmVtYWlsU3ViamVjdCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVtYWlsRGVzY3JpcHRpb246IG0uZW1haWxEZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzQ2xpZW50Q2hvaWNlOm0uaXNDbGllbnRDaG9pY2V8fHVuZGVmaW5lZCxcbiAgICAgICAgaXNQaW5uZWQ6bS5pc1Bpbm5lZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGNhbGVuZGFyVHlwZTogbS5DYWxlbmRhclR5cGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBob3N0VXNlcnM6bS5ob3N0VXNlcnN8fHVuZGVmaW5lZCxcbiAgICAgICAgdGVhbU5hbWU6IG0udGVhbU5hbWUgfHwgdW5kZWZpbmVkXG4gICAgfTtcbn1cbiJdfQ==