@hmcts/rpx-xui-common-lib 1.8.5-angular-upgrade-r4 → 1.8.7-fix-wrong-services

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 (132) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +431 -1076
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +29 -32
  6. package/esm2015/lib/components/find-location/find-location.component.js +3 -3
  7. package/esm2015/lib/components/find-service/find-service.component.js +12 -129
  8. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +2 -2
  9. package/esm2015/lib/components/generic-filter/generic-filter.component.js +15 -361
  10. package/esm2015/lib/components/search-location/search-location.component.js +3 -3
  11. package/esm2015/lib/components/search-service/search-service.component.js +34 -17
  12. package/esm2015/lib/components/selected-case/selected-case.component.js +4 -10
  13. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +1 -1
  14. package/esm2015/lib/components/share-case/share-case.component.js +186 -14
  15. package/esm2015/lib/exui-common-lib.module.js +5 -13
  16. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +6 -80
  17. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  18. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +2 -3
  19. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  20. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  21. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +14 -19
  22. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
  23. package/esm2015/lib/gov-ui/components/index.js +2 -2
  24. package/esm2015/lib/gov-ui/components/public_api.js +1 -2
  25. package/esm2015/lib/gov-ui/index.js +2 -2
  26. package/esm2015/lib/gov-ui/models/banner-data-model.js +16 -0
  27. package/esm2015/lib/gov-ui/models/checkboxes-model.js +8 -6
  28. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -5
  29. package/esm2015/lib/gov-ui/models/public_api.js +2 -1
  30. package/esm2015/lib/gov-ui/public_api.js +2 -2
  31. package/esm2015/lib/models/case-share.model.js +8 -1
  32. package/esm2015/lib/models/filter.model.js +5 -65
  33. package/esm2015/lib/models/index.js +2 -2
  34. package/esm2015/lib/models/person.model.js +2 -2
  35. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +39 -15
  36. package/esm2015/lib/services/filter/filter.service.js +3 -17
  37. package/esm2015/lib/services/find-person/find-person.service.js +3 -3
  38. package/esm2015/lib/services/role-guard/role.guard.js +15 -22
  39. package/esm2015/lib/services/role-guard/role.service.js +13 -13
  40. package/esm2015/lib/services/session-storage/session-storage.service.js +55 -0
  41. package/esm2015/public-api.js +3 -3
  42. package/esm5/hmcts-rpx-xui-common-lib.js +29 -32
  43. package/esm5/lib/components/find-location/find-location.component.js +3 -3
  44. package/esm5/lib/components/find-service/find-service.component.js +12 -166
  45. package/esm5/lib/components/generic-filter/generic-filter-utils.js +2 -2
  46. package/esm5/lib/components/generic-filter/generic-filter.component.js +14 -397
  47. package/esm5/lib/components/search-location/search-location.component.js +3 -3
  48. package/esm5/lib/components/search-service/search-service.component.js +38 -19
  49. package/esm5/lib/components/selected-case/selected-case.component.js +4 -13
  50. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +1 -1
  51. package/esm5/lib/components/share-case/share-case.component.js +219 -14
  52. package/esm5/lib/exui-common-lib.module.js +5 -11
  53. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +6 -100
  54. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
  55. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +2 -3
  56. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
  57. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
  58. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +13 -17
  59. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
  60. package/esm5/lib/gov-ui/components/index.js +2 -2
  61. package/esm5/lib/gov-ui/components/public_api.js +1 -2
  62. package/esm5/lib/gov-ui/index.js +2 -2
  63. package/esm5/lib/gov-ui/models/banner-data-model.js +16 -0
  64. package/esm5/lib/gov-ui/models/checkboxes-model.js +8 -6
  65. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -5
  66. package/esm5/lib/gov-ui/models/public_api.js +2 -1
  67. package/esm5/lib/gov-ui/public_api.js +2 -2
  68. package/esm5/lib/models/case-share.model.js +8 -1
  69. package/esm5/lib/models/filter.model.js +5 -65
  70. package/esm5/lib/models/index.js +2 -2
  71. package/esm5/lib/models/person.model.js +2 -2
  72. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +40 -16
  73. package/esm5/lib/services/filter/filter.service.js +3 -21
  74. package/esm5/lib/services/find-person/find-person.service.js +3 -3
  75. package/esm5/lib/services/role-guard/role.guard.js +15 -22
  76. package/esm5/lib/services/role-guard/role.service.js +13 -13
  77. package/esm5/lib/services/{storage/session-storage → session-storage}/session-storage.service.js +2 -2
  78. package/esm5/public-api.js +3 -3
  79. package/fesm2015/hmcts-rpx-xui-common-lib.js +447 -1040
  80. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  81. package/fesm5/hmcts-rpx-xui-common-lib.js +415 -1094
  82. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  83. package/hmcts-rpx-xui-common-lib.d.ts +27 -30
  84. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  85. package/lib/components/find-service/find-service.component.d.ts +6 -14
  86. package/lib/components/generic-filter/generic-filter-utils.d.ts +5 -2
  87. package/lib/components/generic-filter/generic-filter.component.d.ts +2 -12
  88. package/lib/components/search-location/search-location.component.d.ts +1 -1
  89. package/lib/components/search-service/search-service.component.d.ts +11 -5
  90. package/lib/components/selected-case/selected-case.component.d.ts +0 -1
  91. package/lib/components/share-case/share-case.component.d.ts +35 -2
  92. package/lib/exui-common-lib.module.d.ts +3 -4
  93. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +5 -14
  94. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +2 -1
  95. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +0 -1
  96. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
  97. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +2 -4
  98. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
  99. package/lib/gov-ui/components/public_api.d.ts +0 -1
  100. package/lib/gov-ui/models/banner-data-model.d.ts +4 -0
  101. package/lib/gov-ui/models/checkboxes-model.d.ts +7 -4
  102. package/lib/gov-ui/models/gov-ui-config-model.d.ts +0 -2
  103. package/lib/gov-ui/models/public_api.d.ts +1 -0
  104. package/lib/models/case-share.model.d.ts +5 -0
  105. package/lib/models/filter.model.d.ts +8 -30
  106. package/lib/models/person.model.d.ts +1 -1
  107. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  108. package/lib/services/filter/filter.service.d.ts +0 -1
  109. package/lib/services/find-person/find-person.service.d.ts +1 -1
  110. package/lib/services/role-guard/role.guard.d.ts +1 -2
  111. package/lib/services/role-guard/role.service.d.ts +1 -3
  112. package/lib/services/{storage/session-storage → session-storage}/session-storage.service.d.ts +0 -0
  113. package/package.json +1 -1
  114. package/esm2015/lib/components/find-task-name/find-task-name.component.js +0 -228
  115. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +0 -22
  116. package/esm2015/lib/gov-ui/models/radio-buttons.model.js +0 -22
  117. package/esm2015/lib/models/task-name.model.js +0 -16
  118. package/esm2015/lib/pipes/capitalize.pipe.js +0 -21
  119. package/esm2015/lib/services/storage/session-storage/session-storage.service.js +0 -55
  120. package/esm2015/lib/services/task-name/task-name.service.js +0 -65
  121. package/esm5/lib/components/find-task-name/find-task-name.component.js +0 -243
  122. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +0 -22
  123. package/esm5/lib/gov-ui/models/radio-buttons.model.js +0 -22
  124. package/esm5/lib/models/task-name.model.js +0 -16
  125. package/esm5/lib/pipes/capitalize.pipe.js +0 -29
  126. package/esm5/lib/services/task-name/task-name.service.js +0 -70
  127. package/lib/components/find-task-name/find-task-name.component.d.ts +0 -41
  128. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +0 -7
  129. package/lib/gov-ui/models/radio-buttons.model.d.ts +0 -9
  130. package/lib/models/task-name.model.d.ts +0 -4
  131. package/lib/pipes/capitalize.pipe.d.ts +0 -4
  132. package/lib/services/task-name/task-name.service.d.ts +0 -14
@@ -4,46 +4,85 @@
4
4
  * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
5
  */
6
6
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
7
+ import { Router } from '@angular/router';
7
8
  import { Observable } from 'rxjs';
9
+ import { tap } from 'rxjs/operators';
10
+ import { SharedCaseErrorMessages } from '../../models/case-share.model';
8
11
  import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
9
12
  import { UserSelectComponent } from '../user-select/user-select.component';
