@myclub_se/data-access 3.1.18 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/esm2022/lib/api-models/api-auth/api-auth-member.mjs +1 -1
  2. package/esm2022/lib/api-models/api-auth/api-auth-section.mjs +1 -1
  3. package/esm2022/lib/api-models/api-auth/api-auth-team.mjs +1 -1
  4. package/esm2022/lib/api-models/api-auth/api-auth.mjs +1 -1
  5. package/esm2022/lib/api-models/api-feature-flags.mjs +1 -1
  6. package/esm2022/lib/api-models/api-retrieve-2fa.mjs +2 -0
  7. package/esm2022/lib/api-models/api-search-team.mjs +1 -1
  8. package/esm2022/lib/api-models/api-user.mjs +1 -1
  9. package/esm2022/lib/api-models/index.mjs +2 -1
  10. package/esm2022/lib/authentication/authentication.service.mjs +3 -3
  11. package/esm2022/lib/models/auth/auth-member.mjs +4 -2
  12. package/esm2022/lib/models/auth/auth-section.mjs +8 -2
  13. package/esm2022/lib/models/auth/auth-team.mjs +4 -2
  14. package/esm2022/lib/models/auth/auth.mjs +10 -2
  15. package/esm2022/lib/models/feature-flags.mjs +11 -5
  16. package/esm2022/lib/models/index.mjs +2 -1
  17. package/esm2022/lib/models/retrieve-2fa.mjs +9 -0
  18. package/esm2022/lib/models/search-team.mjs +4 -2
  19. package/esm2022/lib/models/user.mjs +4 -2
  20. package/esm2022/lib/services/constant.service.mjs +5 -1
  21. package/esm2022/lib/services/factories/auth-factory.mjs +2 -2
  22. package/esm2022/lib/services/factories/auth-member-factory.mjs +2 -2
  23. package/esm2022/lib/services/factories/auth-section-factory.mjs +2 -2
  24. package/esm2022/lib/services/factories/auth-team-factory.mjs +2 -2
  25. package/esm2022/lib/services/factories/feature-flags-factory.mjs +2 -2
  26. package/esm2022/lib/services/factories/retrieve-2fa-factory.mjs +3 -0
  27. package/esm2022/lib/services/factories/search-team-factory.mjs +2 -2
  28. package/esm2022/lib/services/factories/user-factory.mjs +2 -2
  29. package/esm2022/lib/services/index.mjs +3 -2
  30. package/esm2022/lib/services/token.service.mjs +7 -3
  31. package/esm2022/lib/services/user.service.mjs +22 -1
  32. package/esm2022/lib/store/actions/auth.actions.mjs +5 -1
  33. package/esm2022/lib/store/actions/constant.actions.mjs +7 -1
  34. package/esm2022/lib/store/actions/token.actions.mjs +1 -1
  35. package/esm2022/lib/store/actions/user.actions.mjs +26 -1
  36. package/esm2022/lib/store/effects/auth.effects.mjs +5 -2
  37. package/esm2022/lib/store/effects/constant.effects.mjs +5 -2
  38. package/esm2022/lib/store/effects/token.effects.mjs +2 -2
  39. package/esm2022/lib/store/effects/user.effects.mjs +9 -2
  40. package/esm2022/lib/store/reducers/auth.reducer.mjs +3 -3
  41. package/esm2022/lib/store/reducers/constant.reducer.mjs +13 -2
  42. package/esm2022/lib/store/reducers/index.mjs +2 -1
  43. package/esm2022/lib/store/selectors/constant.selectors.mjs +2 -1
  44. package/esm2022/lib/store/state/constant.state.mjs +3 -2
  45. package/fesm2022/myclub_se-data-access.mjs +211 -83
  46. package/fesm2022/myclub_se-data-access.mjs.map +1 -1
  47. package/lib/api-models/api-auth/api-auth-member.d.ts +1 -0
  48. package/lib/api-models/api-auth/api-auth-section.d.ts +3 -0
  49. package/lib/api-models/api-auth/api-auth-team.d.ts +1 -0
  50. package/lib/api-models/api-auth/api-auth.d.ts +4 -0
  51. package/lib/api-models/api-feature-flags.d.ts +4 -1
  52. package/lib/api-models/api-retrieve-2fa.d.ts +4 -0
  53. package/lib/api-models/api-search-team.d.ts +1 -0
  54. package/lib/api-models/api-user.d.ts +2 -1
  55. package/lib/api-models/index.d.ts +1 -0
  56. package/lib/authentication/authentication.service.d.ts +1 -1
  57. package/lib/models/auth/auth-member.d.ts +2 -1
  58. package/lib/models/auth/auth-section.d.ts +4 -1
  59. package/lib/models/auth/auth-team.d.ts +2 -1
  60. package/lib/models/auth/auth.d.ts +5 -1
  61. package/lib/models/feature-flags.d.ts +5 -2
  62. package/lib/models/index.d.ts +1 -0
  63. package/lib/models/retrieve-2fa.d.ts +5 -0
  64. package/lib/models/search-team.d.ts +2 -1
  65. package/lib/models/user.d.ts +2 -1
  66. package/lib/services/constant.service.d.ts +1 -0
  67. package/lib/services/factories/retrieve-2fa-factory.d.ts +3 -0
  68. package/lib/services/index.d.ts +2 -1
  69. package/lib/services/token.service.d.ts +1 -1
  70. package/lib/services/user.service.d.ts +4 -0
  71. package/lib/store/actions/auth.actions.d.ts +4 -0
  72. package/lib/store/actions/constant.actions.d.ts +15 -1
  73. package/lib/store/actions/token.actions.d.ts +2 -0
  74. package/lib/store/actions/user.actions.d.ts +55 -2
  75. package/lib/store/effects/auth.effects.d.ts +1 -0
  76. package/lib/store/effects/constant.effects.d.ts +5 -0
  77. package/lib/store/effects/user.effects.d.ts +15 -1
  78. package/lib/store/reducers/index.d.ts +1 -0
  79. package/lib/store/selectors/constant.selectors.d.ts +1 -0
  80. package/lib/store/state/constant.state.d.ts +1 -0
  81. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
3
  import { AuthService, STORAGE_SELECTED_AUTH, STORAGE_SELECTED_MEMBERS, STORAGE_TOKEN, StorageService, TeamService } from '../../services';
4
- import { clearAuthenticationAction, clearAuthenticationSuccessAction, clearStoreAction, getCurrentAuthAction, getCurrentAuthSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsFailureAction, listAuthTeamsSuccessAction, refreshAuthsAction, refreshAuthsFailureAction, refreshAuthsSuccessAction, removeMemberAuthAction, removeMemberAuthFailureAction, removeMemberAuthSuccessAction, removeTeamAuthAction, removeTeamAuthFailureAction, removeTeamAuthSuccessAction, setCurrentAuthAction } from '../actions';
4
+ import { clearAuthenticationAction, clearAuthenticationSuccessAction, clearCurrentAuthAction, clearCurrentAuthSuccessAction, clearStoreAction, getCurrentAuthAction, getCurrentAuthSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsFailureAction, listAuthTeamsSuccessAction, refreshAuthsAction, refreshAuthsFailureAction, refreshAuthsSuccessAction, removeMemberAuthAction, removeMemberAuthFailureAction, removeMemberAuthSuccessAction, removeTeamAuthAction, removeTeamAuthFailureAction, removeTeamAuthSuccessAction, setCurrentAuthAction } from '../actions';
5
5
  import { exhaustMap, forkJoin, mergeMap, of } from 'rxjs';
6
6
  import { catchError, map } from 'rxjs/operators';
7
7
  import { AuthenticationService } from '../../authentication';
@@ -24,6 +24,9 @@ export class AuthEffects {
24
24
  clearAuthenticationSuccessAction()
25
25
  ];
26
26
  })))));
