@reusa/ngx-reusa-app-lib 0.0.1333 → 0.0.1335

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 (528) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2376 -1248
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +158 -99
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +36 -16
  4. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  5. package/esm2022/lib/components/address/address.component.mjs +267 -81
  6. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  7. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  8. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  9. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  10. package/esm2022/lib/components/bank-details/bank-details.component.mjs +47 -123
  11. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  12. package/esm2022/lib/components/contact-us/contact-us.component.mjs +4 -16
  13. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  14. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  15. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  16. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  17. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  18. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  19. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  20. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  21. package/esm2022/lib/components/email-update/email-update.component.mjs +16 -36
  22. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +379 -450
  23. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  24. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  25. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  26. package/esm2022/lib/components/error/error.component.mjs +22 -5
  27. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  28. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  29. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  30. package/esm2022/lib/components/footer/footer.component.mjs +108 -85
  31. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  32. package/esm2022/lib/components/header/header.component.mjs +456 -136
  33. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  34. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
  35. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  36. package/esm2022/lib/components/info/info.component.mjs +4 -12
  37. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +1 -1
  38. package/esm2022/lib/components/job-title/job-title.component.mjs +93 -94
  39. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +142 -331
  40. package/esm2022/lib/components/link/link.component.mjs +1 -1
  41. package/esm2022/lib/components/menu/menu.component.mjs +59 -53
  42. package/esm2022/lib/components/mfa/mfa.component.mjs +116 -188
  43. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  44. package/esm2022/lib/components/money-expect/money-expect.component.mjs +148 -36
  45. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  46. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  47. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  48. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  49. package/esm2022/lib/components/profile/profile.component.mjs +754 -338
  50. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +110 -33
  51. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  52. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  53. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  54. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  55. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +386 -129
  56. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +72 -70
  57. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +875 -1091
  58. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +186 -565
  59. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  60. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +113 -29
  61. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  62. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  63. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  64. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
  65. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  66. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -27
  67. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  68. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  69. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
  70. package/esm2022/lib/components/user-login/user-login.component.mjs +116 -300
  71. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  72. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  73. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  74. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  75. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +612 -241
  76. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
  77. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +806 -0
  78. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  79. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  80. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  81. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  82. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  83. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  84. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +685 -0
  85. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  86. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  87. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  88. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  89. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  90. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  91. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  92. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  93. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  94. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  95. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  96. package/esm2022/lib/models/CountyModel.mjs +3 -0
  97. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  98. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  99. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  100. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  101. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  102. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  103. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  104. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  105. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  106. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  107. package/esm2022/lib/models/LibConstants.mjs +45 -6
  108. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  109. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  110. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  111. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  112. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  113. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  114. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  115. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  116. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  117. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  118. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  119. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  120. package/esm2022/lib/models/combo-model.mjs +343 -0
  121. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  122. package/esm2022/lib/models/dependent.model.mjs +1 -1
  123. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  124. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  125. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  126. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  127. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  128. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  129. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  130. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  131. package/esm2022/lib/models/questionnaire/ComboModel.mjs +101 -179
  132. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  133. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  134. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  135. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  136. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  137. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  138. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  139. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  140. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  141. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  142. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  143. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  144. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  145. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  146. package/esm2022/lib/pages/BasePage.mjs +4 -23
  147. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  148. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  149. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  150. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  151. package/esm2022/lib/pages/common/login/login.component.mjs +6 -5
  152. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  153. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  154. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
  155. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  156. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  157. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  158. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
  159. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  160. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  161. package/esm2022/lib/services/base-service.mjs +4 -1
  162. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  163. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  164. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  165. package/esm2022/lib/services/claims/claims.service.mjs +105 -14
  166. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  167. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  168. package/esm2022/lib/services/help/help.service.mjs +1 -1
  169. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  170. package/esm2022/lib/services/login/login.service.mjs +29 -11
  171. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  172. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  173. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  174. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  175. package/esm2022/lib/services/util/util.service.mjs +61 -5
  176. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  177. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  178. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  179. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  180. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  181. package/esm2022/lib/validations/AppValidators.mjs +78 -62
  182. package/esm2022/public-api.mjs +47 -5
  183. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +42087 -22504
  184. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  185. package/lib/components/add-employer/add-employer.component.d.ts +85 -52
  186. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  187. package/lib/components/add-participant/add-participant.component.d.ts +11 -2
  188. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  189. package/lib/components/add-payment/add-payment.component.d.ts +7 -2
  190. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  191. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  192. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  193. package/lib/components/address/address.component.d.ts +41 -5
  194. package/lib/components/address/address.component.d.ts.map +1 -1
  195. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  196. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  197. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  198. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  199. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  200. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  201. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  202. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  203. package/lib/components/bank-details/bank-details.component.d.ts +0 -6
  204. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  205. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  206. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  207. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  208. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  209. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  210. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  211. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  212. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  213. package/lib/components/email-update/email-update.component.d.ts +1 -7
  214. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  215. package/lib/components/employer-grid/employer-grid.component.d.ts +5 -13
  216. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  217. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  218. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  219. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  220. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  221. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  222. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  223. package/lib/components/error/error.component.d.ts +3 -2
  224. package/lib/components/error/error.component.d.ts.map +1 -1
  225. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  226. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  227. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  228. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  229. package/lib/components/footer/footer.component.d.ts.map +1 -1
  230. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  231. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  232. package/lib/components/header/header.component.d.ts +17 -2
  233. package/lib/components/header/header.component.d.ts.map +1 -1
  234. package/lib/components/history-page/history-page.component.d.ts +80 -0
  235. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  236. package/lib/components/idme/idme.component.d.ts +19 -0
  237. package/lib/components/idme/idme.component.d.ts.map +1 -0
  238. package/lib/components/job-title/job-title.component.d.ts +22 -21
  239. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  240. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -2
  241. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  242. package/lib/components/menu/menu.component.d.ts +2 -1
  243. package/lib/components/menu/menu.component.d.ts.map +1 -1
  244. package/lib/components/mfa/mfa.component.d.ts +7 -14
  245. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  246. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  247. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  248. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  249. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  250. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  251. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  252. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  253. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  254. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  255. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  256. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  257. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  258. package/lib/components/profile/profile.component.d.ts +82 -49
  259. package/lib/components/profile/profile.component.d.ts.map +1 -1
  260. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  261. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  262. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  263. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  264. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  265. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  266. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  267. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  268. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  269. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  270. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -0
  271. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  272. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  273. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  274. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -34
  275. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  276. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  277. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  278. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  279. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  280. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  281. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  282. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  283. package/lib/components/questionnaire/question.service.d.ts +0 -1
  284. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  285. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  286. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  287. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  288. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  289. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  290. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  291. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  292. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  293. package/lib/components/sms/sms.component.d.ts +63 -0
  294. package/lib/components/sms/sms.component.d.ts.map +1 -0
  295. package/lib/components/user-login/user-login.component.d.ts +5 -32
  296. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  297. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  298. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  299. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  300. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  301. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  302. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  303. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  304. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  305. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +26 -3
  306. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  307. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  308. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  309. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  310. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  311. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  312. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  313. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  314. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  315. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  316. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  317. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  318. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  319. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  320. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  321. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  322. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  323. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  324. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  325. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  326. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  327. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  328. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  329. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  330. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  331. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  332. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  333. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  334. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  335. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  336. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  337. package/lib/guards/auth.guard.d.ts.map +1 -1
  338. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  339. package/lib/models/ActiveClaimModel.d.ts +8 -0
  340. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  341. package/lib/models/CountyModel.d.ts +8 -0
  342. package/lib/models/CountyModel.d.ts.map +1 -0
  343. package/lib/models/DuaAppDataModel.d.ts +5 -0
  344. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  345. package/lib/models/DuaRequestModel.d.ts +10 -0
  346. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  347. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  348. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  349. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  350. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  351. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  352. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  353. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  354. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  355. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  356. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  357. package/lib/models/GrossEarningsModel.d.ts +6 -0
  358. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  359. package/lib/models/HelpConstants.d.ts +5 -0
  360. package/lib/models/HelpConstants.d.ts.map +1 -0
  361. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  362. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  363. package/lib/models/LibConstants.d.ts +40 -1
  364. package/lib/models/LibConstants.d.ts.map +1 -1
  365. package/lib/models/PaymentComponentModel.d.ts +1 -1
  366. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  367. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  368. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  369. package/lib/models/RetroWeeksModel.d.ts +11 -0
  370. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  371. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  372. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  373. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  374. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  375. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  376. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  377. package/lib/models/WageCalculatorModel.d.ts +15 -0
  378. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  379. package/lib/models/WageInfoModel.d.ts +9 -0
  380. package/lib/models/WageInfoModel.d.ts.map +1 -0
  381. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  382. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  383. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  384. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  385. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  386. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  387. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  388. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  389. package/lib/models/combo-model.d.ts +42 -0
  390. package/lib/models/combo-model.d.ts.map +1 -0
  391. package/lib/models/dashboard-model.d.ts +22 -0
  392. package/lib/models/dashboard-model.d.ts.map +1 -1
  393. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  394. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  395. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  396. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  397. package/lib/models/fileupload/FileObject.d.ts +8 -0
  398. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  399. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  400. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  401. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  402. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  403. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  404. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  405. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
  406. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  407. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  408. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  409. package/lib/models/questionnaire/ComboModel.d.ts +28 -16
  410. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  411. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  412. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  413. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  414. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  415. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  416. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  417. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  418. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  419. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  420. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  421. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  422. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  423. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  424. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  425. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  426. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  427. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  428. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  429. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  430. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  431. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  432. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  433. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  434. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  435. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  436. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  437. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  438. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  439. package/lib/pages/BasePage.d.ts +3 -6
  440. package/lib/pages/BasePage.d.ts.map +1 -1
  441. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  442. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  443. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  444. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  445. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  446. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  447. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  448. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  449. package/lib/services/appeal/appeal.service.d.ts +16 -0
  450. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  451. package/lib/services/base-service.d.ts +12 -0
  452. package/lib/services/base-service.d.ts.map +1 -1
  453. package/lib/services/birt-service/birt.service.d.ts +17 -0
  454. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  455. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  456. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  457. package/lib/services/claims/claims.service.d.ts +39 -5
  458. package/lib/services/claims/claims.service.d.ts.map +1 -1
  459. package/lib/services/employer/employer-service.d.ts +16 -0
  460. package/lib/services/employer/employer-service.d.ts.map +1 -0
  461. package/lib/services/event-service/event-service.d.ts +20 -0
  462. package/lib/services/event-service/event-service.d.ts.map +1 -0
  463. package/lib/services/login/login.service.d.ts +5 -3
  464. package/lib/services/login/login.service.d.ts.map +1 -1
  465. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  466. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  467. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  468. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  469. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  470. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  471. package/lib/services/security-service/security.service.d.ts +12 -4
  472. package/lib/services/security-service/security.service.d.ts.map +1 -1
  473. package/lib/services/util/util.service.d.ts +6 -0
  474. package/lib/services/util/util.service.d.ts.map +1 -1
  475. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  476. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  477. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  478. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  479. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  480. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  481. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  482. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  483. package/lib/validations/AppRegex.d.ts +0 -2
  484. package/lib/validations/AppRegex.d.ts.map +1 -1
  485. package/lib/validations/AppValidators.d.ts +20 -24
  486. package/lib/validations/AppValidators.d.ts.map +1 -1
  487. package/package.json +2 -2
  488. package/public-api.d.ts +46 -4
  489. package/public-api.d.ts.map +1 -1
  490. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -340
  491. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -261
  492. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -189
  493. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  494. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  495. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  496. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  497. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  498. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  499. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  500. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  501. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  502. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  503. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  504. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  505. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  506. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  507. package/lib/components/security-question/security-question.component.d.ts +0 -37
  508. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  509. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  510. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  511. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  512. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  513. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  514. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  515. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  516. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  517. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  518. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  519. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  520. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  521. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  522. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  523. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  524. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  525. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  526. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  527. package/lib/services/ovp/ovp.service.d.ts +0 -17
  528. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { first } from 'rxjs/operators';
3
3
  import { BasePage } from '../../../pages/BasePage';
4
+ import { QuestionService } from '../../questionnaire/question.service';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../../services/util/util.service";
6
7
  import * as i2 from "../../../services/logger/logger.service";
@@ -9,6 +10,10 @@ import * as i4 from "@angular/router";
9
10
  import * as i5 from "@ionic/angular";
10
11
  import * as i6 from "@angular/platform-browser";
11
12
  import * as i7 from "../../../services/login/login.service";
13
+ import * as i8 from "@angular/common";
14
+ import * as i9 from "../../content/content.component";
15
+ import * as i10 from "../../header/header.component";
16
+ import * as i11 from "../render-questionnaire/render-questionnaire.page";
12
17
  const _c0 = ["questionnaire"];
