@posiwise/admin-module 0.0.140 → 0.0.142

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 (173) hide show
  1. package/esm2022/lib/admin-guard.service.mjs +2 -2
  2. package/esm2022/lib/admin-module.routing.mjs +27 -27
  3. package/esm2022/lib/admin.module.mjs +50 -43
  4. package/esm2022/lib/components/TOS/terms-of-service/terms-of-service.component.mjs +5 -5
  5. package/esm2022/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.mjs +2 -2
  6. package/esm2022/lib/components/TOS/terms-of-service-tabs/terms-of-service-tabs.component.mjs +1 -1
  7. package/esm2022/lib/components/config/global-config-details/global-config-details.component.mjs +2 -2
  8. package/esm2022/lib/components/config/global-config-list/global-config-list.component.mjs +3 -3
  9. package/esm2022/lib/components/config/global-config-tabs/global-config-tabs.component.mjs +1 -1
  10. package/esm2022/lib/components/contact-us/contact-us-list/contact-us-list.component.mjs +6 -6
  11. package/esm2022/lib/components/contact-us/contact-us-tabs/contact-us-tabs.component.mjs +1 -1
  12. package/esm2022/lib/components/credentials/credentials/credentials.component.mjs +4 -4
  13. package/esm2022/lib/components/credentials/credentials-details/credentials-details.component.mjs +2 -2
  14. package/esm2022/lib/components/credentials/credentials-tab/credentials-tab.component.mjs +1 -1
  15. package/esm2022/lib/components/credentials/subscription-credentials/subscription-credentials.component.mjs +7 -7
  16. package/esm2022/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.mjs +2 -2
  17. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.mjs +6 -6
  18. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.mjs +4 -4
  19. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-details.component.mjs +2 -2
  20. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.mjs +4 -4
  21. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.mjs +6 -6
  22. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.mjs +4 -4
  23. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.mjs +4 -4
  24. package/esm2022/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.mjs +4 -4
  25. package/esm2022/lib/components/domain-config/domain-config-list/domain-config-list.component.mjs +8 -8
  26. package/esm2022/lib/components/domain-config/domain-config-tabs/domain-config-tabs.component.mjs +1 -1
  27. package/esm2022/lib/components/faqs/add-faq/add-faq.component.mjs +25 -26
  28. package/esm2022/lib/components/faqs/edit-faq/edit-faq.component.mjs +27 -26
  29. package/esm2022/lib/components/faqs/faqs-list/faqs-list.component.mjs +11 -11
  30. package/esm2022/lib/components/faqs/faqs-tabs/faqs-tabs.component.mjs +1 -1
  31. package/esm2022/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.mjs +3 -3
  32. package/esm2022/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.mjs +5 -5
  33. package/esm2022/lib/components/generic/generic-misc/generic-misc.component.mjs +3 -3
  34. package/esm2022/lib/components/generic/generic-tabs/generic-tabs.component.mjs +1 -1
  35. package/esm2022/lib/components/incidents/add-edit-incident/add-edit-incident.component.mjs +4 -4
  36. package/esm2022/lib/components/incidents/incidents-list/incidents-list.component.mjs +3 -3
  37. package/esm2022/lib/components/incidents/incidents-tabs/incidents-tabs.component.mjs +1 -1
  38. package/esm2022/lib/components/login-notifications/login-notification-details/login-notification-details.component.mjs +4 -4
  39. package/esm2022/lib/components/login-notifications/login-notification-tabs/login-notification-tabs.component.mjs +1 -1
  40. package/esm2022/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.mjs +11 -7
  41. package/esm2022/lib/components/mailer/mailer-details/mailer-details.component.mjs +5 -5
  42. package/esm2022/lib/components/mailer/mailer-list/mailer-list.component.mjs +6 -6
  43. package/esm2022/lib/components/mailer/mailer-tabs/mailer-tabs.component.mjs +1 -1
  44. package/esm2022/lib/components/newsletters/newsletter-details/newsletter-details.component.mjs +4 -4
  45. package/esm2022/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.mjs +10 -10
  46. package/esm2022/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.mjs +5 -5
  47. package/esm2022/lib/components/newsletters/newsletters-insight/newsletters-insight.component.mjs +26 -4
  48. package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.mjs +4 -4
  49. package/esm2022/lib/components/newsletters/newsletters-items/newsletters-items.component.mjs +6 -6
  50. package/esm2022/lib/components/newsletters/newsletters-list/newsletters-list.component.mjs +5 -5
  51. package/esm2022/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.mjs +2 -2
  52. package/esm2022/lib/components/permissions/permissions-details/permissions-details.component.mjs +2 -2
  53. package/esm2022/lib/components/permissions/permissions-list/permissions-list.component.mjs +5 -5
  54. package/esm2022/lib/components/permissions/permissions-tabs/permissions-tabs.component.mjs +1 -1
  55. package/esm2022/lib/components/permissions/role-details/role-details.component.mjs +2 -2
  56. package/esm2022/lib/components/permissions/roles-list/roles-list.component.mjs +5 -5
  57. package/esm2022/lib/components/products/product-details/product-details.component.mjs +10 -11
  58. package/esm2022/lib/components/products/products-insight/products-insight.component.mjs +16 -11
  59. package/esm2022/lib/components/products/products-list/products-list.component.mjs +7 -7
  60. package/esm2022/lib/components/products/products-tabs/products-tabs.component.mjs +1 -1
  61. package/esm2022/lib/components/products/users-list-for-product/users-list-for-product.component.mjs +1 -1
  62. package/esm2022/lib/components/subscriptions/subscription-agents/subscription-agents.component.mjs +2 -2
  63. package/esm2022/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.mjs +7 -7
  64. package/esm2022/lib/components/subscriptions/subscription-details/subscription-details.component.mjs +4 -4
  65. package/esm2022/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.mjs +4 -4
  66. package/esm2022/lib/components/subscriptions/subscription-products/subscription-products.component.mjs +4 -4
  67. package/esm2022/lib/components/subscriptions/subscription-users/subscription-users.component.mjs +30 -7
  68. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.mjs +17 -12
  69. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.mjs +17 -12
  70. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.mjs +55 -0
  71. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.mjs +20 -15
  72. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.mjs +17 -12
  73. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.mjs +17 -12
  74. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscription-insight-tabs/subscription-insight-tabs.component.mjs +4 -3
  75. package/esm2022/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.mjs +17 -12
  76. package/esm2022/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.mjs +8 -8
  77. package/esm2022/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.mjs +9 -9
  78. package/esm2022/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.mjs +1 -1
  79. package/esm2022/lib/components/tags/tags-category/tags-category.component.mjs +6 -6
  80. package/esm2022/lib/components/tags/tags-list/tags-list.component.mjs +8 -8
  81. package/esm2022/lib/components/tags/tags-tabs/tags-tabs.component.mjs +1 -1
  82. package/esm2022/lib/components/tips/tip-detail/tip-detail.component.mjs +2 -2
  83. package/esm2022/lib/components/tips/tips-list/tips-list.component.mjs +2 -2
  84. package/esm2022/lib/components/tips/tips-tabs/tips-tabs.component.mjs +1 -1
  85. package/esm2022/lib/components/tracking/ahoy-events/ahoy-events.component.mjs +7 -7
  86. package/esm2022/lib/components/tracking/ahoy-messages/ahoy-messages.component.mjs +7 -7
  87. package/esm2022/lib/components/tracking/ahoy-visits/ahoy-visits.component.mjs +7 -7
  88. package/esm2022/lib/components/tracking/events/events.component.mjs +4 -4
  89. package/esm2022/lib/components/tracking/tracking-tabs/tracking-tabs.component.mjs +1 -1
  90. package/esm2022/lib/components/tracking/versions/versions.component.mjs +4 -4
  91. package/esm2022/lib/components/users/user-details/user-details.component.mjs +3 -3
  92. package/esm2022/lib/components/users/users-insight/users-insight.component.mjs +18 -5
  93. package/esm2022/lib/components/users/users-list/users-list.component.mjs +13 -13
  94. package/esm2022/lib/components/users/users-tabs/users-tabs.component.mjs +1 -1
  95. package/esm2022/lib/shared/routers/routers.mjs +2 -2
  96. package/fesm2022/posiwise-admin-module.mjs +5621 -5484
  97. package/fesm2022/posiwise-admin-module.mjs.map +1 -1
  98. package/lib/admin-guard.service.d.ts +1 -1
  99. package/lib/admin.module.d.ts +71 -69
  100. package/lib/components/TOS/terms-of-service/terms-of-service.component.d.ts +3 -3
  101. package/lib/components/TOS/terms-of-service-details/terms-of-service-details.component.d.ts +1 -1
  102. package/lib/components/config/global-config-details/global-config-details.component.d.ts +2 -2
  103. package/lib/components/config/global-config-list/global-config-list.component.d.ts +2 -2
  104. package/lib/components/contact-us/contact-us-list/contact-us-list.component.d.ts +4 -4
  105. package/lib/components/credentials/credentials/credentials.component.d.ts +3 -3
  106. package/lib/components/credentials/credentials-details/credentials-details.component.d.ts +1 -1
  107. package/lib/components/credentials/subscription-credentials/subscription-credentials.component.d.ts +5 -5
  108. package/lib/components/credentials/subscription-credentials-details/subscription-credentials-details.component.d.ts +2 -2
  109. package/lib/components/domain-config/domain-config-details/domain-config-build/domain-config-build.component.d.ts +4 -4
  110. package/lib/components/domain-config/domain-config-details/domain-config-core/domain-config-core.component.d.ts +2 -2
  111. package/lib/components/domain-config/domain-config-details/domain-config-details.component.d.ts +2 -2
  112. package/lib/components/domain-config/domain-config-details/domain-config-integrations/domain-config-integrations.component.d.ts +2 -2
  113. package/lib/components/domain-config/domain-config-details/domain-config-interface/domain-config-interface.component.d.ts +3 -3
  114. package/lib/components/domain-config/domain-config-details/domain-config-organization/domain-config-organization.component.d.ts +2 -2
  115. package/lib/components/domain-config/domain-config-details/domain-config-security/domain-config-security.component.d.ts +1 -1
  116. package/lib/components/domain-config/domain-config-details/domain-config-social/domain-config-social.component.d.ts +2 -2
  117. package/lib/components/domain-config/domain-config-list/domain-config-list.component.d.ts +4 -4
  118. package/lib/components/faqs/add-faq/add-faq.component.d.ts +11 -11
  119. package/lib/components/faqs/edit-faq/edit-faq.component.d.ts +14 -11
  120. package/lib/components/faqs/faqs-list/faqs-list.component.d.ts +10 -10
  121. package/lib/components/feedback-questions/feedback-questions-details/feedback-questions-details.component.d.ts +4 -4
  122. package/lib/components/feedback-questions/feedback-questions-list/feedback-questions-list.component.d.ts +4 -4
  123. package/lib/components/incidents/add-edit-incident/add-edit-incident.component.d.ts +3 -3
  124. package/lib/components/incidents/incidents-list/incidents-list.component.d.ts +3 -3
  125. package/lib/components/login-notifications/login-notification-details/login-notification-details.component.d.ts +1 -1
  126. package/lib/components/login-notifications/login-notifications-list/login-notifications-list.component.d.ts +3 -3
  127. package/lib/components/mailer/mailer-list/mailer-list.component.d.ts +2 -2
  128. package/lib/components/mailer/mailer-tabs/mailer-tabs.component.d.ts +1 -1
  129. package/lib/components/newsletters/newsletter-details/newsletter-details.component.d.ts +1 -1
  130. package/lib/components/newsletters/newsletter-item-details/newsletter-item-details.component.d.ts +7 -7
  131. package/lib/components/newsletters/newsletter-users-list/newsletter-users-list.component.d.ts +5 -5
  132. package/lib/components/newsletters/newsletters-insight/newsletters-insight.component.d.ts +8 -0
  133. package/lib/components/newsletters/newsletters-items/newsletters-items-view-details/newsletters-items-view-details.component.d.ts +2 -2
  134. package/lib/components/newsletters/newsletters-items/newsletters-items.component.d.ts +6 -6
  135. package/lib/components/newsletters/newsletters-list/newsletters-list.component.d.ts +2 -2
  136. package/lib/components/newsletters/newsletters-tabs/newsletters-tabs.component.d.ts +1 -1
  137. package/lib/components/permissions/permissions-details/permissions-details.component.d.ts +3 -3
  138. package/lib/components/permissions/permissions-list/permissions-list.component.d.ts +4 -4
  139. package/lib/components/permissions/role-details/role-details.component.d.ts +4 -4
  140. package/lib/components/permissions/roles-list/roles-list.component.d.ts +2 -2
  141. package/lib/components/products/product-details/product-details.component.d.ts +14 -13
  142. package/lib/components/products/products-insight/products-insight.component.d.ts +8 -5
  143. package/lib/components/products/products-list/products-list.component.d.ts +6 -6
  144. package/lib/components/products/users-list-for-product/users-list-for-product.component.d.ts +2 -2
  145. package/lib/components/subscriptions/subscription-agents/subscription-agents.component.d.ts +2 -2
  146. package/lib/components/subscriptions/subscription-agents-list/subscription-agents-list.component.d.ts +2 -2
  147. package/lib/components/subscriptions/subscription-details/subscription-details.component.d.ts +7 -7
  148. package/lib/components/subscriptions/subscription-product-details/subscription-product-details.component.d.ts +2 -2
  149. package/lib/components/subscriptions/subscription-products/subscription-products.component.d.ts +5 -5
  150. package/lib/components/subscriptions/subscription-users/subscription-users.component.d.ts +7 -5
  151. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-price/subscription-insight-average-price.component.d.ts +7 -5
  152. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-average-user/subscription-insight-average-user.component.d.ts +7 -5
  153. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-churn/subscription-insight-churn.component.d.ts +24 -0
  154. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-nps/subscription-insight-nps.component.d.ts +9 -6
  155. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-product-session/subscription-insight-product-session.component.d.ts +7 -5
  156. package/lib/components/subscriptions/subscriptions-insight/subscription-insight-revenue/subscription-insight-revenue.component.d.ts +7 -5
  157. package/lib/components/subscriptions/subscriptions-insight/subscriptions-insight.component.d.ts +7 -5
  158. package/lib/components/subscriptions/subscriptions-list/invite-users/invite-users.component.d.ts +10 -10
  159. package/lib/components/subscriptions/subscriptions-list/subscriptions-list.component.d.ts +7 -7
  160. package/lib/components/subscriptions/subscriptions-tabs/subscriptions-tabs.component.d.ts +1 -1
  161. package/lib/components/tags/tags-category/tags-category.component.d.ts +4 -4
  162. package/lib/components/tags/tags-list/tags-list.component.d.ts +6 -6
  163. package/lib/components/tips/tips-list/tips-list.component.d.ts +1 -1
  164. package/lib/components/tracking/ahoy-events/ahoy-events.component.d.ts +9 -9
  165. package/lib/components/tracking/ahoy-messages/ahoy-messages.component.d.ts +9 -9
  166. package/lib/components/tracking/ahoy-visits/ahoy-visits.component.d.ts +9 -9
  167. package/lib/components/tracking/events/events.component.d.ts +6 -6
  168. package/lib/components/tracking/versions/versions.component.d.ts +6 -6
  169. package/lib/components/users/user-details/user-details.component.d.ts +2 -2
  170. package/lib/components/users/users-insight/users-insight.component.d.ts +6 -0
  171. package/lib/components/users/users-list/users-list.component.d.ts +13 -13
  172. package/lib/components/users/users-tabs/users-tabs.component.d.ts +1 -1
  173. package/package.json +1 -1
