@the-liberators/ngx-scrumteamsurvey-tools 2.2.84 → 2.2.86

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 (159) hide show
  1. package/esm2022/lib/actions/actions.module.mjs +4 -4
  2. package/esm2022/lib/actions/components/action-list/action-list.component.mjs +3 -3
  3. package/esm2022/lib/actions/components/action-manage/action-manage.component.mjs +3 -3
  4. package/esm2022/lib/actions/components/action-tile/action-tile.component.mjs +3 -3
  5. package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.component.mjs +3 -3
  6. package/esm2022/lib/actions/dialogs/dialog-export-actions/dialog-export-actions.directive.mjs +3 -3
  7. package/esm2022/lib/actions/dialogs/dialog-filters/dialog-filters.component.mjs +6 -6
  8. package/esm2022/lib/actions/dialogs/dialog-manageaction/dialog-manageaction.component.mjs +9 -9
  9. package/esm2022/lib/actions/pipes/interventionOwnerToString.pipe.mjs +3 -3
  10. package/esm2022/lib/actions/pipes/interventionStateToString.pipe.mjs +3 -3
  11. package/esm2022/lib/actions/pipes/interventionTypeToString.pipe.mjs +3 -3
  12. package/esm2022/lib/actions/services/actionClientConfig.mjs +3 -3
  13. package/esm2022/lib/actions/services/actionService.mjs +3 -3
  14. package/esm2022/lib/add-calendar/ng-add-to-calendar.module.mjs +4 -4
  15. package/esm2022/lib/add-calendar/service/ng-add-to-calendar.service.mjs +3 -3
  16. package/esm2022/lib/alerts/alerts.module.mjs +4 -4
  17. package/esm2022/lib/alerts/components/alerts-list/alerts.component.mjs +3 -3
  18. package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.component.mjs +3 -3
  19. package/esm2022/lib/alerts/components/dialog-alerts/dialog-alerts.directive.mjs +3 -3
  20. package/esm2022/lib/alerts/services/alertClientConfig.mjs +3 -3
  21. package/esm2022/lib/alerts/services/alerts.service.mjs +3 -3
  22. package/esm2022/lib/apiUrlToken.mjs +3 -3
  23. package/esm2022/lib/branding/brandBackground.directive.mjs +3 -3
  24. package/esm2022/lib/branding/brandConditionalBackgroundColor.directive.mjs +3 -3
  25. package/esm2022/lib/branding/brandConditionalColor.directive.mjs +3 -3
  26. package/esm2022/lib/branding/brandHoverColor.directive.mjs +3 -3
  27. package/esm2022/lib/branding/branding.module.mjs +4 -4
  28. package/esm2022/lib/branding/brandingProvider.service.mjs +3 -3
  29. package/esm2022/lib/branding/components/site-default-footer/site-default-footer.component.mjs +3 -3
  30. package/esm2022/lib/branding/components/site-default-header/site-default-header.component.mjs +3 -3
  31. package/esm2022/lib/branding/components/site-micro-footer/site-micro-footer.component.mjs +3 -3
  32. package/esm2022/lib/community/community.module.mjs +4 -4
  33. package/esm2022/lib/community/components/gethelp-form/gethelp-form.component.mjs +3 -3
  34. package/esm2022/lib/community/components/meetups/meetups.component.mjs +3 -3
  35. package/esm2022/lib/community/components/recentcontent/recentcontent.component.mjs +3 -3
  36. package/esm2022/lib/community/services/communityClientConfig.mjs +3 -3
  37. package/esm2022/lib/componentBase.mjs +3 -3
  38. package/esm2022/lib/componentWithViewStateBase.mjs +3 -3
  39. package/esm2022/lib/components/checkbox/checkbox.component.mjs +3 -3
  40. package/esm2022/lib/components/checkbox/checkbox.module.mjs +4 -4
  41. package/esm2022/lib/components/expand/expand.component.mjs +3 -3
  42. package/esm2022/lib/components/expand/expand.module.mjs +4 -4
  43. package/esm2022/lib/components/loading/loading.component.mjs +3 -3
  44. package/esm2022/lib/components/loading/loading.module.mjs +4 -4
  45. package/esm2022/lib/components/mat-tags/mat-tags.component.mjs +3 -3
  46. package/esm2022/lib/components/mat-tags/mat-tags.module.mjs +4 -4
  47. package/esm2022/lib/components/paginator/paginator.component.mjs +3 -3
  48. package/esm2022/lib/components/paginator/paginator.module.mjs +4 -4
  49. package/esm2022/lib/components/scale-selector/scale-selector.component.mjs +3 -3
  50. package/esm2022/lib/components/scale-selector/scale-selector.module.mjs +4 -4
  51. package/esm2022/lib/dialogs/dialog-account/account.service.mjs +3 -3
  52. package/esm2022/lib/dialogs/dialog-account/dialog-account.component.mjs +6 -6
  53. package/esm2022/lib/dialogs/dialog-account/dialog-account.module.mjs +4 -4
  54. package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.component.mjs +6 -6
  55. package/esm2022/lib/dialogs/dialog-factorinformation/dialog-factorinformation.module.mjs +4 -4
  56. package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.component.mjs +6 -6
  57. package/esm2022/lib/dialogs/dialog-resourcedownload/dialog-resourcedownload.module.mjs +4 -4
  58. package/esm2022/lib/dialogs/dialog-resourcedownload/resourceDownload.service.mjs +3 -3
  59. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.component.mjs +3 -3
  60. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.directive.mjs +3 -3
  61. package/esm2022/lib/dialogs/dialog-subscribe/dialog-subscribe.module.mjs +4 -4
  62. package/esm2022/lib/dialogs/dialog-support/contactService.service.mjs +3 -3
  63. package/esm2022/lib/dialogs/dialog-support/dialog-support.component.mjs +3 -3
  64. package/esm2022/lib/dialogs/dialog-support/dialog-support.directive.mjs +15 -15
  65. package/esm2022/lib/dialogs/dialog-support/dialog-support.module.mjs +4 -4
  66. package/esm2022/lib/directives/backbutton/backbutton.directive.mjs +3 -3
  67. package/esm2022/lib/directives/backbutton/backbutton.module.mjs +4 -4
  68. package/esm2022/lib/directives/guards/guards.module.mjs +4 -4
  69. package/esm2022/lib/directives/guards/validChangeTokenGuard.mjs +3 -3
  70. package/esm2022/lib/directives/guards/validKeyGuard.mjs +3 -3
  71. package/esm2022/lib/directives/guards/validSnapshotKeyGuard.mjs +3 -3
  72. package/esm2022/lib/directives/guards/validTeamKeyGuard.mjs +3 -3
  73. package/esm2022/lib/errorhandling/errorHandler.mjs +3 -3
  74. package/esm2022/lib/errorhandling/errorService.module.mjs +4 -4
  75. package/esm2022/lib/errorhandling/errorServiceConfig.mjs +3 -3
  76. package/esm2022/lib/guides/components/imageslider/imageslider.component.mjs +3 -3
  77. package/esm2022/lib/guides/components/resumeguidehover/resumeguidehover.component.mjs +3 -3
  78. package/esm2022/lib/guides/dialogs/dialog-guide/dialog-guide.component.mjs +6 -6
  79. package/esm2022/lib/guides/dialogs/dialog-guides/dialog-guides.component.mjs +6 -6
  80. package/esm2022/lib/guides/directives/startguide/startguide.directive.mjs +3 -3
  81. package/esm2022/lib/guides/guides.module.mjs +4 -4
  82. package/esm2022/lib/guides/services/guidePopup.service.mjs +3 -3
  83. package/esm2022/lib/guides/services/guideStateInBackEnd.service.mjs +3 -3
  84. package/esm2022/lib/guides/services/guideStateInBrowser.service.mjs +3 -3
  85. package/esm2022/lib/guides/services/guidesClientConfig.mjs +3 -3
  86. package/esm2022/lib/pipes/callback/callback.module.mjs +4 -4
  87. package/esm2022/lib/pipes/callback/callback.pipe.mjs +3 -3
  88. package/esm2022/lib/pipes/dateRange/ngx-dateRange.module.mjs +4 -4
  89. package/esm2022/lib/pipes/dateRange/ngx-dateRange.pipe.mjs +3 -3
  90. package/esm2022/lib/pipes/segmentName/segmentName.module.mjs +4 -4
  91. package/esm2022/lib/pipes/segmentName/segmentName.pipe.mjs +3 -3
  92. package/esm2022/lib/pipes/slugify/ngx-slugify.module.mjs +4 -4
  93. package/esm2022/lib/pipes/slugify/ngx-slugify.pipe.mjs +3 -3
  94. package/esm2022/lib/results/components/age-indicator/age-indicator.component.mjs +3 -3
  95. package/esm2022/lib/results/components/arrow/arrow.component.mjs +3 -3
  96. package/esm2022/lib/results/components/badge/badge.component.mjs +3 -3
  97. package/esm2022/lib/results/components/badge-progression/badge-progression.component.mjs +3 -3
  98. package/esm2022/lib/results/components/badge-streak/badge-streak.component.mjs +3 -3
  99. package/esm2022/lib/results/components/badges/badges.component.mjs +3 -3
  100. package/esm2022/lib/results/components/benchmark-indicator/benchmark-indicator.component.mjs +3 -3
  101. package/esm2022/lib/results/components/coachingcenter-teaser/coachingcenter-teaser.component.mjs +3 -3
  102. package/esm2022/lib/results/components/delta-arrow/delta-arrow.component.mjs +3 -3
  103. package/esm2022/lib/results/components/doityourself/doityourself.component.mjs +3 -3
  104. package/esm2022/lib/results/components/doityourselfworkshops/doityourselfworkshops.component.mjs +3 -3
  105. package/esm2022/lib/results/components/factor-axis/factor-axis.component.mjs +3 -3
  106. package/esm2022/lib/results/components/factors/factors.component.mjs +3 -3
  107. package/esm2022/lib/results/components/filter-tags/filter-tags.component.mjs +3 -3
  108. package/esm2022/lib/results/components/focusareas/focusareas.component.mjs +3 -3
  109. package/esm2022/lib/results/components/footer/footer.component.mjs +3 -3
  110. package/esm2022/lib/results/components/impact-indicator/impact-indicator.component.mjs +3 -3
  111. package/esm2022/lib/results/components/liberatorkits/liberatorkits.component.mjs +3 -3
  112. package/esm2022/lib/results/components/limitationsapply/limitationsapply.component.mjs +3 -3
  113. package/esm2022/lib/results/components/model/model.component.mjs +3 -3
  114. package/esm2022/lib/results/components/model-factor/model-factor.component.mjs +3 -3
  115. package/esm2022/lib/results/components/model-factor-breakdown/model-factor-breakdown.component.mjs +3 -3
  116. package/esm2022/lib/results/components/model-switcher/model-switcher.component.mjs +3 -3
  117. package/esm2022/lib/results/components/nav-button/nav-button.component.mjs +3 -3
  118. package/esm2022/lib/results/components/participants/participants.component.mjs +3 -3
  119. package/esm2022/lib/results/components/quicktips/quicktips.component.mjs +3 -3
  120. package/esm2022/lib/results/components/recommendation/recommendation.component.mjs +3 -3
  121. package/esm2022/lib/results/components/recommendations/recommendations.component.mjs +3 -3
  122. package/esm2022/lib/results/components/research/research.component.mjs +3 -3
  123. package/esm2022/lib/results/components/roadmap/roadmap.component.mjs +3 -3
  124. package/esm2022/lib/results/components/teamdashboard-teaser/teamdashboard-teaser.component.mjs +3 -3
  125. package/esm2022/lib/results/components/teameffectiveness/teameffectiveness.component.mjs +3 -3
  126. package/esm2022/lib/results/components/termsupdated/termsupdated.component.mjs +3 -3
  127. package/esm2022/lib/results/components/tip-badge/tip-badge.component.mjs +3 -3
  128. package/esm2022/lib/results/components/trends/trends.component.mjs +3 -3
  129. package/esm2022/lib/results/components/update-in-progress/update-in-progress.component.mjs +3 -3
  130. package/esm2022/lib/results/components/userprofile/userprofile.component.mjs +3 -3
  131. package/esm2022/lib/results/components/video/video.component.mjs +3 -3
  132. package/esm2022/lib/results/components/widget-factorscore/widget-factorscore.component.mjs +3 -3
  133. package/esm2022/lib/results/components/widget-participationrate/widget-participationrate.component.mjs +3 -3
  134. package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.component.mjs +3 -3
  135. package/esm2022/lib/results/dialogs/dialog-export-factorscores/dialog-export-factorscores.directive.mjs +3 -3
  136. package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.component.mjs +3 -3
  137. package/esm2022/lib/results/dialogs/dialog-export-teamlist/dialog-export-teamlist.directive.mjs +3 -3
  138. package/esm2022/lib/results/dialogs/dialog-modelfilter/dialog-modelfilter.component.mjs +6 -6
  139. package/esm2022/lib/results/dialogs/dialog-notes/dialog-notes.component.mjs +6 -6
  140. package/esm2022/lib/results/dialogs/dialog-settings/dialog-settings.component.mjs +13 -14
  141. package/esm2022/lib/results/results.module.mjs +4 -4
  142. package/esm2022/lib/results/services/account.service.mjs +3 -3
  143. package/esm2022/lib/results/services/dimissPopupService.mjs +3 -3
  144. package/esm2022/lib/results/services/exportService.mjs +3 -3
  145. package/esm2022/lib/results/services/factorService.mjs +3 -3
  146. package/esm2022/lib/results/services/resultsClientConfig.mjs +3 -3
  147. package/esm2022/lib/results/services/terms.service.mjs +3 -3
  148. package/esm2022/lib/results/services/trend.service.mjs +3 -3
  149. package/esm2022/lib/results/services/userProfile.service.mjs +3 -3
  150. package/esm2022/lib/viewModel/reloadStrategies/noReloadStrategy.mjs +3 -3
  151. package/esm2022/lib/viewModel/reloadStrategies/reloadOnPushStrategy.mjs +3 -3
  152. package/esm2022/lib/viewModel/services/sessionIdInterceptor.service.mjs +3 -3
  153. package/esm2022/lib/viewModel/services/sessionIdProvider.service.mjs +3 -3
  154. package/esm2022/lib/viewModel/userSettings.service.mjs +3 -3
  155. package/esm2022/lib/viewModel/viewModelState.module.mjs +4 -4
  156. package/esm2022/lib/viewModel/viewModelStateConfig.mjs +3 -3
  157. package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs +540 -540
  158. package/fesm2022/the-liberators-ngx-scrumteamsurvey-tools.mjs.map +1 -1
  159. package/package.json +7 -7