13
18
  function FormBuilderPage_ion_header_0_Template(rf, ctx) { if (rf & 1) {
14
19
  i0.ɵɵelementStart(0, "ion-header");
@@ -54,9 +59,6 @@ function FormBuilderPage_div_3_Template(rf, ctx) { if (rf & 1) {
54
59
  i0.ɵɵelementEnd();
55
60
  } }
56
61
  export class FormBuilderPage extends BasePage {
57
- get invalid() {
58
- return this.questionnaire.invalid;
59
- }
60
62
  constructor(util, logger, service, activatedRoute, nav, titleService, loginService) {
61
63
  super();
62
64
  this.util = util;
@@ -82,15 +84,6 @@ export class FormBuilderPage extends BasePage {
82
84
  submitQuestionnaire() {
83
85
  this.questionnaire.submit();
84
86
  }
85
- getDirtyItems() {
86
- return this.questionnaire.getDirtyItems();
87
- }
88
- getDirtyItemsWithValues() {
89
- return this.questionnaire.getDirtyItemsWithValues();
90
- }
91
- paymentDetailsChangeError() {
92
- return this.questionnaire.paymentDetailsChangeError();
93
- }
94
87
  loadComplete(event) {
95
88
  this.onLoadComplete.emit(event);
96
89
  }
@@ -100,7 +93,20 @@ export class FormBuilderPage extends BasePage {
100
93
  ngOnInit() {
101
94
  let data = this.activatedRoute.snapshot.queryParamMap.get('data');
102
95
  if (data) {
103
- this.dynamicParam = JSON.parse(atob(data));
96
+ /** Changing below, adding interim variable inputQueryData and merging dynamicParam with inputQueryData
97
+ * as previously, the dynamicParam being set explicitely from calling pages was being overriden by
98
+ * data from current route snapshot(line 100).
99
+ * e.g. v3/weeklies.page.ts: from hint, data was being passed and dynamicParam was being set from within page.
100
+ * Hint data did not have label_rtwdate but dynamicParam did. Since it was overriden, the value was coming out null on page
101
+ */
102
+ //this.dynamicParam = JSON.parse(atob(data));
103
+ let inputQueryData = JSON.parse(atob(data));
104
+ if (this.dynamicParam) {
105
+ this.dynamicParam = Object.assign(this.dynamicParam, inputQueryData, this.dynamicParam);
106
+ }
107
+ else {
108
+ this.dynamicParam = inputQueryData;
109
+ }
104
110
  }
105
111
  if (this.flowKey) {
106
112
  this.getFlowData(this.flowKey);
@@ -158,12 +164,12 @@ export class FormBuilderPage extends BasePage {
158
164
  this.offsetMd = 0;
159
165
  }
160
166
  if (!this.sizeLg) {
161
- this.sizeLg = 10;
162
- this.offsetLg = 1;
167
+ this.sizeLg = 10.25;
168
+ this.offsetLg = 0.75;
163
169
  }
164
170
  if (!this.sizeXl) {
165
- this.sizeXl = 8;
166
- this.offsetXl = 2;
171
+ this.sizeXl = 10.25;
172
+ this.offsetXl = 0.75;
167
173
  }
168
174
  }
169
175
  onModelCancel(cancel) {
@@ -181,7 +187,7 @@ export class FormBuilderPage extends BasePage {
181
187
  } if (rf & 2) {
182
188
  let _t;
183
189
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.questionnaire = _t.first);
184
- } }, inputs: { autoSave: "autoSave", pageType: "pageType", hideHeader: "hideHeader", hideFooter: "hideFooter", flowKey: "flowKey", showOnlyQuestion: "showOnlyQuestion", dynamicParam: "dynamicParam", sizeXs: "sizeXs", sizeSm: "sizeSm", sizeMd: "sizeMd", sizeLg: "sizeLg", sizeXl: "sizeXl", offsetXs: "offsetXs", offsetSm: "offsetSm", offsetMd: "offsetMd", offsetLg: "offsetLg", offsetXl: "offsetXl", data: "data", showError: "showError", readonly: "readonly", multiMode: "multiMode", readOnlyFields: "readOnlyFields" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete", onError: "onError", onLoadComplete: "onLoadComplete" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[4, "ngIf"], ["style", "display: contents;", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "formData", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete", 4, "ngIf"], ["class", "ion-text-center ion-padding", 4, "ngIf"], [3, "secondToolbar", "displayLogo"], [3, "showHelp", "hideFooter"], ["style", "display: contents;", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "data", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete", 4, "ngIf"], [2, "display", "contents", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "data", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete"], ["questionnaire", ""], [2, "display", "contents", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "formData", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete"], [1, "ion-text-center", "ion-padding"], ["name", "dots"]], template: function FormBuilderPage_Template(rf, ctx) { if (rf & 1) {
190
+ } }, inputs: { autoSave: "autoSave", pageType: "pageType", hideHeader: "hideHeader", hideFooter: "hideFooter", flowKey: "flowKey", showOnlyQuestion: "showOnlyQuestion", dynamicParam: "dynamicParam", sizeXs: "sizeXs", sizeSm: "sizeSm", sizeMd: "sizeMd", sizeLg: "sizeLg", sizeXl: "sizeXl", offsetXs: "offsetXs", offsetSm: "offsetSm", offsetMd: "offsetMd", offsetLg: "offsetLg", offsetXl: "offsetXl", data: "data", showError: "showError", readonly: "readonly", multiMode: "multiMode", readOnlyFields: "readOnlyFields" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete", onError: "onError", onLoadComplete: "onLoadComplete" }, features: [i0.ɵɵProvidersFeature([QuestionService]), i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[4, "ngIf"], ["style", "display: contents;", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "formData", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete", 4, "ngIf"], ["class", "ion-text-center ion-padding", 4, "ngIf"], [3, "secondToolbar", "displayLogo"], [3, "showHelp", "hideFooter"], ["style", "display: contents;", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "data", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete", 4, "ngIf"], [2, "display", "contents", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "data", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete"], ["questionnaire", ""], [2, "display", "contents", 3, "backButtonPage", "nextButtonPage", "loaderService", "pageType", "queryModel", "formData", "hideHeader", "autoSave", "hideFooter", "sizeXs", "sizeSm", "sizeMd", "sizeLg", "sizeXl", "offsetXs", "offsetSm", "offsetMd", "offsetLg", "offsetXl", "dynamicParam", "mfaRequired", "readonly", "multiMode", "readOnlyFields", "modelCancel", "onComplete", "onError", "onLoadComplete"], [1, "ion-text-center", "ion-padding"], ["name", "dots"]], template: function FormBuilderPage_Template(rf, ctx) { if (rf & 1) {
185
191
  i0.ɵɵtemplate(0, FormBuilderPage_ion_header_0_Template, 2, 2, "ion-header", 0)(1, FormBuilderPage_ion_content_1_Template, 3, 3, "ion-content", 0)(2, FormBuilderPage_app_questionnaire_2_Template, 2, 24, "app-questionnaire", 1)(3, FormBuilderPage_div_3_Template, 2, 0, "div", 2);
186
192
  } if (rf & 2) {
187
193
  i0.ɵɵproperty("ngIf", ctx.pageType != "POPUP" && !ctx.hideHeader);
@@ -191,11 +197,11 @@ export class FormBuilderPage extends BasePage {
191
197
  i0.ɵɵproperty("ngIf", !ctx.showLoaderTheme12 && ctx.showOnlyQuestion);
192
198
  i0.ɵɵadvance(1);
193
199
  i0.ɵɵproperty("ngIf", ctx.showLoaderTheme12);
194
- } }, styles: ["[_nghost-%COMP%] .p-dialog-header{display:none}"] }); }
200
+ } }, dependencies: [i5.IonContent, i5.IonHeader, i5.IonSpinner, i8.NgIf, i9.ContentComponent, i10.HeaderComponent, i11.RenderQuestionnairePage], styles: ["[_nghost-%COMP%] .p-dialog-header{display:none}"] }); }
195
201
  }
196
202
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormBuilderPage, [{
197
203
  type: Component,
198
- args: [{ selector: 'app-form-builder', template: "<ion-header *ngIf=\"pageType!='POPUP' && !hideHeader\">\r\n <app-header [secondToolbar]=\"false\" [displayLogo]=\"!loginService.getUser()\"></app-header>\r\n</ion-header>\r\n<ion-content *ngIf=\"!showOnlyQuestion\">\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-questionnaire #questionnaire style=\"display: contents;\" [backButtonPage]=\"backButtonPage\" \r\n [nextButtonPage]=\"nextButtonPage\" [loaderService]=\"loaderService\" [pageType]=\"pageType\" *ngIf=\"!showLoaderTheme12\" (modelCancel)=\"onModelCancel($event)\"\r\n [queryModel]=\"queryModel\" [data]=\"data\" (onComplete)=\"complete($event)\" [hideHeader]=\"hideHeader\" [autoSave]=\"autoSave\" [hideFooter]=\"hideFooter\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\"\r\n (onError)=\"handleError($event)\" [dynamicParam]=\"dynamicParam\" [mfaRequired]=\"model.isMfaRequired\" [readonly]=\"readonly\" [multiMode]=\"multiMode\"\r\n [readOnlyFields]=\"readOnlyFields\" (onLoadComplete)=\"loadComplete($event)\"></app-questionnaire>\r\n </app-content>\r\n</ion-content>\r\n<app-questionnaire #questionnaire style=\"display: contents;\" [backButtonPage]=\"backButtonPage\" \r\n [nextButtonPage]=\"nextButtonPage\" [loaderService]=\"loaderService\" [pageType]=\"pageType\" *ngIf=\"!showLoaderTheme12 && showOnlyQuestion\" (modelCancel)=\"onModelCancel($event)\"\r\n [queryModel]=\"queryModel\" [formData]=\"data\" (onComplete)=\"complete($event)\" [hideHeader]=\"hideHeader\" [autoSave]=\"autoSave\" [hideFooter]=\"hideFooter\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\" (onError)=\"handleError($event)\"\r\n [dynamicParam]=\"dynamicParam\" [mfaRequired]=\"model.isMfaRequired\" [readonly]=\"readonly\" [multiMode]=\"multiMode\" [readOnlyFields]=\"readOnlyFields\"\r\n (onLoadComplete)=\"loadComplete($event)\"></app-questionnaire>\r\n\r\n<div class=\"ion-text-center ion-padding\" *ngIf=\"showLoaderTheme12\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n</div>\r\n", styles: [":host ::ng-deep .p-dialog-header{display:none}\n"] }]
204
+ args: [{ selector: 'app-form-builder', providers: [QuestionService], template: "<ion-header *ngIf=\"pageType!='POPUP' && !hideHeader\">\r\n <app-header [secondToolbar]=\"false\" [displayLogo]=\"!loginService.getUser()\"></app-header>\r\n</ion-header>\r\n<ion-content *ngIf=\"!showOnlyQuestion\">\r\n <app-content [showHelp]=\"false\" [hideFooter]=\"true\">\r\n <app-questionnaire #questionnaire style=\"display: contents;\" [backButtonPage]=\"backButtonPage\" \r\n [nextButtonPage]=\"nextButtonPage\" [loaderService]=\"loaderService\" [pageType]=\"pageType\" *ngIf=\"!showLoaderTheme12\" (modelCancel)=\"onModelCancel($event)\"\r\n [queryModel]=\"queryModel\" [data]=\"data\" (onComplete)=\"complete($event)\" [hideHeader]=\"hideHeader\" [autoSave]=\"autoSave\" [hideFooter]=\"hideFooter\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\"\r\n (onError)=\"handleError($event)\" [dynamicParam]=\"dynamicParam\" [mfaRequired]=\"model.isMfaRequired\" [readonly]=\"readonly\" [multiMode]=\"multiMode\"\r\n [readOnlyFields]=\"readOnlyFields\" (onLoadComplete)=\"loadComplete($event)\"></app-questionnaire>\r\n </app-content>\r\n</ion-content>\r\n<app-questionnaire #questionnaire style=\"display: contents;\" [backButtonPage]=\"backButtonPage\" \r\n [nextButtonPage]=\"nextButtonPage\" [loaderService]=\"loaderService\" [pageType]=\"pageType\" *ngIf=\"!showLoaderTheme12 && showOnlyQuestion\" (modelCancel)=\"onModelCancel($event)\"\r\n [queryModel]=\"queryModel\" [formData]=\"data\" (onComplete)=\"complete($event)\" [hideHeader]=\"hideHeader\" [autoSave]=\"autoSave\" [hideFooter]=\"hideFooter\"\r\n [sizeXs]=\"sizeXs\" [sizeSm]=\"sizeSm\" [sizeMd]=\"sizeMd\" [sizeLg]=\"sizeLg\" [sizeXl]=\"sizeXl\" \r\n [offsetXs]=\"offsetXs\" [offsetSm]=\"offsetSm\" [offsetMd]=\"offsetMd\" [offsetLg]=\"offsetLg\" [offsetXl]=\"offsetXl\" (onError)=\"handleError($event)\"\r\n [dynamicParam]=\"dynamicParam\" [mfaRequired]=\"model.isMfaRequired\" [readonly]=\"readonly\" [multiMode]=\"multiMode\" [readOnlyFields]=\"readOnlyFields\"\r\n (onLoadComplete)=\"loadComplete($event)\"></app-questionnaire>\r\n\r\n<div class=\"ion-text-center ion-padding\" *ngIf=\"showLoaderTheme12\">\r\n <ion-spinner name=\"dots\"></ion-spinner>\r\n</div>\r\n", styles: [":host ::ng-deep .p-dialog-header{display:none}\n"] }]
199
205
  }], () => [{ type: i1.UtilService }, { type: i2.LoggerService }, { type: i3.QuestionService }, { type: i4.ActivatedRoute }, { type: i5.NavController }, { type: i6.Title }, { type: i7.LoginService }], { questionnaire: [{
200
206
  type: ViewChild,
201
207
  args: ['questionnaire']
@@ -252,5 +258,5 @@ export class FormBuilderPage extends BasePage {
252
258
  }], onLoadComplete: [{
253
259
  type: Output
254
260
  }] }); })();