@@ -3,8 +3,8 @@ import { AppBaseComponent } from '@posiwise/app-base-component';
3
3
  import { CommonService, PermissionService } from '@posiwise/common-services';
4
4
  import { PAGE_SIZE } from '@posiwise/common-utilities';
5
5
  import { HelperService } from '@posiwise/helper-service';
6
- import { ROUTERS } from '../../../shared/routers/routers';
7
6
  import Swal from 'sweetalert2';
7
+ import { ROUTERS } from '../../../shared/routers/routers';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@posiwise/common-services";
10
10
  import * as i2 from "primeng/table";
@@ -23,10 +23,10 @@ export class IncidentListComponent extends AppBaseComponent {
23
23
  constructor(injector, commonService) {
24
24
  super(injector);
25
25
  this.commonService = commonService;
26
- this.landing = false;
27
26
  this.routers = ROUTERS;
28
27
  this.showList = true;
29
28
  this.isLoaded = true;
29
+ this.landing = false;
30
30
  this.openIncidents = [];
31
31
  this.totalRecordsUnFiltered = 0;
32
32
  this.page = 1;
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
115
115
  type: Component,
116
116
  args: [{ selector: 'pw-admin-incident-list', template: "<div class=\"row\">\n\t<div *rbacAllow=\"'Pages.Admin.Incident.Create'\"\n\t\tclass=\"col-12 d-flex flex-wrap justify-content-between align-items-center\">\n\t\t<h2 class=\"card-title p-0 float-start\">Incidents</h2>\n\t\t<a [routerLink]=\"[routers.incidentDetails + 'add']\"\n\t\t\t(click)=\"showList = !showList\"\n\t\t\t(keydown.enter)=\"showList = !showList\"\n\t\t\taria-label=\"Navigate to Target\"\n\t\t\tclass=\"btn btn-sm btn-outline-primary float-end\"\n\t\t\taria-expanded=\"false\">\n\t\t\t<i class=\"fa fa-plus-circle\"\n\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t{{ 'Label.AddNew' | transloco }} Incident\n\t\t</a>\n\t</div>\n</div>\n<div *ngIf=\"!isLoaded\"\n\tclass=\"w-100 text-center mt-3\">\n\t<p-progressSpinner strokeWidth=\"2\"></p-progressSpinner>\n</div>\n<div *ngIf=\"showList\"\n\tclass=\"row faqlist primeng-datatable-container mt-0\" [class.hideTable]=\"totalRecordsUnFiltered === 0\">\n\t<div class=\"col-12 px-0\">\n\t\t<p-table #tt\n\t\t\t[paginator]=\"totalRecords !== 0\"\n\t\t\t[rows]=\"PAGE_SIZE\"\n\t\t\t[totalRecords]=\"totalRecords\"\n\t\t\t[loading]=\"loading\"\n\t\t\t[lazy]=\"true\"\n\t\t\t[filterDelay]=\"1000\"\n\t\t\t[customSort]=\"true\"\n\t\t\t[value]=\"openIncidents\"\n\t\t\t(onLazyLoad)=\"onLazyLoad($event)\">\n\t\t\t<ng-template pTemplate=\"caption\">\n\t\t\t\t<div class=\"search-filter justify-content-end\">\n\t\t\t\t\t<div class=\"text-end\">\n\t\t\t\t\t\t<i class=\"fa fa-search mt-2 me-2\"\n\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t<input [(ngModel)]=\"searchText\"\n\t\t\t\t\t\t\t(input)=\"tt.filterGlobal($event.target.value, 'contains')\"\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\tpInputText\n\t\t\t\t\t\t\tsize=\"50\"\n\t\t\t\t\t\t\tplaceholder=\"Search Incident...\"\n\t\t\t\t\t\t\tdata-cy=\"incident-search\"\n\t\t\t\t\t\t\tclass=\"wd-90\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"header\">\n\t\t\t\t<tr>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Description' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ServiceImpacted' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"started_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.StartedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"started_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"resolved_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.ResolvedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"resolved_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tpSortableColumn=\"last_check_at\">\n\t\t\t\t\t\t{{ 'Admin.Incident.LastCheckedAt' | transloco }}\n\t\t\t\t\t\t<p-sortIcon field=\"last_check_at\"></p-sortIcon>\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\">\n\t\t\t\t\t\t{{ 'Admin.Incident.Duration' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t\t<th scope=\"true\"\n\t\t\t\t\t\tclass=\"actions-list-two\">\n\t\t\t\t\t\t{{ 'Label.Actions' | transloco }}\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t\t<ng-template pTemplate=\"body\"\n\t\t\t\tlet-incident>\n\t\t\t\t<tr>\n\t\t\t\t\t<td data-head=\"description\"\n\t\t\t\t\t\tclass=\"description\">\n\t\t\t\t\t\t{{(incident?.description | removeHtml: 'quill')|textTruncate: 200}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"serviceImpacted\">\n\t\t\t\t\t\t{{ incident?.service_impacted ? incident?.service_impacted :\n incident?.url_impacted }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"startedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.started_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"resolvedAt\">\n\t\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t\t{{ incident?.resolved_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"lastCheckedAt\">\n\t\t\t\t\t<span class=\"text-nowrap\">\n\t\t\t\t\t\t{{ incident?.last_check_at | date: 'dd-MMM-YYYY, h:mm a' }}\n\t\t\t\t\t</span>\n\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Duration\">\n\t\t\t\t\t\t<!-- {{ calculateDuration(incident?.resolved_at ? incident?.resolved_at :\n incident?.last_check_at, incident?.started_at) }} -->\n\t\t\t\t\t\t{{ calculateDuration(incident?.resolved_at,\n incident?.started_at) }}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td data-head=\"Action\">\n\t\t\t\t\t\t<ul class=\"list-unstyled list-inline list-action\">\n\t\t\t\t\t\t\t<li ngbTooltip=\"Edit\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i (click)=\"navigateToEdit(incident)\"\n\t\t\t\t\t\t\t\t\t(keydown.enter)=\"navigateToEdit(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-edit edit-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t<li ngbTooltip=\"Delete\"\n\t\t\t\t\t\t\t\tclass=\"me-2 me-sm-2\">\n\t\t\t\t\t\t\t\t<i\n\t\t\t\t\t\t\t\t(keydown.enter)=\"onDelete(incident)\"\n\t\t\t\t\t\t\t\t(click)=\"onDelete(incident)\"\n\t\t\t\t\t\t\t\t\tclass=\"fa fa-trash delete-icon\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</ng-template>\n\t\t</p-table>\n <div *ngIf=\"openIncidents.length === 0 && totalRecordsUnFiltered !== 0\">\n <pw-no-data [withImage]=\"true\" [message]=\"'Search.NoDataMessage' | transloco\"\n [description]=\"'Search.NoDataDescription' | transloco\">\n </pw-no-data>\n </div>\n\t<span class=\"total-records-count\"*ngIf=\"openIncidents.length !== 0\" >Total: {{openIncidents.length }}</span>\n\t</div>\n</div>\n<pw-no-data [withImage]=\"true\" *ngIf=\"totalRecordsUnFiltered === 0 && isLoaded\"\n [message]=\"'Admin.Incident.NoDataMessage' | transloco\">\n</pw-no-data>\n", styles: [":root{--first: rgb(23 105 225);--second: rgb(54 194 131);--third: rgb(255 171 0);--text: rgb(34 34 34);--tabs_bg: rgb(23 105 225);--tabs_sub_bg: rgb(70, 136, 236);--tabs_text: rgb(255 255 255);--titles: rgb(34 34 34);--sidebar_bg: rgb(0, 48, 63);--sidebar_text: rgb(255 255 255)}.incidents-wrapper .table thead th{border:0;border-bottom:1px solid rgb(222,226,230)}.incident-item{color:#3f3f44;font-size:14px;line-height:1.42857;padding:10px 0}.incident-item .description{color:var(--first)}.incident-item:last-child{border-bottom:0!important}.ql-editor.safe-html{margin:0;font-size:13px;padding:0}.safe-html p{margin:0;font-size:13px}\n"] }]
117
117
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.CommonService }] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNL0IsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQThCdkQsWUFDSSxRQUFrQixFQUNELGFBQTRCO1FBRTdDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBL0JqRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFNbEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGtCQUFhLEdB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O3dCQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzFCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBeEhRLHFCQUFxQjttR0FBckIscUJBQXFCLHFGQ2RsQyxrcExBa0pBOzs0RkRwSWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNJLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vblNlcnZpY2UsIFBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBQQUdFX1NJWkUsIFBhZ2luZyB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tdXRpbGl0aWVzJztcbmltcG9ydCB7IEhlbHBlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvaGVscGVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFJPVVRFUlMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvcm91dGVycy9yb3V0ZXJzJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctYWRtaW4taW5jaWRlbnQtbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEluY2lkZW50TGlzdENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgbGFuZGluZyA9IGZhbHNlO1xuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIGxvZ286IHN0cmluZztcblxuICAgIHNob3dMaXN0ID0gdHJ1ZTtcblxuICAgIGlzTG9hZGVkID0gdHJ1ZTtcblxuICAgIG9wZW5JbmNpZGVudHMgPSBbXTtcblxuICAgIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPSAwO1xuXG4gICAgdG90YWxSZWNvcmRzOiBudW1iZXI7XG5cbiAgICBwMTogbnVtYmVyO1xuXG4gICAgcDogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5uYW1lO1xuXG4gICAgaXNTdXBlckFkbWluID0gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5pc1N1cGVyQWRtaW4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9nbyA9IHRoaXMuYXBwQ29uZmlnPy5jb21wYW55Py5sb2dvcz8ubWFpbj8udXJsO1xuICAgIH1cblxuICAgIGdldEluY2lkZW50cyhwYWdpbmc6IFBhZ2luZykge1xuICAgICAgICB0aGlzLmlzTG9hZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZS5nZXRJbmNpZGVudHNBZG1pbihwYWdpbmcsIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMub3BlbkluY2lkZW50cyA9IHJlc3BvbnNlPy5pbmNpZGVudHM7XG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPSByZXNwb25zZS51bmZpbHRlcmVkX2NvdW50O1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSByZXNwb25zZS5vYmplY3RfY291bnQ7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTGF6eUxvYWQoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgcGFnZURldGFpbHMgPSBIZWxwZXJTZXJ2aWNlLm9uVGFibGVMYXp5TG9hZChldmVudCk7XG4gICAgICAgIHRoaXMucGFnZSA9IHBhZ2VEZXRhaWxzLnBhZ2U7XG4gICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRzKHtcbiAgICAgICAgICAgIHBhZ2U6IHRoaXMucGFnZSxcbiAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgb3JkZXJfYnk6IHBhZ2VEZXRhaWxzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIG9yZGVyX2RpcmVjdGlvbjogcGFnZURldGFpbHMuc29ydE9yZGVyLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlRHVyYXRpb24oc3RhcnRlZEF0OiBzdHJpbmcsIHJlc29sdmVkQXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmICghc3RhcnRlZEF0KSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnRlZERhdGUgPSBuZXcgRGF0ZShzdGFydGVkQXQpO1xuICAgICAgICBjb25zdCByZXNvbHZlZERhdGUgPSBuZXcgRGF0ZShyZXNvbHZlZEF0KTtcblxuICAgICAgICBjb25zdCBkdXJhdGlvbk1pbnV0ZXMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvICgxMDAwICogNjApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGR1cmF0aW9uTWludXRlcyA8IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uU2Vjb25kcyA9IE1hdGguYWJzKFxuICAgICAgICAgICAgICAgIChyZXNvbHZlZERhdGUuZ2V0VGltZSgpIC0gc3RhcnRlZERhdGUuZ2V0VGltZSgpKSAvIDEwMDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gYCR7TWF0aC5yb3VuZChkdXJhdGlvblNlY29uZHMpfSBzZWNvbmRzYDtcbiAgICAgICAgfSBlbHNlIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCA2MCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25NaW51dGVzKX0gbWludXRlc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgMjQgKiA2MCkge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25Ib3VycyA9IGR1cmF0aW9uTWludXRlcyAvIDYwO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uSG91cnMudG9GaXhlZCgyKX0gaG91cnNgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb25EYXlzID0gZHVyYXRpb25NaW51dGVzIC8gKDI0ICogNjApO1xuICAgICAgICAgICAgcmV0dXJuIGAke2R1cmF0aW9uRGF5cy50b0ZpeGVkKDEpfSBkYXlzYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5hdmlnYXRlVG9FZGl0KGluY2lkZW50KSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnJvdXRlcnMuaW5jaWRlbnREZXRhaWxzICsgaW5jaWRlbnQ/LmlkXSwge1xuICAgICAgICAgICAgc3RhdGU6IHsgZGF0YTogaW5jaWRlbnQgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShpbmNpZGVudCkge1xuICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdEZWxldGUnLFxuICAgICAgICAgICAgaHRtbDogYEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGU/YCxcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXG4gICAgICAgICAgICByZXZlcnNlQnV0dG9uczogdHJ1ZSxcbiAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgICAgICB9KS50aGVuKHJlcCA9PiB7XG4gICAgICAgICAgICBpZiAocmVwLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5kZWxldGVJbmNpZGVudEFkbWluKGluY2lkZW50LmlkLCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLnRyYW5zbGF0ZSgnQWRtaW4uSW5jaWRlbnQuRGVsZXRlZE1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0SW5jaWRlbnRzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV9zaXplOiBQQUdFX1NJWkUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaFRleHRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiPlxuXHQ8ZGl2ICpyYmFjQWxsb3c9XCInUGFnZXMuQWRtaW4uSW5jaWRlbnQuQ3JlYXRlJ1wiXG5cdFx0Y2xhc3M9XCJjb2wtMTIgZC1mbGV4IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHQ8aDIgY2xhc3M9XCJjYXJkLXRpdGxlIHAtMCBmbG9hdC1zdGFydFwiPkluY2lkZW50czwvaDI+XG5cdFx0PGEgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMuaW5jaWRlbnREZXRhaWxzICsgJ2FkZCddXCJcblx0XHRcdChjbGljayk9XCJzaG93TGlzdCA9ICFzaG93TGlzdFwiXG5cdFx0XHQoa2V5ZG93bi5lbnRlcik9XCJzaG93TGlzdCA9ICFzaG93TGlzdFwiXG5cdFx0XHRhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gVGFyZ2V0XCJcblx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tb3V0bGluZS1wcmltYXJ5IGZsb2F0LWVuZFwiXG5cdFx0XHRhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cblx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtcGx1cy1jaXJjbGVcIlxuXHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHR7eyAnTGFiZWwuQWRkTmV3JyB8IHRyYW5zbG9jbyB9fSBJbmNpZGVudFxuXHRcdDwvYT5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCIhaXNMb2FkZWRcIlxuXHRjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIj5cblx0PHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPjwvcC1wcm9ncmVzc1NwaW5uZXI+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJzaG93TGlzdFwiXG5cdGNsYXNzPVwicm93IGZhcWxpc3QgcHJpbWVuZy1kYXRhdGFibGUtY29udGFpbmVyIG10LTBcIiBbY2xhc3MuaGlkZVRhYmxlXT1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDBcIj5cblx0PGRpdiBjbGFzcz1cImNvbC0xMiBweC0wXCI+XG5cdFx0PHAtdGFibGUgI3R0XG5cdFx0XHRbcGFnaW5hdG9yXT1cInRvdGFsUmVjb3JkcyAhPT0gMFwiXG5cdFx0XHRbcm93c109XCJQQUdFX1NJWkVcIlxuXHRcdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuXHRcdFx0W2xvYWRpbmddPVwibG9hZGluZ1wiXG5cdFx0XHRbbGF6eV09XCJ0cnVlXCJcblx0XHRcdFtmaWx0ZXJEZWxheV09XCIxMDAwXCJcblx0XHRcdFtjdXN0b21Tb3J0XT1cInRydWVcIlxuXHRcdFx0W3ZhbHVlXT1cIm9wZW5JbmNpZGVudHNcIlxuXHRcdFx0KG9uTGF6eUxvYWQpPVwib25MYXp5TG9hZCgkZXZlbnQpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY2FwdGlvblwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2VhcmNoLWZpbHRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtZW5kXCI+XG5cdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXNlYXJjaCBtdC0yIG1lLTJcIlxuXHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hUZXh0XCJcblx0XHRcdFx0XHRcdFx0KGlucHV0KT1cInR0LmZpbHRlckdsb2JhbCgkZXZlbnQudGFyZ2V0LnZhbHVlLCAnY29udGFpbnMnKVwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdFx0cElucHV0VGV4dFxuXHRcdFx0XHRcdFx0XHRzaXplPVwiNTBcIlxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlNlYXJjaCBJbmNpZGVudC4uLlwiXG5cdFx0XHRcdFx0XHRcdGRhdGEtY3k9XCJpbmNpZGVudC1zZWFyY2hcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cIndkLTkwXCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5EZXNjcmlwdGlvbicgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TZXJ2aWNlSW1wYWN0ZWQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInN0YXJ0ZWRfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5TdGFydGVkQXQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBmaWVsZD1cInN0YXJ0ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cInJlc29sdmVkX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuUmVzb2x2ZWRBdCcgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIGZpZWxkPVwicmVzb2x2ZWRfYXRcIj48L3Atc29ydEljb24+XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdHBTb3J0YWJsZUNvbHVtbj1cImxhc3RfY2hlY2tfYXRcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5MYXN0Q2hlY2tlZEF0JyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdFx0PHAtc29ydEljb24gZmllbGQ9XCJsYXN0X2NoZWNrX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiPlxuXHRcdFx0XHRcdFx0e3sgJ0FkbWluLkluY2lkZW50LkR1cmF0aW9uJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImFjdGlvbnMtbGlzdC10d29cIj5cblx0XHRcdFx0XHRcdHt7ICdMYWJlbC5BY3Rpb25zJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIlxuXHRcdFx0XHRsZXQtaW5jaWRlbnQ+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiZGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJkZXNjcmlwdGlvblwiPlxuXHRcdFx0XHRcdFx0e3soaW5jaWRlbnQ/LmRlc2NyaXB0aW9uIHwgcmVtb3ZlSHRtbDogJ3F1aWxsJyl8dGV4dFRydW5jYXRlOiAyMDB9fVxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cInNlcnZpY2VJbXBhY3RlZFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/LnNlcnZpY2VfaW1wYWN0ZWQgPyBpbmNpZGVudD8uc2VydmljZV9pbXBhY3RlZCA6XG4gICAgICAgICAgICBpbmNpZGVudD8udXJsX2ltcGFjdGVkIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwic3RhcnRlZEF0XCI+XG5cdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRleHQtbm93cmFwXCI+XG5cdFx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5zdGFydGVkX2F0IHwgZGF0ZTogJ2RkLU1NTS1ZWVlZLCBoOm1tIGEnIH19XG5cdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwicmVzb2x2ZWRBdFwiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8ucmVzb2x2ZWRfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJsYXN0Q2hlY2tlZEF0XCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/Lmxhc3RfY2hlY2tfYXQgfCBkYXRlOiAnZGQtTU1NLVlZWVksIGg6bW0gYScgfX1cblx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cIkR1cmF0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8IS0tIHt7IGNhbGN1bGF0ZUR1cmF0aW9uKGluY2lkZW50Py5yZXNvbHZlZF9hdCA/IGluY2lkZW50Py5yZXNvbHZlZF9hdCA6XG4gICAgICAgICAgICBpbmNpZGVudD8ubGFzdF9jaGVja19hdCwgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19IC0tPlxuXHRcdFx0XHRcdFx0e3sgY2FsY3VsYXRlRHVyYXRpb24oaW5jaWRlbnQ/LnJlc29sdmVkX2F0LFxuICAgICAgICAgICAgaW5jaWRlbnQ/LnN0YXJ0ZWRfYXQpIH19XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwiQWN0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8dWwgY2xhc3M9XCJsaXN0LXVuc3R5bGVkIGxpc3QtaW5saW5lIGxpc3QtYWN0aW9uXCI+XG5cdFx0XHRcdFx0XHRcdDxsaSBuZ2JUb29sdGlwPVwiRWRpdFwiXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtZS0yIG1lLXNtLTJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSAoY2xpY2spPVwibmF2aWdhdGVUb0VkaXQoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdChrZXlkb3duLmVudGVyKT1cIm5hdmlnYXRlVG9FZGl0KGluY2lkZW50KVwiXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cImZhIGZhLWVkaXQgZWRpdC1pY29uXCJcblx0XHRcdFx0XHRcdFx0XHRcdGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cblx0XHRcdFx0XHRcdFx0PC9saT5cblx0XHRcdFx0XHRcdFx0PGxpIG5nYlRvb2x0aXA9XCJEZWxldGVcIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibWUtMiBtZS1zbS0yXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGlcblx0XHRcdFx0XHRcdFx0XHQoa2V5ZG93bi5lbnRlcik9XCJvbkRlbGV0ZShpbmNpZGVudClcIlxuXHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJvbkRlbGV0ZShpbmNpZGVudClcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHQ8L3VsPlxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdDwvdHI+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvcC10YWJsZT5cbiAgICA8ZGl2ICpuZ0lmPVwib3BlbkluY2lkZW50cy5sZW5ndGggPT09IDAgJiYgdG90YWxSZWNvcmRzVW5GaWx0ZXJlZCAhPT0gMFwiPlxuICAgICAgPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgW21lc3NhZ2VdPVwiJ1NlYXJjaC5Ob0RhdGFNZXNzYWdlJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgIFtkZXNjcmlwdGlvbl09XCInU2VhcmNoLk5vRGF0YURlc2NyaXB0aW9uJyB8IHRyYW5zbG9jb1wiPlxuICAgICAgPC9wdy1uby1kYXRhPlxuICAgIDwvZGl2PlxuXHQ8c3BhbiBjbGFzcz1cInRvdGFsLXJlY29yZHMtY291bnRcIipuZ0lmPVwib3BlbkluY2lkZW50cy5sZW5ndGggIT09IDBcIiA+VG90YWw6IHt7b3BlbkluY2lkZW50cy5sZW5ndGggfX08L3NwYW4+XG5cdDwvZGl2PlxuPC9kaXY+XG48cHctbm8tZGF0YSBbd2l0aEltYWdlXT1cInRydWVcIiAqbmdJZj1cInRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgPT09IDAgJiYgaXNMb2FkZWRcIlxuICBbbWVzc2FnZV09XCInQWRtaW4uSW5jaWRlbnQuTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIj5cbjwvcHctbm8tZGF0YT5cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtbGlzdC9pbmNpZGVudHMtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FkbWluLW1vZHVsZS9zcmMvbGliL2NvbXBvbmVudHMvaW5jaWRlbnRzL2luY2lkZW50cy1saXN0L2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFFL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFNMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQXlCdkQsWUFDSSxRQUFrQixFQUNELGFBQTRCO1FBRTdDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBMUJqRCxZQUFPLEdBQUcsT0FBTyxDQUFDO1FBSWxCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGtCQUFhLEdB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O3dCQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzFCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBbkhRLHFCQUFxQjttR0FBckIscUJBQXFCLHFGQ2hCbEMsa3BMQWtKQTs7NEZEbElhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlLCBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgUEFHRV9TSVpFLCBQYWdpbmcgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXV0aWxpdGllcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcblxuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1hZG1pbi1pbmNpZGVudC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5jaWRlbnRzLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luY2lkZW50cy1saXN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5jaWRlbnRMaXN0Q29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIGxvZ286IHN0cmluZztcblxuICAgIHNob3dMaXN0ID0gdHJ1ZTtcbiAgICBpc0xvYWRlZCA9IHRydWU7XG5cbiAgICBsYW5kaW5nID0gZmFsc2U7XG5cbiAgICBvcGVuSW5jaWRlbnRzID0gW107XG5cbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuICAgIHAxOiBudW1iZXI7XG4gICAgcDogbnVtYmVyO1xuXG4gICAgdG90YWxSZWNvcmRzVW5GaWx0ZXJlZCA9IDA7XG4gICAgcHJpdmF0ZSBwYWdlID0gMTtcblxuICAgIHNlYXJjaFRleHQgPSAnJztcblxuICAgIGNvbXBhbnlOYW1lID0gdGhpcy5hcHBDb25maWcuY29tcGFueS5uYW1lO1xuICAgIGlzU3VwZXJBZG1pbiA9IHRoaXMucGVybWlzc2lvblNlcnZpY2UuaXNTdXBlckFkbWluKCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ28gPSB0aGlzLmFwcENvbmZpZz8uY29tcGFueT8ubG9nb3M/Lm1haW4/LnVybDtcbiAgICB9XG5cbiAgICBnZXRJbmNpZGVudHMocGFnaW5nOiBQYWdpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2UuZ2V0SW5jaWRlbnRzQWRtaW4ocGFnaW5nLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm9wZW5JbmNpZGVudHMgPSByZXNwb25zZT8uaW5jaWRlbnRzO1xuICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHNVbkZpbHRlcmVkID0gcmVzcG9uc2UudW5maWx0ZXJlZF9jb3VudDtcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzcG9uc2Uub2JqZWN0X2NvdW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxhenlMb2FkKGV2ZW50OiBMYXp5TG9hZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHBhZ2VEZXRhaWxzID0gSGVscGVyU2VydmljZS5vblRhYmxlTGF6eUxvYWQoZXZlbnQpO1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdlRGV0YWlscy5wYWdlO1xuICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICBwYWdlOiB0aGlzLnBhZ2UsXG4gICAgICAgICAgICBwYWdlX3NpemU6IFBBR0VfU0laRSxcbiAgICAgICAgICAgIG9yZGVyX2J5OiBwYWdlRGV0YWlscy5zb3J0RmllbGQsXG4gICAgICAgICAgICBvcmRlcl9kaXJlY3Rpb246IHBhZ2VEZXRhaWxzLnNvcnRPcmRlcixcbiAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGN1bGF0ZUR1cmF0aW9uKHN0YXJ0ZWRBdDogc3RyaW5nLCByZXNvbHZlZEF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXN0YXJ0ZWRBdCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ZWREYXRlID0gbmV3IERhdGUoc3RhcnRlZEF0KTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREYXRlID0gbmV3IERhdGUocmVzb2x2ZWRBdCk7XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb25NaW51dGVzID0gTWF0aC5hYnMoXG4gICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChkdXJhdGlvbk1pbnV0ZXMgPCAxKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvblNlY29uZHMgPSBNYXRoLmFicyhcbiAgICAgICAgICAgICAgICAocmVzb2x2ZWREYXRlLmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKSkgLyAxMDAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGAke01hdGgucm91bmQoZHVyYXRpb25TZWNvbmRzKX0gc2Vjb25kc2A7XG4gICAgICAgIH0gZWxzZSBpZiAoZHVyYXRpb25NaW51dGVzIDwgNjApIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtNYXRoLnJvdW5kKGR1cmF0aW9uTWludXRlcyl9IG1pbnV0ZXNgO1xuICAgICAgICB9IGVsc2UgaWYgKGR1cmF0aW9uTWludXRlcyA8IDI0ICogNjApIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uSG91cnMgPSBkdXJhdGlvbk1pbnV0ZXMgLyA2MDtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkhvdXJzLnRvRml4ZWQoMil9IGhvdXJzYDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGF5cyA9IGR1cmF0aW9uTWludXRlcyAvICgyNCAqIDYwKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtkdXJhdGlvbkRheXMudG9GaXhlZCgxKX0gZGF5c2A7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudCkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5yb3V0ZXJzLmluY2lkZW50RGV0YWlscyArIGluY2lkZW50Py5pZF0sIHtcbiAgICAgICAgICAgIHN0YXRlOiB7IGRhdGE6IGluY2lkZW50IH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoaW5jaWRlbnQpIHtcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnRGVsZXRlJyxcbiAgICAgICAgICAgIGh0bWw6IGBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlP2AsXG4gICAgICAgICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgcmV2ZXJzZUJ1dHRvbnM6IHRydWUsXG4gICAgICAgICAgICBpY29uOiAnd2FybmluZydcbiAgICAgICAgfSkudGhlbihyZXAgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAuZGVsZXRlSW5jaWRlbnRBZG1pbihpbmNpZGVudC5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkluY2lkZW50LkRlbGV0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEluY2lkZW50cyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogdGhpcy5wYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2Vfc2l6ZTogUEFHRV9TSVpFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaDogdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiAqcmJhY0FsbG93PVwiJ1BhZ2VzLkFkbWluLkluY2lkZW50LkNyZWF0ZSdcIlxuXHRcdGNsYXNzPVwiY29sLTEyIGQtZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0PGgyIGNsYXNzPVwiY2FyZC10aXRsZSBwLTAgZmxvYXQtc3RhcnRcIj5JbmNpZGVudHM8L2gyPlxuXHRcdDxhIFtyb3V0ZXJMaW5rXT1cIltyb3V0ZXJzLmluY2lkZW50RGV0YWlscyArICdhZGQnXVwiXG5cdFx0XHQoY2xpY2spPVwic2hvd0xpc3QgPSAhc2hvd0xpc3RcIlxuXHRcdFx0KGtleWRvd24uZW50ZXIpPVwic2hvd0xpc3QgPSAhc2hvd0xpc3RcIlxuXHRcdFx0YXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG5cdFx0XHRjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtcHJpbWFyeSBmbG9hdC1lbmRcIlxuXHRcdFx0YXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG5cdFx0XHQ8aSBjbGFzcz1cImZhIGZhLXBsdXMtY2lyY2xlXCJcblx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0e3sgJ0xhYmVsLkFkZE5ldycgfCB0cmFuc2xvY28gfX0gSW5jaWRlbnRcblx0XHQ8L2E+XG5cdDwvZGl2PlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwiIWlzTG9hZGVkXCJcblx0Y2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCI+XG5cdDxwLXByb2dyZXNzU3Bpbm5lciBzdHJva2VXaWR0aD1cIjJcIj48L3AtcHJvZ3Jlc3NTcGlubmVyPlxuPC9kaXY+XG48ZGl2ICpuZ0lmPVwic2hvd0xpc3RcIlxuXHRjbGFzcz1cInJvdyBmYXFsaXN0IHByaW1lbmctZGF0YXRhYmxlLWNvbnRhaW5lciBtdC0wXCIgW2NsYXNzLmhpZGVUYWJsZV09XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwXCI+XG5cdDxkaXYgY2xhc3M9XCJjb2wtMTIgcHgtMFwiPlxuXHRcdDxwLXRhYmxlICN0dFxuXHRcdFx0W3BhZ2luYXRvcl09XCJ0b3RhbFJlY29yZHMgIT09IDBcIlxuXHRcdFx0W3Jvd3NdPVwiUEFHRV9TSVpFXCJcblx0XHRcdFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcblx0XHRcdFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuXHRcdFx0W2xhenldPVwidHJ1ZVwiXG5cdFx0XHRbZmlsdGVyRGVsYXldPVwiMTAwMFwiXG5cdFx0XHRbY3VzdG9tU29ydF09XCJ0cnVlXCJcblx0XHRcdFt2YWx1ZV09XCJvcGVuSW5jaWRlbnRzXCJcblx0XHRcdChvbkxhenlMb2FkKT1cIm9uTGF6eUxvYWQoJGV2ZW50KVwiPlxuXHRcdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInNlYXJjaC1maWx0ZXIganVzdGlmeS1jb250ZW50LWVuZFwiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZFwiPlxuXHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJmYSBmYS1zZWFyY2ggbXQtMiBtZS0yXCJcblx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0PGlucHV0IFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXG5cdFx0XHRcdFx0XHRcdChpbnB1dCk9XCJ0dC5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIlxuXHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdFx0XHRcdHBJbnB1dFRleHRcblx0XHRcdFx0XHRcdFx0c2l6ZT1cIjUwXCJcblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJTZWFyY2ggSW5jaWRlbnQuLi5cIlxuXHRcdFx0XHRcdFx0XHRkYXRhLWN5PVwiaW5jaWRlbnQtc2VhcmNoXCJcblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJ3ZC05MFwiPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG5cdFx0XHRcdDx0cj5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuRGVzY3JpcHRpb24nIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0PC90aD5cblx0XHRcdFx0XHQ8dGggc2NvcGU9XCJ0cnVlXCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuU2VydmljZUltcGFjdGVkJyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRwU29ydGFibGVDb2x1bW49XCJzdGFydGVkX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuU3RhcnRlZEF0JyB8IHRyYW5zbG9jbyB9fVxuXHRcdFx0XHRcdFx0PHAtc29ydEljb24gZmllbGQ9XCJzdGFydGVkX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRwU29ydGFibGVDb2x1bW49XCJyZXNvbHZlZF9hdFwiPlxuXHRcdFx0XHRcdFx0e3sgJ0FkbWluLkluY2lkZW50LlJlc29sdmVkQXQnIHwgdHJhbnNsb2NvIH19XG5cdFx0XHRcdFx0XHQ8cC1zb3J0SWNvbiBmaWVsZD1cInJlc29sdmVkX2F0XCI+PC9wLXNvcnRJY29uPlxuXHRcdFx0XHRcdDwvdGg+XG5cdFx0XHRcdFx0PHRoIHNjb3BlPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRwU29ydGFibGVDb2x1bW49XCJsYXN0X2NoZWNrX2F0XCI+XG5cdFx0XHRcdFx0XHR7eyAnQWRtaW4uSW5jaWRlbnQuTGFzdENoZWNrZWRBdCcgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHRcdDxwLXNvcnRJY29uIGZpZWxkPVwibGFzdF9jaGVja19hdFwiPjwvcC1zb3J0SWNvbj5cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIj5cblx0XHRcdFx0XHRcdHt7ICdBZG1pbi5JbmNpZGVudC5EdXJhdGlvbicgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHRcdDx0aCBzY29wZT1cInRydWVcIlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJhY3Rpb25zLWxpc3QtdHdvXCI+XG5cdFx0XHRcdFx0XHR7eyAnTGFiZWwuQWN0aW9ucycgfCB0cmFuc2xvY28gfX1cblx0XHRcdFx0XHQ8L3RoPlxuXHRcdFx0XHQ8L3RyPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCJcblx0XHRcdFx0bGV0LWluY2lkZW50PlxuXHRcdFx0XHQ8dHI+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cImRlc2NyaXB0aW9uXCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cblx0XHRcdFx0XHRcdHt7KGluY2lkZW50Py5kZXNjcmlwdGlvbiB8IHJlbW92ZUh0bWw6ICdxdWlsbCcpfHRleHRUcnVuY2F0ZTogMjAwfX1cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJzZXJ2aWNlSW1wYWN0ZWRcIj5cblx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5zZXJ2aWNlX2ltcGFjdGVkID8gaW5jaWRlbnQ/LnNlcnZpY2VfaW1wYWN0ZWQgOlxuICAgICAgICAgICAgaW5jaWRlbnQ/LnVybF9pbXBhY3RlZCB9fVxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cInN0YXJ0ZWRBdFwiPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0ZXh0LW5vd3JhcFwiPlxuXHRcdFx0XHRcdFx0XHR7eyBpbmNpZGVudD8uc3RhcnRlZF9hdCB8IGRhdGU6ICdkZC1NTU0tWVlZWSwgaDptbSBhJyB9fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cInJlc29sdmVkQXRcIj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXBcIj5cblx0XHRcdFx0XHRcdFx0e3sgaW5jaWRlbnQ/LnJlc29sdmVkX2F0IHwgZGF0ZTogJ2RkLU1NTS1ZWVlZLCBoOm1tIGEnIH19XG5cdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHQ8dGQgZGF0YS1oZWFkPVwibGFzdENoZWNrZWRBdFwiPlxuXHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXBcIj5cblx0XHRcdFx0XHRcdHt7IGluY2lkZW50Py5sYXN0X2NoZWNrX2F0IHwgZGF0ZTogJ2RkLU1NTS1ZWVlZLCBoOm1tIGEnIH19XG5cdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdDx0ZCBkYXRhLWhlYWQ9XCJEdXJhdGlvblwiPlxuXHRcdFx0XHRcdFx0PCEtLSB7eyBjYWxjdWxhdGVEdXJhdGlvbihpbmNpZGVudD8ucmVzb2x2ZWRfYXQgPyBpbmNpZGVudD8ucmVzb2x2ZWRfYXQgOlxuICAgICAgICAgICAgaW5jaWRlbnQ/Lmxhc3RfY2hlY2tfYXQsIGluY2lkZW50Py5zdGFydGVkX2F0KSB9fSAtLT5cblx0XHRcdFx0XHRcdHt7IGNhbGN1bGF0ZUR1cmF0aW9uKGluY2lkZW50Py5yZXNvbHZlZF9hdCxcbiAgICAgICAgICAgIGluY2lkZW50Py5zdGFydGVkX2F0KSB9fVxuXHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0PHRkIGRhdGEtaGVhZD1cIkFjdGlvblwiPlxuXHRcdFx0XHRcdFx0PHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBsaXN0LWlubGluZSBsaXN0LWFjdGlvblwiPlxuXHRcdFx0XHRcdFx0XHQ8bGkgbmdiVG9vbHRpcD1cIkVkaXRcIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibWUtMiBtZS1zbS0yXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGkgKGNsaWNrKT1cIm5hdmlnYXRlVG9FZGl0KGluY2lkZW50KVwiXG5cdFx0XHRcdFx0XHRcdFx0XHQoa2V5ZG93bi5lbnRlcik9XCJuYXZpZ2F0ZVRvRWRpdChpbmNpZGVudClcIlxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJmYSBmYS1lZGl0IGVkaXQtaWNvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdDwvbGk+XG5cdFx0XHRcdFx0XHRcdDxsaSBuZ2JUb29sdGlwPVwiRGVsZXRlXCJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm1lLTIgbWUtc20tMlwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpXG5cdFx0XHRcdFx0XHRcdFx0KGtleWRvd24uZW50ZXIpPVwib25EZWxldGUoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25EZWxldGUoaW5jaWRlbnQpXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb25cIlxuXHRcdFx0XHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2xpPlxuXHRcdFx0XHRcdFx0PC91bD5cblx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHQ8L3RyPlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L3AtdGFibGU+XG4gICAgPGRpdiAqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoID09PSAwICYmIHRvdGFsUmVjb3Jkc1VuRmlsdGVyZWQgIT09IDBcIj5cbiAgICAgIDxwdy1uby1kYXRhIFt3aXRoSW1hZ2VdPVwidHJ1ZVwiIFttZXNzYWdlXT1cIidTZWFyY2guTm9EYXRhTWVzc2FnZScgfCB0cmFuc2xvY29cIlxuICAgICAgICBbZGVzY3JpcHRpb25dPVwiJ1NlYXJjaC5Ob0RhdGFEZXNjcmlwdGlvbicgfCB0cmFuc2xvY29cIj5cbiAgICAgIDwvcHctbm8tZGF0YT5cbiAgICA8L2Rpdj5cblx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1yZWNvcmRzLWNvdW50XCIqbmdJZj1cIm9wZW5JbmNpZGVudHMubGVuZ3RoICE9PSAwXCIgPlRvdGFsOiB7e29wZW5JbmNpZGVudHMubGVuZ3RoIH19PC9zcGFuPlxuXHQ8L2Rpdj5cbjwvZGl2PlxuPHB3LW5vLWRhdGEgW3dpdGhJbWFnZV09XCJ0cnVlXCIgKm5nSWY9XCJ0b3RhbFJlY29yZHNVbkZpbHRlcmVkID09PSAwICYmIGlzTG9hZGVkXCJcbiAgW21lc3NhZ2VdPVwiJ0FkbWluLkluY2lkZW50Lk5vRGF0YU1lc3NhZ2UnIHwgdHJhbnNsb2NvXCI+XG48L3B3LW5vLWRhdGE+XG4iXX0=
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
22
22
  selector: 'incident-tabs'
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtdGFicy9pbmNpZGVudHMtdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFDLE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLSSxVQUFLLEdBQWU7WUFDaEI7Z0JBQ0ksRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLFVBQVUsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3ZDO1NBQ0osQ0FBQztLQUNMOytHQVRZLHFCQUFxQjttR0FBckIscUJBQXFCLHFEQUhwQixxQ0FBcUM7OzRGQUd0QyxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsUUFBUSxFQUFFLGVBQWU7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGA8cHctdGFicyBbaXRlbXNdPVwiaXRlbXNcIj48L3B3LXRhYnM+YCxcbiAgICBzZWxlY3RvcjogJ2luY2lkZW50LXRhYnMnXG59KVxuZXhwb3J0IGNsYXNzIEluY2lkZW50VGFic0NvbXBvbmVudCB7XG4gICAgaXRlbXM6IE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnaW5jaWRlbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdJbmNpZGVudHMnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhciBmYS1mdyBmYS1ib29rJyxcbiAgICAgICAgICAgIHJvdXRlckxpbms6IFsnL2FkbWluL2luY2lkZW50L2xpc3QnXVxuICAgICAgICB9XG4gICAgXTtcbn1cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jaWRlbnRzLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2luY2lkZW50cy9pbmNpZGVudHMtdGFicy9pbmNpZGVudHMtdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLSSxVQUFLLEdBQWU7WUFDaEI7Z0JBQ0ksRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLElBQUksRUFBRSxtQkFBbUI7Z0JBQ3pCLFVBQVUsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2FBQ3ZDO1NBQ0osQ0FBQztLQUNMOytHQVRZLHFCQUFxQjttR0FBckIscUJBQXFCLHFEQUhwQixxQ0FBcUM7OzRGQUd0QyxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsUUFBUSxFQUFFLGVBQWU7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYDxwdy10YWJzIFtpdGVtc109XCJpdGVtc1wiPjwvcHctdGFicz5gLFxuICAgIHNlbGVjdG9yOiAnaW5jaWRlbnQtdGFicydcbn0pXG5leHBvcnQgY2xhc3MgSW5jaWRlbnRUYWJzQ29tcG9uZW50IHtcbiAgICBpdGVtczogTWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdpbmNpZGVudCcsXG4gICAgICAgICAgICBsYWJlbDogJ0luY2lkZW50cycsXG4gICAgICAgICAgICBpY29uOiAnZmFyIGZhLWZ3IGZhLWJvb2snLFxuICAgICAgICAgICAgcm91dGVyTGluazogWycvYWRtaW4vaW5jaWRlbnQvbGlzdCddXG4gICAgICAgIH1cbiAgICBdO1xufVxuIl19
@@ -1,10 +1,10 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { Component, Injector } from '@angular/core';
3
3
  import { AdminService, AppAdmin } from '@posiwise/admin-module-utils';
