@posiwise/common-services 0.1.53 → 0.1.54

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 (47) hide show
  1. package/esm2022/lib/ab-test.service.mjs +1 -1
  2. package/esm2022/lib/ahoy.service.mjs +2 -2
  3. package/esm2022/lib/auth.service.mjs +5 -5
  4. package/esm2022/lib/base-http.service.mjs +1 -1
  5. package/esm2022/lib/common-services.interface.mjs +1 -1
  6. package/esm2022/lib/common-services.module.mjs +5 -5
  7. package/esm2022/lib/common.service.mjs +2 -2
  8. package/esm2022/lib/custom-preloading.service.mjs +1 -1
  9. package/esm2022/lib/data.service.mjs +1 -1
  10. package/esm2022/lib/date-formatter.service.mjs +2 -2
  11. package/esm2022/lib/effects/user.effects.mjs +2 -2
  12. package/esm2022/lib/geo.service.mjs +2 -2
  13. package/esm2022/lib/google-analytics.service.mjs +1 -1
  14. package/esm2022/lib/group.service.mjs +2 -2
  15. package/esm2022/lib/hopscotch.service.mjs +1 -1
  16. package/esm2022/lib/integrations-api-http.service.mjs +3 -3
  17. package/esm2022/lib/local-storage.service.mjs +1 -1
  18. package/esm2022/lib/mailbox.service.mjs +1 -1
  19. package/esm2022/lib/main-api-http.service.mjs +3 -3
  20. package/esm2022/lib/notification.service.mjs +3 -3
  21. package/esm2022/lib/permission.service.mjs +54 -41
  22. package/esm2022/lib/product.service.mjs +1 -1
  23. package/esm2022/lib/profile.service.mjs +1 -1
  24. package/esm2022/lib/qualification.service.mjs +1 -1
  25. package/esm2022/lib/sentry.service.mjs +3 -3
  26. package/esm2022/lib/socket.service.mjs +2 -2
  27. package/esm2022/lib/subscription.service.mjs +1 -1
  28. package/esm2022/lib/tag.service.mjs +1 -1
  29. package/esm2022/lib/tips.service.mjs +1 -1
  30. package/esm2022/lib/toast.service.mjs +2 -2
  31. package/esm2022/lib/user.service.mjs +4 -4
  32. package/fesm2022/posiwise-common-services.mjs +132 -119
  33. package/fesm2022/posiwise-common-services.mjs.map +1 -1
  34. package/lib/ahoy.service.d.ts +1 -1
  35. package/lib/auth.service.d.ts +3 -3
  36. package/lib/common.service.d.ts +1 -1
  37. package/lib/effects/user.effects.d.ts +1 -1
  38. package/lib/group.service.d.ts +1 -1
  39. package/lib/integrations-api-http.service.d.ts +1 -1
  40. package/lib/main-api-http.service.d.ts +1 -1
  41. package/lib/notification.service.d.ts +1 -1
  42. package/lib/permission.service.d.ts +1 -0
  43. package/lib/profile.service.d.ts +1 -1
  44. package/lib/sentry.service.d.ts +1 -1
  45. package/lib/socket.service.d.ts +1 -1
  46. package/lib/user.service.d.ts +2 -2
  47. package/package.json +1 -1
