@keycloakify/angular 0.0.1-rc.20 → 0.0.1-rc.22

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 (383) hide show
  1. package/account/account.d.ts +12 -0
  2. package/account/defaultPage.d.ts +3 -0
  3. package/{login/getDefaultPageComponent → account}/index.d.ts +1 -1
  4. package/account/providers/keycloakify-angular/keycloakify-angular.providers.d.ts +1 -1
  5. package/account/public-api.d.ts +1 -0
  6. package/bin/338.index.js +298 -0
  7. package/bin/755.index.js +4928 -0
  8. package/bin/758.index.js +130 -0
  9. package/bin/925.index.js +1712 -0
  10. package/bin/main.js +334 -105
  11. package/esm2022/account/account.mjs +3 -0
  12. package/esm2022/account/defaultPage.mjs +26 -0
  13. package/esm2022/account/keycloakify-angular-account.mjs +5 -0
  14. package/esm2022/account/pages/account/account.component.mjs +2 -3
  15. package/esm2022/account/pages/applications/applications.component.mjs +2 -3
  16. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +2 -3
  17. package/esm2022/account/pages/log/log.component.mjs +2 -3
  18. package/esm2022/account/pages/password/password.component.mjs +2 -3
  19. package/esm2022/account/pages/sessions/sessions.component.mjs +2 -3
  20. package/esm2022/account/pages/totp/totp.component.mjs +2 -3
  21. package/esm2022/account/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -2
  22. package/esm2022/account/public-api.mjs +2 -0
  23. package/esm2022/login/containers/template/template.component.mjs +4 -10
  24. package/esm2022/login/defaultPage.mjs +77 -0
  25. package/esm2022/login/keycloakify-angular-login.mjs +5 -0
  26. package/esm2022/login/login.mjs +3 -0
  27. package/esm2022/login/pages/code/code.component.mjs +2 -3
  28. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +1 -1
  29. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +2 -3
  30. package/esm2022/login/pages/error/error.component.mjs +2 -3
  31. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +2 -3
  32. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +7 -8
  33. package/esm2022/login/pages/info/info.component.mjs +2 -3
  34. package/esm2022/login/pages/login/login.component.mjs +2 -3
  35. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +2 -3
  36. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +2 -3
  37. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +2 -3
  38. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +2 -3
  39. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +2 -3
  40. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +2 -3
  41. package/esm2022/login/pages/login-otp/login-otp.component.mjs +2 -3
  42. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +2 -3
  43. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +2 -3
  44. package/esm2022/login/pages/login-password/login-password.component.mjs +2 -3
  45. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +2 -3
  46. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +2 -3
  47. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +2 -3
  48. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +2 -3
  49. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +2 -3
  50. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +7 -8
  51. package/esm2022/login/pages/login-username/login-username.component.mjs +2 -3
  52. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +2 -3
  53. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +2 -3
  54. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +2 -3
  55. package/esm2022/login/pages/register/register.component.mjs +7 -8
  56. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +2 -3
  57. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +2 -3
  58. package/esm2022/login/pages/terms/terms.component.mjs +2 -3
  59. package/esm2022/login/pages/update-email/update-email.component.mjs +7 -8
  60. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +2 -3
  61. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +2 -3
  62. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +2 -3
  63. package/esm2022/login/providers/keycloakify-angular/keycloakify-angular.providers.mjs +2 -2
  64. package/esm2022/login/public-api.mjs +2 -0
  65. package/fesm2022/keycloakify-angular-account-pages-account.mjs +1 -2
  66. package/fesm2022/keycloakify-angular-account-pages-account.mjs.map +1 -1
  67. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +1 -2
  68. package/fesm2022/keycloakify-angular-account-pages-applications.mjs.map +1 -1
  69. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +1 -2
  70. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs.map +1 -1
  71. package/fesm2022/keycloakify-angular-account-pages-log.mjs +1 -2
  72. package/fesm2022/keycloakify-angular-account-pages-log.mjs.map +1 -1
  73. package/fesm2022/keycloakify-angular-account-pages-password.mjs +1 -2
  74. package/fesm2022/keycloakify-angular-account-pages-password.mjs.map +1 -1
  75. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +1 -2
  76. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs.map +1 -1
  77. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +1 -2
  78. package/fesm2022/keycloakify-angular-account-pages-totp.mjs.map +1 -1
  79. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs +2 -2
  80. package/fesm2022/keycloakify-angular-account-providers-keycloakify-angular.mjs.map +1 -1
  81. package/fesm2022/keycloakify-angular-account.mjs +34 -0
  82. package/fesm2022/keycloakify-angular-account.mjs.map +1 -0
  83. package/fesm2022/keycloakify-angular-login-containers-template.mjs +3 -9
  84. package/fesm2022/keycloakify-angular-login-containers-template.mjs.map +1 -1
  85. package/fesm2022/keycloakify-angular-login-pages-code.mjs +1 -2
  86. package/fesm2022/keycloakify-angular-login-pages-code.mjs.map +1 -1
  87. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs.map +1 -1
  88. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +1 -2
  89. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs.map +1 -1
  90. package/fesm2022/keycloakify-angular-login-pages-error.mjs +1 -2
  91. package/fesm2022/keycloakify-angular-login-pages-error.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +1 -2
  93. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs.map +1 -1
  94. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +6 -7
  95. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  96. package/fesm2022/keycloakify-angular-login-pages-info.mjs +1 -2
  97. package/fesm2022/keycloakify-angular-login-pages-info.mjs.map +1 -1
  98. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +1 -2
  99. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs.map +1 -1
  100. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +1 -2
  101. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs.map +1 -1
  102. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +1 -2
  103. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs.map +1 -1
  104. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +1 -2
  105. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs.map +1 -1
  106. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +1 -2
  107. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs.map +1 -1
  108. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +1 -2
  109. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs.map +1 -1
  110. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +1 -2
  111. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs.map +1 -1
  112. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +1 -2
  113. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +1 -2
  115. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs.map +1 -1
  116. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +1 -2
  117. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs.map +1 -1
  118. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +1 -2
  119. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs.map +1 -1
  120. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +1 -2
  121. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs.map +1 -1
  122. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +1 -2
  123. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs.map +1 -1
  124. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +1 -2
  125. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs.map +1 -1
  126. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +1 -2
  127. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs.map +1 -1
  128. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +6 -7
  129. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  130. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +1 -2
  131. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +1 -2
  133. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs.map +1 -1
  134. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +1 -2
  135. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs.map +1 -1
  136. package/fesm2022/keycloakify-angular-login-pages-login.mjs +1 -2
  137. package/fesm2022/keycloakify-angular-login-pages-login.mjs.map +1 -1
  138. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +1 -2
  139. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs.map +1 -1
  140. package/fesm2022/keycloakify-angular-login-pages-register.mjs +7 -8
  141. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  142. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +1 -2
  143. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs.map +1 -1
  144. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +1 -2
  145. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs.map +1 -1
  146. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +1 -2
  147. package/fesm2022/keycloakify-angular-login-pages-terms.mjs.map +1 -1
  148. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +6 -7
  149. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  150. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +1 -2
  151. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs.map +1 -1
  152. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +1 -2
  153. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs.map +1 -1
  154. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +1 -2
  155. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs.map +1 -1
  156. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs +2 -2
  157. package/fesm2022/keycloakify-angular-login-providers-keycloakify-angular.mjs.map +1 -1
  158. package/fesm2022/{keycloakify-angular-login-getDefaultPageComponent.mjs → keycloakify-angular-login.mjs} +3 -1
  159. package/fesm2022/keycloakify-angular-login.mjs.map +1 -0
  160. package/login/containers/template/template.component.d.ts +2 -4
  161. package/login/index.d.ts +5 -0
  162. package/login/login.d.ts +13 -0
  163. package/login/pages/code/code.component.d.ts +1 -1
  164. package/login/pages/delete-account-confirm/delete-account-confirm.component.d.ts +1 -1
  165. package/login/pages/delete-credential/delete-credential.component.d.ts +1 -1
  166. package/login/pages/error/error.component.d.ts +1 -1
  167. package/login/pages/frontchannel-logout/frontchannel-logout.component.d.ts +1 -1
  168. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +2 -4
  169. package/login/pages/info/info.component.d.ts +1 -1
  170. package/login/pages/login/login.component.d.ts +1 -1
  171. package/login/pages/login-config-totp/login-config-totp.component.d.ts +1 -1
  172. package/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.d.ts +1 -1
  173. package/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.d.ts +1 -1
  174. package/login/pages/login-idp-link-email/login-idp-link-email.component.d.ts +1 -1
  175. package/login/pages/login-oauth-grant/login-oauth-grant.component.d.ts +1 -1
  176. package/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.d.ts +1 -1
  177. package/login/pages/login-otp/login-otp.component.d.ts +1 -1
  178. package/login/pages/login-page-expired/login-page-expired.component.d.ts +1 -1
  179. package/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.d.ts +1 -1
  180. package/login/pages/login-password/login-password.component.d.ts +1 -1
  181. package/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.d.ts +1 -1
  182. package/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.d.ts +1 -1
  183. package/login/pages/login-reset-otp/login-reset-otp.component.d.ts +1 -1
  184. package/login/pages/login-reset-password/login-reset-password.component.d.ts +1 -1
  185. package/login/pages/login-update-password/login-update-password.component.d.ts +1 -1
  186. package/login/pages/login-update-profile/login-update-profile.component.d.ts +2 -4
  187. package/login/pages/login-username/login-username.component.d.ts +1 -1
  188. package/login/pages/login-verify-email/login-verify-email.component.d.ts +1 -1
  189. package/login/pages/login-x509-info/login-x509-info.component.d.ts +1 -1
  190. package/login/pages/logout-confirm/logout-confirm.component.d.ts +1 -1
  191. package/login/pages/register/register.component.d.ts +2 -4
  192. package/login/pages/saml-post-form/saml-post-form.component.d.ts +1 -1
  193. package/login/pages/select-authenticator/select-authenticator.component.d.ts +1 -1
  194. package/login/pages/terms/terms.component.d.ts +1 -1
  195. package/login/pages/update-email/update-email.component.d.ts +2 -4
  196. package/login/pages/webauthn-authenticate/webauthn-authenticate.component.d.ts +1 -1
  197. package/login/pages/webauthn-error/webauthn-error.component.d.ts +1 -1
  198. package/login/pages/webauthn-register/webauthn-register.component.d.ts +1 -1
  199. package/login/providers/keycloakify-angular/keycloakify-angular.providers.d.ts +1 -1
  200. package/login/public-api.d.ts +1 -0
  201. package/package.json +21 -15
  202. package/src/account/DefaultPage.ts +1 -1
  203. package/src/account/account.ts +13 -0
  204. package/src/account/classes/component-reference/index.ts +1 -0
  205. package/src/account/containers/template/index.ts +1 -0
  206. package/src/account/containers/template/template.component.ts +2 -2
  207. package/src/account/defaultPage.ts +44 -0
  208. package/src/account/directives/kc-class/index.ts +1 -0
  209. package/src/account/index.ts +1 -0
  210. package/src/account/pages/account/account.component.ts +3 -4
  211. package/src/account/pages/account/index.ts +1 -0
  212. package/src/account/pages/applications/applications.component.ts +3 -4
  213. package/src/account/pages/applications/index.ts +1 -0
  214. package/src/account/pages/federatedIdentity/federatedIdentity.component.ts +3 -4
  215. package/src/account/pages/federatedIdentity/index.ts +1 -0
  216. package/src/account/pages/log/index.ts +1 -0
  217. package/src/account/pages/log/log.component.ts +3 -4
  218. package/src/account/pages/password/index.ts +1 -0
  219. package/src/account/pages/password/password.component.ts +3 -4
  220. package/src/account/pages/sessions/index.ts +1 -0
  221. package/src/account/pages/sessions/sessions.component.ts +3 -4
  222. package/src/account/pages/totp/index.ts +1 -0
  223. package/src/account/pages/totp/totp.component.ts +3 -4
  224. package/src/account/providers/keycloakify-angular/index.ts +1 -0
  225. package/src/account/providers/keycloakify-angular/keycloakify-angular.providers.ts +2 -4
  226. package/src/account/services/account-resource-injector/account-resource-injector.service.ts +1 -1
  227. package/src/account/services/account-resource-injector/index.ts +1 -0
  228. package/src/account/services/i18n/index.ts +1 -0
  229. package/src/account/tokens/classes/index.ts +1 -0
  230. package/src/account/tokens/i18n/index.ts +1 -0
  231. package/src/account/tokens/kc-context/index.ts +1 -0
  232. package/src/account/tokens/kc-context/kc-context.token.ts +1 -1
  233. package/src/bin/core.ts +10 -0
  234. package/src/bin/eject-page.ts +310 -0
  235. package/src/bin/initialize-account-theme/boilerplate/KcContext.ts +11 -0
  236. package/src/bin/initialize-account-theme/boilerplate/KcContextMock.ts +18 -0
  237. package/src/bin/initialize-account-theme/boilerplate/KcPage.ts +19 -0
  238. package/src/bin/initialize-account-theme/boilerplate/i18n.ts +11 -0
  239. package/src/bin/initialize-account-theme/initialize-account-theme.ts +98 -0
  240. package/src/bin/initialize-account-theme/updateAccountThemeImplementationInConfig.ts +99 -0
  241. package/src/bin/main.ts +38 -0
  242. package/src/bin/tools/SemVer.ts +114 -0
  243. package/src/bin/tools/String.prototype.replaceAll.ts +37 -0
  244. package/src/bin/tools/crawl.ts +35 -0
  245. package/src/bin/tools/fs.rmSync.ts +34 -0
  246. package/src/bin/tools/getThisCodebaseRootDirPath.ts +19 -0
  247. package/src/bin/tools/kebabCaseToSnakeCase.ts +7 -0
  248. package/src/bin/tools/transformCodebase.ts +88 -0
  249. package/src/bin/tsconfig.json +20 -0
  250. package/src/bin/update-kc-gen.ts +135 -0
  251. package/src/index.ts +1 -0
  252. package/src/lib/directives/attributes/index.ts +1 -0
  253. package/src/lib/index.ts +1 -0
  254. package/src/lib/models/script/index.ts +1 -0
  255. package/src/lib/pipes/input-type/index.ts +1 -0
  256. package/src/lib/pipes/is-array-with-empty-object/index.ts +1 -0
  257. package/src/lib/pipes/kc-sanitize/index.ts +1 -0
  258. package/src/lib/pipes/to-array/index.ts +1 -0
  259. package/src/lib/pipes/to-number/index.ts +1 -0
  260. package/src/lib/services/resource-injector/index.ts +1 -0
  261. package/src/lib/tokens/use-default-css/index.ts +1 -0
  262. package/src/login/classes/component-reference/index.ts +1 -0
  263. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +1 -1
  264. package/src/login/components/add-remove-buttons-multi-valued-attribute/index.ts +1 -0
  265. package/src/login/components/field-errors/index.ts +1 -0
  266. package/src/login/components/group-label/group-label.component.ts +1 -1
  267. package/src/login/components/group-label/index.ts +1 -0
  268. package/src/login/components/input-field-by-type/index.ts +1 -0
  269. package/src/login/components/input-tag/index.ts +1 -0
  270. package/src/login/components/input-tag/input-tag.component.ts +1 -1
  271. package/src/login/components/input-tag-selects/index.ts +1 -0
  272. package/src/login/components/input-tag-selects/input-tag-selects.component.ts +1 -1
  273. package/src/login/components/logout-other-sessions/index.ts +1 -0
  274. package/src/login/components/logout-other-sessions/logout-other-sessions.component.ts +1 -1
  275. package/src/login/components/password-wrapper/index.ts +1 -0
  276. package/src/login/components/password-wrapper/password-wrapper.component.ts +1 -1
  277. package/src/login/components/select-tag/index.ts +1 -0
  278. package/src/login/components/select-tag/select-tag.component.ts +1 -1
  279. package/src/login/components/textarea-tag/index.ts +1 -0
  280. package/src/login/components/user-profile-form-fields/index.ts +1 -0
  281. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +2 -2
  282. package/src/login/containers/template/index.ts +1 -0
  283. package/src/login/containers/template/template.component.ts +2 -8
  284. package/src/login/{getDefaultPageComponent.ts → defaultPage.ts} +1 -1
  285. package/src/login/directives/kc-class/index.ts +1 -0
  286. package/src/login/index.ts +1 -0
  287. package/src/login/login.ts +14 -0
  288. package/src/login/pages/code/code.component.ts +4 -5
  289. package/src/login/pages/code/index.ts +1 -0
  290. package/src/login/pages/delete-account-confirm/delete-account-confirm.component.ts +3 -3
  291. package/src/login/pages/delete-account-confirm/index.ts +1 -0
  292. package/src/login/pages/delete-credential/delete-credential.component.ts +4 -5
  293. package/src/login/pages/delete-credential/index.ts +1 -0
  294. package/src/login/pages/error/error.component.ts +4 -5
  295. package/src/login/pages/error/index.ts +1 -0
  296. package/src/login/pages/frontchannel-logout/frontchannel-logout.component.ts +4 -5
  297. package/src/login/pages/frontchannel-logout/index.ts +1 -0
  298. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.html +1 -1
  299. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +4 -6
  300. package/src/login/pages/idp-review-user-profile/index.ts +1 -0
  301. package/src/login/pages/info/index.ts +1 -0
  302. package/src/login/pages/info/info.component.ts +4 -5
  303. package/src/login/pages/login/index.ts +1 -0
  304. package/src/login/pages/login/login.component.ts +4 -5
  305. package/src/login/pages/login-config-totp/index.ts +1 -0
  306. package/src/login/pages/login-config-totp/login-config-totp.component.ts +4 -5
  307. package/src/login/pages/login-idp-link-confirm/index.ts +1 -0
  308. package/src/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.ts +4 -5
  309. package/src/login/pages/login-idp-link-confirm-override/index.ts +1 -0
  310. package/src/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.ts +4 -5
  311. package/src/login/pages/login-idp-link-email/index.ts +1 -0
  312. package/src/login/pages/login-idp-link-email/login-idp-link-email.component.ts +4 -5
  313. package/src/login/pages/login-oauth-grant/index.ts +1 -0
  314. package/src/login/pages/login-oauth-grant/login-oauth-grant.component.ts +4 -5
  315. package/src/login/pages/login-oauth2-device-verify-user-code/index.ts +1 -0
  316. package/src/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.ts +4 -5
  317. package/src/login/pages/login-otp/index.ts +1 -0
  318. package/src/login/pages/login-otp/login-otp.component.ts +4 -5
  319. package/src/login/pages/login-page-expired/index.ts +1 -0
  320. package/src/login/pages/login-page-expired/login-page-expired.component.ts +4 -5
  321. package/src/login/pages/login-passkeys-conditional-authenticate/index.ts +1 -0
  322. package/src/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.ts +4 -5
  323. package/src/login/pages/login-password/index.ts +1 -0
  324. package/src/login/pages/login-password/login-password.component.ts +4 -5
  325. package/src/login/pages/login-recovery-authn-code-config/index.ts +1 -0
  326. package/src/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.ts +4 -5
  327. package/src/login/pages/login-recovery-authn-code-input/index.ts +1 -0
  328. package/src/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.ts +4 -5
  329. package/src/login/pages/login-reset-otp/index.ts +1 -0
  330. package/src/login/pages/login-reset-otp/login-reset-otp.component.ts +4 -5
  331. package/src/login/pages/login-reset-password/index.ts +1 -0
  332. package/src/login/pages/login-reset-password/login-reset-password.component.ts +4 -5
  333. package/src/login/pages/login-update-password/index.ts +1 -0
  334. package/src/login/pages/login-update-password/login-update-password.component.ts +4 -5
  335. package/src/login/pages/login-update-profile/index.ts +1 -0
  336. package/src/login/pages/login-update-profile/login-update-profile.component.html +1 -1
  337. package/src/login/pages/login-update-profile/login-update-profile.component.ts +4 -6
  338. package/src/login/pages/login-username/index.ts +1 -0
  339. package/src/login/pages/login-username/login-username.component.ts +4 -5
  340. package/src/login/pages/login-verify-email/index.ts +1 -0
  341. package/src/login/pages/login-verify-email/login-verify-email.component.ts +4 -5
  342. package/src/login/pages/login-x509-info/index.ts +1 -0
  343. package/src/login/pages/login-x509-info/login-x509-info.component.ts +4 -5
  344. package/src/login/pages/logout-confirm/index.ts +1 -0
  345. package/src/login/pages/logout-confirm/logout-confirm.component.ts +4 -5
  346. package/src/login/pages/register/index.ts +1 -0
  347. package/src/login/pages/register/register.component.html +1 -1
  348. package/src/login/pages/register/register.component.ts +4 -6
  349. package/src/login/pages/saml-post-form/index.ts +1 -0
  350. package/src/login/pages/saml-post-form/saml-post-form.component.ts +4 -5
  351. package/src/login/pages/select-authenticator/index.ts +1 -0
  352. package/src/login/pages/select-authenticator/select-authenticator.component.ts +4 -5
  353. package/src/login/pages/terms/index.ts +1 -0
  354. package/src/login/pages/terms/terms.component.ts +4 -5
  355. package/src/login/pages/update-email/index.ts +1 -0
  356. package/src/login/pages/update-email/update-email.component.html +1 -1
  357. package/src/login/pages/update-email/update-email.component.ts +4 -6
  358. package/src/login/pages/webauthn-authenticate/index.ts +1 -0
  359. package/src/login/pages/webauthn-authenticate/webauthn-authenticate.component.ts +4 -5
  360. package/src/login/pages/webauthn-error/index.ts +1 -0
  361. package/src/login/pages/webauthn-error/webauthn-error.component.ts +4 -5
  362. package/src/login/pages/webauthn-register/index.ts +1 -0
  363. package/src/login/pages/webauthn-register/webauthn-register.component.ts +4 -5
  364. package/src/login/providers/keycloakify-angular/index.ts +1 -0
  365. package/src/login/providers/keycloakify-angular/keycloakify-angular.providers.ts +2 -2
  366. package/src/login/services/i18n/index.ts +1 -0
  367. package/src/login/services/login-resource-injector/index.ts +1 -0
  368. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +1 -1
  369. package/src/login/services/submit/index.ts +1 -0
  370. package/src/login/services/user-profile-form/index.ts +1 -0
  371. package/src/login/services/user-profile-form/user-profile-form.service.ts +2 -2
  372. package/src/login/tokens/classes/index.ts +1 -0
  373. package/src/login/tokens/i18n/index.ts +1 -0
  374. package/src/login/tokens/kc-context/index.ts +1 -0
  375. package/src/login/tokens/kc-context/kc-context.token.ts +1 -1
  376. package/src/login/tokens/make-user-confirm-password/index.ts +1 -0
  377. package/esm2022/login/getDefaultPageComponent/getDefaultPageComponent.mjs +0 -77
  378. package/esm2022/login/getDefaultPageComponent/keycloakify-angular-login-getDefaultPageComponent.mjs +0 -5
  379. package/esm2022/login/getDefaultPageComponent/public-api.mjs +0 -2
  380. package/fesm2022/keycloakify-angular-login-getDefaultPageComponent.mjs.map +0 -1
  381. package/login/getDefaultPageComponent/public-api.d.ts +0 -1
  382. /package/login/{getDefaultPageComponent/getDefaultPageComponent.d.ts → defaultPage.d.ts} +0 -0
  383. /package/{stories → src/stories}/login/pages/login/login.stories.ts +0 -0