10
13
  export class ShareCaseComponent {
11
14
  /**
12
15
  * @param {?} stateService
16
+ * @param {?} router
13
17
  */
14
- constructor(stateService) {
18
+ constructor(stateService, router) {
15
19
  this.stateService = stateService;
20
+ this.router = router;
16
21
  this.shareCases = []; // cases selected for sharing
17
- // cases selected for sharing
22
+ this.continueAllowed = false;
23
+ this.selectedUserToRemove = null;
18
24
  this.removeUserFromCaseToggleOn = false;
19
25
  this.users = []; // users of this organisation the cases can be shared with
20
26
  // users of this organisation the cases can be shared with
21
27
  this.confirmLink = '';
28
+ this.cancelLink = '';
22
29
  this.showRemoveUsers = false;
30
+ this.fnTitle = '';
31
+ this.title = '';
23
32
  this.unselect = new EventEmitter();
24
33
  this.synchronizeStore = new EventEmitter();
34
+ this.validationErrors = [];
25
35
  }
26
36
  /**
27
37
  * @return {?}
28
38
  */
29
39
  ngOnInit() {
30
- this.shareCases$.subscribe((/**
40
+ this.shareCases$
41
+ .pipe(tap((/**
42
+ * @param {?} sharedCases
43
+ * @return {?}
44
+ */
45
+ sharedCases => {
46
+ // Update the list of users assigned to at least one case
47
+ this.getAssignedUsers(sharedCases.filter((/**
48
+ * @param {?} sharedCase
49
+ * @return {?}
50
+ */
51
+ sharedCase => sharedCase.sharedWith && sharedCase.sharedWith.length > 0)));
52
+ })))
53
+ .subscribe((/**
31
54
  * @param {?} shareCases
32
55
  * @return {?}
33
56
  */
34
57
  shareCases => {
35
58
  this.shareCases = shareCases;
36
59
  this.stateService.setCases(shareCases);
60
+ // Set the config to be used by the xuilib-gov-uk-error-message component, in particular the element ID to
61
+ // which the error message is associated
62
+ if (shareCases) {
63
+ this.selectedCasesErrorMessageConfig = {
64
+ id: shareCases.length > 0 ? 'cases' : 'noCaseDisplay'
65
+ };
66
+ }
37
67
  }));
38
68
  this.shareCases$ = this.stateService.state;
69
+ this.shareCaseErrorMessage = { isInvalid: false, messages: [] };
39
70
  }
40
71
  /**
41
72
  * @param {?} c
42
73
  * @return {?}
43
74
  */
44
75
  onUnselect(c) {
45
- this.unselect.emit(c);
46
- this.stateService.removeCase(c.caseId);
76
+ this.validationErrors = [];
77
+ if (this.stateService.getCases().length === 1) {
78
+ this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.OneCaseMustBeSelected });
79
+ this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.OneCaseMustBeSelected] };
80
+ window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
81
+ }
82
+ else {
83
+ this.unselect.emit(c);
84
+ this.stateService.removeCase(c.caseId);
85
+ }
47
86
  }
48
87
  /**
49
88
  * @param {?} event
@@ -70,6 +109,18 @@ export class ShareCaseComponent {
70
109
  this.userSelect.clear();
71
110
  }
72
111
  this.synchronizeStore.emit(newSharedCases);
112
+ // Update the list of assigned users (which includes pending users)
113
+ this.getAssignedUsers(newSharedCases);
114
+ }
115
+ /**
116
+ * @return {?}
117
+ */
118
+ removeUser() {
119
+ if (this.selectedUserToRemove) {
120
+ /** @type {?} */
121
+ const newSharedCases = this.stateService.requestUnshare(this.selectedUserToRemove);
122
+ this.synchronizeStore.emit(newSharedCases);
123
+ }
73
124
  }
74
125
  /**
75
126
  * @return {?}
@@ -78,11 +129,15 @@ export class ShareCaseComponent {
78
129
  return this.selectedUser === null || this.shareCases.length === 0;
79
130
  }
80
131
  /**
132
+ * Function originally used to set disabled state of "Continue" button, now called by the button click handler to
133
+ * control whether navigation to the confirmation page is allowed. It is prevented if no changes have been made
81
134
  * @return {?}
82
135
  */
83
- isDisabledContinue() {
84
- /** @type {?} */
85
- let isDisabled = true;
136
+ setContinueAllowed() {
137
+ // Always start with continueAllowed = false. This covers the scenario where a user might add someone for sharing
138
+ // a case (so, continueAllowed = true), then removes the same user before trying to continue. This would
139
+ // erroneously leave continueAllowed as true
140
+ this.continueAllowed = false;
86
141
  this.shareCases$.subscribe((/**
87
142
  * @param {?} shareCases
88
143
  * @return {?}
@@ -90,16 +145,15 @@ export class ShareCaseComponent {
90
145
  shareCases => {
91
146
  for (const caseState of shareCases) {
92
147
  if (caseState.pendingShares && caseState.pendingShares.length > 0) {
93
- isDisabled = false;
148
+ this.continueAllowed = true;
94
149
  break;
95
150
  }
96
151
  if (caseState.pendingUnshares && caseState.pendingUnshares.length > 0) {
97
- isDisabled = false;
152
+ this.continueAllowed = true;
98
153
  break;
99
154
  }
100
155
  }
101
156
  }));
102
- return isDisabled;
103
157
  }
104
158
  /**
105
159
  * @param {?} sharedCase
@@ -118,25 +172,120 @@ export class ShareCaseComponent {
118
172
  }
119
173
  this.stateService.setCases(this.shareCases);
120
174
  }
175
+ /**
176
+ * @return {?}
177
+ */
178
+ onContinue() {
179
+ this.setContinueAllowed();
180
+ // If continuation is not allowed, set an error message
181
+ if (!this.continueAllowed) {
182
+ this.validationErrors = [];
183
+ this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.NoChangesRequested });
184
+ this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.NoChangesRequested] };
185
+ window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
186
+ }
187
+ // Navigate to confirmation page only if allowed to continue
188
+ if (this.continueAllowed) {
189
+ // Check that no case is left unassigned; a user can be removed only if there is another current user, or if at
190
+ // least one user is to be added. Prevent navigation to confirmation page if there is at least one case left in
191
+ // an unassigned state
192
+ if (this.hasCasesLeftUnassigned(this.shareCases)) {
193
+ this.validationErrors = [];
194
+ this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.OnePersonMustBeAssigned });
195
+ this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.OnePersonMustBeAssigned] };
196
+ window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
197
+ }
198
+ else {
199
+ this.router.navigate([this.confirmLink]);
200
+ }
201
+ }
202
+ }
203
+ /**
204
+ * Gets a unique list of all users that have been assigned, or are pending assigment to, at least one case
205
+ * @param {?} sharedCases The list of shared cases from which to get users these are shared with, or are to be shared with
206
+ * @return {?}
207
+ */
208
+ getAssignedUsers(sharedCases) {
209
+ /** @type {?} */
210
+ const users = [];
211
+ sharedCases.forEach((/**
212
+ * @param {?} sharedCase
213
+ * @return {?}
214
+ */
215
+ sharedCase => {
216
+ if (sharedCase.sharedWith) {
217
+ sharedCase.sharedWith.forEach((/**
218
+ * @param {?} user
219
+ * @return {?}
220
+ */
221
+ user => {
222
+ if (!users.some((/**
223
+ * @param {?} existingUser
224
+ * @return {?}
225
+ */
226
+ existingUser => user.idamId === existingUser.idamId))) {
227
+ users.push(user);
228
+ }
229
+ }));
230
+ }
231
+ if (sharedCase.pendingShares) {
232
+ sharedCase.pendingShares.forEach((/**
233
+ * @param {?} user
234
+ * @return {?}
235
+ */
236
+ user => {
237
+ if (!users.some((/**
238
+ * @param {?} existingUser
239
+ * @return {?}
240
+ */
241
+ existingUser => user.idamId === existingUser.idamId))) {
242
+ users.push(user);
243
+ }
244
+ }));
245
+ }
246
+ }));
247
+ this.assignedUsers = users;
248
+ }
249
+ /**
250
+ * Checks if any shared cases have been left unassigned. This occurs if a shared case has a number of pending
251
+ * unshares equal to the number of current shares, and there are no pending shares.
252
+ * @param {?} sharedCases The array of shared cases to check
253
+ * @return {?} `true` if at least one case has the condition described above; `false` otherwise
254
+ */
255
+ hasCasesLeftUnassigned(sharedCases) {
256
+ return sharedCases.some((/**
257
+ * @param {?} sharedCase
258
+ * @return {?}
259
+ */
260
+ sharedCase => {
261
+ return sharedCase.pendingUnshares && sharedCase.sharedWith &&
262
+ sharedCase.pendingUnshares.length === sharedCase.sharedWith.length &&
263
+ (!sharedCase.pendingShares || sharedCase.pendingShares.length === 0);
264
+ }));
265
+ }
121
266
  }