@@ -112,4 +112,4 @@ export class GoogleAnalyticsService {
112
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GoogleAnalyticsService, decorators: [{
113
113
  type: Injectable
114
114
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.ScriptLoaderService }, { type: i3.AppConfigService }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQU05RCxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQ3FCLE1BQWMsRUFDZCxZQUFpQyxFQUNqQyxnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3BELENBQUM7SUFFSSxhQUFhO1FBQ2pCLE9BQU8sT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxDQUFDLCtDQUErQztnQkFDMUQsT0FBTztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFlBQVk7cUJBQ1osVUFBVSxDQUFDLE1BQU0sRUFBRSwrQ0FBK0MsRUFBRSxJQUFJLENBQUM7cUJBQ3pFLElBQUksQ0FBQyxHQUFHLEVBQUU7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TCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7K0dBbkhRLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1jb25maWctc2VydmljZSc7XG5pbXBvcnQgeyBTY3JpcHRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zY3JpcHQtbG9hZGVyLnNlcnZpY2UnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZGVjbGFyZSBsZXQgZ2E6IGFueTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIHRyYWNraW5nSWQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRMb2FkZXI6IFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwQ29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZVxuICAgICkge31cblxuICAgIHByaXZhdGUgaXNHYUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBnYSAhPT0gJ3VuZGVmaW5lZCc7XG4gICAgfVxuXG4gICAgbG9hZEdTY3JpcHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKCk7IC8vIEdBIGlzIGFscmVhZHkgbG9hZGVkLCBubyBuZWVkIHRvIGxvYWQgYWdhaW4uXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5hcHBDb25maWdTZXJ2aWNlLmFwcENvbmZpZyQuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgLmxvYWRTY3JpcHQoJ2hlYWQnLCAnaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzJywgdHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wdXNoQXJndW1lbnRzR0EoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhLmwgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgR29vZ2xlQW5hbHl0aWNzU2VydmljZS50cmFja2luZ0lkID0gY29uZmlnLmludGVncmF0aW9ucy5nb29nbGVfYW5hbHl0aWNzO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2EoJ2NyZWF0ZScsIEdvb2dsZUFuYWx5dGljc1NlcnZpY2UudHJhY2tpbmdJZCwgJ2F1dG8nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTsgLy8gUmVzb2x2ZSB0aGUgcHJvbWlzZSBvbmNlIHRoZSBzY3JpcHQgaXMgbG9hZGVkIGFuZCBnYSBpcyBpbml0aWFsaXplZFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBHb29nbGUgQW5hbHl0aWNzIHNjcmlwdDonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1c2hBcmd1bWVudHNHQSgpIHtcbiAgICAgICAgZ2EgPVxuICAgICAgICAgICAgZ2EgfHxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG4gICAgICAgICAgICBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZ2EucSA9IGdhLnEgPSBnYS5xIHx8IFtdO1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICAgICAgICAgICAgICBnYS5xLnB1c2goYXJndW1lbnRzKTtcbiAgICAgICAgICAgIH07XG4gICAgfVxuXG4gICAgc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAoIXRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBHb29nbGUgQW5hbHl0aWNzIHNjcmlwdCBpcyBsb2FkZWQgYmVmb3JlIHVzaW5nIHRoZSBnYSBmdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRHU2NyaXB0KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYSgnc2V0JywgJ3BhZ2UnLCBlLnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2EoJ3NlbmQnLCAncGFnZXZpZXcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJhY2tpbmcgbm90IGZvdW5kIC0gbWFrZSBzdXJlIHlvdSBpbnN0YWxsZWQgdGhlIHNjcmlwdHMnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbWl0IGdvb2dsZSBhbmFseXRpY3MgZXZlbnRcbiAgICAgKiBGaXJlIGV2ZW50IGV4YW1wbGU6XG4gICAgICogdGhpcy5zZW5kRXZlbnQoXCJ0ZXN0Q2F0ZWdvcnlcIiwgXCJ0ZXN0QWN0aW9uXCIsIFwidGVzdExhYmVsXCIsIDEwKTtcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRDYXRlZ29yeVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudEFjdGlvblxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudExhYmVsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGV2ZW50VmFsdWVcbiAgICAgKi9cbiAgICBzZW5kRXZlbnQoXG4gICAgICAgIGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyxcbiAgICAgICAgZXZlbnRBY3Rpb246IHN0cmluZyxcbiAgICAgICAgZXZlbnRMYWJlbDogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgZXZlbnRWYWx1ZTogbnVtYmVyID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgIGdhKCdzZW5kJywgJ2V2ZW50Jywge1xuICAgICAgICAgICAgICAgIGV2ZW50Q2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgZXZlbnRBY3Rpb24sXG4gICAgICAgICAgICAgICAgZXZlbnRMYWJlbCxcbiAgICAgICAgICAgICAgICBldmVudFZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0dvb2dsZSBBbmFseXRpY3MgdHJhY2tpbmcgbm90IGF2YWlsYWJsZS4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZSBVc2VySWQgVHJhY2tpbmcgZm9yIEdvb2dsZSBBbmFseXRpY3NcbiAgICAgKiBAcGFyYW0gdXNlclxuICAgICAqL1xuICAgIHNldFVzZXJDb250ZXh0KHVzZXIpIHtcbiAgICAgICAgaWYgKEdvb2dsZUFuYWx5dGljc1NlcnZpY2UudHJhY2tpbmdJZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgZ2EoJ3NldCcsICd1c2VySWQnLCB1c2VyPy5pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bnN1YnNjcmliZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQU05RCxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLFlBQ3FCLE1BQWMsRUFDZCxZQUFpQyxFQUNqQyxnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3BELENBQUM7SUFFSSxhQUFhO1FBQ2pCLE9BQU8sT0FBTyxFQUFFLEtBQUssV0FBVyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxDQUFDLCtDQUErQztnQkFDMUQsT0FBTztZQUNYLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFlBQVk7cUJBQ1osVUFBVSxDQUFDLE1BQU0sRUFBRSwrQ0FBK0MsRUFBRSxJQUFJLENBQUM7cUJBQ3pFLElBQUksQ0FBQyxHQUFHLEVBQUU7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TCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7K0dBbEhRLHNCQUFzQjttSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtY29uZmlnLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NyaXB0TG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmRlY2xhcmUgbGV0IGdhOiBhbnk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyB0cmFja2luZ0lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNjcmlwdExvYWRlcjogU2NyaXB0TG9hZGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhcHBDb25maWdTZXJ2aWNlOiBBcHBDb25maWdTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBpc0dhQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGdhICE9PSAndW5kZWZpbmVkJztcbiAgICB9XG5cbiAgICBsb2FkR1NjcmlwdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTsgLy8gR0EgaXMgYWxyZWFkeSBsb2FkZWQsIG5vIG5lZWQgdG8gbG9hZCBhZ2Fpbi5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuYXBwQ29uZmlnJC5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcmlwdExvYWRlclxuICAgICAgICAgICAgICAgICAgICAubG9hZFNjcmlwdCgnaGVhZCcsICdodHRwczovL3d3dy5nb29nbGUtYW5hbHl0aWNzLmNvbS9hbmFseXRpY3MuanMnLCB0cnVlKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnB1c2hBcmd1bWVudHNHQSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2EubCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBHb29nbGVBbmFseXRpY3NTZXJ2aWNlLnRyYWNraW5nSWQgPSBjb25maWcuaW50ZWdyYXRpb25zLmdvb2dsZV9hbmFseXRpY3M7XG4gICAgICAgICAgICAgICAgICAgICAgICBnYSgnY3JlYXRlJywgR29vZ2xlQW5hbHl0aWNzU2VydmljZS50cmFja2luZ0lkLCAnYXV0bycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOyAvLyBSZXNvbHZlIHRoZSBwcm9taXNlIG9uY2UgdGhlIHNjcmlwdCBpcyBsb2FkZWQgYW5kIGdhIGlzIGluaXRpYWxpemVkXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIEdvb2dsZSBBbmFseXRpY3Mgc2NyaXB0OicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVzaEFyZ3VtZW50c0dBKCkge1xuICAgICAgICBnYSA9XG4gICAgICAgICAgICBnYSB8fFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcbiAgICAgICAgICAgIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBnYS5xID0gZ2EucSA9IGdhLnEgfHwgW107XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICAgICAgICAgICAgICAgIGdhLnEucHVzaChhcmd1bWVudHMpO1xuICAgICAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdWJzY3JpYmUoKSB7XG4gICAgICAgIGlmICghdGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIEdvb2dsZSBBbmFseXRpY3Mgc2NyaXB0IGlzIGxvYWRlZCBiZWZvcmUgdXNpbmcgdGhlIGdhIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZEdTY3JpcHQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNHYUF2YWlsYWJsZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhKCdzZXQnLCAncGFnZScsIGUudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUcmFja2luZyBub3QgZm91bmQgLSBtYWtlIHN1cmUgeW91IGluc3RhbGxlZCB0aGUgc2NyaXB0cydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVtaXQgZ29vZ2xlIGFuYWx5dGljcyBldmVudFxuICAgICAqIEZpcmUgZXZlbnQgZXhhbXBsZTpcbiAgICAgKiB0aGlzLnNlbmRFdmVudChcInRlc3RDYXRlZ29yeVwiLCBcInRlc3RBY3Rpb25cIiwgXCJ0ZXN0TGFiZWxcIiwgMTApO1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudENhdGVnb3J5XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50QWN0aW9uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TGFiZWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZXZlbnRWYWx1ZVxuICAgICAqL1xuICAgIHNlbmRFdmVudChcbiAgICAgICAgZXZlbnRDYXRlZ29yeTogc3RyaW5nLFxuICAgICAgICBldmVudEFjdGlvbjogc3RyaW5nLFxuICAgICAgICBldmVudExhYmVsOiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBldmVudFZhbHVlOiBudW1iZXIgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmlzR2FBdmFpbGFibGUoKSkge1xuICAgICAgICAgICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCB7XG4gICAgICAgICAgICAgICAgZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICBldmVudEFjdGlvbixcbiAgICAgICAgICAgICAgICBldmVudExhYmVsLFxuICAgICAgICAgICAgICAgIGV2ZW50VmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignR29vZ2xlIEFuYWx5dGljcyB0cmFja2luZyBub3QgYXZhaWxhYmxlLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlIFVzZXJJZCBUcmFja2luZyBmb3IgR29vZ2xlIEFuYWx5dGljc1xuICAgICAqIEBwYXJhbSB1c2VyXG4gICAgICovXG4gICAgc2V0VXNlckNvbnRleHQodXNlcikge1xuICAgICAgICBpZiAoR29vZ2xlQW5hbHl0aWNzU2VydmljZS50cmFja2luZ0lkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0dhQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgICAgICBnYSgnc2V0JywgJ3VzZXJJZCcsIHVzZXI/LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -7,11 +7,11 @@ import * as i1 from "./main-api-http.service";
7
7
  export class GroupService {
8
8
  constructor(api) {
9
9
  this.api = api;
10
- this.ADMIN_PATH = ADMIN_PATH;
11
10
  this.subscription_endpoint = '/subscriptions/';
12
11
  this.group_communications_endpoint = '/group_communications/';
13
12
  this.group_definitions_endpoint = '/group_definitions/';
14
13
  this.groups_endpoint = '/groups/';
14
+ this.ADMIN_PATH = ADMIN_PATH;
15
15
  }
16
16
  // ------------------------------------------------------------
17
17
  // Subscription Service
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
119
119
  providedIn: 'root'
120
120
  }]
121
121
  }], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sWUFBWTtJQVdyQixZQUE2QixHQUF1QjtRQUF2QixRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQVZwRCxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRVAsMEJBQXFCLEdBQUcsaUJBQWlCLENBQUM7UUFFMUMsa0NBQTZCLEdBQUcsd0JBQXdCLENBQUM7UUFFekQsK0JBQTBCLEdBQUcscUJBQXFCLENBQUM7UUFFbkQsb0JBQWUsR0FBRyxVQUFVLENBQUM7SUFFUyxDQUFDO0lBRXhELCtEQUErRDtJQUMvRCx1QkFBdUI7SUFDdkIsK0RBQStEO0lBRS9ELE9BQU8sQ0FBQyxFQUFFO1FBQ04sT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxXQUFXLENBQUMsRUFBVSxFQUFFLFFBQWdCLEVBQUUsSUFBSTtRQUMxQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUNmLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLFdBQVcsUUFBUSxFQUFFLEVBQ3BFLElBQUksQ0FDUCxDQUFDO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLEVBQVUsRUFBRSxN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RTtZQUMxRSxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7U0FDM0MsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxvQ0FBb0M7SUFDcEMsK0RBQStEO0lBRS9ELHNCQUFzQixDQUFDLElBQUk7UUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsRUFBVTtRQUMvQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLDhCQUE4QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7K0dBekpRLFlBQVk7bUhBQVosWUFBWSxjQUZULE1BQU07OzRGQUVULFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBRE1JTl9QQVRILCBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcbmltcG9ydCB7IE1haW5BcGlIdHRwU2VydmljZSB9IGZyb20gJy4vbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHcm91cFNlcnZpY2Uge1xuICAgIEFETUlOX1BBVEggPSBBRE1JTl9QQVRIO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25fZW5kcG9pbnQgPSAnL3N1YnNjcmlwdGlvbnMvJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnQgPSAnL2dyb3VwX2NvbW11bmljYXRpb25zLyc7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3VwX2RlZmluaXRpb25zX2VuZHBvaW50ID0gJy9ncm91cF9kZWZpbml0aW9ucy8nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBncm91cHNfZW5kcG9pbnQgPSAnL2dyb3Vwcy8nO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcGk6IE1haW5BcGlIdHRwU2VydmljZSkge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFN1YnNjcmlwdGlvbiBTZXJ2aWNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBnZXRCeUlkKGlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7dGhpcy5zdWJzY3JpcHRpb25fZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICB1cGRhdGVBZ2VudChpZDogbnVtYmVyLCBhZ2VudF9pZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoXG4gICAgICAgICAgICBgJHtBRE1JTl9QQVRIfSR7dGhpcy5zdWJzY3JpcHRpb25fZW5kcG9pbnR9JHtpZH0vYWdlbnRzLyR7YWdlbnRfaWR9YCxcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRTdWJzY3JpcHRpb25NZW1iZXJzKGlkOiBudW1iZXIsIHBhZ2luZz86IFBhZ2luZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhcbiAgICAgICAgICAgIGAke3RoaXMuc3Vic2NyaXB0aW9uX2VuZHBvaW50fSR7aWR9L21lbWJlcnNgLFxuICAgICAgICAgICAgSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEdyb3VwIFNlcnZpY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGdldEdyb3VwRGVmaW5pdGlvbkJ5SWQoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke3RoaXMuZ3JvdXBfZGVmaW5pdGlvbnNfZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICBncm91cERlZmluaXRpb25HZXRBbGwocmVsYXRlZF9lbnRpdHlfaWQ6IG51bWJlciwgcmVsYXRlZF9lbnRpdHlfdHlwZTogc3RyaW5nLCBwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7dGhpcy5ncm91cF9kZWZpbml0aW9uc19lbmRwb2ludH1nZXRfYWxsYCwge1xuICAgICAgICAgICAgcmVsYXRlZF9lbnRpdHlfaWQsXG4gICAgICAgICAgICByZWxhdGVkX2VudGl0eV90eXBlLFxuICAgICAgICAgICAgLi4uSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBncm91cERlZmluaXRpb25zKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYCR7dGhpcy5ncm91cF9kZWZpbml0aW9uc19lbmRwb2ludH1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICBncm91cERlZmluaXRpb25zRGVsZXRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmRlbGV0ZShgJHt0aGlzLmdyb3VwX2RlZmluaXRpb25zX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgZ3JvdXBEZWZpbml0aW9uc1VwZGF0ZShpZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoYCR7dGhpcy5ncm91cF9kZWZpbml0aW9uc19lbmRwb2ludH0ke2lkfWAsIGRhdGEpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEdyb3VwIFNlcnZpY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHBvc3RHcm91cChkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KHRoaXMuZ3JvdXBzX2VuZHBvaW50LCBkYXRhKTtcbiAgICB9XG5cbiAgICBnZXRHcm91cChpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYCR7dGhpcy5ncm91cHNfZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICB1cGRhdGVHcm91cChpZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoYCR7dGhpcy5ncm91cHNfZW5kcG9pbnR9JHtpZH1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICBkZWxldGVHcm91cChpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYCR7dGhpcy5ncm91cHNfZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICBhZGRFbnRpdHlHcm91cChpZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAke3RoaXMuZ3JvdXBzX2VuZHBvaW50fSR7aWR9L2FkZF9lbnRpdGllc2AsIGRhdGEpO1xuICAgIH1cblxuICAgIGRlbGV0ZUVudGl0eUdyb3VwKGVudGl0eUlkOiBudW1iZXIsIHJlbGF0ZWRfZW50aXR5X2lkcywgcmVsYXRlZF9lbnRpdHlfdHlwZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoXG4gICAgICAgICAgICBgJHt0aGlzLmdyb3Vwc19lbmRwb2ludH0ke2VudGl0eUlkfS9yZW1vdmVfZW50aXR5P3JlbGF0ZWRfZW50aXR5X2lkcz0ke3JlbGF0ZWRfZW50aXR5X2lkc30mcmVsYXRlZF9lbnRpdHlfdHlwZT0ke3JlbGF0ZWRfZW50aXR5X3R5cGV9YFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldEVudGl0eUdyb3VwKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgL2dyb3Vwcy8ke2lkfWApO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEdyb3VwIENvbW11bmljYXRpb24gU2VydmljZVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcG9zdENvbW11bmljYXRpb25zKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QodGhpcy5ncm91cF9jb21tdW5pY2F0aW9uc19lbmRwb2ludCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZWRpdENvbW11bmljYXRpb25zKGlkOiBudW1iZXIsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnB1dChgJHt0aGlzLmdyb3VwX2NvbW11bmljYXRpb25zX2VuZHBvaW50fSR7aWR9YCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0Q29tbXVuaWNhdGlvbkRldGFpbHMoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke3RoaXMuZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICBkZWxldGVDb21tdW5pY2F0aW9ucyhpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYCR7dGhpcy5ncm91cF9jb21tdW5pY2F0aW9uc19lbmRwb2ludH0ke2lkfWApO1xuICAgIH1cblxuICAgIGdldEFsbENvbW11bmljYXRpb25zKFxuICAgICAgICBzdWJzY3JpcHRpb25faWQ6IG51bWJlcixcbiAgICAgICAgY29tbXVuaWNhdGlvbl90eXBlOiBzdHJpbmcsXG4gICAgICAgIGdyb3VwX2lkOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgICAgIHBhZ2luZz86IFBhZ2luZ1xuICAgICkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhgJHt0aGlzLmdyb3VwX2NvbW11bmljYXRpb25zX2VuZHBvaW50fWdldF9hbGxgLCB7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWQsXG4gICAgICAgICAgICBjb21tdW5pY2F0aW9uX3R5cGUsXG4gICAgICAgICAgICBncm91cF9pZCxcbiAgICAgICAgICAgIC4uLkhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0QWxsQ29tbXVuaWNhdGlvbnNXaXRoT3V0R3JvdXBJZChcbiAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiBudW1iZXIsXG4gICAgICAgIGNvbW11bmljYXRpb25fdHlwZTogc3RyaW5nLFxuICAgICAgICBwYWdpbmc/OiBQYWdpbmdcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7dGhpcy5ncm91cF9jb21tdW5pY2F0aW9uc19lbmRwb2ludH1nZXRfYWxsYCwge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkLFxuICAgICAgICAgICAgY29tbXVuaWNhdGlvbl90eXBlLFxuICAgICAgICAgICAgLi4uSGVscGVyU2VydmljZS5nZXRQYWdpbmdQYXJhbXMocGFnaW5nKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBHcm91cCBDb21tdW5pY2F0aW9uIEZpbGVzIFNlcnZpY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHBvc3RDb21tdW5pY2F0aW9uRmlsZXMoZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgL2dyb3VwX2NvbW11bmljYXRpb25fZmlsZXNgLCBkYXRhKTtcbiAgICB9XG5cbiAgICBkZWxldGVDb21tdW5pY2F0aW9uRmlsZXMoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGAvZ3JvdXBfY29tbXVuaWNhdGlvbl9maWxlcy8ke2lkfWApO1xuICAgIH1cbn1cbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uLXNlcnZpY2VzL3NyYy9saWIvZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sWUFBWTtJQVFyQixZQUE2QixHQUF1QjtRQUF2QixRQUFHLEdBQUgsR0FBRyxDQUFvQjtRQVBuQywwQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMxQyxrQ0FBNkIsR0FBRyx3QkFBd0IsQ0FBQztRQUN6RCwrQkFBMEIsR0FBRyxxQkFBcUIsQ0FBQztRQUNuRCxvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUU5QyxlQUFVLEdBQUcsVUFBVSxDQUFDO0lBRStCLENBQUM7SUFFeEQsK0RBQStEO0lBQy9ELHVCQUF1QjtJQUN2QiwrREFBK0Q7SUFFL0QsT0FBTyxDQUFDLEVBQUU7UUFDTixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVLEVBQUUsUUFBZ0IsRUFBRSxJQUFJO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQ2YsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsV0FBVyxRQUFRLEVBQUUsRUFDcEUsSUFBSSxDQUNQLENBQUM7SUFDTixDQUFDO0lBRUQsc0JBQXNCLENBQUMsRUFBVSxFQUFF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QUFFO1lBQzFFLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztTQUMzQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELG9DQUFvQztJQUNwQywrREFBK0Q7SUFFL0Qsc0JBQXNCLENBQUMsSUFBSTtRQUN2QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxFQUFVO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0F0SlEsWUFBWTttSEFBWixZQUFZLGNBRlQsTUFBTTs7NEZBRVQsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFETUlOX1BBVEgsIFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuXG5pbXBvcnQgeyBNYWluQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbl9lbmRwb2ludCA9ICcvc3Vic2NyaXB0aW9ucy8nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnQgPSAnL2dyb3VwX2NvbW11bmljYXRpb25zLyc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBncm91cF9kZWZpbml0aW9uc19lbmRwb2ludCA9ICcvZ3JvdXBfZGVmaW5pdGlvbnMvJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3Vwc19lbmRwb2ludCA9ICcvZ3JvdXBzLyc7XG5cbiAgICBBRE1JTl9QQVRIID0gQURNSU5fUEFUSDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBpOiBNYWluQXBpSHR0cFNlcnZpY2UpIHt9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTdWJzY3JpcHRpb24gU2VydmljZVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZ2V0QnlJZChpZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke3RoaXMuc3Vic2NyaXB0aW9uX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgdXBkYXRlQWdlbnQoaWQ6IG51bWJlciwgYWdlbnRfaWQ6IG51bWJlciwgZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucHV0KFxuICAgICAgICAgICAgYCR7QURNSU5fUEFUSH0ke3RoaXMuc3Vic2NyaXB0aW9uX2VuZHBvaW50fSR7aWR9L2FnZW50cy8ke2FnZW50X2lkfWAsXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0U3Vic2NyaXB0aW9uTWVtYmVycyhpZDogbnVtYmVyLCBwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoXG4gICAgICAgICAgICBgJHt0aGlzLnN1YnNjcmlwdGlvbl9lbmRwb2ludH0ke2lkfS9tZW1iZXJzYCxcbiAgICAgICAgICAgIEhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBHcm91cCBTZXJ2aWNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBnZXRHcm91cERlZmluaXRpb25CeUlkKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgJHt0aGlzLmdyb3VwX2RlZmluaXRpb25zX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgZ3JvdXBEZWZpbml0aW9uR2V0QWxsKHJlbGF0ZWRfZW50aXR5X2lkOiBudW1iZXIsIHJlbGF0ZWRfZW50aXR5X3R5cGU6IHN0cmluZywgcGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAke3RoaXMuZ3JvdXBfZGVmaW5pdGlvbnNfZW5kcG9pbnR9Z2V0X2FsbGAsIHtcbiAgICAgICAgICAgIHJlbGF0ZWRfZW50aXR5X2lkLFxuICAgICAgICAgICAgcmVsYXRlZF9lbnRpdHlfdHlwZSxcbiAgICAgICAgICAgIC4uLkhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ3JvdXBEZWZpbml0aW9ucyhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAke3RoaXMuZ3JvdXBfZGVmaW5pdGlvbnNfZW5kcG9pbnR9YCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZ3JvdXBEZWZpbml0aW9uc0RlbGV0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYCR7dGhpcy5ncm91cF9kZWZpbml0aW9uc19lbmRwb2ludH0ke2lkfWApO1xuICAgIH1cblxuICAgIGdyb3VwRGVmaW5pdGlvbnNVcGRhdGUoaWQ6IG51bWJlciwgZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucHV0KGAke3RoaXMuZ3JvdXBfZGVmaW5pdGlvbnNfZW5kcG9pbnR9JHtpZH1gLCBkYXRhKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBHcm91cCBTZXJ2aWNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwb3N0R3JvdXAoZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdCh0aGlzLmdyb3Vwc19lbmRwb2ludCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZ2V0R3JvdXAoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0KGAke3RoaXMuZ3JvdXBzX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgdXBkYXRlR3JvdXAoaWQ6IG51bWJlciwgZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucHV0KGAke3RoaXMuZ3JvdXBzX2VuZHBvaW50fSR7aWR9YCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZGVsZXRlR3JvdXAoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGAke3RoaXMuZ3JvdXBzX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgYWRkRW50aXR5R3JvdXAoaWQ6IG51bWJlciwgZGF0YSkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkucG9zdChgJHt0aGlzLmdyb3Vwc19lbmRwb2ludH0ke2lkfS9hZGRfZW50aXRpZXNgLCBkYXRhKTtcbiAgICB9XG5cbiAgICBkZWxldGVFbnRpdHlHcm91cChlbnRpdHlJZDogbnVtYmVyLCByZWxhdGVkX2VudGl0eV9pZHMsIHJlbGF0ZWRfZW50aXR5X3R5cGU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKFxuICAgICAgICAgICAgYCR7dGhpcy5ncm91cHNfZW5kcG9pbnR9JHtlbnRpdHlJZH0vcmVtb3ZlX2VudGl0eT9yZWxhdGVkX2VudGl0eV9pZHM9JHtyZWxhdGVkX2VudGl0eV9pZHN9JnJlbGF0ZWRfZW50aXR5X3R5cGU9JHtyZWxhdGVkX2VudGl0eV90eXBlfWBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRFbnRpdHlHcm91cChpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYC9ncm91cHMvJHtpZH1gKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBHcm91cCBDb21tdW5pY2F0aW9uIFNlcnZpY2VcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHBvc3RDb21tdW5pY2F0aW9ucyhkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KHRoaXMuZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnQsIGRhdGEpO1xuICAgIH1cblxuICAgIGVkaXRDb21tdW5pY2F0aW9ucyhpZDogbnVtYmVyLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoYCR7dGhpcy5ncm91cF9jb21tdW5pY2F0aW9uc19lbmRwb2ludH0ke2lkfWAsIGRhdGEpO1xuICAgIH1cblxuICAgIGdldENvbW11bmljYXRpb25EZXRhaWxzKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgJHt0aGlzLmdyb3VwX2NvbW11bmljYXRpb25zX2VuZHBvaW50fSR7aWR9YCk7XG4gICAgfVxuXG4gICAgZGVsZXRlQ29tbXVuaWNhdGlvbnMoaWQ6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZGVsZXRlKGAke3RoaXMuZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnR9JHtpZH1gKTtcbiAgICB9XG5cbiAgICBnZXRBbGxDb21tdW5pY2F0aW9ucyhcbiAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiBudW1iZXIsXG4gICAgICAgIGNvbW11bmljYXRpb25fdHlwZTogc3RyaW5nLFxuICAgICAgICBncm91cF9pZDogbnVtYmVyIHwgc3RyaW5nLFxuICAgICAgICBwYWdpbmc/OiBQYWdpbmdcbiAgICApIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYCR7dGhpcy5ncm91cF9jb21tdW5pY2F0aW9uc19lbmRwb2ludH1nZXRfYWxsYCwge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkLFxuICAgICAgICAgICAgY29tbXVuaWNhdGlvbl90eXBlLFxuICAgICAgICAgICAgZ3JvdXBfaWQsXG4gICAgICAgICAgICAuLi5IZWxwZXJTZXJ2aWNlLmdldFBhZ2luZ1BhcmFtcyhwYWdpbmcpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldEFsbENvbW11bmljYXRpb25zV2l0aE91dEdyb3VwSWQoXG4gICAgICAgIHN1YnNjcmlwdGlvbl9pZDogbnVtYmVyLFxuICAgICAgICBjb21tdW5pY2F0aW9uX3R5cGU6IHN0cmluZyxcbiAgICAgICAgcGFnaW5nPzogUGFnaW5nXG4gICAgKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAke3RoaXMuZ3JvdXBfY29tbXVuaWNhdGlvbnNfZW5kcG9pbnR9Z2V0X2FsbGAsIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZCxcbiAgICAgICAgICAgIGNvbW11bmljYXRpb25fdHlwZSxcbiAgICAgICAgICAgIC4uLkhlbHBlclNlcnZpY2UuZ2V0UGFnaW5nUGFyYW1zKHBhZ2luZylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gR3JvdXAgQ29tbXVuaWNhdGlvbiBGaWxlcyBTZXJ2aWNlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwb3N0Q29tbXVuaWNhdGlvbkZpbGVzKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYC9ncm91cF9jb21tdW5pY2F0aW9uX2ZpbGVzYCwgZGF0YSk7XG4gICAgfVxuXG4gICAgZGVsZXRlQ29tbXVuaWNhdGlvbkZpbGVzKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmRlbGV0ZShgL2dyb3VwX2NvbW11bmljYXRpb25fZmlsZXMvJHtpZH1gKTtcbiAgICB9XG59XG4iXX0=
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
45
45
  providedIn: 'root'
