@keycloakify/angular 0.0.3 → 0.0.5

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 (182) hide show
  1. package/README.md +2 -5
  2. package/account/DefaultPage/DefaultPage.d.ts +2 -30
  3. package/esm2022/account/containers/template/template.component.mjs +6 -6
  4. package/esm2022/account/directives/kc-class/kc-class.directive.mjs +3 -3
  5. package/esm2022/account/pages/account/account.component.mjs +3 -3
  6. package/esm2022/account/pages/applications/applications.component.mjs +3 -3
  7. package/esm2022/account/pages/federatedIdentity/federatedIdentity.component.mjs +3 -3
  8. package/esm2022/account/pages/log/log.component.mjs +3 -3
  9. package/esm2022/account/pages/password/password.component.mjs +3 -3
  10. package/esm2022/account/pages/sessions/sessions.component.mjs +3 -3
  11. package/esm2022/account/pages/totp/totp.component.mjs +3 -3
  12. package/esm2022/account/services/account-resource-injector/account-resource-injector.service.mjs +3 -3
  13. package/esm2022/account/services/i18n/i18n.service.mjs +3 -3
  14. package/esm2022/lib/directives/attributes/attributes.directive.mjs +3 -3
  15. package/esm2022/lib/pipes/input-type/input-type.pipe.mjs +3 -3
  16. package/esm2022/lib/pipes/is-array-with-empty-object/is-array-with-empty-object.pipe.mjs +3 -3
  17. package/esm2022/lib/pipes/kc-sanitize/kc-sanitize.pipe.mjs +3 -3
  18. package/esm2022/lib/pipes/to-array/to-array.pipe.mjs +3 -3
  19. package/esm2022/lib/pipes/to-number/to-number.pipe.mjs +3 -3
  20. package/esm2022/lib/services/resource-injector/resource-injector.service.mjs +6 -5
  21. package/esm2022/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.mjs +7 -53
  22. package/esm2022/login/components/field-errors/field-errors.component.mjs +3 -3
  23. package/esm2022/login/components/group-label/group-label.component.mjs +3 -3
  24. package/esm2022/login/components/input-field-by-type/input-field-by-type.component.mjs +3 -3
  25. package/esm2022/login/components/input-tag/input-tag.component.mjs +3 -3
  26. package/esm2022/login/components/input-tag-selects/input-tag-selects.component.mjs +3 -3
  27. package/esm2022/login/components/logout-other-sessions/logout-other-sessions.component.mjs +3 -3
  28. package/esm2022/login/components/password-wrapper/password-wrapper.component.mjs +3 -3
  29. package/esm2022/login/components/select-tag/select-tag.component.mjs +3 -3
  30. package/esm2022/login/components/textarea-tag/textarea-tag.component.mjs +3 -3
  31. package/esm2022/login/components/user-profile-form-fields/user-profile-form-fields.component.mjs +15 -22
  32. package/esm2022/login/containers/template/template.component.mjs +6 -6
  33. package/esm2022/login/directives/kc-class/kc-class.directive.mjs +3 -3
  34. package/esm2022/login/pages/code/code.component.mjs +3 -3
  35. package/esm2022/login/pages/delete-account-confirm/delete-account-confirm.component.mjs +3 -3
  36. package/esm2022/login/pages/delete-credential/delete-credential.component.mjs +3 -3
  37. package/esm2022/login/pages/error/error.component.mjs +3 -3
  38. package/esm2022/login/pages/frontchannel-logout/frontchannel-logout.component.mjs +3 -3
  39. package/esm2022/login/pages/idp-review-user-profile/idp-review-user-profile.component.mjs +13 -15
  40. package/esm2022/login/pages/info/info.component.mjs +3 -3
  41. package/esm2022/login/pages/login/login.component.mjs +3 -3
  42. package/esm2022/login/pages/login-config-totp/login-config-totp.component.mjs +3 -3
  43. package/esm2022/login/pages/login-idp-link-confirm/login-idp-link-confirm.component.mjs +3 -3
  44. package/esm2022/login/pages/login-idp-link-confirm-override/login-idp-link-confirm-override.component.mjs +3 -3
  45. package/esm2022/login/pages/login-idp-link-email/login-idp-link-email.component.mjs +3 -3
  46. package/esm2022/login/pages/login-oauth-grant/login-oauth-grant.component.mjs +3 -3
  47. package/esm2022/login/pages/login-oauth2-device-verify-user-code/login-oauth2-device-verify-user-code.component.mjs +3 -3
  48. package/esm2022/login/pages/login-otp/login-otp.component.mjs +3 -3
  49. package/esm2022/login/pages/login-page-expired/login-page-expired.component.mjs +3 -3
  50. package/esm2022/login/pages/login-passkeys-conditional-authenticate/login-passkeys-conditional-authenticate.component.mjs +3 -3
  51. package/esm2022/login/pages/login-password/login-password.component.mjs +3 -3
  52. package/esm2022/login/pages/login-recovery-authn-code-config/login-recovery-authn-code-config.component.mjs +3 -3
  53. package/esm2022/login/pages/login-recovery-authn-code-input/login-recovery-authn-code-input.component.mjs +3 -3
  54. package/esm2022/login/pages/login-reset-otp/login-reset-otp.component.mjs +3 -3
  55. package/esm2022/login/pages/login-reset-password/login-reset-password.component.mjs +3 -3
  56. package/esm2022/login/pages/login-update-password/login-update-password.component.mjs +3 -3
  57. package/esm2022/login/pages/login-update-profile/login-update-profile.component.mjs +13 -15
  58. package/esm2022/login/pages/login-username/login-username.component.mjs +6 -6
  59. package/esm2022/login/pages/login-verify-email/login-verify-email.component.mjs +3 -3
  60. package/esm2022/login/pages/login-x509-info/login-x509-info.component.mjs +3 -3
  61. package/esm2022/login/pages/logout-confirm/logout-confirm.component.mjs +3 -3
  62. package/esm2022/login/pages/register/register.component.mjs +14 -16
  63. package/esm2022/login/pages/saml-post-form/saml-post-form.component.mjs +3 -3
  64. package/esm2022/login/pages/select-authenticator/select-authenticator.component.mjs +3 -3
  65. package/esm2022/login/pages/terms/terms.component.mjs +3 -3
  66. package/esm2022/login/pages/update-email/update-email.component.mjs +13 -15
  67. package/esm2022/login/pages/webauthn-authenticate/webauthn-authenticate.component.mjs +3 -3
  68. package/esm2022/login/pages/webauthn-error/webauthn-error.component.mjs +3 -3
  69. package/esm2022/login/pages/webauthn-register/webauthn-register.component.mjs +3 -3
  70. package/esm2022/login/services/i18n/i18n.service.mjs +3 -3
  71. package/esm2022/login/services/login-resource-injector/login-resource-injector.service.mjs +9 -8
  72. package/esm2022/login/services/user-profile-form/user-profile-form.service.mjs +56 -1004
  73. package/fesm2022/keycloakify-angular-account-containers-template.mjs +6 -6
  74. package/fesm2022/keycloakify-angular-account-directives-kc-class.mjs +3 -3
  75. package/fesm2022/keycloakify-angular-account-pages-account.mjs +3 -3
  76. package/fesm2022/keycloakify-angular-account-pages-applications.mjs +3 -3
  77. package/fesm2022/keycloakify-angular-account-pages-federatedIdentity.mjs +3 -3
  78. package/fesm2022/keycloakify-angular-account-pages-log.mjs +3 -3
  79. package/fesm2022/keycloakify-angular-account-pages-password.mjs +3 -3
  80. package/fesm2022/keycloakify-angular-account-pages-sessions.mjs +3 -3
  81. package/fesm2022/keycloakify-angular-account-pages-totp.mjs +3 -3
  82. package/fesm2022/keycloakify-angular-account-services-account-resource-injector.mjs +3 -3
  83. package/fesm2022/keycloakify-angular-account-services-i18n.mjs +3 -3
  84. package/fesm2022/keycloakify-angular-lib-directives-attributes.mjs +3 -3
  85. package/fesm2022/keycloakify-angular-lib-pipes-input-type.mjs +3 -3
  86. package/fesm2022/keycloakify-angular-lib-pipes-is-array-with-empty-object.mjs +3 -3
  87. package/fesm2022/keycloakify-angular-lib-pipes-kc-sanitize.mjs +3 -3
  88. package/fesm2022/keycloakify-angular-lib-pipes-to-array.mjs +3 -3
  89. package/fesm2022/keycloakify-angular-lib-pipes-to-number.mjs +3 -3
  90. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs +5 -4
  91. package/fesm2022/keycloakify-angular-lib-services-resource-injector.mjs.map +1 -1
  92. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs +6 -52
  93. package/fesm2022/keycloakify-angular-login-components-add-remove-buttons-multi-valued-attribute.mjs.map +1 -1
  94. package/fesm2022/keycloakify-angular-login-components-field-errors.mjs +3 -3
  95. package/fesm2022/keycloakify-angular-login-components-group-label.mjs +3 -3
  96. package/fesm2022/keycloakify-angular-login-components-input-field-by-type.mjs +3 -3
  97. package/fesm2022/keycloakify-angular-login-components-input-tag-selects.mjs +3 -3
  98. package/fesm2022/keycloakify-angular-login-components-input-tag.mjs +3 -3
  99. package/fesm2022/keycloakify-angular-login-components-logout-other-sessions.mjs +3 -3
  100. package/fesm2022/keycloakify-angular-login-components-password-wrapper.mjs +3 -3
  101. package/fesm2022/keycloakify-angular-login-components-select-tag.mjs +3 -3
  102. package/fesm2022/keycloakify-angular-login-components-textarea-tag.mjs +3 -3
  103. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs +14 -21
  104. package/fesm2022/keycloakify-angular-login-components-user-profile-form-fields.mjs.map +1 -1
  105. package/fesm2022/keycloakify-angular-login-containers-template.mjs +6 -6
  106. package/fesm2022/keycloakify-angular-login-directives-kc-class.mjs +3 -3
  107. package/fesm2022/keycloakify-angular-login-pages-code.mjs +3 -3
  108. package/fesm2022/keycloakify-angular-login-pages-delete-account-confirm.mjs +3 -3
  109. package/fesm2022/keycloakify-angular-login-pages-delete-credential.mjs +3 -3
  110. package/fesm2022/keycloakify-angular-login-pages-error.mjs +3 -3
  111. package/fesm2022/keycloakify-angular-login-pages-frontchannel-logout.mjs +3 -3
  112. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs +12 -14
  113. package/fesm2022/keycloakify-angular-login-pages-idp-review-user-profile.mjs.map +1 -1
  114. package/fesm2022/keycloakify-angular-login-pages-info.mjs +3 -3
  115. package/fesm2022/keycloakify-angular-login-pages-login-config-totp.mjs +3 -3
  116. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm-override.mjs +3 -3
  117. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-confirm.mjs +3 -3
  118. package/fesm2022/keycloakify-angular-login-pages-login-idp-link-email.mjs +3 -3
  119. package/fesm2022/keycloakify-angular-login-pages-login-oauth-grant.mjs +3 -3
  120. package/fesm2022/keycloakify-angular-login-pages-login-oauth2-device-verify-user-code.mjs +3 -3
  121. package/fesm2022/keycloakify-angular-login-pages-login-otp.mjs +3 -3
  122. package/fesm2022/keycloakify-angular-login-pages-login-page-expired.mjs +3 -3
  123. package/fesm2022/keycloakify-angular-login-pages-login-passkeys-conditional-authenticate.mjs +3 -3
  124. package/fesm2022/keycloakify-angular-login-pages-login-password.mjs +3 -3
  125. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-config.mjs +3 -3
  126. package/fesm2022/keycloakify-angular-login-pages-login-recovery-authn-code-input.mjs +3 -3
  127. package/fesm2022/keycloakify-angular-login-pages-login-reset-otp.mjs +3 -3
  128. package/fesm2022/keycloakify-angular-login-pages-login-reset-password.mjs +3 -3
  129. package/fesm2022/keycloakify-angular-login-pages-login-update-password.mjs +3 -3
  130. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs +12 -14
  131. package/fesm2022/keycloakify-angular-login-pages-login-update-profile.mjs.map +1 -1
  132. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs +5 -5
  133. package/fesm2022/keycloakify-angular-login-pages-login-username.mjs.map +1 -1
  134. package/fesm2022/keycloakify-angular-login-pages-login-verify-email.mjs +3 -3
  135. package/fesm2022/keycloakify-angular-login-pages-login-x509-info.mjs +3 -3
  136. package/fesm2022/keycloakify-angular-login-pages-login.mjs +3 -3
  137. package/fesm2022/keycloakify-angular-login-pages-logout-confirm.mjs +3 -3
  138. package/fesm2022/keycloakify-angular-login-pages-register.mjs +13 -15
  139. package/fesm2022/keycloakify-angular-login-pages-register.mjs.map +1 -1
  140. package/fesm2022/keycloakify-angular-login-pages-saml-post-form.mjs +3 -3
  141. package/fesm2022/keycloakify-angular-login-pages-select-authenticator.mjs +3 -3
  142. package/fesm2022/keycloakify-angular-login-pages-terms.mjs +3 -3
  143. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs +12 -14
  144. package/fesm2022/keycloakify-angular-login-pages-update-email.mjs.map +1 -1
  145. package/fesm2022/keycloakify-angular-login-pages-webauthn-authenticate.mjs +3 -3
  146. package/fesm2022/keycloakify-angular-login-pages-webauthn-error.mjs +3 -3
  147. package/fesm2022/keycloakify-angular-login-pages-webauthn-register.mjs +3 -3
  148. package/fesm2022/keycloakify-angular-login-services-i18n.mjs +3 -3
  149. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs +8 -7
  150. package/fesm2022/keycloakify-angular-login-services-login-resource-injector.mjs.map +1 -1
  151. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs +55 -1003
  152. package/fesm2022/keycloakify-angular-login-services-user-profile-form.mjs.map +1 -1
  153. package/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.d.ts +0 -1
  154. package/login/components/user-profile-form-fields/user-profile-form-fields.component.d.ts +3 -13
  155. package/login/pages/idp-review-user-profile/idp-review-user-profile.component.d.ts +1 -2
  156. package/login/pages/login-update-profile/login-update-profile.component.d.ts +1 -2
  157. package/login/pages/register/register.component.d.ts +1 -2
  158. package/login/pages/update-email/update-email.component.d.ts +1 -2
  159. package/login/services/user-profile-form/user-profile-form.service.d.ts +20 -41
  160. package/package.json +2 -8
  161. package/src/lib/services/resource-injector/resource-injector.service.ts +2 -1
  162. package/src/login/components/add-remove-buttons-multi-valued-attribute/add-remove-buttons-multi-valued-attribute.component.ts +3 -69
  163. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.html +71 -68
  164. package/src/login/components/user-profile-form-fields/user-profile-form-fields.component.ts +6 -21
  165. package/src/login/pages/idp-review-user-profile/idp-review-user-profile.component.ts +6 -13
  166. package/src/login/pages/login-update-profile/login-update-profile.component.ts +6 -12
  167. package/src/login/pages/login-username/login-username.component.html +0 -1
  168. package/src/login/pages/register/register.component.html +1 -4
  169. package/src/login/pages/register/register.component.ts +5 -10
  170. package/src/login/pages/update-email/update-email.component.ts +6 -12
  171. package/src/login/services/login-resource-injector/login-resource-injector.service.ts +5 -4
  172. package/src/login/services/user-profile-form/user-profile-form.service.ts +103 -1433
  173. package/esm2022/login/services/submit/keycloakify-angular-login-services-submit.mjs +0 -5
  174. package/esm2022/login/services/submit/public-api.mjs +0 -2
  175. package/esm2022/login/services/submit/submit.service.mjs +0 -20
  176. package/fesm2022/keycloakify-angular-login-services-submit.mjs +0 -27
  177. package/fesm2022/keycloakify-angular-login-services-submit.mjs.map +0 -1
  178. package/login/services/submit/index.d.ts +0 -5
  179. package/login/services/submit/public-api.d.ts +0 -1
  180. package/login/services/submit/submit.service.d.ts +0 -9
  181. package/src/login/services/submit/index.ts +0 -1
  182. package/src/login/services/submit/submit.service.ts +0 -12