255
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormBuilderPage, { className: "FormBuilderPage", filePath: "lib\\components\\questionnaire\\form-builder\\form-builder.page.ts", lineNumber: 21 }); })();
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztJQ1JuRCxrQ0FBcUQ7SUFDakQsZ0NBQXlGO0lBQzdGLGlCQUFhOzs7SUFERyxlQUF1QjtJQUF2QixxQ0FBdUIsK0NBQUE7Ozs7SUFJL0IsK0NBTTBFO0lBTHlDLHNOQUFlLGVBQUEsNEJBQXFCLENBQUEsSUFBQyx1TUFDbEcsZUFBQSx1QkFBZ0IsQ0FBQSxJQURrRixpTUFJN0ksZUFBQSwwQkFBbUIsQ0FBQSxJQUowSCxnTkFLcEcsZUFBQSw0QkFBb0IsQ0FBQSxJQUxnRjtJQUs5RSxpQkFBb0I7OztJQU5qQyxzREFBaUMseUNBQUEsdUNBQUEsNkJBQUEsaUNBQUEscUJBQUEsaUNBQUEsNkJBQUEsaUNBQUEseUJBQUEseUJBQUEseUJBQUEseUJBQUEseUJBQUEsNkJBQUEsNkJBQUEsNkJBQUEsNkJBQUEsNkJBQUEscUNBQUEsMkNBQUEsNkJBQUEsK0JBQUEseUNBQUE7OztJQUZ0RyxtQ0FBdUMscUJB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QyxlQUFlO1lBY2pCLFFBQVE7a0JBQWhCLEtBQUs7WUFFVSxRQUFRO2tCQUF2QixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFSSxPQUFPO2tCQUFoQixLQUFLO1lBRUksZ0JBQWdCO2tCQUF6QixLQUFLO1lBRUcsWUFBWTtrQkFBcEIsS0FBSztZQUVLLFdBQVc7a0JBQXJCLE1BQU07WUFFRyxVQUFVO2tCQUFuQixNQUFNO1lBRUcsT0FBTztrQkFBaEIsTUFBTTtZQUVFLE1BQU07a0JBQWQsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBR04sSUFBSTtrQkFESCxLQUFLO1lBR0csU0FBUztrQkFBakIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsY0FBYztrQkFBdEIsS0FBSztZQUVJLGNBQWM7a0JBQXZCLE1BQU07O2tGQTNESSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGQkNvbmZpZ01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRkJDb25maWdNb2RlbCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcclxuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFF1ZXN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFJlbmRlclF1ZXN0aW9ubmFpcmVQYWdlIH0gZnJvbSAnLi4vcmVuZGVyLXF1ZXN0aW9ubmFpcmUvcmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tYnVpbGRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tYnVpbGRlci5wYWdlLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tYnVpbGRlci5wYWdlLnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1CdWlsZGVyUGFnZSBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQFZpZXdDaGlsZCgncXVlc3Rpb25uYWlyZScpIHF1ZXN0aW9ubmFpcmUgOiBSZW5kZXJRdWVzdGlvbm5haXJlUGFnZTtcclxuICBnZXQgaW52YWxpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnF1ZXN0aW9ubmFpcmUuaW52YWxpZDtcclxuICB9XHJcbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZTEyOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgYmFja0J1dHRvblBhZ2U6IHN0cmluZztcclxuICBwdWJsaWMgbmV4dEJ1dHRvblBhZ2U6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGxvYWRlclNlcnZpY2U6c3RyaW5nO1xyXG4gIFxyXG4gIHB1YmxpYyBxdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcclxuXHJcbiAgbW9kZWw6IEZCQ29uZmlnTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpIGF1dG9TYXZlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHBhZ2VUeXBlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGVIZWFkZXIgOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGhpZGVGb290ZXIgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KCkgIGZsb3dLZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgIHNob3dPbmx5UXVlc3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZHluYW1pY1BhcmFtOmFueTtcclxuICBcclxuICBAT3V0cHV0KCkgIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpIHNpemVYcyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBzaXplU20gOiBudW1iZXI7XHJcbiAgQElucHV0KCkgc2l6ZU1kIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNpemVMZyA6IG51bWJlcjtcclxuICBASW5wdXQoKSBzaXplWGwgOiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpIG9mZnNldFhzIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG9mZnNldFNtIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG9mZnNldE1kIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG9mZnNldExnIDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIG9mZnNldFhsIDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRhdGE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgc2hvd0Vycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgcmVhZG9ubHk6IEJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbXVsdGlNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgQElucHV0KCkgcmVhZE9ubHlGaWVsZHM6IHN0cmluZ1tdO1xyXG5cclxuICBAT3V0cHV0KCkgb25Mb2FkQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIGxvZ2dlcjogTG9nZ2VyU2VydmljZSwgcHVibGljIHNlcnZpY2U6IFF1ZXN0aW9uU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwdWJsaWMgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOkxvZ2luU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdWJtaXRRdWVzdGlvbm5haXJlKCl7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmUuc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGlydHlJdGVtcygpIDogc3RyaW5nW117XHJcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlLmdldERpcnR5SXRlbXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREaXJ0eUl0ZW1zV2l0aFZhbHVlcygpOiBBcnJheTx7IGNvbnRyb2xOYW1lOiBzdHJpbmcsIGNvbnRyb2xWYWx1ZTogYW55IH0+ICB7XHJcbiAgICByZXR1cm4gdGhpcy5xdWVzdGlvbm5haXJlLmdldERpcnR5SXRlbXNXaXRoVmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudERldGFpbHNDaGFuZ2VFcnJvcigpe1xyXG4gICAgcmV0dXJuIHRoaXMucXVlc3Rpb25uYWlyZS5wYXltZW50RGV0YWlsc0NoYW5nZUVycm9yKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkQ29tcGxldGUoZXZlbnQpIHtcclxuICAgIHRoaXMub25Mb2FkQ29tcGxldGUuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBjb21wbGV0ZShldmVudCl7XHJcbiAgICB0aGlzLm9uQ29tcGxldGUuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBkYXRhID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGF0YScpO1xyXG4gICAgaWYoZGF0YSl7XHJcbiAgICAgIHRoaXMuZHluYW1pY1BhcmFtID0gSlNPTi5wYXJzZShhdG9iKGRhdGEpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZsb3dLZXkpIHtcclxuICAgICAgdGhpcy5nZXRGbG93RGF0YSh0aGlzLmZsb3dLZXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZVxyXG4gICAgICAgIC5wYXJhbXNcclxuICAgICAgICAucGlwZShmaXJzdCgpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgIGxldCBrZXkgPSBwYXJhbXNbJ2tleSddO1xyXG4gICAgICAgIFxyXG4gICAgICAgICAgdGhpcy5nZXRGbG93RGF0YShrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Rmxvd0RhdGEoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXRGbG93RGF0YShrZXkpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBpZiAoIXJlcyB8fCAhcmVzLmZsb3dJZCkge1xyXG4gICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdub3QtZm91bmQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwgPSByZXM7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWwuYXV0aGVudGljYXRpb25SZXF1aXJlZCA9PT0gJ1knICYmICF0aGlzLmxvZ2luU2VydmljZS5pc0xvZ2dlZEluKCkpIHtcclxuICAgICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnbG9naW4nKS50aGVuKCgpID0+IHsgXHJcbiAgICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoXCJVc2VyIG5vdCBsb2dnZWQgaW4uXCIpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnF1ZXJ5TW9kZWwgPSBKU09OLnBhcnNlKHRoaXMubW9kZWwuZmxvd0lkKTtcclxuICAgICAgICB0aGlzLnF1ZXJ5TW9kZWwuaXNTY3JlZW5RdWVzdGlvbm5haXJlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLm1vZGVsLmlzTWZhUmVxdWlyZWQgPSB0aGlzLnF1ZXJ5TW9kZWwuaXNNZmFSZXF1aXJlZCA/IHRoaXMucXVlcnlNb2RlbC5pc01mYVJlcXVpcmVkIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5uZXh0QnV0dG9uUGFnZSA9IHRoaXMubW9kZWwubmV4dFBhZ2U7XHJcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGhpcy5tb2RlbC5wYWdlVGl0bGUpO1xyXG4gICAgICAgIHRoaXMuYmFja0J1dHRvblBhZ2UgPSB0aGlzLm1vZGVsLmJhY2tQYWdlO1xyXG4gICAgICAgIGlmKHRoaXMubW9kZWwudHlwZSl7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VUeXBlID0gdGhpcy5tb2RlbC50eXBlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXRTaXplcygpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyU2VydmljZSA9dGhpcy5tb2RlbC5sb2FkZXJTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0xvYWRlclRoZW1lMTIgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICAsXHJcbiAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgIH1cclxuXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTaXplcygpIHtcclxuICAgIGlmICghdGhpcy5zaXplWHMpIHtcclxuICAgICAgdGhpcy5zaXplWHMgPSAxMjtcclxuICAgICAgdGhpcy5vZmZzZXRYcyA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNpemVTbSkge1xyXG4gICAgICB0aGlzLnNpemVTbSA9IDEyO1xyXG4gICAgICB0aGlzLm9mZnNldFNtID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuc2l6ZU1kKSB7XHJcbiAgICAgIHRoaXMuc2l6ZU1kID0gMTI7XHJcbiAgICAgIHRoaXMub2Zmc2V0TWQgPSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5zaXplTGcpIHtcclxuICAgICAgdGhpcy5zaXplTGcgPSAxMDtcclxuICAgICAgdGhpcy5vZmZzZXRMZyA9IDE7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNpemVYbCkge1xyXG4gICAgICB0aGlzLnNpemVYbCA9IDg7XHJcbiAgICAgIHRoaXMub2Zmc2V0WGwgPSAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Nb2RlbENhbmNlbChjYW5jZWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcclxuICAgIGlmKHRoaXMuc2hvd0Vycm9yKXtcclxuICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnJvcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uRXJyb3IuZW1pdChlcnJvcik7XHJcbiAgfVxyXG59XHJcbiIsIjxpb24taGVhZGVyICpuZ0lmPVwicGFnZVR5cGUhPSdQT1BVUCcgJiYgIWhpZGVIZWFkZXJcIj5cclxuICAgIDxhcHAtaGVhZGVyIFtzZWNvbmRUb29sYmFyXT1cImZhbHNlXCIgW2Rpc3BsYXlMb2dvXT1cIiFsb2dpblNlcnZpY2UuZ2V0VXNlcigpXCI+PC9hcHAtaGVhZGVyPlxyXG48L2lvbi1oZWFkZXI+XHJcbjxpb24tY29udGVudCAqbmdJZj1cIiFzaG93T25seVF1ZXN0aW9uXCI+XHJcbiAgICA8YXBwLWNvbnRlbnQgW3Nob3dIZWxwXT1cImZhbHNlXCIgW2hpZGVGb290ZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxhcHAtcXVlc3Rpb25uYWlyZSAjcXVlc3Rpb25uYWlyZSBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiIFtiYWNrQnV0dG9uUGFnZV09XCJiYWNrQnV0dG9uUGFnZVwiIFxyXG4gICAgICAgIFtuZXh0QnV0dG9uUGFnZV09XCJuZXh0QnV0dG9uUGFnZVwiIFtsb2FkZXJTZXJ2aWNlXT1cImxvYWRlclNlcnZpY2VcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIiAqbmdJZj1cIiFzaG93TG9hZGVyVGhlbWUxMlwiIChtb2RlbENhbmNlbCk9XCJvbk1vZGVsQ2FuY2VsKCRldmVudClcIlxyXG4gICAgICAgIFtxdWVyeU1vZGVsXT1cInF1ZXJ5TW9kZWxcIiBbZGF0YV09XCJkYXRhXCIgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFtoaWRlSGVhZGVyXT1cImhpZGVIZWFkZXJcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmVcIiBbaGlkZUZvb3Rlcl09XCJoaWRlRm9vdGVyXCJcclxuICAgICAgICBbc2l6ZVhzXT1cInNpemVYc1wiIFtzaXplU21dPVwic2l6ZVNtXCIgW3NpemVNZF09XCJzaXplTWRcIiBbc2l6ZUxnXT1cInNpemVMZ1wiIFtzaXplWGxdPVwic2l6ZVhsXCIgXHJcbiAgICAgICAgW29mZnNldFhzXT1cIm9mZnNldFhzXCIgW29mZnNldFNtXT1cIm9mZnNldFNtXCIgW29mZnNldE1kXT1cIm9mZnNldE1kXCIgW29mZnNldExnXT1cIm9mZnNldExnXCIgW29mZnNldFhsXT1cIm9mZnNldFhsXCJcclxuICAgICAgICAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCIgW2R5bmFtaWNQYXJhbV09XCJkeW5hbWljUGFyYW1cIiBbbWZhUmVxdWlyZWRdPVwibW9kZWwuaXNNZmFSZXF1aXJlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCJcclxuICAgICAgICBbcmVhZE9ubHlGaWVsZHNdPVwicmVhZE9ubHlGaWVsZHNcIiAob25Mb2FkQ29tcGxldGUpPVwibG9hZENvbXBsZXRlKCRldmVudClcIj48L2FwcC1xdWVzdGlvbm5haXJlPlxyXG4gICAgPC9hcHAtY29udGVudD5cclxuPC9pb24tY29udGVudD5cclxuPGFwcC1xdWVzdGlvbm5haXJlICNxdWVzdGlvbm5haXJlIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCIgW2JhY2tCdXR0b25QYWdlXT1cImJhY2tCdXR0b25QYWdlXCIgXHJcbiAgICAgICAgW25leHRCdXR0b25QYWdlXT1cIm5leHRCdXR0b25QYWdlXCIgW2xvYWRlclNlcnZpY2VdPVwibG9hZGVyU2VydmljZVwiIFtwYWdlVHlwZV09XCJwYWdlVHlwZVwiICpuZ0lmPVwiIXNob3dMb2FkZXJUaGVtZTEyICYmIHNob3dPbmx5UXVlc3Rpb25cIiAobW9kZWxDYW5jZWwpPVwib25Nb2RlbENhbmNlbCgkZXZlbnQpXCJcclxuICAgICAgICBbcXVlcnlNb2RlbF09XCJxdWVyeU1vZGVsXCIgW2Zvcm1EYXRhXT1cImRhdGFcIiAob25Db21wbGV0ZSk9XCJjb21wbGV0ZSgkZXZlbnQpXCIgW2hpZGVIZWFkZXJdPVwiaGlkZUhlYWRlclwiIFthdXRvU2F2ZV09XCJhdXRvU2F2ZVwiIFtoaWRlRm9vdGVyXT1cImhpZGVGb290ZXJcIlxyXG4gICAgICAgIFtzaXplWHNdPVwic2l6ZVhzXCIgW3NpemVTbV09XCJzaXplU21cIiBbc2l6ZU1kXT1cInNpemVNZFwiIFtzaXplTGddPVwic2l6ZUxnXCIgW3NpemVYbF09XCJzaXplWGxcIiBcclxuICAgICAgICBbb2Zmc2V0WHNdPVwib2Zmc2V0WHNcIiBbb2Zmc2V0U21dPVwib2Zmc2V0U21cIiBbb2Zmc2V0TWRdPVwib2Zmc2V0TWRcIiBbb2Zmc2V0TGddPVwib2Zmc2V0TGdcIiBbb2Zmc2V0WGxdPVwib2Zmc2V0WGxcIiAob25FcnJvcik9XCJoYW5kbGVFcnJvcigkZXZlbnQpXCJcclxuICAgICAgICBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiIFttZmFSZXF1aXJlZF09XCJtb2RlbC5pc01mYVJlcXVpcmVkXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW211bHRpTW9kZV09XCJtdWx0aU1vZGVcIiBbcmVhZE9ubHlGaWVsZHNdPVwicmVhZE9ubHlGaWVsZHNcIlxyXG4gICAgICAgIChvbkxvYWRDb21wbGV0ZSk9XCJsb2FkQ29tcGxldGUoJGV2ZW50KVwiPjwvYXBwLXF1ZXN0aW9ubmFpcmU+XHJcblxyXG48ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyIGlvbi1wYWRkaW5nXCIgKm5nSWY9XCJzaG93TG9hZGVyVGhlbWUxMlwiPlxyXG4gICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
261
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FormBuilderPage, { className: "FormBuilderPage", filePath: "lib\\components\\questionnaire\\form-builder\\form-builder.page.ts", lineNumber: 22 }); })();
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLnBhZ2UudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLnBhZ2UuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBS25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDYnZFLGtDQUFxRDtJQUNqRCxnQ0FBeUY7SUFDN0YsaUJBQWE7OztJQURHLGVBQXVCO0lBQXZCLHFDQUF1QiwrQ0FBQTs7OztJQUkvQiwrQ0FNMEU7SUFMeUMsc05BQWUsZUFBQSw0QkFBcUIsQ0FBQSxJQUFDLHVNQUNsRyxlQUFBLHVCQUFnQixDQUFBLElBRGtGLGlNQUk3SSxlQUFBLDBCQUFtQixDQUFBLElBSjBILGdOQUtwRyxlQUFBLDRCQUFvQixDQUFBLElBTGdGO0lBSzlFLGlCQUFvQjs7O0lBTmpDLHNEQUFpQyx5Q0FBQSx1Q0FBQSw2QkFBQSxpQ0FBQSxxQkFBQSxpQ0FBQSw2QkFBQSxpQ0FBQSx5QkFBQSx5QkFBQSx5QkFBQSx5QkFBQSx5QkFBQSw2QkFBQSw2QkFBQSw2QkFBQSw2QkFBQSw2QkFBQSxx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LGFBQWE7a0JBQXhDLFNBQVM7bUJBQUMsZUFBZTtZQVlqQixRQUFRO2tCQUFoQixLQUFLO1lBRVUsUUFBUTtrQkFBdkIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxVQUFVO2tCQUFsQixLQUFLO1lBRUksT0FBTztrQkFBaEIsS0FBSztZQUVJLGdCQUFnQjtrQkFBekIsS0FBSztZQUVHLFlBQVk7a0JBQXBCLEtBQUs7WUFFSyxXQUFXO2tCQUFyQixNQUFNO1lBRUcsVUFBVTtrQkFBbkIsTUFBTTtZQUVHLE9BQU87a0JBQWhCLE1BQU07WUFFRSxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUdOLElBQUk7a0JBREgsS0FBSztZQUdHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBRUcsU0FBUztrQkFBakIsS0FBSztZQUVHLGNBQWM7a0JBQXRCLEtBQUs7WUFFSSxjQUFjO2tCQUF2QixNQUFNOztrRkF6REksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRkJDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0ZCQ29uZmlnTW9kZWwnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9RdWVzdGlvbm5haXJlUXVlcnlNb2RlbCc7XG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUXVlc3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcXVlc3Rpb25uYWlyZS9xdWVzdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlbmRlclF1ZXN0aW9ubmFpcmVQYWdlIH0gZnJvbSAnLi4vcmVuZGVyLXF1ZXN0aW9ubmFpcmUvcmVuZGVyLXF1ZXN0aW9ubmFpcmUucGFnZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1idWlsZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tYnVpbGRlci5wYWdlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWJ1aWxkZXIucGFnZS5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1F1ZXN0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJ1aWxkZXJQYWdlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ3F1ZXN0aW9ubmFpcmUnKSBxdWVzdGlvbm5haXJlIDogUmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2U7XG5cbiAgcHVibGljIHNob3dMb2FkZXJUaGVtZTEyOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGJhY2tCdXR0b25QYWdlOiBzdHJpbmc7XG4gIHB1YmxpYyBuZXh0QnV0dG9uUGFnZTogc3RyaW5nO1xuXG4gIHB1YmxpYyBsb2FkZXJTZXJ2aWNlOnN0cmluZztcbiAgXG4gIHB1YmxpYyBxdWVyeU1vZGVsOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbDtcblxuICBtb2RlbDogRkJDb25maWdNb2RlbDtcblxuICBASW5wdXQoKSBhdXRvU2F2ZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgcHVibGljIHBhZ2VUeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaGlkZUhlYWRlciA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBoaWRlRm9vdGVyIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgQElucHV0KCkgIGZsb3dLZXk6IHN0cmluZztcblxuICBASW5wdXQoKSAgc2hvd09ubHlRdWVzdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGR5bmFtaWNQYXJhbTphbnk7XG4gIFxuICBAT3V0cHV0KCkgIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBPdXRwdXQoKSBvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKSBvbkVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpIHNpemVYcyA6IG51bWJlcjtcbiAgQElucHV0KCkgc2l6ZVNtIDogbnVtYmVyO1xuICBASW5wdXQoKSBzaXplTWQgOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNpemVMZyA6IG51bWJlcjtcbiAgQElucHV0KCkgc2l6ZVhsIDogbnVtYmVyO1xuXG4gIEBJbnB1dCgpIG9mZnNldFhzIDogbnVtYmVyO1xuICBASW5wdXQoKSBvZmZzZXRTbSA6IG51bWJlcjtcbiAgQElucHV0KCkgb2Zmc2V0TWQgOiBudW1iZXI7XG4gIEBJbnB1dCgpIG9mZnNldExnIDogbnVtYmVyO1xuICBASW5wdXQoKSBvZmZzZXRYbCA6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgc2hvd0Vycm9yOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSByZWFkb25seTogQm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG11bHRpTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgQElucHV0KCkgcmVhZE9ubHlGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBPdXRwdXQoKSBvbkxvYWRDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyBzZXJ2aWNlOiBRdWVzdGlvblNlcnZpY2UsIFxuICAgICAgICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyB0aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgICAgICAgICAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOkxvZ2luU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgc3VibWl0UXVlc3Rpb25uYWlyZSgpe1xuICAgIHRoaXMucXVlc3Rpb25uYWlyZS5zdWJtaXQoKTtcbiAgfVxuXG4gIGxvYWRDb21wbGV0ZShldmVudCkge1xuICAgIHRoaXMub25Mb2FkQ29tcGxldGUuZW1pdChldmVudCk7XG4gIH1cblxuICBjb21wbGV0ZShldmVudCl7XG4gICAgdGhpcy5vbkNvbXBsZXRlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgbGV0IGRhdGEgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdkYXRhJyk7XG4gICAgaWYoZGF0YSl7XG4gICAgICAvKiogQ2hhbmdpbmcgYmVsb3csIGFkZGluZyBpbnRlcmltIHZhcmlhYmxlIGlucHV0UXVlcnlEYXRhIGFuZCBtZXJnaW5nIGR5bmFtaWNQYXJhbSB3aXRoIGlucHV0UXVlcnlEYXRhXG4gICAgICAgKiBhcyBwcmV2aW91c2x5LCB0aGUgZHluYW1pY1BhcmFtIGJlaW5nIHNldCBleHBsaWNpdGVseSBmcm9tIGNhbGxpbmcgcGFnZXMgd2FzIGJlaW5nIG92ZXJyaWRlbiBieSBcbiAgICAgICAqIGRhdGEgZnJvbSBjdXJyZW50IHJvdXRlIHNuYXBzaG90KGxpbmUgMTAwKS5cbiAgICAgICAqIGUuZy4gdjMvd2Vla2xpZXMucGFnZS50czogZnJvbSBoaW50LCBkYXRhIHdhcyBiZWluZyBwYXNzZWQgYW5kIGR5bmFtaWNQYXJhbSB3YXMgYmVpbmcgc2V0IGZyb20gd2l0aGluIHBhZ2UuXG4gICAgICAgKiBIaW50IGRhdGEgZGlkIG5vdCBoYXZlIGxhYmVsX3J0d2RhdGUgYnV0IGR5bmFtaWNQYXJhbSBkaWQuIFNpbmNlIGl0IHdhcyBvdmVycmlkZW4sIHRoZSB2YWx1ZSB3YXMgY29taW5nIG91dCBudWxsIG9uIHBhZ2VcbiAgICAgICovXG4gICAgIC8vdGhpcy5keW5hbWljUGFyYW0gPSBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xuICAgICBsZXQgaW5wdXRRdWVyeURhdGEgPSBKU09OLnBhcnNlKGF0b2IoZGF0YSkpO1xuICAgICBpZih0aGlzLmR5bmFtaWNQYXJhbSl7XG4gICAgICB0aGlzLmR5bmFtaWNQYXJhbSA9IE9iamVjdC5hc3NpZ24odGhpcy5keW5hbWljUGFyYW0saW5wdXRRdWVyeURhdGEsdGhpcy5keW5hbWljUGFyYW0pO1xuICAgICB9ZWxzZXtcbiAgICAgIHRoaXMuZHluYW1pY1BhcmFtID0gaW5wdXRRdWVyeURhdGE7XG4gICAgIH1cbiAgICAgXG4gICAgfVxuICAgIGlmICh0aGlzLmZsb3dLZXkpIHtcbiAgICAgIHRoaXMuZ2V0Rmxvd0RhdGEodGhpcy5mbG93S2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZVxuICAgICAgICAucGFyYW1zXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgICAgICBsZXQga2V5ID0gcGFyYW1zWydrZXknXTtcbiAgICAgICAgXG4gICAgICAgICAgdGhpcy5nZXRGbG93RGF0YShrZXkpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRGbG93RGF0YShrZXk6IHN0cmluZykge1xuICAgIHRoaXMuc2VydmljZS5nZXRGbG93RGF0YShrZXkpLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIGlmICghcmVzIHx8ICFyZXMuZmxvd0lkKSB7XG4gICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdub3QtZm91bmQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW9kZWwgPSByZXM7XG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmF1dGhlbnRpY2F0aW9uUmVxdWlyZWQgPT09ICdZJyAmJiAhdGhpcy5sb2dpblNlcnZpY2UuaXNMb2dnZWRJbigpKSB7XG4gICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdsb2dpbicpLnRoZW4oKCkgPT4geyBcbiAgICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoXCJVc2VyIG5vdCBsb2dnZWQgaW4uXCIpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucXVlcnlNb2RlbCA9IEpTT04ucGFyc2UodGhpcy5tb2RlbC5mbG93SWQpO1xuICAgICAgICB0aGlzLnF1ZXJ5TW9kZWwuaXNTY3JlZW5RdWVzdGlvbm5haXJlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tb2RlbC5pc01mYVJlcXVpcmVkID0gdGhpcy5xdWVyeU1vZGVsLmlzTWZhUmVxdWlyZWQgPyB0aGlzLnF1ZXJ5TW9kZWwuaXNNZmFSZXF1aXJlZCA6IGZhbHNlO1xuICAgICAgICB0aGlzLm5leHRCdXR0b25QYWdlID0gdGhpcy5tb2RlbC5uZXh0UGFnZTtcbiAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUodGhpcy5tb2RlbC5wYWdlVGl0bGUpO1xuICAgICAgICB0aGlzLmJhY2tCdXR0b25QYWdlID0gdGhpcy5tb2RlbC5iYWNrUGFnZTtcbiAgICAgICAgaWYodGhpcy5tb2RlbC50eXBlKXtcbiAgICAgICAgICB0aGlzLnBhZ2VUeXBlID0gdGhpcy5tb2RlbC50eXBlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXRTaXplcygpO1xuICAgICAgICB0aGlzLmxvYWRlclNlcnZpY2UgPXRoaXMubW9kZWwubG9hZGVyU2VydmljZTtcbiAgICAgICAgdGhpcy5zaG93TG9hZGVyVGhlbWUxMiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgLFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xuICAgICAgfVxuXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2l6ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnNpemVYcykge1xuICAgICAgdGhpcy5zaXplWHMgPSAxMjtcbiAgICAgIHRoaXMub2Zmc2V0WHMgPSAwO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zaXplU20pIHtcbiAgICAgIHRoaXMuc2l6ZVNtID0gMTI7XG4gICAgICB0aGlzLm9mZnNldFNtID0gMDtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuc2l6ZU1kKSB7XG4gICAgICB0aGlzLnNpemVNZCA9IDEyO1xuICAgICAgdGhpcy5vZmZzZXRNZCA9IDA7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnNpemVMZykge1xuICAgICAgdGhpcy5zaXplTGcgPSAxMC4yNTtcbiAgICAgIHRoaXMub2Zmc2V0TGcgPSAwLjc1O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zaXplWGwpIHtcbiAgICAgIHRoaXMuc2l6ZVhsID0gMTAuMjU7XG4gICAgICB0aGlzLm9mZnNldFhsID0gMC43NTtcbiAgICB9XG4gIH1cblxuICBvbk1vZGVsQ2FuY2VsKGNhbmNlbDogYm9vbGVhbikge1xuICAgIHRoaXMubW9kZWxDYW5jZWwuZW1pdChjYW5jZWwpO1xuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcbiAgICBpZih0aGlzLnNob3dFcnJvcil7XG4gICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycm9yKTtcbiAgICB9XG4gICAgdGhpcy5vbkVycm9yLmVtaXQoZXJyb3IpO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlciAqbmdJZj1cInBhZ2VUeXBlIT0nUE9QVVAnICYmICFoaWRlSGVhZGVyXCI+XHJcbiAgICA8YXBwLWhlYWRlciBbc2Vjb25kVG9vbGJhcl09XCJmYWxzZVwiIFtkaXNwbGF5TG9nb109XCIhbG9naW5TZXJ2aWNlLmdldFVzZXIoKVwiPjwvYXBwLWhlYWRlcj5cclxuPC9pb24taGVhZGVyPlxyXG48aW9uLWNvbnRlbnQgKm5nSWY9XCIhc2hvd09ubHlRdWVzdGlvblwiPlxyXG4gICAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJmYWxzZVwiIFtoaWRlRm9vdGVyXT1cInRydWVcIj5cclxuICAgICAgICA8YXBwLXF1ZXN0aW9ubmFpcmUgI3F1ZXN0aW9ubmFpcmUgc3R5bGU9XCJkaXNwbGF5OiBjb250ZW50cztcIiBbYmFja0J1dHRvblBhZ2VdPVwiYmFja0J1dHRvblBhZ2VcIiBcclxuICAgICAgICBbbmV4dEJ1dHRvblBhZ2VdPVwibmV4dEJ1dHRvblBhZ2VcIiBbbG9hZGVyU2VydmljZV09XCJsb2FkZXJTZXJ2aWNlXCIgW3BhZ2VUeXBlXT1cInBhZ2VUeXBlXCIgKm5nSWY9XCIhc2hvd0xvYWRlclRoZW1lMTJcIiAobW9kZWxDYW5jZWwpPVwib25Nb2RlbENhbmNlbCgkZXZlbnQpXCJcclxuICAgICAgICBbcXVlcnlNb2RlbF09XCJxdWVyeU1vZGVsXCIgW2RhdGFdPVwiZGF0YVwiIChvbkNvbXBsZXRlKT1cImNvbXBsZXRlKCRldmVudClcIiBbaGlkZUhlYWRlcl09XCJoaWRlSGVhZGVyXCIgW2F1dG9TYXZlXT1cImF1dG9TYXZlXCIgW2hpZGVGb290ZXJdPVwiaGlkZUZvb3RlclwiXHJcbiAgICAgICAgW3NpemVYc109XCJzaXplWHNcIiBbc2l6ZVNtXT1cInNpemVTbVwiIFtzaXplTWRdPVwic2l6ZU1kXCIgW3NpemVMZ109XCJzaXplTGdcIiBbc2l6ZVhsXT1cInNpemVYbFwiIFxyXG4gICAgICAgIFtvZmZzZXRYc109XCJvZmZzZXRYc1wiIFtvZmZzZXRTbV09XCJvZmZzZXRTbVwiIFtvZmZzZXRNZF09XCJvZmZzZXRNZFwiIFtvZmZzZXRMZ109XCJvZmZzZXRMZ1wiIFtvZmZzZXRYbF09XCJvZmZzZXRYbFwiXHJcbiAgICAgICAgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiIFtkeW5hbWljUGFyYW1dPVwiZHluYW1pY1BhcmFtXCIgW21mYVJlcXVpcmVkXT1cIm1vZGVsLmlzTWZhUmVxdWlyZWRcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbbXVsdGlNb2RlXT1cIm11bHRpTW9kZVwiXHJcbiAgICAgICAgW3JlYWRPbmx5RmllbGRzXT1cInJlYWRPbmx5RmllbGRzXCIgKG9uTG9hZENvbXBsZXRlKT1cImxvYWRDb21wbGV0ZSgkZXZlbnQpXCI+PC9hcHAtcXVlc3Rpb25uYWlyZT5cclxuICAgIDwvYXBwLWNvbnRlbnQ+XHJcbjwvaW9uLWNvbnRlbnQ+XHJcbjxhcHAtcXVlc3Rpb25uYWlyZSAjcXVlc3Rpb25uYWlyZSBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiIFtiYWNrQnV0dG9uUGFnZV09XCJiYWNrQnV0dG9uUGFnZVwiIFxyXG4gICAgICAgIFtuZXh0QnV0dG9uUGFnZV09XCJuZXh0QnV0dG9uUGFnZVwiIFtsb2FkZXJTZXJ2aWNlXT1cImxvYWRlclNlcnZpY2VcIiBbcGFnZVR5cGVdPVwicGFnZVR5cGVcIiAqbmdJZj1cIiFzaG93TG9hZGVyVGhlbWUxMiAmJiBzaG93T25seVF1ZXN0aW9uXCIgKG1vZGVsQ2FuY2VsKT1cIm9uTW9kZWxDYW5jZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgW3F1ZXJ5TW9kZWxdPVwicXVlcnlNb2RlbFwiIFtmb3JtRGF0YV09XCJkYXRhXCIgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFtoaWRlSGVhZGVyXT1cImhpZGVIZWFkZXJcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmVcIiBbaGlkZUZvb3Rlcl09XCJoaWRlRm9vdGVyXCJcclxuICAgICAgICBbc2l6ZVhzXT1cInNpemVYc1wiIFtzaXplU21dPVwic2l6ZVNtXCIgW3NpemVNZF09XCJzaXplTWRcIiBbc2l6ZUxnXT1cInNpemVMZ1wiIFtzaXplWGxdPVwic2l6ZVhsXCIgXHJcbiAgICAgICAgW29mZnNldFhzXT1cIm9mZnNldFhzXCIgW29mZnNldFNtXT1cIm9mZnNldFNtXCIgW29mZnNldE1kXT1cIm9mZnNldE1kXCIgW29mZnNldExnXT1cIm9mZnNldExnXCIgW29mZnNldFhsXT1cIm9mZnNldFhsXCIgKG9uRXJyb3IpPVwiaGFuZGxlRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgW2R5bmFtaWNQYXJhbV09XCJkeW5hbWljUGFyYW1cIiBbbWZhUmVxdWlyZWRdPVwibW9kZWwuaXNNZmFSZXF1aXJlZFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwibXVsdGlNb2RlXCIgW3JlYWRPbmx5RmllbGRzXT1cInJlYWRPbmx5RmllbGRzXCJcclxuICAgICAgICAob25Mb2FkQ29tcGxldGUpPVwibG9hZENvbXBsZXRlKCRldmVudClcIj48L2FwcC1xdWVzdGlvbm5haXJlPlxyXG5cclxuPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZ1wiICpuZ0lmPVwic2hvd0xvYWRlclRoZW1lMTJcIj5cclxuICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -2,12 +2,13 @@ import { Component, EventEmitter, Input, Output, ViewChildren } from "@angular/c
2
2
  import { combineLatest } from "rxjs";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../services/questionnaire/questionnaire.service";
