@dsivd/prestations-ng 17.0.0-beta.8 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/UPGRADING_V17.md +49 -9
  3. package/dsivd-prestations-ng-17.0.0.tgz +0 -0
  4. package/esm2022/abstract-page-component.mjs +4 -4
  5. package/esm2022/directives/currency-formatter.directive.mjs +4 -4
  6. package/esm2022/directives/formatter.module.mjs +5 -5
  7. package/esm2022/directives/iban-formatter.directive.mjs +4 -4
  8. package/esm2022/directives/ide-formatter.directive.mjs +4 -4
  9. package/esm2022/directives/ndc-formatter.directive.mjs +4 -4
  10. package/esm2022/foehn-address/foehn-address.module.mjs +5 -5
  11. package/esm2022/foehn-address/foehn-display-address.component.mjs +4 -4
  12. package/esm2022/foehn-address/foehn-input-address.component.mjs +8 -13
  13. package/esm2022/foehn-address/foehn-input-foreign-locality.component.mjs +4 -4
  14. package/esm2022/foehn-address/foehn-input-foreign-street.component.mjs +4 -4
  15. package/esm2022/foehn-agenda/foehn-agenda-navigation/foehn-agenda-navigation.component.mjs +5 -5
  16. package/esm2022/foehn-agenda/foehn-agenda-timeslot-panel/foehn-agenda-timeslot-panel.component.mjs +6 -6
  17. package/esm2022/foehn-agenda/foehn-agenda.component.mjs +4 -4
  18. package/esm2022/foehn-agenda/foehn-agenda.module.mjs +5 -5
  19. package/esm2022/foehn-autocomplete/foehn-autocomplete.component.mjs +4 -4
  20. package/esm2022/foehn-autocomplete/foehn-autocomplete.module.mjs +5 -5
  21. package/esm2022/foehn-boolean/foehn-boolean-checkbox.component.mjs +4 -4
  22. package/esm2022/foehn-boolean/foehn-boolean-radio.component.mjs +4 -4
  23. package/esm2022/foehn-boolean/foehn-boolean.module.mjs +5 -5
  24. package/esm2022/foehn-breadcrumb/breadcrumb-event.service.mjs +4 -4
  25. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.component.mjs +4 -4
  26. package/esm2022/foehn-breadcrumb/foehn-breadcrumb.module.mjs +5 -5
  27. package/esm2022/foehn-checkables/foehn-checkable-group.component.mjs +4 -4
  28. package/esm2022/foehn-checkables/foehn-checkables.module.mjs +5 -5
  29. package/esm2022/foehn-checkables/foehn-checkbox.component.mjs +4 -4
  30. package/esm2022/foehn-checkables/foehn-radio.component.mjs +4 -4
  31. package/esm2022/foehn-checkables/foehn-select.component.mjs +4 -4
  32. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.component.mjs +4 -4
  33. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.module.mjs +5 -5
  34. package/esm2022/foehn-confirm-modal/foehn-confirm-modal.service.mjs +4 -4
  35. package/esm2022/foehn-date-picker/foehn-date-picker.component.mjs +5 -5
  36. package/esm2022/foehn-date-picker/foehn-date-picker.module.mjs +5 -5
  37. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.component.mjs +4 -4
  38. package/esm2022/foehn-date-picker-button/foehn-date-picker-button.module.mjs +5 -5
  39. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.mjs +4 -4
  40. package/esm2022/foehn-debug-summary/foehn-debug-summary.component.module.mjs +5 -5
  41. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.component.mjs +4 -4
  42. package/esm2022/foehn-decision-electronique/foehn-decision-electronique.module.mjs +5 -5
  43. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.component.mjs +5 -5
  44. package/esm2022/foehn-dropdown-menu/foehn-dropdown-menu.module.mjs +5 -5
  45. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +90 -0
  46. package/esm2022/foehn-feedback-notification/foehn-feedback-notification.module.mjs +32 -0
  47. package/esm2022/foehn-footer/foehn-footer.component.mjs +5 -5
  48. package/esm2022/foehn-footer/foehn-footer.module.mjs +5 -5
  49. package/esm2022/foehn-form/foehn-form.component.mjs +4 -4
  50. package/esm2022/foehn-form/foehn-form.module.mjs +5 -5
  51. package/esm2022/foehn-form/register-ng-model.service.mjs +4 -4
  52. package/esm2022/foehn-growl/foehn-growl.component.mjs +4 -4
  53. package/esm2022/foehn-growl/foehn-growl.module.mjs +5 -5
  54. package/esm2022/foehn-growl/growl-broker.service.mjs +4 -4
  55. package/esm2022/foehn-header/foehn-header.component.mjs +4 -4
  56. package/esm2022/foehn-header/foehn-header.module.mjs +5 -5
  57. package/esm2022/foehn-header/foehn-skip-link.component.mjs +4 -4
  58. package/esm2022/foehn-help-modal/foehn-help-modal.component.mjs +5 -5
  59. package/esm2022/foehn-help-modal/foehn-help-modal.module.mjs +5 -5
  60. package/esm2022/foehn-icons/abstract-icon-component.mjs +4 -4
  61. package/esm2022/foehn-icons/foehn-icon-calendar.component.mjs +4 -4
  62. package/esm2022/foehn-icons/foehn-icon-check-square-o.component.mjs +4 -4
  63. package/esm2022/foehn-icons/foehn-icon-check.component.mjs +4 -4
  64. package/esm2022/foehn-icons/foehn-icon-chevron-down.component.mjs +4 -4
  65. package/esm2022/foehn-icons/foehn-icon-chevron-left.component.mjs +4 -4
  66. package/esm2022/foehn-icons/foehn-icon-chevron-right.component.mjs +4 -4
  67. package/esm2022/foehn-icons/foehn-icon-chevron-up.component.mjs +4 -4
  68. package/esm2022/foehn-icons/foehn-icon-clock.component.mjs +4 -4
  69. package/esm2022/foehn-icons/foehn-icon-comment-dots.component.mjs +4 -4
  70. package/esm2022/foehn-icons/foehn-icon-edit.component.mjs +4 -4
  71. package/esm2022/foehn-icons/foehn-icon-external-link-alt.component.mjs +4 -4
  72. package/esm2022/foehn-icons/foehn-icon-file-pdf.component.mjs +4 -4
  73. package/esm2022/foehn-icons/foehn-icon-info-circle.component.mjs +4 -4
  74. package/esm2022/foehn-icons/foehn-icon-lock.component.mjs +4 -4
  75. package/esm2022/foehn-icons/foehn-icon-map-marker.component.mjs +4 -4
  76. package/esm2022/foehn-icons/foehn-icon-minus-circle.component.mjs +4 -4
  77. package/esm2022/foehn-icons/foehn-icon-pencil.component.mjs +4 -4
  78. package/esm2022/foehn-icons/foehn-icon-plus-circle.component.mjs +4 -4
  79. package/esm2022/foehn-icons/foehn-icon-plus-square.component.mjs +4 -4
  80. package/esm2022/foehn-icons/foehn-icon-search.component.mjs +4 -4
  81. package/esm2022/foehn-icons/foehn-icon-times.component.mjs +4 -4
  82. package/esm2022/foehn-icons/foehn-icon-trash-alt.component.mjs +4 -4
  83. package/esm2022/foehn-icons/foehn-icon-unlock-alt.component.mjs +4 -4
  84. package/esm2022/foehn-icons/foehn-icon-user.component.mjs +4 -4
  85. package/esm2022/foehn-icons/foehn-icons.module.mjs +5 -5
  86. package/esm2022/foehn-input/foehn-input-email.component.mjs +4 -4
  87. package/esm2022/foehn-input/foehn-input-hidden.component.mjs +4 -4
  88. package/esm2022/foehn-input/foehn-input-number.component.mjs +4 -4
  89. package/esm2022/foehn-input/foehn-input-password.component.mjs +4 -4
  90. package/esm2022/foehn-input/foehn-input-phone.component.mjs +4 -4
  91. package/esm2022/foehn-input/foehn-input-prefixed-text.component.mjs +4 -4
  92. package/esm2022/foehn-input/foehn-input-string.component.mjs +4 -4
  93. package/esm2022/foehn-input/foehn-input-text.component.mjs +4 -4
  94. package/esm2022/foehn-input/foehn-input-textarea.component.mjs +4 -4
  95. package/esm2022/foehn-input/foehn-input.component.mjs +4 -4
  96. package/esm2022/foehn-input/foehn-input.module.mjs +5 -5
  97. package/esm2022/foehn-input-date/foehn-input-date.component.mjs +4 -4
  98. package/esm2022/foehn-input-date-time/foehn-input-date-time.component.mjs +4 -4
  99. package/esm2022/foehn-input-time/foehn-input-time.component.mjs +4 -4
  100. package/esm2022/foehn-list/foehn-list.component.mjs +5 -5
  101. package/esm2022/foehn-list/foehn-list.module.mjs +5 -5
  102. package/esm2022/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +4 -4
  103. package/esm2022/foehn-menu-prestation/abstract-menu-page.component.mjs +4 -4
  104. package/esm2022/foehn-menu-prestation/abstract-page-from-menu.component.mjs +4 -4
  105. package/esm2022/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs +4 -4
  106. package/esm2022/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +4 -4
  107. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +4 -4
  108. package/esm2022/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs +4 -4
  109. package/esm2022/foehn-menu-prestation/foehn-menu-prestation.module.mjs +5 -5
  110. package/esm2022/foehn-misc/foehn-abbr.component.mjs +4 -4
  111. package/esm2022/foehn-misc/foehn-misc.module.mjs +5 -5
  112. package/esm2022/foehn-modal/foehn-modal.component.mjs +4 -4
  113. package/esm2022/foehn-modal/foehn-modal.module.mjs +5 -5
  114. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.component.mjs +6 -6
  115. package/esm2022/foehn-multiselect-autocomplete/foehn-multiselect-autocomplete.module.mjs +5 -5
  116. package/esm2022/foehn-nav13/foehn-input-nav13.component.mjs +4 -4
  117. package/esm2022/foehn-nav13/foehn-input-nav13.module.mjs +5 -5
  118. package/esm2022/foehn-navigation/abstract-foehn-navigation.component.mjs +4 -4
  119. package/esm2022/foehn-navigation/foehn-navigation/foehn-navigation.component.mjs +5 -5
  120. package/esm2022/foehn-navigation/foehn-navigation.module.mjs +5 -5
  121. package/esm2022/foehn-navigation/foehn-navigation.service.mjs +4 -4
  122. package/esm2022/foehn-navigation/foehn-simple-navigation/foehn-simple-navigation.component.mjs +5 -5
  123. package/esm2022/foehn-notfound/foehn-notfound.component.mjs +4 -4
  124. package/esm2022/foehn-notfound/foehn-notfound.module.mjs +5 -5
  125. package/esm2022/foehn-page/foehn-page-counter.component.mjs +4 -4
  126. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration-interceptor.mjs +4 -4
  127. package/esm2022/foehn-page/foehn-page-expiration-timer/demande-expiration.service.mjs +4 -4
  128. package/esm2022/foehn-page/foehn-page-expiration-timer/foehn-page-expiration-timer.component.mjs +4 -4
  129. package/esm2022/foehn-page/foehn-page-modal.component.mjs +4 -4
  130. package/esm2022/foehn-page/foehn-page-modal.service.mjs +4 -4
  131. package/esm2022/foehn-page/foehn-page.component.mjs +4 -4
  132. package/esm2022/foehn-page/foehn-page.module.mjs +5 -5
  133. package/esm2022/foehn-page/foehn-page.service.mjs +4 -4
  134. package/esm2022/foehn-page/foehn-transmit-waiting-modal/demande-transmit-interceptor.mjs +4 -4
  135. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.component.mjs +4 -4
  136. package/esm2022/foehn-page/foehn-transmit-waiting-modal/foehn-transmit-waiting-modal.service.mjs +4 -4
  137. package/esm2022/foehn-recap-section/foehn-recap-section.component.mjs +4 -4
  138. package/esm2022/foehn-recap-section/foehn-recap-section.module.mjs +5 -5
  139. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs +4 -4
  140. package/esm2022/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs +5 -5
  141. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +4 -4
  142. package/esm2022/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs +5 -5
  143. package/esm2022/foehn-table/foehn-table.component.mjs +5 -5
  144. package/esm2022/foehn-table/foehn-table.module.mjs +5 -5
  145. package/esm2022/foehn-upload/abstract-foehn-uploader.component.mjs +4 -4
  146. package/esm2022/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs +6 -19
  147. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +4 -4
  148. package/esm2022/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs +5 -5
  149. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +4 -4
  150. package/esm2022/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs +5 -5
  151. package/esm2022/foehn-upload/foehn-multi-upload/multi-upload.service.mjs +6 -19
  152. package/esm2022/foehn-upload/foehn-multi-upload/pending-upload.service.mjs +4 -4
  153. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +20 -47
  154. package/esm2022/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs +5 -5
  155. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.component.mjs +4 -4
  156. package/esm2022/foehn-upload/foehn-upload-progress-bar/foehn-upload-progress-bar.module.mjs +5 -5
  157. package/esm2022/foehn-upload/foehn-upload-progress-bar/upload-progress.service.mjs +4 -4
  158. package/esm2022/foehn-upload/page-upload-limit.service.mjs +4 -4
  159. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.component.mjs +4 -4
  160. package/esm2022/foehn-user-connected-as/foehn-user-connected-as.module.mjs +5 -5
  161. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs +4 -4
  162. package/esm2022/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs +5 -5
  163. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.component.mjs +4 -4
  164. package/esm2022/foehn-validation-alerts/foehn-validation-alerts.module.mjs +5 -5
  165. package/esm2022/gesdem/gesdem-error-handler.service.mjs +15 -13
  166. package/esm2022/gesdem/gesdem-event.service.mjs +4 -4
  167. package/esm2022/gesdem/gesdem-handler.service.mjs +14 -8
  168. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs +4 -4
  169. package/esm2022/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +30 -11
  170. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.module.mjs +5 -5
  171. package/esm2022/gesdem-action-recovery/gesdem-action-recovery.service.mjs +4 -4
  172. package/esm2022/gesdem-confirmation/gesdem-confirmation.component.mjs +7 -6
  173. package/esm2022/gesdem-confirmation/gesdem-confirmation.module.mjs +12 -8
  174. package/esm2022/gesdem-error/gesdem-error.component.mjs +4 -4
  175. package/esm2022/gesdem-error/gesdem-error.module.mjs +5 -5
  176. package/esm2022/pipes/currency.pipe.mjs +4 -4
  177. package/esm2022/pipes/date.pipe.mjs +4 -4
  178. package/esm2022/pipes/formatIde.pipe.mjs +4 -4
  179. package/esm2022/pipes/pipes.module.mjs +5 -5
  180. package/esm2022/prestations-ng-core.module.mjs +5 -5
  181. package/esm2022/public_api.mjs +4 -1
  182. package/esm2022/sdk-appinfo/application-info.mjs +1 -1
  183. package/esm2022/sdk-appinfo/application-info.service.mjs +4 -4
  184. package/esm2022/sdk-currency/currency.helper.mjs +4 -4
  185. package/esm2022/sdk-date/date.helper.mjs +4 -4
  186. package/esm2022/sdk-dictionary/default-dictionary.mjs +11 -3
  187. package/esm2022/sdk-dictionary/sdk-dictionary.module.mjs +5 -5
  188. package/esm2022/sdk-dictionary/sdk-dictionary.pipe.mjs +4 -4
  189. package/esm2022/sdk-dictionary/sdk-dictionary.service.mjs +4 -4
  190. package/esm2022/sdk-drafts/drafts-container.component.mjs +4 -4
  191. package/esm2022/sdk-drafts/drafts.module.mjs +5 -5
  192. package/esm2022/sdk-drafts/drafts.service.mjs +4 -4
  193. package/esm2022/sdk-epayment/sdk-epayment.component.mjs +4 -4
  194. package/esm2022/sdk-epayment/sdk-epayment.module.mjs +5 -5
  195. package/esm2022/sdk-epayment/sdk-epayment.service.mjs +4 -4
  196. package/esm2022/sdk-events-logger/sdk-events-logger.service.mjs +4 -4
  197. package/esm2022/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs +4 -4
  198. package/esm2022/sdk-recaptcha/recaptcha.service.mjs +8 -16
  199. package/esm2022/sdk-recaptcha/sdk-recaptcha.component.mjs +4 -4
  200. package/esm2022/sdk-recaptcha/sdk-recaptcha.module.mjs +5 -5
  201. package/esm2022/sdk-redirect/iam-expired-interceptor.service.mjs +10 -7
  202. package/esm2022/sdk-redirect/redirect.component.mjs +9 -5
  203. package/esm2022/sdk-redirect/sdk-redirect.module.mjs +5 -5
  204. package/esm2022/sdk-session-info/session-info-with-application.service.mjs +4 -4
  205. package/esm2022/sdk-session-info/session-info.service.mjs +4 -4
  206. package/esm2022/sdk-statistics/sdk-statistics.service.mjs +4 -4
  207. package/esm2022/sdk-support-alert/support-alert-container.component.mjs +4 -4
  208. package/esm2022/sdk-support-alert/support-alert.component.mjs +4 -4
  209. package/esm2022/sdk-support-alert/support-alert.module.mjs +5 -5
  210. package/esm2022/sdk-support-alert/support-alert.service.mjs +4 -4
  211. package/esm2022/supported-browser.mjs +2 -2
  212. package/esm2022/validation/validation-handler.service.mjs +4 -4
  213. package/fesm2022/dsivd-prestations-ng.mjs +893 -809
  214. package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
  215. package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +30 -0
  216. package/foehn-feedback-notification/foehn-feedback-notification.module.d.ts +11 -0
  217. package/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.d.ts +1 -4
  218. package/foehn-upload/foehn-multi-upload/multi-upload.service.d.ts +1 -4
  219. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +2 -4
  220. package/gesdem/gesdem-handler.service.d.ts +1 -1
  221. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +3 -1
  222. package/gesdem-confirmation/gesdem-confirmation.module.d.ts +2 -1
  223. package/package.json +1 -1
  224. package/public_api.d.ts +2 -0
  225. package/schematics/utility/foehn2-bootstrap5-migration.js +19 -2
  226. package/sdk-appinfo/application-info.d.ts +1 -0
  227. package/sdk-recaptcha/recaptcha.service.d.ts +1 -3
  228. package/dsivd-prestations-ng-17.0.0-beta.8.tgz +0 -0
