@senior-gestao-pessoas/hcm-contract-employee-history 5.5.2 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js +651 -251
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js +2 -2
- package/bundles/senior-gestao-pessoas-hcm-contract-employee-history.umd.min.js.map +1 -1
- package/core/dtos/employee-dependent-save-dto.d.ts +2 -1
- package/core/entities/dependent-draft/dependent-draft.d.ts +11 -0
- package/core/entities/dependent-draft/dependent-draft.dto.d.ts +13 -0
- package/core/entities/dependent-draft/dependent-draft.service.d.ts +13 -0
- package/esm2015/core/dtos/employee-dependent-save-dto.js +1 -1
- package/esm2015/core/entities/dependent-draft/dependent-draft.dto.js +1 -0
- package/esm2015/core/entities/dependent-draft/dependent-draft.js +56 -0
- package/esm2015/core/entities/dependent-draft/dependent-draft.service.js +26 -0
- package/esm2015/lib/employee-dependent/employee-dependent.module.js +14 -2
- package/esm2015/lib/employee-dependent/form/employee-dependent-form.component.js +179 -75
- package/esm2015/lib/employee-dependent/form/employee-dependent-personal-step/employee-dependent-personal-step.component.js +1 -1
- package/esm2015/lib/employee-dependent/list/draft/dependent-list-draft.component.js +216 -0
- package/esm2015/lib/employee-dependent/list/employee-dependent-list.component.js +13 -2
- package/esm2015/lib/utils/helpers.js +24 -1
- package/esm2015/public-api.js +1 -2
- package/esm2015/senior-gestao-pessoas-hcm-contract-employee-history.js +10 -8
- package/esm5/core/dtos/employee-dependent-save-dto.js +1 -1
- package/esm5/core/entities/dependent-draft/dependent-draft.dto.js +1 -0
- package/esm5/core/entities/dependent-draft/dependent-draft.js +61 -0
- package/esm5/core/entities/dependent-draft/dependent-draft.service.js +29 -0
- package/esm5/lib/employee-dependent/employee-dependent.module.js +14 -2
- package/esm5/lib/employee-dependent/form/employee-dependent-form.component.js +183 -75
- package/esm5/lib/employee-dependent/form/employee-dependent-personal-step/employee-dependent-personal-step.component.js +1 -1
- package/esm5/lib/employee-dependent/list/draft/dependent-list-draft.component.js +230 -0
- package/esm5/lib/employee-dependent/list/employee-dependent-list.component.js +17 -2
- package/esm5/lib/utils/helpers.js +24 -1
- package/esm5/public-api.js +1 -2
- package/esm5/senior-gestao-pessoas-hcm-contract-employee-history.js +10 -8
- package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js +612 -244
- package/fesm2015/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js +641 -244
- package/fesm5/senior-gestao-pessoas-hcm-contract-employee-history.js.map +1 -1
- package/lib/employee-dependent/form/employee-dependent-form.component.d.ts +16 -7
- package/lib/employee-dependent/list/draft/dependent-list-draft.component.d.ts +49 -0
- package/lib/employee-dependent/list/employee-dependent-list.component.d.ts +3 -0
- package/lib/utils/helpers.d.ts +11 -1
- package/package.json +1 -1
- package/public-api.d.ts +0 -1
- package/senior-gestao-pessoas-hcm-contract-employee-history.d.ts +9 -7
- package/senior-gestao-pessoas-hcm-contract-employee-history.metadata.json +1 -1
- package/esm2015/locale/fallback.js +0 -54
- package/esm5/locale/fallback.js +0 -54
- package/locale/fallback.d.ts +0 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { __assign, __decorate } from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
|
|
3
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
4
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
5
|
+
import { PaginatorStorageService } from "../../../../shared/storage/paginator-storage.service";
|
|
6
|
+
import * as moment_ from "moment";
|
|
7
|
+
var moment = moment_;
|
|
8
|
+
import { ConfirmationService, LazyLoadEvent, MenuItem, MessageService } from "primeng/api";
|
|
9
|
+
import { Subject } from "rxjs";
|
|
10
|
+
import { debounceTime, distinctUntilChanged, filter, finalize, takeUntil } from "rxjs/operators";
|
|
11
|
+
import { DependentDraftService } from "../../../../core/entities/dependent-draft/dependent-draft.service";
|
|
12
|
+
var DependentListDraftComponent = /** @class */ (function () {
|
|
13
|
+
function DependentListDraftComponent(activatedRoute, paginatorStorageService, dependentDraftService, translate, router, confirmationService, messageService) {
|
|
14
|
+
this.activatedRoute = activatedRoute;
|
|
15
|
+
this.paginatorStorageService = paginatorStorageService;
|
|
16
|
+
this.dependentDraftService = dependentDraftService;
|
|
17
|
+
this.translate = translate;
|
|
18
|
+
this.router = router;
|
|
19
|
+
this.confirmationService = confirmationService;
|
|
20
|
+
this.messageService = messageService;
|
|
21
|
+
this.isLoading = false;
|
|
22
|
+
this.allPermissions = {};
|
|
23
|
+
this.currentListParams = { page: 0, size: 10, sort: [] };
|
|
24
|
+
this.permissions = {};
|
|
25
|
+
this.closeSideBar = new EventEmitter();
|
|
26
|
+
this.addButtonClicked = new EventEmitter();
|
|
27
|
+
this.onEdit = new EventEmitter();
|
|
28
|
+
this.ngUnsubscribe = new Subject();
|
|
29
|
+
}
|
|
30
|
+
DependentListDraftComponent.prototype.ngOnInit = function () {
|
|
31
|
+
var _this = this;
|
|
32
|
+
this.gridColumns = this.getGridColumns();
|
|
33
|
+
this.activatedRoute
|
|
34
|
+
.data.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (data) { return _this.onRouteDataChange(data); });
|
|
35
|
+
this.closeSideBar
|
|
36
|
+
.pipe(takeUntil(this.ngUnsubscribe), filter(function (value) { return !!value; }))
|
|
37
|
+
.subscribe(function () {
|
|
38
|
+
_this.updateGrid();
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
DependentListDraftComponent.prototype.ngOnDestroy = function () {
|
|
42
|
+
this.ngUnsubscribe.next();
|
|
43
|
+
this.ngUnsubscribe.complete();
|
|
44
|
+
};
|
|
45
|
+
DependentListDraftComponent.prototype.onRouteDataChange = function (data) {
|
|
46
|
+
var _a;
|
|
47
|
+
this.allPermissions = data.allPermissions;
|
|
48
|
+
this.permissions = (_a = data.allPermissions) === null || _a === void 0 ? void 0 : _a.dependentDraft;
|
|
49
|
+
};
|
|
50
|
+
DependentListDraftComponent.prototype.getActions = function (data) {
|
|
51
|
+
var _this = this;
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
id: "1",
|
|
55
|
+
label: this.translate.instant("hcm_contract.employment_contract.admission_generic_edit"),
|
|
56
|
+
visible: this.permissions.editar,
|
|
57
|
+
command: function () {
|
|
58
|
+
_this.onEdit.emit(data === null || data === void 0 ? void 0 : data.id);
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: "2",
|
|
63
|
+
visible: this.permissions.excluir,
|
|
64
|
+
label: this.translate.instant("hcm_contract.employment_contract.logical_delete"),
|
|
65
|
+
command: function () { return _this.onDelete(data.id); },
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: "3",
|
|
69
|
+
visible: this.permissions.incluir,
|
|
70
|
+
label: this.translate.instant("hcm_contract.employment_contract.dependent_draft_effect_data"),
|
|
71
|
+
command: function () {
|
|
72
|
+
_this.dependentDraftService.saveDraftEvent.next(data);
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
};
|
|
77
|
+
DependentListDraftComponent.prototype.onDelete = function (id) {
|
|
78
|
+
var _this = this;
|
|
79
|
+
this.confirmationService.confirm({
|
|
80
|
+
header: this.translate.instant("hcm_contract.employment_contract.draft_delete_confirmation_message"),
|
|
81
|
+
message: this.translate.instant("hcm_contract.employment_contract.admission_delete_confirmation_message"),
|
|
82
|
+
acceptLabel: this.translate.instant("hcm_contract.employment_contract.admission_generic_yes"),
|
|
83
|
+
rejectLabel: this.translate.instant("hcm_contract.employment_contract.admission_generic_no"),
|
|
84
|
+
accept: function () {
|
|
85
|
+
_this.isLoading = true;
|
|
86
|
+
_this.dependentDraftService.delete(id)
|
|
87
|
+
.pipe(takeUntil(_this.ngUnsubscribe), finalize(function () {
|
|
88
|
+
_this.isLoading = false;
|
|
89
|
+
_this.resetGrid();
|
|
90
|
+
}))
|
|
91
|
+
.subscribe(function () {
|
|
92
|
+
_this.messageService.add({
|
|
93
|
+
severity: "success",
|
|
94
|
+
summary: _this.translate.instant("hcm_contract.employment_contract.deleted_message_title"),
|
|
95
|
+
detail: _this.translate.instant("hcm_contract.employment_contract.deleted_message_content"),
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
DependentListDraftComponent.prototype.getSortField = function () {
|
|
102
|
+
return this.currentListParams.sort;
|
|
103
|
+
};
|
|
104
|
+
DependentListDraftComponent.prototype.getPageSize = function () {
|
|
105
|
+
return this.currentListParams.size;
|
|
106
|
+
};
|
|
107
|
+
DependentListDraftComponent.prototype.getRowIndex = function () {
|
|
108
|
+
return this.currentListParams.page * this.currentListParams.size;
|
|
109
|
+
};
|
|
110
|
+
DependentListDraftComponent.prototype.formatDate = function (date) {
|
|
111
|
+
return moment(date).format(this.dateFormat);
|
|
112
|
+
};
|
|
113
|
+
DependentListDraftComponent.prototype.onGridChange = function (event) {
|
|
114
|
+
var size = event.rows;
|
|
115
|
+
var page = event.first / size;
|
|
116
|
+
var sort = event.multiSortMeta;
|
|
117
|
+
if (size !== 10 || page !== 0 || (sort === null || sort === void 0 ? void 0 : sort.length) > 0) {
|
|
118
|
+
this.paginatorStorageService.storePaginator("DependentDraftListComponentPaginator", {
|
|
119
|
+
page: page,
|
|
120
|
+
size: size,
|
|
121
|
+
sort: sort,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return this.updateGrid({ page: page, size: size, sort: sort });
|
|
125
|
+
};
|
|
126
|
+
DependentListDraftComponent.prototype.resetGrid = function (listParams) {
|
|
127
|
+
if (listParams) {
|
|
128
|
+
this.currentListParams = __assign(__assign({}, this.currentListParams), listParams);
|
|
129
|
+
}
|
|
130
|
+
this.currentListParams = __assign(__assign({}, this.currentListParams), { page: 0, sort: [] });
|
|
131
|
+
this.table.reset();
|
|
132
|
+
};
|
|
133
|
+
DependentListDraftComponent.prototype.getGridColumns = function () {
|
|
134
|
+
var gridColumnsGeneral = [
|
|
135
|
+
{
|
|
136
|
+
field: "personName",
|
|
137
|
+
header: this.translate.instant("hcm_contract.employment_contract.e_001_pes_nom_pes"),
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
field: "kinshipDegreeType",
|
|
141
|
+
header: this.translate.instant("hcm_contract.employment_contract.employee_dependent_list_kinship"),
|
|
142
|
+
}
|
|
143
|
+
];
|
|
144
|
+
return gridColumnsGeneral;
|
|
145
|
+
};
|
|
146
|
+
DependentListDraftComponent.prototype.updateGrid = function (listParams) {
|
|
147
|
+
var _this = this;
|
|
148
|
+
if (listParams === void 0) { listParams = {}; }
|
|
149
|
+
if (!this._admissionDraftId && !this._employeeId) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this.isLoading = true;
|
|
153
|
+
this.currentListParams = __assign(__assign({}, this.currentListParams), listParams);
|
|
154
|
+
var _a = this.currentListParams, page = _a.page, size = _a.size;
|
|
155
|
+
var sort = this.currentListParams.sort;
|
|
156
|
+
var displayFields = ["*"];
|
|
157
|
+
var filterQuery = this._employeeId ? "(employee.id eq '" + this._employeeId + "')" : "(admissionDraft.id eq '" + this._admissionDraftId + "')";
|
|
158
|
+
if (!sort) {
|
|
159
|
+
sort = [{ field: "lastModifiedDate", order: -1 }];
|
|
160
|
+
}
|
|
161
|
+
this.dependentDraftService
|
|
162
|
+
.list({ page: page, size: size, sort: sort, filterQuery: filterQuery, displayFields: displayFields })
|
|
163
|
+
.pipe(takeUntil(this.ngUnsubscribe), debounceTime(500), distinctUntilChanged(), finalize(function () {
|
|
164
|
+
_this.isLoading = false;
|
|
165
|
+
}))
|
|
166
|
+
.subscribe(function (list) {
|
|
167
|
+
_this.gridData = list.contents;
|
|
168
|
+
_this.totalRecords = list.totalElements;
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
DependentListDraftComponent.prototype.getProp = function (obj, path) {
|
|
172
|
+
return path.split(".").reduce(function (result, prop) { return (result[prop] === undefined ? "" : result[prop]); }, obj);
|
|
173
|
+
};
|
|
174
|
+
Object.defineProperty(DependentListDraftComponent.prototype, "employeeId", {
|
|
175
|
+
set: function (id) {
|
|
176
|
+
this._employeeId = id;
|
|
177
|
+
if (this._employeeId) {
|
|
178
|
+
this.updateGrid();
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
enumerable: true,
|
|
182
|
+
configurable: true
|
|
183
|
+
});
|
|
184
|
+
Object.defineProperty(DependentListDraftComponent.prototype, "admissionDraftId", {
|
|
185
|
+
set: function (id) {
|
|
186
|
+
this._admissionDraftId = id;
|
|
187
|
+
if (this._admissionDraftId) {
|
|
188
|
+
this.updateGrid();
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
enumerable: true,
|
|
192
|
+
configurable: true
|
|
193
|
+
});
|
|
194
|
+
DependentListDraftComponent.ctorParameters = function () { return [
|
|
195
|
+
{ type: ActivatedRoute },
|
|
196
|
+
{ type: PaginatorStorageService },
|
|
197
|
+
{ type: DependentDraftService },
|
|
198
|
+
{ type: TranslateService },
|
|
199
|
+
{ type: Router },
|
|
200
|
+
{ type: ConfirmationService },
|
|
201
|
+
{ type: MessageService }
|
|
202
|
+
]; };
|
|
203
|
+
__decorate([
|
|
204
|
+
Input()
|
|
205
|
+
], DependentListDraftComponent.prototype, "closeSideBar", void 0);
|
|
206
|
+
__decorate([
|
|
207
|
+
Output()
|
|
208
|
+
], DependentListDraftComponent.prototype, "addButtonClicked", void 0);
|
|
209
|
+
__decorate([
|
|
210
|
+
Output()
|
|
211
|
+
], DependentListDraftComponent.prototype, "onEdit", void 0);
|
|
212
|
+
__decorate([
|
|
213
|
+
ViewChild("dependentDraftTable")
|
|
214
|
+
], DependentListDraftComponent.prototype, "table", void 0);
|
|
215
|
+
__decorate([
|
|
216
|
+
Input()
|
|
217
|
+
], DependentListDraftComponent.prototype, "employeeId", null);
|
|
218
|
+
__decorate([
|
|
219
|
+
Input()
|
|
220
|
+
], DependentListDraftComponent.prototype, "admissionDraftId", null);
|
|
221
|
+
DependentListDraftComponent = __decorate([
|
|
222
|
+
Component({
|
|
223
|
+
selector: "app-dependent-list-draft",
|
|
224
|
+
template: "<s-loading-state [loading]=\"isLoading\" blockWindow=\"true\"></s-loading-state>\n<div class=\"ui-g\" *ngIf=\"gridData?.length\">\n <div class=\"ui-g-12\">\n <button id=\"add-button-draft\" type=\"button\" pButton\n [label]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n title=\"{{'hcm_contract.employment_contract.add_employee_dependent' | translate}} (Alt + Shift + N)\"\n *ngIf=\"permissions.incluir\" (click)=\"addButtonClicked.emit()\"></button>\n </div>\n</div>\n<s-empty-state *ngIf=\"!gridData?.length\"\n [title]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_title' | translate\"\n [showPrimaryAction]=\"this.permissions.incluir\"\n [primaryActionLabel]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n (primaryAction)=\"addButtonClicked.emit()\"\n [description]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_description' | translate\"\n>\n</s-empty-state>\n<div [attr.data-hidden]=\"!gridData?.length\">\n\n <p-table #dependentDraftTable [value]=\"gridData\" [columns]=\"gridColumns\" dataKey=\"id\" [lazy]=\"true\"\n [scrollable]=\"true\" [resizableColumns]=\"true\" sortMode=\"multiple\" [paginator]=\"true\"\n [totalRecords]=\"totalRecords\" [multiSortMeta]=\"getSortField()\" [first]=\"getRowIndex()\"\n [rows]=\"getPageSize()\" [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"th-randon\" *ngFor=\"let col of columns\" [pSortableColumn]=\"col.field\"\n pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th pResizableColumn scope=\"col\" *ngIf=\"this.permissions.excluir\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{\n 'hcm_contract.employment_contract.actions' |\n translate\n }}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns>\n <tr [pSelectableRow]=\"rowData\">\n <td>\n <span>{{ rowData?.personName }}</span>\n </td><td>\n <div [ngSwitch]=\"getProp(rowData, 'kinshipDegreeType') || ('hcm_contract.employment_contract.list_grid_empty_field' | translate)\">\n <span *ngSwitchCase=\"'SON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON\" | translate}}</span>\n <span *ngSwitchCase=\"'SPOUSE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SPOUSE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDFATHER_GRANDMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDFATHER_GRANDMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'NEPHEW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_NEPHEW\" | translate}}</span>\n <span *ngSwitchCase=\"'UNCLE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_UNCLE\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'SON_IN_LAW_DAOUGHTER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON_IN_LAW_DAOUGHTER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPSON\" | translate}}</span>\n <span *ngSwitchCase=\"'BROTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_BROTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'ADOPTED_CHILD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_ADOPTED_CHILD\" | translate}}</span>\n <span *ngSwitchCase=\"'PENSIONERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_PENSIONERS\" | translate}}</span>\n <span *ngSwitchCase=\"'COMPANION'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_COMPANION\" | translate}}</span>\n <span *ngSwitchCase=\"'GUARDIANSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GUARDIANSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'MINOR_UNDER_GUARD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_MINOR_UNDER_GUARD\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'TUTOR'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_TUTOR\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_EXPOSED'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_EXPOSED\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_PARTNER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_PARTNER\" | translate}}</span>\n <span *ngSwitchCase=\"'CONCUBINE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CONCUBINE\" | translate}}</span>\n <span *ngSwitchCase=\"'CURATORSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CURATORSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'SOCIOAFFECTIVE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SOCIOAFFECTIVE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_MOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_MOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'OTHERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_OTHERS\" | translate}}</span>\n <span *ngSwitchDefault>{{ \"hcm_contract.employment_contract.list_grid_empty_field\" | translate}}</span>\n </div>\n </td>\n <td class=\"txt-center\" tabindex=\"0\" *ngIf=\"this.permissions.editar && this.permissions.excluir\">\n <s-button label=\"{{'hcm_contract.employment_contract.admission_generic_actions' | translate}}\"\n priority=\"default\" [model]=\"getActions(rowData)\" [disabled]=\"false\"\n [auxiliary]=\"true\"></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'hcm_contract.employment_contract.total_records'\"\n [translateParams]=\"{value: totalRecords}\">\n </span>\n </ng-template>\n </p-table>\n</div>\n"
|
|
225
|
+
})
|
|
226
|
+
], DependentListDraftComponent);
|
|
227
|
+
return DependentListDraftComponent;
|
|
228
|
+
}());
|
|
229
|
+
export { DependentListDraftComponent };
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW50LWxpc3QtZHJhZnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvbGlzdC9kcmFmdC9kZXBlbmRlbnQtbGlzdC1kcmFmdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQy9GLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFPMUc7SUFxQkkscUNBQ3FCLGNBQThCLEVBQzlCLHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsU0FBMkIsRUFDM0IsTUFBYyxFQUNkLG1CQUF3QyxFQUN4QyxjQUE4QjtRQU45QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFD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QUFJLENBQUMsQ0FBQyxFQUFoRCxDQUFnRCxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JILENBQUM7SUFFRCxzQkFBVyxtREFBVTthQUFyQixVQUFzQixFQUFVO1lBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3JCO1FBQ0wsQ0FBQzs7O09BQUE7SUFFRCxzQkFBVyx5REFBZ0I7YUFBM0IsVUFBNEIsRUFBVTtZQUNsQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1lBQzVCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDckI7UUFDTCxDQUFDOzs7T0FBQTs7Z0JBdE1vQyxjQUFjO2dCQUNMLHVCQUF1QjtnQkFDekIscUJBQXFCO2dCQUNqQyxnQkFBZ0I7Z0JBQ25CLE1BQU07Z0JBQ08sbUJBQW1CO2dCQUN4QixjQUFjOztJQWpCbkQ7UUFEQyxLQUFLLEVBQUU7cUVBQzBDO0lBRWxEO1FBREMsTUFBTSxFQUFFO3lFQUM4RDtJQUV2RTtRQURDLE1BQU0sRUFBRTsrREFDb0Q7SUFFN0Q7UUFEQyxTQUFTLENBQUMscUJBQXFCLENBQUM7OERBQ2I7SUErTHBCO1FBREMsS0FBSyxFQUFFO2lFQU1QO0lBRUQ7UUFEQyxLQUFLLEVBQUU7dUVBTVA7SUE1TlEsMkJBQTJCO1FBSnZDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsNC9RQUFvRDtTQUN2RCxDQUFDO09BQ1csMkJBQTJCLENBOE52QztJQUFELGtDQUFDO0NBQUEsQUE5TkQsSUE4TkM7U0E5TlksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0b3JhZ2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tIFwibW9tZW50XCI7XG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgTGF6eUxvYWRFdmVudCwgTWVudUl0ZW0sIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBUYWJsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW50RHJhZnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZGVwZW5kZW50LWRyYWZ0L2RlcGVuZGVudC1kcmFmdC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9odHRwLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiYXBwLWRlcGVuZGVudC1saXN0LWRyYWZ0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9kZXBlbmRlbnQtbGlzdC1kcmFmdC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBEZXBlbmRlbnRMaXN0RHJhZnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBhbGxQZXJtaXNzaW9uczogYW55ID0ge307XG4gICAgcHVibGljIGN1cnJlbnRMaXN0UGFyYW1zOiBMaXN0UGFyYW1zID0geyBwYWdlOiAwLCBzaXplOiAxMCwgc29ydDogW10gfTtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xuICAgIHB1YmxpYyB0b3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdO1xuICAgIHB1YmxpYyBfZW1wbG95ZWVJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBfYWRtaXNzaW9uRHJhZnRJZDogc3RyaW5nO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55W107XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY2xvc2VTaWRlQmFyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uRWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBWaWV3Q2hpbGQoXCJkZXBlbmRlbnREcmFmdFRhYmxlXCIpXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgZGF0ZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlOiBQYWdpbmF0b3JTdG9yYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRlbnREcmFmdFNlcnZpY2U6IERlcGVuZGVudERyYWZ0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmdyaWRDb2x1bW5zID0gdGhpcy5nZXRHcmlkQ29sdW1ucygpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlXG4gICAgICAgICAgICAuZGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gdGhpcy5vblJvdXRlRGF0YUNoYW5nZShkYXRhKSk7XG5cbiAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKHZhbHVlKSA9PiAhIXZhbHVlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvdXRlRGF0YUNoYW5nZShkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5hbGxQZXJtaXNzaW9ucyA9IGRhdGEuYWxsUGVybWlzc2lvbnM7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBkYXRhLmFsbFBlcm1pc3Npb25zPy5kZXBlbmRlbnREcmFmdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucyhkYXRhPzogYW55KTogTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfZWRpdFwiKSxcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnBlcm1pc3Npb25zLmVkaXRhcixcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FZGl0LmVtaXQoZGF0YT8uaWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjJcIixcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0aGlzLnBlcm1pc3Npb25zLmV4Y2x1aXIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5sb2dpY2FsX2RlbGV0ZVwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLm9uRGVsZXRlKGRhdGEuaWQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIzXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJsZTogdGhpcy5wZXJtaXNzaW9ucy5pbmNsdWlyLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZGVwZW5kZW50X2RyYWZ0X2VmZmVjdF9kYXRhXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXBlbmRlbnREcmFmdFNlcnZpY2Uuc2F2ZURyYWZ0RXZlbnQubmV4dChkYXRhKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EZWxldGUoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5kcmFmdF9kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2RlbGV0ZV9jb25maXJtYXRpb25fbWVzc2FnZVwiKSxcbiAgICAgICAgICAgIGFjY2VwdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfeWVzXCIpLFxuICAgICAgICAgICAgcmVqZWN0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZ2VuZXJpY19ub1wiKSxcbiAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlcGVuZGVudERyYWZ0U2VydmljZS5kZWxldGUoaWQpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0R3JpZCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcInN1Y2Nlc3NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlbGV0ZWRfbWVzc2FnZV90aXRsZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZGVsZXRlZF9tZXNzYWdlX2NvbnRlbnRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNvcnRGaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnZVNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNpemU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5wYWdlICogdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xuICAgIH1cblxuICAgIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBzaXplID0gZXZlbnQucm93cztcbiAgICAgICAgY29uc3QgcGFnZSA9IGV2ZW50LmZpcnN0IC8gc2l6ZTtcbiAgICAgICAgY29uc3Qgc29ydCA9IGV2ZW50Lm11bHRpU29ydE1ldGE7XG5cbiAgICAgICAgaWYgKHNpemUgIT09IDEwIHx8IHBhZ2UgIT09IDAgfHwgc29ydD8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3JTdG9yYWdlU2VydmljZS5zdG9yZVBhZ2luYXRvcihcIkRlcGVuZGVudERyYWZ0TGlzdENvbXBvbmVudFBhZ2luYXRvclwiLCB7XG4gICAgICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgICAgIHNvcnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUdyaWQoeyBwYWdlLCBzaXplLCBzb3J0IH0pO1xuXG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0R3JpZChsaXN0UGFyYW1zPzogTGlzdFBhcmFtcykge1xuICAgICAgICBpZiAobGlzdFBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIHBhZ2U6IDAsIHNvcnQ6IFtdIH07XG4gICAgICAgIHRoaXMudGFibGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEdyaWRDb2x1bW5zKCkge1xuICAgICAgICBjb25zdCBncmlkQ29sdW1uc0dlbmVyYWwgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwicGVyc29uTmFtZVwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVfMDAxX3Blc19ub21fcGVzXCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJraW5zaGlwRGVncmVlVHlwZVwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAgICAgICAgICAgXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfbGlzdF9raW5zaGlwXCIsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIGdyaWRDb2x1bW5zR2VuZXJhbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHt9KSB7XG4gICAgICAgIGlmICghdGhpcy5fYWRtaXNzaW9uRHJhZnRJZCAmJiAhdGhpcy5fZW1wbG95ZWVJZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xuICAgICAgICBjb25zdCB7IHBhZ2UsIHNpemUgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XG4gICAgICAgIGxldCB7IHNvcnQgfSA9IHRoaXMuY3VycmVudExpc3RQYXJhbXM7XG5cbiAgICAgICAgY29uc3QgZGlzcGxheUZpZWxkcyA9IFtcIipcIl07XG4gICAgICAgIGNvbnN0IGZpbHRlclF1ZXJ5OiBhbnkgPSB0aGlzLl9lbXBsb3llZUlkID8gYChlbXBsb3llZS5pZCBlcSAnJHt0aGlzLl9lbXBsb3llZUlkfScpYCA6IGAoYWRtaXNzaW9uRHJhZnQuaWQgZXEgICAgJyR7dGhpcy5fYWRtaXNzaW9uRHJhZnRJZH0nKWA7XG5cbiAgICAgICAgaWYgKCFzb3J0KSB7XG4gICAgICAgICAgICBzb3J0ID0gW3sgZmllbGQ6IFwibGFzdE1vZGlmaWVkRGF0ZVwiLCBvcmRlcjogLTEgfV07XG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMuZGVwZW5kZW50RHJhZnRTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdCh7IHBhZ2UsIHNpemUsIHNvcnQsIGZpbHRlclF1ZXJ5LCBkaXNwbGF5RmllbGRzIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBsaXN0LmNvbnRlbnRzO1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGVtcGxveWVlSWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9lbXBsb3llZUlkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9lbXBsb3llZUlkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgYWRtaXNzaW9uRHJhZnRJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2FkbWlzc2lvbkRyYWZ0SWQgPSBpZDtcbiAgICAgICAgaWYgKHRoaXMuX2FkbWlzc2lvbkRyYWZ0SWQpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -46,6 +46,13 @@ var EmployeeDependentListComponent = /** @class */ (function () {
|
|
|
46
46
|
enumerable: true,
|
|
47
47
|
configurable: true
|
|
48
48
|
});
|
|
49
|
+
Object.defineProperty(EmployeeDependentListComponent.prototype, "admissionDraftId", {
|
|
50
|
+
set: function (id) {
|
|
51
|
+
this._admissionDraftId = id;
|
|
52
|
+
},
|
|
53
|
+
enumerable: true,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
49
56
|
EmployeeDependentListComponent.prototype.ngAfterViewChecked = function () {
|
|
50
57
|
this.cdRef.detectChanges();
|
|
51
58
|
};
|
|
@@ -274,6 +281,11 @@ var EmployeeDependentListComponent = /** @class */ (function () {
|
|
|
274
281
|
personId: this.personId,
|
|
275
282
|
});
|
|
276
283
|
};
|
|
284
|
+
EmployeeDependentListComponent.prototype.onEditDraft = function (draftId) {
|
|
285
|
+
this.employeeDependentService.setOpenSideBarAndStartForm({
|
|
286
|
+
dependentDraftId: draftId
|
|
287
|
+
});
|
|
288
|
+
};
|
|
277
289
|
EmployeeDependentListComponent.prototype.getActions = function (rows) {
|
|
278
290
|
var _this = this;
|
|
279
291
|
return [
|
|
@@ -339,6 +351,9 @@ var EmployeeDependentListComponent = /** @class */ (function () {
|
|
|
339
351
|
__decorate([
|
|
340
352
|
Input()
|
|
341
353
|
], EmployeeDependentListComponent.prototype, "employeeId", null);
|
|
354
|
+
__decorate([
|
|
355
|
+
Input()
|
|
356
|
+
], EmployeeDependentListComponent.prototype, "admissionDraftId", null);
|
|
342
357
|
__decorate([
|
|
343
358
|
ViewChild("employeeDependentTable", { static: false })
|
|
344
359
|
], EmployeeDependentListComponent.prototype, "table", void 0);
|
|
@@ -346,11 +361,11 @@ var EmployeeDependentListComponent = /** @class */ (function () {
|
|
|
346
361
|
Component({
|
|
347
362
|
// tslint:disable-next-line:component-selector
|
|
348
363
|
selector: "fnd-employee-dependent",
|
|
349
|
-
template: "<p-panel *sLoadingState=\"loading\">\n <p-header>\n {{\"hcm_contract.employment_contract.employee_dependent_list\" | translate}}\n </p-header>\n <s-empty-state\n *ngIf=\"serverError\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{'hcm_contract.employment_contract.error_server_title' | translate}}\"\n primaryActionLabel=\"{{'hcm_contract.employment_contract.error_server_try_again' | translate}}\"\n (primaryAction)=\"resetGrid()\" description=\"{{'hcm_contract.employment_contract.error_server_description' | translate}}\"></s-empty-state>\n <s-empty-state *ngIf=\"!this.gridData?.length && !serverError\" [title]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_title' | translate\"\n [showPrimaryAction]=\"this.permissions.incluir\" [primaryActionLabel]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n (primaryAction)=\"onAddDependent()\" [description]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_description' | translate\"\n [showSecondaryAction]=\"permissions.incluir\" [showSecondaryAction]=\"hasPermissionToSeeExclusions()\"\n [secondaryActionLabel]=\"'hcm_contract.employment_contract.see_exclusions' | translate\"\n (secondaryAction)=\"openRecordExclusions()\">\n </s-empty-state>\n <div [attr.data-hidden]=\"!gridData?.length || serverError\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button id=\"add-button\" type=\"button\" pButton [label]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n title=\"{{'hcm_contract.employment_contract.add_employee_dependent' | translate}} (Alt + Shift + N)\"\n *ngIf=\"permissions.incluir\" (click)=\"onAddDependent()\"></button>\n <s-button id=\"other-actions-button\"\n [label]=\"'hcm_contract.employment_contract.other_actions' | translate\"\n [model]=\"getOtherActions()\"\n priority=\"secondary\"\n [disabled]=\"false\" [auxiliary]=\"false\"\n *ngIf=\"hasPermissionToSeeExclusions()\">\n </s-button>\n </div>\n </div>\n <p-table #employeeDependentTable [value]=\"gridData\" [columns]=\"gridColumns\" dataKey=\"id\" [lazy]=\"true\"\n [scrollable]=\"true\" [resizableColumns]=\"true\" sortMode=\"multiple\" [paginator]=\"true\"\n [totalRecords]=\"totalRecords\" [multiSortMeta]=\"getSortField()\" [first]=\"getRowIndex()\"\n [rows]=\"getPageSize()\" [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" [pSortableColumn]=\"col.field\"\n pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{col.header}}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th pResizableColumn scope=\"col\" *ngIf=\"this.permissions.excluir\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{'hcm_contract.employment_contract.actions' |\n translate}}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns>\n <tr [pSelectableRow]=\"rowData\">\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.codPes'))}}</span>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.nomPes')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td>\n <div [ngSwitch]=\"getProp(rowData, 'dependent.graPde') || ('hcm_contract.employment_contract.list_grid_empty_field' | translate)\">\n <span *ngSwitchCase=\"'SON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON\" | translate}}</span>\n <span *ngSwitchCase=\"'SPOUSE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SPOUSE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDFATHER_GRANDMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDFATHER_GRANDMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'NEPHEW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_NEPHEW\" | translate}}</span>\n <span *ngSwitchCase=\"'UNCLE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_UNCLE\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'SON_IN_LAW_DAOUGHTER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON_IN_LAW_DAOUGHTER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPSON\" | translate}}</span>\n <span *ngSwitchCase=\"'BROTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_BROTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'ADOPTED_CHILD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_ADOPTED_CHILD\" | translate}}</span>\n <span *ngSwitchCase=\"'PENSIONERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_PENSIONERS\" | translate}}</span>\n <span *ngSwitchCase=\"'COMPANION'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_COMPANION\" | translate}}</span>\n <span *ngSwitchCase=\"'GUARDIANSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GUARDIANSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'MINOR_UNDER_GUARD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_MINOR_UNDER_GUARD\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'TUTOR'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_TUTOR\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_EXPOSED'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_EXPOSED\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_PARTNER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_PARTNER\" | translate}}</span>\n <span *ngSwitchCase=\"'CONCUBINE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CONCUBINE\" | translate}}</span>\n <span *ngSwitchCase=\"'CURATORSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CURATORSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'SOCIOAFFECTIVE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SOCIOAFFECTIVE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_MOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_MOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'OTHERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_OTHERS\" | translate}}</span>\n <span *ngSwitchDefault>{{ \"hcm_contract.employment_contract.list_grid_empty_field\" | translate}}</span>\n </div>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.intNet')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.fonPes')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td class=\"txt-center\" tabindex=\"0\" *ngIf=\"this.permissions.editar && this.permissions.excluir\">\n <s-button label=\"{{'hcm_contract.employment_contract.admission_generic_actions' | translate}}\"\n priority=\"default\" [model]=\"getActions(rowData)\" [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'hcm_contract.employment_contract.total_records'\"\n [translateParams]=\"{value: totalRecords}\">\n </span>\n </ng-template>\n </p-table>\n </div>\n</p-panel>\n<p-dialog header=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_title' | translate }}\"\n[draggable]=\"false\" [modal]=\"true\"\n[(visible)]=\"showDialog\" [closable]=\"false\">\n <form class=\"ui-fluid\" [formGroup]=\"formGroup\">\n <div class=\"radio-buttons required ui-lg-12\" style=\"margin-bottom: 20px;\">\n <label id=\"registerMethod\">{{ 'hcm_contract.employment_contract.employee_dependent_register_method_label' | translate }}</label>\n <div><p-radioButton name=\"registerMethod\" formControlName=\"registerMethod\"\n value=\"newRegister\"\n label=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_create_data' | translate}}\"></p-radioButton></div>\n <div><p-radioButton\n name=\"registerMethod\" formControlName=\"registerMethod\"\n value=\"existing\"\n label=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_existing_data' | translate}}\"></p-radioButton></div>\n <s-control-errors\n id=\"er-registerMethod\"\n [control]=\"formGroup.get('registerMethod')\"\n [errorMessages]=\"{\n required: 'hcm_contract.employment_contract.admission_generic_field_validator_required' | translate\n }\"\n ></s-control-errors>\n </div>\n\n <div class=\"ui-lg-12\">\n <div class=\"person-label\">\n <label for=\"person\">{{'hcm_contract.employment_contract.data_person_id_lookup_title' | translate}}</label>\n <span\n class=\"fa fa-info-circle\"\n [pTooltip]=\"'hcm_contract.employment_contract.employee_dependent_tooltip_person' | translate\">\n </span>\n </div>\n <div class=\"{{personClass}}\">\n <fnd-person-lookup [formGroup]=\"formGroup\" [locale]=\"localeConfig\"></fnd-person-lookup>\n <s-control-errors\n id=\"er-person\"\n [control]=\"formGroup.get('person')\"\n [errorMessages]=\"{\n required: 'hcm_contract.employment_contract.admission_generic_field_validator_required' | translate\n }\"\n ></s-control-errors>\n </div>\n </div>\n </form>\n <p-footer>\n <s-button\n [label]=\"'hcm_contract.employment_contract.employee_dependent_next' | translate\"\n priority=\"primary\" (onClick)=\"sendToForm()\">\n </s-button>\n <s-button\n [label]=\"'hcm_contract.employment_contract.cancel' | translate\"\n priority=\"secondary\"\n (onClick)=\"onCancel()\">\n </s-button>\n </p-footer>\n</p-dialog>\n<p-confirmDialog></p-confirmDialog>\n<fnd-employee-dependent-form [employeeId]=\"_employeeId\" [closeSideBar]=\"closeSideBar\"></fnd-employee-dependent-form>\n<s-exclusion-details></s-exclusion-details>",
|
|
364
|
+
template: "<p-panel *sLoadingState=\"loading\">\n <p-tabView styleClass=\"form-group\" *sLoadingState=\"loading\" >\n <p-tabPanel *ngIf=\"!_admissionDraftId\"\n [header]=\"'hcm_contract.employment_contract.employee_dependent_title_header' | translate\">\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <button id=\"add-button\" type=\"button\" pButton [label]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n title=\"{{'hcm_contract.employment_contract.add_employee_dependent' | translate}} (Alt + Shift + N)\"\n *ngIf=\"permissions.incluir\" (click)=\"onAddDependent()\"></button>\n <s-button id=\"other-actions-button\"\n [label]=\"'hcm_contract.employment_contract.other_actions' | translate\"\n [model]=\"getOtherActions()\"\n priority=\"secondary\"\n [disabled]=\"false\" [auxiliary]=\"false\"\n *ngIf=\"hasPermissionToSeeExclusions()\">\n </s-button>\n </div>\n </div>\n <s-empty-state\n *ngIf=\"serverError\"\n iconClass=\"fa fa-exclamation-triangle\"\n title=\"{{'hcm_contract.employment_contract.error_server_title' | translate}}\"\n primaryActionLabel=\"{{'hcm_contract.employment_contract.error_server_try_again' | translate}}\"\n (primaryAction)=\"resetGrid()\" description=\"{{'hcm_contract.employment_contract.error_server_description' | translate}}\"></s-empty-state>\n <s-empty-state *ngIf=\"!this.gridData?.length && !serverError\" [title]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_title' | translate\"\n [showPrimaryAction]=\"this.permissions.incluir\" [primaryActionLabel]=\"'hcm_contract.employment_contract.add_employee_dependent' | translate\"\n (primaryAction)=\"onAddDependent()\" [description]=\"'hcm_contract.employment_contract.employee_dependent_empty_state_description' | translate\"\n [showSecondaryAction]=\"permissions.incluir\" [showSecondaryAction]=\"hasPermissionToSeeExclusions()\"\n [secondaryActionLabel]=\"'hcm_contract.employment_contract.see_exclusions' | translate\"\n (secondaryAction)=\"openRecordExclusions()\">\n </s-empty-state>\n <div [attr.data-hidden]=\"!gridData?.length || serverError\">\n\n <p-table #employeeDependentTable [value]=\"gridData\" [columns]=\"gridColumns\" dataKey=\"id\" [lazy]=\"true\"\n [scrollable]=\"true\" [resizableColumns]=\"true\" sortMode=\"multiple\" [paginator]=\"true\"\n [totalRecords]=\"totalRecords\" [multiSortMeta]=\"getSortField()\" [first]=\"getRowIndex()\"\n [rows]=\"getPageSize()\" [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n (onLazyLoad)=\"onGridChange($event)\">\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\">\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th *ngFor=\"let col of columns\" [pSortableColumn]=\"col.field\"\n pResizableColumn>\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{col.header}}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th pResizableColumn scope=\"col\" *ngIf=\"this.permissions.excluir\">\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{'hcm_contract.employment_contract.actions' |\n translate}}</span>\n </div>\n </th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns>\n <tr [pSelectableRow]=\"rowData\">\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.codPes'))}}</span>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.nomPes')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td>\n <div [ngSwitch]=\"getProp(rowData, 'dependent.graPde') || ('hcm_contract.employment_contract.list_grid_empty_field' | translate)\">\n <span *ngSwitchCase=\"'SON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON\" | translate}}</span>\n <span *ngSwitchCase=\"'SPOUSE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SPOUSE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDFATHER_GRANDMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDFATHER_GRANDMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'NEPHEW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_NEPHEW\" | translate}}</span>\n <span *ngSwitchCase=\"'UNCLE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_UNCLE\" | translate}}</span>\n <span *ngSwitchCase=\"'GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'SON_IN_LAW_DAOUGHTER_IN_LAW'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SON_IN_LAW_DAOUGHTER_IN_LAW\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPSON\" | translate}}</span>\n <span *ngSwitchCase=\"'BROTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_BROTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'ADOPTED_CHILD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_ADOPTED_CHILD\" | translate}}</span>\n <span *ngSwitchCase=\"'PENSIONERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_PENSIONERS\" | translate}}</span>\n <span *ngSwitchCase=\"'COMPANION'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_COMPANION\" | translate}}</span>\n <span *ngSwitchCase=\"'GUARDIANSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GUARDIANSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'MINOR_UNDER_GUARD'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_MINOR_UNDER_GUARD\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPMOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPMOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'STEPFATHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_STEPFATHER\" | translate}}</span>\n <span *ngSwitchCase=\"'TUTOR'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_TUTOR\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_EXPOSED'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_EXPOSED\" | translate}}</span>\n <span *ngSwitchCase=\"'GREAT_GRANDSON'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_GREAT_GRANDSON\" | translate}}</span>\n <span *ngSwitchCase=\"'EX_PARTNER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_EX_PARTNER\" | translate}}</span>\n <span *ngSwitchCase=\"'CONCUBINE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CONCUBINE\" | translate}}</span>\n <span *ngSwitchCase=\"'CURATORSHIP'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_CURATORSHIP\" | translate}}</span>\n <span *ngSwitchCase=\"'SOCIOAFFECTIVE'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_SOCIOAFFECTIVE\" | translate}}</span>\n <span *ngSwitchCase=\"'FATHER_MOTHER'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_FATHER_MOTHER\" | translate}}</span>\n <span *ngSwitchCase=\"'OTHERS'\">{{ \"hcm_contract.employment_contract.employee_dependent_kinship_degree_OTHERS\" | translate}}</span>\n <span *ngSwitchDefault>{{ \"hcm_contract.employment_contract.list_grid_empty_field\" | translate}}</span>\n </div>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.intNet')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td>\n <span>{{\"\" + (getProp(rowData, 'dependent.fonPes')|| ('hcm_contract.employment_contract.list_grid_empty_field' | translate))}}</span>\n </td>\n <td class=\"txt-center\" tabindex=\"0\" *ngIf=\"this.permissions.editar && this.permissions.excluir\">\n <s-button label=\"{{'hcm_contract.employment_contract.admission_generic_actions' | translate}}\"\n priority=\"default\" [model]=\"getActions(rowData)\" [disabled]=\"false\" [auxiliary]=\"true\"></s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'hcm_contract.employment_contract.total_records'\"\n [translateParams]=\"{value: totalRecords}\">\n </span>\n </ng-template>\n </p-table>\n </div>\n </p-tabPanel>\n <p-tabPanel\n [header]=\"'hcm_contract.employment_contract.employee_dependent_draft_title_header' | translate\">\n <app-dependent-list-draft\n (addButtonClicked)=\"onAddDependent()\"\n [employeeId]=\"_employeeId\"\n [closeSideBar]=\"closeSideBar\"\n [admissionDraftId]=\"_admissionDraftId\"\n (onEdit)=\"onEditDraft($event)\">\n </app-dependent-list-draft>\n </p-tabPanel>\n </p-tabView>\n</p-panel>\n<p-dialog header=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_title' | translate }}\"\n[draggable]=\"false\" [modal]=\"true\"\n[(visible)]=\"showDialog\" [closable]=\"false\">\n <form class=\"ui-fluid\" [formGroup]=\"formGroup\">\n <div class=\"radio-buttons required ui-lg-12\" style=\"margin-bottom: 20px;\">\n <label id=\"registerMethod\">{{ 'hcm_contract.employment_contract.employee_dependent_register_method_label' | translate }}</label>\n <div><p-radioButton name=\"registerMethod\" formControlName=\"registerMethod\"\n value=\"newRegister\"\n label=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_create_data' | translate}}\"></p-radioButton></div>\n <div><p-radioButton\n name=\"registerMethod\" formControlName=\"registerMethod\"\n value=\"existing\"\n label=\"{{ 'hcm_contract.employment_contract.employee_dependent_register_method_existing_data' | translate}}\"></p-radioButton></div>\n <s-control-errors\n id=\"er-registerMethod\"\n [control]=\"formGroup.get('registerMethod')\"\n [errorMessages]=\"{\n required: 'hcm_contract.employment_contract.admission_generic_field_validator_required' | translate\n }\"\n ></s-control-errors>\n </div>\n\n <div class=\"ui-lg-12\">\n <div class=\"person-label\">\n <label for=\"personLabel\">{{'hcm_contract.employment_contract.data_person_id_lookup_title' | translate}}</label>\n <span\n id=\"personLabel\"\n class=\"fa fa-info-circle\"\n [pTooltip]=\"'hcm_contract.employment_contract.employee_dependent_tooltip_person' | translate\">\n </span>\n </div>\n <div class=\"{{personClass}}\">\n <fnd-person-lookup [formGroup]=\"formGroup\" [locale]=\"localeConfig\"></fnd-person-lookup>\n <s-control-errors\n id=\"er-person\"\n [control]=\"formGroup.get('person')\"\n [errorMessages]=\"{\n required: 'hcm_contract.employment_contract.admission_generic_field_validator_required' | translate\n }\"\n ></s-control-errors>\n </div>\n </div>\n </form>\n <p-footer>\n <s-button\n [label]=\"'hcm_contract.employment_contract.employee_dependent_next' | translate\"\n priority=\"primary\" (onClick)=\"sendToForm()\">\n </s-button>\n <s-button\n [label]=\"'hcm_contract.employment_contract.cancel' | translate\"\n priority=\"secondary\"\n (onClick)=\"onCancel()\">\n </s-button>\n </p-footer>\n</p-dialog>\n<p-confirmDialog></p-confirmDialog>\n<fnd-employee-dependent-form [employeeId]=\"_employeeId\" [admissionDraft]=\"_admissionDraftId\" [closeSideBar]=\"closeSideBar\"></fnd-employee-dependent-form>\n<s-exclusion-details></s-exclusion-details>\n",
|
|
350
365
|
styles: [".radio-buttons{display:flex;flex-direction:column;gap:6px}.person-label{display:flex;gap:5px;align-items:center}"]
|
|
351
366
|
})
|
|
352
367
|
], EmployeeDependentListComponent);
|
|
353
368
|
return EmployeeDependentListComponent;
|
|
354
369
|
}());
|
|
355
370
|
export { EmployeeDependentListComponent };
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvbGlzdC9lbXBsb3llZS1kZXBlbmRlbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzFILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsdUJBQXVCLEVB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WCw4QkFBOEI7UUFOMUMsU0FBUyxDQUFDO1lBQ1AsOENBQThDO1lBQzlDLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsdzRiQUF1RDs7U0FFMUQsQ0FBQztPQUNXLDhCQUE4QixDQThWMUM7SUFBRCxxQ0FBQztDQUFBLEFBOVZELElBOFZDO1NBOVZZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQsIE1lbnVJdGVtLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEVtcGxveWVlRGVwZW5kZW50TGlzdER0byB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudGl0aWVzL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlLWR0b1wiO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9mb2N1cy9mb2N1cy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZVwiO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3N0b3JhZ2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgc2V0VmFsaWRhdG9yIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiBcImZuZC1lbXBsb3llZS1kZXBlbmRlbnRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VtcGxveWVlLWRlcGVuZGVudC1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2VtcGxveWVlLWRlcGVuZGVudC1saXN0LmNvbXBvbmVudC5jc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlRGVwZW5kZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBlbXBsb3llZUlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZW1wbG95ZWVJZCA9IGlkO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgX2VtcGxveWVlSWQ6IHN0cmluZztcbiAgICBwdWJsaWMgY2xvc2VTaWRlQmFyID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIHB1YmxpYyBwZXJzb25JZDtcbiAgICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdO1xuICAgIHB1YmxpYyBncmlkQ29sdW1uczogYW55W107XG4gICAgcHVibGljIGZpbHRlckZpZWxkcyA9IFtdO1xuXG4gICAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgICBwdWJsaWMgbG9jYWxlQ29uZmlnOiBhbnkgPSB7fTtcbiAgICBwdWJsaWMgcGVyc29uQ2xhc3MgPSBcIlwiO1xuXG4gICAgQFZpZXdDaGlsZChcImVtcGxveWVlRGVwZW5kZW50VGFibGVcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgcHVibGljIHRhYmxlOiBUYWJsZTtcblxuICAgIHB1YmxpYyBwZXJtaXNzaW9uczogYW55ID0ge307XG4gICAgcHVibGljIGFsbFBlcm1pc3Npb25zOiBhbnkgPSB7IH07XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuICAgIHB1YmxpYyBjdXJyZW50TGlzdFBhcmFtczogYW55ID0geyBwYWdlOiAwLCBzaXplOiAxMCwgc29ydDogW10sIGZpbHRlckRhdGE6IHt9IH07XG4gICAgcHVibGljIHRvdGFsUmVjb3JkcyA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c1NlcnZpY2U6IEZvY3VzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBwYWdpbmF0b3JTdG9yYWdlU2VydmljZTogUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlOiBFbXBsb3llZURlcGVuZGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVWYWx1ZXNJbkZvcm1BbmRFdmVudHMoKTtcbiAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5kYXRhLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB0aGlzLm9uUm91dGVEYXRhQ2hhbmdlKGRhdGEpKTtcbiAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyA9IHRoaXMuZ2V0R3JpZENvbHVtbnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUZvcm1Hcm91cCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHBlcnNvbjogW3sgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlIH0sIFZhbGlkYXRvcnMuY29tcG9zZShbXSldLFxuICAgICAgICAgICAgcmVnaXN0ZXJNZXRob2Q6IFt7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogZmFsc2UgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Sb3V0ZURhdGFDaGFuZ2UoZGF0YTogYW55KSB7XG4gICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgIHRoaXMuYWxsUGVybWlzc2lvbnMgPSBkYXRhLmFsbFBlcm1pc3Npb25zO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb25zID0gZGF0YS5hbGxQZXJtaXNzaW9ucz8uZW1wbG95ZWVEZXBlbmRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdyaWRDb2x1bW5zKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXBlbmRlbnQuY29kUGVzXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZV8wMDFfcGVzX2NvZF9wZXNcIiksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlcGVuZGVudC5ub21QZXNcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lXzAwMV9wZXNfbm9tX3Blc1wiKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVwZW5kZW50LmdyYVBhclwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9saXN0X2tpbnNoaXBcIiksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlcGVuZGVudC5pbnROZXRcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfbGlzdF9lbWFpbFwiKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXBlbmRlbnQuZm9uUGVzXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2xpc3RfcGhvbmVOdW1iZXJcIiksXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlVmFsdWVzSW5Gb3JtQW5kRXZlbnRzKCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJyZWdpc3Rlck1ldGhvZFwiKS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLm9uUmVnaXN0ZXJNZXRob2QodmFsdWUpKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwicGVyc29uXCIpLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXMucGVyc29uSWQgPSB2YWx1ZT8uaWQpO1xuICAgICAgICB0aGlzLmNsb3NlU2lkZUJhclxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAodmFsdWUpID0+ICEhdmFsdWUpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25SZWdpc3Rlck1ldGhvZCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInBlcnNvblwiKS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgaWYgKHZhbHVlID09PSBcIm5ld1JlZ2lzdGVyXCIpIHtcbiAgICAgICAgICAgIHNldFZhbGlkYXRvcih0aGlzLmZvcm1Hcm91cCwgXCJwZXJzb25cIiwgW10pO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwicGVyc29uXCIpLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFZhbGlkYXRvcih0aGlzLmZvcm1Hcm91cCwgXCJwZXJzb25cIiwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICAgICAgICAgIHRoaXMucGVyc29uQ2xhc3MgPSBcInJlcXVpcmVkXCI7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJwZXJzb25cIikuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U29ydEZpZWxkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zb3J0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYWdlU2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc2l6ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Um93SW5kZXgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnBhZ2UgKiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNpemU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uR3JpZENoYW5nZShldmVudDogTGF6eUxvYWRFdmVudCkge1xuICAgICAgICBjb25zdCBzaXplID0gZXZlbnQucm93cztcbiAgICAgICAgY29uc3QgcGFnZSA9IGV2ZW50LmZpcnN0IC8gc2l6ZTtcbiAgICAgICAgY29uc3Qgc29ydCA9IGV2ZW50Lm11bHRpU29ydE1ldGE7XG5cbiAgICAgICAgaWYgKHNpemUgIT09IDEwIHx8IHBhZ2UgIT09IDAgfHwgc29ydD8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3JTdG9yYWdlU2VydmljZS5zdG9yZVBhZ2luYXRvcihcIkFubm90YXRpb25IaXN0b3J5TGlzdENvbXBvbmVudFBhZ2luYXRvclwiLCB7IHBhZ2UsIHNpemUsIHNvcnQgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVHcmlkKHsgcGFnZSwgc2l6ZSwgc29ydCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRHcmlkKGxpc3RQYXJhbXM/OiBMaXN0UGFyYW1zKSB7XG4gICAgICAgIGlmIChsaXN0UGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCAuLi5saXN0UGFyYW1zIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgcGFnZTogMCwgc29ydDogW10gfTtcbiAgICAgICAgdGhpcy50YWJsZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlR3JpZChsaXN0UGFyYW1zOiBMaXN0UGFyYW1zID0ge30pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9lbXBsb3llZUlkKSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIC4uLmxpc3RQYXJhbXMgfTtcbiAgICAgICAgY29uc3QgeyBwYWdlLCBzaXplLCBmaWx0ZXJEYXRhIH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuICAgICAgICBsZXQgeyBzb3J0IH0gPSB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zO1xuXG4gICAgICAgIGxldCBmaWx0ZXJRdWVyeSA9IHRoaXMuZmlsdGVyRmllbGRzXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gISFmaWx0ZXJEYXRhW25hbWVdKVxuICAgICAgICAgICAgLm1hcCgoeyBuYW1lLCB0eXBlLCBtdWx0aXBsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJEYXRhW25hbWVdO1xuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJHt2YWx1ZX1gO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLkRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKX0nYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5UaW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tOnNzXCIpfSdgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLkRhdGVUaW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgpfSdgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLlN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcodXBwZXIoJHtuYW1lfSksIHVwcGVyKCcke3ZhbHVlLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKX0nKSlgO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLkVudW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW51bVF1ZXJ5KG5hbWUsIHZhbHVlLCBtdWx0aXBsZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuTG9va3VwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHt2YWx1ZS5pZH0nYDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWV9J2A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5qb2luKFwiIGFuZCBcIik7XG5cbiAgICAgICAgY29uc3QgZW1wbG95ZWVGaWx0ZXIgPSBgZW1wbG95ZWUuaWQgZXEgJyR7dGhpcy5fZW1wbG95ZWVJZH0nYDtcbiAgICAgICAgZmlsdGVyUXVlcnkgPSBmaWx0ZXJRdWVyeSA/IGAoJHtmaWx0ZXJRdWVyeX0pIGFuZCAoJHtlbXBsb3llZUZpbHRlcn0pYCA6IGVtcGxveWVlRmlsdGVyO1xuICAgICAgICBjb25zdCBkaXNwbGF5RmllbGRzID0gW1wiZW1wbG95ZWUucGVyc29uLipcIiwgXCJkZXBlbmRlbnQuKlwiXTtcbiAgICAgICAgaWYgKCFzb3J0KSB7XG4gICAgICAgICAgICBzb3J0ID0gW3sgZmllbGQ6IFwibGFzdE1vZGlmaWVkRGF0ZVwiLCBvcmRlcjogLTEgfV07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZVxuICAgICAgICAgICAgLmxpc3QoeyBwYWdlLCBzaXplLCBzb3J0LCBmaWx0ZXJRdWVyeSwgZGlzcGxheUZpZWxkcyB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPj0gNTAwICYmIGVyci5zdGF0dXMgPCA2MDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ncmlkRGF0YSA9IGxpc3QuY29udGVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSBsaXN0LnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3Aob2JqOiBhbnksIHBhdGg6IGFueSkge1xuICAgICAgICByZXR1cm4gcGF0aC5zcGxpdChcIi5cIikucmVkdWNlKChyZXN1bHQ6IGFueSwgcHJvcDogYW55KSA9PiAocmVzdWx0W3Byb3BdID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmVzdWx0W3Byb3BdKSwgb2JqKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVudW1RdWVyeShuYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIG11bHRpcGxlOiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiBtdWx0aXBsZSA/IGAoJHt2YWx1ZS5tYXAoKHNlbGVjdGVkOiBhbnkpID0+IGAke25hbWV9IGVxICcke3NlbGVjdGVkfSdgKS5qb2luKFwiIG9yIFwiKX0pYCA6IGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9jdXNTZXJ2aWNlLmZvY3VzRmlyc3RJbnZhbGlkSW5wdXQoKTtcbiAgICAgICAgLyp7Q0E6Rk9DVVNfRklSU1RfSU5WQUxJRDpTVEFSVH0qL1xuICAgICAgICAvKntDQTpGT0NVU19GSVJTVF9JTlZBTElEOkVORH0qL1xuICAgIH1cblxuICAgIHB1YmxpYyBzZW5kVG9Gb3JtKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNob3dEaWFsb2cgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZS5zZXRPcGVuU2lkZUJhckFuZFN0YXJ0Rm9ybSh7XG4gICAgICAgICAgICAgICAgZGVwZW5kZW50SWQ6IG51bGwsXG4gICAgICAgICAgICAgICAgcGVyc29uSWQ6IHRoaXMucGVyc29uSWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWRkRGVwZW5kZW50KCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5yZXNldCgpO1xuICAgICAgICB0aGlzLm9uUmVnaXN0ZXJNZXRob2QoXCJuZXdSZWdpc3RlclwiKTtcbiAgICAgICAgdGhpcy5zaG93RGlhbG9nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRGVsZXRlKHJvdzogRW1wbG95ZWVEZXBlbmRlbnRMaXN0RHRvKSB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLmRlbGV0ZShyb3cuaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiBcImluZm9cIixcbiAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmRlbGV0ZWRfbWVzc2FnZV90aXRsZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZXhjbHVzaW9uX3Byb2Nlc3Nfc3RhcnRlZF9tZXNzYWdlX2NvbnRlbnRcIiksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkVkaXQocm93OiBFbXBsb3llZURlcGVuZGVudExpc3REdG8pIHtcbiAgICAgICAgdGhpcy5wZXJzb25JZCA9IHJvdz8uZGVwZW5kZW50Py5pZDtcbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2Uuc2V0T3BlblNpZGVCYXJBbmRTdGFydEZvcm0oe1xuICAgICAgICAgICAgZGVwZW5kZW50SWQ6IHJvdz8uaWQsXG4gICAgICAgICAgICBwZXJzb25JZDogdGhpcy5wZXJzb25JZCxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjdGlvbnMocm93czogYW55KTogTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZWRpdFwiKSxcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FZGl0KHJvd3MpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlkOiBcIjJcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmxvZ2ljYWxfZGVsZXRlXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlLmNvbmZpcm0oe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9kZWxldGVfY29uZmlybWF0aW9uX21lc3NhZ2VcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3RMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX25vXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZ2VuZXJpY195ZXNcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5hZG1pc3Npb25fZGVsZXRlX2NvbmZpcm1hdGlvbl90aXRsZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUocm93cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblJlY29yZEV4Y2x1c2lvbnMoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgICAgW1wiZGVwZW5kZW50c1wiLCBcImV4Y2x1c2lvbnMtbGlzdFwiXSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICBlbnRpdHlOYW1lOiBcImVtcGxveWVlRGVwZW5kZW50XCIsXG4gICAgICAgICAgICAgICAgICAgIGVudGl0eURlc2NyaXB0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50XCIpLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzUGVybWlzc2lvblRvU2VlRXhjbHVzaW9ucygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsUGVybWlzc2lvbnMuZXhjbHVzaW9uUHJvY2Vzc1N0ZXAudmlzdWFsaXphciAmJiB0aGlzLmFsbFBlcm1pc3Npb25zLmV4Y2x1c2lvblByb2Nlc3NTdGVwR3JvdXAudmlzdWFsaXphcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0T3RoZXJBY3Rpb25zKCk6IE1lbnVJdGVtW10ge1xuICAgICAgICBjb25zdCBvdGhlckFjdGlvbnM6IE1lbnVJdGVtW10gPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5oYXNQZXJtaXNzaW9uVG9TZWVFeGNsdXNpb25zKCkpIHtcbiAgICAgICAgICAgIG90aGVyQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICBpZDogXCJ2aWV3LWV4Y2x1c2lvbnNcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LnNlZV9leGNsdXNpb25zXCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHsgdGhpcy5vcGVuUmVjb3JkRXhjbHVzaW9ucygpIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG90aGVyQWN0aW9ucztcbiAgICB9XG5cbn1cbiJdfQ==
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtZGVwZW5kZW50LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9oY20tY29udHJhY3QtZW1wbG95ZWUtaGlzdG9yeS8iLCJzb3VyY2VzIjpbImxpYi9lbXBsb3llZS1kZXBlbmRlbnQvbGlzdC9lbXBsb3llZS1kZXBlbmRlbnQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTNGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzFILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsdUJBQXVCLEVB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QUFXO2dCQUNDLGlCQUFpQjtnQkFDbkIsWUFBWTtnQkFDRCx1QkFBdUI7Z0JBQ3RCLHdCQUF3QjtnQkFDbEMsY0FBYztnQkFDQSxtQkFBbUI7Z0JBQ3hCLGNBQWM7Z0JBQzdCLE1BQU07O0lBNUM1QjtRQURDLEtBQUssRUFBRTtvRUFJUDtJQUVEO1FBREMsS0FBSyxFQUFFOzBFQUdQO0lBa0JEO1FBREMsU0FBUyxDQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO2lFQUNuQztJQTVCWCw4QkFBOEI7UUFOMUMsU0FBUyxDQUFDO1lBQ1AsOENBQThDO1lBQzlDLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsNjNlQUF1RDs7U0FFMUQsQ0FBQztPQUNXLDhCQUE4QixDQXlXMUM7SUFBRCxxQ0FBQztDQUFBLEFBeldELElBeVdDO1NBeldZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIExhenlMb2FkRXZlbnQsIE1lbnVJdGVtLCBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgVGFibGUgfSBmcm9tIFwicHJpbWVuZy90YWJsZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEVtcGxveWVlRGVwZW5kZW50TGlzdER0byB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2VudGl0aWVzL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlL2VtcGxveWVlLWRlcGVuZGVudC1jb3JlLWR0b1wiO1xuaW1wb3J0IHsgRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZW50aXRpZXMvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUvZW1wbG95ZWUtZGVwZW5kZW50LWNvcmUuc2VydmljZVwiO1xuaW1wb3J0IHsgRm9jdXNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9mb2N1cy9mb2N1cy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMaXN0UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZVwiO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL3N0b3JhZ2UvcGFnaW5hdG9yLXN0b3JhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHsgc2V0VmFsaWRhdG9yIH0gZnJvbSBcIi4uLy4uL3V0aWxzL2hlbHBlcnNcIjtcblxuY29uc3QgbW9tZW50ID0gbW9tZW50XztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiBcImZuZC1lbXBsb3llZS1kZXBlbmRlbnRcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VtcGxveWVlLWRlcGVuZGVudC1saXN0LmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL2VtcGxveWVlLWRlcGVuZGVudC1saXN0LmNvbXBvbmVudC5jc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIEVtcGxveWVlRGVwZW5kZW50TGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBlbXBsb3llZUlkKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZW1wbG95ZWVJZCA9IGlkO1xuICAgICAgICB0aGlzLnVwZGF0ZUdyaWQoKTtcbiAgICB9XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGFkbWlzc2lvbkRyYWZ0SWQoaWQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9hZG1pc3Npb25EcmFmdElkID0gaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIF9lbXBsb3llZUlkOiBzdHJpbmc7XG4gICAgcHVibGljIF9hZG1pc3Npb25EcmFmdElkOiBzdHJpbmc7XG4gICAgcHVibGljIGNsb3NlU2lkZUJhciA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBwdWJsaWMgcGVyc29uSWQ7XG4gICAgcHVibGljIGdyaWREYXRhOiBhbnlbXTtcbiAgICBwdWJsaWMgZ3JpZENvbHVtbnM6IGFueVtdO1xuICAgIHB1YmxpYyBmaWx0ZXJGaWVsZHMgPSBbXTtcblxuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gICAgcHVibGljIHNlcnZlckVycm9yID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dEaWFsb2cgPSBmYWxzZTtcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGxvY2FsZUNvbmZpZzogYW55ID0ge307XG4gICAgcHVibGljIHBlcnNvbkNsYXNzID0gXCJcIjtcblxuICAgIEBWaWV3Q2hpbGQoXCJlbXBsb3llZURlcGVuZGVudFRhYmxlXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyB0YWJsZTogVGFibGU7XG5cbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xuICAgIHB1YmxpYyBhbGxQZXJtaXNzaW9uczogYW55ID0geyB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgICBwdWJsaWMgY3VycmVudExpc3RQYXJhbXM6IGFueSA9IHsgcGFnZTogMCwgc2l6ZTogMTAsIHNvcnQ6IFtdLCBmaWx0ZXJEYXRhOiB7fSB9O1xuICAgIHB1YmxpYyB0b3RhbFJlY29yZHMgPSAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNTZXJ2aWNlOiBGb2N1c1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcGFnaW5hdG9yU3RvcmFnZVNlcnZpY2U6IFBhZ2luYXRvclN0b3JhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVtcGxveWVlRGVwZW5kZW50U2VydmljZTogRW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICkge1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwKCk7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlVmFsdWVzSW5Gb3JtQW5kRXZlbnRzKCk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuZGF0YS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4gdGhpcy5vblJvdXRlRGF0YUNoYW5nZShkYXRhKSk7XG4gICAgICAgIHRoaXMuZ3JpZENvbHVtbnMgPSB0aGlzLmdldEdyaWRDb2x1bW5zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVGb3JtR3JvdXAoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBwZXJzb246IFt7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZSB9LCBWYWxpZGF0b3JzLmNvbXBvc2UoW10pXSxcbiAgICAgICAgICAgIHJlZ2lzdGVyTWV0aG9kOiBbeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IGZhbHNlIH0sIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm91dGVEYXRhQ2hhbmdlKGRhdGE6IGFueSkge1xuICAgICAgICB0aGlzLmxvY2FsZUNvbmZpZyA9IGRhdGEubG9jYWxlQ29uZmlnO1xuICAgICAgICB0aGlzLmFsbFBlcm1pc3Npb25zID0gZGF0YS5hbGxQZXJtaXNzaW9ucztcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGRhdGEuYWxsUGVybWlzc2lvbnM/LmVtcGxveWVlRGVwZW5kZW50O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRHcmlkQ29sdW1ucygpOiBhbnlbXSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVwZW5kZW50LmNvZFBlc1wiLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVfMDAxX3Blc19jb2RfcGVzXCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXBlbmRlbnQubm9tUGVzXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZV8wMDFfcGVzX25vbV9wZXNcIiksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBcImRlcGVuZGVudC5ncmFQYXJcIixcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRfbGlzdF9raW5zaGlwXCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogXCJkZXBlbmRlbnQuaW50TmV0XCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuZW1wbG95ZWVfZGVwZW5kZW50X2xpc3RfZW1haWxcIilcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGQ6IFwiZGVwZW5kZW50LmZvblBlc1wiLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmVtcGxveWVlX2RlcGVuZGVudF9saXN0X3Bob25lTnVtYmVyXCIpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZVZhbHVlc0luRm9ybUFuZEV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwicmVnaXN0ZXJNZXRob2RcIikudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vblJlZ2lzdGVyTWV0aG9kKHZhbHVlKSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInBlcnNvblwiKS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzLnBlcnNvbklkID0gdmFsdWU/LmlkKTtcbiAgICAgICAgdGhpcy5jbG9zZVNpZGVCYXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKHZhbHVlKSA9PiAhIXZhbHVlKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVnaXN0ZXJNZXRob2QodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJwZXJzb25cIikuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJuZXdSZWdpc3RlclwiKSB7XG4gICAgICAgICAgICBzZXRWYWxpZGF0b3IodGhpcy5mb3JtR3JvdXAsIFwicGVyc29uXCIsIFtdKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInBlcnNvblwiKS5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRWYWxpZGF0b3IodGhpcy5mb3JtR3JvdXAsIFwicGVyc29uXCIsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgICAgICAgICB0aGlzLnBlcnNvbkNsYXNzID0gXCJyZXF1aXJlZFwiO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwicGVyc29uXCIpLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNvcnRGaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudExpc3RQYXJhbXMuc29ydDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFnZVNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zLnNpemU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvd0luZGV4KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5wYWdlICogdGhpcy5jdXJyZW50TGlzdFBhcmFtcy5zaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkdyaWRDaGFuZ2UoZXZlbnQ6IExhenlMb2FkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBldmVudC5maXJzdCAvIHNpemU7XG4gICAgICAgIGNvbnN0IHNvcnQgPSBldmVudC5tdWx0aVNvcnRNZXRhO1xuXG4gICAgICAgIGlmIChzaXplICE9PSAxMCB8fCBwYWdlICE9PSAwIHx8IHNvcnQ/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yU3RvcmFnZVNlcnZpY2Uuc3RvcmVQYWdpbmF0b3IoXCJBbm5vdGF0aW9uSGlzdG9yeUxpc3RDb21wb25lbnRQYWdpbmF0b3JcIiwgeyBwYWdlLCBzaXplLCBzb3J0IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBkYXRlR3JpZCh7IHBhZ2UsIHNpemUsIHNvcnQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0R3JpZChsaXN0UGFyYW1zPzogTGlzdFBhcmFtcykge1xuICAgICAgICBpZiAobGlzdFBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TGlzdFBhcmFtcyA9IHsgLi4udGhpcy5jdXJyZW50TGlzdFBhcmFtcywgLi4ubGlzdFBhcmFtcyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudExpc3RQYXJhbXMgPSB7IC4uLnRoaXMuY3VycmVudExpc3RQYXJhbXMsIHBhZ2U6IDAsIHNvcnQ6IFtdIH07XG4gICAgICAgIHRoaXMudGFibGUucmVzZXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUdyaWQobGlzdFBhcmFtczogTGlzdFBhcmFtcyA9IHt9KSB7XG4gICAgICAgIGlmICghdGhpcy5fZW1wbG95ZWVJZCkge1xuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJFcnJvciA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmN1cnJlbnRMaXN0UGFyYW1zID0geyAuLi50aGlzLmN1cnJlbnRMaXN0UGFyYW1zLCAuLi5saXN0UGFyYW1zIH07XG4gICAgICAgIGNvbnN0IHsgcGFnZSwgc2l6ZSwgZmlsdGVyRGF0YSB9ID0gdGhpcy5jdXJyZW50TGlzdFBhcmFtcztcbiAgICAgICAgbGV0IHsgc29ydCB9ID0gdGhpcy5jdXJyZW50TGlzdFBhcmFtcztcblxuICAgICAgICBsZXQgZmlsdGVyUXVlcnkgPSB0aGlzLmZpbHRlckZpZWxkc1xuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+ICEhZmlsdGVyRGF0YVtuYW1lXSlcbiAgICAgICAgICAgIC5tYXAoKHsgbmFtZSwgdHlwZSwgbXVsdGlwbGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZmlsdGVyRGF0YVtuYW1lXTtcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICR7dmFsdWV9YDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5EYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtuYW1lfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdChcIllZWVktTU0tRERcIil9J2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBGaWVsZFR5cGUuVGltZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoXCJISDptbTpzc1wiKX0nYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5EYXRlVGltZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7bW9tZW50KHZhbHVlKS5mb3JtYXQoKX0nYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5TdHJpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGBjb250YWluaW5nKHVwcGVyKCR7bmFtZX0pLCB1cHBlcignJHt2YWx1ZS5yZXBsYWNlKC8nL2csIFwiXFxcXCdcIil9JykpYDtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IEZpZWxkVHlwZS5FbnVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVudW1RdWVyeShuYW1lLCB2YWx1ZSwgbXVsdGlwbGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gRmllbGRUeXBlLkxvb2t1cCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZX0gZXEgJyR7dmFsdWUuaWR9J2A7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbihcIiBhbmQgXCIpO1xuXG4gICAgICAgIGNvbnN0IGVtcGxveWVlRmlsdGVyID0gYGVtcGxveWVlLmlkIGVxICcke3RoaXMuX2VtcGxveWVlSWR9J2A7XG4gICAgICAgIGZpbHRlclF1ZXJ5ID0gZmlsdGVyUXVlcnkgPyBgKCR7ZmlsdGVyUXVlcnl9KSBhbmQgKCR7ZW1wbG95ZWVGaWx0ZXJ9KWAgOiBlbXBsb3llZUZpbHRlcjtcbiAgICAgICAgY29uc3QgZGlzcGxheUZpZWxkcyA9IFtcImVtcGxveWVlLnBlcnNvbi4qXCIsIFwiZGVwZW5kZW50LipcIl07XG4gICAgICAgIGlmICghc29ydCkge1xuICAgICAgICAgICAgc29ydCA9IFt7IGZpZWxkOiBcImxhc3RNb2RpZmllZERhdGVcIiwgb3JkZXI6IC0xIH1dO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0KHsgcGFnZSwgc2l6ZSwgc29ydCwgZmlsdGVyUXVlcnksIGRpc3BsYXlGaWVsZHMgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuc3RhdHVzID49IDUwMCAmJiBlcnIuc3RhdHVzIDwgNjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZlckVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSBsaXN0LmNvbnRlbnRzO1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcm9wKG9iajogYW55LCBwYXRoOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHBhdGguc3BsaXQoXCIuXCIpLnJlZHVjZSgocmVzdWx0OiBhbnksIHByb3A6IGFueSkgPT4gKHJlc3VsdFtwcm9wXSA9PT0gdW5kZWZpbmVkID8gXCJcIiA6IHJlc3VsdFtwcm9wXSksIG9iaik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFbnVtUXVlcnkobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55LCBtdWx0aXBsZTogYm9vbGVhbikge1xuICAgICAgICByZXR1cm4gbXVsdGlwbGUgPyBgKCR7dmFsdWUubWFwKChzZWxlY3RlZDogYW55KSA9PiBgJHtuYW1lfSBlcSAnJHtzZWxlY3RlZH0nYCkuam9pbihcIiBvciBcIil9KWAgOiBgJHtuYW1lfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZvY3VzU2VydmljZS5mb2N1c0ZpcnN0SW52YWxpZElucHV0KCk7XG4gICAgICAgIC8qe0NBOkZPQ1VTX0ZJUlNUX0lOVkFMSUQ6U1RBUlR9Ki9cbiAgICAgICAgLyp7Q0E6Rk9DVVNfRklSU1RfSU5WQUxJRDpFTkR9Ki9cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VuZFRvRm9ybSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93RGlhbG9nID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2Uuc2V0T3BlblNpZGVCYXJBbmRTdGFydEZvcm0oe1xuICAgICAgICAgICAgICAgIGRlcGVuZGVudElkOiBudWxsLFxuICAgICAgICAgICAgICAgIHBlcnNvbklkOiB0aGlzLnBlcnNvbklkLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFkZERlcGVuZGVudCgpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucmVzZXQoKTtcbiAgICAgICAgdGhpcy5vblJlZ2lzdGVyTWV0aG9kKFwibmV3UmVnaXN0ZXJcIik7XG4gICAgICAgIHRoaXMuc2hvd0RpYWxvZyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkRlbGV0ZShyb3c6IEVtcGxveWVlRGVwZW5kZW50TGlzdER0bykge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmVtcGxveWVlRGVwZW5kZW50U2VydmljZS5kZWxldGUocm93LmlkKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJpbmZvXCIsXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5kZWxldGVkX21lc3NhZ2VfdGl0bGVcIiksXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmV4Y2x1c2lvbl9wcm9jZXNzX3N0YXJ0ZWRfbWVzc2FnZV9jb250ZW50XCIpLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25FZGl0KHJvdzogRW1wbG95ZWVEZXBlbmRlbnRMaXN0RHRvKSB7XG4gICAgICAgIHRoaXMucGVyc29uSWQgPSByb3c/LmRlcGVuZGVudD8uaWQ7XG4gICAgICAgIHRoaXMuZW1wbG95ZWVEZXBlbmRlbnRTZXJ2aWNlLnNldE9wZW5TaWRlQmFyQW5kU3RhcnRGb3JtKHtcbiAgICAgICAgICAgIGRlcGVuZGVudElkOiByb3c/LmlkLFxuICAgICAgICAgICAgcGVyc29uSWQ6IHRoaXMucGVyc29uSWQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkVkaXREcmFmdChkcmFmdElkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbXBsb3llZURlcGVuZGVudFNlcnZpY2Uuc2V0T3BlblNpZGVCYXJBbmRTdGFydEZvcm0oe1xuICAgICAgICAgICAgZGVwZW5kZW50RHJhZnRJZDogZHJhZnRJZFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWN0aW9ucyhyb3dzOiBhbnkpOiBNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpZDogXCIxXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lZGl0XCIpLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVkaXQocm93cyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IFwiMlwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QubG9naWNhbF9kZWxldGVcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2RlbGV0ZV9jb25maXJtYXRpb25fbWVzc2FnZVwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3QuYWRtaXNzaW9uX2dlbmVyaWNfbm9cIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9nZW5lcmljX3llc1wiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbV9jb250cmFjdC5lbXBsb3ltZW50X2NvbnRyYWN0LmFkbWlzc2lvbl9kZWxldGVfY29uZmlybWF0aW9uX3RpdGxlXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkRlbGV0ZShyb3dzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuUmVjb3JkRXhjbHVzaW9ucygpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXG4gICAgICAgICAgICBbXCJkZXBlbmRlbnRzXCIsIFwiZXhjbHVzaW9ucy1saXN0XCJdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGVudGl0eU5hbWU6IFwiZW1wbG95ZWVEZXBlbmRlbnRcIixcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5RGVzY3JpcHRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY21fY29udHJhY3QuZW1wbG95bWVudF9jb250cmFjdC5lbXBsb3llZV9kZXBlbmRlbnRcIiksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXNQZXJtaXNzaW9uVG9TZWVFeGNsdXNpb25zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hbGxQZXJtaXNzaW9ucy5leGNsdXNpb25Qcm9jZXNzU3RlcC52aXN1YWxpemFyICYmIHRoaXMuYWxsUGVybWlzc2lvbnMuZXhjbHVzaW9uUHJvY2Vzc1N0ZXBHcm91cC52aXN1YWxpemFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPdGhlckFjdGlvbnMoKTogTWVudUl0ZW1bXSB7XG4gICAgICAgIGNvbnN0IG90aGVyQWN0aW9uczogTWVudUl0ZW1bXSA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc1Blcm1pc3Npb25Ub1NlZUV4Y2x1c2lvbnMoKSkge1xuICAgICAgICAgICAgb3RoZXJBY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgIGlkOiBcInZpZXctZXhjbHVzaW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtX2NvbnRyYWN0LmVtcGxveW1lbnRfY29udHJhY3Quc2VlX2V4Y2x1c2lvbnNcIiksXG4gICAgICAgICAgICAgICAgY29tbWFuZDogKCkgPT4geyB0aGlzLm9wZW5SZWNvcmRFeGNsdXNpb25zKCl9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdGhlckFjdGlvbnM7XG4gICAgfVxuXG59XG4iXX0=
|