package/bin/main.js CHANGED
@@ -1,12 +1,145 @@
1
1
  #!/usr/bin/env node
2
2
  /******/ (() => { // webpackBootstrap
3
3
  /******/ "use strict";
4
- /******/ /* webpack/runtime/compat */
5
- /******/
6
- /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
7
- /******/
8
- /************************************************************************/
9
- var __webpack_exports__ = {};
4
+ /******/ var __webpack_modules__ = ({
5
+
6
+ /***/ 316:
7
+ /***/ ((__unused_webpack_module, __webpack_exports__, __nccwpck_require__) => {
8
+
9
+ /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
10
+ /* harmony export */ Hp: () => (/* binding */ ACCOUNT_THEME_PAGE_IDS),
11
+ /* harmony export */ hz: () => (/* binding */ LOGIN_THEME_PAGE_IDS),
12
+ /* harmony export */ qA: () => (/* binding */ THEME_TYPES),
13
+ /* harmony export */ yp: () => (/* binding */ CUSTOM_HANDLER_ENV_NAMES)
14
+ /* harmony export */ });
15
+ /* unused harmony exports WELL_KNOWN_DIRECTORY_BASE_NAME, VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES, BUILD_FOR_KEYCLOAK_MAJOR_VERSION_ENV_NAME, CONTAINER_NAME, FALLBACK_LANGUAGE_TAG */
16
+ const WELL_KNOWN_DIRECTORY_BASE_NAME = {
17
+ KEYCLOAKIFY_DEV_RESOURCES: "keycloakify-dev-resources",
18
+ RESOURCES_COMMON: "resources-common",
19
+ DIST: "dist"
20
+ };
21
+ const THEME_TYPES = ["login", "account"];
22
+ const VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES = {
23
+ RUN_POST_BUILD_SCRIPT: "KEYCLOAKIFY_RUN_POST_BUILD_SCRIPT",
24
+ RESOLVE_VITE_CONFIG: "KEYCLOAKIFY_RESOLVE_VITE_CONFIG"
25
+ };
26
+ const BUILD_FOR_KEYCLOAK_MAJOR_VERSION_ENV_NAME = "KEYCLOAKIFY_BUILD_FOR_KEYCLOAK_MAJOR_VERSION";
27
+ const LOGIN_THEME_PAGE_IDS = [
28
+ "login.ftl",
29
+ "login-username.ftl",
30
+ "login-password.ftl",
31
+ "webauthn-authenticate.ftl",
32
+ "webauthn-register.ftl",
33
+ "register.ftl",
34
+ "info.ftl",
35
+ "error.ftl",
36
+ "login-reset-password.ftl",
37
+ "login-verify-email.ftl",
38
+ "terms.ftl",
39
+ "login-oauth2-device-verify-user-code.ftl",
40
+ "login-oauth-grant.ftl",
41
+ "login-otp.ftl",
42
+ "login-update-profile.ftl",
43
+ "login-update-password.ftl",
44
+ "login-idp-link-confirm.ftl",
45
+ "login-idp-link-email.ftl",
46
+ "login-page-expired.ftl",
47
+ "login-config-totp.ftl",
48
+ "logout-confirm.ftl",
49
+ "idp-review-user-profile.ftl",
50
+ "update-email.ftl",
51
+ "select-authenticator.ftl",
52
+ "saml-post-form.ftl",
53
+ "delete-credential.ftl",
54
+ "code.ftl",
55
+ "delete-account-confirm.ftl",
56
+ "frontchannel-logout.ftl",
57
+ "login-recovery-authn-code-config.ftl",
58
+ "login-recovery-authn-code-input.ftl",
59
+ "login-reset-otp.ftl",
60
+ "login-x509-info.ftl",
61
+ "webauthn-error.ftl",
62
+ "login-passkeys-conditional-authenticate.ftl",
63
+ "login-idp-link-confirm-override.ftl"
64
+ ];
65
+ const ACCOUNT_THEME_PAGE_IDS = [
66
+ "password.ftl",
67
+ "account.ftl",
68
+ "sessions.ftl",
69
+ "totp.ftl",
70
+ "applications.ftl",
71
+ "log.ftl",
72
+ "federatedIdentity.ftl"
73
+ ];
74
+ const CONTAINER_NAME = "keycloak-keycloakify";
75
+ const FALLBACK_LANGUAGE_TAG = "en";
76
+ const CUSTOM_HANDLER_ENV_NAMES = {
77
+ COMMAND_NAME: "KEYCLOAKIFY_COMMAND_NAME",
78
+ BUILD_CONTEXT: "KEYCLOAKIFY_BUILD_CONTEXT"
79
+ };
80
+ //# sourceMappingURL=constants.js.map
81
+
82
+ /***/ }),
83
+
84
+ /***/ 317:
85
+ /***/ ((module) => {
86
+
87
+ module.exports = require("child_process");
88
+
89
+ /***/ }),
90
+
91
+ /***/ 896:
92
+ /***/ ((module) => {
93
+
94
+ module.exports = require("fs");
95
+
96
+ /***/ }),
97
+
98
+ /***/ 161:
99
+ /***/ ((module) => {
100
+
101
+ module.exports = require("node:os");
102
+
103
+ /***/ }),
104
+
105
+ /***/ 708:
106
+ /***/ ((module) => {
107
+
108
+ module.exports = require("node:process");
109
+
110
+ /***/ }),
111
+
112
+ /***/ 66:
113
+ /***/ ((module) => {
114
+
115
+ module.exports = require("node:tty");
116
+
117
+ /***/ }),
118
+
119
+ /***/ 928:
120
+ /***/ ((module) => {
121
+
122
+ module.exports = require("path");
123
+
124
+ /***/ }),
125
+
126
+ /***/ 785:
127
+ /***/ ((module) => {
128
+
129
+ module.exports = require("readline");
130
+
131
+ /***/ }),
132
+
133
+ /***/ 249:
134
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
135
+
136
+
137
+ // EXPORTS
138
+ __nccwpck_require__.d(__webpack_exports__, {
139
+ v: () => (/* binding */ assert)
140
+ });
141
+
142
+ // UNUSED EXPORTS: AssertionError
10
143
 
11
144
  ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/lab/overwriteReadonlyProp.mjs
12
145
  /* eslint-disable no-empty */
@@ -49,18 +182,13 @@ const overwriteReadonlyProp = (obj, propertyName, value) => {
49
182
 
50
183
  //# sourceMappingURL=overwriteReadonlyProp.mjs.map
51
184
 
52
- ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/id.mjs
53
- /** https://docs.tsafe.dev/id */
54
- const id = (x) => x;
55
-
56
-
57
- //# sourceMappingURL=id.mjs.map
58
-
185
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/id.mjs
186
+ var id = __nccwpck_require__(94);
59
187
  ;// CONCATENATED MODULE: ./node_modules/tsafe/esm/zz_internal/assertIsRefWrapper.mjs
60
188
 
61
189
 
62
190
  const assertIsRefWrapper = {
63
- "ref": id(undefined),
191
+ "ref": (0,id.id)(undefined),
64
192
  };
65
193
 
66
194
 
@@ -107,72 +235,164 @@ function assert(condition, msg) {
107
235
 
108
236
  //# sourceMappingURL=assert.mjs.map
109
237
 
110
- ;// CONCATENATED MODULE: ./node_modules/keycloakify/bin/shared/constants.js
111
- const WELL_KNOWN_DIRECTORY_BASE_NAME = {
112
- KEYCLOAKIFY_DEV_RESOURCES: "keycloakify-dev-resources",
113
- RESOURCES_COMMON: "resources-common",
114
- DIST: "dist"
115
- };
116
- const THEME_TYPES = (/* unused pure expression or super */ null && (["login", "account"]));
117
- const VITE_PLUGIN_SUB_SCRIPTS_ENV_NAMES = {
118
- RUN_POST_BUILD_SCRIPT: "KEYCLOAKIFY_RUN_POST_BUILD_SCRIPT",
119
- RESOLVE_VITE_CONFIG: "KEYCLOAKIFY_RESOLVE_VITE_CONFIG"
120
- };
121
- const BUILD_FOR_KEYCLOAK_MAJOR_VERSION_ENV_NAME = "KEYCLOAKIFY_BUILD_FOR_KEYCLOAK_MAJOR_VERSION";
122
- const LOGIN_THEME_PAGE_IDS = (/* unused pure expression or super */ null && ([
123
- "login.ftl",
124
- "login-username.ftl",
125
- "login-password.ftl",
126
- "webauthn-authenticate.ftl",
127
- "webauthn-register.ftl",
128
- "register.ftl",
129
- "info.ftl",
130
- "error.ftl",
131
- "login-reset-password.ftl",
132
- "login-verify-email.ftl",
133
- "terms.ftl",
134
- "login-oauth2-device-verify-user-code.ftl",
135
- "login-oauth-grant.ftl",
136
- "login-otp.ftl",
137
- "login-update-profile.ftl",
138
- "login-update-password.ftl",
139
- "login-idp-link-confirm.ftl",
140
- "login-idp-link-email.ftl",
141
- "login-page-expired.ftl",
142
- "login-config-totp.ftl",
143
- "logout-confirm.ftl",
144
- "idp-review-user-profile.ftl",
145
- "update-email.ftl",
146
- "select-authenticator.ftl",
147
- "saml-post-form.ftl",
148
- "delete-credential.ftl",
149
- "code.ftl",
150
- "delete-account-confirm.ftl",
151
- "frontchannel-logout.ftl",
152
- "login-recovery-authn-code-config.ftl",
153
- "login-recovery-authn-code-input.ftl",
154
- "login-reset-otp.ftl",
155
- "login-x509-info.ftl",
156
- "webauthn-error.ftl",
157
- "login-passkeys-conditional-authenticate.ftl",
158
- "login-idp-link-confirm-override.ftl"
159
- ]));
160
- const ACCOUNT_THEME_PAGE_IDS = (/* unused pure expression or super */ null && ([
161
- "password.ftl",
162
- "account.ftl",
163
- "sessions.ftl",
164
- "totp.ftl",
165
- "applications.ftl",
166
- "log.ftl",
167
- "federatedIdentity.ftl"
168
- ]));
169
- const CONTAINER_NAME = "keycloak-keycloakify";
170
- const FALLBACK_LANGUAGE_TAG = "en";
171
- const CUSTOM_HANDLER_ENV_NAMES = {
172
- COMMAND_NAME: "KEYCLOAKIFY_COMMAND_NAME",
173
- BUILD_CONTEXT: "KEYCLOAKIFY_BUILD_CONTEXT"
174
- };
175
- //# sourceMappingURL=constants.js.map
238
+
239
+ /***/ }),
240
+
241
+ /***/ 94:
242
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __nccwpck_require__) => {
243
+
244
+ /* harmony export */ __nccwpck_require__.d(__webpack_exports__, {
245
+ /* harmony export */ id: () => (/* binding */ id)
246
+ /* harmony export */ });
247
+ /** https://docs.tsafe.dev/id */
248
+ const id = (x) => x;
249
+
250
+
251
+ //# sourceMappingURL=id.mjs.map
252
+
253
+
254
+ /***/ })
255
+
256
+ /******/ });
257
+ /************************************************************************/
258
+ /******/ // The module cache
259
+ /******/ var __webpack_module_cache__ = {};
260
+ /******/
261
+ /******/ // The require function
262
+ /******/ function __nccwpck_require__(moduleId) {
263
+ /******/ // Check if module is in cache
264
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
265
+ /******/ if (cachedModule !== undefined) {
266
+ /******/ return cachedModule.exports;
267
+ /******/ }
268
+ /******/ // Create a new module (and put it into the cache)
269
+ /******/ var module = __webpack_module_cache__[moduleId] = {
270
+ /******/ // no module.id needed
271
+ /******/ // no module.loaded needed
272
+ /******/ exports: {}
273
+ /******/ };
274
+ /******/
275
+ /******/ // Execute the module function
276
+ /******/ var threw = true;
277
+ /******/ try {
278
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nccwpck_require__);
279
+ /******/ threw = false;
280
+ /******/ } finally {
281
+ /******/ if(threw) delete __webpack_module_cache__[moduleId];
282
+ /******/ }
283
+ /******/
284
+ /******/ // Return the exports of the module
285
+ /******/ return module.exports;
286
+ /******/ }
287
+ /******/
288
+ /******/ // expose the modules object (__webpack_modules__)
289
+ /******/ __nccwpck_require__.m = __webpack_modules__;
290
+ /******/
291
+ /************************************************************************/
292
+ /******/ /* webpack/runtime/compat get default export */
293
+ /******/ (() => {
294
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
295
+ /******/ __nccwpck_require__.n = (module) => {
296
+ /******/ var getter = module && module.__esModule ?
297
+ /******/ () => (module['default']) :
298
+ /******/ () => (module);
299
+ /******/ __nccwpck_require__.d(getter, { a: getter });
300
+ /******/ return getter;
301
+ /******/ };
302
+ /******/ })();
303
+ /******/
304
+ /******/ /* webpack/runtime/define property getters */
305
+ /******/ (() => {
306
+ /******/ // define getter functions for harmony exports
307
+ /******/ __nccwpck_require__.d = (exports, definition) => {
308
+ /******/ for(var key in definition) {
309
+ /******/ if(__nccwpck_require__.o(definition, key) && !__nccwpck_require__.o(exports, key)) {
310
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
311
+ /******/ }
312
+ /******/ }
313
+ /******/ };
314
+ /******/ })();
315
+ /******/
316
+ /******/ /* webpack/runtime/ensure chunk */
317
+ /******/ (() => {
318
+ /******/ __nccwpck_require__.f = {};
319
+ /******/ // This file contains only the entry chunk.
320
+ /******/ // The chunk loading function for additional chunks
321
+ /******/ __nccwpck_require__.e = (chunkId) => {
322
+ /******/ return Promise.all(Object.keys(__nccwpck_require__.f).reduce((promises, key) => {
323
+ /******/ __nccwpck_require__.f[key](chunkId, promises);
324
+ /******/ return promises;
325
+ /******/ }, []));
326
+ /******/ };
327
+ /******/ })();
328
+ /******/
329
+ /******/ /* webpack/runtime/get javascript chunk filename */
330
+ /******/ (() => {
331
+ /******/ // This function allow to reference async chunks
332
+ /******/ __nccwpck_require__.u = (chunkId) => {
333
+ /******/ // return url for filenames based on template
334
+ /******/ return "" + chunkId + ".index.js";
335
+ /******/ };
336
+ /******/ })();
337
+ /******/
338
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
339
+ /******/ (() => {
340
+ /******/ __nccwpck_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
341
+ /******/ })();
342
+ /******/
343
+ /******/ /* webpack/runtime/compat */
344
+ /******/
345
+ /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
346
+ /******/
347
+ /******/ /* webpack/runtime/require chunk loading */
348
+ /******/ (() => {
349
+ /******/ // no baseURI
350
+ /******/
351
+ /******/ // object to store loaded chunks
352
+ /******/ // "1" means "loaded", otherwise not loaded yet
353
+ /******/ var installedChunks = {
354
+ /******/ 792: 1
355
+ /******/ };
356
+ /******/
357
+ /******/ // no on chunks loaded
358
+ /******/
359
+ /******/ var installChunk = (chunk) => {
360
+ /******/ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
361
+ /******/ for(var moduleId in moreModules) {
362
+ /******/ if(__nccwpck_require__.o(moreModules, moduleId)) {
363
+ /******/ __nccwpck_require__.m[moduleId] = moreModules[moduleId];
364
+ /******/ }
365
+ /******/ }
366
+ /******/ if(runtime) runtime(__nccwpck_require__);
367
+ /******/ for(var i = 0; i < chunkIds.length; i++)
368
+ /******/ installedChunks[chunkIds[i]] = 1;
369
+ /******/
370
+ /******/ };
371
+ /******/
372
+ /******/ // require() chunk loading for javascript
373
+ /******/ __nccwpck_require__.f.require = (chunkId, promises) => {
374
+ /******/ // "1" is the signal for "already loaded"
375
+ /******/ if(!installedChunks[chunkId]) {
376
+ /******/ if(true) { // all chunks have JS
377
+ /******/ installChunk(require("./" + __nccwpck_require__.u(chunkId)));
378
+ /******/ } else installedChunks[chunkId] = 1;
379
+ /******/ }
380
+ /******/ };
381
+ /******/
382
+ /******/ // no external install chunk
383
+ /******/
384
+ /******/ // no HMR
385
+ /******/
386
+ /******/ // no HMR manifest
387
+ /******/ })();
388
+ /******/
389
+ /************************************************************************/
390
+ var __webpack_exports__ = {};
391
+
392
+ // EXTERNAL MODULE: ./node_modules/tsafe/esm/assert.mjs + 2 modules
393
+ var assert = __nccwpck_require__(249);
394
+ // EXTERNAL MODULE: ./node_modules/keycloakify/bin/shared/constants.js
395
+ var constants = __nccwpck_require__(316);
176
396
  ;// CONCATENATED MODULE: ./node_modules/keycloakify/bin/shared/customHandler.js
