@senior-gestao-pessoas/payroll-core 9.4.0-da523d13-bda8-40be-a1f7-c0d945546f1c → 9.4.0-db1d034b-8b09-472f-9726-7fd71af961f4

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 (42) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +662 -499
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +16 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/historical-pix-account/historical-pix-account-base.d.ts +25 -0
  6. package/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.d.ts +8 -40
  7. package/components/historical-pix-account/historical-pix-account.component.d.ts +23 -6
  8. package/components/historical-pix-account/historical-pix-account.service.d.ts +1 -0
  9. package/components/historical-pix-account-list/historical-pix-account-list.component.d.ts +11 -2
  10. package/components/shared/index.d.ts +1 -0
  11. package/components/shared/shared-state.service.d.ts +14 -0
  12. package/esm2015/components/historical-pix-account/historical-pix-account-base.js +150 -0
  13. package/esm2015/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +29 -187
  14. package/esm2015/components/historical-pix-account/historical-pix-account.component.js +79 -18
  15. package/esm2015/components/historical-pix-account/historical-pix-account.module.js +5 -1
  16. package/esm2015/components/historical-pix-account/historical-pix-account.service.js +8 -1
  17. package/esm2015/components/historical-pix-account-list/historical-pix-account-list.component.js +65 -34
  18. package/esm2015/components/shared/index.js +2 -0
  19. package/esm2015/components/shared/shared-state.service.js +36 -0
  20. package/esm2015/public_api.js +2 -1
  21. package/esm2015/senior-gestao-pessoas-payroll-core.js +3 -2
  22. package/esm5/components/historical-pix-account/historical-pix-account-base.js +163 -0
  23. package/esm5/components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component.js +53 -201
  24. package/esm5/components/historical-pix-account/historical-pix-account.component.js +122 -48
  25. package/esm5/components/historical-pix-account/historical-pix-account.module.js +5 -1
  26. package/esm5/components/historical-pix-account/historical-pix-account.service.js +8 -1
  27. package/esm5/components/historical-pix-account-list/historical-pix-account-list.component.js +74 -34
  28. package/esm5/components/shared/index.js +2 -0
  29. package/esm5/components/shared/shared-state.service.js +37 -0
  30. package/esm5/public_api.js +2 -1
  31. package/esm5/senior-gestao-pessoas-payroll-core.js +3 -2
  32. package/fesm2015/senior-gestao-pessoas-payroll-core.js +564 -446
  33. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  34. package/fesm5/senior-gestao-pessoas-payroll-core.js +658 -496
  35. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  36. package/locale/en-US.json +1 -1
  37. package/locale/es-ES.json +1 -1
  38. package/locale/pt-BR.json +1 -1
  39. package/package.json +1 -1
  40. package/public_api.d.ts +1 -0
  41. package/senior-gestao-pessoas-payroll-core.d.ts +2 -1
  42. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
@@ -9,10 +9,10 @@ import { ServiceType } from '../../core/enums/serviceType';
9
9
  import { Subject } from "rxjs";
10
10
  import { takeUntil } from "rxjs/operators";
11
11
  import { HistoricalPixAccountListService } from "./historical-pix-account-list.service";
12
- import { FormatUtilsService } from "../utils/format-utils/format-utils.service";
12
+ import { SharedStateService } from "../shared/shared-state.service";
13
13
  const moment = moment_;
14
14
  let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent {
15
- constructor(confirmationService, translateService, activatedRoute, cd, router, messageService, historicalPixAccountListService) {
15
+ constructor(confirmationService, translateService, activatedRoute, cd, router, messageService, historicalPixAccountListService, sharedStateService) {
16
16
  this.confirmationService = confirmationService;
17
17
  this.translateService = translateService;
18
18
  this.activatedRoute = activatedRoute;
@@ -20,11 +20,14 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
20
20
  this.router = router;
21
21
  this.messageService = messageService;
22
22
  this.historicalPixAccountListService = historicalPixAccountListService;
23
+ this.sharedStateService = sharedStateService;
23
24
  this.endPoint = "hcm/payroll/queries/historicalEmployeePixQuery";
24
25
  this.keyPayload = "historicalEmployeePix";
25
26
  this.withSidebar = true;
26
27
  this.isOnlyView = new EventEmitter();
28
+ this.isOnlyEdit = new EventEmitter();
27
29
  this.enableView = new EventEmitter();
30
+ this.isEditJudicialDependentPix = new EventEmitter();
28
31
  this.ngUnsubscribe = new Subject();
29
32
  this.loading = true;
30
33
  this.columns = [
@@ -32,18 +35,6 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
32
35
  label: this.translateService.instant("hcm.payroll.historical_pix_account_label_date_change"),
33
36
  field: "dateChange",
34
37
  },
35
- {
36
- label: this.translateService.instant("hcm.payroll.historical_pix_account_label_pix_key_type"),
37
- field: "pixKeyType.value",
38
- },
39
- {
40
- label: this.translateService.instant("hcm.payroll.historical_pix_account_label_pix_key"),
41
- field: "pixKey",
42
- },
43
- {
44
- label: this.translateService.instant("hcm.payroll.historical_pix_account_label_percentage"),
45
- field: "percentage",
46
- },
47
38
  {
48
39
  label: this.translateService.instant("hcm.payroll.employees_movimentation_historical_pix_account_label_qtd_account"),
49
40
  field: "numberOfPixAccount",
@@ -56,6 +47,7 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
56
47
  ngOnDestroy() {
57
48
  this.ngUnsubscribe.next();
58
49
  this.ngUnsubscribe.complete();
50
+ this.unsubscribe();
59
51
  }
60
52
  ngAfterViewInit() {
61
53
  this.cd.detectChanges();
@@ -63,33 +55,19 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
63
55
  onLazyLoad(payload) {
64
56
  payload.forEach((value) => {
65
57
  value.dateChange = moment(value.dateChange).format(this.dateFormat);
66
- value.pixKey = this.formatPixKeyByType(value.pixKeyType, value.pixKey);
67
- value.percentage = FormatUtilsService.getFormattedPercentage(value.percentage);
68
58
  });
69
59
  this.onGridLoad(payload);
70
60
  this.loading = false;
71
61
  }
72
- formatPixKeyByType(pixKeyType, pixKey) {
73
- const keyType = pixKeyType ? pixKeyType.key.toUpperCase() : "";
74
- if (keyType === "TELEPHONE") {
75
- return FormatUtilsService.getFormattedTelephoneNumber(pixKey);
76
- }
77
- else if (keyType === "CPF") {
78
- return FormatUtilsService.getFormattedCpf(pixKey);
79
- }
80
- else if (keyType === "CNPJ") {
81
- return FormatUtilsService.getFormattedCnpj(pixKey);
82
- }
83
- else {
84
- return pixKey;
85
- }
86
- }
87
62
  getMenuActions(rowData) {
88
63
  return [
89
64
  {
90
65
  label: this.translateService.instant("hcm.payroll.employees_image_cropper_view"),
91
66
  command: () => {
92
67
  if (this.isAllowToViewHistorical) {
68
+ this.sharedStateService.setHideField(true);
69
+ this.sharedStateService.setShowButton(false);
70
+ this.sharedStateService.setShowEditMode(false);
93
71
  const dateChange = rowData && rowData.dateChange && moment(rowData.dateChange, this.dateFormat).format("YYYY-MM-DD");
94
72
  if (this.withSidebar) {
95
73
  this.isOnlyView.emit(true);
@@ -98,6 +76,30 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
98
76
  });
99
77
  }
100
78
  else {
79
+ this.sharedStateService.setSaveButton(false);
80
+ this.enableView.emit(dateChange);
81
+ }
82
+ }
83
+ else {
84
+ this.isNotAllowMessage();
85
+ }
86
+ },
87
+ },
88
+ {
89
+ label: this.translateService.instant("hcm.payroll.edit"),
90
+ command: () => {
91
+ if (this.isAllowToEditHistorical) {
92
+ this.sharedStateService.setHideField(true);
93
+ this.sharedStateService.setShowButton(false);
94
+ this.sharedStateService.setShowEditMode(true);
95
+ const dateChange = rowData && rowData.dateChange && moment(rowData.dateChange, this.dateFormat).format("YYYY-MM-DD");
96
+ if (this.withSidebar) {
97
+ this.router.navigate([`historical-pix-account/${dateChange}`], {
98
+ relativeTo: this.activatedRoute,
99
+ });
100
+ }
101
+ else {
102
+ this.sharedStateService.setSaveButton(true);
101
103
  this.enableView.emit(dateChange);
102
104
  }
103
105
  }
@@ -116,7 +118,7 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
116
118
  this.isNotAllowMessage();
117
119
  }
118
120
  },
119
- },
121
+ }
120
122
  ];
121
123
  }
122
124
  delete(id, dateChange) {
@@ -182,6 +184,19 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
182
184
  this.lastRecord = payload[0];
183
185
  }
184
186
  }