5
- import * as i2 from "@ionic/angular";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "primeng/api";
8
- import * as i5 from "primeng/dialog";
9
- import * as i6 from "../render-questionnaire/render-questionnaire.page";
10
- import * as i7 from "@ngx-translate/core";
5
+ import * as i2 from "../../../services/logger/logger.service";
6
+ import * as i3 from "@ionic/angular";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "primeng/api";
9
+ import * as i6 from "primeng/dialog";
10
+ import * as i7 from "../render-questionnaire/render-questionnaire.page";
11
+ import * as i8 from "@ngx-translate/core";
11
12
  const _c0 = ["fbs"];
12
13
  function MultiQuestionnaireComponent_1_ng_template_0_Template(rf, ctx) { if (rf & 1) {
13
14
  i0.ɵɵelementStart(0, "span", 3);
@@ -67,18 +68,18 @@ function MultiQuestionnaireComponent_div_4_Template(rf, ctx) { if (rf & 1) {
67
68
  i0.ɵɵelement(2, "ion-icon", 12);
68
69
  i0.ɵɵelementStart(3, "h1");
69
70
  i0.ɵɵtext(4);
70
- i0.ɵɵpipe(5, "translate");
71
71
  i0.ɵɵelementEnd()();
72
- i0.ɵɵelementStart(6, "ion-row", 9)(7, "ion-col", 10)(8, "ion-button", 11);
73
- i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_8_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.close()); });
74
- i0.ɵɵtext(9);
75
- i0.ɵɵpipe(10, "translate");
72
+ i0.ɵɵelementStart(5, "ion-row", 9)(6, "ion-col", 10)(7, "ion-button", 11);
73
+ i0.ɵɵlistener("click", function MultiQuestionnaireComponent_div_4_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.close()); });
74
+ i0.ɵɵtext(8);
75
+ i0.ɵɵpipe(9, "translate");
76
76
  i0.ɵɵelementEnd()()()();