46
46
  }]
47
47
  }], ctorParameters: () => [{ type: i1.ScriptLoaderService }, { type: i2.TipsService }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9wc2NvdGNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2hvcHNjb3RjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBK0I3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTXpCLFlBQ3FCLFlBQWlDLEVBQ2pDLFVBQXVCO1FBRHZCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFhO1FBUDNCLFNBQUksR0FBUztZQUMxQixFQUFFLEVBQUUsRUFBRTtZQUNOLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQztJQUtDLENBQUM7SUFFSixjQUFjLENBQUMsTUFBYyxFQUFFLEtBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQXdCO1FBQ2hGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLDZCQUE2QixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDaEYsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLHNDQUFzQztZQUN0QyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztnQkFDeEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXhELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25FLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7K0dBbkNRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjcmlwdExvYWRlclNlcnZpY2UgfSBmcm9tICcuL3NjcmlwdC1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaXBzU2VydmljZSB9IGZyb20gJy4vdGlwcy5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIFRvdXIge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgc3RlcHM6IFRvdXJTdGVwW107XG59XG5cbmludGVyZmFjZSBUb3VyU3RlcCB7XG4gICAgdGFyZ2V0OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgcGxhY2VtZW50OiBzdHJpbmc7XG4gICAgYXJyb3dPZmZzZXQ/OiBudW1iZXI7XG4gICAgeE9mZnNldD86IG51bWJlcjtcbiAgICB5T2Zmc2V0PzogbnVtYmVyO1xuICAgIGlzSFRNTD86IGJvb2xlYW47XG4gICAgc2hvd1ByZXZCdXR0b24/OiBib29sZWFuO1xufVxuXG5kZWNsYXJlIGxldCB3aW5kb3c6IHtcbiAgICBob3BzY290Y2g6IHtcbiAgICAgICAgc3RhcnRUb3VyOiAodG91cjogVG91cikgPT4gdm9pZDtcbiAgICAgICAgZW5kVG91cjogKCkgPT4gdm9pZDtcbiAgICAgICAgbmV4dFN0ZXA6ICgpID0+IHZvaWQ7XG4gICAgICAgIHNob3dTdGVwOiAoc3RlcE51bWJlcjogbnVtYmVyKSA9PiB2b2lkO1xuICAgIH07XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEhvcHNjb3RjaFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG91cjogVG91ciA9IHtcbiAgICAgICAgaWQ6ICcnLFxuICAgICAgICBzdGVwczogW11cbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0TG9hZGVyOiBTY3JpcHRMb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRpcFNlcnZpY2U6IFRpcHNTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgaW5pdGlhbGl6ZVRvdXIodG91cklkOiBzdHJpbmcsIHN0ZXBzOiBUb3VyU3RlcFtdLCB0aXBfZGF0YSwgc3Vic2NyaXB0aW9uX2lkPzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG91ci5pZCA9IHRvdXJJZDtcbiAgICAgICAgdGhpcy50b3VyLnN0ZXBzID0gc3RlcHM7XG5cbiAgICAgICAgdGhpcy5zY3JpcHRMb2FkZXIubG9hZFNjcmlwdCgnaGVhZCcsICcvYXNzZXRzL2pzL2hvcHNjb3RjaC5taW4uanMnLCB0cnVlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5ob3BzY290Y2g/LnN0YXJ0VG91cih0aGlzLnRvdXIpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcbiAgICAgICAgICAgIHdpbmRvdy5ob3BzY290Y2gubmV4dFN0ZXAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RlcE51bWJlciA9ICQoJy5ob3BzY290Y2gtYnViYmxlLW51bWJlcicpLnRleHQoKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRvdXIuc3RlcHMubGVuZ3RoID09PSBOdW1iZXIoc3RlcE51bWJlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aXBTZXJ2aWNlLmFkZFVzZXJUaXBzKHRpcF9kYXRhLCBzdWJzY3JpcHRpb25faWQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3c/LmhvcHNjb3RjaD8uZW5kVG91cigpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5ob3BzY290Y2guc2hvd1N0ZXAoTnVtYmVyKHN0ZXBOdW1iZXIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGVuZFRvdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh3aW5kb3c/LmhvcHNjb3RjaCkge1xuICAgICAgICAgICAgd2luZG93Py5ob3BzY290Y2g/LmVuZFRvdXIoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9wc2NvdGNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2hvcHNjb3RjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBK0I3QyxNQUFNLE9BQU8sZ0JBQWdCO0lBTXpCLFlBQ3FCLFlBQWlDLEVBQ2pDLFVBQXVCO1FBRHZCLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFhO1FBUDNCLFNBQUksR0FBUztZQUMxQixFQUFFLEVBQUUsRUFBRTtZQUNOLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQztJQUtDLENBQUM7SUFFSixjQUFjLENBQUMsTUFBYyxFQUFFLEtBQWlCLEVBQUUsUUFBUSxFQUFFLGVBQXdCO1FBQ2hGLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLDZCQUE2QixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDaEYsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLHNDQUFzQztZQUN0QyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRztnQkFDeEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXhELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ25FLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7K0dBbkNRLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2NyaXB0TG9hZGVyU2VydmljZSB9IGZyb20gJy4vc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRpcHNTZXJ2aWNlIH0gZnJvbSAnLi90aXBzLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgVG91ciB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBzdGVwczogVG91clN0ZXBbXTtcbn1cblxuaW50ZXJmYWNlIFRvdXJTdGVwIHtcbiAgICB0YXJnZXQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGNvbnRlbnQ6IHN0cmluZztcbiAgICBwbGFjZW1lbnQ6IHN0cmluZztcbiAgICBhcnJvd09mZnNldD86IG51bWJlcjtcbiAgICB4T2Zmc2V0PzogbnVtYmVyO1xuICAgIHlPZmZzZXQ/OiBudW1iZXI7XG4gICAgaXNIVE1MPzogYm9vbGVhbjtcbiAgICBzaG93UHJldkJ1dHRvbj86IGJvb2xlYW47XG59XG5cbmRlY2xhcmUgbGV0IHdpbmRvdzoge1xuICAgIGhvcHNjb3RjaDoge1xuICAgICAgICBzdGFydFRvdXI6ICh0b3VyOiBUb3VyKSA9PiB2b2lkO1xuICAgICAgICBlbmRUb3VyOiAoKSA9PiB2b2lkO1xuICAgICAgICBuZXh0U3RlcDogKCkgPT4gdm9pZDtcbiAgICAgICAgc2hvd1N0ZXA6IChzdGVwTnVtYmVyOiBudW1iZXIpID0+IHZvaWQ7XG4gICAgfTtcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSG9wc2NvdGNoU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b3VyOiBUb3VyID0ge1xuICAgICAgICBpZDogJycsXG4gICAgICAgIHN0ZXBzOiBbXVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzY3JpcHRMb2FkZXI6IFNjcmlwdExvYWRlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGlwU2VydmljZTogVGlwc1NlcnZpY2VcbiAgICApIHt9XG5cbiAgICBpbml0aWFsaXplVG91cih0b3VySWQ6IHN0cmluZywgc3RlcHM6IFRvdXJTdGVwW10sIHRpcF9kYXRhLCBzdWJzY3JpcHRpb25faWQ/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b3VyLmlkID0gdG91cklkO1xuICAgICAgICB0aGlzLnRvdXIuc3RlcHMgPSBzdGVwcztcblxuICAgICAgICB0aGlzLnNjcmlwdExvYWRlci5sb2FkU2NyaXB0KCdoZWFkJywgJy9hc3NldHMvanMvaG9wc2NvdGNoLm1pbi5qcycsIHRydWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmhvcHNjb3RjaD8uc3RhcnRUb3VyKHRoaXMudG91cik7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuICAgICAgICAgICAgd2luZG93LmhvcHNjb3RjaC5uZXh0U3RlcCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGVwTnVtYmVyID0gJCgnLmhvcHNjb3RjaC1idWJibGUtbnVtYmVyJykudGV4dCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudG91ci5zdGVwcy5sZW5ndGggPT09IE51bWJlcihzdGVwTnVtYmVyKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpcFNlcnZpY2UuYWRkVXNlclRpcHModGlwX2RhdGEsIHN1YnNjcmlwdGlvbl9pZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdz8uaG9wc2NvdGNoPy5lbmRUb3VyKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmhvcHNjb3RjaC5zaG93U3RlcChOdW1iZXIoc3RlcE51bWJlcikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZW5kVG91cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHdpbmRvdz8uaG9wc2NvdGNoKSB7XG4gICAgICAgICAgICB3aW5kb3c/LmhvcHNjb3RjaD8uZW5kVG91cigpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,8 +1,8 @@
1
+ import { HttpClient } from '@angular/common/http';
1
2
  import { Injectable, Injector, isDevMode } from '@angular/core';
2
- import { INTEGRATIONS_API_PREFIX } from '@posiwise/common-utilities';
3
3
  import { AppConfigService } from '@posiwise/app-config-service';
4
+ import { INTEGRATIONS_API_PREFIX } from '@posiwise/common-utilities';
4
5
  import { BaseHttpService } from './base-http.service';
5
- import { HttpClient } from '@angular/common/http';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common/http";
8
8
  export class IntegrationsApiHttpService extends BaseHttpService {
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
25
25
  providedIn: 'root'
26
26
  }]
