@tiba-spark/client-shared-lib 25.4.1-159 → 25.4.1-164

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 (209) hide show
  1. package/esm2022/libraries/components/account-frame-message-bar/account-frame-message-bar.component.mjs +3 -3
  2. package/esm2022/libraries/components/base/base.component.mjs +3 -3
  3. package/esm2022/libraries/components/cloud-confirm-dialog/cloud-confirm-dialog.component.mjs +3 -3
  4. package/esm2022/libraries/components/com-status-icon/com-status-icon.component.mjs +3 -3
  5. package/esm2022/libraries/components/common-pages/common-pages.module.mjs +4 -4
  6. package/esm2022/libraries/components/common-pages/error-page/error-page.component.mjs +3 -3
  7. package/esm2022/libraries/components/common-pages/not-supported-browser/not-supported-browser-page.component.mjs +3 -3
  8. package/esm2022/libraries/components/device/device-icon/device-icon.component.mjs +3 -3
  9. package/esm2022/libraries/components/device/device-item/device-item.component.mjs +3 -3
  10. package/esm2022/libraries/components/device/device-status/device-status-base.component.mjs +3 -3
  11. package/esm2022/libraries/components/device/device.module.mjs +4 -4
  12. package/esm2022/libraries/components/dynamic-container/dynamic-container.component.mjs +3 -3
  13. package/esm2022/libraries/components/field-label/field-label.component.mjs +3 -3
  14. package/esm2022/libraries/components/field-validations/field-validations.component.mjs +3 -3
  15. package/esm2022/libraries/components/form-validations/form-validations.component.mjs +3 -3
  16. package/esm2022/libraries/components/global-message-container/global-message-container.component.mjs +3 -3
  17. package/esm2022/libraries/components/icon/icon-column/icon-column.component.mjs +3 -3
  18. package/esm2022/libraries/components/icon/icon.component.mjs +3 -3
  19. package/esm2022/libraries/components/icon/icon.module.mjs +4 -4
  20. package/esm2022/libraries/components/intercom/intercom.component.mjs +3 -3
  21. package/esm2022/libraries/components/logo/logo.component.mjs +3 -3
  22. package/esm2022/libraries/components/message-bar/float-message-bar.service.mjs +3 -3
  23. package/esm2022/libraries/components/message-bar/message-bar-container/message-bar-container.component.mjs +3 -3
  24. package/esm2022/libraries/components/message-bar/message-bar.component.mjs +3 -3
  25. package/esm2022/libraries/components/message-bar/message-bar.module.mjs +4 -4
  26. package/esm2022/libraries/components/message-bar/message-bar.service.mjs +3 -3
  27. package/esm2022/libraries/components/message-bar/static-message-bar.service.mjs +3 -3
  28. package/esm2022/libraries/components/modal-buttons-wrapper/modal-buttons-wrapper.component.mjs +3 -3
  29. package/esm2022/libraries/components/module-menu/module-menu-base.component.mjs +3 -3
  30. package/esm2022/libraries/components/notification/alert-notification/alert-notification.component.mjs +3 -3
  31. package/esm2022/libraries/components/notification/alert-notification/alert-notification.service.mjs +3 -3
  32. package/esm2022/libraries/components/notification/command-notification/command-notification.component.mjs +3 -3
  33. package/esm2022/libraries/components/notification/command-notification/command-notification.service.mjs +3 -3
  34. package/esm2022/libraries/components/notification/notification-close-all-button.component.mjs +3 -3
  35. package/esm2022/libraries/components/notification/notification-event.service.mjs +3 -3
  36. package/esm2022/libraries/components/notification/notification-type-label/notification-type-label.component.mjs +3 -3
  37. package/esm2022/libraries/components/notification/notification.module.mjs +4 -4
  38. package/esm2022/libraries/components/notification/notification.service.mjs +3 -3
  39. package/esm2022/libraries/components/overlay-loading-container/empty-results/empty-results.component.mjs +3 -3
  40. package/esm2022/libraries/components/overlay-loading-container/error-results/error-results.component.mjs +3 -3
  41. package/esm2022/libraries/components/overlay-loading-container/loading-overlay.component.mjs +3 -3
  42. package/esm2022/libraries/components/restart-link/restart-link.component.mjs +3 -3
  43. package/esm2022/libraries/components/restart-link/restart-link.module.mjs +4 -4
  44. package/esm2022/libraries/components/search-value-highlight/search-value-highlight.component.mjs +3 -3
  45. package/esm2022/libraries/components/shared-components.module.mjs +4 -4
  46. package/esm2022/libraries/components/status-icon/status-icon.component.mjs +3 -3
  47. package/esm2022/libraries/components/time-elapsed-counter/time-elapsed-counter.component.mjs +3 -3
  48. package/esm2022/libraries/directives/autofocus.directive.mjs +3 -3
  49. package/esm2022/libraries/directives/container-ref.directive.mjs +3 -3
  50. package/esm2022/libraries/directives/dynamic-ellipsis-tooltip.directive.mjs +3 -3
  51. package/esm2022/libraries/directives/ellipsis-multiline.directive.mjs +3 -3
  52. package/esm2022/libraries/directives/formatted-input.directive.mjs +3 -3
  53. package/esm2022/libraries/directives/is-ellipsis.directive.mjs +3 -3
  54. package/esm2022/libraries/directives/mat-hint-error.directive.mjs +3 -3
  55. package/esm2022/libraries/directives/native-element-injector.directive.mjs +3 -3
  56. package/esm2022/libraries/directives/offscreen.directive.mjs +3 -3
  57. package/esm2022/libraries/directives/shared-directives.module.mjs +4 -4
  58. package/esm2022/libraries/directives/stop-propagation.directive.mjs +3 -3
  59. package/esm2022/libraries/directives/tb-type-number.directive.mjs +3 -3
  60. package/esm2022/libraries/directives/var.directive.mjs +3 -3
  61. package/esm2022/libraries/enums/localization.enum.mjs +2 -1
  62. package/esm2022/libraries/guards/module-guard.mjs +3 -3
  63. package/esm2022/libraries/guards/not-supported-browser-guard.mjs +3 -3
  64. package/esm2022/libraries/guards/sub-module-guard.mjs +3 -3
  65. package/esm2022/libraries/interceptors/http-cancel.interceptor.mjs +3 -3
  66. package/esm2022/libraries/localization/localization.module.mjs +4 -4
  67. package/esm2022/libraries/localization/localization.state.mjs +3 -3
  68. package/esm2022/libraries/modules/administrative-notifications/administrative-notifications.module.mjs +4 -4
  69. package/esm2022/libraries/modules/administrative-notifications/administrative-notifications.state.mjs +3 -3
  70. package/esm2022/libraries/modules/alerts-and-notifications/alerts-and-notifications.module.mjs +4 -4
  71. package/esm2022/libraries/modules/alerts-and-notifications/alerts-and-notifications.service.mjs +3 -3
  72. package/esm2022/libraries/modules/alerts-and-notifications/alerts-and-notifications.state.mjs +3 -3
  73. package/esm2022/libraries/modules/auth/auth-route-guard.mjs +3 -3
  74. package/esm2022/libraries/modules/auth/auth.module.mjs +4 -4
  75. package/esm2022/libraries/modules/auth/refresh-token.state.mjs +3 -3
  76. package/esm2022/libraries/modules/auth/session.state.mjs +5 -5
  77. package/esm2022/libraries/modules/calculator/calculator.module.mjs +4 -4
  78. package/esm2022/libraries/modules/calculator/calculator.state.mjs +3 -3
  79. package/esm2022/libraries/modules/car/car.module.mjs +4 -4
  80. package/esm2022/libraries/modules/car/car.state.mjs +3 -3
  81. package/esm2022/libraries/modules/email-server/email-server.module.mjs +4 -4
  82. package/esm2022/libraries/modules/email-server/email-server.state.mjs +3 -3
  83. package/esm2022/libraries/modules/facility/facility-menu.service.mjs +3 -3
  84. package/esm2022/libraries/modules/facility/facility.module.mjs +4 -4
  85. package/esm2022/libraries/modules/facility/facility.service.mjs +3 -3
  86. package/esm2022/libraries/modules/facility/facility.state.mjs +3 -3
  87. package/esm2022/libraries/modules/guest/guest.module.mjs +4 -4
  88. package/esm2022/libraries/modules/guest/guest.state.mjs +3 -3
  89. package/esm2022/libraries/modules/layout/layout.module.mjs +4 -4
  90. package/esm2022/libraries/modules/layout/layout.state.mjs +3 -3
  91. package/esm2022/libraries/modules/login/login.module.mjs +4 -4
  92. package/esm2022/libraries/modules/login/login.service.mjs +3 -3
  93. package/esm2022/libraries/modules/login/login.state.mjs +3 -3
  94. package/esm2022/libraries/modules/park-activities/park-activities.module.mjs +4 -4
  95. package/esm2022/libraries/modules/park-activities/park-activities.state.mjs +3 -3
  96. package/esm2022/libraries/modules/park-manager/park-manager.module.mjs +4 -4
  97. package/esm2022/libraries/modules/park-manager/park-manager.state.mjs +3 -3
  98. package/esm2022/libraries/modules/parker/parker.service.mjs +3 -3
  99. package/esm2022/libraries/modules/parker/parker.state.mjs +3 -3
  100. package/esm2022/libraries/modules/rate/rate.module.mjs +4 -4
  101. package/esm2022/libraries/modules/rate/rate.state.mjs +3 -3
  102. package/esm2022/libraries/modules/remote-validation/remote-validation.module.mjs +4 -4
  103. package/esm2022/libraries/modules/remote-validation/remote-validation.state.mjs +3 -3
  104. package/esm2022/libraries/modules/security/security.module.mjs +4 -4
  105. package/esm2022/libraries/modules/security/security.state.mjs +3 -3
  106. package/esm2022/libraries/modules/sidenav/sidenav.module.mjs +4 -4
  107. package/esm2022/libraries/modules/sidenav/sidenav.state.mjs +3 -3
  108. package/esm2022/libraries/modules/smartparks/smartpark-dialog.state.mjs +3 -3
  109. package/esm2022/libraries/modules/smartparks/smartpark.module.mjs +4 -4
  110. package/esm2022/libraries/modules/smartparks/smartpark.state.mjs +3 -3
  111. package/esm2022/libraries/modules/tenant-logo/tenant-logo.module.mjs +4 -4
  112. package/esm2022/libraries/modules/tenant-logo/tenant-logo.state.mjs +3 -3
  113. package/esm2022/libraries/modules/user/user.module.mjs +4 -4
  114. package/esm2022/libraries/modules/user/user.state.mjs +3 -3
  115. package/esm2022/libraries/modules/user-settings/user-settings.module.mjs +4 -4
  116. package/esm2022/libraries/modules/user-settings/user-settings.state.mjs +3 -3
  117. package/esm2022/libraries/modules/validation-type/validation-type.module.mjs +4 -4
  118. package/esm2022/libraries/modules/validation-type/validation-type.state.mjs +3 -3
  119. package/esm2022/libraries/modules/zone/zone.module.mjs +4 -4
  120. package/esm2022/libraries/modules/zone/zone.state.mjs +3 -3
  121. package/esm2022/libraries/pipes/c-log-it.pipe.mjs +3 -3
  122. package/esm2022/libraries/pipes/cent-to-coin.pipe.mjs +3 -3
  123. package/esm2022/libraries/pipes/curly-to-bold.pipe.mjs +3 -3
  124. package/esm2022/libraries/pipes/decimal-to-amount.pipe.mjs +3 -3
  125. package/esm2022/libraries/pipes/decimal-to-currency.pipe.mjs +3 -3
  126. package/esm2022/libraries/pipes/device-pipes/device-filter-by-zone.pipe.mjs +3 -3
  127. package/esm2022/libraries/pipes/device-pipes/device-filter.pipe.mjs +3 -3
  128. package/esm2022/libraries/pipes/device-pipes/device-pipe.module.mjs +4 -4
  129. package/esm2022/libraries/pipes/device-pipes/device-sort.pipe.mjs +3 -3
  130. package/esm2022/libraries/pipes/enums-to-array.pipe.mjs +3 -3
  131. package/esm2022/libraries/pipes/filter-keys.pipe.mjs +3 -3
  132. package/esm2022/libraries/pipes/filter-numbers.pipe.mjs +3 -3
  133. package/esm2022/libraries/pipes/filter.pipe.mjs +3 -3
  134. package/esm2022/libraries/pipes/format.pipe.mjs +3 -3
  135. package/esm2022/libraries/pipes/group-permission.pipe.mjs +3 -3
  136. package/esm2022/libraries/pipes/humanize.pipe.mjs +3 -3
  137. package/esm2022/libraries/pipes/order-by.pipe.mjs +3 -3
  138. package/esm2022/libraries/pipes/orphan-facilities.pipe.mjs +3 -3
  139. package/esm2022/libraries/pipes/shared-pipes.module.mjs +4 -4
  140. package/esm2022/libraries/pipes/smartpark-time.pipe.mjs +3 -3
  141. package/esm2022/libraries/pipes/sort.pipe.mjs +3 -3
  142. package/esm2022/libraries/pipes/special-day.pipe.mjs +3 -3
  143. package/esm2022/libraries/pipes/string-it.pipe.mjs +3 -3
  144. package/esm2022/libraries/pipes/substr-highlight.pipe.mjs +9 -9
  145. package/esm2022/libraries/pipes/time-ago.pipe.mjs +3 -3
  146. package/esm2022/libraries/pipes/time-elapsed.pipe.mjs +3 -3
  147. package/esm2022/libraries/pipes/time-range.pipe.mjs +3 -3
  148. package/esm2022/libraries/pipes/translate-local.pipe.mjs +3 -3
  149. package/esm2022/libraries/pipes/tree-filter-keys.pipe.mjs +3 -3
  150. package/esm2022/libraries/pipes/wrap-fn.pipe.mjs +3 -3
  151. package/esm2022/libraries/pipes/zerofy-negative.pipe.mjs +3 -3
  152. package/esm2022/libraries/resolvers/command-center-module.resolver.mjs +3 -3
  153. package/esm2022/libraries/resolvers/config.resolver.mjs +3 -3
  154. package/esm2022/libraries/resolvers/error-page.resolver.mjs +3 -3
  155. package/esm2022/libraries/resolvers/localization.resolver.mjs +3 -3
  156. package/esm2022/libraries/resolvers/realtime.resolver.mjs +3 -3
  157. package/esm2022/libraries/service-proxy/cloud-service-proxies.mjs +78 -78
  158. package/esm2022/libraries/service-proxy/edge-service-proxies.mjs +6 -6
  159. package/esm2022/libraries/service-proxy/identity-service-proxies.mjs +30 -30
  160. package/esm2022/libraries/service-proxy/rpc-service-proxies.mjs +111 -111
  161. package/esm2022/libraries/service-proxy/service-proxy.module.mjs +4 -4
  162. package/esm2022/libraries/services/analytics.service.mjs +3 -3
  163. package/esm2022/libraries/services/app-module.service.mjs +3 -3
  164. package/esm2022/libraries/services/app-settings.service.mjs +3 -3
  165. package/esm2022/libraries/services/auth-token.service.mjs +3 -3
  166. package/esm2022/libraries/services/base-device.service.mjs +3 -3
  167. package/esm2022/libraries/services/can-deactivate.service.mjs +3 -3
  168. package/esm2022/libraries/services/company.service.mjs +3 -3
  169. package/esm2022/libraries/services/date.service.mjs +3 -3
  170. package/esm2022/libraries/services/detect-browser.service.mjs +3 -3
  171. package/esm2022/libraries/services/device-remote-commands.service.mjs +3 -3
  172. package/esm2022/libraries/services/export-file.service.mjs +3 -3
  173. package/esm2022/libraries/services/facility-commands-config.service.mjs +3 -3
  174. package/esm2022/libraries/services/facility-commands.service.mjs +3 -3
  175. package/esm2022/libraries/services/factories/msl-auth-service.mjs +3 -3
  176. package/esm2022/libraries/services/factories/openid-auth-init-service.mjs +3 -3
  177. package/esm2022/libraries/services/file-sanitizer.service.mjs +3 -3
  178. package/esm2022/libraries/services/file.service.mjs +3 -3
  179. package/esm2022/libraries/services/general-action.service.mjs +3 -3
  180. package/esm2022/libraries/services/global-error.service.mjs +3 -3
  181. package/esm2022/libraries/services/http-cancel.service.mjs +3 -3
  182. package/esm2022/libraries/services/internet-connection.service.mjs +3 -3
  183. package/esm2022/libraries/services/local-storage.service.mjs +3 -3
  184. package/esm2022/libraries/services/menu.service.mjs +3 -3
  185. package/esm2022/libraries/services/modal.service.mjs +3 -3
  186. package/esm2022/libraries/services/openid-auth.service.mjs +3 -3
  187. package/esm2022/libraries/services/park-time.service.mjs +3 -3
  188. package/esm2022/libraries/services/park.service.mjs +3 -3
  189. package/esm2022/libraries/services/password-strength.service.mjs +3 -3
  190. package/esm2022/libraries/services/permission-cache.service.mjs +3 -3
  191. package/esm2022/libraries/services/permission-config.service.mjs +3 -3
  192. package/esm2022/libraries/services/permissions.service.mjs +3 -3
  193. package/esm2022/libraries/services/realtime-event.service.mjs +3 -3
  194. package/esm2022/libraries/services/refresh-token.service.mjs +3 -3
  195. package/esm2022/libraries/services/remote-command.service.mjs +3 -3
  196. package/esm2022/libraries/services/revenue.service.mjs +3 -3
  197. package/esm2022/libraries/services/route.service.mjs +3 -3
  198. package/esm2022/libraries/services/session-storage.service.mjs +3 -3
  199. package/esm2022/libraries/services/smartpark.service.mjs +3 -3
  200. package/esm2022/libraries/services/tenant.service.mjs +3 -3
  201. package/esm2022/libraries/services/ticket.service.mjs +3 -3
  202. package/esm2022/libraries/services/validation.service.mjs +3 -3
  203. package/esm2022/libraries/shared.module.mjs +4 -4
  204. package/esm2022/libraries/utils/ngxs/action-status.service.mjs +3 -3
  205. package/fesm2022/tiba-spark-client-shared-lib.mjs +865 -864
  206. package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
  207. package/libraries/enums/localization.enum.d.ts +1 -0
  208. package/libraries/enums/localization.enum.d.ts.map +1 -1
  209. package/package.json +1 -1
@@ -162,10 +162,10 @@ export class BaseFacilityCommandsService {
162
162
  this.signalR.subscribeForNotifications(notificationSubscriptionDto);
163
163
  });
164
164
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFacilityCommandsService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFacilityCommandsService }); }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFacilityCommandsService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFacilityCommandsService }); }
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseFacilityCommandsService, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFacilityCommandsService, decorators: [{
169
169
  type: Injectable
170
170
  }], ctorParameters: () => [{ type: i0.Injector }] });