77
77
  } if (rf & 2) {
78
+ const ctx_r3 = i0.ɵɵnextContext();
78
79
  i0.ɵɵadvance(4);
79
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 2, "Could not save response. Please try again."));
80
- i0.ɵɵadvance(5);
81
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 4, "Close"));
80
+ i0.ɵɵtextInterpolate(ctx_r3.errorText ? ctx_r3.errorText : "Could not save response. Please try again.");
81
+ i0.ɵɵadvance(4);
82
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(9, 2, "Close"));
82
83
  } }
83
84
  function MultiQuestionnaireComponent_p_footer_5_ion_button_3_Template(rf, ctx) { if (rf & 1) {
84
85
  const _r20 = i0.ɵɵgetCurrentView();
@@ -110,8 +111,9 @@ function MultiQuestionnaireComponent_p_footer_5_Template(rf, ctx) { if (rf & 1)
110
111
  const _c1 = () => ({ width: "45vw", height: "inherit" });
111
112
  const _c2 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
112
113
  export class MultiQuestionnaireComponent {
113
- constructor(questionnaireService) {
114
+ constructor(questionnaireService, logger) {
114
115
  this.questionnaireService = questionnaireService;
116
+ this.logger = logger;
115
117
  this.showClose = true;
116
118
  this.autoSave = false;
117
119
  this.modelCancel = new EventEmitter();
@@ -124,6 +126,7 @@ export class MultiQuestionnaireComponent {
124
126
  this.showError = false;
125
127
  this.qeResponse = new Map();
126
128
  this.qeResponseSaveModel = new Map();
129
+ this.count = 0;
127
130
  }
128
131
  ngOnInit() {
129
132
  }
@@ -133,13 +136,30 @@ export class MultiQuestionnaireComponent {
133
136
  });
134
137
  }
135
138
  complete(event) {
136
- let qId = event.potentialIssueId || event.questionnaireId || event.questionnaireIds[0];
137
- this.qeResponseSaveModel.set(qId, event);
139
+ this.count = this.count + 1;
140
+ this.logger.debug("completed event in multi called...");
141
+ if (this.qeResponseSaveModel.get(event.questionnaireId) || this.qeResponseSaveModel.get(event.questionnaireIds[0])) {
142
+ this.qId = event.potentialIssueId;
143
+ let questionnaireArrayResponseModel = this.qeResponseSaveModel.get(event.questionnaireIds[0]);
144
+ let questionnaireResponseModel = this.qeResponseSaveModel.get(event.questionnaireId);
145
+ if (questionnaireResponseModel) {
146
+ this.qeResponseSaveModel.set(questionnaireResponseModel.potentialIssueId, questionnaireResponseModel);
147
+ this.qeResponseSaveModel.delete(event.questionnaireId);
148
+ }
149
+ else {
150
+ this.qeResponseSaveModel.set(questionnaireArrayResponseModel.potentialIssueId, questionnaireArrayResponseModel);
151
+ this.qeResponseSaveModel.delete(event.questionnaireIds[0]);
152
+ }
153
+ }
154
+ else {
155
+ this.qId = event.questionnaireId || event.questionnaireIds[0];
156
+ }
157
+ this.qeResponseSaveModel.set(this.qId, event);
138
158
  if (event.isScreenQuestionnaire) {
139
- this.qeResponse.set(qId, JSON.parse(event.screenQuestionnaireData[0]));
159
+ this.qeResponse.set(this.qId, JSON.parse(event.screenQuestionnaireData[0]));
140
160
  }
141
161
  else {
142
- this.qeResponse.set(qId, JSON.parse(event.data));
162
+ this.qeResponse.set(this.qId, JSON.parse(event.data));
143
163
  }
144
164
  if (this.qeResponseSaveModel.size == this.fbs.length) {
145
165
  this.qeDatas = [];
@@ -149,17 +169,34 @@ export class MultiQuestionnaireComponent {
149
169
  let hasScreenQuestionnaire = screenQuestionnaire.length > 0;
150
170
  let hasQuestionnaire = questionnaire.length > 0;
151
171
  if (hasScreenQuestionnaire && hasQuestionnaire) {
152
- combineLatest(this.saveQuestionnaires(questionnaire))
172
+ combineLatest(this.checkAndSaveAllQuestionnaires(questionnaire))
153
173
  .subscribe(res => {
154
174
  this.showResponse = true;
155
175
  this.closeAfterSuccess();
156
176
  }, err => {
177
+ if (err?.errorCode == '422') {
178
+ this.errorText = err.msg[0];
179
+ }
157
180
  this.showError = true;
158
181
  });
159
182
  }
160
183
  else if (hasScreenQuestionnaire) {
161
- screenQuestionnaire.forEach(q => this.saveScreenQuestionnaire(q));
162
- if (this.autoSave == false) {
184
+ if (this.autoSave) {
185
+ //Calls the backend save service endpoint and stores the data, Example: DUA
186
+ combineLatest(this.saveScreenQuestionnaireNew(screenQuestionnaire))
187
+ .subscribe(resp => {
188
+ console.log('inside screen qe', resp);
189
+ this.showResponse = true;
190
+ this.closeAfterSuccess();
191
+ }, err => {
192
+ if (err?.errorCode == '422') {
193
+ this.errorText = err.msg[0];
194
+ }
195
+ this.showError = true;
196
+ });
197
+ }
198
+ else {
199
+ //No direct saving to db, passes data to model. Example: Work Search Activities
163
200
  this.closeAfterSuccess();
164
201
  }
165
202
  }
@@ -169,17 +206,37 @@ export class MultiQuestionnaireComponent {
169
206
  this.showResponse = true;
170
207
  this.closeAfterSuccess();
171
208
  }, err => {
209
+ if (err?.errorCode == '422') {
210
+ this.errorText = err.msg[0];
211
+ }
172
212
  this.showError = true;
173
213
  });
174
214
  }
175
215
  }
176
216
  }
217
+ saveScreenQuestionnaireNew(screenQuestionnaire) {
218
+ this.logger.debug("save screenQuestionnaire : ", screenQuestionnaire);
219
+ let subscriptions = [];
220
+ screenQuestionnaire.forEach(q => {
221
+ if (this.autoSave) {
222
+ this.logger.debug('qe data is : ', JSON.parse(q.screenQuestionnaireData[0]));
223
+ this.qeResponse.set(this.qId, JSON.parse(q.screenQuestionnaireData[0]));
224
+ subscriptions.push(this.questionnaireService.saveScreenQuestionnaire(q));
225
+ }
226
+ });
227
+ return subscriptions;
228
+ }
177
229
  saveScreenQuestionnaire(qeScreenData) {
230
+ this.logger.debug('saveScreenQuestionnaire = ', qeScreenData);
178
231
  if (this.autoSave) {
179
232
  this.questionnaireService.saveScreenQuestionnaire(qeScreenData)
180
233
  .subscribe(res => {
234
+ this.logger.debug('save screen qe response = ', res);
181
235
  this.showResponse = true;
182
236
  }, err => {
237
+ if (err?.errorCode == '422') {
238
+ this.errorText = err.msg[0];
239
+ }
183
240
  this.showError = true;
184
241
  });
185
242
  }
@@ -190,18 +247,45 @@ export class MultiQuestionnaireComponent {
190
247
  close() {
191
248
  this.modelCancel.emit();
192
249
  }
250
+ checkAndSaveAllQuestionnaires(questionnaires) {
251
+ this.logger.debug("save questionnaires : ", questionnaires);
252
+ let subscriptions = [];
253
+ questionnaires.forEach(q => {
254
+ //this.qeResponse.set(this.qId, JSON.parse(q.data))
255
+ if (q.isScreenQuestionnaire) {
256
+ this.logger.debug('qe data for screen is : ', JSON.parse(q.data));
257
+ this.qeResponse.set(this.qId, JSON.parse(q.screenQuestionnaireData[0]));
258
+ }
259
+ else {
260
+ this.logger.debug('qe data is : ', JSON.parse(q.data));
261
+ this.qeResponse.set(this.qId, JSON.parse(q.data));
262
+ }
263
+ if (q.autoSave && q.isScreenQuestionnaire) {
264
+ //save data into screen specific table - use save method for code to follow
265
+ subscriptions.push(this.questionnaireService.saveScreenQuestionnaire(q));
266
+ }
267
+ else if (!q.isScreenQuestionnaire) {
268
+ //save data into Qe specific tables
269
+ subscriptions.push(this.questionnaireService.saveQuestionnaire(q));
270
+ }
271
+ });
272
+ return subscriptions;
273
+ }
193
274
  saveQuestionnaires(questionnaires) {
275
+ this.logger.debug("save questionnaires : ", questionnaires);
194
276
  let subscriptions = [];
195
277
  questionnaires.forEach(q => {
278
+ this.logger.debug('qe data is : ', JSON.parse(q.data));
196
279
  this.qeResponse.set(this.qId, JSON.parse(q.data));
197
280
  subscriptions.push(this.questionnaireService.saveQuestionnaire(q));
198
281
  });
199
282
  return subscriptions;
200
283
  }
201
284
  closeAfterSuccess() {
285
+ this.logger.debug('close after success called');
202
286
  this.onComplete.emit(this.qeResponse);
203
287
  }
204
- static { this.ɵfac = function MultiQuestionnaireComponent_Factory(t) { return new (t || MultiQuestionnaireComponent)(i0.ɵɵdirectiveInject(i1.QuestionnaireService)); }; }
288
+ static { this.ɵfac = function MultiQuestionnaireComponent_Factory(t) { return new (t || MultiQuestionnaireComponent)(i0.ɵɵdirectiveInject(i1.QuestionnaireService), i0.ɵɵdirectiveInject(i2.LoggerService)); }; }
205
289
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MultiQuestionnaireComponent, selectors: [["app-multi-questionnaire"]], viewQuery: function MultiQuestionnaireComponent_Query(rf, ctx) { if (rf & 1) {
206
290
  i0.ɵɵviewQuery(_c0, 5);
207
291
  } if (rf & 2) {
@@ -209,7 +293,7 @@ export class MultiQuestionnaireComponent {
209
293
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fbs = _t);
210
294
  } }, inputs: { qeQueryModels: "qeQueryModels", showClose: "showClose", autoSave: "autoSave", formData: "formData", readonly: "readonly", header: "header", showQuestionNumber: "showQuestionNumber" }, outputs: { modelCancel: "modelCancel", onComplete: "onComplete" }, decls: 6, vars: 12, consts: [["appendTo", "body", "modal", "true", 3, "visible", "breakpoints", "showHeader"], [4, "ngIf"], ["pTemplate", "header"], [1, "fb-heading"], [4, "ngFor", "ngForOf"], [2, "display", "contents", 3, "queryModel", "hideHeader", "autoSave", "pageType", "hideFooter", "dynamicParam", "formData", "readonly", "multiMode", "questionNumber", "modelCancel", "onComplete"], ["fbs", ""], [1, "ion-text-center", "ion-padding-top"], ["name", "checkmark-circle", 2, "font-size", "80px", "color", "var(--ion-color-green)"], [1, "ion-padding"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["name", "close-circle-outline", 2, "font-size", "80px", "color", "var(--ion-color-danger)"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click", 4, "ngIf"], ["shape", "round", "fill", "solid", "type", "submit", 3, "click"]], template: function MultiQuestionnaireComponent_Template(rf, ctx) { if (rf & 1) {
211
295
  i0.ɵɵelementStart(0, "p-dialog", 0);
212
- i0.ɵɵtemplate(1, MultiQuestionnaireComponent_1_Template, 1, 0, null, 1)(2, MultiQuestionnaireComponent_div_2_Template, 2, 1, "div", 1)(3, MultiQuestionnaireComponent_div_3_Template, 11, 6, "div", 1)(4, MultiQuestionnaireComponent_div_4_Template, 11, 6, "div", 1)(5, MultiQuestionnaireComponent_p_footer_5_Template, 7, 4, "p-footer", 1);
296
+ i0.ɵɵtemplate(1, MultiQuestionnaireComponent_1_Template, 1, 0, null, 1)(2, MultiQuestionnaireComponent_div_2_Template, 2, 1, "div", 1)(3, MultiQuestionnaireComponent_div_3_Template, 11, 6, "div", 1)(4, MultiQuestionnaireComponent_div_4_Template, 10, 4, "div", 1)(5, MultiQuestionnaireComponent_p_footer_5_Template, 7, 4, "p-footer", 1);
213
297
  i0.ɵɵelementEnd();
214
298
  } if (rf & 2) {
215
299
  i0.ɵɵstyleMap(i0.ɵɵpureFunction0(10, _c1));
@@ -224,12 +308,12 @@ export class MultiQuestionnaireComponent {
224
308
  i0.ɵɵproperty("ngIf", ctx.showError);
225
309
  i0.ɵɵadvance(1);
226
310
  i0.ɵɵproperty("ngIf", !ctx.showResponse);
227
- } }, dependencies: [i2.IonButton, i2.IonCol, i2.IonIcon, i2.IonRow, i3.NgForOf, i3.NgIf, i4.Footer, i4.PrimeTemplate, i5.Dialog, i6.RenderQuestionnairePage, i7.TranslatePipe], styles: [".fb-heading[_ngcontent-%COMP%]{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}"] }); }
311
+ } }, dependencies: [i3.IonButton, i3.IonCol, i3.IonIcon, i3.IonRow, i4.NgForOf, i4.NgIf, i5.Footer, i5.PrimeTemplate, i6.Dialog, i7.RenderQuestionnairePage, i8.TranslatePipe], styles: [".fb-heading[_ngcontent-%COMP%]{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}"] }); }
228
312
  }