package/CHANGELOG.md CHANGED
@@ -19,9 +19,59 @@
19
19
  - set `?updateOnly=false` to `api/validated` when saving from first page
20
20
 
21
21
  - [foehn-table.component.ts](projects/prestations-ng/src/foehn-table/foehn-table.component.ts)
22
+
22
23
  - added `@Input() title: string;` to set a title (caption) to the table
23
24
  - added `@Input() titleSrOnly: boolean;` when set to `true`, only screen readers will see the table title
24
25
 
26
+ - [foehn-feedback-notification.component.ts](projects/prestations-ng/src/foehn-feedback-notification/foehn-feedback-notification.component.ts)
27
+
28
+ - Component used to redirect to users feedback prestation by sending first feedback answer
29
+ - By default, it is added to [gesdem-confirmation.component.ts](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.component.ts)
30
+ - Can be activated through `Catalogue de prestations`
31
+
32
+ - [gesdem-action-recovery-registration.component.ts](projects/prestations-ng/src/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.ts)
33
+
34
+ - by default the form errors are not displayed when registering for recovery
35
+ - you can change that by setting the new `@Input() dispatchFormErrors:boolean` to `true`
36
+
37
+ ## [16.6.2]
38
+
39
+ ### Fixed
40
+
41
+ - [foehn-input-address.component.ts](projects/prestations-ng/src/foehn-address/foehn-input-address.component.ts)
42
+
43
+ - fixed bug where default country was not set when component was not on first page
44
+
45
+ - [foehn-page-counter.component.ts](projects/prestations-ng/src/foehn-page/foehn-page-counter.component.ts)
46
+ - Changed wording in default dictionary. Now displays `Page X sur Y`.
47
+
48
+ ## [16.6.1]
49
+
50
+ ### Fixed
51
+
52
+ - [IamExpiredInterceptorService](projects/prestations-ng/src/sdk-redirect/iam-expired-interceptor.service.ts)
53
+ - set default value to `isIamSessionExpired`
54
+
55
+ ## [16.6.0] - must be aligned with prestations-be
56
+
57
+ ### Fixed
58
+
59
+ - [gesdem-error-handler.service.ts](projects/prestations-ng/src/gesdem/gesdem-error-handler.service.ts)
60
+
61
+ - do not redirect to error page if iamExpiredInterceptorService has caught that IAM session is expired
62
+
63
+ ### Added
64
+
65
+ - [foehn-footer.component.ts](projects/prestations-ng/src/foehn-footer/foehn-footer.component.ts)
66
+ - display the app version in the green bar at the bottom of the page
67
+
68
+ ## [16.5.6]
69
+
70
+ ### Fixed
71
+
72
+ - [iam-expired-interceptor.service.ts](projects/prestations-ng/src/sdk-redirect/iam-expired-interceptor.service.ts)
73
+ - handle `BENEFICIARY_REQUIRED` exception globally
74
+
25
75
  ## [16.5.5]
26
76
 
27
77
  ### Added
package/UPGRADING_V17.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # PRESTAKIT : Upgrading from v16 to v17
2
2
 
3
+ For the commands in this guide, it is supposed that your are in the `front` folder of your project.
4
+
3
5
  ## PRESTATIONS-NG
4
6
 
5
7
  The main feature in `prestations-ng` v17 is the update of the `@angular/*` peer dependencies
@@ -7,6 +9,7 @@ to `^17.2.4`, using `node 20+` to build, `npm 10+` for package manager and `Foeh
7
9
 
8
10
  ### Migrating to ESLint
9
11
 
12
+ (NB : you can skip this step if you already have a `front/eslintrc.json` file, it means it is already done.)
10
13
  Follow [our migration guide](ESLINT_MIGRATION_GUIDE.md) to migrate your project from TSLint to ESLint.
11
14
 
12
15
  ### Package manager NPM instead of YARN
@@ -15,7 +18,7 @@ We now recommend using `npm` instead of `yarn`.
15
18
 
16
19
  **NB: Don't need `run` when running `npm` for https://docs.npmjs.com/cli/v10/commands**
17
20
 
18
- - When using `prestations-ng` as a link, you need to run:
21
+ - When using `prestations-ng` as a link, you need to run (you can do it in any case, it won't harm and like this you are sure):
19
22
 
20
23
  ```bash
21
24
  yarn unlink @dsivd/prestations-ng
@@ -24,6 +27,11 @@ yarn install --force
24
27
 
25
28
  - Delete `yarn.lock` file and `yarn-error.log` (if you have one).
26
29
  - You can search for `yarn` in your project and replace it by `npm run` (do not take into account `.browserslistrc` as it will be replaced).
30
+
31
+ ```bash
32
+ find . -type f ! -name '.browserslistrc' -exec sed -i 's/yarn/npm run/g' {} +
33
+ ```
34
+
27
35
  - Then run:
28
36
 
29
37
  ```bash
@@ -37,14 +45,18 @@ If you have vulnerabilities, you can run:
37
45
  npm update
38
46
  ```
39
47
 
48
+ NB: be patient...
49
+
40
50
  ### Updating to Angular 16
41
51
 