27
27
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb25zLWFwaS1odHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2ludGVncmF0aW9ucy1hcGktaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFLbEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFDM0QsWUFBWSxJQUFnQixFQUFFLFFBQWtCO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUU7Z0JBQ3RCLENBQUMsQ0FBQyx1QkFBdUI7Z0JBQ3pCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBVlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGdkIsTUFBTTs7NEZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSU5URUdSQVRJT05TX0FQSV9QUkVGSVggfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1jb25maWctc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25zQXBpSHR0cFNlcnZpY2UgZXh0ZW5kcyBCYXNlSHR0cFNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKGh0dHA6IEh0dHBDbGllbnQsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihodHRwLCBpbmplY3Rvcik7XG4gICAgfVxuICAgIGdldENvbmZpZygpIHtcbiAgICAgICAgdGhpcy5pbmplY3Rvci5nZXQoQXBwQ29uZmlnU2VydmljZSkuYXBwQ29uZmlnJC5zdWJzY3JpYmUoY29uZmlnID0+IHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVVybCA9IGlzRGV2TW9kZSgpXG4gICAgICAgICAgICAgICAgPyBJTlRFR1JBVElPTlNfQVBJX1BSRUZJWFxuICAgICAgICAgICAgICAgIDogY29uZmlnPy5bJ2xpbmtzJ10/LmludGVncmF0aW9uc19hcGk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb25zLWFwaS1odHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL2ludGVncmF0aW9ucy1hcGktaHR0cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLdEQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGVBQWU7SUFDM0QsWUFBWSxJQUFnQixFQUFFLFFBQWtCO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUU7Z0JBQ3RCLENBQUMsQ0FBQyx1QkFBdUI7Z0JBQ3pCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBVlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGdkIsTUFBTTs7NEZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWNvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IElOVEVHUkFUSU9OU19BUElfUFJFRklYIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgeyBCYXNlSHR0cFNlcnZpY2UgfSBmcm9tICcuL2Jhc2UtaHR0cC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvbnNBcGlIdHRwU2VydmljZSBleHRlbmRzIEJhc2VIdHRwU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGh0dHAsIGluamVjdG9yKTtcbiAgICB9XG4gICAgZ2V0Q29uZmlnKCkge1xuICAgICAgICB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWdTZXJ2aWNlKS5hcHBDb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICAgICAgdGhpcy5iYXNlVXJsID0gaXNEZXZNb2RlKClcbiAgICAgICAgICAgICAgICA/IElOVEVHUkFUSU9OU19BUElfUFJFRklYXG4gICAgICAgICAgICAgICAgOiBjb25maWc/LlsnbGlua3MnXT8uaW50ZWdyYXRpb25zX2FwaTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
29
29
  providedIn: 'root'
30
30
  }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsxQixNQUFNLE9BQU8sWUFBWTtJQUNyQixRQUFRLENBQUMsR0FBVztRQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUMvQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNuQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNmLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXZCUSxZQUFZO21IQUFaLFlBQVksY0FGVCxNQUFNOzs0RkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlIHtcbiAgICBnZXRJdGVtJChrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSk7XG4gICAgfVxuXG4gICAgc2V0SXRlbSQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIG9mKGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpKTtcbiAgICB9XG5cbiAgICByZW1vdmVJdGVtJChrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KSk7XG4gICAgfVxuXG4gICAgY2xlYXIkKCkge1xuICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLmNsZWFyKCkpO1xuICAgIH1cblxuICAgIGNsZWFyQWxsKCkge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgZ2V0SXRlbShrZXk6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUsxQixNQUFNLE9BQU8sWUFBWTtJQUNyQixRQUFRLENBQUMsR0FBVztRQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUMvQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxXQUFXLENBQUMsR0FBVztRQUNuQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNmLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXZCUSxZQUFZO21IQUFaLFlBQVksY0FGVCxNQUFNOzs0RkFFVCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbFN0b3JhZ2Uge1xuICAgIGdldEl0ZW0kKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBvZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcbiAgICB9XG5cbiAgICBzZXRJdGVtJChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gb2YobG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSkpO1xuICAgIH1cblxuICAgIHJlbW92ZUl0ZW0kKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBvZihsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpKTtcbiAgICB9XG5cbiAgICBjbGVhciQoKSB7XG4gICAgICAgIHJldHVybiBvZihsb2NhbFN0b3JhZ2UuY2xlYXIoKSk7XG4gICAgfVxuXG4gICAgY2xlYXJBbGwoKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBnZXRJdGVtKGtleTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
63
63
  providedIn: 'root'
64
64
  }]
65
65
  }], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbGJveC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9tYWlsYm94LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sY0FBYztJQU92QixZQUE2QixJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQU5wQyxhQUFRLEdBQUcsV0FBVyxDQUFDO1FBRXZCLDRCQUF1QixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTFFLHNCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVSLENBQUM7SUFFekQsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxFQUFFO1FBQ3hELE9BQU8sZUFBZTtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ1QsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsa0JBQWtCLFdBQVcsY0FBYyxTQUFTLEVBQUUsQ0FDM0Y7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLFFBQVEsaUNBQWlDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxDQUMvRjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixNQUFNLEtBQUssR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUM7aUJBQ3pCLE1BQU0sQ0FBQyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFFRCxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQUk7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUM5QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUM5QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQWMsRUFBRSxTQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ25CLEdBQUcsSUFBSSxDQUFDLFFBQVEsa0NBQWtDLGNBQWMsZUFBZSxTQUFTLEVBQUUsQ0FDN0YsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBbEVRLGNBQWM7bUhBQWQsY0FBYyxjQUZYLE1BQU07OzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNYWluQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYWlsQm94U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludCA9ICcvbWFpbGJveC8nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1VucmVhZENvdW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIHRvdGFsVW5yZWFkQ291bnQkID0gdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0TWVzc2FnZXMoY29udmVyc2F0aW9uX2lkLCBwYWdlX251bWJlciA9IDEsIHBhZ2Vfc2l6ZSA9IDEwKSB7XG4gICAgICAgIHJldHVybiBjb252ZXJzYXRpb25faWRcbiAgICAgICAgICAgID8gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgICAgICAgIGAke3RoaXMuZW5kcG9pbnR9JHtjb252ZXJzYXRpb25faWR9L21lc3NhZ2VzP3BhZ2U9JHtwYWdlX251bWJlcn0mcGFnZV9zaXplPSR7cGFnZV9zaXplfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSk7XG4gICAgfVxuXG4gICAgZ2V0Q29udmVyc2F0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldChcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmVuZHBvaW50fWNvbnZlcnNhdGlvbnM/c3Vic2NyaXB0aW9uX2lkPSR7UGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24uaWR9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IGNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4Py51bnJlYWRfY291bnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSArIGIsIDApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5uZXh0KGNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHBvc3RNZXNzYWdlKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW5kcG9pbnR9Y29tcG9zZWAsIGRhdGEpO1xuICAgIH1cblxuICAgIG1hcmtBc1JlYWQoY29udmVyc2F0aW9uX2lkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVuZHBvaW50fXJlYWRgLCB7IGNvbnZlcnNhdGlvbl9pZCB9KTtcbiAgICB9XG5cbiAgICBkZWNyZW1lbnRVbnJlYWRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0NvdW50ID0gK3RoaXMuY2hlY2tVbnJlYWRDb3VudFN1YmplY3QuZ2V0VmFsdWUoKSAtIGNvdW50O1xuICAgICAgICBpZiAobmV3Q291bnQgPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5uZXh0KG5ld0NvdW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluY3JlbWVudFVucmVhZENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbmV3Q291bnQgPSArdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5nZXRWYWx1ZSgpICsgY291bnQ7XG4gICAgICAgIGlmIChuZXdDb3VudCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVW5yZWFkQ291bnRTdWJqZWN0Lm5leHQobmV3Q291bnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVsZXRlTWVzc2FnZShjb252ZXJzYXRpb25JZCwgbWVzc2FnZUlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxuICAgICAgICAgICAgYCR7dGhpcy5lbmRwb2ludH1kZWxldGVfbWVzc2FnZT9jb252ZXJzYXRpb25faWQ9JHtjb252ZXJzYXRpb25JZH0mbWVzc2FnZV9pZD0ke21lc3NhZ2VJZH1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0UmVjaXBpZW50KHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0V2l0aFBhcmFtcyhgJHt0aGlzLmVuZHBvaW50fWF2YWlsYWJsZV9yZWNpcGllbnRzYCwgcGFyYW1zKTtcbiAgICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbGJveC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9tYWlsYm94LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sY0FBYztJQU12QixZQUE2QixJQUF3QjtRQUF4QixTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUxwQyxhQUFRLEdBQUcsV0FBVyxDQUFDO1FBQ3ZCLDRCQUF1QixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTFFLHNCQUFpQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVSLENBQUM7SUFFekQsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxFQUFFO1FBQ3hELE9BQU8sZUFBZTtZQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ1QsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsa0JBQWtCLFdBQVcsY0FBYyxTQUFTLEVBQUUsQ0FDM0Y7WUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUNBLEdBQUcsSUFBSSxDQUFDLFFBQVEsaUNBQWlDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxDQUMvRjthQUNBLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDSixNQUFNLEtBQUssR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUM7aUJBQ3pCLE1BQU0sQ0FBQyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFFRCxPQUFPLENBQUMsQ0FBQztRQUNiLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQUk7UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxVQUFVLENBQUMsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUM5QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBYTtRQUM5QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDbEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQWMsRUFBRSxTQUFTO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ25CLEdBQUcsSUFBSSxDQUFDLFFBQVEsa0NBQWtDLGNBQWMsZUFBZSxTQUFTLEVBQUUsQ0FDN0YsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBTSxHQUFHLEVBQUU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25GLENBQUM7K0dBakVRLGNBQWM7bUhBQWQsY0FBYyxjQUZYLE1BQU07OzRGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1haW5BcGlIdHRwU2VydmljZSB9IGZyb20gJy4vbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1haWxCb3hTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVuZHBvaW50ID0gJy9tYWlsYm94Lyc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1VucmVhZENvdW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICAgIHRvdGFsVW5yZWFkQ291bnQkID0gdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0TWVzc2FnZXMoY29udmVyc2F0aW9uX2lkLCBwYWdlX251bWJlciA9IDEsIHBhZ2Vfc2l6ZSA9IDEwKSB7XG4gICAgICAgIHJldHVybiBjb252ZXJzYXRpb25faWRcbiAgICAgICAgICAgID8gdGhpcy5odHRwLmdldChcbiAgICAgICAgICAgICAgICAgIGAke3RoaXMuZW5kcG9pbnR9JHtjb252ZXJzYXRpb25faWR9L21lc3NhZ2VzP3BhZ2U9JHtwYWdlX251bWJlcn0mcGFnZV9zaXplPSR7cGFnZV9zaXplfWBcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZihbXSk7XG4gICAgfVxuXG4gICAgZ2V0Q29udmVyc2F0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldChcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmVuZHBvaW50fWNvbnZlcnNhdGlvbnM/c3Vic2NyaXB0aW9uX2lkPSR7UGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24uaWR9YFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3VudCA9IGNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoeCA9PiB4Py51bnJlYWRfY291bnQpXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVkdWNlKChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSArIGIsIDApO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5uZXh0KGNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHBvc3RNZXNzYWdlKGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW5kcG9pbnR9Y29tcG9zZWAsIGRhdGEpO1xuICAgIH1cblxuICAgIG1hcmtBc1JlYWQoY29udmVyc2F0aW9uX2lkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVuZHBvaW50fXJlYWRgLCB7IGNvbnZlcnNhdGlvbl9pZCB9KTtcbiAgICB9XG5cbiAgICBkZWNyZW1lbnRVbnJlYWRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IG5ld0NvdW50ID0gK3RoaXMuY2hlY2tVbnJlYWRDb3VudFN1YmplY3QuZ2V0VmFsdWUoKSAtIGNvdW50O1xuICAgICAgICBpZiAobmV3Q291bnQgPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5uZXh0KG5ld0NvdW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluY3JlbWVudFVucmVhZENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbmV3Q291bnQgPSArdGhpcy5jaGVja1VucmVhZENvdW50U3ViamVjdC5nZXRWYWx1ZSgpICsgY291bnQ7XG4gICAgICAgIGlmIChuZXdDb3VudCA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVW5yZWFkQ291bnRTdWJqZWN0Lm5leHQobmV3Q291bnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVsZXRlTWVzc2FnZShjb252ZXJzYXRpb25JZCwgbWVzc2FnZUlkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxuICAgICAgICAgICAgYCR7dGhpcy5lbmRwb2ludH1kZWxldGVfbWVzc2FnZT9jb252ZXJzYXRpb25faWQ9JHtjb252ZXJzYXRpb25JZH0mbWVzc2FnZV9pZD0ke21lc3NhZ2VJZH1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0UmVjaXBpZW50KHBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0V2l0aFBhcmFtcyhgJHt0aGlzLmVuZHBvaW50fWF2YWlsYWJsZV9yZWNpcGllbnRzYCwgcGFyYW1zKTtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