122
267
  ShareCaseComponent.decorators = [
123
268
  { type: Component, args: [{
124
269
  selector: 'xuilib-share-case',
125
- template: "<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\" title=\"Add user to selected cases\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can't find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can't find your colleague's email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">Remove a person from all cases</label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n Select a person to remove them from all selected cases.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option value=\"{{user}}\" *ngFor=\"let user of users\">{{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" class=\"govuk-button govuk-button--secondary\" title=\"Remove user from selected cases\">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button class=\"govuk-button\" data-module=\"govuk-button\" [disabled]=\"isDisabledContinue()\" title=\"Continue\" [routerLink]=\"confirmLink\">Continue</button>\n <button class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"Cancel\">Cancel</button>\n</div>\n",
270
+ template: "<xuilib-hmcts-error-summary\n [errorMessages]=\"validationErrors\"\n [header]=\"'There is a problem'\"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf=\"title\" class=\"govuk-heading-xl govuk-!-margin-top-2\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle}}</span>\n {{title}}\n</h1>\n<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n Search by name or email address. You can share access with as many people as you need.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\" class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\" title=\"Add user to selected cases\">Add</button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n Can't find an email address?\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n If you can't find your colleague's email address, they will need to complete their registration. Contact your\n administrator for help.\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">Remove a person from all cases</label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n Select a person to remove them from all selected cases.\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select [(ngModel)]=\"selectedUserToRemove\" class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option [ngValue]=\"null\" selected>Select a person</option>\n <option *ngFor=\"let user of assignedUsers\" [ngValue]=\"user\">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" (click)=\"removeUser()\" class=\"govuk-button govuk-button--secondary\" title=\"Remove user from selected cases\">Remove</button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\" [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">Selected cases</h3>\n <xuilib-gov-uk-error-message [config]=\"selectedCasesErrorMessageConfig\" [errorMessage]=\"shareCaseErrorMessage\"></xuilib-gov-uk-error-message>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\"\n [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n No cases to display.\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button id=\"btn-continue\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"onContinue()\" title=\"Continue\">Continue</button>\n <button id=\"btn-cancel\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"Cancel\" [routerLink]=\"cancelLink\">Cancel</button>\n</div>\n",
126
271
  styles: ["select{width:100%}"]
127
272
  }] }
128
273
  ];
129
274
  /** @nocollapse */
130
275
  ShareCaseComponent.ctorParameters = () => [
131
- { type: CaseSharingStateService }
276
+ { type: CaseSharingStateService },
277
+ { type: Router }
132
278
  ];