177
397
 
178
398
 
@@ -180,15 +400,15 @@ const BIN_NAME = "_keycloakify-custom-handler";
180
400
  const NOT_IMPLEMENTED_EXIT_CODE = 78;
181
401
  function readParams(params) {
182
402
  const { apiVersion } = params;
183
- assert(apiVersion === "v1");
403
+ (0,assert/* assert */.v)(apiVersion === "v1");
184
404
  const commandName = (() => {
185
- const envValue = process.env[CUSTOM_HANDLER_ENV_NAMES.COMMAND_NAME];
186
- assert(envValue !== undefined);
405
+ const envValue = process.env[constants/* CUSTOM_HANDLER_ENV_NAMES */.yp.COMMAND_NAME];
406
+ (0,assert/* assert */.v)(envValue !== undefined);
187
407
  return envValue;
188
408
  })();
189
409
  const buildContext = (() => {
190
- const envValue = process.env[CUSTOM_HANDLER_ENV_NAMES.BUILD_CONTEXT];
191
- assert(envValue !== undefined);
410
+ const envValue = process.env[constants/* CUSTOM_HANDLER_ENV_NAMES */.yp.BUILD_CONTEXT];
411
+ (0,assert/* assert */.v)(envValue !== undefined);
192
412
  return JSON.parse(envValue);
193
413
  })();
194
414
  return { commandName, buildContext };
@@ -197,27 +417,36 @@ function readParams(params) {
197
417
  ;// CONCATENATED MODULE: ./dist/bin/main.js
198
418
 
199
419
  const { buildContext, commandName } = readParams({ apiVersion: 'v1' });
200
- console.log(`Running ${commandName} from @keycloakify/angular...`);
201
- console.log(buildContext);
202
- switch (commandName) {
203
- case 'add-story':
204
- {
205
- process.exit(NOT_IMPLEMENTED_EXIT_CODE);
206
- }
207
- break;
208
- case 'eject-page':
209
- {
210
- process.exit(NOT_IMPLEMENTED_EXIT_CODE);
211
- }
212
- break;
213
- case 'update-kc-gen':
214
- {
420
+ (async () => {
421
+ switch (commandName) {
422
+ case 'add-story':
423
+ {
424
+ console.log("Not yet supported by @keycloakify/angular, we're working on it!");
425
+ process.exit(-1);
426
+ }
427
+ return;
428
+ case 'eject-page':
429
+ {
430
+ const { command } = await __nccwpck_require__.e(/* import() */ 925).then(__nccwpck_require__.bind(__nccwpck_require__, 925));
431
+ command({ buildContext });
432
+ }
433
+ return;
434
+ case 'update-kc-gen':
435
+ {
436
+ const { command } = await __nccwpck_require__.e(/* import() */ 758).then(__nccwpck_require__.bind(__nccwpck_require__, 758));
437
+ command({ buildContext });
438
+ }
439
+ return;
440
+ case 'initialize-account-theme':
441
+ {
442
+ const { command } = await Promise.all(/* import() */[__nccwpck_require__.e(755), __nccwpck_require__.e(338)]).then(__nccwpck_require__.bind(__nccwpck_require__, 338));
443
+ command({ buildContext });
444
+ }
445
+ return;
446
+ default:
215
447
  process.exit(NOT_IMPLEMENTED_EXIT_CODE);
216
- }
217
- break;
218
- default:
219
- process.exit(NOT_IMPLEMENTED_EXIT_CODE);
220
- }
448
+ }
449
+ })();
221
450
 
222
451
  module.exports = __webpack_exports__;
223
452
  /******/ })()