187
+ unsubscribe() {
188
+ if (this._subscription) {
189
+ this._subscription.unsubscribe();
190
+ }
191
+ }
192
+ set hideFieldsOnAdd$(subject) {
193
+ this.unsubscribe();
194
+ if (subject) {
195
+ this._subscription = subject.subscribe((value) => {
196
+ this.sharedStateService.setHideField(value);
197
+ });
198
+ }
199
+ }
185
200
  get isAllowToAddHistorical() {
186
201
  return (this.permission["incluir"]);
187
202
  }
@@ -191,6 +206,9 @@ let HistoricalPixAccountListComponent = class HistoricalPixAccountListComponent
191
206
  get isAllowToViewHistorical() {
192
207
  return (this.permission["visualizar"]);
193
208
  }
209
+ get isAllowToEditHistorical() {
210
+ return (this.permission["editar"]);
211
+ }
194
212
  get scopedActions() {
195
213
  return this.getMenuActions.bind(this);
196
214
  }
@@ -208,7 +226,8 @@ HistoricalPixAccountListComponent.ctorParameters = () => [
208
226
  { type: ChangeDetectorRef },
209
227
  { type: Router },
210
228
  { type: MessageService },
211
- { type: HistoricalPixAccountListService }
229
+ { type: HistoricalPixAccountListService },
230
+ { type: SharedStateService }
212
231
  ];
