@techextensor/tab-core-utility 2.2.181 → 2.2.184
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/esm2022/index.mjs +5 -1
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +24 -13
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +14 -50
- package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +2 -2
- package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +38 -49
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +81 -30
- package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +141 -12
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +136 -35
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +89 -38
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +152 -131
- package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +7 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +6 -17
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +9 -11
- package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +13 -13
- package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +7 -45
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +79 -76
- package/esm2022/lib/tab-core-utility/app/helpers/response.adapter.mjs +38 -0
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +8 -4
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +8 -33
- package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/interfaces/signalr.interface.mjs +42 -0
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +39 -1
- package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +36 -7
- package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +84 -47
- package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +24 -13
- package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +57 -23
- package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +21 -10
- package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +12 -6
- package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +11 -4
- package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +17 -16
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +1 -55
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +1 -164
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +63 -1
- package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +82 -0
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +252 -0
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +207 -0
- package/index.d.ts +4 -0
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +13 -10
- package/lib/tab-core-utility/app/constants/common.d.ts +9 -0
- package/lib/tab-core-utility/app/constants/storage-constants.d.ts +1 -1
- package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +8 -1
- package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +20 -10
- package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +33 -6
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +45 -3
- package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +16 -21
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +34 -19
- package/lib/tab-core-utility/app/enums/query.enum.d.ts +3 -6
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +3 -8
- package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +3 -0
- package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +3 -3
- package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +7 -51
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +1 -0
- package/lib/tab-core-utility/app/helpers/response.adapter.d.ts +22 -0
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +2 -1
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +1 -0
- package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +50 -2
- package/lib/tab-core-utility/app/interfaces/signalr.interface.d.ts +80 -0
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +54 -9
- package/lib/tab-core-utility/app/models/app-field.model.d.ts +4 -2
- package/lib/tab-core-utility/app/models/app-object.model.d.ts +5 -3
- package/lib/tab-core-utility/app/models/app-screen.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/data-source-query.model.d.ts +7 -2
- package/lib/tab-core-utility/app/models/filter.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/parameter.model.d.ts +2 -2
- package/lib/tab-core-utility/app/models/sort.model.d.ts +1 -1
- package/lib/tab-core-utility/app/utils/json.util.d.ts +3 -2
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +1 -9
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +0 -61
- package/lib/tab-core-utility/core/http-client/api.service.d.ts +37 -0
- package/lib/tab-core-utility/core/service/signalr/operation-tracker.service.d.ts +40 -0
- package/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.d.ts +68 -0
- package/lib/tab-core-utility/core/service/signalr/signalr.service.d.ts +122 -0
- package/package.json +3 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataSourceQueryFieldType } from '../enums/dsq.enum';
|
|
1
2
|
import { FilterModel } from './filter.model';
|
|
2
3
|
import { ParameterModel } from './parameter.model';
|
|
3
4
|
import { SortModel } from './sort.model';
|
|
@@ -10,33 +11,51 @@ export class DataSourceQueryModel {
|
|
|
10
11
|
this.cachedParameters = [];
|
|
11
12
|
this.cachedFilters = [];
|
|
12
13
|
this.cachedSorts = [];
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
14
|
+
this.parsedConfiguration = null;
|
|
15
|
+
this.ID = raw?.queryId;
|
|
16
|
+
this.ObjectID = parentAppObject?.ID;
|
|
17
|
+
this.ObjectID_Tosave = raw?.ObjectID_Tosave;
|
|
18
|
+
this.QueryName = raw?.queryName;
|
|
19
|
+
this.DisplayName = raw?.queryName;
|
|
20
|
+
this.parsedConfiguration = this.parseConfiguration(raw?.configuration);
|
|
21
|
+
this.FilterLogic = this.parsedConfiguration?.Filters?.FilterLogic ?? null;
|
|
22
|
+
}
|
|
23
|
+
parseConfiguration(config) {
|
|
24
|
+
try {
|
|
25
|
+
return typeof config === 'string' ? JSON.parse(config) : (config ?? {});
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
19
30
|
}
|
|
20
31
|
/**
|
|
21
32
|
* Gets the fields for the data source query. The fields are enriched with the corresponding `AppFieldModel` objects.
|
|
33
|
+
* Handles both old format (array of objects) and new format (array of field ID strings).
|
|
22
34
|
* @returns {DataSourceQueries_Fields[]} The array of enriched fields.
|
|
23
35
|
*/
|
|
24
36
|
fields() {
|
|
25
37
|
if (!this.enrichedFields?.length) {
|
|
26
|
-
const rawFields = this.
|
|
38
|
+
const rawFields = this.parsedConfiguration?.SelectedFields;
|
|
27
39
|
if (rawFields?.length) {
|
|
28
|
-
|
|
29
|
-
|
|
40
|
+
this.enrichedFields = rawFields.map((field, index) => {
|
|
41
|
+
// Get the field ID - either from string directly or from object property
|
|
42
|
+
const fieldId = field;
|
|
30
43
|
let fieldModel;
|
|
31
44
|
// First try to find the field in the parent object
|
|
32
|
-
fieldModel = this.parentAppObject
|
|
45
|
+
fieldModel = this.parentAppObject?.field(fieldId);
|
|
33
46
|
// If not found and metadataHelper is available, search across all objects
|
|
34
47
|
if (!fieldModel && this.metadataHelper) {
|
|
35
|
-
fieldModel = this.metadataHelper.getFieldByIdOrName(
|
|
48
|
+
fieldModel = this.metadataHelper.getFieldByIdOrName(fieldId);
|
|
36
49
|
}
|
|
50
|
+
// Build the enriched field object
|
|
51
|
+
// New format: construct the full object from field model
|
|
37
52
|
return {
|
|
38
|
-
|
|
39
|
-
|
|
53
|
+
ID: this.ID + '_' + fieldModel?.ID,
|
|
54
|
+
AppFieldID: fieldModel?.ID,
|
|
55
|
+
SeqNo: index + 1,
|
|
56
|
+
FieldType: field.includes('.') ? DataSourceQueryFieldType.LookupField : DataSourceQueryFieldType.EntityField,
|
|
57
|
+
FieldDetails: field,
|
|
58
|
+
LookupDetails: field,
|
|
40
59
|
Field: fieldModel
|
|
41
60
|
};
|
|
42
61
|
});
|
|
@@ -63,9 +82,9 @@ export class DataSourceQueryModel {
|
|
|
63
82
|
*/
|
|
64
83
|
parameters() {
|
|
65
84
|
// Check if parameters have already been cached
|
|
66
|
-
if (!this.cachedParameters) {
|
|
85
|
+
if (!this.cachedParameters?.length) {
|
|
67
86
|
// Map raw parameters to ParameterModel instances and cache them
|
|
68
|
-
this.cachedParameters = (this.
|
|
87
|
+
this.cachedParameters = (this.parsedConfiguration?.Parameters || []).map((p) => new ParameterModel(p));
|
|
69
88
|
}
|
|
70
89
|
return this.cachedParameters;
|
|
71
90
|
}
|
|
@@ -91,9 +110,9 @@ export class DataSourceQueryModel {
|
|
|
91
110
|
*/
|
|
92
111
|
filters() {
|
|
93
112
|
// Check if filters have already been cached
|
|
94
|
-
if (!this.cachedFilters) {
|
|
113
|
+
if (!this.cachedFilters?.length) {
|
|
95
114
|
// Map raw filters to FilterModel instances and cache them
|
|
96
|
-
this.cachedFilters = (this.
|
|
115
|
+
this.cachedFilters = (this.parsedConfiguration?.Filters?.Filters || []).map((f) => new FilterModel(f));
|
|
97
116
|
}
|
|
98
117
|
return this.cachedFilters;
|
|
99
118
|
}
|
|
@@ -103,9 +122,9 @@ export class DataSourceQueryModel {
|
|
|
103
122
|
*/
|
|
104
123
|
sorts() {
|
|
105
124
|
// Check if sorts have already been cached
|
|
106
|
-
if (!this.cachedSorts) {
|
|
125
|
+
if (!this.cachedSorts?.length) {
|
|
107
126
|
// Map raw sorts to SortModel instances and cache them
|
|
108
|
-
this.cachedSorts = (this.
|
|
127
|
+
this.cachedSorts = (this.parsedConfiguration?.Sort || []).map((s) => new SortModel(s));
|
|
109
128
|
}
|
|
110
129
|
// Return the cached sorts
|
|
111
130
|
return this.cachedSorts;
|
|
@@ -123,11 +142,26 @@ export class DataSourceQueryModel {
|
|
|
123
142
|
this.DisplayName?.toLowerCase().includes(searchTerm));
|
|
124
143
|
}
|
|
125
144
|
/**
|
|
126
|
-
* Converts the DataSourceQueryModel instance to
|
|
127
|
-
*
|
|
145
|
+
* Converts the DataSourceQueryModel instance to JSON in the old API format (PascalCase).
|
|
146
|
+
* This ensures backward compatibility with code expecting the old format.
|
|
147
|
+
*
|
|
148
|
+
* @returns {any} The data in old API format.
|
|
128
149
|
*/
|
|
129
150
|
toJSON() {
|
|
130
|
-
return
|
|
151
|
+
return {
|
|
152
|
+
ID: this.ID,
|
|
153
|
+
ObjectID: this.ObjectID,
|
|
154
|
+
ObjectID_Tosave: this.ObjectID_Tosave,
|
|
155
|
+
QueryName: this.QueryName,
|
|
156
|
+
DisplayName: this.DisplayName,
|
|
157
|
+
Fields: this.fields(),
|
|
158
|
+
Filters: {
|
|
159
|
+
Filters: this.filters().map(f => f.toJSON()),
|
|
160
|
+
FilterLogic: this.FilterLogic
|
|
161
|
+
},
|
|
162
|
+
Sort: this.sorts().map(s => s.toJSON()),
|
|
163
|
+
Parameters: this.parameters().map(p => p.toJSON())
|
|
164
|
+
};
|
|
131
165
|
}
|
|
132
166
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYS9CLFlBQ21CLEdBQVEsRUFDaEIsZUFBK0IsRUFDaEMsY0FBOEI7UUFGckIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUmhDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFPcEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQztZQUNuQyxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsdUZBQXVGO2dCQUN2RixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtvQkFDakQsSUFBSSxVQUFVLENBQUM7b0JBRWYsbURBQW1EO29CQUNuRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUUxRCwwRUFBMEU7b0JBQzFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQ3hFLENBQUM7b0JBRUQsT0FBTzt3QkFDTCxHQUFHLEtBQUs7d0JBQ1IsMEVBQTBFO3dCQUMxRSxLQUFLLEVBQUUsVUFBVTtxQkFDbEIsQ0FBQTtnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpREFBaUQ7Z0JBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsOEJBQThCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxRQUFzRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILFVBQVU7UUFDUiwrQ0FBK0M7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLGdFQUFnRTtZQUNoRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLElBQVk7UUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU87UUFDTCw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSztRQUNILDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLHNEQUFzRDtZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCwwQkFBMEI7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQ0wsSUFBSSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnMnO1xyXG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gJy4vYXBwLW9iamVjdC5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkcyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlck1vZGVsIH0gZnJvbSAnLi9maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBQYXJhbWV0ZXJNb2RlbCB9IGZyb20gJy4vcGFyYW1ldGVyLm1vZGVsJztcclxuaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi9zb3J0Lm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBEYXRhU291cmNlUXVlcnlNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IE9iamVjdElEX1Rvc2F2ZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFF1ZXJ5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmlsdGVyTG9naWM6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIHByaXZhdGUgZW5yaWNoZWRGaWVsZHM6IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRQYXJhbWV0ZXJzOiBQYXJhbWV0ZXJNb2RlbFtdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRGaWx0ZXJzOiBGaWx0ZXJNb2RlbFtdID0gW107XHJcbiAgcHJpdmF0ZSBjYWNoZWRTb3J0czogU29ydE1vZGVsW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LFxyXG4gICAgcmVhZG9ubHkgcGFyZW50QXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCxcclxuICAgIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLklEID0gcmF3LklEO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHJhdy5PYmplY3RJRDtcclxuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Lk9iamVjdElEX1Rvc2F2ZTtcclxuICAgIHRoaXMuUXVlcnlOYW1lID0gcmF3LlF1ZXJ5TmFtZTtcclxuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXcuRGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gcmF3LkZpbHRlckxvZ2ljO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZmllbGRzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuIFRoZSBmaWVsZHMgYXJlIGVucmljaGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdHMuXHJcbiAgICogQHJldHVybnMge0RhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdfSBUaGUgYXJyYXkgb2YgZW5yaWNoZWQgZmllbGRzLlxyXG4gICAqL1xyXG4gIGZpZWxkcygpOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICBpZiAoIXRoaXMuZW5yaWNoZWRGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICBjb25zdCByYXdGaWVsZHMgPSB0aGlzLnJhdz8uRmllbGRzO1xyXG4gICAgICBpZiAocmF3RmllbGRzPy5sZW5ndGgpIHtcclxuICAgICAgICAvLyBFbnJpY2ggdGhlIGZpZWxkcyBieSBtYXBwaW5nIGVhY2ggZmllbGQgdG8gdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdC5cclxuICAgICAgICB0aGlzLmVucmljaGVkRmllbGRzID0gcmF3RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGZpZWxkTW9kZWw7XHJcblxyXG4gICAgICAgICAgLy8gRmlyc3QgdHJ5IHRvIGZpbmQgdGhlIGZpZWxkIGluIHRoZSBwYXJlbnQgb2JqZWN0XHJcbiAgICAgICAgICBmaWVsZE1vZGVsID0gdGhpcy5wYXJlbnRBcHBPYmplY3QuZmllbGQoZmllbGQuQXBwRmllbGRJRCk7XHJcblxyXG4gICAgICAgICAgLy8gSWYgbm90IGZvdW5kIGFuZCBtZXRhZGF0YUhlbHBlciBpcyBhdmFpbGFibGUsIHNlYXJjaCBhY3Jvc3MgYWxsIG9iamVjdHNcclxuICAgICAgICAgIGlmICghZmllbGRNb2RlbCAmJiB0aGlzLm1ldGFkYXRhSGVscGVyKSB7XHJcbiAgICAgICAgICAgIGZpZWxkTW9kZWwgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEZpZWxkQnlJZE9yTmFtZShmaWVsZC5BcHBGaWVsZElEKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5maWVsZCxcclxuICAgICAgICAgICAgLy8gVGhlIGBGaWVsZGAgcHJvcGVydHkgY29udGFpbnMgdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdC5cclxuICAgICAgICAgICAgRmllbGQ6IGZpZWxkTW9kZWxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXHJcbiAgICAgICAgdGhpcy5lbnJpY2hlZEZpZWxkcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGVucmljaGVkIGZpZWxkcy5cclxuICAgIHJldHVybiB0aGlzLmVucmljaGVkRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cclxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBmaWVsZHMgdGhhdCBzYXRpc2Z5IHRoZSBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgZmluZEZpZWxkcyhmaWx0ZXJGbjogKGZpZWxkOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHMpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmlsdGVyRm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cclxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIFBhcmFtZXRlck1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgcGFyYW1ldGVycyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRQYXJhbWV0ZXJzKSB7XHJcbiAgICAgIC8vIE1hcCByYXcgcGFyYW1ldGVycyB0byBQYXJhbWV0ZXJNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRQYXJhbWV0ZXJzID0gKHRoaXMucmF3Py5QYXJhbWV0ZXJzIHx8IFtdKS5tYXAoKHA6IGFueSkgPT4gbmV3IFBhcmFtZXRlck1vZGVsKHApKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIG1hbmRhdG9yeSBwYXJhbWV0ZXJzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBtYW5kYXRvcnkgUGFyYW1ldGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIG1hbmRhdG9yeVBhcmFtZXRlcnMoKTogUGFyYW1ldGVyTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzKCkuZmlsdGVyKHAgPT4gcC5Jc01hbmRhdG9yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB0byBmaW5kLlxyXG4gICAqIEByZXR1cm5zIHtQYXJhbWV0ZXJNb2RlbCB8IHVuZGVmaW5lZH0gVGhlIHBhcmFtZXRlciBtb2RlbCBpbnN0YW5jZSBpZiBmb3VuZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cclxuICAgKi9cclxuICBwYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogUGFyYW1ldGVyTW9kZWwgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgbmFtZUxvd2VyID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgZmlsdGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIHtGaWx0ZXJNb2RlbFtdfSBUaGUgYXJyYXkgb2YgRmlsdGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIGZpbHRlcnMoKTogRmlsdGVyTW9kZWxbXSB7XHJcbiAgICAvLyBDaGVjayBpZiBmaWx0ZXJzIGhhdmUgYWxyZWFkeSBiZWVuIGNhY2hlZFxyXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnMpIHtcclxuICAgICAgLy8gTWFwIHJhdyBmaWx0ZXJzIHRvIEZpbHRlck1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxyXG4gICAgICB0aGlzLmNhY2hlZEZpbHRlcnMgPSAodGhpcy5yYXcuRmlsdGVycz8uRmlsdGVycyB8fCBbXSkubWFwKChmOiBhbnkpID0+IG5ldyBGaWx0ZXJNb2RlbChmKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWRGaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHNvcnRzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1NvcnRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgU29ydE1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBzb3J0cygpOiBTb3J0TW9kZWxbXSB7XHJcbiAgICAvLyBDaGVjayBpZiBzb3J0cyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRTb3J0cykge1xyXG4gICAgICAvLyBNYXAgcmF3IHNvcnRzIHRvIFNvcnRNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnJhdy5Tb3J0IHx8IFtdKS5tYXAoKHM6IGFueSkgPT4gbmV3IFNvcnRNb2RlbChzKSk7XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGNhY2hlZCBzb3J0c1xyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkU29ydHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIGZpZWxkcyBvZiB0aGVcclxuICAgKiBjdXJyZW50IGRhdGEgc291cmNlIHF1ZXJ5XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRlcm0gVGhlIHNlYXJjaCB0ZXJtXHJcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5RdWVyeU5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHxcclxuICAgICAgdGhpcy5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZSB0byBhIEpTT04gcmVwcmVzZW50YXRpb24uXHJcbiAgICogQHJldHVybnMge2FueX0gVGhlIHJhdyBkYXRhIGluIEpTT04gZm9ybWF0LlxyXG4gICAqL1xyXG4gIHRvSlNPTigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucmF3O1xyXG4gIH1cclxufSJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sb0JBQW9CO0lBYy9CLFlBQ21CLEdBQVEsRUFDaEIsZUFBK0IsRUFDaEMsY0FBOEI7UUFGckIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBVGhDLG1CQUFjLEdBQStCLEVBQUUsQ0FBQztRQUNoRCxxQkFBZ0IsR0FBcUIsRUFBRSxDQUFDO1FBQ3hDLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFnQixFQUFFLENBQUM7UUFDOUIsd0JBQW1CLEdBQVEsSUFBSSxDQUFDO1FBT3RDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsRUFBRSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsZUFBZSxDQUFDO1FBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDbEMs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Q0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcbmltcG9ydCB7IEFwcE9iamVjdE1vZGVsIH0gZnJvbSAnLi9hcHAtb2JqZWN0Lm1vZGVsJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzIH0gZnJvbSAnLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzJztcclxuaW1wb3J0IHsgRmlsdGVyTW9kZWwgfSBmcm9tICcuL2ZpbHRlci5tb2RlbCc7XHJcbmltcG9ydCB7IFBhcmFtZXRlck1vZGVsIH0gZnJvbSAnLi9wYXJhbWV0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTb3J0TW9kZWwgfSBmcm9tICcuL3NvcnQubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VRdWVyeU1vZGVsIHtcclxuICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IE9iamVjdElEOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgT2JqZWN0SURfVG9zYXZlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgUXVlcnlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBGaWx0ZXJMb2dpYzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBlbnJpY2hlZEZpZWxkczogRGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZFBhcmFtZXRlcnM6IFBhcmFtZXRlck1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZEZpbHRlcnM6IEZpbHRlck1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGNhY2hlZFNvcnRzOiBTb3J0TW9kZWxbXSA9IFtdO1xyXG4gIHByaXZhdGUgcGFyc2VkQ29uZmlndXJhdGlvbjogYW55ID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LFxyXG4gICAgcmVhZG9ubHkgcGFyZW50QXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCxcclxuICAgIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyXHJcbiAgKSB7XHJcbiAgICB0aGlzLklEID0gcmF3Py5xdWVyeUlkO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHBhcmVudEFwcE9iamVjdD8uSUQ7XHJcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdz8uT2JqZWN0SURfVG9zYXZlO1xyXG4gICAgdGhpcy5RdWVyeU5hbWUgPSByYXc/LnF1ZXJ5TmFtZTtcclxuICAgIHRoaXMuRGlzcGxheU5hbWUgPSByYXc/LnF1ZXJ5TmFtZTtcclxuICAgIHRoaXMucGFyc2VkQ29uZmlndXJhdGlvbiA9IHRoaXMucGFyc2VDb25maWd1cmF0aW9uKHJhdz8uY29uZmlndXJhdGlvbik7XHJcbiAgICB0aGlzLkZpbHRlckxvZ2ljID0gdGhpcy5wYXJzZWRDb25maWd1cmF0aW9uPy5GaWx0ZXJzPy5GaWx0ZXJMb2dpYyA/PyBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUNvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWcpIDogKGNvbmZpZyA/PyB7fSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZmllbGRzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuIFRoZSBmaWVsZHMgYXJlIGVucmljaGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgYEFwcEZpZWxkTW9kZWxgIG9iamVjdHMuXHJcbiAgICogSGFuZGxlcyBib3RoIG9sZCBmb3JtYXQgKGFycmF5IG9mIG9iamVjdHMpIGFuZCBuZXcgZm9ybWF0IChhcnJheSBvZiBmaWVsZCBJRCBzdHJpbmdzKS5cclxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBlbnJpY2hlZCBmaWVsZHMuXHJcbiAgICovXHJcbiAgZmllbGRzKCk6IERhdGFTb3VyY2VRdWVyaWVzX0ZpZWxkc1tdIHtcclxuICAgIGlmICghdGhpcy5lbnJpY2hlZEZpZWxkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IHJhd0ZpZWxkcyA9IHRoaXMucGFyc2VkQ29uZmlndXJhdGlvbj8uU2VsZWN0ZWRGaWVsZHM7XHJcbiAgICAgIGlmIChyYXdGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuZW5yaWNoZWRGaWVsZHMgPSByYXdGaWVsZHMubWFwKChmaWVsZDogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAvLyBHZXQgdGhlIGZpZWxkIElEIC0gZWl0aGVyIGZyb20gc3RyaW5nIGRpcmVjdGx5IG9yIGZyb20gb2JqZWN0IHByb3BlcnR5XHJcbiAgICAgICAgICBjb25zdCBmaWVsZElkID0gZmllbGQ7XHJcblxyXG4gICAgICAgICAgbGV0IGZpZWxkTW9kZWw7XHJcbiAgICAgICAgICAvLyBGaXJzdCB0cnkgdG8gZmluZCB0aGUgZmllbGQgaW4gdGhlIHBhcmVudCBvYmplY3RcclxuICAgICAgICAgIGZpZWxkTW9kZWwgPSB0aGlzLnBhcmVudEFwcE9iamVjdD8uZmllbGQoZmllbGRJZCk7XHJcblxyXG4gICAgICAgICAgLy8gSWYgbm90IGZvdW5kIGFuZCBtZXRhZGF0YUhlbHBlciBpcyBhdmFpbGFibGUsIHNlYXJjaCBhY3Jvc3MgYWxsIG9iamVjdHNcclxuICAgICAgICAgIGlmICghZmllbGRNb2RlbCAmJiB0aGlzLm1ldGFkYXRhSGVscGVyKSB7XHJcbiAgICAgICAgICAgIGZpZWxkTW9kZWwgPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEZpZWxkQnlJZE9yTmFtZShmaWVsZElkKTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyBCdWlsZCB0aGUgZW5yaWNoZWQgZmllbGQgb2JqZWN0XHJcbiAgICAgICAgICAvLyBOZXcgZm9ybWF0OiBjb25zdHJ1Y3QgdGhlIGZ1bGwgb2JqZWN0IGZyb20gZmllbGQgbW9kZWxcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIElEOiB0aGlzLklEICsgJ18nICsgZmllbGRNb2RlbD8uSUQsXHJcbiAgICAgICAgICAgIEFwcEZpZWxkSUQ6IGZpZWxkTW9kZWw/LklELFxyXG4gICAgICAgICAgICBTZXFObzogaW5kZXggKyAxLFxyXG4gICAgICAgICAgICBGaWVsZFR5cGU6IGZpZWxkLmluY2x1ZGVzKCcuJykgPyBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUuTG9va3VwRmllbGQgOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGUuRW50aXR5RmllbGQsXHJcbiAgICAgICAgICAgIEZpZWxkRGV0YWlsczogZmllbGQsXHJcbiAgICAgICAgICAgIExvb2t1cERldGFpbHM6IGZpZWxkLFxyXG4gICAgICAgICAgICBGaWVsZDogZmllbGRNb2RlbFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZmllbGRzLCByZXR1cm4gYW4gZW1wdHkgYXJyYXkuXHJcbiAgICAgICAgdGhpcy5lbnJpY2hlZEZpZWxkcyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBSZXR1cm4gdGhlIGVucmljaGVkIGZpZWxkcy5cclxuICAgIHJldHVybiB0aGlzLmVucmljaGVkRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cclxuICAgKiBAcmV0dXJucyB7RGF0YVNvdXJjZVF1ZXJpZXNfRmllbGRzW119IFRoZSBhcnJheSBvZiBmaWVsZHMgdGhhdCBzYXRpc2Z5IHRoZSBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgZmluZEZpZWxkcyhmaWx0ZXJGbjogKGZpZWxkOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHMpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcmllc19GaWVsZHNbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmlsdGVyRm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFuZCBjYWNoZXMgdGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBkYXRhIHNvdXJjZSBxdWVyeS5cclxuICAgKiBAcmV0dXJucyB7UGFyYW1ldGVyTW9kZWxbXX0gVGhlIGFycmF5IG9mIFBhcmFtZXRlck1vZGVsIGluc3RhbmNlcy5cclxuICAgKi9cclxuICBwYXJhbWV0ZXJzKCk6IFBhcmFtZXRlck1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgcGFyYW1ldGVycyBoYXZlIGFscmVhZHkgYmVlbiBjYWNoZWRcclxuICAgIGlmICghdGhpcy5jYWNoZWRQYXJhbWV0ZXJzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHJhdyBwYXJhbWV0ZXJzIHRvIFBhcmFtZXRlck1vZGVsIGluc3RhbmNlcyBhbmQgY2FjaGUgdGhlbVxyXG4gICAgICB0aGlzLmNhY2hlZFBhcmFtZXRlcnMgPSAodGhpcy5wYXJzZWRDb25maWd1cmF0aW9uPy5QYXJhbWV0ZXJzIHx8IFtdKS5tYXAoKHA6IGFueSkgPT4gbmV3IFBhcmFtZXRlck1vZGVsKHApKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNhY2hlZFBhcmFtZXRlcnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIG1hbmRhdG9yeSBwYXJhbWV0ZXJzIGZvciB0aGUgZGF0YSBzb3VyY2UgcXVlcnkuXHJcbiAgICogQHJldHVybnMge1BhcmFtZXRlck1vZGVsW119IFRoZSBhcnJheSBvZiBtYW5kYXRvcnkgUGFyYW1ldGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIG1hbmRhdG9yeVBhcmFtZXRlcnMoKTogUGFyYW1ldGVyTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzKCkuZmlsdGVyKHAgPT4gcC5Jc01hbmRhdG9yeSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGaW5kcyBhIHBhcmFtZXRlciBieSBpdHMgbmFtZSAoY2FzZS1pbnNlbnNpdGl2ZSkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB0byBmaW5kLlxyXG4gICAqIEByZXR1cm5zIHtQYXJhbWV0ZXJNb2RlbCB8IHVuZGVmaW5lZH0gVGhlIHBhcmFtZXRlciBtb2RlbCBpbnN0YW5jZSBpZiBmb3VuZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cclxuICAgKi9cclxuICBwYXJhbWV0ZXIobmFtZTogc3RyaW5nKTogUGFyYW1ldGVyTW9kZWwgfCB1bmRlZmluZWQge1xyXG4gICAgY29uc3QgbmFtZUxvd2VyID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycygpLmZpbmQocCA9PiBwLlBhcmFtZXRlck5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWVMb3dlcik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYW5kIGNhY2hlcyB0aGUgZmlsdGVycyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIHtGaWx0ZXJNb2RlbFtdfSBUaGUgYXJyYXkgb2YgRmlsdGVyTW9kZWwgaW5zdGFuY2VzLlxyXG4gICAqL1xyXG4gIGZpbHRlcnMoKTogRmlsdGVyTW9kZWxbXSB7XHJcbiAgICAvLyBDaGVjayBpZiBmaWx0ZXJzIGhhdmUgYWxyZWFkeSBiZWVuIGNhY2hlZFxyXG4gICAgaWYgKCF0aGlzLmNhY2hlZEZpbHRlcnM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyBNYXAgcmF3IGZpbHRlcnMgdG8gRmlsdGVyTW9kZWwgaW5zdGFuY2VzIGFuZCBjYWNoZSB0aGVtXHJcbiAgICAgIHRoaXMuY2FjaGVkRmlsdGVycyA9ICh0aGlzLnBhcnNlZENvbmZpZ3VyYXRpb24/LkZpbHRlcnM/LkZpbHRlcnMgfHwgW10pLm1hcCgoZjogYW55KSA9PiBuZXcgRmlsdGVyTW9kZWwoZikpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVkRmlsdGVycztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbmQgY2FjaGVzIHRoZSBzb3J0cyBmb3IgdGhlIGRhdGEgc291cmNlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIHtTb3J0TW9kZWxbXX0gVGhlIGFycmF5IG9mIFNvcnRNb2RlbCBpbnN0YW5jZXMuXHJcbiAgICovXHJcbiAgc29ydHMoKTogU29ydE1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgc29ydHMgaGF2ZSBhbHJlYWR5IGJlZW4gY2FjaGVkXHJcbiAgICBpZiAoIXRoaXMuY2FjaGVkU29ydHM/Lmxlbmd0aCkge1xyXG4gICAgICAvLyBNYXAgcmF3IHNvcnRzIHRvIFNvcnRNb2RlbCBpbnN0YW5jZXMgYW5kIGNhY2hlIHRoZW1cclxuICAgICAgdGhpcy5jYWNoZWRTb3J0cyA9ICh0aGlzLnBhcnNlZENvbmZpZ3VyYXRpb24/LlNvcnQgfHwgW10pLm1hcCgoczogYW55KSA9PiBuZXcgU29ydE1vZGVsKHMpKTtcclxuICAgIH1cclxuICAgIC8vIFJldHVybiB0aGUgY2FjaGVkIHNvcnRzXHJcbiAgICByZXR1cm4gdGhpcy5jYWNoZWRTb3J0cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpcyBwcmVzZW50IGluIGFueSBvZiB0aGUgZmllbGRzIG9mIHRoZVxyXG4gICAqIGN1cnJlbnQgZGF0YSBzb3VyY2UgcXVlcnlcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVybSBUaGUgc2VhcmNoIHRlcm1cclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgZmllbGRcclxuICAgKi9cclxuICBzZWFyY2godGVybTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzZWFyY2hUZXJtID0gdGVybS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5JRD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSB8fFxyXG4gICAgICB0aGlzLlF1ZXJ5TmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSB8fFxyXG4gICAgICB0aGlzLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIERhdGFTb3VyY2VRdWVyeU1vZGVsIGluc3RhbmNlIHRvIEpTT04gaW4gdGhlIG9sZCBBUEkgZm9ybWF0IChQYXNjYWxDYXNlKS5cclxuICAgKiBUaGlzIGVuc3VyZXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGNvZGUgZXhwZWN0aW5nIHRoZSBvbGQgZm9ybWF0LlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge2FueX0gVGhlIGRhdGEgaW4gb2xkIEFQSSBmb3JtYXQuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBJRDogdGhpcy5JRCxcclxuICAgICAgT2JqZWN0SUQ6IHRoaXMuT2JqZWN0SUQsXHJcbiAgICAgIE9iamVjdElEX1Rvc2F2ZTogdGhpcy5PYmplY3RJRF9Ub3NhdmUsXHJcbiAgICAgIFF1ZXJ5TmFtZTogdGhpcy5RdWVyeU5hbWUsXHJcbiAgICAgIERpc3BsYXlOYW1lOiB0aGlzLkRpc3BsYXlOYW1lLFxyXG4gICAgICBGaWVsZHM6IHRoaXMuZmllbGRzKCksXHJcbiAgICAgIEZpbHRlcnM6IHtcclxuICAgICAgICBGaWx0ZXJzOiB0aGlzLmZpbHRlcnMoKS5tYXAoZiA9PiBmLnRvSlNPTigpKSxcclxuICAgICAgICBGaWx0ZXJMb2dpYzogdGhpcy5GaWx0ZXJMb2dpY1xyXG4gICAgICB9LFxyXG4gICAgICBTb3J0OiB0aGlzLnNvcnRzKCkubWFwKHMgPT4gcy50b0pTT04oKSksXHJcbiAgICAgIFBhcmFtZXRlcnM6IHRoaXMucGFyYW1ldGVycygpLm1hcChwID0+IHAudG9KU09OKCkpXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,24 +1,35 @@
|
|
|
1
1
|
export class FilterModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
5
|
-
this.ConjuctionClause = raw?.
|
|
6
|
-
this.RelationalOperator = raw?.
|
|
4
|
+
this.ID = raw?.Id;
|
|
5
|
+
this.ConjuctionClause = raw?.Conjunction;
|
|
6
|
+
this.RelationalOperator = raw?.Operator;
|
|
7
7
|
this.ValueType = raw?.ValueType;
|
|
8
|
-
this.value = raw?.
|
|
8
|
+
this.value = raw?.Value;
|
|
9
9
|
this.Sequence = raw?.Sequence;
|
|
10
|
-
this.GroupID = raw?.
|
|
10
|
+
this.GroupID = raw?.GroupId;
|
|
11
11
|
this.LookupDetail = raw?.LookupDetail;
|
|
12
12
|
this.FieldType = raw?.FieldType;
|
|
13
|
-
this.FieldID = raw?.
|
|
13
|
+
this.FieldID = raw?.Id;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Converts the
|
|
16
|
+
* Converts the model to JSON in the old API format (PascalCase).
|
|
17
17
|
*
|
|
18
|
-
* @returns A JSON representation
|
|
18
|
+
* @returns A JSON representation in old format.
|
|
19
19
|
*/
|
|
20
20
|
toJSON() {
|
|
21
|
-
return
|
|
21
|
+
return {
|
|
22
|
+
ID: this.ID,
|
|
23
|
+
ConjuctionClause: this.ConjuctionClause,
|
|
24
|
+
RelationalOperator: this.RelationalOperator,
|
|
25
|
+
ValueType: this.ValueType,
|
|
26
|
+
value: this.value,
|
|
27
|
+
Sequence: this.Sequence,
|
|
28
|
+
GroupID: this.GroupID,
|
|
29
|
+
LookupDetail: this.LookupDetail,
|
|
30
|
+
FieldType: this.FieldType,
|
|
31
|
+
FieldID: this.FieldID
|
|
32
|
+
};
|
|
22
33
|
}
|
|
23
34
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFdBQVc7SUFZdEIsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDbkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsRUFBRSxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uanVjdGlvbkNsYXVzZSwgRGF0YVNvdXJjZVF1ZXJ5RmlsdGVyRmllbGRUeXBlLCBGaWx0ZXJWYWx1ZVR5cGUsIFJlbGF0aW9uYWxPcGVyYXRvciB9IGZyb20gXCIuLi9lbnVtcy9kc3EuZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZpbHRlck1vZGVsIHtcclxuICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IENvbmp1Y3Rpb25DbGF1c2U6IENvbmp1Y3Rpb25DbGF1c2U7XHJcbiAgcmVhZG9ubHkgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3I7XHJcbiAgcmVhZG9ubHkgVmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGU7XHJcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcclxuICByZWFkb25seSBTZXF1ZW5jZTogbnVtYmVyO1xyXG4gIHJlYWRvbmx5IEdyb3VwSUQ6IG51bWJlcjtcclxuICByZWFkb25seSBMb29rdXBEZXRhaWw6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBEYXRhU291cmNlUXVlcnlGaWx0ZXJGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgRmllbGRJRDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55KSB7XHJcbiAgICB0aGlzLklEID0gcmF3Py5JZDtcclxuICAgIHRoaXMuQ29uanVjdGlvbkNsYXVzZSA9IHJhdz8uQ29uanVuY3Rpb247XHJcbiAgICB0aGlzLlJlbGF0aW9uYWxPcGVyYXRvciA9IHJhdz8uT3BlcmF0b3I7XHJcbiAgICB0aGlzLlZhbHVlVHlwZSA9IHJhdz8uVmFsdWVUeXBlO1xyXG4gICAgdGhpcy52YWx1ZSA9IHJhdz8uVmFsdWU7XHJcbiAgICB0aGlzLlNlcXVlbmNlID0gcmF3Py5TZXF1ZW5jZTtcclxuICAgIHRoaXMuR3JvdXBJRCA9IHJhdz8uR3JvdXBJZDtcclxuICAgIHRoaXMuTG9va3VwRGV0YWlsID0gcmF3Py5Mb29rdXBEZXRhaWw7XHJcbiAgICB0aGlzLkZpZWxkVHlwZSA9IHJhdz8uRmllbGRUeXBlO1xyXG4gICAgdGhpcy5GaWVsZElEID0gcmF3Py5JZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBtb2RlbCB0byBKU09OIGluIHRoZSBvbGQgQVBJIGZvcm1hdCAoUGFzY2FsQ2FzZSkuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBBIEpTT04gcmVwcmVzZW50YXRpb24gaW4gb2xkIGZvcm1hdC5cclxuICAgKi9cclxuICB0b0pTT04oKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIElEOiB0aGlzLklELFxyXG4gICAgICBDb25qdWN0aW9uQ2xhdXNlOiB0aGlzLkNvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgICAgIFJlbGF0aW9uYWxPcGVyYXRvcjogdGhpcy5SZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgICAgIFZhbHVlVHlwZTogdGhpcy5WYWx1ZVR5cGUsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxyXG4gICAgICBTZXF1ZW5jZTogdGhpcy5TZXF1ZW5jZSxcclxuICAgICAgR3JvdXBJRDogdGhpcy5Hcm91cElELFxyXG4gICAgICBMb29rdXBEZXRhaWw6IHRoaXMuTG9va3VwRGV0YWlsLFxyXG4gICAgICBGaWVsZFR5cGU6IHRoaXMuRmllbGRUeXBlLFxyXG4gICAgICBGaWVsZElEOiB0aGlzLkZpZWxkSURcclxuICAgIH07XHJcbiAgfVxyXG59Il19
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
export class ParameterModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
5
|
-
this.ParameterName = raw?.
|
|
4
|
+
this.ID = raw?.Id;
|
|
5
|
+
this.ParameterName = raw?.FieldName;
|
|
6
6
|
this.DataSourceQueryID = raw?.DataSourceQueryID;
|
|
7
7
|
this.MappingFieldName = raw?.MappingFieldName;
|
|
8
8
|
this.IsMandatory = raw?.IsMandatory;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Converts the model to JSON.
|
|
12
|
-
* @returns {any} The model as a JSON object.
|
|
11
|
+
* Converts the model to JSON in the old API format (PascalCase).
|
|
12
|
+
* @returns {any} The model as a JSON object in old format.
|
|
13
13
|
*/
|
|
14
14
|
toJSON() {
|
|
15
|
-
return
|
|
15
|
+
return {
|
|
16
|
+
ID: this.ID,
|
|
17
|
+
ParameterName: this.ParameterName,
|
|
18
|
+
DataSourceQueryID: this.DataSourceQueryID,
|
|
19
|
+
MappingFieldName: this.MappingFieldName,
|
|
20
|
+
IsMandatory: this.IsMandatory
|
|
21
|
+
};
|
|
16
22
|
}
|
|
17
23
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9wYXJhbWV0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFPdkIsWUFBNkIsR0FBUTtRQUFSLFFBQUcsR0FBSCxHQUFHLENBQUs7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLEVBQUUsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0YsT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1NBQ2hDLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUGFyYW1ldGVyTW9kZWwge1xyXG4gICAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IFBhcmFtZXRlck5hbWU6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IERhdGFTb3VyY2VRdWVyeUlEOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBNYXBwaW5nRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBJc01hbmRhdG9yeTogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55KSB7XHJcbiAgICAgICAgdGhpcy5JRCA9IHJhdz8uSWQ7XHJcbiAgICAgICAgdGhpcy5QYXJhbWV0ZXJOYW1lID0gcmF3Py5GaWVsZE5hbWU7XHJcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnlJRCA9IHJhdz8uRGF0YVNvdXJjZVF1ZXJ5SUQ7XHJcbiAgICAgICAgdGhpcy5NYXBwaW5nRmllbGROYW1lID0gcmF3Py5NYXBwaW5nRmllbGROYW1lO1xyXG4gICAgICAgIHRoaXMuSXNNYW5kYXRvcnkgPSByYXc/LklzTWFuZGF0b3J5O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIG1vZGVsIHRvIEpTT04gaW4gdGhlIG9sZCBBUEkgZm9ybWF0IChQYXNjYWxDYXNlKS5cclxuICAgICAqIEByZXR1cm5zIHthbnl9IFRoZSBtb2RlbCBhcyBhIEpTT04gb2JqZWN0IGluIG9sZCBmb3JtYXQuXHJcbiAgICAgKi9cclxuICAgIHRvSlNPTigpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIElEOiB0aGlzLklELFxyXG4gICAgICAgICAgICBQYXJhbWV0ZXJOYW1lOiB0aGlzLlBhcmFtZXRlck5hbWUsXHJcbiAgICAgICAgICAgIERhdGFTb3VyY2VRdWVyeUlEOiB0aGlzLkRhdGFTb3VyY2VRdWVyeUlELFxyXG4gICAgICAgICAgICBNYXBwaW5nRmllbGROYW1lOiB0aGlzLk1hcHBpbmdGaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIElzTWFuZGF0b3J5OiB0aGlzLklzTWFuZGF0b3J5XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class SortModel {
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
|
-
this.ID = raw?.
|
|
4
|
+
this.ID = raw?.Id;
|
|
5
5
|
this.SortSequence = raw?.SortSequence;
|
|
6
6
|
this.Sequence = raw?.Sequence;
|
|
7
7
|
this.LookupDetails = raw?.LookupDetails;
|
|
@@ -9,10 +9,17 @@ export class SortModel {
|
|
|
9
9
|
this.AppFieldID = raw?.AppFieldID;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Converts the model to JSON in the old API format (PascalCase).
|
|
13
13
|
*/
|
|
14
14
|
toJSON() {
|
|
15
|
-
return
|
|
15
|
+
return {
|
|
16
|
+
ID: this.ID,
|
|
17
|
+
SortSequence: this.SortSequence,
|
|
18
|
+
Sequence: this.Sequence,
|
|
19
|
+
LookupDetails: this.LookupDetails,
|
|
20
|
+
FieldType: this.FieldType,
|
|
21
|
+
AppFieldID: this.AppFieldID
|
|
22
|
+
};
|
|
16
23
|
}
|
|
17
24
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sU0FBUztJQVFwQixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZSwgU29ydFNlcXVlbmNlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgU29ydE1vZGVsIHtcclxuICByZWFkb25seSBJRDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFNvcnRTZXF1ZW5jZTogU29ydFNlcXVlbmNlO1xyXG4gIHJlYWRvbmx5IFNlcXVlbmNlOiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgTG9va3VwRGV0YWlsczogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBGaWVsZFR5cGU6IERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZTtcclxuICByZWFkb25seSBBcHBGaWVsZElEOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXc/LklkO1xyXG4gICAgdGhpcy5Tb3J0U2VxdWVuY2UgPSByYXc/LlNvcnRTZXF1ZW5jZTtcclxuICAgIHRoaXMuU2VxdWVuY2UgPSByYXc/LlNlcXVlbmNlO1xyXG4gICAgdGhpcy5Mb29rdXBEZXRhaWxzID0gcmF3Py5Mb29rdXBEZXRhaWxzO1xyXG4gICAgdGhpcy5GaWVsZFR5cGUgPSByYXc/LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQXBwRmllbGRJRCA9IHJhdz8uQXBwRmllbGRJRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBtb2RlbCB0byBKU09OIGluIHRoZSBvbGQgQVBJIGZvcm1hdCAoUGFzY2FsQ2FzZSkuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBJRDogdGhpcy5JRCxcclxuICAgICAgU29ydFNlcXVlbmNlOiB0aGlzLlNvcnRTZXF1ZW5jZSxcclxuICAgICAgU2VxdWVuY2U6IHRoaXMuU2VxdWVuY2UsXHJcbiAgICAgIExvb2t1cERldGFpbHM6IHRoaXMuTG9va3VwRGV0YWlscyxcclxuICAgICAgRmllbGRUeXBlOiB0aGlzLkZpZWxkVHlwZSxcclxuICAgICAgQXBwRmllbGRJRDogdGhpcy5BcHBGaWVsZElEXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
|
|
@@ -16,9 +16,10 @@ export function validateJSON(str) {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Creates dynamic data based on the input object
|
|
19
|
+
* Creates dynamic data based on the input object for new API format
|
|
20
|
+
* Transforms object into array of {fieldName, value} pairs
|
|
20
21
|
* @param obj The input object to create dynamic data from
|
|
21
|
-
* @returns The formatted array
|
|
22
|
+
* @returns The formatted array with {fieldName, value} pairs
|
|
22
23
|
*/
|
|
23
24
|
export function createDynamicData(obj) {
|
|
24
25
|
return formatArray(obj);
|
|
@@ -69,29 +70,29 @@ export function getBulkInsertFields(dataArray) {
|
|
|
69
70
|
return Array.from(fieldSet);
|
|
70
71
|
}
|
|
71
72
|
/**
|
|
72
|
-
* Formats the input object into a new array with
|
|
73
|
+
* Formats the input object into a new array with fieldName and value pairs (NEW API format)
|
|
73
74
|
* @param input The input object to be formatted
|
|
74
|
-
* @returns The formatted array with
|
|
75
|
+
* @returns The formatted array with fieldName and value pairs
|
|
75
76
|
*/
|
|
76
77
|
function formatArray(input) {
|
|
77
78
|
if (input !== null && Object.keys(input)?.length) {
|
|
78
79
|
const newObj = Object.keys(input).map((key) => {
|
|
79
|
-
let
|
|
80
|
+
let value = '';
|
|
80
81
|
if (Array.isArray(input[key])) {
|
|
81
82
|
if (key === 'Child_Relationship') {
|
|
82
|
-
|
|
83
|
+
value = handleChildRelationship(input[key]);
|
|
83
84
|
}
|
|
84
85
|
else {
|
|
85
|
-
|
|
86
|
+
value = handlechild(input[key]);
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
else if (typeof input[key] === 'object') {
|
|
89
|
-
|
|
90
|
+
value = handleObject(input[key]);
|
|
90
91
|
}
|
|
91
92
|
else {
|
|
92
|
-
|
|
93
|
+
value = input[key];
|
|
93
94
|
}
|
|
94
|
-
return {
|
|
95
|
+
return { fieldName: key, value };
|
|
95
96
|
});
|
|
96
97
|
return newObj;
|
|
97
98
|
}
|
|
@@ -115,17 +116,17 @@ function handlechild(input) {
|
|
|
115
116
|
if (input !== null) {
|
|
116
117
|
input.forEach((element) => {
|
|
117
118
|
const newObj = Object.keys(element).map((key) => {
|
|
118
|
-
let
|
|
119
|
+
let value = '';
|
|
119
120
|
if (Array.isArray(element[key])) {
|
|
120
|
-
|
|
121
|
+
value = handlechild(element[key]);
|
|
121
122
|
}
|
|
122
123
|
else if (typeof element[key] === 'object') {
|
|
123
|
-
|
|
124
|
+
value = formatArray(element[key]);
|
|
124
125
|
}
|
|
125
126
|
else {
|
|
126
|
-
|
|
127
|
+
value = element[key];
|
|
127
128
|
}
|
|
128
|
-
return {
|
|
129
|
+
return { fieldName: key, value };
|
|
129
130
|
});
|
|
130
131
|
array.push(newObj);
|
|
131
132
|
});
|
|
@@ -207,4 +208,4 @@ export function removeBlankArrayKeys(dataObj) {
|
|
|
207
208
|
function isValueBlank(value) {
|
|
208
209
|
return value == null || value === '' || value === 'null' || value === 'undefined';
|
|
209
210
|
}
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsU0FBYztJQUNoRCxNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU5QyxPQUFPLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFRLEVBQUUsRUFBRTtRQUNqQyxPQUFPLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTFCLDZDQUE2QztZQUM3QyxJQUNFLEtBQUs7Z0JBQ0wsT0FBTyxLQUFLLEtBQUss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LEVBQUUsSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxXQUFXLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90b3R5cGUtYnVpbHRpbnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuLyoqXHJcbiAqIFZhbGlkYXRlcyBpZiBhIHN0cmluZyBpcyBhIHZhbGlkIEpTT04uXHJcbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byB2YWxpZGF0ZS5cclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgSlNPTiwgZmFsc2Ugb3RoZXJ3aXNlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSlNPTihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gIHRyeSB7XHJcbiAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShzdHIpO1xyXG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChqc29uKS5zbGljZSg4LCAtMSkgPT09ICdPYmplY3QnO1xyXG4gIH0gY2F0Y2ggKGUpIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGR5bmFtaWMgZGF0YSBiYXNlZCBvbiB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBvYmogVGhlIGlucHV0IG9iamVjdCB0byBjcmVhdGUgZHluYW1pYyBkYXRhIGZyb21cclxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBhcnJheVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUR5bmFtaWNEYXRhKG9iajogYW55KSB7XHJcbiAgcmV0dXJuIGZvcm1hdEFycmF5KG9iaik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSB2YWx1ZXMgZm9yIGJ1bGsgaW5zZXJ0IGJhc2VkIG9uIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAqIEBwYXJhbSB7YW55W119IGRhdGFBcnJheSBUaGUgaW5wdXQgZGF0YSBhcnJheSB0byBjcmVhdGUgYnVsayBpbnNlcnQgdmFsdWVzIGZyb21cclxuICogQHJldHVybnMge2FueVtdW119IFRoZSBmb3JtYXR0ZWQgYXJyYXkgb2YgdmFsdWVzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVsa0luc2VydFZhbHVlcyhkYXRhQXJyYXk6IGFueSkge1xyXG4gIGNvbnN0IGZpZWxkcyA9IGdldEJ1bGtJbnNlcnRGaWVsZHMoZGF0YUFycmF5KTtcclxuXHJcbiAgcmV0dXJuIGRhdGFBcnJheT8ubWFwKChpdGVtOmFueSkgPT4ge1xyXG4gICAgcmV0dXJuIGZpZWxkcz8ubWFwKGZpZWxkID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBpdGVtW2ZpZWxkXTtcclxuXHJcbiAgICAgIC8vIEhhbmRsZSBuZXN0ZWQgb2JqZWN0IChub24tYXJyYXksIG5vbi1udWxsKVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdmFsdWUgJiZcclxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXHJcbiAgICAgICAgIUFycmF5LmlzQXJyYXkodmFsdWUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IHN1YkZpZWxkcyA9IE9iamVjdC5rZXlzKHZhbHVlKTtcclxuICAgICAgICBjb25zdCBzdWJWYWx1ZXMgPSBzdWJGaWVsZHMubWFwKHN1YktleSA9PiB2YWx1ZVtzdWJLZXldKTtcclxuXHJcbiAgICAgICAgLy8gUmV0dXJuIGFuIG9iamVjdCB3aXRoIGZpZWxkcyBhbmQgdmFsdWVzIGZvciBuZXN0ZWQgb2JqZWN0XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIEZpZWxkczogc3ViRmllbGRzLFxyXG4gICAgICAgICAgVmFsdWVzOiBzdWJWYWx1ZXNcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXR1cm4gdGhlIHZhbHVlIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIG51bGxcclxuICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICB9KTtcclxuICB9KTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmaWVsZHMgZm9yIGJ1bGsgaW5zZXJ0IGJhc2VkIG9uIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAqIEBwYXJhbSB7YW55W119IGRhdGFBcnJheSBUaGUgaW5wdXQgZGF0YSBhcnJheSB0byBjcmVhdGUgYnVsayBpbnNlcnQgZmllbGRzIGZyb21cclxuICogQHJldHVybnMge3N0cmluZ1tdfSBUaGUgZm9ybWF0dGVkIGFycmF5IG9mIGZpZWxkc1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1bGtJbnNlcnRGaWVsZHMoZGF0YUFycmF5OiBhbnkpOiBzdHJpbmdbXSB7XHJcbiAgLyoqXHJcbiAgICogQSBTZXQgdG8ga2VlcCB0cmFjayBvZiB0aGUgZmllbGRzIGluIHRoZSBpbnB1dCBkYXRhIGFycmF5XHJcbiAgICogQHR5cGUge1NldDxzdHJpbmc+fVxyXG4gICAqL1xyXG4gIGNvbnN0IGZpZWxkU2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgZGF0YUFycmF5Py5mb3JFYWNoKChpdGVtOmFueSkgPT4ge1xyXG4gICAgT2JqZWN0LmtleXMoaXRlbSk/LmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgZmllbGRTZXQuYWRkKGtleSk7XHJcbiAgICB9KTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIEFycmF5LmZyb20oZmllbGRTZXQpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvcm1hdHMgdGhlIGlucHV0IG9iamVjdCBpbnRvIGEgbmV3IGFycmF5IHdpdGggQXBwRmllbGRJRCBhbmQgVmFsdWUgcGFpcnNcclxuICogQHBhcmFtIGlucHV0IFRoZSBpbnB1dCBvYmplY3QgdG8gYmUgZm9ybWF0dGVkXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXkgd2l0aCBBcHBGaWVsZElEIGFuZCBWYWx1ZSBwYWlyc1xyXG4gKi9cclxuZnVuY3Rpb24gZm9ybWF0QXJyYXkoaW5wdXQ6IGFueSkge1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhpbnB1dCk/Lmxlbmd0aCkge1xyXG4gICAgY29uc3QgbmV3T2JqID0gT2JqZWN0LmtleXMoaW5wdXQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGxldCBWYWx1ZTogYW55ID0gJyc7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGlucHV0W2tleV0pKSB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ0NoaWxkX1JlbGF0aW9uc2hpcCcpIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoaW5wdXRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlY2hpbGQoaW5wdXRba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIFZhbHVlID0gaGFuZGxlT2JqZWN0KGlucHV0W2tleV0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIFZhbHVlID0gaW5wdXRba2V5XTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4geyBBcHBGaWVsZElEOiBrZXksIFZhbHVlIH07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBuZXdPYmo7XHJcbiAgfVxyXG4gIHJldHVybiBpbnB1dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIENoaWxkX1JlbGF0aW9uc2hpcCBrZXkgaW4gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gY2hpbGQgVGhlIHZhbHVlIG9mIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5XHJcbiAqIEByZXR1cm5zIFRoZSBKU09OIHN0cmluZ2lmaWVkIHZhbHVlIGlmIG5vdCBudWxsLCBlbXB0eSwgb3IgJ251bGwnOyBvdGhlcndpc2UgbnVsbFxyXG4gKi9cclxuZnVuY3Rpb24gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoY2hpbGQ6IGFueSkge1xyXG4gIGlmIChjaGlsZCAhPT0gbnVsbCAmJiBjaGlsZCAhPT0gJycgJiYgY2hpbGQgIT09ICdudWxsJykge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNoaWxkKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBoYW5kbGVjaGlsZChpbnB1dDogYW55KSB7XHJcbiAgY29uc3QgYXJyYXk6IGFueVtdID0gW107XHJcbiAgaWYgKGlucHV0ICE9PSBudWxsKSB7XHJcbiAgICBpbnB1dC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgbmV3T2JqID0gT2JqZWN0LmtleXMoZWxlbWVudCkubWFwKChrZXkpID0+IHtcclxuICAgICAgICBsZXQgVmFsdWU6IGFueSA9ICcnO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVsZW1lbnRba2V5XSkpIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlY2hpbGQoZWxlbWVudFtrZXldKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlbGVtZW50W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBWYWx1ZSA9IGZvcm1hdEFycmF5KGVsZW1lbnRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFZhbHVlID0gZWxlbWVudFtrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geyBBcHBGaWVsZElEOiBrZXksIFZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICBhcnJheS5wdXNoKG5ld09iaik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIG9iamVjdCBrZXlzIGluIHRoZSBpbnB1dCBvYmplY3QgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXNcclxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGJlIGhhbmRsZWRcclxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5naWZpZWQgdmFsdWUgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXMgb3IgcmVjdXJzaXZlbHkgZm9ybWF0cyB0aGUgb2JqZWN0XHJcbiAqL1xyXG5mdW5jdGlvbiBoYW5kbGVPYmplY3Qob2JqOiBhbnkpIHtcclxuICBpZiAob2JqID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgc3dpdGNoIChPYmplY3Qua2V5cyhvYmopWzBdKSB7XHJcbiAgICBjYXNlICdDb250YWluZXInOlxyXG4gICAgY2FzZSAnU2V0dGluZ19WYWx1ZSc6XHJcbiAgICBjYXNlICdDaGlsZF9SZWxhdGlvbnNoaXAnOlxyXG4gICAgY2FzZSAnU2NyZWVuQ29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdBcHBPYmplY3RDb25maWd1cmF0aW9uJzpcclxuICAgIGNhc2UgJ1NjaGVtYUNvbmZpZyc6XHJcbiAgICBjYXNlICdDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdBcHBseUNyaXRlcmlhJzpcclxuICAgIGNhc2UgJ1NMQVNldHRpbmcnOlxyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBmb3JtYXRBcnJheShvYmopO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYmxhbmsgdmFsdWVzIGZyb20gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gZGF0YU9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIHJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rVmFsdWUoZGF0YU9iajogYW55KSB7XHJcbiAgT2JqZWN0LmtleXMoZGF0YU9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGlmIChkYXRhT2JqW2tleV0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhT2JqW2tleV0uZm9yRWFjaCgoaXRlbTogeyBWYWx1ZTogYW55IH0sIGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzVmFsdWVCbGFuayhpdGVtKSkge1xyXG4gICAgICAgICAgICBkYXRhT2JqW2tleV0uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfSBlbHNlIGlmIChkYXRhT2JqW2tleV0gJiYgdHlwZW9mIGRhdGFPYmpba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKGRhdGFPYmpba2V5XSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmpba2V5XSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICdudWxsJyB8fCB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7XHJcbn0iXX0=
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUFRO0lBQ3hDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFNBQWM7SUFDaEQsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsT0FBTyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7UUFDakMsT0FBTyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUUxQiw2Q0FBNkM7WUFDN0MsSUFDRSxLQUFLO2dCQUNMLE9BQU8sS0FBSyxLQUFL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SyxFQUFFLElBQUksS0FBSyxLQUFLLE1BQU0sSUFBSSxLQUFLLEtBQUssV0FBVyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0ZXMgaWYgYSBzdHJpbmcgaXMgYSB2YWxpZCBKU09OLlxyXG4gKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmcgdG8gdmFsaWRhdGUuXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIEpTT04sIGZhbHNlIG90aGVyd2lzZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUpTT04oc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICB0cnkge1xyXG4gICAgY29uc3QganNvbiA9IEpTT04ucGFyc2Uoc3RyKTtcclxuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoanNvbikuc2xpY2UoOCwgLTEpID09PSAnT2JqZWN0JztcclxuICB9IGNhdGNoIChlKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBkeW5hbWljIGRhdGEgYmFzZWQgb24gdGhlIGlucHV0IG9iamVjdCBmb3IgbmV3IEFQSSBmb3JtYXRcclxuICogVHJhbnNmb3JtcyBvYmplY3QgaW50byBhcnJheSBvZiB7ZmllbGROYW1lLCB2YWx1ZX0gcGFpcnNcclxuICogQHBhcmFtIG9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIGNyZWF0ZSBkeW5hbWljIGRhdGEgZnJvbVxyXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIGFycmF5IHdpdGgge2ZpZWxkTmFtZSwgdmFsdWV9IHBhaXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRHluYW1pY0RhdGEob2JqOiBhbnkpIHtcclxuICByZXR1cm4gZm9ybWF0QXJyYXkob2JqKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIHZhbHVlcyBmb3IgYnVsayBpbnNlcnQgYmFzZWQgb24gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICogQHBhcmFtIHthbnlbXX0gZGF0YUFycmF5IFRoZSBpbnB1dCBkYXRhIGFycmF5IHRvIGNyZWF0ZSBidWxrIGluc2VydCB2YWx1ZXMgZnJvbVxyXG4gKiBAcmV0dXJucyB7YW55W11bXX0gVGhlIGZvcm1hdHRlZCBhcnJheSBvZiB2YWx1ZXNcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWxrSW5zZXJ0VmFsdWVzKGRhdGFBcnJheTogYW55KSB7XHJcbiAgY29uc3QgZmllbGRzID0gZ2V0QnVsa0luc2VydEZpZWxkcyhkYXRhQXJyYXkpO1xyXG5cclxuICByZXR1cm4gZGF0YUFycmF5Py5tYXAoKGl0ZW06YW55KSA9PiB7XHJcbiAgICByZXR1cm4gZmllbGRzPy5tYXAoZmllbGQgPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bZmllbGRdO1xyXG5cclxuICAgICAgLy8gSGFuZGxlIG5lc3RlZCBvYmplY3QgKG5vbi1hcnJheSwgbm9uLW51bGwpXHJcbiAgICAgIGlmIChcclxuICAgICAgICB2YWx1ZSAmJlxyXG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcclxuICAgICAgICAhQXJyYXkuaXNBcnJheSh2YWx1ZSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3Qgc3ViRmllbGRzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHN1YlZhbHVlcyA9IHN1YkZpZWxkcy5tYXAoc3ViS2V5ID0+IHZhbHVlW3N1YktleV0pO1xyXG5cclxuICAgICAgICAvLyBSZXR1cm4gYW4gb2JqZWN0IHdpdGggZmllbGRzIGFuZCB2YWx1ZXMgZm9yIG5lc3RlZCBvYmplY3RcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgRmllbGRzOiBzdWJGaWVsZHMsXHJcbiAgICAgICAgICBWYWx1ZXM6IHN1YlZhbHVlc1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFJldHVybiB0aGUgdmFsdWUgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgbnVsbFxyXG4gICAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCA/IHZhbHVlIDogbnVsbDtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGZpZWxkcyBmb3IgYnVsayBpbnNlcnQgYmFzZWQgb24gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICogQHBhcmFtIHthbnlbXX0gZGF0YUFycmF5IFRoZSBpbnB1dCBkYXRhIGFycmF5IHRvIGNyZWF0ZSBidWxrIGluc2VydCBmaWVsZHMgZnJvbVxyXG4gKiBAcmV0dXJucyB7c3RyaW5nW119IFRoZSBmb3JtYXR0ZWQgYXJyYXkgb2YgZmllbGRzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVsa0luc2VydEZpZWxkcyhkYXRhQXJyYXk6IGFueSk6IHN0cmluZ1tdIHtcclxuICAvKipcclxuICAgKiBBIFNldCB0byBrZWVwIHRyYWNrIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGlucHV0IGRhdGEgYXJyYXlcclxuICAgKiBAdHlwZSB7U2V0PHN0cmluZz59XHJcbiAgICovXHJcbiAgY29uc3QgZmllbGRTZXQgPSBuZXcgU2V0PHN0cmluZz4oKTtcclxuICBkYXRhQXJyYXk/LmZvckVhY2goKGl0ZW06YW55KSA9PiB7XHJcbiAgICBPYmplY3Qua2V5cyhpdGVtKT8uZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICBmaWVsZFNldC5hZGQoa2V5KTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gQXJyYXkuZnJvbShmaWVsZFNldCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9ybWF0cyB0aGUgaW5wdXQgb2JqZWN0IGludG8gYSBuZXcgYXJyYXkgd2l0aCBmaWVsZE5hbWUgYW5kIHZhbHVlIHBhaXJzIChORVcgQVBJIGZvcm1hdClcclxuICogQHBhcmFtIGlucHV0IFRoZSBpbnB1dCBvYmplY3QgdG8gYmUgZm9ybWF0dGVkXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXkgd2l0aCBmaWVsZE5hbWUgYW5kIHZhbHVlIHBhaXJzXHJcbiAqL1xyXG5mdW5jdGlvbiBmb3JtYXRBcnJheShpbnB1dDogYW55KSB7XHJcbiAgaWYgKGlucHV0ICE9PSBudWxsICYmIE9iamVjdC5rZXlzKGlucHV0KT8ubGVuZ3RoKSB7XHJcbiAgICBjb25zdCBuZXdPYmogPSBPYmplY3Qua2V5cyhpbnB1dCkubWFwKChrZXkpID0+IHtcclxuICAgICAgbGV0IHZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXRba2V5XSkpIHtcclxuICAgICAgICBpZiAoa2V5ID09PSAnQ2hpbGRfUmVsYXRpb25zaGlwJykge1xyXG4gICAgICAgICAgdmFsdWUgPSBoYW5kbGVDaGlsZFJlbGF0aW9uc2hpcChpbnB1dFtrZXldKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsdWUgPSBoYW5kbGVjaGlsZChpbnB1dFtrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGlucHV0W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdmFsdWUgPSBoYW5kbGVPYmplY3QoaW5wdXRba2V5XSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFsdWUgPSBpbnB1dFtrZXldO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IGZpZWxkTmFtZToga2V5LCB2YWx1ZSB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3T2JqO1xyXG4gIH1cclxuICByZXR1cm4gaW5wdXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5IGluIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGNoaWxkIFRoZSB2YWx1ZSBvZiB0aGUgQ2hpbGRfUmVsYXRpb25zaGlwIGtleVxyXG4gKiBAcmV0dXJucyBUaGUgSlNPTiBzdHJpbmdpZmllZCB2YWx1ZSBpZiBub3QgbnVsbCwgZW1wdHksIG9yICdudWxsJzsgb3RoZXJ3aXNlIG51bGxcclxuICovXHJcbmZ1bmN0aW9uIGhhbmRsZUNoaWxkUmVsYXRpb25zaGlwKGNoaWxkOiBhbnkpIHtcclxuICBpZiAoY2hpbGQgIT09IG51bGwgJiYgY2hpbGQgIT09ICcnICYmIGNoaWxkICE9PSAnbnVsbCcpIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShjaGlsZCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlY2hpbGQoaW5wdXQ6IGFueSkge1xyXG4gIGNvbnN0IGFycmF5OiBhbnlbXSA9IFtdO1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCkge1xyXG4gICAgaW5wdXQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld09iaiA9IE9iamVjdC5rZXlzKGVsZW1lbnQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbHVlOiBhbnkgPSAnJztcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGVtZW50W2tleV0pKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGhhbmRsZWNoaWxkKGVsZW1lbnRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZWxlbWVudFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgdmFsdWUgPSBmb3JtYXRBcnJheShlbGVtZW50W2tleV0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGVsZW1lbnRba2V5XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHsgZmllbGROYW1lOiBrZXksIHZhbHVlIH07XHJcbiAgICAgIH0pO1xyXG4gICAgICBhcnJheS5wdXNoKG5ld09iaik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheTtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIYW5kbGVzIG9iamVjdCBrZXlzIGluIHRoZSBpbnB1dCBvYmplY3QgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXNcclxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGJlIGhhbmRsZWRcclxuICogQHJldHVybnMgVGhlIEpTT04gc3RyaW5naWZpZWQgdmFsdWUgYmFzZWQgb24gc3BlY2lmaWMgY2FzZXMgb3IgcmVjdXJzaXZlbHkgZm9ybWF0cyB0aGUgb2JqZWN0XHJcbiAqL1xyXG5mdW5jdGlvbiBoYW5kbGVPYmplY3Qob2JqOiBhbnkpIHtcclxuICBpZiAob2JqID09PSBudWxsKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgc3dpdGNoIChPYmplY3Qua2V5cyhvYmopWzBdKSB7XHJcbiAgICBjYXNlICdDb250YWluZXInOlxyXG4gICAgY2FzZSAnU2V0dGluZ19WYWx1ZSc6XHJcbiAgICBjYXNlICdDaGlsZF9SZWxhdGlvbnNoaXAnOlxyXG4gICAgY2FzZSAnU2NyZWVuQ29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdBcHBPYmplY3RDb25maWd1cmF0aW9uJzpcclxuICAgIGNhc2UgJ1NjaGVtYUNvbmZpZyc6XHJcbiAgICBjYXNlICdDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdBcHBseUNyaXRlcmlhJzpcclxuICAgIGNhc2UgJ1NMQVNldHRpbmcnOlxyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBmb3JtYXRBcnJheShvYmopO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZXMgYmxhbmsgdmFsdWVzIGZyb20gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gZGF0YU9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIHJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rVmFsdWUoZGF0YU9iajogYW55KSB7XHJcbiAgT2JqZWN0LmtleXMoZGF0YU9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGlmIChkYXRhT2JqW2tleV0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkYXRhT2JqW2tleV0uZm9yRWFjaCgoaXRlbTogeyBWYWx1ZTogYW55IH0sIGk6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzVmFsdWVCbGFuayhpdGVtKSkge1xyXG4gICAgICAgICAgICBkYXRhT2JqW2tleV0uc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgIFxyXG4gICAgfSBlbHNlIGlmIChkYXRhT2JqW2tleV0gJiYgdHlwZW9mIGRhdGFPYmpba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKE9iamVjdC5rZXlzKGRhdGFPYmpba2V5XSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgZGVsZXRlIGRhdGFPYmpba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmpba2V5XSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2UgaWYgKGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICdudWxsJyB8fCB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCc7XHJcbn0iXX0=
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
import { HttpHeaders } from '@angular/common/http';
|
|
4
4
|
import { Common } from '../constants/common';
|
|
5
|
-
import { getAppObject, getDsqIdfromSelectedAppObjectDSQArray, } from './tab-app.util';
|
|
6
|
-
import { API } from '../constants/api-constants';
|
|
7
|
-
import { getFormBuilderType } from './form-builder.util';
|
|
8
5
|
import { StorageConstants } from '../constants/storage-constants';
|
|
9
6
|
import { SessionStorageService } from '../../auth/session-storage.service';
|
|
10
7
|
import { EncryptionService } from '../../core/service/encryption.service';
|
|
@@ -110,57 +107,6 @@ export function getEditRecordId(response, fieldName) {
|
|
|
110
107
|
}
|
|
111
108
|
return recordId;
|
|
112
109
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Generate the fields schema based on the AppFields
|
|
115
|
-
*
|
|
116
|
-
* @param fields - The AppFields object
|
|
117
|
-
* @returns any - The generated fields schema
|
|
118
|
-
*/
|
|
119
|
-
export function generateFieldsSchema(url, fields) {
|
|
120
|
-
let schema = {};
|
|
121
|
-
// const apiUrl = getApiUrl();
|
|
122
|
-
if (fields.hasOwnProperty('LookUpDetails')) {
|
|
123
|
-
const selectedAppObject = getAppObject(fields.LookUpDetails.LookupObject);
|
|
124
|
-
const dsqID = getDsqIdfromSelectedAppObjectDSQArray(selectedAppObject?.DataSourceQueries, fields.LookUpDetails.LookupObject, 'List');
|
|
125
|
-
schema = {
|
|
126
|
-
label: fields.DisplayName,
|
|
127
|
-
type: 'select',
|
|
128
|
-
key: fields.SystemDBFieldName,
|
|
129
|
-
input: true,
|
|
130
|
-
dataSrc: 'url',
|
|
131
|
-
valueProperty: fields.LookUpDetails.LookupField,
|
|
132
|
-
template: `<span>{{ item.${fields.LookUpDetails.DisplayField} }}</span>`,
|
|
133
|
-
selectValues: 'Result',
|
|
134
|
-
data: {
|
|
135
|
-
// url: `${apiUrl}${API.getListFromDsq}${dsqID}`,// API.getListFromDsq + dsqID,
|
|
136
|
-
url: `${url}${API.getListFromDsq}${dsqID}`, // API.getListFromDsq + dsqID,
|
|
137
|
-
headers: [
|
|
138
|
-
{
|
|
139
|
-
"key": StorageConstants.applicationCode,
|
|
140
|
-
"value": sessionStorageService.getSessionStorage(StorageConstants.applicationCode)
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"key": StorageConstants.Authorization,
|
|
144
|
-
"value": sessionStorageService.getSessionStorage(StorageConstants.token)
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"key": StorageConstants.TenantId,
|
|
148
|
-
"value": sessionStorageService.getSessionStorage(StorageConstants.TenantId)
|
|
149
|
-
}
|
|
150
|
-
],
|
|
151
|
-
},
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
schema = {
|
|
156
|
-
label: fields.DisplayName,
|
|
157
|
-
type: getFormBuilderType(fields.FieldType.DataType),
|
|
158
|
-
key: fields.SystemDBFieldName,
|
|
159
|
-
input: true,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
return schema;
|
|
163
|
-
}
|
|
164
110
|
/**
|
|
165
111
|
* Get the HttpHeaders for form data requests
|
|
166
112
|
*
|
|
@@ -177,4 +123,4 @@ export function getFormDataHeaders() {
|
|
|
177
123
|
}
|
|
178
124
|
return null;
|
|
179
125
|
}
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFlBQVksRUFDWixxQ0FBcUMsR0FDdEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDbEQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFhLEVBQUUsTUFBVztJQUNqRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7UUFDOUIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWE7SUFDdEMsSUFBRyxPQUFPLEVBQUMsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsNkZBQTZGO1FBQzdGLGdCQUFnQjtRQUNoQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRXZDLElBQUksQ0FBQyxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7WUFDeEIsd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ25CLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxXQUFXO2dCQUMxQixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7YUFDMUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDZixxQkFBcUI7WUFDckIsT0FBTyxJQUFJLFdBQVcsQ0FBQztnQkFDbkIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsNkNBQTZDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUVILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUFvQjtJQUN0RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQWEsRUFBRSxTQUFjO0lBQzNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQU8sRUFBQyxNQUFpQjtJQUM1RCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsOEJBQThCO0lBQzlCLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1FBQzNDLE1BQU0saUJBQWlCLEdBQWMsWUFBWSxDQUMvQyxNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDbEMsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLHFDQUFxQyxDQUNqRCxpQkFBaUIsRUFBRSxpQkFBaUIsRUFDcEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQ2pDLE1BQU0sQ0FDUCxDQUFDO1FBQ0YsTUFBTSxHQUFHO1lBQ1AsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQ3pCLElBQUksRUFBRSxRQUFRO1lBQ2QsR0FBRyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7WUFDN0IsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUsS0FBSztZQUNkLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVc7WUFDL0MsUUFBUSxFQUFFLGlCQUFpQixNQUFNLENBQUMsYUFBYSxDQUFDLFlBQVksWUFBWTtZQUN4RSxZQUFZLEVBQUUsUUFBUTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0osK0VBQStFO2dCQUMvRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsR0FBRyxLQUFLLEVBQUUsRUFBQyw4QkFBOEI7Z0JBQ3pFLE9BQU8sRUFBRTtvQkFDUDt3QkFDRSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsZUFBZTt3QkFDdkMsT0FBTyxFQUFFLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQztxQkFDbkY7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGdCQUFnQixDQUFDLGFBQWE7d0JBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7cUJBQ3pFO29CQUNEO3dCQUNFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRO3dCQUNoQyxPQUFPLEVBQUUscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO3FCQUM1RTtpQkFDRjthQUNGO1NBRUYsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxHQUFHO1lBQ1AsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQ3pCLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxHQUFHLEVBQUUsTUFBTSxDQUFDLGlCQUFpQjtZQUM3QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLGlCQUFpQixDQUNyRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLENBQUM7SUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgZ2V0QXBwT2JqZWN0LFxyXG4gIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXksXHJcbn0gZnJvbSAnLi90YWItYXBwLnV0aWwnO1xyXG5pbXBvcnQgeyBBcHBGaWVsZHMgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0Rm9ybUJ1aWxkZXJUeXBlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuY29uc3QgZW5jcnlwdGlvblNlcnZpY2UgPSBuZXcgRW5jcnlwdGlvblNlcnZpY2UoKTtcclxuY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gbmV3IFNlc3Npb25TdG9yYWdlU2VydmljZShlbmNyeXB0aW9uU2VydmljZSk7XHJcblxyXG4vKipcclxuICogRGVsZXRlIGEga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIGJlIGRlbGV0ZWRcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlOiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgZGVsZXRlIHJlc3BvbnNlW2tleV07XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBwcmltYXJ5IGtleSBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGQgLSBUaGUgZmllbGQgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICBpZiAoZmllbGQpIHtcclxuICAgIGRlbGV0ZUtleUZyb21SZXNwb25zZShyZXNwb25zZSwgZmllbGQpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbXVsdGlwbGUgcHJpbWFyeSBrZXlzIGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZHMgLSBUaGUgYXJyYXkgb2YgZmllbGRzIHRvIGJlIHJlbW92ZWQgYXMgcHJpbWFyeSBrZXlzXHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleShyZXNwb25zZTogYW55LCBmaWVsZHM6IGFueSkge1xyXG4gIGZpZWxkcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgIGRlbGV0ZSByZXNwb25zZVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBIdHRwSGVhZGVycyBmb3IgQVBJIHJlcXVlc3RzXHJcbiAqXHJcbiAqIEByZXR1cm5zIEh0dHBIZWFkZXJzIHwgbnVsbCAtIFRoZSBIdHRwSGVhZGVycyBvYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVycz86IGFueSkge1xyXG4gIGlmKGhlYWRlcnMpe1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMudG9rZW4pO1xyXG4gICAgLy8gY29uc3Qgc3RhdGljVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy5zdGF0aWNUb2tlbik7XHJcbiAgICAvLyBwYXRjaCB2ZXJzaW9uXHJcbiAgICBjb25zdCBzdGF0aWNUb2tlbiA9IENvbW1vbi5zdGF0aWNUb2tlbjtcclxuICAgIFxyXG4gICAgaWYgKCF0b2tlbiAmJiBzdGF0aWNUb2tlbikge1xyXG4gICAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgICAvLyBUb2tlbiBpcyBub3QgZW1wdHlcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGJvdGggdG9rZW5zIGFyZSBlbXB0eVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBwcmltYXJ5IGtleSBmaWVsZHMgZnJvbSB0aGUgQXBwT2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSBhcHBPYmplY3QgLSBUaGUgQXBwT2JqZWN0XHJcbiAqIEByZXR1cm5zIEFwcEZpZWxkc1tdIHwgbnVsbCAtIFRoZSBhcnJheSBvZiBwcmltYXJ5IGtleSBmaWVsZHMgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmltYXJ5S2V5RmllbGRzKGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgaWYgKGFwcE9iamVjdD8uRmllbGRzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIHRoZSBmaWVsZHMgc2NoZW1hIGJhc2VkIG9uIHRoZSBBcHBGaWVsZHNcclxuICpcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBBcHBGaWVsZHMgb2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBnZW5lcmF0ZWQgZmllbGRzIHNjaGVtYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmllbGRzU2NoZW1hKHVybDphbnksZmllbGRzOiBBcHBGaWVsZHMpIHtcclxuICBsZXQgc2NoZW1hID0ge307XHJcbiAgLy8gY29uc3QgYXBpVXJsID0gZ2V0QXBpVXJsKCk7XHJcbiAgaWYgKGZpZWxkcy5oYXNPd25Qcm9wZXJ0eSgnTG9va1VwRGV0YWlscycpKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZEFwcE9iamVjdDogQXBwT2JqZWN0ID0gZ2V0QXBwT2JqZWN0KFxyXG4gICAgICBmaWVsZHMuTG9va1VwRGV0YWlscy5Mb29rdXBPYmplY3RcclxuICAgICk7XHJcbiAgICBjb25zdCBkc3FJRCA9IGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXkoXHJcbiAgICAgIHNlbGVjdGVkQXBwT2JqZWN0Py5EYXRhU291cmNlUXVlcmllcyxcclxuICAgICAgZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwT2JqZWN0LFxyXG4gICAgICAnTGlzdCdcclxuICAgICk7XHJcbiAgICBzY2hlbWEgPSB7XHJcbiAgICAgIGxhYmVsOiBmaWVsZHMuRGlzcGxheU5hbWUsXHJcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxyXG4gICAgICBrZXk6IGZpZWxkcy5TeXN0ZW1EQkZpZWxkTmFtZSxcclxuICAgICAgaW5wdXQ6IHRydWUsXHJcbiAgICAgIGRhdGFTcmM6ICd1cmwnLFxyXG4gICAgICB2YWx1ZVByb3BlcnR5OiBmaWVsZHMuTG9va1VwRGV0YWlscy5Mb29rdXBGaWVsZCxcclxuICAgICAgdGVtcGxhdGU6IGA8c3Bhbj57eyBpdGVtLiR7ZmllbGRzLkxvb2tVcERldGFpbHMuRGlzcGxheUZpZWxkfSB9fTwvc3Bhbj5gLFxyXG4gICAgICBzZWxlY3RWYWx1ZXM6ICdSZXN1bHQnLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgLy8gdXJsOiBgJHthcGlVcmx9JHtBUEkuZ2V0TGlzdEZyb21Ec3F9JHtkc3FJRH1gLC8vIEFQSS5nZXRMaXN0RnJvbURzcSArIGRzcUlELFxyXG4gICAgICAgIHVybDogYCR7dXJsfSR7QVBJLmdldExpc3RGcm9tRHNxfSR7ZHNxSUR9YCwvLyBBUEkuZ2V0TGlzdEZyb21Ec3EgKyBkc3FJRCxcclxuICAgICAgICBoZWFkZXJzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuYXBwbGljYXRpb25Db2RlLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLmFwcGxpY2F0aW9uQ29kZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuQXV0aG9yaXphdGlvbixcclxuICAgICAgICAgICAgXCJ2YWx1ZVwiOiBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy50b2tlbilcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFN0b3JhZ2VDb25zdGFudHMuVGVuYW50SWQsXHJcbiAgICAgICAgICAgIFwidmFsdWVcIjogc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMuVGVuYW50SWQpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgXHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICBzY2hlbWEgPSB7XHJcbiAgICAgIGxhYmVsOiBmaWVsZHMuRGlzcGxheU5hbWUsXHJcbiAgICAgIHR5cGU6IGdldEZvcm1CdWlsZGVyVHlwZShmaWVsZHMuRmllbGRUeXBlLkRhdGFUeXBlKSxcclxuICAgICAga2V5OiBmaWVsZHMuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgcmV0dXJuIHNjaGVtYTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgSHR0cEhlYWRlcnMgZm9yIGZvcm0gZGF0YSByZXF1ZXN0c1xyXG4gKlxyXG4gKiBAcmV0dXJucyBIdHRwSGVhZGVycyB8IG51bGwgLSBUaGUgSHR0cEhlYWRlcnMgb2JqZWN0IG9yIG51bGxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtRGF0YUhlYWRlcnMoKSB7XHJcbiAgY29uc3QgaXNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShcclxuICAgIFN0b3JhZ2VDb25zdGFudHMudG9rZW5cclxuICApO1xyXG4gIGlmIChpc1Rva2VuKSB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQWNjZXB0OiAnKi8qJyxcclxuICAgICAgQXV0aG9yaXphdGlvbjogaXNUb2tlbixcclxuICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFDbEQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFM0U7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxRQUFhLEVBQUUsTUFBVztJQUNqRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7UUFDOUIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQWE7SUFDdEMsSUFBRyxPQUFPLEVBQUMsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUUsNkZBQTZGO1FBQzdGLGdCQUFnQjtRQUNoQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRXZDLElBQUksQ0FBQyxLQUFLLElBQUksV0FBVyxFQUFFLENBQUM7WUFDeEIsd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxXQUFXLENBQUM7Z0JBQ25CLGNBQWMsRUFBRSxrQkFBa0I7Z0JBQ2xDLGFBQWEsRUFBRSxXQUFXO2dCQUMxQixlQUFlLEVBQUUsTUFBTSxDQUFDLGVBQWU7YUFDMUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLENBQUM7WUFDZixxQkFBcUI7WUFDckIsT0FBTyxJQUFJLFdBQVcsQ0FBQztnQkFDbkIsY0FBYyxFQUFFLGtCQUFrQjtnQkFDbEMsYUFBYSxFQUFFLEtBQUs7Z0JBQ3BCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTthQUMxQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsNkNBQTZDO1FBQzdDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7R0FLRztBQUVILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxTQUFvQjtJQUN0RCxJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLFFBQWEsRUFBRSxTQUFjO0lBQzNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsUUFBUSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDekMsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLGlCQUFpQixDQUNyRCxnQkFBZ0IsQ0FBQyxLQUFLLENBQ3ZCLENBQUM7SUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLFdBQVcsQ0FBQztZQUNyQixNQUFNLEVBQUUsS0FBSztZQUNiLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZTtTQUN4QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9hdXRoL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZW5jcnlwdGlvbi5zZXJ2aWNlJztcclxuY29uc3QgZW5jcnlwdGlvblNlcnZpY2UgPSBuZXcgRW5jcnlwdGlvblNlcnZpY2UoKTtcclxuY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gbmV3IFNlc3Npb25TdG9yYWdlU2VydmljZShlbmNyeXB0aW9uU2VydmljZSk7XHJcblxyXG4vKipcclxuICogRGVsZXRlIGEga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIGJlIGRlbGV0ZWRcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlOiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgZGVsZXRlIHJlc3BvbnNlW2tleV07XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBwcmltYXJ5IGtleSBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGQgLSBUaGUgZmllbGQgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleVxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkOiBzdHJpbmcpIHtcclxuICBpZiAoZmllbGQpIHtcclxuICAgIGRlbGV0ZUtleUZyb21SZXNwb25zZShyZXNwb25zZSwgZmllbGQpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbXVsdGlwbGUgcHJpbWFyeSBrZXlzIGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZHMgLSBUaGUgYXJyYXkgb2YgZmllbGRzIHRvIGJlIHJlbW92ZWQgYXMgcHJpbWFyeSBrZXlzXHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU11bHRpcGxlUHJpbWFyeUtleShyZXNwb25zZTogYW55LCBmaWVsZHM6IGFueSkge1xyXG4gIGZpZWxkcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgIGRlbGV0ZSByZXNwb25zZVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJlc3BvbnNlO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBIdHRwSGVhZGVycyBmb3IgQVBJIHJlcXVlc3RzXHJcbiAqXHJcbiAqIEByZXR1cm5zIEh0dHBIZWFkZXJzIHwgbnVsbCAtIFRoZSBIdHRwSGVhZGVycyBvYmplY3Qgb3IgbnVsbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVycz86IGFueSkge1xyXG4gIGlmKGhlYWRlcnMpe1xyXG4gICAgcmV0dXJuIGhlYWRlcnM7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFN0b3JhZ2VDb25zdGFudHMudG9rZW4pO1xyXG4gICAgLy8gY29uc3Qgc3RhdGljVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoU3RvcmFnZUNvbnN0YW50cy5zdGF0aWNUb2tlbik7XHJcbiAgICAvLyBwYXRjaCB2ZXJzaW9uXHJcbiAgICBjb25zdCBzdGF0aWNUb2tlbiA9IENvbW1vbi5zdGF0aWNUb2tlbjtcclxuICAgIFxyXG4gICAgaWYgKCF0b2tlbiAmJiBzdGF0aWNUb2tlbikge1xyXG4gICAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgICAvLyBUb2tlbiBpcyBub3QgZW1wdHlcclxuICAgICAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogdG9rZW4sXHJcbiAgICAgICAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgY2FzZSB3aGVuIGJvdGggdG9rZW5zIGFyZSBlbXB0eVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBwcmltYXJ5IGtleSBmaWVsZHMgZnJvbSB0aGUgQXBwT2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSBhcHBPYmplY3QgLSBUaGUgQXBwT2JqZWN0XHJcbiAqIEByZXR1cm5zIEFwcEZpZWxkc1tdIHwgbnVsbCAtIFRoZSBhcnJheSBvZiBwcmltYXJ5IGtleSBmaWVsZHMgb3IgbnVsbFxyXG4gKi9cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmltYXJ5S2V5RmllbGRzKGFwcE9iamVjdDogQXBwT2JqZWN0KSB7XHJcbiAgaWYgKGFwcE9iamVjdD8uRmllbGRzPy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdldCB0aGUgSHR0cEhlYWRlcnMgZm9yIGZvcm0gZGF0YSByZXF1ZXN0c1xyXG4gKlxyXG4gKiBAcmV0dXJucyBIdHRwSGVhZGVycyB8IG51bGwgLSBUaGUgSHR0cEhlYWRlcnMgb2JqZWN0IG9yIG51bGxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtRGF0YUhlYWRlcnMoKSB7XHJcbiAgY29uc3QgaXNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShcclxuICAgIFN0b3JhZ2VDb25zdGFudHMudG9rZW5cclxuICApO1xyXG4gIGlmIChpc1Rva2VuKSB7XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgQWNjZXB0OiAnKi8qJyxcclxuICAgICAgQXV0aG9yaXphdGlvbjogaXNUb2tlbixcclxuICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcbiJdfQ==
|