4
- import { ROUTERS } from '../../../shared/routers/routers';
5
4
  import { AppBaseComponent } from '@posiwise/app-base-component';
6
5
  import { PermissionService, ProductService } from '@posiwise/common-services';
7
6
  import { ValidateForm } from '@posiwise/utils';
7
+ import { ROUTERS } from '../../../shared/routers/routers';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@posiwise/admin-module-utils";
10
10
  import * as i2 from "@posiwise/common-services";
@@ -95,7 +95,7 @@ export class LoginNotificationDetailsComponent extends AppBaseComponent {
95
95
  });
96
96
  }
97
97
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoginNotificationDetailsComponent, deps: [{ token: i0.Injector }, { token: i1.AdminService }, { token: i2.ProductService }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LoginNotificationDetailsComponent, selector: "pw-login-notification-details", usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a aria-label=\"Navigate to Target\"\n [routerLink]=\"[routers.loginNotifications]\"\n class=\"previous\">\n <i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i>\n </a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ id ? 'Edit' : 'Add New' }}: Login Notification</span>\n </h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4 col-md-3\"\n *ngIf=\"loginNotificationTypes$ | async as types\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.NotificationType' | transloco\"\n [label]=\"'Admin.LoginNotification.NotificationType' | transloco\"\n name=\"notification_type\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.NotificationType'\n | transloco\n \">\n\n <select id=\"type\"\n class=\"form-select no-radius\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['notification_type'].errors\n }\"\n formControlName=\"notification_type\">\n <option value=\"\">Select Type</option>\n <option *ngFor=\"let item of types['available_types']\"\n [value]=\"item\">\n {{ item }}\n </option>\n </select>\n </pw-input-container>\n </div>\n <!-- Feature keys -->\n <div class=\"mb-3 col-12 col-sm-4 col-md-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Features' | transloco\"\n [label]=\"'Admin.LoginNotification.Features' | transloco\"\n name=\"feature_keys\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.Features' | transloco\n \">\n <p-multiSelect [options]=\"featureKeys\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </pw-input-container>\n </div>\n <!-- visible_from -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleFrom' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleFrom' | transloco\"\n name=\"visible_from\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleFrom' | transloco\n \">\n <p-calendar formControlName=\"visible_from\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_from'].errors\n }\">\n </p-calendar>\n </pw-input-container>\n </div>\n <!-- visible_until -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleUntil' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleUntil' | transloco\"\n name=\"visible_until\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleUntil'\n | transloco\n \">\n <div>\n <p-calendar formControlName=\"visible_until\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Until Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_until'].errors\n }\">\n </p-calendar>\n </div>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-4 col-md-2\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Permanent'|transloco\"\n [label]=\"'Admin.LoginNotification.IsPermanent' | transloco\"\n name=\"is_permanent\">\n <ui-switch formControlName=\"is_permanent\"\n name=\"is_permanent\">\n </ui-switch>\n </pw-input-container>\n </div>\n <!-- body -->\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Body' | transloco\"\n [label]=\"'Admin.LoginNotification.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Admin.LoginNotification.Validation.Body' | transloco\">\n <textarea rows=\"3\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"body\"\n [ngClass]=\"{ 'is-invalid': submitted && f['body'].errors }\"></textarea>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [".form-select{border-radius:5px!important;border:1px solid #ced4da;height:36px!important}\n"], dependencies: [{ kind: "component", type: i3.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i7.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i10.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText"] }, { kind: "directive", type: i11.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: LoginNotificationDetailsComponent, selector: "pw-login-notification-details", usesInheritance: true, ngImport: i0, template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a aria-label=\"Navigate to Target\"\n [routerLink]=\"[routers.loginNotifications]\"\n class=\"previous\">\n <i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i>\n </a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ id ? 'Edit' : 'Add New' }}: Login Notification</span>\n </h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4 col-md-3\"\n *ngIf=\"loginNotificationTypes$ | async as types\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.NotificationType' | transloco\"\n [label]=\"'Admin.LoginNotification.NotificationType' | transloco\"\n name=\"notification_type\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.NotificationType'\n | transloco\n \">\n\n <select id=\"type\"\n class=\"form-select no-radius\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['notification_type'].errors\n }\"\n formControlName=\"notification_type\">\n <option value=\"\">Select Type</option>\n <option *ngFor=\"let item of types['available_types']\"\n [value]=\"item\">\n {{ item }}\n </option>\n </select>\n </pw-input-container>\n </div>\n <!-- Feature keys -->\n <div class=\"mb-3 col-12 col-sm-4 col-md-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Features' | transloco\"\n [label]=\"'Admin.LoginNotification.Features' | transloco\"\n name=\"feature_keys\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.Features' | transloco\n \">\n <p-multiSelect [options]=\"featureKeys\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </pw-input-container>\n </div>\n <!-- visible_from -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleFrom' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleFrom' | transloco\"\n name=\"visible_from\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleFrom' | transloco\n \">\n <p-calendar formControlName=\"visible_from\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_from'].errors\n }\">\n </p-calendar>\n </pw-input-container>\n </div>\n <!-- visible_until -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleUntil' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleUntil' | transloco\"\n name=\"visible_until\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleUntil'\n | transloco\n \">\n <div>\n <p-calendar formControlName=\"visible_until\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Until Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_until'].errors\n }\">\n </p-calendar>\n </div>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-4 col-md-2\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Permanent'|transloco\"\n [label]=\"'Admin.LoginNotification.IsPermanent' | transloco\"\n name=\"is_permanent\">\n <ui-switch formControlName=\"is_permanent\"\n name=\"is_permanent\">\n </ui-switch>\n </pw-input-container>\n </div>\n <!-- body -->\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Body' | transloco\"\n [isLeftTooltip]=\"true\"\n [label]=\"'Admin.LoginNotification.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Admin.LoginNotification.Validation.Body' | transloco\">\n <textarea rows=\"3\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"body\"\n [ngClass]=\"{ 'is-invalid': submitted && f['body'].errors }\"></textarea>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [".form-select{border-radius:5px!important;border:1px solid #ced4da;height:36px!important}\n"], dependencies: [{ kind: "component", type: i3.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i7.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "directive", type: i8.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i9.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: i10.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i11.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
99
99
  }
100
100
  __decorate([
101
101
  ValidateForm('form'),
@@ -105,6 +105,6 @@ __decorate([
105
105
  ], LoginNotificationDetailsComponent.prototype, "onSave", null);
106
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: LoginNotificationDetailsComponent, decorators: [{
107
107
  type: Component,
108
- args: [{ selector: 'pw-login-notification-details', template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a aria-label=\"Navigate to Target\"\n [routerLink]=\"[routers.loginNotifications]\"\n class=\"previous\">\n <i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i>\n </a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ id ? 'Edit' : 'Add New' }}: Login Notification</span>\n </h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4 col-md-3\"\n *ngIf=\"loginNotificationTypes$ | async as types\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.NotificationType' | transloco\"\n [label]=\"'Admin.LoginNotification.NotificationType' | transloco\"\n name=\"notification_type\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.NotificationType'\n | transloco\n \">\n\n <select id=\"type\"\n class=\"form-select no-radius\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['notification_type'].errors\n }\"\n formControlName=\"notification_type\">\n <option value=\"\">Select Type</option>\n <option *ngFor=\"let item of types['available_types']\"\n [value]=\"item\">\n {{ item }}\n </option>\n </select>\n </pw-input-container>\n </div>\n <!-- Feature keys -->\n <div class=\"mb-3 col-12 col-sm-4 col-md-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Features' | transloco\"\n [label]=\"'Admin.LoginNotification.Features' | transloco\"\n name=\"feature_keys\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.Features' | transloco\n \">\n <p-multiSelect [options]=\"featureKeys\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </pw-input-container>\n </div>\n <!-- visible_from -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleFrom' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleFrom' | transloco\"\n name=\"visible_from\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleFrom' | transloco\n \">\n <p-calendar formControlName=\"visible_from\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_from'].errors\n }\">\n </p-calendar>\n </pw-input-container>\n </div>\n <!-- visible_until -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleUntil' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleUntil' | transloco\"\n name=\"visible_until\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleUntil'\n | transloco\n \">\n <div>\n <p-calendar formControlName=\"visible_until\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Until Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_until'].errors\n }\">\n </p-calendar>\n </div>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-4 col-md-2\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Permanent'|transloco\"\n [label]=\"'Admin.LoginNotification.IsPermanent' | transloco\"\n name=\"is_permanent\">\n <ui-switch formControlName=\"is_permanent\"\n name=\"is_permanent\">\n </ui-switch>\n </pw-input-container>\n </div>\n <!-- body -->\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Body' | transloco\"\n [label]=\"'Admin.LoginNotification.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Admin.LoginNotification.Validation.Body' | transloco\">\n <textarea rows=\"3\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"body\"\n [ngClass]=\"{ 'is-invalid': submitted && f['body'].errors }\"></textarea>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [".form-select{border-radius:5px!important;border:1px solid #ced4da;height:36px!important}\n"] }]
108
+ args: [{ selector: 'pw-login-notification-details', template: "<div class=\"container-fluid pw-tab overflow-hidden\">\n <div class=\"dashboard\">\n <div class=\"dashboard-body\">\n <div class=\"me-auto col-xs-6 mt-4\">\n <a aria-label=\"Navigate to Target\"\n [routerLink]=\"[routers.loginNotifications]\"\n class=\"previous\">\n <i class=\"fa fa-arrow-alt-circle-left\" aria-hidden=\"true\"></i>\n </a>\n <h3 class=\"m-subheader__title m-subheader__title--separator\">\n <span>{{ id ? 'Edit' : 'Add New' }}: Login Notification</span>\n </h3>\n </div>\n <div class=\"w-100 text-center mt-3\"\n *ngIf=\"isLoading\">\n <p-progressSpinner strokeWidth=\"2\"> </p-progressSpinner>\n </div>\n <div class=\"p-2 mt-3\">\n <form [formGroup]=\"form\"\n *ngIf=\"!isLoading\"\n (ngSubmit)=\"onSave()\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-4 col-md-3\"\n *ngIf=\"loginNotificationTypes$ | async as types\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.NotificationType' | transloco\"\n [label]=\"'Admin.LoginNotification.NotificationType' | transloco\"\n name=\"notification_type\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.NotificationType'\n | transloco\n \">\n\n <select id=\"type\"\n class=\"form-select no-radius\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['notification_type'].errors\n }\"\n formControlName=\"notification_type\">\n <option value=\"\">Select Type</option>\n <option *ngFor=\"let item of types['available_types']\"\n [value]=\"item\">\n {{ item }}\n </option>\n </select>\n </pw-input-container>\n </div>\n <!-- Feature keys -->\n <div class=\"mb-3 col-12 col-sm-4 col-md-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Features' | transloco\"\n [label]=\"'Admin.LoginNotification.Features' | transloco\"\n name=\"feature_keys\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.Features' | transloco\n \">\n <p-multiSelect [options]=\"featureKeys\"\n placeholder=\"Select feature keys\"\n [showHeader]=\"true\"\n [showToggleAll]=\"true\"\n formControlName=\"feature_keys\"\n appendTo=\"body\"></p-multiSelect>\n </pw-input-container>\n </div>\n <!-- visible_from -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleFrom' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleFrom' | transloco\"\n name=\"visible_from\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleFrom' | transloco\n \">\n <p-calendar formControlName=\"visible_from\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_from'].errors\n }\">\n </p-calendar>\n </pw-input-container>\n </div>\n <!-- visible_until -->\n <div class=\"col-12 col-sm-4 col-md-2 mb-3\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.VisibleUntil' | transloco\"\n [label]=\"'Admin.LoginNotification.VisibleUntil' | transloco\"\n name=\"visible_until\"\n [errorMsg]=\"\n 'Admin.LoginNotification.Validation.VisibleUntil'\n | transloco\n \">\n <div>\n <p-calendar formControlName=\"visible_until\"\n [showIcon]=\"true\"\n [showTime]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Visible Until Date'\"\n [ngClass]=\"{\n 'is-invalid': submitted && f['visible_until'].errors\n }\">\n </p-calendar>\n </div>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-sm-4 col-md-2\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Permanent'|transloco\"\n [label]=\"'Admin.LoginNotification.IsPermanent' | transloco\"\n name=\"is_permanent\">\n <ui-switch formControlName=\"is_permanent\"\n name=\"is_permanent\">\n </ui-switch>\n </pw-input-container>\n </div>\n <!-- body -->\n <div class=\"col-12 col-sm-12\">\n <pw-input-container [showTooltip]=\"true\"\n [tooltipText]=\"'Admin.LoginNotification.Tooltip.Body' | transloco\"\n [isLeftTooltip]=\"true\"\n [label]=\"'Admin.LoginNotification.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Admin.LoginNotification.Validation.Body' | transloco\">\n <textarea rows=\"3\"\n type=\"text\"\n class=\"form-control\"\n formControlName=\"body\"\n [ngClass]=\"{ 'is-invalid': submitted && f['body'].errors }\"></textarea>\n </pw-input-container>\n </div>\n </div>\n <div class=\"col-12 text-end mt-3\">\n <button type=\"button\"\n class=\"btn btn-outline-default me-2\"\n (click)=\"back()\">\n {{ 'Button.Cancel' | transloco }}\n </button>\n <button type=\"submit\"\n [buttonBusy]=\"buttonBusy\"\n class=\"btn btn-primary\">\n {{ 'Button.Submit' | transloco }}\n </button>\n </div>\n </form>\n </div>\n </div>\n </div>\n</div>\n", styles: [".form-select{border-radius:5px!important;border:1px solid #ced4da;height:36px!important}\n"] }]
109
109
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.AdminService }, { type: i2.ProductService }], propDecorators: { onSave: [] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBSTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTy9DLE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxnQkFBZ0I7SUFrQm5FLFlBQ0ksUUFBa0IsRUFDRCxZQUEwQixFQUMxQixjQUE4QjtRQUUvQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFsQm5ELGNBQVMsR0FBRyxLQUFL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LENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUc7WUFDVCxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDdkMsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO1lBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUM7WUFDWCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxDQUFDLENBQ3ZFLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7U0FDSixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwR1EsaUNBQWlDO21HQUFqQyxpQ0FBaUMsNEZDZjlDLDI1TkFzSkE7O0FEeERJO0lBREMsWUFBWSxDQUFDLE1BQU0sQ0FBQzs7OzsrREFzQnBCOzRGQXBHUSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksK0JBQStCO3FJQW1GekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWRtaW5TZXJ2aWNlLCBBcHBBZG1pbiB9IGZyb20gJ0Bwb3Npd2lzZS9hZG1pbi1tb2R1bGUtdXRpbHMnO1xuaW1wb3J0IHsgUk9VVEVSUyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9yb3V0ZXJzL3JvdXRlcnMnO1xuaW1wb3J0IHsgQXBwQmFzZUNvbXBvbmVudCB9IGZyb20gJ0Bwb3Npd2lzZS9hcHAtYmFzZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UsIFByb2R1Y3RTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZUZvcm0gfSBmcm9tICdAcG9zaXdpc2UvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LWxvZ2luLW5vdGlmaWNhdGlvbi1kZXRhaWxzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLW5vdGlmaWNhdGlvbi1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Ob3RpZmljYXRpb25EZXRhaWxzQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGlkOiBudW1iZXI7XG5cbiAgICByb3V0ZXJzID0gUk9VVEVSUztcblxuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG5cbiAgICBsb2dpbk5vdGlmaWNhdGlvblR5cGVzJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGZlYXR1cmVLZXlzID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFkbWluU2VydmljZTogQWRtaW5TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RTZXJ2aWNlOiBQcm9kdWN0U2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgIHRoaXMuZm9ybSA9IEFwcEFkbWluLmxvZ2luTm90aWZpY2F0aW9uRm9ybSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gUGVybWlzc2lvblNlcnZpY2Uuc2VsZWN0ZWRTdWJzY3JpcHRpb24/LmlkO1xuICAgICAgICB0aGlzLmxvZ2luTm90aWZpY2F0aW9uVHlwZXMkID0gdGhpcy5hZG1pblNlcnZpY2UuZ2V0QXZhaWxhYmxlTG9naW5Ob3RpZmljYXRpb25UeXBlcyhcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5nZXRGZWF0dXJlS2V5cygpO1xuICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBOdW1iZXIocGFyYW1zWydpZCddKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRMb2dpbk5vdGlmaWNhdGlvbkRldGFpbHMoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGYoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMb2dpbk5vdGlmaWNhdGlvbkRldGFpbHMoKSB7XG4gICAgICAgIHRoaXMuYWRtaW5TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0TG9naW5Ob3RpZmljYXRpb25CeUlkKHRoaXMuaWQsIHRoaXMuc3Vic2NyaXB0aW9uSWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVfdW50aWw6IGRhdGE/LnZpc2libGVfdW50aWwgPyBuZXcgRGF0ZShkYXRhPy52aXNpYmxlX3VudGlsKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlX2Zyb206IGRhdGE/LnZpc2libGVfZnJvbSA/IG5ldyBEYXRlKGRhdGE/LnZpc2libGVfZnJvbSkgOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgZmVhdHVyZV9rZXlzOiBkYXRhPy5mZWF0dXJlX2tleXMgfHwgW10sXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiBkYXRhPy5ub3RpZmljYXRpb25fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgaXNfcGVybWFuZW50OiBkYXRhPy5pc19wZXJtYW5lbnQsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IGRhdGE/LmJvZHlcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmVhdHVyZUtleXMoKSB7XG4gICAgICAgIHRoaXMucHJvZHVjdFNlcnZpY2UuZ2V0UHJvZHVjdExpc3Qoe30sIHRoaXMuc3Vic2NyaXB0aW9uSWQpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmZWF0dXJlS2V5cyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgICAgICAgbmV3IFNldChyZXNwb25zZS5wcm9kdWN0cy5tYXAoaXRlbSA9PiBpdGVtLmZlYXR1cmVfa2V5KSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVLZXlzID0gZmVhdHVyZUtleXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQFZhbGlkYXRlRm9ybSgnZm9ybScpXG4gICAgb25TYXZlKCkge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25faWQ6IHRoaXMuc3Vic2NyaXB0aW9uSWRcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc3ViJCA9IHRoaXMuaWRcbiAgICAgICAgICAgID8gdGhpcy5hZG1pblNlcnZpY2UudXBkYXRlTG9naW5Ob3RpZmljYXRpb24odGhpcy5pZCwgZGF0YSlcbiAgICAgICAgICAgIDogdGhpcy5hZG1pblNlcnZpY2UuY3JlYXRlTG9naW5Ob3RpZmljYXRpb24oZGF0YSk7XG4gICAgICAgIHN1YiQuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb24udHJhbnNsYXRlKCdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5VcGRhdGVkTWVzc2FnZScpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuYWRkKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZCBwdy10YWIgb3ZlcmZsb3ctaGlkZGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWJvZHlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtZS1hdXRvIGNvbC14cy02IG10LTRcIj5cbiAgICAgICAgPGEgYXJpYS1sYWJlbD1cIk5hdmlnYXRlIHRvIFRhcmdldFwiXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwiW3JvdXRlcnMubG9naW5Ob3RpZmljYXRpb25zXVwiXG4gICAgICAgICAgY2xhc3M9XCJwcmV2aW91c1wiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtYXJyb3ctYWx0LWNpcmNsZS1sZWZ0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxoMyBjbGFzcz1cIm0tc3ViaGVhZGVyX190aXRsZSBtLXN1YmhlYWRlcl9fdGl0bGUtLXNlcGFyYXRvclwiPlxuICAgICAgICAgIDxzcGFuPnt7IGlkID8gJ0VkaXQnIDogJ0FkZCBOZXcnIH19OiBMb2dpbiBOb3RpZmljYXRpb248L3NwYW4+XG4gICAgICAgIDwvaDM+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlciBtdC0zXCJcbiAgICAgICAgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgPHAtcHJvZ3Jlc3NTcGlubmVyIHN0cm9rZVdpZHRoPVwiMlwiPiA8L3AtcHJvZ3Jlc3NTcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicC0yIG10LTNcIj5cbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgICAqbmdJZj1cIiFpc0xvYWRpbmdcIlxuICAgICAgICAgIChuZ1N1Ym1pdCk9XCJvblNhdmUoKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTQgY29sLW1kLTNcIlxuICAgICAgICAgICAgICAqbmdJZj1cImxvZ2luTm90aWZpY2F0aW9uVHlwZXMkIHwgYXN5bmMgYXMgdHlwZXNcIj5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ub29sdGlwLk5vdGlmaWNhdGlvblR5cGUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLk5vdGlmaWNhdGlvblR5cGUnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwibm90aWZpY2F0aW9uX3R5cGVcIlxuICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5WYWxpZGF0aW9uLk5vdGlmaWNhdGlvblR5cGUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCI+XG5cbiAgICAgICAgICAgICAgICA8c2VsZWN0IGlkPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tc2VsZWN0IG5vLXJhZGl1c1wiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnbm90aWZpY2F0aW9uX3R5cGUnXS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibm90aWZpY2F0aW9uX3R5cGVcIj5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJcIj5TZWxlY3QgVHlwZTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0eXBlc1snYXZhaWxhYmxlX3R5cGVzJ11cIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtIH19XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwhLS0gRmVhdHVyZSBrZXlzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTMgY29sLTEyIGNvbC1zbS00IGNvbC1tZC0zXCI+XG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVG9vbHRpcC5GZWF0dXJlcycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uRmVhdHVyZXMnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZmVhdHVyZV9rZXlzXCJcbiAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVmFsaWRhdGlvbi5GZWF0dXJlcycgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgPHAtbXVsdGlTZWxlY3QgW29wdGlvbnNdPVwiZmVhdHVyZUtleXNcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgZmVhdHVyZSBrZXlzXCJcbiAgICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dUb2dnbGVBbGxdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmZWF0dXJlX2tleXNcIlxuICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCI+PC9wLW11bHRpU2VsZWN0PlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSB2aXNpYmxlX2Zyb20gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00IGNvbC1tZC0yIG1iLTNcIj5cbiAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVG9vbHRpcC5WaXNpYmxlRnJvbScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5WaXNpYmxlRnJvbScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInZpc2libGVfZnJvbVwiXG4gICAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZhbGlkYXRpb24uVmlzaWJsZUZyb20nIHwgdHJhbnNsb2NvXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgZm9ybUNvbnRyb2xOYW1lPVwidmlzaWJsZV9mcm9tXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1Zpc2libGUgRGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ3Zpc2libGVfZnJvbSddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSB2aXNpYmxlX3VudGlsIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNCBjb2wtbWQtMiBtYi0zXCI+XG4gICAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlRvb2x0aXAuVmlzaWJsZVVudGlsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZpc2libGVVbnRpbCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInZpc2libGVfdW50aWxcIlxuICAgICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5WYWxpZGF0aW9uLlZpc2libGVVbnRpbCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgZm9ybUNvbnRyb2xOYW1lPVwidmlzaWJsZV91bnRpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93VGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidWaXNpYmxlIFVudGlsIERhdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd2aXNpYmxlX3VudGlsJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNCBjb2wtbWQtMlwiPlxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlRvb2x0aXAuUGVybWFuZW50J3x0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uSXNQZXJtYW5lbnQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiaXNfcGVybWFuZW50XCI+XG4gICAgICAgICAgICAgICAgPHVpLXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJpc19wZXJtYW5lbnRcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cImlzX3Blcm1hbmVudFwiPlxuICAgICAgICAgICAgICAgIDwvdWktc3dpdGNoPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSBib2R5IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tMTJcIj5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ub29sdGlwLkJvZHknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLkJvZHknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5WYWxpZGF0aW9uLkJvZHknIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICAgICAgPHRleHRhcmVhIHJvd3M9XCIzXCJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJvZHlcIlxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydib2R5J10uZXJyb3JzIH1cIj48L3RleHRhcmVhPlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgdGV4dC1lbmQgbXQtM1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtZGVmYXVsdCBtZS0yXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImJhY2soKVwiPlxuICAgICAgICAgICAgICB7eyAnQnV0dG9uLkNhbmNlbCcgfCB0cmFuc2xvY28gfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCI+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uU3VibWl0JyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMvbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxnQkFBZ0I7SUFrQm5FLFlBQ0ksUUFBa0IsRUFDRCxZQUEwQixFQUMxQixjQUE4QjtRQUUvQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFIQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFsQm5ELGNBQVMsR0FBRyxLQUFL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LENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUc7WUFDVCxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNsQixlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDdkMsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO1lBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUM7WUFDWCxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxDQUFDLENBQ3ZFLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7U0FDSixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FwR1EsaUNBQWlDO21HQUFqQyxpQ0FBaUMsNEZDakI5QyxxOE5BdUpBOztBRHZESTtJQURDLFlBQVksQ0FBQyxNQUFNLENBQUM7Ozs7K0RBc0JwQjs0RkFwR1EsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNJLCtCQUErQjtxSUFtRnpDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFkbWluU2VydmljZSwgQXBwQWRtaW4gfSBmcm9tICdAcG9zaXdpc2UvYWRtaW4tbW9kdWxlLXV0aWxzJztcbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IFBlcm1pc3Npb25TZXJ2aWNlLCBQcm9kdWN0U2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgVmFsaWRhdGVGb3JtIH0gZnJvbSAnQHBvc2l3aXNlL3V0aWxzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBST1VURVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3JvdXRlcnMvcm91dGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi1ub3RpZmljYXRpb24tZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4tbm90aWZpY2F0aW9uLWRldGFpbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbk5vdGlmaWNhdGlvbkRldGFpbHNDb21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgc3VibWl0dGVkID0gZmFsc2U7XG4gICAgYnV0dG9uQnVzeSA9IGZhbHNlO1xuXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHJvdXRlcnMgPSBST1VURVJTO1xuXG4gICAgc3Vic2NyaXB0aW9uSWQ6IG51bWJlcjtcblxuICAgIGxvZ2luTm90aWZpY2F0aW9uVHlwZXMkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgZmVhdHVyZUtleXMgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWRtaW5TZXJ2aWNlOiBBZG1pblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5mb3JtID0gQXBwQWRtaW4ubG9naW5Ob3RpZmljYXRpb25Gb3JtKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uSWQgPSBQZXJtaXNzaW9uU2VydmljZS5zZWxlY3RlZFN1YnNjcmlwdGlvbj8uaWQ7XG4gICAgICAgIHRoaXMubG9naW5Ob3RpZmljYXRpb25UeXBlcyQgPSB0aGlzLmFkbWluU2VydmljZS5nZXRBdmFpbGFibGVMb2dpbk5vdGlmaWNhdGlvblR5cGVzKFxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmdldEZlYXR1cmVLZXlzKCk7XG4gICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5pZCA9IE51bWJlcihwYXJhbXNbJ2lkJ10pO1xuICAgICAgICAgICAgaWYgKHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldExvZ2luTm90aWZpY2F0aW9uRGV0YWlscygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExvZ2luTm90aWZpY2F0aW9uRGV0YWlscygpIHtcbiAgICAgICAgdGhpcy5hZG1pblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRMb2dpbk5vdGlmaWNhdGlvbkJ5SWQodGhpcy5pZCwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZV91bnRpbDogZGF0YT8udmlzaWJsZV91bnRpbCA/IG5ldyBEYXRlKGRhdGE/LnZpc2libGVfdW50aWwpIDogJycsXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGVfZnJvbTogZGF0YT8udmlzaWJsZV9mcm9tID8gbmV3IERhdGUoZGF0YT8udmlzaWJsZV9mcm9tKSA6ICcnLFxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlX2tleXM6IGRhdGE/LmZlYXR1cmVfa2V5cyB8fCBbXSxcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6IGRhdGE/Lm5vdGlmaWNhdGlvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICBpc19wZXJtYW5lbnQ6IGRhdGE/LmlzX3Blcm1hbmVudCxcbiAgICAgICAgICAgICAgICAgICAgYm9keTogZGF0YT8uYm9keVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGZWF0dXJlS2V5cygpIHtcbiAgICAgICAgdGhpcy5wcm9kdWN0U2VydmljZS5nZXRQcm9kdWN0TGlzdCh7fSwgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZlYXR1cmVLZXlzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICAgICAgICBuZXcgU2V0KHJlc3BvbnNlLnByb2R1Y3RzLm1hcChpdGVtID0+IGl0ZW0uZmVhdHVyZV9rZXkpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZmVhdHVyZUtleXMgPSBmZWF0dXJlS2V5cy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBAVmFsaWRhdGVGb3JtKCdmb3JtJylcbiAgICBvblNhdmUoKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzdWIkID0gdGhpcy5pZFxuICAgICAgICAgICAgPyB0aGlzLmFkbWluU2VydmljZS51cGRhdGVMb2dpbk5vdGlmaWNhdGlvbih0aGlzLmlkLCBkYXRhKVxuICAgICAgICAgICAgOiB0aGlzLmFkbWluU2VydmljZS5jcmVhdGVMb2dpbk5vdGlmaWNhdGlvbihkYXRhKTtcbiAgICAgICAgc3ViJC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudG9hc3Quc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi50cmFuc2xhdGUoJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlVwZGF0ZWRNZXNzYWdlJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkIHB3LXRhYiBvdmVyZmxvdy1oaWRkZW5cIj5cbiAgPGRpdiBjbGFzcz1cImRhc2hib2FyZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYXNoYm9hcmQtYm9keVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1lLWF1dG8gY29sLXhzLTYgbXQtNFwiPlxuICAgICAgICA8YSBhcmlhLWxhYmVsPVwiTmF2aWdhdGUgdG8gVGFyZ2V0XCJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJbcm91dGVycy5sb2dpbk5vdGlmaWNhdGlvbnNdXCJcbiAgICAgICAgICBjbGFzcz1cInByZXZpb3VzXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGgzIGNsYXNzPVwibS1zdWJoZWFkZXJfX3RpdGxlIG0tc3ViaGVhZGVyX190aXRsZS0tc2VwYXJhdG9yXCI+XG4gICAgICAgICAgPHNwYW4+e3sgaWQgPyAnRWRpdCcgOiAnQWRkIE5ldycgfX06IExvZ2luIE5vdGlmaWNhdGlvbjwvc3Bhbj5cbiAgICAgICAgPC9oMz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInctMTAwIHRleHQtY2VudGVyIG10LTNcIlxuICAgICAgICAqbmdJZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICA8cC1wcm9ncmVzc1NwaW5uZXIgc3Ryb2tlV2lkdGg9XCIyXCI+IDwvcC1wcm9ncmVzc1NwaW5uZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwLTIgbXQtM1wiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ1wiXG4gICAgICAgICAgKG5nU3VibWl0KT1cIm9uU2F2ZSgpXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtc20tNCBjb2wtbWQtM1wiXG4gICAgICAgICAgICAgICpuZ0lmPVwibG9naW5Ob3RpZmljYXRpb25UeXBlcyQgfCBhc3luYyBhcyB0eXBlc1wiPlxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlRvb2x0aXAuTm90aWZpY2F0aW9uVHlwZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uTm90aWZpY2F0aW9uVHlwZScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJub3RpZmljYXRpb25fdHlwZVwiXG4gICAgICAgICAgICAgICAgW2Vycm9yTXNnXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZhbGlkYXRpb24uTm90aWZpY2F0aW9uVHlwZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIj5cblxuICAgICAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJ0eXBlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWxlY3Qgbm8tcmFkaXVzXCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWydub3RpZmljYXRpb25fdHlwZSddLmVycm9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJub3RpZmljYXRpb25fdHlwZVwiPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPlNlbGVjdCBUeXBlPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIHR5cGVzWydhdmFpbGFibGVfdHlwZXMnXVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0gfX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLSBGZWF0dXJlIGtleXMgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMyBjb2wtMTIgY29sLXNtLTQgY29sLW1kLTNcIj5cbiAgICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ub29sdGlwLkZlYXR1cmVzJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5GZWF0dXJlcycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJmZWF0dXJlX2tleXNcIlxuICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5WYWxpZGF0aW9uLkZlYXR1cmVzJyB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgICA8cC1tdWx0aVNlbGVjdCBbb3B0aW9uc109XCJmZWF0dXJlS2V5c1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBmZWF0dXJlIGtleXNcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dIZWFkZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBbc2hvd1RvZ2dsZUFsbF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZlYXR1cmVfa2V5c1wiXG4gICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj48L3AtbXVsdGlTZWxlY3Q+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIHZpc2libGVfZnJvbSAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXNtLTQgY29sLW1kLTIgbWItM1wiPlxuICAgICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Ub29sdGlwLlZpc2libGVGcm9tJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZpc2libGVGcm9tJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwidmlzaWJsZV9mcm9tXCJcbiAgICAgICAgICAgICAgICAgIFtlcnJvck1zZ109XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVmFsaWRhdGlvbi5WaXNpYmxlRnJvbScgfCB0cmFuc2xvY29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBmb3JtQ29udHJvbE5hbWU9XCJ2aXNpYmxlX2Zyb21cIlxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1RpbWVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cImRkLU0teXlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVmlzaWJsZSBEYXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsndmlzaWJsZV9mcm9tJ10uZXJyb3JzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9wLWNhbGVuZGFyPlxuICAgICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIHZpc2libGVfdW50aWwgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00IGNvbC1tZC0yIG1iLTNcIj5cbiAgICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVG9vbHRpcC5WaXNpYmxlVW50aWwnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVmlzaWJsZVVudGlsJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwidmlzaWJsZV91bnRpbFwiXG4gICAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZhbGlkYXRpb24uVmlzaWJsZVVudGlsJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbG9jb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBmb3JtQ29udHJvbE5hbWU9XCJ2aXNpYmxlX3VudGlsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dUaW1lXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1NLXl5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1Zpc2libGUgVW50aWwgRGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ3Zpc2libGVfdW50aWwnXS5lcnJvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS00IGNvbC1tZC0yXCI+XG4gICAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uVG9vbHRpcC5QZXJtYW5lbnQnfHRyYW5zbG9jb1wiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidBZG1pbi5Mb2dpbk5vdGlmaWNhdGlvbi5Jc1Blcm1hbmVudCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJpc19wZXJtYW5lbnRcIj5cbiAgICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImlzX3Blcm1hbmVudFwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaXNfcGVybWFuZW50XCI+XG4gICAgICAgICAgICAgICAgPC91aS1zd2l0Y2g+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8IS0tIGJvZHkgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1zbS0xMlwiPlxuICAgICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlRvb2x0aXAuQm9keScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIFtpc0xlZnRUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWRtaW4uTG9naW5Ob3RpZmljYXRpb24uQm9keScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJib2R5XCJcbiAgICAgICAgICAgICAgICBbZXJyb3JNc2ddPVwiJ0FkbWluLkxvZ2luTm90aWZpY2F0aW9uLlZhbGlkYXRpb24uQm9keScgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgICAgICA8dGV4dGFyZWEgcm93cz1cIjNcIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2JvZHknXS5lcnJvcnMgfVwiPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0ZXh0LWVuZCBtdC0zXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1kZWZhdWx0IG1lLTJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYmFjaygpXCI+XG4gICAgICAgICAgICAgIHt7ICdCdXR0b24uQ2FuY2VsJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIj5cbiAgICAgICAgICAgICAge3sgJ0J1dHRvbi5TdWJtaXQnIHwgdHJhbnNsb2NvIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
22
22
  selector: 'login-notification-tabs'
23
23
  }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9uLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLXRhYnMvbG9naW4tbm90aWZpY2F0aW9uLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU8xQyxNQUFNLE9BQU8sOEJBQThCO0lBSjNDO1FBS0ksVUFBSyxHQUFlO1lBQ2hCO2dCQUNJLEVBQUUsRUFBRSxvQkFBb0I7Z0JBQ3hCLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzthQUNsRDtTQUNKLENBQUM7S0FDTDsrR0FUWSw4QkFBOEI7bUdBQTlCLDhCQUE4QiwrREFIN0IscUNBQXFDOzs0RkFHdEMsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGA8cHctdGFicyBbaXRlbXNdPVwiaXRlbXNcIj48L3B3LXRhYnM+YCxcbiAgICBzZWxlY3RvcjogJ2xvZ2luLW5vdGlmaWNhdGlvbi10YWJzJ1xufSlcbmV4cG9ydCBjbGFzcyBMb2dpbk5vdGlmaWNhdGlvblRhYnNDb21wb25lbnQge1xuICAgIGl0ZW1zOiBNZW51SXRlbVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2xvZ2luLW5vdGlmaWNhdGlvbicsXG4gICAgICAgICAgICBsYWJlbDogJ05vdGlmaWNhdGlvbnMnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZ3IGZhLWJlbGwnLFxuICAgICAgICAgICAgcm91dGVyTGluazogWycvYWRtaW4vbG9naW4tbm90aWZpY2F0aW9ucy9saXN0J11cbiAgICAgICAgfVxuICAgIF07XG59XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tbm90aWZpY2F0aW9uLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hZG1pbi1tb2R1bGUvc3JjL2xpYi9jb21wb25lbnRzL2xvZ2luLW5vdGlmaWNhdGlvbnMvbG9naW4tbm90aWZpY2F0aW9uLXRhYnMvbG9naW4tbm90aWZpY2F0aW9uLXRhYnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVExQyxNQUFNLE9BQU8sOEJBQThCO0lBSjNDO1FBS0ksVUFBSyxHQUFlO1lBQ2hCO2dCQUNJLEVBQUUsRUFBRSxvQkFBb0I7Z0JBQ3hCLEtBQUssRUFBRSxlQUFlO2dCQUN0QixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixVQUFVLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQzthQUNsRDtTQUNKLENBQUM7S0FDTDsrR0FUWSw4QkFBOEI7bUdBQTlCLDhCQUE4QiwrREFIN0IscUNBQXFDOzs0RkFHdEMsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYDxwdy10YWJzIFtpdGVtc109XCJpdGVtc1wiPjwvcHctdGFicz5gLFxuICAgIHNlbGVjdG9yOiAnbG9naW4tbm90aWZpY2F0aW9uLXRhYnMnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luTm90aWZpY2F0aW9uVGFic0NvbXBvbmVudCB7XG4gICAgaXRlbXM6IE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAnbG9naW4tbm90aWZpY2F0aW9uJyxcbiAgICAgICAgICAgIGxhYmVsOiAnTm90aWZpY2F0aW9ucycsXG4gICAgICAgICAgICBpY29uOiAnZmEgZmEtZncgZmEtYmVsbCcsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBbJy9hZG1pbi9sb2dpbi1ub3RpZmljYXRpb25zL2xpc3QnXVxuICAgICAgICB9XG4gICAgXTtcbn1cbiJdfQ==