27
+ clearCurrent$ = createEffect(() => this.actions$
28
+ .pipe(ofType(clearCurrentAuthAction), exhaustMap(() => this.storageService.removeAsObservable(STORAGE_SELECTED_AUTH)
29
+ .pipe(map(() => clearCurrentAuthSuccessAction())))));
27
30
  getCurrent$ = createEffect(() => this.actions$
28
31
  .pipe(ofType(getCurrentAuthAction), exhaustMap(() => this.storageService.getAsObservable(STORAGE_SELECTED_AUTH)
29
32
  .pipe(map((auth) => {
@@ -105,4 +108,4 @@ export class AuthEffects {
105
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AuthEffects, decorators: [{
106
109
  type: Injectable
107
110
  }] });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLFdBQVc7SUFDZCxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8s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Q0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUM7YUFDdkUsSUFBSSxDQUNILFFBQVEsQ0FBQyxDQUFDLE9BQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeE8sT0FBTztvQkFDTCwyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztpQkFDaEQsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUMvQyxnQkFBZ0IsRUFBRTtpQkFDbkIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsQ0FBQzt1R0E3S1MsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIFNUT1JBR0VfU0VMRUNURURfQVVUSCxcbiAgU1RPUkFHRV9TRUxFQ1RFRF9NRU1CRVJTLFxuICBTVE9SQUdFX1RPS0VOLFxuICBTdG9yYWdlU2VydmljZSxcbiAgVGVhbVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24sXG4gIGNsZWFyU3RvcmVBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoQWN0aW9uLFxuICBsaXN0QXV0aEZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLFxuICByZWZyZXNoQXV0aHNBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVNZW1iZXJBdXRoU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhBY3Rpb24sXG4gIHJlbW92ZVRlYW1BdXRoRmFpbHVyZUFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50QXV0aEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQ29sbGVjdGlvbiwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZW1vdmVNZW1iZXJBdXRoSW50ZXJmYWNlLCBSZW1vdmVUZWFtQXV0aEludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZSA9IGluamVjdChBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIGNsZWFyQXV0aGVudGljYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAge1xuICAgICAgICAgICAgdG9rZW5SZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKSxcbiAgICAgICAgICAgIHNlbGVjdGVkQXV0aFJlbW92YWw6IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlQXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSCksXG4gICAgICAgICAgICBzZWxlY3RlZE1lbWJlcnNSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX01FTUJFUlMpLFxuICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNsZWFyQXV0aGVudGljYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIGNsZWFyU3RvcmVBY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24oKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRBdXRoQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRIKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGF1dGg6IEF1dGggfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXV0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG51bGx9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGF1dGh9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RBdXRoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHtcbiAgICAgICAgaWYgKHBheWxvYWQuY2x1YkFkbWluKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0Q2x1YlRlYW1zKHBheWxvYWQuaWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKChzZWFyY2hUZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGggPSB7XG4gICAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgdGVhbXM6IHNlYXJjaFRlYW1zLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogU2VhcmNoVGVhbSwgYjogU2VhcmNoVGVhbSkgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBdXRoVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbnNUZWFtcyQ6IEFycmF5PE9ic2VydmFibGU8Q29sbGVjdGlvbjxTZWFyY2hUZWFtPj4+ID0gcGF5bG9hZC5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+XG4gICAgICAgICAgICB0aGlzLnRlYW1TZXJ2aWNlLmdldFNlY3Rpb25UZWFtcyhzZWN0aW9uLmlkKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oc2VjdGlvbnNUZWFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3VsdHM6IEFycmF5PENvbGxlY3Rpb248U2VhcmNoVGVhbT4+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHNvcnRlZFRlYW1zOiBBcnJheTxTZWFyY2hUZWFtPiA9IHJlc3VsdHNcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgocmVzdWx0OiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiByZXN1bHQudG9BcnJheSgpKVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIHRlYW1zOiBzb3J0ZWRUZWFtcyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKG9sZEF1dGggJiYgbmV3QXV0aC5pZCA9PT0gb2xkQXV0aC5pZCAmJiAoKG5ld0F1dGgubWVtYmVycyAmJiBuZXdBdXRoLm1lbWJlcnMubGVuZ3RoID09PSBvbGRBdXRoLm1lbWJlcnMubGVuZ3RoKSB8fCAobmV3QXV0aC50ZWFtcyAmJiBuZXdBdXRoLnRlYW1zLmxlbmd0aCA9PT0gb2xkQXV0aC50ZWFtcy5sZW5ndGggJiYgbmV3QXV0aC50ZWFtc1swXS5pZCA9PT0gb2xkQXV0aC50ZWFtc1swXS5pZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdBdXRofSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KSxcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDckIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUc3RCxNQUFNLE9BQU8sV0FBVztJQUNk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Q0FBQyxDQUNILENBQUE7SUFDTCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0YsQ0FDRixDQUFDO3VHQXhMUyxXQUFXOzJHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBBdXRoU2VydmljZSxcbiAgU1RPUkFHRV9TRUxFQ1RFRF9BVVRILFxuICBTVE9SQUdFX1NFTEVDVEVEX01FTUJFUlMsXG4gIFNUT1JBR0VfVE9LRU4sXG4gIFN0b3JhZ2VTZXJ2aWNlLFxuICBUZWFtU2VydmljZVxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uLFxuICBjbGVhckF1dGhlbnRpY2F0aW9uU3VjY2Vzc0FjdGlvbixcbiAgY2xlYXJDdXJyZW50QXV0aEFjdGlvbixcbiAgY2xlYXJDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGNsZWFyU3RvcmVBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoQWN0aW9uLFxuICBsaXN0QXV0aEZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLFxuICByZWZyZXNoQXV0aHNBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVNZW1iZXJBdXRoU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhBY3Rpb24sXG4gIHJlbW92ZVRlYW1BdXRoRmFpbHVyZUFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50QXV0aEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQ29sbGVjdGlvbiwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZW1vdmVNZW1iZXJBdXRoSW50ZXJmYWNlLCBSZW1vdmVUZWFtQXV0aEludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZSA9IGluamVjdChBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIGNsZWFyQXV0aGVudGljYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAge1xuICAgICAgICAgICAgdG9rZW5SZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKSxcbiAgICAgICAgICAgIHNlbGVjdGVkQXV0aFJlbW92YWw6IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlQXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSCksXG4gICAgICAgICAgICBzZWxlY3RlZE1lbWJlcnNSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX01FTUJFUlMpLFxuICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNsZWFyQXV0aGVudGljYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIGNsZWFyU3RvcmVBY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24oKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY2xlYXJDdXJyZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY2xlYXJDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlQXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKCgpID0+IGNsZWFyQ3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKCkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRBdXRoQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRIKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGF1dGg6IEF1dGggfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXV0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG51bGx9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGF1dGh9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RBdXRoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHtcbiAgICAgICAgaWYgKHBheWxvYWQuY2x1YkFkbWluKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0Q2x1YlRlYW1zKHBheWxvYWQuaWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKChzZWFyY2hUZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGggPSB7XG4gICAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgdGVhbXM6IHNlYXJjaFRlYW1zLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogU2VhcmNoVGVhbSwgYjogU2VhcmNoVGVhbSkgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBdXRoVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbnNUZWFtcyQ6IEFycmF5PE9ic2VydmFibGU8Q29sbGVjdGlvbjxTZWFyY2hUZWFtPj4+ID0gcGF5bG9hZC5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+XG4gICAgICAgICAgICB0aGlzLnRlYW1TZXJ2aWNlLmdldFNlY3Rpb25UZWFtcyhzZWN0aW9uLmlkKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oc2VjdGlvbnNUZWFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3VsdHM6IEFycmF5PENvbGxlY3Rpb248U2VhcmNoVGVhbT4+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHNvcnRlZFRlYW1zOiBBcnJheTxTZWFyY2hUZWFtPiA9IHJlc3VsdHNcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgocmVzdWx0OiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiByZXN1bHQudG9BcnJheSgpKVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIHRlYW1zOiBzb3J0ZWRUZWFtcyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKG9sZEF1dGggJiYgbmV3QXV0aC5pZCA9PT0gb2xkQXV0aC5pZCAmJiAoKG5ld0F1dGgubWVtYmVycyAmJiBuZXdBdXRoLm1lbWJlcnMubGVuZ3RoID09PSBvbGRBdXRoLm1lbWJlcnMubGVuZ3RoKSB8fCAobmV3QXV0aC50ZWFtcyAmJiBuZXdBdXRoLnRlYW1zLmxlbmd0aCA9PT0gb2xkQXV0aC50ZWFtcy5sZW5ndGggJiYgbmV3QXV0aC50ZWFtc1swXS5pZCA9PT0gb2xkQXV0aC50ZWFtc1swXS5pZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdBdXRofSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KSxcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
- import { retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveMemberBookingSlotTypesAction, retrieveMemberBookingSlotTypesFailureAction, retrieveMemberBookingSlotTypesSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction, retrieveTeamBookingSlotTypesAction, retrieveTeamBookingSlotTypesFailureAction, retrieveTeamBookingSlotTypesSuccessAction } from '../actions';
3
+ import { retrieve2FAMethodsAction, retrieve2FAMethodsFailureAction, retrieve2FAMethodsSuccessAction, retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveMemberBookingSlotTypesAction, retrieveMemberBookingSlotTypesFailureAction, retrieveMemberBookingSlotTypesSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction, retrieveTeamBookingSlotTypesAction, retrieveTeamBookingSlotTypesFailureAction, retrieveTeamBookingSlotTypesSuccessAction } from '../actions';
4
4
  import { ConstantService, FeatureFlagsService } from '../../services';
5
5
  import { exhaustMap, of } from 'rxjs';
6
6
  import { catchError, map } from 'rxjs/operators';
@@ -66,10 +66,13 @@ export class ConstantEffects {
66
66
  retrieveFeatureFlags$ = createEffect(() => this.actions$
67
67
  .pipe(ofType(retrieveFeatureFlagsAction), exhaustMap(({ role, clubOrSectionOrTeamId }) => this.featureFlagsService.getFeatureFlags(role, clubOrSectionOrTeamId)
68
68
  .pipe(map((featureFlags) => retrieveFeatureFlagsSuccessAction({ payload: featureFlags })), catchError((error) => of(retrieveFeatureFlagsFailureAction({ payload: error })))))));
69
+ retrieve2FATypes$ = createEffect(() => this.actions$
70
+ .pipe(ofType(retrieve2FAMethodsAction), exhaustMap(() => this.constantService.get2FAMethods()
71
+ .pipe(map((constants) => retrieve2FAMethodsSuccessAction({ payload: constants })), catchError((error) => of(retrieve2FAMethodsFailureAction({ payload: error })))))));
69
72
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
70
73
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects });
71
74
  }
72
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects, decorators: [{
73
76
  type: Injectable
74
77
  }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsdUNBQXVDLEVBQ3ZDLDhDQUE4QyxFQUM5Qyw4Q0FBOEMsRUFDOUMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsOENBQThDLEVBQzlDLHFEQUFxRCxFQUNyRCxxREFBcUQsRUFDckQscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hD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O1NBQzVELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFpQyxFQUFFLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQzNHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUcsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNyRCxJQUFJLENBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQ2xDLFVBQVUsQ0FDUixDQUFDLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUc1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQztTQUN4RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxFQUMvRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xHLENBQ0osQ0FDRixDQUNGLENBQUM7dUdBM09TLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbnN0YW50U2VydmljZSwgRmVhdHVyZUZsYWdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wdGlvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdzLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBjb25zdGFudFNlcnZpY2UgPSBpbmplY3QoQ29uc3RhbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmZWF0dXJlRmxhZ3NTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVGbGFnc1NlcnZpY2UpO1xuXG4gIHJldHJpZXZlTGFuZ3VhZ2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRMYW5ndWFnZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlTZXR0aW5ncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5SW52aXRlU2V0dGluZ3MoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5TWVldFVwVGltZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlbWluZGVyRGF5cygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJUaW1lcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVwZWF0T3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUNvdW50cmllcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Q291bnRyaWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0TWVtYmVyQ29udGFjdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0VGVhbUJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRNZW1iZXJCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90U2Vzc2lvblR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nQ2FsZW5kYXJTdGF0dXNlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ0NhbGVuZGFyVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUZlYXR1cmVGbGFncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlRmVhdHVyZUZsYWdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoXG4gICAgICAgICh7cm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkfToge1xuICAgICAgICAgIHJvbGU6IFJvbGUsXG4gICAgICAgICAgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmdcbiAgICAgICAgfSkgPT4gdGhpcy5mZWF0dXJlRmxhZ3NTZXJ2aWNlLmdldEZlYXR1cmVGbGFncyhyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGZlYXR1cmVGbGFnczogRmVhdHVyZUZsYWdzKSA9PiByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGZlYXR1cmVGbGFnc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsdUNBQXVDLEVBQ3ZDLDhDQUE4QyxFQUM5Qyw4Q0FBOEMsRUFDOUMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsOENBQThDLEVBQzlDLHFEQUFxRCxFQUNyRCxxREFBcUQsRUFDckQscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFC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QWlDLEVBQUUsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsRUFDakcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNoRyxDQUNGLENBQ0YsQ0FDRixDQUFDO3VHQXZQUyxlQUFlOzJHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICByZXRyaWV2ZTJGQU1ldGhvZHNBY3Rpb24sXG4gIHJldHJpZXZlMkZBTWV0aG9kc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlMkZBTWV0aG9kc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbnN0YW50U2VydmljZSwgRmVhdHVyZUZsYWdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wdGlvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdzLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBjb25zdGFudFNlcnZpY2UgPSBpbmplY3QoQ29uc3RhbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmZWF0dXJlRmxhZ3NTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVGbGFnc1NlcnZpY2UpO1xuXG4gIHJldHJpZXZlTGFuZ3VhZ2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRMYW5ndWFnZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlTZXR0aW5ncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5SW52aXRlU2V0dGluZ3MoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5TWVldFVwVGltZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlbWluZGVyRGF5cygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJUaW1lcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVwZWF0T3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUNvdW50cmllcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Q291bnRyaWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0TWVtYmVyQ29udGFjdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0VGVhbUJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRNZW1iZXJCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90U2Vzc2lvblR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nQ2FsZW5kYXJTdGF0dXNlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ0NhbGVuZGFyVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUZlYXR1cmVGbGFncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlRmVhdHVyZUZsYWdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoXG4gICAgICAgICh7cm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkfToge1xuICAgICAgICAgIHJvbGU6IFJvbGUsXG4gICAgICAgICAgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmdcbiAgICAgICAgfSkgPT4gdGhpcy5mZWF0dXJlRmxhZ3NTZXJ2aWNlLmdldEZlYXR1cmVGbGFncyhyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGZlYXR1cmVGbGFnczogRmVhdHVyZUZsYWdzKSA9PiByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGZlYXR1cmVGbGFnc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlMkZBVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZTJGQU1ldGhvZHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXQyRkFNZXRob2RzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlMkZBTWV0aG9kc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlMkZBTWV0aG9kc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
@@ -23,7 +23,7 @@ export class TokenEffects {
23
23
  return getCurrentTokenSuccessAction({ payload: null });
24
24
  })))));