42
52
  [https://update.angular.io/?l=3&v=15.0-16.0](https://update.angular.io/?l=3&v=15.0-16.0)
43
53
 
44
54
  **NB: Commit before continuing so your repository is clean.**
45
55
 
56
+ Remove your `resolutions` in `package.json` before starting : if you have `resolutions` in `package.json`, remove manually the section.
57
+ In the next commands, commit before each ng update.
58
+
46
59
  ```bash
47
- # Remove your resolutions in package.json before starting
48
60
  ng update @angular/core@15 @angular/cli@15
49
61
  ng update @dsivd/prestations-ng@16
50
62
 
@@ -128,7 +140,7 @@ def args = [
128
140
 
129
141
  `prestations-ng` **v17+** now supports **Angular v17**.
130
142
 
131
- You can follow the Angular update guide at this address [https://update.angular.io/?l=3&v=16.0-17.0](https://update.angular.io/?l=3&v=16.0-17.0).
143
+ Just FYI if you are curious about the details, you can find the Angular update guide at this address [https://update.angular.io/?l=3&v=16.0-17.0](https://update.angular.io/?l=3&v=16.0-17.0).
132
144
 
133
145
  #### Update your `front/.gitignore` file
134
146
 
@@ -137,7 +149,6 @@ Add `/.nx/cache`
137
149
  #### When having migrated to ESLint
138
150
 
139
151
  ```bash
140
- # Remove your resolutions in package.json before starting
141
152
  npm install @angular/cli@17 -g
142
153
  ng update @angular/core@17 @angular/cli@17 --force
143
154
  ng update @dsivd/prestations-ng@latest
@@ -153,6 +164,9 @@ ng update \
153
164
  @types/node@20 \
154
165
  ts-node@10
155
166
 
167
+ npm remove puppeteer
168
+ npm install puppeteer@~22.7.1 --save-dev
169
+
156
170
  npm update
157
171
  ```
158
172
 
@@ -188,6 +202,7 @@ You will need to check manually your:
188
202
  ### Update ".eslintrc.json" file if your project was already migrated to ESLint
189
203
 
190
204
  **NB: Replace your current `.eslintrc.json` file by the one found in [ESLINT_MIGRATION.GUIDE](ESLINT_MIGRATION_GUIDE.md#customizing_eslint__inspired_from_otia_and_prestations-ng_s_files_for_rules_).**
205
+ You will have to fix the json file after the copy as it won't copy the double quotes around the properties. (ask IntelliJ to do it for you, alt-enter, Wrap with double quotes -> fix all compliance with json standard ...)
191
206
 
192
207
  Then run
193
208
 
@@ -217,6 +232,15 @@ Need to remove `CAPTCHA_URL_TOKEN` override
217
232
  })
218
233
  ```
219
234
 
235
+ ### gesdem-action-recovery-registration
236
+
237
+ If you use the `<gesdem-action-recovery-registration>` component in a page which includes some `<foehn-error-pill>` or `<foehn-menu-item>` (i.e. e-vaudtax, pocama, any form with a menu)
238
+ you should set `dispatchFormErrors` to `true` :
239
+
240
+ - `<gesdem-action-recovery-registration [dispatchFormErrors]="true"><gesdem-action-recovery-registration>`
241
+
242
+ Otherwise the pills wil be set to "Renseigné" after a recovery registration even if some errors remains.
243
+
220
244
  ### Language deprecations
221
245
 
222
246
  When using `intellij`, you can run code inspection on your project to fix manually deprecations. Two ways:
@@ -241,10 +265,20 @@ npm run build
241
265
  npm start
242
266
  ```
243
267
 
244
- Your are good to go if no errors are remaining!
268
+ Your are good if no errors are remaining!
269
+ Finally check if your tests run well :
270
+
271
+ ```bash
272
+ npm run test
273
+ ```
274
+
275
+ If there is a message complaining about HttpErrorResponse & NG0205: Injector has already been destroyed,
276
+ in your `app.component.spec.ts` file, add `HttpClientTestingModule` to `TestBed.configureTestingModule` in `beforeEach(waitForAsync` function
245
277
 
246
278
  ## PRESTATIONS-BE
247
279
 
280
+ From here on, we are back in the root folder of your project
281
+
248
282
  ### application.properties
249
283
 
250
284
  ```diff
@@ -268,10 +302,6 @@ recaptcha.cookie.path=${base.href}
268
302
  </parent>
269
303
  ```
270
304
 
271
- ##### Add new profile to maven.config
272
-
273
- Add new profile `-Pbuild-angular-front-npm`
274
-
275
305
  ##### Cleanup pom.xml
276
306
 
277
307
  Then remove following plugin:
@@ -348,6 +378,8 @@ Then remove following plugin:
348
378
  -</plugin>
349
379
  ```
350
380
 
381
+ If it is an Angular application but you have other configurations to build the front, add -Dskip-build-angular-front-npm in .mvn/maven-config at the same level as the pom.xml.
382
+
351
383
  #### Without application parent
352
384
 
353
385
  ```diff
@@ -475,3 +507,11 @@ Remove plugin executing some `yarn` (See `With application parent`) and replace
475
507
  </plugin>
476
508
  </plugins>
477
509
  ```
510
+
511
+ Finally, run
512
+
513
+ ```bash
514
+ mvn clean install
515
+ ```
516
+
517
+ Hopefully, you should see a successful build.
Binary file
@@ -211,13 +211,13 @@ export class AbstractPageComponent {
211
211
  gotToTop() {
212
212
  window.scrollTo(0, 0);
213
213
  }
214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AbstractPageComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive }); }
215
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: AbstractPageComponent, viewQueries: [{ propertyName: "foehnFormComponent", first: true, predicate: FoehnFormComponent, descendants: true, static: true }], ngImport: i0 }); }
214
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbstractPageComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Directive }); }
215
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: AbstractPageComponent, viewQueries: [{ propertyName: "foehnFormComponent", first: true, predicate: FoehnFormComponent, descendants: true, static: true }], ngImport: i0 }); }
216
216
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: AbstractPageComponent, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: AbstractPageComponent, decorators: [{
218
218
  type: Directive
219
219
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }], propDecorators: { foehnFormComponent: [{
220
220
  type: ViewChild,
221
221
  args: [FoehnFormComponent, { static: true }]
222
222
  }] } });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFnZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvYWJzdHJhY3QtcGFnZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEdBQUcsRUFDSCxZQUFZLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFv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Q0FBQztpQkFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRCxDQUFDO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRU8sbUNBQW1DO1FBQ3ZDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDL0MsTUFBTSxpQ0FBaUMsR0FDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFELGlDQUFpQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLFFBQVE7UUFDWixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOzhHQTFRaUIscUJBQXFCO2tHQUFyQixxQkFBcUIsOEVBRzVCLGtCQUFrQjs7MkZBSFgscUJBQXFCO2tCQUQxQyxTQUFTO21GQUtOLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgY2F0Y2hFcnJvcixcbiAgICBmaXJzdCxcbiAgICBtZXJnZU1hcCxcbiAgICBzaGFyZSxcbiAgICB0YXAsXG4gICAgdGhyb3R0bGVUaW1lXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQnJlYWRjcnVtYkV2ZW50U2VydmljZSB9IGZyb20gJy4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4vZm9laG4tZ3Jvd2wvZ3Jvd2wtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVuZGluZ1VwbG9hZFNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLXVwbG9hZC9mb2Vobi1tdWx0aS11cGxvYWQvcGVuZGluZy11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgSTE4bkZvcm0gfSBmcm9tICcuL2kxOG4tZm9ybSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtFdmVudFR5cGUgfSBmcm9tICcuL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudC10eXBlJztcbmltcG9ydCB7IFNka0V2ZW50c0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudHMtbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuL3NlcnZpY2UtbG9jYXRvcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIGNhbGwgaXMgb25seSBzdWJzY3JpYmVkIGFuZCBzZW5kIG9uZSBhdCB0aGUgdGltZS5cbiAqIEBwYXJhbSBmbiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYXMgY29uY3VycmVudCBzYWZlXG4gKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gKi9cbmZ1bmN0aW9uIGdldENvbmN1cnJlbnRTYWZlQ2FsbDxUPihmbjogKCkgPT4gT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBvZih0cnVlKS5waXBlKFxuICAgICAgICAvLyBUbyBndWFyZCBhZ2FpbnN0IGRvdWJsZS1jbGlja1xuICAgICAgICB0aHJvdHRsZVRpbWUoMjAwKSxcbiAgICAgICAgLy8gZmxhdG1hcChmbiwgMSkgZW5zdXJlcyB0aGF0IG9ubHkgb25lIHF1ZXJ5IGlzIHJhbiBhdCB0aGUgc2FtZSB0aW1lXG4gICAgICAgIG1lcmdlTWFwKGZuLCAxKSxcbiAgICAgICAgLy8gQXMgdGhpcyBvYnNlcnZhYmxlIGlzIHVzZWQgYXMgYSBQcm9taXNlICh3aXRoIHN1YnNjcmliZSksIHRoaXMgZW5zdXJlcyB0aGF0XG4gICAgICAgIC8vIHRoZSBvcGVyYXRvcnMgYWJvdmUgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGVhY2ggc3Vic2NyaWJlLlxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQYWdlQ29tcG9uZW50PFQgZXh0ZW5kcyBJMThuRm9ybT5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XG57XG4gICAgQFZpZXdDaGlsZChGb2VobkZvcm1Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZm9laG5Gb3JtQ29tcG9uZW50OiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBmb3JtOiBUO1xuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHBhZ2VUaXRsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBhdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9nZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2dlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogRm9laG5OYXZpZ2F0aW9uU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBwcm90ZWN0ZWQgX2dyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2V2ZW50c0xvZ2dlclNlcnZpY2U6IFNka0V2ZW50c0xvZ2dlclNlcnZpY2U7XG5cbiAgICBwcml2YXRlIF9wZW5kaW5nVXBsb2FkU2VydmljZTogUGVuZGluZ1VwbG9hZFNlcnZpY2U7XG4gICAgcHJpdmF0ZSBfZm9ybUluaXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIF9jdXJyZW50TGFuZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBzZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHRyYW5zbWl0Q29uY3VycmVudFNhZmU6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChHZXNkZW1IYW5kbGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZSA9XG4gICAgICAgICAgICBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoR2VzZGVtRXZlbnRTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbiA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChGb2Vobk5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xuICAgICAgICB0aGlzLl9ncm93bFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoR3Jvd2xCcm9rZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlID1cbiAgICAgICAgICAgIFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChQZW5kaW5nVXBsb2FkU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG5cbiAgICAgICAgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UgPVxuICAgICAgICAgICAgU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFNka0RpY3Rpb25hcnlTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fZXZlbnRzTG9nZ2VyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFNka0V2ZW50c0xvZ2dlclNlcnZpY2VcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuICAgICAgICB0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnN0YXR1dDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRQcmV2ZW50TmF2aWdhdGlvblRvTGFzdCA9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmV2ZW50TmF2aWdhdGlvblRvTGFzdE9uVHJhbnNmZXJyZWQgPT09IHRydWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5mb3JtICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZUNvZGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhc2hvdWxkUHJldmVudE5hdmlnYXRpb25Ub0xhc3QgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICAgICAgICAgR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChcbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtzdGF0dXQgYXMgQWN0aW9uU3RhdHV0XVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubGFzdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSBzYXZlIG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2FuQ3JlYXRlRGVtYW5kZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pc0ZpcnN0Rm9ybVBhZ2UoKSAmJlxuICAgICAgICAgICAgICAgICF0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YT8ucmVmZXJlbmNlPy5sZW5ndGg7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2VzZGVtU2VydmljZS5zYXZlKHRoaXMuZm9ybSwgY2FuQ3JlYXRlRGVtYW5kZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSB0cmFuc21pdCBtZXRob2Qgb24gdGhlIEdlc2RlbVNlcnZpY2UgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy5cbiAgICAgICAgdGhpcy50cmFuc21pdENvbmN1cnJlbnRTYWZlID0gZ2V0Q29uY3VycmVudFNhZmVDYWxsKCgpID0+XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnRyYW5zbWl0KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb3RUb1RvcCgpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLm5ld0Zvcm0oKTtcbiAgICAgICAgdGhpcy5fY3VycmVudExhbmdTdWJzY3JpcHRpb24gPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZVxuICAgICAgICAgICAgLmdldEN1cnJlbnRMYW5ndWFnZUNvZGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShsYW5ndWFnZUNvZGUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5sYW5ndWFnZSA9IGxhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhU3ViamVjdFN1YnNjcmlwdGlvbiA9XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnVwZGF0ZUZvcm1EYXRhU3ViamVjdC5zdWJzY3JpYmUoZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2UuZm9ybUluaXRpYWxpemF0aW9uU3ViamVjdC5uZXh0KGZvcm0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24gPVxuICAgICAgICAgICAgdGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UuYXR0YWNobWVudHNVcGxvYWRlZC5zdWJzY3JpYmUoZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICAvLyBQUkVTVEFLSVQtMzA5OiBzZXQgYmFjayBzaG91bGREaXNwbGF5RXJyb3JzIHRvIHRydWUgb25jZSBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWRcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybVNlbnQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2VcbiAgICAgICAgICAgIC5zYXZlRm9ybVJlcXVlc3QoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNlbmQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTc1NzIjaXNzdWVjb21tZW50LTMyMzQ2NTczN1xuICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnJlcXVpcmUoKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Zvcm1Jbml0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzZW5kKGdvVG9OZXh0UGFnZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBnb1RvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIFBSRVNUQUtJVC0zMDk6IHNob3VsZERpc3BsYXlFcnJvcnMgd2lsbCBiZSBzZXQgYmFjayB0byB0cnVlIGluICdhdHRhY2htZW50c1VwbG9hZGVkJyBzdWJzY3JpcHRpb25cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VuZEZvckZvcm1Db25jdXJyZW50U2FmZS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMub25Gb3JtU2VudChnb1RvTmV4dFBhZ2UpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmVcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ldmVudHNMb2dnZXJTZXJ2aWNlLmFkZEV2ZW50KFNka0V2ZW50VHlwZS5UUkFOU01JVClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2UuZm9ybVRyYW5zbWl0dGVkU3ViamVjdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2VuZEFuZFRyYW5zbWl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2VcbiAgICAgICAgICAgIC5mb3JtU2VudE9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuZXJyb3JzLmxlbmd0aCAmJiAhcmVzcG9uc2UubWV0YS5jcml0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tIYXNQZW5kaW5nc0ZpbGVzQmVmb3JlVHJhbnNtaXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc21pdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZW5kKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5wcmV2aW91cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQYWdlVGl0bGUocGFnZVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5zZXRDdXJyZW50QnJlYWRjcnVtYih7XG4gICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6IHBhZ2VUaXRsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UGFnZVRpdGxlQXN5bmMocGFnZVRpdGxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uID0gcGFnZVRpdGxlLnN1YnNjcmliZSh0aXRsZSA9PlxuICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybVNlbnQoZ29Ub05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvZWhuRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU29tZSBwYWdlcyBkb24ndCBoYXZlIGEgZm9ybS5cbiAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50LnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmN1cnJlbnQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPVxuICAgICAgICAgICAgICAgIC8vIFNvbWUgcGFnZXMgZG9uJ3QgaGF2ZSBhIGZvcm0uXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudC5pc1ZhbGlkKCkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbDtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyhmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtU2VudFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgZ29Ub05leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQuZm9jdXNFcnJvclN1bW1hcnkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0hhc1BlbmRpbmdzRmlsZXNCZWZvcmVUcmFuc21pdCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBtdWx0aVVwbG9hZEF0dGFjaG1lbnRTdWJzY3JpcHRpb24gPVxuICAgICAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmF0dGFjaG1lbnRzVXBsb2FkZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlVcGxvYWRBdHRhY2htZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvdFRvVG9wKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgbmV3Rm9ybSgpOiBUO1xufVxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFnZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvYWJzdHJhY3QtcGFnZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLEtBQUssRUFDTCxRQUFRLEVBQ1IsS0FBSyxFQUNMLEdBQUcsRUFDSCxZQUFZLEVBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFv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Q0FBQztpQkFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNoRCxDQUFDO1FBQ0wsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRU8sbUNBQW1DO1FBQ3ZDLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDL0MsTUFBTSxpQ0FBaUMsR0FDbkMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFELGlDQUFpQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVPLFFBQVE7UUFDWixNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQTFRaUIscUJBQXFCO21HQUFyQixxQkFBcUIsOEVBRzVCLGtCQUFrQjs7NEZBSFgscUJBQXFCO2tCQUQxQyxTQUFTO21GQUtOLGtCQUFrQjtzQkFEakIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRU1QVFksIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgY2F0Y2hFcnJvcixcbiAgICBmaXJzdCxcbiAgICBtZXJnZU1hcCxcbiAgICBzaGFyZSxcbiAgICB0YXAsXG4gICAgdGhyb3R0bGVUaW1lXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQnJlYWRjcnVtYkV2ZW50U2VydmljZSB9IGZyb20gJy4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEdyb3dsQnJva2VyU2VydmljZSB9IGZyb20gJy4vZm9laG4tZ3Jvd2wvZ3Jvd2wtYnJva2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGVuZGluZ1VwbG9hZFNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLXVwbG9hZC9mb2Vobi1tdWx0aS11cGxvYWQvcGVuZGluZy11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgSTE4bkZvcm0gfSBmcm9tICcuL2kxOG4tZm9ybSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBTZGtFdmVudFR5cGUgfSBmcm9tICcuL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudC10eXBlJztcbmltcG9ydCB7IFNka0V2ZW50c0xvZ2dlclNlcnZpY2UgfSBmcm9tICcuL3Nkay1ldmVudHMtbG9nZ2VyL3Nkay1ldmVudHMtbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuL3NlcnZpY2UtbG9jYXRvcic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCBhIGNhbGwgaXMgb25seSBzdWJzY3JpYmVkIGFuZCBzZW5kIG9uZSBhdCB0aGUgdGltZS5cbiAqIEBwYXJhbSBmbiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYXMgY29uY3VycmVudCBzYWZlXG4gKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gKi9cbmZ1bmN0aW9uIGdldENvbmN1cnJlbnRTYWZlQ2FsbDxUPihmbjogKCkgPT4gT2JzZXJ2YWJsZTxUPik6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBvZih0cnVlKS5waXBlKFxuICAgICAgICAvLyBUbyBndWFyZCBhZ2FpbnN0IGRvdWJsZS1jbGlja1xuICAgICAgICB0aHJvdHRsZVRpbWUoMjAwKSxcbiAgICAgICAgLy8gZmxhdG1hcChmbiwgMSkgZW5zdXJlcyB0aGF0IG9ubHkgb25lIHF1ZXJ5IGlzIHJhbiBhdCB0aGUgc2FtZSB0aW1lXG4gICAgICAgIG1lcmdlTWFwKGZuLCAxKSxcbiAgICAgICAgLy8gQXMgdGhpcyBvYnNlcnZhYmxlIGlzIHVzZWQgYXMgYSBQcm9taXNlICh3aXRoIHN1YnNjcmliZSksIHRoaXMgZW5zdXJlcyB0aGF0XG4gICAgICAgIC8vIHRoZSBvcGVyYXRvcnMgYWJvdmUgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGVhY2ggc3Vic2NyaWJlLlxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQYWdlQ29tcG9uZW50PFQgZXh0ZW5kcyBJMThuRm9ybT5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XG57XG4gICAgQFZpZXdDaGlsZChGb2VobkZvcm1Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZm9laG5Gb3JtQ29tcG9uZW50OiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBmb3JtOiBUO1xuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHBhZ2VUaXRsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBhdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9nZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2dlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogRm9laG5OYXZpZ2F0aW9uU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBwcm90ZWN0ZWQgX2dyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2V2ZW50c0xvZ2dlclNlcnZpY2U6IFNka0V2ZW50c0xvZ2dlclNlcnZpY2U7XG5cbiAgICBwcml2YXRlIF9wZW5kaW5nVXBsb2FkU2VydmljZTogUGVuZGluZ1VwbG9hZFNlcnZpY2U7XG4gICAgcHJpdmF0ZSBfZm9ybUluaXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIF9jdXJyZW50TGFuZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBzZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHRyYW5zbWl0Q29uY3VycmVudFNhZmU6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChHZXNkZW1IYW5kbGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZSA9XG4gICAgICAgICAgICBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoR2VzZGVtRXZlbnRTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbiA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChGb2Vobk5hdmlnYXRpb25TZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fYWN0aXZhdGVkUm91dGUgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoQWN0aXZhdGVkUm91dGUpO1xuICAgICAgICB0aGlzLl9ncm93bFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoR3Jvd2xCcm9rZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlID1cbiAgICAgICAgICAgIFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChQZW5kaW5nVXBsb2FkU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG5cbiAgICAgICAgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UgPVxuICAgICAgICAgICAgU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFNka0RpY3Rpb25hcnlTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fZXZlbnRzTG9nZ2VyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFNka0V2ZW50c0xvZ2dlclNlcnZpY2VcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuICAgICAgICB0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnN0YXR1dDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRQcmV2ZW50TmF2aWdhdGlvblRvTGFzdCA9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmV2ZW50TmF2aWdhdGlvblRvTGFzdE9uVHJhbnNmZXJyZWQgPT09IHRydWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5mb3JtICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZUNvZGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhc2hvdWxkUHJldmVudE5hdmlnYXRpb25Ub0xhc3QgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICAgICAgICAgR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChcbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtzdGF0dXQgYXMgQWN0aW9uU3RhdHV0XVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubGFzdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSBzYXZlIG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2FuQ3JlYXRlRGVtYW5kZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pc0ZpcnN0Rm9ybVBhZ2UoKSAmJlxuICAgICAgICAgICAgICAgICF0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZT8ubWV0YT8ucmVmZXJlbmNlPy5sZW5ndGg7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2VzZGVtU2VydmljZS5zYXZlKHRoaXMuZm9ybSwgY2FuQ3JlYXRlRGVtYW5kZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSB0cmFuc21pdCBtZXRob2Qgb24gdGhlIEdlc2RlbVNlcnZpY2UgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy5cbiAgICAgICAgdGhpcy50cmFuc21pdENvbmN1cnJlbnRTYWZlID0gZ2V0Q29uY3VycmVudFNhZmVDYWxsKCgpID0+XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnRyYW5zbWl0KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb3RUb1RvcCgpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLm5ld0Zvcm0oKTtcbiAgICAgICAgdGhpcy5fY3VycmVudExhbmdTdWJzY3JpcHRpb24gPSB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZVxuICAgICAgICAgICAgLmdldEN1cnJlbnRMYW5ndWFnZUNvZGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShsYW5ndWFnZUNvZGUgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5sYW5ndWFnZSA9IGxhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhU3ViamVjdFN1YnNjcmlwdGlvbiA9XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnVwZGF0ZUZvcm1EYXRhU3ViamVjdC5zdWJzY3JpYmUoZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2UuZm9ybUluaXRpYWxpemF0aW9uU3ViamVjdC5uZXh0KGZvcm0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24gPVxuICAgICAgICAgICAgdGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UuYXR0YWNobWVudHNVcGxvYWRlZC5zdWJzY3JpYmUoZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICAvLyBQUkVTVEFLSVQtMzA5OiBzZXQgYmFjayBzaG91bGREaXNwbGF5RXJyb3JzIHRvIHRydWUgb25jZSBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWRcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybVNlbnQodHJ1ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2VcbiAgICAgICAgICAgIC5zYXZlRm9ybVJlcXVlc3QoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNlbmQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTc1NzIjaXNzdWVjb21tZW50LTMyMzQ2NTczN1xuICAgICAgICBQcm9taXNlLnJlc29sdmUobnVsbCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnJlcXVpcmUoKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Zvcm1Jbml0U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzZW5kKGdvVG9OZXh0UGFnZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBnb1RvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIFBSRVNUQUtJVC0zMDk6IHNob3VsZERpc3BsYXlFcnJvcnMgd2lsbCBiZSBzZXQgYmFjayB0byB0cnVlIGluICdhdHRhY2htZW50c1VwbG9hZGVkJyBzdWJzY3JpcHRpb25cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VuZEZvckZvcm1Db25jdXJyZW50U2FmZS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMub25Gb3JtU2VudChnb1RvTmV4dFBhZ2UpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmVcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9ldmVudHNMb2dnZXJTZXJ2aWNlLmFkZEV2ZW50KFNka0V2ZW50VHlwZS5UUkFOU01JVClcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2UuZm9ybVRyYW5zbWl0dGVkU3ViamVjdC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2VuZEFuZFRyYW5zbWl0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2VcbiAgICAgICAgICAgIC5mb3JtU2VudE9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuZXJyb3JzLmxlbmd0aCAmJiAhcmVzcG9uc2UubWV0YS5jcml0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tIYXNQZW5kaW5nc0ZpbGVzQmVmb3JlVHJhbnNtaXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc21pdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZW5kKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5wcmV2aW91cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQYWdlVGl0bGUocGFnZVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5zZXRDdXJyZW50QnJlYWRjcnVtYih7XG4gICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6IHBhZ2VUaXRsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UGFnZVRpdGxlQXN5bmMocGFnZVRpdGxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uID0gcGFnZVRpdGxlLnN1YnNjcmliZSh0aXRsZSA9PlxuICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybVNlbnQoZ29Ub05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvZWhuRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU29tZSBwYWdlcyBkb24ndCBoYXZlIGEgZm9ybS5cbiAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50LnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmN1cnJlbnQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPVxuICAgICAgICAgICAgICAgIC8vIFNvbWUgcGFnZXMgZG9uJ3QgaGF2ZSBhIGZvcm0uXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudC5pc1ZhbGlkKCkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbDtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyhmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtU2VudFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgZ29Ub05leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQuZm9jdXNFcnJvclN1bW1hcnkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0hhc1BlbmRpbmdzRmlsZXNCZWZvcmVUcmFuc21pdCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBtdWx0aVVwbG9hZEF0dGFjaG1lbnRTdWJzY3JpcHRpb24gPVxuICAgICAgICAgICAgICAgIHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmF0dGFjaG1lbnRzVXBsb2FkZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlVcGxvYWRBdHRhY2htZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvdFRvVG9wKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgbmV3Rm9ybSgpOiBUO1xufVxuIl19