171
171
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjaWxpdHktY29tbWFuZHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvZmFjaWxpdHktY29tbWFuZHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFnQyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQTZCLDhCQUE4QixFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDeEosT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDMUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0ksT0FBTyxFQUVMLHFCQUFxQixFQUFFLHlCQUF5QixFQUNqRCxNQUFNLHNDQUFzQyxDQUFD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QUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUM7WUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQztnQkFDN0MsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLHlCQUF5QixDQUFDLElBQVksRUFBRSxPQUFpQixFQUFFLHFCQUE0QyxFQUFFLFdBQW9CO1FBQ25JLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDdkcsMkJBQTJCLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO1FBQ3pELDJCQUEyQixDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFdEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQiwyQkFBMkIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxNQUFNLEVBQzNHLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBN01tQiwyQkFBMkI7bUhBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9wZXJhdG9yRnVuY3Rpb24sIGZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29tbWFuZE5vdGlmaWNhdGlvbkNvbmZpZywgQ29tbWFuZE5vdGlmaWNhdGlvbkRpc3BsYXlDYXNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24tY29uZmlnJztcbmltcG9ydCB7IENvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24vY29tbWFuZC1ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBEWU5BTUlDX1BSSUNJTkdfQ09ORElUSU9OIH0gZnJvbSAnLi4vY29uc3RhbnRzL2tleXMtY29uc3RhbnRzJztcbmltcG9ydCB7IEZhY2lsaXR5UmVtb3RlQ29tbWFuZHNMb2NhbGl6YXRpb25LZXkgfSBmcm9tICcuLi9lbnVtcy9mYWNpbGl0eS1yZW1vdGUtY29tbWFuZHMuZW51bSc7XG5pbXBvcnQgeyBVc2VySW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC91c2VyLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IEZhY2lsaXR5U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL2ZhY2lsaXR5L2ZhY2lsaXR5LnN0YXRlJztcbmltcG9ydCB7IFJwYyB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHknO1xuaW1wb3J0IHsgRHluYW1pY1ByaWNpbmdDb25kaXRpb25EdG8sIER5bmFtaWNQcmljaW5nQ291bnRlclR5cGUsIEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHtcbiAgRmFjaWxpdHlDb21tYW5kUmVwbHlIdHRwUmVzcG9uc2VEYXRhLCBGYWNpbGl0eUR0bywgRmFjaWxpdHlSZW1vdGVDb21tYW5kQmFzZSxcbiAgTm90aWZpY2F0aW9uRXZlbnRUeXBlLCBTcGVjaWFsRGF5UnBjU2VydmljZVByb3h5XG59IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvcnBjLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBOdW1iZXJNYXAgfSBmcm9tICcuLi91dGlscy9sYW5nLnV0aWwnO1xuaW1wb3J0IHsgQmFzZUZhY2lsaXR5Q29tbWFuZHNDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9mYWNpbGl0eS1jb21tYW5kcy1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsUiB9IGZyb20gJy4vc2lnbmFsci5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWNpbGl0eUNvbW1hbmREYXRhRHRvIHtcbiAgZmNtZFR5cGU6IEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzO1xuICBmY21kRHRvOiBGYWNpbGl0eVJlbW90ZUNvbW1hbmRCYXNlO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZhY2lsaXR5Q29tbWFuZHNTZXJ2aWNlIHtcblxuICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlO1xuICBwcm90ZWN0ZWQgc2lnbmFsUjogU2lnbmFsUjtcbiAgcHJvdGVjdGVkIG5vdGlmaWNhdGlvbkV2ZW50U2VydmljZTogTm90aWZpY2F0aW9uRXZlbnRTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgcmVtb3RlQ29tbWFuZFJwY1NlcnZpY2VQcm94eTogUnBjLlJlbW90ZUNvbW1hbmRScGNTZXJ2aWNlUHJveHk7XG4gIHByb3RlY3RlZCBzcGVjaWFsRGF5UnBjU2VydmljZVByb3h5OiBTcGVjaWFsRGF5UnBjU2VydmljZVByb3h5O1xuICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZTtcbiAgcHJpdmF0ZSBjb21tYW5kTm90aWZpY2F0aW9uU2VydmljZTogQ29tbWFuZE5vdGlmaWNhdGlvblNlcnZpY2U7XG4gIHByaXZhdGUgbG9jYWxTdG9yYWdlU2VydmljZTogTG9jYWxTdG9yYWdlU2VydmljZTtcbiAgcHJpdmF0ZSBmYWNpbGl0eUNvbW1hbmRzQ29uZmlnU2VydmljZTogQmFzZUZhY2lsaXR5Q29tbWFuZHNDb25maWdTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc3RvcmUgPSBpbmplY3Rvci5nZXQoU3RvcmUpO1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZSA9IGluamVjdG9yLmdldChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLnNpZ25hbFIgPSBpbmplY3Rvci5nZXQoU2lnbmFsUik7XG4gICAgdGhpcy5ub3RpZmljYXRpb25FdmVudFNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uRXZlbnRTZXJ2aWNlKTtcbiAgICB0aGlzLmNvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KENvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlKTtcbiAgICB0aGlzLnJlbW90ZUNvbW1hbmRScGNTZXJ2aWNlUHJveHkgPSBpbmplY3Rvci5nZXQoUnBjLlJlbW90ZUNvbW1hbmRScGNTZXJ2aWNlUHJveHkpO1xuICAgIHRoaXMuc3BlY2lhbERheVJwY1NlcnZpY2VQcm94eSA9IGluamVjdG9yLmdldChTcGVjaWFsRGF5UnBjU2VydmljZVByb3h5KTtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoTG9jYWxTdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5mYWNpbGl0eUNvbW1hbmRzQ29uZmlnU2VydmljZSA9IGluamVjdG9yLmdldChCYXNlRmFjaWxpdHlDb21tYW5kc0NvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgc2VuZENvbW1hbmQoY29tbWFuZFR5cGU6IEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzLCBvcHRpb25zOiBhbnkgPSB7fSkge1xuICAgIGNvbnN0IHJlc29sdmVkU2VsZWN0ZWRGYWNpbGl0eSA9IHRoaXMucmVzb2x2ZVNlbGVjdGVkRmFjaWxpdHkoY29tbWFuZFR5cGUpO1xuXG4gICAgLy8gSW4gRmFjaWxpdHkgQ29tbWFuZCB3ZSBkb24ndCBkaXNwbGF5IGEgbm90aWZpY2F0aW9uIGluIFN1Y2Nlc3Mgb25seSBpbiBFcnJvclxuICAgIC8vIFRoaXMgaXMgYmVjdWFzZSB0aGUgc3VjY2VzcyBjb21lcyB0aHJvdWdoIFJlYWxUaW1lIE5vdGlmaWNhdGlvblxuICAgIGNvbnN0IG9wZXJhdGlvblR5cGVLZXkgPSBGYWNpbGl0eVJlbW90ZUNvbW1hbmRzTG9jYWxpemF0aW9uS2V5W0ZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzW2NvbW1hbmRUeXBlXV07XG4gICAgY29uc3QgY29uZmlnOiBDb21tYW5kTm90aWZpY2F0aW9uQ29uZmlnID0ge1xuICAgICAgbWVzc2FnZXM6IHRoaXMuZmFjaWxpdHlDb21tYW5kc0NvbmZpZ1NlcnZpY2UuZ2V0Q29tbWFuZE5vdGlmaWNhdGlvbkNvbmZpZ01lc3NhZ2VzKGNvbW1hbmRUeXBlLCByZXNvbHZlZFNlbGVjdGVkRmFjaWxpdHksIG9wdGlvbnMpLFxuICAgICAgZGlzcGxheUNhc2VUeXBlOiBDb21tYW5kTm90aWZpY2F0aW9uRGlzcGxheUNhc2UuRXJyb3IsXG4gICAgICBjb21tYW5kOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChvcGVyYXRpb25UeXBlS2V5KVxuICAgIH07XG5cbiAgICBjb25zdCBmY21kRGF0YUR0byQgPSB0aGlzLmdldEZhY2lsaXR5UmVtb3RlQ29tbWFuZERhdGEoY29tbWFuZFR5cGUsIHJlc29sdmVkU2VsZWN0ZWRGYWNpbGl0eSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIGZjbWREYXRhRHRvJC5waXBlKHRoaXMucHJvY2Vzc0Jhc2VQYXlsb2FkRGF0YSgpLCBzd2l0Y2hNYXAocGF5bG9hZERhdGEgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRmFjaWxpdHlSZW1vdGVDb21tYW5kRXhlY3V0ZShwYXlsb2FkRGF0YSwgb3B0aW9ucyk7XG4gICAgfSkpLnBpcGUodGhpcy5jb21tYW5kTm90aWZpY2F0aW9uU2VydmljZS5kaXNwbGF5KGNvbmZpZykpO1xuICB9XG5cbiAgc2VuZENvbW1hbmRXaXRoUGF5bG9hZChcbiAgICBjb21tYW5kVHlwZTogRmFjaWxpdHlSZW1vdGVDb21tYW5kVHlwZXMsXG4gICAgcGF5bG9hZDogRmFjaWxpdHlSZW1vdGVDb21tYW5kQmFzZSxcbiAgICBvcHRpb25zOiBhbnkgPSB7fSxcbiAgICBzdWJzY3JpYmVSZWFsdGltZTogYm9vbGVhbiA9IHRydWUsXG4gICkge1xuXG4gICAgLy8gVXNlIHRoZSBzYW1lIGZhY2lsaXR5IHJlc29sdXRpb24gYW5kIG5vdGlmaWNhdGlvbiBjb25maWcgYXMgc2VuZENvbW1hbmRcbiAgICBjb25zdCByZXNvbHZlZFNlbGVjdGVkRmFjaWxpdHkgPSB0aGlzLnJlc29sdmVTZWxlY3RlZEZhY2lsaXR5KGNvbW1hbmRUeXBlKTtcbiAgICBjb25zdCBvcGVyYXRpb25UeXBlS2V5ID1cbiAgICAgIEZhY2lsaXR5UmVtb3RlQ29tbWFuZHNMb2NhbGl6YXRpb25LZXlbRmFjaWxpdHlSZW1vdGVDb21tYW5kVHlwZXNbY29tbWFuZFR5cGVdXTtcblxuICAgIGNvbnN0IGNvbmZpZzogQ29tbWFuZE5vdGlmaWNhdGlvbkNvbmZpZyA9IHtcbiAgICAgIG1lc3NhZ2VzOiB0aGlzLmZhY2lsaXR5Q29tbWFuZHNDb25maWdTZXJ2aWNlLmdldENvbW1hbmROb3RpZmljYXRpb25Db25maWdNZXNzYWdlcyhcbiAgICAgICAgY29tbWFuZFR5cGUsXG4gICAgICAgIHJlc29sdmVkU2VsZWN0ZWRGYWNpbGl0eSxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKSxcbiAgICAgIGRpc3BsYXlDYXNlVHlwZTogQ29tbWFuZE5vdGlmaWNhdGlvbkRpc3BsYXlDYXNlLkVycm9yLFxuICAgICAgY29tbWFuZDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQob3BlcmF0aW9uVHlwZUtleSksXG4gICAgfTtcblxuICAgIHBheWxvYWQudHlwZSA9IGNvbW1hbmRUeXBlO1xuXG4gICAgLy8gLS0tIFN1YnNjcmliZSB0byBSVCBiZWZvcmUgc2VuZGluZyAob3B0aW9uYWwpIC0tLVxuICAgIGlmIChzdWJzY3JpYmVSZWFsdGltZSkge1xuICAgICAgY29uc3QgZ3VpZCA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5ndWlkKTtcbiAgICAgIGNvbnN0IHBhcmtJZHNOdW1zID0gU3RyaW5nKHBheWxvYWQucGFya0lkcylcbiAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgLm1hcChzID0+IE51bWJlcihzLnRyaW0oKSkpXG4gICAgICAgIC5maWx0ZXIobiA9PiAhTnVtYmVyLmlzTmFOKG4pKTtcbiAgICAgIGlmIChwYXJrSWRzTnVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVOb3RpZmNhdGlvbkV2ZW50KGd1aWQsIHBhcmtJZHNOdW1zLCBOb3RpZmljYXRpb25FdmVudFR5cGUuRmFjaWxpdHlSZW1vdGVDb21tYW5kRXhlY3V0ZWQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmY21kRGF0YUR0byQgPSBmcm9tKFtcbiAgICAgIHtcbiAgICAgICAgZmNtZFR5cGU6IGNvbW1hbmRUeXBlLFxuICAgICAgICBmY21kRHRvOiBwYXlsb2FkLFxuICAgICAgfSBhcyBGYWNpbGl0eUNvbW1hbmREYXRhRHRvLFxuICAgIF0pO1xuXG4gICAgcmV0dXJuIGZjbWREYXRhRHRvJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRoaXMucHJvY2Vzc0Jhc2VQYXlsb2FkRGF0YSgpLFxuICAgICAgICBzd2l0Y2hNYXAoKHByZXBhcmVkUGF5bG9hZCkgPT5cbiAgICAgICAgICB0aGlzLmhhbmRsZUZhY2lsaXR5UmVtb3RlQ29tbWFuZEV4ZWN1dGUocHJlcGFyZWRQYXlsb2FkLCBvcHRpb25zKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAucGlwZSh0aGlzLmNvbW1hbmROb3RpZmljYXRpb25TZXJ2aWNlLmRpc3BsYXkoY29uZmlnKSk7XG4gIH1cblxuICBhYnN0cmFjdCBnZXRGYWNpbGl0eVJlbW90ZUNvbW1hbmREYXRhKGNvbW1hbmRUeXBlOiBGYWNpbGl0eVJlbW90ZUNvbW1hbmRUeXBlcywgZmFjaWxpdHk6IEZhY2lsaXR5RHRvLCBvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPEZhY2lsaXR5Q29tbWFuZERhdGFEdG8+O1xuXG4gIHByaXZhdGUgcmVzb2x2ZVNlbGVjdGVkRmFjaWxpdHkoY29tbWFuZFR5cGU6IEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzKTogRmFjaWxpdHlEdG8ge1xuICAgIGxldCByZXNvbHZlZFNlbGVjdGVkRmFjaWxpdHkgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuc2VsZWN0ZWQpO1xuXG4gICAgc3dpdGNoIChjb21tYW5kVHlwZSkge1xuICAgICAgY2FzZSBGYWNpbGl0eVJlbW90ZUNvbW1hbmRUeXBlcy5VcGRhdGVNQ0RhdGVUaW1lOlxuICAgICAgY2FzZSBGYWNpbGl0eVJlbW90ZUNvbW1hbmRUeXBlcy5SdW5NYWNybzpcbiAgICAgICAgaWYgKHJlc29sdmVkU2VsZWN0ZWRGYWNpbGl0eS5tdWx0aVBhcmtQYXJlbnRJRCA+IDApIHtcbiAgICAgICAgICByZXNvbHZlZFNlbGVjdGVkRmFjaWxpdHkgPSB0aGlzLmdldFBhcmVudEZhY2lsaXR5QnlGYWNpbGl0eShyZXNvbHZlZFNlbGVjdGVkRmFjaWxpdHkpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmVkU2VsZWN0ZWRGYWNpbGl0eTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGFyZW50RmFjaWxpdHlCeUZhY2lsaXR5KGZhY2lsaXR5OiBGYWNpbGl0eUR0byk6IEZhY2lsaXR5RHRvIHtcbiAgICBjb25zdCBndWlkID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgIGNvbnN0IGZhY2lsaXR5RGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5mYWNpbGl0eURpY3Rpb25hcnkpO1xuXG4gICAgcmV0dXJuIGZhY2lsaXR5RGljdGlvbmFyeVtndWlkXVtmYWNpbGl0eS5tdWx0aVBhcmtQYXJlbnRJRF07XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NCYXNlUGF5bG9hZERhdGEoKTogT3BlcmF0b3JGdW5jdGlvbjxGYWNpbGl0eUNvbW1hbmREYXRhRHRvLCBGYWNpbGl0eVJlbW90ZUNvbW1hbmRCYXNlPiB7XG4gICAgY29uc3QgdXNlckluZm86IFVzZXJJbmZvID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pO1xuXG4gICAgcmV0dXJuICRpbnB1dCA9PiAkaW5wdXQucGlwZShcbiAgICAgIG1hcCgoZmFjaWxpdHlSZW1vdGVDb21tYW5kOiBGYWNpbGl0eUNvbW1hbmREYXRhRHRvKSA9PiB7XG4gICAgICAgIGlmIChmYWNpbGl0eVJlbW90ZUNvbW1hbmQpIHtcbiAgICAgICAgICBmYWNpbGl0eVJlbW90ZUNvbW1hbmQuZmNtZER0by51c2VySWQgPSB1c2VySW5mby51c2VySWQ7XG4gICAgICAgICAgZmFjaWxpdHlSZW1vdGVDb21tYW5kLmZjbWREdG8uc291cmNlSWRlbnRpZmllciA9IHVzZXJJbmZvLnVzZXJJZD8udG9TdHJpbmcoKTtcbiAgICAgICAgICBmYWNpbGl0eVJlbW90ZUNvbW1hbmQuZmNtZER0by50eXBlID0gZmFjaWxpdHlSZW1vdGVDb21tYW5kLmZjbWRUeXBlO1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUVtcHR5UHJvcGVydGllcyhmYWNpbGl0eVJlbW90ZUNvbW1hbmQuZmNtZER0byk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVGYWNpbGl0eVJlbW90ZUNvbW1hbmRFeGVjdXRlKHBheWxvYWREYXRhOiBGYWNpbGl0eVJlbW90ZUNvbW1hbmRCYXNlLCBvcHRpb25zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghcGF5bG9hZERhdGEpIHtcbiAgICAgIHJldHVybiBmcm9tKFtdKTtcbiAgICB9XG5cbiAgICBjb25zdCBndWlkID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmd1aWQpO1xuICAgIGNvbnN0IHBhcmtJZHM6IGFueVtdID0gcGF5bG9hZERhdGEucGFya0lkcy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpO1xuXG4gICAgc3dpdGNoIChwYXlsb2FkRGF0YS50eXBlKSB7XG4gICAgICBjYXNlIEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzLlRyYW5zbWl0U3BlY2lhbERheXM6XG4gICAgICAgIC8vIFRPRE86IE1vdmUgc3Vic2NyaXB0aW9uIHRvIGJlIGJlZm9yZSB0aGUgc3dpdGNoIGNhc2Ugd2hlbiB3ZSB3aWxsIHN1YnNjcmliZSB0byBhbGwgZXZlbnQgb24gZGVtYW5kXG4gICAgICAgIC8vIFNlZTogU1BSSzMtNjcwNFxuICAgICAgICB0aGlzLnN1YnNjcmliZU5vdGlmY2F0aW9uRXZlbnQoZ3VpZCwgcGFya0lkcywgTm90aWZpY2F0aW9uRXZlbnRUeXBlLkZhY2lsaXR5UmVtb3RlQ29tbWFuZEV4ZWN1dGVkLCBmYWxzZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3RlQ29tbWFuZFJwY1NlcnZpY2VQcm94eS5zZW5kRmFjaWxpdHlSZW1vdGVDb21tYW5kKGd1aWQsIDAsIHBheWxvYWREYXRhWydwYXNzd29yZCddLCBwYXlsb2FkRGF0YSkucGlwZShtYXAocmVzID0+IHtcbiAgICAgICAgICByZXR1cm4geyBwYXlsb2FkRGF0YSwgcmVzcG9uc2U6IHJlcyB9O1xuICAgICAgICB9KSk7XG4gICAgICBjYXNlIEZhY2lsaXR5UmVtb3RlQ29tbWFuZFR5cGVzLlNldEFjdGl2ZVJhdGU6XG4gICAgICAgIGlmIChvcHRpb25zIGluc3RhbmNlb2YgRHluYW1pY1ByaWNpbmdDb25kaXRpb25EdG8pIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVEeW5hbWljUHJpY2luZ0NvbmRpdGlvbihvcHRpb25zLCBwYXlsb2FkRGF0YSwgcGFya0lkc1swXSwgb3B0aW9ucy5ndWlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZW1vdGVDb21tYW5kUnBjU2VydmljZVByb3h5LnNlbmRGYWNpbGl0eVJlbW90ZUNvbW1hbmQoZ3VpZCwgMCwgcGF5bG9hZERhdGFbJ3Bhc3N3b3JkJ10sIHBheWxvYWREYXRhKS5waXBlKG1hcChyZXMgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHsgcGF5bG9hZERhdGEsIHJlc3BvbnNlOiByZXMgfTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW90ZUNvbW1hbmRScGNTZXJ2aWNlUHJveHkuc2VuZEZhY2lsaXR5UmVtb3RlQ29tbWFuZChndWlkLCAwLCBwYXlsb2FkRGF0YVsncGFzc3dvcmQnXSwgcGF5bG9hZERhdGEpLnBpcGUobWFwKHJlcyA9PiB7XG4gICAgICAgICAgcmV0dXJuIHsgcGF5bG9hZERhdGEsIHJlc3BvbnNlOiByZXMgfTtcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRHluYW1pY1ByaWNpbmdDb25kaXRpb24oZHluYW1pY1ByaWNpbmdDb25kaXRpb246IER5bmFtaWNQcmljaW5nQ29uZGl0aW9uRHRvLCBwYXlsb2FkRGF0YTogRmFjaWxpdHlSZW1vdGVDb21tYW5kQmFzZSxcbiAgICBwYXJrSWQ6IG51bWJlciwgZ3VpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IHBheWxvYWREYXRhOiBGYWNpbGl0eVJlbW90ZUNvbW1hbmRCYXNlOyByZXNwb25zZTogRmFjaWxpdHlDb21tYW5kUmVwbHlIdHRwUmVzcG9uc2VEYXRhOyB9PiB7XG4gICAgY29uc3Qgem9uZUlkID0gZHluYW1pY1ByaWNpbmdDb25kaXRpb24uY291bnRlclR5cGUgPT09IER5bmFtaWNQcmljaW5nQ291bnRlclR5cGUuUGFya2luZ0xvdCA/IG51bGwgOiBkeW5hbWljUHJpY2luZ0NvbmRpdGlvbi56b25lPy5pZDtcblxuICAgIGNvbnN0IGR5bmFtaWNQcmljaW5nQ29uZGl0aW9uc01hcDogTnVtYmVyTWFwPER5bmFtaWNQcmljaW5nQ29uZGl0aW9uRHRvPiA9IEpTT04ucGFyc2UodGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oRFlOQU1JQ19QUklDSU5HX0NPTkRJVElPTikpID8/IHt9O1xuXG4gICAgZHluYW1pY1ByaWNpbmdDb25kaXRpb25zTWFwW2R5bmFtaWNQcmljaW5nQ29uZGl0aW9uLmlkXSA9IGR5bmFtaWNQcmljaW5nQ29uZGl0aW9uO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlU2VydmljZS5zZXRJdGVtKERZTkFNSUNfUFJJQ0lOR19DT05ESVRJT04sIEpTT04uc3RyaW5naWZ5KGR5bmFtaWNQcmljaW5nQ29uZGl0aW9uc01hcCkpO1xuXG4gICAgcGF5bG9hZERhdGEuc291cmNlSWRlbnRpZmllciA9IGR5bmFtaWNQcmljaW5nQ29uZGl0aW9uLmlkLnRvU3RyaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy5yZW1vdGVDb21tYW5kUnBjU2VydmljZVByb3h5LnNlbmREeW5hbWljUHJpY2luZ0ZhY2lsaXR5UmVtb3RlQ29tbWFuZChndWlkLCBwYXJrSWQsIHBheWxvYWREYXRhWydwYXNzd29yZCddLFxuICAgICAgZHluYW1pY1ByaWNpbmdDb25kaXRpb24uaWQsIHpvbmVJZCwgcGF5bG9hZERhdGEpLnBpcGUobWFwKHJlcyA9PiB7XG4gICAgICAgIHJldHVybiB7IHBheWxvYWREYXRhLCByZXNwb25zZTogcmVzIH07XG4gICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUVtcHR5UHJvcGVydGllcyhvYmo6IGFueSk6IGFueSB7XG4gICAgT2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXkpID0+XG4gICAgKChvYmpba2V5XSAmJiB0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnKSAmJlxuICAgICAgdGhpcy5yZW1vdmVFbXB0eVByb3BlcnRpZXMob2JqW2tleV0pIHx8XG4gICAgICAob2JqW2tleV0gPT09IHVuZGVmaW5lZCB8fCBvYmpba2V5XSA9PT0gbnVsbCkgJiZcbiAgICAgIGRlbGV0ZSBvYmpba2V5XSkpO1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU5vdGlmY2F0aW9uRXZlbnQoZ3VpZDogc3RyaW5nLCBwYXJrSWRzOiBudW1iZXJbXSwgbm90aWZpY2F0aW9uRXZlbnRUeXBlOiBOb3RpZmljYXRpb25FdmVudFR5cGUsIHVuc3Vic2NyaWJlOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uRHRvID0gdGhpcy5ub3RpZmljYXRpb25FdmVudFNlcnZpY2UuZ2V0Tm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uc0VudGl0eSgpO1xuICAgIG5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbkR0by50eXBlID0gbm90aWZpY2F0aW9uRXZlbnRUeXBlO1xuICAgIG5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbkR0by51bnN1YnNjcmliZSA9IHVuc3Vic2NyaWJlO1xuXG4gICAgcGFya0lkcy5tYXAocGFya0lkID0+IHtcbiAgICAgIG5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbkR0by5pZGVudGlmaWVyID0gdGhpcy5ub3RpZmljYXRpb25FdmVudFNlcnZpY2UuZ2V0Tm90aWZpY2F0aW9uSWRlbnRpZmllcihndWlkLCBwYXJrSWQsXG4gICAgICAgIG5vdGlmaWNhdGlvbkV2ZW50VHlwZSwgbm90aWZpY2F0aW9uU3Vic2NyaXB0aW9uRHRvLnVzZXJJZCk7XG4gICAgICB0aGlzLnNpZ25hbFIuc3Vic2NyaWJlRm9yTm90aWZpY2F0aW9ucyhub3RpZmljYXRpb25TdWJzY3JpcHRpb25EdG8pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4dHJhY3RGYWNpbGl0aWVzSWRzID0gKGZhY2lsaXRpZXM6IEZhY2lsaXR5RHRvW10pID0+IGZhY2lsaXRpZXMubWFwKChmYWNpbGl0eSkgPT4gZmFjaWxpdHkuaWQpLmpvaW4oJywnKTtcbn1cbiJdfQ==
@@ -61,10 +61,10 @@ export class MSLAuthService {
61
61
  },