+ import { HttpClient } from '@angular/common/http';
1
2
  import { Injectable, Injector, isDevMode } from '@angular/core';
2
- import { MAIN_API_PREFIX } from '@posiwise/common-utilities';
3
3
  import { AppConfigService } from '@posiwise/app-config-service';
4
+ import { MAIN_API_PREFIX } from '@posiwise/common-utilities';
4
5
  import { BaseHttpService } from './base-http.service';
5
- import { HttpClient } from '@angular/common/http';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common/http";
8
8
  export class MainApiHttpService extends BaseHttpService {
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23
23
  providedIn: 'root'
24
24
  }]
25
25
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.Injector }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1hcGktaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9tYWluLWFwaS1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFLbEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFDbkQsWUFBWSxJQUFnQixFQUFFLFFBQWtCO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQVJRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFJTl9BUElfUFJFRklYIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWh0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1haW5BcGlIdHRwU2VydmljZSBleHRlbmRzIEJhc2VIdHRwU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGh0dHAsIGluamVjdG9yKTtcbiAgICB9XG4gICAgZ2V0Q29uZmlnKCkge1xuICAgICAgICB0aGlzLmluamVjdG9yLmdldChBcHBDb25maWdTZXJ2aWNlKS5hcHBDb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xuICAgICAgICAgICAgdGhpcy5iYXNlVXJsID0gaXNEZXZNb2RlKCkgPyBNQUlOX0FQSV9QUkVGSVggOiBjb25maWc/LlsnbGlua3MnXT8ubWFpbl9hcGk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1hcGktaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9tYWluLWFwaS1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFLdEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGVBQWU7SUFDbkQsWUFBWSxJQUFnQixFQUFFLFFBQWtCO1FBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELFNBQVM7UUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQVJRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmYsTUFBTTs7NEZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWNvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IE1BSU5fQVBJX1BSRUZJWCB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWFpbkFwaUh0dHBTZXJ2aWNlIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaHR0cCwgaW5qZWN0b3IpO1xuICAgIH1cbiAgICBnZXRDb25maWcoKSB7XG4gICAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEFwcENvbmZpZ1NlcnZpY2UpLmFwcENvbmZpZyQuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XG4gICAgICAgICAgICB0aGlzLmJhc2VVcmwgPSBpc0Rldk1vZGUoKSA/IE1BSU5fQVBJX1BSRUZJWCA6IGNvbmZpZz8uWydsaW5rcyddPy5tYWluX2FwaTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { SOCKET_TYPE } from '@posiwise/common-utilities';
2
3
  import { BehaviorSubject } from 'rxjs';
3
4
  import { map } from 'rxjs/operators';
4
- import { SOCKET_TYPE } from '@posiwise/common-utilities';
5
5
  import { MainApiHttpService } from './main-api-http.service';
6
6
  import { WebsocketService } from './socket.service';
7
7
  import { CustomToastService } from './toast.service';
@@ -14,8 +14,8 @@ export class NotificationService {
14
14
  this.api = api;
15
15
  this.toastrService = toastrService;
16
16
  this.socketService = socketService;
17
- this.endpoint = 'notes_read';
18
17
  this.notificationSubject$ = new BehaviorSubject([]);
18
+ this.endpoint = 'notes_read';
19
19
  }
20
20
  getNotifications(paging) {
21
21
  return this.api.getWithParams(`/notes?show_on_dashboard=true`, {
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
67
67
  providedIn: 'root'
68
68
  }]
69
69
  }], ctorParameters: () => [{ type: i1.MainApiHttpService }, { type: i2.CustomToastService }, { type: i3.WebsocketService }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUtyRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQ3FCLEdBQXVCLEVBQ3ZCLGFBQWlDLEVBQ2pDLGFBQStCO1FBRi9CLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFMcEQsYUFBUSxHQUFHLFlBQVksQ0FBQztRQVFQLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO0lBRnZFLENBQUM7SUFJSixnQkFBZ0IsQ0FBQyxNQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsK0JBQStCLEVBQUU7WUFDM0QsR0FBRyxNQUFNO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHlCQUF5QixDQUFDLE1BQWU7UUFDckMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRTtZQUNuRCxHQUFHLE1BQU07U0FDWixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBSTtRQUNsQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxFQUFVO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDckMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVTtRQUMxQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQscUJBQXFCLENBQUMsRUFBVTtRQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYTtRQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDWCxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN0QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxvRUFBb0U7Z0JBQ3BFLElBQUksWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUMvQixZQUFZLENBQUMsVUFBVSxFQUN2QixZQUFZLENBQUMsT0FBTyxDQUN2QixDQUFDO2dCQUNOLENBQUM7Z0JBRUQsT0FBTyxZQUFZLENBQUM7WUFDeEIsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQWxFUSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFBhZ2luZywgU09DS0VUX1RZUEUgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBNYWluQXBpSHR0cFNlcnZpY2UgfSBmcm9tICcuL21haW4tYXBpLWh0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBXZWJzb2NrZXRTZXJ2aWNlIH0gZnJvbSAnLi9zb2NrZXQuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b21Ub2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNlcnZpY2Uge1xuICAgIGVuZHBvaW50ID0gJ25vdGVzX3JlYWQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBNYWluQXBpSHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNvY2tldFNlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vdGlmaWNhdGlvblN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW10pO1xuXG4gICAgZ2V0Tm90aWZpY2F0aW9ucyhwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYC9ub3Rlcz9zaG93X29uX2Rhc2hib2FyZD10cnVlYCwge1xuICAgICAgICAgICAgLi4ucGFnaW5nXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldERpc21pc3NlZE5vdGlmaWNhdGlvbnMocGFnaW5nPzogUGFnaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXRXaXRoUGFyYW1zKGAvbm90ZXM/ZGlzbWlzc2VkPXRydWVgLCB7XG4gICAgICAgICAgICAuLi5wYWdpbmdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2hvd05vdGlmaWNhdGlvbnMoZGF0YSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblN1YmplY3QkLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcmVhZE5vdGlmaWNhdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoJy91c2VyL25vdGVzX3JlYWQnLCB7fSk7XG4gICAgfVxuXG4gICAgZGlzbWlzc05vdGlmaWNhdGlvbihpZDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZGlzbWlzc2VkJywgJ3RydWUnKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdpZCcsIFN0cmluZyhpZCkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoYC9ub3Rlcy8ke2lkfS9kaXNtaXNzYCwgZm9ybURhdGEpLnBpcGUobWFwKHJlcyA9PiBKU09OLnN0cmluZ2lmeShyZXMpKSk7XG4gICAgfVxuXG4gICAgZGVsZXRlTm90aWZpY2F0aW9ucyhpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5kZWxldGUoYC9ub3Rlcy8ke2lkfWApO1xuICAgIH1cblxuICAgIHJlaW5zdGF0ZU5vdGlmaWNhdGlvbihpZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wdXQoYC9ub3Rlcy8ke2lkfS9yZWluc3RhdGVgKTtcbiAgICB9XG5cbiAgICBub3RpV2ViU29ja2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb2NrZXRTZXJ2aWNlLndlYlNvY2tldCQucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmV2ZW50ID09PSBTT0NLRVRfVFlQRS5OT1RJKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICAgICAgICAgICAgICAgIC8vIHNob3cgdGhlIHRvYXN0ciBmb3Igbm90aSB3aGljaCBpcyBtYXJrZWQgYXMgc2hvd19vbl90b2FzdCB0byB0cnVlXG4gICAgICAgICAgICAgICAgICAgIGlmIChub3RpZmljYXRpb24/LnNob3dfb25fdG9hc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5zaG93VG9hc3RyT25UeXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi50b2FzdF90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFVLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUtyRCxNQUFNLE9BQU8sbUJBQW1CO0lBSzVCLFlBQ3FCLEdBQXVCLEVBQ3ZCLGFBQWlDLEVBQ2pDLGFBQStCO1FBRi9CLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBQ3ZCLGtCQUFhLEdBQWIsYUFBYSxDQUFvQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFQbkMseUJBQW9CLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFFMUUsYUFBUSxHQUFHLFlBQVksQ0FBQztJQU1yQixDQUFDO0lBRUosZ0JBQWdCLENBQUMsTUFBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLCtCQUErQixFQUFFO1lBQzNELEdBQUcsTUFBTTtTQUNaLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxNQUFlO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUU7WUFDbkQsR0FBRyxNQUFNO1NBQ1osQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQUk7UUFDbEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsRUFBVTtRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQVU7UUFDMUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELHFCQUFxQixDQUFDLEVBQVU7UUFDNUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDbkMsb0VBQW9FO2dCQUNwRSxJQUFJLFlBQVksRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FDL0IsWUFBWSxDQUFDLFVBQVUsRUFDdkIsWUFBWSxDQUFDLE9BQU8sQ0FDdkIsQ0FBQztnQkFDTixDQUFDO2dCQUVELE9BQU8sWUFBWSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzsrR0FsRVEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnaW5nLCBTT0NLRVRfVFlQRSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE1haW5BcGlIdHRwU2VydmljZSB9IGZyb20gJy4vbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFdlYnNvY2tldFNlcnZpY2UgfSBmcm9tICcuL3NvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRvYXN0U2VydmljZSB9IGZyb20gJy4vdG9hc3Quc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZmljYXRpb25TdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICAgIGVuZHBvaW50ID0gJ25vdGVzX3JlYWQnO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBNYWluQXBpSHR0cFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNvY2tldFNlcnZpY2U6IFdlYnNvY2tldFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBnZXROb3RpZmljYXRpb25zKHBhZ2luZz86IFBhZ2luZykge1xuICAgICAgICByZXR1cm4gdGhpcy5hcGkuZ2V0V2l0aFBhcmFtcyhgL25vdGVzP3Nob3dfb25fZGFzaGJvYXJkPXRydWVgLCB7XG4gICAgICAgICAgICAuLi5wYWdpbmdcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0RGlzbWlzc2VkTm90aWZpY2F0aW9ucyhwYWdpbmc/OiBQYWdpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldFdpdGhQYXJhbXMoYC9ub3Rlcz9kaXNtaXNzZWQ9dHJ1ZWAsIHtcbiAgICAgICAgICAgIC4uLnBhZ2luZ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaG93Tm90aWZpY2F0aW9ucyhkYXRhKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU3ViamVjdCQubmV4dChkYXRhKTtcbiAgICB9XG5cbiAgICByZWFkTm90aWZpY2F0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnB1dCgnL3VzZXIvbm90ZXNfcmVhZCcsIHt9KTtcbiAgICB9XG5cbiAgICBkaXNtaXNzTm90aWZpY2F0aW9uKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdkaXNtaXNzZWQnLCAndHJ1ZScpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2lkJywgU3RyaW5nKGlkKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnB1dChgL25vdGVzLyR7aWR9L2Rpc21pc3NgLCBmb3JtRGF0YSkucGlwZShtYXAocmVzID0+IEpTT04uc3RyaW5naWZ5KHJlcykpKTtcbiAgICB9XG5cbiAgICBkZWxldGVOb3RpZmljYXRpb25zKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmRlbGV0ZShgL25vdGVzLyR7aWR9YCk7XG4gICAgfVxuXG4gICAgcmVpbnN0YXRlTm90aWZpY2F0aW9uKGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnB1dChgL25vdGVzLyR7aWR9L3JlaW5zdGF0ZWApO1xuICAgIH1cblxuICAgIG5vdGlXZWJTb2NrZXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNvY2tldFNlcnZpY2Uud2ViU29ja2V0JC5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuZXZlbnQgPT09IFNPQ0tFVF9UWVBFLk5PVEkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvdyB0aGUgdG9hc3RyIGZvciBub3RpIHdoaWNoIGlzIG1hcmtlZCBhcyBzaG93X29uX3RvYXN0IHRvIHRydWVcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vdGlmaWNhdGlvbj8uc2hvd19vbl90b2FzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnNob3dUb2FzdHJPblR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnRvYXN0X3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLmNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { ADMIN_SUB_MENU_WHITELIST, PERMISSION_NAMES } from '@posiwise/common-utilities';
2
3
  import cloneDeep from 'lodash/cloneDeep';
3
4
  import pickBy from 'lodash/pickBy';
4
- import { ADMIN_SUB_MENU_WHITELIST, PERMISSION_NAMES } from '@posiwise/common-utilities';
5
5
  import { MainApiHttpService } from './main-api-http.service';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "./main-api-http.service";
@@ -27,41 +27,60 @@ export class PermissionService {
27
27
  // Returning true if user has a given permission
28
28
  // E.g., Pages.Role.CloudOlive.SalesManager
29
29
  // or Pages.Beta or Pages.Alpha
30
- if (user['auth']?.['granted'][permissionName]) {
31
- return true;
32
- }
33
- if (productKey) {
34
- // filters the permission only for the selected product.
35
- let filteredPermissions = pickBy(cloneDeep(user['auth']['granted']), (_value, key) => {
36
- return key.includes(productKey);
37
- });
38
- // add Pages.Product.{permission_key}
39
- filteredPermissions = {
40
- ...{ [`Pages.Product.${permission_key}`]: true },
41
- ...filteredPermissions
42
- };
43
- // E.g., Pages.Product.CloudOlive.CloudOlive_MspKey
44
- return filteredPermissions[permissionName] || false;
45
- }
30
+ return this.hasProductPermission(user, permissionName, productKey, permission_key);
46
31
  // no valid permission was detected for this user
47
- return false;
48
32
  }
49
33
  // user not logged-in
50
34
  return false;
51
35
  }