213
232
  tslib_1.__decorate([
214
233
  ViewChild(CustomFieldsComponent, { static: false })
@@ -234,12 +253,24 @@ tslib_1.__decorate([
234
253
  tslib_1.__decorate([
235
254
  Input()
236
255
  ], HistoricalPixAccountListComponent.prototype, "withSidebar", void 0);
256
+ tslib_1.__decorate([
257
+ Input()
258
+ ], HistoricalPixAccountListComponent.prototype, "hideField", void 0);
237
259
  tslib_1.__decorate([
238
260
  Output()
239
261
  ], HistoricalPixAccountListComponent.prototype, "isOnlyView", void 0);
262
+ tslib_1.__decorate([
263
+ Output()
264
+ ], HistoricalPixAccountListComponent.prototype, "isOnlyEdit", void 0);
240
265
  tslib_1.__decorate([
241
266
  Output()
242
267
  ], HistoricalPixAccountListComponent.prototype, "enableView", void 0);
268
+ tslib_1.__decorate([
269
+ Output()
270
+ ], HistoricalPixAccountListComponent.prototype, "isEditJudicialDependentPix", void 0);
271
+ tslib_1.__decorate([
272
+ Input()
273
+ ], HistoricalPixAccountListComponent.prototype, "hideFieldsOnAdd$", null);
243
274
  tslib_1.__decorate([
244
275
  Input()
245
276
  ], HistoricalPixAccountListComponent.prototype, "reloadList", null);
@@ -252,4 +283,4 @@ HistoricalPixAccountListComponent = tslib_1.__decorate([
252
283
  })
253
284
  ], HistoricalPixAccountListComponent);
254
285
  export { HistoricalPixAccountListComponent };
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFaEYsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBUXZCLElBQWEsaUNBQWlDLEdBQTlDLE1BQWEsaUNBQWlDO0lBK0QxQyxZQUNZLG1CQUF3QyxFQUN4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UDdDO1NBNVBZLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEN1c3RvbUZpZWxkc0NvbXBvbmVudCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2UgfSBmcm9tIFwiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgRm9ybWF0VXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL2Zvcm1hdC11dGlscy9mb3JtYXQtdXRpbHMuc2VydmljZVwiO1xuXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6Y29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6IFwiYy1oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3RcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKEN1c3RvbUZpZWxkc0NvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIGN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcGVybWlzc2lvbjogb2JqZWN0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcGxveWVlSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZXBlbmRlbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbmRQb2ludDogc3RyaW5nID0gXCJoY20vcGF5cm9sbC9xdWVyaWVzL2hpc3RvcmljYWxFbXBsb3llZVBpeFF1ZXJ5XCI7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMga2V5UGF5bG9hZDogc3RyaW5nID0gXCJoaXN0b3JpY2FsRW1wbG95ZWVQaXhcIjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB3aXRoU2lkZWJhcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5VmlldzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGVuYWJsZVZpZXc6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwcml2YXRlIGxhc3RSZWNvcmQ6IGFueTtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHB1YmxpYyBpbml0UGFyYW1ldGVyczogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuXG4gICAgcHVibGljIGNvbHVtbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmhpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfZGF0ZV9jaGFuZ2VcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJkYXRlQ2hhbmdlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmhpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfcGl4X2tleV90eXBlXCIsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmllbGQ6IFwicGl4S2V5VHlwZS52YWx1ZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgXCJoY20ucGF5cm9sbC5oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX3BpeF9rZXlcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJwaXhLZXlcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgIFwiaGNtLnBheXJvbGwuaGlzdG9yaWNhbF9waXhfYWNjb3VudF9sYWJlbF9wZXJjZW50YWdlXCIsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmllbGQ6IFwicGVyY2VudGFnZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfbW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2xhYmVsX3F0ZF9hY2NvdW50XCIsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZmllbGQ6IFwibnVtYmVyT2ZQaXhBY2NvdW50XCIsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBoaXN0b3JpY2FsUGl4QWNjb3VudExpc3RTZXJ2aWNlOiBIaXN0b3JpY2FsUGl4QWNjb3VudExpc3RTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRQYXJhbWV0ZXJzID0geyBlbXBsb3llZUlkOiB0aGlzLmVtcGxveWVlSWQsIGRlcGVuZGVudElkOiB0aGlzLmRlcGVuZGVudElkIH07XG4gICAgfVxuXG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25MYXp5TG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgcGF5bG9hZC5mb3JFYWNoKCh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB2YWx1ZS5kYXRlQ2hhbmdlID0gbW9tZW50KHZhbHVlLmRhdGVDaGFuZ2UpLmZvcm1hdCh0aGlzLmRhdGVGb3JtYXQpO1xuXG4gICAgICAgICAgICB2YWx1ZS5waXhLZXkgPSB0aGlzLmZvcm1hdFBpeEtleUJ5VHlwZSh2YWx1ZS5waXhLZXlUeXBlLCB2YWx1ZS5waXhLZXkpO1xuICAgICAgICAgICAgdmFsdWUucGVyY2VudGFnZSA9IEZvcm1hdFV0aWxzU2VydmljZS5nZXRGb3JtYXR0ZWRQZXJjZW50YWdlKHZhbHVlLnBlcmNlbnRhZ2UpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uR3JpZExvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXRQaXhLZXlCeVR5cGUocGl4S2V5VHlwZTogYW55LCBwaXhLZXk6IHN0cmluZykge1xuICAgICAgICBjb25zdCBrZXlUeXBlID0gcGl4S2V5VHlwZSA/IHBpeEtleVR5cGUua2V5LnRvVXBwZXJDYXNlKCkgOiBcIlwiO1xuXG4gICAgICAgIGlmIChrZXlUeXBlID09PSBcIlRFTEVQSE9ORVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gRm9ybWF0VXRpbHNTZXJ2aWNlLmdldEZvcm1hdHRlZFRlbGVwaG9uZU51bWJlcihwaXhLZXkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGtleVR5cGUgPT09IFwiQ1BGXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ3BmKHBpeEtleSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoa2V5VHlwZSA9PT0gXCJDTlBKXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBGb3JtYXRVdGlsc1NlcnZpY2UuZ2V0Rm9ybWF0dGVkQ25waihwaXhLZXkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHBpeEtleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNZW51QWN0aW9ucyhyb3dEYXRhOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfaW1hZ2VfY3JvcHBlcl92aWV3XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNBbGxvd1RvVmlld0hpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2UgPSByb3dEYXRhICYmIHJvd0RhdGEuZGF0ZUNoYW5nZSAmJiBtb21lbnQocm93RGF0YS5kYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy53aXRoU2lkZWJhcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5Vmlldy5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgaGlzdG9yaWNhbC1waXgtYWNjb3VudC8keyBkYXRlQ2hhbmdlIH1gXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlVmlldy5lbWl0KGRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCAmJiByb3dEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZShyb3dEYXRhLmlkLCByb3dEYXRhLmRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZShpZDogYW55LCBkYXRlQ2hhbmdlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGlkID09PSB0aGlzLmxhc3RSZWNvcmQuaWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2VUb0R0byA9IG1vbWVudChkYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmVtcGxveWVlc19tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfcGl4X2FjY291bnRfcXVlc3Rpb25fY29uZmlybV9kZWxldGVcIixcbiAgICAgICAgICAgICAgICApIH0/YCxcbiAgICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IHRoaXMud2l0aFNpZGViYXIgPyAgU2VydmljZVR5cGUuUEFZUk9MTCA6IFNlcnZpY2VUeXBlLkRFUEVOREVOVDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaXN0b3JpY2FsUGl4QWNjb3VudExpc3RTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVtb3ZlKHRoaXMuZW1wbG95ZWVJZCwgZGF0ZUNoYW5nZVRvRHRvLCBzZXJ2aWNlLCB0aGlzLmRlcGVuZGVudElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwic3VjY2Vzc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5zdWNjZXNzXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfcGl4X2FjY291bnRfcmVtb3ZlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gKHRoaXMucGFyYW1ldGVycyAmJiB7IC4uLnRoaXMucGFyYW1ldGVycyB9KSB8fCB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9lcnJvcl9yZW1vdmVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5ub3RfYWxsb3dlZF9kZWxldGVfbGFzdFwiKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvQWRkSGlzdG9yaWNhbCkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1uZXdcIl0sIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTm90QWxsb3dNZXNzYWdlKCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uR3JpZExvYWQocGF5bG9hZDogYW55KSB7XG4gICAgICAgIGlmIChwYXlsb2FkICYmIHBheWxvYWQubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmxhc3RSZWNvcmQgPSBwYXlsb2FkWzBdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvQWRkSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImluY2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9EZWxldGVIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1wiZXhjbHVpclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb1ZpZXdIaXN0b3JpY2FsKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uW1widmlzdWFsaXphclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVudUFjdGlvbnMuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVsb2FkTGlzdChjb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycyA9ICh0aGlzLnBhcmFtZXRlcnMgJiYgeyAuLi50aGlzLnBhcmFtZXRlcnMgfSkgfHwge307XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQVF2QixJQUFhLGlDQUFpQyxHQUE5QyxNQUFhLGlDQUFpQztJQW9EMUMsWUFDWSxtQkFBd0MsRUFD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SUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxzQkFBUyxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDdkU7SUFDTCxDQUFDO0NBRUosQ0FBQTs7WUF0Tm9DLG1CQUFtQjtZQUN0QixnQkFBZ0I7WUFDbEIsY0FBYztZQUMxQixpQkFBaUI7WUFDYixNQUFNO1lBQ0UsY0FBYztZQUNHLCtCQUErQjtZQUM1QyxrQkFBa0I7O0FBMURsRDtJQURDLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQzt1RUFDVDtBQUczQztJQURDLEtBQUssRUFBRTtxRUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7cUVBQ2tCO0FBRTFCO0lBREMsS0FBSyxFQUFFO3NFQUNtQjtBQUUzQjtJQURDLEtBQUssRUFBRTtxRUFDa0I7QUFFMUI7SUFEQyxLQUFLLEVBQUU7bUVBQ21FO0FBRTNFO0lBREMsS0FBSyxFQUFFO3FFQUM0QztBQUVwRDtJQURDLEtBQUssRUFBRTtzRUFDMkI7QUFFbkM7SUFEQyxLQUFLLEVBQUU7b0VBQ2tCO0FBRzFCO0lBREMsTUFBTSxFQUFFO3FFQUMwRDtBQUVuRTtJQURDLE1BQU0sRUFBRTtxRUFDMEQ7QUFFbkU7SUFEQyxNQUFNLEVBQUU7cUVBQ3NEO0FBRS9EO0lBREMsTUFBTSxFQUFFO3FGQUMwRTtBQWtNbkY7SUFEQyxLQUFLLEVBQUU7eUVBUVA7QUErQkQ7SUFEQyxLQUFLLEVBQUU7bUVBTVA7QUF6UVEsaUNBQWlDO0lBTjdDLFNBQVMsQ0FBQztRQUNQLDhDQUE4QztRQUM5QyxRQUFRLEVBQUUsK0JBQStCO1FBQ3pDLDIvQkFBMkQ7O0tBRTlELENBQUM7R0FDVyxpQ0FBaUMsQ0EyUTdDO1NBM1FZLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEN1c3RvbUZpZWxkc0NvbXBvbmVudCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSGlzdG9yaWNhbFBpeEFjY291bnRMaXN0U2VydmljZSB9IGZyb20gXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTaGFyZWRTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJjLWhpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaGlzdG9yaWNhbC1waXgtYWNjb3VudC1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgSGlzdG9yaWNhbFBpeEFjY291bnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoQ3VzdG9tRmllbGRzQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBwdWJsaWMgY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZHNDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBwZXJtaXNzaW9uOiBvYmplY3Q7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wbG95ZWVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlcGVuZGVudElkOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZGF0ZUZvcm1hdDogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVuZFBvaW50OiBzdHJpbmcgPSBcImhjbS9wYXlyb2xsL3F1ZXJpZXMvaGlzdG9yaWNhbEVtcGxveWVlUGl4UXVlcnlcIjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBrZXlQYXlsb2FkOiBzdHJpbmcgPSBcImhpc3RvcmljYWxFbXBsb3llZVBpeFwiO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHdpdGhTaWRlYmFyOiBib29sZWFuID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoaWRlRmllbGQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNPbmx5VmlldzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGlzT25seUVkaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBlbmFibGVWaWV3OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpc0VkaXRKdWRpY2lhbERlcGVuZGVudFBpeDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIGxhc3RSZWNvcmQ6IGFueTtcbiAgICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHB1YmxpYyBpbml0UGFyYW1ldGVyczogYW55O1xuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuXG4gICAgcHVibGljIGNvbHVtbnMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmhpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfZGF0ZV9jaGFuZ2VcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJkYXRlQ2hhbmdlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICAgICBcImhjbS5wYXlyb2xsLmVtcGxveWVlc19tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfcGl4X2FjY291bnRfbGFiZWxfcXRkX2FjY291bnRcIixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBmaWVsZDogXCJudW1iZXJPZlBpeEFjY291bnRcIixcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2U6IEhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2hhcmVkU3RhdGVTZXJ2aWNlOiBTaGFyZWRTdGF0ZVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFBhcmFtZXRlcnMgPSB7IGVtcGxveWVlSWQ6IHRoaXMuZW1wbG95ZWVJZCwgZGVwZW5kZW50SWQ6IHRoaXMuZGVwZW5kZW50SWQgfTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxhenlMb2FkKHBheWxvYWQ6IGFueSkge1xuICAgICAgICBwYXlsb2FkLmZvckVhY2goKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHZhbHVlLmRhdGVDaGFuZ2UgPSBtb21lbnQodmFsdWUuZGF0ZUNoYW5nZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub25HcmlkTG9hZChwYXlsb2FkKTtcblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVudUFjdGlvbnMocm93RGF0YTogYW55KSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2ltYWdlX2Nyb3BwZXJfdmlld1wiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmKHRoaXMuaXNBbGxvd1RvVmlld0hpc3RvcmljYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldFNob3dCdXR0b24oZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRTdGF0ZVNlcnZpY2Uuc2V0U2hvd0VkaXRNb2RlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2UgPSByb3dEYXRhICYmIHJvd0RhdGEuZGF0ZUNoYW5nZSAmJiBtb21lbnQocm93RGF0YS5kYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy53aXRoU2lkZWJhcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNPbmx5Vmlldy5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgaGlzdG9yaWNhbC1waXgtYWNjb3VudC8keyBkYXRlQ2hhbmdlIH1gXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTYXZlQnV0dG9uKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVZpZXcuZW1pdChkYXRlQ2hhbmdlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNOb3RBbGxvd01lc3NhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVkaXRcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZih0aGlzLmlzQWxsb3dUb0VkaXRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRIaWRlRmllbGQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTaG93QnV0dG9uKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldFNob3dFZGl0TW9kZSh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVDaGFuZ2UgPSByb3dEYXRhICYmIHJvd0RhdGEuZGF0ZUNoYW5nZSAmJiBtb21lbnQocm93RGF0YS5kYXRlQ2hhbmdlLCB0aGlzLmRhdGVGb3JtYXQpLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy53aXRoU2lkZWJhcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgaGlzdG9yaWNhbC1waXgtYWNjb3VudC8keyBkYXRlQ2hhbmdlIH1gXSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZFN0YXRlU2VydmljZS5zZXRTYXZlQnV0dG9uKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZW5hYmxlVmlldy5lbWl0KGRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCAmJiByb3dEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZShyb3dEYXRhLmlkLCByb3dEYXRhLmRhdGVDaGFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc05vdEFsbG93TWVzc2FnZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBhbnksIGRhdGVDaGFuZ2U6IHN0cmluZykge1xuICAgICAgICBpZiAoaWQgPT09IHRoaXMubGFzdFJlY29yZC5pZCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZUNoYW5nZVRvRHRvID0gbW9tZW50KGRhdGVDaGFuZ2UsIHRoaXMuZGF0ZUZvcm1hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHsgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgICAgICAgIFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9xdWVzdGlvbl9jb25maXJtX2RlbGV0ZVwiLFxuICAgICAgICAgICAgICAgICkgfT9gLFxuICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZXJ2aWNlID0gdGhpcy53aXRoU2lkZWJhciA/ICBTZXJ2aWNlVHlwZS5QQVlST0xMIDogU2VydmljZVR5cGUuREVQRU5ERU5UO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpc3RvcmljYWxQaXhBY2NvdW50TGlzdFNlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZW1vdmUodGhpcy5lbXBsb3llZUlkLCBkYXRlQ2hhbmdlVG9EdG8sIHNlcnZpY2UsIHRoaXMuZGVwZW5kZW50SWQpXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnN1Y2Nlc3NcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX21vdmltZW50YXRpb25faGlzdG9yaWNhbF9waXhfYWNjb3VudF9yZW1vdmVcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSAodGhpcy5wYXJhbWV0ZXJzICYmIHsgLi4udGhpcy5wYXJhbWV0ZXJzIH0pIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lcnJvclwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfbW92aW1lbnRhdGlvbl9oaXN0b3JpY2FsX3BpeF9hY2NvdW50X2Vycm9yX3JlbW92ZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLm5vdF9hbGxvd2VkX2RlbGV0ZV9sYXN0XCIpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsbG93VG9BZGRIaXN0b3JpY2FsKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJoaXN0b3JpY2FsLXBpeC1hY2NvdW50LW5ld1wiXSwge1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3RBbGxvd01lc3NhZ2UoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25HcmlkTG9hZChwYXlsb2FkOiBhbnkpIHtcbiAgICAgICAgaWYgKHBheWxvYWQgJiYgcGF5bG9hZC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFJlY29yZCA9IHBheWxvYWRbMF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xuICAgICAgICBpZiAodGhpcy5fc3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgaGlkZUZpZWxkc09uQWRkJChzdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+KSB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHN1YmplY3QpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbiA9IHN1YmplY3Quc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkU3RhdGVTZXJ2aWNlLnNldEhpZGVGaWVsZCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzQWxsb3dUb0FkZEhpc3RvcmljYWwoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25bXCJpbmNsdWlyXCJdXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNBbGxvd1RvRGVsZXRlSGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImV4Y2x1aXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9WaWV3SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcInZpc3VhbGl6YXJcIl1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc0FsbG93VG9FZGl0SGlzdG9yaWNhbCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucGVybWlzc2lvbltcImVkaXRhclwiXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2NvcGVkQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWVudUFjdGlvbnMuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgcmVsb2FkTGlzdChjb25kaXRpb246IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycyA9ICh0aGlzLnBhcmFtZXRlcnMgJiYgeyAuLi50aGlzLnBhcmFtZXRlcnMgfSkgfHwge307XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './shared-state.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ let SharedStateService = class SharedStateService {
6
+ constructor() {
7
+ this.hideFieldSubject = new BehaviorSubject(true);
8
+ this.hideField$ = this.hideFieldSubject.asObservable();
9
+ this.showButtonSubject = new BehaviorSubject(true);
10
+ this.showButton$ = this.showButtonSubject.asObservable();
11
+ this.saveButtonSubject = new BehaviorSubject(true);
12
+ this.saveButton$ = this.saveButtonSubject.asObservable();
13
+ this.showEditMode = new BehaviorSubject(true);
14
+ this.showEditMode$ = this.showEditMode.asObservable();
15
+ }
16
+ setHideField(value) {
17
+ this.hideFieldSubject.next(value);
18
+ }
19
+ setShowButton(value) {
20
+ this.showButtonSubject.next(value);
21
+ }
22
+ setSaveButton(value) {
23
+ this.saveButtonSubject.next(value);
24
+ }
25
+ setShowEditMode(value) {
26
+ this.showEditMode.next(value);
27
+ }
28
+ };
29
+ SharedStateService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SharedStateService_Factory() { return new SharedStateService(); }, token: SharedStateService, providedIn: "root" });
30
+ SharedStateService = tslib_1.__decorate([
31
+ Injectable({
32
+ providedIn: 'root',
33
+ })
34
+ ], SharedStateService);
35
+ export { SharedStateService };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3ZDLElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQWtCO0lBSC9CO1FBSVkscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztLQWlCcEQ7SUFmRyxZQUFZLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0osQ0FBQTs7QUE1Qlksa0JBQWtCO0lBSDlCLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxrQkFBa0IsQ0E0QjlCO1NBNUJZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkU3RhdGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGhpZGVGaWVsZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIGhpZGVGaWVsZCQgPSB0aGlzLmhpZGVGaWVsZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNob3dCdXR0b25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBzaG93QnV0dG9uJCA9IHRoaXMuc2hvd0J1dHRvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNhdmVCdXR0b25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBzYXZlQnV0dG9uJCA9IHRoaXMuc2F2ZUJ1dHRvblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwcml2YXRlIHNob3dFZGl0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgc2hvd0VkaXRNb2RlJCA9IHRoaXMuc2hvd0VkaXRNb2RlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgc2V0SGlkZUZpZWxkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGlkZUZpZWxkU3ViamVjdC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRTaG93QnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0U2F2ZUJ1dHRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNhdmVCdXR0b25TdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIHNldFNob3dFZGl0TW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dFZGl0TW9kZS5uZXh0KHZhbHVlKTtcbiAgICB9XG59XG4iXX0=
@@ -54,4 +54,5 @@ export * from './services/form-comparator.service';
54
54
  export * from './components/from-to/index';