@@ -13,12 +13,13 @@ export class LoginResourceInjectorService {
13
13
  this.injectScripts();
14
14
  return of(true);
15
15
  }
16
+ //reversed order of stylesheets to accomodate prepending to head
16
17
  const stylesheets = [
17
- `${this.kcContext.url.resourcesCommonPath}/node_modules/@patternfly/patternfly/patternfly.min.css`,
18
- `${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`,
19
- `${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`,
18
+ `${this.kcContext.url.resourcesPath}/css/login.css`,
20
19
  `${this.kcContext.url.resourcesCommonPath}/lib/pficon/pficon.css`,
21
- `${this.kcContext.url.resourcesPath}/css/login.css`
20
+ `${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly-additions.min.css`,
21
+ `${this.kcContext.url.resourcesCommonPath}/node_modules/patternfly/dist/css/patternfly.min.css`,
22
+ `${this.kcContext.url.resourcesCommonPath}/node_modules/@patternfly/patternfly/patternfly.min.css`
22
23
  ];
23
24
  return forkJoin(stylesheets.map(url => this.resourceInjectorService.createLink(url))).pipe(switchMap(() => {
24
25
  this.injectScripts();
@@ -56,13 +57,13 @@ export class LoginResourceInjectorService {
56
57
  ];
57
58
  this.insertAdditionalScripts(scripts);
58
59
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginResourceInjectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginResourceInjectorService, providedIn: 'root' }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, providedIn: 'root' }); }
61
62
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoginResourceInjectorService, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoginResourceInjectorService, decorators: [{
63
64
  type: Injectable,
64
65
  args: [{
65
66
  providedIn: 'root'
66
67
  }]
67
68
  }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzb3VyY2UtaW5qZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9zZXJ2aWNlcy9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvci9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNELE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJWSxjQUFTLEdBQWMsTUFBTSxDQUFZLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsNEJBQXVCLEdBQTRCLE1BQU0sQ0FDN0QsdUJBQXVCLENBQzFCLENBQUM7S0EwREw7SUF4REcsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHO1lBQ2hCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLHlEQUF5RDtZQUNsRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQixzREFBc0Q7WUFDL0YsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsZ0VBQWdFO1lBQ3pHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLHdCQUF3QjtZQUNqRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsZ0JBQWdCO1NBQ3RELENBQUM7UUFFRixPQUFPLFFBQVEsQ0FDWCxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN2RSxDQUFDLElBQUksQ0FDRixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxPQUFpQjtRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE1BQU0sT0FBTyxHQUFhO1lBQ3RCO2dCQUNJLElBQUksRUFBRSxRQUFRO2dCQUNkLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsMEJBQTBCO2dCQUNqRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLDBCQUEwQjthQUNyRTtZQUNELEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckMsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsRUFBRSxFQUFFLE1BQU07YUFDYixDQUFDLENBQUM7WUFDSDtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxFQUFFLEVBQUUsdUJBQXVCO2dCQUMzQixXQUFXLEVBQUU7bURBQ3NCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWE7OztlQUdwRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0I7V0FDN0M7YUFDRTtTQUNKLENBQUM7UUFDRixJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0E3RFEsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FGekIsTUFBTTs7MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS0NfTE9HSU5fQ09OVEVYVCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL3Rva2Vucy9rYy1jb250ZXh0JztcbmltcG9ydCB7IFJlc291cmNlSW5qZWN0b3JTZXJ2aWNlIH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbGliL3NlcnZpY2VzL3Jlc291cmNlLWluamVjdG9yJztcbmltcG9ydCB0eXBlIHsgS2NDb250ZXh0IH0gZnJvbSAnQGtleWNsb2FraWZ5L2FuZ3VsYXIvbG9naW4vS2NDb250ZXh0JztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZvcmtKb2luLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0eXBlIFNjcmlwdCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9tb2RlbHMvc2NyaXB0JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2dpblJlc291cmNlSW5qZWN0b3JTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGtjQ29udGV4dDogS2NDb250ZXh0ID0gaW5qZWN0PEtjQ29udGV4dD4oS0NfTE9HSU5fQ09OVEVYVCk7XG4gICAgcHJpdmF0ZSByZXNvdXJjZUluamVjdG9yU2VydmljZTogUmVzb3VyY2VJbmplY3RvclNlcnZpY2UgPSBpbmplY3QoXG4gICAgICAgIFJlc291cmNlSW5qZWN0b3JTZXJ2aWNlXG4gICAgKTtcblxuICAgIGluamVjdFJlc291cmNlKGRvVXNlRGVmYXVsdENzcyA9IHRydWUpIHtcbiAgICAgICAgaWYgKCFkb1VzZURlZmF1bHRDc3MpIHtcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0U2NyaXB0cygpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0eWxlc2hlZXRzID0gW1xuICAgICAgICAgICAgYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc0NvbW1vblBhdGh9L25vZGVfbW9kdWxlcy9AcGF0dGVybmZseS9wYXR0ZXJuZmx5L3BhdHRlcm5mbHkubWluLmNzc2AsXG4gICAgICAgICAgICBgJHt0aGlzLmtjQ29udGV4dC51cmwucmVzb3VyY2VzQ29tbW9uUGF0aH0vbm9kZV9tb2R1bGVzL3BhdHRlcm5mbHkvZGlzdC9jc3MvcGF0dGVybmZseS5taW4uY3NzYCxcbiAgICAgICAgICAgIGAke3RoaXMua2NDb250ZXh0LnVybC5yZXNvdXJjZXNDb21tb25QYXRofS9ub2RlX21vZHVsZXMvcGF0dGVybmZseS9kaXN0L2Nzcy9wYXR0ZXJuZmx5LWFkZGl0aW9ucy5taW4uY3NzYCxcbiAgICAgICAgICAgIGAke3RoaXMua2NDb250ZXh0LnVybC5yZXNvdXJjZXNDb21tb25QYXRofS9saWIvcGZpY29uL3BmaWNvbi5jc3NgLFxuICAgICAgICAgICAgYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2Nzcy9sb2dpbi5jc3NgXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgICAgICAgc3R5bGVzaGVldHMubWFwKHVybCA9PiB0aGlzLnJlc291cmNlSW5qZWN0b3JTZXJ2aWNlLmNyZWF0ZUxpbmsodXJsKSlcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluamVjdFNjcmlwdHMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgc3R5bGVzOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbnNlcnRBZGRpdGlvbmFsU2NyaXB0cyhzY3JpcHRzOiBTY3JpcHRbXSkge1xuICAgICAgICBzY3JpcHRzLm1hcChzY3JpcHQgPT4gdGhpcy5yZXNvdXJjZUluamVjdG9yU2VydmljZS5jcmVhdGVTY3JpcHQoc2NyaXB0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbmplY3RTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCBzY3JpcHRzOiBTY3JpcHRbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgICBpZDogYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2pzL21lbnUtYnV0dG9uLWxpbmtzLmpzYCxcbiAgICAgICAgICAgICAgICBzcmM6IGAke3RoaXMua2NDb250ZXh0LnVybC5yZXNvdXJjZXNQYXRofS9qcy9tZW51LWJ1dHRvbi1saW5rcy5qc2BcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi50aGlzLmtjQ29udGV4dC5zY3JpcHRzLm1hcChzY3JpcHQgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAgICAgICAgICAgICBzcmM6IHNjcmlwdCxcbiAgICAgICAgICAgICAgICBpZDogc2NyaXB0XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ21vZHVsZScsXG4gICAgICAgICAgICAgICAgaWQ6ICdhdXRoZW50aWNhdGlvblNlc3Npb24nLFxuICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBgXG4gICAgICAgIGltcG9ydCB7IGNoZWNrQ29va2llc0FuZFNldFRpbWVyIH0gZnJvbSBcIiR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2pzL2F1dGhDaGVja2VyLmpzXCI7XG4gICAgICAgICAgXG4gICAgICAgIGNoZWNrQ29va2llc0FuZFNldFRpbWVyKFxuICAgICAgICAgICAgXCIke3RoaXMua2NDb250ZXh0LnVybC5zc29Mb2dpbkluT3RoZXJUYWJzVXJsfVwiXG4gICAgICAgICk7YFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmluc2VydEFkZGl0aW9uYWxTY3JpcHRzKHNjcmlwdHMpO1xuICAgIH1cbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcmVzb3VyY2UtaW5qZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9sb2dpbi9zZXJ2aWNlcy9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvci9sb2dpbi1yZXNvdXJjZS1pbmplY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNELE1BQU0sT0FBTyw0QkFBNEI7SUFIekM7UUFJWSxjQUFTLEdBQWMsTUFBTSxDQUFZLGdCQUFnQixDQUFDLENBQUM7UUFDM0QsNEJBQXVCLEdBQTRCLE1BQU0sQ0FDN0QsdUJBQXVCLENBQzFCLENBQUM7S0EyREw7SUF6REcsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELGdFQUFnRTtRQUNoRSxNQUFNLFdBQVcsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsZ0JBQWdCO1lBQ25ELEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLHdCQUF3QjtZQUNqRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLG1CQUFtQixnRUFBZ0U7WUFDekcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsc0RBQXNEO1lBQy9GLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLHlEQUF5RDtTQUNyRyxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQ1gsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDdkUsQ0FBQyxJQUFJLENBQ0YsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsdUJBQXVCLENBQUMsT0FBaUI7UUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRU8sYUFBYTtRQUNqQixNQUFNLE9BQU8sR0FBYTtZQUN0QjtnQkFDSSxJQUFJLEVBQUUsUUFBUTtnQkFDZCxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLDBCQUEwQjtnQkFDakUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSwwQkFBMEI7YUFDckU7WUFDRCxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3JDLElBQUksRUFBRSxpQkFBaUI7Z0JBQ3ZCLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEVBQUUsRUFBRSxNQUFNO2FBQ2IsQ0FBQyxDQUFDO1lBQ0g7Z0JBQ0ksSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsRUFBRSxFQUFFLHVCQUF1QjtnQkFDM0IsV0FBVyxFQUFFO21EQUNzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhOzs7ZUFHcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsc0JBQXNCO1dBQzdDO2FBQ0U7U0FDSixDQUFDO1FBQ0YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7OEdBOURRLDRCQUE0QjtrSEFBNUIsNEJBQTRCLGNBRnpCLE1BQU07OzJGQUVULDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtDX0xPR0lOX0NPTlRFWFQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9sb2dpbi90b2tlbnMva2MtY29udGV4dCc7XG5pbXBvcnQgeyBSZXNvdXJjZUluamVjdG9yU2VydmljZSB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xpYi9zZXJ2aWNlcy9yZXNvdXJjZS1pbmplY3Rvcic7XG5pbXBvcnQgdHlwZSB7IEtjQ29udGV4dCB9IGZyb20gJ0BrZXljbG9ha2lmeS9hbmd1bGFyL2xvZ2luL0tjQ29udGV4dCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmb3JrSm9pbiwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdHlwZSBTY3JpcHQgfSBmcm9tICdAa2V5Y2xvYWtpZnkvYW5ndWxhci9saWIvbW9kZWxzL3NjcmlwdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9naW5SZXNvdXJjZUluamVjdG9yU2VydmljZSB7XG4gICAgcHJpdmF0ZSBrY0NvbnRleHQ6IEtjQ29udGV4dCA9IGluamVjdDxLY0NvbnRleHQ+KEtDX0xPR0lOX0NPTlRFWFQpO1xuICAgIHByaXZhdGUgcmVzb3VyY2VJbmplY3RvclNlcnZpY2U6IFJlc291cmNlSW5qZWN0b3JTZXJ2aWNlID0gaW5qZWN0KFxuICAgICAgICBSZXNvdXJjZUluamVjdG9yU2VydmljZVxuICAgICk7XG5cbiAgICBpbmplY3RSZXNvdXJjZShkb1VzZURlZmF1bHRDc3MgPSB0cnVlKSB7XG4gICAgICAgIGlmICghZG9Vc2VEZWZhdWx0Q3NzKSB7XG4gICAgICAgICAgICB0aGlzLmluamVjdFNjcmlwdHMoKTtcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAvL3JldmVyc2VkIG9yZGVyIG9mIHN0eWxlc2hlZXRzIHRvIGFjY29tb2RhdGUgcHJlcGVuZGluZyB0byBoZWFkXG4gICAgICAgIGNvbnN0IHN0eWxlc2hlZXRzID0gW1xuICAgICAgICAgICAgYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2Nzcy9sb2dpbi5jc3NgLFxuICAgICAgICAgICAgYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc0NvbW1vblBhdGh9L2xpYi9wZmljb24vcGZpY29uLmNzc2AsXG4gICAgICAgICAgICBgJHt0aGlzLmtjQ29udGV4dC51cmwucmVzb3VyY2VzQ29tbW9uUGF0aH0vbm9kZV9tb2R1bGVzL3BhdHRlcm5mbHkvZGlzdC9jc3MvcGF0dGVybmZseS1hZGRpdGlvbnMubWluLmNzc2AsXG4gICAgICAgICAgICBgJHt0aGlzLmtjQ29udGV4dC51cmwucmVzb3VyY2VzQ29tbW9uUGF0aH0vbm9kZV9tb2R1bGVzL3BhdHRlcm5mbHkvZGlzdC9jc3MvcGF0dGVybmZseS5taW4uY3NzYCxcbiAgICAgICAgICAgIGAke3RoaXMua2NDb250ZXh0LnVybC5yZXNvdXJjZXNDb21tb25QYXRofS9ub2RlX21vZHVsZXMvQHBhdHRlcm5mbHkvcGF0dGVybmZseS9wYXR0ZXJuZmx5Lm1pbi5jc3NgXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKFxuICAgICAgICAgICAgc3R5bGVzaGVldHMubWFwKHVybCA9PiB0aGlzLnJlc291cmNlSW5qZWN0b3JTZXJ2aWNlLmNyZWF0ZUxpbmsodXJsKSlcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluamVjdFNjcmlwdHMoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgc3R5bGVzOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbnNlcnRBZGRpdGlvbmFsU2NyaXB0cyhzY3JpcHRzOiBTY3JpcHRbXSkge1xuICAgICAgICBzY3JpcHRzLm1hcChzY3JpcHQgPT4gdGhpcy5yZXNvdXJjZUluamVjdG9yU2VydmljZS5jcmVhdGVTY3JpcHQoc2NyaXB0KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbmplY3RTY3JpcHRzKCkge1xuICAgICAgICBjb25zdCBzY3JpcHRzOiBTY3JpcHRbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbW9kdWxlJyxcbiAgICAgICAgICAgICAgICBpZDogYCR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2pzL21lbnUtYnV0dG9uLWxpbmtzLmpzYCxcbiAgICAgICAgICAgICAgICBzcmM6IGAke3RoaXMua2NDb250ZXh0LnVybC5yZXNvdXJjZXNQYXRofS9qcy9tZW51LWJ1dHRvbi1saW5rcy5qc2BcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAuLi50aGlzLmtjQ29udGV4dC5zY3JpcHRzLm1hcChzY3JpcHQgPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAgICAgICAgICAgICBzcmM6IHNjcmlwdCxcbiAgICAgICAgICAgICAgICBpZDogc2NyaXB0XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ21vZHVsZScsXG4gICAgICAgICAgICAgICAgaWQ6ICdhdXRoZW50aWNhdGlvblNlc3Npb24nLFxuICAgICAgICAgICAgICAgIHRleHRDb250ZW50OiBgXG4gICAgICAgIGltcG9ydCB7IGNoZWNrQ29va2llc0FuZFNldFRpbWVyIH0gZnJvbSBcIiR7dGhpcy5rY0NvbnRleHQudXJsLnJlc291cmNlc1BhdGh9L2pzL2F1dGhDaGVja2VyLmpzXCI7XG4gICAgICAgICAgXG4gICAgICAgIGNoZWNrQ29va2llc0FuZFNldFRpbWVyKFxuICAgICAgICAgICAgXCIke3RoaXMua2NDb250ZXh0LnVybC5zc29Mb2dpbkluT3RoZXJUYWJzVXJsfVwiXG4gICAgICAgICk7YFxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgICAgICB0aGlzLmluc2VydEFkZGl0aW9uYWxTY3JpcHRzKHNjcmlwdHMpO1xuICAgIH1cbn1cbiJdfQ==