@@ -124,10 +124,10 @@ export class NumberCurrencyFormatterDirective {
124
124
  return (!this.host.model ||
125
125
  this.host.model.toString() !== newValueWithoutFormatting);
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NumberCurrencyFormatterDirective, deps: [{ token: i1.FoehnInputNumberComponent }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
128
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NumberCurrencyFormatterDirective, selector: "[numberCurrencyFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)", "focus": "onFocus($event.target.value)", "modelChange": "onModelChange($event)" } }, ngImport: i0 }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NumberCurrencyFormatterDirective, deps: [{ token: i1.FoehnInputNumberComponent }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
128
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: NumberCurrencyFormatterDirective, selector: "[numberCurrencyFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)", "focus": "onFocus($event.target.value)", "modelChange": "onModelChange($event)" } }, ngImport: i0 }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NumberCurrencyFormatterDirective, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NumberCurrencyFormatterDirective, decorators: [{
131
131
  type: Directive,
132
132
  args: [{ selector: '[numberCurrencyFormatter]' }]
133
133
  }], ctorParameters: () => [{ type: i1.FoehnInputNumberComponent }, { type: i0.NgZone }], propDecorators: { onBlur: [{
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
140
140
  type: HostListener,
141
141
  args: ['modelChange', ['$event']]
142
142
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9kaXJlY3RpdmVzL2N1cnJlbmN5LWZvcm1hdHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDdEIsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRXpDLHNDQUFzQztBQUN0QywrQ0FBK0M7QUFDL0MsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhO0lBQ25DLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEMsK0VBQStFO1FBQy9FLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEtBQUs7U0FDUCxRQUFRLEVBQUU7U0FDVixJQUFJLEVBQUU7U0FDTixPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELCtDQUErQztBQUMvQyxTQUFTLDRCQUE0QixDQUFDLEtBQWE7SUFDL0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWE7SUFDN0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7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MkJBQTJCLEVBQUU7bUhBVWhELE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFPN0MsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQU85QyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRm9laG5JbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBDVVJSRU5DWV9SRUdFWFAsXG4gICAgREVDSU1BTFNfU0VQQVJBVE9SLFxuICAgIFRIT1VTQU5EU19TRVBBUkFUT1Jcbn0gZnJvbSAnLi4vc2RrLWN1cnJlbmN5L2N1cnJlbmN5LmhlbHBlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gcmVtb3ZlRm9ybWF0dGluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byByZXR1cm4gbnVsbCBhcyB0aGUgYmFja2VuZCB3aWxsIGNvbnNpZGVyIHRoaXMgYXMgbm8gdmFsdWUuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoVEhPVVNBTkRTX1NFUEFSQVRPUiwgJ2cnKSwgJycpO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZm9ybWF0V2l0aFRob3VzYW5kU2VwYXJhdG9ycyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShDVVJSRU5DWV9SRUdFWFAsIFRIT1VTQU5EU19TRVBBUkFUT1IpO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE51bWJlckFzR2l2ZW4odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IFtpbnRnLCBkZWNdID0gcmVtb3ZlRm9ybWF0dGluZyh2YWx1ZSkuc3BsaXQoREVDSU1BTFNfU0VQQVJBVE9SKTtcblxuICAgIGlmICghIWRlYz8ubGVuZ3RoICYmIGRlYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpICsgREVDSU1BTFNfU0VQQVJBVE9SICsgZGVjO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpO1xuICAgIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREZWNpbWFsQ3VycmVuY3koXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBtYXhEZWNpbWFsQ291bnQ6IG51bWJlcixcbiAgICBtYXhMZW5ndGg6IG51bWJlcixcbiAgICBhbGxvd0ZyZWVJbnB1dDogYm9vbGVhblxuKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgW2ludGcsIGRlY10gPSByZW1vdmVGb3JtYXR0aW5nKHZhbHVlKS5zcGxpdChERUNJTUFMU19TRVBBUkFUT1IpO1xuXG4gICAgaWYgKGFsbG93RnJlZUlucHV0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpICtcbiAgICAgICAgICAgIERFQ0lNQUxTX1NFUEFSQVRPUiArXG4gICAgICAgICAgICAoZGVjIHx8ICcwJykucGFkRW5kKG1heERlY2ltYWxDb3VudCwgJzAnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChtYXhEZWNpbWFsQ291bnQgPT09IDAgfHwgIW1heERlY2ltYWxDb3VudCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0V2l0aFRob3VzYW5kU2VwYXJhdG9ycyhpbnRnKTtcbiAgICB9XG4gICAgY29uc3QgdmFsaWRFbXB0eUVuZCA9ICcwJy5yZXBlYXQobWF4RGVjaW1hbENvdW50KTtcblxuICAgIGxldCBuZXdFbmQgPSBkZWMgPyBkZWMgKyB2YWxpZEVtcHR5RW5kIDogdmFsaWRFbXB0eUVuZDtcbiAgICBpZiAobmV3RW5kICYmIG5ld0VuZC5sZW5ndGggPj0gbWF4RGVjaW1hbENvdW50KSB7XG4gICAgICAgIG5ld0VuZCA9IG5ld0VuZC5zdWJzdHJpbmcoMCwgbWF4RGVjaW1hbENvdW50KTtcbiAgICB9XG5cbiAgICBsZXQgbmV3RGVjaW1hbCA9IGludGcgKyBERUNJTUFMU19TRVBBUkFUT1IgKyBuZXdFbmQ7XG4gICAgaWYgKG5ld0RlY2ltYWwubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgIG5ld0RlY2ltYWwgPSBuZXdEZWNpbWFsLnN1YnN0cmluZygwLCBtYXhMZW5ndGgpO1xuICAgIH1cblxuICAgIFssIG5ld0VuZF0gPSBuZXdEZWNpbWFsLnNwbGl0KERFQ0lNQUxTX1NFUEFSQVRPUik7XG4gICAgaWYgKCFuZXdFbmQpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdFdpdGhUaG91c2FuZFNlcGFyYXRvcnMoaW50Zyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdFdpdGhUaG91c2FuZFNlcGFyYXRvcnMoaW50ZykgKyBERUNJTUFMU19TRVBBUkFUT1IgKyBuZXdFbmQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Tm9uRGVjaW1hbEN1cnJlbmN5KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKHJlbW92ZUZvcm1hdHRpbmcodmFsdWUpKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tudW1iZXJDdXJyZW5jeUZvcm1hdHRlcl0nIH0pXG5leHBvcnQgY2xhc3MgTnVtYmVyQ3VycmVuY3lGb3JtYXR0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgaGFzRm9jdXMgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEZvZWhuSW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNldEZvcm1hdHRpbmcodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25Gb2N1cyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgICAgICB0aGlzLmhvc3QuZm9yY2VVcGRhdGVOZ01vZGVsKHJlbW92ZUZvcm1hdHRpbmcodmFsdWUpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb2RlbENoYW5nZScsIFsnJGV2ZW50J10pXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm1hdHRpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIHNvbWV0aW1lcywgd2hlbiB0aGUgdmlldyBpcyBcInNpbXBsZVwiIGFuZCBkb2Vzbid0IHJlcXVpcmUgbG90IGEgcHJvY2Vzc2luZ1xuICAgICAgICAvLyB3ZSBhcnJpdmUgaW4gdGhpcyBtZXRob2Qgd2l0aCB0aGlzLmhvc3QubW9kZWwgbm90IGFscmVhZHkgaW5pdGlhbGl6ZWQsIHNvIHRoZSBmb3JtYXR0aW5nIGlzIG5vdCB3b3JraW5nXG4gICAgICAgIHRoaXMubmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRGb3JtYXR0aW5nKHRoaXMuaG9zdC5tb2RlbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9ybWF0dGluZyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIEhvb2tzIG9uIHRoZSBpbnB1dHMgb2YgdGhlIGNvbXBvbmVudCB0byBjdXN0b21pemUgdGhlIGJlaGF2aW9yXG5cbiAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5ob3N0LmFsbG93RnJlZUlucHV0ICYmICF0aGlzLmhvc3QuYWxsb3dEZWNpbWFsKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdE51bWJlckFzR2l2ZW4odmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmhvc3QuYWxsb3dEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBmb3JtYXREZWNpbWFsQ3VycmVuY3koXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Lm1heERlY2ltYWxDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3QubWF4bGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9zdC5hbGxvd0ZyZWVJbnB1dFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogZm9ybWF0Tm9uRGVjaW1hbEN1cnJlbmN5KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlV2l0aG91dEZvcm1hdHRpbmcgPSByZW1vdmVGb3JtYXR0aW5nKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzVmFsdWVDaGFuZ2VkKG5ld1ZhbHVlV2l0aG91dEZvcm1hdHRpbmcpKSB7XG4gICAgICAgICAgICAvLyBTaW5jZSB3ZSBoYXZlIGFsdGVyZWQgdGhlIG1vZGVsIChpLmUuIGJ5IHJlbW92aW5nIHNvbWUgZGVjaW1hbHMpLCB3ZSBoYXZlIHRvIHVwZGF0ZSBpdFxuICAgICAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwobmV3VmFsdWVXaXRob3V0Rm9ybWF0dGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEdWUgdG8gbmdNb2RlbCBiZWluZyBwb3NzaWJseSB1cGRhdGVkLCB3ZSBuZWVkIHRvIHdhaXQgZm9yIGEgbWljcm8gdGFzayBlbXB0eVxuICAgICAgICB0aGlzLm5nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIC8vIFdlJ3JlIGluamVjdGlvbiBub24tZGVjaW1hbCBjaGFyYWN0ZXJzLCBoZW5jZSB0aGUgZm9yY2UuXG4gICAgICAgICAgICB0aGlzLmhvc3QuZm9yY2VVcGRhdGVOZ01vZGVsKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNWYWx1ZUNoYW5nZWQobmV3VmFsdWVXaXRob3V0Rm9ybWF0dGluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QubW9kZWw/LnRvU3RyaW5nKCk/LnRyaW0oKSA9PT0gJy0nKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmhvc3QubW9kZWwgfHxcbiAgICAgICAgICAgIHRoaXMuaG9zdC5tb2RlbC50b1N0cmluZygpICE9PSBuZXdWYWx1ZVdpdGhvdXRGb3JtYXR0aW5nXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9kaXJlY3RpdmVzL2N1cnJlbmN5LWZvcm1hdHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl2QyxPQUFPLEVBQ0gsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDdEIsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBRXpDLHNDQUFzQztBQUN0QywrQ0FBK0M7QUFDL0MsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhO0lBQ25DLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEMsK0VBQStFO1FBQy9FLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEtBQUs7U0FDUCxRQUFRLEVBQUU7U0FDVixJQUFJLEVBQUU7U0FDTixPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELCtDQUErQztBQUMvQyxTQUFTLDRCQUE0QixDQUFDLEtBQWE7SUFDL0MsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWE7SUFDN0MsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7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MkJBQTJCLEVBQUU7bUhBVWhELE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFPN0MsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQU85QyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgRm9laG5JbnB1dE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWlucHV0L2ZvZWhuLWlucHV0LW51bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBDVVJSRU5DWV9SRUdFWFAsXG4gICAgREVDSU1BTFNfU0VQQVJBVE9SLFxuICAgIFRIT1VTQU5EU19TRVBBUkFUT1Jcbn0gZnJvbSAnLi4vc2RrLWN1cnJlbmN5L2N1cnJlbmN5LmhlbHBlcic7XG5cbi8vIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gcmVtb3ZlRm9ybWF0dGluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAvLyBJdCdzIGltcG9ydGFudCB0byByZXR1cm4gbnVsbCBhcyB0aGUgYmFja2VuZCB3aWxsIGNvbnNpZGVyIHRoaXMgYXMgbm8gdmFsdWUuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoVEhPVVNBTkRTX1NFUEFSQVRPUiwgJ2cnKSwgJycpO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZm9ybWF0V2l0aFRob3VzYW5kU2VwYXJhdG9ycyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZShDVVJSRU5DWV9SRUdFWFAsIFRIT1VTQU5EU19TRVBBUkFUT1IpO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE51bWJlckFzR2l2ZW4odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IFtpbnRnLCBkZWNdID0gcmVtb3ZlRm9ybWF0dGluZyh2YWx1ZSkuc3BsaXQoREVDSU1BTFNfU0VQQVJBVE9SKTtcblxuICAgIGlmICghIWRlYz8ubGVuZ3RoICYmIGRlYyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpICsgREVDSU1BTFNfU0VQQVJBVE9SICsgZGVjO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpO1xuICAgIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXREZWNpbWFsQ3VycmVuY3koXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgICBtYXhEZWNpbWFsQ291bnQ6IG51bWJlcixcbiAgICBtYXhMZW5ndGg6IG51bWJlcixcbiAgICBhbGxvd0ZyZWVJbnB1dDogYm9vbGVhblxuKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgW2ludGcsIGRlY10gPSByZW1vdmVGb3JtYXR0aW5nKHZhbHVlKS5zcGxpdChERUNJTUFMU19TRVBBUkFUT1IpO1xuXG4gICAgaWYgKGFsbG93RnJlZUlucHV0KSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKGludGcpICtcbiAgICAgICAgICAgIERFQ0lNQUxTX1NFUEFSQVRPUiArXG4gICAgICAgICAgICAoZGVjIHx8ICcwJykucGFkRW5kKG1heERlY2ltYWxDb3VudCwgJzAnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChtYXhEZWNpbWFsQ291bnQgPT09IDAgfHwgIW1heERlY2ltYWxDb3VudCkge1xuICAgICAgICByZXR1cm4gZm9ybWF0V2l0aFRob3VzYW5kU2VwYXJhdG9ycyhpbnRnKTtcbiAgICB9XG4gICAgY29uc3QgdmFsaWRFbXB0eUVuZCA9ICcwJy5yZXBlYXQobWF4RGVjaW1hbENvdW50KTtcblxuICAgIGxldCBuZXdFbmQgPSBkZWMgPyBkZWMgKyB2YWxpZEVtcHR5RW5kIDogdmFsaWRFbXB0eUVuZDtcbiAgICBpZiAobmV3RW5kICYmIG5ld0VuZC5sZW5ndGggPj0gbWF4RGVjaW1hbENvdW50KSB7XG4gICAgICAgIG5ld0VuZCA9IG5ld0VuZC5zdWJzdHJpbmcoMCwgbWF4RGVjaW1hbENvdW50KTtcbiAgICB9XG5cbiAgICBsZXQgbmV3RGVjaW1hbCA9IGludGcgKyBERUNJTUFMU19TRVBBUkFUT1IgKyBuZXdFbmQ7XG4gICAgaWYgKG5ld0RlY2ltYWwubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG4gICAgICAgIG5ld0RlY2ltYWwgPSBuZXdEZWNpbWFsLnN1YnN0cmluZygwLCBtYXhMZW5ndGgpO1xuICAgIH1cblxuICAgIFssIG5ld0VuZF0gPSBuZXdEZWNpbWFsLnNwbGl0KERFQ0lNQUxTX1NFUEFSQVRPUik7XG4gICAgaWYgKCFuZXdFbmQpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdFdpdGhUaG91c2FuZFNlcGFyYXRvcnMoaW50Zyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvcm1hdFdpdGhUaG91c2FuZFNlcGFyYXRvcnMoaW50ZykgKyBERUNJTUFMU19TRVBBUkFUT1IgKyBuZXdFbmQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0Tm9uRGVjaW1hbEN1cnJlbmN5KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXRXaXRoVGhvdXNhbmRTZXBhcmF0b3JzKHJlbW92ZUZvcm1hdHRpbmcodmFsdWUpKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tudW1iZXJDdXJyZW5jeUZvcm1hdHRlcl0nIH0pXG5leHBvcnQgY2xhc3MgTnVtYmVyQ3VycmVuY3lGb3JtYXR0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgaGFzRm9jdXMgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGhvc3Q6IEZvZWhuSW5wdXROdW1iZXJDb21wb25lbnQsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmVcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNldEZvcm1hdHRpbmcodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25Gb2N1cyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgICAgICB0aGlzLmhvc3QuZm9yY2VVcGRhdGVOZ01vZGVsKHJlbW92ZUZvcm1hdHRpbmcodmFsdWUpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb2RlbENoYW5nZScsIFsnJGV2ZW50J10pXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghIXZhbHVlICYmICF0aGlzLmhhc0ZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm1hdHRpbmcodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIHNvbWV0aW1lcywgd2hlbiB0aGUgdmlldyBpcyBcInNpbXBsZVwiIGFuZCBkb2Vzbid0IHJlcXVpcmUgbG90IGEgcHJvY2Vzc2luZ1xuICAgICAgICAvLyB3ZSBhcnJpdmUgaW4gdGhpcyBtZXRob2Qgd2l0aCB0aGlzLmhvc3QubW9kZWwgbm90IGFscmVhZHkgaW5pdGlhbGl6ZWQsIHNvIHRoZSBmb3JtYXR0aW5nIGlzIG5vdCB3b3JraW5nXG4gICAgICAgIHRoaXMubmdab25lLm9uTWljcm90YXNrRW1wdHkucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRGb3JtYXR0aW5nKHRoaXMuaG9zdC5tb2RlbCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9ybWF0dGluZyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIEhvb2tzIG9uIHRoZSBpbnB1dHMgb2YgdGhlIGNvbXBvbmVudCB0byBjdXN0b21pemUgdGhlIGJlaGF2aW9yXG5cbiAgICAgICAgbGV0IGZvcm1hdHRlZFZhbHVlOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5ob3N0LmFsbG93RnJlZUlucHV0ICYmICF0aGlzLmhvc3QuYWxsb3dEZWNpbWFsKSB7XG4gICAgICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdE51bWJlckFzR2l2ZW4odmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSB0aGlzLmhvc3QuYWxsb3dEZWNpbWFsXG4gICAgICAgICAgICAgICAgPyBmb3JtYXREZWNpbWFsQ3VycmVuY3koXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5ob3N0Lm1heERlY2ltYWxDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhvc3QubWF4bGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaG9zdC5hbGxvd0ZyZWVJbnB1dFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogZm9ybWF0Tm9uRGVjaW1hbEN1cnJlbmN5KHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlV2l0aG91dEZvcm1hdHRpbmcgPSByZW1vdmVGb3JtYXR0aW5nKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzVmFsdWVDaGFuZ2VkKG5ld1ZhbHVlV2l0aG91dEZvcm1hdHRpbmcpKSB7XG4gICAgICAgICAgICAvLyBTaW5jZSB3ZSBoYXZlIGFsdGVyZWQgdGhlIG1vZGVsIChpLmUuIGJ5IHJlbW92aW5nIHNvbWUgZGVjaW1hbHMpLCB3ZSBoYXZlIHRvIHVwZGF0ZSBpdFxuICAgICAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwobmV3VmFsdWVXaXRob3V0Rm9ybWF0dGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEdWUgdG8gbmdNb2RlbCBiZWluZyBwb3NzaWJseSB1cGRhdGVkLCB3ZSBuZWVkIHRvIHdhaXQgZm9yIGEgbWljcm8gdGFzayBlbXB0eVxuICAgICAgICB0aGlzLm5nWm9uZS5vbk1pY3JvdGFza0VtcHR5LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIC8vIFdlJ3JlIGluamVjdGlvbiBub24tZGVjaW1hbCBjaGFyYWN0ZXJzLCBoZW5jZSB0aGUgZm9yY2UuXG4gICAgICAgICAgICB0aGlzLmhvc3QuZm9yY2VVcGRhdGVOZ01vZGVsKGZvcm1hdHRlZFZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNWYWx1ZUNoYW5nZWQobmV3VmFsdWVXaXRob3V0Rm9ybWF0dGluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QubW9kZWw/LnRvU3RyaW5nKCk/LnRyaW0oKSA9PT0gJy0nKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLmhvc3QubW9kZWwgfHxcbiAgICAgICAgICAgIHRoaXMuaG9zdC5tb2RlbC50b1N0cmluZygpICE9PSBuZXdWYWx1ZVdpdGhvdXRGb3JtYXR0aW5nXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -6,17 +6,17 @@ import { IdeFormatterDirective } from './ide-formatter.directive';
6
6
  import { NDCFormatterDirective } from './ndc-formatter.directive';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FormatterModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormatterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.3", ngImport: i0, type: FormatterModule, declarations: [NDCFormatterDirective,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormatterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: FormatterModule, declarations: [NDCFormatterDirective,
11
11
  NumberCurrencyFormatterDirective,
12
12
  IdeFormatterDirective,
13
13
  IbanFormatterDirective], imports: [FoehnInputModule], exports: [NDCFormatterDirective,
14
14
  NumberCurrencyFormatterDirective,
15
15
  IdeFormatterDirective,
16
16
  IbanFormatterDirective] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormatterModule, imports: [FoehnInputModule] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormatterModule, imports: [FoehnInputModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormatterModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FormatterModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [FoehnInputModule],
@@ -34,4 +34,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
34
34
  ]
35
35
  }]