55
55
  export * from './components/historical-pix-account/index';
56
56
  export * from './components/historical-pix-account-list/index';
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29yZVxuICovXG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMvY3BmLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMvY25wai12YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3ZhbmlsbGEvc3RyaW5nLW1ldGhvZHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Jsb2NrLXVpL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9icmVhZGNydW1iL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb250cm9sLW1lc3NhZ2VzLWVycm9yL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZmllbGRzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaXJlY3RpdmVzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QtcmVzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZW1wbG95ZWUtc3VtbWFyeS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWRtaXNzaW9uLWRyYWZ0LXN1bW1hcnkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Vycm9yLXBhZ2UvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ZpZWxkLXZhbGlkYXRvci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ltYWdlLWNyb3BwZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWRhdGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LWRhdGUtbW9kZWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLWVtcGxveWVlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtZW1wbG95ZWUtbW9kZWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1lbnVtL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtbW9kZWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC1lbnVtL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtam9icG9zaXRpb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtcmVzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc3Bpbm5lci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdHlwZS1hZG1pc3Npb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL3ZhbGlkYXRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zaGFyZWQvaHR0cC1jbGllbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3NlcnZpY2VzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RvYXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW50ZWdyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29tcGFueS1pbmRpY2F0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbG9va3VwLXBhcmFtZXRlcnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2F1dG9jb21wbGV0ZS1wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2xvb2t1cC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvd29ya3N0YXRpb25ncm91cC1sb29rdXAvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcmljYWwtYmFuay1hY2NvdW50L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9lbnVtcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvZW50aXRpZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2RhdGUtdmFsaWRhdG9yL2RhdGUtdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvcmUvaW50ZXJmYWNlcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvd29ya2Zsb3ctaW50ZWdyYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvd29ya2Zsb3ctZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lbXBsb3llZS1zZWxlY3Rvci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2Zvcm0tY29tcGFyYXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9mcm9tLXRvL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWxpc3QvaW5kZXgnO1xuIl19
57
+ export * from './components/shared/index';
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91dGlscy9jcGYtdmFsaWRhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy91dGlscy9jbnBqLXZhbGlkYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdmFuaWxsYS9zdHJpbmctbWV0aG9kcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYmxvY2stdWkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbnRyb2wtbWVzc2FnZXMtZXJyb3IvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1maWVsZHMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpcmVjdGl2ZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtbGlzdC1yZXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9lbXBsb3llZS1zdW1tYXJ5L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hZG1pc3Npb24tZHJhZnQtc3VtbWFyeS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZXJyb3ItcGFnZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZmllbGQtdmFsaWRhdG9yL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UtY3JvcHBlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZGF0ZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtZGF0ZS1tb2RlbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtZW1wbG95ZWUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1lbXBsb3llZS1tb2RlbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLWVudW0vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLW1vZGVsLWVudW0vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1qb2Jwb3NpdGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbGlzdC1yZXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zcGlubmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90eXBlLWFkbWlzc2lvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMvaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMvdmFsaWRhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlZC9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2VydmljZXMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdG9hc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9pbnRlZ3JhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb21wYW55LWluZGljYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb29rdXAtcGFyYW1ldGVycy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvYXV0b2NvbXBsZXRlLXBhcmFtZXRlcnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbG9va3VwL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvaGlzdG9yaWNhbC1iYW5rLWFjY291bnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcmljYWwtYmFuay1hY2NvdW50LWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlL2VudW1zL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9lbnRpdGllcy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdXRpbHMvZGF0ZS12YWxpZGF0b3IvZGF0ZS12YWxpZGF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9pbnRlcmZhY2VzL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcmVwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy93b3JrZmxvdy1pbnRlZ3JhdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy93b3JrZmxvdy1kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2VtcGxveWVlLXNlbGVjdG9yL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZm9ybS1jb21wYXJhdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2Zyb20tdG8vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQtbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmVkL2luZGV4JztcbiJdfQ==
@@ -8,7 +8,8 @@ export { DataListComponent as ɵj } from './components/data-list/data-list.compo
8
8
  export { DataListService as ɵk } from './components/data-list/data-list.service';