62
62
  });
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, deps: [{ token: i1.Store }, { token: i2.MsalService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MSLAuthService, deps: [{ token: i1.Store }, { token: i2.MsalService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
65
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MSLAuthService }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MSLAuthService, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MSLAuthService, decorators: [{
68
68
  type: Injectable
69
69
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.MsalService }, { type: i3.AppConfigService }] });
70
70
  function loggerCallback(logLevel, message) {
@@ -32,10 +32,10 @@ export class OpenIdAuthInitializeService {
32
32
  isSingleSignOnEnabledWithOpenIdProvider(tenant) {
33
33
  return tenant.props?.sso?.enabled && tenant.props.sso?.configurations;
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthInitializeService, deps: [{ token: i1.Store }, { token: i2.OpenIdAuthService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthInitializeService }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthInitializeService, deps: [{ token: i1.Store }, { token: i2.OpenIdAuthService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthInitializeService }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthInitializeService, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthInitializeService, decorators: [{
39
39
  type: Injectable
40
40
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.OpenIdAuthService }, { type: i3.AppConfigService }] });
41
41
  export function initializeOpenId(openIdAuthService) {
@@ -58,10 +58,10 @@ export class FileSanitizerService {
58
58
  // Wrap the value in double quotes
59
59
  return `"${this.sanitizeExcel(value)}"`;
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileSanitizerService, providedIn: 'root' }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileSanitizerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileSanitizerService, providedIn: 'root' }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileSanitizerService, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileSanitizerService, decorators: [{
65
65
  type: Injectable,
66
66
  args: [{ providedIn: 'root' }]
67
67
  }], ctorParameters: () => [] });
@@ -17,10 +17,10 @@ export class FileService {
17
17
  }
18
18
  return res.success;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileService, deps: [{ token: i1.MessageBarService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileService }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileService, deps: [{ token: i1.MessageBarService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileService }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileService, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FileService, decorators: [{
24
24
  type: Injectable
25
25
  }], ctorParameters: () => [{ type: i1.MessageBarService }, { type: i2.TranslateService }] });
26
26
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBc0IsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUd0RSxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUFvQixpQkFBb0MsRUFBVSxnQkFBa0M7UUFBaEYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFDcEcsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFrQixFQUFFLE1BQTBCLEVBQUUsUUFBZ0I7UUFDM0UsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZKLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7SUFDckIsQ0FBQzsrR0FiVSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVzc2FnZS1iYXIvbWVzc2FnZS1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb24gfSBmcm9tICcuLi9lbnVtcy9sb2NhbGl6YXRpb24uZW51bSc7XG5pbXBvcnQgeyBGaWxlUmVzcG9uc2UgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBkb3dubG9hZEZpbGUsIEZpbGVHZW5lcmF0ZU1ldGhvZCB9IGZyb20gJy4uL3V0aWxzL2ZpbGUudXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWxlU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtZXNzYWdlQmFyU2VydmljZTogTWVzc2FnZUJhclNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICB9XG5cbiAgZG93bmxvYWRGaWxlKGZpbGU6IEZpbGVSZXNwb25zZSwgbWV0aG9kOiBGaWxlR2VuZXJhdGVNZXRob2QsIGZpbGVOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCByZXMgPSBkb3dubG9hZEZpbGUoZmlsZSwgbWV0aG9kKTtcbiAgICBpZiAoIXJlcy5zdWNjZXNzKSB7XG4gICAgICBjb25zdCBmaWxlTmFtZVRyYW5zYWx0ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGZpbGVOYW1lKTtcbiAgICAgIHRoaXMubWVzc2FnZUJhclNlcnZpY2Uud2Fybih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChMb2NhbGl6YXRpb24ucG9wX3VwX2Jsb2NrZXJfbWVzc2FnZSwgeyBmaWxlTmFtZTogZmlsZU5hbWVUcmFuc2FsdGUgfSksIHsgZHVyYXRpb246IDcwMDAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcy5zdWNjZXNzO1xuICB9XG59XG4iXX0=
@@ -13,10 +13,10 @@ export class GeneralActionService {
13
13
  dispatchGeneralActions(generalActionType) {
14
14
  this.store.dispatch(this.dispatchActionDictionary[generalActionType]);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeneralActionService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeneralActionService }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeneralActionService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeneralActionService }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GeneralActionService, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GeneralActionService, decorators: [{
20
20
  type: Injectable
21
21
  }], ctorParameters: () => [{ type: i1.Store }] });