229
313
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiQuestionnaireComponent, [{
230
314
  type: Component,
231
- args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{'Could not save response. Please try again.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
232
- }], () => [{ type: i1.QuestionnaireService }], { fbs: [{
315
+ args: [{ selector: 'app-multi-questionnaire', template: "<p-dialog [visible]=\"isVisible\" appendTo=\"body\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\"\r\n [style]=\"{width: '45vw', height : 'inherit'}\" modal=\"true\" [showHeader]=\"header != null && header != undefined\">\r\n \r\n <ng-template pTemplate=\"header\" *ngIf=\"header\">\r\n <span class=\"fb-heading\">{{header}}</span>\r\n </ng-template>\r\n \r\n <div *ngIf=\"!showResponse\">\r\n <div *ngFor=\"let model of qeQueryModels; let isLast = last; index as i\">\r\n <app-questionnaire #fbs style=\"display: contents;\" (modelCancel)=\"close()\" \r\n [queryModel]=\"model\" (onComplete)=\"complete($event)\" [hideHeader]=\"true\" [autoSave]=\"autoSave ? (model.autoSave == true ? true : false) : (model.autoSave == true ? true : false)\" [pageType]=\"null\"\r\n [hideFooter]=\"true\" [dynamicParam]=\"model.dynamicParam\" [formData]=\"formData ? formData : model.data\" [readonly]=\"readonly\" [multiMode]=\"true\" [questionNumber]=\"showQuestionNumber ? (i+1) : null\"></app-questionnaire>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showResponse\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"checkmark-circle\" style=\"font-size: 80px; color: var(--ion-color-green);\"></ion-icon>\r\n <h1>{{'Response saved successfully.' | translate}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"showError\">\r\n <div class=\"ion-text-center ion-padding-top\">\r\n <ion-icon name=\"close-circle-outline\" style=\"font-size: 80px; color: var(--ion-color-danger);\"></ion-icon>\r\n <h1>{{errorText ? errorText : 'Could not save response. Please try again.'}}</h1>\r\n </div>\r\n <ion-row class=\"ion-padding\">\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'Close' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <p-footer *ngIf=\"!showResponse\">\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\" *ngIf=\"showClose\">{{'Close' | translate}}</ion-button>\r\n <ion-button shape=\"round\" fill=\"solid\" type=\"submit\" (click)=\"submit()\">{{'Submit' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </p-footer>\r\n</p-dialog>", styles: [".fb-heading{font-family:var(--app-font-light);color:var(--ion-color-medium-gray);font-size:36px;padding:10px 33px}\n"] }]
316
+ }], () => [{ type: i1.QuestionnaireService }, { type: i2.LoggerService }], { fbs: [{
233
317
  type: ViewChildren,
234
318
  args: ['fbs']
235
319
  }], qeQueryModels: [{
@@ -251,5 +335,5 @@ export class MultiQuestionnaireComponent {
251
335
  }], showQuestionNumber: [{
252
336
  type: Input
253
337
  }] }); })();