36
+ hasProductPermission(user, permissionName, productKey, permission_key) {
37
+ if (permissionName?.includes('||')) {
38
+ const parts = permissionName.split('||').map(p => p.trim());
39
+ for (const part of parts) {
40
+ if (user['auth']?.['granted'][part]) {
41
+ return true;
42
+ }
43
+ }
44
+ }
45
+ else if (user['auth']?.['granted'][permissionName]) {
46
+ return true;
47
+ }
48
+ if (productKey) {
49
+ // filters the permission only for the selected product.
50
+ let filteredPermissions = pickBy(cloneDeep(user['auth']['granted']), (_value, key) => {
51
+ return key.includes(productKey);
52
+ });
53
+ // add Pages.Product.{permission_key}
54
+ filteredPermissions = {
55
+ ...{ [`Pages.Product.${permission_key}`]: true },
56
+ ...filteredPermissions
57
+ };
58
+ // E.g., Pages.Product.CloudOlive.CloudOlive_MspKey
59
+ return filteredPermissions[permissionName] || false;
60
+ }
61
+ return false;
62
+ }
52
63
  getFormattedPermissionName(permissionName, productSlug) {
53
64
  const selectedProduct = PermissionService?.selectedProduct || this.getCurrentProduct();
54
65
  const subscriptionSlug = selectedProduct?.subscription_slug;
55
66
  let slugToCheck;
56
67
  if (!productSlug) {
57
- slugToCheck = `Pages.Product.${subscriptionSlug}.`;
68
+ if (permissionName.includes('Pages.Product.')) {
69
+ slugToCheck = `Pages.Product.${subscriptionSlug}.`;
70
+ }
71
+ if (permissionName.includes('Pages.Role.')) {
72
+ slugToCheck = `Pages.Role.${subscriptionSlug}.`;
73
+ }
58
74
  }
59
75
  else {
60
76
  slugToCheck = productSlug;
61
77
  }
62
- if (!permissionName.includes(slugToCheck)) {
78
+ if (!permissionName.includes(slugToCheck) && permissionName.includes('Pages.Product.')) {
63
79
  permissionName = permissionName.replace('Pages.Product.', slugToCheck);
64
80
  }
81
+ if (permissionName.includes('Pages.Role.') && !permissionName.includes(slugToCheck)) {
82
+ permissionName = permissionName.replace('Pages.Role.', slugToCheck);
83
+ }
65
84
  return permissionName;
66
85
  }
67
86
  getPermissionTreeDataByRole(data) {
@@ -84,7 +103,6 @@ export class PermissionService {
84
103
  if (!permission) {
85
104
  return false;
86
105
  }
87
- console.log(permission, productKey, permission_key, productSlug);
88
106
  // - `SuperAdmin` => God-like power - Most privileged
89
107
  // - `SubscriptionSuperOwner` => Some of the features under Admin Menu
90
108
  // - `SubscriptionSuperAdmin` => Some of the features under Admin Menu
@@ -110,27 +128,23 @@ export class PermissionService {
110
128
  if (permission === PERMISSION_NAMES.SubscriptionSuperOwner) {
111
129
  return this.isUserSubscriptionSuperOwner() || this.isSuperAdmin();
112
130
  }
113
- if (typeof permission === "string" &&
131
+ if (typeof permission === 'string' &&
114
132
  ADMIN_SUB_MENU_WHITELIST.some(v => permission.includes(v)) &&
115
133
  (this.isUserSubscriptionSuperAdmin() || this.isUserSubscriptionSuperOwner())) {
116
134
  return true;
117
135
  }
118
- // The following evaluates a complex permission
119
- // Eg: `( ${BASIC_PERMISSIONS.MspKey} || ${BASIC_PERMISSIONS.SaaSKey} ) && ${BASIC_PERMISSIONS.Beta}`
120
- if (typeof permission !== "boolean") {
121
- permission.split(' ').forEach(x => {
122
- let raw = x;
123
- if (x.includes('Pages')) {
124
- if (productKey) {
125
- raw = `this.isGranted('${x}', '${productKey}', '${permission_key}', '${productSlug}')`;
126
- }
127
- else {
128
- raw = `this.isGranted('${x}')`;
129
- }
130
- }
131
- expr += `${raw} `;
132
- }, this);
133
- }
136
+ const tokens = (permission || '').toString().split(' ').filter(Boolean);
137
+ tokens.forEach(token => {
138
+ const rawToken = token.trim();
139
+ if (rawToken === '||' || rawToken === '&&' || rawToken === '(' || rawToken === ')') {
140
+ expr += ` ${rawToken} `;
141
+ }
142
+ else {
143
+ // it's a permission name (either 'SubscriptionAdmin', 'Pages.Role.MarketingManager', etc.)
144
+ const evaluated = this.isGranted(rawToken, productKey, permission_key, productSlug);
145
+ expr += ` ${evaluated} `;
146
+ }
147
+ });
134
148
  // eslint-disable-next-line no-eval
135
149
  // NOSONAR: Trusted eval function is handled safely here
136
150
  return eval(expr); // NOSONAR
@@ -179,8 +193,7 @@ export class PermissionService {
179
193
  if (!product) {
180
194
  product = this.getCurrentProduct();
181
195
  }
182
- const selectedProduct = PermissionService?.selectedProduct;
183
- const subscriptionSlug = selectedProduct?.subscription_slug;
196
+ const subscriptionSlug = product?.subscription_slug;
184
197
  return (!!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionSuperAdmin`] ||
185
198
  !!this.user.auth.granted[`Pages.Product.${subscriptionSlug}.${product.permission_key}.${product.feature_key}.SubscriptionSuperOwner`]);
186
199
  }
@@ -222,4 +235,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
222
235
  providedIn: 'root'
223
236
  }]
224
237
  }], ctorParameters: () => [{ type: i1.MainApiHttpService }] });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFbkMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBRnBELFNBQUksR0FBUyxJQUFJLENBQUM7SUFFcUMsQ0FBQztJQUV4RCxzQkFBc0IsQ0FBQyxZQUFZO1FBQy9CLGlCQUFpQixDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUNMLGNBQXNCLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFdBQVcsR0FBRyxJQUFJO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUV0QixzQ0FBc0M7WUFDdEMseUJBQXlCO1lBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZ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M0QsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLEVBQUUsaUJBQWlCLENBQUM7UUFDNUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUMzQixpQkFBaUIsZ0JBQWdCLElBQUksT0FBTyxDQUFDLGNBQWMsSUFBSSxPQUFPLENBQUMsV0FBVyx5QkFBeUIsQ0FDOUcsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFPO1FBQ3JCLFlBQVksQ0FBQyxPQUFPLENBQ2hCLFNBQVMsRUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ1gsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtTQUMvQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQXpSUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHBpY2tCeSBmcm9tICdsb2Rhc2gvcGlja0J5JztcblxuaW1wb3J0IHsgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULCBQRVJNSVNTSU9OX05BTUVTLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuaW1wb3J0IHsgTWFpbkFwaUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluLWFwaS1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25TZXJ2aWNlIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHN0YXRpYyBzZWxlY3RlZFByb2R1Y3Q6IGFueTsgLy8gTk9TT05BUlxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgc2VsZWN0ZWRTdWJzY3JpcHRpb246IGFueTsgLy8gTk9TT05BUlxuXG4gICAgdXNlcjogVXNlciA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwaTogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgc2V0Q3VycmVudFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaXNHcmFudGVkKFxuICAgICAgICBwZXJtaXNzaW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5ID0gbnVsbCxcbiAgICAgICAgcGVybWlzc2lvbl9rZXkgPSBudWxsLFxuICAgICAgICBwcm9kdWN0U2x1ZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICAgICAgY29uc3QgeyB1c2VyIH0gPSB0aGlzO1xuXG4gICAgICAgICAgICAvLyBBZG1pbiBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIG1lbnVzLlxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuU3VwZXJBZG1pblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTdXBlckFkbWluKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbk5hbWUgPSB0aGlzLmdldEZvcm1hdHRlZFBlcm1pc3Npb25OYW1lKHBlcm1pc3Npb25OYW1lLCBwcm9kdWN0U2x1Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJldHVybmluZyB0cnVlIGlmIHVzZXIgaGFzIGEgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuUm9sZS5DbG91ZE9saXZlLlNhbGVzTWFuYWdlclxuICAgICAgICAgICAgLy8gb3IgUGFnZXMuQmV0YSBvciBQYWdlcy5BbHBoYVxuICAgICAgICAgICAgaWYgKHVzZXJbJ2F1dGgnXT8uWydncmFudGVkJ11bcGVybWlzc2lvbk5hbWVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwcm9kdWN0S2V5KSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVycyB0aGUgcGVybWlzc2lvbiBvbmx5IGZvciB0aGUgc2VsZWN0ZWQgcHJvZHVjdC5cbiAgICAgICAgICAgICAgICBsZXQgZmlsdGVyZWRQZXJtaXNzaW9ucyA9IHBpY2tCeShcbiAgICAgICAgICAgICAgICAgICAgY2xvbmVEZWVwKHVzZXJbJ2F1dGgnXVsnZ3JhbnRlZCddKSxcbiAgICAgICAgICAgICAgICAgICAgKF92YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5LmluY2x1ZGVzKHByb2R1Y3RLZXkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAvLyBhZGQgUGFnZXMuUHJvZHVjdC57cGVybWlzc2lvbl9rZXl9XG4gICAgICAgICAgICAgICAgZmlsdGVyZWRQZXJtaXNzaW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ueyBbYFBhZ2VzLlByb2R1Y3QuJHtwZXJtaXNzaW9uX2tleX1gXTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXJlZFBlcm1pc3Npb25zXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIC8vIEUuZy4sIFBhZ2VzLlByb2R1Y3QuQ2xvdWRPbGl2ZS5DbG91ZE9saXZlX01zcEtleVxuICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZFBlcm1pc3Npb25zW3Blcm1pc3Npb25OYW1lXSB8fCBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gbm8gdmFsaWQgcGVybWlzc2lvbiB3YXMgZGV0ZWN0ZWQgZm9yIHRoaXMgdXNlclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdXNlciBub3QgbG9nZ2VkLWluXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1hdHRlZFBlcm1pc3Npb25OYW1lKHBlcm1pc3Npb25OYW1lOiBzdHJpbmcsIHByb2R1Y3RTbHVnOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdCB8fCB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBzZWxlY3RlZFByb2R1Y3Q/LnN1YnNjcmlwdGlvbl9zbHVnO1xuXG4gICAgICAgIGxldCBzbHVnVG9DaGVjaztcbiAgICAgICAgaWYgKCFwcm9kdWN0U2x1Zykge1xuICAgICAgICAgICAgc2x1Z1RvQ2hlY2sgPSBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LmA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzbHVnVG9DaGVjayA9IHByb2R1Y3RTbHVnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcyhzbHVnVG9DaGVjaykpIHtcbiAgICAgICAgICAgIHBlcm1pc3Npb25OYW1lID0gcGVybWlzc2lvbk5hbWUucmVwbGFjZSgnUGFnZXMuUHJvZHVjdC4nLCBzbHVnVG9DaGVjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbk5hbWU7XG4gICAgfVxuXG4gICAgZ2V0UGVybWlzc2lvblRyZWVEYXRhQnlSb2xlKGRhdGEpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBbXTtcbiAgICAgICAgZGF0YS5hbGwuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZWxlbWVudDtcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBlbGVtZW50LmlkLCAvLyBwZXJtaXNzaW9uSWQ6IFVzZWQgdG8gdXBkYXRlIHRoZSBwZXJtaXNzaW9ucyBvbiBjaGFuZ2VcbiAgICAgICAgICAgICAgICBwYXJlbnROYW1lOiBuYW1lLmluY2x1ZGVzKCcuJykgPyBuYW1lLnN1YnN0cmluZygwLCBuYW1lLmxhc3RJbmRleE9mKCcuJykpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBlbGVtZW50Lm5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgICAgICBncmFudGVkUGVybWlzc2lvbk5hbWVzOiBPYmplY3Qua2V5cyhkYXRhLmdyYW50ZWQpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZXZhbHVhdGVQZXJtaXNzaW9ucyhcbiAgICAgICAgcGVybWlzc2lvbjogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5OiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBwZXJtaXNzaW9uX2tleTogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgcHJvZHVjdFNsdWc6IHN0cmluZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2cocGVybWlzc2lvbiwgcHJvZHVjdEtleSwgcGVybWlzc2lvbl9rZXksIHByb2R1Y3RTbHVnKVxuXG4gICAgICAgIC8vIC0gICBgU3VwZXJBZG1pbmAgICAgICAgICAgICAgPT4gIEdvZC1saWtlIHBvd2VyIC0gTW9zdCBwcml2aWxlZ2VkXG5cbiAgICAgICAgLy8gLSAgIGBTdWJzY3JpcHRpb25TdXBlck93bmVyYCA9PiAgU29tZSBvZiB0aGUgZmVhdHVyZXMgdW5kZXIgQWRtaW4gTWVudVxuICAgICAgICAvLyAtICAgYFN1YnNjcmlwdGlvblN1cGVyQWRtaW5gID0+ICBTb21lIG9mIHRoZSBmZWF0dXJlcyB1bmRlciBBZG1pbiBNZW51XG5cbiAgICAgICAgLy8gLSAgIGBTdWJzY3JpcHRpb25Pd25lcmAgICAgID0+IFByb2R1Y3QgOiBTZWN0aW9uIG9mIGEgZ2l2ZW4gc3Vic2NyaXB0aW9uXG4gICAgICAgIC8vIC0gICBgU3Vic2NyaXB0aW9uQWRtaW5gICAgICA9PiBQcm9kdWN0IDogU2VjdGlvbiBvZiBhIGdpdmVuIHN1YnNjcmlwdGlvblxuXG4gICAgICAgIC8vIC0gICBgUGFnZXMuQmV0YWAgICAgICAgICAgICA9PiBQcm9kdWN0IDogU2VjdGlvbiBvZiB0aGUgcGFnZVxuICAgICAgICAvLyAtICAgYFBhZ2VzLkFscGhhYCAgICAgICAgICAgPT4gUHJvZHVjdCA6IFNlY3Rpb24gb2YgdGhlIHBhZ2VcblxuICAgICAgICBsZXQgZXhwciA9ICcnO1xuICAgICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdXBlckFkbWluKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25BZG1pbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uQWRtaW4oKSB8fCB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbk93bmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uT3duZXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbk93bmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJBZG1pbikge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4oKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJPd25lcigpIHx8XG4gICAgICAgICAgICAgICAgdGhpcy5pc1N1cGVyQWRtaW4oKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGVybWlzc2lvbiA9PT0gUEVSTUlTU0lPTl9OQU1FUy5TdWJzY3JpcHRpb25TdXBlck93bmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkgfHwgdGhpcy5pc1N1cGVyQWRtaW4oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgcGVybWlzc2lvbiA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULnNvbWUodiA9PiBwZXJtaXNzaW9uLmluY2x1ZGVzKHYpKSAmJlxuICAgICAgICAgICAgKHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbigpIHx8IHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJPd25lcigpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBldmFsdWF0ZXMgYSBjb21wbGV4IHBlcm1pc3Npb25cbiAgICAgICAgLy8gRWc6IGAoICR7QkFTSUNfUEVSTUlTU0lPTlMuTXNwS2V5fSB8fCAke0JBU0lDX1BFUk1JU1NJT05TLlNhYVNLZXl9ICkgJiYgJHtCQVNJQ19QRVJNSVNTSU9OUy5CZXRhfWBcbiAgICAgIGlmICh0eXBlb2YgcGVybWlzc2lvbiAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgcGVybWlzc2lvbi5zcGxpdCgnICcpLmZvckVhY2goeCA9PiB7XG4gICAgICAgICAgICBsZXQgcmF3ID0geDtcbiAgICAgICAgICAgIGlmICh4LmluY2x1ZGVzKCdQYWdlcycpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb2R1Y3RLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3ID0gYHRoaXMuaXNHcmFudGVkKCcke3h9JywgJyR7cHJvZHVjdEtleX0nLCAnJHtwZXJtaXNzaW9uX2tleX0nLCAnJHtwcm9kdWN0U2x1Z30nKWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3ID0gYHRoaXMuaXNHcmFudGVkKCcke3h9JylgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXhwciArPSBgJHtyYXd9IGA7XG4gICAgICAgIH0sIHRoaXMpO1xuICAgICAgfVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZXZhbFxuICAgICAgICAvLyBOT1NPTkFSOiBUcnVzdGVkIGV2YWwgZnVuY3Rpb24gaXMgaGFuZGxlZCBzYWZlbHkgaGVyZVxuICAgICAgICByZXR1cm4gZXZhbChleHByKTsgLy8gTk9TT05BUlxuICAgIH1cblxuICAgIGdldFBlcm1pc3Npb25CeVJvbGUocm9sZUlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLmdldChgL2FkbWluL3JvbGVfcGVybWlzc2lvbnMvJHtyb2xlSWR9YCk7XG4gICAgfVxuXG4gICAgc2F2ZVVzZXJQZXJtaXNzaW9uKHBheWxvYWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpLnBvc3QoYC9hZG1pbi9yb2xlX3Blcm1pc3Npb25zYCwgcGF5bG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZGV0ZXJtaW5lIHVzZXIgaXMgc3VwZXJfYWRtaW4gdXNpbmcgdXNlci5hdXRoLmdyYW50ZWRbJ1BhZ2VzLlN1cGVyQWRtaW4nXVxuICAgICAqL1xuICAgIGlzU3VwZXJBZG1pbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFsnUGFnZXMuU3VwZXJBZG1pbiddIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBBbnkgUHJvZHVjdCBBZG1pbiByZWdhcmRsZXNzIG9mIHRoZSBwcm9kdWN0IGJlaW5nIG1hc3RlciBwcm9kdWN0IG9yIG5vdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNVc2VyU3Vic2NyaXB0aW9uT3duZXIocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvZHVjdCA9IFBlcm1pc3Npb25TZXJ2aWNlPy5zZWxlY3RlZFByb2R1Y3Q7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBzZWxlY3RlZFByb2R1Y3Q/LnN1YnNjcmlwdGlvbl9zbHVnO1xuICAgICAgICByZXR1cm4gISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uT3duZXJgXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW55IFByb2R1Y3QgQWRtaW4gcmVnYXJkbGVzcyBvZiB0aGUgcHJvZHVjdCBiZWluZyBtYXN0ZXIgcHJvZHVjdCBvciBub3QuXG4gICAgICogKnJiYWNBbGxvdz1cIlN1YnNjcmlwdGlvbkFkbWluXCJcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHB1YmxpYyBpc1VzZXJTdWJzY3JpcHRpb25BZG1pbihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdDtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uU2x1ZyA9IHNlbGVjdGVkUHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uQWRtaW5gXG4gICAgICAgICAgICBdIHx8XG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uT3duZXJgXG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQW55IFByb2R1Y3QgQWRtaW4gb2YgdGhlIHByb2R1Y3QgYmVpbmcgdGhlIG1hc3RlciBwcm9kdWN0XG4gICAgICovXG4gICAgaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdDtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uU2x1ZyA9IHNlbGVjdGVkUHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICAgICAgYFBhZ2VzLlByb2R1Y3QuJHtzdWJzY3JpcHRpb25TbHVnfS4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uU3VwZXJBZG1pbmBcbiAgICAgICAgICAgIF0gfHxcbiAgICAgICAgICAgICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlck93bmVyYFxuICAgICAgICAgICAgXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzVXNlck1hc3RlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4ocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3Byb2R1Y3QucGVybWlzc2lvbl9rZXl9LiR7cHJvZHVjdC5mZWF0dXJlX2tleX0uU3Vic2NyaXB0aW9uU3VwZXJBZG1pbmBcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBbnkgUHJvZHVjdCBBZG1pbiBvZiB0aGUgcHJvZHVjdCBiZWluZyB0aGUgbWFzdGVyIHByb2R1Y3RcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJPd25lcihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQcm9kdWN0ID0gUGVybWlzc2lvblNlcnZpY2U/LnNlbGVjdGVkUHJvZHVjdDtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uU2x1ZyA9IHNlbGVjdGVkUHJvZHVjdD8uc3Vic2NyaXB0aW9uX3NsdWc7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbXG4gICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlck93bmVyYFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHNldEN1cnJlbnRQcm9kdWN0KHByb2R1Y3QpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXG4gICAgICAgICAgICAncHJvZHVjdCcsXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgaWQ6IHByb2R1Y3QuaWQsXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbl9rZXk6IHByb2R1Y3QucGVybWlzc2lvbl9rZXksXG4gICAgICAgICAgICAgICAgZmVhdHVyZV9rZXk6IHByb2R1Y3QuZmVhdHVyZV9rZXksXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uSWQ6IHByb2R1Y3Quc3Vic2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uX3NsdWc6IHByb2R1Y3Quc3Vic2NyaXB0aW9uX3NsdWdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1cnJlbnRQcm9kdWN0KCkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncHJvZHVjdCcpKTtcbiAgICB9XG59XG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24tc2VydmljZXMvc3JjL2xpYi9wZXJtaXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQVEsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RixPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFFbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQTZCLEdBQXVCO1FBQXZCLFFBQUcsR0FBSCxHQUFHLENBQW9CO1FBRnBELFNBQUksR0FBUyxJQUFJLENBQUM7SUFFcUMsQ0FBQztJQUV4RCxzQkFBc0IsQ0FBQyxZQUFZO1FBQy9CLGlCQUFpQixDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUNMLGNBQXNCLEVBQ3RCLFVBQVUsR0FBRyxJQUFJLEVBQ2pCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLFdBQVcsR0FBRyxJQUFJO1FBRWxCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztZQUV0QixzQ0FBc0M7WUFDdEMseUJBQXlCO1lBQ3pCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxJQUFJLGNBQWMsRUFBRSxDQUFDO2dCQUNqQixjQUFjLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztZ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SSxPQUFPLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxXQUFXLHlCQUF5QixDQUM5RyxDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQixDQUFDLE9BQU87UUFDckIsWUFBWSxDQUFDLE9BQU8sQ0FDaEIsU0FBUyxFQUNULElBQUksQ0FBQyxTQUFTLENBQUM7WUFDWCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztZQUN0QyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1NBQy9DLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7K0dBM1NRLGlCQUFpQjttSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7NEZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQURNSU5fU1VCX01FTlVfV0hJVEVMSVNULCBQRVJNSVNTSU9OX05BTUVTLCBVc2VyIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi11dGlsaXRpZXMnO1xuXG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC9jbG9uZURlZXAnO1xuaW1wb3J0IHBpY2tCeSBmcm9tICdsb2Rhc2gvcGlja0J5JztcblxuaW1wb3J0IHsgTWFpbkFwaUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9tYWluLWFwaS1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25TZXJ2aWNlIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHN0YXRpYyBzZWxlY3RlZFByb2R1Y3Q6IGFueTsgLy8gTk9TT05BUlxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgc2VsZWN0ZWRTdWJzY3JpcHRpb246IGFueTsgLy8gTk9TT05BUlxuXG4gICAgdXNlcjogVXNlciA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwaTogTWFpbkFwaUh0dHBTZXJ2aWNlKSB7fVxuXG4gICAgc2V0Q3VycmVudFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24gPSBzdWJzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaXNHcmFudGVkKFxuICAgICAgICBwZXJtaXNzaW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5ID0gbnVsbCxcbiAgICAgICAgcGVybWlzc2lvbl9rZXkgPSBudWxsLFxuICAgICAgICBwcm9kdWN0U2x1ZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgICAgICAgY29uc3QgeyB1c2VyIH0gPSB0aGlzO1xuXG4gICAgICAgICAgICAvLyBBZG1pbiBoYXZlIGFjY2VzcyB0byBhbGwgdGhlIG1lbnVzLlxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuU3VwZXJBZG1pblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTdXBlckFkbWluKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lKSB7XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbk5hbWUgPSB0aGlzLmdldEZvcm1hdHRlZFBlcm1pc3Npb25OYW1lKHBlcm1pc3Npb25OYW1lLCBwcm9kdWN0U2x1Zyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJldHVybmluZyB0cnVlIGlmIHVzZXIgaGFzIGEgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICAgICAgLy8gRS5nLiwgUGFnZXMuUm9sZS5DbG91ZE9saXZlLlNhbGVzTWFuYWdlclxuICAgICAgICAgICAgLy8gb3IgUGFnZXMuQmV0YSBvciBQYWdlcy5BbHBoYVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNQcm9kdWN0UGVybWlzc2lvbih1c2VyLCBwZXJtaXNzaW9uTmFtZSwgcHJvZHVjdEtleSwgcGVybWlzc2lvbl9rZXkpO1xuXG4gICAgICAgICAgICAvLyBubyB2YWxpZCBwZXJtaXNzaW9uIHdhcyBkZXRlY3RlZCBmb3IgdGhpcyB1c2VyXG4gICAgICAgIH1cbiAgICAgICAgLy8gdXNlciBub3QgbG9nZ2VkLWluXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1Byb2R1Y3RQZXJtaXNzaW9uKFxuICAgICAgICB1c2VyLFxuICAgICAgICBwZXJtaXNzaW9uTmFtZTogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5OiBzdHJpbmcsXG4gICAgICAgIHBlcm1pc3Npb25fa2V5OiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lPy5pbmNsdWRlcygnfHwnKSkge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSBwZXJtaXNzaW9uTmFtZS5zcGxpdCgnfHwnKS5tYXAocCA9PiBwLnRyaW0oKSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgICAgICBpZiAodXNlclsnYXV0aCddPy5bJ2dyYW50ZWQnXVtwYXJ0XSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXNlclsnYXV0aCddPy5bJ2dyYW50ZWQnXVtwZXJtaXNzaW9uTmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb2R1Y3RLZXkpIHtcbiAgICAgICAgICAgIC8vIGZpbHRlcnMgdGhlIHBlcm1pc3Npb24gb25seSBmb3IgdGhlIHNlbGVjdGVkIHByb2R1Y3QuXG4gICAgICAgICAgICBsZXQgZmlsdGVyZWRQZXJtaXNzaW9ucyA9IHBpY2tCeShjbG9uZURlZXAodXNlclsnYXV0aCddWydncmFudGVkJ10pLCAoX3ZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ga2V5LmluY2x1ZGVzKHByb2R1Y3RLZXkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBhZGQgUGFnZXMuUHJvZHVjdC57cGVybWlzc2lvbl9rZXl9XG4gICAgICAgICAgICBmaWx0ZXJlZFBlcm1pc3Npb25zID0ge1xuICAgICAgICAgICAgICAgIC4uLnsgW2BQYWdlcy5Qcm9kdWN0LiR7cGVybWlzc2lvbl9rZXl9YF06IHRydWUgfSxcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJlZFBlcm1pc3Npb25zXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyBFLmcuLCBQYWdlcy5Qcm9kdWN0LkNsb3VkT2xpdmUuQ2xvdWRPbGl2ZV9Nc3BLZXlcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZFBlcm1pc3Npb25zW3Blcm1pc3Npb25OYW1lXSB8fCBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRQZXJtaXNzaW9uTmFtZShwZXJtaXNzaW9uTmFtZTogc3RyaW5nLCBwcm9kdWN0U2x1Zzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvZHVjdCA9IFBlcm1pc3Npb25TZXJ2aWNlPy5zZWxlY3RlZFByb2R1Y3QgfHwgdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gc2VsZWN0ZWRQcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcblxuICAgICAgICBsZXQgc2x1Z1RvQ2hlY2s6IHN0cmluZztcbiAgICAgICAgaWYgKCFwcm9kdWN0U2x1Zykge1xuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Qcm9kdWN0LicpKSB7XG4gICAgICAgICAgICAgICAgc2x1Z1RvQ2hlY2sgPSBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LmA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcygnUGFnZXMuUm9sZS4nKSkge1xuICAgICAgICAgICAgICAgIHNsdWdUb0NoZWNrID0gYFBhZ2VzLlJvbGUuJHtzdWJzY3JpcHRpb25TbHVnfS5gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2x1Z1RvQ2hlY2sgPSBwcm9kdWN0U2x1ZztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcGVybWlzc2lvbk5hbWUuaW5jbHVkZXMoc2x1Z1RvQ2hlY2spICYmIHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Qcm9kdWN0LicpKSB7XG4gICAgICAgICAgICBwZXJtaXNzaW9uTmFtZSA9IHBlcm1pc3Npb25OYW1lLnJlcGxhY2UoJ1BhZ2VzLlByb2R1Y3QuJywgc2x1Z1RvQ2hlY2spO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBlcm1pc3Npb25OYW1lLmluY2x1ZGVzKCdQYWdlcy5Sb2xlLicpICYmICFwZXJtaXNzaW9uTmFtZS5pbmNsdWRlcyhzbHVnVG9DaGVjaykpIHtcbiAgICAgICAgICAgIHBlcm1pc3Npb25OYW1lID0gcGVybWlzc2lvbk5hbWUucmVwbGFjZSgnUGFnZXMuUm9sZS4nLCBzbHVnVG9DaGVjayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbk5hbWU7XG4gICAgfVxuXG4gICAgZ2V0UGVybWlzc2lvblRyZWVEYXRhQnlSb2xlKGRhdGEpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBbXTtcbiAgICAgICAgZGF0YS5hbGwuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgbmFtZSB9ID0gZWxlbWVudDtcbiAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBlbGVtZW50LmlkLCAvLyBwZXJtaXNzaW9uSWQ6IFVzZWQgdG8gdXBkYXRlIHRoZSBwZXJtaXNzaW9ucyBvbiBjaGFuZ2VcbiAgICAgICAgICAgICAgICBwYXJlbnROYW1lOiBuYW1lLmluY2x1ZGVzKCcuJykgPyBuYW1lLnN1YnN0cmluZygwLCBuYW1lLmxhc3RJbmRleE9mKCcuJykpIDogbnVsbCxcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBlbGVtZW50Lm5hbWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGVybWlzc2lvbnMsXG4gICAgICAgICAgICBncmFudGVkUGVybWlzc2lvbk5hbWVzOiBPYmplY3Qua2V5cyhkYXRhLmdyYW50ZWQpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZXZhbHVhdGVQZXJtaXNzaW9ucyhcbiAgICAgICAgcGVybWlzc2lvbjogc3RyaW5nLFxuICAgICAgICBwcm9kdWN0S2V5OiBzdHJpbmcgPSBudWxsLFxuICAgICAgICBwZXJtaXNzaW9uX2tleTogc3RyaW5nID0gbnVsbCxcbiAgICAgICAgcHJvZHVjdFNsdWc6IHN0cmluZyA9IG51bGxcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtICAgYFN1cGVyQWRtaW5gICAgICAgICAgICAgID0+ICBHb2QtbGlrZSBwb3dlciAtIE1vc3QgcHJpdmlsZWdlZFxuXG4gICAgICAgIC8vIC0gICBgU3Vic2NyaXB0aW9uU3VwZXJPd25lcmAgPT4gIFNvbWUgb2YgdGhlIGZlYXR1cmVzIHVuZGVyIEFkbWluIE1lbnVcbiAgICAgICAgLy8gLSAgIGBTdWJzY3JpcHRpb25TdXBlckFkbWluYCA9PiAgU29tZSBvZiB0aGUgZmVhdHVyZXMgdW5kZXIgQWRtaW4gTWVudVxuXG4gICAgICAgIC8vIC0gICBgU3Vic2NyaXB0aW9uT3duZXJgICAgICA9PiBQcm9kdWN0IDogU2VjdGlvbiBvZiBhIGdpdmVuIHN1YnNjcmlwdGlvblxuICAgICAgICAvLyAtICAgYFN1YnNjcmlwdGlvbkFkbWluYCAgICAgPT4gUHJvZHVjdCA6IFNlY3Rpb24gb2YgYSBnaXZlbiBzdWJzY3JpcHRpb25cblxuICAgICAgICAvLyAtICAgYFBhZ2VzLkJldGFgICAgICAgICAgICAgPT4gUHJvZHVjdCA6IFNlY3Rpb24gb2YgdGhlIHBhZ2VcbiAgICAgICAgLy8gLSAgIGBQYWdlcy5BbHBoYWAgICAgICAgICAgID0+IFByb2R1Y3QgOiBTZWN0aW9uIG9mIHRoZSBwYWdlXG5cbiAgICAgICAgbGV0IGV4cHIgPSAnJztcbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3VwZXJBZG1pbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNTdXBlckFkbWluKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uQWRtaW4pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVXNlclN1YnNjcmlwdGlvbkFkbWluKCkgfHwgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZXJtaXNzaW9uID09PSBQRVJNSVNTSU9OX05BTUVTLlN1YnNjcmlwdGlvbk93bmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25Pd25lcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZXJtaXNzaW9uID09PSBQRVJNSVNTSU9OX05BTUVTLlN1YnNjcmlwdGlvblN1cGVyQWRtaW4pIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKCkgfHxcbiAgICAgICAgICAgICAgICB0aGlzLmlzVXNlclN1YnNjcmlwdGlvblN1cGVyT3duZXIoKSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuaXNTdXBlckFkbWluKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBlcm1pc3Npb24gPT09IFBFUk1JU1NJT05fTkFNRVMuU3Vic2NyaXB0aW9uU3VwZXJPd25lcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNVc2VyU3Vic2NyaXB0aW9uU3VwZXJPd25lcigpIHx8IHRoaXMuaXNTdXBlckFkbWluKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIHBlcm1pc3Npb24gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICBBRE1JTl9TVUJfTUVOVV9XSElURUxJU1Quc29tZSh2ID0+IHBlcm1pc3Npb24uaW5jbHVkZXModikpICYmXG4gICAgICAgICAgICAodGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlckFkbWluKCkgfHwgdGhpcy5pc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdG9rZW5zID0gKHBlcm1pc3Npb24gfHwgJycpLnRvU3RyaW5nKCkuc3BsaXQoJyAnKS5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICAgICAgdG9rZW5zLmZvckVhY2godG9rZW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgcmF3VG9rZW4gPSB0b2tlbi50cmltKCk7XG5cbiAgICAgICAgICAgIGlmIChyYXdUb2tlbiA9PT0gJ3x8JyB8fCByYXdUb2tlbiA9PT0gJyYmJyB8fCByYXdUb2tlbiA9PT0gJygnIHx8IHJhd1Rva2VuID09PSAnKScpIHtcbiAgICAgICAgICAgICAgICBleHByICs9IGAgJHtyYXdUb2tlbn0gYDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaXQncyBhIHBlcm1pc3Npb24gbmFtZSAoZWl0aGVyICdTdWJzY3JpcHRpb25BZG1pbicsICdQYWdlcy5Sb2xlLk1hcmtldGluZ01hbmFnZXInLCBldGMuKVxuICAgICAgICAgICAgICAgIGNvbnN0IGV2YWx1YXRlZCA9IHRoaXMuaXNHcmFudGVkKHJhd1Rva2VuLCBwcm9kdWN0S2V5LCBwZXJtaXNzaW9uX2tleSwgcHJvZHVjdFNsdWcpO1xuICAgICAgICAgICAgICAgIGV4cHIgKz0gYCAke2V2YWx1YXRlZH0gYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWV2YWxcbiAgICAgICAgLy8gTk9TT05BUjogVHJ1c3RlZCBldmFsIGZ1bmN0aW9uIGlzIGhhbmRsZWQgc2FmZWx5IGhlcmVcbiAgICAgICAgcmV0dXJuIGV2YWwoZXhwcik7IC8vIE5PU09OQVJcbiAgICB9XG5cbiAgICBnZXRQZXJtaXNzaW9uQnlSb2xlKHJvbGVJZDogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5nZXQoYC9hZG1pbi9yb2xlX3Blcm1pc3Npb25zLyR7cm9sZUlkfWApO1xuICAgIH1cblxuICAgIHNhdmVVc2VyUGVybWlzc2lvbihwYXlsb2FkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwaS5wb3N0KGAvYWRtaW4vcm9sZV9wZXJtaXNzaW9uc2AsIHBheWxvYWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGRldGVybWluZSB1c2VyIGlzIHN1cGVyX2FkbWluIHVzaW5nIHVzZXIuYXV0aC5ncmFudGVkWydQYWdlcy5TdXBlckFkbWluJ11cbiAgICAgKi9cbiAgICBpc1N1cGVyQWRtaW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMudXNlci5hdXRoLmdyYW50ZWRbJ1BhZ2VzLlN1cGVyQWRtaW4nXSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQW55IFByb2R1Y3QgQWRtaW4gcmVnYXJkbGVzcyBvZiB0aGUgcHJvZHVjdCBiZWluZyBtYXN0ZXIgcHJvZHVjdCBvciBub3QuXG4gICAgICovXG4gICAgcHVibGljIGlzVXNlclN1YnNjcmlwdGlvbk93bmVyKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3RlZFByb2R1Y3QgPSBQZXJtaXNzaW9uU2VydmljZT8uc2VsZWN0ZWRQcm9kdWN0O1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gc2VsZWN0ZWRQcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvbk93bmVyYFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFueSBQcm9kdWN0IEFkbWluIHJlZ2FyZGxlc3Mgb2YgdGhlIHByb2R1Y3QgYmVpbmcgbWFzdGVyIHByb2R1Y3Qgb3Igbm90LlxuICAgICAqICpyYmFjQWxsb3c9XCJTdWJzY3JpcHRpb25BZG1pblwiXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNVc2VyU3Vic2NyaXB0aW9uQWRtaW4ocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUHJvZHVjdCA9IFBlcm1pc3Npb25TZXJ2aWNlPy5zZWxlY3RlZFByb2R1Y3Q7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBzZWxlY3RlZFByb2R1Y3Q/LnN1YnNjcmlwdGlvbl9zbHVnO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvbkFkbWluYFxuICAgICAgICAgICAgXSB8fFxuICAgICAgICAgICAgISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvbk93bmVyYFxuICAgICAgICAgICAgXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFueSBQcm9kdWN0IEFkbWluIG9mIHRoZSBwcm9kdWN0IGJlaW5nIHRoZSBtYXN0ZXIgcHJvZHVjdFxuICAgICAqL1xuICAgIGlzVXNlclN1YnNjcmlwdGlvblN1cGVyQWRtaW4ocHJvZHVjdD8pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFwcm9kdWN0KSB7XG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy5nZXRDdXJyZW50UHJvZHVjdCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvblNsdWcgPSBwcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgICAgICBgUGFnZXMuUHJvZHVjdC4ke3N1YnNjcmlwdGlvblNsdWd9LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlckFkbWluYFxuICAgICAgICAgICAgXSB8fFxuICAgICAgICAgICAgISF0aGlzLnVzZXIuYXV0aC5ncmFudGVkW1xuICAgICAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvblN1cGVyT3duZXJgXG4gICAgICAgICAgICBdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaXNVc2VyTWFzdGVyU3Vic2NyaXB0aW9uU3VwZXJBZG1pbihwcm9kdWN0Pyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXByb2R1Y3QpIHtcbiAgICAgICAgICAgIHByb2R1Y3QgPSB0aGlzLmdldEN1cnJlbnRQcm9kdWN0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7cHJvZHVjdC5wZXJtaXNzaW9uX2tleX0uJHtwcm9kdWN0LmZlYXR1cmVfa2V5fS5TdWJzY3JpcHRpb25TdXBlckFkbWluYFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFueSBQcm9kdWN0IEFkbWluIG9mIHRoZSBwcm9kdWN0IGJlaW5nIHRoZSBtYXN0ZXIgcHJvZHVjdFxuICAgICAqL1xuICAgIHB1YmxpYyBpc1VzZXJTdWJzY3JpcHRpb25TdXBlck93bmVyKHByb2R1Y3Q/KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghcHJvZHVjdCkge1xuICAgICAgICAgICAgcHJvZHVjdCA9IHRoaXMuZ2V0Q3VycmVudFByb2R1Y3QoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZWxlY3RlZFByb2R1Y3QgPSBQZXJtaXNzaW9uU2VydmljZT8uc2VsZWN0ZWRQcm9kdWN0O1xuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25TbHVnID0gc2VsZWN0ZWRQcm9kdWN0Py5zdWJzY3JpcHRpb25fc2x1ZztcbiAgICAgICAgcmV0dXJuICEhdGhpcy51c2VyLmF1dGguZ3JhbnRlZFtcbiAgICAgICAgICAgIGBQYWdlcy5Qcm9kdWN0LiR7c3Vic2NyaXB0aW9uU2x1Z30uJHtwcm9kdWN0LnBlcm1pc3Npb25fa2V5fS4ke3Byb2R1Y3QuZmVhdHVyZV9rZXl9LlN1YnNjcmlwdGlvblN1cGVyT3duZXJgXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudFByb2R1Y3QocHJvZHVjdCkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgICdwcm9kdWN0JyxcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBpZDogcHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uX2tleTogcHJvZHVjdC5wZXJtaXNzaW9uX2tleSxcbiAgICAgICAgICAgICAgICBmZWF0dXJlX2tleTogcHJvZHVjdC5mZWF0dXJlX2tleSxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25JZDogcHJvZHVjdC5zdWJzY3JpcHRpb25JZCxcbiAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25fc2x1ZzogcHJvZHVjdC5zdWJzY3JpcHRpb25fc2x1Z1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudFByb2R1Y3QoKSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdwcm9kdWN0JykpO1xuICAgIH1cbn1cbiJdfQ==