22
22
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1hY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvZ2VuZXJhbC1hY3Rpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7O0FBSTNFLE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFKaEMsNkJBQXdCLEdBQW1CO1lBQ3pDLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsRUFBRSxJQUFJLFlBQVksRUFBRTtTQUMvRCxDQUFDO0lBR0YsQ0FBQztJQUVNLHNCQUFzQixDQUFDLGlCQUFvQztRQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7K0dBVlUsb0JBQW9CO21IQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExvZ291dEFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgR2VuZXJhbEFjdGlvblR5cGUgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5L2Nsb3VkLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBOdW1iZXJNYXAgfSBmcm9tICcuLi91dGlscy9sYW5nLnV0aWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2VuZXJhbEFjdGlvblNlcnZpY2Uge1xuICBkaXNwYXRjaEFjdGlvbkRpY3Rpb25hcnk6IE51bWJlck1hcDxhbnk+ID0ge1xuICAgIFtHZW5lcmFsQWN0aW9uVHlwZS5EaXNjb25uZWN0RnJvbVNlc3Npb25zXTogbmV3IExvZ291dEFjdGlvbigpLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gIH1cblxuICBwdWJsaWMgZGlzcGF0Y2hHZW5lcmFsQWN0aW9ucyhnZW5lcmFsQWN0aW9uVHlwZTogR2VuZXJhbEFjdGlvblR5cGUpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMuZGlzcGF0Y2hBY3Rpb25EaWN0aW9uYXJ5W2dlbmVyYWxBY3Rpb25UeXBlXSk7XG4gIH1cbn1cbiJdfQ==
@@ -194,10 +194,10 @@ export class GlobalErrorService {
194
194
  const timeAgoInSeconds = cloudDateTimeUtc.diff(startDate, 'seconds');
195
195
  return timeAgoInSeconds;
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
198
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorService }); }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalErrorService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalErrorService }); }
199
199
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GlobalErrorService, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GlobalErrorService, decorators: [{
201
201
  type: Injectable
202
202
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
203
203
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL2dsb2JhbC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxNQUFrQixNQUFNLFFBQVEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQU83QyxDQUFDO0FBRTBDLENBQUM7QUFHOUgsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFJLENBQUM7SUFFM0QsY0FBYyxDQUFDLFVBQXlCLEVBQUUsNkJBQXdELEVBQUUsZ0JBQXdCO1FBQzFILElBQUksV0FBVyxHQUFnQixJQUFJLENBQUM7UUFFcEMsSUFBSSxDQUFDLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUNwQyxXQUFXLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSw2QkFBNkIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsSUFBWSxFQUFFLFFBQXdDLEVBQUUscUJBQStDLEVBQUUsa0JBQXNDO1FBQ3JLLElBQUksTUFBTSxHQUF5QixTQUFTLENBQUM7UUFFN0MsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBQ2pELE1BQU0sR0FB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QUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuRixpQ0FBaUM7UUFDakMsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxFQUFFO2dCQUM3RCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzlFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFNBQXdCLEVBQUUsbUJBQTJCLENBQUM7UUFDaEYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVyRSxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7K0dBOU1VLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uIH0gZnJvbSBcIi4uL2VudW1zL2xvY2FsaXphdGlvbi5lbnVtXCI7XG5pbXBvcnQgeyBQYXJrQ29ubmVjdGlvblN0YXR1cywgUGFya0Nvbm5lY3Rpb25TdGF0dXNDbGFzcywgUGFya0Nvbm5lY3Rpb25TdGF0dXNUZXh0IH0gZnJvbSBcIi4uL2VudW1zL3ByaW9yaXR5LWxpbmstc3RhdHVzLmVudW1cIjtcbmltcG9ydCB7IEdsb2JhbEVycm9yIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZ2xvYmFsLWVycm9yLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRmFjaWxpdHlEaWN0aW9uYXJ5LCBTbWFydHBhcmtDb25uZWN0aW9uU3RhdHVzIH0gZnJvbSBcIi4uL21vZHVsZXMvZmFjaWxpdHkvZmFjaWxpdHktbW9kYWxcIjtcbmltcG9ydCB7IEZhY2lsaXR5QmFzaWNEdG8sIFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0byB9IGZyb20gXCIuLi9zZXJ2aWNlLXByb3h5L2lkZW50aXR5LXNlcnZpY2UtcHJveGllc1wiO1xuaW1wb3J0IHsgRmFjaWxpdHlEdG8gfSBmcm9tIFwiLi4vc2VydmljZS1wcm94eS9ycGMtc2VydmljZS1wcm94aWVzXCI7XG5pbXBvcnQgeyBOdW1iZXJNYXAgfSBmcm9tIFwiLi4vdXRpbHMvbGFuZy51dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFjaWxpdHlHbG9iYWxFcnJvciB7IGZhY2lsaXR5OiBGYWNpbGl0eUR0bywgdGltZXN0YW1wOiBNb21lbnQ7IH07XG5leHBvcnQgdHlwZSBGYWNpbGl0eUdsb2JhbEVycm9yQnlTdGF0dXMgPSBOdW1iZXJNYXA8RmFjaWxpdHlHbG9iYWxFcnJvcltdPjtcbmV4cG9ydCBpbnRlcmZhY2UgRmFjaWxpdGllc0dsb2JhbEVycm9yQnlTdGF0dXMgeyBlcnJvckZhY2lsaXRpZXM6IEZhY2lsaXR5R2xvYmFsRXJyb3JbXSwgZXJyb3JTdGF0dXM6IFBhcmtDb25uZWN0aW9uU3RhdHVzOyB9O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxuXG4gIGdldEdsb2JhbEVycm9yKGZhY2lsaXRpZXM6IEZhY2lsaXR5RHRvW10sIGZhY2lsaXRpZXNDb25uZWN0aW9uU3RhdHVzTWFwOiBTbWFydHBhcmtDb25uZWN0aW9uU3RhdHVzLCBjbGllbnRTZXJ2ZXJEaWZmOiBudW1iZXIpOiBHbG9iYWxFcnJvciB7XG4gICAgbGV0IGdsb2JhbEVycm9yOiBHbG9iYWxFcnJvciA9IG51bGw7XG5cbiAgICBpZiAoISFmYWNpbGl0aWVzQ29ubmVjdGlvblN0YXR1c01hcCkge1xuICAgICAgZ2xvYmFsRXJyb3IgPSB0aGlzLmdldEZhY2lsaXRpZXNHbG9iYWxFcnJvcihmYWNpbGl0aWVzLCBmYWNpbGl0aWVzQ29ubmVjdGlvblN0YXR1c01hcCwgY2xpZW50U2VydmVyRGlmZik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdsb2JhbEVycm9yO1xuICB9XG5cbiAgZ2V0UGFya0Nvbm5lY3Rpb25TdGF0dXMoZ3VpZDogc3RyaW5nLCBmYWNpbGl0eTogRmFjaWxpdHlCYXNpY0R0byB8IEZhY2lsaXR5RHRvLCBzZXJ2aWNlc1J1bm5pbmdTdGF0dXM6IFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0bywgZmFjaWxpdHlEaWN0aW9uYXJ5OiBGYWNpbGl0eURpY3Rpb25hcnkpIHtcbiAgICBsZXQgc3RhdHVzOiBQYXJrQ29ubmVjdGlvblN0YXR1cyA9IHVuZGVmaW5lZDtcblxuICAgIGlmIChmYWNpbGl0eS5hY3RpdmUpIHtcbiAgICAgIGlmICghc2VydmljZXNSdW5uaW5nU3RhdHVzLmlzU3BhcmtDbG91ZENvbm5lY3RlZCkge1xuICAgICAgICBzdGF0dXMgPSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIH0gZWxzZSBpZiAoIXNlcnZpY2VzUnVubmluZ1N0YXR1cy5pc1NwYXJrQ29yZUNvbm5lY3RlZCkge1xuICAgICAgICBzdGF0dXMgPSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKCFzZXJ2aWNlc1J1bm5pbmdTdGF0dXMuaXNTbWFydFBhcmtDb3JlQ29ubmVjdGVkKSB7XG4gICAgICAgIHN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLlNtYXJ0UGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQ7XG4gICAgICB9IGVsc2UgaWYgKCFzZXJ2aWNlc1J1bm5pbmdTdGF0dXMuaXNTbWFydFBhcmtDb25uZWN0ZWQpIHtcbiAgICAgICAgc3RhdHVzID0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU21hcnRQYXJrU2VydmVyRGlzY29ubmVjdGVkO1xuICAgICAgfSBlbHNlIGlmIChmYWNpbGl0eS5pc011bHRpUGFyaykge1xuICAgICAgICBzdGF0dXMgPSB0aGlzLmdldE11bHRpUGFya0Nvbm5lY3Rpb25TdGF0dXMoZ3VpZCwgZmFjaWxpdHksIGZhY2lsaXR5RGljdGlvbmFyeSk7XG4gICAgICB9IGVsc2UgaWYgKCFmYWNpbGl0eS5pc01haW5Db250cm9sbGVyQ29ubmVjdGVkKSB7XG4gICAgICAgIHN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLk1haW5Db250cm9sbGVyRGlzY29ubmVjdGVkO1xuICAgICAgfVxuICAgICAgLy8gZWxzZSBpZiAoZmFjaWxpdHkuaXNDcmVkaXRTZXJ2ZXJFbmFibGVkICYmICFmYWNpbGl0eS5pc0NyZWRpdFNlcnZlckNvbm5lY3RlZCkge1xuICAgICAgLy8gICBzdGF0dXMgPSBQYXJrQ29ubmVjdGlvblN0YXR1cy5DcmVkaXRTZXJ2ZXJEaXNjb25uZWN0ZWQ7XG4gICAgICAvLyB9XG4gICAgICBlbHNlIGlmIChmYWNpbGl0eS5pc0xQUkVuYWJsZWQgJiYgIWZhY2lsaXR5LmlzTFBSQ29ubmVjdGVkKSB7XG4gICAgICAgIHN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLkxQUlNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdGFydERhdGU6IE1vbWVudCA9IHRoaXMuZ2V0U3RhcnREYXRlQ29ubmVjdGlvblN0YXR1cyhzdGF0dXMsIHNlcnZpY2VzUnVubmluZ1N0YXR1cywgZmFjaWxpdHkpO1xuICAgIHJldHVybiB7IHN0YXR1cywgc3RhcnREYXRlIH07XG4gIH1cblxuICBwcml2YXRlIGdldE11bHRpUGFya0Nvbm5lY3Rpb25TdGF0dXMoZ3VpZDogc3RyaW5nLCBmYWNpbGl0eTogRmFjaWxpdHlCYXNpY0R0byB8IEZhY2lsaXR5RHRvLCBmYWNpbGl0eURpY3Rpb25hcnk6IEZhY2lsaXR5RGljdGlvbmFyeSkge1xuICAgIC8vIGlmIG9uZSBvZiB0aGUgY2hpbGRyZW4gaXMgZG93biB3ZSBtYXJrIHRoZSBwYXJlbnQgYXMgd2VsbFxuICAgIGlmIChmYWNpbGl0eS5pc011bHRpUGFyayAmJiBPYmplY3Qua2V5cyhmYWNpbGl0eURpY3Rpb25hcnkpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmtDaGlsZHJlbiA9IE9iamVjdC5rZXlzKGZhY2lsaXR5RGljdGlvbmFyeVtndWlkXSkubWFwKGxvdElkID0+IGZhY2lsaXR5RGljdGlvbmFyeVtndWlkXVsrbG90SWRdKS5maWx0ZXIobG90ID0+IGxvdC5tdWx0aVBhcmtQYXJlbnRJRCA9PT0gZmFjaWxpdHkuaWQpO1xuXG4gICAgICAvLyBjaGVjayBpZiBhdCBsZWFzdCBvbmUgY2hpbGQgaXMgZGlzY29ubmVjdGVkIG1hcmsgdGhlIHBhcmVudCB3aXRoIHRoZSBzYW1lIHN0YXR1c1xuICAgICAgY29uc3QgaXNBbnlQYXJrQ2hpbGRyZW5NYWluQ29udHJvbGxlckRpc2Nvbm5lY3RlZCA9IHBhcmtDaGlsZHJlbi5zb21lKGxvdCA9PiAhbG90LmlzTWFpbkNvbnRyb2xsZXJDb25uZWN0ZWQpO1xuICAgICAgaWYgKGlzQW55UGFya0NoaWxkcmVuTWFpbkNvbnRyb2xsZXJEaXNjb25uZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIFBhcmtDb25uZWN0aW9uU3RhdHVzLk1haW5Db250cm9sbGVyRGlzY29ubmVjdGVkO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zdCBpc0FueVBhcmtDaGlsZHJlbkNyZWRpdFNlcnZlckRpc2Nvbm5lY3RlZCA9IHBhcmtDaGlsZHJlbi5zb21lKGxvdCA9PiBsb3QuaXNDcmVkaXRTZXJ2ZXJFbmFibGVkICYmICFsb3QuaXNDcmVkaXRTZXJ2ZXJDb25uZWN0ZWQpO1xuICAgICAgLy8gaWYgKGlzQW55UGFya0NoaWxkcmVuQ3JlZGl0U2VydmVyRGlzY29ubmVjdGVkKSB7XG4gICAgICAvLyAgIHJldHVybiBQYXJrQ29ubmVjdGlvblN0YXR1cy5DcmVkaXRTZXJ2ZXJEaXNjb25uZWN0ZWQ7XG4gICAgICAvLyB9XG5cbiAgICAgIGNvbnN0IGlzQW55UGFya0NoaWxkcmVuTFBSRGlzY29ubmVjdGVkID0gcGFya0NoaWxkcmVuLnNvbWUobG90ID0+IGxvdC5pc0xQUkVuYWJsZWQgJiYgIWxvdC5pc0xQUkNvbm5lY3RlZCk7XG4gICAgICBpZiAoaXNBbnlQYXJrQ2hpbGRyZW5MUFJEaXNjb25uZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuIFBhcmtDb25uZWN0aW9uU3RhdHVzLkxQUlNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFBhcmtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0YXJ0RGF0ZUNvbm5lY3Rpb25TdGF0dXMocGFya0Nvbm5lY3Rpb25TdGF0dXM6IFBhcmtDb25uZWN0aW9uU3RhdHVzLCBzZXJ2aWNlc1J1bm5pbmdTdGF0dXM6IFNlcnZpY2VzUnVubmluZ1N0YXR1c0R0bywgZmFjaWxpdHk6IEZhY2lsaXR5QmFzaWNEdG8gfCBGYWNpbGl0eUR0byk6IE1vbWVudCB7XG4gICAgbGV0IHRpbWVzdGFtcCA9IG51bGw7XG4gICAgc3dpdGNoIChwYXJrQ29ubmVjdGlvblN0YXR1cykge1xuICAgICAgLy8gY2FzZSBQYXJrQ29ubmVjdGlvblN0YXR1cy5DcmVkaXRTZXJ2ZXJEaXNjb25uZWN0ZWQ6XG4gICAgICAvLyAgIHRpbWVzdGFtcCA9IGZhY2lsaXR5LmNyZWRpdFNlcnZlckRpc2Nvbm5lY3RlZFRpbWVzdGFtcDtcbiAgICAgIC8vICAgYnJlYWs7XG4gICAgICBjYXNlIFBhcmtDb25uZWN0aW9uU3RhdHVzLkxQUlNlcnZlckRpc2Nvbm5lY3RlZDpcbiAgICAgICAgdGltZXN0YW1wID0gZmFjaWxpdHkubHByRGlzY29ubmVjdGVkVGltZXN0YW1wO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGFya0Nvbm5lY3Rpb25TdGF0dXMuTWFpbkNvbnRyb2xsZXJEaXNjb25uZWN0ZWQ6XG4gICAgICAgIHRpbWVzdGFtcCA9IGZhY2lsaXR5Lm1haW5Db250cm9sbGVyRGlzY29ubmVjdGVkVGltZXN0YW1wO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgUGFya0Nvbm5lY3Rpb25TdGF0dXMuU21hcnRQYXJrQ29yZVNlcnZlckRpc2Nvbm5lY3RlZDpcbiAgICAgICAgdGltZXN0YW1wID0gc2VydmljZXNSdW5uaW5nU3RhdHVzLnNtYXJ0UGFya0NvcmVEaXNjb25uZWN0ZWRUaW1lc3RhbXA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TbWFydFBhcmtTZXJ2ZXJEaXNjb25uZWN0ZWQ6XG4gICAgICAgIHRpbWVzdGFtcCA9IHNlcnZpY2VzUnVubmluZ1N0YXR1cy5zbWFydFBhcmtEaXNjb25uZWN0ZWRUaW1lc3RhbXA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZDpcbiAgICAgICAgdGltZXN0YW1wID0gc2VydmljZXNSdW5uaW5nU3RhdHVzLnNwYXJrQ2xvdWREaXNjb25uZWN0ZWRUaW1lc3RhbXA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWQ6XG4gICAgICAgIHRpbWVzdGFtcCA9IHNlcnZpY2VzUnVubmluZ1N0YXR1cy5zcGFya0NvcmVEaXNjb25uZWN0ZWRUaW1lc3RhbXA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBQYXJrQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0ZWQ6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aW1lc3RhbXAgPSBudWxsO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gdGltZXN0YW1wO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGYWNpbGl0aWVzR2xvYmFsRXJyb3IoZmFjaWxpdGllczogRmFjaWxpdHlEdG9bXSwgZmFjaWxpdGllc0Nvbm5lY3Rpb25TdGF0dXNNYXA6IFNtYXJ0cGFya0Nvbm5lY3Rpb25TdGF0dXMsXG4gICAgY2xpZW50U2VydmVyRGlmZjogbnVtYmVyKTogR2xvYmFsRXJyb3Ige1xuICAgIGxldCBnbG9iYWxFcnJvcjogR2xvYmFsRXJyb3IgPSBudWxsO1xuXG4gICAgLy8gU2V0cyBhIG1hcCBmb3IgRXJyb3JzIHdpdGggdGhpZXIgZmFjaWxpdGllc1xuICAgIGNvbnN0IGVycm9yczogRmFjaWxpdHlHbG9iYWxFcnJvckJ5U3RhdHVzID0gZmFjaWxpdGllcy5yZWR1Y2UoKGVycm9ycywgZmFjaWxpdHkpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RhdHVzLCBzdGFydERhdGUgfSA9IGZhY2lsaXRpZXNDb25uZWN0aW9uU3RhdHVzTWFwW2ZhY2lsaXR5LmlkXTtcblxuICAgICAgLy8gV2UgY2hlY2sgdGhhdCB0aGUgZmFjaWxpdHkgaGFzIGFueSBlcnJvciBzdGF0dXNcbiAgICAgIGlmIChzdGF0dXMgIT09IHVuZGVmaW5lZCAmJiBzdGF0dXMgIT09IFBhcmtDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkge1xuICAgICAgICAvLyBJZiB0aGUgZXJyb3IgdHlwZSBpcyB0aGUgZmlyc3Qgb2YgaXQncyBraW5kXG4gICAgICAgIGlmICghZXJyb3JzW3N0YXR1c10pIHtcbiAgICAgICAgICBlcnJvcnNbc3RhdHVzXSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkaW5nIHRoZSBmYWNpbGl0eSB0byBhIGxpc3Qgd2l0aCBzYW1lIGVycm9yc1xuICAgICAgICBjb25zdCBmYWNpbGl0eUdsb2JhbEVycm9yOiBGYWNpbGl0eUdsb2JhbEVycm9yID0ge1xuICAgICAgICAgIGZhY2lsaXR5LFxuICAgICAgICAgIHRpbWVzdGFtcDogc3RhcnREYXRlLFxuICAgICAgICB9O1xuICAgICAgICBlcnJvcnNbc3RhdHVzXS5wdXNoKGZhY2lsaXR5R2xvYmFsRXJyb3IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXJyb3JzO1xuICAgIH0sIHt9IGFzIEZhY2lsaXR5R2xvYmFsRXJyb3JCeVN0YXR1cyk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGFueSBlcnJvcnNcbiAgICBpZiAoISFPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCkge1xuICAgICAgLy8gR2V0dGluZyBhbGwgdGhlIGZhY2lsaXRpZXMgZm9yIHRoZSB0b3AgZXJyb3JcbiAgICAgIGNvbnN0IHsgZXJyb3JTdGF0dXMsIGVycm9yRmFjaWxpdGllcyB9ID0gdGhpcy5nZXRGYWNpbGl0eUdsb2JhbEVycm9yQnlTZXZlcml0eShlcnJvcnMpO1xuXG4gICAgICBjb25zdCBlcnJvclRpbWVzdGFtcDogTW9tZW50ID0gdGhpcy5nZXRFYXJsaWVzdEdsb2JhbEVycm9yKGVycm9yRmFjaWxpdGllcyk7XG4gICAgICBsZXQgZXJyb3JUaXRsZSA9IG51bGw7XG5cbiAgICAgIGlmIChlcnJvckZhY2lsaXRpZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGVycm9yVGl0bGUgPSBlcnJvckZhY2lsaXRpZXNbMF0uZmFjaWxpdHkubmFtZTtcbiAgICAgIH0gZWxzZSBpZiAoZXJyb3JGYWNpbGl0aWVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgZXJyb3JUaXRsZSA9IGAke2Vycm9yRmFjaWxpdGllcy5sZW5ndGh9ICR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoTG9jYWxpemF0aW9uLnBhcmtzKX1gO1xuICAgICAgfVxuXG4gICAgICBnbG9iYWxFcnJvciA9IHtcbiAgICAgICAgdGltZUFnb0luU2Vjb25kczogdGhpcy5nZXRUaW1lQWdvSW5TZWNvbmRzKGVycm9yVGltZXN0YW1wLCBjbGllbnRTZXJ2ZXJEaWZmKSxcbiAgICAgICAgdGl0bGU6IGVycm9yVGl0bGUsXG4gICAgICAgIG1lc3NhZ2U6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFBhcmtDb25uZWN0aW9uU3RhdHVzVGV4dFtQYXJrQ29ubmVjdGlvblN0YXR1c1tlcnJvclN0YXR1c11dKSxcbiAgICAgICAgaWNvbjogUGFya0Nvbm5lY3Rpb25TdGF0dXNDbGFzc1tQYXJrQ29ubmVjdGlvblN0YXR1c1tlcnJvclN0YXR1c11dXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBnbG9iYWxFcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmFjaWxpdHlHbG9iYWxFcnJvckJ5U2V2ZXJpdHkoZXJyb3JGYWNpbGl0aWVzQnlTdGF0dXM6IEZhY2lsaXR5R2xvYmFsRXJyb3JCeVN0YXR1cyk6IEZhY2lsaXRpZXNHbG9iYWxFcnJvckJ5U3RhdHVzIHtcbiAgICBsZXQgZXJyb3JTdGF0dXM6IFBhcmtDb25uZWN0aW9uU3RhdHVzID0gbnVsbDtcbiAgICBsZXQgZXJyb3JGYWNpbGl0aWVzOiBGYWNpbGl0eUdsb2JhbEVycm9yW10gPSBbXTtcblxuICAgIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZF0pIHtcbiAgICAgIGVycm9yU3RhdHVzID0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuU3BhcmtDb3JlQ2xvdWRTZXJ2ZXJEaXNjb25uZWN0ZWQ7XG4gICAgICBlcnJvckZhY2lsaXRpZXMgPSBlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVDbG91ZFNlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5TcGFya0NvcmVTZXJ2ZXJEaXNjb25uZWN0ZWRdKSB7XG4gICAgICBlcnJvclN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLlNwYXJrQ29yZVNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIGVycm9yRmFjaWxpdGllcyA9IGVycm9yRmFjaWxpdGllc0J5U3RhdHVzW1BhcmtDb25uZWN0aW9uU3RhdHVzLlNwYXJrQ29yZVNlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5TbWFydFBhcmtDb3JlU2VydmVyRGlzY29ubmVjdGVkXSkge1xuICAgICAgZXJyb3JTdGF0dXMgPSBQYXJrQ29ubmVjdGlvblN0YXR1cy5TbWFydFBhcmtDb3JlU2VydmVyRGlzY29ubmVjdGVkO1xuICAgICAgZXJyb3JGYWNpbGl0aWVzID0gZXJyb3JGYWNpbGl0aWVzQnlTdGF0dXNbUGFya0Nvbm5lY3Rpb25TdGF0dXMuU21hcnRQYXJrQ29yZVNlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5TbWFydFBhcmtTZXJ2ZXJEaXNjb25uZWN0ZWRdKSB7XG4gICAgICBlcnJvclN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLlNtYXJ0UGFya1NlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIGVycm9yRmFjaWxpdGllcyA9IGVycm9yRmFjaWxpdGllc0J5U3RhdHVzW1BhcmtDb25uZWN0aW9uU3RhdHVzLlNtYXJ0UGFya1NlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5NYWluQ29udHJvbGxlckRpc2Nvbm5lY3RlZF0pIHtcbiAgICAgIGVycm9yU3RhdHVzID0gUGFya0Nvbm5lY3Rpb25TdGF0dXMuTWFpbkNvbnRyb2xsZXJEaXNjb25uZWN0ZWQ7XG4gICAgICBlcnJvckZhY2lsaXRpZXMgPSBlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5NYWluQ29udHJvbGxlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5MUFJTZXJ2ZXJEaXNjb25uZWN0ZWRdKSB7XG4gICAgICBlcnJvclN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLkxQUlNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIGVycm9yRmFjaWxpdGllcyA9IGVycm9yRmFjaWxpdGllc0J5U3RhdHVzW1BhcmtDb25uZWN0aW9uU3RhdHVzLkxQUlNlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfSBlbHNlIGlmIChlcnJvckZhY2lsaXRpZXNCeVN0YXR1c1tQYXJrQ29ubmVjdGlvblN0YXR1cy5DcmVkaXRTZXJ2ZXJEaXNjb25uZWN0ZWRdKSB7XG4gICAgICBlcnJvclN0YXR1cyA9IFBhcmtDb25uZWN0aW9uU3RhdHVzLkNyZWRpdFNlcnZlckRpc2Nvbm5lY3RlZDtcbiAgICAgIGVycm9yRmFjaWxpdGllcyA9IGVycm9yRmFjaWxpdGllc0J5U3RhdHVzW1BhcmtDb25uZWN0aW9uU3RhdHVzLkNyZWRpdFNlcnZlckRpc2Nvbm5lY3RlZF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXJyb3JTdGF0dXMsIGVycm9yRmFjaWxpdGllcyB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFYXJsaWVzdEdsb2JhbEVycm9yKGVycm9yRmFjaWxpdGllczogRmFjaWxpdHlHbG9iYWxFcnJvcltdKTogTW9tZW50IHtcbiAgICBjb25zdCBlcnJvclRpbWVzdGFtcHMgPSBlcnJvckZhY2lsaXRpZXMubWFwKGVmID0+IGVmLnRpbWVzdGFtcCkuZmlsdGVyKHRzID0+ICEhdHMpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBlcnJvcnMgdG8gcGljayBmcm9tXG4gICAgaWYgKGVycm9yVGltZXN0YW1wcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBlcnJvclRpbWVzdGFtcHMucmVkdWNlKChwcmV2VGltZXN0YW1wLCBjdXJyVGltZXN0YW1wKSA9PiB7XG4gICAgICAgIHJldHVybiBwcmV2VGltZXN0YW1wLmlzQWZ0ZXIoY3VyclRpbWVzdGFtcCkgPyBjdXJyVGltZXN0YW1wIDogcHJldlRpbWVzdGFtcDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaW1lQWdvSW5TZWNvbmRzKHN0YXJ0RGF0ZTogbW9tZW50Lk1vbWVudCwgY2xpZW50U2VydmVyRGlmZjogbnVtYmVyID0gMCk6IG51bWJlciB7XG4gICAgaWYgKCFzdGFydERhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNsb3VkRGF0ZVRpbWVVdGMgPSBtb21lbnQudXRjKCkuc3VidHJhY3QoY2xpZW50U2VydmVyRGlmZiwgJ21pbGxpc2Vjb25kcycpO1xuICAgIGNvbnN0IHRpbWVBZ29JblNlY29uZHMgPSBjbG91ZERhdGVUaW1lVXRjLmRpZmYoc3RhcnREYXRlLCAnc2Vjb25kcycpO1xuXG4gICAgcmV0dXJuIHRpbWVBZ29JblNlY29uZHM7XG4gIH1cbn1cbiJdfQ==
@@ -8,10 +8,10 @@ export class HttpCancelService {
8
8
  this.cancelPendingRequests = () => this.cancelPendingRequests$.next();
9
9
  this.onCancelPendingRequests = () => this.cancelPendingRequests$.asObservable();
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpCancelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpCancelService }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpCancelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpCancelService }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HttpCancelService, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HttpCancelService, decorators: [{
15
15
  type: Injectable
16
16
  }], ctorParameters: () => [] });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1jYW5jZWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvaHR0cC1jYW5jZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUI7UUFGUSwyQkFBc0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBSXBELHlDQUF5QztRQUNsQywwQkFBcUIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakUsNEJBQXVCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBTGxFLENBQUM7K0dBSE4saUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwQ2FuY2VsU2VydmljZSB7XG4gIHByaXZhdGUgY2FuY2VsUGVuZGluZ1JlcXVlc3RzJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIC8qKiBDYW5jZWxzIGFsbCBwZW5kaW5nIEh0dHAgcmVxdWVzdHMuICovXG4gIHB1YmxpYyBjYW5jZWxQZW5kaW5nUmVxdWVzdHMgPSAoKSA9PiB0aGlzLmNhbmNlbFBlbmRpbmdSZXF1ZXN0cyQubmV4dCgpO1xuXG4gIHB1YmxpYyBvbkNhbmNlbFBlbmRpbmdSZXF1ZXN0cyA9ICgpID0+IHRoaXMuY2FuY2VsUGVuZGluZ1JlcXVlc3RzJC5hc09ic2VydmFibGUoKTtcbn1cbiJdfQ==
@@ -35,10 +35,10 @@ export class InternetConnectionService {
35
35
  this.destroy$.next();
36
36
  this.destroy$.complete();
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternetConnectionService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternetConnectionService }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InternetConnectionService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InternetConnectionService }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InternetConnectionService, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InternetConnectionService, decorators: [{
42
42
  type: Injectable
43
43
  }], ctorParameters: () => [{ type: i1.Router }] });
44
44
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuZXQtY29ubmVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9pbnRlcm5ldC1jb25uZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV0RCxPQUFPLEVBQUUsVUFBVSxFQUFZLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBR3BGLE1BQU0sT0FBTyx5QkFBeUI7SUFLcEMsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFIM0Isd0JBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQzFCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3JDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsRUFBRTtZQUN6RixJQUFJLHdCQUF3QixLQUFLLHdCQUF3QixDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDaEcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxFQUFFLENBQ1AsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQ25GLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUMvRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQXVDLEVBQUUsRUFBRTtZQUN6RCxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNuQyxNQUFNLHlCQUF5QixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUM7UUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDOUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQztZQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBckNVLHlCQUF5QjttSEFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFN1YmplY3QsIGZyb21FdmVudCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VBbGwsIHNraXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEludGVybmV0Q29ubmVjdGlvblN0YXR1cyB9IGZyb20gJy4uL2VudW1zL2ludGVybmV0LWNvbm5lY3Rpb24tc3RhdHVzLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW50ZXJuZXRDb25uZWN0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGF1dG9SZWxvYWRDb21wb25lbnQgPSB0cnVlO1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgdGhpcy5zdGF0dXMoKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgc2tpcCgxKSkuc3Vic2NyaWJlKGludGVybmV0Q29ubmVjdGlvblN0YXR1cyA9PiB7XG4gICAgICBpZiAoaW50ZXJuZXRDb25uZWN0aW9uU3RhdHVzID09PSBJbnRlcm5ldENvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkICYmIHRoaXMuYXV0b1JlbG9hZENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnJlbG9hZENvbXBvbmVudCgpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgc3RhdHVzKCk6IE9ic2VydmFibGU8SW50ZXJuZXRDb25uZWN0aW9uU3RhdHVzPiB7XG4gICAgcmV0dXJuIG9mKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ29mZmxpbmUnKS5waXBlKG1hcCgoKSA9PiBJbnRlcm5ldENvbm5lY3Rpb25TdGF0dXMuRGlzY29ubmVjdGVkKSksXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAnb25saW5lJykucGlwZShtYXAoKCkgPT4gSW50ZXJuZXRDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCkpLFxuICAgICAgbmV3IE9ic2VydmFibGUoKHN1YjogT2JzZXJ2ZXI8SW50ZXJuZXRDb25uZWN0aW9uU3RhdHVzPikgPT4ge1xuICAgICAgICBzdWIubmV4dChuYXZpZ2F0b3Iub25MaW5lID8gSW50ZXJuZXRDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RlZCA6IEludGVybmV0Q29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQpO1xuICAgICAgICBzdWIuY29tcGxldGUoKTtcbiAgICAgIH0pKS5waXBlKG1lcmdlQWxsKCkpO1xuICB9XG5cbiAgcmVsb2FkQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmw7XG4gICAgY29uc3QgY3VycmVudFJvdXRlUmV1c2VTdHJhdGVneSA9IHRoaXMucm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlO1xuICAgIHRoaXMucm91dGVyLnJvdXRlUmV1c2VTdHJhdGVneS5zaG91bGRSZXVzZVJvdXRlID0gKCkgPT4gZmFsc2U7XG4gICAgdGhpcy5yb3V0ZXIub25TYW1lVXJsTmF2aWdhdGlvbiA9ICdyZWxvYWQnO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtjdXJyZW50VXJsXSkudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLnJvdXRlci5yb3V0ZVJldXNlU3RyYXRlZ3kuc2hvdWxkUmV1c2VSb3V0ZSA9IGN1cnJlbnRSb3V0ZVJldXNlU3RyYXRlZ3k7XG4gICAgICB0aGlzLnJvdXRlci5vblNhbWVVcmxOYXZpZ2F0aW9uID0gJ2lnbm9yZSc7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -16,10 +16,10 @@ export class LocalStorageService {
16
16
  clear() {
17
17
  this.storage.clear();
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocalStorageService }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalStorageService }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocalStorageService, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LocalStorageService, decorators: [{
23
23
  type: Injectable
24
24
  }], ctorParameters: () => [] });
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLG1CQUFtQjtJQU85QjtRQUNFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQXpCVSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZTtcblxuICBbbmFtZTogc3RyaW5nXTogYW55O1xuICBsZW5ndGg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnN0b3JhZ2UgPSB3aW5kb3cubG9jYWxTdG9yYWdlO1xuICB9XG5cbiAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICB9XG5cbiAgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5jbGVhcigpO1xuICB9XG59XG4iXX0=
@@ -469,10 +469,10 @@ export class MenuService {
469
469
  }
