@dsivd/prestations-ng 14.5.20 → 15.0.0-beta3

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 (334) hide show
  1. package/CHANGELOG.md +33 -6
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +2 -0
  4. package/UPGRADING_V14.md +8 -11
  5. package/UPGRADING_V15.md +51 -0
  6. package/dsivd-prestations-ng-v15.0.0-beta3.tgz +0 -0
  7. package/esm2020/abstract-page-component.mjs +226 -0
  8. package/{esm2015/directives/currency-formatter.directive.js → esm2020/directives/currency-formatter.directive.mjs} +3 -3
  9. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +4 -4
  10. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +3 -3
  11. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +3 -3
  12. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +3 -3
  13. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  14. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +0 -0
  15. package/{esm2015/foehn-address/foehn-address.module.js → esm2020/foehn-address/foehn-address.module.mjs} +4 -4
  16. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  17. package/esm2020/foehn-address/foehn-input-address.component.mjs +366 -0
  18. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  19. package/{esm2015/foehn-address/foehn-input-foreign-street.component.js → esm2020/foehn-address/foehn-input-foreign-street.component.mjs} +6 -11
  20. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +548 -0
  21. package/{esm2015/foehn-autocomplete/foehn-autocomplete.module.js → esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs} +4 -4
  22. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  23. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +37 -0
  24. package/{esm2015/foehn-boolean/foehn-boolean.module.js → esm2020/foehn-boolean/foehn-boolean.module.mjs} +4 -4
  25. package/{esm2015/foehn-breadcrumb/breadcrumb-event.service.js → esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs} +10 -10
  26. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  27. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs} +5 -9
  28. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs} +4 -4
  29. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +283 -0
  30. package/{esm2015/foehn-checkables/foehn-checkables.module.js → esm2020/foehn-checkables/foehn-checkables.module.mjs} +4 -4
  31. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +36 -0
  32. package/esm2020/foehn-checkables/foehn-radio.component.mjs +63 -0
  33. package/esm2020/foehn-checkables/foehn-select.component.mjs +62 -0
  34. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  35. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  36. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +0 -0
  37. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +39 -0
  38. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs} +4 -4
  39. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +3 -3
  40. package/{esm2015/foehn-date-picker/date-picker-navigation.helper.js → esm2020/foehn-date-picker/date-picker-navigation.helper.mjs} +7 -7
  41. package/{esm2015/foehn-date-picker/date-picker.helper.js → esm2020/foehn-date-picker/date-picker.helper.mjs} +4 -4
  42. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  43. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  44. package/{esm2015/foehn-date-picker/foehn-date-picker.component.js → esm2020/foehn-date-picker/foehn-date-picker.component.mjs} +22 -25
  45. package/{esm2015/foehn-date-picker/foehn-date-picker.module.js → esm2020/foehn-date-picker/foehn-date-picker.module.mjs} +4 -4
  46. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  47. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +70 -0
  48. package/{esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js → esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs} +4 -4
  49. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs} +8 -11
  50. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +4 -4
  51. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +36 -0
  52. package/{esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js → esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs} +4 -4
  53. package/esm2020/foehn-footer/foehn-footer.component.mjs +129 -0
  54. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +4 -4
  55. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  56. package/{esm2015/foehn-form/foehn-form.component.js → esm2020/foehn-form/foehn-form.component.mjs} +5 -8
  57. package/{esm2015/foehn-form/foehn-form.module.js → esm2020/foehn-form/foehn-form.module.mjs} +4 -4
  58. package/{esm2015/foehn-growl/foehn-growl.component.js → esm2020/foehn-growl/foehn-growl.component.mjs} +8 -12
  59. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +4 -4
  60. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +3 -3
  61. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +0 -0
  62. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  63. package/esm2020/foehn-header/foehn-header.component.mjs +69 -0
  64. package/{esm2015/foehn-header/foehn-header.module.js → esm2020/foehn-header/foehn-header.module.mjs} +4 -4
  65. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  66. package/{esm2015/foehn-help-modal/foehn-help-modal.component.js → esm2020/foehn-help-modal/foehn-help-modal.component.mjs} +5 -9
  67. package/{esm2015/foehn-help-modal/foehn-help-modal.module.js → esm2020/foehn-help-modal/foehn-help-modal.module.mjs} +4 -4
  68. package/{esm2015/foehn-help-modal/foehn-help-modal.type.js → esm2020/foehn-help-modal/foehn-help-modal.type.mjs} +0 -0
  69. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +4 -4
  70. package/{esm2015/foehn-icons/foehn-icon-calendar.component.js → esm2020/foehn-icons/foehn-icon-calendar.component.mjs} +5 -8
  71. package/{esm2015/foehn-icons/foehn-icon-check-square-o.component.js → esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs} +5 -8
  72. package/{esm2015/foehn-icons/foehn-icon-check.component.js → esm2020/foehn-icons/foehn-icon-check.component.mjs} +5 -8
  73. package/{esm2015/foehn-icons/foehn-icon-chevron-down.component.js → esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs} +5 -8
  74. package/{esm2015/foehn-icons/foehn-icon-chevron-left.component.js → esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs} +5 -8
  75. package/{esm2015/foehn-icons/foehn-icon-chevron-right.component.js → esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs} +5 -8
  76. package/{esm2015/foehn-icons/foehn-icon-chevron-up.component.js → esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs} +5 -8
  77. package/{esm2015/foehn-icons/foehn-icon-clock.component.js → esm2020/foehn-icons/foehn-icon-clock.component.mjs} +5 -8
  78. package/{esm2015/foehn-icons/foehn-icon-comment-dots.component.js → esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs} +5 -8
  79. package/{esm2015/foehn-icons/foehn-icon-edit.component.js → esm2020/foehn-icons/foehn-icon-edit.component.mjs} +5 -8
  80. package/{esm2015/foehn-icons/foehn-icon-external-link-alt.component.js → esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs} +5 -8
  81. package/{esm2015/foehn-icons/foehn-icon-file-pdf.component.js → esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs} +5 -8
  82. package/{esm2015/foehn-icons/foehn-icon-info-circle.component.js → esm2020/foehn-icons/foehn-icon-info-circle.component.mjs} +5 -8
  83. package/{esm2015/foehn-icons/foehn-icon-lock.component.js → esm2020/foehn-icons/foehn-icon-lock.component.mjs} +5 -8
  84. package/{esm2015/foehn-icons/foehn-icon-map-marker.component.js → esm2020/foehn-icons/foehn-icon-map-marker.component.mjs} +5 -8
  85. package/{esm2015/foehn-icons/foehn-icon-minus-circle.component.js → esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs} +5 -8
  86. package/{esm2015/foehn-icons/foehn-icon-plus-circle.component.js → esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs} +5 -8
  87. package/{esm2015/foehn-icons/foehn-icon-plus-square.component.js → esm2020/foehn-icons/foehn-icon-plus-square.component.mjs} +5 -8
  88. package/{esm2015/foehn-icons/foehn-icon-search.component.js → esm2020/foehn-icons/foehn-icon-search.component.mjs} +5 -8
  89. package/{esm2015/foehn-icons/foehn-icon-times.component.js → esm2020/foehn-icons/foehn-icon-times.component.mjs} +5 -8
  90. package/{esm2015/foehn-icons/foehn-icon-trash-alt.component.js → esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs} +5 -8
  91. package/{esm2015/foehn-icons/foehn-icon-unlock-alt.component.js → esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs} +5 -8
  92. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +4 -4
  93. package/esm2020/foehn-input/foehn-input-email.component.mjs +50 -0
  94. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +53 -0
  95. package/{esm2015/foehn-input/foehn-input-number.component.js → esm2020/foehn-input/foehn-input-number.component.mjs} +10 -15
  96. package/esm2020/foehn-input/foehn-input-password.component.mjs +50 -0
  97. package/{esm2015/foehn-input/foehn-input-phone.component.js → esm2020/foehn-input/foehn-input-phone.component.mjs} +6 -11
  98. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +3 -3
  99. package/{esm2015/foehn-input/foehn-input-text.component.js → esm2020/foehn-input/foehn-input-text.component.mjs} +6 -11
  100. package/{esm2015/foehn-input/foehn-input-textarea.component.js → esm2020/foehn-input/foehn-input-textarea.component.mjs} +6 -11
  101. package/{esm2015/foehn-input/foehn-input.component.js → esm2020/foehn-input/foehn-input.component.mjs} +14 -14
  102. package/{esm2015/foehn-input/foehn-input.module.js → esm2020/foehn-input/foehn-input.module.mjs} +4 -4
  103. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  104. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +90 -0
  105. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +75 -0
  106. package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
  107. package/{esm2015/foehn-list/foehn-list.module.js → esm2020/foehn-list/foehn-list.module.mjs} +4 -4
  108. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  109. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  110. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +3 -3
  111. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +3 -3
  112. package/{esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js → esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs} +5 -8
  113. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  114. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  115. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  116. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  117. package/{esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js → esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs} +5 -8
  118. package/{esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js → esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs} +4 -4
  119. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  120. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +4 -4
  121. package/esm2020/foehn-modal/foehn-modal.component.mjs +96 -0
  122. package/{esm2015/foehn-modal/foehn-modal.module.js → esm2020/foehn-modal/foehn-modal.module.mjs} +4 -4
  123. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +94 -0
  124. package/{esm2015/foehn-nav13/foehn-input-nav13.module.js → esm2020/foehn-nav13/foehn-input-nav13.module.mjs} +4 -4
  125. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  126. package/{esm2015/foehn-navigation/foehn-navigation.module.js → esm2020/foehn-navigation/foehn-navigation.module.mjs} +4 -4
  127. package/{esm2015/foehn-navigation/foehn-navigation.service.js → esm2020/foehn-navigation/foehn-navigation.service.mjs} +12 -12
  128. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +5 -8
  129. package/{esm2015/foehn-notfound/foehn-notfound.module.js → esm2020/foehn-notfound/foehn-notfound.module.mjs} +4 -4
  130. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  131. package/esm2020/foehn-page/foehn-page-modal.component.mjs +52 -0
  132. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +3 -3
  133. package/esm2020/foehn-page/foehn-page.component.mjs +215 -0
  134. package/{esm2015/foehn-page/foehn-page.module.js → esm2020/foehn-page/foehn-page.module.mjs} +4 -4
  135. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
  136. package/{esm2015/foehn-recap-section/foehn-recap-section.component.js → esm2020/foehn-recap-section/foehn-recap-section.component.mjs} +5 -8
  137. package/{esm2015/foehn-recap-section/foehn-recap-section.module.js → esm2020/foehn-recap-section/foehn-recap-section.module.mjs} +4 -4
  138. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  139. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  140. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +4 -4
  141. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +37 -0
  142. package/{esm2015/foehn-status-progress-bar/foehn-status-progress-bar.module.js → esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs} +4 -4
  143. package/{esm2015/foehn-table/foehn-table-column-configuration.js → esm2020/foehn-table/foehn-table-column-configuration.mjs} +0 -0
  144. package/{esm2015/foehn-table/foehn-table-page-change-event.js → esm2020/foehn-table/foehn-table-page-change-event.mjs} +0 -0
  145. package/esm2020/foehn-table/foehn-table.component.mjs +147 -0
  146. package/{esm2015/foehn-table/foehn-table.module.js → esm2020/foehn-table/foehn-table.module.mjs} +4 -4
  147. package/{esm2015/foehn-table/tableSort.js → esm2020/foehn-table/tableSort.mjs} +0 -0
  148. package/{esm2015/foehn-upload/abstract-foehn-uploader.component.js → esm2020/foehn-upload/abstract-foehn-uploader.component.mjs} +17 -17
  149. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  150. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs} +3 -3
  151. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  152. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +165 -0
  153. package/{esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js → esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs} +4 -4
  154. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +214 -0
  155. package/{esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js → esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs} +4 -4
  156. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs} +3 -3
  157. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  158. package/{esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs} +3 -3
  159. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +163 -0
  160. package/{esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js → esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs} +4 -4
  161. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +0 -0
  162. package/esm2020/foehn-upload/uploader.helper.mjs +326 -0
  163. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  164. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +4 -4
  165. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs} +5 -9
  166. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs} +4 -4
  167. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
  168. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +4 -4
  169. package/esm2020/form-error.mjs +2 -0
  170. package/esm2020/form-post-response.mjs +10 -0
  171. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +3 -3
  172. package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
  173. package/esm2020/gesdem/gesdem-handler.service.mjs +151 -0
  174. package/{esm2015/gesdem/gesdem-loader.guard.js → esm2020/gesdem/gesdem-loader.guard.mjs} +3 -3
  175. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  176. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js → esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs} +5 -10
  177. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +128 -0
  178. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs} +4 -4
  179. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
  180. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  181. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +189 -0
  182. package/{esm2015/gesdem-confirmation/gesdem-confirmation.module.js → esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs} +4 -4
  183. package/{esm2015/gesdem-error/gesdem-error.component.js → esm2020/gesdem-error/gesdem-error.component.mjs} +5 -9
  184. package/{esm2015/gesdem-error/gesdem-error.module.js → esm2020/gesdem-error/gesdem-error.module.mjs} +4 -4
  185. package/{esm2015/helpers/object.helper.js → esm2020/helpers/object.helper.mjs} +2 -2
  186. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  187. package/{esm2015/index.js → esm2020/index.mjs} +3 -3
  188. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +3 -3
  189. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +3 -3
  190. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  191. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +4 -4
  192. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +4 -4
  193. package/{esm2015/sdk-appinfo/application-info.js → esm2020/sdk-appinfo/application-info.mjs} +0 -0
  194. package/esm2020/sdk-appinfo/application-info.service.mjs +102 -0
  195. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  196. package/esm2020/sdk-date/date.helper.mjs +91 -0
  197. package/{esm2015/sdk-dictionary/default-dictionary.js → esm2020/sdk-dictionary/default-dictionary.mjs} +0 -0
  198. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +4 -4
  199. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +5 -5
  200. package/{esm2015/sdk-dictionary/sdk-dictionary.service.js → esm2020/sdk-dictionary/sdk-dictionary.service.mjs} +3 -3
  201. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  202. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +79 -0
  203. package/{esm2015/sdk-epayment/sdk-epayment.module.js → esm2020/sdk-epayment/sdk-epayment.module.mjs} +4 -4
  204. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +51 -0
  205. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +5 -9
  206. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
  207. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +68 -0
  208. package/{esm2015/sdk-recaptcha/sdk-recaptcha.module.js → esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs} +4 -4
  209. package/{esm2015/sdk-redirect/iam-expired-interceptor.service.js → esm2020/sdk-redirect/iam-expired-interceptor.service.mjs} +3 -3
  210. package/{esm2015/sdk-redirect/redirect.component.js → esm2020/sdk-redirect/redirect.component.mjs} +5 -9
  211. package/{esm2015/sdk-redirect/sdk-redirect.module.js → esm2020/sdk-redirect/sdk-redirect.module.mjs} +4 -4
  212. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
  213. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +3 -3
  214. package/esm2020/sdk-session-info/session-info.service.mjs +73 -0
  215. package/{esm2015/sdk-support-alert/support-alert-container.component.js → esm2020/sdk-support-alert/support-alert-container.component.mjs} +5 -9
  216. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  217. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  218. package/{esm2015/sdk-support-alert/support-alert.module.js → esm2020/sdk-support-alert/support-alert.module.mjs} +4 -4
  219. package/{esm2015/sdk-support-alert/support-alert.service.js → esm2020/sdk-support-alert/support-alert.service.mjs} +3 -3
  220. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  221. package/esm2020/supported-browser.mjs +2 -0
  222. package/esm2020/validation/validation-handler.service.mjs +44 -0
  223. package/fesm2015/{dsivd-prestations-ng.js → dsivd-prestations-ng.mjs} +973 -1300
  224. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  225. package/fesm2020/dsivd-prestations-ng.mjs +11532 -0
  226. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  227. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  228. package/foehn-checkables/foehn-checkable-group.component.d.ts +3 -3
  229. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +1 -1
  230. package/foehn-date-picker/date-picker-navigation.helper.d.ts +1 -1
  231. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  232. package/foehn-date-picker/foehn-date-picker.component.d.ts +3 -3
  233. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +2 -2
  234. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +1 -1
  235. package/foehn-growl/foehn-growl.component.d.ts +1 -1
  236. package/foehn-header/foehn-header.component.d.ts +2 -2
  237. package/foehn-input/foehn-input-number.component.d.ts +1 -1
  238. package/foehn-input/foehn-input.component.d.ts +4 -4
  239. package/foehn-list/foehn-list.component.d.ts +2 -2
  240. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  241. package/foehn-modal/foehn-modal.component.d.ts +1 -1
  242. package/foehn-navigation/foehn-navigation.service.d.ts +2 -2
  243. package/foehn-page/foehn-page.service.d.ts +2 -2
  244. package/foehn-table/foehn-table.component.d.ts +2 -2
  245. package/foehn-upload/abstract-foehn-uploader.component.d.ts +2 -2
  246. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +1 -1
  247. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -2
  248. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -1
  249. package/foehn-upload/uploader.helper.d.ts +12 -12
  250. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +3 -3
  251. package/{error-template.d.ts → form-error.d.ts} +1 -1
  252. package/form-post-response.d.ts +17 -0
  253. package/gesdem/gesdem-event.service.d.ts +6 -6
  254. package/gesdem/gesdem-handler.service.d.ts +3 -3
  255. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +2 -2
  256. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +2 -2
  257. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +4 -4
  258. package/index.d.ts +2 -2
  259. package/package.json +26 -13
  260. package/schematics/ng-add/index.js +6 -6
  261. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  262. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  263. package/schematics/ng-update/migrations/update-13_5_1/index.js +2 -2
  264. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  265. package/schematics/update-karma-config/index.js +2 -2
  266. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  267. package/sdk-appinfo/application-info.service.d.ts +2 -2
  268. package/sdk-epayment/sdk-epayment.component.d.ts +3 -13
  269. package/sdk-epayment/sdk-epayment.service.d.ts +2 -5
  270. package/sdk-recaptcha/recaptcha.service.d.ts +2 -2
  271. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +2 -2
  272. package/sdk-session-info/session-info-data.d.ts +0 -1
  273. package/sdk-session-info/session-info.service.d.ts +9 -2
  274. package/validation/validation-handler.service.d.ts +4 -4
  275. package/backend-response.d.ts +0 -18
  276. package/bundles/dsivd-prestations-ng.umd.js +0 -13472
  277. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  278. package/dsivd-prestations-ng-v14.5.20.tgz +0 -0
  279. package/esm2015/abstract-page-component.js +0 -224
  280. package/esm2015/backend-response.js +0 -10
  281. package/esm2015/error-template.js +0 -2
  282. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  283. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  284. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  285. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  286. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  287. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  288. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  289. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  290. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  291. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  292. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  293. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  294. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  295. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  296. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  297. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  298. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  299. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  300. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  301. package/esm2015/foehn-list/foehn-list.component.js +0 -134
  302. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  303. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  304. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  305. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  306. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  307. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  308. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  309. package/esm2015/foehn-page/foehn-page.component.js +0 -217
  310. package/esm2015/foehn-status-progress-bar/foehn-status-progress-bar.component.js +0 -42
  311. package/esm2015/foehn-table/foehn-table.component.js +0 -151
  312. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -171
  313. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -220
  314. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -167
  315. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  316. package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
  317. package/esm2015/gesdem/gesdem-event.service.js +0 -38
  318. package/esm2015/gesdem/gesdem-handler.service.js +0 -151
  319. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  320. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
  321. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  322. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  323. package/esm2015/sdk-date/date.helper.js +0 -90
  324. package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
  325. package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
  326. package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
  327. package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
  328. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  329. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  330. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  331. package/esm2015/supported-browser.js +0 -2
  332. package/esm2015/validation/validation-handler.service.js +0 -44
  333. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
  334. package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