25
25
  login$ = createEffect(() => this.actions$
26
- .pipe(ofType(loginTokenAction), exhaustMap(({ payload }) => this.authenticationService.authenticateByCredentials(payload.username, payload.password)
26
+ .pipe(ofType(loginTokenAction), exhaustMap(({ payload }) => this.authenticationService.authenticateByCredentials(payload.username, payload.password, payload.totpCode)
27
27
  .pipe(mergeMap((token) => [
28
28
  loginTokenSuccessAction({ payload: token }),
29
29
  setCurrentTokenAction({ payload: token }),
@@ -103,4 +103,4 @@ export class TokenEffects {
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TokenEffects, decorators: [{
104
104
  type: Injectable
105
105
  }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy90b2tlbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQUUseUJBQXlCLEVBQ3RELGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNC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QUFFLEtBQUssRUFBQyxDQUFDO2dCQUN6QyxxQkFBcUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQzthQUN4QyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FDUCw2QkFBNkIsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLElBQUksaUJBQWlCLENBQzVCO29CQUNFLE1BQU0sRUFBRSxHQUFHO2lCQUNaLENBQ0Y7YUFDRixDQUFDLEVBQ0YsdUJBQXVCLEVBQUUsQ0FDMUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlGLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFRixXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzNDLElBQUksQ0FDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsRUFDN0IsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQTRCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7U0FDN0csSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyw0QkFBNEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQUM7dUdBNUxTLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uJztcbmltcG9ydCB7IFNUT1JBR0VfVE9LRU4sIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24sXG4gIGdldEN1cnJlbnRUb2tlbkFjdGlvbixcbiAgZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbixcbiAgbG9naW5Ub2tlbkFjdGlvbixcbiAgbG9naW5Ub2tlbkZhaWx1cmVBY3Rpb24sXG4gIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbixcbiAgbG9naW5XaXRoVG9rZW5BY3Rpb24sXG4gIGxvZ2luV2l0aFRva2VuRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5BY3Rpb24sXG4gIG1lbWJlckxvZ2luRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5TdWNjZXNzQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZUFjdGlvbixcbiAgbWVtYmVyU2VuZENvZGVGYWlsdXJlQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24sIHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24sXG4gIHJlYXV0aGVudGljYXRlVG9rZW5GYWlsdXJlQWN0aW9uLFxuICByZWF1dGhlbnRpY2F0ZVRva2VuU3VjY2Vzc0FjdGlvbixcbiAgc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50VG9rZW5BY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBjb25jYXQsIGNvbmNhdE1hcCwgRU1QVFksIGV4aGF1c3RNYXAsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgUHVibGljQXV0aGVudGljYXRpb24sIFNlYXJjaENsdWIsIFRva2VuIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEdyYW50VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRva2VuRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlID0gaW5qZWN0KEF1dGhlbnRpY2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoU3RvcmFnZVNlcnZpY2UpO1xuICBwcml2YXRlIGlzUHJvY2Vzc2luZ0ZhaWx1cmUgPSBmYWxzZTtcblxuICBjbGVhckN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoKSA9PiBvZihzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IG51bGx9KSkpXG4gICAgKVxuICApO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50VG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHRva2VuOiBUb2tlbikgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IHRva2VufSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbnVsbH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlQnlDcmVkZW50aWFscyhwYXlsb2FkLnVzZXJuYW1lLCBwYXlsb2FkLnBhc3N3b3JkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKHRva2VuOiBUb2tlbikgPT4gW1xuICAgICAgICAgICAgICBsb2dpblRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KSxcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKFxuICAgICAgICAgICAgICBsb2dpblRva2VuRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKVxuICAgICAgICAgICAgKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvZ2luV2l0aFRva2VuJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobG9naW5XaXRoVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVCeVRva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCh0b2tlbjogVG9rZW4pID0+IFtcbiAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoXG4gICAgICAgICAgICBsb2dpbldpdGhUb2tlbkZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSksXG4gICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJMb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlckxvZ2luQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZywgY29kZTogc3RyaW5nfX0pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFB1YmxpY1Rva2VuKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY29kZSwgcGF5bG9hZC5jbHViSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBtZW1iZXJMb2dpblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobWVtYmVyTG9naW5GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJTZW5kQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlclNlbmRDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZyB8IG51bGx9fSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0TG9naW5Db2RlKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY2x1YklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNsdWJzOiBDb2xsZWN0aW9uPFNlYXJjaENsdWI+KSA9PiBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNsdWJzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKG1lbWJlclNlbmRDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmVhdXRoZW50aWNhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24pLFxuICAgICAgLy8gYGV4aGF1c3RNYXBgIGVuc3VyZXMgZnVydGhlciB0b2tlbiByZWZyZXNoIGF0dGVtcHRzIGFyZSBpZ25vcmVkIHdoaWxlIG9uZSBpcyBpbiBwcm9ncmVzc1xuICAgICAgZXhoYXVzdE1hcCgoeyBwYXlsb2FkIH06IHsgcGF5bG9hZDogR3JhbnRUeXBlIHwgbnVsbCB9KSA9PlxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5yZWF1dGhlbnRpY2F0ZShwYXlsb2FkKS5waXBlKFxuICAgICAgICAgIGV4aGF1c3RNYXAoKHRva2VuOiBUb2tlbiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwMCB9KSB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpLFxuICAgICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24oKVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlblN1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiB0b2tlbiB9KVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KFtcbiAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvciB9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbigpXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2VsZWN0UHVibGljTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHN0cmluZ30pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNoYW5nZVB1YmxpY1Rva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHNlbGVjdFB1YmxpY01lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNlc3Npb25Ub2tlbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luV2l0aFNlc3Npb25BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRTZXNzaW9uVG9rZW4oKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgodG9rZW46IFRva2VuIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgbG9naW5Ub2tlblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFxuICAgICAgICAgICAgICAgIGxvZ2luV2l0aFNlc3Npb25GYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAwXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHNldEN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogVG9rZW4gfCBudWxsIH0pID0+IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfVE9LRU4sIHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5zZXRUb2tlbih0b2tlbik7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy90b2tlbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQUUseUJBQXlCLEVBQ3RELGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNC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ZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24nO1xuaW1wb3J0IHsgU1RPUkFHRV9UT0tFTiwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uLFxuICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbixcbiAgZ2V0Q3VycmVudFRva2VuQWN0aW9uLFxuICBnZXRDdXJyZW50VG9rZW5TdWNjZXNzQWN0aW9uLFxuICBsb2dpblRva2VuQWN0aW9uLFxuICBsb2dpblRva2VuRmFpbHVyZUFjdGlvbixcbiAgbG9naW5Ub2tlblN1Y2Nlc3NBY3Rpb24sXG4gIGxvZ2luV2l0aFNlc3Npb25BY3Rpb24sXG4gIGxvZ2luV2l0aFNlc3Npb25GYWlsdXJlQWN0aW9uLFxuICBsb2dpbldpdGhUb2tlbkFjdGlvbixcbiAgbG9naW5XaXRoVG9rZW5GYWlsdXJlQWN0aW9uLFxuICBtZW1iZXJMb2dpbkFjdGlvbixcbiAgbWVtYmVyTG9naW5GYWlsdXJlQWN0aW9uLFxuICBtZW1iZXJMb2dpblN1Y2Nlc3NBY3Rpb24sXG4gIG1lbWJlclNlbmRDb2RlQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZUZhaWx1cmVBY3Rpb24sXG4gIG1lbWJlclNlbmRDb2RlU3VjY2Vzc0FjdGlvbiwgcmVhdXRoZW50aWNhdGVUb2tlbkFjdGlvbixcbiAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24sXG4gIHJlYXV0aGVudGljYXRlVG9rZW5TdWNjZXNzQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJBY3Rpb24sXG4gIHNlbGVjdFB1YmxpY01lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHNlbGVjdFB1YmxpY01lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHNldEN1cnJlbnRUb2tlbkFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGNvbmNhdCwgY29uY2F0TWFwLCBFTVBUWSwgZXhoYXVzdE1hcCwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBQdWJsaWNBdXRoZW50aWNhdGlvbiwgU2VhcmNoQ2x1YiwgVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgR3JhbnRUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVG9rZW5FZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2UgPSBpbmplY3QoQXV0aGVudGljYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgaXNQcm9jZXNzaW5nRmFpbHVyZSA9IGZhbHNlO1xuXG4gIGNsZWFyQ3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNsZWFyQ3VycmVudFRva2VuQWN0aW9uKSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IG9mKHNldEN1cnJlbnRUb2tlbkFjdGlvbih7cGF5bG9hZDogbnVsbH0pKSlcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfVE9LRU4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuKSA9PiB7XG4gICAgICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNldEN1cnJlbnRUb2tlbkFjdGlvbih7cGF5bG9hZDogdG9rZW59KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50VG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBudWxsfSlcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvZ2luJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobG9naW5Ub2tlbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgICAgICBwYXlsb2FkOiB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHRvdHBDb2RlPzogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlQnlDcmVkZW50aWFscyhwYXlsb2FkLnVzZXJuYW1lLCBwYXlsb2FkLnBhc3N3b3JkLCBwYXlsb2FkLnRvdHBDb2RlKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKHRva2VuOiBUb2tlbikgPT4gW1xuICAgICAgICAgICAgICBsb2dpblRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KSxcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKFxuICAgICAgICAgICAgICBsb2dpblRva2VuRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKVxuICAgICAgICAgICAgKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvZ2luV2l0aFRva2VuJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobG9naW5XaXRoVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVCeVRva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCh0b2tlbjogVG9rZW4pID0+IFtcbiAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoXG4gICAgICAgICAgICBsb2dpbldpdGhUb2tlbkZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSksXG4gICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJMb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlckxvZ2luQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZywgY29kZTogc3RyaW5nfX0pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFB1YmxpY1Rva2VuKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY29kZSwgcGF5bG9hZC5jbHViSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBtZW1iZXJMb2dpblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobWVtYmVyTG9naW5GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJTZW5kQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlclNlbmRDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZyB8IG51bGx9fSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0TG9naW5Db2RlKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY2x1YklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNsdWJzOiBDb2xsZWN0aW9uPFNlYXJjaENsdWI+KSA9PiBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNsdWJzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKG1lbWJlclNlbmRDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmVhdXRoZW50aWNhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24pLFxuICAgICAgLy8gYGV4aGF1c3RNYXBgIGVuc3VyZXMgZnVydGhlciB0b2tlbiByZWZyZXNoIGF0dGVtcHRzIGFyZSBpZ25vcmVkIHdoaWxlIG9uZSBpcyBpbiBwcm9ncmVzc1xuICAgICAgZXhoYXVzdE1hcCgoeyBwYXlsb2FkIH06IHsgcGF5bG9hZDogR3JhbnRUeXBlIHwgbnVsbCB9KSA9PlxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5yZWF1dGhlbnRpY2F0ZShwYXlsb2FkKS5waXBlKFxuICAgICAgICAgIGV4aGF1c3RNYXAoKHRva2VuOiBUb2tlbiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwMCB9KSB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpLFxuICAgICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24oKVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlblN1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiB0b2tlbiB9KVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KFtcbiAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvciB9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbigpXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2VsZWN0UHVibGljTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHN0cmluZ30pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNoYW5nZVB1YmxpY1Rva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHNlbGVjdFB1YmxpY01lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNlc3Npb25Ub2tlbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luV2l0aFNlc3Npb25BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRTZXNzaW9uVG9rZW4oKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgodG9rZW46IFRva2VuIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgbG9naW5Ub2tlblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFxuICAgICAgICAgICAgICAgIGxvZ2luV2l0aFNlc3Npb25GYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAwXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHNldEN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogVG9rZW4gfCBudWxsIH0pID0+IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfVE9LRU4sIHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5zZXRUb2tlbih0b2tlbik7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
3
  import { UserNotificationService, UserService } from '../../services';
4
- import { activateUserAction, activateUserFailureAction, activateUserSuccessAction, clearAuthenticationAction, createUserAction, createUserFailureAction, createUserSuccessAction, deleteCurrentUserAction, deleteCurrentUserFailureAction, deleteCurrentUserSuccessAction, getCurrentUserAction, getCurrentUserFailureAction, getCurrentUserSuccessAction, listUserNotificationsAction, listUserNotificationsFailureAction, listUserNotificationsSuccessAction, resetPasswordAction, resetPasswordFailureAction, resetPasswordSuccessAction, updateCurrentUserAction, updateCurrentUserFailureAction, updateCurrentUserSuccessAction, } from '../actions';
4
+ import { activate2FAUserAction, activate2FAUserFailureAction, activate2FAUserSuccessAction, activateUserAction, activateUserFailureAction, activateUserSuccessAction, clearAuthenticationAction, createUserAction, createUserFailureAction, createUserSuccessAction, deactivate2FAUserAction, deactivate2FAUserFailureAction, deactivate2FAUserSuccessAction, deleteCurrentUserAction, deleteCurrentUserFailureAction, deleteCurrentUserSuccessAction, getCurrentUserAction, getCurrentUserFailureAction, getCurrentUserSuccessAction, listUserNotificationsAction, listUserNotificationsFailureAction, listUserNotificationsSuccessAction, resetPasswordAction, resetPasswordFailureAction, resetPasswordSuccessAction, retrieve2FACodeUserAction, retrieve2FACodeUserFailureAction, retrieve2FACodeUserSuccessAction, updateCurrentUserAction, updateCurrentUserFailureAction, updateCurrentUserSuccessAction, verify2FAUserAction, verify2FAUserFailureAction, verify2FAUserSuccessAction, } from '../actions';
5
5
  import { concatMap, exhaustMap, mergeMap, of, throwError } from 'rxjs';
6
6
  import { catchError, map, switchMap } from 'rxjs/operators';
7
7
  import { HttpErrorResponse } from '@angular/common/http';
@@ -13,12 +13,14 @@ export class UserEffects {
13
13
  constructor() {
14
14
  }
15
15
  activate$ = createEffect(() => this.actions$.pipe(ofType(activateUserAction), exhaustMap(({ payload }) => this.userService.activateUser(payload.uidb64, payload.token).pipe(map((value) => value ? activateUserSuccessAction() : activateUserFailureAction()), catchError(() => of(activateUserFailureAction()))))));
16
+ activate2fa$ = createEffect(() => this.actions$.pipe(ofType(activate2FAUserAction), exhaustMap(({ payload }) => this.userService.activate2fa(payload).pipe(map(() => activate2FAUserSuccessAction()), catchError((err) => of(activate2FAUserFailureAction({ payload: err })))))));
16
17
  create$ = createEffect(() => this.actions$.pipe(ofType(createUserAction), exhaustMap(({ payload }) => this.userService.createUser(payload).pipe(map((value) => {
17
18
  if (value) {
18
19
  return createUserSuccessAction();
19
20
  }
20
21
  return createUserFailureAction({ payload: new HttpErrorResponse({ status: 400 }) });
21
22
  }), catchError(error => of(createUserFailureAction({ payload: error })))))));
23
+ deactivate2fa$ = createEffect(() => this.actions$.pipe(ofType(deactivate2FAUserAction), exhaustMap(() => this.userService.deactivate2fa().pipe(map(() => deactivate2FAUserSuccessAction()), catchError((err) => of(deactivate2FAUserFailureAction({ payload: err })))))));
22
24
  deleteCurrent$ = createEffect(() => this.actions$.pipe(ofType(deleteCurrentUserAction), exhaustMap(() => this.userService.removeCurrentUser().pipe(mergeMap((success) => {
23
25
  if (success) {
24
26
  return [
@@ -33,7 +35,12 @@ export class UserEffects {
33
35
  getCurrent$ = createEffect(() => this.actions$.pipe(ofType(getCurrentUserAction), exhaustMap(() => this.userService.getCurrentUser().pipe(map((user) => getCurrentUserSuccessAction({ payload: user })), catchError((error) => of(getCurrentUserFailureAction({ payload: error })))))));
34
36
  listNotifications$ = createEffect(() => this.actions$.pipe(ofType(listUserNotificationsAction), concatMap(({ payload }) => this.fetchAllNotifications(payload).pipe(map((allNotifications) => listUserNotificationsSuccessAction({ payload: allNotifications })), catchError((error) => of(listUserNotificationsFailureAction({ payload: error })))))));
35
37
  resetPassword$ = createEffect(() => this.actions$.pipe(ofType(resetPasswordAction), exhaustMap(({ payload }) => this.userService.resetPassword(payload).pipe(map((value) => value ? resetPasswordSuccessAction() : resetPasswordFailureAction())))));
38
+ retrieve2faCode$ = createEffect(() => this.actions$.pipe(ofType(retrieve2FACodeUserAction), exhaustMap(() => this.userService.retrieve2faCode().pipe(map((value) => retrieve2FACodeUserSuccessAction({ payload: value })), catchError((err) => of(retrieve2FACodeUserFailureAction({ payload: err })))))));
36
39
  updateCurrent$ = createEffect(() => this.actions$.pipe(ofType(updateCurrentUserAction), exhaustMap(({ payload }) => this.userService.updateCurrentUser(payload).pipe(map((user) => updateCurrentUserSuccessAction({ payload: user })), catchError((error) => of(updateCurrentUserFailureAction({ payload: error })))))));
40
+ verify2fa$ = createEffect(() => this.actions$.pipe(ofType(verify2FAUserAction), exhaustMap(({ payload }) => this.userService.verify2faCode(payload).pipe(mergeMap(() => [
41
+ verify2FAUserSuccessAction(),
42
+ getCurrentUserAction()
43
+ ]), catchError((err) => of(verify2FAUserFailureAction({ payload: err })))))));
37
44
  fetchAllNotifications(clubId, offset = 0, collectedNotifications = []) {
38
45
  return this.userNotificationService.getUserNotifications(clubId, offset).pipe(switchMap((response) => {
39
46
  const notifications = response.toArray();
@@ -56,4 +63,4 @@ export class UserEffects {
56
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: UserEffects, decorators: [{
57
64
  type: Injectable
58
65
  }], ctorParameters: () => [] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3VzZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsR0FDL0IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxXQUFXO0lBQ2QsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FB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QU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzt1R0FyR1UsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgTmV3QWNjb3VudEludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgVXNlciwgVXNlck5vdGlmaWNhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVc2VyTm90aWZpY2F0aW9uU2VydmljZSwgVXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBhY3RpdmF0ZVVzZXJBY3Rpb24sXG4gIGFjdGl2YXRlVXNlckZhaWx1cmVBY3Rpb24sXG4gIGFjdGl2YXRlVXNlclN1Y2Nlc3NBY3Rpb24sXG4gIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24sXG4gIGNyZWF0ZVVzZXJBY3Rpb24sXG4gIGNyZWF0ZVVzZXJGYWlsdXJlQWN0aW9uLFxuICBjcmVhdGVVc2VyU3VjY2Vzc0FjdGlvbixcbiAgZGVsZXRlQ3VycmVudFVzZXJBY3Rpb24sXG4gIGRlbGV0ZUN1cnJlbnRVc2VyRmFpbHVyZUFjdGlvbixcbiAgZGVsZXRlQ3VycmVudFVzZXJTdWNjZXNzQWN0aW9uLFxuICBnZXRDdXJyZW50VXNlckFjdGlvbixcbiAgZ2V0Q3VycmVudFVzZXJGYWlsdXJlQWN0aW9uLFxuICBnZXRDdXJyZW50VXNlclN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RVc2VyTm90aWZpY2F0aW9uc0FjdGlvbixcbiAgbGlzdFVzZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbixcbiAgbGlzdFVzZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbixcbiAgcmVzZXRQYXNzd29yZEFjdGlvbixcbiAgcmVzZXRQYXNzd29yZEZhaWx1cmVBY3Rpb24sXG4gIHJlc2V0UGFzc3dvcmRTdWNjZXNzQWN0aW9uLFxuICB1cGRhdGVDdXJyZW50VXNlckFjdGlvbixcbiAgdXBkYXRlQ3VycmVudFVzZXJGYWlsdXJlQWN0aW9uLFxuICB1cGRhdGVDdXJyZW50VXNlclN1Y2Nlc3NBY3Rpb24sXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBleGhhdXN0TWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3RpdmF0ZVVzZXJJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSB1c2VyU2VydmljZSA9IGluamVjdChVc2VyU2VydmljZSk7XG4gIHByaXZhdGUgdXNlck5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoVXNlck5vdGlmaWNhdGlvblNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgYWN0aXZhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoYWN0aXZhdGVVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtcbiAgICAgIHBheWxvYWQ6IEFjdGl2YXRlVXNlckludGVyZmFjZVxuICAgIH0pID0+IHRoaXMudXNlclNlcnZpY2UuYWN0aXZhdGVVc2VyKHBheWxvYWQudWlkYjY0LCBwYXlsb2FkLnRva2VuKS5waXBlKFxuICAgICAgbWFwKCh2YWx1ZTogYm9vbGVhbikgPT4gdmFsdWUgPyBhY3RpdmF0ZVVzZXJTdWNjZXNzQWN0aW9uKCkgOiBhY3RpdmF0ZVVzZXJGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihhY3RpdmF0ZVVzZXJGYWlsdXJlQWN0aW9uKCkpKSxcbiAgICApKVxuICApKTtcblxuICBjcmVhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoY3JlYXRlVXNlckFjdGlvbiksXG4gICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IE5ld0FjY291bnRJbnRlcmZhY2UgfSkgPT4gdGhpcy51c2VyU2VydmljZS5jcmVhdGVVc2VyKHBheWxvYWQpLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVVc2VyU3VjY2Vzc0FjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVVc2VyRmFpbHVyZUFjdGlvbihcbiAgICAgICAgICB7cGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pfVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKGNyZWF0ZVVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICApKVxuICApKTtcblxuICBkZWxldGVDdXJyZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGRlbGV0ZUN1cnJlbnRVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UucmVtb3ZlQ3VycmVudFVzZXIoKS5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICBkZWxldGVDdXJyZW50VXNlclN1Y2Nlc3NBY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbigpXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBkZWxldGVDdXJyZW50VXNlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KX0pLFxuICAgICAgICAgIF07XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGRlbGV0ZUN1cnJlbnRVc2VyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICApXG4gICAgKVxuICApKTtcblxuICBnZXRDdXJyZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGdldEN1cnJlbnRVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5waXBlKFxuICAgICAgbWFwKCh1c2VyOiBVc2VyKSA9PiBnZXRDdXJyZW50VXNlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHVzZXJ9KSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGdldEN1cnJlbnRVc2VyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgKSlcbiAgKSk7XG5cbiAgbGlzdE5vdGlmaWNhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUobGlzdFVzZXJOb3RpZmljYXRpb25zQWN0aW9uKSxcbiAgICBjb25jYXRNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy5mZXRjaEFsbE5vdGlmaWNhdGlvbnMocGF5bG9hZCkucGlwZShcbiAgICAgIG1hcCgoYWxsTm90aWZpY2F0aW9uczogVXNlck5vdGlmaWNhdGlvbltdKSA9PiBsaXN0VXNlck5vdGlmaWNhdGlvbnNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhbGxOb3RpZmljYXRpb25zfSkpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0VXNlck5vdGlmaWNhdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICApKVxuICApKTtcblxuICByZXNldFBhc3N3b3JkJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJlc2V0UGFzc3dvcmRBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy51c2VyU2VydmljZS5yZXNldFBhc3N3b3JkKHBheWxvYWQpLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlc2V0UGFzc3dvcmRTdWNjZXNzQWN0aW9uKCkgOiByZXNldFBhc3N3b3JkRmFpbHVyZUFjdGlvbigpKVxuICAgICkpXG4gICkpO1xuXG4gIHVwZGF0ZUN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUodXBkYXRlQ3VycmVudFVzZXJBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBVc2VyIH0pID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlQ3VycmVudFVzZXIocGF5bG9hZCkucGlwZShcbiAgICAgIG1hcCgodXNlcjogVXNlcikgPT4gdXBkYXRlQ3VycmVudFVzZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB1c2VyfSkpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih1cGRhdGVDdXJyZW50VXNlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICkpXG4gICkpO1xuXG4gIHByaXZhdGUgZmV0Y2hBbGxOb3RpZmljYXRpb25zKGNsdWJJZDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlciA9IDAsIGNvbGxlY3RlZE5vdGlmaWNhdGlvbnM6IFVzZXJOb3RpZmljYXRpb25bXSA9IFtdKTogT2JzZXJ2YWJsZTxVc2VyTm90aWZpY2F0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyTm90aWZpY2F0aW9uU2VydmljZS5nZXRVc2VyTm90aWZpY2F0aW9ucyhjbHViSWQsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248VXNlck5vdGlmaWNhdGlvbj4pID0+IHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9ucyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTm90aWZpY2F0aW9ucyA9IGNvbGxlY3RlZE5vdGlmaWNhdGlvbnMuY29uY2F0KG5vdGlmaWNhdGlvbnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFsbE5vdGlmaWNhdGlvbnMoY2x1YklkLCBvZmZzZXQgKyBub3RpZmljYXRpb25zLmxlbmd0aCwgYWxsTm90aWZpY2F0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTm8gbW9yZSBwYWdlcyB0byBmZXRjaFxuICAgICAgICAgIHJldHVybiBvZihhbGxOb3RpZmljYXRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3VzZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsdUJBQXVCLEVBQ3ZCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsR0FDM0IsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkYsT0FBTyxF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UUFDakMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7dUdBeElVLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IE5ld0FjY291bnRJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIFJldHJpZXZlMmZhLCBVc2VyLCBVc2VyTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFVzZXJOb3RpZmljYXRpb25TZXJ2aWNlLCBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIGFjdGl2YXRlMkZBVXNlckFjdGlvbixcbiAgYWN0aXZhdGUyRkFVc2VyRmFpbHVyZUFjdGlvbixcbiAgYWN0aXZhdGUyRkFVc2VyU3VjY2Vzc0FjdGlvbixcbiAgYWN0aXZhdGVVc2VyQWN0aW9uLFxuICBhY3RpdmF0ZVVzZXJGYWlsdXJlQWN0aW9uLFxuICBhY3RpdmF0ZVVzZXJTdWNjZXNzQWN0aW9uLFxuICBjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uLFxuICBjcmVhdGVVc2VyQWN0aW9uLFxuICBjcmVhdGVVc2VyRmFpbHVyZUFjdGlvbixcbiAgY3JlYXRlVXNlclN1Y2Nlc3NBY3Rpb24sXG4gIGRlYWN0aXZhdGUyRkFVc2VyQWN0aW9uLFxuICBkZWFjdGl2YXRlMkZBVXNlckZhaWx1cmVBY3Rpb24sXG4gIGRlYWN0aXZhdGUyRkFVc2VyU3VjY2Vzc0FjdGlvbixcbiAgZGVsZXRlQ3VycmVudFVzZXJBY3Rpb24sXG4gIGRlbGV0ZUN1cnJlbnRVc2VyRmFpbHVyZUFjdGlvbixcbiAgZGVsZXRlQ3VycmVudFVzZXJTdWNjZXNzQWN0aW9uLFxuICBnZXRDdXJyZW50VXNlckFjdGlvbixcbiAgZ2V0Q3VycmVudFVzZXJGYWlsdXJlQWN0aW9uLFxuICBnZXRDdXJyZW50VXNlclN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RVc2VyTm90aWZpY2F0aW9uc0FjdGlvbixcbiAgbGlzdFVzZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbixcbiAgbGlzdFVzZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbixcbiAgcmVzZXRQYXNzd29yZEFjdGlvbixcbiAgcmVzZXRQYXNzd29yZEZhaWx1cmVBY3Rpb24sXG4gIHJlc2V0UGFzc3dvcmRTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZTJGQUNvZGVVc2VyQWN0aW9uLFxuICByZXRyaWV2ZTJGQUNvZGVVc2VyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmUyRkFDb2RlVXNlclN1Y2Nlc3NBY3Rpb24sXG4gIHVwZGF0ZUN1cnJlbnRVc2VyQWN0aW9uLFxuICB1cGRhdGVDdXJyZW50VXNlckZhaWx1cmVBY3Rpb24sXG4gIHVwZGF0ZUN1cnJlbnRVc2VyU3VjY2Vzc0FjdGlvbixcbiAgdmVyaWZ5MkZBVXNlckFjdGlvbixcbiAgdmVyaWZ5MkZBVXNlckZhaWx1cmVBY3Rpb24sXG4gIHZlcmlmeTJGQVVzZXJTdWNjZXNzQWN0aW9uLFxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGNvbmNhdE1hcCwgZXhoYXVzdE1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWN0aXZhdGVVc2VySW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgdXNlclNlcnZpY2UgPSBpbmplY3QoVXNlclNlcnZpY2UpO1xuICBwcml2YXRlIHVzZXJOb3RpZmljYXRpb25TZXJ2aWNlID0gaW5qZWN0KFVzZXJOb3RpZmljYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIGFjdGl2YXRlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGFjdGl2YXRlVXNlckFjdGlvbiksXG4gICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICBwYXlsb2FkOiBBY3RpdmF0ZVVzZXJJbnRlcmZhY2VcbiAgICB9KSA9PiB0aGlzLnVzZXJTZXJ2aWNlLmFjdGl2YXRlVXNlcihwYXlsb2FkLnVpZGI2NCwgcGF5bG9hZC50b2tlbikucGlwZShcbiAgICAgIG1hcCgodmFsdWU6IGJvb2xlYW4pID0+IHZhbHVlID8gYWN0aXZhdGVVc2VyU3VjY2Vzc0FjdGlvbigpIDogYWN0aXZhdGVVc2VyRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoYWN0aXZhdGVVc2VyRmFpbHVyZUFjdGlvbigpKSksXG4gICAgKSlcbiAgKSk7XG5cbiAgYWN0aXZhdGUyZmEkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoYWN0aXZhdGUyRkFVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogc3RyaW5nIH0pID0+IHRoaXMudXNlclNlcnZpY2UuYWN0aXZhdGUyZmEocGF5bG9hZCkucGlwZShcbiAgICAgIG1hcCgoKSA9PiBhY3RpdmF0ZTJGQVVzZXJTdWNjZXNzQWN0aW9uKCkpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoYWN0aXZhdGUyRkFVc2VyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyfSkpKSxcbiAgICApKVxuICApKTtcblxuICBjcmVhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoY3JlYXRlVXNlckFjdGlvbiksXG4gICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IE5ld0FjY291bnRJbnRlcmZhY2UgfSkgPT4gdGhpcy51c2VyU2VydmljZS5jcmVhdGVVc2VyKHBheWxvYWQpLnBpcGUoXG4gICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVVc2VyU3VjY2Vzc0FjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjcmVhdGVVc2VyRmFpbHVyZUFjdGlvbihcbiAgICAgICAgICB7cGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pfVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKGNyZWF0ZVVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICApKVxuICApKTtcblxuICBkZWFjdGl2YXRlMmZhJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGRlYWN0aXZhdGUyRkFVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMudXNlclNlcnZpY2UuZGVhY3RpdmF0ZTJmYSgpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gZGVhY3RpdmF0ZTJGQVVzZXJTdWNjZXNzQWN0aW9uKCkpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZGVhY3RpdmF0ZTJGQVVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJ9KSkpLFxuICAgICkpXG4gICkpO1xuXG4gIGRlbGV0ZUN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoZGVsZXRlQ3VycmVudFVzZXJBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy51c2VyU2VydmljZS5yZW1vdmVDdXJyZW50VXNlcigpLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIGRlbGV0ZUN1cnJlbnRVc2VyU3VjY2Vzc0FjdGlvbigpLFxuICAgICAgICAgICAgICBjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKClcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGRlbGV0ZUN1cnJlbnRVc2VyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtzdGF0dXM6IDQwMH0pfSksXG4gICAgICAgICAgXTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZGVsZXRlQ3VycmVudFVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgIClcbiAgICApXG4gICkpO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoZ2V0Q3VycmVudFVzZXJBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLnBpcGUoXG4gICAgICBtYXAoKHVzZXI6IFVzZXIpID0+IGdldEN1cnJlbnRVc2VyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdXNlcn0pKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZ2V0Q3VycmVudFVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICApKVxuICApKTtcblxuICBsaXN0Tm90aWZpY2F0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShsaXN0VXNlck5vdGlmaWNhdGlvbnNBY3Rpb24pLFxuICAgIGNvbmNhdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLmZldGNoQWxsTm90aWZpY2F0aW9ucyhwYXlsb2FkKS5waXBlKFxuICAgICAgbWFwKChhbGxOb3RpZmljYXRpb25zOiBVc2VyTm90aWZpY2F0aW9uW10pID0+IGxpc3RVc2VyTm90aWZpY2F0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGFsbE5vdGlmaWNhdGlvbnN9KSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RVc2VyTm90aWZpY2F0aW9uc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICkpXG4gICkpO1xuXG4gIHJlc2V0UGFzc3dvcmQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUocmVzZXRQYXNzd29yZEFjdGlvbiksXG4gICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLnVzZXJTZXJ2aWNlLnJlc2V0UGFzc3dvcmQocGF5bG9hZCkucGlwZShcbiAgICAgIG1hcCgodmFsdWU6IGJvb2xlYW4pID0+IHZhbHVlID8gcmVzZXRQYXNzd29yZFN1Y2Nlc3NBY3Rpb24oKSA6IHJlc2V0UGFzc3dvcmRGYWlsdXJlQWN0aW9uKCkpXG4gICAgKSlcbiAgKSk7XG5cbiAgcmV0cmlldmUyZmFDb2RlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKHJldHJpZXZlMkZBQ29kZVVzZXJBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy51c2VyU2VydmljZS5yZXRyaWV2ZTJmYUNvZGUoKS5waXBlKFxuICAgICAgbWFwKCh2YWx1ZTogUmV0cmlldmUyZmEpID0+IHJldHJpZXZlMkZBQ29kZVVzZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB2YWx1ZX0pKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlMkZBQ29kZVVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJ9KSkpLFxuICAgICkpXG4gICkpO1xuXG4gIHVwZGF0ZUN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUodXBkYXRlQ3VycmVudFVzZXJBY3Rpb24pLFxuICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBVc2VyIH0pID0+IHRoaXMudXNlclNlcnZpY2UudXBkYXRlQ3VycmVudFVzZXIocGF5bG9hZCkucGlwZShcbiAgICAgIG1hcCgodXNlcjogVXNlcikgPT4gdXBkYXRlQ3VycmVudFVzZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB1c2VyfSkpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih1cGRhdGVDdXJyZW50VXNlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICkpXG4gICkpO1xuXG4gIHZlcmlmeTJmYSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZSh2ZXJpZnkyRkFVc2VyQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogc3RyaW5nIH0pID0+IHRoaXMudXNlclNlcnZpY2UudmVyaWZ5MmZhQ29kZShwYXlsb2FkKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKCkgPT4gW1xuICAgICAgICB2ZXJpZnkyRkFVc2VyU3VjY2Vzc0FjdGlvbigpLFxuICAgICAgICBnZXRDdXJyZW50VXNlckFjdGlvbigpXG4gICAgICBdKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHZlcmlmeTJGQVVzZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJ9KSkpLFxuICAgICkpXG4gICkpO1xuXG4gIHByaXZhdGUgZmV0Y2hBbGxOb3RpZmljYXRpb25zKGNsdWJJZDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlciA9IDAsIGNvbGxlY3RlZE5vdGlmaWNhdGlvbnM6IFVzZXJOb3RpZmljYXRpb25bXSA9IFtdKTogT2JzZXJ2YWJsZTxVc2VyTm90aWZpY2F0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyTm90aWZpY2F0aW9uU2VydmljZS5nZXRVc2VyTm90aWZpY2F0aW9ucyhjbHViSWQsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248VXNlck5vdGlmaWNhdGlvbj4pID0+IHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9ucyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTm90aWZpY2F0aW9ucyA9IGNvbGxlY3RlZE5vdGlmaWNhdGlvbnMuY29uY2F0KG5vdGlmaWNhdGlvbnMpO1xuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIC8vIENvbnRpbnVlIGZldGNoaW5nIHRoZSBuZXh0IHBhZ2VcbiAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaEFsbE5vdGlmaWNhdGlvbnMoY2x1YklkLCBvZmZzZXQgKyBub3RpZmljYXRpb25zLmxlbmd0aCwgYWxsTm90aWZpY2F0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTm8gbW9yZSBwYWdlcyB0byBmZXRjaFxuICAgICAgICAgIHJldHVybiBvZihhbGxOb3RpZmljYXRpb25zKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { createReducer, on } from '@ngrx/store';
2
2
  import { initialAuthState } from '../state';
3
- import { clearAuthenticationSuccessAction, getCurrentAuthAction, getCurrentAuthSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsSuccessAction } from '../actions';
3
+ import { clearAuthenticationSuccessAction, clearCurrentAuthSuccessAction, getCurrentAuthAction, getCurrentAuthSuccessAction, listAuthAction, listAuthFailureAction, listAuthSuccessAction, listAuthTeamsAction, listAuthTeamsSuccessAction } from '../actions';
4
4
  import { listLoadFailure, listLoadSuccess, listStartLoading, retrieveLoadSuccess, retrieveStartLoading } from './reducer-helpers';
5
5
  // Helper function to update the teams for a specific auth
6
6
  function updateAuthTeams(state, payload) {
@@ -26,7 +26,7 @@ function updateAuthTeams(state, payload) {
26
26
  }
27
27
  return state;
28
28
  }
29
- export const authReducer = createReducer(initialAuthState, on(clearAuthenticationSuccessAction, state => ({
29
+ export const authReducer = createReducer(initialAuthState, on(clearAuthenticationSuccessAction, clearCurrentAuthSuccessAction, state => ({
30
30
  ...state,
31
31
  currentAuth: undefined,
32
32
  auths: undefined
@@ -49,4 +49,4 @@ export const authReducer = createReducer(initialAuthState, on(clearAuthenticatio
49
49
  ...state,
50
50
  auths: { ...state.auths || listStartLoading(), loading: true }
51
51
  })), on(listAuthTeamsSuccessAction, (state, { payload }) => updateAuthTeams(state, payload)));
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9hdXRoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixjQUFjLEVBQ2QscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsMEJBQTBCLEVBQzNCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsMERBQTBEO0FBQzFELFNBQVMsZUFBZSxDQUFDLEtBQWdCLEVBQUUsT0FBYTtJQUN0RCxJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwRixJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sYUFBYSxHQUFHO2dCQUNwQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO2dCQUN0QztvQkFDRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztvQkFDN0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2lCQUNyQjtnQkFDRCxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixLQUFLLEVBQUU7b0JBQ0wsR0FBRyxLQUFLLENBQUMsS0FBSztvQkFDZCxPQUFPLEVBQUUsYUFBYTtpQkFDdkI7YUFDRixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUN0QyxnQkFBZ0IsRUFDaEIsRUFBRSxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QyxHQUFHLEtBQUs7SUFDUixXQUFXLEVBQUUsU0FBUztJQUN0QixLQUFLLEVBQUUsU0FBUztDQUNqQixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLEdBQUcsS0FBSztJQUNSLFdBQVcsRUFBRSxvQkFBb0IsRUFBUTtDQUMxQyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxHQUFHLEtBQUs7SUFDUixXQUFXLEVBQUUsbUJBQW1CLENBQUMsT0FBTyxDQUFDO0NBQzFDLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNCLEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxnQkFBZ0IsRUFBUTtDQUNoQyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsZUFBZSxDQUFPLE9BQU8sQ0FBQztDQUN0QyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRCxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQztDQUNoQyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLEdBQUcsS0FBSztJQUNSLEtBQUssRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxnQkFBZ0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7Q0FDL0QsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLDBCQUEwQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFtQixFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3pHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEF1dGhTdGF0ZSwgaW5pdGlhbEF1dGhTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7XG4gIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aEFjdGlvbixcbiAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uLFxuICBsaXN0QXV0aEFjdGlvbixcbiAgbGlzdEF1dGhGYWlsdXJlQWN0aW9uLFxuICBsaXN0QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgQXV0aCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBsaXN0TG9hZEZhaWx1cmUsXG4gIGxpc3RMb2FkU3VjY2VzcyxcbiAgbGlzdFN0YXJ0TG9hZGluZyxcbiAgcmV0cmlldmVMb2FkU3VjY2VzcyxcbiAgcmV0cmlldmVTdGFydExvYWRpbmdcbn0gZnJvbSAnLi9yZWR1Y2VyLWhlbHBlcnMnO1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB0ZWFtcyBmb3IgYSBzcGVjaWZpYyBhdXRoXG5mdW5jdGlvbiB1cGRhdGVBdXRoVGVhbXMoc3RhdGU6IEF1dGhTdGF0ZSwgcGF5bG9hZDogQXV0aCk6IEF1dGhTdGF0ZSB7XG4gIGlmIChzdGF0ZS5hdXRocyAmJiBzdGF0ZS5hdXRocy5yZXN1bHRzICE9PSBudWxsKSB7XG4gICAgY29uc3QgaW5kZXggPSBzdGF0ZS5hdXRocy5yZXN1bHRzLmZpbmRJbmRleCgoYXV0aDogQXV0aCkgPT4gYXV0aC5pZCA9PT0gcGF5bG9hZC5pZCk7XG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICBjb25zdCB1cGRhdGVkUmVzdWx0ID0gW1xuICAgICAgICAuLi5zdGF0ZS5hdXRocy5yZXN1bHRzLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLnN0YXRlLmF1dGhzLnJlc3VsdHNbaW5kZXhdLFxuICAgICAgICAgIHRlYW1zOiBwYXlsb2FkLnRlYW1zXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnN0YXRlLmF1dGhzLnJlc3VsdHMuc2xpY2UoaW5kZXggKyAxKVxuICAgICAgXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBhdXRoczoge1xuICAgICAgICAgIC4uLnN0YXRlLmF1dGhzLFxuICAgICAgICAgIHJlc3VsdHM6IHVwZGF0ZWRSZXN1bHRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG5leHBvcnQgY29uc3QgYXV0aFJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBpbml0aWFsQXV0aFN0YXRlLFxuICBvbihjbGVhckF1dGhlbnRpY2F0aW9uU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogdW5kZWZpbmVkLFxuICAgIGF1dGhzOiB1bmRlZmluZWRcbiAgfSkpLFxuICBvbihnZXRDdXJyZW50QXV0aEFjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogcmV0cmlldmVTdGFydExvYWRpbmc8QXV0aD4oKVxuICB9KSksXG4gIG9uKGdldEN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbiwgKHN0YXRlLCB7IHBheWxvYWQgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogcmV0cmlldmVMb2FkU3VjY2VzcyhwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RBdXRoQWN0aW9uLCBzdGF0ZSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGF1dGhzOiBsaXN0U3RhcnRMb2FkaW5nPEF1dGg+KClcbiAgfSkpLFxuICBvbihsaXN0QXV0aEZhaWx1cmVBY3Rpb24sIChzdGF0ZSwgeyBwYXlsb2FkIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYXV0aHM6IGxpc3RMb2FkRmFpbHVyZTxBdXRoPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RBdXRoU3VjY2Vzc0FjdGlvbiwgKHN0YXRlLCB7IHBheWxvYWQgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoczogbGlzdExvYWRTdWNjZXNzKHBheWxvYWQpXG4gIH0pKSxcbiAgb24obGlzdEF1dGhUZWFtc0FjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoczogeyAuLi5zdGF0ZS5hdXRocyB8fCBsaXN0U3RhcnRMb2FkaW5nKCksIGxvYWRpbmc6IHRydWUgfVxuICB9KSksXG4gIG9uKGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLCAoc3RhdGUsIHsgcGF5bG9hZCB9OiB7cGF5bG9hZDogQXV0aH0pID0+IHVwZGF0ZUF1dGhUZWFtcyhzdGF0ZSwgcGF5bG9hZCkpXG4pO1xuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9yZWR1Y2Vycy9hdXRoLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFhLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMzQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQ0wsZUFBZSxFQUNmLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNyQixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLDBEQUEwRDtBQUMxRCxTQUFTLGVBQWUsQ0FBQyxLQUFnQixFQUFFLE9BQWE7SUFDdEQsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2hELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEYsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixNQUFNLGFBQWEsR0FBRztnQkFDcEIsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztnQkFDdEM7b0JBQ0UsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7b0JBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztpQkFDckI7Z0JBQ0QsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUN4QyxDQUFDO1lBQ0YsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsS0FBSyxFQUFFO29CQUNMLEdBQUcsS0FBSyxDQUFDLEtBQUs7b0JBQ2QsT0FBTyxFQUFFLGFBQWE7aUJBQ3ZCO2FBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FDdEMsZ0JBQWdCLEVBQ2hCLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUUsR0FBRyxLQUFLO0lBQ1IsV0FBVyxFQUFFLFNBQVM7SUFDdEIsS0FBSyxFQUFFLFNBQVM7Q0FDakIsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxHQUFHLEtBQUs7SUFDUixXQUFXLEVBQUUsb0JBQW9CLEVBQVE7Q0FDMUMsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsR0FBRyxLQUFLO0lBQ1IsV0FBVyxFQUFFLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztDQUMxQyxDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQixHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsZ0JBQWdCLEVBQVE7Q0FDaEMsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsR0FBRyxLQUFLO0lBQ1IsS0FBSyxFQUFFLGVBQWUsQ0FBTyxPQUFPLENBQUM7Q0FDdEMsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakQsR0FBRyxLQUFLO0lBQ1IsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUM7Q0FDaEMsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoQyxHQUFHLEtBQUs7SUFDUixLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksZ0JBQWdCLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO0NBQy9ELENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBbUIsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUN6RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdXRoU3RhdGUsIGluaXRpYWxBdXRoU3RhdGUgfSBmcm9tICcuLi9zdGF0ZSc7XG5pbXBvcnQge1xuICBjbGVhckF1dGhlbnRpY2F0aW9uU3VjY2Vzc0FjdGlvbixcbiAgY2xlYXJDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoQWN0aW9uLFxuICBsaXN0QXV0aEZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc1N1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIGxpc3RMb2FkRmFpbHVyZSxcbiAgbGlzdExvYWRTdWNjZXNzLFxuICBsaXN0U3RhcnRMb2FkaW5nLFxuICByZXRyaWV2ZUxvYWRTdWNjZXNzLFxuICByZXRyaWV2ZVN0YXJ0TG9hZGluZ1xufSBmcm9tICcuL3JlZHVjZXItaGVscGVycyc7XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byB1cGRhdGUgdGhlIHRlYW1zIGZvciBhIHNwZWNpZmljIGF1dGhcbmZ1bmN0aW9uIHVwZGF0ZUF1dGhUZWFtcyhzdGF0ZTogQXV0aFN0YXRlLCBwYXlsb2FkOiBBdXRoKTogQXV0aFN0YXRlIHtcbiAgaWYgKHN0YXRlLmF1dGhzICYmIHN0YXRlLmF1dGhzLnJlc3VsdHMgIT09IG51bGwpIHtcbiAgICBjb25zdCBpbmRleCA9IHN0YXRlLmF1dGhzLnJlc3VsdHMuZmluZEluZGV4KChhdXRoOiBBdXRoKSA9PiBhdXRoLmlkID09PSBwYXlsb2FkLmlkKTtcblxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZWRSZXN1bHQgPSBbXG4gICAgICAgIC4uLnN0YXRlLmF1dGhzLnJlc3VsdHMuc2xpY2UoMCwgaW5kZXgpLFxuICAgICAgICB7XG4gICAgICAgICAgLi4uc3RhdGUuYXV0aHMucmVzdWx0c1tpbmRleF0sXG4gICAgICAgICAgdGVhbXM6IHBheWxvYWQudGVhbXNcbiAgICAgICAgfSxcbiAgICAgICAgLi4uc3RhdGUuYXV0aHMucmVzdWx0cy5zbGljZShpbmRleCArIDEpXG4gICAgICBdO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGF1dGhzOiB7XG4gICAgICAgICAgLi4uc3RhdGUuYXV0aHMsXG4gICAgICAgICAgcmVzdWx0czogdXBkYXRlZFJlc3VsdFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RhdGU7XG59XG5cbmV4cG9ydCBjb25zdCBhdXRoUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxBdXRoU3RhdGUsXG4gIG9uKGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uLCBjbGVhckN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogdW5kZWZpbmVkLFxuICAgIGF1dGhzOiB1bmRlZmluZWRcbiAgfSkpLFxuICBvbihnZXRDdXJyZW50QXV0aEFjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogcmV0cmlldmVTdGFydExvYWRpbmc8QXV0aD4oKVxuICB9KSksXG4gIG9uKGdldEN1cnJlbnRBdXRoU3VjY2Vzc0FjdGlvbiwgKHN0YXRlLCB7IHBheWxvYWQgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50QXV0aDogcmV0cmlldmVMb2FkU3VjY2VzcyhwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RBdXRoQWN0aW9uLCBzdGF0ZSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGF1dGhzOiBsaXN0U3RhcnRMb2FkaW5nPEF1dGg+KClcbiAgfSkpLFxuICBvbihsaXN0QXV0aEZhaWx1cmVBY3Rpb24sIChzdGF0ZSwgeyBwYXlsb2FkIH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYXV0aHM6IGxpc3RMb2FkRmFpbHVyZTxBdXRoPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RBdXRoU3VjY2Vzc0FjdGlvbiwgKHN0YXRlLCB7IHBheWxvYWQgfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoczogbGlzdExvYWRTdWNjZXNzKHBheWxvYWQpXG4gIH0pKSxcbiAgb24obGlzdEF1dGhUZWFtc0FjdGlvbiwgc3RhdGUgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhdXRoczogeyAuLi5zdGF0ZS5hdXRocyB8fCBsaXN0U3RhcnRMb2FkaW5nKCksIGxvYWRpbmc6IHRydWUgfVxuICB9KSksXG4gIG9uKGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLCAoc3RhdGUsIHsgcGF5bG9hZCB9OiB7cGF5bG9hZDogQXV0aH0pID0+IHVwZGF0ZUF1dGhUZWFtcyhzdGF0ZSwgcGF5bG9hZCkpXG4pO1xuIl19