36
36
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9kaXJlY3RpdmVzL2Zvcm1hdHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQmxFLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkFacEIscUJBQXFCO1lBQ3JCLGdDQUFnQztZQUNoQyxxQkFBcUI7WUFDckIsc0JBQXNCLGFBTGhCLGdCQUFnQixhQVF0QixxQkFBcUI7WUFDckIsZ0NBQWdDO1lBQ2hDLHFCQUFxQjtZQUNyQixzQkFBc0I7K0dBR2pCLGVBQWUsWUFkZCxnQkFBZ0I7OzJGQWNqQixlQUFlO2tCQWYzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixZQUFZLEVBQUU7d0JBQ1YscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLHFCQUFxQjt3QkFDckIsc0JBQXNCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLHFCQUFxQjt3QkFDckIsc0JBQXNCO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgTnVtYmVyQ3VycmVuY3lGb3JtYXR0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2N1cnJlbmN5LWZvcm1hdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWJhbkZvcm1hdHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IElkZUZvcm1hdHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vaWRlLWZvcm1hdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTkRDRm9ybWF0dGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9uZGMtZm9ybWF0dGVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0ZvZWhuSW5wdXRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBORENGb3JtYXR0ZXJEaXJlY3RpdmUsXG4gICAgICAgIE51bWJlckN1cnJlbmN5Rm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBJZGVGb3JtYXR0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEliYW5Gb3JtYXR0ZXJEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTkRDRm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBOdW1iZXJDdXJyZW5jeUZvcm1hdHRlckRpcmVjdGl2ZSxcbiAgICAgICAgSWRlRm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBJYmFuRm9ybWF0dGVyRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXJNb2R1bGUge31cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9kaXJlY3RpdmVzL2Zvcm1hdHRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFpQmxFLE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFacEIscUJBQXFCO1lBQ3JCLGdDQUFnQztZQUNoQyxxQkFBcUI7WUFDckIsc0JBQXNCLGFBTGhCLGdCQUFnQixhQVF0QixxQkFBcUI7WUFDckIsZ0NBQWdDO1lBQ2hDLHFCQUFxQjtZQUNyQixzQkFBc0I7Z0hBR2pCLGVBQWUsWUFkZCxnQkFBZ0I7OzRGQWNqQixlQUFlO2tCQWYzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO29CQUMzQixZQUFZLEVBQUU7d0JBQ1YscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLHFCQUFxQjt3QkFDckIsc0JBQXNCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wscUJBQXFCO3dCQUNyQixnQ0FBZ0M7d0JBQ2hDLHFCQUFxQjt3QkFDckIsc0JBQXNCO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgTnVtYmVyQ3VycmVuY3lGb3JtYXR0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2N1cnJlbmN5LWZvcm1hdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWJhbkZvcm1hdHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IElkZUZvcm1hdHRlckRpcmVjdGl2ZSB9IGZyb20gJy4vaWRlLWZvcm1hdHRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTkRDRm9ybWF0dGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9uZGMtZm9ybWF0dGVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0ZvZWhuSW5wdXRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBORENGb3JtYXR0ZXJEaXJlY3RpdmUsXG4gICAgICAgIE51bWJlckN1cnJlbmN5Rm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBJZGVGb3JtYXR0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEliYW5Gb3JtYXR0ZXJEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgTkRDRm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBOdW1iZXJDdXJyZW5jeUZvcm1hdHRlckRpcmVjdGl2ZSxcbiAgICAgICAgSWRlRm9ybWF0dGVyRGlyZWN0aXZlLFxuICAgICAgICBJYmFuRm9ybWF0dGVyRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtYXR0ZXJNb2R1bGUge31cbiJdfQ==
@@ -16,14 +16,14 @@ export class IbanFormatterDirective {
16
16
  }