470
470
  ];
471
471
  }
472
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService, deps: [{ token: i1.RouteService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
473
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService }); }
472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuService, deps: [{ token: i1.RouteService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
473
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuService }); }
474
474
  }
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MenuService, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuService, decorators: [{
476
476
  type: Injectable
477
477
  }], ctorParameters: () => [{ type: i1.RouteService }, { type: i2.Store }] });
478
478
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHN0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFJOUUsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsWUFBMEIsRUFBVSxLQUFZO1FBQWhELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUNwRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsVUFBb0I7UUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCx1QkFBdUI7UUFDckIsTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwSyxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBb0IsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUVoSCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLHFCQUFxQjtnQkFDM0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxLQUFLO2dCQUN4QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsQ0FBQzt3QkFDVCxJQUFJLEVBQUUsNEJBQTRCO3dCQUNsQyxJQUFJLEVBQUUsWUFBWSxDQUFDLFlBQVk7d0JBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQzlFLFFBQVEsRUFBRSxLQUFLO3dCQUNmLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSztxQkFDM0I7b0JBQ0Q7d0JBQ0UsSUFBSSxFQUFFLGlDQUFpQzt3QkFDdkMsSUFBSSxFQUFFLFlBQVksQ0FBQyxpQkFBaUI7d0JBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLENBQUMsQ0FBQzt3QkFDbkYsUUFBUSxFQUFFLEtBQUs7d0JBQ2YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO3FCQUMzQixFQUFFO3dCQUNELElBQUksRUFBRSwyQkFBMkI7d0JBQ2pDLElBQUksRUFBRSxZQUFZLENBQUMsV0FBVzt3QkFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQzt3QkFDN0UsUUFBUSxFQUFFLEtBQUs7d0JBQ2YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO3FCQUMzQixFQUFFO3dCQUNELElBQUksRUFBRSx5QkFBeUI7d0JBQy9CLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUzt3QkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQzt3QkFDM0UsUUFBUSxFQUFFLEtBQUs7d0JBQ2YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLO3FCQUMzQixFQUFFO3dCQUNELElBQUksRUFBRSwrQkFBK0I7d0JBQ3JDLElBQUksRUFBRSxZQUFZLENBQUMsZUFBZTt3QkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO3dCQUNqRixRQUFRLEVBQUUsS0FBSzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLEtBQUs7cUJBQzNCO2lCQUNBO2dCQUNELFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSzthQUMzQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSwrQkFBK0I7Z0JBQ3JDLElBQUksRUFBRSxZQUFZLENBQUMsZUFBZTtnQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxTQUFTLENBQUMsY0FBYzthQUNwQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztnQkFDNUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLENBQUM7d0JBQ1QsSUFBSSxFQUFFLDhCQUE4Qjt3QkFDcEMsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO3dCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUMxRSxRQUFRLEVBQUUsS0FBSzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7cUJBQy9CO29CQUNEO3dCQUNFLElBQUksRUFBRSwrQkFBK0I7d0JBQ3JDLElBQUksRUFBRSxZQUFZLENBQUMsZUFBZTt3QkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO3dCQUNyRixRQUFRLEVBQUUsS0FBSzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7cUJBQy9CO29CQUNEO3dCQUNFLElBQUksRUFBRSw0QkFBNEI7d0JBQ2xDLElBQUksRUFBRSxZQUFZLENBQUMsWUFBWTt3QkFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQzt3QkFDbEYsUUFBUSxFQUFFLEtBQUs7d0JBQ2YsUUFBUSxFQUFFLElBQUk7d0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTO3FCQUMvQjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsNENBQTRDO3dCQUNsRCxJQUFJLEVBQUUsWUFBWSxDQUFDLDBCQUEwQjt3QkFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO3dCQUNoRyxRQUFRLEVBQUUsS0FBSzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7cUJBQy9CLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTO2FBQy9CLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixJQUFJLEVBQUUsMEJBQTBCO2dCQUNoQyxJQUFJLEVBQUUsWUFBWSxDQUFDLG1CQUFtQjtnQkFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLG9CQUFvQixDQUFDLENBQUM7Z0JBQzNFLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxFQUFFO2dCQUNaLFNBQVMsRUFBRSxTQUFTLENBQUMsa0JBQWtCO2FBQ3hDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsSUFBSSxFQUFFLFlBQVksQ0FBQyxlQUFlO2dCQUNsQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsQ0FBQzt3QkFDVCxJQUFJLEVBQUUsZ0RBQWdEO3dCQUN0RCxJQUFJLEVBQUUsWUFBWSxDQUFDLG9CQUFvQjt3QkFDdkMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixDQUFDLENBQUM7d0JBQ2hHLFFBQVEsRUFBRSxLQUFLO3dCQUNmLFFBQVEsRUFBRSxJQUFJO3dCQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsY0FBYztxQkFDcEMsQ0FBQztnQkFDRixTQUFTLEVBQUUsU0FBUyxDQUFDLGNBQWM7YUFDcEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSwrQkFBK0I7Z0JBQ3JDLElBQUksRUFBRSxZQUFZLENBQUMsbUJBQW1CO2dCQUN0QyxRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQztnQkFDNUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osU0FBUyxFQUFFLFNBQVMsQ0FBQyxrQkFBa0I7YUFDeEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxHQUFlO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtTQUN4QixDQUFDO1FBRUYsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1SixNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBb0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUU5RyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDWCxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWU7Z0JBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzVELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBRUwsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsK0JBQStCO1FBQzdCLE9BQU87WUFDTCxJQUFJLEVBQUUsd0JBQXdCO1lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMscUJBQXFCO1lBQ3hDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztZQUN2RSxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTztZQUNMLElBQUksRUFBRSxlQUFlO1lBQ3JCLElBQUksRUFBRSxZQUFZLENBQUMsVUFBVTtZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQzNELFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPO1lBQ0wsSUFBSSxFQUFFLHlCQUF5QjtZQUMvQixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pFLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELGlDQUFpQztRQUMvQixPQUFPO1lBQ0wsSUFBSSxFQUFFLGlDQUFpQztZQUN2QyxJQUFJLEVBQUUsWUFBWSxDQUFDLHVCQUF1QjtZQUMxQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFDLENBQUM7WUFDekUsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTztZQUNMLElBQUksRUFBRSxjQUFjO1lBQ3BCLElBQUksRUFBRSxZQUFZLENBQUMsZUFBZTtZQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDakUsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU87WUFDTCxJQUFJLEVBQUUsNkJBQTZCO1lBQ25DLElBQUksRUFBRSxZQUFZLENBQUMsV0FBVztZQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3RELFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPO1lBQ0wsSUFBSSxFQUFFLHNCQUFzQjtZQUM1QixJQUFJLEVBQUUsWUFBWSxDQUFDLGtCQUFrQjtZQUNyQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQzlELFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLGNBQThCO1FBQ2hELE1BQU0sZ0JBQWdCLEdBQWUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdEcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDaEMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuQjtnQkFDRSxJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixJQUFJLEVBQUUsWUFBWSxDQUFDLGNBQWM7Z0JBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ3hELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELFlBQVk7UUFDWixJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsWUFBWSxDQUFDLDBDQUEwQztnQkFDN0QsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO2dCQUN4RSxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTthQUNmLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDcEIsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixJQUFJLEVBQUUsWUFBWSxDQUFDLGVBQWU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3BCLElBQUksRUFBRSxrQkFBa0I7WUFDeEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxjQUFjO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDeEQsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztRQUM1QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hKLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBRTNHLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixJQUFJLEVBQUUsdUJBQXVCO2dCQUM3QixJQUFJLEVBQUUsWUFBWSxDQUFDLFdBQVc7Z0JBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQkFDbkUsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxXQUFXO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLDRCQUE0QjtnQkFDbEMsSUFBSSxFQUFFLFlBQVksQ0FBQyxnQkFBZ0I7Z0JBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbEUsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxjQUFjO2FBQ3BDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsSUFBSSxFQUFFLFlBQVksQ0FBQyxPQUFPO2dCQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLE9BQU87YUFDN0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLEVBQUUsWUFBWSxDQUFDLFFBQVE7Z0JBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzFELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUTthQUM5QixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFlLEVBQUUsQ0FBQztRQUM1QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvSSxNQUFNLGlCQUFpQixHQUFHLENBQUMsU0FBb0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7UUFFckcsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztnQkFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQzVCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsSUFBSSxFQUFFLFlBQVksQ0FBQyxXQUFXO2dCQUM5QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUN6RCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFdBQVc7YUFDakMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDUixJQUFJLEVBQUUsZ0NBQWdDO2dCQUN0QyxJQUFJLEVBQUUsWUFBWSxDQUFDLGFBQWE7Z0JBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7Z0JBQzNELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsYUFBYTthQUNuQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNSLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDdEQsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsU0FBUyxFQUFFLFNBQVMsQ0FBQyxRQUFRO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFHRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsZ0JBQW9DO1FBQ2pELE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzNDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsSUFBSSxFQUFFLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUM1RCxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxJQUFJLEdBQWUsRUFBRSxDQUFDO1FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BKLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUFvQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztRQUN2RyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsSUFBSSxFQUFFLDZCQUE2QjtnQkFDbkMsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRCxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7YUFDL0IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixJQUFJLEVBQUUsb0NBQW9DO29CQUMxQyxJQUFJLEVBQUUsWUFBWSxDQUFDLGFBQWE7b0JBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7b0JBQzlELFFBQVEsRUFBRSxLQUFLO29CQUNmLFFBQVEsRUFBRSxJQUFJO29CQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWTtpQkFDbEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTztZQUNMO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRSxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsSUFBSTtnQkFDZCxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVE7YUFDOUI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPO1lBQ0w7Z0JBQ0UsSUFBSSxFQUFFLDRCQUE0QjtnQkFDbEMsSUFBSSxFQUFFLFlBQVksQ0FBQyxlQUFlO2dCQUNsQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzdDLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFNBQVMsRUFBRSxTQUFTLENBQUMsUUFBUTthQUM5QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU87WUFDTDtnQkFDRSxJQUFJLEVBQUUsOEJBQThCO2dCQUNwQyxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87Z0JBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2pELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZ0NBQWdDO2dCQUN0QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7Z0JBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQ25ELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUNBQWlDO2dCQUN2QyxJQUFJLEVBQUUsWUFBWSxDQUFDLFVBQVU7Z0JBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQ3BELFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxJQUFJO2FBQ2Y7U0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FuZ0JVLFdBQVc7bUhBQVgsV0FBVzs7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjYW4gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IExvY2FsaXphdGlvbiB9IGZyb20gJy4uL2VudW1zL2xvY2FsaXphdGlvbi5lbnVtJztcbmltcG9ydCB7IFJlcG9ydENhdGVnb3JpZXMsIFJlcG9ydENhdGVnb3JpZXNUZXh0IH0gZnJvbSAnLi4vZW51bXMvcmVwb3J0LWNhdGVnb3J5LXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL21lbnUtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGVybWlzc2lvbkluZm8gfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvbW9kZWwvcGVybWlzc2lvbi1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvc2Vzc2lvbi5zdGF0ZSc7XG5pbXBvcnQgeyBBcHBNb2R1bGUsIFN1Yk1vZHVsZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFJvdXRlU2VydmljZSB9IGZyb20gJy4vcm91dGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZVNlcnZpY2U6IFJvdXRlU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgfVxuXG4gIGdldE5hdmlnYXRpb25Sb3V0ZShyb3V0ZVBhcnRzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVNlcnZpY2UuZ2V0TmF2aWdhdGlvblJvdXRlKHJvdXRlUGFydHMpO1xuICB9XG5cbiAgZ2V0TG90Q29uZmlndXJhdGlvbk1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGxvdENvbmZpZ3VyYXRpb25Nb2R1bGUgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KFNlc3Npb25TdGF0ZS51c2VySW5mbykucGVybWlzc2lvbkluZm8ubW9kdWxlcy5maW5kKG1vZHVsZSA9PiBtb2R1bGUubW9kdWxlID09PSBBcHBNb2R1bGUuTG90Q29uZmlndXJhdGlvbik7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IGxvdENvbmZpZ3VyYXRpb25Nb2R1bGUuc3ViTW9kdWxlLnNvbWUocyA9PiBzID09PSBzdWJNb2R1bGUpO1xuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5SYXRlcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXJhdGVzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJhdGVzLFxuICAgICAgICByb3V0ZTogbnVsbCxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW3tcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1zcGVjaWFsLWRheXMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zcGVjaWFsX2RheXMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAnc3BlY2lhbC1kYXlzJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtcmF0ZXMtcHJvZ3JhbW1pbmcnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5yYXRlc19wcm9ncmFtbWluZyxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdyYXRlcycsICdyYXRlcy1wcm9ncmFtbWluZyddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfSwge1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWtleS1vcHRpb25zJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ua2V5X29wdGlvbnMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAna2V5LW9wdGlvbnMnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlJhdGVzXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1zdXJjaGFyZ2UnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zdXJjaGFyZ2UsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAncmF0ZXMnLCAnc3VyY2hhcmdlJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgICB9LCB7XG4gICAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtcmF0ZS1vbi1kaXNwbGF5JyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ucmF0ZV9vbl9kaXNwbGF5LFxuICAgICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3JhdGVzJywgJ3JhdGUtb24tZGlzcGxheSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuUmF0ZXNcbiAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5SYXRlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5EeW5hbWljUHJpY2luZykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWR5bmFtaWMtcHJpY2luZycsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5keW5hbWljX3ByaWNpbmcsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ2R5bmFtaWMtcHJpY2luZyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkR5bmFtaWNQcmljaW5nXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLlNjaGVkdWxlcikpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXNjaGVkdWxlcicsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zY2hlZHVsZXIsXG4gICAgICAgIHJvdXRlOiBudWxsLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLXNjaGVkdWxlci1yYXRlJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ucmF0ZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydsb3QtY29uZmlndXJhdGlvbicsICdzY2hlZHVsZXInLCAncmF0ZSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1kZXZpY2UtYWN0aXZpdHknLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5kZXZpY2VfYWN0aXZpdHksXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ2RldmljZS1hY3Rpdml0eSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1wcmVwYWlkLWtleXMnLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5wcmVwYWlkX2tleXMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ3ByZXBhaWQta2V5cyddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuU2NoZWR1bGVyXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS1hY2Nlc3MtcHJvZmlsZXMtYWx0ZXJuYXRpdmVzJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uYWNjZXNzX3Byb2ZpbGVfYWx0ZXJuYXRpdmUsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnc2NoZWR1bGVyJywgJ2FjY2Vzcy1wcm9maWxlLWFsdGVybmF0aXZlJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TY2hlZHVsZXJcbiAgICAgICAgfV0sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNjaGVkdWxlclxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5WYWxpZGF0aW9uUHJvZmlsZXMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItaWNvbi13aGl0ZS12YWxpZGF0aW9uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnZhbGlkYXRpb25fcHJvZmlsZXMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ2xvdC1jb25maWd1cmF0aW9uJywgJ3ZhbGlkYXRpb24tcHJvZmlsZSddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlZhbGlkYXRpb25Qcm9maWxlc1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5BY2Nlc3NQcm9maWxlcykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWFjY2Vzcy1wcm9maWxlcycsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hY2Nlc3NfcHJvZmlsZXMsXG4gICAgICAgIHJvdXRlOiBudWxsLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBbe1xuICAgICAgICAgIGljb246ICd0Yi1pY29uLXdoaXRlLWFjY2Vzcy1wcm9maWxlcy1tb250aGxpZXMtZ3Vlc3RzJyxcbiAgICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24ubW9udGhsaWVzX2FuZF9ndWVzdHMsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnYWNjZXNzLXByb2ZpbGVzJywgJ21vbnRobGllcy1hbmQtZ3Vlc3RzJ10pLFxuICAgICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5BY2Nlc3NQcm9maWxlc1xuICAgICAgICB9XSxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuQWNjZXNzUHJvZmlsZXNcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuQ2FzaGllcnNNYW5hZ2VtZW50KSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWljb24td2hpdGUtbWFuYWdlLWNhc2hpZXJzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNhc2hpZXJzX21hbmFnZW1lbnQsXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbG90LWNvbmZpZ3VyYXRpb24nLCAnY2FzaGllcnMtbWFuYWdlbWVudCddKSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5DYXNoaWVyc01hbmFnZW1lbnRcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0TWFuYWdlbWVudE1lbnUoKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgbWVudTogTWVudUl0ZW1bXSA9IFtcbiAgICAgIHRoaXMuZ2V0VXNlcnNNZW51SXRlbSgpLFxuICAgIF07XG5cbiAgICBjb25zdCB1c2VyTWFuYWdlbWVudE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5NYW5hZ2VtZW50KTtcbiAgICBjb25zdCBpc1N1Yk1vZHVsZUV4aXN0cyA9IChzdWJNb2R1bGU6IFN1Yk1vZHVsZSkgPT4gdXNlck1hbmFnZW1lbnRNb2R1bGUuc3ViTW9kdWxlLnNvbWUocyA9PiBzID09PSBzdWJNb2R1bGUpO1xuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5GYWNpbGl0aWVzQW5kU21hcnRwYXJrcykpIHtcbiAgICAgIG1lbnUudW5zaGlmdCh7XG4gICAgICAgIGljb246ICd0Yi1mYWNpbGl0eS1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnNtYXJ0cGFya190aXRsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdzbWFydHBhcmtzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkxvZ28pKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRMb2dvTWVudUl0ZW0oKSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5TbXRwU2V0dGluZ3MpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRTbXRwU2V0dGluZ3NNZW51SXRlbSgpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkRlZmF1bHRVc2VyU2V0dGluZ3MpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXREZWZhdWx0VXNlcnNTZXR0aW5nc01lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuQXVkaXQpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXRBdWRpdExvZ01lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRGlnaXRhbFJlY2VpcHQpKSB7XG4gICAgICBtZW51LnB1c2godGhpcy5nZXREaWdpdGFsUmVjZWlwdE1lbnVJdGVtKCkpO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRW5mb3JjZW1lbnRJbnRlZ3JhdGlvbikpIHtcbiAgICAgIG1lbnUucHVzaCh0aGlzLmdldEVuZm9yY2VtZW50SW50ZWdyYXRpb25NZW51SXRlbSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldERlZmF1bHRVc2Vyc1NldHRpbmdzTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItdXNlcnMtc2V0dGluZ3MtaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udXNlcl9kZWZhdWx0X3NldHRpbmdzLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdkZWZhdWx0LXVzZXItc2V0dGluZ3MnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0QXVkaXRMb2dNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi1hdWRpdC1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hdWRpdF9sb2dzLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdhdWRpdC1sb2cnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGlnaXRhbFJlY2VpcHRNZW51SXRlbSgpOiBNZW51SXRlbSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb246ICd0Yi1kaWdpdGFsLXJlY2VpcHQtaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24uZGlnaXRhbF9yZWNlaXB0LFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdkaWdpdGFsLXJlY2VpcHQnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0RW5mb3JjZW1lbnRJbnRlZ3JhdGlvbk1lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLWVuZm9yY2VtZW50LWludGVncmF0aW9uLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVuZm9yY2VtZW50X2ludGVncmF0aW9uLFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICdlbmZvcmNlbWVudC1pbnRlZ3JhdGlvbiddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH07XG4gIH1cblxuICBnZXRVc2Vyc01lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLXVzZXItaWNvbicsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udXNlcl9tYW5hZ2VtZW50LFxuICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbWFuYWdlbWVudCcsICd1c2VyLW1hbmFnZW1lbnQnXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0TG9nb01lbnVJdGVtKCk6IE1lbnVJdGVtIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvbjogJ3RiLXRlbmFudC13aGl0ZS1sb2dvLW1vZHVsZScsXG4gICAgICBuYW1lOiBMb2NhbGl6YXRpb24udGVuYW50X2xvZ28sXG4gICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydtYW5hZ2VtZW50JywgJ2xvZ28nXSksXG4gICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0U210cFNldHRpbmdzTWVudUl0ZW0oKTogTWVudUl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uOiAndGItZW1haWwtc2VydmVyLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVtYWlsX3NlcnZlcl90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21hbmFnZW1lbnQnLCAnZW1haWwtc2VydmVyJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldFVzZXJTZXR0aW5nc01lbnUocGVybWlzc2lvbkluZm86IFBlcm1pc3Npb25JbmZvKTogTWVudUl0ZW1bXSB7XG4gICAgY29uc3QgdXNlclNldHRpbmdzTWVudTogTWVudUl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGlzVXNlckF1dGhlbnRpY2F0ZWRXaXRoU1NPID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUuaXNVc2VyQXV0aGVudGljYXRlZFdpdGhTU08pO1xuXG4gICAgaWYgKCFpc1VzZXJBdXRoZW50aWNhdGVkV2l0aFNTTykge1xuICAgICAgdXNlclNldHRpbmdzTWVudS5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgaWNvbjogJ3RiLXNlY3VyaXR5LWljb24nLFxuICAgICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5zZWN1cml0eV90aXRsZSxcbiAgICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydzZXR0aW5ncycsICdzZWN1cml0eSddKSxcbiAgICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIElmIGFsZXJ0c1xuICAgIGlmIChwZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbHRlcihtID0+IEFwcE1vZHVsZS5DYyA9PT0gbS5tb2R1bGUpLmxlbmd0aCkge1xuICAgICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWFsZXJ0cy1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmFsZXJ0c19hbmRfbm90aWZpY2F0aW9uc19wcmVmZXJlbmNlc190aXRsZSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnc2V0dGluZ3MnLCAnYWxlcnRzLWFuZC1ub3RpZmljYXRpb25zJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgIGljb246ICd0Yi1kYXRlLWFuZC10aW1lLWljb24nLFxuICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmRhdGVfdGltZV90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NldHRpbmdzJywgJ2RhdGUtdGltZSddKSxcbiAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIH0pO1xuXG4gICAgdXNlclNldHRpbmdzTWVudS5wdXNoKHtcbiAgICAgIGljb246ICd0Yi1sYW5ndWFnZS1pY29uJyxcbiAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5sYW5ndWFnZV90aXRsZSxcbiAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3NldHRpbmdzJywgJ2xhbmd1YWdlJ10pLFxuICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdXNlclNldHRpbmdzTWVudTtcbiAgfVxuXG4gIGdldFZhbGlkYXRpb25NZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCB2YWxpZGF0aW9uTW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLlZhbGlkYXRpb24pO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiB2YWxpZGF0aW9uTW9kdWxlPy5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkVWYWxpZGF0aW9uKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWVWYWxpZGF0aW9uLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5lVmFsaWRhdGlvbixcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndmFsaWRhdGlvbicsICdyZW1vdGUtdmFsaWRhdGlvbiddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuRVZhbGlkYXRpb25cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuU2VsZlZhbGlkYXRpb24pKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc2VsZi12YWxpZGF0aW9ucy1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc2VsZl92YWxpZGF0aW9ucyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsndmFsaWRhdGlvbicsICdzZWxmLXZhbGlkYXRpb25zJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TZWxmVmFsaWRhdGlvblxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Db3Vwb25zKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLWNvdXBvbi1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmNvdXBvbnMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ3ZhbGlkYXRpb24nLCAnY291cG9ucyddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuQ291cG9ucyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuU3RpY2tlcnMpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItc3RpY2tlci1pY29uJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnN0aWNrZXJzLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWyd2YWxpZGF0aW9uJywgJ3N0aWNrZXJzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5TdGlja2VycyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBtZW51O1xuICB9XG5cbiAgZ2V0R3Vlc3RNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCBndWVzdE1vZHVsZSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLnVzZXJJbmZvKS5wZXJtaXNzaW9uSW5mby5tb2R1bGVzLmZpbmQobW9kdWxlID0+IG1vZHVsZS5tb2R1bGUgPT09IEFwcE1vZHVsZS5HdWVzdHMpO1xuICAgIGNvbnN0IGlzU3ViTW9kdWxlRXhpc3RzID0gKHN1Yk1vZHVsZTogU3ViTW9kdWxlKSA9PiBndWVzdE1vZHVsZS5zdWJNb2R1bGUuc29tZShzID0+IHMgPT09IHN1Yk1vZHVsZSk7XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkd1ZXN0cykpIHtcbiAgICAgIG1lbnUucHVzaCh7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLWd1ZXN0LW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5ndWVzdCxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnZ3Vlc3RzJywgJ2d1ZXN0J10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5HdWVzdHMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkhvdGVsR3Vlc3RzKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24taG90ZWwtZ3Vlc3QtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmhvdGVsX2d1ZXN0LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnaG90ZWwtZ3Vlc3QnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkhvdGVsR3Vlc3RzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGlzU3ViTW9kdWxlRXhpc3RzKFN1Yk1vZHVsZS5Ib3RlbEd1ZXN0c0lPKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXdoaXRlLWluLW91dC10aWNrZXRzLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5pbl9vdXRfdGlja2V0LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnaW4tb3V0LXRpY2tldCddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgICAgc3ViTW9kdWxlOiBTdWJNb2R1bGUuSG90ZWxHdWVzdHNJTyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuRVZvdWNoZXIpKSB7XG4gICAgICBtZW51LnB1c2goe1xuICAgICAgICBpY29uOiAndGItd2hpdGUtZVZvdWNoZXJzJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmVWb3VjaGVyLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydndWVzdHMnLCAnZVZvdWNoZXInXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkVWb3VjaGVyLFxuICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIGdldFJlcG9ydHNNZW51KHJlcG9ydENhdGVnb3JpZXM6IFJlcG9ydENhdGVnb3JpZXNbXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiByZXBvcnRDYXRlZ29yaWVzLm1hcChyZXBvcnRDYXRlZ29yeSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1yZXBvcnRzLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IFJlcG9ydENhdGVnb3JpZXNUZXh0W1JlcG9ydENhdGVnb3JpZXNbcmVwb3J0Q2F0ZWdvcnldXSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsncmVwb3J0cycsICdjYXRlZ29yeScsIHJlcG9ydENhdGVnb3J5LnRvU3RyaW5nKCldKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBnZXRNb250aGxpZXNNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIGNvbnN0IG1lbnU6IE1lbnVJdGVtW10gPSBbXTtcbiAgICBjb25zdCBtb250aGx5TW9kdWxlID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChTZXNzaW9uU3RhdGUudXNlckluZm8pLnBlcm1pc3Npb25JbmZvLm1vZHVsZXMuZmluZChtb2R1bGUgPT4gbW9kdWxlLm1vZHVsZSA9PT0gQXBwTW9kdWxlLk1vbnRobGllcyk7XG4gICAgY29uc3QgaXNTdWJNb2R1bGVFeGlzdHMgPSAoc3ViTW9kdWxlOiBTdWJNb2R1bGUpID0+IG1vbnRobHlNb2R1bGUuc3ViTW9kdWxlLnNvbWUocyA9PiBzID09PSBzdWJNb2R1bGUpO1xuICAgIGlmIChpc1N1Yk1vZHVsZUV4aXN0cyhTdWJNb2R1bGUuTW9udGhsaWVzKSkge1xuICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tbW9udGhsaWVzLW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5tb250aGxpZXMsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ21vbnRobGllcycsICdtb250aGxpZXMnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLk1vbnRobGllcyxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXNTdWJNb2R1bGVFeGlzdHMoU3ViTW9kdWxlLkltcG9ydGVyVG9vbCkpIHtcbiAgICAgICAgbWVudS5wdXNoKHtcbiAgICAgICAgICBpY29uOiAndGItc2VjdGlvbi1pbXBvcnQtbW9udGhsaWVzLW1vZHVsZScsXG4gICAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLmltcG9ydGVyX3Rvb2wsXG4gICAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnbW9udGhsaWVzJywgJ2ltcG9ydGVyLXRvb2wnXSksXG4gICAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLkltcG9ydGVyVG9vbCxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZW51O1xuICAgIH1cbiAgfVxuXG4gIGdldEFjY291bnRNYW5hZ2VtZW50TWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1hY2NvdW50LW1vZHVsZScsXG4gICAgICAgIG5hbWU6IExvY2FsaXphdGlvbi5hY2NvdW50cyxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnYWNjb3VudC1tYW5hZ2VtZW50JywgJ2FjY291bnRzJ10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgICBzdWJNb2R1bGU6IFN1Yk1vZHVsZS5BY2NvdW50cyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIGdldFNjYW4ycGF5TWVudSgpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1zY2FuMnBheS1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uc2NhbjJwYXlfbW9kdWxlLFxuICAgICAgICByb3V0ZTogdGhpcy5nZXROYXZpZ2F0aW9uUm91dGUoWydzY2FudG9wYXknXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICAgIHN1Yk1vZHVsZTogU3ViTW9kdWxlLlNjYW4yUGF5LFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgZ2V0UElNZW51KCk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGljb246ICd0Yi1zZWN0aW9uLXBpLXJldmVudWUtbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLnJldmVudWUsXG4gICAgICAgIHJvdXRlOiB0aGlzLmdldE5hdmlnYXRpb25Sb3V0ZShbJ1BJJywgJ3JldmVudWUnXSksXG4gICAgICAgIGhhc0JhZGdlOiBmYWxzZSxcbiAgICAgICAgY2hpbGRyZW46IG51bGwsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uOiAndGItc2VjdGlvbi1waS1vY2N1cGFuY3ktbW9kdWxlJyxcbiAgICAgICAgbmFtZTogTG9jYWxpemF0aW9uLm9jY3VwYW5jeSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnUEknLCAnb2NjdXBhbmN5J10pLFxuICAgICAgICBoYXNCYWRnZTogZmFsc2UsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ3RiLXNlY3Rpb24tcGktY29tcGFyaXNvbi1tb2R1bGUnLFxuICAgICAgICBuYW1lOiBMb2NhbGl6YXRpb24uY29tcGFyaXNvbixcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0TmF2aWdhdGlvblJvdXRlKFsnUEknLCAnY29tcGFyaXNvbiddKSxcbiAgICAgICAgaGFzQmFkZ2U6IGZhbHNlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbCxcbiAgICAgIH1cbiAgICBdO1xuICB9XG59XG4iXX0=
@@ -162,10 +162,10 @@ export class ModalService {
162
162
  this.componentRef[dialogId] = undefined;
163
163
  }