@@ -0,0 +1,3 @@
1
+ export { i18nBuilder } from 'keycloakify/account/i18n/noJsx';
2
+ export { getDefaultPageComponent } from './defaultPage';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hY2NvdW50L2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc0tleSB9IGZyb20gJ2tleWNsb2FraWZ5L2FjY291bnQnO1xuXG5leHBvcnQgeyBpMThuQnVpbGRlciB9IGZyb20gJ2tleWNsb2FraWZ5L2FjY291bnQvaTE4bi9ub0pzeCc7XG5cbmV4cG9ydCB7IGdldERlZmF1bHRQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9kZWZhdWx0UGFnZSc7XG5cbmV4cG9ydCB0eXBlIEtjUGFnZSA9IHtcbiAgICBQYWdlQ29tcG9uZW50OiBUeXBlPHVua25vd24+O1xuICAgIFRlbXBsYXRlQ29tcG9uZW50OiBUeXBlPHVua25vd24+O1xuICAgIGRvVXNlRGVmYXVsdENzczogYm9vbGVhbjtcbiAgICBjbGFzc2VzOiB7IFtrZXkgaW4gQ2xhc3NLZXldPzogc3RyaW5nIH07XG59O1xuIl19
@@ -0,0 +1,26 @@
1
+ export function getDefaultPageComponent(pageId) {
2
+ switch (pageId) {
3
+ case 'password.ftl':
4
+ return import('@keycloakify/angular/account/pages/password').then(c => c.PasswordComponent);
5
+ break;
6
+ case 'account.ftl':
7
+ return import('@keycloakify/angular/account/pages/account').then(c => c.AccountComponent);
8
+ break;
9
+ case 'sessions.ftl':
10
+ return import('@keycloakify/angular/account/pages/sessions').then(c => c.SessionsComponent);
11
+ break;
12
+ case 'totp.ftl':
13
+ return import('@keycloakify/angular/account/pages/totp').then(c => c.TotpComponent);
14
+ break;
15
+ case 'applications.ftl':
16
+ return import('@keycloakify/angular/account/pages/applications').then(c => c.ApplicationsComponent);
17
+ break;
18
+ case 'log.ftl':
19
+ return import('@keycloakify/angular/account/pages/log').then(c => c.LogComponent);
20
+ break;
21
+ case 'federatedIdentity.ftl':
22
+ return import('@keycloakify/angular/account/pages/federatedIdentity').then(c => c.FederatedIdentityComponent);
23
+ break;
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWNjb3VudC9kZWZhdWx0UGFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUsdUJBQXVCLENBQ25DLE1BQTJCO0lBRTNCLFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDYixLQUFLLGNBQWM7WUFDZixPQUFPLE1BQU0sQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDLElBQUksQ0FDN0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQzNCLENBQUM7WUFDRixNQUFNO1FBQ1YsS0FBSyxhQUFhO1lBQ2QsT0FBTyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQzVELENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUMxQixDQUFDO1lBQ0YsTUFBTTtRQUNWLEtBQUssY0FBYztZQUNmLE9BQU8sTUFBTSxDQUFDLDZDQUE2QyxDQUFDLENBQUMsSUFBSSxDQUM3RCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FDM0IsQ0FBQztZQUNGLE1BQU07UUFDVixLQUFLLFVBQVU7WUFDWCxPQUFPLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLElBQUksQ0FDekQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUN2QixDQUFDO1lBQ0YsTUFBTTtRQUNWLEtBQUssa0JBQWtCO1lBQ25CLE9BQU8sTUFBTSxDQUFDLGlEQUFpRCxDQUFDLENBQUMsSUFBSSxDQUNqRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FDL0IsQ0FBQztZQUNGLE1BQU07UUFDVixLQUFLLFNBQVM7WUFDVixPQUFPLE1BQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDLElBQUksQ0FDeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUN0QixDQUFDO1lBQ0YsTUFBTTtRQUNWLEtBQUssdUJBQXVCO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLHNEQUFzRCxDQUFDLENBQUMsSUFBSSxDQUN0RSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FDcEMsQ0FBQztZQUNGLE1BQU07SUFDZCxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L0tjQ29udGV4dCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UGFnZUNvbXBvbmVudChcbiAgICBwYWdlSWQ6IEtjQ29udGV4dFsncGFnZUlkJ11cbik6IFByb21pc2U8VHlwZTx1bmtub3duPj4ge1xuICAgIHN3aXRjaCAocGFnZUlkKSB7XG4gICAgICAgIGNhc2UgJ3Bhc3N3b3JkLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L3BhZ2VzL3Bhc3N3b3JkJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuUGFzc3dvcmRDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYWNjb3VudC5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC9wYWdlcy9hY2NvdW50JykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuQWNjb3VudENvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzZXNzaW9ucy5mdGwnOlxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydCgnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC9wYWdlcy9zZXNzaW9ucycpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLlNlc3Npb25zQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RvdHAuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvcGFnZXMvdG90cCcpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLlRvdHBDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYXBwbGljYXRpb25zLmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L3BhZ2VzL2FwcGxpY2F0aW9ucycpLnRoZW4oXG4gICAgICAgICAgICAgICAgYyA9PiBjLkFwcGxpY2F0aW9uc0NvbXBvbmVudFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsb2cuZnRsJzpcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvcGFnZXMvbG9nJykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuTG9nQ29tcG9uZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2ZlZGVyYXRlZElkZW50aXR5LmZ0bCc6XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KCdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L3BhZ2VzL2ZlZGVyYXRlZElkZW50aXR5JykudGhlbihcbiAgICAgICAgICAgICAgICBjID0+IGMuRmVkZXJhdGVkSWRlbnRpdHlDb21wb25lbnRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWtpZnktYW5ndWxhci1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FjY291bnQva2V5Y2xvYWtpZnktYW5ndWxhci1hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,7 +1,6 @@
1
1
  import { NgClass } from '@angular/common';
2
2
  import { Component, forwardRef, inject } from '@angular/core';
3
3
  import { ComponentReference } from '@keycloakify/angular/account/classes/component-reference';
4
- import { TemplateComponent } from '@keycloakify/angular/account/containers/template';
5
4
  import { KcClassDirective } from '@keycloakify/angular/account/directives/kc-class';
6
5
  import { ACCOUNT_CLASSES } from '@keycloakify/angular/account/tokens/classes';
7
6
  import { ACCOUNT_I18N } from '@keycloakify/angular/account/tokens/i18n';
@@ -30,11 +29,11 @@ export class AccountComponent extends ComponentReference {
30
29
  }
31
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AccountComponent, decorators: [{
32
31
  type: Component,
33
- args: [{ standalone: true, imports: [KcClassDirective, TemplateComponent, NgClass], selector: 'kc-account', providers: [
32
+ args: [{ standalone: true, imports: [KcClassDirective, NgClass], selector: 'kc-account', providers: [
34
33
  {
35
34
  provide: ComponentReference,
36
35
  useExisting: forwardRef(() => AccountComponent)
37
36
  }
38
37
  ], template: "@let url = kcContext.url;\n@let realm = kcContext.realm;\n@let messagesPerField = kcContext.messagesPerField;\n@let stateChecker = kcContext.stateChecker;\n@let account = kcContext.account;\n@let referrer = kcContext.referrer;\n\n<div class=\"row\">\n <div class=\"col-md-10\">\n <h2>{{ i18n.msgStr('editAccountHtmlTitle') }}</h2>\n </div>\n <div class=\"col-md-2 subtitle\">\n <span class=\"subtitle\"> <span class=\"required\">*</span> {{ i18n.msgStr('requiredFields') }} </span>\n </div>\n</div>\n<form\n class=\"form-horizontal\"\n method=\"post\"\n [action]=\"url.accountUrl\"\n>\n <input\n type=\"hidden\"\n id=\"stateChecker\"\n name=\"stateChecker\"\n [value]=\"stateChecker\"\n />\n @if (!realm.registrationEmailAsUsername) {\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('username') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"username\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('username') }}\n </label>\n @if (realm.editUsernameAllowed) {\n <span class=\"required\">*</span>\n }\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"username\"\n name=\"username\"\n [disabled]=\"!realm.editUsernameAllowed\"\n [defaultValue]=\"account.username ?? ''\"\n />\n </div>\n </div>\n }\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('email') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"email\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('email') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"email\"\n name=\"email\"\n autoFocus\n [defaultValue]=\"account.email ?? ''\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('firstName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"firstName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('firstName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"firstName\"\n name=\"firstName\"\n [defaultValue]=\"account.firstName\"\n />\n </div>\n </div>\n\n <div\n class=\"form-group\"\n [ngClass]=\"{ 'has-error': messagesPerField.existsError('lastName') }\"\n >\n <div class=\"col-sm-2 col-md-2\">\n <label\n for=\"lastName\"\n class=\"control-label\"\n >\n {{ i18n.msgStr('lastName') }}\n </label>\n <span class=\"required\">*</span>\n </div>\n\n <div class=\"col-sm-10 col-md-10\">\n <input\n type=\"text\"\n class=\"form-control\"\n id=\"lastName\"\n name=\"lastName\"\n [defaultValue]=\"account.lastName ?? ''\"\n />\n </div>\n </div>\n\n <div class=\"form-group\">\n <div\n id=\"kc-form-buttons\"\n class=\"col-md-offset-2 col-md-10 submit\"\n >\n <div>\n @if (referrer) {\n <a [href]=\"referrer?.url\">{{ i18n.msgStr('backToApplication') }}</a>\n }\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Save\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doSave') }}\n </button>\n <button\n type=\"submit\"\n name=\"submitAction\"\n value=\"Cancel\"\n [kcClass]=\"['kcButtonClass', 'kcButtonPrimaryClass', 'kcButtonLargeClass']\"\n >\n {{ i18n.msgStr('doCancel') }}\n </button>\n </div>\n </div>\n </div>\n</form>\n" }]
39
38
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC9wYWdlcy9hY2NvdW50L2FjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQvcGFnZXMvYWNjb3VudC9hY2NvdW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDckYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBZWxGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxrQkFBa0I7SUFaeEQ7O1FBYUksU0FBSSxHQUFHLE1BQU0sQ0FBTyxZQUFZLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsTUFBTSxDQUFnRCxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLHNCQUFpQixHQUFzQztZQUM1RCxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsT0FBTztTQUNuRCxDQUFDO1FBQ0YsV0FBTSxHQUFHLFNBQVMsQ0FBQztLQUN0Qjs4R0FUWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5REFQZDtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDbEQ7U0FDSixpREN2QkwsbTRKQWlLQSw0Q0RsSmMsZ0JBQWdCLCtGQUFxQixPQUFPOzsyRkFVN0MsZ0JBQWdCO2tCQVo1QixTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxZQUM3QyxZQUFZLGFBRVg7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7eUJBQ2xEO3FCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmZXJlbmNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC9jbGFzc2VzL2NvbXBvbmVudC1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L2NvbnRhaW5lcnMvdGVtcGxhdGUnO1xuaW1wb3J0IHsgS2NDbGFzc0RpcmVjdGl2ZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvZGlyZWN0aXZlcy9rYy1jbGFzcyc7XG5pbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L2kxOG4nO1xuaW1wb3J0IHR5cGUgeyBLY0NvbnRleHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L0tjQ29udGV4dCc7XG5pbXBvcnQgeyBBQ0NPVU5UX0NMQVNTRVMgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L3Rva2Vucy9jbGFzc2VzJztcbmltcG9ydCB7IEFDQ09VTlRfSTE4TiB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHsgS0NfQUNDT1VOVF9DT05URVhUIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgeyBVU0VfREVGQVVMVF9DU1MgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvdG9rZW5zL3VzZS1kZWZhdWx0LWNzcyc7XG5pbXBvcnQgdHlwZSB7IENsYXNzS2V5IH0gZnJvbSAna2V5Y2xvYWtpZnkvYWNjb3VudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tjQ2xhc3NEaXJlY3RpdmUsIFRlbXBsYXRlQ29tcG9uZW50LCBOZ0NsYXNzXSxcbiAgICBzZWxlY3RvcjogJ2tjLWFjY291bnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnYWNjb3VudC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IENvbXBvbmVudFJlZmVyZW5jZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjY291bnRDb21wb25lbnQpXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRSZWZlcmVuY2Uge1xuICAgIGkxOG4gPSBpbmplY3Q8STE4bj4oQUNDT1VOVF9JMThOKTtcbiAgICBrY0NvbnRleHQgPSBpbmplY3Q8RXh0cmFjdDxLY0NvbnRleHQsIHsgcGFnZUlkOiAnYWNjb3VudC5mdGwnIH0+PihLQ19BQ0NPVU5UX0NPTlRFWFQpO1xuICAgIG92ZXJyaWRlIGRvVXNlRGVmYXVsdENzcyA9IGluamVjdDxib29sZWFuPihVU0VfREVGQVVMVF9DU1MpO1xuICAgIG92ZXJyaWRlIGNsYXNzZXMgPSBpbmplY3Q8UGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+PihBQ0NPVU5UX0NMQVNTRVMpO1xuICAgIG92ZXJyaWRlIGFkZGl0aW9uYWxDbGFzc2VzOiBQYXJ0aWFsPFJlY29yZDxDbGFzc0tleSwgc3RyaW5nPj4gPSB7XG4gICAgICAgIGtjQm9keUNsYXNzOiBgJHt0aGlzLmNsYXNzZXM/LmtjQm9keUNsYXNzfSB1c2VyYFxuICAgIH07XG4gICAgYWN0aXZlID0gJ2FjY291bnQnO1xufVxuIiwiQGxldCB1cmwgPSBrY0NvbnRleHQudXJsO1xuQGxldCByZWFsbSA9IGtjQ29udGV4dC5yZWFsbTtcbkBsZXQgbWVzc2FnZXNQZXJGaWVsZCA9IGtjQ29udGV4dC5tZXNzYWdlc1BlckZpZWxkO1xuQGxldCBzdGF0ZUNoZWNrZXIgPSBrY0NvbnRleHQuc3RhdGVDaGVja2VyO1xuQGxldCBhY2NvdW50ID0ga2NDb250ZXh0LmFjY291bnQ7XG5AbGV0IHJlZmVycmVyID0ga2NDb250ZXh0LnJlZmVycmVyO1xuXG48ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMFwiPlxuICAgICAgICA8aDI+e3sgaTE4bi5tc2dTdHIoJ2VkaXRBY2NvdW50SHRtbFRpdGxlJykgfX08L2gyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBzdWJ0aXRsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInN1YnRpdGxlXCI+IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPiB7eyBpMThuLm1zZ1N0cigncmVxdWlyZWRGaWVsZHMnKSB9fSA8L3NwYW4+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxmb3JtXG4gICAgY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIlxuICAgIG1ldGhvZD1cInBvc3RcIlxuICAgIFthY3Rpb25dPVwidXJsLmFjY291bnRVcmxcIlxuPlxuICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwiaGlkZGVuXCJcbiAgICAgICAgaWQ9XCJzdGF0ZUNoZWNrZXJcIlxuICAgICAgICBuYW1lPVwic3RhdGVDaGVja2VyXCJcbiAgICAgICAgW3ZhbHVlXT1cInN0YXRlQ2hlY2tlclwiXG4gICAgLz5cbiAgICBAaWYgKCFyZWFsbS5yZWdpc3RyYXRpb25FbWFpbEFzVXNlcm5hbWUpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1lcnJvcic6IG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ3VzZXJuYW1lJykgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMiBjb2wtbWQtMlwiPlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBmb3I9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cigndXNlcm5hbWUnKSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgQGlmIChyZWFsbS5lZGl0VXNlcm5hbWVBbGxvd2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwIGNvbC1tZC0xMFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhcmVhbG0uZWRpdFVzZXJuYW1lQWxsb3dlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwiYWNjb3VudC51c2VybmFtZSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1lcnJvcic6IG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ2VtYWlsJykgfVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTIgY29sLW1kLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdlbWFpbCcpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTAgY29sLW1kLTEwXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJhY2NvdW50LmVtYWlsID8/ICcnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdoYXMtZXJyb3InOiBtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdmaXJzdE5hbWUnKSB9XCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMiBjb2wtbWQtMlwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgZm9yPVwiZmlyc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdmaXJzdE5hbWUnKSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwIGNvbC1tZC0xMFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBpZD1cImZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJhY2NvdW50LmZpcnN0TmFtZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWVycm9yJzogbWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcignbGFzdE5hbWUnKSB9XCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMiBjb2wtbWQtMlwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgZm9yPVwibGFzdE5hbWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2xhc3ROYW1lJykgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMCBjb2wtbWQtMTBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJsYXN0TmFtZVwiXG4gICAgICAgICAgICAgICAgbmFtZT1cImxhc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImFjY291bnQubGFzdE5hbWUgPz8gJydcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBpZD1cImtjLWZvcm0tYnV0dG9uc1wiXG4gICAgICAgICAgICBjbGFzcz1cImNvbC1tZC1vZmZzZXQtMiBjb2wtbWQtMTAgc3VibWl0XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICBAaWYgKHJlZmVycmVyKSB7XG4gICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cInJlZmVycmVyPy51cmxcIj57eyBpMThuLm1zZ1N0cignYmFja1RvQXBwbGljYXRpb24nKSB9fTwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInN1Ym1pdEFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiU2F2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtrY0NsYXNzXT1cIlsna2NCdXR0b25DbGFzcycsICdrY0J1dHRvblByaW1hcnlDbGFzcycsICdrY0J1dHRvbkxhcmdlQ2xhc3MnXVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cignZG9TYXZlJykgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwic3VibWl0QWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJDYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2RvQ2FuY2VsJykgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC9wYWdlcy9hY2NvdW50L2FjY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQvcGFnZXMvYWNjb3VudC9hY2NvdW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFHcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7O0FBZWxGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxrQkFBa0I7SUFaeEQ7O1FBYUksU0FBSSxHQUFHLE1BQU0sQ0FBTyxZQUFZLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsTUFBTSxDQUFnRCxrQkFBa0IsQ0FBQyxDQUFDO1FBQzdFLG9CQUFlLEdBQUcsTUFBTSxDQUFVLGVBQWUsQ0FBQyxDQUFDO1FBQ25ELFlBQU8sR0FBRyxNQUFNLENBQW9DLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLHNCQUFpQixHQUFzQztZQUM1RCxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsT0FBTztTQUNuRCxDQUFDO1FBQ0YsV0FBTSxHQUFHLFNBQVMsQ0FBQztLQUN0Qjs4R0FUWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix5REFQZDtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7YUFDbEQ7U0FDSixpREN0QkwsbTRKQWlLQSw0Q0RuSmMsZ0JBQWdCLCtGQUFFLE9BQU87OzJGQVUxQixnQkFBZ0I7a0JBWjVCLFNBQVM7aUNBQ00sSUFBSSxXQUNQLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLFlBQzFCLFlBQVksYUFFWDt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzt5QkFDbEQ7cUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZlcmVuY2UgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L2NsYXNzZXMvY29tcG9uZW50LXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBLY0NsYXNzRGlyZWN0aXZlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC9kaXJlY3RpdmVzL2tjLWNsYXNzJztcbmltcG9ydCB0eXBlIHsgSTE4biB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvaTE4bic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvS2NDb250ZXh0JztcbmltcG9ydCB7IEFDQ09VTlRfQ0xBU1NFUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2FjY291bnQvdG9rZW5zL2NsYXNzZXMnO1xuaW1wb3J0IHsgQUNDT1VOVF9JMThOIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvYWNjb3VudC90b2tlbnMvaTE4bic7XG5pbXBvcnQgeyBLQ19BQ0NPVU5UX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9hY2NvdW50L3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB7IFVTRV9ERUZBVUxUX0NTUyB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi90b2tlbnMvdXNlLWRlZmF1bHQtY3NzJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NLZXkgfSBmcm9tICdrZXljbG9ha2lmeS9hY2NvdW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS2NDbGFzc0RpcmVjdGl2ZSwgTmdDbGFzc10sXG4gICAgc2VsZWN0b3I6ICdrYy1hY2NvdW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FjY291bnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBDb21wb25lbnRSZWZlcmVuY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBY2NvdW50Q29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50UmVmZXJlbmNlIHtcbiAgICBpMThuID0gaW5qZWN0PEkxOG4+KEFDQ09VTlRfSTE4Tik7XG4gICAga2NDb250ZXh0ID0gaW5qZWN0PEV4dHJhY3Q8S2NDb250ZXh0LCB7IHBhZ2VJZDogJ2FjY291bnQuZnRsJyB9Pj4oS0NfQUNDT1VOVF9DT05URVhUKTtcbiAgICBvdmVycmlkZSBkb1VzZURlZmF1bHRDc3MgPSBpbmplY3Q8Ym9vbGVhbj4oVVNFX0RFRkFVTFRfQ1NTKTtcbiAgICBvdmVycmlkZSBjbGFzc2VzID0gaW5qZWN0PFBhcnRpYWw8UmVjb3JkPENsYXNzS2V5LCBzdHJpbmc+Pj4oQUNDT1VOVF9DTEFTU0VTKTtcbiAgICBvdmVycmlkZSBhZGRpdGlvbmFsQ2xhc3NlczogUGFydGlhbDxSZWNvcmQ8Q2xhc3NLZXksIHN0cmluZz4+ID0ge1xuICAgICAgICBrY0JvZHlDbGFzczogYCR7dGhpcy5jbGFzc2VzPy5rY0JvZHlDbGFzc30gdXNlcmBcbiAgICB9O1xuICAgIGFjdGl2ZSA9ICdhY2NvdW50Jztcbn1cbiIsIkBsZXQgdXJsID0ga2NDb250ZXh0LnVybDtcbkBsZXQgcmVhbG0gPSBrY0NvbnRleHQucmVhbG07XG5AbGV0IG1lc3NhZ2VzUGVyRmllbGQgPSBrY0NvbnRleHQubWVzc2FnZXNQZXJGaWVsZDtcbkBsZXQgc3RhdGVDaGVja2VyID0ga2NDb250ZXh0LnN0YXRlQ2hlY2tlcjtcbkBsZXQgYWNjb3VudCA9IGtjQ29udGV4dC5hY2NvdW50O1xuQGxldCByZWZlcnJlciA9IGtjQ29udGV4dC5yZWZlcnJlcjtcblxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTBcIj5cbiAgICAgICAgPGgyPnt7IGkxOG4ubXNnU3RyKCdlZGl0QWNjb3VudEh0bWxUaXRsZScpIH19PC9oMj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTIgc3VidGl0bGVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJ0aXRsZVwiPiA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj4ge3sgaTE4bi5tc2dTdHIoJ3JlcXVpcmVkRmllbGRzJykgfX0gPC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48Zm9ybVxuICAgIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCJcbiAgICBtZXRob2Q9XCJwb3N0XCJcbiAgICBbYWN0aW9uXT1cInVybC5hY2NvdW50VXJsXCJcbj5cbiAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cImhpZGRlblwiXG4gICAgICAgIGlkPVwic3RhdGVDaGVja2VyXCJcbiAgICAgICAgbmFtZT1cInN0YXRlQ2hlY2tlclwiXG4gICAgICAgIFt2YWx1ZV09XCJzdGF0ZUNoZWNrZXJcIlxuICAgIC8+XG4gICAgQGlmICghcmVhbG0ucmVnaXN0cmF0aW9uRW1haWxBc1VzZXJuYW1lKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdoYXMtZXJyb3InOiBtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCd1c2VybmFtZScpIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTIgY29sLW1kLTJcIj5cbiAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgZm9yPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ3VzZXJuYW1lJykgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIEBpZiAocmVhbG0uZWRpdFVzZXJuYW1lQWxsb3dlZCkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMCBjb2wtbWQtMTBcIj5cbiAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwidXNlcm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIXJlYWxtLmVkaXRVc2VybmFtZUFsbG93ZWRcIlxuICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdFZhbHVlXT1cImFjY291bnQudXNlcm5hbWUgPz8gJydcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZvcm0tZ3JvdXBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdoYXMtZXJyb3InOiBtZXNzYWdlc1BlckZpZWxkLmV4aXN0c0Vycm9yKCdlbWFpbCcpIH1cIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0yIGNvbC1tZC0yXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBmb3I9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cignZW1haWwnKSB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEwIGNvbC1tZC0xMFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICBpZD1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwiYWNjb3VudC5lbWFpbCA/PyAnJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWVycm9yJzogbWVzc2FnZXNQZXJGaWVsZC5leGlzdHNFcnJvcignZmlyc3ROYW1lJykgfVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTIgY29sLW1kLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cImZpcnN0TmFtZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpMThuLm1zZ1N0cignZmlyc3ROYW1lJykgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMCBjb2wtbWQtMTBcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgaWQ9XCJmaXJzdE5hbWVcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJmaXJzdE5hbWVcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwiYWNjb3VudC5maXJzdE5hbWVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1lcnJvcic6IG1lc3NhZ2VzUGVyRmllbGQuZXhpc3RzRXJyb3IoJ2xhc3ROYW1lJykgfVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTIgY29sLW1kLTJcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIGZvcj1cImxhc3ROYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdsYXN0TmFtZScpIH19XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTAgY29sLW1kLTEwXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIGlkPVwibGFzdE5hbWVcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJsYXN0TmFtZVwiXG4gICAgICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJhY2NvdW50Lmxhc3ROYW1lID8/ICcnXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgaWQ9XCJrYy1mb3JtLWJ1dHRvbnNcIlxuICAgICAgICAgICAgY2xhc3M9XCJjb2wtbWQtb2Zmc2V0LTIgY29sLW1kLTEwIHN1Ym1pdFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgQGlmIChyZWZlcnJlcikge1xuICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJyZWZlcnJlcj8udXJsXCI+e3sgaTE4bi5tc2dTdHIoJ2JhY2tUb0FwcGxpY2F0aW9uJykgfX08L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzdWJtaXRBY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIlNhdmVcIlxuICAgICAgICAgICAgICAgICAgICBba2NDbGFzc109XCJbJ2tjQnV0dG9uQ2xhc3MnLCAna2NCdXR0b25QcmltYXJ5Q2xhc3MnLCAna2NCdXR0b25MYXJnZUNsYXNzJ11cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaTE4bi5tc2dTdHIoJ2RvU2F2ZScpIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInN1Ym1pdEFjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPVwiQ2FuY2VsXCJcbiAgICAgICAgICAgICAgICAgICAgW2tjQ2xhc3NdPVwiWydrY0J1dHRvbkNsYXNzJywgJ2tjQnV0dG9uUHJpbWFyeUNsYXNzJywgJ2tjQnV0dG9uTGFyZ2VDbGFzcyddXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGkxOG4ubXNnU3RyKCdkb0NhbmNlbCcpIH19XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=