@@ -6,10 +6,10 @@ import { FoehnDebugSummaryComponentModule } from '../foehn-debug-summary/foehn-d
6
6
  import * as i0 from "@angular/core";
7
7
  export class FoehnNotFoundModule {
8
8
  }
9
- FoehnNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- FoehnNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotFoundModule, declarations: [FoehnNotfoundComponent], imports: [CommonModule, FoehnPageModule, FoehnDebugSummaryComponentModule], exports: [FoehnNotfoundComponent] });
11
- FoehnNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotFoundModule, imports: [[CommonModule, FoehnPageModule, FoehnDebugSummaryComponentModule]] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnNotFoundModule, decorators: [{
9
+ FoehnNotFoundModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnNotFoundModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ FoehnNotFoundModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnNotFoundModule, declarations: [FoehnNotfoundComponent], imports: [CommonModule, FoehnPageModule, FoehnDebugSummaryComponentModule], exports: [FoehnNotfoundComponent] });
11
+ FoehnNotFoundModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnNotFoundModule, imports: [[CommonModule, FoehnPageModule, FoehnDebugSummaryComponentModule]] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnNotFoundModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CommonModule, FoehnPageModule, FoehnDebugSummaryComponentModule],
@@ -20,15 +20,12 @@ export class FoehnPageCounterComponent {
20
20
  };
21
21
  }
22
22
  }