@@ -13,11 +13,10 @@ import * as i3 from "../../../viewModel/userSettings.service";
13
13
  import * as i4 from "@angular/material/snack-bar";
14
14
  import * as i5 from "@angular/forms";
15
15
  import * as i6 from "@angular/common";
16
- import * as i7 from "@angular/material/tooltip";
17
- import * as i8 from "@angular/material/core";
18
- import * as i9 from "@angular/material/form-field";
19
- import * as i10 from "@angular/material/select";
20
- import * as i11 from "../../../viewModel/viewModelState.service";
16
+ import * as i7 from "@angular/material/core";
17
+ import * as i8 from "@angular/material/form-field";
18
+ import * as i9 from "@angular/material/select";
19
+ import * as i10 from "../../../viewModel/viewModelState.service";
21
20
  export class DialogSettingsComponent extends ComponentWithViewStateBase {
22
21
  constructor(dialogRef, factorService, userSettingsService, snackBar, formBuilder, state) {
23
22
  super(state, snackBar);
@@ -128,13 +127,13 @@ export class DialogSettingsComponent extends ComponentWithViewStateBase {
128
127
  ];
129
128
  }
130
129
  ;
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DialogSettingsComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FactorService }, { token: i3.UserSettingService }, { token: i4.MatSnackBar }, { token: i5.FormBuilder }, { token: VIEWSTATE_PROVIDER }], target: i0.ɵɵFactoryTarget.Component }); }
132
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: DialogSettingsComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots (to merge focus snapshots)?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only show most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, combine and use most recent measure <span class=\"ph-info-fill icon\" [matTooltip]=\"'This mode uses the most recent measured score for each factor to avoid mixing outdated with fresh data. But it can lead to unreliable scores for core factors when a more recent snapshot only measures a few its sub-factors. We will be introducing a more advanced time-decay averaging algorithm soon.'\"></span></mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i7.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DialogSettingsComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FactorService }, { token: i3.UserSettingService }, { token: i4.MatSnackBar }, { token: i5.FormBuilder }, { token: VIEWSTATE_PROVIDER }], target: i0.ɵɵFactoryTarget.Component }); }
131
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: DialogSettingsComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only show most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, and use most recent measure (max 12 months back)</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i8.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLabel, selector: "mat-label" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
133
132
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DialogSettingsComponent, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DialogSettingsComponent, decorators: [{
135
134
  type: Component,
136
- args: [{ template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots (to merge focus snapshots)?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only show most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, combine and use most recent measure <span class=\"ph-info-fill icon\" [matTooltip]=\"'This mode uses the most recent measured score for each factor to avoid mixing outdated with fresh data. But it can lead to unreliable scores for core factors when a more recent snapshot only measures a few its sub-factors. We will be introducing a more advanced time-decay averaging algorithm soon.'\"></span></mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"] }]
137
- }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.FactorService }, { type: i3.UserSettingService }, { type: i4.MatSnackBar }, { type: i5.FormBuilder }, { type: i11.ViewModelStateBase, decorators: [{
135
+ args: [{ template: "<div class=\"dialog-header\">\n <h1 mat-dialog-title>Statistical Settings</h1>\n <div class=\"close\" mat-dialog-close><i class=\"responsive icon ph-x-bold\" ></i></div>\n</div>\n<mat-dialog-content>\n <form [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <mat-form-field class=\"interventionFilterType\" subscriptSizing=\"dynamic\">\n <mat-label>Which action totals do you want to see under 'Insights'?</mat-label>\n <mat-select class=\"interventionfilter-dropdown\" formControlName=\"interventionFilterType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of interventionFilterTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"qualifyBy\" subscriptSizing=\"dynamic\">\n <mat-label>What should we compare with (determines colors)?</mat-label>\n <mat-select class=\"qualifyBy-dropdown\" formControlName=\"qualifyBy\">\n <mat-option class=\"select-option\" *ngFor=\"let item of qualifyByTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"stacking\" subscriptSizing=\"dynamic\" *ngIf=\"isSingleTeam\">\n <mat-label>Combine snapshots?</mat-label>\n <mat-select class=\"stacking-dropdown\" formControlName=\"stacking\">\n <mat-option class=\"select-option\" [value]=\"'false'\">No, only show most recent snapshot</mat-option>\n <mat-option class=\"select-option\" [value]=\"'true'\">Yes, and use most recent measure (max 12 months back)</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"benchmark\" subscriptSizing=\"dynamic\">\n <mat-label>Which benchmark should we use?</mat-label>\n <mat-select class=\"benchmark-dropdown\" formControlName=\"benchmarkType\">\n <mat-option class=\"select-option\" *ngFor=\"let item of benchmarkTypes\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <div *ngIf=\"!isSubscriber\" class=\"message message-information\">\n <span class=\"ph-info-fill icon\"></span>\n Eager to see how your team compares to other benchmarks? Subscribe to unlock dozens of benchmarks, including the 'Top 100 most effective teams', benchmarks for world regions, sectors, scaling frameworks and your organization.\n </div>\n\n <ng-container *ngIf=\"!isSingleTeam\">\n <mat-form-field class=\"deltaPeriod\" subscriptSizing=\"dynamic\">\n <mat-label>Which periods should we compare?</mat-label>\n <mat-select class=\"deltaPeriod-dropdown\" formControlName=\"deltaPeriod\">\n <mat-option class=\"select-option\" *ngFor=\"let item of deltaPeriods\" [value]=\"item.value\">{{item.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"overviewFactors\" subscriptSizing=\"dynamic\">\n <mat-label>Which factors should we show in the overview?</mat-label>\n <mat-select class=\"overviewFactors-dropdown\" formControlName=\"overviewFactors\" multiple>\n <mat-option class=\"select-option\" [ngClass]=\"{'lower' : factor.lower}\" *ngFor=\"let factor of factors\" [value]=\"factor.value\">{{factor.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n\n <div class=\"toolbar\">\n <button class=\"button primary\" type=\"submit\" [ngClass]=\"{'loading': sending }\">submit</button>\n <button class=\"button\" mat-dialog-close>cancel</button>\n </div>\n </form>\n</mat-dialog-content>\n", styles: [".smallTextUppercase{font-family:StevieSansThin,sans-serif;font-style:normal;font-weight:400;font-size:15px;line-height:140%;text-transform:uppercase;line-height:100%}.errors{margin-bottom:15px}h2{font-size:30px;font-weight:600;margin-bottom:0}.mat-mdc-option.lower{margin-left:20px}.mat-dialog-content .mat-form-field{margin-bottom:30px!important}\n"] }]
136
+ }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.FactorService }, { type: i3.UserSettingService }, { type: i4.MatSnackBar }, { type: i5.FormBuilder }, { type: i10.ViewModelStateBase, decorators: [{
138
137
  type: Inject,
139
138
  args: [VIEWSTATE_PROVIDER]
140
139
  }] }] });