9
9
  export { FileUploadService as ɵd } from './components/file-upload/file-upload.service';
10
10
  export { HistoricalBankAccountFormComponent as ɵq } from './components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component';
11
- export { HistoricalPixAccountFormComponent as ɵr } from './components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component';
11
+ export { HistoricakPixAccountBase as ɵr } from './components/historical-pix-account/historical-pix-account-base';
12
+ export { HistoricalPixAccountFormComponent as ɵs } from './components/historical-pix-account/historical-pix-account-form/historical-pix-account-form.component';
12
13
  export { InputRestAutoCompleteEmployeeModelComponent as ɵf } from './components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component';
13
14
  export { InputRestAutoCompleteEmployeeComponent as ɵe } from './components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component';
14
15
  export { InputRestAutoCompleteModelEnumComponent as ɵh } from './components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component';
@@ -20,4 +21,4 @@ export { SharedModule as ɵa } from './components/shared/shared.module';
20
21
  export { AutocompleteService as ɵo } from './components/workstationgroup-lookup/autocomplete.service';
21
22
  export { LookupService as ɵp } from './components/workstationgroup-lookup/lookup.service';
22
23
  export { WorkstationgroupLookupComponent as ɵn } from './components/workstationgroup-lookup/workstationgroup-lookup.component';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yLWdlc3Rhby1wZXNzb2FzLXBheXJvbGwtY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsic2VuaW9yLWdlc3Rhby1wZXNzb2FzLXBheXJvbGwtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMsTUFBTSwwR0FBMEcsQ0FBQztBQUNsSyxPQUFPLEVBQUMsaUNBQWlDLElBQUksRUFBRSxFQUFDLE1BQU0sdUdBQXVHLENBQUM7QUFDOUosT0FBTyxFQUFDLDJDQUEyQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdHQUF3RyxDQUFDO0FBQ3pLLE9BQU8sRUFBQyxzQ0FBc0MsSUFBSSxFQUFFLEVBQUMsTUFBTSw0RkFBNEYsQ0FBQztBQUN4SixPQUFPLEVBQUMsdUNBQXVDLElBQUksRUFBRSxFQUFDLE1BQU0sZ0dBQWdHLENBQUM7QUFDN0osT0FBTyxFQUFDLG1DQUFtQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHNGQUFzRixDQUFDO0FBQy9JLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0scURBQXFELENBQUM7QUFDeEYsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdFQUF3RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0RhdGFMaXN0UmVzdENvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QtcmVzdC9kYXRhLWxpc3QtcmVzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhTGlzdFJlc3RTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtbGlzdC1yZXN0L2RhdGEtbGlzdC1yZXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtEYXRhTGlzdENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGFMaXN0U2VydmljZSBhcyDJtWt9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QvZGF0YS1saXN0LnNlcnZpY2UnO1xuZXhwb3J0IHtGaWxlVXBsb2FkU2VydmljZSBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5zZXJ2aWNlJztcbmV4cG9ydCB7SGlzdG9yaWNhbEJhbmtBY2NvdW50Rm9ybUNvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC1mb3JtL2hpc3RvcmljYWwtYmFuay1hY2NvdW50LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7SGlzdG9yaWNhbFBpeEFjY291bnRGb3JtQ29tcG9uZW50IGFzIMm1cn0gZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1mb3JtL2hpc3RvcmljYWwtcGl4LWFjY291bnQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHtJbnB1dFJlc3RBdXRvQ29tcGxldGVFbXBsb3llZU1vZGVsQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1lbXBsb3llZS1tb2RlbC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtZW1wbG95ZWUtbW9kZWwuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRSZXN0QXV0b0NvbXBsZXRlRW1wbG95ZWVDb21wb25lbnQgYXMgybVlfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLWVtcGxveWVlL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1lbXBsb3llZS5jb21wb25lbnQnO1xuZXhwb3J0IHtJbnB1dFJlc3RBdXRvQ29tcGxldGVNb2RlbEVudW1Db21wb25lbnQgYXMgybVofSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLW1vZGVsLWVudW0vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLW1vZGVsLWVudW0uY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRSZXN0QXV0b0NvbXBsZXRlTW9kZWxDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLW1vZGVsL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC5jb21wb25lbnQnO1xuZXhwb3J0IHtMaXN0UmVzdFNlcnZpY2UgYXMgybVpfSBmcm9tICcuL2NvbXBvbmVudHMvbGlzdC1yZXN0L2xpc3QtcmVzdC5zZXJ2aWNlJztcbmV4cG9ydCB7TG9va3VwQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9jb21wb25lbnRzL2xvb2t1cC9sb29rdXAuY29tcG9uZW50JztcbmV4cG9ydCB7TG9va3VwU2VydmljZSBhcyDJtW19IGZyb20gJy4vY29tcG9uZW50cy9sb29rdXAvbG9va3VwLnNlcnZpY2UnO1xuZXhwb3J0IHtTaGFyZWRNb2R1bGUgYXMgybVhfSBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmVkL3NoYXJlZC5tb2R1bGUnO1xuZXhwb3J0IHtBdXRvY29tcGxldGVTZXJ2aWNlIGFzIMm1b30gZnJvbSAnLi9jb21wb25lbnRzL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwL2F1dG9jb21wbGV0ZS5zZXJ2aWNlJztcbmV4cG9ydCB7TG9va3VwU2VydmljZSBhcyDJtXB9IGZyb20gJy4vY29tcG9uZW50cy93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC9sb29rdXAuc2VydmljZSc7XG5leHBvcnQge1dvcmtzdGF0aW9uZ3JvdXBMb29rdXBDb21wb25lbnQgYXMgybVufSBmcm9tICcuL2NvbXBvbmVudHMvd29ya3N0YXRpb25ncm91cC1sb29rdXAvd29ya3N0YXRpb25ncm91cC1sb29rdXAuY29tcG9uZW50JzsiXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yLWdlc3Rhby1wZXNzb2FzLXBheXJvbGwtY29yZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsic2VuaW9yLWdlc3Rhby1wZXNzb2FzLXBheXJvbGwtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxFQUFFLEVBQUMsTUFBTSwwR0FBMEcsQ0FBQztBQUNsSyxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDL0csT0FBTyxFQUFDLGlDQUFpQyxJQUFJLEVBQUUsRUFBQyxNQUFNLHVHQUF1RyxDQUFDO0FBQzlKLE9BQU8sRUFBQywyQ0FBMkMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3R0FBd0csQ0FBQztBQUN6SyxPQUFPLEVBQUMsc0NBQXNDLElBQUksRUFBRSxFQUFDLE1BQU0sNEZBQTRGLENBQUM7QUFDeEosT0FBTyxFQUFDLHVDQUF1QyxJQUFJLEVBQUUsRUFBQyxNQUFNLGdHQUFnRyxDQUFDO0FBQzdKLE9BQU8sRUFBQyxtQ0FBbUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxzRkFBc0YsQ0FBQztBQUMvSSxPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEVBQUUsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQywrQkFBK0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx3RUFBd0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtEYXRhTGlzdFJlc3RDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1saXN0LXJlc3QvZGF0YS1saXN0LXJlc3QuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YUxpc3RSZXN0U2VydmljZSBhcyDJtWN9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLWxpc3QtcmVzdC9kYXRhLWxpc3QtcmVzdC5zZXJ2aWNlJztcbmV4cG9ydCB7RGF0YUxpc3RDb21wb25lbnQgYXMgybVqfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1saXN0L2RhdGEtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRhTGlzdFNlcnZpY2UgYXMgybVrfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1saXN0L2RhdGEtbGlzdC5zZXJ2aWNlJztcbmV4cG9ydCB7RmlsZVVwbG9hZFNlcnZpY2UgYXMgybVkfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuc2VydmljZSc7XG5leHBvcnQge0hpc3RvcmljYWxCYW5rQWNjb3VudEZvcm1Db21wb25lbnQgYXMgybVxfSBmcm9tICcuL2NvbXBvbmVudHMvaGlzdG9yaWNhbC1iYW5rLWFjY291bnQvaGlzdG9yaWNhbC1iYW5rLWFjY291bnQtZm9ybS9oaXN0b3JpY2FsLWJhbmstYWNjb3VudC1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge0hpc3RvcmljYWtQaXhBY2NvdW50QmFzZSBhcyDJtXJ9IGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50L2hpc3RvcmljYWwtcGl4LWFjY291bnQtYmFzZSc7XG5leHBvcnQge0hpc3RvcmljYWxQaXhBY2NvdW50Rm9ybUNvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3JpY2FsLXBpeC1hY2NvdW50L2hpc3RvcmljYWwtcGl4LWFjY291bnQtZm9ybS9oaXN0b3JpY2FsLXBpeC1hY2NvdW50LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRSZXN0QXV0b0NvbXBsZXRlRW1wbG95ZWVNb2RlbENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtZW1wbG95ZWUtbW9kZWwvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLWVtcGxveWVlLW1vZGVsLmNvbXBvbmVudCc7XG5leHBvcnQge0lucHV0UmVzdEF1dG9Db21wbGV0ZUVtcGxveWVlQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1lbXBsb3llZS9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtZW1wbG95ZWUuY29tcG9uZW50JztcbmV4cG9ydCB7SW5wdXRSZXN0QXV0b0NvbXBsZXRlTW9kZWxFbnVtQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC1lbnVtL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC1lbnVtLmNvbXBvbmVudCc7XG5leHBvcnQge0lucHV0UmVzdEF1dG9Db21wbGV0ZU1vZGVsQ29tcG9uZW50IGFzIMm1Z30gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS1tb2RlbC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUtbW9kZWwuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdFJlc3RTZXJ2aWNlIGFzIMm1aX0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3QtcmVzdC9saXN0LXJlc3Quc2VydmljZSc7XG5leHBvcnQge0xvb2t1cENvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vY29tcG9uZW50cy9sb29rdXAvbG9va3VwLmNvbXBvbmVudCc7XG5leHBvcnQge0xvb2t1cFNlcnZpY2UgYXMgybVtfSBmcm9tICcuL2NvbXBvbmVudHMvbG9va3VwL2xvb2t1cC5zZXJ2aWNlJztcbmV4cG9ydCB7U2hhcmVkTW9kdWxlIGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmV4cG9ydCB7QXV0b2NvbXBsZXRlU2VydmljZSBhcyDJtW99IGZyb20gJy4vY29tcG9uZW50cy93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC9hdXRvY29tcGxldGUuc2VydmljZSc7XG5leHBvcnQge0xvb2t1cFNlcnZpY2UgYXMgybVwfSBmcm9tICcuL2NvbXBvbmVudHMvd29ya3N0YXRpb25ncm91cC1sb29rdXAvbG9va3VwLnNlcnZpY2UnO1xuZXhwb3J0IHtXb3Jrc3RhdGlvbmdyb3VwTG9va3VwQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9jb21wb25lbnRzL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwL3dvcmtzdGF0aW9uZ3JvdXAtbG9va3VwLmNvbXBvbmVudCc7Il19