23
- FoehnPageCounterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageCounterComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
- FoehnPageCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnPageCounterComponent, selector: "foehn-page-counter", inputs: { textTemplate: "textTemplate" }, ngImport: i0, template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "fromDictionary": i3.SdkDictionaryPipe } });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageCounterComponent, decorators: [{
23
+ FoehnPageCounterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageCounterComponent, deps: [{ token: i1.FoehnNavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
24
+ FoehnPageCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageCounterComponent, selector: "foehn-page-counter", inputs: { textTemplate: "textTemplate" }, ngImport: i0, template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe, "fromDictionary": i3.SdkDictionaryPipe } });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageCounterComponent, decorators: [{
26
26
  type: Component,
27
- args: [{
28
- selector: 'foehn-page-counter',
29
- templateUrl: './foehn-page-counter.component.html'
30
- }]
27
+ args: [{ selector: 'foehn-page-counter', template: "<p class=\"h3 text-muted\" *ngIf=\"isStable | async\">\n {{ textTemplate | fromDictionary: placeholders }}\n</p>\n" }]
31
28
  }], ctorParameters: function () { return [{ type: i1.FoehnNavigationService }, { type: i0.NgZone }]; }, propDecorators: { textTemplate: [{
32
29
  type: Input
33
30
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNNUMsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUNZLHNCQUE4QyxFQUM5QyxNQUFjO1FBRGQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFCLGlCQUFZLEdBQUcsMEJBQTBCLENBQUM7UUFRdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixNQUFNLFdBQVcsR0FDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDSCxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDO0lBQ04sQ0FBQzs7c0hBekJRLHlCQUF5QjswR0FBekIseUJBQXlCLG9HQ1Z0Qyx1SEFHQTsyRkRPYSx5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLHFDQUFxQztpQkFDckQ7a0lBR0csWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJUeXBlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBhZ2UtY291bnRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlQ291bnRlckNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICB0ZXh0VGVtcGxhdGUgPSAnZm9laG4tcGFnZS1jb3VudGVyLmxhYmVsJztcblxuICAgIGlzU3RhYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZm9laG5OYXZpZ2F0aW9uU2VydmljZTogRm9laG5OYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICAgICkge1xuICAgICAgICB0aGlzLmlzU3RhYmxlID0gdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJzKCk6IFBsYWNlaG9sZGVyVHlwZSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlID1cbiAgICAgICAgICAgIHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50Um91dGVJbmRleCgpICsgMTtcbiAgICAgICAgY29uc3QgcGFnZUNvdW50ID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldFRvdGFsUm91dGVzU2l6ZSgpIC0gMTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHBhZ2VDb3VudC50b1N0cmluZygpXG4gICAgICAgIH07XG4gICAgfVxufVxuIiwiPHAgY2xhc3M9XCJoMyB0ZXh0LW11dGVkXCIgKm5nSWY9XCJpc1N0YWJsZSB8IGFzeW5jXCI+XG4gICAge3sgdGV4dFRlbXBsYXRlIHwgZnJvbURpY3Rpb25hcnk6IHBsYWNlaG9sZGVycyB9fVxuPC9wPlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtY291bnRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJekQsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNNUMsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUNZLHNCQUE4QyxFQUM5QyxNQUFjO1FBRGQsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFCLGlCQUFZLEdBQUcsMEJBQTBCLENBQUM7UUFRdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3JDLEtBQUssRUFBRSxFQUNQLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDWixNQUFNLFdBQVcsR0FDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZFLE9BQU87WUFDSCxXQUFXLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRTtZQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDO0lBQ04sQ0FBQzs7c0hBekJRLHlCQUF5QjswR0FBekIseUJBQXlCLG9HQ1Z0Qyx1SEFHQTsyRkRPYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0ksb0JBQW9CO2tJQUs5QixZQUFZO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclR5cGUgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tcGFnZS1jb3VudGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGFnZS1jb3VudGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBhZ2VDb3VudGVyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHRleHRUZW1wbGF0ZSA9ICdmb2Vobi1wYWdlLWNvdW50ZXIubGFiZWwnO1xuXG4gICAgaXNTdGFibGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmb2Vobk5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaXNTdGFibGUgPSB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKFxuICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlcnMoKTogUGxhY2Vob2xkZXJUeXBlIHtcbiAgICAgICAgY29uc3QgY3VycmVudFBhZ2UgPVxuICAgICAgICAgICAgdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZUluZGV4KCkgKyAxO1xuICAgICAgICBjb25zdCBwYWdlQ291bnQgPSB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0VG90YWxSb3V0ZXNTaXplKCkgLSAxO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHBhZ2VDb3VudDogcGFnZUNvdW50LnRvU3RyaW5nKClcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8cCBjbGFzcz1cImgzIHRleHQtbXV0ZWRcIiAqbmdJZj1cImlzU3RhYmxlIHwgYXN5bmNcIj5cbiAgICB7eyB0ZXh0VGVtcGxhdGUgfCBmcm9tRGljdGlvbmFyeTogcGxhY2Vob2xkZXJzIH19XG48L3A+XG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { Component } from '@angular/core';
2
+ import { combineLatest } from 'rxjs';
3
+ import { filter, first } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../sdk-session-info/session-info.service";
6
+ import * as i2 from "../sdk-appinfo/application-info.service";
7
+ import * as i3 from "./foehn-page-modal.service";
8
+ import * as i4 from "../foehn-modal/foehn-modal.component";
9
+ import * as i5 from "@angular/common";
10
+ export class FoehnPageModalComponent {
11
+ constructor(sessionInfo, applicationInfoService, foehnPageModalService) {
12
+ this.sessionInfo = sessionInfo;
13
+ this.applicationInfoService = applicationInfoService;
14
+ this.foehnPageModalService = foehnPageModalService;
15
+ this.wrongPublicModalVisible = false;
16
+ }
17
+ ngOnInit() {
18
+ combineLatest([
19
+ this.applicationInfoService.currentEtapeInfo,
20
+ this.sessionInfo.data
21
+ ])
22
+ .pipe(filter(([etapeInfo, data]) => !!etapeInfo && !!data), first())
23
+ .subscribe(([etapeInfo, sessionInfoData]) => {
24
+ this.publicsCibles = etapeInfo.publicCible.map(p => p.toUpperCase());
25
+ this.userCategories = sessionInfoData.categories.map(c => c.toUpperCase());
26
+ this.wrongPublicModalVisible = !this.publicsCibles.some(cat => this.userCategories.includes(cat));
27
+ this.formattedPublicsCibles = this.foehnPageModalService.toQuotedTitleCaseStringArray(this.publicsCibles);
28
+ });
29
+ }
30
+ getFullLoginUrl() {
31
+ return this.foehnPageModalService.buildSelfRedirectionThroughCyberLogin();
32
+ }
33
+ getAbortUrl() {
34
+ return this.applicationInfoService.getSafeEspacesSecuriseUrl();
35
+ }
36
+ getUserCategory() {
37
+ return this.foehnPageModalService
38
+ .toQuotedTitleCaseStringArray(this.userCategories)
39
+ .join(', ');
40
+ }
41
+ updateVisibilityStatus(status) {
42
+ // In case the modal is closed by another mean such as the Escape key.
43
+ this.wrongPublicModalVisible = status;
44
+ }
45
+ }
46
+ FoehnPageModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalComponent, deps: [{ token: i1.SessionInfo }, { token: i2.ApplicationInfoService }, { token: i3.FoehnPageModalService }], target: i0.ɵɵFactoryTarget.Component });
47
+ FoehnPageModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageModalComponent, selector: "foehn-page-modal", ngImport: i0, template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i4.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "modalFooterText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'foehn-page-modal', template: "<foehn-modal\n modalHeaderText=\"Acc\u00E8s non autoris\u00E9\"\n modalSize=\"modal-lg\"\n [isModalVisible]=\"wrongPublicModalVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"false\"\n>\n <div class=\"modal-body\">\n Vous \u00EAtes connect\u00E9 pour le compte d\u2019un usager de type\n {{ getUserCategory() }}, or cette prestation est destin\u00E9e aux usagers de\n type :\n <ul>\n <li *ngFor=\"let pubCible of formattedPublicsCibles\">\n {{ pubCible }}\n </li>\n </ul>\n </div>\n <div class=\"modal-body\">\n Vous pouvez choisir de vous reconnecter et de continuer, ou bien\n d'abandonner.\n </div>\n\n <div modal-footer class=\"w-100\">\n <div class=\"d-md-flex\">\n <div class=\"ml-md-auto mr-md-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary w-100\"\n [href]=\"getFullLoginUrl() | async\"\n >\n Se reconnecter\n </a>\n </div>\n <div class=\"ml-md-0 mr-md-2 mb-2 mt-2\">\n <a class=\"btn btn-primary w-100\" [href]=\"getAbortUrl() | async\">\n Abandonner\n </a>\n </div>\n </div>\n </div>\n</foehn-modal>\n" }]
51
+ }], ctorParameters: function () { return [{ type: i1.SessionInfo }, { type: i2.ApplicationInfoService }, { type: i3.FoehnPageModalService }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVNoQyxZQUNZLFdBQXdCLEVBQ3hCLHNCQUE4QyxFQUM5QyxxQkFBNEM7UUFGNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBWHhELDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQVk3QixDQUFDO0lBRUosUUFBUTtRQUNKLGFBQWEsQ0FBQztZQUNWLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBZ0I7WUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO1NBQ3hCLENBQUM7YUFDRyxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNwRCxLQUFLLEVBQUUsQ0FDVjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ2xCLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3JELENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDbEIsQ0FBQztZQUVGLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUNwQyxDQUFDO1lBRUYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw0QkFBNEIsQ0FDakYsSUFBSSxDQUFDLGFBQWEsQ0FDckIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO0lBQzlFLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUNuRSxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHFCQUFxQjthQUM1Qiw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNsQyxzRUFBc0U7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQztJQUMxQyxDQUFDOztvSEEzRFEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0RDWHBDLGkyQ0F3Q0E7MkZEN0JhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDSSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZU1vZGFsU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS1tb2RhbC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1wYWdlLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tcGFnZS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHdyb25nUHVibGljTW9kYWxWaXNpYmxlID0gZmFsc2U7XG5cbiAgICBmb3JtYXR0ZWRQdWJsaWNzQ2libGVzOiBzdHJpbmdbXTtcblxuICAgIHByaXZhdGUgdXNlckNhdGVnb3JpZXM6IHN0cmluZ1tdO1xuXG4gICAgcHJpdmF0ZSBwdWJsaWNzQ2libGVzOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZU1vZGFsU2VydmljZTogRm9laG5QYWdlTW9kYWxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGFcbiAgICAgICAgXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoW2V0YXBlSW5mbywgZGF0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhZGF0YSksXG4gICAgICAgICAgICAgICAgZmlyc3QoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2V0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHVibGljc0NpYmxlcyA9IGV0YXBlSW5mby5wdWJsaWNDaWJsZS5tYXAocCA9PlxuICAgICAgICAgICAgICAgICAgICBwLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlckNhdGVnb3JpZXMgPSBzZXNzaW9uSW5mb0RhdGEuY2F0ZWdvcmllcy5tYXAoYyA9PlxuICAgICAgICAgICAgICAgICAgICBjLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgdGhpcy53cm9uZ1B1YmxpY01vZGFsVmlzaWJsZSA9ICF0aGlzLnB1YmxpY3NDaWJsZXMuc29tZShjYXQgPT5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQ2F0ZWdvcmllcy5pbmNsdWRlcyhjYXQpXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkUHVibGljc0NpYmxlcyA9IHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlLnRvUXVvdGVkVGl0bGVDYXNlU3RyaW5nQXJyYXkoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHVibGljc0NpYmxlc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXRGdWxsTG9naW5VcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlLmJ1aWxkU2VsZlJlZGlyZWN0aW9uVGhyb3VnaEN5YmVyTG9naW4oKTtcbiAgICB9XG5cbiAgICBnZXRBYm9ydFVybCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmdldFNhZmVFc3BhY2VzU2VjdXJpc2VVcmwoKTtcbiAgICB9XG5cbiAgICBnZXRVc2VyQ2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAudG9RdW90ZWRUaXRsZUNhc2VTdHJpbmdBcnJheSh0aGlzLnVzZXJDYXRlZ29yaWVzKVxuICAgICAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlVmlzaWJpbGl0eVN0YXR1cyhzdGF0dXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgLy8gSW4gY2FzZSB0aGUgbW9kYWwgaXMgY2xvc2VkIGJ5IGFub3RoZXIgbWVhbiBzdWNoIGFzIHRoZSBFc2NhcGUga2V5LlxuICAgICAgICB0aGlzLndyb25nUHVibGljTW9kYWxWaXNpYmxlID0gc3RhdHVzO1xuICAgIH1cbn1cbiIsIjxmb2Vobi1tb2RhbFxuICAgIG1vZGFsSGVhZGVyVGV4dD1cIkFjY8OocyBub24gYXV0b3Jpc8OpXCJcbiAgICBtb2RhbFNpemU9XCJtb2RhbC1sZ1wiXG4gICAgW2lzTW9kYWxWaXNpYmxlXT1cIndyb25nUHVibGljTW9kYWxWaXNpYmxlXCJcbiAgICAoaXNNb2RhbFZpc2libGVDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eVN0YXR1cygkZXZlbnQpXCJcbiAgICBbY2xvc2VhYmxlXT1cImZhbHNlXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICBWb3VzIMOqdGVzIGNvbm5lY3TDqSBwb3VyIGxlIGNvbXB0ZSBk4oCZdW4gdXNhZ2VyIGRlIHR5cGVcbiAgICAgICAge3sgZ2V0VXNlckNhdGVnb3J5KCkgfX0sIG9yIGNldHRlIHByZXN0YXRpb24gZXN0IGRlc3RpbsOpZSBhdXggdXNhZ2VycyBkZVxuICAgICAgICB0eXBlIDpcbiAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBwdWJDaWJsZSBvZiBmb3JtYXR0ZWRQdWJsaWNzQ2libGVzXCI+XG4gICAgICAgICAgICAgICAge3sgcHViQ2libGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgVm91cyBwb3V2ZXogY2hvaXNpciBkZSB2b3VzIHJlY29ubmVjdGVyIGV0IGRlIGNvbnRpbnVlciwgb3UgYmllblxuICAgICAgICBkJ2FiYW5kb25uZXIuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3RlciBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLW1kLWZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtbC1tZC1hdXRvIG1yLW1kLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgdy0xMDBcIlxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZXRGdWxsTG9naW5VcmwoKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFNlIHJlY29ubmVjdGVyXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWwtbWQtMCBtci1tZC0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IHctMTAwXCIgW2hyZWZdPVwiZ2V0QWJvcnRVcmwoKSB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgIEFiYW5kb25uZXJcbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2ZvZWhuLW1vZGFsPlxuIl19
@@ -27,9 +27,9 @@ export class FoehnPageModalService {
27
27
  .pipe(map(cyberloginUrl => `${cyberloginUrl}?goto=${window.location.href}`));
28
28
  }
29
29
  }
30
- FoehnPageModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, deps: [{ token: i1.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
31
- FoehnPageModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModalService, decorators: [{
30
+ FoehnPageModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, deps: [{ token: i1.ApplicationInfoService }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ FoehnPageModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, providedIn: 'root' });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModalService, decorators: [{
33
33
  type: Injectable,
34
34
  args: [{
35
35
  providedIn: 'root'
@@ -0,0 +1,215 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { combineLatest, merge, of } from 'rxjs';
4
+ import { debounceTime, filter, map } from 'rxjs/operators';
5
+ import { supportedBrowsers } from '../supported-browser';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/platform-browser";
8
+ import * as i2 from "./foehn-page.service";
9
+ import * as i3 from "../sdk-support-alert/support-alert.service";
10
+ import * as i4 from "../foehn-navigation/foehn-navigation.service";
11
+ import * as i5 from "../sdk-appinfo/application-info.service";
12
+ import * as i6 from "../gesdem/gesdem-event.service";
13
+ import * as i7 from "../foehn-breadcrumb/breadcrumb-event.service";
14
+ import * as i8 from "@angular/router";
15
+ import * as i9 from "../sdk-session-info/session-info.service";
16
+ import * as i10 from "../foehn-page/foehn-page-modal.service";
17
+ import * as i11 from "../sdk-dictionary/sdk-dictionary.service";
18
+ import * as i12 from "../foehn-header/foehn-header.component";
19
+ import * as i13 from "../foehn-growl/foehn-growl.component";
20
+ import * as i14 from "../foehn-breadcrumb/foehn-breadcrumb.component";
21
+ import * as i15 from "../foehn-status-progress-bar/foehn-status-progress-bar.component";
22
+ import * as i16 from "../foehn-icons/foehn-icon-external-link-alt.component";
23
+ import * as i17 from "../sdk-support-alert/support-alert-container.component";
24
+ import * as i18 from "../foehn-user-connected-as/foehn-user-connected-as.component";
25
+ import * as i19 from "../foehn-footer/foehn-footer.component";
26
+ import * as i20 from "./foehn-page-modal.component";
27
+ import * as i21 from "../foehn-confirm-modal/foehn-confirm-modal.component";
28
+ import * as i22 from "@angular/common";
29
+ import * as i23 from "../sdk-dictionary/sdk-dictionary.pipe";
30
+ const LEAVING_ALERT_CONTENT = 'Ce changement de page entraine une perte des données non sauvegardées.<br/>Souhaitez-vous quand même continuer ?';
31
+ const LEAVING_ALERT_OK = 'Poursuivre sans sauvegarder';
32
+ const LEAVING_ALERT_CANCEL = 'Retourner à la prestation';
33
+ export class FoehnPageComponent {
34
+ constructor(_titleService, foehnPageService, supportAlertService, foehnNavigationService, applicationInfoService, gesdemEventService, breadcrumbService, router, sessionInfo, foehnPageModalService, sdkDictionaryService) {
35
+ this._titleService = _titleService;
36
+ this.foehnPageService = foehnPageService;
37
+ this.supportAlertService = supportAlertService;
38
+ this.foehnNavigationService = foehnNavigationService;
39
+ this.applicationInfoService = applicationInfoService;
40
+ this.gesdemEventService = gesdemEventService;
41
+ this.breadcrumbService = breadcrumbService;
42
+ this.router = router;
43
+ this.sessionInfo = sessionInfo;
44
+ this.foehnPageModalService = foehnPageModalService;
45
+ this.sdkDictionaryService = sdkDictionaryService;
46
+ this.neverConnected = false;
47
+ this.supportAlertEnabled = true;
48
+ this.userConnectedAsDisplayed = true;
49
+ this.confirmLeavingAlert = {
50
+ htmlContent: LEAVING_ALERT_CONTENT,
51
+ okButtonLabel: LEAVING_ALERT_OK,
52
+ cancelButtonLabel: LEAVING_ALERT_CANCEL
53
+ };
54
+ /**
55
+ * If set to 'false', hide the default Contact link in the footer.
56
+ */
57
+ this.showDefaultContactFooterLink = true;
58
+ /**
59
+ * If set to 'false', hide the default Guide link in the footer.
60
+ */
61
+ this.showDefaultGuideFooterLink = true;
62
+ /**
63
+ * If set to 'false', hide the default Terms of use link.
64
+ */
65
+ this.showDefaultTermOfUseLink = true;
66
+ /**
67
+ * If set to 'false', hide the default Security Best Practice link.
68
+ */
69
+ this.showDefaultSecurityBestPracticeLink = true;
70
+ this.browserLinkTitlePrefix = 'Lien pour le téléchargement du navigateur internet';
71
+ this.browserNotSupportedBypass = false;
72
+ this.hasBlockingSupportAlert = supportAlertService.getHasAtLeastOneBlockingAlert();
73
+ this.blockedSubscription = combineLatest([
74
+ this.foehnPageService.foehnPageObservable(),
75
+ // Ensures there is at least one value in the observable.
76
+ merge(of(false), this.hasBlockingSupportAlert)
77
+ ]).subscribe(([title, blocked]) => {
78
+ if (blocked) {
79
+ this.setPageTitle('Prestation indisponible');
80
+ }
81
+ else if (title) {
82
+ this.setPageTitle(title);
83
+ }
84
+ });
85
+ this.isBrowserSupported = supportedBrowsers.test(navigator.userAgent);
86
+ this.isApplePlatform = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
87
+ }
88
+ ngOnInit() {
89
+ if (!this.isBrowserSupported) {
90
+ const pageTitle = 'Navigateur non supporté';
91
+ this.foehnPageService.setPageTitle(pageTitle);
92
+ this.breadcrumbService.setCurrentBreadcrumb({
93
+ url: null,
94
+ routerLink: null,
95
+ label: pageTitle
96
+ });
97
+ }
98
+ const isInitialStep = this.applicationInfoService.currentEtapeInfo.pipe(map((currentEtapeInfo) => currentEtapeInfo &&
99
+ currentEtapeInfo.idMetierEtape ===
100
+ currentEtapeInfo.idMetierPrestation));
101
+ // const navigationUpdate: Observable<any> = of (true)
102
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
+ const navigationUpdate = this.router.events.pipe(filter(event => event instanceof NavigationEnd));
104
+ // Ensures there is at least one value in the observable.
105
+ const navigationAndInit = merge(of(true), navigationUpdate);
106
+ const formTransmitted = merge(of(undefined), this.gesdemEventService.formTransmittedObservable());
107
+ this.displayUserCategory = combineLatest([
108
+ isInitialStep,
109
+ this.foehnNavigationService.hasBeenInitialized(),
110
+ formTransmitted,
111
+ navigationAndInit
112
+ ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
113
+ map(([initialStep, navServiceInitialized, backendResponse]) => {
114
+ if (navServiceInitialized) {
115
+ const isFirstPage = this.foehnNavigationService.isFirstFormPage();
116
+ const isLastPage = this.foehnNavigationService.isLastFormPage();
117
+ const isCurrentRouteDefined = this.foehnNavigationService.getCurrentRouteIndex() !==
118
+ null;
119
+ return this.foehnPageService.isUserCategoryVisible(isFirstPage, isLastPage, this.userConnectedAsDisplayed, initialStep, this.neverConnected, backendResponse, isCurrentRouteDefined);
120
+ }
121
+ return false;
122
+ }));
123
+ const formInitializationObservable = merge(of(undefined), this.gesdemEventService.formInitializationObservable());
124
+ if (this.neverConnected) {
125
+ this.displayLoginMessages = of(new DisplayLoginMessagesData(false, false));
126
+ }
127
+ else {
128
+ this.displayLoginMessages = combineLatest([
129
+ formInitializationObservable,
130
+ this.sessionInfo.data,
131
+ this.applicationInfoService.currentEtapeInfo
132
+ ]).pipe(debounceTime(0), // without debounceTime, the outcome is less effective...
133
+ map(([formInitialization, sessionInfoData, currentEtapeInfo]) => {
134
+ const isConnectedCyberOrIam = !!sessionInfoData;
135
+ const isLastPage = this.foehnNavigationService.isLastFormPage();
136
+ if (isConnectedCyberOrIam ||
137
+ !currentEtapeInfo.deployeeCyber ||
138
+ !!formInitialization ||
139
+ isLastPage) {
140
+ return new DisplayLoginMessagesData(false, false);
141
+ }
142
+ return new DisplayLoginMessagesData(currentEtapeInfo?.decisionElectroniqueAvailable, true);
143
+ }));
144
+ }
145
+ }
146
+ ngOnChanges(changes) {
147
+ const etapeIdChange = changes.etapeId;
148
+ if (etapeIdChange && etapeIdChange.currentValue) {
149
+ this.foehnPageService.setCurrentEtapeId(etapeIdChange.currentValue);
150
+ }
151
+ const appTitleChange = changes.appTitle;
152
+ if (appTitleChange) {
153
+ this._titleService.setTitle(appTitleChange.currentValue);
154
+ }
155
+ }
156
+ ngOnDestroy() {
157
+ if (this.blockedSubscription) {
158
+ this.blockedSubscription.unsubscribe();
159
+ }
160
+ }
161
+ getFullLoginUrl() {
162
+ return this.foehnPageModalService.buildSelfRedirectionThroughCyberLogin();
163
+ }
164
+ getFullLoginMessage(decisionElectroniqueAvailable) {
165
+ if (decisionElectroniqueAvailable) {
166
+ return combineLatest([
167
+ this.sdkDictionaryService.getKey('use-login.text'),
168
+ this.sdkDictionaryService.getKey('use-login.text.decision-electronique-available')
169
+ ]).pipe(map(([loginMsg, decisionElectroniqueAvailableMsg]) => `${loginMsg}<br/><br/>${decisionElectroniqueAvailableMsg}`));
170
+ }
171
+ return this.sdkDictionaryService.getKey('use-login.text');
172
+ }
173
+ setPageTitle(title) {
174
+ this.pageTitle = title;
175
+ }
176
+ }
177
+ FoehnPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageComponent, deps: [{ token: i1.Title }, { token: i2.FoehnPageService }, { token: i3.SupportAlertService }, { token: i4.FoehnNavigationService }, { token: i5.ApplicationInfoService }, { token: i6.GesdemEventService }, { token: i7.BreadcrumbEventService }, { token: i8.Router }, { token: i9.SessionInfo }, { token: i10.FoehnPageModalService }, { token: i11.SdkDictionaryService }], target: i0.ɵɵFactoryTarget.Component });
178
+ FoehnPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnPageComponent, selector: "foehn-page", inputs: { appTitle: "appTitle", footerLinks: "footerLinks", neverConnected: "neverConnected", supportAlertEnabled: "supportAlertEnabled", supportAlertUrl: "supportAlertUrl", etapeId: "etapeId", userConnectedAsDisplayed: "userConnectedAsDisplayed", statusProgressBarHidden: "statusProgressBarHidden", confirmLeavingAlert: "confirmLeavingAlert", showDefaultContactFooterLink: "showDefaultContactFooterLink", showDefaultGuideFooterLink: "showDefaultGuideFooterLink", showDefaultTermOfUseLink: "showDefaultTermOfUseLink", showDefaultSecurityBestPracticeLink: "showDefaultSecurityBestPracticeLink" }, usesOnChanges: true, ngImport: i0, template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <foehn-status-progress-bar\n [hidden]=\"statusProgressBarHidden\"\n ></foehn-status-progress-bar>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n", components: [{ type: i12.FoehnHeaderComponent, selector: "foehn-header", inputs: ["userInfo", "title", "neverConnected"] }, { type: i13.FoehnGrowlComponent, selector: "foehn-growl" }, { type: i14.FoehnBreadcrumbComponent, selector: "foehn-breadcrumb", inputs: ["breadcrumbItems", "currentNav", "neverConnected", "confirmLeavingAlert"] }, { type: i15.FoehnStatusProgressBarComponent, selector: "foehn-status-progress-bar", inputs: ["hidden"] }, { type: i16.FoehnIconExternalLinkAltComponent, selector: "foehn-icon-external-link-alt" }, { type: i17.SupportAlertContainerComponent, selector: "sdk-support-alert-container", inputs: ["etapeId", "supportAlertUrl"] }, { type: i18.FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as" }, { type: i19.FoehnFooterComponent, selector: "foehn-footer", inputs: ["links", "showDefaultContactLink", "showDefaultGuideLink", "showDefaultTermOfUseLink", "showDefaultSecurityBestPracticeLink"] }, { type: i20.FoehnPageModalComponent, selector: "foehn-page-modal" }, { type: i21.FoehnConfirmModalComponent, selector: "foehn-confirm-modal" }], directives: [{ type: i22.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i22.AsyncPipe, "fromDictionary": i23.SdkDictionaryPipe } });
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageComponent, decorators: [{
180
+ type: Component,
181
+ args: [{ selector: 'foehn-page', template: "<foehn-header\n id=\"foehn_header\"\n [title]=\"appTitle\"\n [neverConnected]=\"neverConnected\"\n></foehn-header>\n<foehn-growl id=\"foehn_growl\"></foehn-growl>\n<div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <foehn-breadcrumb\n [neverConnected]=\"neverConnected\"\n [confirmLeavingAlert]=\"confirmLeavingAlert\"\n ></foehn-breadcrumb>\n </div>\n</div>\n<main id=\"main\">\n <div class=\"vd-bg-pattern-gray\">\n <div class=\"container\">\n <!-- Fix annoying flickering when the page loads -->\n <div class=\"h1 mt-0\" *ngIf=\"!pageTitle\">&nbsp;</div>\n <h1\n [tabIndex]=\"-1\"\n class=\"mt-0\"\n id=\"page-title\"\n *ngIf=\"!!pageTitle\"\n [innerHTML]=\"pageTitle\"\n ></h1>\n </div>\n </div>\n\n <foehn-status-progress-bar\n [hidden]=\"statusProgressBarHidden\"\n ></foehn-status-progress-bar>\n\n <section\n *ngIf=\"!isBrowserSupported\"\n class=\"container alert alert-danger\"\n id=\"browser_not_supported_block\"\n role=\"alert\"\n >\n <p class=\"alert-heading\">\n <strong>\n Cette prestation n\u2019est pas compatible avec votre navigateur.\n </strong>\n </p>\n <p class=\"mb-0\">\n Nous vous invitons \u00E0 utiliser une version r\u00E9cente de\n <ng-container *ngIf=\"!isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Edge'\"\n href=\"https://www.microsoft.com/fr-ch/windows/microsoft-edge\"\n target=\"_blank\"\n >\n Edge\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <ng-container *ngIf=\"isApplePlatform\">\n <a\n [title]=\"browserLinkTitlePrefix + ' Safari'\"\n href=\"https://support.apple.com/downloads/safari\"\n target=\"_blank\"\n >\n Safari\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ,\n </ng-container>\n <a\n [title]=\"browserLinkTitlePrefix + ' Firefox'\"\n href=\"https://www.mozilla.org/fr/firefox/\"\n target=\"_blank\"\n >\n Firefox\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n ou\n <a\n [title]=\"browserLinkTitlePrefix + ' Chrome'\"\n href=\"https://www.google.com/intl/fr/chrome/\"\n target=\"_blank\"\n >\n Chrome\n <span class=\"sr-only\">(lien externe)</span>\n <span aria-hidden=\"true\">\n <foehn-icon-external-link-alt></foehn-icon-external-link-alt>\n </span>\n </a>\n .\n </p>\n <div class=\"row mt-3\">\n <div class=\"col-md-12\">\n <button\n id=\"browser_not_supported_bypass\"\n class=\"float-right btn btn-danger\"\n *ngIf=\"!browserNotSupportedBypass\"\n (click)=\"browserNotSupportedBypass = true\"\n >\n Continuer avec ce navigateur\n </button>\n </div>\n </div>\n </section>\n\n <sdk-support-alert-container\n *ngIf=\"supportAlertEnabled\"\n [etapeId]=\"etapeId\"\n [supportAlertUrl]=\"supportAlertUrl\"\n ></sdk-support-alert-container>\n <ng-container\n *ngIf=\"\n !(hasBlockingSupportAlert | async) &&\n (isBrowserSupported || browserNotSupportedBypass)\n \"\n >\n <div class=\"container mt-5\" id=\"page_content\">\n <foehn-user-connected-as\n *ngIf=\"displayUserCategory | async\"\n ></foehn-user-connected-as>\n <ng-container\n *ngIf=\"displayLoginMessages | async as displayLoginMessagesData\"\n >\n <div\n *ngIf=\"displayLoginMessagesData.displayShouldLoginMessage\"\n class=\"alert alert-info\"\n id=\"displayLoginMessage\"\n >\n <p\n [innerHTML]=\"\n getFullLoginMessage(\n displayLoginMessagesData.decisionElectroniqueAvailable\n ) | async\n \"\n ></p>\n <div class=\"d-flex justify-content-start mr-2 mb-2 mt-2\">\n <a\n class=\"btn btn-primary\"\n [href]=\"getFullLoginUrl() | async\"\n >\n {{ 'use-login.button.text' | fromDictionary }}\n </a>\n </div>\n </div>\n </ng-container>\n </div>\n <ng-content></ng-content>\n </ng-container>\n</main>\n<foehn-footer\n id=\"foehn_footer\"\n [links]=\"footerLinks\"\n [showDefaultContactLink]=\"showDefaultContactFooterLink\"\n [showDefaultGuideLink]=\"showDefaultGuideFooterLink\"\n [showDefaultTermOfUseLink]=\"showDefaultTermOfUseLink\"\n [showDefaultSecurityBestPracticeLink]=\"showDefaultSecurityBestPracticeLink\"\n></foehn-footer>\n<foehn-page-modal></foehn-page-modal>\n<foehn-confirm-modal></foehn-confirm-modal>\n" }]
182
+ }], ctorParameters: function () { return [{ type: i1.Title }, { type: i2.FoehnPageService }, { type: i3.SupportAlertService }, { type: i4.FoehnNavigationService }, { type: i5.ApplicationInfoService }, { type: i6.GesdemEventService }, { type: i7.BreadcrumbEventService }, { type: i8.Router }, { type: i9.SessionInfo }, { type: i10.FoehnPageModalService }, { type: i11.SdkDictionaryService }]; }, propDecorators: { appTitle: [{
183
+ type: Input
184
+ }], footerLinks: [{
185
+ type: Input
186
+ }], neverConnected: [{
187
+ type: Input
188
+ }], supportAlertEnabled: [{
189
+ type: Input
190
+ }], supportAlertUrl: [{
191
+ type: Input
192
+ }], etapeId: [{
193
+ type: Input
194
+ }], userConnectedAsDisplayed: [{
195
+ type: Input
196
+ }], statusProgressBarHidden: [{
197
+ type: Input
198
+ }], confirmLeavingAlert: [{
199
+ type: Input
200
+ }], showDefaultContactFooterLink: [{
201
+ type: Input
202
+ }], showDefaultGuideFooterLink: [{
203
+ type: Input
204
+ }], showDefaultTermOfUseLink: [{
205
+ type: Input
206
+ }], showDefaultSecurityBestPracticeLink: [{
207
+ type: Input
208
+ }] } });
209
+ export class DisplayLoginMessagesData {
210
+ constructor(decisionElectroniqueAvailable, displayShouldLoginMessage) {
211
+ this.decisionElectroniqueAvailable = decisionElectroniqueAvailable;
212
+ this.displayShouldLoginMessage = displayShouldLoginMessage;
213
+ }
214
+ }
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBS3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLekQsTUFBTSxxQkFBcUIsR0FDdkIsa0hBQWtILENBQUM7QUFDdkgsTUFBTSxnQkFBZ0IsR0FBRyw2QkFBNkIsQ0FBQztBQUN2RCxNQUFNLG9CQUFvQixHQUFHLDJCQUEyQixDQUFDO0FBTXpELE1BQU0sT0FBTyxrQkFBa0I7SUEyRTNCLFlBQ1ksYUFBb0IsRUFDcEIsZ0JBQWtDLEVBQ2xDLG1CQUF3QyxFQUN4QyxzQkFBOEMsRUFDOUMsc0JBQThDLEVBQzlDLGtCQUFzQyxFQUN0QyxpQkFBeUMsRUFDekMsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLHFCQUE0QyxFQUM1QyxvQkFBMEM7UUFWMUMsa0JBQWEsR0FBYixhQUFhLENBQU87UUFDcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENB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UzsrQkFDSSxZQUFZO3FhQUt0QixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFXTiw0QkFBNEI7c0JBRDNCLEtBQUs7Z0JBT04sMEJBQTBCO3NCQUR6QixLQUFLO2dCQU9OLHdCQUF3QjtzQkFEdkIsS0FBSztnQkFPTixtQ0FBbUM7c0JBRGxDLEtBQUs7O0FBNE1WLE1BQU0sT0FBTyx3QkFBd0I7SUFJakMsWUFDSSw2QkFBc0MsRUFDdEMseUJBQWtDO1FBRWxDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyw2QkFBNkIsQ0FBQztRQUNuRSxJQUFJLENBQUMseUJBQXlCLEdBQUcseUJBQXlCLENBQUM7SUFDL0QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb290ZXJMaW5rIH0gZnJvbSAnLi4vZm9laG4tZm9vdGVyL2Zvb3Rlci1saW5rLnR5cGUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEZvZWhuUGFnZVNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTdXBwb3J0QWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLXN1cHBvcnQtYWxlcnQvc3VwcG9ydC1hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXRhcGVJbmZvIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Db25maXJtTW9kYWxDb250ZW50IH0gZnJvbSAnLi4vZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLWNvbnRlbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkV2ZW50U2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLWJyZWFkY3J1bWIvYnJlYWRjcnVtYi1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IHN1cHBvcnRlZEJyb3dzZXJzIH0gZnJvbSAnLi4vc3VwcG9ydGVkLWJyb3dzZXInO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuUGFnZU1vZGFsU2VydmljZSB9IGZyb20gJy4uL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5cbmNvbnN0IExFQVZJTkdfQUxFUlRfQ09OVEVOVCA9XG4gICAgJ0NlIGNoYW5nZW1lbnQgZGUgcGFnZSBlbnRyYWluZSB1bmUgcGVydGUgZGVzIGRvbm7DqWVzIG5vbiBzYXV2ZWdhcmTDqWVzLjxici8+U291aGFpdGV6LXZvdXMgcXVhbmQgbcOqbWUgY29udGludWVyID8nO1xuY29uc3QgTEVBVklOR19BTEVSVF9PSyA9ICdQb3Vyc3VpdnJlIHNhbnMgc2F1dmVnYXJkZXInO1xuY29uc3QgTEVBVklOR19BTEVSVF9DQU5DRUwgPSAnUmV0b3VybmVyIMOgIGxhIHByZXN0YXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1wYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGb2VoblBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGFwcFRpdGxlOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIGZvb3RlckxpbmtzOiBGb290ZXJMaW5rW107XG5cbiAgICBASW5wdXQoKVxuICAgIG5ldmVyQ29ubmVjdGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHN1cHBvcnRBbGVydEVuYWJsZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzdXBwb3J0QWxlcnRVcmw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZXRhcGVJZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICB1c2VyQ29ubmVjdGVkQXNEaXNwbGF5ZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzdGF0dXNQcm9ncmVzc0JhckhpZGRlbjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29uZmlybUxlYXZpbmdBbGVydDogRm9laG5Db25maXJtTW9kYWxDb250ZW50ID0ge1xuICAgICAgICBodG1sQ29udGVudDogTEVBVklOR19BTEVSVF9DT05URU5ULFxuICAgICAgICBva0J1dHRvbkxhYmVsOiBMRUFWSU5HX0FMRVJUX09LLFxuICAgICAgICBjYW5jZWxCdXR0b25MYWJlbDogTEVBVklOR19BTEVSVF9DQU5DRUxcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgQ29udGFjdCBsaW5rIGluIHRoZSBmb290ZXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdENvbnRhY3RGb290ZXJMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IEd1aWRlIGxpbmsgaW4gdGhlIGZvb3Rlci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0R3VpZGVGb290ZXJMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFRlcm1zIG9mIHVzZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IFNlY3VyaXR5IEJlc3QgUHJhY3RpY2UgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rID0gdHJ1ZTtcblxuICAgIHBhZ2VUaXRsZTogc3RyaW5nO1xuXG4gICAgaGFzQmxvY2tpbmdTdXBwb3J0QWxlcnQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBkaXNwbGF5VXNlckNhdGVnb3J5OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgZGlzcGxheUxvZ2luTWVzc2FnZXM6IE9ic2VydmFibGU8RGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhPjtcblxuICAgIGlzQnJvd3NlclN1cHBvcnRlZDogYm9vbGVhbjtcblxuICAgIGlzQXBwbGVQbGF0Zm9ybTogYm9vbGVhbjtcblxuICAgIGJyb3dzZXJMaW5rVGl0bGVQcmVmaXggPVxuICAgICAgICAnTGllbiBwb3VyIGxlIHTDqWzDqWNoYXJnZW1lbnQgZHUgbmF2aWdhdGV1ciBpbnRlcm5ldCc7XG5cbiAgICBicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJsb2NrZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF90aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3VwcG9ydEFsZXJ0U2VydmljZTogU3VwcG9ydEFsZXJ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmb2Vobk5hdmlnYXRpb25TZXJ2aWNlOiBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2VzZGVtRXZlbnRTZXJ2aWNlOiBHZXNkZW1FdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIGZvZWhuUGFnZU1vZGFsU2VydmljZTogRm9laG5QYWdlTW9kYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNka0RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0ID0gc3VwcG9ydEFsZXJ0U2VydmljZS5nZXRIYXNBdExlYXN0T25lQmxvY2tpbmdBbGVydCgpO1xuXG4gICAgICAgIHRoaXMuYmxvY2tlZFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLmZvZWhuUGFnZU9ic2VydmFibGUoKSxcbiAgICAgICAgICAgIC8vIEVuc3VyZXMgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHZhbHVlIGluIHRoZSBvYnNlcnZhYmxlLlxuICAgICAgICAgICAgbWVyZ2Uob2YoZmFsc2UpLCB0aGlzLmhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0KVxuICAgICAgICBdKS5zdWJzY3JpYmUoKFt0aXRsZSwgYmxvY2tlZF0pID0+IHtcbiAgICAgICAgICAgIGlmIChibG9ja2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUoJ1ByZXN0YXRpb24gaW5kaXNwb25pYmxlJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc0Jyb3dzZXJTdXBwb3J0ZWQgPSBzdXBwb3J0ZWRCcm93c2Vycy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgICAgICB0aGlzLmlzQXBwbGVQbGF0Zm9ybSA9IC8oTWFjfGlQaG9uZXxpUG9kfGlQYWQpL2kudGVzdChcbiAgICAgICAgICAgIG5hdmlnYXRvci5wbGF0Zm9ybVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNCcm93c2VyU3VwcG9ydGVkKSB7XG4gICAgICAgICAgICBjb25zdCBwYWdlVGl0bGUgPSAnTmF2aWdhdGV1ciBub24gc3VwcG9ydMOpJztcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgICAgIHRoaXMuYnJlYWRjcnVtYlNlcnZpY2Uuc2V0Q3VycmVudEJyZWFkY3J1bWIoe1xuICAgICAgICAgICAgICAgIHVybDogbnVsbCxcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBwYWdlVGl0bGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaXNJbml0aWFsU3RlcCA9IHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5jdXJyZW50RXRhcGVJbmZvLnBpcGUoXG4gICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgKGN1cnJlbnRFdGFwZUluZm86IEV0YXBlSW5mbykgPT5cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbyAmJlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyRXRhcGUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvLmlkTWV0aWVyUHJlc3RhdGlvblxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIGNvbnN0IG5hdmlnYXRpb25VcGRhdGU6IE9ic2VydmFibGU8YW55PiA9IG9mICh0cnVlKVxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uVXBkYXRlOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlcyB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgdmFsdWUgaW4gdGhlIG9ic2VydmFibGUuXG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25BbmRJbml0ID0gbWVyZ2Uob2YodHJ1ZSksIG5hdmlnYXRpb25VcGRhdGUpO1xuICAgICAgICBjb25zdCBmb3JtVHJhbnNtaXR0ZWQgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtVHJhbnNtaXR0ZWRPYnNlcnZhYmxlKClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlVc2VyQ2F0ZWdvcnkgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIGlzSW5pdGlhbFN0ZXAsXG4gICAgICAgICAgICB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuaGFzQmVlbkluaXRpYWxpemVkKCksXG4gICAgICAgICAgICBmb3JtVHJhbnNtaXR0ZWQsXG4gICAgICAgICAgICBuYXZpZ2F0aW9uQW5kSW5pdFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApLCAvLyB3aXRob3V0IGRlYm91bmNlVGltZSwgdGhlIG91dGNvbWUgaXMgbGVzcyBlZmZlY3RpdmUuLi5cbiAgICAgICAgICAgIG1hcCgoW2luaXRpYWxTdGVwLCBuYXZTZXJ2aWNlSW5pdGlhbGl6ZWQsIGJhY2tlbmRSZXNwb25zZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmF2U2VydmljZUluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzRmlyc3RQYWdlID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmlzRmlyc3RGb3JtUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xhc3RQYWdlID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmlzTGFzdEZvcm1QYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVudFJvdXRlRGVmaW5lZCA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Q3VycmVudFJvdXRlSW5kZXgoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvZWhuUGFnZVNlcnZpY2UuaXNVc2VyQ2F0ZWdvcnlWaXNpYmxlKFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNGaXJzdFBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xhc3RQYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyQ29ubmVjdGVkQXNEaXNwbGF5ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RlcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmV2ZXJDb25uZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZW5kUmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0N1cnJlbnRSb3V0ZURlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBmb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlID0gbWVyZ2UoXG4gICAgICAgICAgICBvZih1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1FdmVudFNlcnZpY2UuZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSgpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMubmV2ZXJDb25uZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUxvZ2luTWVzc2FnZXMgPSBvZihcbiAgICAgICAgICAgICAgICBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKGZhbHNlLCBmYWxzZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlMb2dpbk1lc3NhZ2VzID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEsXG4gICAgICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm9cbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDApLCAvLyB3aXRob3V0IGRlYm91bmNlVGltZSwgdGhlIG91dGNvbWUgaXMgbGVzcyBlZmZlY3RpdmUuLi5cbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIChbXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtSW5pdGlhbGl6YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uSW5mb0RhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvXG4gICAgICAgICAgICAgICAgICAgIF0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzQ29ubmVjdGVkQ3liZXJPcklhbSA9ICEhc2Vzc2lvbkluZm9EYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNMYXN0UGFnZSA9IHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5pc0xhc3RGb3JtUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQ29ubmVjdGVkQ3liZXJPcklhbSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFjdXJyZW50RXRhcGVJbmZvLmRlcGxveWVlQ3liZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIWZvcm1Jbml0aWFsaXphdGlvbiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdFBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKGZhbHNlLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8/LmRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBldGFwZUlkQ2hhbmdlID0gY2hhbmdlcy5ldGFwZUlkO1xuICAgICAgICBpZiAoZXRhcGVJZENoYW5nZSAmJiBldGFwZUlkQ2hhbmdlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLnNldEN1cnJlbnRFdGFwZUlkKGV0YXBlSWRDaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFwcFRpdGxlQ2hhbmdlID0gY2hhbmdlcy5hcHBUaXRsZTtcbiAgICAgICAgaWYgKGFwcFRpdGxlQ2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl90aXRsZVNlcnZpY2Uuc2V0VGl0bGUoYXBwVGl0bGVDaGFuZ2UuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5ibG9ja2VkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmJsb2NrZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEZ1bGxMb2dpblVybCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2VoblBhZ2VNb2RhbFNlcnZpY2UuYnVpbGRTZWxmUmVkaXJlY3Rpb25UaHJvdWdoQ3liZXJMb2dpbigpO1xuICAgIH1cblxuICAgIGdldEZ1bGxMb2dpbk1lc3NhZ2UoXG4gICAgICAgIGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlOiBib29sZWFuXG4gICAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgaWYgKGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoJ3VzZS1sb2dpbi50ZXh0JyksXG4gICAgICAgICAgICAgICAgdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoXG4gICAgICAgICAgICAgICAgICAgICd1c2UtbG9naW4udGV4dC5kZWNpc2lvbi1lbGVjdHJvbmlxdWUtYXZhaWxhYmxlJ1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW2xvZ2luTXNnLCBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZU1zZ10pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBgJHtsb2dpbk1zZ308YnIvPjxici8+JHtkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZU1zZ31gXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZGtEaWN0aW9uYXJ5U2VydmljZS5nZXRLZXkoJ3VzZS1sb2dpbi50ZXh0Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRQYWdlVGl0bGUodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2VUaXRsZSA9IHRpdGxlO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YSB7XG4gICAgZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU6IGJvb2xlYW47XG4gICAgZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZTogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZTogYm9vbGVhbixcbiAgICAgICAgZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZTogYm9vbGVhblxuICAgICkge1xuICAgICAgICB0aGlzLmRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlID0gZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU7XG4gICAgICAgIHRoaXMuZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZSA9IGRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2U7XG4gICAgfVxufVxuIiwiPGZvZWhuLWhlYWRlclxuICAgIGlkPVwiZm9laG5faGVhZGVyXCJcbiAgICBbdGl0bGVdPVwiYXBwVGl0bGVcIlxuICAgIFtuZXZlckNvbm5lY3RlZF09XCJuZXZlckNvbm5lY3RlZFwiXG4+PC9mb2Vobi1oZWFkZXI+XG48Zm9laG4tZ3Jvd2wgaWQ9XCJmb2Vobl9ncm93bFwiPjwvZm9laG4tZ3Jvd2w+XG48ZGl2IGNsYXNzPVwidmQtYmctcGF0dGVybi1ncmF5XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8Zm9laG4tYnJlYWRjcnVtYlxuICAgICAgICAgICAgW25ldmVyQ29ubmVjdGVkXT1cIm5ldmVyQ29ubmVjdGVkXCJcbiAgICAgICAgICAgIFtjb25maXJtTGVhdmluZ0FsZXJ0XT1cImNvbmZpcm1MZWF2aW5nQWxlcnRcIlxuICAgICAgICA+PC9mb2Vobi1icmVhZGNydW1iPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48bWFpbiBpZD1cIm1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwidmQtYmctcGF0dGVybi1ncmF5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDwhLS0gRml4IGFubm95aW5nIGZsaWNrZXJpbmcgd2hlbiB0aGUgcGFnZSBsb2FkcyAtLT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoMSBtdC0wXCIgKm5nSWY9XCIhcGFnZVRpdGxlXCI+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICA8aDFcbiAgICAgICAgICAgICAgICBbdGFiSW5kZXhdPVwiLTFcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXQtMFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJwYWdlLXRpdGxlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiEhcGFnZVRpdGxlXCJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cInBhZ2VUaXRsZVwiXG4gICAgICAgICAgICA+PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8Zm9laG4tc3RhdHVzLXByb2dyZXNzLWJhclxuICAgICAgICBbaGlkZGVuXT1cInN0YXR1c1Byb2dyZXNzQmFySGlkZGVuXCJcbiAgICA+PC9mb2Vobi1zdGF0dXMtcHJvZ3Jlc3MtYmFyPlxuXG4gICAgPHNlY3Rpb25cbiAgICAgICAgKm5nSWY9XCIhaXNCcm93c2VyU3VwcG9ydGVkXCJcbiAgICAgICAgY2xhc3M9XCJjb250YWluZXIgYWxlcnQgYWxlcnQtZGFuZ2VyXCJcbiAgICAgICAgaWQ9XCJicm93c2VyX25vdF9zdXBwb3J0ZWRfYmxvY2tcIlxuICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCI+XG4gICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgIENldHRlIHByZXN0YXRpb24gbuKAmWVzdCBwYXMgY29tcGF0aWJsZSBhdmVjIHZvdHJlIG5hdmlnYXRldXIuXG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgIE5vdXMgdm91cyBpbnZpdG9ucyDDoCB1dGlsaXNlciB1bmUgdmVyc2lvbiByw6ljZW50ZSBkZVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0FwcGxlUGxhdGZvcm1cIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgRWRnZSdcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWljcm9zb2Z0LmNvbS9mci1jaC93aW5kb3dzL21pY3Jvc29mdC1lZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEVkZ2VcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXBwbGVQbGF0Zm9ybVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJicm93c2VyTGlua1RpdGxlUHJlZml4ICsgJyBTYWZhcmknXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vc3VwcG9ydC5hcHBsZS5jb20vZG93bmxvYWRzL3NhZmFyaVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBTYWZhcmlcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgRmlyZWZveCdcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9mci9maXJlZm94L1wiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGaXJlZm94XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PjwvZm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICBvdVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgQ2hyb21lJ1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW50bC9mci9jaHJvbWUvXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIENocm9tZVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihsaWVuIGV4dGVybmUpPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD48L2ZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgLlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJicm93c2VyX25vdF9zdXBwb3J0ZWRfYnlwYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodCBidG4gYnRuLWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWJyb3dzZXJOb3RTdXBwb3J0ZWRCeXBhc3NcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnJvd3Nlck5vdFN1cHBvcnRlZEJ5cGFzcyA9IHRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQ29udGludWVyIGF2ZWMgY2UgbmF2aWdhdGV1clxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZGstc3VwcG9ydC1hbGVydC1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJzdXBwb3J0QWxlcnRFbmFibGVkXCJcbiAgICAgICAgW2V0YXBlSWRdPVwiZXRhcGVJZFwiXG4gICAgICAgIFtzdXBwb3J0QWxlcnRVcmxdPVwic3VwcG9ydEFsZXJ0VXJsXCJcbiAgICA+PC9zZGstc3VwcG9ydC1hbGVydC1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgIShoYXNCbG9ja2luZ1N1cHBvcnRBbGVydCB8IGFzeW5jKSAmJlxuICAgICAgICAgICAgKGlzQnJvd3NlclN1cHBvcnRlZCB8fCBicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzKVxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCIgaWQ9XCJwYWdlX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxmb2Vobi11c2VyLWNvbm5lY3RlZC1hc1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVVzZXJDYXRlZ29yeSB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheUxvZ2luTWVzc2FnZXMgfCBhc3luYyBhcyBkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEuZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiZGlzcGxheUxvZ2luTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGdWxsTG9naW5NZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEuZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHwgYXN5bmNcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IG1yLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZXRGdWxsTG9naW5VcmwoKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAndXNlLWxvZ2luLmJ1dHRvbi50ZXh0JyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21haW4+XG48Zm9laG4tZm9vdGVyXG4gICAgaWQ9XCJmb2Vobl9mb290ZXJcIlxuICAgIFtsaW5rc109XCJmb290ZXJMaW5rc1wiXG4gICAgW3Nob3dEZWZhdWx0Q29udGFjdExpbmtdPVwic2hvd0RlZmF1bHRDb250YWN0Rm9vdGVyTGlua1wiXG4gICAgW3Nob3dEZWZhdWx0R3VpZGVMaW5rXT1cInNob3dEZWZhdWx0R3VpZGVGb290ZXJMaW5rXCJcbiAgICBbc2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rXT1cInNob3dEZWZhdWx0VGVybU9mVXNlTGlua1wiXG4gICAgW3Nob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rXT1cInNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rXCJcbj48L2ZvZWhuLWZvb3Rlcj5cbjxmb2Vobi1wYWdlLW1vZGFsPjwvZm9laG4tcGFnZS1tb2RhbD5cbjxmb2Vobi1jb25maXJtLW1vZGFsPjwvZm9laG4tY29uZmlybS1tb2RhbD5cbiJdfQ==
@@ -17,8 +17,8 @@ import { FoehnStatusProgressBarModule } from '../foehn-status-progress-bar/foehn
17
17
  import * as i0 from "@angular/core";
18
18
  export class FoehnPageModule {
19
19
  }
20
- FoehnPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, declarations: [FoehnPageComponent,
20
+ FoehnPageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, declarations: [FoehnPageComponent,
22
22
  FoehnPageCounterComponent,
23
23
  FoehnPageModalComponent], imports: [CommonModule,
24
24
  FoehnBreadcrumbModule,
@@ -34,7 +34,7 @@ FoehnPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
34
34
  FoehnStatusProgressBarModule], exports: [FoehnPageComponent,
35
35
  FoehnPageCounterComponent,
36
36
  FoehnPageModalComponent] });
37
- FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, imports: [[
37
+ FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, imports: [[
38
38
  CommonModule,
39
39
  FoehnBreadcrumbModule,
40
40
  FoehnGrowlModule,
@@ -48,7 +48,7 @@ FoehnPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
48
48
  SdkDictionaryModule,
49
49
  FoehnStatusProgressBarModule
50
50
  ]] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageModule, decorators: [{
52
52
  type: NgModule,
53
53
  args: [{
54
54
  imports: [
@@ -43,12 +43,12 @@ export class FoehnPageService {
43
43
  (isFirstPage || isLastPage));
44
44
  }
45
45
  }
46
- FoehnPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
- FoehnPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPageService, decorators: [{
46
+ FoehnPageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ FoehnPageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, providedIn: 'root' });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPageService, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root'
52
52
  }]
53
53
  }], ctorParameters: function () { return []; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVd6QjtRQVZRLHNCQUFpQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRTNELDRCQUF1QixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTdELG9CQUFlLEdBQW9CLElBQUksZUFBZSxDQUMxRCxJQUFJLENBQ1AsQ0FBQztRQUtFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZTthQUN0QixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHFCQUFxQixDQUNqQixXQUFvQixFQUNwQixVQUFtQixFQUNuQixxQkFBOEIsRUFDOUIsYUFBc0IsRUFDdEIsb0JBQTZCO0lBQzdCLDhEQUE4RDtJQUM5RCxlQUFxQyxFQUNyQyxxQkFBOEI7UUFFOUIsTUFBTSxhQUFhLEdBQ2YsZUFBZTtZQUNmLGlCQUFpQixDQUFDLE9BQU8sQ0FDckIsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBc0IsQ0FBQyxDQUM1RCxDQUFDO1FBQ04sT0FBTyxDQUNILHFCQUFxQjtZQUNyQixDQUFDLGFBQWE7WUFDZCxDQUFDLG9CQUFvQjtZQUNyQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxDQUM5QixDQUFDO0lBQ04sQ0FBQzs7NkdBaEVRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgQmFja2VuZFJlc3BvbnNlIH0gZnJvbSAnLi4vYmFja2VuZC1yZXNwb25zZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfZm9laG5QYWdlU3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBfc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIF9jdXJyZW50RXRhcGVJZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFxuICAgICAgICBudWxsXG4gICAgKTtcblxuICAgIHByaXZhdGUgY3VycmVudEV0YXBlSWRPYnM6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRFdGFwZUlkT2JzID0gdGhpcy5fY3VycmVudEV0YXBlSWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZm9laG5QYWdlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9laG5QYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXRQYWdlVGl0bGUodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2VoblBhZ2VTdWJqZWN0Lm5leHQodGl0bGUpO1xuICAgIH1cblxuICAgIHJlcXVlc3RGb3JtU2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgc2F2ZUZvcm1SZXF1ZXN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50RXRhcGVJZChldGFwZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudEV0YXBlSWQubmV4dChldGFwZUlkKTtcbiAgICB9XG5cbiAgICBvbkV0YXBlSWRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRFdGFwZUlkXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihldGFwZUluZm8gPT4gISFldGFwZUluZm8pKTtcbiAgICB9XG5cbiAgICBpc1VzZXJDYXRlZ29yeVZpc2libGUoXG4gICAgICAgIGlzRmlyc3RQYWdlOiBib29sZWFuLFxuICAgICAgICBpc0xhc3RQYWdlOiBib29sZWFuLFxuICAgICAgICBpc1VzZXJDYXRlZ29yeUVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIGlzSW5pdGlhbFN0ZXA6IGJvb2xlYW4sXG4gICAgICAgIGlzVXNlck5ldmVyQ29ubmVjdGVkOiBib29sZWFuLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBiYWNrZW5kUmVzcG9uc2U6IEJhY2tlbmRSZXNwb25zZTxhbnk+LFxuICAgICAgICBpc0N1cnJlbnRSb3V0ZURlZmluZWQ6IGJvb2xlYW5cbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNTdGF0dXNGaW5hbCA9XG4gICAgICAgICAgICBiYWNrZW5kUmVzcG9uc2UgJiZcbiAgICAgICAgICAgIEdlc2RlbVN0YXR1dFV0aWxzLmlzRmluYWwoXG4gICAgICAgICAgICAgICAgQWN0aW9uU3RhdHV0W2JhY2tlbmRSZXNwb25zZS5tZXRhLnN0YXR1dCBhcyBBY3Rpb25TdGF0dXRdXG4gICAgICAgICAgICApO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNDdXJyZW50Um91dGVEZWZpbmVkICYmXG4gICAgICAgICAgICAhaXNTdGF0dXNGaW5hbCAmJlxuICAgICAgICAgICAgIWlzVXNlck5ldmVyQ29ubmVjdGVkICYmXG4gICAgICAgICAgICBpc1VzZXJDYXRlZ29yeUVuYWJsZWQgJiZcbiAgICAgICAgICAgIGlzSW5pdGlhbFN0ZXAgJiZcbiAgICAgICAgICAgIChpc0ZpcnN0UGFnZSB8fCBpc0xhc3RQYWdlKVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXBhZ2UvZm9laG4tcGFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEYsTUFBTSxPQUFPLGdCQUFnQjtJQVd6QjtRQVZRLHNCQUFpQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRTNELDRCQUF1QixHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTdELG9CQUFlLEdBQW9CLElBQUksZUFBZSxDQUMxRCxJQUFJLENBQ1AsQ0FBQztRQUtFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxtQkFBbUI7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZTthQUN0QixZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHFCQUFxQixDQUNqQixXQUFvQixFQUNwQixVQUFtQixFQUNuQixxQkFBOEIsRUFDOUIsYUFBc0IsRUFDdEIsb0JBQTZCO0lBQzdCLDhEQUE4RDtJQUM5RCxlQUFzQyxFQUN0QyxxQkFBOEI7UUFFOUIsTUFBTSxhQUFhLEdBQ2YsZUFBZTtZQUNmLGlCQUFpQixDQUFDLE9BQU8sQ0FDckIsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBc0IsQ0FBQyxDQUM1RCxDQUFDO1FBQ04sT0FBTyxDQUNILHFCQUFxQjtZQUNyQixDQUFDLGFBQWE7WUFDZCxDQUFDLG9CQUFvQjtZQUNyQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLENBQUMsV0FBVyxJQUFJLFVBQVUsQ0FBQyxDQUM5QixDQUFDO0lBQ04sQ0FBQzs7NkdBaEVRLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXQsIEdlc2RlbVN0YXR1dFV0aWxzIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgRm9ybVBvc3RSZXNwb25zZSB9IGZyb20gJy4uL2Zvcm0tcG9zdC1yZXNwb25zZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5QYWdlU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfZm9laG5QYWdlU3ViamVjdDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBfc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIF9jdXJyZW50RXRhcGVJZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KFxuICAgICAgICBudWxsXG4gICAgKTtcblxuICAgIHByaXZhdGUgY3VycmVudEV0YXBlSWRPYnM6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRFdGFwZUlkT2JzID0gdGhpcy5fY3VycmVudEV0YXBlSWQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgZm9laG5QYWdlT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9laG5QYWdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXRQYWdlVGl0bGUodGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2VoblBhZ2VTdWJqZWN0Lm5leHQodGl0bGUpO1xuICAgIH1cblxuICAgIHJlcXVlc3RGb3JtU2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdC5uZXh0KCk7XG4gICAgfVxuXG4gICAgc2F2ZUZvcm1SZXF1ZXN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZUZvcm1SZXF1ZXN0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50RXRhcGVJZChldGFwZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3VycmVudEV0YXBlSWQubmV4dChldGFwZUlkKTtcbiAgICB9XG5cbiAgICBvbkV0YXBlSWRDaGFuZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRFdGFwZUlkXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihldGFwZUluZm8gPT4gISFldGFwZUluZm8pKTtcbiAgICB9XG5cbiAgICBpc1VzZXJDYXRlZ29yeVZpc2libGUoXG4gICAgICAgIGlzRmlyc3RQYWdlOiBib29sZWFuLFxuICAgICAgICBpc0xhc3RQYWdlOiBib29sZWFuLFxuICAgICAgICBpc1VzZXJDYXRlZ29yeUVuYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIGlzSW5pdGlhbFN0ZXA6IGJvb2xlYW4sXG4gICAgICAgIGlzVXNlck5ldmVyQ29ubmVjdGVkOiBib29sZWFuLFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBiYWNrZW5kUmVzcG9uc2U6IEZvcm1Qb3N0UmVzcG9uc2U8YW55PixcbiAgICAgICAgaXNDdXJyZW50Um91dGVEZWZpbmVkOiBib29sZWFuXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU3RhdHVzRmluYWwgPVxuICAgICAgICAgICAgYmFja2VuZFJlc3BvbnNlICYmXG4gICAgICAgICAgICBHZXNkZW1TdGF0dXRVdGlscy5pc0ZpbmFsKFxuICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtiYWNrZW5kUmVzcG9uc2UubWV0YS5zdGF0dXQgYXMgQWN0aW9uU3RhdHV0XVxuICAgICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzQ3VycmVudFJvdXRlRGVmaW5lZCAmJlxuICAgICAgICAgICAgIWlzU3RhdHVzRmluYWwgJiZcbiAgICAgICAgICAgICFpc1VzZXJOZXZlckNvbm5lY3RlZCAmJlxuICAgICAgICAgICAgaXNVc2VyQ2F0ZWdvcnlFbmFibGVkICYmXG4gICAgICAgICAgICBpc0luaXRpYWxTdGVwICYmXG4gICAgICAgICAgICAoaXNGaXJzdFBhZ2UgfHwgaXNMYXN0UGFnZSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=