164
164
  }
165
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService, deps: [{ token: i1.MatDialog }, { token: i2.MatSnackBar }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
166
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService }); }
165
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService, deps: [{ token: i1.MatDialog }, { token: i2.MatSnackBar }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
166
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService }); }
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ModalService, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalService, decorators: [{
169
169
  type: Injectable
170
170
  }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.MatSnackBar }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
171
171
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvbW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJFLFVBQVUsRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUFhLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJbEQsTUFBTSwyQkFBMkIsR0FBRyxNQUFNLENBQUM7QUFDM0MsTUFBTSwwQkFBMEIsR0FBRyxLQUFLLENBQUM7QUFHekMsTUFBTSxPQUFPLFlBQVk7SUFPdkIsWUFDVSxNQUFpQixFQUNqQixRQUFxQixFQUNyQixNQUFzQixFQUN0QixRQUFrQixFQUNsQix3QkFBa0Q7UUFKbEQsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQVZwRCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM5QixpQkFBWSxHQUFpQyxFQUFFLENBQUM7UUFDaEQsb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IsaUJBQVksR0FBYSxFQUFFLENBQUM7UUE2RTVCLHVCQUFrQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUUsNEJBQXVCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxJ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Q0FBQyxRQUFRLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7K0dBbExVLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudFJlZiwgRW1iZWRkZWRWaWV3UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGliYU1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvdGliYS1tYXQtZGlhbG9nLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RyaW5nTWFwIH0gZnJvbSAnLi4vdXRpbHMvbGFuZy51dGlsJztcblxuY29uc3QgQkFDS0RST1BfRlJPTlRfWklOREVYX0xFVkVMID0gJzEwMDAnO1xuY29uc3QgQkFDS0RST1BfQkFDS19aSU5ERVhfTEVWRUwgPSAnOTk5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IFN0cmluZ01hcDxDb21wb25lbnRSZWY8YW55Pj4gPSB7fTtcbiAgcHJpdmF0ZSBtaW5pbWl6ZWRNb2RhbHM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgb3Blbk1vZGFsSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgcHJpdmF0ZSBhcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7XG4gIH1cblxuICAvLyBlbmFibGUgc3Vic2NyaWJpbmcgdG8gbW9kYWwgb3BlbmVkIG9ic2VydmFibGVcbiAgb25Nb2RhbE9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0O1xuICB9XG5cbiAgcHVibGljIGdldE9wZW5EaWFsb2dzKCkge1xuICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuRGlhbG9ncztcbiAgfVxuXG4gIHB1YmxpYyBvcGVuPFQsIEogPSBhbnk+KFxuICAgIG1vZGFsQ29tcG9uZW50OiBUeXBlPGFueT4sXG4gICAgbW9kYWxDb25maWc/OiBUaWJhTWF0RGlhbG9nQ29uZmlnPEo+LFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAvLyBkaXNtaXNzZXMgdGhlIGN1cnJlbnRseS12aXNpYmxlIHNuYWNrIGJhciwgbmVlZGVkIHRvIGhhbmRsZSBleHByZXNzaW9uIGFmdGVyIGNoYW5nZSB3YXJuaW5nLlxuICAgIHRoaXMuc25hY2tCYXIuZGlzbWlzcygpO1xuXG4gICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSBtb2RhbENvbmZpZy5kaXNhYmxlQ2xvc2UgIT09IGZhbHNlO1xuICAgIGRpYWxvZ0NvbmZpZy5oYXNCYWNrZHJvcCA9IGZhbHNlO1xuICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSBtb2RhbENvbmZpZy5hdXRvRm9jdXMgIT09IGZhbHNlO1xuICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gbW9kYWxDb25maWcucGFuZWxDbGFzcztcbiAgICBkaWFsb2dDb25maWcucG9zaXRpb24gPSBtb2RhbENvbmZpZy5wb3NpdGlvbjtcbiAgICBkaWFsb2dDb25maWcuZGF0YSA9IG1vZGFsQ29uZmlnLmRhdGE7XG4gICAgZGlhbG9nQ29uZmlnLmlkID0gbW9kYWxDb25maWcuaWQ7XG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9IG1vZGFsQ29uZmlnLmhlaWdodDtcblxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4obW9kYWxDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICAgdGhpcy5kaXNwbGF5QmFja2Ryb3AoZGlhbG9nUmVmLmlkKTtcbiAgICB0aGlzLmRpc3BsYXlNb2RhbEJ1dHRvbldyYXBwZXIoZGlhbG9nUmVmLCBtb2RhbENvbmZpZyk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFmdGVyT3BlbmVkKGRpYWxvZ1JlZiwgbW9kYWxDb25maWcpKTtcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmFmdGVyQ2xvc2VkKGRpYWxvZ1JlZikpO1xuICAgIHJldHVybiBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZUFsbCh7IGV4Y2x1ZGVNaW5pbWl6ZWQgfSA9IHsgZXhjbHVkZU1pbmltaXplZDogdHJ1ZSB9KSB7XG4gICAgaWYgKGV4Y2x1ZGVNaW5pbWl6ZWQpIHtcbiAgICAgIGNvbnN0IG9wZW5EaWFsb2dzID0gdGhpcy5nZXRPcGVuRGlhbG9ncygpO1xuICAgICAgZm9yIChjb25zdCBvcGVuRGlhbG9nIG9mIG9wZW5EaWFsb2dzKSB7XG4gICAgICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMuY29tcG9uZW50UmVmW29wZW5EaWFsb2cuaWRdO1xuICAgICAgICBpZiAoIWRpYWxvZyB8fCAhZGlhbG9nLmluc3RhbmNlLmlzTWluaW1pemVkKSB7XG4gICAgICAgICAgb3BlbkRpYWxvZy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlQ2xvc2UoZGlzYWJsZTogYm9vbGVhbiwgZGlhbG9nSWQ6IG51bWJlciA9IDApIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuRGlhbG9nc1tkaWFsb2dJZF0uZGlzYWJsZUNsb3NlID0gZGlzYWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgYWZ0ZXJPcGVuZWQ8VCwgUj4oZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VCwgUj4sIG1vZGFsQ29uZmlnOiBUaWJhTWF0RGlhbG9nQ29uZmlnPFQ+KSB7XG4gICAgdGhpcy5hZGRPcGVuTW9kYWxUb0xpc3QoZGlhbG9nUmVmLmlkKTtcbiAgICB0aGlzLnVwZGF0ZU1pbmltaXplZE1vZGFscygpO1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIGFmdGVyQ2xvc2VkPFQsIFI+KGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFQsIFI+KSB7XG4gICAgdGhpcy5yZW1vdmVPcGVuTW9kYWxGcm9tTGlzdChkaWFsb2dSZWYuaWQpO1xuICAgIHRoaXMudXBkYXRlTWluaW1pemVkTW9kYWxzKGRpYWxvZ1JlZi5pZCk7XG4gICAgdGhpcy5yZW1vdmVCYWNrZHJvcChkaWFsb2dSZWYuaWQpO1xuICAgIHRoaXMucmVtb3ZlTW9kYWxCdXR0b25XcmFwcGVyKGRpYWxvZ1JlZi5pZCk7XG4gIH1cblxuICBwcml2YXRlIGFkZE9wZW5Nb2RhbFRvTGlzdCA9IChkaWFsb2dJZDogc3RyaW5nKSA9PiB0aGlzLm9wZW5Nb2RhbElkcy5wdXNoKGRpYWxvZ0lkKTtcblxuICBwcml2YXRlIHJlbW92ZU9wZW5Nb2RhbEZyb21MaXN0ID0gKGRpYWxvZ0lkOiBzdHJpbmcpID0+IHRoaXMub3Blbk1vZGFsSWRzID0gdGhpcy5vcGVuTW9kYWxJZHMuZmlsdGVyKGlkID0+IGlkICE9PSBkaWFsb2dJZCk7XG5cbiAgcHJpdmF0ZSBtaW5pbWl6ZShkaWFsb2dJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZW1vdmVPcGVuTW9kYWxGcm9tTGlzdChkaWFsb2dJZCk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhY2tkcm9wLScgKyBkaWFsb2dJZCkuY2xhc3NMaXN0LmFkZCgndGItZC1ub25lJyk7XG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGlhbG9nSWQpLmNsYXNzTGlzdC5hZGQoJ21pbmltaXplJyk7XG4gICAgdGhpcy5taW5pbWl6ZWRNb2RhbHMucHVzaChkaWFsb2dJZCk7XG4gICAgdGhpcy51cGRhdGVNaW5pbWl6ZWRNb2RhbHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWF4aW1pemUoZGlhbG9nSWQ6IHN0cmluZykge1xuICAgIHRoaXMuYWRkT3Blbk1vZGFsVG9MaXN0KGRpYWxvZ0lkKTtcbiAgICBjb25zdCBiYWNrZHJvcEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhY2tkcm9wLScgKyBkaWFsb2dJZCk7XG4gICAgYmFja2Ryb3BFbC5jbGFzc0xpc3QucmVtb3ZlKCd0Yi1kLW5vbmUnKTtcbiAgICBiYWNrZHJvcEVsLnN0eWxlLnpJbmRleCA9IEJBQ0tEUk9QX0JBQ0tfWklOREVYX0xFVkVMO1xuICAgIGNvbnN0IGRpYWxvZ0lkRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkaWFsb2dJZCk7XG4gICAgZGlhbG9nSWRFbC5jbGFzc0xpc3QucmVtb3ZlKCdtaW5pbWl6ZScpO1xuICAgIGRpYWxvZ0lkRWwuc3R5bGUuYm90dG9tID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudXBkYXRlTWluaW1pemVkTW9kYWxzKGRpYWxvZ0lkKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTWluaW1pemVkTW9kYWxzKGRpYWxvZ0lkPzogc3RyaW5nKSB7XG4gICAgdGhpcy5taW5pbWl6ZWRNb2RhbHMgPSB0aGlzLm1pbmltaXplZE1vZGFscy5maWx0ZXIobSA9PiBtICE9PSBkaWFsb2dJZCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm1pbmltaXplZE1vZGFscy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLm1pbmltaXplZE1vZGFsc1tpXSk7XG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICBlbC5zdHlsZS5ib3R0b20gPSAnMTBweCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwcmV2RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMubWluaW1pemVkTW9kYWxzW2kgLSAxXSk7XG4gICAgICAgIGxldCBoZWlnaHQgPSBwcmV2RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIGVsLnN0eWxlLmJvdHRvbSA9ICgoaGVpZ2h0ICsgMTApICogaSkgKyAxMCArICdweCc7XG4gICAgICB9XG5cbiAgICAgIGVsLnN0eWxlLnJpZ2h0ID0gJzEwcHgnO1xuICAgICAgY29uc3QgbWluaW16ZUljb25FbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoJy5tb2RhbC1taW5pbWl6ZS1pY29uJyk7XG4gICAgICBpZiAodGhpcy5vcGVuTW9kYWxJZHMubGVuZ3RoKSB7XG4gICAgICAgIG1pbmltemVJY29uRWwuY2xhc3NMaXN0LmFkZCgndGItYWN0aW9uLWRpc2FibGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtaW5pbXplSWNvbkVsLmNsYXNzTGlzdC5yZW1vdmUoJ3RiLWFjdGlvbi1kaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIG1ha2Ugc3VyZSBhbHdheXMgdGhlIGxhc3Qgb3BlbiBtb2RhbCBiYWNrZHJvcCBpcyBpbiBmcm9udFxuICAgIGlmICh0aGlzLm9wZW5Nb2RhbElkcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBsYXN0T3Blbk1vZGFsSWQgPSB0aGlzLm9wZW5Nb2RhbElkc1t0aGlzLm9wZW5Nb2RhbElkcy5sZW5ndGggLSAxXTtcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiYWNrZHJvcC0nICsgbGFzdE9wZW5Nb2RhbElkKS5zdHlsZS56SW5kZXggPSBCQUNLRFJPUF9CQUNLX1pJTkRFWF9MRVZFTDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlCYWNrZHJvcChkaWFsb2dJZDogc3RyaW5nKSB7XG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRiLW92ZXJsYXktYmFja2Ryb3AnKS5mb3JFYWNoKGVsID0+IGVsWydzdHlsZSddLnpJbmRleCA9IEJBQ0tEUk9QX0ZST05UX1pJTkRFWF9MRVZFTCk7XG4gICAgY29uc3QgZGl2QmFja2Ryb3AgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBkaXZCYWNrZHJvcC5jbGFzc0xpc3QuYWRkKCd0Yi1vdmVybGF5LWJhY2tkcm9wJyk7XG4gICAgZGl2QmFja2Ryb3AuaWQgPSAnYmFja2Ryb3AtJyArIGRpYWxvZ0lkO1xuICAgIGRpdkJhY2tkcm9wLnN0eWxlLnpJbmRleCA9IEJBQ0tEUk9QX0JBQ0tfWklOREVYX0xFVkVMO1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jZGstb3ZlcmxheS1jb250YWluZXInKS5hcHBlbmQoZGl2QmFja2Ryb3ApO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVCYWNrZHJvcChkaWFsb2dJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYmFja2Ryb3AtJyArIGRpYWxvZ0lkKTtcbiAgICBpZiAoZWwpIHtcbiAgICAgIGlmIChlbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7XG4gICAgICAgIGVsLnByZXZpb3VzRWxlbWVudFNpYmxpbmdbJ3N0eWxlJ10uekluZGV4ID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGVsLnJlbW92ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheU1vZGFsQnV0dG9uV3JhcHBlcjxULCBSPihkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxULCBSPiwgbW9kYWxDb25maWc6IFRpYmFNYXREaWFsb2dDb25maWc8VD4pIHtcbiAgICBjb25zdCBkaWFsb2dJZCA9IGRpYWxvZ1JlZi5pZDtcbiAgICBpbXBvcnQoJy4uL2NvbXBvbmVudHMvbW9kYWwtYnV0dG9ucy13cmFwcGVyL21vZGFsLWJ1dHRvbnMtd3JhcHBlci5jb21wb25lbnQnKS50aGVuKHJlcyA9PiB7XG4gICAgICAvLyBHdWFyZCBhZ2FpbnN0IG1vZGFsIGFscmVhZHkgY2xvc2VkIGJlZm9yZSBpbXBvcnQgcmVzb2x2ZWRcbiAgICAgIGlmICh0aGlzLmRpYWxvZy5nZXREaWFsb2dCeUlkKGRpYWxvZ0lkKSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkocmVzLk1vZGFsQnV0dG9uc1dyYXBwZXJDb21wb25lbnQpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZltkaWFsb2dJZF0gPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICAgICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZltkaWFsb2dJZF0uaW5zdGFuY2U7XG4gICAgICAgIGluc3RhbmNlLmNsb3NlLnBpcGUodGFrZVVudGlsKGluc3RhbmNlLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBkaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGluc3RhbmNlLm1pbmltaXplLnBpcGUodGFrZVVudGlsKGluc3RhbmNlLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtaW5pbWl6ZSkgPT4gbWluaW1pemUgPyB0aGlzLm1pbmltaXplKGRpYWxvZ0lkKSA6IHRoaXMubWF4aW1pemUoZGlhbG9nSWQpKTtcbiAgICAgICAgaW5zdGFuY2UuZW5hYmxlZE1pbmltaXplZCA9IG1vZGFsQ29uZmlnLmVuYWJsZWRNaW5pbWl6ZWQ7XG4gICAgICAgIHRoaXMuYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWZbZGlhbG9nSWRdLmhvc3RWaWV3KTtcbiAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLmNvbXBvbmVudFJlZltkaWFsb2dJZF0uaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgLiR7bW9kYWxDb25maWcucGFuZWxDbGFzc30gLm1vZGFsLWJ1dHRvbi13cmFwcGVyYCk/LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVNb2RhbEJ1dHRvbldyYXBwZXIoZGlhbG9nSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZltkaWFsb2dJZF0pIHtcbiAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5jb21wb25lbnRSZWZbZGlhbG9nSWRdLmhvc3RWaWV3KTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmW2RpYWxvZ0lkXS5kZXN0cm95KCk7XG4gICAgICB0aGlzLmNvbXBvbmVudFJlZltkaWFsb2dJZF0gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -232,10 +232,10 @@ export class OpenIdAuthService {
232
232
  }