@@ -0,0 +1,163 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { FormGroup, Validators } from "@angular/forms";
3
+ import { GenericValidator } from "../utils/generic-validators";
4
+ import { FormatUtilsService } from "../utils/format-utils/format-utils.service";
5
+ var HistoricakPixAccountBase = /** @class */ (function () {
6
+ function HistoricakPixAccountBase(formBuilder) {
7
+ this._paramsForm = new FormGroup({});
8
+ this._defaultCpfNumber = null;
9
+ this.initialValidatorOfPercentage = [Validators.required, Validators.min(0.01)];
10
+ this.pixAccountList = [];
11
+ this.maxValuePercentage = 100.00;
12
+ this.isShowPixKeyFieldValidatorMessage = false;
13
+ this.formBuilder = formBuilder;
14
+ this.createFormGroupBase();
15
+ }
16
+ HistoricakPixAccountBase.prototype.phoneMask = function (event) {
17
+ console.log("phoneMaskEvent", event);
18
+ FormatUtilsService.formatTelephoneInputEvent(event);
19
+ };
20
+ HistoricakPixAccountBase.prototype.onChangePixKeyType = function (item) {
21
+ console.log("onChangePixKeyType", item);
22
+ if (item.key) {
23
+ this.pixKeyType = item.key;
24
+ this.isShowPixKeyFieldValidatorMessage = true;
25
+ this.pixAccountFormGroup.get("pixKey").reset();
26
+ this.setPixKeyValidators(true);
27
+ if (item.key === "CPF") {
28
+ this.setDefaultCpfPixKey();
29
+ }
30
+ }
31
+ };
32
+ HistoricakPixAccountBase.prototype.onClearPixKeyType = function () {
33
+ this.isShowPixKeyFieldValidatorMessage = false;
34
+ this.pixAccountFormGroup.get("pixKey").reset();
35
+ };
36
+ HistoricakPixAccountBase.prototype.setDefaultCpfPixKey = function () {
37
+ if (this._defaultCpfNumber) {
38
+ this.pixAccountFormGroup.get("pixKey").setValue(this._defaultCpfNumber);
39
+ }
40
+ else {
41
+ var sheetDocument = this._paramsForm.get("sheetDocument");
42
+ if (sheetDocument) {
43
+ var cpf = sheetDocument.get("cpfNumber").value;
44
+ if (cpf) {
45
+ this.pixAccountFormGroup.get("pixKey").setValue(cpf);
46
+ }
47
+ }
48
+ }
49
+ };
50
+ HistoricakPixAccountBase.prototype.createFormGroupBase = function () {
51
+ this.pixAccountFormGroup = this.formBuilder.group({
52
+ id: this.formBuilder.control(null),
53
+ index: this.formBuilder.control(null),
54
+ employee: this.formBuilder.control({ value: { tableId: null }, disabled: true }),
55
+ dateChange: this.formBuilder.control(null),
56
+ pixKeyType: this.formBuilder.control(null, Validators.required),
57
+ pixKey: this.formBuilder.control(null),
58
+ percentage: this.formBuilder.control(null, Validators.compose(tslib_1.__spread(this.initialValidatorOfPercentage, [
59
+ Validators.max(this.maxValuePercentage),
60
+ ]))),
61
+ externalId: this.formBuilder.control(null),
62
+ customFields: this.formBuilder.control(null),
63
+ });
64
+ };
65
+ HistoricakPixAccountBase.prototype.setValidatorsAccordingList = function (pixAccountList, index, isEditMode) {
66
+ if (index === void 0) { index = null; }
67
+ if (isEditMode === void 0) { isEditMode = true; }
68
+ console.log("setValidatorsAccordingList", pixAccountList, index, isEditMode);
69
+ this.pixAccountList = pixAccountList && pixAccountList.length ? tslib_1.__spread(pixAccountList) : [];
70
+ var percentageIncluded = [];
71
+ this.pixAccountList.forEach(function (field, key) {
72
+ if (field["percentage"] && key !== index) {
73
+ percentageIncluded.push(field["percentage"]);
74
+ }
75
+ });
76
+ this.beforeSetPixKeyTypeValidator();
77
+ this.setPixKeyValidators(isEditMode);
78
+ this.validatePercentageValid(percentageIncluded);
79
+ };
80
+ HistoricakPixAccountBase.prototype.beforeSetPixKeyTypeValidator = function () {
81
+ var pixKeyType = this.pixAccountFormGroup.get("pixKeyType");
82
+ console.log("beforeSetPixKeyTypeValidator", this.pixAccountList, pixKeyType);
83
+ if (this.pixAccountList && this.pixAccountList.length && pixKeyType) {
84
+ pixKeyType.setValidators(Validators.compose([
85
+ Validators.required,
86
+ this.validateDuplicatePixKeyTypeBankAccount(this.pixAccountList),
87
+ ]));
88
+ }
89
+ else {
90
+ pixKeyType.setValidators(Validators.required);
91
+ }
92
+ };
93
+ HistoricakPixAccountBase.prototype.setPixKeyValidators = function (isEditMode) {
94
+ var pixKey = this.pixAccountFormGroup.get("pixKey");
95
+ console.log("setPixKeyValidators", this.pixKeyType, isEditMode);
96
+ if (this.pixKeyType) {
97
+ switch (this.pixKeyType) {
98
+ case "TELEPHONE":
99
+ pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidPhoneNumber]));
100
+ break;
101
+ case "EMAIL":
102
+ pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidEmail]));
103
+ break;
104
+ case "CPF":
105
+ pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCpf]));
106
+ break;
107
+ case "CNPJ":
108
+ pixKey.setValidators(Validators.compose([Validators.required, GenericValidator.isValidCnpj]));
109
+ break;
110
+ case "RANDOM_KEY":
111
+ pixKey.setValidators(Validators.required);
112
+ break;
113
+ default:
114
+ pixKey.setValidators(null);
115
+ }
116
+ if (isEditMode) {
117
+ pixKey.enable();
118
+ }
119
+ pixKey.updateValueAndValidity();
120
+ }
121
+ };
122
+ HistoricakPixAccountBase.prototype.validatePercentageValid = function (listValue) {
123
+ var percentage = this.pixAccountFormGroup.get("percentage");
124
+ this.maxValuePercentage = listValue.reduce(function (acc, val) { return acc - val; }, 100.00);
125
+ console.log("validatePercentageValid", this.maxValuePercentage);
126
+ percentage.setValidators(Validators.compose(tslib_1.__spread(this.initialValidatorOfPercentage, [
127
+ Validators.max(this.maxValuePercentage),
128
+ ])));
129
+ percentage.updateValueAndValidity();
130
+ };
131
+ HistoricakPixAccountBase.prototype.validateDuplicatePixKeyTypeBankAccount = function (listCompare) {
132
+ return function (control) {
133
+ var value = control && control.value;
134
+ var isDuplicate = listCompare.some(function (field) {
135
+ return value && field["pixKeyType"].key === 'BANK_ACCOUNT' && value.key === 'BANK_ACCOUNT';
136
+ });
137
+ return isDuplicate ? { pixKeyTypeBankAccountDuplicate: true } : null;
138
+ };
139
+ };
140
+ Object.defineProperty(HistoricakPixAccountBase.prototype, "paramsForm", {
141
+ get: function () {
142
+ return this._paramsForm;
143
+ },
144
+ set: function (value) {
145
+ this._paramsForm = value;
146
+ },
147
+ enumerable: true,
148
+ configurable: true
149
+ });
150
+ Object.defineProperty(HistoricakPixAccountBase.prototype, "defaultCpfNumber", {
151
+ get: function () {
152
+ return this._defaultCpfNumber;
153
+ },
154
+ set: function (value) {
155
+ this._defaultCpfNumber = value;
156
+ },
157
+ enumerable: true,
158
+ configurable: true
159
+ });
160
+ return HistoricakPixAccountBase;
161
+ }());
162
+ export { HistoricakPixAccountBase };
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2hpc3RvcmljYWwtcGl4LWFjY291bnQvaGlzdG9yaWNhbC1waXgtYWNjb3VudC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdDLFNBQVMsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoRjtJQVlJLGtDQUFZLFdBQXdCO1FBVjFCLGdCQUFXLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0Msc0JBQWlCLEdBQVcsSUFBSSxDQUFDO1FBRXBDLGlDQUE0QixHQUFrQixDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFGLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLHVCQUFrQixHQUFHLE1BQU0sQ0FBQztRQUc1QixzQ0FBaUMsR0FBRyxLQUFLLENBQUM7UUFHN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLDRDQUFTLEdBQWhCLFVBQWlCLEtBQVU7UUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVyQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0scURBQWtCLEdBQXpCLFVBQTBCLElBQVM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0Is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QUFDO1lBRUYsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsOEJBQThCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN6RSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsc0JBQVcsZ0RBQVU7YUFBckI7WUFDSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDNUIsQ0FBQzthQUVELFVBQXNCLEtBQWdCO1lBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQzdCLENBQUM7OztPQUpBO0lBTUQsc0JBQVcsc0RBQWdCO2FBQTNCO1lBQ0ksT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDbEMsQ0FBQzthQUVELFVBQTRCLEtBQWE7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDOzs7T0FKQTtJQUtMLCtCQUFDO0FBQUQsQ0FBQyxBQW5MRCxJQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEdlbmVyaWNWYWxpZGF0b3IgfSBmcm9tIFwiLi4vdXRpbHMvZ2VuZXJpYy12YWxpZGF0b3JzXCI7XG5pbXBvcnQgeyBGb3JtYXRVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvZm9ybWF0LXV0aWxzL2Zvcm1hdC11dGlscy5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIaXN0b3JpY2FrUGl4QWNjb3VudEJhc2Uge1xuICAgIHByb3RlY3RlZCBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXI7XG4gICAgcHJvdGVjdGVkIF9wYXJhbXNGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBwcm90ZWN0ZWQgX2RlZmF1bHRDcGZOdW1iZXI6IHN0cmluZyA9IG51bGw7XG5cbiAgICBwdWJsaWMgaW5pdGlhbFZhbGlkYXRvck9mUGVyY2VudGFnZTogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbigwLjAxKV07XG4gICAgcHVibGljIHBpeEFjY291bnRMaXN0OiBvYmplY3RbXSA9IFtdO1xuICAgIHB1YmxpYyBtYXhWYWx1ZVBlcmNlbnRhZ2UgPSAxMDAuMDA7XG4gICAgcHVibGljIHBpeEtleVR5cGU6IHN0cmluZztcbiAgICBwdWJsaWMgcGl4QWNjb3VudEZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBpc1Nob3dQaXhLZXlGaWVsZFZhbGlkYXRvck1lc3NhZ2UgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICAgICAgICB0aGlzLmZvcm1CdWlsZGVyID0gZm9ybUJ1aWxkZXI7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwQmFzZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBwaG9uZU1hc2soZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZyhcInBob25lTWFza0V2ZW50XCIsIGV2ZW50KTtcblxuICAgICAgICBGb3JtYXRVdGlsc1NlcnZpY2UuZm9ybWF0VGVsZXBob25lSW5wdXRFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlUGl4S2V5VHlwZShpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJvbkNoYW5nZVBpeEtleVR5cGVcIiwgaXRlbSk7XG5cbiAgICAgICAgaWYgKGl0ZW0ua2V5KSB7XG4gICAgICAgICAgICB0aGlzLnBpeEtleVR5cGUgPSBpdGVtLmtleTtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93UGl4S2V5RmllbGRWYWxpZGF0b3JNZXNzYWdlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cC5nZXQoXCJwaXhLZXlcIikucmVzZXQoKTtcbiAgICAgICAgICAgIHRoaXMuc2V0UGl4S2V5VmFsaWRhdG9ycyh0cnVlKTtcblxuICAgICAgICAgICAgaWYgKGl0ZW0ua2V5ID09PSBcIkNQRlwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Q3BmUGl4S2V5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGVhclBpeEtleVR5cGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaG93UGl4S2V5RmllbGRWYWxpZGF0b3JNZXNzYWdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cC5nZXQoXCJwaXhLZXlcIikucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGVmYXVsdENwZlBpeEtleSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2RlZmF1bHRDcGZOdW1iZXIpIHtcbiAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cC5nZXQoXCJwaXhLZXlcIikuc2V0VmFsdWUodGhpcy5fZGVmYXVsdENwZk51bWJlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzaGVldERvY3VtZW50ID0gdGhpcy5fcGFyYW1zRm9ybS5nZXQoXCJzaGVldERvY3VtZW50XCIpO1xuICAgICAgICAgICAgaWYgKHNoZWV0RG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjcGYgPSBzaGVldERvY3VtZW50LmdldChcImNwZk51bWJlclwiKS52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAoY3BmKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cC5nZXQoXCJwaXhLZXlcIikuc2V0VmFsdWUoY3BmKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRm9ybUdyb3VwQmFzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5waXhBY2NvdW50Rm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBpZDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgaW5kZXg6IHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChudWxsKSxcbiAgICAgICAgICAgIGVtcGxveWVlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woeyB2YWx1ZTogeyB0YWJsZUlkOiBudWxsIH0sIGRpc2FibGVkOiB0cnVlIH0pLFxuICAgICAgICAgICAgZGF0ZUNoYW5nZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgcGl4S2V5VHlwZTogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICAgICAgcGl4S2V5OiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgICAgICBwZXJjZW50YWdlOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmluaXRpYWxWYWxpZGF0b3JPZlBlcmNlbnRhZ2UsXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXgodGhpcy5tYXhWYWx1ZVBlcmNlbnRhZ2UpLFxuICAgICAgICAgICAgXSkpLFxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKG51bGwpLFxuICAgICAgICAgICAgY3VzdG9tRmllbGRzOiB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2wobnVsbCksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRWYWxpZGF0b3JzQWNjb3JkaW5nTGlzdChwaXhBY2NvdW50TGlzdDogb2JqZWN0W10sIGluZGV4OiBudW1iZXIgPSBudWxsLCBpc0VkaXRNb2RlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZyhcInNldFZhbGlkYXRvcnNBY2NvcmRpbmdMaXN0XCIsIHBpeEFjY291bnRMaXN0LCBpbmRleCwgaXNFZGl0TW9kZSk7XG5cbiAgICAgICAgdGhpcy5waXhBY2NvdW50TGlzdCA9IHBpeEFjY291bnRMaXN0ICYmIHBpeEFjY291bnRMaXN0Lmxlbmd0aCA/IFsuLi5waXhBY2NvdW50TGlzdF0gOiBbXTtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZUluY2x1ZGVkOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgICAgIHRoaXMucGl4QWNjb3VudExpc3QuZm9yRWFjaCgoZmllbGQ6IGFueSwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoZmllbGRbXCJwZXJjZW50YWdlXCJdICYmIGtleSAhPT0gaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBwZXJjZW50YWdlSW5jbHVkZWQucHVzaChmaWVsZFtcInBlcmNlbnRhZ2VcIl0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJlZm9yZVNldFBpeEtleVR5cGVWYWxpZGF0b3IoKTtcbiAgICAgICAgdGhpcy5zZXRQaXhLZXlWYWxpZGF0b3JzKGlzRWRpdE1vZGUpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlUGVyY2VudGFnZVZhbGlkKHBlcmNlbnRhZ2VJbmNsdWRlZCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGJlZm9yZVNldFBpeEtleVR5cGVWYWxpZGF0b3IoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBpeEtleVR5cGUgPSB0aGlzLnBpeEFjY291bnRGb3JtR3JvdXAuZ2V0KFwicGl4S2V5VHlwZVwiKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhcImJlZm9yZVNldFBpeEtleVR5cGVWYWxpZGF0b3JcIiwgdGhpcy5waXhBY2NvdW50TGlzdCwgcGl4S2V5VHlwZSk7XG5cbiAgICAgICAgaWYgKHRoaXMucGl4QWNjb3VudExpc3QgJiYgdGhpcy5waXhBY2NvdW50TGlzdC5sZW5ndGggJiYgcGl4S2V5VHlwZSkge1xuICAgICAgICAgICAgcGl4S2V5VHlwZS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlRHVwbGljYXRlUGl4S2V5VHlwZUJhbmtBY2NvdW50KHRoaXMucGl4QWNjb3VudExpc3QpLFxuICAgICAgICAgICAgXSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGl4S2V5VHlwZS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFBpeEtleVZhbGlkYXRvcnMoaXNFZGl0TW9kZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBwaXhLZXkgPSB0aGlzLnBpeEFjY291bnRGb3JtR3JvdXAuZ2V0KFwicGl4S2V5XCIpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKFwic2V0UGl4S2V5VmFsaWRhdG9yc1wiLCB0aGlzLnBpeEtleVR5cGUsIGlzRWRpdE1vZGUpO1xuXG4gICAgICAgIGlmICh0aGlzLnBpeEtleVR5cGUpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy5waXhLZXlUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBcIlRFTEVQSE9ORVwiOlxuICAgICAgICAgICAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEdlbmVyaWNWYWxpZGF0b3IuaXNWYWxpZFBob25lTnVtYmVyXSkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiRU1BSUxcIjpcbiAgICAgICAgICAgICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRFbWFpbF0pKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcIkNQRlwiOlxuICAgICAgICAgICAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEdlbmVyaWNWYWxpZGF0b3IuaXNWYWxpZENwZl0pKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcIkNOUEpcIjpcbiAgICAgICAgICAgICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBHZW5lcmljVmFsaWRhdG9yLmlzVmFsaWRDbnBqXSkpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwiUkFORE9NX0tFWVwiOlxuICAgICAgICAgICAgICAgICAgICBwaXhLZXkuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcGl4S2V5LnNldFZhbGlkYXRvcnMobnVsbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpc0VkaXRNb2RlKSB7XG4gICAgICAgICAgICAgICAgcGl4S2V5LmVuYWJsZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwaXhLZXkudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlUGVyY2VudGFnZVZhbGlkKGxpc3RWYWx1ZTogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHRoaXMucGl4QWNjb3VudEZvcm1Hcm91cC5nZXQoXCJwZXJjZW50YWdlXCIpO1xuICAgICAgICB0aGlzLm1heFZhbHVlUGVyY2VudGFnZSA9IGxpc3RWYWx1ZS5yZWR1Y2UoKGFjYywgdmFsKSA9PiBhY2MgLSB2YWwsIDEwMC4wMCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJ2YWxpZGF0ZVBlcmNlbnRhZ2VWYWxpZFwiLCB0aGlzLm1heFZhbHVlUGVyY2VudGFnZSk7XG5cbiAgICAgICAgcGVyY2VudGFnZS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgICAgICAuLi50aGlzLmluaXRpYWxWYWxpZGF0b3JPZlBlcmNlbnRhZ2UsXG4gICAgICAgICAgICBWYWxpZGF0b3JzLm1heCh0aGlzLm1heFZhbHVlUGVyY2VudGFnZSksXG4gICAgICAgIF0pKTtcbiAgICAgICAgcGVyY2VudGFnZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUR1cGxpY2F0ZVBpeEtleVR5cGVCYW5rQWNjb3VudChsaXN0Q29tcGFyZTogb2JqZWN0W10pIHtcbiAgICAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0b3JzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbCAmJiBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSBsaXN0Q29tcGFyZS5zb21lKGZpZWxkID0+XG4gICAgICAgICAgICAgICAgdmFsdWUgJiYgZmllbGRbXCJwaXhLZXlUeXBlXCJdLmtleSA9PT0gJ0JBTktfQUNDT1VOVCcgJiYgdmFsdWUua2V5ID09PSAnQkFOS19BQ0NPVU5UJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIGlzRHVwbGljYXRlID8geyBwaXhLZXlUeXBlQmFua0FjY291bnREdXBsaWNhdGU6IHRydWUgfSA6IG51bGw7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwYXJhbXNGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJhbXNGb3JtO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGFyYW1zRm9ybSh2YWx1ZTogRm9ybUdyb3VwKSB7XG4gICAgICAgIHRoaXMuX3BhcmFtc0Zvcm0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRlZmF1bHRDcGZOdW1iZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRDcGZOdW1iZXI7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkZWZhdWx0Q3BmTnVtYmVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGVmYXVsdENwZk51bWJlciA9IHZhbHVlO1xuICAgIH1cbn1cbiJdfQ==