133
279
  ShareCaseComponent.propDecorators = {
134
280
  removeUserFromCaseToggleOn: [{ type: Input }],
135
281
  shareCases$: [{ type: Input }],
136
282
  users: [{ type: Input }],
137
283
  confirmLink: [{ type: Input }],
284
+ cancelLink: [{ type: Input }],
138
285
  addUserLabel: [{ type: Input }],
139
286
  showRemoveUsers: [{ type: Input }],
287
+ fnTitle: [{ type: Input }],
288
+ title: [{ type: Input }],
140
289
  unselect: [{ type: Output }],
141
290
  synchronizeStore: [{ type: Output }],
142
291
  userSelect: [{ type: ViewChild, args: [UserSelectComponent,] }]
@@ -145,6 +294,14 @@ if (false) {
145
294
  /** @type {?} */
146
295
  ShareCaseComponent.prototype.shareCases;
147
296
  /** @type {?} */
297
+ ShareCaseComponent.prototype.selectedCasesErrorMessageConfig;
298
+ /** @type {?} */
299
+ ShareCaseComponent.prototype.continueAllowed;
300
+ /** @type {?} */
301
+ ShareCaseComponent.prototype.assignedUsers;
302
+ /** @type {?} */
303
+ ShareCaseComponent.prototype.selectedUserToRemove;
304
+ /** @type {?} */
148
305
  ShareCaseComponent.prototype.removeUserFromCaseToggleOn;
149
306
  /** @type {?} */
150
307
  ShareCaseComponent.prototype.shareCases$;
@@ -153,10 +310,16 @@ if (false) {
153
310
  /** @type {?} */
154
311
  ShareCaseComponent.prototype.confirmLink;
155
312
  /** @type {?} */
313
+ ShareCaseComponent.prototype.cancelLink;
314
+ /** @type {?} */
156
315
  ShareCaseComponent.prototype.addUserLabel;
157
316
  /** @type {?} */
158
317
  ShareCaseComponent.prototype.showRemoveUsers;
159
318
  /** @type {?} */
319
+ ShareCaseComponent.prototype.fnTitle;
320
+ /** @type {?} */
321
+ ShareCaseComponent.prototype.title;
322
+ /** @type {?} */
160
323
  ShareCaseComponent.prototype.unselect;
161
324
  /** @type {?} */
162
325
  ShareCaseComponent.prototype.synchronizeStore;
@@ -170,10 +333,19 @@ if (false) {
170
333
  * @private
171
334
  */
172
335
  ShareCaseComponent.prototype.userSelect;
336
+ /** @type {?} */
337
+ ShareCaseComponent.prototype.validationErrors;
338
+ /** @type {?} */
339
+ ShareCaseComponent.prototype.shareCaseErrorMessage;
173
340
  /**
174
341
  * @type {?}
175
342
  * @private
176
343
  */
177
344
  ShareCaseComponent.prototype.stateService;
345
+ /**
346
+ * @type {?}
347
+ * @private
348
+ */
349
+ ShareCaseComponent.prototype.router;
178
350
  }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2hhcmUtY2FzZS9zaGFyZS1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFPM0UsTUFBTSxPQUFPLGtCQUFrQjs7OztJQXFCN0IsWUFBNkIsWUFBcUM7UUFBckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBbkIzRCxlQUFVLEdBQWlCLEVBQUUsQ0FBQyxDQUFDLDZCQUE2Qjs7UUFFbkQsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBRzVDLFVBQUssR0FBa0IsRUFBRSxDQUFDLENBQUMsMERBQTBEOztRQUVyRixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUV6QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUVoQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBT1UsQ0FBQzs7OztJQUVoRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7Ozs7O0lBRU0sVUFBVSxDQUFDLENBQWE7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsS0FBVTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRU0sY0FBYyxDQUFDLElBQWlCO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7Ozs7SUFFTSxPQUFPOztjQUNOLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7U0FBRTtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Ozs7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Ozs7SUFFTSxrQkFBa0I7O1lBQ25CLFVBQVUsR0FBWSxJQUFJO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUzs7OztRQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3RDLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO2dCQUNsQyxJQUFJLFNBQVMsQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUNqRSxVQUFVLEdBQUcsS0FBSyxDQUFDO29CQUNuQixNQUFNO2lCQUNQO2dCQUNELElBQUksU0FBUyxDQUFDLGVBQWUsSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQ3JFLFVBQVUsR0FBRyxLQUFLLENBQUM7b0JBQ25CLE1BQU07aUJBQ1A7YUFDRjtRQUNILENBQUMsRUFBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFTSxVQUFVLENBQUMsVUFBc0I7UUFDdEMsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFOztrQkFDakIsT0FBTyxHQUFHLEVBQUU7WUFDbEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNyQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU0sRUFBRTtvQkFDeEMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDdkI7YUFDRjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQXhGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsMDFHQUEwQzs7YUFFM0M7Ozs7WUFQUSx1QkFBdUI7Ozt5Q0FZN0IsS0FBSzswQkFFTCxLQUFLO29CQUNMLEtBQUs7MEJBRUwsS0FBSzsyQkFDTCxLQUFLOzhCQUNMLEtBQUs7dUJBRUwsTUFBTTsrQkFDTixNQUFNO3lCQUlOLFNBQVMsU0FBQyxtQkFBbUI7Ozs7SUFoQjlCLHdDQUFxQzs7SUFFckMsd0RBQTREOztJQUU1RCx5Q0FBc0Q7O0lBQ3RELG1DQUEwQzs7SUFFMUMseUNBQXlDOztJQUN6QywwQ0FBcUM7O0lBQ3JDLDZDQUFpRDs7SUFFakQsc0NBQTJEOztJQUMzRCw4Q0FBNEQ7Ozs7O0lBRTVELDBDQUFrQzs7Ozs7SUFFbEMsd0NBQ2lEOzs7OztJQUVyQywwQ0FBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zaGFyZS1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdID0gW107IC8vIGNhc2VzIHNlbGVjdGVkIGZvciBzaGFyaW5nXG5cbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXJlQ2FzZXMkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG4gIEBJbnB1dCgpIHB1YmxpYyB1c2VyczogVXNlckRldGFpbHNbXSA9IFtdOyAvLyB1c2VycyBvZiB0aGlzIG9yZ2FuaXNhdGlvbiB0aGUgY2FzZXMgY2FuIGJlIHNoYXJlZCB3aXRoXG5cbiAgQElucHV0KCkgcHVibGljIGNvbmZpcm1MaW5rOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGFkZFVzZXJMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1JlbW92ZVVzZXJzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZFVzZXI6IFVzZXJEZXRhaWxzO1xuXG4gIEBWaWV3Q2hpbGQoVXNlclNlbGVjdENvbXBvbmVudClcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VsZWN0OiBVc2VyU2VsZWN0Q29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4ge1xuICAgICAgdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcztcbiAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldENhc2VzKHNoYXJlQ2FzZXMpO1xuICAgIH0pO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBvblVuc2VsZWN0KGM6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0LmVtaXQoYyk7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVtb3ZlQ2FzZShjLmNhc2VJZCk7XG4gIH1cblxuICBwdWJsaWMgb25TeW5jaHJvbml6ZVN0b3JlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZFVzZXIodXNlcjogVXNlckRldGFpbHMpIHtcbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IHVzZXI7XG4gIH1cblxuICBwdWJsaWMgYWRkVXNlcigpIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlcyA9IHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RTaGFyZSh0aGlzLnNlbGVjdGVkVXNlcik7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSBudWxsO1xuICAgIGlmICh0aGlzLnVzZXJTZWxlY3QpIHsgdGhpcy51c2VyU2VsZWN0LmNsZWFyKCk7IH1cbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChuZXdTaGFyZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgaXNEaXNhYmxlZEFkZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFVzZXIgPT09IG51bGwgfHwgdGhpcy5zaGFyZUNhc2VzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2FibGVkQ29udGludWUoKTogYm9vbGVhbiB7XG4gICAgbGV0IGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBjYXNlU3RhdGUgb2Ygc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMgJiYgY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdVbnNoYXJlcyAmJiBjYXNlU3RhdGUucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlc2VsZWN0KHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICBpZiAoc2hhcmVkQ2FzZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IFtdO1xuICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoZWxlbWVudC5jYXNlSWQgIT09IHNoYXJlZENhc2UuY2FzZUlkKSB7XG4gICAgICAgICAgdXBkYXRlZC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNoYXJlQ2FzZXMgPSB1cGRhdGVkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRDYXNlcyh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG59XG4iXX0=
351
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2hhcmUtY2FzZS9zaGFyZS1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQWMsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU8zRSxNQUFNLE9BQU8sa0JBQWtCOzs7OztJQStCN0IsWUFBNkIsWUFBcUMsRUFDckMsTUFBYztRQURkLGlCQUFZLEdBQVosWUFBWSxDQUF5QjtRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBOUJwQyxlQUFVLEdBQWlCLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtRQUU1RCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4Qix5QkFBb0IsR0FBZ0IsSUFBSSxDQUFDO1FBRWhDLCtCQUEwQixHQUFZLEtBQUssQ0FBQztRQUc1QyxVQUFLLEdBQWtCLEVBQUUsQ0FBQyxDQUFDLDBEQUEwRDs7UUFFckYsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxZQUFPLEdBQVcsRUFB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QUUxQyx5Q0FBeUM7O0lBQ3pDLHdDQUF3Qzs7SUFDeEMsMENBQXFDOztJQUNyQyw2Q0FBaUQ7O0lBQ2pELHFDQUFxQzs7SUFDckMsbUNBQW1DOztJQUVuQyxzQ0FBMkQ7O0lBQzNELDhDQUE0RDs7Ozs7SUFFNUQsMENBQWtDOzs7OztJQUVsQyx3Q0FDaUQ7O0lBRWpELDhDQUFnRTs7SUFDaEUsbURBQWlEOzs7OztJQUVyQywwQ0FBc0Q7Ozs7O0lBQ3RELG9DQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNNb2RlbCwgR292VWlDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL2dvdi11aS9tb2RlbHMnO1xuaW1wb3J0IHsgU2hhcmVkQ2FzZSwgU2hhcmVkQ2FzZUVycm9yTWVzc2FnZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zaGFyZS1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdID0gW107IC8vIGNhc2VzIHNlbGVjdGVkIGZvciBzaGFyaW5nXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzRXJyb3JNZXNzYWdlQ29uZmlnOiBHb3ZVaUNvbmZpZ01vZGVsO1xuICBwdWJsaWMgY29udGludWVBbGxvd2VkID0gZmFsc2U7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXJzOiBVc2VyRGV0YWlsc1tdO1xuICBwdWJsaWMgc2VsZWN0ZWRVc2VyVG9SZW1vdmU6IFVzZXJEZXRhaWxzID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcbiAgQElucHV0KCkgcHVibGljIHVzZXJzOiBVc2VyRGV0YWlsc1tdID0gW107IC8vIHVzZXJzIG9mIHRoaXMgb3JnYW5pc2F0aW9uIHRoZSBjYXNlcyBjYW4gYmUgc2hhcmVkIHdpdGhcblxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUxpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsTGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGRVc2VyTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNob3dSZW1vdmVVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZm5UaXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZFVzZXI6IFVzZXJEZXRhaWxzO1xuXG4gIEBWaWV3Q2hpbGQoVXNlclNlbGVjdENvbXBvbmVudClcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VsZWN0OiBVc2VyU2VsZWN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyB2YWxpZGF0aW9uRXJyb3JzOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9W10gPSBbXTtcbiAgcHVibGljIHNoYXJlQ2FzZUVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlc01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyRcbiAgICAgIC5waXBlKHRhcChzaGFyZWRDYXNlcyA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgbGlzdCBvZiB1c2VycyBhc3NpZ25lZCB0byBhdCBsZWFzdCBvbmUgY2FzZVxuICAgICAgICB0aGlzLmdldEFzc2lnbmVkVXNlcnMoc2hhcmVkQ2FzZXMuZmlsdGVyKHNoYXJlZENhc2UgPT4gc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSk7XG4gICAgICB9KSlcbiAgICAgIC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB7XG4gICAgICAgIHRoaXMuc2hhcmVDYXNlcyA9IHNoYXJlQ2FzZXM7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldENhc2VzKHNoYXJlQ2FzZXMpO1xuICAgICAgICAvLyBTZXQgdGhlIGNvbmZpZyB0byBiZSB1c2VkIGJ5IHRoZSB4dWlsaWItZ292LXVrLWVycm9yLW1lc3NhZ2UgY29tcG9uZW50LCBpbiBwYXJ0aWN1bGFyIHRoZSBlbGVtZW50IElEIHRvXG4gICAgICAgIC8vIHdoaWNoIHRoZSBlcnJvciBtZXNzYWdlIGlzIGFzc29jaWF0ZWRcbiAgICAgICAgaWYgKHNoYXJlQ2FzZXMpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXNFcnJvck1lc3NhZ2VDb25maWcgPSB7XG4gICAgICAgICAgICBpZDogc2hhcmVDYXNlcy5sZW5ndGggPiAwID8gJ2Nhc2VzJyA6ICdub0Nhc2VEaXNwbGF5J1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiBmYWxzZSwgbWVzc2FnZXM6IFtdIH07XG4gIH1cblxuICBwdWJsaWMgb25VbnNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgaWYgKHRoaXMuc3RhdGVTZXJ2aWNlLmdldENhc2VzKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiAnY2FzZXMnLCBtZXNzYWdlOiBTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5PbmVDYXNlTXVzdEJlU2VsZWN0ZWQgfSk7XG4gICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZUNhc2VNdXN0QmVTZWxlY3RlZF0gfTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuc2VsZWN0LmVtaXQoYyk7XG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVDYXNlKGMuY2FzZUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TeW5jaHJvbml6ZVN0b3JlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZFVzZXIodXNlcjogVXNlckRldGFpbHMpIHtcbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IHVzZXI7XG4gIH1cblxuICBwdWJsaWMgYWRkVXNlcigpIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlcyA9IHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RTaGFyZSh0aGlzLnNlbGVjdGVkVXNlcik7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSBudWxsO1xuICAgIGlmICh0aGlzLnVzZXJTZWxlY3QpIHsgdGhpcy51c2VyU2VsZWN0LmNsZWFyKCk7IH1cbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChuZXdTaGFyZWRDYXNlcyk7XG4gICAgLy8gVXBkYXRlIHRoZSBsaXN0IG9mIGFzc2lnbmVkIHVzZXJzICh3aGljaCBpbmNsdWRlcyBwZW5kaW5nIHVzZXJzKVxuICAgIHRoaXMuZ2V0QXNzaWduZWRVc2VycyhuZXdTaGFyZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVXNlcigpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFVzZXJUb1JlbW92ZSkge1xuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZXMgPSB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh0aGlzLnNlbGVjdGVkVXNlclRvUmVtb3ZlKTtcbiAgICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KG5ld1NoYXJlZENhc2VzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEaXNhYmxlZEFkZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFVzZXIgPT09IG51bGwgfHwgdGhpcy5zaGFyZUNhc2VzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiBvcmlnaW5hbGx5IHVzZWQgdG8gc2V0IGRpc2FibGVkIHN0YXRlIG9mIFwiQ29udGludWVcIiBidXR0b24sIG5vdyBjYWxsZWQgYnkgdGhlIGJ1dHRvbiBjbGljayBoYW5kbGVyIHRvXG4gICAqIGNvbnRyb2wgd2hldGhlciBuYXZpZ2F0aW9uIHRvIHRoZSBjb25maXJtYXRpb24gcGFnZSBpcyBhbGxvd2VkLiBJdCBpcyBwcmV2ZW50ZWQgaWYgbm8gY2hhbmdlcyBoYXZlIGJlZW4gbWFkZVxuICAgKi9cbiAgcHVibGljIHNldENvbnRpbnVlQWxsb3dlZCgpOiB2b2lkIHtcbiAgICAvLyBBbHdheXMgc3RhcnQgd2l0aCBjb250aW51ZUFsbG93ZWQgPSBmYWxzZS4gVGhpcyBjb3ZlcnMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgdXNlciBtaWdodCBhZGQgc29tZW9uZSBmb3Igc2hhcmluZ1xuICAgIC8vIGEgY2FzZSAoc28sIGNvbnRpbnVlQWxsb3dlZCA9IHRydWUpLCB0aGVuIHJlbW92ZXMgdGhlIHNhbWUgdXNlciBiZWZvcmUgdHJ5aW5nIHRvIGNvbnRpbnVlLiBUaGlzIHdvdWxkXG4gICAgLy8gZXJyb25lb3VzbHkgbGVhdmUgY29udGludWVBbGxvd2VkIGFzIHRydWVcbiAgICB0aGlzLmNvbnRpbnVlQWxsb3dlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBjYXNlU3RhdGUgb2Ygc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMgJiYgY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuY29udGludWVBbGxvd2VkID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdVbnNoYXJlcyAmJiBjYXNlU3RhdGUucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmNvbnRpbnVlQWxsb3dlZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlc2VsZWN0KHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICBpZiAoc2hhcmVkQ2FzZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IFtdO1xuICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoZWxlbWVudC5jYXNlSWQgIT09IHNoYXJlZENhc2UuY2FzZUlkKSB7XG4gICAgICAgICAgdXBkYXRlZC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNoYXJlQ2FzZXMgPSB1cGRhdGVkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRDYXNlcyh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG9uQ29udGludWUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250aW51ZUFsbG93ZWQoKTtcbiAgICAvLyBJZiBjb250aW51YXRpb24gaXMgbm90IGFsbG93ZWQsIHNldCBhbiBlcnJvciBtZXNzYWdlXG4gICAgaWYgKCF0aGlzLmNvbnRpbnVlQWxsb3dlZCkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiAnY2FzZXMnLCBtZXNzYWdlOiBTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5Ob0NoYW5nZXNSZXF1ZXN0ZWQgfSk7XG4gICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk5vQ2hhbmdlc1JlcXVlc3RlZF0gfTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgICAvLyBOYXZpZ2F0ZSB0byBjb25maXJtYXRpb24gcGFnZSBvbmx5IGlmIGFsbG93ZWQgdG8gY29udGludWVcbiAgICBpZiAodGhpcy5jb250aW51ZUFsbG93ZWQpIHtcbiAgICAgIC8vIENoZWNrIHRoYXQgbm8gY2FzZSBpcyBsZWZ0IHVuYXNzaWduZWQ7IGEgdXNlciBjYW4gYmUgcmVtb3ZlZCBvbmx5IGlmIHRoZXJlIGlzIGFub3RoZXIgY3VycmVudCB1c2VyLCBvciBpZiBhdFxuICAgICAgLy8gbGVhc3Qgb25lIHVzZXIgaXMgdG8gYmUgYWRkZWQuIFByZXZlbnQgbmF2aWdhdGlvbiB0byBjb25maXJtYXRpb24gcGFnZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZSBsZWZ0IGluXG4gICAgICAvLyBhbiB1bmFzc2lnbmVkIHN0YXRlXG4gICAgICBpZiAodGhpcy5oYXNDYXNlc0xlZnRVbmFzc2lnbmVkKHRoaXMuc2hhcmVDYXNlcykpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsgaWQ6ICdjYXNlcycsIG1lc3NhZ2U6IFNoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZVBlcnNvbk11c3RCZUFzc2lnbmVkIH0pO1xuICAgICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZVBlcnNvbk11c3RCZUFzc2lnbmVkXSB9O1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpcm1MaW5rXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSB1bmlxdWUgbGlzdCBvZiBhbGwgdXNlcnMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQsIG9yIGFyZSBwZW5kaW5nIGFzc2lnbWVudCB0bywgYXQgbGVhc3Qgb25lIGNhc2VcbiAgICogQHBhcmFtIHNoYXJlZENhc2VzIFRoZSBsaXN0IG9mIHNoYXJlZCBjYXNlcyBmcm9tIHdoaWNoIHRvIGdldCB1c2VycyB0aGVzZSBhcmUgc2hhcmVkIHdpdGgsIG9yIGFyZSB0byBiZSBzaGFyZWQgd2l0aFxuICAgKi9cbiAgcHVibGljIGdldEFzc2lnbmVkVXNlcnMoc2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIGNvbnN0IHVzZXJzOiBVc2VyRGV0YWlsc1tdID0gW107XG4gICAgc2hhcmVkQ2FzZXMuZm9yRWFjaChzaGFyZWRDYXNlID0+IHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgaWYgKCF1c2Vycy5zb21lKGV4aXN0aW5nVXNlciA9PiB1c2VyLmlkYW1JZCA9PT0gZXhpc3RpbmdVc2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgaWYgKCF1c2Vycy5zb21lKGV4aXN0aW5nVXNlciA9PiB1c2VyLmlkYW1JZCA9PT0gZXhpc3RpbmdVc2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmFzc2lnbmVkVXNlcnMgPSB1c2VycztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW55IHNoYXJlZCBjYXNlcyBoYXZlIGJlZW4gbGVmdCB1bmFzc2lnbmVkLiBUaGlzIG9jY3VycyBpZiBhIHNoYXJlZCBjYXNlIGhhcyBhIG51bWJlciBvZiBwZW5kaW5nXG4gICAqIHVuc2hhcmVzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgY3VycmVudCBzaGFyZXMsIGFuZCB0aGVyZSBhcmUgbm8gcGVuZGluZyBzaGFyZXMuXG4gICAqIEBwYXJhbSBzaGFyZWRDYXNlcyBUaGUgYXJyYXkgb2Ygc2hhcmVkIGNhc2VzIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhdCBsZWFzdCBvbmUgY2FzZSBoYXMgdGhlIGNvbmRpdGlvbiBkZXNjcmliZWQgYWJvdmU7IGBmYWxzZWAgb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgaGFzQ2FzZXNMZWZ0VW5hc3NpZ25lZChzaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNoYXJlZENhc2VzLnNvbWUoc2hhcmVkQ2FzZSA9PiB7XG4gICAgICByZXR1cm4gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmXG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA9PT0gc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCAmJlxuICAgICAgICAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyB8fCBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID09PSAwKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -6,8 +6,9 @@
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { NgModule } from '@angular/core';
8
8
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
9
- import { MatInputModule, MatTabsModule } from '@angular/material';
10
9
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
10
+ import { MatInputModule } from '@angular/material/input';
11
+ import { MatTabsModule } from '@angular/material/tabs';
11
12
  import { RouterModule } from '@angular/router';
12
13
  import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
13
14
  import { AccessibilityComponent } from './components/accessibility/accessibility.component';
@@ -19,7 +20,6 @@ import { ExuiPageWrapperComponent } from './components/exui-main-wrapper/exui-pa
19
20
  import { FindLocationComponent } from './components/find-location/find-location.component';
20
21
  import { FindPersonComponent } from './components/find-person/find-person.component';
21
22
  import { FindServiceComponent } from './components/find-service/find-service.component';
22
- import { FindTaskNameComponent } from './components/find-task-name/find-task-name.component';
23
23
  import { GenericFilterComponent } from './components/generic-filter/generic-filter.component';
24
24
  import { HmctsSessionDialogComponent } from './components/hmcts-session-dialog/hmcts-session-dialog.component';
25
25
  import { InviteUserFormComponent } from './components/invite-user-form/invite-user-form.component';
@@ -69,7 +69,6 @@ import { HmctsPaginationComponent } from './gov-ui/components/hmcts-pagination/h
69
69
  import { HmctsPrimaryNavigationComponent } from './gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component';
70
70
  import { HmctsSubNavigationComponent } from './gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component';
71
71
  import { RemoveHostDirective } from './gov-ui/directives/remove-host.directive';
72
- import { CapitalizePipe } from './pipes/capitalize.pipe';
73
72
  import { windowProvider, windowToken } from './window';
74
73
  /** @type {?} */
75
74
  export const COMMON_COMPONENTS = [
@@ -104,7 +103,6 @@ export const COMMON_COMPONENTS = [
104
103
  FindPersonComponent,
105
104
  SearchJudicialsComponent,
106
105
  FindLocationComponent,
107
- FindTaskNameComponent,
108
106
  SearchLocationComponent,
109
107
  FindServiceComponent,
110
108
  SearchServiceComponent,
@@ -136,10 +134,6 @@ export const GOV_UI_COMPONENTS = [
136
134
  GovUkFileUploadComponent,
137
135
  RemoveHostDirective
138
136
  ];
139
- /** @type {?} */
140
- const pipes = [
141
- CapitalizePipe
142
- ];
143
137
  const ɵ0 = windowProvider;
144
138
  export class ExuiCommonLibModule {
145
139
  }
@@ -147,8 +141,7 @@ ExuiCommonLibModule.decorators = [
147
141
  { type: NgModule, args: [{
148
142
  declarations: [
149
143
  ...COMMON_COMPONENTS,
150
- ...GOV_UI_COMPONENTS,
151
- ...pipes
144
+ ...GOV_UI_COMPONENTS
152
145
  ],
153
146
  imports: [
154
147
  CommonModule,
@@ -166,10 +159,9 @@ ExuiCommonLibModule.decorators = [
166
159
  exports: [
167
160
  ...COMMON_COMPONENTS,
168
161
  ...GOV_UI_COMPONENTS,
169
- PaginatePipe,
170
- ...pipes
162
+ PaginatePipe
171
163
  ]
172
164
  },] }
173
165
  ];
174
166
  export { ɵ0 };
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh1aS1jb21tb24tbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZXh1aS1jb21tb24tbGliLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDcEcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtE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RyxpQkFBaUI7b0JBQ3BCLFlBQVk7b0JBQ1osR0FBRyxLQUFLO2lCQUNUO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtNYXRJbnB1dE1vZHVsZSwgTWF0VGFic01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwnO1xuaW1wb3J0IHtNYXRBdXRvY29tcGxldGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Tmd4UGFnaW5hdGlvbk1vZHVsZSwgUGFnaW5hdGVQaXBlfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7Q2hlY2tib3hMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2tib3gtbGlzdC9jaGVja2JveC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbnRhY3REZXRhaWxzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHtDb29raWVCYW5uZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jb29raWUtYmFubmVyL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7RHVlRGF0ZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2R1ZS1kYXRlL2R1ZS1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0V4dWlQYWdlV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2V4dWktbWFpbi13cmFwcGVyL2V4dWktcGFnZS13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbmRMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbmQtbG9jYXRpb24vZmluZC1sb2NhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtGaW5kUGVyc29uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZpbmRTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbmQtc2VydmljZS9maW5kLXNlcnZpY2UuY29tcG9uZW50JztcbmltcG9ydCB7RmluZFRhc2tOYW1lQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZmluZC10YXNrLW5hbWUvZmluZC10YXNrLW5hbWUuY29tcG9uZW50JztcbmltcG9ydCB7R2VuZXJpY0ZpbHRlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0htY3RzU2Vzc2lvbkRpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2htY3RzLXNlc3Npb24tZGlhbG9nL2htY3RzLXNlc3Npb24tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0ludml0ZVVzZXJGb3JtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaW52aXRlLXVzZXItZm9ybS9pbnZpdGUtdXNlci1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge0ludml0ZVVzZXJQZXJtaXNzaW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaW52aXRlLXVzZXItcGVybWlzc2lvbnMvaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2FkaW5nU3Bpbm5lckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7UGFnaW5hdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hKdWRpY2lhbHNDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtanVkaWNpYWxzL3NlYXJjaC1qdWRpY2lhbHMuY29tcG9uZW50JztcbmltcG9ydCB7U2VhcmNoTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1zZXJ2aWNlL3NlYXJjaC1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlYXJjaFZlbnVlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VhcmNoLXZlbnVlL3NlYXJjaC12ZW51ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VDb25maXJtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1jb25maXJtL3NlbGVjdGVkLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1saXN0L3NlbGVjdGVkLWNhc2UtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3RlZC1jYXNlL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50JztcbmltcG9ydCB7U2VydmljZU1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZXJ2aWNlLW1lc3NhZ2Uvc2VydmljZS1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlcnZpY2VNZXNzYWdlc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHtTaGFyZUNhc2VDb25maXJtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUtY2FzZS1jb25maXJtL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtTaGFyZUNhc2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS1jYXNlL3NoYXJlLWNhc2UuY29tcG9uZW50JztcbmltcG9ydCB7VGFiQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUY0NvbmZpcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90Yy1jb25maXJtL3RjLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRjRGlzcGxheUh0bWxDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1odG1sL3RjLWRpc3BsYXktaHRtbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGNEaXNwbGF5UGxhaW5Db21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1wbGFpbi90Yy1kaXNwbGF5LXBsYWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXJtc0FuZENvbmRpdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVybXMtYW5kLWNvbmRpdGlvbnMvdGVybXMtYW5kLWNvbmRpdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbGlzdC91c2VyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFVzZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1zZWxlY3QvdXNlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmVUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmVhdHVyZS10b2dnbGUvZmVhdHVyZS10b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9sZXQvbGV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHb3ZVa0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstY2hlY2tib3gvZ292LXVrLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0NoZWNrYm94ZXNDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1jaGVja2JveGVzL2dvdi11ay1jaGVja2JveGVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0RhdGVDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1kYXRlL2dvdi11ay1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0Vycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWVycm9yLW1lc3NhZ2UvZ292LXVrLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEdvdlVrRmllbGRzZXRDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1maWVsZHNldC9nb3YtdWstZmllbGRzZXQuY29tcG9uZW50JztcbmltcG9ydCB7IEdvdlVrRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWZpbGUtdXBsb2FkL2dvdi11ay1maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgR292VWtGb3JtR3JvdXBXcmFwcGVyQ29tcG9uZW50XG59IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWZvcm0tZ3JvdXAtd3JhcHBlci9nb3YtdWstZm9ybS1ncm91cC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstaW5wdXQvZ292LXVrLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0xhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstbGFiZWwvZ292LXVrLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa1JhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstcmFkaW8vZ292LXVrLXJhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa1JhZGlvc0NvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXJhZGlvcy9nb3YtdWstcmFkaW9zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXNlbGVjdC9nb3YtdWstc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3Z1a1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstdGFibGUvZ292LXVrLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa1RleHRhcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstdGV4dGFyZWEvZ292LXVrLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIbWN0c0Jhbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtYmFubmVyL2htY3RzLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWVycm9yLXN1bW1hcnkvaG1jdHMtZXJyb3Itc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNJZGVudGl0eUJhckNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtaWRlbnRpdHktYmFyL2htY3RzLWlkZW50aXR5LWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNNYWluV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtbWFpbi13cmFwcGVyL2htY3RzLW1haW4td3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1wYWdpbmF0aW9uL2htY3RzLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEhtY3RzUHJpbWFyeU5hdmlnYXRpb25Db21wb25lbnRcbn0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1wcmltYXJ5LW5hdmlnYXRpb24vaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIbWN0c1N1Yk5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXN1Yi1uYXZpZ2F0aW9uL2htY3RzLXN1Yi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZW1vdmVIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi9nb3YtdWkvZGlyZWN0aXZlcy9yZW1vdmUtaG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2FwaXRhbGl6ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XG5pbXBvcnQgeyB3aW5kb3dQcm92aWRlciwgd2luZG93VG9rZW4gfSBmcm9tICcuL3dpbmRvdyc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fQ09NUE9ORU5UUyA9IFtcbiAgRXh1aVBhZ2VXcmFwcGVyQ29tcG9uZW50LFxuICBUZXJtc0FuZENvbmRpdGlvbnNDb21wb25lbnQsXG4gIFRjRGlzcGxheUh0bWxDb21wb25lbnQsXG4gIFRjRGlzcGxheVBsYWluQ29tcG9uZW50LFxuICBUY0NvbmZpcm1Db21wb25lbnQsXG4gIENvbnRhY3REZXRhaWxzQ29tcG9uZW50LFxuICBGZWF0dXJlVG9nZ2xlRGlyZWN0aXZlLFxuICBMZXREaXJlY3RpdmUsXG4gIEhtY3RzU2Vzc2lvbkRpYWxvZ0NvbXBvbmVudCxcbiAgVXNlckxpc3RDb21wb25lbnQsXG4gIFVzZXJEZXRhaWxzQ29tcG9uZW50LFxuICBJbnZpdGVVc2VyUGVybWlzc2lvbkNvbXBvbmVudCxcbiAgSW52aXRlVXNlckZvcm1Db21wb25lbnQsXG4gIFNoYXJlQ2FzZUNvbXBvbmVudCxcbiAgU2hhcmVDYXNlQ29uZmlybUNvbXBvbmVudCxcbiAgU2VsZWN0ZWRDYXNlTGlzdENvbXBvbmVudCxcbiAgU2VsZWN0ZWRDYXNlQ29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VDb25maXJtQ29tcG9uZW50LFxuICBVc2VyU2VsZWN0Q29tcG9uZW50LFxuICBUYWJDb21wb25lbnQsXG4gIEFjY2Vzc2liaWxpdHlDb21wb25lbnQsXG4gIER1ZURhdGVDb21wb25lbnQsXG4gIENoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgU2VydmljZU1lc3NhZ2VDb21wb25lbnQsXG4gIFNlcnZpY2VNZXNzYWdlc0NvbXBvbmVudCxcbiAgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQsXG4gIEdlbmVyaWNGaWx0ZXJDb21wb25lbnQsXG4gIENvb2tpZUJhbm5lckNvbXBvbmVudCxcbiAgRmluZFBlcnNvbkNvbXBvbmVudCxcbiAgU2VhcmNoSnVkaWNpYWxzQ29tcG9uZW50LFxuICBGaW5kTG9jYXRpb25Db21wb25lbnQsXG4gIEZpbmRUYXNrTmFtZUNvbXBvbmVudCxcbiAgU2VhcmNoTG9jYXRpb25Db21wb25lbnQsXG4gIEZpbmRTZXJ2aWNlQ29tcG9uZW50LFxuICBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50LFxuICBTZWFyY2hWZW51ZUNvbXBvbmVudCxcbiAgUGFnaW5hdGlvbkNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IEdPVl9VSV9DT01QT05FTlRTID0gW1xuICBIbWN0c0lkZW50aXR5QmFyQ29tcG9uZW50LFxuICBIbWN0c1BhZ2luYXRpb25Db21wb25lbnQsXG4gIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnQsXG4gIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQsXG4gIEhtY3RzQmFubmVyQ29tcG9uZW50LFxuICBHb3Z1a1RhYmxlQ29tcG9uZW50LFxuICBHb3ZVa0lucHV0Q29tcG9uZW50LFxuICBHb3ZVa0NoZWNrYm94Q29tcG9uZW50LFxuICBHb3ZVa0Zvcm1Hcm91cFdyYXBwZXJDb21wb25lbnQsXG4gIEdvdlVrTGFiZWxDb21wb25lbnQsXG4gIEdvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICBHb3ZVa0ZpZWxkc2V0Q29tcG9uZW50LFxuICBHb3ZVa0RhdGVDb21wb25lbnQsXG4gIEdvdlVrQ2hlY2tib3hlc0NvbXBvbmVudCxcbiAgR292VWtSYWRpb0NvbXBvbmVudCxcbiAgR292VWtSYWRpb3NDb21wb25lbnQsXG4gIEdvdlVrU2VsZWN0Q29tcG9uZW50LFxuICBHb3ZVa1RleHRhcmVhQ29tcG9uZW50LFxuICBHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gIFJlbW92ZUhvc3REaXJlY3RpdmVcbl07XG5cbmNvbnN0IHBpcGVzID0gW1xuICBDYXBpdGFsaXplUGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgLi4uQ09NTU9OX0NPTVBPTkVOVFMsXG4gICAgLi4uR09WX1VJX0NPTVBPTkVOVFMsXG4gICAgLi4ucGlwZXNcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXSksXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdFRhYnNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTmd4UGFnaW5hdGlvbk1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogd2luZG93VG9rZW4sIHVzZUZhY3Rvcnk6IHdpbmRvd1Byb3ZpZGVyfVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLi4uQ09NTU9OX0NPTVBPTkVOVFMsXG4gICAgLi4uR09WX1VJX0NPTVBPTkVOVFMsXG4gICAgUGFnaW5hdGVQaXBlLFxuICAgIC4uLnBpcGVzXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRXh1aUNvbW1vbkxpYk1vZHVsZSB7XG59XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh1aS1jb21tb24tbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZXh1aS1jb21tb24tbGliLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYs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LHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtDQUNwQjs7QUFFRCxNQUFNLE9BQU8saUJBQWlCLEdBQUc7SUFDL0IseUJBQXlCO0lBQ3pCLHdCQUF3QjtJQUN4QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDBCQUEwQjtJQUMxQix5QkFBeUI7SUFDekIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsc0JBQXNCO0lBQ3RCLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0Qix3QkFBd0I7SUFDeEIsbUJBQW1CO0NBQ3BCO1dBa0JzQyxjQUFjO0FBUXJELE1BQU0sT0FBTyxtQkFBbUI7OztZQXhCL0IsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixHQUFHLGlCQUFpQjtvQkFDcEIsR0FBRyxpQkFBaUI7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDekIscUJBQXFCO29CQUNyQixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsbUJBQW1CO2lCQUNwQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsSUFBZ0IsRUFBQztpQkFDbkQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEdBQUcsaUJBQWlCO29CQUNwQixHQUFHLGlCQUFpQjtvQkFDcEIsWUFBWTtpQkFDYjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOZ3hQYWdpbmF0aW9uTW9kdWxlLCBQYWdpbmF0ZVBpcGUgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGFjdERldGFpbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29va2llQmFubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHVlRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXh1aVBhZ2VXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2V4dWktbWFpbi13cmFwcGVyL2V4dWktcGFnZS13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaW5kTG9jYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaW5kUGVyc29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaW5kU2VydmljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9maW5kLXNlcnZpY2UvZmluZC1zZXJ2aWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHZW5lcmljRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIbWN0c1Nlc3Npb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaG1jdHMtc2Vzc2lvbi1kaWFsb2cvaG1jdHMtc2Vzc2lvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEludml0ZVVzZXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ludml0ZS11c2VyLWZvcm0vaW52aXRlLXVzZXItZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW52aXRlVXNlclBlcm1pc3Npb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW52aXRlLXVzZXItcGVybWlzc2lvbnMvaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEp1ZGljaWFsc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtanVkaWNpYWxzL3NlYXJjaC1qdWRpY2lhbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaExvY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VhcmNoLXNlcnZpY2Uvc2VhcmNoLXNlcnZpY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFZlbnVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC12ZW51ZS9zZWFyY2gtdmVudWUuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkQ2FzZUNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1jb25maXJtL3NlbGVjdGVkLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0ZWRDYXNlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3RlZC1jYXNlLWxpc3Qvc2VsZWN0ZWQtY2FzZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWxlY3RlZENhc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJ2aWNlTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXJ2aWNlLW1lc3NhZ2Uvc2VydmljZS1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJ2aWNlTWVzc2FnZXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VydmljZS1tZXNzYWdlcy9zZXJ2aWNlLW1lc3NhZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZUNhc2VDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlLWNhc2UtY29uZmlybS9zaGFyZS1jYXNlLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFNoYXJlQ2FzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS1jYXNlL3NoYXJlLWNhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUY0NvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGMtY29uZmlybS90Yy1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUY0Rpc3BsYXlIdG1sQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy90ZXJtcy1hbmQtY29uZGl0aW9ucy90Yy1kaXNwbGF5L3RjLWRpc3BsYXktaHRtbC90Yy1kaXNwbGF5LWh0bWwuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRjRGlzcGxheVBsYWluQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy90ZXJtcy1hbmQtY29uZGl0aW9ucy90Yy1kaXNwbGF5L3RjLWRpc3BsYXktcGxhaW4vdGMtZGlzcGxheS1wbGFpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVybXNBbmRDb25kaXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3Rlcm1zLWFuZC1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLWxpc3QvdXNlci1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVc2VyU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGZWF0dXJlVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbGV0L2xldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR292VWtDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWNoZWNrYm94L2dvdi11ay1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtDaGVja2JveGVzQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstY2hlY2tib3hlcy9nb3YtdWstY2hlY2tib3hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstZGF0ZS9nb3YtdWstZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1lcnJvci1tZXNzYWdlL2dvdi11ay1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0ZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstZmllbGRzZXQvZ292LXVrLWZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1maWxlLXVwbG9hZC9nb3YtdWstZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEdvdlVrRm9ybUdyb3VwV3JhcHBlckNvbXBvbmVudFxufSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1mb3JtLWdyb3VwLXdyYXBwZXIvZ292LXVrLWZvcm0tZ3JvdXAtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWlucHV0L2dvdi11ay1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWxhYmVsL2dvdi11ay1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXJhZGlvL2dvdi11ay1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtSYWRpb3NDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1yYWRpb3MvZ292LXVrLXJhZGlvcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1zZWxlY3QvZ292LXVrLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292dWtUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXRhYmxlL2dvdi11ay10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR292VWtUZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXRleHRhcmVhL2dvdi11ay10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWJhbm5lci9obWN0cy1iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhtY3RzRXJyb3JTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1lcnJvci1zdW1tYXJ5L2htY3RzLWVycm9yLXN1bW1hcnkuY29tcG9uZW50JztcbmltcG9ydCB7IEhtY3RzSWRlbnRpdHlCYXJDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWlkZW50aXR5LWJhci9obWN0cy1pZGVudGl0eS1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLW1haW4td3JhcHBlci9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhtY3RzUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtcGFnaW5hdGlvbi9obWN0cy1wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBIbWN0c1ByaW1hcnlOYXZpZ2F0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSG1jdHNTdWJOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1zdWItbmF2aWdhdGlvbi9obWN0cy1zdWItbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVtb3ZlSG9zdERpcmVjdGl2ZSB9IGZyb20gJy4vZ292LXVpL2RpcmVjdGl2ZXMvcmVtb3ZlLWhvc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IHdpbmRvd1Byb3ZpZGVyLCB3aW5kb3dUb2tlbiB9IGZyb20gJy4vd2luZG93JztcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9DT01QT05FTlRTID0gW1xuICBFeHVpUGFnZVdyYXBwZXJDb21wb25lbnQsXG4gIFRlcm1zQW5kQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgVGNEaXNwbGF5SHRtbENvbXBvbmVudCxcbiAgVGNEaXNwbGF5UGxhaW5Db21wb25lbnQsXG4gIFRjQ29uZmlybUNvbXBvbmVudCxcbiAgQ29udGFjdERldGFpbHNDb21wb25lbnQsXG4gIEZlYXR1cmVUb2dnbGVEaXJlY3RpdmUsXG4gIExldERpcmVjdGl2ZSxcbiAgSG1jdHNTZXNzaW9uRGlhbG9nQ29tcG9uZW50LFxuICBVc2VyTGlzdENvbXBvbmVudCxcbiAgVXNlckRldGFpbHNDb21wb25lbnQsXG4gIEludml0ZVVzZXJQZXJtaXNzaW9uQ29tcG9uZW50LFxuICBJbnZpdGVVc2VyRm9ybUNvbXBvbmVudCxcbiAgU2hhcmVDYXNlQ29tcG9uZW50LFxuICBTaGFyZUNhc2VDb25maXJtQ29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VMaXN0Q29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VDb21wb25lbnQsXG4gIFNlbGVjdGVkQ2FzZUNvbmZpcm1Db21wb25lbnQsXG4gIFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIFRhYkNvbXBvbmVudCxcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCxcbiAgRHVlRGF0ZUNvbXBvbmVudCxcbiAgQ2hlY2tib3hMaXN0Q29tcG9uZW50LFxuICBTZXJ2aWNlTWVzc2FnZUNvbXBvbmVudCxcbiAgU2VydmljZU1lc3NhZ2VzQ29tcG9uZW50LFxuICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCxcbiAgR2VuZXJpY0ZpbHRlckNvbXBvbmVudCxcbiAgQ29va2llQmFubmVyQ29tcG9uZW50LFxuICBGaW5kUGVyc29uQ29tcG9uZW50LFxuICBTZWFyY2hKdWRpY2lhbHNDb21wb25lbnQsXG4gIEZpbmRMb2NhdGlvbkNvbXBvbmVudCxcbiAgU2VhcmNoTG9jYXRpb25Db21wb25lbnQsXG4gIEZpbmRTZXJ2aWNlQ29tcG9uZW50LFxuICBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50LFxuICBTZWFyY2hWZW51ZUNvbXBvbmVudCxcbiAgUGFnaW5hdGlvbkNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IEdPVl9VSV9DT01QT05FTlRTID0gW1xuICBIbWN0c0lkZW50aXR5QmFyQ29tcG9uZW50LFxuICBIbWN0c1BhZ2luYXRpb25Db21wb25lbnQsXG4gIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnQsXG4gIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQsXG4gIEhtY3RzQmFubmVyQ29tcG9uZW50LFxuICBHb3Z1a1RhYmxlQ29tcG9uZW50LFxuICBHb3ZVa0lucHV0Q29tcG9uZW50LFxuICBHb3ZVa0NoZWNrYm94Q29tcG9uZW50LFxuICBHb3ZVa0Zvcm1Hcm91cFdyYXBwZXJDb21wb25lbnQsXG4gIEdvdlVrTGFiZWxDb21wb25lbnQsXG4gIEdvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICBHb3ZVa0ZpZWxkc2V0Q29tcG9uZW50LFxuICBHb3ZVa0RhdGVDb21wb25lbnQsXG4gIEdvdlVrQ2hlY2tib3hlc0NvbXBvbmVudCxcbiAgR292VWtSYWRpb0NvbXBvbmVudCxcbiAgR292VWtSYWRpb3NDb21wb25lbnQsXG4gIEdvdlVrU2VsZWN0Q29tcG9uZW50LFxuICBHb3ZVa1RleHRhcmVhQ29tcG9uZW50LFxuICBHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gIFJlbW92ZUhvc3REaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLkNPTU1PTl9DT01QT05FTlRTLFxuICAgIC4uLkdPVl9VSV9DT01QT05FTlRTXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IHdpbmRvd1Rva2VuLCB1c2VGYWN0b3J5OiB3aW5kb3dQcm92aWRlcn1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLkNPTU1PTl9DT01QT05FTlRTLFxuICAgIC4uLkdPVl9VSV9DT01QT05FTlRTLFxuICAgIFBhZ2luYXRlUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEV4dWlDb21tb25MaWJNb2R1bGUge1xufVxuIl19