@@ -151,10 +150,10 @@ export class OpenSettingsDialogDirective {
151
150
  dialogConfig.data = {};
152
151
  this.dialog.open(DialogSettingsComponent, dialogConfig);
153
152
  }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: OpenSettingsDialogDirective, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
155
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: { showSettingStacking: "showSettingStacking" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OpenSettingsDialogDirective, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
154
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: OpenSettingsDialogDirective, selector: "[settingsDialog]", inputs: { showSettingStacking: "showSettingStacking" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
156
155
  }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: OpenSettingsDialogDirective, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: OpenSettingsDialogDirective, decorators: [{
158
157
  type: Directive,
159
158
  args: [{
160
159
  selector: '[settingsDialog]',
@@ -165,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
165
164
  type: HostListener,
166
165
  args: ['click']
167
166
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2RpYWxvZ3MvZGlhbG9nLXNldHRpbmdzL2RpYWxvZy1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9kaWFsb2dzL2RpYWxvZy1zZXR0aW5ncy9kaWFsb2ctc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWdDLE1BQU0saUNBQWlDLENBQUM7QUFFdkcsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQU85RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMEJBQXlDO0lBOEJuRixZQUFtQixTQUFnRCxFQUFVLGFBQTRCLEVBQVUsbUJBQXVDLEVBQVksUUFBcUIsRUFBVSxXQUF3QixFQUFzQyxLQUF3QztRQUN4UyxLQUFLLENBQUMsS0FBSyxFQUFFLFFB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QUFDO0lBQzNELENBQUM7OEdBZlMsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSHZDLFNBQVM7bUJBQUM7b0JBQ1IsUUFBUSxFQUFFLGtCQUFrQjtpQkFDOUI7OEVBRVcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQU1OLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlbGVjdExpc3RJdGVtJztcbmltcG9ydCB7IEludGVydmVudGlvbkZpbHRlclR5cGUsIE1vZGVsRmlsdGVyLCBVc2VyU2V0dGluZ3NEdG8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdXNlclNldHRpbmdzRHRvJztcbmltcG9ydCB7IFVzZXJTZXR0aW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC91c2VyU2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBWaWV3TW9kZWxTdGF0ZUJhc2UsIFZJRVdTVEFURV9QUk9WSURFUiB9IGZyb20gJy4uLy4uLy4uL3ZpZXdNb2RlbC92aWV3TW9kZWxTdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IElSZXN1bHRzU3RhdGUsIElUZWFtUmVwb3J0UmVzdWx0c1N0YXRlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVzdWx0c1N0YXRlJztcbmltcG9ydCB7IFF1YWxpZmllZEJ5RW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9mYWN0b3JTY29yZUR0byc7XG5pbXBvcnQgeyBGYWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFjdG9yU2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gICBzdHlsZVVybHM6IFsnLi9kaWFsb2ctc2V0dGluZ3MuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlPElSZXN1bHRzU3RhdGU+IHtcbiAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gICBwdWJsaWMgc2VuZGluZzogYm9vbGVhbjtcbiAgIHByaXZhdGUgc2V0dGluZ3M6IFVzZXJTZXR0aW5nc0R0bztcbiAgIHB1YmxpYyBmYWN0b3JzOiBTZWxlY3RJdGVtW107XG4gICBwdWJsaWMgaXNTaW5nbGVUZWFtOiBib29sZWFuO1xuICAgcHVibGljIGlzU3Vic2NyaWJlcjogYm9vbGVhbjtcbiAgIHB1YmxpYyBtb2RlbEZpbHRlclNldHRpbmdzOiBNb2RlbEZpbHRlcjtcbiAgIHB1YmxpYyBiZW5jaG1hcmtUeXBlczogU2VsZWN0SXRlbVtdID0gW11cbiAgIHB1YmxpYyBkZWx0YVBlcmlvZHM6IFNlbGVjdEl0ZW1bXSA9IFtcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFwiTm9uZVwiLCBcIkRvbid0IGNvbXBhcmUgKHNob3dzIHJlc3VsdHMgZnJvbSBwYXN0IDEyIG1vbnRocylcIiksXG4gICAgICBuZXcgU2VsZWN0SXRlbShcIlByZXZpb3VzTW9udGhcIiwgXCJDb21wYXJlIGN1cnJlbnQgbW9udGggd2l0aCBwcmV2aW91cyBtb250aFwiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNRdWFydGVyXCIsIFwiQ29tcGFyZSByZWNlbnQgMyBtb250aHMgd2l0aCBwcmV2aW91cyAzIG1vbnRoc1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNIYWxmWWVhclwiLCBcIkNvbXBhcmUgcmVjZW50IDYgbW9udGhzIHdpdGggcHJldmlvdXMgNiBtb250aHNcIiksXG4gICAgICBuZXcgU2VsZWN0SXRlbShcIlByZXZpb3VzWWVhclwiLCBcIkNvbXBhcmUgcmVjZW50IDEyIG1vbnRocyB3aXRoIHByZXZpb3VzIDEyIG1vbnRoc1wiKVxuICAgXVxuXG4gICBwdWJsaWMgaW50ZXJ2ZW50aW9uRmlsdGVyVHlwZXM6IFNlbGVjdEl0ZW1bXSA9IFtcbiAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuQWxsLnRvU3RyaW5nKCksIFwiU2hvdyBib3RoIG9wZW4gdnMgY29tcGxldGVkIGFjdGlvbnNcIiksXG4gICAgICBuZXcgU2VsZWN0SXRlbShJbnRlcnZlbnRpb25GaWx0ZXJUeXBlLk9ubHlPcGVuLnRvU3RyaW5nKCksIFwiU2hvdyBvbmx5IG9wZW4gYWN0aW9uc1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuT25seUNvbXBsZXRlZC50b1N0cmluZygpLCBcIlNob3cgb25seSBjb21wbGV0ZWQgYWN0aW9uc1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuTm9uZS50b1N0cmluZygpLCBcIkhpZGUgYWN0aW9uc1wiKVxuICAgXVxuXG4gICBwdWJsaWMgcXVhbGlmeUJ5VHlwZXM6IFNlbGVjdEl0ZW1bXSA9IFtcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFF1YWxpZmllZEJ5RW51bS5iZW5jaG1hcmsudG9TdHJpbmcoKSwgXCJBZ2FpbnN0IGJlbmNobWFya1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFF1YWxpZmllZEJ5RW51bS5kZWx0YS50b1N0cmluZygpLCBcIkFnYWluc3QgcHJldmlvdXMgcGVyaW9kIG9yIHNuYXBzaG90XCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLm5vbmUudG9TdHJpbmcoKSwgXCJObyBjb21wYXJpc29uXCIpLFxuICAgXVxuXG4gICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nU2V0dGluZ3NDb21wb25lbnQ+LCBwcml2YXRlIGZhY3RvclNlcnZpY2U6IEZhY3RvclNlcnZpY2UsIHByaXZhdGUgdXNlclNldHRpbmdzU2VydmljZTogVXNlclNldHRpbmdTZXJ2aWNlLCBwcm90ZWN0ZWQgc25hY2tCYXI6IE1hdFNuYWNrQmFyLCBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlciwgQEluamVjdChWSUVXU1RBVEVfUFJPVklERVIpIHByaXZhdGUgc3RhdGU6IFZpZXdNb2RlbFN0YXRlQmFzZTxJUmVzdWx0c1N0YXRlPikge1xuICAgICAgc3VwZXIoc3RhdGUsIHNuYWNrQmFyKVxuICAgfVxuXG4gICBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgIH1cblxuICAgcHVibGljIHN1Ym1pdCgpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7IHJldHVybjsgfVxuXG4gICAgICB0aGlzLnNlbmRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5zZXR0aW5ncy5nbG9iYWwuYmVuY2htYXJrID0gdGhpcy5mb3JtLmNvbnRyb2xzLmJlbmNobWFya1R5cGUudmFsdWU7XG4gICAgICB0aGlzLnNldHRpbmdzLmdsb2JhbC5kZWx0YVBlcmlvZCA9IHRoaXMuZm9ybS5jb250cm9scy5kZWx0YVBlcmlvZC52YWx1ZTtcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycyA9IHRoaXMuZm9ybS5jb250cm9scy5vdmVydmlld0ZhY3RvcnMudmFsdWU7XG4gICAgICB2YXIgb3RoZXJNb2RlbEZhY3RvcnMgPSB0aGlzLmZvcm0uY29udHJvbHMub3RoZXJNb2RlbE92ZXJ2aWV3RmFjdG9ycy52YWx1ZTtcblxuICAgICAgaWYgKG90aGVyTW9kZWxGYWN0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgIHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycyA9IHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycy5jb25jYXQob3RoZXJNb2RlbEZhY3RvcnMuZmlsdGVyKChpdGVtKSA9PiB0aGlzLnNldHRpbmdzLmdsb2JhbC5vdmVydmlld0ZhY3RvcnMuaW5kZXhPZihpdGVtKSA8IDApKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXR0aW5ncy5nbG9iYWwucXVhbGlmeUJ5ID0gdGhpcy5mb3JtLmNvbnRyb2xzLnF1YWxpZnlCeS52YWx1ZTtcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2xvYmFsLnN0YWNraW5nID0gdGhpcy5mb3JtLmNvbnRyb2xzLnN0YWNraW5nLnZhbHVlID09IFwidHJ1ZVwiID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgdGhpcy5zZXR0aW5ncy51c2VyLm1vZGVsRmlsdGVyLmludGVydmVudGlvbkZpbHRlciA9IHRoaXMuZm9ybS5jb250cm9scy5pbnRlcnZlbnRpb25GaWx0ZXJUeXBlLnZhbHVlO1xuICAgICAgdGhpcy51c2VyU2V0dGluZ3NTZXJ2aWNlLnNldCh0aGlzLnNldHRpbmdzKTtcbiAgICAgIHRoaXMuc3RhdGUuZm9yY2VkUmVsb2FkKCk7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgdGhpcy5zaG93U3VjY2VzcyhcIldlIHVwZGF0ZWQgeW91ciBzZXR0aW5ncy4gV2UgYXJlIG5vdyByZWxvYWRpbmcgdGhlIHJlc3VsdHMuXCIpO1xuICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XG4gICB9XG5cbiAgIHByaXZhdGUgY3JlYXRlRm9ybSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgZGVsdGFQZXJpb2Q6IFt7IHZhbHVlOiBcIlwiIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgYmVuY2htYXJrVHlwZTogW3sgdmFsdWU6IFwiXCIgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICBxdWFsaWZ5Qnk6IFt7IHZhbHVlOiBcIlwiIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgb3ZlcnZpZXdGYWN0b3JzOiBbeyB2YWx1ZTogbnVsbCB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgIG90aGVyTW9kZWxPdmVydmlld0ZhY3RvcnM6IFt7IHZhbHVlOiBudWxsIH1dLFxuICAgICAgICAgaW50ZXJ2ZW50aW9uRmlsdGVyVHlwZTogW3sgdmFsdWU6IG51bGwgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICBzdGFja2luZzogW3sgdmFsdWU6IFwiZmFsc2VcIiB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgfSk7XG4gICB9O1xuXG4gICBwcm90ZWN0ZWQgb25EYXRhVXBkYXRlKGRhdGE6IElSZXN1bHRzU3RhdGUpOiB2b2lkIHtcbiAgICAgIHRoaXMuc2V0dGluZ3MgPSB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2UuZ2V0KCk7XG4gICAgICB0aGlzLmlzU3Vic2NyaWJlciA9IGRhdGEuaXNTdWJzY3JpYmVyO1xuICAgICAgdGhpcy5pc1NpbmdsZVRlYW0gPSBkYXRhLnRlYW1NZXRhRGF0YSAhPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5pc1N1YnNjcmliZXIpIHtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5iZW5jaG1hcmtUeXBlLmVuYWJsZSgpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMuYmVuY2htYXJrVHlwZS5kaXNhYmxlKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYmVuY2htYXJrVHlwZXMgPSBkYXRhLmZhY3RvclNjb3Jlcy5iZW5jaG1hcmsuYXZhaWxhYmxlLm1hcChwID0+IG5ldyBTZWxlY3RJdGVtKHAua2V5LCBwLm5hbWUpKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5kZWx0YVBlcmlvZC5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmdsb2JhbC5kZWx0YVBlcmlvZCk7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuYmVuY2htYXJrVHlwZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmdsb2JhbC5iZW5jaG1hcmspO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YWNraW5nLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLnN0YWNraW5nID8gXCJ0cnVlXCIgOiBcImZhbHNlXCIpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmludGVydmVudGlvbkZpbHRlclR5cGUuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy51c2VyLm1vZGVsRmlsdGVyLmludGVydmVudGlvbkZpbHRlcik7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMucXVhbGlmeUJ5LnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLnF1YWxpZnlCeSA/PyBkYXRhLmZhY3RvclNjb3Jlcy5wcm9jZXNzaW5nRGF0YS5xdWFsaWZpZWRCeSk7XG4gICAgICB0aGlzLmZhY3RvcnMgPSB0aGlzLmZhY3RvclNlcnZpY2UudG9TZWxlY3RMaXN0KGRhdGEuZmFjdG9yU2NvcmVzLm1vZGVsU3RydWN0dXJlKTtcblxuICAgICAgaWYgKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycy5sZW5ndGggPT0gMCkge1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLm92ZXJ2aWV3RmFjdG9ycy5zZXRWYWx1ZShkYXRhLmZhY3RvclNjb3Jlcy5tb2RlbFN0cnVjdHVyZS5kZWZpbml0aW9uLmZhY3RvcnMuZmlsdGVyKHAgPT4gcC5wYXJlbnRLZXkgPT0gbnVsbCkubWFwKHAgPT4gcC5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLm92ZXJ2aWV3RmFjdG9ycy5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmdsb2JhbC5vdmVydmlld0ZhY3RvcnMpO1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLm90aGVyTW9kZWxPdmVydmlld0ZhY3RvcnMuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5nbG9iYWwub3ZlcnZpZXdGYWN0b3JzLmZpbHRlcihwID0+IHRoaXMuZmFjdG9ycy5maW5kKHggPT4geC52YWx1ZSA9PSBwKSA9PSBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGVsdGFQZXJpb2RzID0gW1xuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJOb25lXCIsIFwiRG9uJ3QgY29tcGFyZSAoc2hvd3MgcmVzdWx0cyBmcm9tIHBhc3QgMTIgbW9udGhzKVwiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNNb250aFwiLCBcIkNvbXBhcmUgY3VycmVudCBtb250aCB3aXRoIHByZXZpb3VzIG1vbnRoXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c1F1YXJ0ZXJcIiwgXCJDb21wYXJlIHJlY2VudCAzIG1vbnRocyB3aXRoIHByZXZpb3VzIDMgbW9udGhzXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c0hhbGZZZWFyXCIsIFwiQ29tcGFyZSByZWNlbnQgNiBtb250aHMgd2l0aCBwcmV2aW91cyA2IG1vbnRoc1wiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNZZWFyXCIsIFwiQ29tcGFyZSByZWNlbnQgMTIgbW9udGhzIHdpdGggcHJldmlvdXMgMTIgbW9udGhzXCIpXG4gICAgICBdXG5cbiAgICAgIHRoaXMuaW50ZXJ2ZW50aW9uRmlsdGVyVHlwZXMgPSBbXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShJbnRlcnZlbnRpb25GaWx0ZXJUeXBlLkFsbC50b1N0cmluZygpLCBcIlNob3cgYm90aCBvcGVuIHZzIGNvbXBsZXRlZCBhY3Rpb25zXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oSW50ZXJ2ZW50aW9uRmlsdGVyVHlwZS5Pbmx5T3Blbi50b1N0cmluZygpLCBcIlNob3cgb25seSBvcGVuIGFjdGlvbnNcIiksXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShJbnRlcnZlbnRpb25GaWx0ZXJUeXBlLk9ubHlDb21wbGV0ZWQudG9TdHJpbmcoKSwgXCJTaG93IG9ubHkgY29tcGxldGVkIGFjdGlvbnNcIiksXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShJbnRlcnZlbnRpb25GaWx0ZXJUeXBlLk5vbmUudG9TdHJpbmcoKSwgXCJIaWRlIGFjdGlvbnNcIilcbiAgICAgIF1cblxuICAgICAgdGhpcy5xdWFsaWZ5QnlUeXBlcyA9IFtcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKFF1YWxpZmllZEJ5RW51bS5iZW5jaG1hcmsudG9TdHJpbmcoKSwgXCJBZ2FpbnN0IGJlbmNobWFya1wiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKFF1YWxpZmllZEJ5RW51bS5kZWx0YS50b1N0cmluZygpLCB0aGlzLmlzU2luZ2xlVGVhbSA/IFwiQWdhaW5zdCBwcmV2aW91cyBzbmFwc2hvdFwiIDogXCJBZ2FpbnN0IHByZXZpb3VzIHBlcmlvZFwiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKFF1YWxpZmllZEJ5RW51bS5ub25lLnRvU3RyaW5nKCksIFwiTm8gY29tcGFyaXNvblwiKSxcbiAgICAgIF1cbiAgIH07XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgc2VsZWN0b3I6ICdbc2V0dGluZ3NEaWFsb2ddJyxcbn0pXG5leHBvcnQgY2xhc3MgT3BlblNldHRpbmdzRGlhbG9nRGlyZWN0aXZlIHtcbiAgIEBJbnB1dCgpIHNob3dTZXR0aW5nU3RhY2tpbmc6IGJvb2xlYW47XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2cpIHtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gWydkaWFsb2cnLCAnc2V0dGluZ3MnXTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5hdXRvRm9jdXMgPSBmYWxzZTtcbiAgICAgIGRpYWxvZ0NvbmZpZy5lbnRlckFuaW1hdGlvbkR1cmF0aW9uID0gMDtcbiAgICAgIGRpYWxvZ0NvbmZpZy5leGl0QW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSB7fTtcbiAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRGlhbG9nU2V0dGluZ3NDb21wb25lbnQsIGRpYWxvZ0NvbmZpZyk7XG4gICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGlhbG9nLWhlYWRlclwiPlxuICAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+U3RhdGlzdGljYWwgU2V0dGluZ3M8L2gxPlxuICAgPGRpdiBjbGFzcz1cImNsb3NlXCIgbWF0LWRpYWxvZy1jbG9zZT48aSBjbGFzcz1cInJlc3BvbnNpdmUgaWNvbiBwaC14LWJvbGRcIiA+PC9pPjwvZGl2PlxuPC9kaXY+XG48bWF0LWRpYWxvZy1jb250ZW50PlxuICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnRlcnZlbnRpb25GaWx0ZXJUeXBlXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgPG1hdC1sYWJlbD5XaGljaCBhY3Rpb24gdG90YWxzIGRvIHlvdSB3YW50IHRvIHNlZSB1bmRlciAnSW5zaWdodHMnPzwvbWF0LWxhYmVsPlxuICAgICAgICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJpbnRlcnZlbnRpb25maWx0ZXItZHJvcGRvd25cIiBmb3JtQ29udHJvbE5hbWU9XCJpbnRlcnZlbnRpb25GaWx0ZXJUeXBlXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpbnRlcnZlbnRpb25GaWx0ZXJUeXBlc1wiIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3tpdGVtLmxhYmVsfX08L21hdC1vcHRpb24+XG4gICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJxdWFsaWZ5QnlcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICA8bWF0LWxhYmVsPldoYXQgc2hvdWxkIHdlIGNvbXBhcmUgd2l0aCAoZGV0ZXJtaW5lcyBjb2xvcnMpPzwvbWF0LWxhYmVsPlxuICAgICAgICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJxdWFsaWZ5QnktZHJvcGRvd25cIiBmb3JtQ29udHJvbE5hbWU9XCJxdWFsaWZ5QnlcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHF1YWxpZnlCeVR5cGVzXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInN0YWNraW5nXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiICpuZ0lmPVwiaXNTaW5nbGVUZWFtXCI+XG4gICAgICAgICA8bWF0LWxhYmVsPkNvbWJpbmUgc25hcHNob3RzICh0byBtZXJnZSBmb2N1cyBzbmFwc2hvdHMpPzwvbWF0LWxhYmVsPlxuICAgICAgICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJzdGFja2luZy1kcm9wZG93blwiIGZvcm1Db250cm9sTmFtZT1cInN0YWNraW5nXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBbdmFsdWVdPVwiJ2ZhbHNlJ1wiPk5vLCBvbmx5IHNob3cgbW9zdCByZWNlbnQgc25hcHNob3Q8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cInNlbGVjdC1vcHRpb25cIiBbdmFsdWVdPVwiJ3RydWUnXCI+WWVzLCBjb21iaW5lIGFuZCB1c2UgbW9zdCByZWNlbnQgbWVhc3VyZSA8c3BhbiBjbGFzcz1cInBoLWluZm8tZmlsbCBpY29uXCIgW21hdFRvb2x0aXBdPVwiJ1RoaXMgbW9kZSB1c2VzIHRoZSBtb3N0IHJlY2VudCBtZWFzdXJlZCBzY29yZSBmb3IgZWFjaCBmYWN0b3IgdG8gYXZvaWQgbWl4aW5nIG91dGRhdGVkIHdpdGggZnJlc2ggZGF0YS4gQnV0IGl0IGNhbiBsZWFkIHRvIHVucmVsaWFibGUgc2NvcmVzIGZvciBjb3JlIGZhY3RvcnMgd2hlbiBhIG1vcmUgcmVjZW50IHNuYXBzaG90IG9ubHkgbWVhc3VyZXMgYSBmZXcgaXRzIHN1Yi1mYWN0b3JzLiBXZSB3aWxsIGJlIGludHJvZHVjaW5nIGEgbW9yZSBhZHZhbmNlZCB0aW1lLWRlY2F5IGF2ZXJhZ2luZyBhbGdvcml0aG0gc29vbi4nXCI+PC9zcGFuPjwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImJlbmNobWFya1wiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgIDxtYXQtbGFiZWw+V2hpY2ggYmVuY2htYXJrIHNob3VsZCB3ZSB1c2U/PC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImJlbmNobWFyay1kcm9wZG93blwiIGZvcm1Db250cm9sTmFtZT1cImJlbmNobWFya1R5cGVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJlbmNobWFya1R5cGVzXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaXNTdWJzY3JpYmVyXCIgY2xhc3M9XCJtZXNzYWdlIG1lc3NhZ2UtaW5mb3JtYXRpb25cIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwicGgtaW5mby1maWxsIGljb25cIj48L3NwYW4+XG4gICAgICAgICBFYWdlciB0byBzZWUgaG93IHlvdXIgdGVhbSBjb21wYXJlcyB0byBvdGhlciBiZW5jaG1hcmtzPyBTdWJzY3JpYmUgdG8gdW5sb2NrIGRvemVucyBvZiBiZW5jaG1hcmtzLCBpbmNsdWRpbmcgdGhlICdUb3AgMTAwIG1vc3QgZWZmZWN0aXZlIHRlYW1zJywgYmVuY2htYXJrcyBmb3Igd29ybGQgcmVnaW9ucywgc2VjdG9ycywgc2NhbGluZyBmcmFtZXdvcmtzIGFuZCB5b3VyIG9yZ2FuaXphdGlvbi5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2luZ2xlVGVhbVwiPlxuICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGVsdGFQZXJpb2RcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPldoaWNoIHBlcmlvZHMgc2hvdWxkIHdlIGNvbXBhcmU/PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImRlbHRhUGVyaW9kLWRyb3Bkb3duXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVsdGFQZXJpb2RcIj5cbiAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRlbHRhUGVyaW9kc1wiIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3tpdGVtLmxhYmVsfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJvdmVydmlld0ZhY3RvcnNcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPldoaWNoIGZhY3RvcnMgc2hvdWxkIHdlIHNob3cgaW4gdGhlIG92ZXJ2aWV3PzwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJvdmVydmlld0ZhY3RvcnMtZHJvcGRvd25cIiBmb3JtQ29udHJvbE5hbWU9XCJvdmVydmlld0ZhY3RvcnNcIiBtdWx0aXBsZT5cbiAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIFtuZ0NsYXNzXT1cInsnbG93ZXInIDogZmFjdG9yLmxvd2VyfVwiICpuZ0Zvcj1cImxldCBmYWN0b3Igb2YgZmFjdG9yc1wiIFt2YWx1ZV09XCJmYWN0b3IudmFsdWVcIj57e2ZhY3Rvci5sYWJlbH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhclwiPlxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZyc6IHNlbmRpbmcgfVwiPnN1Ym1pdDwvYnV0dG9uPlxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1kaWFsb2ctY2xvc2U+Y2FuY2VsPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL2RpYWxvZ3MvZGlhbG9nLXNldHRpbmdzL2RpYWxvZy1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2NydW10ZWFtc3VydmV5LXRvb2xzL3NyYy9saWIvcmVzdWx0cy9kaWFsb2dzL2RpYWxvZy1zZXR0aW5ncy9kaWFsb2ctc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQWdDLE1BQU0saUNBQWlDLENBQUM7QUFFdkcsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTzlELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSwwQkFBeUM7SUE4Qm5GLFlBQW1CLFNBQWdELEVBQVUsYUFBNEIsRUFBVSxtQkFBdUMsRUFBWSxRQUFxQixFQUFVLFdBQXdCLEVBQXNDLEtBQXdDO1FBQ3hTLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFETixjQUFTLEdBQVQsU0FBUyxDQUF1QztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQUFZLGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFzQyxVQUFLLEdBQUwsS0FBSyxDQUFtQztRQXRCcFMsbUJBQWMsR0FBaUIsRUFBRSxDQUFBO1FBQ2pDLGlCQUFZLEdBQWlCO1lBQ2pDLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxtREFBbUQsQ0FBQztZQUMzRSxJQUFJLFVBQVUsQ0FBQyxlQUFlLEVBQUUsMkNBQTJDLENBQUM7WUFDNUUsSUFBSSxVQUFVLENBQUMsaUJBQWlCLEVBQUUsZ0RBQWdELENBQUM7WUFDbkYsSUFBSSxVQUFVLENBQUMsa0JBQWtCLEVBQUUsZ0RBQWdELENBQUM7WUFDcEYsSUFBSSxVQUFVLENBQUMsY0FBYyxFQUFFLGtEQUFrRCxDQUFDO1NBQ3BGLENBQUE7UUFFTSw0QkFBdUIsR0FBaUI7WUFDNUMsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLHFDQUFxQyxDQUFDO1lBQzVGLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSx3QkFBd0IsQ0FBQztZQUNwRixJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLEVBQUUsNkJBQTZCLENBQUM7WUFDOUYsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsQ0FBQztTQUN4RSxDQUFBO1FBRU0sbUJBQWMsR0FBaUI7WUFDbkMsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQztZQUN6RSxJQUFJLFVBQVUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLHFDQUFxQyxDQUFDO1lBQ3ZGLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsZUFBZSxDQUFDO1NBQ2xFLENBQUE7SUFJRCxDQUFDO0lBRUQsUUFBUTtRQUNMLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLE1BQU07UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUFDLE9BQU87UUFBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ2hGLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDO1FBRTNFLElBQUksaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xMLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7UUFDcEcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsNkRBQTZELENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRU8sVUFBVTtRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDaEMsV0FBVyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNqRCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25ELFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDL0MsZUFBZSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN2RCx5QkFBeUIsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzVDLHNCQUFzQixFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM5RCxRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JELENBQUMsQ0FBQztJQUNOLENBQUM7SUFBQSxDQUFDO0lBRVEsWUFBWSxDQUFDLElBQW1CO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QyxDQUFDO2FBQ0ksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVqRixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0osQ0FBQzthQUNJLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekosQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDakIsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLG1EQUFtRCxDQUFDO1lBQzNFLElBQUksVUFBVSxDQUFDLGVBQWUsRUFBRSwyQ0FBMkMsQ0FBQztZQUM1RSxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxnREFBZ0QsQ0FBQztZQUNuRixJQUFJLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxnREFBZ0QsQ0FBQztZQUNwRixJQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUUsa0RBQWtELENBQUM7U0FDcEYsQ0FBQTtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRztZQUM1QixJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUscUNBQXFDLENBQUM7WUFDNUYsSUFBSSxVQUFVLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLHdCQUF3QixDQUFDO1lBQ3BGLElBQUksVUFBVSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSw2QkFBNkIsQ0FBQztZQUM5RixJQUFJLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsY0FBYyxDQUFDO1NBQ3hFLENBQUE7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ25CLElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsbUJBQW1CLENBQUM7WUFDekUsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUM7WUFDN0gsSUFBSSxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxlQUFlLENBQUM7U0FDbEUsQ0FBQTtJQUNKLENBQUM7SUFBQSxDQUFDOzhHQTFIUSx1QkFBdUIsbUtBOEJzTSxrQkFBa0I7a0dBOUIvTyx1QkFBdUIsMkVDakJwQyxvcUhBOERBOzsyRkQ3Q2EsdUJBQXVCO2tCQUpuQyxTQUFTOzs7MEJBa0N5TixNQUFNOzJCQUFDLGtCQUFrQjs7QUFrRzVQLE1BQU0sT0FBTywyQkFBMkI7SUFHckMsWUFBb0IsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUNyQyxDQUFDO0lBR0QsT0FBTztRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDM0MsWUFBWSxDQUFDLFVBQVUsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxZQUFZLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMvQixZQUFZLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLFlBQVksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFDdkMsWUFBWSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0FmUywyQkFBMkI7a0dBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFIdkMsU0FBUzttQkFBQztvQkFDUixRQUFRLEVBQUUsa0JBQWtCO2lCQUM5Qjs4RUFFVyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBTU4sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBDb21wb25lbnRXaXRoVmlld1N0YXRlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudFdpdGhWaWV3U3RhdGVCYXNlJztcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VsZWN0TGlzdEl0ZW0nO1xuaW1wb3J0IHsgSW50ZXJ2ZW50aW9uRmlsdGVyVHlwZSwgTW9kZWxGaWx0ZXIsIFVzZXJTZXR0aW5nc0R0byB9IGZyb20gJy4uLy4uLy4uL21vZGVscy91c2VyU2V0dGluZ3NEdG8nO1xuaW1wb3J0IHsgVXNlclNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdmlld01vZGVsL3VzZXJTZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFZpZXdNb2RlbFN0YXRlQmFzZSwgVklFV1NUQVRFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vLi4vdmlld01vZGVsL3ZpZXdNb2RlbFN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVJlc3VsdHNTdGF0ZSwgSVRlYW1SZXBvcnRSZXN1bHRzU3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lSZXN1bHRzU3RhdGUnO1xuaW1wb3J0IHsgUXVhbGlmaWVkQnlFbnVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZhY3RvclNjb3JlRHRvJztcbmltcG9ydCB7IEZhY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWN0b3JTZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1zZXR0aW5ncy5jb21wb25lbnQubGVzcyddXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50V2l0aFZpZXdTdGF0ZUJhc2U8SVJlc3VsdHNTdGF0ZT4ge1xuICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgIHB1YmxpYyBzZW5kaW5nOiBib29sZWFuO1xuICAgcHJpdmF0ZSBzZXR0aW5nczogVXNlclNldHRpbmdzRHRvO1xuICAgcHVibGljIGZhY3RvcnM6IFNlbGVjdEl0ZW1bXTtcbiAgIHB1YmxpYyBpc1NpbmdsZVRlYW06IGJvb2xlYW47XG4gICBwdWJsaWMgaXNTdWJzY3JpYmVyOiBib29sZWFuO1xuICAgcHVibGljIG1vZGVsRmlsdGVyU2V0dGluZ3M6IE1vZGVsRmlsdGVyO1xuICAgcHVibGljIGJlbmNobWFya1R5cGVzOiBTZWxlY3RJdGVtW10gPSBbXVxuICAgcHVibGljIGRlbHRhUGVyaW9kczogU2VsZWN0SXRlbVtdID0gW1xuICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJOb25lXCIsIFwiRG9uJ3QgY29tcGFyZSAoc2hvd3MgcmVzdWx0cyBmcm9tIHBhc3QgMTIgbW9udGhzKVwiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNNb250aFwiLCBcIkNvbXBhcmUgY3VycmVudCBtb250aCB3aXRoIHByZXZpb3VzIG1vbnRoXCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c1F1YXJ0ZXJcIiwgXCJDb21wYXJlIHJlY2VudCAzIG1vbnRocyB3aXRoIHByZXZpb3VzIDMgbW9udGhzXCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c0hhbGZZZWFyXCIsIFwiQ29tcGFyZSByZWNlbnQgNiBtb250aHMgd2l0aCBwcmV2aW91cyA2IG1vbnRoc1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKFwiUHJldmlvdXNZZWFyXCIsIFwiQ29tcGFyZSByZWNlbnQgMTIgbW9udGhzIHdpdGggcHJldmlvdXMgMTIgbW9udGhzXCIpXG4gICBdXG5cbiAgIHB1YmxpYyBpbnRlcnZlbnRpb25GaWx0ZXJUeXBlczogU2VsZWN0SXRlbVtdID0gW1xuICAgICAgbmV3IFNlbGVjdEl0ZW0oSW50ZXJ2ZW50aW9uRmlsdGVyVHlwZS5BbGwudG9TdHJpbmcoKSwgXCJTaG93IGJvdGggb3BlbiB2cyBjb21wbGV0ZWQgYWN0aW9uc1wiKSxcbiAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuT25seU9wZW4udG9TdHJpbmcoKSwgXCJTaG93IG9ubHkgb3BlbiBhY3Rpb25zXCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oSW50ZXJ2ZW50aW9uRmlsdGVyVHlwZS5Pbmx5Q29tcGxldGVkLnRvU3RyaW5nKCksIFwiU2hvdyBvbmx5IGNvbXBsZXRlZCBhY3Rpb25zXCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oSW50ZXJ2ZW50aW9uRmlsdGVyVHlwZS5Ob25lLnRvU3RyaW5nKCksIFwiSGlkZSBhY3Rpb25zXCIpXG4gICBdXG5cbiAgIHB1YmxpYyBxdWFsaWZ5QnlUeXBlczogU2VsZWN0SXRlbVtdID0gW1xuICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLmJlbmNobWFyay50b1N0cmluZygpLCBcIkFnYWluc3QgYmVuY2htYXJrXCIpLFxuICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLmRlbHRhLnRvU3RyaW5nKCksIFwiQWdhaW5zdCBwcmV2aW91cyBwZXJpb2Qgb3Igc25hcHNob3RcIiksXG4gICAgICBuZXcgU2VsZWN0SXRlbShRdWFsaWZpZWRCeUVudW0ubm9uZS50b1N0cmluZygpLCBcIk5vIGNvbXBhcmlzb25cIiksXG4gICBdXG5cbiAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dTZXR0aW5nc0NvbXBvbmVudD4sIHByaXZhdGUgZmFjdG9yU2VydmljZTogRmFjdG9yU2VydmljZSwgcHJpdmF0ZSB1c2VyU2V0dGluZ3NTZXJ2aWNlOiBVc2VyU2V0dGluZ1NlcnZpY2UsIHByb3RlY3RlZCBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLCBASW5qZWN0KFZJRVdTVEFURV9QUk9WSURFUikgcHJpdmF0ZSBzdGF0ZTogVmlld01vZGVsU3RhdGVCYXNlPElSZXN1bHRzU3RhdGU+KSB7XG4gICAgICBzdXBlcihzdGF0ZSwgc25hY2tCYXIpXG4gICB9XG5cbiAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgfVxuXG4gICBwdWJsaWMgc3VibWl0KCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHsgcmV0dXJuOyB9XG5cbiAgICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XG4gICAgICB0aGlzLnNldHRpbmdzLmdsb2JhbC5iZW5jaG1hcmsgPSB0aGlzLmZvcm0uY29udHJvbHMuYmVuY2htYXJrVHlwZS52YWx1ZTtcbiAgICAgIHRoaXMuc2V0dGluZ3MuZ2xvYmFsLmRlbHRhUGVyaW9kID0gdGhpcy5mb3JtLmNvbnRyb2xzLmRlbHRhUGVyaW9kLnZhbHVlO1xuICAgICAgdGhpcy5zZXR0aW5ncy5nbG9iYWwub3ZlcnZpZXdGYWN0b3JzID0gdGhpcy5mb3JtLmNvbnRyb2xzLm92ZXJ2aWV3RmFjdG9ycy52YWx1ZTtcbiAgICAgIHZhciBvdGhlck1vZGVsRmFjdG9ycyA9IHRoaXMuZm9ybS5jb250cm9scy5vdGhlck1vZGVsT3ZlcnZpZXdGYWN0b3JzLnZhbHVlO1xuXG4gICAgICBpZiAob3RoZXJNb2RlbEZhY3RvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgdGhpcy5zZXR0aW5ncy5nbG9iYWwub3ZlcnZpZXdGYWN0b3JzID0gdGhpcy5zZXR0aW5ncy5nbG9iYWwub3ZlcnZpZXdGYWN0b3JzLmNvbmNhdChvdGhlck1vZGVsRmFjdG9ycy5maWx0ZXIoKGl0ZW0pID0+IHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycy5pbmRleE9mKGl0ZW0pIDwgMCkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldHRpbmdzLmdsb2JhbC5xdWFsaWZ5QnkgPSB0aGlzLmZvcm0uY29udHJvbHMucXVhbGlmeUJ5LnZhbHVlO1xuICAgICAgdGhpcy5zZXR0aW5ncy5nbG9iYWwuc3RhY2tpbmcgPSB0aGlzLmZvcm0uY29udHJvbHMuc3RhY2tpbmcudmFsdWUgPT0gXCJ0cnVlXCIgPyB0cnVlIDogZmFsc2U7XG4gICAgICB0aGlzLnNldHRpbmdzLnVzZXIubW9kZWxGaWx0ZXIuaW50ZXJ2ZW50aW9uRmlsdGVyID0gdGhpcy5mb3JtLmNvbnRyb2xzLmludGVydmVudGlvbkZpbHRlclR5cGUudmFsdWU7XG4gICAgICB0aGlzLnVzZXJTZXR0aW5nc1NlcnZpY2Uuc2V0KHRoaXMuc2V0dGluZ3MpO1xuICAgICAgdGhpcy5zdGF0ZS5mb3JjZWRSZWxvYWQoKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgICB0aGlzLnNob3dTdWNjZXNzKFwiV2UgdXBkYXRlZCB5b3VyIHNldHRpbmdzLiBXZSBhcmUgbm93IHJlbG9hZGluZyB0aGUgcmVzdWx0cy5cIik7XG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBjcmVhdGVGb3JtKCk6IHZvaWQge1xuICAgICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICBkZWx0YVBlcmlvZDogW3sgdmFsdWU6IFwiXCIgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICBiZW5jaG1hcmtUeXBlOiBbeyB2YWx1ZTogXCJcIiB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgIHF1YWxpZnlCeTogW3sgdmFsdWU6IFwiXCIgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgICBvdmVydmlld0ZhY3RvcnM6IFt7IHZhbHVlOiBudWxsIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgb3RoZXJNb2RlbE92ZXJ2aWV3RmFjdG9yczogW3sgdmFsdWU6IG51bGwgfV0sXG4gICAgICAgICBpbnRlcnZlbnRpb25GaWx0ZXJUeXBlOiBbeyB2YWx1ZTogbnVsbCB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgIHN0YWNraW5nOiBbeyB2YWx1ZTogXCJmYWxzZVwiIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICB9KTtcbiAgIH07XG5cbiAgIHByb3RlY3RlZCBvbkRhdGFVcGRhdGUoZGF0YTogSVJlc3VsdHNTdGF0ZSk6IHZvaWQge1xuICAgICAgdGhpcy5zZXR0aW5ncyA9IHRoaXMudXNlclNldHRpbmdzU2VydmljZS5nZXQoKTtcbiAgICAgIHRoaXMuaXNTdWJzY3JpYmVyID0gZGF0YS5pc1N1YnNjcmliZXI7XG4gICAgICB0aGlzLmlzU2luZ2xlVGVhbSA9IGRhdGEudGVhbU1ldGFEYXRhICE9IG51bGw7XG5cbiAgICAgIGlmICh0aGlzLmlzU3Vic2NyaWJlcikge1xuICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmJlbmNobWFya1R5cGUuZW5hYmxlKCk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy5iZW5jaG1hcmtUeXBlLmRpc2FibGUoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5iZW5jaG1hcmtUeXBlcyA9IGRhdGEuZmFjdG9yU2NvcmVzLmJlbmNobWFyay5hdmFpbGFibGUubWFwKHAgPT4gbmV3IFNlbGVjdEl0ZW0ocC5rZXksIHAubmFtZSkpO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmRlbHRhUGVyaW9kLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLmRlbHRhUGVyaW9kKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5iZW5jaG1hcmtUeXBlLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLmJlbmNobWFyayk7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhY2tpbmcuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5nbG9iYWwuc3RhY2tpbmcgPyBcInRydWVcIiA6IFwiZmFsc2VcIik7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW50ZXJ2ZW50aW9uRmlsdGVyVHlwZS5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLnVzZXIubW9kZWxGaWx0ZXIuaW50ZXJ2ZW50aW9uRmlsdGVyKTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5xdWFsaWZ5Qnkuc2V0VmFsdWUodGhpcy5zZXR0aW5ncy5nbG9iYWwucXVhbGlmeUJ5ID8/IGRhdGEuZmFjdG9yU2NvcmVzLnByb2Nlc3NpbmdEYXRhLnF1YWxpZmllZEJ5KTtcbiAgICAgIHRoaXMuZmFjdG9ycyA9IHRoaXMuZmFjdG9yU2VydmljZS50b1NlbGVjdExpc3QoZGF0YS5mYWN0b3JTY29yZXMubW9kZWxTdHJ1Y3R1cmUpO1xuXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5nbG9iYWwub3ZlcnZpZXdGYWN0b3JzLmxlbmd0aCA9PSAwKSB7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMub3ZlcnZpZXdGYWN0b3JzLnNldFZhbHVlKGRhdGEuZmFjdG9yU2NvcmVzLm1vZGVsU3RydWN0dXJlLmRlZmluaXRpb24uZmFjdG9ycy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSBudWxsKS5tYXAocCA9PiBwLnB1YmxpY0tleSkpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMub3ZlcnZpZXdGYWN0b3JzLnNldFZhbHVlKHRoaXMuc2V0dGluZ3MuZ2xvYmFsLm92ZXJ2aWV3RmFjdG9ycyk7XG4gICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMub3RoZXJNb2RlbE92ZXJ2aWV3RmFjdG9ycy5zZXRWYWx1ZSh0aGlzLnNldHRpbmdzLmdsb2JhbC5vdmVydmlld0ZhY3RvcnMuZmlsdGVyKHAgPT4gdGhpcy5mYWN0b3JzLmZpbmQoeCA9PiB4LnZhbHVlID09IHApID09IG51bGwpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kZWx0YVBlcmlvZHMgPSBbXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShcIk5vbmVcIiwgXCJEb24ndCBjb21wYXJlIChzaG93cyByZXN1bHRzIGZyb20gcGFzdCAxMiBtb250aHMpXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c01vbnRoXCIsIFwiQ29tcGFyZSBjdXJyZW50IG1vbnRoIHdpdGggcHJldmlvdXMgbW9udGhcIiksXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShcIlByZXZpb3VzUXVhcnRlclwiLCBcIkNvbXBhcmUgcmVjZW50IDMgbW9udGhzIHdpdGggcHJldmlvdXMgMyBtb250aHNcIiksXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShcIlByZXZpb3VzSGFsZlllYXJcIiwgXCJDb21wYXJlIHJlY2VudCA2IG1vbnRocyB3aXRoIHByZXZpb3VzIDYgbW9udGhzXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oXCJQcmV2aW91c1llYXJcIiwgXCJDb21wYXJlIHJlY2VudCAxMiBtb250aHMgd2l0aCBwcmV2aW91cyAxMiBtb250aHNcIilcbiAgICAgIF1cblxuICAgICAgdGhpcy5pbnRlcnZlbnRpb25GaWx0ZXJUeXBlcyA9IFtcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuQWxsLnRvU3RyaW5nKCksIFwiU2hvdyBib3RoIG9wZW4gdnMgY29tcGxldGVkIGFjdGlvbnNcIiksXG4gICAgICAgICBuZXcgU2VsZWN0SXRlbShJbnRlcnZlbnRpb25GaWx0ZXJUeXBlLk9ubHlPcGVuLnRvU3RyaW5nKCksIFwiU2hvdyBvbmx5IG9wZW4gYWN0aW9uc1wiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuT25seUNvbXBsZXRlZC50b1N0cmluZygpLCBcIlNob3cgb25seSBjb21wbGV0ZWQgYWN0aW9uc1wiKSxcbiAgICAgICAgIG5ldyBTZWxlY3RJdGVtKEludGVydmVudGlvbkZpbHRlclR5cGUuTm9uZS50b1N0cmluZygpLCBcIkhpZGUgYWN0aW9uc1wiKVxuICAgICAgXVxuXG4gICAgICB0aGlzLnF1YWxpZnlCeVR5cGVzID0gW1xuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLmJlbmNobWFyay50b1N0cmluZygpLCBcIkFnYWluc3QgYmVuY2htYXJrXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLmRlbHRhLnRvU3RyaW5nKCksIHRoaXMuaXNTaW5nbGVUZWFtID8gXCJBZ2FpbnN0IHByZXZpb3VzIHNuYXBzaG90XCIgOiBcIkFnYWluc3QgcHJldmlvdXMgcGVyaW9kXCIpLFxuICAgICAgICAgbmV3IFNlbGVjdEl0ZW0oUXVhbGlmaWVkQnlFbnVtLm5vbmUudG9TdHJpbmcoKSwgXCJObyBjb21wYXJpc29uXCIpLFxuICAgICAgXVxuICAgfTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICBzZWxlY3RvcjogJ1tzZXR0aW5nc0RpYWxvZ10nLFxufSlcbmV4cG9ydCBjbGFzcyBPcGVuU2V0dGluZ3NEaWFsb2dEaXJlY3RpdmUge1xuICAgQElucHV0KCkgc2hvd1NldHRpbmdTdGFja2luZzogYm9vbGVhbjtcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgY29uc3QgZGlhbG9nQ29uZmlnID0gbmV3IE1hdERpYWxvZ0NvbmZpZygpO1xuICAgICAgZGlhbG9nQ29uZmlnLnBhbmVsQ2xhc3MgPSBbJ2RpYWxvZycsICdzZXR0aW5ncyddO1xuICAgICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IGZhbHNlO1xuICAgICAgZGlhbG9nQ29uZmlnLmVudGVyQW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgICAgZGlhbG9nQ29uZmlnLmV4aXRBbmltYXRpb25EdXJhdGlvbiA9IDA7XG4gICAgICBkaWFsb2dDb25maWcuZGF0YSA9IHt9O1xuICAgICAgdGhpcy5kaWFsb2cub3BlbihEaWFsb2dTZXR0aW5nc0NvbXBvbmVudCwgZGlhbG9nQ29uZmlnKTtcbiAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyXCI+XG4gICA8aDEgbWF0LWRpYWxvZy10aXRsZT5TdGF0aXN0aWNhbCBTZXR0aW5nczwvaDE+XG4gICA8ZGl2IGNsYXNzPVwiY2xvc2VcIiBtYXQtZGlhbG9nLWNsb3NlPjxpIGNsYXNzPVwicmVzcG9uc2l2ZSBpY29uIHBoLXgtYm9sZFwiID48L2k+PC9kaXY+XG48L2Rpdj5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImludGVydmVudGlvbkZpbHRlclR5cGVcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICA8bWF0LWxhYmVsPldoaWNoIGFjdGlvbiB0b3RhbHMgZG8geW91IHdhbnQgdG8gc2VlIHVuZGVyICdJbnNpZ2h0cyc/PC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImludGVydmVudGlvbmZpbHRlci1kcm9wZG93blwiIGZvcm1Db250cm9sTmFtZT1cImludGVydmVudGlvbkZpbHRlclR5cGVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGludGVydmVudGlvbkZpbHRlclR5cGVzXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInF1YWxpZnlCeVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgIDxtYXQtbGFiZWw+V2hhdCBzaG91bGQgd2UgY29tcGFyZSB3aXRoIChkZXRlcm1pbmVzIGNvbG9ycyk/PC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cInF1YWxpZnlCeS1kcm9wZG93blwiIGZvcm1Db250cm9sTmFtZT1cInF1YWxpZnlCeVwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVhbGlmeUJ5VHlwZXNcIiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPnt7aXRlbS5sYWJlbH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwic3RhY2tpbmdcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgKm5nSWY9XCJpc1NpbmdsZVRlYW1cIj5cbiAgICAgICAgIDxtYXQtbGFiZWw+Q29tYmluZSBzbmFwc2hvdHM/PC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cInN0YWNraW5nLWRyb3Bkb3duXCIgZm9ybUNvbnRyb2xOYW1lPVwic3RhY2tpbmdcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIFt2YWx1ZV09XCInZmFsc2UnXCI+Tm8sIG9ubHkgc2hvdyBtb3N0IHJlY2VudCBzbmFwc2hvdDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIFt2YWx1ZV09XCIndHJ1ZSdcIj5ZZXMsIGFuZCB1c2UgbW9zdCByZWNlbnQgbWVhc3VyZSAobWF4IDEyIG1vbnRocyBiYWNrKTwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImJlbmNobWFya1wiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgIDxtYXQtbGFiZWw+V2hpY2ggYmVuY2htYXJrIHNob3VsZCB3ZSB1c2U/PC9tYXQtbGFiZWw+XG4gICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImJlbmNobWFyay1kcm9wZG93blwiIGZvcm1Db250cm9sTmFtZT1cImJlbmNobWFya1R5cGVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGJlbmNobWFya1R5cGVzXCIgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj57e2l0ZW0ubGFiZWx9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaXNTdWJzY3JpYmVyXCIgY2xhc3M9XCJtZXNzYWdlIG1lc3NhZ2UtaW5mb3JtYXRpb25cIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwicGgtaW5mby1maWxsIGljb25cIj48L3NwYW4+XG4gICAgICAgICBFYWdlciB0byBzZWUgaG93IHlvdXIgdGVhbSBjb21wYXJlcyB0byBvdGhlciBiZW5jaG1hcmtzPyBTdWJzY3JpYmUgdG8gdW5sb2NrIGRvemVucyBvZiBiZW5jaG1hcmtzLCBpbmNsdWRpbmcgdGhlICdUb3AgMTAwIG1vc3QgZWZmZWN0aXZlIHRlYW1zJywgYmVuY2htYXJrcyBmb3Igd29ybGQgcmVnaW9ucywgc2VjdG9ycywgc2NhbGluZyBmcmFtZXdvcmtzIGFuZCB5b3VyIG9yZ2FuaXphdGlvbi5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzU2luZ2xlVGVhbVwiPlxuICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGVsdGFQZXJpb2RcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPldoaWNoIHBlcmlvZHMgc2hvdWxkIHdlIGNvbXBhcmU/PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cImRlbHRhUGVyaW9kLWRyb3Bkb3duXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVsdGFQZXJpb2RcIj5cbiAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRlbHRhUGVyaW9kc1wiIFt2YWx1ZV09XCJpdGVtLnZhbHVlXCI+e3tpdGVtLmxhYmVsfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJvdmVydmlld0ZhY3RvcnNcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPldoaWNoIGZhY3RvcnMgc2hvdWxkIHdlIHNob3cgaW4gdGhlIG92ZXJ2aWV3PzwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgY2xhc3M9XCJvdmVydmlld0ZhY3RvcnMtZHJvcGRvd25cIiBmb3JtQ29udHJvbE5hbWU9XCJvdmVydmlld0ZhY3RvcnNcIiBtdWx0aXBsZT5cbiAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIFtuZ0NsYXNzXT1cInsnbG93ZXInIDogZmFjdG9yLmxvd2VyfVwiICpuZ0Zvcj1cImxldCBmYWN0b3Igb2YgZmFjdG9yc1wiIFt2YWx1ZV09XCJmYWN0b3IudmFsdWVcIj57e2ZhY3Rvci5sYWJlbH19PC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhclwiPlxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCIgdHlwZT1cInN1Ym1pdFwiIFtuZ0NsYXNzXT1cInsnbG9hZGluZyc6IHNlbmRpbmcgfVwiPnN1Ym1pdDwvYnV0dG9uPlxuICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1kaWFsb2ctY2xvc2U+Y2FuY2VsPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgIDwvZm9ybT5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuIl19
@@ -79,8 +79,8 @@ import { UserProfileService } from './services/userProfile.service';
79
79
  import { AgeIndicatorComponent } from './components/age-indicator/age-indicator.component';
80
80
  import * as i0 from "@angular/core";
81
81
  export class ResultsModule {
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
83
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: ResultsModule, declarations: [ArrowComponent,
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
83
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: ResultsModule, declarations: [ArrowComponent,
84
84
  DeltaArrowComponent,
85
85
  BenchmarkIndicatorComponent,
86
86
  FocusAreasComponent,
@@ -202,7 +202,7 @@ export class ResultsModule {
202
202
  BadgeStreakComponent,
203
203
  ParticipantsComponent,
204
204
  UserProfileComponent] }); }
205
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsModule, providers: [
205
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsModule, providers: [
206
206
  ExportService,
207
207
  UserProfileService,
208
208
  TermsService,
@@ -238,7 +238,7 @@ export class ResultsModule {
238
238
  FactorInformationDialogModule,
239
239
  GuidesModule] }); }
240
240
  }
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsModule, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsModule, decorators: [{
242
242
  type: NgModule,
243
243
  args: [{
244
244
  imports: [
@@ -12,10 +12,10 @@ export class AccountService {
12
12
  sendResetPassword(email) {
13
13
  return this.http.post(this.baseUrl + 'account/resetpassword/', { email: email });
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AccountService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AccountService }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AccountService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AccountService }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AccountService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AccountService, decorators: [{
19
19
  type: Injectable
20
20
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiConfig, decorators: [{
21
21
  type: Inject,
@@ -9,10 +9,10 @@ export class DismissPopupService {
9
9
  isDismissed(key) {
10
10
  return this.dismissedPopups.indexOf(key) > -1;
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DismissPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DismissPopupService }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DismissPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
13
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DismissPopupService }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DismissPopupService, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: DismissPopupService, decorators: [{
16
16
  type: Injectable
17
17
  }], ctorParameters: () => [] });
18
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltaXNzUG9wdXBTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNjcnVtdGVhbXN1cnZleS10b29scy9zcmMvbGliL3Jlc3VsdHMvc2VydmljZXMvZGltaXNzUG9wdXBTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSW5ELE1BQU0sT0FBTyxtQkFBbUI7SUFHN0I7SUFDQSxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FaUyxtQkFBbUI7a0hBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTE9DQUxfU1RPUkFHRSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtd2Vic3RvcmFnZS1zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpc21pc3NQb3B1cFNlcnZpY2Uge1xuICAgcHJpdmF0ZSBkaXNtaXNzZWRQb3B1cHM6IHN0cmluZ1tdO1xuXG4gICBjb25zdHJ1Y3RvcigpIHtcbiAgIH1cblxuICAgcHVibGljIGRpc21pc3Moa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMuZGlzbWlzc2VkUG9wdXBzLnB1c2goa2V5KTtcbiAgIH1cblxuICAgcHVibGljIGlzRGlzbWlzc2VkKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNtaXNzZWRQb3B1cHMuaW5kZXhPZihrZXkpID4gLTE7XG4gICB9XG59XG4iXX0=
@@ -18,10 +18,10 @@ export class ExportService {
18
18
  exportParticipationRate(request) {
19
19
  return this.http.post(this.baseUrl + "export/participationrate", request, { responseType: 'blob' });
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ExportService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ExportService }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExportService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExportService }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ExportService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExportService, decorators: [{
25
25
  type: Injectable
26
26
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiConfig, decorators: [{
27
27
  type: Inject,
@@ -15,10 +15,10 @@ export class FactorService {
15
15
  }
16
16
  return result;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorService }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FactorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FactorService }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FactorService, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FactorService, decorators: [{
22
22
  type: Injectable
23
23
  }] });
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zY3J1bXRlYW1zdXJ2ZXktdG9vbHMvc3JjL2xpYi9yZXN1bHRzL3NlcnZpY2VzL2ZhY3RvclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxhQUFhO0lBQ2hCLFlBQVksQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7UUFDbkcsSUFBSSxNQUFNLEdBQWlCLEVBQUUsQ0FBQztRQUU5QixLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1RSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRWxFLEtBQUssSUFBSSxjQUFjLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDakIsQ0FBQzs4R0FkUyxhQUFhO2tIQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdExpc3RJdGVtJztcbmltcG9ydCB7IE1vZGVsU3RydWN0dXJlRHRvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZGVsU3RydWN0dXJlRHRvJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZhY3RvclNlcnZpY2Uge1xuICAgcHVibGljIHRvU2VsZWN0TGlzdChtb2RlbDogTW9kZWxTdHJ1Y3R1cmVEdG8pOiBTZWxlY3RJdGVtW10ge1xuICAgICAgaWYgKG1vZGVsID09IG51bGwgfHwgbW9kZWwuZGVmaW5pdGlvbiA9PSBudWxsIHx8IG1vZGVsLmRlZmluaXRpb24uZmFjdG9ycyA9PSBudWxsKSB7IHJldHVybiBudWxsOyB9XG4gICAgICB2YXIgcmVzdWx0OiBTZWxlY3RJdGVtW10gPSBbXTtcblxuICAgICAgZm9yICh2YXIgZmFjdG9yIG9mIG1vZGVsLmRlZmluaXRpb24uZmFjdG9ycy5maWx0ZXIocCA9PiBwLnBhcmVudEtleSA9PSBudWxsKSkge1xuICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFNlbGVjdEl0ZW0oZmFjdG9yLnB1YmxpY0tleSwgZmFjdG9yLm5hbWUsIGZhbHNlKSk7XG5cbiAgICAgICAgIGZvciAodmFyIGxvd2VyRGltZW5zaW9uIG9mIGZhY3Rvci5sb3dlcikge1xuICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFNlbGVjdEl0ZW0obG93ZXJEaW1lbnNpb24ucHVibGljS2V5LCBsb3dlckRpbWVuc2lvbi5uYW1lLCB0cnVlKSk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICB9XG59XG4iXX0=
@@ -12,10 +12,10 @@ export class ResultsClientConfig {
12
12
  get() {
13
13
  return this.config;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsClientConfig, deps: [{ token: ResultsConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsClientConfig, providedIn: 'root' }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsClientConfig, deps: [{ token: ResultsConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsClientConfig, providedIn: 'root' }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ResultsClientConfig, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ResultsClientConfig, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{ providedIn: 'root' }]
21
21
  }], ctorParameters: () => [{ type: ResultsClientDto, decorators: [{
@@ -12,10 +12,10 @@ export class TermsService {
12
12
  accept() {
13
13
  return this.http.post(this.baseUrl + 'terms', null);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TermsService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TermsService }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TermsService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TermsService }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TermsService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TermsService, decorators: [{
19
19
  type: Injectable
20
20
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiConfig, decorators: [{
21
21
  type: Inject,
@@ -12,10 +12,10 @@ export class TrendService {
12
12
  team(request) {
13
13
  return this.http.post(this.baseUrl + 'trends', request);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TrendService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TrendService }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TrendService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TrendService }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TrendService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TrendService, decorators: [{
19
19
  type: Injectable
20
20
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiConfig, decorators: [{
21
21
  type: Inject,
@@ -26,10 +26,10 @@ export class UserProfileService {
26
26
  resetMfaEnrollment() {
27
27
  return this.http.post(this.baseUrl + 'userprofiles/commands/resetmfa/', {});
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserProfileService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserProfileService }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserProfileService, deps: [{ token: i1.HttpClient }, { token: ApiConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserProfileService }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserProfileService, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserProfileService, decorators: [{
33
33
  type: Injectable
34
34
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ApiConfig, decorators: [{
35
35
  type: Inject,
@@ -12,10 +12,10 @@ export class NoReloadStrategy {
12
12
  }
13
13
  unsubscribe() {
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoReloadStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoReloadStrategy, providedIn: 'root' }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NoReloadStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NoReloadStrategy, providedIn: 'root' }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoReloadStrategy, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NoReloadStrategy, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{ providedIn: 'root' }]
21
21
  }], ctorParameters: () => [] });
@@ -39,10 +39,10 @@ export class ReloadOnPushStrategy {
39
39
  this.eventSource.close();
40
40
  }
41
41
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ReloadOnPushStrategy, deps: [{ token: i0.NgZone }, { token: ApiConfig }, { token: i1.SessionIdProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ReloadOnPushStrategy, providedIn: 'root' }); }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReloadOnPushStrategy, deps: [{ token: i0.NgZone }, { token: ApiConfig }, { token: i1.SessionIdProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
43
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReloadOnPushStrategy, providedIn: 'root' }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ReloadOnPushStrategy, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReloadOnPushStrategy, decorators: [{
46
46
  type: Injectable,
47
47
  args: [{ providedIn: 'root' }]
48
48
  }], ctorParameters: () => [{ type: i0.NgZone }, { type: i2.ApiConfig, decorators: [{
@@ -19,10 +19,10 @@ export class SessionIdInterceptor {
19
19
  }
20
20
  return next.handle(request);
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdInterceptor, deps: [{ token: ApiConfig }, { token: i1.SessionIdProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdInterceptor }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdInterceptor, deps: [{ token: ApiConfig }, { token: i1.SessionIdProvider }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdInterceptor }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdInterceptor, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdInterceptor, decorators: [{
26
26
  type: Injectable
27
27
  }], ctorParameters: () => [{ type: i2.ApiConfig, decorators: [{
28
28
  type: Inject,
@@ -12,10 +12,10 @@ export class SessionIdProvider {
12
12
  }
13
13
  return result;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdProvider, providedIn: 'root' }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdProvider, providedIn: 'root' }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SessionIdProvider, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionIdProvider, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{ providedIn: 'root' }]
21
21
  }], ctorParameters: () => [] });
@@ -19,10 +19,10 @@ export class UserSettingService {
19
19
  get() {
20
20
  return this.settings;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserSettingService, deps: [{ token: LOCAL_STORAGE }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserSettingService, providedIn: 'root' }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserSettingService, deps: [{ token: LOCAL_STORAGE }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserSettingService, providedIn: 'root' }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: UserSettingService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UserSettingService, decorators: [{
26
26
  type: Injectable,
27
27
  args: [{ providedIn: 'root' }]
28
28
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -5,16 +5,16 @@ import { SessionIdInterceptor } from './services/sessionIdInterceptor.service';
5
5
  import { SessionIdProvider } from './services/sessionIdProvider.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export class ViewModelStateModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateModule }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateModule, providers: [
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateModule }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateModule, providers: [
11
11
  SessionIdInterceptor,
12
12
  SessionIdProvider,
13
13
  ReloadOnPushStrategy,
14
14
  NoReloadStrategy
15
15
  ] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  imports: [],
@@ -12,10 +12,10 @@ export class ViewModelStateConfig {
12
12
  get() {
13
13
  return this.config;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateConfig, deps: [{ token: ViewModelStateConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateConfig, providedIn: 'root' }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateConfig, deps: [{ token: ViewModelStateConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateConfig, providedIn: 'root' }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ViewModelStateConfig, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ViewModelStateConfig, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{ providedIn: 'root' }]
21
21
  }], ctorParameters: () => [{ type: ViewModelStateConfigDto, decorators: [{