17
17
  return iban.printFormat(value, ' ');
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IbanFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: IbanFormatterDirective, selector: "[ibanFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IbanFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: IbanFormatterDirective, selector: "[ibanFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IbanFormatterDirective, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IbanFormatterDirective, decorators: [{
23
23
  type: Directive,
24
24
  args: [{ selector: '[ibanFormatter]' }]
25
25
  }], ctorParameters: () => [{ type: i1.FoehnInputTextComponent }], propDecorators: { onBlur: [{
26
26
  type: HostListener,
27
27
  args: ['blur', ['$event.target.value']]
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2RpcmVjdGl2ZXMvaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7QUFJN0IsOERBQThEO0FBRTlELE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBb0IsSUFBNkI7UUFBN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFBRyxDQUFDO0lBR3JELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FiUSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs0RkFLdEMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGliYW4gZnJvbSAnaWJhbic7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2liYW5Gb3JtYXR0ZXJdJyB9KVxuZXhwb3J0IGNsYXNzIEliYW5Gb3JtYXR0ZXJEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRm9laG5JbnB1dFRleHRDb21wb25lbnQpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwodGhpcy5mb3JtYXRJYmFuKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRJYmFuKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGliYW4ucHJpbnRGb3JtYXQodmFsdWUsICcgJyk7XG4gICAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2RpcmVjdGl2ZXMvaWJhbi1mb3JtYXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7QUFJN0IsOERBQThEO0FBRTlELE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFBb0IsSUFBNkI7UUFBN0IsU0FBSSxHQUFKLElBQUksQ0FBeUI7SUFBRyxDQUFDO0lBR3JELE1BQU0sQ0FBQyxLQUFhO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sVUFBVSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0FiUSxzQkFBc0I7bUdBQXRCLHNCQUFzQjs7NEZBQXRCLHNCQUFzQjtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRTs0RkFLdEMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGliYW4gZnJvbSAnaWJhbic7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2liYW5Gb3JtYXR0ZXJdJyB9KVxuZXhwb3J0IGNsYXNzIEliYW5Gb3JtYXR0ZXJEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRm9laG5JbnB1dFRleHRDb21wb25lbnQpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwodGhpcy5mb3JtYXRJYmFuKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRJYmFuKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGliYW4ucHJpbnRGb3JtYXQodmFsdWUsICcgJyk7XG4gICAgfVxufVxuIl19
@@ -24,14 +24,14 @@ export class IdeFormatterDirective {
24
24
  const trimmedValue = value.trim();
25
25
  return trimmedValue.replace(new RegExp(IDE_PATTERN, 'g'), 'CHE-$1.$2.$3');
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IdeFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
28
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: IdeFormatterDirective, selector: "[ideFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IdeFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: IdeFormatterDirective, selector: "[ideFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: IdeFormatterDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: IdeFormatterDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{ selector: '[ideFormatter]' }]
33
33
  }], ctorParameters: () => [{ type: i1.FoehnInputTextComponent }], propDecorators: { onBlur: [{
34
34
  type: HostListener,
35
35
  args: ['blur', ['$event.target.value']]
36
36
  }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlLWZvcm1hdHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZGlyZWN0aXZlcy9pZGUtZm9ybWF0dGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSXhELE1BQU0sV0FBVyxHQUFHLHlDQUF5QyxDQUFDO0FBRTlELDhEQUE4RDtBQUU5RCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLElBQTZCO1FBQTdCLFNBQUksR0FBSixJQUFJLENBQXlCO0lBQUcsQ0FBQztJQUdyRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVsQyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQ3ZCLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFDNUIsY0FBYyxDQUNqQixDQUFDO0lBQ04sQ0FBQzs4R0ExQlEscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7NEZBS3JDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQnO1xuXG5jb25zdCBJREVfUEFUVEVSTiA9ICdeQ0hFLT8oXFxcXGR7M30pXFxcXC4/KFxcXFxkezN9KVxcXFwuPyhcXFxcZHszfSkkJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tpZGVGb3JtYXR0ZXJdJyB9KVxuZXhwb3J0IGNsYXNzIElkZUZvcm1hdHRlckRpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBob3N0OiBGb2VobklucHV0VGV4dENvbXBvbmVudCkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBvbkJsdXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3QudXBkYXRlTmdNb2RlbCh0aGlzLmZvcm1hdElkZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgaWRlXG4gICAgICpcbiAgICAgKiBDSEUxMjM0NTY3ODkgPj4gQ0hFLTEyMy40NTYuNzg5XG4gICAgICogQHBhcmFtIHZhbHVlIGFzIGlkZVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZm9ybWF0SWRlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKCk7XG5cbiAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZS5yZXBsYWNlKFxuICAgICAgICAgICAgbmV3IFJlZ0V4cChJREVfUEFUVEVSTiwgJ2cnKSxcbiAgICAgICAgICAgICdDSEUtJDEuJDIuJDMnXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlLWZvcm1hdHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZGlyZWN0aXZlcy9pZGUtZm9ybWF0dGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSXhELE1BQU0sV0FBVyxHQUFHLHlDQUF5QyxDQUFDO0FBRTlELDhEQUE4RDtBQUU5RCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLElBQTZCO1FBQTdCLFNBQUksR0FBSixJQUFJLENBQXlCO0lBQUcsQ0FBQztJQUdyRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVsQyxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQ3ZCLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFDNUIsY0FBYyxDQUNqQixDQUFDO0lBQ04sQ0FBQzsrR0ExQlEscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7NEZBS3JDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvZWhuSW5wdXRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4taW5wdXQvZm9laG4taW5wdXQtdGV4dC5jb21wb25lbnQnO1xuXG5jb25zdCBJREVfUEFUVEVSTiA9ICdeQ0hFLT8oXFxcXGR7M30pXFxcXC4/KFxcXFxkezN9KVxcXFwuPyhcXFxcZHszfSkkJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tpZGVGb3JtYXR0ZXJdJyB9KVxuZXhwb3J0IGNsYXNzIElkZUZvcm1hdHRlckRpcmVjdGl2ZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBob3N0OiBGb2VobklucHV0VGV4dENvbXBvbmVudCkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgICBvbkJsdXIodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3QudXBkYXRlTmdNb2RlbCh0aGlzLmZvcm1hdElkZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdHMgaWRlXG4gICAgICpcbiAgICAgKiBDSEUxMjM0NTY3ODkgPj4gQ0hFLTEyMy40NTYuNzg5XG4gICAgICogQHBhcmFtIHZhbHVlIGFzIGlkZVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZm9ybWF0SWRlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKCk7XG5cbiAgICAgICAgcmV0dXJuIHRyaW1tZWRWYWx1ZS5yZXBsYWNlKFxuICAgICAgICAgICAgbmV3IFJlZ0V4cChJREVfUEFUVEVSTiwgJ2cnKSxcbiAgICAgICAgICAgICdDSEUtJDEuJDIuJDMnXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -62,14 +62,14 @@ export class NDCFormatterDirective {
62
62
  */
63
63
  return digits.replace(new RegExp(NO_CONTRIB_PATTERN_WITH_TWO_DOTS, 'g'), '$1.$2.$3');
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NDCFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.3", type: NDCFormatterDirective, selector: "[ndcFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NDCFormatterDirective, deps: [{ token: i1.FoehnInputTextComponent }], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: NDCFormatterDirective, selector: "[ndcFormatter]", host: { listeners: { "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: NDCFormatterDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NDCFormatterDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{ selector: '[ndcFormatter]' }]
71
71
  }], ctorParameters: () => [{ type: i1.FoehnInputTextComponent }], propDecorators: { onBlur: [{
72
72
  type: HostListener,
73
73
  args: ['blur', ['$event.target.value']]
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRjLWZvcm1hdHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZGlyZWN0aXZlcy9uZGMtZm9ybWF0dGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSXhELE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBQUM7QUFDckQsTUFBTSw4QkFBOEIsR0FBRyxjQUFjLENBQUM7QUFDdEQsTUFBTSwrQkFBK0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMvRCxNQUFNLGdDQUFnQyxHQUFHLDhCQUE4QixDQUFDO0FBRXhFLDhEQUE4RDtBQUU5RCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLElBQTZCO1FBQTdCLFNBQUksR0FBSixJQUFJLENBQXlCO0lBQUcsQ0FBQztJQUdyRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSyxTQUFTLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEU7Ozs7V0FJRztRQUNILElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUNqQixJQUFJLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLENBQUMsRUFDL0MsSUFBSSxDQUNQLENBQUM7UUFDTixDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FDakIsSUFBSSxNQUFNLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLEVBQ2hELE9BQU8sQ0FDVixDQUFDO1FBQ04sQ0FBQztRQUVEOzs7OztXQUtHO1FBRUgsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUNqQixJQUFJLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsRUFDakQsVUFBVSxDQUNiLENBQUM7SUFDTixDQUFDOzhHQXZFUSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTs0RkFLckMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5cbmNvbnN0IE5PX0NPTlRSSUJfUEFUVEVSTiA9ICdeKChcXFxcZFxcXFwuPyl7MCw3fSkoXFxcXGQpJCc7XG5jb25zdCBOT19DT05UUklCX1BBVFRFUk5fV0lUSF9OT19ET1QgPSAnXihcXFxcZHsxLDJ9KSQnO1xuY29uc3QgTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfT05FX0RPVCA9ICdeKFxcXFxkezEsM30pKFxcXFxkezJ9KSQnO1xuY29uc3QgTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfVFdPX0RPVFMgPSAnXihcXFxcZHsxLDN9KShcXFxcZHszfSkoXFxcXGR7Mn0pJCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbmRjRm9ybWF0dGVyXScgfSlcbmV4cG9ydCBjbGFzcyBORENGb3JtYXR0ZXJEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRm9laG5JbnB1dFRleHRDb21wb25lbnQpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwodGhpcy5mb3JtYXROREModmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXQgdGhlIHRheCBwYXllciBudW1iZXIgZm9sbG93aW5nIHRoaXMgcGF0dGVybjpcbiAgICAgKlxuICAgICAqIDEg4oCTIDkgPT4gWFxuICAgICAqIDEwIC0gOTkgPT4gWFhcbiAgICAgKiAxMDAgLSA5OTkgPT4gWC5YWFxuICAgICAqIDHigJkwMDAgLSA54oCZOTk5ID0+IFhYLlhYXG4gICAgICogMTDigJkwMDAgLSA5OeKAmTk5OSA9PiBYWFguWFhcbiAgICAgKiAxMDAnMDAwIC0gOTk5Jzk5OSA9PiBYLlhYWC5YWFxuICAgICAqIDEnMDAwJzAwMCAtIDnigJk5OTknOTk5ID0+IFhYLlhYWC5YWFxuICAgICAqIDEwJzAwMCcwMDAgLSA5OSc5OTknOTk5ID0+IFhYWC5YWFguWFhcbiAgICAgKiBAcGFyYW0gdmFsdWUgYXMgbnVtZXJvIGRlIGNvbnRyaWJ1YWJsZVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZm9ybWF0TkRDKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKCk7XG4gICAgICAgIGlmICghdHJpbW1lZFZhbHVlLm1hdGNoKE5PX0NPTlRSSUJfUEFUVEVSTikpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmltbWVkVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGdldCB0aGUgZGlnaXRzLlxuICAgICAgICBjb25zdCBkaWdpdHMgPSB0cmltbWVkVmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCdcXFxcLicsICdnJyksICcnKTtcblxuICAgICAgICAvKlxuICAgICAgICAgKiBIYW5kbGVzXG4gICAgICAgICAqIDEg4oCTIDkgPT4gWFxuICAgICAgICAgKiAxMCAtIDk5ID0+IFhYXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZGlnaXRzLm1hdGNoKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX05PX0RPVCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkaWdpdHMucmVwbGFjZShcbiAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX05PX0RPVCwgJ2cnKSxcbiAgICAgICAgICAgICAgICAnJDEnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgICogSGFuZGxlc1xuICAgICAgICAgKiAxMDAgLSA5OTkgPT4gWC5YWFxuICAgICAgICAgKiAx4oCZMDAwIC0gOeKAmTk5OSA9PiBYWC5YWFxuICAgICAgICAgKiAxMOKAmTAwMCAtIDk54oCZOTk5ID0+IFhYWC5YWFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGRpZ2l0cy5tYXRjaChOT19DT05UUklCX1BBVFRFUk5fV0lUSF9PTkVfRE9UKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRpZ2l0cy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAoTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfT05FX0RPVCwgJ2cnKSxcbiAgICAgICAgICAgICAgICAnJDEuJDInXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgICogSGFuZGxlc1xuICAgICAgICAgKiAxMDAnMDAwIC0gOTk5Jzk5OSA9PiBYLlhYWC5YWFxuICAgICAgICAgKiAxJzAwMCcwMDAgLSA54oCZOTk5Jzk5OSA9PiBYWC5YWFguWFhcbiAgICAgICAgICogMTAnMDAwJzAwMCAtIDk5Jzk5OSc5OTkgPT4gWFhYLlhYWC5YWFxuICAgICAgICAgKi9cblxuICAgICAgICByZXR1cm4gZGlnaXRzLnJlcGxhY2UoXG4gICAgICAgICAgICBuZXcgUmVnRXhwKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX1RXT19ET1RTLCAnZycpLFxuICAgICAgICAgICAgJyQxLiQyLiQzJ1xuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRjLWZvcm1hdHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZGlyZWN0aXZlcy9uZGMtZm9ybWF0dGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSXhELE1BQU0sa0JBQWtCLEdBQUcseUJBQXlCLENBQUM7QUFDckQsTUFBTSw4QkFBOEIsR0FBRyxjQUFjLENBQUM7QUFDdEQsTUFBTSwrQkFBK0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMvRCxNQUFNLGdDQUFnQyxHQUFHLDhCQUE4QixDQUFDO0FBRXhFLDhEQUE4RDtBQUU5RCxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLFlBQW9CLElBQTZCO1FBQTdCLFNBQUksR0FBSixJQUFJLENBQXlCO0lBQUcsQ0FBQztJQUdyRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSyxTQUFTLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFaEU7Ozs7V0FJRztRQUNILElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUNqQixJQUFJLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLENBQUMsRUFDL0MsSUFBSSxDQUNQLENBQUM7UUFDTixDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FDakIsSUFBSSxNQUFNLENBQUMsK0JBQStCLEVBQUUsR0FBRyxDQUFDLEVBQ2hELE9BQU8sQ0FDVixDQUFDO1FBQ04sQ0FBQztRQUVEOzs7OztXQUtHO1FBRUgsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUNqQixJQUFJLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLENBQUMsRUFDakQsVUFBVSxDQUNiLENBQUM7SUFDTixDQUFDOytHQXZFUSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRTs0RkFLckMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9laG5JbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb2Vobi1pbnB1dC9mb2Vobi1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XG5cbmNvbnN0IE5PX0NPTlRSSUJfUEFUVEVSTiA9ICdeKChcXFxcZFxcXFwuPyl7MCw3fSkoXFxcXGQpJCc7XG5jb25zdCBOT19DT05UUklCX1BBVFRFUk5fV0lUSF9OT19ET1QgPSAnXihcXFxcZHsxLDJ9KSQnO1xuY29uc3QgTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfT05FX0RPVCA9ICdeKFxcXFxkezEsM30pKFxcXFxkezJ9KSQnO1xuY29uc3QgTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfVFdPX0RPVFMgPSAnXihcXFxcZHsxLDN9KShcXFxcZHszfSkoXFxcXGR7Mn0pJCc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbmRjRm9ybWF0dGVyXScgfSlcbmV4cG9ydCBjbGFzcyBORENGb3JtYXR0ZXJEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRm9laG5JbnB1dFRleHRDb21wb25lbnQpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXG4gICAgb25CbHVyKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0LnVwZGF0ZU5nTW9kZWwodGhpcy5mb3JtYXROREModmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXQgdGhlIHRheCBwYXllciBudW1iZXIgZm9sbG93aW5nIHRoaXMgcGF0dGVybjpcbiAgICAgKlxuICAgICAqIDEg4oCTIDkgPT4gWFxuICAgICAqIDEwIC0gOTkgPT4gWFhcbiAgICAgKiAxMDAgLSA5OTkgPT4gWC5YWFxuICAgICAqIDHigJkwMDAgLSA54oCZOTk5ID0+IFhYLlhYXG4gICAgICogMTDigJkwMDAgLSA5OeKAmTk5OSA9PiBYWFguWFhcbiAgICAgKiAxMDAnMDAwIC0gOTk5Jzk5OSA9PiBYLlhYWC5YWFxuICAgICAqIDEnMDAwJzAwMCAtIDnigJk5OTknOTk5ID0+IFhYLlhYWC5YWFxuICAgICAqIDEwJzAwMCcwMDAgLSA5OSc5OTknOTk5ID0+IFhYWC5YWFguWFhcbiAgICAgKiBAcGFyYW0gdmFsdWUgYXMgbnVtZXJvIGRlIGNvbnRyaWJ1YWJsZVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZm9ybWF0TkRDKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKCk7XG4gICAgICAgIGlmICghdHJpbW1lZFZhbHVlLm1hdGNoKE5PX0NPTlRSSUJfUEFUVEVSTikpIHtcbiAgICAgICAgICAgIHJldHVybiB0cmltbWVkVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGdldCB0aGUgZGlnaXRzLlxuICAgICAgICBjb25zdCBkaWdpdHMgPSB0cmltbWVkVmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKCdcXFxcLicsICdnJyksICcnKTtcblxuICAgICAgICAvKlxuICAgICAgICAgKiBIYW5kbGVzXG4gICAgICAgICAqIDEg4oCTIDkgPT4gWFxuICAgICAgICAgKiAxMCAtIDk5ID0+IFhYXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZGlnaXRzLm1hdGNoKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX05PX0RPVCkpIHtcbiAgICAgICAgICAgIHJldHVybiBkaWdpdHMucmVwbGFjZShcbiAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX05PX0RPVCwgJ2cnKSxcbiAgICAgICAgICAgICAgICAnJDEnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgICogSGFuZGxlc1xuICAgICAgICAgKiAxMDAgLSA5OTkgPT4gWC5YWFxuICAgICAgICAgKiAx4oCZMDAwIC0gOeKAmTk5OSA9PiBYWC5YWFxuICAgICAgICAgKiAxMOKAmTAwMCAtIDk54oCZOTk5ID0+IFhYWC5YWFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKGRpZ2l0cy5tYXRjaChOT19DT05UUklCX1BBVFRFUk5fV0lUSF9PTkVfRE9UKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRpZ2l0cy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgIG5ldyBSZWdFeHAoTk9fQ09OVFJJQl9QQVRURVJOX1dJVEhfT05FX0RPVCwgJ2cnKSxcbiAgICAgICAgICAgICAgICAnJDEuJDInXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLypcbiAgICAgICAgICogSGFuZGxlc1xuICAgICAgICAgKiAxMDAnMDAwIC0gOTk5Jzk5OSA9PiBYLlhYWC5YWFxuICAgICAgICAgKiAxJzAwMCcwMDAgLSA54oCZOTk5Jzk5OSA9PiBYWC5YWFguWFhcbiAgICAgICAgICogMTAnMDAwJzAwMCAtIDk5Jzk5OSc5OTkgPT4gWFhYLlhYWC5YWFxuICAgICAgICAgKi9cblxuICAgICAgICByZXR1cm4gZGlnaXRzLnJlcGxhY2UoXG4gICAgICAgICAgICBuZXcgUmVnRXhwKE5PX0NPTlRSSUJfUEFUVEVSTl9XSVRIX1RXT19ET1RTLCAnZycpLFxuICAgICAgICAgICAgJyQxLiQyLiQzJ1xuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==