@senior-gestao-pessoas/payroll-core 9.8.0 → 9.9.0-feature-hcmgdp-12490-b88ad694
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-payroll-core.umd.js +618 -64
- package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
- package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
- package/components/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +2 -0
- package/components/transportation-voucher-scale-lookup/autocomplete.service.d.ts +31 -0
- package/components/transportation-voucher-scale-lookup/index.d.ts +5 -0
- package/components/transportation-voucher-scale-lookup/lookup.service.d.ts +47 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.d.ts +80 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.d.ts +8 -0
- package/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.d.ts +2 -0
- package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +87 -50
- package/esm2015/components/transportation-voucher-scale-lookup/autocomplete.service.js +114 -0
- package/esm2015/components/transportation-voucher-scale-lookup/index.js +6 -0
- package/esm2015/components/transportation-voucher-scale-lookup/lookup.service.js +147 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +215 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +17 -0
- package/esm2015/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +31 -0
- package/esm2015/public_api.js +2 -1
- package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +88 -50
- package/esm5/components/transportation-voucher-scale-lookup/autocomplete.service.js +128 -0
- package/esm5/components/transportation-voucher-scale-lookup/index.js +6 -0
- package/esm5/components/transportation-voucher-scale-lookup/lookup.service.js +152 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.component.js +223 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.dto.js +19 -0
- package/esm5/components/transportation-voucher-scale-lookup/transportation-voucher-scale-lookup.module.js +34 -0
- package/esm5/public_api.js +2 -1
- package/fesm2015/senior-gestao-pessoas-payroll-core.js +583 -66
- package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/fesm5/senior-gestao-pessoas-payroll-core.js +615 -66
- package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
- package/locale/en-US.json +5 -1
- package/locale/es-ES.json +5 -1
- package/locale/pt-BR.json +5 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
|
@@ -22,62 +22,97 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
22
22
|
InputRestAutoCompleteComponent.prototype.filterQuery = function (event) {
|
|
23
23
|
var _this = this;
|
|
24
24
|
var query = event.query;
|
|
25
|
-
if (!(isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
25
|
+
if (!(Number.isNaN(query) && query.toString().length < this.minCharactersToSearch)) {
|
|
26
26
|
try {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
referenceDate: this.referenceDate,
|
|
32
|
-
})
|
|
33
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
34
|
-
}
|
|
35
|
-
else if (this.isDismissalReason) {
|
|
36
|
-
var params = { valueSearch: query };
|
|
37
|
-
if (this.referenceDate) {
|
|
38
|
-
params['referenceDate'] = this.referenceDate;
|
|
39
|
-
}
|
|
40
|
-
return this.service
|
|
41
|
-
.query('autocompleteDismissalReason', params, ServiceType.GENERAL_REGISTER)
|
|
42
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
43
|
-
}
|
|
44
|
-
else if (this.usingType && this.usingType.length) {
|
|
45
|
-
return this.service
|
|
46
|
-
.query('autocompleteOtherCompanyFilterUsingType', {
|
|
47
|
-
searchText: query,
|
|
48
|
-
usingType: this.usingType,
|
|
49
|
-
})
|
|
50
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
51
|
-
}
|
|
52
|
-
else if (this.isDepartmentFromCompany) {
|
|
53
|
-
return this.service
|
|
54
|
-
.query('autocompleteDepartmentQuery', {
|
|
55
|
-
searchText: query,
|
|
56
|
-
companyId: this.companyId,
|
|
57
|
-
referenceDate: this.referenceDate,
|
|
58
|
-
})
|
|
59
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
60
|
-
}
|
|
61
|
-
else if (this.isSituationDefinition) {
|
|
62
|
-
var params = { searchText: query };
|
|
63
|
-
return this.service
|
|
64
|
-
.query('autocompleteSituationDefinitionQuery', params, ServiceType.ORGANIZATION_REGISTER)
|
|
65
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
66
|
-
}
|
|
67
|
-
else if (this.isWagetype) {
|
|
68
|
-
var params = { searchText: query, companyId: this.companyId };
|
|
69
|
-
return this.service
|
|
70
|
-
.query('autocompleteWagetypeQuery', params, ServiceType.ENTRY)
|
|
71
|
-
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
72
|
-
}
|
|
73
|
-
this.service
|
|
74
|
-
.query('autocomplete', this.getParamsRest(query), this.serviceType).subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
27
|
+
var queryConfig = this.getQueryConfiguration(query);
|
|
28
|
+
return this.service
|
|
29
|
+
.query(queryConfig.endpoint, queryConfig.params, queryConfig.serviceType)
|
|
30
|
+
.subscribe(function (payload) { return _this.formaterResponce(payload.result); });
|
|
75
31
|
}
|
|
76
32
|
catch (e) {
|
|
77
33
|
console.log(e);
|
|
78
34
|
}
|
|
79
35
|
}
|
|
80
36
|
};
|
|
37
|
+
InputRestAutoCompleteComponent.prototype.getQueryConfiguration = function (query) {
|
|
38
|
+
var _this = this;
|
|
39
|
+
var queryStrategies = [
|
|
40
|
+
{
|
|
41
|
+
condition: function () { return _this.isTimetrackingSituation; },
|
|
42
|
+
endpoint: 'autocompleteTimetrackingSituation',
|
|
43
|
+
params: function () { return ({
|
|
44
|
+
valueSearch: query,
|
|
45
|
+
referenceDate: _this.referenceDate,
|
|
46
|
+
}); },
|
|
47
|
+
serviceType: this.serviceType,
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
condition: function () { return _this.isDismissalReason; },
|
|
51
|
+
endpoint: 'autocompleteDismissalReason',
|
|
52
|
+
params: function () {
|
|
53
|
+
var params = { valueSearch: query };
|
|
54
|
+
if (_this.referenceDate) {
|
|
55
|
+
params['referenceDate'] = _this.referenceDate;
|
|
56
|
+
}
|
|
57
|
+
return params;
|
|
58
|
+
},
|
|
59
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
condition: function () { return _this.usingType && _this.usingType.length; },
|
|
63
|
+
endpoint: 'autocompleteOtherCompanyFilterUsingType',
|
|
64
|
+
params: function () { return ({
|
|
65
|
+
searchText: query,
|
|
66
|
+
usingType: _this.usingType,
|
|
67
|
+
}); },
|
|
68
|
+
serviceType: this.serviceType,
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
condition: function () { return _this.isDepartmentFromCompany; },
|
|
72
|
+
endpoint: 'autocompleteDepartmentQuery',
|
|
73
|
+
params: function () { return ({
|
|
74
|
+
searchText: query,
|
|
75
|
+
companyId: _this.companyId,
|
|
76
|
+
referenceDate: _this.referenceDate,
|
|
77
|
+
}); },
|
|
78
|
+
serviceType: this.serviceType,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
condition: function () { return _this.isSituationDefinition; },
|
|
82
|
+
endpoint: 'autocompleteSituationDefinitionQuery',
|
|
83
|
+
params: function () { return ({ searchText: query }); },
|
|
84
|
+
serviceType: ServiceType.ORGANIZATION_REGISTER,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
condition: function () { return _this.isWagetype; },
|
|
88
|
+
endpoint: 'autocompleteWagetypeQuery',
|
|
89
|
+
params: function () { return ({
|
|
90
|
+
searchText: query,
|
|
91
|
+
companyId: _this.companyId,
|
|
92
|
+
}); },
|
|
93
|
+
serviceType: ServiceType.ENTRY,
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
condition: function () { return _this.isTransportationVoucherScaleGroup; },
|
|
97
|
+
endpoint: 'autocompleteTransportationVoucherScaleGroupQuery',
|
|
98
|
+
params: function () { return ({ searchText: query }); },
|
|
99
|
+
serviceType: ServiceType.GENERAL_REGISTER,
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
var strategy = queryStrategies.find(function (s) { return s.condition(); });
|
|
103
|
+
if (strategy) {
|
|
104
|
+
return {
|
|
105
|
+
endpoint: strategy.endpoint,
|
|
106
|
+
params: strategy.params(),
|
|
107
|
+
serviceType: strategy.serviceType,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
endpoint: 'autocomplete',
|
|
112
|
+
params: this.getParamsRest(query),
|
|
113
|
+
serviceType: this.serviceType,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
81
116
|
InputRestAutoCompleteComponent.prototype.formaterResponce = function (result) {
|
|
82
117
|
var _this = this;
|
|
83
118
|
this.suggestions = [];
|
|
@@ -301,6 +336,9 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
301
336
|
tslib_1.__decorate([
|
|
302
337
|
Input()
|
|
303
338
|
], InputRestAutoCompleteComponent.prototype, "multiple", void 0);
|
|
339
|
+
tslib_1.__decorate([
|
|
340
|
+
Input()
|
|
341
|
+
], InputRestAutoCompleteComponent.prototype, "isTransportationVoucherScaleGroup", void 0);
|
|
304
342
|
tslib_1.__decorate([
|
|
305
343
|
Input()
|
|
306
344
|
], InputRestAutoCompleteComponent.prototype, "serviceType", void 0);
|
|
@@ -323,4 +361,4 @@ var InputRestAutoCompleteComponent = /** @class */ (function () {
|
|
|
323
361
|
return InputRestAutoCompleteComponent;
|
|
324
362
|
}());
|
|
325
363
|
export { InputRestAutoCompleteComponent };
|
|
326
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0Q7SUErRUUsd0NBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBbkR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxpREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLG9EQUFXLEdBQVgsVUFBWSxL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cEMsbW9DQUF3RDs7U0FFekQsQ0FBQztPQUNXLDhCQUE4QixDQTZQMUM7SUFBRCxxQ0FBQztDQUFBLEFBN1BELElBNlBDO1NBN1BZLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgX21vbWVudCwgaXNWYWxpZCB9IGZyb20gJy4uL3V0aWxzL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5wdXRSZXN0QXV0b0NvbXBsZXRlU2VydmljZSB9IGZyb20gJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL3NlcnZpY2VUeXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQ29uZGl0aW9ucyB7XG4gIGZpZWxkczogQXJyYXk8c3RyaW5nW10+O1xuICBmaWVsZFR5cGU6IHN0cmluZztcbiAgZXhwcmVzc2lvbjogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRSZXN0QXV0b0NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnYXV0b0NvbXBsZXRlT2JqZWN0JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgX2F1dG9Db21wbGV0ZU9iamVjdDogRWxlbWVudFJlZjtcbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICB0YWJsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBvcmRlcjogQXJyYXk8YW55W10+O1xuICBASW5wdXQoKVxuICBlbmFibGVFbnRpdHlGaWx0ZXJzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBmaWVsZHM6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uc0ZpZWxkcz86IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgY29uZGl0aW9uczogQXJyYXk8SUNvbmRpdGlvbnM+O1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWFkb25seTogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkcm9wZG93bjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZm9yY2VTZWxlY3Rpb24gPSB0cnVlO1xuICBASW5wdXQoKVxuICBlcnJvcjogb2JqZWN0O1xuICBASW5wdXQoKVxuICBlbXB0eU1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5Q29kZT86IHN0cmluZztcbiAgQElucHV0KClcbiAga2V5TmFtZSA9ICduYW1lJztcbiAgQElucHV0KClcbiAgY29uY2F0RmllbGRzRm9yTmFtZT86IGFueVtdO1xuICBASW5wdXQoKVxuICBpdGVtU2VsZWN0OiBhbnk7XG4gIEBJbnB1dCgpXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KClcbiAgaW5wdXRJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc1RpbWV0cmFja2luZ1NpdHVhdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgaXNEZXBhcnRtZW50RnJvbUNvbXBhbnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGNvbXBhbnlJZDogc3RyaW5nO1xuICBASW5wdXQoKVxuICByZWZlcmVuY2VEYXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGlzRGlzbWlzc2FsUmVhc29uOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBrZXlUb0V4Y2x1ZGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICB1c2luZ1R5cGU6IGFueSA9IFtdO1xuICBASW5wdXQoKVxuICBtaW5DaGFyYWN0ZXJzVG9TZWFyY2ggPSAzO1xuICBASW5wdXQoKVxuICBpc1dhZ2V0eXBlOiBib29sZWFuO1xuICBwcml2YXRlIGlzRHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzU2l0dWF0aW9uRGVmaW5pdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlID0gU2VydmljZVR5cGUuUEFZUk9MTDtcbiAgQE91dHB1dCgpXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGZpbHRlclF1ZXJ5KGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgaWYgKCEoaXNOYU4ocXVlcnkpICYmIHF1ZXJ5LnRvU3RyaW5nKCkubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJzVG9TZWFyY2gpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbikge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlVGltZXRyYWNraW5nU2l0dWF0aW9uJywge1xuICAgICAgICAgICAgICB2YWx1ZVNlYXJjaDogcXVlcnksXG4gICAgICAgICAgICAgIHJlZmVyZW5jZURhdGU6IHRoaXMucmVmZXJlbmNlRGF0ZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Rpc21pc3NhbFJlYXNvbikge1xuICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgdmFsdWVTZWFyY2g6IHF1ZXJ5IH07XG4gICAgICAgICAgaWYgKHRoaXMucmVmZXJlbmNlRGF0ZSkge1xuICAgICAgICAgICAgcGFyYW1zWydyZWZlcmVuY2VEYXRlJ10gPSB0aGlzLnJlZmVyZW5jZURhdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlRGlzbWlzc2FsUmVhc29uJywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5HRU5FUkFMX1JFR0lTVEVSKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlT3RoZXJDb21wYW55RmlsdGVyVXNpbmdUeXBlJywge1xuICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICAgICAgdXNpbmdUeXBlOiB0aGlzLnVzaW5nVHlwZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0RlcGFydG1lbnRGcm9tQ29tcGFueSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlRGVwYXJ0bWVudFF1ZXJ5Jywge1xuICAgICAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmNvbXBhbnlJZCxcbiAgICAgICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzU2l0dWF0aW9uRGVmaW5pdGlvbikge1xuICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgc2VhcmNoVGV4dDogcXVlcnkgfTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZXJ2aWNlXG4gICAgICAgICAgICAucXVlcnkoJ2F1dG9jb21wbGV0ZVNpdHVhdGlvbkRlZmluaXRpb25RdWVyeScsIHBhcmFtcywgU2VydmljZVR5cGUuT1JHQU5JWkFUSU9OX1JFR0lTVEVSKVxuICAgICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNXYWdldHlwZSkge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0geyBzZWFyY2hUZXh0OiBxdWVyeSwgY29tcGFueUlkOiB0aGlzLmNvbXBhbnlJZCB9O1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZVxuICAgICAgICAgICAgLnF1ZXJ5KCdhdXRvY29tcGxldGVXYWdldHlwZVF1ZXJ5JywgcGFyYW1zLCBTZXJ2aWNlVHlwZS5FTlRSWSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocGF5bG9hZCA9PiB0aGlzLmZvcm1hdGVyUmVzcG9uY2UocGF5bG9hZC5yZXN1bHQpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAgIC5xdWVyeSgnYXV0b2NvbXBsZXRlJywgdGhpcy5nZXRQYXJhbXNSZXN0KHF1ZXJ5KSwgdGhpcy5zZXJ2aWNlVHlwZSkuc3Vic2NyaWJlKHBheWxvYWQgPT4gdGhpcy5mb3JtYXRlclJlc3BvbmNlKHBheWxvYWQucmVzdWx0KSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvcm1hdGVyUmVzcG9uY2UocmVzdWx0KSB7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IHZhbHNSZXN1bHQgPSBbXTtcbiAgICByZXN1bHQubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQ29uY2F0ID0ge1xuICAgICAgICB0YWJsZUlkOiB2YWx1ZS50YWJsZUlkLFxuICAgICAgICBuYW1lOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbiB8fCB0aGlzLmlzRGlzbWlzc2FsUmVhc29uIHx8ICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICh0aGlzLmtleVRvRXhjbHVkZS5pbmNsdWRlcyh2YWx1ZS5maWVsZHMgJiYgdmFsdWUuZmllbGRzWzJdICYmIHZhbHVlLmZpZWxkc1syXS52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmllbGROYW1lID0gJyc7XG5cbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjb2RlJykubWFwKGNvZGUgPT4gKGNvZGUgPyAoY29kZS52YWx1ZSArPSAnIC0gJykgOiAnJykpWzBdO1xuICAgICAgICBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoICYmICghZmllbGROYW1lIHx8IGZpZWxkTmFtZSA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgZmllbGROYW1lID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICduYW1lJykubWFwKG5hbWUgPT4gKG5hbWUgPyBuYW1lLnZhbHVlIDogJycpKVswXTtcblxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZSkge1xuICAgICAgICAgIHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZS5tYXAodmFsID0+IHtcbiAgICAgICAgICAgIC8vIHNlIG8gY2FtcG8gZm9yIGRhdGEsIGZvcm1hdGEgcHJvIGxvY2FsZSBkbyB1c3XDoXJpb1xuICAgICAgICAgICAgaWYgKHZhbC5pbmNsdWRlcygnZGF0ZScpIHx8IHZhbC5pbmNsdWRlcygnQmlydGhkYXknKSkge1xuICAgICAgICAgICAgICB2YWx1ZUNvbmNhdFt2YWxdID0gX21vbWVudCh2YWx1ZUNvbmNhdFt2YWxdKS5mb3JtYXQoJ0REL01NL1lZWVknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt2YWxdICsgJyAtICc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnNsaWNlKDAsIC0zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5rZXlDb2RlKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlDb2RlXSArICcgLSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5rZXlOYW1lKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlOYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVDb25jYXQubmFtZSA9IGZpZWxkTmFtZTtcbiAgICAgICAgdmFsc1Jlc3VsdC5wdXNoKHZhbHVlQ29uY2F0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gWy4uLnZhbHNSZXN1bHRdO1xuICAgIHJldHVybiB2YWxzUmVzdWx0O1xuICB9XG5cbiAgZ2V0UGFyYW1zUmVzdChzZWFyY2g6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcyxcbiAgICAgIG9yZGVyOiB0aGlzLm9yZGVyLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5nZXRDb25kaXRpb25zUmVzdChzZWFyY2gpLFxuICAgICAgZW5hYmxlRW50aXR5RmlsdGVyczogdGhpcy5lbmFibGVFbnRpdHlGaWx0ZXJzLFxuICAgIH07XG4gIH1cblxuICBnZXRDb25kaXRpb25zUmVzdChzZWFyY2g6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbmRpdGlvc1JldHVybiA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGRzOiB0aGlzLmNvbmRpdGlvbnNGaWVsZHMgfHwgdGhpcy5maWVsZHMsXG4gICAgICAgIGV4cHJlc3Npb246ICdMSUtFJyxcbiAgICAgICAgdmFsdWU6IGAke3NlYXJjaH1gLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuY29uZGl0aW9ucykge1xuICAgICAgdGhpcy5jb25kaXRpb25zLm1hcCh2YWwgPT4ge1xuICAgICAgICBpZiAoWydJU19OVUxMJywgJ0lTX05PVF9OVUxMJywgJ0lTX1RSVUUnXS5pbmNsdWRlcyh2YWwuZXhwcmVzc2lvbikgfHwgaXNWYWxpZCh2YWwudmFsdWUpKSB7XG4gICAgICAgICAgY29uZGl0aW9zUmV0dXJuLnB1c2godmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvc1JldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlcm5pemEgYSBmdW7Dp8OjbyBkZSBzZWxlY3QgZGFzIG9ww6fDtWVzXG4gICAqIDxpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUgKG9uU2VsZWN0KT1cIm9uU2VsZWN0SGFuZGxlKCRldmVudClcIiA+PC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGU+XG4gICAqIEBwYXJhbSBvcHRpb25cbiAgICovXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IG9iamVjdCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG5cbiAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICBhd2FpdCB0aGlzLm9uQ2xlYXIuZW1pdChvcHRpb24pO1xuICAgIHRoaXMuZm9ybS5nZXQodGhpcy5uYW1lKS5yZXNldCgpO1xuICB9XG5cbiAgb25CbHVySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGlmICghdGhpcy5pc0Ryb3Bkb3duKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5vbkJsdXIuZW1pdChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3Bkb3duQ2xpY2soKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhdXRvQ29tcGxldGVPYmplY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZU9iamVjdDtcbiAgfVxufVxuIl19
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGUvaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFjM0Q7SUFpRkUsd0NBQW9CLE9BQXFDO1FBQXJDLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBckR6RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQVF0QixZQUFPLEdBQUcsTUFBTSxDQUFDO1FBb0JqQixpQkFBWSxHQUFRLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBRXBCLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQU8xQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFL0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFaEQsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFFb0MsQ0FBQztJQUU3RCxpREFBUSxHQUFSLGNBQVksQ0FBQztJQUViLG9EQUFXLEdBQVgsVUFBWSxLQUFVO1FBQXRCLGlCQVlDO1FBWEMsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDbEYsSUFBSTtnQkFDRixJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELE9BQU8sSUFBSSxDQUFDLE9BQU87cUJBQ2hCLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQztxQkFDeEUsU0FBUyxDQUFDLFVBQUEsT0FBTyxJQUFJLE9BQUEsS0FBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBckMsQ0FBcUMsQ0FBQyxDQUFDO2FBQ2hFO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQjtTQUNGO0lBQ0gsQ0FBQztJQUVPLDhEQUFxQixHQUE3QixVQUE4QixLQUFhO1FBQTNDLGlCQWdGQztRQS9FQyxJQUFNLGVBQWUsR0FBRztZQUN0QjtnQkFDRSxTQUFTLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyx1QkFBdUIsRUFBNUIsQ0FBNEI7Z0JBQzdDLFFBQVEsRUFBRSxtQ0FBbUM7Z0JBQzdDLE1BQU0sRUFBRSxjQUFNLE9BQUEsQ0FBQztvQkFDYixXQUFXLEVBQUUsS0FBSztvQkFDbEIsYUFBYSxFQUFFLEtBQUksQ0FBQyxhQUFhO2lCQUNsQyxDQUFDLEVBSFksQ0FHWjtnQkFDRixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDOUI7WUFDRDtnQkFDRSxTQUFTLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxpQkFBaUIsRUFBdEIsQ0FBc0I7Z0JBQ3ZDLFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLE1BQU0sRUFBRTtvQkFDTixJQUFNLE1BQU0sR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxLQUFJLENBQUMsYUFBYSxFQUFFO3dCQUN0QixNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsS0FBSSxDQUFDLGFBQWEsQ0FBQztxQkFDOUM7b0JBQ0QsT0FBTyxNQUFNLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsV0FBVyxFQUFFLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDMUM7WUFDRDtnQkFDRSxTQUFTLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxTQUFTLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQXZDLENBQXVDO2dCQUN4RCxRQUFRLEVBQUUseUNBQXlDO2dCQUNuRCxNQUFNLEVBQUUsY0FBTSxPQUFBLENBQUM7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRSxLQUFJLENBQUMsU0FBUztpQkFDMUIsQ0FBQyxFQUhZLENBR1o7Z0JBQ0YsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO2FBQzlCO1lBQ0Q7Z0JBQ0UsU0FBUyxFQUFFLGNBQU0sT0FBQSxLQUFJLENBQUMsdUJBQXVCLEVBQTVCLENBQTRCO2dCQUM3QyxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QyxNQUFNLEVBQUUsY0FBTSxPQUFBLENBQUM7b0JBQ2IsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFNBQVMsRUFBRSxLQUFJLENBQUMsU0FBUztvQkFDekIsYUFBYSxFQUFFLEtBQUksQ0FBQyxhQUFhO2lCQUNsQyxDQUFDLEVBSlksQ0FJWjtnQkFDRixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDOUI7WUFDRDtnQkFDRSxTQUFTLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxxQkFBcUIsRUFBMUIsQ0FBMEI7Z0JBQzNDLFFBQVEsRUFBRSxzQ0FBc0M7Z0JBQ2hELE1BQU0sRUFBRSxjQUFNLE9BQUEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUF2QixDQUF1QjtnQkFDckMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxxQkFBcUI7YUFDL0M7WUFDRDtnQkFDRSxTQUFTLEVBQUUsY0FBTSxPQUFBLEtBQUksQ0FBQyxVQUFVLEVBQWYsQ0FBZTtnQkFDaEMsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsTUFBTSxFQUFFLGNBQU0sT0FBQSxDQUFDO29CQUNiLFVBQVUsRUFBRSxLQUFLO29CQUNqQixTQUFTLEVBQUUsS0FBSSxDQUFDLFNBQVM7aUJBQzFCLENBQUMsRUFIWSxDQUdaO2dCQUNGLFdBQVcsRUFBRSxXQUFXLENBQUMsS0FBSzthQUMvQjtZQUNEO2dCQUNFLFNBQVMsRUFBRSxjQUFNLE9BQUEsS0FBSSxDQUFDLGlDQUFpQyxFQUF0QyxDQUFzQztnQkFDdkQsUUFBUSxFQUFFLGtEQUFrRDtnQkFDNUQsTUFBTSxFQUFFLGNBQU0sT0FBQSxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQXZCLENBQXVCO2dCQUNyQyxXQUFXLEVBQUUsV0FBVyxDQUFDLGdCQUFnQjthQUMxQztTQUNGLENBQUM7UUFFRixJQUFNLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFiLENBQWEsQ0FBQyxDQUFDO1FBRTFELElBQUksUUFBUSxFQUFFO1lBQ1osT0FBTztnQkFDTCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7Z0JBQzNCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUN6QixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7YUFDbEMsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRCx5REFBZ0IsR0FBaEIsVUFBaUIsTUFBTTtRQUF2QixpQkF1REM7UUF0REMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQSxLQUFLO1lBQ2QsSUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDO1lBQ0YsSUFBSSxLQUFJLENBQUMsdUJBQXVCLElBQUksS0FBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBSSxDQUFDLFNBQVMsSUFBSSxLQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2RyxJQUFJLEtBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN4RixPQUFPO2lCQUNSO2dCQUVELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFFbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBQSxHQUFHO29CQUNsQixXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO2dCQUVILFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFBLEdBQUcsSUFBSSxPQUFBLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssTUFBTSxFQUFqQyxDQUFpQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSSxJQUFJLE9BQUEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQW5DLENBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0gsSUFBSSxLQUFJLENBQUMsU0FBUyxJQUFJLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksU0FBUyxLQUFLLFdBQVcsQ0FBQyxFQUFFO29CQUN4RixTQUFTLEdBQUcsRUFBRSxDQUFDO2lCQUNoQjtnQkFDRCxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBQSxHQUFHLElBQUksT0FBQSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sRUFBakMsQ0FBaUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUVwSCxXQUFXLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QjtpQkFBTTtnQkFDTCxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFBLEdBQUc7b0JBQ2xCLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxXQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLEtBQUksQ0FBQyxtQkFBbUIsRUFBRTtvQkFDNUIsS0FBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxVQUFBLEdBQUc7d0JBQzlCLHFEQUFxRDt3QkFDckQsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7NEJBQ3BELFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO3lCQUNuRTt3QkFDRCxXQUFTLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDeEMsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsV0FBUyxHQUFHLFdBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO3FCQUFNO29CQUNMLElBQUksS0FBSSxDQUFDLE9BQU8sRUFBRTt3QkFDaEIsV0FBUyxJQUFJLFdBQVcsQ0FBQyxLQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO3FCQUNoRDtvQkFDRCxJQUFJLEtBQUksQ0FBQyxPQUFPLEVBQUU7d0JBQ2hCLFdBQVMsSUFBSSxXQUFXLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUN4QztpQkFDRjtnQkFDRCxXQUFXLENBQUMsSUFBSSxHQUFHLFdBQVMsQ0FBQztnQkFDN0IsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsb0JBQU8sVUFBVSxDQUFDLENBQUM7UUFDbkMsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELHNEQUFhLEdBQWIsVUFBYyxNQUFjO1FBQzFCLE9BQU87WUFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztZQUMxQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsMERBQWlCLEdBQWpCLFVBQWtCLE1BQWM7UUFDOUIsSUFBTSxlQUFlLEdBQUc7WUFDdEI7Z0JBQ0UsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsTUFBTTtnQkFDNUMsVUFBVSxFQUFFLE1BQU07Z0JBQ2xCLEtBQUssRUFBRSxLQUFHLE1BQVE7YUFDbkI7U0FDRixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRztnQkFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN4RixlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMzQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHFEQUFZLEdBQVosVUFBYSxNQUFjO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFSyxvREFBVyxHQUFqQixVQUFrQixNQUFjOzs7OzRCQUM5QixxQkFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQTs7d0JBQS9CLFNBQStCLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7Ozs7S0FDbEM7SUFFRCxtREFBVSxHQUFWLFVBQVcsTUFBYztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELHdEQUFlLEdBQWY7UUFDRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsc0JBQUksOERBQWtCO2FBQXRCO1lBQ0UsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEMsQ0FBQzs7O09BQUE7O2dCQXhONEIsNEJBQTRCOztJQS9FekQ7UUFEQyxTQUFTLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7K0VBQ2xCO0lBRWhDO1FBREMsS0FBSyxFQUFFO2dFQUNLO0lBRWI7UUFEQyxLQUFLLEVBQUU7aUVBQ007SUFFZDtRQURDLEtBQUssRUFBRTtpRUFDWTtJQUVwQjtRQURDLEtBQUssRUFBRTsrRUFDcUI7SUFFN0I7UUFEQyxLQUFLLEVBQUU7a0VBQ2E7SUFFckI7UUFEQyxLQUFLLEVBQUU7NEVBQ3dCO0lBRWhDO1FBREMsS0FBSyxFQUFFO3NFQUN1QjtJQUUvQjtRQURDLEtBQUssRUFBRTt1RUFDWTtJQUVwQjtRQURDLEtBQUssRUFBRTtvRUFDVTtJQUVsQjtRQURDLEtBQUssRUFBRTtvRUFDVTtJQUVsQjtRQURDLEtBQUssRUFBRTtvRUFDVTtJQUVsQjtRQURDLEtBQUssRUFBRTtvRUFDVTtJQUVsQjtRQURDLEtBQUssRUFBRTswRUFDYztJQUV0QjtRQURDLEtBQUssRUFBRTtpRUFDTTtJQUVkO1FBREMsS0FBSyxFQUFFO3dFQUNhO0lBRXJCO1FBREMsS0FBSyxFQUFFO21FQUNTO0lBRWpCO1FBREMsS0FBSyxFQUFFO21FQUNTO0lBRWpCO1FBREMsS0FBSyxFQUFFOytFQUNvQjtJQUU1QjtRQURDLEtBQUssRUFBRTtzRUFDUTtJQUVoQjtRQURDLEtBQUssRUFBRTtnRUFDUTtJQUVoQjtRQURDLEtBQUssRUFBRTttRUFDUTtJQUVoQjtRQURDLEtBQUssRUFBRTttRkFDeUI7SUFFakM7UUFEQyxLQUFLLEVBQUU7bUZBQ3lCO0lBRWpDO1FBREMsS0FBSyxFQUFFO3FFQUNVO0lBRWxCO1FBREMsS0FBSyxFQUFFO3lFQUNjO0lBRXRCO1FBREMsS0FBSyxFQUFFOzZFQUNtQjtJQUUzQjtRQURDLEtBQUssRUFBRTt3RUFDZTtJQUV2QjtRQURDLEtBQUssRUFBRTtxRUFDWTtJQUVwQjtRQURDLEtBQUssRUFBRTtpRkFDa0I7SUFFMUI7UUFEQyxLQUFLLEVBQUU7c0VBQ1k7SUFHcEI7UUFEQyxLQUFLLEVBQUU7aUZBQ3VCO0lBRS9CO1FBREMsS0FBSyxFQUFFO29FQUNTO0lBRWpCO1FBREMsS0FBSyxFQUFFOzZGQUNtQztJQUUzQztRQURDLEtBQUssRUFBRTt1RUFDdUM7SUFFL0M7UUFEQyxNQUFNLEVBQUU7a0VBQ3NDO0lBRS9DO1FBREMsTUFBTSxFQUFFO29FQUN3QztJQUVqRDtRQURDLE1BQU0sRUFBRTttRUFDdUM7SUE3RXJDLDhCQUE4QjtRQUwxQyxTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLG1vQ0FBd0Q7O1NBRXpELENBQUM7T0FDVyw4QkFBOEIsQ0EwUzFDO0lBQUQscUNBQUM7Q0FBQSxBQTFTRCxJQTBTQztTQTFTWSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IF9tb21lbnQsIGlzVmFsaWQgfSBmcm9tICcuLi91dGlscy9oZWxwZXJzJztcbmltcG9ydCB7IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UgfSBmcm9tICcuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlcnZpY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnVtcy9zZXJ2aWNlVHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbmRpdGlvbnMge1xuICBmaWVsZHM6IEFycmF5PHN0cmluZ1tdPjtcbiAgZmllbGRUeXBlOiBzdHJpbmc7XG4gIGV4cHJlc3Npb246IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW5wdXQtcmVzdC1hdXRvLWNvbXBsZXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXJlc3QtYXV0by1jb21wbGV0ZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIElucHV0UmVzdEF1dG9Db21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2F1dG9Db21wbGV0ZU9iamVjdCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIF9hdXRvQ29tcGxldGVPYmplY3Q6IEVsZW1lbnRSZWY7XG4gIEBJbnB1dCgpXG4gIG5hbWU6IHN0cmluZztcbiAgQElucHV0KClcbiAgdGFibGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgb3JkZXI6IEFycmF5PGFueVtdPjtcbiAgQElucHV0KClcbiAgZW5hYmxlRW50aXR5RmlsdGVyczogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZmllbGRzOiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbnNGaWVsZHM/OiBBcnJheTxhbnlbXT47XG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbnM6IEFycmF5PElDb25kaXRpb25zPjtcbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVhZG9ubHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgZHJvcGRvd246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGZvcmNlU2VsZWN0aW9uID0gdHJ1ZTtcbiAgQElucHV0KClcbiAgZXJyb3I6IG9iamVjdDtcbiAgQElucHV0KClcbiAgZW1wdHlNZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtleUNvZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGtleU5hbWUgPSAnbmFtZSc7XG4gIEBJbnB1dCgpXG4gIGNvbmNhdEZpZWxkc0Zvck5hbWU/OiBhbnlbXTtcbiAgQElucHV0KClcbiAgaXRlbVNlbGVjdDogYW55O1xuICBASW5wdXQoKVxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpXG4gIGlucHV0SWQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgaXNUaW1ldHJhY2tpbmdTaXR1YXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGlzRGVwYXJ0bWVudEZyb21Db21wYW55OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBjb21wYW55SWQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgcmVmZXJlbmNlRGF0ZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBpc0Rpc21pc3NhbFJlYXNvbjogYm9vbGVhbjtcbiAgQElucHV0KClcbiAga2V5VG9FeGNsdWRlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgdXNpbmdUeXBlOiBhbnkgPSBbXTtcbiAgQElucHV0KClcbiAgbWluQ2hhcmFjdGVyc1RvU2VhcmNoID0gMztcbiAgQElucHV0KClcbiAgaXNXYWdldHlwZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBpc0Ryb3Bkb3duOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBpc1NpdHVhdGlvbkRlZmluaXRpb246IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGlzVHJhbnNwb3J0YXRpb25Wb3VjaGVyU2NhbGVHcm91cDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlID0gU2VydmljZVR5cGUuUEFZUk9MTDtcbiAgQE91dHB1dCgpXG4gIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKVxuICBvbkNsZWFyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IElucHV0UmVzdEF1dG9Db21wbGV0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGZpbHRlclF1ZXJ5KGV2ZW50OiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XG4gICAgaWYgKCEoTnVtYmVyLmlzTmFOKHF1ZXJ5KSAmJiBxdWVyeS50b1N0cmluZygpLmxlbmd0aCA8IHRoaXMubWluQ2hhcmFjdGVyc1RvU2VhcmNoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcXVlcnlDb25maWcgPSB0aGlzLmdldFF1ZXJ5Q29uZmlndXJhdGlvbihxdWVyeSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VcbiAgICAgICAgICAucXVlcnkocXVlcnlDb25maWcuZW5kcG9pbnQsIHF1ZXJ5Q29uZmlnLnBhcmFtcywgcXVlcnlDb25maWcuc2VydmljZVR5cGUpXG4gICAgICAgICAgLnN1YnNjcmliZShwYXlsb2FkID0+IHRoaXMuZm9ybWF0ZXJSZXNwb25jZShwYXlsb2FkLnJlc3VsdCkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmxvZyhlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFF1ZXJ5Q29uZmlndXJhdGlvbihxdWVyeTogc3RyaW5nKTogeyBlbmRwb2ludDogc3RyaW5nOyBwYXJhbXM6IGFueTsgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlIH0ge1xuICAgIGNvbnN0IHF1ZXJ5U3RyYXRlZ2llcyA9IFtcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzVGltZXRyYWNraW5nU2l0dWF0aW9uLFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZVRpbWV0cmFja2luZ1NpdHVhdGlvbicsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICB2YWx1ZVNlYXJjaDogcXVlcnksXG4gICAgICAgICAgcmVmZXJlbmNlRGF0ZTogdGhpcy5yZWZlcmVuY2VEYXRlLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMuaXNEaXNtaXNzYWxSZWFzb24sXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlRGlzbWlzc2FsUmVhc29uJyxcbiAgICAgICAgcGFyYW1zOiAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcGFyYW1zID0geyB2YWx1ZVNlYXJjaDogcXVlcnkgfTtcbiAgICAgICAgICBpZiAodGhpcy5yZWZlcmVuY2VEYXRlKSB7XG4gICAgICAgICAgICBwYXJhbXNbJ3JlZmVyZW5jZURhdGUnXSA9IHRoaXMucmVmZXJlbmNlRGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICAgICAgfSxcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlLkdFTkVSQUxfUkVHSVNURVIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb25kaXRpb246ICgpID0+IHRoaXMudXNpbmdUeXBlICYmIHRoaXMudXNpbmdUeXBlLmxlbmd0aCxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVPdGhlckNvbXBhbnlGaWx0ZXJVc2luZ1R5cGUnLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7XG4gICAgICAgICAgc2VhcmNoVGV4dDogcXVlcnksXG4gICAgICAgICAgdXNpbmdUeXBlOiB0aGlzLnVzaW5nVHlwZSxcbiAgICAgICAgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiB0aGlzLnNlcnZpY2VUeXBlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzRGVwYXJ0bWVudEZyb21Db21wYW55LFxuICAgICAgICBlbmRwb2ludDogJ2F1dG9jb21wbGV0ZURlcGFydG1lbnRRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICAgIHJlZmVyZW5jZURhdGU6IHRoaXMucmVmZXJlbmNlRGF0ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHNlcnZpY2VUeXBlOiB0aGlzLnNlcnZpY2VUeXBlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzU2l0dWF0aW9uRGVmaW5pdGlvbixcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVTaXR1YXRpb25EZWZpbml0aW9uUXVlcnknLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7IHNlYXJjaFRleHQ6IHF1ZXJ5IH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuT1JHQU5JWkFUSU9OX1JFR0lTVEVSLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzV2FnZXR5cGUsXG4gICAgICAgIGVuZHBvaW50OiAnYXV0b2NvbXBsZXRlV2FnZXR5cGVRdWVyeScsXG4gICAgICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICBzZWFyY2hUZXh0OiBxdWVyeSxcbiAgICAgICAgICBjb21wYW55SWQ6IHRoaXMuY29tcGFueUlkLFxuICAgICAgICB9KSxcbiAgICAgICAgc2VydmljZVR5cGU6IFNlcnZpY2VUeXBlLkVOVFJZLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29uZGl0aW9uOiAoKSA9PiB0aGlzLmlzVHJhbnNwb3J0YXRpb25Wb3VjaGVyU2NhbGVHcm91cCxcbiAgICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGVUcmFuc3BvcnRhdGlvblZvdWNoZXJTY2FsZUdyb3VwUXVlcnknLFxuICAgICAgICBwYXJhbXM6ICgpID0+ICh7IHNlYXJjaFRleHQ6IHF1ZXJ5IH0pLFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUuR0VORVJBTF9SRUdJU1RFUixcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gcXVlcnlTdHJhdGVnaWVzLmZpbmQocyA9PiBzLmNvbmRpdGlvbigpKTtcbiAgICBcbiAgICBpZiAoc3RyYXRlZ3kpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVuZHBvaW50OiBzdHJhdGVneS5lbmRwb2ludCxcbiAgICAgICAgcGFyYW1zOiBzdHJhdGVneS5wYXJhbXMoKSxcbiAgICAgICAgc2VydmljZVR5cGU6IHN0cmF0ZWd5LnNlcnZpY2VUeXBlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgZW5kcG9pbnQ6ICdhdXRvY29tcGxldGUnLFxuICAgICAgcGFyYW1zOiB0aGlzLmdldFBhcmFtc1Jlc3QocXVlcnkpLFxuICAgICAgc2VydmljZVR5cGU6IHRoaXMuc2VydmljZVR5cGUsXG4gICAgfTtcbiAgfVxuXG4gIGZvcm1hdGVyUmVzcG9uY2UocmVzdWx0KSB7XG4gICAgdGhpcy5zdWdnZXN0aW9ucyA9IFtdO1xuICAgIGNvbnN0IHZhbHNSZXN1bHQgPSBbXTtcbiAgICByZXN1bHQubWFwKHZhbHVlID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlQ29uY2F0ID0ge1xuICAgICAgICB0YWJsZUlkOiB2YWx1ZS50YWJsZUlkLFxuICAgICAgICBuYW1lOiAnJyxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5pc1RpbWV0cmFja2luZ1NpdHVhdGlvbiB8fCB0aGlzLmlzRGlzbWlzc2FsUmVhc29uIHx8ICh0aGlzLnVzaW5nVHlwZSAmJiB0aGlzLnVzaW5nVHlwZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICh0aGlzLmtleVRvRXhjbHVkZS5pbmNsdWRlcyh2YWx1ZS5maWVsZHMgJiYgdmFsdWUuZmllbGRzWzJdICYmIHZhbHVlLmZpZWxkc1syXS52YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZmllbGROYW1lID0gJyc7XG5cbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdjb2RlJykubWFwKGNvZGUgPT4gKGNvZGUgPyAoY29kZS52YWx1ZSArPSAnIC0gJykgOiAnJykpWzBdO1xuICAgICAgICBpZiAodGhpcy51c2luZ1R5cGUgJiYgdGhpcy51c2luZ1R5cGUubGVuZ3RoICYmICghZmllbGROYW1lIHx8IGZpZWxkTmFtZSA9PT0gJ3VuZGVmaW5lZCcpKSB7XG4gICAgICAgICAgZmllbGROYW1lID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgZmllbGROYW1lICs9IHZhbHVlLmZpZWxkcy5maWx0ZXIodmFsID0+IHZhbC5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICduYW1lJykubWFwKG5hbWUgPT4gKG5hbWUgPyBuYW1lLnZhbHVlIDogJycpKVswXTtcblxuICAgICAgICB2YWx1ZUNvbmNhdC5uYW1lID0gZmllbGROYW1lO1xuICAgICAgICB2YWxzUmVzdWx0LnB1c2godmFsdWVDb25jYXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUuZmllbGRzLm1hcCh2YWwgPT4ge1xuICAgICAgICAgIHZhbHVlQ29uY2F0W3ZhbC5uYW1lXSA9IHZhbC52YWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBmaWVsZE5hbWUgPSAnJztcbiAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZSkge1xuICAgICAgICAgIHRoaXMuY29uY2F0RmllbGRzRm9yTmFtZS5tYXAodmFsID0+IHtcbiAgICAgICAgICAgIC8vIHNlIG8gY2FtcG8gZm9yIGRhdGEsIGZvcm1hdGEgcHJvIGxvY2FsZSBkbyB1c3XDoXJpb1xuICAgICAgICAgICAgaWYgKHZhbC5pbmNsdWRlcygnZGF0ZScpIHx8IHZhbC5pbmNsdWRlcygnQmlydGhkYXknKSkge1xuICAgICAgICAgICAgICB2YWx1ZUNvbmNhdFt2YWxdID0gX21vbWVudCh2YWx1ZUNvbmNhdFt2YWxdKS5mb3JtYXQoJ0REL01NL1lZWVknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkTmFtZSArPSB2YWx1ZUNvbmNhdFt2YWxdICsgJyAtICc7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgZmllbGROYW1lID0gZmllbGROYW1lLnNsaWNlKDAsIC0zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5rZXlDb2RlKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlDb2RlXSArICcgLSAnO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5rZXlOYW1lKSB7XG4gICAgICAgICAgICBmaWVsZE5hbWUgKz0gdmFsdWVDb25jYXRbdGhpcy5rZXlOYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVDb25jYXQubmFtZSA9IGZpZWxkTmFtZTtcbiAgICAgICAgdmFsc1Jlc3VsdC5wdXNoKHZhbHVlQ29uY2F0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zID0gWy4uLnZhbHNSZXN1bHRdO1xuICAgIHJldHVybiB2YWxzUmVzdWx0O1xuICB9XG5cbiAgZ2V0UGFyYW1zUmVzdChzZWFyY2g6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZmllbGRzOiB0aGlzLmZpZWxkcyxcbiAgICAgIG9yZGVyOiB0aGlzLm9yZGVyLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5nZXRDb25kaXRpb25zUmVzdChzZWFyY2gpLFxuICAgICAgZW5hYmxlRW50aXR5RmlsdGVyczogdGhpcy5lbmFibGVFbnRpdHlGaWx0ZXJzLFxuICAgIH07XG4gIH1cblxuICBnZXRDb25kaXRpb25zUmVzdChzZWFyY2g6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbmRpdGlvc1JldHVybiA9IFtcbiAgICAgIHtcbiAgICAgICAgZmllbGRzOiB0aGlzLmNvbmRpdGlvbnNGaWVsZHMgfHwgdGhpcy5maWVsZHMsXG4gICAgICAgIGV4cHJlc3Npb246ICdMSUtFJyxcbiAgICAgICAgdmFsdWU6IGAke3NlYXJjaH1gLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuY29uZGl0aW9ucykge1xuICAgICAgdGhpcy5jb25kaXRpb25zLm1hcCh2YWwgPT4ge1xuICAgICAgICBpZiAoWydJU19OVUxMJywgJ0lTX05PVF9OVUxMJywgJ0lTX1RSVUUnXS5pbmNsdWRlcyh2YWwuZXhwcmVzc2lvbikgfHwgaXNWYWxpZCh2YWwudmFsdWUpKSB7XG4gICAgICAgICAgY29uZGl0aW9zUmV0dXJuLnB1c2godmFsKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvc1JldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRlcm5pemEgYSBmdW7Dp8OjbyBkZSBzZWxlY3QgZGFzIG9ww6fDtWVzXG4gICAqIDxpbnB1dC1yZXN0LWF1dG8tY29tcGxldGUgKG9uU2VsZWN0KT1cIm9uU2VsZWN0SGFuZGxlKCRldmVudClcIiA+PC9pbnB1dC1yZXN0LWF1dG8tY29tcGxldGU+XG4gICAqIEBwYXJhbSBvcHRpb25cbiAgICovXG4gIHNlbGVjdE9wdGlvbihvcHRpb246IG9iamVjdCkge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdChvcHRpb24pO1xuICB9XG5cbiAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICBhd2FpdCB0aGlzLm9uQ2xlYXIuZW1pdChvcHRpb24pO1xuICAgIHRoaXMuZm9ybS5nZXQodGhpcy5uYW1lKS5yZXNldCgpO1xuICB9XG5cbiAgb25CbHVySXRlbShvcHRpb246IG9iamVjdCkge1xuICAgIGlmICghdGhpcy5pc0Ryb3Bkb3duKSB7XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5uYW1lXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgdGhpcy5vbkJsdXIuZW1pdChvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzRHJvcGRvd24gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkRyb3Bkb3duQ2xpY2soKSB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBhdXRvQ29tcGxldGVPYmplY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZU9iamVjdDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { HttpClientService } from '../shared/http-client.service';
|
|
4
|
+
import { CoreFieldType } from '../../core/enums/coreFieldType';
|
|
5
|
+
import { FieldType } from '@seniorsistemas/angular-components';
|
|
6
|
+
import * as _moment from 'moment';
|
|
7
|
+
import { map } from 'rxjs/operators';
|
|
8
|
+
import { ServiceType } from '../../core/enums/serviceType';
|
|
9
|
+
var moment = _moment;
|
|
10
|
+
var AutocompleteService = /** @class */ (function () {
|
|
11
|
+
function AutocompleteService(httpClienteService) {
|
|
12
|
+
this.httpClienteService = httpClienteService;
|
|
13
|
+
}
|
|
14
|
+
AutocompleteService.prototype.getAutoComplete = function (entity, params, searchFields, codeIsString, service) {
|
|
15
|
+
var getParams = this.generateGridParameters(params, searchFields, codeIsString);
|
|
16
|
+
return this.httpClienteService.getAutoComplete(entity, getParams, service)
|
|
17
|
+
.pipe(map(function (result) { return result && result.contents; }));
|
|
18
|
+
};
|
|
19
|
+
AutocompleteService.prototype.getAutoCompleteQuery = function (query, params, service) {
|
|
20
|
+
if (service === void 0) { service = ServiceType.PAYROLL; }
|
|
21
|
+
return this.httpClienteService.query(query, params, service)
|
|
22
|
+
.pipe(map(function (data) { return data && data.result; }));
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Gera os parametros de pesquisa via pesquisa na grid
|
|
26
|
+
* @param filterData
|
|
27
|
+
*/
|
|
28
|
+
AutocompleteService.prototype.generateGridParameters = function (filterData, searchFields, codeIsString) {
|
|
29
|
+
var _this = this;
|
|
30
|
+
var gridParameters = "";
|
|
31
|
+
Object.keys(filterData).forEach(function (attribute) {
|
|
32
|
+
var filterSearchField = searchFields && searchFields.filter(function (field) { return attribute === field.name; })[0];
|
|
33
|
+
var filterQueryString = null;
|
|
34
|
+
var operatorsQuery = "";
|
|
35
|
+
var searchField = filterSearchField && filterSearchField.type;
|
|
36
|
+
if (!filterSearchField && attribute != CoreFieldType.searchValue)
|
|
37
|
+
searchField = FieldType.String;
|
|
38
|
+
if (!filterSearchField && attribute === CoreFieldType.searchValue)
|
|
39
|
+
searchField = CoreFieldType.searchValue;
|
|
40
|
+
if (gridParameters)
|
|
41
|
+
operatorsQuery = " and ";
|
|
42
|
+
filterQueryString = _this.getParameterByType(searchField, attribute, filterData[attribute], codeIsString);
|
|
43
|
+
if (filterQueryString)
|
|
44
|
+
gridParameters += " " + operatorsQuery + " " + filterQueryString;
|
|
45
|
+
});
|
|
46
|
+
return gridParameters;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Gera a string de consulta CRUD de um campo.
|
|
50
|
+
* @param type Tipo do campo.
|
|
51
|
+
* @param attribute Nome do atribute da entidade
|
|
52
|
+
* @param value Valor do campo
|
|
53
|
+
*/
|
|
54
|
+
AutocompleteService.prototype.getParameterByType = function (type, attribute, value, codeIsString) {
|
|
55
|
+
if (!value && type != CoreFieldType.searchValue)
|
|
56
|
+
return attribute + " is null";
|
|
57
|
+
if (value && value === 'not null' && type != CoreFieldType.searchValue)
|
|
58
|
+
return attribute + " is not null";
|
|
59
|
+
switch (type) {
|
|
60
|
+
case FieldType.Date:
|
|
61
|
+
return attribute + " eq '" + moment(value).format('YYYY-MM-DD') + "'";
|
|
62
|
+
case FieldType.Enum:
|
|
63
|
+
return attribute + " eq '" + value + "'";
|
|
64
|
+
case FieldType.Integer:
|
|
65
|
+
return attribute + " eq " + value;
|
|
66
|
+
case FieldType.Autocomplete:
|
|
67
|
+
return attribute + " eq '" + value.id + "'";
|
|
68
|
+
case CoreFieldType.searchValue:
|
|
69
|
+
return "" + this.getParameterBySearchType(value, codeIsString);
|
|
70
|
+
default:
|
|
71
|
+
return this.getSearchFilterString(attribute, value);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Retorna o filtro formatador para ser chamdo no endpoint
|
|
76
|
+
* @param valueFilterSearch valor pra adicionar no filtro
|
|
77
|
+
*/
|
|
78
|
+
AutocompleteService.prototype.getParameterBySearchType = function (valueFilterSearch, codeIsString) {
|
|
79
|
+
var e_1, _a;
|
|
80
|
+
var searchFilter = "";
|
|
81
|
+
if (valueFilterSearch) {
|
|
82
|
+
try {
|
|
83
|
+
for (var _b = tslib_1.__values(Object.entries(valueFilterSearch)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
84
|
+
var _d = tslib_1.__read(_c.value, 2), key = _d[0], value = _d[1];
|
|
85
|
+
if (key === "code" && Number(value)) {
|
|
86
|
+
var hasQuote = codeIsString ? "'" : "";
|
|
87
|
+
if (searchFilter)
|
|
88
|
+
searchFilter += " or " + key + " eq " + hasQuote + value + hasQuote;
|
|
89
|
+
else
|
|
90
|
+
searchFilter += key + " eq " + hasQuote + value + hasQuote;
|
|
91
|
+
}
|
|
92
|
+
else if (key != "code") {
|
|
93
|
+
if (searchFilter)
|
|
94
|
+
searchFilter += " or " + this.getSearchFilterString(key, value);
|
|
95
|
+
else
|
|
96
|
+
searchFilter += this.getSearchFilterString(key, value);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
101
|
+
finally {
|
|
102
|
+
try {
|
|
103
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
104
|
+
}
|
|
105
|
+
finally { if (e_1) throw e_1.error; }
|
|
106
|
+
}
|
|
107
|
+
searchFilter = searchFilter ? "(" + searchFilter + ")" : '';
|
|
108
|
+
}
|
|
109
|
+
return searchFilter;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Formata o filtro quando for "Ou"
|
|
113
|
+
* @param attribute Nome do atributo da entidade.
|
|
114
|
+
* @param value Valor da propriedade do objeto.
|
|
115
|
+
*/
|
|
116
|
+
AutocompleteService.prototype.getSearchFilterString = function (attribute, value) {
|
|
117
|
+
return "contains(tolower(" + attribute + "), '" + value.toLowerCase() + "')";
|
|
118
|
+
};
|
|
119
|
+
AutocompleteService.ctorParameters = function () { return [
|
|
120
|
+
{ type: HttpClientService }
|
|
121
|
+
]; };
|
|
122
|
+
AutocompleteService = tslib_1.__decorate([
|
|
123
|
+
Injectable()
|
|
124
|
+
], AutocompleteService);
|
|
125
|
+
return AutocompleteService;
|
|
126
|
+
}());
|
|
127
|
+
export { AutocompleteService };
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvYXV0b2NvbXBsZXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNELElBQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUd2QjtJQUVJLDZCQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtJQUFJLENBQUM7SUFFdkQsNkNBQWUsR0FBdEIsVUFBdUIsTUFBYyxFQUFFLE1BQWMsRUFBRSxZQUFpQixFQUFFLFlBQXFCLEVBQUUsT0FBb0I7UUFDakgsSUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDbEYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDO2FBQ3JFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQyxNQUFNLElBQUssT0FBQSxNQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsRUFB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SUFFRDs7OztPQUlHO0lBQ0ssbURBQXFCLEdBQTdCLFVBQThCLFNBQWlCLEVBQUUsS0FBVTtRQUN2RCxPQUFPLHNCQUFvQixTQUFTLFlBQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFJLENBQUM7SUFDdkUsQ0FBQzs7Z0JBM0Z1QyxpQkFBaUI7O0lBRmhELG1CQUFtQjtRQUQvQixVQUFVLEVBQUU7T0FDQSxtQkFBbUIsQ0E4Ri9CO0lBQUQsMEJBQUM7Q0FBQSxBQTlGRCxJQThGQztTQTlGWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50U2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9odHRwLWNsaWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvcmVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2VudW1zL2NvcmVGaWVsZFR5cGUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgKiBhcyBfbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZXJ2aWNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZW51bXMvc2VydmljZVR5cGUnO1xuXG5jb25zdCBtb21lbnQgPSBfbW9tZW50O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnRlU2VydmljZTogSHR0cENsaWVudFNlcnZpY2UpIHsgfVxuXG4gICAgcHVibGljIGdldEF1dG9Db21wbGV0ZShlbnRpdHk6IHN0cmluZywgcGFyYW1zOiBvYmplY3QsIHNlYXJjaEZpZWxkczogYW55LCBjb2RlSXNTdHJpbmc6IGJvb2xlYW4sIHNlcnZpY2U6IFNlcnZpY2VUeXBlKSB7XG4gICAgICAgIGNvbnN0IGdldFBhcmFtcyA9IHRoaXMuZ2VuZXJhdGVHcmlkUGFyYW1ldGVycyhwYXJhbXMsIHNlYXJjaEZpZWxkcywgY29kZUlzU3RyaW5nKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudGVTZXJ2aWNlLmdldEF1dG9Db21wbGV0ZShlbnRpdHksIGdldFBhcmFtcywgc2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKG1hcCgocmVzdWx0KSA9PiByZXN1bHQgJiYgcmVzdWx0LmNvbnRlbnRzKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEF1dG9Db21wbGV0ZVF1ZXJ5KHF1ZXJ5OiBzdHJpbmcsIHBhcmFtczogb2JqZWN0LCBzZXJ2aWNlOiBTZXJ2aWNlVHlwZSA9IFNlcnZpY2VUeXBlLlBBWVJPTEwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudGVTZXJ2aWNlLnF1ZXJ5KHF1ZXJ5LCBwYXJhbXMsIHNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZShtYXAoKGRhdGEpID0+IGRhdGEgJiYgZGF0YS5yZXN1bHQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXJhIG9zIHBhcmFtZXRyb3MgZGUgcGVzcXVpc2EgdmlhIHBlc3F1aXNhIG5hIGdyaWRcbiAgICAgKiBAcGFyYW0gZmlsdGVyRGF0YVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVHcmlkUGFyYW1ldGVycyhmaWx0ZXJEYXRhOiBvYmplY3QsIHNlYXJjaEZpZWxkczogYW55LCBjb2RlSXNTdHJpbmc6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgZ3JpZFBhcmFtZXRlcnMgPSBcIlwiO1xuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXJEYXRhKS5mb3JFYWNoKChhdHRyaWJ1dGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyU2VhcmNoRmllbGQgPSBzZWFyY2hGaWVsZHMgJiYgc2VhcmNoRmllbGRzLmZpbHRlcihmaWVsZCA9PiBhdHRyaWJ1dGUgPT09IGZpZWxkLm5hbWUpWzBdO1xuICAgICAgICAgICAgbGV0IGZpbHRlclF1ZXJ5U3RyaW5nID0gbnVsbDtcbiAgICAgICAgICAgIGxldCBvcGVyYXRvcnNRdWVyeSA9IFwiXCI7XG4gICAgICAgICAgICBsZXQgc2VhcmNoRmllbGQ6IGFueSA9IGZpbHRlclNlYXJjaEZpZWxkICYmIGZpbHRlclNlYXJjaEZpZWxkLnR5cGU7XG4gICAgICAgICAgICBpZiAoIWZpbHRlclNlYXJjaEZpZWxkICYmIGF0dHJpYnV0ZSAhPSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlKSBzZWFyY2hGaWVsZCA9IEZpZWxkVHlwZS5TdHJpbmc7XG4gICAgICAgICAgICBpZiAoIWZpbHRlclNlYXJjaEZpZWxkICYmIGF0dHJpYnV0ZSA9PT0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZSkgc2VhcmNoRmllbGQgPSBDb3JlRmllbGRUeXBlLnNlYXJjaFZhbHVlO1xuICAgICAgICAgICAgaWYgKGdyaWRQYXJhbWV0ZXJzKSBvcGVyYXRvcnNRdWVyeSA9IFwiIGFuZCBcIjtcbiAgICAgICAgICAgIGZpbHRlclF1ZXJ5U3RyaW5nID0gdGhpcy5nZXRQYXJhbWV0ZXJCeVR5cGUoc2VhcmNoRmllbGQsIGF0dHJpYnV0ZSwgZmlsdGVyRGF0YVthdHRyaWJ1dGVdLCBjb2RlSXNTdHJpbmcpO1xuICAgICAgICAgICAgaWYgKGZpbHRlclF1ZXJ5U3RyaW5nKSBncmlkUGFyYW1ldGVycyArPSBgICR7b3BlcmF0b3JzUXVlcnl9ICR7ZmlsdGVyUXVlcnlTdHJpbmd9YDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBncmlkUGFyYW1ldGVycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXJhIGEgc3RyaW5nIGRlIGNvbnN1bHRhIENSVUQgZGUgdW0gY2FtcG8uXG4gICAgICogQHBhcmFtIHR5cGUgVGlwbyBkbyBjYW1wby5cbiAgICAgKiBAcGFyYW0gYXR0cmlidXRlIE5vbWUgZG8gYXRyaWJ1dGUgZGEgZW50aWRhZGVcbiAgICAgKiBAcGFyYW0gdmFsdWUgVmFsb3IgZG8gY2FtcG9cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFBhcmFtZXRlckJ5VHlwZSh0eXBlOiBhbnksIGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogYW55LCBjb2RlSXNTdHJpbmc6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXZhbHVlICYmIHR5cGUgIT0gQ29yZUZpZWxkVHlwZS5zZWFyY2hWYWx1ZSkgcmV0dXJuIGAke2F0dHJpYnV0ZX0gaXMgbnVsbGA7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSA9PT0gJ25vdCBudWxsJyAmJiB0eXBlICE9IENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWUpIHJldHVybiBgJHthdHRyaWJ1dGV9IGlzIG5vdCBudWxsYDtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHthdHRyaWJ1dGV9IGVxICcke21vbWVudCh2YWx1ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyl9J2A7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHthdHRyaWJ1dGV9IGVxICcke3ZhbHVlfSdgO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuSW50ZWdlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAke3ZhbHVlfWA7XG4gICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2F0dHJpYnV0ZX0gZXEgJyR7dmFsdWUuaWR9J2A7XG4gICAgICAgICAgICBjYXNlIENvcmVGaWVsZFR5cGUuc2VhcmNoVmFsdWU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0UGFyYW1ldGVyQnlTZWFyY2hUeXBlKHZhbHVlLCBjb2RlSXNTdHJpbmcpfWA7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlYXJjaEZpbHRlclN0cmluZyhhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbyBmaWx0cm8gZm9ybWF0YWRvciBwYXJhIHNlciBjaGFtZG8gbm8gZW5kcG9pbnRcbiAgICAgKiBAcGFyYW0gdmFsdWVGaWx0ZXJTZWFyY2ggdmFsb3IgcHJhIGFkaWNpb25hciBubyBmaWx0cm9cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFBhcmFtZXRlckJ5U2VhcmNoVHlwZSh2YWx1ZUZpbHRlclNlYXJjaDogYW55LCBjb2RlSXNTdHJpbmc6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgc2VhcmNoRmlsdGVyID0gXCJcIjtcbiAgICAgICAgaWYgKHZhbHVlRmlsdGVyU2VhcmNoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZUZpbHRlclNlYXJjaCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSBcImNvZGVcIiAmJiBOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1F1b3RlID0gY29kZUlzU3RyaW5nID8gXCInXCIgOiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VhcmNoRmlsdGVyKVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRmlsdGVyICs9IGAgb3IgJHtrZXl9IGVxICR7aGFzUXVvdGV9JHt2YWx1ZX0ke2hhc1F1b3RlfWA7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSBgJHtrZXl9IGVxICR7aGFzUXVvdGV9JHt2YWx1ZX0ke2hhc1F1b3RlfWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgIT0gXCJjb2RlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlYXJjaEZpbHRlcilcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaEZpbHRlciArPSBgIG9yICR7dGhpcy5nZXRTZWFyY2hGaWx0ZXJTdHJpbmcoa2V5LCB2YWx1ZSl9YDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRmlsdGVyICs9IHRoaXMuZ2V0U2VhcmNoRmlsdGVyU3RyaW5nKGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlYXJjaEZpbHRlciA9IHNlYXJjaEZpbHRlciA/IGAoJHtzZWFyY2hGaWx0ZXJ9KWAgOiAnJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VhcmNoRmlsdGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZvcm1hdGEgbyBmaWx0cm8gcXVhbmRvIGZvciBcIk91XCJcbiAgICAgKiBAcGFyYW0gYXR0cmlidXRlIE5vbWUgZG8gYXRyaWJ1dG8gZGEgZW50aWRhZGUuXG4gICAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGRhIHByb3ByaWVkYWRlIGRvIG9iamV0by5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFNlYXJjaEZpbHRlclN0cmluZyhhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgY29udGFpbnModG9sb3dlcigke2F0dHJpYnV0ZX0pLCAnJHt2YWx1ZS50b0xvd2VyQ2FzZSgpfScpYDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./transportation-voucher-scale-lookup.component";
|
|
2
|
+
export * from "./transportation-voucher-scale-lookup.module";
|
|
3
|
+
export * from "./transportation-voucher-scale-lookup.dto";
|
|
4
|
+
export * from "./autocomplete.service";
|
|
5
|
+
export * from "./lookup.service";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90cmFuc3BvcnRhdGlvbi12b3VjaGVyLXNjYWxlLWxvb2t1cC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyYW5zcG9ydGF0aW9uLXZvdWNoZXItc2NhbGUtbG9va3VwLmR0b1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXV0b2NvbXBsZXRlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvb2t1cC5zZXJ2aWNlXCI7XG4iXX0=
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { HttpClient } from "@angular/common/http";
|
|
3
|
+
import { Injectable } from "@angular/core";
|
|
4
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
5
|
+
import { FieldType } from "@seniorsistemas/angular-components";
|
|
6
|
+
import * as moment_ from "moment";
|
|
7
|
+
import { MessageService } from "primeng/api";
|
|
8
|
+
import { throwError } from "rxjs";
|
|
9
|
+
import { map, catchError } from "rxjs/operators";
|
|
10
|
+
var moment = moment_;
|
|
11
|
+
var LookupService = /** @class */ (function () {
|
|
12
|
+
function LookupService(http, messageService, translateService) {
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.messageService = messageService;
|
|
15
|
+
this.translateService = translateService;
|
|
16
|
+
}
|
|
17
|
+
LookupService.prototype.lookupRequestPost = function (httpPostParams, endpoint, concatFields, lookupDisplayField) {
|
|
18
|
+
if (concatFields === void 0) { concatFields = null; }
|
|
19
|
+
this.httpPostParams = httpPostParams;
|
|
20
|
+
this.postConfigPageSize(httpPostParams);
|
|
21
|
+
this.lookupDisplayField = lookupDisplayField;
|
|
22
|
+
this.concatFields = concatFields;
|
|
23
|
+
return this.postDataLookup(endpoint);
|
|
24
|
+
};
|
|
25
|
+
LookupService.prototype.postConfigPageSize = function (httpPostParams) {
|
|
26
|
+
if (httpPostParams) {
|
|
27
|
+
this.httpPostParams.page.size = httpPostParams.page && httpPostParams.page.size ? httpPostParams.page.size : 10;
|
|
28
|
+
this.httpPostParams.page.current = httpPostParams.page && httpPostParams.page.current ? httpPostParams.page.current : 0;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* POST
|
|
33
|
+
* @param endpoint Busca e faz o tratamento dos dados do lookup.
|
|
34
|
+
* @param httpParams HttpParams
|
|
35
|
+
*/
|
|
36
|
+
LookupService.prototype.postDataLookup = function (endpoint) {
|
|
37
|
+
var _this = this;
|
|
38
|
+
return this.postUrlDataLookup(endpoint, this.httpPostParams).pipe(map(function (payload) {
|
|
39
|
+
var contents = payload.contents;
|
|
40
|
+
if (_this.concatFields && _this.concatFields.length) {
|
|
41
|
+
contents.map(function (value) {
|
|
42
|
+
if (_this.concatOtherFields) {
|
|
43
|
+
_this.convertGridFieldValue(value);
|
|
44
|
+
}
|
|
45
|
+
value[_this.lookupDisplayField] = _this.generateDisplayFieldValue(tslib_1.__assign({}, value));
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return payload;
|
|
49
|
+
}));
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Converte o valor do campo para apresentação no lookup.
|
|
53
|
+
*
|
|
54
|
+
* @param content Valor do campo para conversão.
|
|
55
|
+
* @param field FormField do campo.
|
|
56
|
+
*/
|
|
57
|
+
LookupService.prototype.convertLookupFieldValue = function (content, field) {
|
|
58
|
+
if (content) {
|
|
59
|
+
switch (field.type) {
|
|
60
|
+
case FieldType.Date:
|
|
61
|
+
content = moment(content).format("L");
|
|
62
|
+
break;
|
|
63
|
+
case FieldType.Enum:
|
|
64
|
+
var enumValue = field.options.filter(function (enumeration) { return enumeration.value === content; })[0];
|
|
65
|
+
content = enumValue ? enumValue.label : content;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return content;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Converte os dados para visualização na grid
|
|
73
|
+
* @param content
|
|
74
|
+
*/
|
|
75
|
+
LookupService.prototype.convertGridFieldValue = function (content) {
|
|
76
|
+
if (content) {
|
|
77
|
+
this.concatOtherFields.forEach(function (field) {
|
|
78
|
+
switch (field.type) {
|
|
79
|
+
case FieldType.Enum:
|
|
80
|
+
var enumValue = field.options.filter(function (enumeration) { return enumeration.value === content[field.name]; })[0];
|
|
81
|
+
content[field.name] = enumValue ? enumValue.label : content[field.name];
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Faz a concatenação de valores do registro para ser apresentado no lookup ao selecionar o dado.
|
|
89
|
+
* @param contentValue Valor do registro.
|
|
90
|
+
*/
|
|
91
|
+
LookupService.prototype.generateDisplayFieldValue = function (contentValue) {
|
|
92
|
+
var _this = this;
|
|
93
|
+
var displayField = "";
|
|
94
|
+
this.concatFields.forEach(function (field) {
|
|
95
|
+
var fieldValue = _this.convertLookupFieldValue(contentValue[field.name], field);
|
|
96
|
+
if (fieldValue) {
|
|
97
|
+
if (displayField) {
|
|
98
|
+
displayField += " - " + fieldValue;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
displayField = fieldValue;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
return displayField;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Faz a requisição POST na URL do lookup.
|
|
109
|
+
* @param endpoint - URL do endpoint.
|
|
110
|
+
* @param httpParams - Parâmetros HTTP.
|
|
111
|
+
*/
|
|
112
|
+
LookupService.prototype.postUrlDataLookup = function (endpoint, httpParams) {
|
|
113
|
+
var _this = this;
|
|
114
|
+
if (httpParams) {
|
|
115
|
+
return this.http.post("" + endpoint, tslib_1.__assign({}, httpParams)).pipe(catchError(function (exception) {
|
|
116
|
+
if (exception.status === 403) {
|
|
117
|
+
_this.messageService.add({
|
|
118
|
+
severity: "error",
|
|
119
|
+
summary: _this.translateService.instant("hcm.payroll.error"),
|
|
120
|
+
detail: _this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
|
|
121
|
+
sticky: true,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
return throwError(exception);
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
return this.http.post("" + endpoint, {}).pipe(catchError(function (exception) {
|
|
129
|
+
if (exception.status === 403) {
|
|
130
|
+
_this.messageService.add({
|
|
131
|
+
severity: "error",
|
|
132
|
+
summary: _this.translateService.instant("hcm.payroll.error"),
|
|
133
|
+
detail: _this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
|
|
134
|
+
sticky: true,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
return throwError(exception);
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
LookupService.ctorParameters = function () { return [
|
|
142
|
+
{ type: HttpClient },
|
|
143
|
+
{ type: MessageService },
|
|
144
|
+
{ type: TranslateService }
|
|
145
|
+
]; };
|
|
146
|
+
LookupService = tslib_1.__decorate([
|
|
147
|
+
Injectable()
|
|
148
|
+
], LookupService);
|
|
149
|
+
return LookupService;
|
|
150
|
+
}());
|
|
151
|
+
export { LookupService };
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJhbnNwb3J0YXRpb24tdm91Y2hlci1zY2FsZS1sb29rdXAvbG9va3VwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFHdkI7SUFRSSx1QkFBb0IsSUFBZ0IsRUFBVSxjQUE4QixFQUFVLGdCQUFrQztRQUFwRyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN4SCxDQUFDO0lBRUQseUNBQWlCLEdBQWpCLFVBQWtCLGNBQW1CLEVBQUUsUUFBZ0IsRUFBRSxZQUFxQyxFQUFFLGtCQUEwQjtRQUFqRSw2QkFBQSxFQUFBLG1CQUFxQztRQUMxRixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGtC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LEVBQUUsT0FBTzt3QkFDakIsT0FBTyxFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUM7d0JBQzNELE1BQU0sRUFBRSxLQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO3dCQUNqRixNQUFNLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUM7aUJBQ047Z0JBQ0QsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNMO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUcsUUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekMsVUFBVSxDQUFDLFVBQUMsU0FBYztnQkFDdEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtvQkFDMUIsS0FBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7d0JBQ3BCLFFBQVEsRUFBRSxPQUFPO3dCQUNqQixPQUFPLEVBQUUsS0FBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUM7d0JBQ2pGLE1BQU0sRUFBRSxJQUFJO3FCQUNmLENBQUMsQ0FBQztpQkFDTjtnQkFDRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO1NBQ0w7SUFDTCxDQUFDOztnQkF6SXlCLFVBQVU7Z0JBQTBCLGNBQWM7Z0JBQTRCLGdCQUFnQjs7SUFSL0csYUFBYTtRQUR6QixVQUFVLEVBQUU7T0FDQSxhQUFhLENBa0p6QjtJQUFELG9CQUFDO0NBQUEsQUFsSkQsSUFrSkM7U0FsSlksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1GaWVsZCB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkRhdGEgfSBmcm9tIFwiLi4vLi4vY29yZS9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb29rdXBTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY29uY2F0RmllbGRzOiBhbnk7XG4gICAgcHJpdmF0ZSBjb25jYXRPdGhlckZpZWxkczogYW55O1xuICAgIHByaXZhdGUgbG9va3VwRGlzcGxheUZpZWxkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBodHRwUG9zdFBhcmFtczogYW55O1xuICAgIHByaXZhdGUgcGFnZTogUGFnaW5hdGlvbkRhdGE7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBsb29rdXBSZXF1ZXN0UG9zdChodHRwUG9zdFBhcmFtczogYW55LCBlbmRwb2ludDogc3RyaW5nLCBjb25jYXRGaWVsZHM6IEFycmF5PEZvcm1GaWVsZD4gPSBudWxsLCBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zID0gaHR0cFBvc3RQYXJhbXM7XG4gICAgICAgIHRoaXMucG9zdENvbmZpZ1BhZ2VTaXplKGh0dHBQb3N0UGFyYW1zKTtcbiAgICAgICAgdGhpcy5sb29rdXBEaXNwbGF5RmllbGQgPSBsb29rdXBEaXNwbGF5RmllbGQ7XG4gICAgICAgIHRoaXMuY29uY2F0RmllbGRzID0gY29uY2F0RmllbGRzO1xuICAgICAgICByZXR1cm4gdGhpcy5wb3N0RGF0YUxvb2t1cChlbmRwb2ludCk7XG4gICAgfVxuXG4gICAgcG9zdENvbmZpZ1BhZ2VTaXplKGh0dHBQb3N0UGFyYW1zOiBhbnkpIHtcbiAgICAgICAgaWYgKGh0dHBQb3N0UGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zLnBhZ2Uuc2l6ZSA9IGh0dHBQb3N0UGFyYW1zLnBhZ2UgJiYgaHR0cFBvc3RQYXJhbXMucGFnZS5zaXplID8gaHR0cFBvc3RQYXJhbXMucGFnZS5zaXplIDogMTA7XG4gICAgICAgICAgICB0aGlzLmh0dHBQb3N0UGFyYW1zLnBhZ2UuY3VycmVudCA9IGh0dHBQb3N0UGFyYW1zLnBhZ2UgJiYgaHR0cFBvc3RQYXJhbXMucGFnZS5jdXJyZW50ID8gaHR0cFBvc3RQYXJhbXMucGFnZS5jdXJyZW50IDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBPU1RcbiAgICAgKiBAcGFyYW0gZW5kcG9pbnQgQnVzY2EgZSBmYXogbyB0cmF0YW1lbnRvIGRvcyBkYWRvcyBkbyBsb29rdXAuXG4gICAgICogQHBhcmFtIGh0dHBQYXJhbXMgSHR0cFBhcmFtc1xuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdERhdGFMb29rdXAoZW5kcG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdFVybERhdGFMb29rdXAoZW5kcG9pbnQsIHRoaXMuaHR0cFBvc3RQYXJhbXMpLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgeyBjb250ZW50cyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICBpZiAodGhpcy5jb25jYXRGaWVsZHMgJiYgdGhpcy5jb25jYXRGaWVsZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50cy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmNhdE90aGVyRmllbGRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udmVydEdyaWRGaWVsZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVbdGhpcy5sb29rdXBEaXNwbGF5RmllbGRdID0gdGhpcy5nZW5lcmF0ZURpc3BsYXlGaWVsZFZhbHVlKHsgLi4udmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRlIG8gdmFsb3IgZG8gY2FtcG8gcGFyYSBhcHJlc2VudGHDp8OjbyBubyBsb29rdXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudCBWYWxvciBkbyBjYW1wbyBwYXJhIGNvbnZlcnPDo28uXG4gICAgICogQHBhcmFtIGZpZWxkIEZvcm1GaWVsZCBkbyBjYW1wby5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbnZlcnRMb29rdXBGaWVsZFZhbHVlKGNvbnRlbnQ6IGFueSwgZmllbGQ6IEZvcm1GaWVsZCk6IGFueSB7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gbW9tZW50KGNvbnRlbnQpLmZvcm1hdChcIkxcIik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkVudW06XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGZpZWxkLm9wdGlvbnMuZmlsdGVyKChlbnVtZXJhdGlvbjogYW55KSA9PiBlbnVtZXJhdGlvbi52YWx1ZSA9PT0gY29udGVudClbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBlbnVtVmFsdWUgPyBlbnVtVmFsdWUubGFiZWwgOiBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRlIG9zIGRhZG9zIHBhcmEgdmlzdWFsaXphw6fDo28gbmEgZ3JpZFxuICAgICAqIEBwYXJhbSBjb250ZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBjb252ZXJ0R3JpZEZpZWxkVmFsdWUoY29udGVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNvbmNhdE90aGVyRmllbGRzLmZvckVhY2goKGZpZWxkOiBGb3JtRmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudW1WYWx1ZSA9IGZpZWxkLm9wdGlvbnMuZmlsdGVyKChlbnVtZXJhdGlvbjogYW55KSA9PiBlbnVtZXJhdGlvbi52YWx1ZSA9PT0gY29udGVudFtmaWVsZC5uYW1lXSlbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50W2ZpZWxkLm5hbWVdID0gZW51bVZhbHVlID8gZW51bVZhbHVlLmxhYmVsIDogY29udGVudFtmaWVsZC5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmF6IGEgY29uY2F0ZW5hw6fDo28gZGUgdmFsb3JlcyBkbyByZWdpc3RybyBwYXJhIHNlciBhcHJlc2VudGFkbyBubyBsb29rdXAgYW8gc2VsZWNpb25hciBvIGRhZG8uXG4gICAgICogQHBhcmFtIGNvbnRlbnRWYWx1ZSBWYWxvciBkbyByZWdpc3Ryby5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlRGlzcGxheUZpZWxkVmFsdWUoY29udGVudFZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZGlzcGxheUZpZWxkID0gXCJcIjtcblxuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5jb252ZXJ0TG9va3VwRmllbGRWYWx1ZShjb250ZW50VmFsdWVbZmllbGQubmFtZV0sIGZpZWxkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQgKz0gYCAtICR7IGZpZWxkVmFsdWUgfWA7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkID0gZmllbGRWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBkaXNwbGF5RmllbGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmF6IGEgcmVxdWlzacOnw6NvIFBPU1QgbmEgVVJMIGRvIGxvb2t1cC5cbiAgICAgKiBAcGFyYW0gZW5kcG9pbnQgLSBVUkwgZG8gZW5kcG9pbnQuXG4gICAgICogQHBhcmFtIGh0dHBQYXJhbXMgLSBQYXLDom1ldHJvcyBIVFRQLlxuICAgICAqL1xuICAgIHByaXZhdGUgcG9zdFVybERhdGFMb29rdXAoZW5kcG9pbnQ6IHN0cmluZywgaHR0cFBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKGh0dHBQYXJhbXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtlbmRwb2ludH1gLCB7IC4uLmh0dHBQYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChleGNlcHRpb246IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChleGNlcHRpb24uc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZXJyb3JcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpY2t5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9uKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW5kcG9pbnR9YCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXhjZXB0aW9uOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXhjZXB0aW9uLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLmVycm9yXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0aWNreTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|