254
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiQuestionnaireComponent, { className: "MultiQuestionnaireComponent", filePath: "lib\\components\\questionnaire\\multi-questionnaire\\multi-questionnaire.component.ts", lineNumber: 13 }); })();
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0lDRzdCLCtCQUF5QjtJQUFBLFlBQVU7SUFBQSxpQkFBTzs7O0lBQWpCLGVBQVU7SUFBVixtQ0FBVTs7O0lBRHZDLDhGQUVjOzs7O0lBR1YsMkJBQXdFLDhCQUFBO0lBQ2pCLHdNQUFlLGVBQUEsZUFBTyxDQUFBLElBQUMsK0xBQ3ZDLGVBQUEsd0JBQWdCLENBQUEsSUFEdUI7SUFFMEgsaUJBQW9CLEVBQUE7Ozs7O0lBRHhOLGVBQW9CO0lBQXBCLHFDQUFvQixvQkFBQSxtSEFBQSxrQkFBQSxvQkFBQSx1Q0FBQSwrREFBQSw2QkFBQSxtQkFBQSwrREFBQTs7O0lBSDVCLDJCQUEyQjtJQUN2QixtRkFJTTtJQUNWLGlCQUFNOzs7SUFMcUIsZUFBa0I7SUFBbEIsOENBQWtCOzs7O0lBTzdDLDJCQUEwQixhQUFBO0lBRWxCLDhCQUFxRztJQUNyRywwQkFBSTtJQUFBLFlBQThDOztJQUFBLGlCQUFL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akQsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs0RkEvSFUsMkJBQTJCO29FQUEzQiwyQkFBMkI7Ozs7OztZQ1oxQyxtQ0FDb0g7WUFFaEgsdUVBRWMsK0RBQUEsZ0VBQUEsZ0VBQUEseUVBQUE7WUF5Q2xCLGlCQUFXOztZQTdDUCwwQ0FBNkM7WUFEdkMsdUNBQXFCLDRDQUFBLDZEQUFBO1lBR00sZUFBWTtZQUFaLGlDQUFZO1lBSXZDLGVBQW1CO1lBQW5CLHdDQUFtQjtZQVFuQixlQUFrQjtZQUFsQix1Q0FBa0I7WUFZbEIsZUFBZTtZQUFmLG9DQUFlO1lBV1YsZUFBbUI7WUFBbkIsd0NBQW1COzs7aUZEMUJuQiwyQkFBMkI7Y0FMekMsU0FBUzsyQkFDSSx5QkFBeUI7cURBTWQsR0FBRztrQkFBdkIsWUFBWTttQkFBQyxLQUFLO1lBRVYsYUFBYTtrQkFBckIsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxRQUFRO2tCQUFoQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVLLFdBQVc7a0JBQXJCLE1BQU07WUFFRyxVQUFVO2tCQUFuQixNQUFNO1lBRUUsUUFBUTtrQkFBaEIsS0FBSztZQUVHLE1BQU07a0JBQWQsS0FBSztZQUVHLGtCQUFrQjtrQkFBMUIsS0FBSzs7a0ZBcEJLLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsXCI7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFwiO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSZW5kZXJRdWVzdGlvbm5haXJlUGFnZSB9IGZyb20gXCIuLi9yZW5kZXItcXVlc3Rpb25uYWlyZS9yZW5kZXItcXVlc3Rpb25uYWlyZS5wYWdlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLW11bHRpLXF1ZXN0aW9ubmFpcmUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuc2NzcyddXHJcbiAgfSlcclxuICBleHBvcnQgY2xhc3MgTXVsdGlRdWVzdGlvbm5haXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2ZicycpIGZiczogUXVlcnlMaXN0PFJlbmRlclF1ZXN0aW9ubmFpcmVQYWdlPjtcclxuICBcclxuICAgIEBJbnB1dCgpIHFlUXVlcnlNb2RlbHMgOiBRdWVzdGlvbm5haXJlUXVlcnlNb2RlbFtdO1xyXG4gIFxyXG4gICAgQElucHV0KCkgc2hvd0Nsb3NlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgICBASW5wdXQoKSBhdXRvU2F2ZSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBcclxuICAgIEBJbnB1dCgpIGZvcm1EYXRhOiBhbnk7XHJcbiAgXHJcbiAgICBAT3V0cHV0KCkgIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIFxyXG4gICAgQE91dHB1dCgpIG9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgXHJcbiAgICBASW5wdXQoKSByZWFkb25seTogQm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpIHNob3dRdWVzdGlvbk51bWJlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIFxyXG4gIFxyXG4gICAgcWVEYXRhcyA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSA9IFtdO1xyXG4gIFxyXG4gICAgaXNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgICBzaG93UmVzcG9uc2UgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgICBzaG93RXJyb3IgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgICBkeW5hbWljUGFyYW06YW55O1xyXG5cclxuICAgIHFlUmVzcG9uc2UgOiBNYXA8bnVtYmVyLCBhbnk+ID0gbmV3IE1hcCgpO1xyXG5cclxuICAgIHFlUmVzcG9uc2VTYXZlTW9kZWwgOiBNYXA8bnVtYmVyLCBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsPiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgICBxSWQgOiBhbnk7XHJcbiAgIFxyXG4gICAgY29uc3RydWN0b3IocHVibGljIHF1ZXN0aW9ubmFpcmVTZXJ2aWNlIDogUXVlc3Rpb25uYWlyZVNlcnZpY2UpIHsgXHJcblxyXG4gICAgIFxyXG4gICAgfVxyXG4gIFxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzdWJtaXQoKXtcclxuICAgICAgdGhpcy5mYnMuZm9yRWFjaChmYiA9PiB7XHJcbiAgICAgICAgZmIuc3VibWl0KClcclxuICAgICAgfSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gIFxyXG4gICAgY29tcGxldGUoZXZlbnQgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsKXtcclxuICAgICAgbGV0IHFJZCA9IGV2ZW50LnBvdGVudGlhbElzc3VlSWQgfHwgZXZlbnQucXVlc3Rpb25uYWlyZUlkIHx8IGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF07XHJcblxyXG4gICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2V0KHFJZCwgZXZlbnQpO1xyXG4gICAgICBpZihldmVudC5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpe1xyXG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQocUlkLCBKU09OLnBhcnNlKGV2ZW50LnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICB0aGlzLnFlUmVzcG9uc2Uuc2V0KHFJZCwgSlNPTi5wYXJzZShldmVudC5kYXRhKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYodGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLnNpemUgPT0gdGhpcy5mYnMubGVuZ3RoKXtcclxuICAgICAgICB0aGlzLnFlRGF0YXMgPSBbXTtcclxuICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZm9yRWFjaChyID0+IHRoaXMucWVEYXRhcy5wdXNoKHIpKTtcclxuICAgICAgICBsZXQgc2NyZWVuUXVlc3Rpb25uYWlyZSA9IHRoaXMucWVEYXRhcy5maWx0ZXIocSA9PiBxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSA9PT0gdHJ1ZSk7XHJcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmUgPSB0aGlzLnFlRGF0YXMuZmlsdGVyKHEgPT4gcS5pc1NjcmVlblF1ZXN0aW9ubmFpcmUgIT0gdHJ1ZSk7XHJcbiAgICAgICAgbGV0IGhhc1NjcmVlblF1ZXN0aW9ubmFpcmUgPSBzY3JlZW5RdWVzdGlvbm5haXJlLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgbGV0IGhhc1F1ZXN0aW9ubmFpcmUgPSBxdWVzdGlvbm5haXJlLmxlbmd0aCA+IDA7XHJcblxyXG4gICAgICAgIGlmKGhhc1NjcmVlblF1ZXN0aW9ubmFpcmUgJiYgaGFzUXVlc3Rpb25uYWlyZSl7XHJcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmUpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcclxuICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIGlmKGhhc1NjcmVlblF1ZXN0aW9ubmFpcmUpIHtcclxuICAgICAgICAgIHNjcmVlblF1ZXN0aW9ubmFpcmUuZm9yRWFjaChxID0+IHRoaXMuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocSkpXHJcbiAgICAgICAgICBpZih0aGlzLmF1dG9TYXZlID09IGZhbHNlKXtcclxuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZihoYXNRdWVzdGlvbm5haXJlKSB7XHJcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmUpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcclxuICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzYXZlU2NyZWVuUXVlc3Rpb25uYWlyZShxZVNjcmVlbkRhdGE6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWwpIHtcclxuICAgICAgaWYodGhpcy5hdXRvU2F2ZSl7XHJcbiAgICAgICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5zYXZlU2NyZWVuUXVlc3Rpb25uYWlyZShxZVNjcmVlbkRhdGEpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XHJcbiAgICAgICAgICAgIH0sIGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcclxuICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgY2xvc2UoKXtcclxuICAgICAgdGhpcy5tb2RlbENhbmNlbC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzYXZlUXVlc3Rpb25uYWlyZXMocXVlc3Rpb25uYWlyZXMgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsW10pe1xyXG4gICAgICBsZXQgc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgICBxdWVzdGlvbm5haXJlcy5mb3JFYWNoIChxID0+IHtcclxuICAgICAgICB0aGlzLnFlUmVzcG9uc2Uuc2V0KHRoaXMucUlkLCBKU09OLnBhcnNlKHEuZGF0YSkpXHJcbiAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVF1ZXN0aW9ubmFpcmUocSkpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbnM7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBjbG9zZUFmdGVyU3VjY2Vzcygpe1xyXG4gICAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0aGlzLnFlUmVzcG9uc2UpO1xyXG4gICAgfVxyXG4gIFxyXG4gIH0iLCI8cC1kaWFsb2cgW3Zpc2libGVdPVwiaXNWaXNpYmxlXCIgYXBwZW5kVG89XCJib2R5XCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIlxyXG4gICAgW3N0eWxlXT1cInt3aWR0aDogJzQ1dncnLCBoZWlnaHQgOiAnaW5oZXJpdCd9XCIgbW9kYWw9XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiaGVhZGVyICE9IG51bGwgJiYgaGVhZGVyICE9IHVuZGVmaW5lZFwiPlxyXG4gICAgXHJcbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgKm5nSWY9XCJoZWFkZXJcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImZiLWhlYWRpbmdcIj57e2hlYWRlcn19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIFxyXG4gICAgPGRpdiAqbmdJZj1cIiFzaG93UmVzcG9uc2VcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtb2RlbCBvZiBxZVF1ZXJ5TW9kZWxzOyBsZXQgaXNMYXN0ID0gbGFzdDsgaW5kZXggYXMgaVwiPlxyXG4gICAgICAgICAgICA8YXBwLXF1ZXN0aW9ubmFpcmUgI2ZicyBzdHlsZT1cImRpc3BsYXk6IGNvbnRlbnRzO1wiIChtb2RlbENhbmNlbCk9XCJjbG9zZSgpXCIgXHJcbiAgICAgICAgICAgIFtxdWVyeU1vZGVsXT1cIm1vZGVsXCIgKG9uQ29tcGxldGUpPVwiY29tcGxldGUoJGV2ZW50KVwiIFtoaWRlSGVhZGVyXT1cInRydWVcIiBbYXV0b1NhdmVdPVwiYXV0b1NhdmUgPyAobW9kZWwuYXV0b1NhdmUgPT0gdHJ1ZSA/IHRydWUgOiBmYWxzZSkgOiAobW9kZWwuYXV0b1NhdmUgPT0gdHJ1ZSA/IHRydWUgOiBmYWxzZSlcIiBbcGFnZVR5cGVdPVwibnVsbFwiXHJcbiAgICAgICAgICAgIFtoaWRlRm9vdGVyXT1cInRydWVcIiBbZHluYW1pY1BhcmFtXT1cIm1vZGVsLmR5bmFtaWNQYXJhbVwiIFtmb3JtRGF0YV09XCJmb3JtRGF0YSA/IGZvcm1EYXRhIDogbW9kZWwuZGF0YVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFttdWx0aU1vZGVdPVwidHJ1ZVwiIFtxdWVzdGlvbk51bWJlcl09XCJzaG93UXVlc3Rpb25OdW1iZXIgPyAoaSsxKSA6IG51bGxcIj48L2FwcC1xdWVzdGlvbm5haXJlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dSZXNwb25zZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrLWNpcmNsZVwiIHN0eWxlPVwiZm9udC1zaXplOiA4MHB4OyBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZWVuKTtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aDE+e3snUmVzcG9uc2Ugc2F2ZWQgc3VjY2Vzc2Z1bGx5LicgfCB0cmFuc2xhdGV9fTwvaDE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJyZXNldFwiPnt7J0Nsb3NlJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dFcnJvclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXIgaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2UtY2lyY2xlLW91dGxpbmVcIiBzdHlsZT1cImZvbnQtc2l6ZTogODBweDsgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxoMT57eydDb3VsZCBub3Qgc2F2ZSByZXNwb25zZS4gUGxlYXNlIHRyeSBhZ2Fpbi4nIHwgdHJhbnNsYXRlfX08L2gxPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cclxuICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIj57eydDbG9zZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHAtZm9vdGVyICpuZ0lmPVwiIXNob3dSZXNwb25zZVwiPlxyXG4gICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJyZXNldFwiICpuZ0lmPVwic2hvd0Nsb3NlXCI+e3snQ2xvc2UnIHwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cInNvbGlkXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzdWJtaXQoKVwiPnt7J1N1Ym1pdCcgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgIDwvcC1mb290ZXI+XHJcbjwvcC1kaWFsb2c+Il19
338
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiQuestionnaireComponent, { className: "MultiQuestionnaireComponent", filePath: "lib\\components\\questionnaire\\multi-questionnaire\\multi-questionnaire.component.ts", lineNumber: 14 }); })();
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktcXVlc3Rpb25uYWlyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvbXVsdGktcXVlc3Rpb25uYWlyZS9tdWx0aS1xdWVzdGlvbm5haXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztJQ0c3QiwrQkFBeUI7SUFBQSxZQUFVO0lBQUEsaUJBQU87OztJQUFqQixlQUFVO0lBQVYsbUNBQVU7OztJQUR2Qyw4RkFFYzs7OztJQUdWLDJCQUF3RSw4QkFBQTtJQUNqQix3TUFBZSxlQUFBLGVBQU8sQ0FBQSxJQUFDLCtMQUN2QyxlQUFBLHdCQUFnQixDQUFBLElBRHVCO0lBRTBILGlCQUFvQixFQUFBOzs7OztJQUR4TixlQUFvQjtJQUFwQixxQ0FBb0Isb0JBQUEsbUhBQUEsa0JBQUEsb0JBQUEsdUNBQUEsK0RBQUEsNkJBQUEsbUJBQUEsK0RBQUE7OztJQUg1QiwyQkFBMkI7SUFDdkIsbUZBSU07SUFDVixpQkFBTTs7O0lBTHFCLGVBQWtCO0lBQWxCLDhDQUFrQjs7OztJQU83QywyQkFBMEIsYUFBQTtJQUVsQiw4QkFBcUc7SUFDckcsMEJBQUk7SUFBQSxZQUE4Qzs7SUFBQSxpQkFB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QUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7NEZBL01VLDJCQUEyQjtvRUFBM0IsMkJBQTJCOzs7Ozs7WUNiMUMsbUNBQ29IO1lBRWhILHVFQUVjLCtEQUFBLGdFQUFBLGdFQUFBLHlFQUFBO1lBeUNsQixpQkFBVzs7WUE3Q1AsMENBQTZDO1lBRHZDLHVDQUFxQiw0Q0FBQSw2REFBQTtZQUdNLGVBQVk7WUFBWixpQ0FBWTtZQUl2QyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFRbkIsZUFBa0I7WUFBbEIsdUNBQWtCO1lBWWxCLGVBQWU7WUFBZixvQ0FBZTtZQVdWLGVBQW1CO1lBQW5CLHdDQUFtQjs7O2lGRHpCbkIsMkJBQTJCO2NBTHpDLFNBQVM7MkJBQ0kseUJBQXlCO2lGQU1kLEdBQUc7a0JBQXZCLFlBQVk7bUJBQUMsS0FBSztZQUVWLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFSyxXQUFXO2tCQUFyQixNQUFNO1lBRUcsVUFBVTtrQkFBbkIsTUFBTTtZQUVFLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxNQUFNO2tCQUFkLEtBQUs7WUFFRyxrQkFBa0I7a0JBQTFCLEtBQUs7O2tGQXBCSywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZHJlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVRdWVyeU1vZGVsXCI7XG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1F1ZXN0aW9ubmFpcmVTYXZlTW9kZWxcIjtcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25uYWlyZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvcXVlc3Rpb25uYWlyZS9xdWVzdGlvbm5haXJlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFJlbmRlclF1ZXN0aW9ubmFpcmVQYWdlIH0gZnJvbSBcIi4uL3JlbmRlci1xdWVzdGlvbm5haXJlL3JlbmRlci1xdWVzdGlvbm5haXJlLnBhZ2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbXVsdGktcXVlc3Rpb25uYWlyZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL211bHRpLXF1ZXN0aW9ubmFpcmUuY29tcG9uZW50LnNjc3MnXVxuICB9KVxuICBleHBvcnQgY2xhc3MgTXVsdGlRdWVzdGlvbm5haXJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgXG4gICAgQFZpZXdDaGlsZHJlbignZmJzJykgZmJzOiBRdWVyeUxpc3Q8UmVuZGVyUXVlc3Rpb25uYWlyZVBhZ2U+O1xuICBcbiAgICBASW5wdXQoKSBxZVF1ZXJ5TW9kZWxzIDogUXVlc3Rpb25uYWlyZVF1ZXJ5TW9kZWxbXTtcbiAgXG4gICAgQElucHV0KCkgc2hvd0Nsb3NlIDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAgIEBJbnB1dCgpIGF1dG9TYXZlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgICBASW5wdXQoKSBmb3JtRGF0YTogYW55O1xuICBcbiAgICBAT3V0cHV0KCkgIG1vZGVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBcbiAgICBAT3V0cHV0KCkgb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IEJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc2hvd1F1ZXN0aW9uTnVtYmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBlcnJvclRleHQgOiBzdHJpbmc7XG4gIFxuICAgIHFlRGF0YXMgOiBRdWVzdGlvbm5haXJlU2F2ZU1vZGVsW10gPSBbXTtcbiAgXG4gICAgaXNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XG4gIFxuICAgIHNob3dSZXNwb25zZSA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgXG4gICAgc2hvd0Vycm9yIDogYm9vbGVhbiA9IGZhbHNlO1xuICBcbiAgICBkeW5hbWljUGFyYW06YW55O1xuXG4gICAgcWVSZXNwb25zZSA6IE1hcDxudW1iZXIsIGFueT4gPSBuZXcgTWFwKCk7XG5cbiAgICBxZVJlc3BvbnNlU2F2ZU1vZGVsIDogTWFwPG51bWJlciwgUXVlc3Rpb25uYWlyZVNhdmVNb2RlbD4gPSBuZXcgTWFwKCk7XG5cbiAgICBxSWQgOiBhbnk7XG5cbiAgICBjb3VudDogbnVtYmVyID0gMDtcbiAgIFxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBxdWVzdGlvbm5haXJlU2VydmljZSA6IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlLCBwdWJsaWMgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlKSB7IFxuXG4gICAgIFxuICAgIH1cbiAgXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgfVxuICBcbiAgICBzdWJtaXQoKXtcbiAgICAgIHRoaXMuZmJzLmZvckVhY2goZmIgPT4ge1xuICAgICAgICBmYi5zdWJtaXQoKVxuICAgICAgfSk7XG4gICAgICBcbiAgICB9XG4gIFxuICAgIGNvbXBsZXRlKGV2ZW50IDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCl7XG4gICAgICB0aGlzLmNvdW50ID0gdGhpcy5jb3VudCArIDE7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcImNvbXBsZXRlZCBldmVudCBpbiBtdWx0aSBjYWxsZWQuLi5cIik7XG4gICAgICBpZih0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCkgfHwgdGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLmdldChldmVudC5xdWVzdGlvbm5haXJlSWRzWzBdKSl7XG4gICAgICAgIHRoaXMucUlkID0gZXZlbnQucG90ZW50aWFsSXNzdWVJZDtcbiAgICAgICAgbGV0IHF1ZXN0aW9ubmFpcmVBcnJheVJlc3BvbnNlTW9kZWwgPSB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF0pO1xuICAgICAgICBsZXQgcXVlc3Rpb25uYWlyZVJlc3BvbnNlTW9kZWwgPSB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZ2V0KGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCk7XG4gICAgICAgIGlmKHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsKXtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2V0KHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsLnBvdGVudGlhbElzc3VlSWQsIHF1ZXN0aW9ubmFpcmVSZXNwb25zZU1vZGVsKTtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZGVsZXRlKGV2ZW50LnF1ZXN0aW9ubmFpcmVJZCk7ICBcbiAgICAgICAgfSBlbHNle1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5zZXQocXVlc3Rpb25uYWlyZUFycmF5UmVzcG9uc2VNb2RlbC5wb3RlbnRpYWxJc3N1ZUlkLCBxdWVzdGlvbm5haXJlQXJyYXlSZXNwb25zZU1vZGVsKTtcbiAgICAgICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuZGVsZXRlKGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2V7XG4gICAgICAgIHRoaXMucUlkID0gZXZlbnQucXVlc3Rpb25uYWlyZUlkIHx8IGV2ZW50LnF1ZXN0aW9ubmFpcmVJZHNbMF07XG4gICAgICB9XG4gICAgICB0aGlzLnFlUmVzcG9uc2VTYXZlTW9kZWwuc2V0KHRoaXMucUlkLCBldmVudCk7XG4gICAgICBpZihldmVudC5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpe1xuICAgICAgICB0aGlzLnFlUmVzcG9uc2Uuc2V0KHRoaXMucUlkLCBKU09OLnBhcnNlKGV2ZW50LnNjcmVlblF1ZXN0aW9ubmFpcmVEYXRhWzBdKSk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UoZXZlbnQuZGF0YSkpO1xuICAgICAgfVxuICAgICAgaWYodGhpcy5xZVJlc3BvbnNlU2F2ZU1vZGVsLnNpemUgPT0gdGhpcy5mYnMubGVuZ3RoKXtcbiAgICAgICAgdGhpcy5xZURhdGFzID0gW107XG4gICAgICAgIHRoaXMucWVSZXNwb25zZVNhdmVNb2RlbC5mb3JFYWNoKHIgPT4gdGhpcy5xZURhdGFzLnB1c2gocikpO1xuICAgICAgICBsZXQgc2NyZWVuUXVlc3Rpb25uYWlyZSA9IHRoaXMucWVEYXRhcy5maWx0ZXIocSA9PiBxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSA9PT0gdHJ1ZSk7XG4gICAgICAgIGxldCBxdWVzdGlvbm5haXJlID0gdGhpcy5xZURhdGFzLmZpbHRlcihxID0+IHEuaXNTY3JlZW5RdWVzdGlvbm5haXJlICE9IHRydWUpO1xuICAgICAgICBsZXQgaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSA9IHNjcmVlblF1ZXN0aW9ubmFpcmUubGVuZ3RoID4gMDtcbiAgICAgICAgbGV0IGhhc1F1ZXN0aW9ubmFpcmUgPSBxdWVzdGlvbm5haXJlLmxlbmd0aCA+IDA7XG5cbiAgICAgICAgaWYoaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSAmJiBoYXNRdWVzdGlvbm5haXJlKXtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuY2hlY2tBbmRTYXZlQWxsUXVlc3Rpb25uYWlyZXMocXVlc3Rpb25uYWlyZSkpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93UmVzcG9uc2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JUZXh0ID0gZXJyLm1zZ1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2UgaWYoaGFzU2NyZWVuUXVlc3Rpb25uYWlyZSkge1xuICAgICAgICAgIGlmKHRoaXMuYXV0b1NhdmUpe1xuICAgICAgICAgICAgLy9DYWxscyB0aGUgYmFja2VuZCBzYXZlIHNlcnZpY2UgZW5kcG9pbnQgYW5kIHN0b3JlcyB0aGUgZGF0YSwgRXhhbXBsZTogRFVBXG4gICAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmVOZXcoc2NyZWVuUXVlc3Rpb25uYWlyZSkpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXNwID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdpbnNpZGUgc2NyZWVuIHFlJyxyZXNwKTtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgaWYoZXJyPy5lcnJvckNvZGUgPT0gJzQyMicpe1xuICAgICAgICAgICAgICB0aGlzLmVycm9yVGV4dCA9IGVyci5tc2dbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgLy9ObyBkaXJlY3Qgc2F2aW5nIHRvIGRiLCBwYXNzZXMgZGF0YSB0byBtb2RlbC4gRXhhbXBsZTogV29yayBTZWFyY2ggQWN0aXZpdGllc1xuICAgICAgICAgICAgdGhpcy5jbG9zZUFmdGVyU3VjY2VzcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmKGhhc1F1ZXN0aW9ubmFpcmUpIHtcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuc2F2ZVF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmUpKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Jlc3BvbnNlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZnRlclN1Y2Nlc3MoKTtcbiAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgaWYoZXJyPy5lcnJvckNvZGUgPT0gJzQyMicpe1xuICAgICAgICAgICAgICB0aGlzLmVycm9yVGV4dCA9IGVyci5tc2dbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmVOZXcoc2NyZWVuUXVlc3Rpb25uYWlyZSA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNhdmUgc2NyZWVuUXVlc3Rpb25uYWlyZSA6IFwiLCBzY3JlZW5RdWVzdGlvbm5haXJlKTtcbiAgICAgIGxldCBzdWJzY3JpcHRpb25zID0gW107XG4gICAgICBzY3JlZW5RdWVzdGlvbm5haXJlLmZvckVhY2ggKHEgPT4ge1xuICAgICAgICBpZih0aGlzLmF1dG9TYXZlKXtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncWUgZGF0YSBpcyA6ICcsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpXG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25zO1xuICAgIH1cblxuICAgIHNhdmVTY3JlZW5RdWVzdGlvbm5haXJlKHFlU2NyZWVuRGF0YTogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbCkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NhdmVTY3JlZW5RdWVzdGlvbm5haXJlID0gJywgcWVTY3JlZW5EYXRhKTtcbiAgICAgIGlmKHRoaXMuYXV0b1NhdmUpe1xuICAgICAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLnNhdmVTY3JlZW5RdWVzdGlvbm5haXJlKHFlU2NyZWVuRGF0YSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3NhdmUgc2NyZWVuIHFlIHJlc3BvbnNlID0gJyxyZXMpO1xuICAgICAgICAgICAgICB0aGlzLnNob3dSZXNwb25zZSA9IHRydWU7XG4gICAgICAgICAgICB9LCBlcnIgPT4ge1xuICAgICAgICAgICAgICBpZihlcnI/LmVycm9yQ29kZSA9PSAnNDIyJyl7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvclRleHQgPSBlcnIubXNnWzBdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgXG4gICAgaGFuZGxlRXJyb3IoZXJyb3IpIHtcbiAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICB9XG4gIFxuICAgIGNsb3NlKCl7XG4gICAgICB0aGlzLm1vZGVsQ2FuY2VsLmVtaXQoKTtcbiAgICB9XG4gIFxuICAgIGNoZWNrQW5kU2F2ZUFsbFF1ZXN0aW9ubmFpcmVzKHF1ZXN0aW9ubmFpcmVzIDogUXVlc3Rpb25uYWlyZVNhdmVNb2RlbFtdKXtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFwic2F2ZSBxdWVzdGlvbm5haXJlcyA6IFwiLCBxdWVzdGlvbm5haXJlcyk7XG4gICAgICBsZXQgc3Vic2NyaXB0aW9ucyA9IFtdO1xuICAgICAgcXVlc3Rpb25uYWlyZXMuZm9yRWFjaCAocSA9PiB7IFxuICAgICAgICAvL3RoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSlcbiAgICAgICAgaWYocS5pc1NjcmVlblF1ZXN0aW9ubmFpcmUpe1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxZSBkYXRhIGZvciBzY3JlZW4gaXMgOiAnLCBKU09OLnBhcnNlKHEuZGF0YSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5zY3JlZW5RdWVzdGlvbm5haXJlRGF0YVswXSkpO1xuICAgICAgICB9ZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ3FlIGRhdGEgaXMgOiAnLCBKU09OLnBhcnNlKHEuZGF0YSkpO1xuICAgICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYocS5hdXRvU2F2ZSAmJiBxLmlzU2NyZWVuUXVlc3Rpb25uYWlyZSl7XG4gICAgICAgICAgLy9zYXZlIGRhdGEgaW50byBzY3JlZW4gc3BlY2lmaWMgdGFibGUgLSB1c2Ugc2F2ZSBtZXRob2QgZm9yIGNvZGUgdG8gZm9sbG93XG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVNjcmVlblF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9IGVsc2UgaWYoIXEuaXNTY3JlZW5RdWVzdGlvbm5haXJlKXsgIFxuICAgICAgICAgIC8vc2F2ZSBkYXRhIGludG8gUWUgc3BlY2lmaWMgdGFibGVzICAgICAgXG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdWJzY3JpcHRpb25zO1xuICAgIH1cblxuICAgIHNhdmVRdWVzdGlvbm5haXJlcyhxdWVzdGlvbm5haXJlcyA6IFF1ZXN0aW9ubmFpcmVTYXZlTW9kZWxbXSl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNhdmUgcXVlc3Rpb25uYWlyZXMgOiBcIiwgcXVlc3Rpb25uYWlyZXMpO1xuICAgICAgbGV0IHN1YnNjcmlwdGlvbnMgPSBbXTtcbiAgICAgIHF1ZXN0aW9ubmFpcmVzLmZvckVhY2ggKHEgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygncWUgZGF0YSBpcyA6ICcsIEpTT04ucGFyc2UocS5kYXRhKSk7XG4gICAgICAgIHRoaXMucWVSZXNwb25zZS5zZXQodGhpcy5xSWQsIEpTT04ucGFyc2UocS5kYXRhKSlcbiAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2Uuc2F2ZVF1ZXN0aW9ubmFpcmUocSkpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9ucztcbiAgICB9XG4gIFxuICAgIGNsb3NlQWZ0ZXJTdWNjZXNzKCl7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnY2xvc2UgYWZ0ZXIgc3VjY2VzcyBjYWxsZWQnKTtcbiAgICAgIHRoaXMub25Db21wbGV0ZS5lbWl0KHRoaXMucWVSZXNwb25zZSk7XG4gICAgfVxuICBcbiAgfSIsIjxwLWRpYWxvZyBbdmlzaWJsZV09XCJpc1Zpc2libGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbYnJlYWtwb2ludHNdPVwieycxMjAwcHgnOiAnNjYwcHgnLCAnOTkycHgnOiAnNjYwcHgnLCAnNzY4cHgnOiAnNjYwcHgnLCAnNTc2cHgnOiAnMTAwdncnfVwiXHJcbiAgICBbc3R5bGVdPVwie3dpZHRoOiAnNDV2dycsIGhlaWdodCA6ICdpbmhlcml0J31cIiBtb2RhbD1cInRydWVcIiBbc2hvd0hlYWRlcl09XCJoZWFkZXIgIT0gbnVsbCAmJiBoZWFkZXIgIT0gdW5kZWZpbmVkXCI+XHJcbiAgICBcclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiAqbmdJZj1cImhlYWRlclwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmItaGVhZGluZ1wiPnt7aGVhZGVyfX08L3NwYW4+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIXNob3dSZXNwb25zZVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1vZGVsIG9mIHFlUXVlcnlNb2RlbHM7IGxldCBpc0xhc3QgPSBsYXN0OyBpbmRleCBhcyBpXCI+XHJcbiAgICAgICAgICAgIDxhcHAtcXVlc3Rpb25uYWlyZSAjZmJzIHN0eWxlPVwiZGlzcGxheTogY29udGVudHM7XCIgKG1vZGVsQ2FuY2VsKT1cImNsb3NlKClcIiBcclxuICAgICAgICAgICAgW3F1ZXJ5TW9kZWxdPVwibW9kZWxcIiAob25Db21wbGV0ZSk9XCJjb21wbGV0ZSgkZXZlbnQpXCIgW2hpZGVIZWFkZXJdPVwidHJ1ZVwiIFthdXRvU2F2ZV09XCJhdXRvU2F2ZSA/IChtb2RlbC5hdXRvU2F2ZSA9PSB0cnVlID8gdHJ1ZSA6IGZhbHNlKSA6IChtb2RlbC5hdXRvU2F2ZSA9PSB0cnVlID8gdHJ1ZSA6IGZhbHNlKVwiIFtwYWdlVHlwZV09XCJudWxsXCJcclxuICAgICAgICAgICAgW2hpZGVGb290ZXJdPVwidHJ1ZVwiIFtkeW5hbWljUGFyYW1dPVwibW9kZWwuZHluYW1pY1BhcmFtXCIgW2Zvcm1EYXRhXT1cImZvcm1EYXRhID8gZm9ybURhdGEgOiBtb2RlbC5kYXRhXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW211bHRpTW9kZV09XCJ0cnVlXCIgW3F1ZXN0aW9uTnVtYmVyXT1cInNob3dRdWVzdGlvbk51bWJlciA/IChpKzEpIDogbnVsbFwiPjwvYXBwLXF1ZXN0aW9ubmFpcmU+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd1Jlc3BvbnNlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmstY2lyY2xlXCIgc3R5bGU9XCJmb250LXNpemU6IDgwcHg7IGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZ3JlZW4pO1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxoMT57eydSZXNwb25zZSBzYXZlZCBzdWNjZXNzZnVsbHkuJyB8IHRyYW5zbGF0ZX19PC9oMT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCI+e3snQ2xvc2UnIHwgdHJhbnNsYXRlfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlciBpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjbG9zZS1jaXJjbGUtb3V0bGluZVwiIHN0eWxlPVwiZm9udC1zaXplOiA4MHB4OyBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgPGgxPnt7ZXJyb3JUZXh0ID8gZXJyb3JUZXh0IDogJ0NvdWxkIG5vdCBzYXZlIHJlc3BvbnNlLiBQbGVhc2UgdHJ5IGFnYWluLid9fTwvaDE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJyZXNldFwiPnt7J0Nsb3NlJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8cC1mb290ZXIgKm5nSWY9XCIhc2hvd1Jlc3BvbnNlXCI+XHJcbiAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCIgKm5nSWY9XCJzaG93Q2xvc2VcIj57eydDbG9zZScgfCB0cmFuc2xhdGV9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwic29saWRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCI+e3snU3VibWl0JyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9wLWZvb3Rlcj5cclxuPC9wLWRpYWxvZz4iXX0=