233
233
  return isValid;
234
234
  }
235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthService, deps: [{ token: i1.Requestor }, { token: i2.TranslateService }, { token: i3.MessageBarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
236
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthService }); }
235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthService, deps: [{ token: i1.Requestor }, { token: i2.TranslateService }, { token: i3.MessageBarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
236
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthService }); }
237
237
  }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OpenIdAuthService, decorators: [{
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OpenIdAuthService, decorators: [{
239
239
  type: Injectable
240
240
  }], ctorParameters: () => [{ type: i1.Requestor }, { type: i2.TranslateService }, { type: i3.MessageBarService }] });
241
241
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmlkLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvb3BlbmlkLWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3pGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLHNCQUFzQixFQUd0QixZQUFZLEVBQ1osYUFBYSxFQUNkLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQUcvRCxNQUFNLGFBQWEsR0FBRyxrQ0FBa0MsQ0FBQztBQUN6RCxNQUFNLFlBQVksR0FBRyxpQ0FBaUMsQ0FBQztBQUN2RCxNQUFNLGdCQUFnQixHQUFHLG1EQUFtRCxDQUFDO0FBQzdFLE1BQU0saUJBQWlCLEdBQUcsc0NBQXNDLENBQUM7QUFDakUsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDO0FBQ3RDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQUN0QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUM7QUFDekIsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUM7QUFnQnpDLE1BQU0sT0FBTyxp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UyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFFBQWdCLEVBQUUsWUFBb0IsRUFBRSxVQUFrQixFQUFFLFNBQWlCO1FBQzFHLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUVuQixJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3BKLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQztZQUN0RixPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOytHQTFQVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVXNlckluZm8gfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvbW9kZWwvdXNlci1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyU2VydmljZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVzc2FnZS1iYXIvbWVzc2FnZS1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBvcGVuQmFja2dyb3VuZElmcmFtZSB9IGZyb20gJy4uL3V0aWxzL2hlbHBlci51dGlsJztcbmltcG9ydCB7IExvY2FsaXphdGlvbiB9IGZyb20gJy4uL2VudW1zL2xvY2FsaXphdGlvbi5lbnVtJztcbmltcG9ydCB7IE1lc3NhZ2VCYXJQb3NpdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvbWVzc2FnZS1iYXIvbWVzc2FnZS1iYXItcG9zaXRpb24uZW51bSc7XG5pbXBvcnQge1xuICBBdXRob3JpemF0aW9uTm90aWZpZXIsXG4gIEF1dGhvcml6YXRpb25SZXF1ZXN0LFxuICBBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb24sXG4gIEJhc2VUb2tlblJlcXVlc3RIYW5kbGVyLFxuICBHUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERSxcbiAgUmVkaXJlY3RSZXF1ZXN0SGFuZGxlcixcbiAgUmVxdWVzdG9yLFxuICBTdHJpbmdNYXAsXG4gIFRva2VuUmVxdWVzdCxcbiAgVG9rZW5SZXNwb25zZVxufSBmcm9tICdAb3BlbmlkL2FwcGF1dGgnO1xuaW1wb3J0IHsgaXNOdWxsT3JFbXB0eSB9IGZyb20gJy4uL3V0aWxzL2N1c3RvbS12YWxpZGF0b3IudXRpbCc7XG5cblxuY29uc3QgTFNfSVNTVUVSX1VSSSA9ICdhdXRob3JpemF0aW9uLnNlcnZpY2UuaXNzdWVyX3VyaSc7XG5jb25zdCBMU19VU0VSX0lORk8gPSAnYXV0aG9yaXphdGlvbi5zZXJ2aWNlLnVzZXJfaW5mbyc7XG5jb25zdCBMU19PUEVOSURfQ09ORklHID0gJ2F1dGhvcml6YXRpb24uc2VydmljZS5wYXJzZWRfb3BlbmlkX2NvbmZpZ3VyYXRpb24nO1xuY29uc3QgTFNfVE9LRU5fUkVTUE9OU0UgPSAnYXV0aG9yaXphdGlvbi5zZXJ2aWNlLnRva2VuX3Jlc3BvbnNlJztcbmNvbnN0IENMSUVOVF9TRUNSRVQgPSAnY2xpZW50X3NlY3JldCc7XG5jb25zdCBDT0RFX1ZFUklGSUVSID0gJ2NvZGVfdmVyaWZpZXInO1xuY29uc3QgT1BFTl9JRCA9ICdvcGVuaWQnO1xuY29uc3QgT1BFTl9JRF9QUk9GSUxFID0gJ29wZW5pZCBwcm9maWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgaXNzdWVyX3VyaTogc3RyaW5nO1xuICBjbGllbnRfaWQ6IHN0cmluZztcbiAgY2xpZW50X3NlY3JldD86IHN0cmluZztcbiAgcmVkaXJlY3RfdXJpOiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xuICBleHRyYXM/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhbEVudmlyb25tZW50SW5mbyB7XG4gIHByb2R1Y3Rpb24/OiBib29sZWFuO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3BlbklkQXV0aFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgbm90aWZpZXIgPSBuZXcgQXV0aG9yaXphdGlvbk5vdGlmaWVyKCk7XG4gIHByaXZhdGUgYXV0aG9yaXphdGlvbkhhbmRsZXIgPSBuZXcgUmVkaXJlY3RSZXF1ZXN0SGFuZGxlcigpOyAvLyAgM3JkIHBhcnR5XG4gIHByaXZhdGUgX3Rva2VuUmVzcG9uc2VzOiBCZWhhdmlvclN1YmplY3Q8VG9rZW5SZXNwb25zZSB8IG51bGw+O1xuICBwcml2YXRlIF91c2VySW5mb3M6IEJlaGF2aW9yU3ViamVjdDxVc2VySW5mbyB8IG51bGw+O1xuICBwcml2YXRlIF9zZXJ2aWNlQ29uZmlnczogQmVoYXZpb3JTdWJqZWN0PEF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbiB8IG51bGw+O1xuICBwcml2YXRlIGF1dGhvcml6YXRpb25Db25maWc6IEF1dGhvcml6YXRpb25Db25maWcgJiBHZW5lcmFsRW52aXJvbm1lbnRJbmZvO1xuICBwcml2YXRlIGxvZ291dFVybCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxdWVzdG9yOiBSZXF1ZXN0b3IsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBtZXNzYWdlQmFyU2VydmljZTogTWVzc2FnZUJhclNlcnZpY2UpIHtcbiAgfVxuXG4gIEluaXQoKSB7XG4gICAgdGhpcy5hdXRob3JpemF0aW9uSGFuZGxlci5zZXRBdXRob3JpemF0aW9uTm90aWZpZXIodGhpcy5ub3RpZmllcik7XG4gICAgLy8gYXR0ZW1wdCB0byByZXN0b3JlIHByZXZpb3VzIHZhbHVlcyBvZiB0aGUgbWV0YWRhdGEgY29uZmlnLCB0b2tlbiByZXNwb25zZSwgYW5kIHVzZXIgaW5mb1xuICAgIGxldCBhdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb246IEF1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbiB8IG51bGwgPSBudWxsO1xuICAgIGxldCB0b2tlblJlc3BvbnNlOiBUb2tlblJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHVzZXJJbmZvOiBVc2VySW5mbyB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gdmVyaWZ5IHRoYXQgd2UgYXJlIHN0aWxsIHdvcmtpbmcgd2l0aCB0aGUgc2FtZSBJRFAsIHNpbmNlIGEgcmVsb2FkIG1heVxuICAgIC8vIGhhdmUgYmVlbiBkdWUgdG8gYW4gdW5kZXJseWluZyBjb25maWd1cmF0aW9uIGNoYW5nZVxuICAgIGlmICh0aGlzLmF1dGhvcml6YXRpb25Db25maWcuaXNzdWVyX3VyaSA9PT0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExTX0lTU1VFUl9VUkkpKSB7XG4gICAgICBjb25zdCBzZXJ2aWNlQ29uZmlnSlNPTiA9IEpTT04ucGFyc2Uod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKExTX09QRU5JRF9DT05GSUcpISk7XG4gICAgICBhdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb24gPSBzZXJ2aWNlQ29uZmlnSlNPTiAmJiBuZXcgQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uKHNlcnZpY2VDb25maWdKU09OKTtcbiAgICAgIGNvbnN0IHRva2VuUmVzcG9uc2VKU09OID0gSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oTFNfVE9LRU5fUkVTUE9OU0UpISk7XG4gICAgICB0b2tlblJlc3BvbnNlID0gdG9rZW5SZXNwb25zZUpTT04gJiYgbmV3IFRva2VuUmVzcG9uc2UodG9rZW5SZXNwb25zZUpTT04pO1xuICAgICAgdXNlckluZm8gPSBKU09OLnBhcnNlKHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShMU19VU0VSX0lORk8pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbmV3IGlzc3VlciAob3IgZmlyc3QgcnVuLCBvciBjbGVhcmVkIHNlc3Npb24pXG4gICAgICAvLyBtYWtlIHN1cmUgd2Ugc3RvcmUgdGhlIGlzc3VlciwgYW5kIGhhdmUgbm8gb3RoZXIgc3RhdGVcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShMU19JU1NVRVJfVVJJLCB0aGlzLmF1dGhvcml6YXRpb25Db25maWcuaXNzdWVyX3VyaSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTFNfT1BFTklEX0NPTkZJRyk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTFNfVVNFUl9JTkZPKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShMU19UT0tFTl9SRVNQT05TRSk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHN1YmplY3RzIHdpdGggdGhlIGN1cnJlbnQgdmFsdWVzIChvciBudWxsKVxuICAgIHRoaXMuX3Rva2VuUmVzcG9uc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0b2tlblJlc3BvbnNlKTtcbiAgICB0aGlzLl9zZXJ2aWNlQ29uZmlncyA9IG5ldyBCZWhhdmlvclN1YmplY3QoYXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLl91c2VySW5mb3MgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVzZXJJbmZvKTtcblxuICAgIC8vIHVwZGF0ZSBsb2NhbCBzdG9yYWdlIG9uIGNoYW5nZXNcbiAgICB0aGlzLlVwZGF0ZUxvY2FsU3RvcmFnZU9uQ2hhbmdlcygpO1xuICAgIHRoaXMuaW5pdExpc3RlbmVycygpO1xuXG4gICAgLy8gc3RhcnQgZmV0Y2hpbmcgbWV0YWRhdGFcbiAgICBpZiAoYXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uID09IG51bGwgJiYgdGhpcy5hdXRob3JpemF0aW9uQ29uZmlnLmlzc3Vlcl91cmkpIHtcbiAgICAgIHRoaXMuZmV0Y2hTZXJ2aWNlQ29uZmlndXJhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdExpc3RlbmVycygpIHtcbiAgICAvLyBtb25pdG9yIGNoYW5nZXMgaW4gbWV0YWRhdGEvdG9rZW5zIHRvIHBvc3NpYmx5IGNsZWFyIGRlcGVuZGVudCB2YWx1ZXMsXG4gICAgLy8gYW5kIHRvIGZldGNoIHVzZXJJbmZvLlxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3NlcnZpY2VDb25maWdzLCB0aGlzLl90b2tlblJlc3BvbnNlc10pXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAoW2NvbmZpZ3VyYXRpb24sIHRva2VuXTogW0F1dGhvcml6YXRpb25TZXJ2aWNlQ29uZmlndXJhdGlvbiB8IG51bGwsIFRva2VuUmVzcG9uc2UgfCBudWxsXSkgPT4ge1xuXG4gICAgICAgICAgLy8gaWYgdGhlIHNlcnZpY2UgY29uZmlnIGlzIGNsZWFyZWQsIHdlIG5lZWQgdG8gaW52YWxpZGF0ZSBhbnkgVG9rZW5SZXNwb25zZS91c2VySW5mb1xuICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uID09PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAodG9rZW4gIT0gbnVsbCkge1xuICAgICAgICAgICAgICB0aGlzLl90b2tlblJlc3BvbnNlcy5uZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fdXNlckluZm9zLm5leHQobnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gaWYgdGhlIHRva2VuIGlzIGNsZWFyZWQsIGFzc3VtZSB1c2VyaW5mbyBpcyBpbnZhbGlkYXRlZCB0b29cbiAgICAgICAgICBpZiAodG9rZW4gPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fdXNlckluZm9zLm5leHQobnVsbCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhIHVzZXIgaW5mbyBlbmRwb2ludCwgd2UgY2FuJ3QgZmV0Y2ggdXNlciBpbmZvXG4gICAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24udXNlckluZm9FbmRwb2ludCA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygndXNlcmluZm8gY2Fubm90IGJlIGVtaXR0ZWQgLSB1c2VyaW5mbyBlbmRwb2ludCBub3Qgc3BlY2lmaWVkIGJ5IG1ldGFkYXRhJyk7XG4gICAgICAgICAgICB0aGlzLl91c2VySW5mb3MubmV4dChudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBmZXRjaCB1c2VyIGluZm8sIGlmIG5vbmVcbiAgICAgICAgICBpZiAodGhpcy5fdXNlckluZm9zLnZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VXNlckluZm9ybWF0aW9uV2l0aFRoZVRva2VuKHRva2VuLCBjb25maWd1cmF0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVc2VySW5mb3JtYXRpb25XaXRoVGhlVG9rZW4odG9rZW4sIGNvbmZpZ3VyYXRpb24pIHtcbiAgICBjb25zdCBhY2Nlc3NUb2tlbiA9IHRva2VuLmFjY2Vzc1Rva2VuO1xuICAgIHRoaXMucmVxdWVzdG9yLnhocjxVc2VySW5mbz4oe1xuICAgICAgdXJsOiBjb25maWd1cmF0aW9uLnVzZXJJbmZvRW5kcG9pbnQsXG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgZGF0YVR5cGU6ICdqc29uJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7YWNjZXNzVG9rZW59YCB9XG4gICAgfSkudGhlbigodXNlcmluZm8pID0+IHtcbiAgICAgIHRoaXMuX3VzZXJJbmZvcy5uZXh0KHVzZXJpbmZvKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgVXBkYXRlTG9jYWxTdG9yYWdlT25DaGFuZ2VzKCkge1xuICAgIC8vIHVwZGF0ZSBsb2NhbCBzdG9yYWdlIG9uIGNoYW5nZXNcbiAgICB0aGlzLl9zZXJ2aWNlQ29uZmlncy5zdWJzY3JpYmUoKGNvbmZpZzogQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uIHwgbnVsbCkgPT4ge1xuICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoY29uZmlnLCBMU19PUEVOSURfQ09ORklHKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX3Rva2VuUmVzcG9uc2VzLnN1YnNjcmliZSgodG9rZW46IFRva2VuUmVzcG9uc2UgfCBudWxsKSA9PiB7XG4gICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSh0b2tlbiwgTFNfVE9LRU5fUkVTUE9OU0UpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fdXNlckluZm9zLnN1YnNjcmliZSgoaW5mbzogVXNlckluZm8gfCBudWxsKSA9PiB7XG4gICAgICB0aGlzLnNldExvY2FsU3RvcmFnZShpbmZvLCBMU19VU0VSX0lORk8sIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TG9jYWxTdG9yYWdlKHBhcmFtOiBhbnksIGtleTogc3RyaW5nLCB0b0pzb24gPSB0cnVlKSB7XG4gICAgaWYgKHBhcmFtKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh0b0pzb24gPyBwYXJhbT8udG9Kc29uKCkgOiBwYXJhbSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VydmljZUNvbmZpZ3VyYXRpb24oKTogT2JzZXJ2YWJsZTxBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb24gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2VDb25maWdzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5SZXNwb25zZSgpOiBPYnNlcnZhYmxlPFRva2VuUmVzcG9uc2UgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rva2VuUmVzcG9uc2VzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdXNlckluZm9zKCk6IE9ic2VydmFibGU8VXNlckluZm8gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXJJbmZvcy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIGF1dGhvcml6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXJ2aWNlQ29uZmlnc1xuICAgICAgLnBpcGUoZmlsdGVyKCh2YWx1ZTogYW55KSA9PiB2YWx1ZSAhPSBudWxsKSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChjb25maWd1cmF0aW9uOiBBdXRob3JpemF0aW9uU2VydmljZUNvbmZpZ3VyYXRpb24pID0+IHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSB0aGlzLmF1dGhvcml6YXRpb25Db25maWcuc2NvcGUgfHwgT1BFTl9JRF9QUk9GSUxFO1xuICAgICAgICAvLyBjcmVhdGUgYSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgQXV0aG9yaXphdGlvblJlcXVlc3Qoe1xuICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5hdXRob3JpemF0aW9uQ29uZmlnLmNsaWVudF9pZCxcbiAgICAgICAgICByZWRpcmVjdF91cmk6IHRoaXMuYXV0aG9yaXphdGlvbkNvbmZpZy5yZWRpcmVjdF91cmksXG4gICAgICAgICAgc2NvcGU6IHNjb3BlLFxuICAgICAgICAgIHJlc3BvbnNlX3R5cGU6IEF1dGhvcml6YXRpb25SZXF1ZXN0LlJFU1BPTlNFX1RZUEVfQ09ERSxcbiAgICAgICAgICBleHRyYXM6IHRoaXMuYXV0aG9yaXphdGlvbkNvbmZpZy5leHRyYXNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXV0aG9yaXphdGlvbkhhbmRsZXIucGVyZm9ybUF1dGhvcml6YXRpb25SZXF1ZXN0KGNvbmZpZ3VyYXRpb24sIHJlcXVlc3QpO1xuICAgICAgfSk7XG4gIH1cblxuICBzaWduT3V0KCk6IHZvaWQge1xuICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xuICAgIHRoaXMuX3Rva2VuUmVzcG9uc2VzLm5leHQobnVsbCk7XG4gICAgb3BlbkJhY2tncm91bmRJZnJhbWUodGhpcy5sb2dvdXRVcmwpO1xuICB9XG5cbiAgY29tcGxldGVBdXRob3JpemF0aW9uUmVxdWVzdCgpOiBQcm9taXNlPFRva2VuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5fc2VydmljZUNvbmZpZ3NcbiAgICAgICAgLnBpcGUoZmlsdGVyKCh2YWx1ZTogYW55KSA9PiB2YWx1ZSAhPSBudWxsKSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY29uZmlndXJhdGlvbjogQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uKSA9PiB7XG4gICAgICAgICAgLy8gY29uc29sZS5sb2coJ3NldHRpbmcgbGlzdGVuZXInKTtcbiAgICAgICAgICB0aGlzLm5vdGlmaWVyLnNldEF1dGhvcml6YXRpb25MaXN0ZW5lcigocmVxdWVzdCwgcmVzcG9uc2UsIGVycm9yKSA9PiB7XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygnQXV0aG9yaXphdGlvbiByZXF1ZXN0IGNvbXBsZXRlICcsIHJlcXVlc3QsIHJlc3BvbnNlLCBlcnJvcik7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuY29kZSkge1xuICAgICAgICAgICAgICBjb25zdCB0b2tlbkhhbmRsZXIgPSBuZXcgQmFzZVRva2VuUmVxdWVzdEhhbmRsZXIodGhpcy5yZXF1ZXN0b3IpO1xuICAgICAgICAgICAgICAvLyB1c2UgdGhlIGNvZGUgdG8gbWFrZSB0aGUgdG9rZW4gcmVxdWVzdC5cbiAgICAgICAgICAgICAgY29uc3QgZXh0cmFzOiBTdHJpbmdNYXAgPSB7fTtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYXV0aG9yaXphdGlvbkNvbmZpZz8uY2xpZW50X3NlY3JldCkge1xuICAgICAgICAgICAgICAgIGV4dHJhc1tDTElFTlRfU0VDUkVUXSA9IHRoaXMuYXV0aG9yaXphdGlvbkNvbmZpZy5jbGllbnRfc2VjcmV0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChyZXF1ZXN0LmludGVybmFsKSB7XG4gICAgICAgICAgICAgICAgZXh0cmFzW0NPREVfVkVSSUZJRVJdID0gcmVxdWVzdC5pbnRlcm5hbFtDT0RFX1ZFUklGSUVSXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCB0b2tlblJlcXVlc3QgPSBuZXcgVG9rZW5SZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICBjbGllbnRfaWQ6IHRoaXMuYXV0aG9yaXphdGlvbkNvbmZpZy5jbGllbnRfaWQsXG4gICAgICAgICAgICAgICAgcmVkaXJlY3RfdXJpOiB0aGlzLmF1dGhvcml6YXRpb25Db25maWcucmVkaXJlY3RfdXJpLFxuICAgICAgICAgICAgICAgIGdyYW50X3R5cGU6IEdSQU5UX1RZUEVfQVVUSE9SSVpBVElPTl9DT0RFLFxuICAgICAgICAgICAgICAgIGNvZGU6IHJlc3BvbnNlLmNvZGUsXG4gICAgICAgICAgICAgICAgZXh0cmFzOiBleHRyYXNcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtVG9rZW5SZXF1ZXN0KHJlc29sdmUsIHRva2VuSGFuZGxlciwgY29uZmlndXJhdGlvbiwgdG9rZW5SZXF1ZXN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zb2xlLmxvZygnYXR0ZW1wdCB0byBjb21wbGV0ZSByZXF1ZXN0Jyk7XG4gICAgICAgICAgdGhpcy5hdXRob3JpemF0aW9uSGFuZGxlci5jb21wbGV0ZUF1dGhvcml6YXRpb25SZXF1ZXN0SWZQb3NzaWJsZSgpO1xuICAgICAgICB9LCByZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJmb3JtVG9rZW5SZXF1ZXN0KFxuICAgIHJlc29sdmU6ICh2YWx1ZTogVG9rZW5SZXNwb25zZSB8IFByb21pc2VMaWtlPFRva2VuUmVzcG9uc2U+KSA9PiB2b2lkLFxuICAgIHRva2VuSGFuZGxlcjogQmFzZVRva2VuUmVxdWVzdEhhbmRsZXIsXG4gICAgY29uZmlndXJhdGlvbjogQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uLFxuICAgIHRva2VuUmVxdWVzdDogVG9rZW5SZXF1ZXN0KSB7XG4gICAgY29uc29sZS5sb2coJ21ha2luZyB0b2tlbiByZXF1ZXN0OicgKyBKU09OLnN0cmluZ2lmeSh0b2tlblJlcXVlc3QudG9TdHJpbmdNYXAoKSkpO1xuICAgIHRva2VuSGFuZGxlci5wZXJmb3JtVG9rZW5SZXF1ZXN0KGNvbmZpZ3VyYXRpb24sIHRva2VuUmVxdWVzdClcbiAgICAgIC50aGVuKCh0b2tlblJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZWNlaXZlZCB0b2tlbiByZXNwb25zZSAnLCB0b2tlblJlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5fdG9rZW5SZXNwb25zZXMubmV4dCh0b2tlblJlc3BvbnNlKTtcbiAgICAgICAgcmVzb2x2ZSh0b2tlblJlc3BvbnNlKTtcbiAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgdGhpcy5zaWduT3V0KCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChMb2NhbGl6YXRpb24uZ2VuZXJhbF9lcnJvcik7XG4gICAgICAgIHRoaXMubWVzc2FnZUJhclNlcnZpY2UuZXJyb3IobWVzc2FnZSwgeyBwb3NpdGlvbjogTWVzc2FnZUJhclBvc2l0aW9uLlN0YXRpYyB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBmZXRjaFNlcnZpY2VDb25maWd1cmF0aW9uKCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQXV0aG9yaXphdGlvblNlcnZpY2VDb25maWd1cmF0aW9uLmZldGNoRnJvbUlzc3Vlcih0aGlzLmF1dGhvcml6YXRpb25Db25maWcuaXNzdWVyX3VyaSwgdGhpcy5yZXF1ZXN0b3IpO1xuICAgIHRoaXMuX3NlcnZpY2VDb25maWdzLm5leHQocmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIHNldEF1dGhvcml6YXRpb25Db25maWcoY2xpZW50SWQ6IHN0cmluZywgY2xpZW50U2VjcmV0OiBzdHJpbmcsIHRlbmFudE5hbWU6IHN0cmluZywgaXNzdWVyVXJpOiBzdHJpbmcpIHtcbiAgICBjb25zdCBiYXNlVXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufS8ke3RlbmFudE5hbWV9L2FjY291bnQvb3BlbmlkLWNhbGxiYWNrYDtcbiAgICAvLyBjb25zb2xlLmxvZyhgYmFzZVVybCA9PT09PT09PT09PT09PiAke2Jhc2VVcmx9YCk7XG5cbiAgICB0aGlzLmF1dGhvcml6YXRpb25Db25maWcgPSB7XG4gICAgICBwcm9kdWN0aW9uOiBmYWxzZSxcbiAgICAgIGlzc3Vlcl91cmk6IGlzc3VlclVyaSxcbiAgICAgIGNsaWVudF9pZDogY2xpZW50SWQsXG4gICAgICBjbGllbnRfc2VjcmV0OiBjbGllbnRTZWNyZXQsXG4gICAgICByZWRpcmVjdF91cmk6IGJhc2VVcmwsXG4gICAgICBzY29wZTogT1BFTl9JRF9QUk9GSUxFXG4gICAgfVxuXG4gICAgdGhpcy5sb2dvdXRVcmwgPSBgJHtpc3N1ZXJVcml9L3NpZ25vZmY/Y2xpZW50X2lkPSR7Y2xpZW50SWR9YDtcbiAgICAvLyBjb25zb2xlLmxvZygnYXV0aG9yaXphdGlvbkNvbmZpZyA9PT09PT09PT09PT09PiA6JywgdGhpcy5hdXRob3JpemF0aW9uQ29uZmlnKVxuICAgIC8vIGNvbnNvbGUubG9nKCdsb2dvdXRVcmwgPT09PT09PT09PT09PT4gOiAnLCB0aGlzLmxvZ291dFVybCk7XG4gICAgdGhpcy52YWxpZGF0ZUNvbmZpZ3VyYXRpb25zKGNsaWVudElkLCBjbGllbnRTZWNyZXQsIHRlbmFudE5hbWUsIGlzc3VlclVyaSk7XG4gICAgdGhpcy5Jbml0KCk7XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ29uZmlndXJhdGlvbnMoY2xpZW50SWQ6IHN0cmluZywgY2xpZW50U2VjcmV0OiBzdHJpbmcsIHRlbmFudE5hbWU6IHN0cmluZywgaXNzdWVyVXJpOiBzdHJpbmcpIHtcbiAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG5cbiAgICBpZiAoaXNOdWxsT3JFbXB0eShjbGllbnRJZD8udHJpbSgpKSB8fCBpc051bGxPckVtcHR5KGNsaWVudFNlY3JldD8udHJpbSgpKSB8fCBpc051bGxPckVtcHR5KHRlbmFudE5hbWU/LnRyaW0oKSkgfHwgaXNOdWxsT3JFbXB0eShpc3N1ZXJVcmk/LnRyaW0oKSkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvcjogT25lIG9yIG1vcmUgcmVxdWlyZWQgcGFyYW1ldGVycyBmb3IgU1NPIGFyZSBtaXNzaW5nIG9yIGVtcHR5LlwiKTtcbiAgICAgIGlzVmFsaWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNWYWxpZDtcbiAgfVxufVxuIl19
@@ -34,13 +34,13 @@ export class ParkTimeService {
34
34
  populateFacilityDateTime(timeDrift, spTimeZone, serverClientTimeSpan) {
35
35
  return moment.tz(spTimeZone).subtract(serverClientTimeSpan, 'milliseconds').subtract(timeDrift, 'seconds');
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParkTimeService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParkTimeService }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParkTimeService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParkTimeService }); }
39
39
  }
40
40
  __decorate([
41
41
  Select(FacilityState.selected)
42
42
  ], ParkTimeService.prototype, "facility$", void 0);
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ParkTimeService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ParkTimeService, decorators: [{
44
44
  type: Injectable
45
45
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { facility$: [] } });
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyay10aW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3BhcmstdGltZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxNQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBSW5FLE1BQU0sT0FBTyxlQUFlO0lBTzFCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBdUJ4QixlQUFVLEdBQUcsQ0FBQyxRQUFxQixFQUFFLElBQWEsRUFBc0IsRUFBRTtZQUNoRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUMzRixNQUFNLFlBQVksR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxTQUFTLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0osQ0FBQyxDQUFBO1FBM0JDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sdUJBQXVCLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDekQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ3BELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFM0YsTUFBTSxRQUFRLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFNBQVMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUN2RCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBU08sd0JBQXdCLENBQUMsU0FBaUIsRUFBRSxVQUFrQixFQUFFLG9CQUE0QjtRQUNsRyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0csQ0FBQzsrR0F2Q1UsZUFBZTttSEFBZixlQUFlOztBQUcxQjtJQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO2tEQUNJOzRGQUh4QixlQUFlO2tCQUQzQixVQUFVOzBFQUlULFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZhY2lsaXR5U3RhdGUgfSBmcm9tICcuLi9tb2R1bGVzL2ZhY2lsaXR5L2ZhY2lsaXR5LnN0YXRlJztcbmltcG9ydCB7IEZhY2lsaXR5RHRvIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9ycGMtc2VydmljZS1wcm94aWVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhcmtUaW1lU2VydmljZSB7XG5cbiAgQFNlbGVjdChGYWNpbGl0eVN0YXRlLnNlbGVjdGVkKVxuICBmYWNpbGl0eSQ6IE9ic2VydmFibGU8RmFjaWxpdHlEdG8+O1xuXG4gIHB1YmxpYyBjdXJyZW50VGltZSQ6IE9ic2VydmFibGU8TW9tZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHRoaXMuaW5pdEN1cnJlbnRUaW1lKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudERhdGVUaW1lVGltZXIoZ3VpZDogc3RyaW5nLCBwYXJrSWQ6IG51bWJlcik6IE9ic2VydmFibGU8TW9tZW50PiB7XG4gICAgY29uc3QgZmFjaWxpdHlEaWN0aW9uYXJ5ID0gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChGYWNpbGl0eVN0YXRlLmZhY2lsaXR5RGljdGlvbmFyeSk7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnRUaW1lcihmYWNpbGl0eURpY3Rpb25hcnlbZ3VpZF1bcGFya0lkXSwgZ3VpZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3VycmVudERhdGVUaW1lKHBhcmtJZDogbnVtYmVyLCBndWlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmYWNpbGl0eURpY3Rpb25hcnkgPSB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZmFjaWxpdHlEaWN0aW9uYXJ5KTtcbiAgICBjb25zdCBkaWZmRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5jbGllbnRTZXJ2ZXJEaWZmRGljdGlvbmFyeSk7XG5cbiAgICBjb25zdCBmYWNpbGl0eSA9IGZhY2lsaXR5RGljdGlvbmFyeVtndWlkXSA/IGZhY2lsaXR5RGljdGlvbmFyeVtndWlkXVtwYXJrSWRdIDogbnVsbDtcbiAgICByZXR1cm4gdGhpcy5wb3B1bGF0ZUZhY2lsaXR5RGF0ZVRpbWUoZmFjaWxpdHk/LnRpbWVEcmlmdCB8fCAwLCBmYWNpbGl0eT8uc3BUaW1lWm9uZSwgZGlmZkRpY3Rpb25hcnlbZ3VpZF0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q3VycmVudFRpbWUoKSB7XG4gICAgdGhpcy5jdXJyZW50VGltZSQgPSB0aGlzLmZhY2lsaXR5JC5waXBlKFxuICAgICAgZmlsdGVyKGZhY2lsaXR5ID0+ICEhZmFjaWxpdHkgJiYgIWZhY2lsaXR5LmlzTXVsdGlQYXJrKSxcbiAgICAgIHN3aXRjaE1hcChmYWNpbGl0eSA9PiB0aGlzLnN0YXJ0VGltZXIoZmFjaWxpdHkpKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0VGltZXIgPSAoZmFjaWxpdHk6IEZhY2lsaXR5RHRvLCBndWlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxNb21lbnQ+ID0+IHtcbiAgICBjb25zdCBkaWZmRGljdGlvbmFyeSA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoRmFjaWxpdHlTdGF0ZS5jbGllbnRTZXJ2ZXJEaWZmRGljdGlvbmFyeSk7XG4gICAgY29uc3QgZmFjaWxpdHlHdWlkID0gZ3VpZCB8fCB0aGlzLnN0b3JlLnNlbGVjdFNuYXBzaG90KEZhY2lsaXR5U3RhdGUuZ3VpZCk7XG4gICAgY29uc3Qgc2VydmVyQ2xpZW50VGltZVNwYW4gPSBkaWZmRGljdGlvbmFyeVtmYWNpbGl0eUd1aWRdIHx8IDA7XG4gICAgcmV0dXJuIHRpbWVyKDAsIDEwMDApLnBpcGUoc3RhcnRXaXRoKDApLCBtYXAoKCkgPT4gdGhpcy5wb3B1bGF0ZUZhY2lsaXR5RGF0ZVRpbWUoZmFjaWxpdHk/LnRpbWVEcmlmdCB8fCAwLCBmYWNpbGl0eT8uc3BUaW1lWm9uZSwgc2VydmVyQ2xpZW50VGltZVNwYW4pKSk7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlRmFjaWxpdHlEYXRlVGltZSh0aW1lRHJpZnQ6IG51bWJlciwgc3BUaW1lWm9uZTogc3RyaW5nLCBzZXJ2ZXJDbGllbnRUaW1lU3BhbjogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG1vbWVudC50eihzcFRpbWVab25lKS5zdWJ0cmFjdChzZXJ2ZXJDbGllbnRUaW1lU3BhbiwgJ21pbGxpc2Vjb25kcycpLnN1YnRyYWN0KHRpbWVEcmlmdCwgJ3NlY29uZHMnKTtcbiAgfVxufVxuIl19