@techextensor/tab-core-utility 2.2.188 → 2.2.191
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 +1 -5
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +15 -27
- package/esm2022/lib/tab-core-utility/app/constants/common.mjs +50 -14
- 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 +54 -41
- package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +30 -84
- package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +12 -141
- package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +35 -136
- package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +38 -89
- package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +129 -159
- 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 +19 -26
- package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +11 -9
- 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 +45 -7
- package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +76 -79
- package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +4 -8
- package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +33 -8
- package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
- package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +1 -39
- package/esm2022/lib/tab-core-utility/app/models/app-field.model.mjs +7 -36
- package/esm2022/lib/tab-core-utility/app/models/app-object.model.mjs +47 -84
- package/esm2022/lib/tab-core-utility/app/models/app-screen.model.mjs +13 -24
- package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +23 -57
- package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +10 -21
- package/esm2022/lib/tab-core-utility/app/models/parameter.model.mjs +6 -12
- package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +4 -11
- package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +16 -17
- package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +55 -1
- package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +164 -1
- package/esm2022/lib/tab-core-utility/core/http-client/api.service.mjs +1 -78
- package/index.d.ts +0 -4
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +12 -15
- package/lib/tab-core-utility/app/constants/common.d.ts +0 -9
- 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 +1 -8
- package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +10 -20
- package/lib/tab-core-utility/app/crud/tab-formio.service.d.ts +6 -33
- package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +3 -45
- package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +21 -16
- package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +19 -34
- package/lib/tab-core-utility/app/enums/query.enum.d.ts +6 -3
- package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +8 -5
- package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -3
- 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 +51 -7
- package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -1
- package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +1 -2
- package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -1
- package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +2 -51
- package/lib/tab-core-utility/app/models/api-query.class.d.ts +9 -54
- package/lib/tab-core-utility/app/models/app-field.model.d.ts +2 -4
- package/lib/tab-core-utility/app/models/app-object.model.d.ts +3 -5
- 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 +2 -7
- 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 +2 -3
- package/lib/tab-core-utility/app/utils/req-res.util.d.ts +9 -1
- package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +61 -0
- package/lib/tab-core-utility/core/http-client/api.service.d.ts +0 -46
- package/package.json +2 -3
- package/esm2022/lib/tab-core-utility/app/helpers/response.adapter.mjs +0 -38
- package/esm2022/lib/tab-core-utility/app/interfaces/signalr.interface.mjs +0 -42
- package/esm2022/lib/tab-core-utility/core/service/signalr/operation-tracker.service.mjs +0 -90
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.mjs +0 -268
- package/esm2022/lib/tab-core-utility/core/service/signalr/signalr.service.mjs +0 -207
- package/lib/tab-core-utility/app/helpers/response.adapter.d.ts +0 -22
- package/lib/tab-core-utility/app/interfaces/signalr.interface.d.ts +0 -84
- package/lib/tab-core-utility/core/service/signalr/operation-tracker.service.d.ts +0 -40
- package/lib/tab-core-utility/core/service/signalr/signalr-infrastructure.service.d.ts +0 -73
- package/lib/tab-core-utility/core/service/signalr/signalr.service.d.ts +0 -122
|
@@ -46,42 +46,4 @@ export class APISort {
|
|
|
46
46
|
}
|
|
47
47
|
export class APIParameters {
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* New CRUD API Select Query Payload
|
|
52
|
-
* Used for the new microservice-based select query endpoint
|
|
53
|
-
*/
|
|
54
|
-
export class CRUDSelectPayload {
|
|
55
|
-
constructor() {
|
|
56
|
-
this.SelectedFields = [];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Pager configuration for CRUD API
|
|
61
|
-
*/
|
|
62
|
-
export class CRUDPager {
|
|
63
|
-
constructor() {
|
|
64
|
-
this.pageNumber = 1;
|
|
65
|
-
this.pageSize = 20;
|
|
66
|
-
this.returnTotalCount = true;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Where clause structure for CRUD API
|
|
71
|
-
*/
|
|
72
|
-
export class CRUDWhereClause {
|
|
73
|
-
constructor() {
|
|
74
|
-
this.filters = [];
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Filter structure for CRUD API
|
|
79
|
-
*/
|
|
80
|
-
export class CRUDFilter {
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Sort structure for CRUD API
|
|
84
|
-
*/
|
|
85
|
-
export class CRUDSort {
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHVEQUF1RDtBQVd2RCxNQUFNLE9BQU8sUUFBUTtJQU1uQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ0UsV0FBTSxHQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQTVDOztRQUNFLFdBQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQUFHO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDRSw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFDdkMsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0I7QUFFRCxNQUFNLE9BQU8sU0FBUztDQVNyQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBR3hCO0FBQ0QsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QztBQUNELE1BQU0sT0FBTyxPQUFPO0NBS25CO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FLekI7QUFFRCx5RUFBeUU7QUFFekU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUVFLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBTWhDLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDRSxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDRSxZQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0NBUXRCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtDQUdwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29uanVjdGlvbkNsYXVzZSxcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgRmlsdGVyVmFsdWVUeXBlLFxyXG4gIFNvcnRTZXF1ZW5jZSxcclxufSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEpvaW5UeXBlLCBRdWVyeVR5cGUgfSBmcm9tICcuLi9lbnVtcy9xdWVyeS5lbnVtJztcclxuaW1wb3J0IHsgTG9va1VwRGV0YWlscyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUXVlcnkge1xyXG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZyB8IGFueTtcclxuICBRdWVyeVR5cGU6IFF1ZXJ5VHlwZSB8IGFueTtcclxuICBKb2luczogSm9pbkRldGFpbHNbXTtcclxuICBXaGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5Kb2lucyA9IG5ldyBBcnJheTxKb2luRGV0YWlscz4oKTtcclxuICAgIHRoaXMuV2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElJbnNlcnRRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElVcGRhdGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElEZWxldGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHt9XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJU2VsZWN0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgUmVzdWx0RmllbGRfQXBwZmllbGRJZHM6IHN0cmluZ1tdID0gW107XHJcbiAgU29ydDogQVBJU29ydFtdID0gW107XHJcbiAgRGlzdGluY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBOb0xvY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBUb3BDb3VudD86IG51bWJlcjtcclxuICBMb2FkTG9va1VwVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKb2luRGV0YWlscyB7XHJcbiAgSm9pblR5cGU6IEpvaW5UeXBlIHwgYW55O1xyXG4gIFJlbGF0aW9uc2hpcDogQ2hpbGRSZWxhdGlvblNoaXAgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGlsZFJlbGF0aW9uU2hpcCB7XHJcbiAgUmVsU291cmNlT2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsU291cmNlRmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRPYmplY3RJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRGaWVsZElEITogc3RyaW5nIHwgYW55O1xyXG4gIExvY2FsSWQhOiBzdHJpbmc7XHJcbiAgY2hpbGREZXRhaWxzITogTG9va1VwRGV0YWlscztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICBmaWx0ZXJzOiBBUElGaWx0ZXJbXSB8IGFueTtcclxuICBmaWx0ZXJMb2dpYzogc3RyaW5nIHwgYW55O1xyXG4gIFNRTFF1ZXJ5OiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElGaWx0ZXIge1xyXG4gIGNvbmp1bmN0aW9uOiBDb25qdWN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIGZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IgfCBhbnk7XHJcbiAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUgfCBhbnk7XHJcbiAgdmFsdWU6IHN0cmluZyB8IGFueTtcclxuICBzZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG4gIGdyb3VwSWQ6IG51bWJlciB8IGFueTtcclxuICBwYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElWYWx1ZVNldHMge1xyXG4gIEFwcEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzIHtcclxuICBGaWVsZHM6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElTb3J0IHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBTb3J0U2VxdWVuY2U6IFNvcnRTZXF1ZW5jZSB8IGFueTtcclxuICBTZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUGFyYW1ldGVycyB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBQYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5SUQ6IHN0cmluZyB8IGFueTtcclxuICBNYXBwaW5nRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09IE5FVyBDUlVEIEFQSSBQQVlMT0FEIENMQVNTRVMgPT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBOZXcgQ1JVRCBBUEkgU2VsZWN0IFF1ZXJ5IFBheWxvYWRcclxuICogVXNlZCBmb3IgdGhlIG5ldyBtaWNyb3NlcnZpY2UtYmFzZWQgc2VsZWN0IHF1ZXJ5IGVuZHBvaW50XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFNlbGVjdFBheWxvYWQge1xyXG4gIEVudGl0eU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBTZWxlY3RlZEZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuICBpbmNsdWRlcz86IGFueVtdO1xyXG4gIFBhZ2VyPzogQ1JVRFBhZ2VyO1xyXG4gIHdoZXJlQ2xhdXNlPzogQ1JVRFdoZXJlQ2xhdXNlO1xyXG4gIERpc3RpbmN0PzogYm9vbGVhbjtcclxuICBTb3J0PzogQ1JVRFNvcnRbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFBhZ2VyIHtcclxuICBwYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAyMDtcclxuICByZXR1cm5Ub3RhbENvdW50OiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdoZXJlIGNsYXVzZSBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFdoZXJlQ2xhdXNlIHtcclxuICBmaWx0ZXJzOiBDUlVERmlsdGVyW10gPSBbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVREZpbHRlciB7XHJcbiAgZmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgb3BlcmF0b3I6IG51bWJlciB8IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG4gIHZhbHVlVHlwZTogbnVtYmVyIHwgYW55O1xyXG4gIGNvbmp1bmN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbiAgZ3JvdXBJZDogbnVtYmVyIHwgYW55O1xyXG4gIHNlcXVlbmNlOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTb3J0IHN0cnVjdHVyZSBmb3IgQ1JVRCBBUElcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDUlVEU29ydCB7XHJcbiAgRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGlyZWN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuIl19
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHVEQUF1RDtBQVd2RCxNQUFNLE9BQU8sUUFBUTtJQU1uQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ0UsV0FBTSxHQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQTVDOztRQUNFLFdBQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQUFHO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDRSw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFDdkMsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0I7QUFFRCxNQUFNLE9BQU8sU0FBUztDQVVyQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBR3hCO0FBQ0QsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QztBQUNELE1BQU0sT0FBTyxPQUFPO0NBS25CO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FLekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW5mZXJyYWJsZS10eXBlcyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIEZpbHRlclZhbHVlVHlwZSxcclxuICBTb3J0U2VxdWVuY2UsXHJcbn0gZnJvbSAnLi4vZW51bXMvZHNxLmVudW0nO1xyXG5pbXBvcnQgeyBKb2luVHlwZSwgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IExvb2tVcERldGFpbHMgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVF1ZXJ5IHtcclxuICBRdWVyeU9iamVjdElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgUXVlcnlUeXBlOiBRdWVyeVR5cGUgfCBhbnk7XHJcbiAgSm9pbnM6IEpvaW5EZXRhaWxzW107XHJcbiAgV2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuSm9pbnMgPSBuZXcgQXJyYXk8Sm9pbkRldGFpbHM+KCk7XHJcbiAgICB0aGlzLldoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJSW5zZXJ0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgVmFsdWVzOiBBUElWYWx1ZVNldHNbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJVXBkYXRlUXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgVmFsdWVzOiBBUElWYWx1ZVNldHNbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJRGVsZXRlUXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7fVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVNlbGVjdFF1ZXJ5IGV4dGVuZHMgQVBJUXVlcnkge1xyXG4gIFJlc3VsdEZpZWxkX0FwcGZpZWxkSWRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIFNvcnQ6IEFQSVNvcnRbXSA9IFtdO1xyXG4gIERpc3RpbmN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgTm9Mb2NrOiBib29sZWFuID0gZmFsc2U7XHJcbiAgVG9wQ291bnQ/OiBudW1iZXI7XHJcbiAgTG9hZExvb2tVcFZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSm9pbkRldGFpbHMge1xyXG4gIEpvaW5UeXBlOiBKb2luVHlwZSB8IGFueTtcclxuICBSZWxhdGlvbnNoaXA6IENoaWxkUmVsYXRpb25TaGlwIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2hpbGRSZWxhdGlvblNoaXAge1xyXG4gIFJlbFNvdXJjZU9iamVjdElEITogc3RyaW5nIHwgYW55O1xyXG4gIFJlbFNvdXJjZUZpZWxkSUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0T2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0RmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBMb2NhbElkITogc3RyaW5nO1xyXG4gIGNoaWxkRGV0YWlscyE6IExvb2tVcERldGFpbHM7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElGaWx0ZXJDcml0ZXJpYSB7XHJcbiAgRmlsdGVyczogQVBJRmlsdGVyW10gfCBhbnk7XHJcbiAgRmlsdGVyTG9naWM6IHN0cmluZyB8IGFueTtcclxuICBTUUxRdWVyeTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJRmlsdGVyIHtcclxuICBDb25qdWN0aW9uQ2xhdXNlOiBDb25qdWN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvciB8IGFueTtcclxuICBWYWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZSB8IGFueTtcclxuICB2YWx1ZTogc3RyaW5nIHwgYW55O1xyXG4gIFNlcXVlbmNlOiBudW1iZXIgfCBhbnk7XHJcbiAgR3JvdXBJRDogbnVtYmVyIHwgYW55O1xyXG4gIHBhcmFtZXRlck5hbWU6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJVmFsdWVTZXRzIHtcclxuICBBcHBGaWVsZElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgVmFsdWU6IHN0cmluZyB8IGFueTtcclxufVxyXG5leHBvcnQgY2xhc3MgQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0cyB7XHJcbiAgRmllbGRzOiBzdHJpbmcgfCBhbnk7XHJcbiAgVmFsdWU6IHN0cmluZyB8IGFueTtcclxufVxyXG5leHBvcnQgY2xhc3MgQVBJU29ydCB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBGaWVsZElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgU29ydFNlcXVlbmNlOiBTb3J0U2VxdWVuY2UgfCBhbnk7XHJcbiAgU2VxdWVuY2U6IG51bWJlciB8IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSVBhcmFtZXRlcnMge1xyXG4gIElEOiBzdHJpbmcgfCBhbnk7XHJcbiAgUGFyYW1ldGVyTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIERhdGFTb3VyY2VRdWVyeUlEOiBzdHJpbmcgfCBhbnk7XHJcbiAgTWFwcGluZ0ZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbiJdfQ==
|
|
@@ -2,9 +2,9 @@ import { DataTypes } from "../enums/controllers.enum";
|
|
|
2
2
|
export class AppFieldModel {
|
|
3
3
|
constructor(raw) {
|
|
4
4
|
this.raw = raw;
|
|
5
|
-
this.ID = raw
|
|
6
|
-
this.ObjectID = raw
|
|
7
|
-
this.ObjectID_Tosave = raw
|
|
5
|
+
this.ID = raw.ID;
|
|
6
|
+
this.ObjectID = raw.ObjectID ?? null;
|
|
7
|
+
this.ObjectID_Tosave = raw.ObjectID_Tosave;
|
|
8
8
|
this.FieldName = raw.FieldName;
|
|
9
9
|
this.DisplayName = raw.DisplayName;
|
|
10
10
|
this.Description = raw.Description ?? '';
|
|
@@ -62,40 +62,11 @@ export class AppFieldModel {
|
|
|
62
62
|
.some(val => val === searchTerm || val?.toLowerCase().includes(searchTerm));
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
|
-
* Converts the AppFieldModel instance to JSON
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* @returns {any} The data in old API format.
|
|
65
|
+
* Converts the AppFieldModel instance to a JSON representation.
|
|
66
|
+
* @returns {any} The raw data of the instance.
|
|
69
67
|
*/
|
|
70
68
|
toJSON() {
|
|
71
|
-
return
|
|
72
|
-
ID: this.ID,
|
|
73
|
-
ObjectID: this.ObjectID,
|
|
74
|
-
ObjectID_Tosave: this.ObjectID_Tosave,
|
|
75
|
-
FieldName: this.FieldName,
|
|
76
|
-
DisplayName: this.DisplayName,
|
|
77
|
-
Description: this.Description,
|
|
78
|
-
FieldType: this.FieldType,
|
|
79
|
-
CreationType: this.CreationType,
|
|
80
|
-
FieldBase: this.FieldBase,
|
|
81
|
-
BaseField: this.BaseField,
|
|
82
|
-
IsRequired: this.IsRequired,
|
|
83
|
-
IsUnique: this.IsUnique,
|
|
84
|
-
IsSearchable: this.IsSearchable,
|
|
85
|
-
IsUpdatable: this.IsUpdatable,
|
|
86
|
-
IsConfidential: this.IsConfidential,
|
|
87
|
-
SystemDBFieldName: this.SystemDBFieldName,
|
|
88
|
-
IsSystem: this.IsSystem,
|
|
89
|
-
IsVisible: this.IsVisible,
|
|
90
|
-
IsPrimaryKey: this.IsPrimaryKey,
|
|
91
|
-
IsDeprecated: this.IsDeprecated,
|
|
92
|
-
IsDisplayField: this.IsDisplayField,
|
|
93
|
-
LookUpDetails: this.LookUpDetails,
|
|
94
|
-
AccessList: this.AccessList,
|
|
95
|
-
Data: this.Data,
|
|
96
|
-
FieldConfiguration: this.FieldConfiguration,
|
|
97
|
-
FieldValidatorConfiguration: this.FieldValidatorConfiguration
|
|
98
|
-
};
|
|
69
|
+
return this.raw;
|
|
99
70
|
}
|
|
100
71
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQztRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRSxlQUFlLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU07UUFDSixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLDJCQUEyQixFQUFFLElBQUksQ0FBQywyQkFBMkI7U0FDOUQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSwgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcbmltcG9ydCB7IEZpZWxkQWNjZXNzLCBGaWVsZFR5cGUsIExvb2tVcERldGFpbHMgfSBmcm9tIFwiLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwRmllbGRNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBPYmplY3RJRF9Ub3NhdmU6IHN0cmluZztcclxuICByZWFkb25seSBGaWVsZE5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XHJcbiAgcmVhZG9ubHkgRmllbGRCYXNlOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcclxuICByZWFkb25seSBCYXNlRmllbGQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzQ29uZmlkZW50aWFsOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzUHJpbWFyeUtleTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNEaXNwbGF5RmllbGQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgTG9va1VwRGV0YWlsczogTG9va1VwRGV0YWlscztcclxuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBGaWVsZEFjY2Vzc1tdO1xyXG4gIHJlYWRvbmx5IERhdGE6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXc/LklkO1xyXG4gICAgdGhpcy5PYmplY3RJRCA9IHJhdz8uT2JqZWN0SUQgPz8gbnVsbDtcclxuICAgIHRoaXMuT2JqZWN0SURfVG9zYXZlID0gcmF3Py5PYmplY3RJRF9Ub3NhdmU7XHJcbiAgICB0aGlzLkZpZWxkTmFtZSA9IHJhdy5GaWVsZE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3LkRpc3BsYXlOYW1lO1xyXG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcclxuICAgIHRoaXMuRmllbGRUeXBlID0gcmF3LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQ3JlYXRpb25UeXBlID0gcmF3LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcclxuICAgIHRoaXMuQmFzZUZpZWxkID0gcmF3LkJhc2VGaWVsZCA/PyBudWxsO1xyXG4gICAgdGhpcy5Jc1JlcXVpcmVkID0gISFyYXcuSXNSZXF1aXJlZDtcclxuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcclxuICAgIHRoaXMuSXNTZWFyY2hhYmxlID0gISFyYXcuSXNTZWFyY2hhYmxlO1xyXG4gICAgdGhpcy5Jc1VwZGF0YWJsZSA9ICEhcmF3LklzVXBkYXRhYmxlO1xyXG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xyXG4gICAgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZSA9IHJhdy5TeXN0ZW1EQkZpZWxkTmFtZTtcclxuICAgIHRoaXMuSXNTeXN0ZW0gPSAhIXJhdy5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc1ByaW1hcnlLZXkgPSAhIXJhdy5Jc1ByaW1hcnlLZXk7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9ICEhcmF3LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcclxuICAgIHRoaXMuTG9va1VwRGV0YWlscyA9IHJhdy5Mb29rVXBEZXRhaWxzID8/IG51bGw7XHJcbiAgICB0aGlzLklzTG9va3VwID0gISFyYXcuTG9va1VwRGV0YWlscztcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xyXG4gICAgdGhpcy5EYXRhID0gcmF3LkRhdGEgPz8gbnVsbDtcclxuICAgIHRoaXMuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID0gcmF3LkZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbiA/PyB7fTtcclxuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWcpIDogKGNvbmZpZyA/PyB7fSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxyXG4gICAqIFRoZSBkYXRhIHR5cGUgbmFtZSBpcyBvYnRhaW5lZCBmcm9tIHRoZSBEYXRhVHlwZXMgZW51bS5cclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGF0YSB0eXBlIG5hbWUuXHJcbiAgICovXHJcbiAgZ2V0IGRhdGFUeXBlTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIERhdGFUeXBlc1t0aGlzLkZpZWxkVHlwZT8uRGF0YVR5cGVdID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgaXMgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcclxuICAgKiAtIElEXHJcbiAgICogLSBGaWVsZE5hbWVcclxuICAgKiAtIERpc3BsYXlOYW1lXHJcbiAgICogLSBTeXN0ZW1EQkZpZWxkTmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiBbdGhpcy5JRC50b0xvd2VyQ2FzZSgpLCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cclxuICAgICAgLnNvbWUodmFsID0+IHZhbCA9PT0gc2VhcmNoVGVybSB8fCB2YWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIEFwcEZpZWxkTW9kZWwgaW5zdGFuY2UgdG8gSlNPTiBpbiB0aGUgb2xkIEFQSSBmb3JtYXQgKFBhc2NhbENhc2UpLlxyXG4gICAqIFRoaXMgZW5zdXJlcyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggY29kZSBleHBlY3RpbmcgdGhlIG9sZCBmb3JtYXQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB7YW55fSBUaGUgZGF0YSBpbiBvbGQgQVBJIGZvcm1hdC5cclxuICAgKi9cclxuICB0b0pTT04oKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIElEOiB0aGlzLklELFxyXG4gICAgICBPYmplY3RJRDogdGhpcy5PYmplY3RJRCxcclxuICAgICAgT2JqZWN0SURfVG9zYXZlOiB0aGlzLk9iamVjdElEX1Rvc2F2ZSxcclxuICAgICAgRmllbGROYW1lOiB0aGlzLkZpZWxkTmFtZSxcclxuICAgICAgRGlzcGxheU5hbWU6IHRoaXMuRGlzcGxheU5hbWUsXHJcbiAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uLFxyXG4gICAgICBGaWVsZFR5cGU6IHRoaXMuRmllbGRUeXBlLFxyXG4gICAgICBDcmVhdGlvblR5cGU6IHRoaXMuQ3JlYXRpb25UeXBlLFxyXG4gICAgICBGaWVsZEJhc2U6IHRoaXMuRmllbGRCYXNlLFxyXG4gICAgICBCYXNlRmllbGQ6IHRoaXMuQmFzZUZpZWxkLFxyXG4gICAgICBJc1JlcXVpcmVkOiB0aGlzLklzUmVxdWlyZWQsXHJcbiAgICAgIElzVW5pcXVlOiB0aGlzLklzVW5pcXVlLFxyXG4gICAgICBJc1NlYXJjaGFibGU6IHRoaXMuSXNTZWFyY2hhYmxlLFxyXG4gICAgICBJc1VwZGF0YWJsZTogdGhpcy5Jc1VwZGF0YWJsZSxcclxuICAgICAgSXNDb25maWRlbnRpYWw6IHRoaXMuSXNDb25maWRlbnRpYWwsXHJcbiAgICAgIFN5c3RlbURCRmllbGROYW1lOiB0aGlzLlN5c3RlbURCRmllbGROYW1lLFxyXG4gICAgICBJc1N5c3RlbTogdGhpcy5Jc1N5c3RlbSxcclxuICAgICAgSXNWaXNpYmxlOiB0aGlzLklzVmlzaWJsZSxcclxuICAgICAgSXNQcmltYXJ5S2V5OiB0aGlzLklzUHJpbWFyeUtleSxcclxuICAgICAgSXNEZXByZWNhdGVkOiB0aGlzLklzRGVwcmVjYXRlZCxcclxuICAgICAgSXNEaXNwbGF5RmllbGQ6IHRoaXMuSXNEaXNwbGF5RmllbGQsXHJcbiAgICAgIExvb2tVcERldGFpbHM6IHRoaXMuTG9va1VwRGV0YWlscyxcclxuICAgICAgQWNjZXNzTGlzdDogdGhpcy5BY2Nlc3NMaXN0LFxyXG4gICAgICBEYXRhOiB0aGlzLkRhdGEsXHJcbiAgICAgIEZpZWxkQ29uZmlndXJhdGlvbjogdGhpcy5GaWVsZENvbmZpZ3VyYXRpb24sXHJcbiAgICAgIEZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbjogdGhpcy5GaWVsZFZhbGlkYXRvckNvbmZpZ3VyYXRpb25cclxuICAgIH07XHJcbiAgfVxyXG59Il19
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcHAtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXRELE1BQU0sT0FBTyxhQUFhO0lBNkJ4QixZQUE2QixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUNuQyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztRQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxFQUFFLENBQUM7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRU8sdUJBQXVCLENBQUMsTUFBVztRQUN6QyxJQUFJLENBQUM7WUFDSCxPQUFPLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFUeXBlcyB9IGZyb20gXCIuLi9lbnVtcy9jb250cm9sbGVycy5lbnVtXCI7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeUZpZWxkVHlwZSwgT2JqZWN0Q3JlYXRpb25UeXBlIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XHJcbmltcG9ydCB7IEZpZWxkQWNjZXNzLCBGaWVsZFR5cGUsIExvb2tVcERldGFpbHMgfSBmcm9tIFwiLi9kYXRhLXNvdXJjZS1xdWVyaWVzLmNsYXNzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXBwRmllbGRNb2RlbCB7XHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3RJRDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBPYmplY3RJRF9Ub3NhdmU6IHN0cmluZztcclxuICByZWFkb25seSBGaWVsZE5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRmllbGRUeXBlOiBGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgQ3JlYXRpb25UeXBlOiBPYmplY3RDcmVhdGlvblR5cGU7XHJcbiAgcmVhZG9ubHkgRmllbGRCYXNlOiBEYXRhU291cmNlUXVlcnlGaWVsZFR5cGU7XHJcbiAgcmVhZG9ubHkgSXNSZXF1aXJlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1VuaXF1ZTogYm9vbGVhbjtcclxuICByZWFkb25seSBCYXNlRmllbGQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVXBkYXRhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzQ29uZmlkZW50aWFsOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCRmllbGROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzUHJpbWFyeUtleTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNEaXNwbGF5RmllbGQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgTG9va1VwRGV0YWlsczogTG9va1VwRGV0YWlscztcclxuICByZWFkb25seSBJc0xvb2t1cDogYm9vbGVhbjtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBGaWVsZEFjY2Vzc1tdO1xyXG4gIHJlYWRvbmx5IERhdGE6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgRmllbGRDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnkpIHtcclxuICAgIHRoaXMuSUQgPSByYXcuSUQ7XHJcbiAgICB0aGlzLk9iamVjdElEID0gcmF3Lk9iamVjdElEID8/IG51bGw7XHJcbiAgICB0aGlzLk9iamVjdElEX1Rvc2F2ZSA9IHJhdy5PYmplY3RJRF9Ub3NhdmU7XHJcbiAgICB0aGlzLkZpZWxkTmFtZSA9IHJhdy5GaWVsZE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3LkRpc3BsYXlOYW1lO1xyXG4gICAgdGhpcy5EZXNjcmlwdGlvbiA9IHJhdy5EZXNjcmlwdGlvbiA/PyAnJztcclxuICAgIHRoaXMuRmllbGRUeXBlID0gcmF3LkZpZWxkVHlwZTtcclxuICAgIHRoaXMuQ3JlYXRpb25UeXBlID0gcmF3LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuRmllbGRCYXNlID0gcmF3LkZpZWxkQmFzZTtcclxuICAgIHRoaXMuQmFzZUZpZWxkID0gcmF3LkJhc2VGaWVsZCA/PyBudWxsO1xyXG4gICAgdGhpcy5Jc1JlcXVpcmVkID0gISFyYXcuSXNSZXF1aXJlZDtcclxuICAgIHRoaXMuSXNVbmlxdWUgPSAhIXJhdy5Jc1VuaXF1ZTtcclxuICAgIHRoaXMuSXNTZWFyY2hhYmxlID0gISFyYXcuSXNTZWFyY2hhYmxlO1xyXG4gICAgdGhpcy5Jc1VwZGF0YWJsZSA9ICEhcmF3LklzVXBkYXRhYmxlO1xyXG4gICAgdGhpcy5Jc0NvbmZpZGVudGlhbCA9ICEhcmF3LklzQ29uZmlkZW50aWFsO1xyXG4gICAgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZSA9IHJhdy5TeXN0ZW1EQkZpZWxkTmFtZTtcclxuICAgIHRoaXMuSXNTeXN0ZW0gPSAhIXJhdy5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gISFyYXcuSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc1ByaW1hcnlLZXkgPSAhIXJhdy5Jc1ByaW1hcnlLZXk7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9ICEhcmF3LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNEaXNwbGF5RmllbGQgPSAhIXJhdy5Jc0Rpc3BsYXlGaWVsZDtcclxuICAgIHRoaXMuTG9va1VwRGV0YWlscyA9IHJhdy5Mb29rVXBEZXRhaWxzID8/IG51bGw7XHJcbiAgICB0aGlzLklzTG9va3VwID0gISFyYXcuTG9va1VwRGV0YWlscztcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdy5BY2Nlc3NMaXN0ID8/IFtdO1xyXG4gICAgdGhpcy5EYXRhID0gcmF3LkRhdGEgPz8gbnVsbDtcclxuICAgIHRoaXMuRmllbGRWYWxpZGF0b3JDb25maWd1cmF0aW9uID0gcmF3LkZpZWxkVmFsaWRhdG9yQ29uZmlndXJhdGlvbiA/PyB7fTtcclxuICAgIHRoaXMuRmllbGRDb25maWd1cmF0aW9uID0gdGhpcy5wYXJzZUZpZWxkQ29uZmlndXJhdGlvbihyYXcuRmllbGRDb25maWd1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VGaWVsZENvbmZpZ3VyYXRpb24oY29uZmlnOiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWcpIDogKGNvbmZpZyA/PyB7fSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgZGF0YSB0eXBlIG5hbWUgb2YgdGhlIGZpZWxkIGFzIGEgc3RyaW5nLlxyXG4gICAqIFRoZSBkYXRhIHR5cGUgbmFtZSBpcyBvYnRhaW5lZCBmcm9tIHRoZSBEYXRhVHlwZXMgZW51bS5cclxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZGF0YSB0eXBlIG5hbWUuXHJcbiAgICovXHJcbiAgZ2V0IGRhdGFUeXBlTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIERhdGFUeXBlc1t0aGlzLkZpZWxkVHlwZT8uRGF0YVR5cGVdID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiBzZWFyY2ggdGVybSBpbiB0aGUgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBBcHBGaWVsZE1vZGVsIGluc3RhbmNlLlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgaXMgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcclxuICAgKiAtIElEXHJcbiAgICogLSBGaWVsZE5hbWVcclxuICAgKiAtIERpc3BsYXlOYW1lXHJcbiAgICogLSBTeXN0ZW1EQkZpZWxkTmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybS5cclxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2VhcmNoIHRlcm0gaXMgcHJlc2VudCBpbiBhbnkgb2YgdGhlIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2VhcmNoVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgIHJldHVybiBbdGhpcy5JRC50b0xvd2VyQ2FzZSgpLCB0aGlzLkZpZWxkTmFtZSwgdGhpcy5EaXNwbGF5TmFtZSwgdGhpcy5TeXN0ZW1EQkZpZWxkTmFtZV1cclxuICAgICAgLnNvbWUodmFsID0+IHZhbCA9PT0gc2VhcmNoVGVybSB8fCB2YWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgdGhlIEFwcEZpZWxkTW9kZWwgaW5zdGFuY2UgdG8gYSBKU09OIHJlcHJlc2VudGF0aW9uLlxyXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSByYXcgZGF0YSBvZiB0aGUgaW5zdGFuY2UuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYXc7XHJcbiAgfVxyXG59Il19
|
|
@@ -9,46 +9,43 @@ export class AppObjectModel {
|
|
|
9
9
|
this.dsqMap = new Map();
|
|
10
10
|
this.allFields = [];
|
|
11
11
|
this.allDSQs = [];
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
30
|
-
this.
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this.
|
|
43
|
-
this.ChildRelationShips = this.parsedAppObjectJson?.ChildRelationShips;
|
|
44
|
-
this.AppId = this.parsedAppObjectJson?.RecordInfo?.AppId?.toLowerCase();
|
|
45
|
-
}
|
|
46
|
-
parseAppObjectJson(appObjectJson) {
|
|
12
|
+
this.ID = raw?.ID;
|
|
13
|
+
this.ObjectName = raw?.ObjectName;
|
|
14
|
+
this.DisplayName = raw?.DisplayName;
|
|
15
|
+
this.Description = raw?.Description;
|
|
16
|
+
this.SystemDBTableName = raw?.SystemDBTableName;
|
|
17
|
+
this.IsSystem = raw?.IsSystem;
|
|
18
|
+
this.IsVisible = raw?.IsVisible;
|
|
19
|
+
this.IsDeprecated = raw?.IsDeprecated;
|
|
20
|
+
this.IsSupportBluePrint = raw?.IsSupportBluePrint;
|
|
21
|
+
this.IsLocationTracking = raw?.IsLocationTracking;
|
|
22
|
+
this.ObjectType = raw?.ObjectType;
|
|
23
|
+
this.DeploymentStatus = raw?.DeploymentStatus;
|
|
24
|
+
this.CreationType = raw?.CreationType;
|
|
25
|
+
this.AllowVersioning = raw?.AllowVersioning;
|
|
26
|
+
this.EnableTracking = raw?.EnableTracking;
|
|
27
|
+
this.AllowSearchable = raw?.AllowSearchable;
|
|
28
|
+
this.AllowReports = raw?.AllowReports;
|
|
29
|
+
this.AllowActivities = raw?.AllowActivities;
|
|
30
|
+
this.AllowSharing = raw?.AllowSharing;
|
|
31
|
+
this.AllowSoftDelete = raw?.AllowSoftDelete;
|
|
32
|
+
this.IsReplicationNeeded = raw?.IsReplicationNeeded;
|
|
33
|
+
this.IsCacheEnable = raw?.IsCacheEnable;
|
|
34
|
+
this.CacheTtl = raw?.CacheTtl;
|
|
35
|
+
this.AppObjectConfiguration = raw?.AppObjectConfiguration;
|
|
36
|
+
this.CRUDAppObjectId = raw?.CRUDAppObjectId;
|
|
37
|
+
this.ConnectionId = raw?.ConnectionId;
|
|
38
|
+
this.IsSupportLayout = raw?.IsSupportLayout;
|
|
39
|
+
this.AccessList = raw?.AccessList;
|
|
40
|
+
this.Resources = raw?.Resources;
|
|
41
|
+
this.ChildRelationShips = raw?.ChildRelationShips;
|
|
42
|
+
this.AppId = raw?.RecordInfo?.AppId?.toLowerCase();
|
|
47
43
|
try {
|
|
48
|
-
|
|
44
|
+
this.parsedAppObjectConfiguration = JSON.parse(this.AppObjectConfiguration || '{}');
|
|
49
45
|
}
|
|
50
|
-
catch {
|
|
51
|
-
|
|
46
|
+
catch (e) {
|
|
47
|
+
console.warn('Invalid AppObjectConfiguration JSON', e);
|
|
48
|
+
this.parsedAppObjectConfiguration = {};
|
|
52
49
|
}
|
|
53
50
|
}
|
|
54
51
|
/**
|
|
@@ -59,10 +56,10 @@ export class AppObjectModel {
|
|
|
59
56
|
*/
|
|
60
57
|
fields() {
|
|
61
58
|
if (!this.allFields?.length) {
|
|
62
|
-
this.allFields = (this.
|
|
59
|
+
this.allFields = (this.raw?.Fields ?? []).map((field) => {
|
|
63
60
|
const model = new AppFieldModel(field);
|
|
64
61
|
// Cache the field in a map by ID
|
|
65
|
-
this.fieldMap.set(field?.
|
|
62
|
+
this.fieldMap.set(field?.ID?.toLowerCase(), model);
|
|
66
63
|
return model;
|
|
67
64
|
});
|
|
68
65
|
}
|
|
@@ -84,7 +81,7 @@ export class AppObjectModel {
|
|
|
84
81
|
return this.fieldMap.get(idOrName);
|
|
85
82
|
}
|
|
86
83
|
// Convert the idOrName to lowercase for case-insensitive search
|
|
87
|
-
const idLower = idOrName
|
|
84
|
+
const idLower = idOrName.toLowerCase();
|
|
88
85
|
// Find the field by matching ID or name, case-insensitively
|
|
89
86
|
return this.allFields?.find(f => f.ID?.toLowerCase() === idLower || f.FieldName?.toLowerCase() === idLower || f.DisplayName?.toLowerCase() === idLower);
|
|
90
87
|
}
|
|
@@ -118,13 +115,13 @@ export class AppObjectModel {
|
|
|
118
115
|
dataSourceQueries() {
|
|
119
116
|
// Check if allDSQs is empty or undefined
|
|
120
117
|
if (!this.allDSQs?.length) {
|
|
121
|
-
// Map the raw
|
|
122
|
-
this.allDSQs = (this.raw?.
|
|
118
|
+
// Map the raw DataSourceQueries to DataSourceQueryModel instances
|
|
119
|
+
this.allDSQs = (this.raw?.DataSourceQueries ?? []).map((dsq) => {
|
|
123
120
|
const model = new DataSourceQueryModel(dsq, this, this.metadataHelper);
|
|
124
121
|
// Cache the DataSourceQuery in a map by ID, QueryName, and DisplayName
|
|
125
|
-
this.dsqMap.set(dsq?.
|
|
126
|
-
this.dsqMap.set(dsq?.
|
|
127
|
-
this.dsqMap.set(dsq?.
|
|
122
|
+
this.dsqMap.set(dsq?.ID?.toLowerCase(), model);
|
|
123
|
+
this.dsqMap.set(dsq?.QueryName, model);
|
|
124
|
+
this.dsqMap.set(dsq?.DisplayName, model);
|
|
128
125
|
return model;
|
|
129
126
|
});
|
|
130
127
|
}
|
|
@@ -181,46 +178,12 @@ export class AppObjectModel {
|
|
|
181
178
|
return { fields, dsqs };
|
|
182
179
|
}
|
|
183
180
|
/**
|
|
184
|
-
* Converts the current object to JSON
|
|
185
|
-
* This ensures backward compatibility with code expecting the old format.
|
|
181
|
+
* Converts the current object to a JSON object.
|
|
186
182
|
*
|
|
187
|
-
* @returns {any} The data
|
|
183
|
+
* @returns {any} The raw data as a JSON object.
|
|
188
184
|
*/
|
|
189
185
|
toJSON() {
|
|
190
|
-
return
|
|
191
|
-
ID: this.ID,
|
|
192
|
-
ObjectName: this.ObjectName,
|
|
193
|
-
DisplayName: this.DisplayName,
|
|
194
|
-
Description: this.Description,
|
|
195
|
-
SystemDBTableName: this.SystemDBTableName,
|
|
196
|
-
IsSystem: this.IsSystem,
|
|
197
|
-
IsVisible: this.IsVisible,
|
|
198
|
-
IsDeprecated: this.IsDeprecated,
|
|
199
|
-
IsSupportBluePrint: this.IsSupportBluePrint,
|
|
200
|
-
IsLocationTracking: this.IsLocationTracking,
|
|
201
|
-
ObjectType: this.ObjectType,
|
|
202
|
-
DeploymentStatus: this.DeploymentStatus,
|
|
203
|
-
CreationType: this.CreationType,
|
|
204
|
-
AllowVersioning: this.AllowVersioning,
|
|
205
|
-
EnableTracking: this.EnableTracking,
|
|
206
|
-
AllowSearchable: this.AllowSearchable,
|
|
207
|
-
AllowReports: this.AllowReports,
|
|
208
|
-
AllowActivities: this.AllowActivities,
|
|
209
|
-
AllowSharing: this.AllowSharing,
|
|
210
|
-
AllowSoftDelete: this.AllowSoftDelete,
|
|
211
|
-
IsReplicationNeeded: this.IsReplicationNeeded,
|
|
212
|
-
IsCacheEnable: this.IsCacheEnable,
|
|
213
|
-
CacheTtl: this.CacheTtl,
|
|
214
|
-
AppObjectConfiguration: this.AppObjectConfiguration,
|
|
215
|
-
CRUDAppObjectId: this.CRUDAppObjectId,
|
|
216
|
-
ConnectionId: this.ConnectionId,
|
|
217
|
-
IsSupportLayout: this.IsSupportLayout,
|
|
218
|
-
AccessList: this.AccessList,
|
|
219
|
-
Resources: this.Resources,
|
|
220
|
-
ChildRelationShips: this.ChildRelationShips,
|
|
221
|
-
Fields: this.fields().map(f => f.toJSON()),
|
|
222
|
-
DataSourceQueries: this.dataSourceQueries().map(dsq => dsq.toJSON())
|
|
223
|
-
};
|
|
186
|
+
return this.raw;
|
|
224
187
|
}
|
|
225
188
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQTZCLEdBQVEsRUFBVSxjQUE4QjtRQUFoRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUDdFLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBQ3JDLHdCQUFtQixHQUFRLElBQUksQ0FBQztRQUd0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV2RSxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsYUFBYSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQztRQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztRQUNyRSxJ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WUFDckMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDM0MsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JFLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhcHAtb2JqZWN0Lm1vZGVsLnRzXHJcbmltcG9ydCB7IE9iamVjdFR5cGUgfSBmcm9tICcuLi9lbnVtcy9jb21tb24uZW51bSc7XHJcbmltcG9ydCB7IE9iamVjdENyZWF0aW9uVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgRGVwbG95bWVudFN0YXR1cyB9IGZyb20gJy4uL2VudW1zL3Blcm1pc3Npb24uZW51bSc7XHJcbmltcG9ydCB7IENoaWxkUmVsYXRpb25TaGlwIH0gZnJvbSAnLi9hcGktcXVlcnkuY2xhc3MnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzJztcclxuaW1wb3J0IHsgQXBwRmllbGRNb2RlbCB9IGZyb20gJy4vYXBwLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgT2JqZWN0QWNjZXNzIH0gZnJvbSAnLi9hcHAtb2JqZWN0LmNsYXNzJztcclxuaW1wb3J0IHsgUmVzb3VyY2VzIH0gZnJvbSAnLi9jb21tb24uY2xhc3MnO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlUXVlcnlNb2RlbCB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcnkubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcE9iamVjdE1vZGVsIHtcclxuICAvLyBQcm9wZXJ0aWVzXHJcbiAgcmVhZG9ubHkgSUQ6IHN0cmluZztcclxuICByZWFkb25seSBPYmplY3ROYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGlzcGxheU5hbWU6IHN0cmluZztcclxuICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IFN5c3RlbURCVGFibGVOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgSXNTeXN0ZW06IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNWaXNpYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzRGVwcmVjYXRlZDogYm9vbGVhbjtcclxuICByZWFkb25seSBJc1N1cHBvcnRCbHVlUHJpbnQ6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IElzTG9jYXRpb25UcmFja2luZzogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgT2JqZWN0VHlwZTogT2JqZWN0VHlwZTtcclxuICByZWFkb25seSBEZXBsb3ltZW50U3RhdHVzOiBEZXBsb3ltZW50U3RhdHVzO1xyXG4gIHJlYWRvbmx5IENyZWF0aW9uVHlwZTogT2JqZWN0Q3JlYXRpb25UeXBlO1xyXG4gIHJlYWRvbmx5IEFsbG93VmVyc2lvbmluZzogYm9vbGVhbjtcclxuICByZWFkb25seSBFbmFibGVUcmFja2luZzogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd1NlYXJjaGFibGU6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dSZXBvcnRzOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93QWN0aXZpdGllczogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd1NoYXJpbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTb2Z0RGVsZXRlOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc1JlcGxpY2F0aW9uTmVlZGVkOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc0NhY2hlRW5hYmxlOiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBDYWNoZVR0bDogbnVtYmVyIHwgbnVsbDtcclxuICByZWFkb25seSBBcHBPYmplY3RDb25maWd1cmF0aW9uOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgQ1JVREFwcE9iamVjdElkOiBzdHJpbmcgfCBudWxsO1xyXG4gIHJlYWRvbmx5IENvbm5lY3Rpb25JZDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBJc1N1cHBvcnRMYXlvdXQ6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IEFjY2Vzc0xpc3Q6IEFycmF5PE9iamVjdEFjY2Vzcz47XHJcbiAgcmVhZG9ubHkgUmVzb3VyY2VzOiBBcnJheTxSZXNvdXJjZXM+O1xyXG4gIHJlYWRvbmx5IENoaWxkUmVsYXRpb25TaGlwczogQXJyYXk8Q2hpbGRSZWxhdGlvblNoaXA+O1xyXG4gIHJlYWRvbmx5IEFwcElkOiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAvLyBDYWNoZSBtYXBzXHJcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcHBGaWVsZE1vZGVsPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZHNxTWFwID0gbmV3IE1hcDxzdHJpbmcsIERhdGFTb3VyY2VRdWVyeU1vZGVsPigpO1xyXG4gIHByaXZhdGUgYWxsRmllbGRzOiBBcHBGaWVsZE1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIGFsbERTUXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gPSBbXTtcclxuICBwcml2YXRlIHBhcnNlZEFwcE9iamVjdEpzb246IGFueSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcmF3OiBhbnksIHByaXZhdGUgbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyKSB7XHJcbiAgICB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24gPSB0aGlzLnBhcnNlQXBwT2JqZWN0SnNvbihyYXc/LmFwcE9iamVjdEpzb24pO1xyXG5cclxuICAgIHRoaXMuSUQgPSByYXc/LmFwcE9iamVjdElkO1xyXG4gICAgdGhpcy5PYmplY3ROYW1lID0gcmF3Py5hcHBPYmplY3ROYW1lO1xyXG4gICAgdGhpcy5EaXNwbGF5TmFtZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uRGlzcGxheU5hbWU7XHJcbiAgICB0aGlzLkRlc2NyaXB0aW9uID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5EZXNjcmlwdGlvbjtcclxuICAgIHRoaXMuU3lzdGVtREJUYWJsZU5hbWUgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LlN5c3RlbURCVGFibGVOYW1lO1xyXG4gICAgdGhpcy5Jc1N5c3RlbSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNTeXN0ZW07XHJcbiAgICB0aGlzLklzVmlzaWJsZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNWaXNpYmxlO1xyXG4gICAgdGhpcy5Jc0RlcHJlY2F0ZWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LklzRGVwcmVjYXRlZDtcclxuICAgIHRoaXMuSXNTdXBwb3J0Qmx1ZVByaW50ID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1N1cHBvcnRCbHVlUHJpbnQ7XHJcbiAgICB0aGlzLklzTG9jYXRpb25UcmFja2luZyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uSXNMb2NhdGlvblRyYWNraW5nO1xyXG4gICAgdGhpcy5PYmplY3RUeXBlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5PYmplY3RUeXBlO1xyXG4gICAgdGhpcy5EZXBsb3ltZW50U3RhdHVzID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5EZXBsb3ltZW50U3RhdHVzO1xyXG4gICAgdGhpcy5DcmVhdGlvblR5cGUgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNyZWF0aW9uVHlwZTtcclxuICAgIHRoaXMuQWxsb3dWZXJzaW9uaW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1ZlcnNpb25pbmc7XHJcbiAgICB0aGlzLkVuYWJsZVRyYWNraW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5FbmFibGVUcmFja2luZztcclxuICAgIHRoaXMuQWxsb3dTZWFyY2hhYmxlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1NlYXJjaGFibGU7XHJcbiAgICB0aGlzLkFsbG93UmVwb3J0cyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQWxsb3dSZXBvcnRzO1xyXG4gICAgdGhpcy5BbGxvd0FjdGl2aXRpZXMgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFsbG93QWN0aXZpdGllcztcclxuICAgIHRoaXMuQWxsb3dTaGFyaW5nID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5BbGxvd1NoYXJpbmc7XHJcbiAgICB0aGlzLkFsbG93U29mdERlbGV0ZSA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQWxsb3dTb2Z0RGVsZXRlO1xyXG4gICAgdGhpcy5Jc1JlcGxpY2F0aW9uTmVlZGVkID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1JlcGxpY2F0aW9uTmVlZGVkO1xyXG4gICAgdGhpcy5Jc0NhY2hlRW5hYmxlID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc0NhY2hlRW5hYmxlO1xyXG4gICAgdGhpcy5DYWNoZVR0bCA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQ2FjaGVUdGw7XHJcbiAgICB0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24gPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFwcE9iamVjdENvbmZpZ3VyYXRpb247XHJcbiAgICB0aGlzLkNSVURBcHBPYmplY3RJZCA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uQ1JVREFwcE9iamVjdElkO1xyXG4gICAgdGhpcy5Db25uZWN0aW9uSWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNvbm5lY3Rpb25JZDtcclxuICAgIHRoaXMuSXNTdXBwb3J0TGF5b3V0ID0gdGhpcy5wYXJzZWRBcHBPYmplY3RKc29uPy5Jc1N1cHBvcnRMYXlvdXQ7XHJcbiAgICB0aGlzLkFjY2Vzc0xpc3QgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkFjY2Vzc0xpc3Q7XHJcbiAgICB0aGlzLlJlc291cmNlcyA9IHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uUmVzb3VyY2VzO1xyXG4gICAgdGhpcy5DaGlsZFJlbGF0aW9uU2hpcHMgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LkNoaWxkUmVsYXRpb25TaGlwcztcclxuICAgIHRoaXMuQXBwSWQgPSB0aGlzLnBhcnNlZEFwcE9iamVjdEpzb24/LlJlY29yZEluZm8/LkFwcElkPy50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUFwcE9iamVjdEpzb24oYXBwT2JqZWN0SnNvbjogYW55KTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0eXBlb2YgYXBwT2JqZWN0SnNvbiA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGFwcE9iamVjdEpzb24pIDogKGFwcE9iamVjdEpzb24gPz8ge30pO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIHJldHVybiB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgYWxsIGZpZWxkcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBBcHBPYmplY3QuIFRoZSBmaWVsZHMgYXJlIGNhY2hlZCBzbyB0aGF0IHN1YnNlcXVlbnQgY2FsbHNcclxuICAgKiBhcmUgZmFzdGVyLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGZpZWxkcygpOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgaWYgKCF0aGlzLmFsbEZpZWxkcz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYWxsRmllbGRzID0gKHRoaXMucGFyc2VkQXBwT2JqZWN0SnNvbj8uRmllbGRzID8/IFtdKS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgZmllbGQgaW4gYSBtYXAgYnkgSURcclxuICAgICAgICB0aGlzLmZpZWxkTWFwLnNldChmaWVsZD8uSWQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZmllbGQgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIGZpZWxkIGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxyXG4gICAqL1xyXG4gIGZpZWxkKGlkT3JOYW1lOiBzdHJpbmcpOiBBcHBGaWVsZE1vZGVsIHwgdW5kZWZpbmVkIHtcclxuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxyXG4gICAgdGhpcy5maWVsZHMoKTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcclxuICAgIGlmICh0aGlzLmZpZWxkTWFwLmhhcyhpZE9yTmFtZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmllbGRNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWU/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgLy8gRmluZCB0aGUgZmllbGQgYnkgbWF0Y2hpbmcgSUQgb3IgbmFtZSwgY2FzZS1pbnNlbnNpdGl2ZWx5XHJcbiAgICByZXR1cm4gdGhpcy5hbGxGaWVsZHM/LmZpbmQoXHJcbiAgICAgIGYgPT4gZi5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkZpZWxkTmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBmLkRpc3BsYXlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFsbCBmaWVsZHMgb2YgdGhlIGFwcCBvYmplY3QgdGhhdCBhcmUgbG9va3VwIGZpZWxkcy5cclxuICAgKiBBIGxvb2t1cCBmaWVsZCBpcyBhIGZpZWxkIHRoYXQgaGFzIGEgcmVsYXRpb25zaGlwIHdpdGggYW5vdGhlciBmaWVsZC5cclxuICAgKiBJdCBpcyB1c2VkIHRvIHBlcmZvcm0gbG9va3Vwcywgc3VjaCBhcyByZXRyaWV2aW5nIGEgbGlzdCBvZiB2YWx1ZXNcclxuICAgKiBmcm9tIGEgcmVsYXRlZCBmaWVsZC5cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSAtIEFuIGFycmF5IG9mIEFwcEZpZWxkTW9kZWwgb2JqZWN0cyB0aGF0IGFyZSBsb29rdXAgZmllbGRzLlxyXG4gICAqL1xyXG4gIGxvb2t1cEZpZWxkcygpOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpZWxkID0+IGZpZWxkLklzTG9va3VwKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBmaWVsZHMgZm9yIHRoZSBhcHAgb2JqZWN0IHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBmaWVsZCBhcyBhbiBhcmd1bWVudCwgYW5kIHNob3VsZCByZXR1cm4gdHJ1ZSBpZiB0aGUgZmllbGRcclxuICAgKiBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdC5cclxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmaWx0ZXJGbiBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBmaWVsZHMuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWxbXX0gVGhlIGFycmF5IG9mIGZpZWxkcyB0aGF0IHNhdGlzZnkgdGhlIGZpbHRlciBmdW5jdGlvbi5cclxuICAgKi9cclxuICBmaW5kRmllbGRzKGZpbHRlckZuOiAoZmllbGQ6IEFwcEZpZWxkTW9kZWwpID0+IGJvb2xlYW4pOiBBcHBGaWVsZE1vZGVsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZmllbGRzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhbGwgZGF0YSBzb3VyY2UgcXVlcmllcyBhc3NvY2lhdGVkIHdpdGggdGhpcyBBcHBPYmplY3QuXHJcbiAgICogVGhlIHF1ZXJpZXMgYXJlIGNhY2hlZCBmb3IgZmFzdGVyIHN1YnNlcXVlbnQgYWNjZXNzLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2VRdWVyaWVzKCk6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcclxuICAgIGlmICghdGhpcy5hbGxEU1FzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHRoZSByYXcgcXVlcmllcyB0byBEYXRhU291cmNlUXVlcnlNb2RlbCBpbnN0YW5jZXNcclxuICAgICAgdGhpcy5hbGxEU1FzID0gKHRoaXMucmF3Py5xdWVyaWVzID8/IFtdKS5tYXAoKGRzcTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbW9kZWwgPSBuZXcgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwoZHNxLCB0aGlzLCB0aGlzLm1ldGFkYXRhSGVscGVyKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgRGF0YVNvdXJjZVF1ZXJ5IGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZVxyXG4gICAgICAgIHRoaXMuZHNxTWFwLnNldChkc3E/LnF1ZXJ5SWQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5xdWVyeU5hbWUsIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5kaXNwbGF5TmFtZSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZGF0YSBzb3VyY2UgcXVlcnkgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIHF1ZXJ5IGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkT3JOYW1lIC0gVGhlIElEIG9yIG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXHJcbiAgICovXHJcbiAgZGF0YVNvdXJjZVF1ZXJ5KGlkT3JOYW1lOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXHJcbiAgICBpZiAodGhpcy5kc3FNYXAuaGFzKGlkT3JOYW1lKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kc3FNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBieSBtYXRjaGluZyBRdWVyeU5hbWUgb3IgRGlzcGxheU5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcclxuICAgICAgZHNxID0+IGRzcS5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cclxuICAgKiBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSAtIFRoZSBhcnJheSBvZiBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaGVzIGZvciB0aGUgZ2l2ZW4gdGVybSBpbiB0aGUgZmllbGRzIGFuZCBkYXRhIHNvdXJjZSBxdWVyaWVzIG9mIHRoaXMgQXBwT2JqZWN0LlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxyXG4gICAqICAgLSBGaWVsZCBuYW1lIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqICAgLSBEYXRhIHNvdXJjZSBxdWVyeSBuYW1lLCBkaXNwbGF5IG5hbWUsIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIHRvIHNlYXJjaCBmb3IuXHJcbiAgICogQHJldHVybnMge3sgZmllbGRzOiBBcHBGaWVsZE1vZGVsW107IGRzcXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gfX0gLSBBbiBvYmplY3Qgd2l0aCB0aGUgc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqICAgVGhlIGBkc3FzYCBwcm9wZXJ0eSBjb250YWlucyBhbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqL1xyXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xyXG4gICAgLy8gU2VhcmNoIGZvciB0aGUgdGVybSBpbiB0aGUgZmllbGRzXHJcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5zZWFyY2godGVybSkpO1xyXG5cclxuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGRhdGEgc291cmNlIHF1ZXJpZXNcclxuICAgIGNvbnN0IGRzcXMgPSB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGRzcSA9PiBkc3Euc2VhcmNoKHRlcm0pKTtcclxuXHJcbiAgICAvLyBSZXR1cm4gdGhlIHNlYXJjaCByZXN1bHRzXHJcbiAgICByZXR1cm4geyBmaWVsZHMsIGRzcXMgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBKU09OIGluIHRoZSBvbGQgQVBJIGZvcm1hdCAoUGFzY2FsQ2FzZSkuXHJcbiAgICogVGhpcyBlbnN1cmVzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBjb2RlIGV4cGVjdGluZyB0aGUgb2xkIGZvcm1hdC5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSBkYXRhIGluIG9sZCBBUEkgZm9ybWF0LlxyXG4gICAqL1xyXG4gIHRvSlNPTigpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgSUQ6IHRoaXMuSUQsXHJcbiAgICAgIE9iamVjdE5hbWU6IHRoaXMuT2JqZWN0TmFtZSxcclxuICAgICAgRGlzcGxheU5hbWU6IHRoaXMuRGlzcGxheU5hbWUsXHJcbiAgICAgIERlc2NyaXB0aW9uOiB0aGlzLkRlc2NyaXB0aW9uLFxyXG4gICAgICBTeXN0ZW1EQlRhYmxlTmFtZTogdGhpcy5TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICAgICAgSXNTeXN0ZW06IHRoaXMuSXNTeXN0ZW0sXHJcbiAgICAgIElzVmlzaWJsZTogdGhpcy5Jc1Zpc2libGUsXHJcbiAgICAgIElzRGVwcmVjYXRlZDogdGhpcy5Jc0RlcHJlY2F0ZWQsXHJcbiAgICAgIElzU3VwcG9ydEJsdWVQcmludDogdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQsXHJcbiAgICAgIElzTG9jYXRpb25UcmFja2luZzogdGhpcy5Jc0xvY2F0aW9uVHJhY2tpbmcsXHJcbiAgICAgIE9iamVjdFR5cGU6IHRoaXMuT2JqZWN0VHlwZSxcclxuICAgICAgRGVwbG95bWVudFN0YXR1czogdGhpcy5EZXBsb3ltZW50U3RhdHVzLFxyXG4gICAgICBDcmVhdGlvblR5cGU6IHRoaXMuQ3JlYXRpb25UeXBlLFxyXG4gICAgICBBbGxvd1ZlcnNpb25pbmc6IHRoaXMuQWxsb3dWZXJzaW9uaW5nLFxyXG4gICAgICBFbmFibGVUcmFja2luZzogdGhpcy5FbmFibGVUcmFja2luZyxcclxuICAgICAgQWxsb3dTZWFyY2hhYmxlOiB0aGlzLkFsbG93U2VhcmNoYWJsZSxcclxuICAgICAgQWxsb3dSZXBvcnRzOiB0aGlzLkFsbG93UmVwb3J0cyxcclxuICAgICAgQWxsb3dBY3Rpdml0aWVzOiB0aGlzLkFsbG93QWN0aXZpdGllcyxcclxuICAgICAgQWxsb3dTaGFyaW5nOiB0aGlzLkFsbG93U2hhcmluZyxcclxuICAgICAgQWxsb3dTb2Z0RGVsZXRlOiB0aGlzLkFsbG93U29mdERlbGV0ZSxcclxuICAgICAgSXNSZXBsaWNhdGlvbk5lZWRlZDogdGhpcy5Jc1JlcGxpY2F0aW9uTmVlZGVkLFxyXG4gICAgICBJc0NhY2hlRW5hYmxlOiB0aGlzLklzQ2FjaGVFbmFibGUsXHJcbiAgICAgIENhY2hlVHRsOiB0aGlzLkNhY2hlVHRsLFxyXG4gICAgICBBcHBPYmplY3RDb25maWd1cmF0aW9uOiB0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24sXHJcbiAgICAgIENSVURBcHBPYmplY3RJZDogdGhpcy5DUlVEQXBwT2JqZWN0SWQsXHJcbiAgICAgIENvbm5lY3Rpb25JZDogdGhpcy5Db25uZWN0aW9uSWQsXHJcbiAgICAgIElzU3VwcG9ydExheW91dDogdGhpcy5Jc1N1cHBvcnRMYXlvdXQsXHJcbiAgICAgIEFjY2Vzc0xpc3Q6IHRoaXMuQWNjZXNzTGlzdCxcclxuICAgICAgUmVzb3VyY2VzOiB0aGlzLlJlc291cmNlcyxcclxuICAgICAgQ2hpbGRSZWxhdGlvblNoaXBzOiB0aGlzLkNoaWxkUmVsYXRpb25TaGlwcyxcclxuICAgICAgRmllbGRzOiB0aGlzLmZpZWxkcygpLm1hcChmID0+IGYudG9KU09OKCkpLFxyXG4gICAgICBEYXRhU291cmNlUXVlcmllczogdGhpcy5kYXRhU291cmNlUXVlcmllcygpLm1hcChkc3EgPT4gZHNxLnRvSlNPTigpKVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW9iamVjdC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUF5Q3pCLFlBQTZCLEdBQVEsRUFBVSxjQUE4QjtRQUFoRCxRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTjdFLGFBQWE7UUFDSSxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO1FBQzFELGNBQVMsR0FBb0IsRUFBRSxDQUFDO1FBQ2hDLFlBQU8sR0FBMkIsRUFBRSxDQUFDO1FBRzNDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsWUFBWSxDQUFDO1FBQ3RDLElB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LFdBQVcsRUFBRSxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQ25JLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILHFCQUFxQixDQUFDLFFBQWdEO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDakIsb0NBQW9DO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFakUsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV0RSw0QkFBNEI7UUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwLW9iamVjdC5tb2RlbC50c1xyXG5pbXBvcnQgeyBPYmplY3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uLmVudW0nO1xyXG5pbXBvcnQgeyBPYmplY3RDcmVhdGlvblR5cGUgfSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IERlcGxveW1lbnRTdGF0dXMgfSBmcm9tICcuLi9lbnVtcy9wZXJtaXNzaW9uLmVudW0nO1xyXG5pbXBvcnQgeyBDaGlsZFJlbGF0aW9uU2hpcCB9IGZyb20gJy4vYXBpLXF1ZXJ5LmNsYXNzJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcbmltcG9ydCB7IEFwcEZpZWxkTW9kZWwgfSBmcm9tICcuL2FwcC1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IE9iamVjdEFjY2VzcyB9IGZyb20gJy4vYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7IFJlc291cmNlcyB9IGZyb20gJy4vY29tbW9uLmNsYXNzJztcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsJztcclxuXHJcbmV4cG9ydCBjbGFzcyBBcHBPYmplY3RNb2RlbCB7XHJcbiAgLy8gUHJvcGVydGllc1xyXG4gIHJlYWRvbmx5IElEOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgT2JqZWN0TmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IERpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgRGVzY3JpcHRpb246IHN0cmluZztcclxuICByZWFkb25seSBTeXN0ZW1EQlRhYmxlTmFtZTogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IElzU3lzdGVtOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IElzVmlzaWJsZTogYm9vbGVhbjtcclxuICByZWFkb25seSBJc0RlcHJlY2F0ZWQ6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgSXNTdXBwb3J0Qmx1ZVByaW50OiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBJc0xvY2F0aW9uVHJhY2tpbmc6IGJvb2xlYW4gfCBudWxsO1xyXG4gIHJlYWRvbmx5IE9iamVjdFR5cGU6IE9iamVjdFR5cGU7XHJcbiAgcmVhZG9ubHkgRGVwbG95bWVudFN0YXR1czogRGVwbG95bWVudFN0YXR1cztcclxuICByZWFkb25seSBDcmVhdGlvblR5cGU6IE9iamVjdENyZWF0aW9uVHlwZTtcclxuICByZWFkb25seSBBbGxvd1ZlcnNpb25pbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgRW5hYmxlVHJhY2tpbmc6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93UmVwb3J0czogYm9vbGVhbjtcclxuICByZWFkb25seSBBbGxvd0FjdGl2aXRpZXM6IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgQWxsb3dTaGFyaW5nOiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IEFsbG93U29mdERlbGV0ZTogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNSZXBsaWNhdGlvbk5lZWRlZDogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNDYWNoZUVuYWJsZTogYm9vbGVhbiB8IG51bGw7XHJcbiAgcmVhZG9ubHkgQ2FjaGVUdGw6IG51bWJlciB8IG51bGw7XHJcbiAgcmVhZG9ubHkgQXBwT2JqZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IENSVURBcHBPYmplY3RJZDogc3RyaW5nIHwgbnVsbDtcclxuICByZWFkb25seSBDb25uZWN0aW9uSWQ6IHN0cmluZyB8IG51bGw7XHJcbiAgcmVhZG9ubHkgSXNTdXBwb3J0TGF5b3V0OiBib29sZWFuIHwgbnVsbDtcclxuICByZWFkb25seSBBY2Nlc3NMaXN0OiBBcnJheTxPYmplY3RBY2Nlc3M+O1xyXG4gIHJlYWRvbmx5IFJlc291cmNlczogQXJyYXk8UmVzb3VyY2VzPjtcclxuICByZWFkb25seSBDaGlsZFJlbGF0aW9uU2hpcHM6IEFycmF5PENoaWxkUmVsYXRpb25TaGlwPjtcclxuICByZWFkb25seSBwYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uOiBhbnk7XHJcbiAgcmVhZG9ubHkgQXBwSWQ6IHN0cmluZyB8IG51bGw7XHJcblxyXG4gIC8vIENhY2hlIG1hcHNcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpZWxkTWFwID0gbmV3IE1hcDxzdHJpbmcsIEFwcEZpZWxkTW9kZWw+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FNYXAgPSBuZXcgTWFwPHN0cmluZywgRGF0YVNvdXJjZVF1ZXJ5TW9kZWw+KCk7XHJcbiAgcHJpdmF0ZSBhbGxGaWVsZHM6IEFwcEZpZWxkTW9kZWxbXSA9IFtdO1xyXG4gIHByaXZhdGUgYWxsRFNRczogRGF0YVNvdXJjZVF1ZXJ5TW9kZWxbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJhdzogYW55LCBwcml2YXRlIG1ldGFkYXRhSGVscGVyOiBNZXRhZGF0YUhlbHBlcikge1xyXG4gICAgdGhpcy5JRCA9IHJhdz8uSUQ7XHJcbiAgICB0aGlzLk9iamVjdE5hbWUgPSByYXc/Lk9iamVjdE5hbWU7XHJcbiAgICB0aGlzLkRpc3BsYXlOYW1lID0gcmF3Py5EaXNwbGF5TmFtZTtcclxuICAgIHRoaXMuRGVzY3JpcHRpb24gPSByYXc/LkRlc2NyaXB0aW9uO1xyXG4gICAgdGhpcy5TeXN0ZW1EQlRhYmxlTmFtZSA9IHJhdz8uU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICB0aGlzLklzU3lzdGVtID0gcmF3Py5Jc1N5c3RlbTtcclxuICAgIHRoaXMuSXNWaXNpYmxlID0gcmF3Py5Jc1Zpc2libGU7XHJcbiAgICB0aGlzLklzRGVwcmVjYXRlZCA9IHJhdz8uSXNEZXByZWNhdGVkO1xyXG4gICAgdGhpcy5Jc1N1cHBvcnRCbHVlUHJpbnQgPSByYXc/LklzU3VwcG9ydEJsdWVQcmludDtcclxuICAgIHRoaXMuSXNMb2NhdGlvblRyYWNraW5nID0gcmF3Py5Jc0xvY2F0aW9uVHJhY2tpbmc7XHJcbiAgICB0aGlzLk9iamVjdFR5cGUgPSByYXc/Lk9iamVjdFR5cGU7XHJcbiAgICB0aGlzLkRlcGxveW1lbnRTdGF0dXMgPSByYXc/LkRlcGxveW1lbnRTdGF0dXM7XHJcbiAgICB0aGlzLkNyZWF0aW9uVHlwZSA9IHJhdz8uQ3JlYXRpb25UeXBlO1xyXG4gICAgdGhpcy5BbGxvd1ZlcnNpb25pbmcgPSByYXc/LkFsbG93VmVyc2lvbmluZztcclxuICAgIHRoaXMuRW5hYmxlVHJhY2tpbmcgPSByYXc/LkVuYWJsZVRyYWNraW5nO1xyXG4gICAgdGhpcy5BbGxvd1NlYXJjaGFibGUgPSByYXc/LkFsbG93U2VhcmNoYWJsZTtcclxuICAgIHRoaXMuQWxsb3dSZXBvcnRzID0gcmF3Py5BbGxvd1JlcG9ydHM7XHJcbiAgICB0aGlzLkFsbG93QWN0aXZpdGllcyA9IHJhdz8uQWxsb3dBY3Rpdml0aWVzO1xyXG4gICAgdGhpcy5BbGxvd1NoYXJpbmcgPSByYXc/LkFsbG93U2hhcmluZztcclxuICAgIHRoaXMuQWxsb3dTb2Z0RGVsZXRlID0gcmF3Py5BbGxvd1NvZnREZWxldGU7XHJcbiAgICB0aGlzLklzUmVwbGljYXRpb25OZWVkZWQgPSByYXc/LklzUmVwbGljYXRpb25OZWVkZWQ7XHJcbiAgICB0aGlzLklzQ2FjaGVFbmFibGUgPSByYXc/LklzQ2FjaGVFbmFibGU7XHJcbiAgICB0aGlzLkNhY2hlVHRsID0gcmF3Py5DYWNoZVR0bDtcclxuICAgIHRoaXMuQXBwT2JqZWN0Q29uZmlndXJhdGlvbiA9IHJhdz8uQXBwT2JqZWN0Q29uZmlndXJhdGlvbjtcclxuICAgIHRoaXMuQ1JVREFwcE9iamVjdElkID0gcmF3Py5DUlVEQXBwT2JqZWN0SWQ7XHJcbiAgICB0aGlzLkNvbm5lY3Rpb25JZCA9IHJhdz8uQ29ubmVjdGlvbklkO1xyXG4gICAgdGhpcy5Jc1N1cHBvcnRMYXlvdXQgPSByYXc/LklzU3VwcG9ydExheW91dDtcclxuICAgIHRoaXMuQWNjZXNzTGlzdCA9IHJhdz8uQWNjZXNzTGlzdDtcclxuICAgIHRoaXMuUmVzb3VyY2VzID0gcmF3Py5SZXNvdXJjZXM7XHJcbiAgICB0aGlzLkNoaWxkUmVsYXRpb25TaGlwcyA9IHJhdz8uQ2hpbGRSZWxhdGlvblNoaXBzO1xyXG4gICAgdGhpcy5BcHBJZCA9IHJhdz8uUmVjb3JkSW5mbz8uQXBwSWQ/LnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5wYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uID0gSlNPTi5wYXJzZSh0aGlzLkFwcE9iamVjdENvbmZpZ3VyYXRpb24gfHwgJ3t9Jyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignSW52YWxpZCBBcHBPYmplY3RDb25maWd1cmF0aW9uIEpTT04nLCBlKTtcclxuICAgICAgdGhpcy5wYXJzZWRBcHBPYmplY3RDb25maWd1cmF0aW9uID0ge307XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGFsbCBmaWVsZHMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgQXBwT2JqZWN0LiBUaGUgZmllbGRzIGFyZSBjYWNoZWQgc28gdGhhdCBzdWJzZXF1ZW50IGNhbGxzXHJcbiAgICogYXJlIGZhc3Rlci4gVGhlIGNhY2hlIGlzIHN0b3JlZCBpbiBhIG1hcCBieSBJRC5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IEFuIGFycmF5IG9mIEFwcEZpZWxkTW9kZWwgb2JqZWN0cy5cclxuICAgKi9cclxuICBmaWVsZHMoKTogQXBwRmllbGRNb2RlbFtdIHtcclxuICAgIGlmICghdGhpcy5hbGxGaWVsZHM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmFsbEZpZWxkcyA9ICh0aGlzLnJhdz8uRmllbGRzID8/IFtdKS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBBcHBGaWVsZE1vZGVsKGZpZWxkKTtcclxuICAgICAgICAvLyBDYWNoZSB0aGUgZmllbGQgaW4gYSBtYXAgYnkgSURcclxuICAgICAgICB0aGlzLmZpZWxkTWFwLnNldChmaWVsZD8uSUQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZmllbGQgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIGZpZWxkIGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGZpZWxkcy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRPck5hbWUgLSBUaGUgSUQgb3IgbmFtZSBvZiB0aGUgZmllbGQgdG8gcmV0cmlldmUuXHJcbiAgICogQHJldHVybnMge0FwcEZpZWxkTW9kZWwgfCB1bmRlZmluZWR9IC0gVGhlIGZpZWxkIG1vZGVsIGlmIGZvdW5kLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxyXG4gICAqL1xyXG4gIGZpZWxkKGlkT3JOYW1lOiBzdHJpbmcpOiBBcHBGaWVsZE1vZGVsIHwgdW5kZWZpbmVkIHtcclxuICAgIC8vIEVuc3VyZSBhbGwgZmllbGRzIGFyZSBsb2FkZWQgYW5kIGNhY2hlZFxyXG4gICAgdGhpcy5maWVsZHMoKTtcclxuXHJcbiAgICAvLyBDaGVjayBpZiB0aGUgZmllbGQgaXMgYXZhaWxhYmxlIGluIHRoZSBjYWNoZSBtYXBcclxuICAgIGlmICh0aGlzLmZpZWxkTWFwLmhhcyhpZE9yTmFtZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmllbGRNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBmaWVsZCBieSBtYXRjaGluZyBJRCBvciBuYW1lLCBjYXNlLWluc2Vuc2l0aXZlbHlcclxuICAgIHJldHVybiB0aGlzLmFsbEZpZWxkcz8uZmluZChcclxuICAgICAgZiA9PiBmLklEPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGYuRmllbGROYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGYuRGlzcGxheU5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IGlkTG93ZXJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYWxsIGZpZWxkcyBvZiB0aGUgYXBwIG9iamVjdCB0aGF0IGFyZSBsb29rdXAgZmllbGRzLlxyXG4gICAqIEEgbG9va3VwIGZpZWxkIGlzIGEgZmllbGQgdGhhdCBoYXMgYSByZWxhdGlvbnNoaXAgd2l0aCBhbm90aGVyIGZpZWxkLlxyXG4gICAqIEl0IGlzIHVzZWQgdG8gcGVyZm9ybSBsb29rdXBzLCBzdWNoIGFzIHJldHJpZXZpbmcgYSBsaXN0IG9mIHZhbHVlc1xyXG4gICAqIGZyb20gYSByZWxhdGVkIGZpZWxkLlxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtBcHBGaWVsZE1vZGVsW119IC0gQW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgYXJlIGxvb2t1cCBmaWVsZHMuXHJcbiAgICovXHJcbiAgbG9va3VwRmllbGRzKCk6IEFwcEZpZWxkTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmllbGQgPT4gZmllbGQuSXNMb29rdXApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRmluZHMgYW5kIHJldHVybnMgdGhlIGZpZWxkcyBmb3IgdGhlIGFwcCBvYmplY3QgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBmaWx0ZXIgZnVuY3Rpb24uXHJcbiAgICogVGhlIGZpbHRlciBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBlYWNoIGZpZWxkIGFzIGFuIGFyZ3VtZW50LCBhbmQgc2hvdWxkIHJldHVybiB0cnVlIGlmIHRoZSBmaWVsZFxyXG4gICAqIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0LlxyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZpbHRlckZuIFRoZSBmaWx0ZXIgZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIGZpZWxkcy5cclxuICAgKiBAcmV0dXJucyB7QXBwRmllbGRNb2RlbFtdfSBUaGUgYXJyYXkgb2YgZmllbGRzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmRGaWVsZHMoZmlsdGVyRm46IChmaWVsZDogQXBwRmllbGRNb2RlbCkgPT4gYm9vbGVhbik6IEFwcEZpZWxkTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZHMoKS5maWx0ZXIoZmlsdGVyRm4pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGFsbCBkYXRhIHNvdXJjZSBxdWVyaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEFwcE9iamVjdC4gXHJcbiAgICogVGhlIHF1ZXJpZXMgYXJlIGNhY2hlZCBmb3IgZmFzdGVyIHN1YnNlcXVlbnQgYWNjZXNzLiBUaGUgY2FjaGUgaXMgc3RvcmVkIGluIGEgbWFwIGJ5IElELCBRdWVyeU5hbWUsIGFuZCBEaXNwbGF5TmFtZS5cclxuICAgKlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSBBbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzLlxyXG4gICAqL1xyXG4gIGRhdGFTb3VyY2VRdWVyaWVzKCk6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10ge1xyXG4gICAgLy8gQ2hlY2sgaWYgYWxsRFNRcyBpcyBlbXB0eSBvciB1bmRlZmluZWRcclxuICAgIGlmICghdGhpcy5hbGxEU1FzPy5sZW5ndGgpIHtcclxuICAgICAgLy8gTWFwIHRoZSByYXcgRGF0YVNvdXJjZVF1ZXJpZXMgdG8gRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgaW5zdGFuY2VzXHJcbiAgICAgIHRoaXMuYWxsRFNRcyA9ICh0aGlzLnJhdz8uRGF0YVNvdXJjZVF1ZXJpZXMgPz8gW10pLm1hcCgoZHNxOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBtb2RlbCA9IG5ldyBEYXRhU291cmNlUXVlcnlNb2RlbChkc3EsIHRoaXMsIHRoaXMubWV0YWRhdGFIZWxwZXIpO1xyXG4gICAgICAgIC8vIENhY2hlIHRoZSBEYXRhU291cmNlUXVlcnkgaW4gYSBtYXAgYnkgSUQsIFF1ZXJ5TmFtZSwgYW5kIERpc3BsYXlOYW1lXHJcbiAgICAgICAgdGhpcy5kc3FNYXAuc2V0KGRzcT8uSUQ/LnRvTG93ZXJDYXNlKCksIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5RdWVyeU5hbWUsIG1vZGVsKTtcclxuICAgICAgICB0aGlzLmRzcU1hcC5zZXQoZHNxPy5EaXNwbGF5TmFtZSwgbW9kZWwpO1xyXG4gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5hbGxEU1FzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZGF0YSBzb3VyY2UgcXVlcnkgYnkgaXRzIElEIG9yIG5hbWUuXHJcbiAgICogSWYgdGhlIHF1ZXJ5IGlzIGNhY2hlZCwgaXQgcmV0dXJucyBpdCBmcm9tIHRoZSBjYWNoZS5cclxuICAgKiBPdGhlcndpc2UsIGl0IHNlYXJjaGVzIHRocm91Z2ggYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkT3JOYW1lIC0gVGhlIElEIG9yIG5hbWUgb2YgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZH0gLSBUaGUgZGF0YSBzb3VyY2UgcXVlcnkgbW9kZWwgaWYgZm91bmQsIG90aGVyd2lzZSB1bmRlZmluZWQuXHJcbiAgICovXHJcbiAgZGF0YVNvdXJjZVF1ZXJ5KGlkT3JOYW1lOiBzdHJpbmcpOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAvLyBFbnN1cmUgYWxsIGRhdGEgc291cmNlIHF1ZXJpZXMgYXJlIGxvYWRlZCBhbmQgY2FjaGVkXHJcbiAgICB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCk7XHJcblxyXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUgbWFwXHJcbiAgICBpZiAodGhpcy5kc3FNYXAuaGFzKGlkT3JOYW1lKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kc3FNYXAuZ2V0KGlkT3JOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBDb252ZXJ0IHRoZSBpZE9yTmFtZSB0byBsb3dlcmNhc2UgZm9yIGNhc2UtaW5zZW5zaXRpdmUgc2VhcmNoXHJcbiAgICBjb25zdCBpZExvd2VyID0gaWRPck5hbWUudG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAvLyBGaW5kIHRoZSBkYXRhIHNvdXJjZSBxdWVyeSBieSBtYXRjaGluZyBRdWVyeU5hbWUgb3IgRGlzcGxheU5hbWUsIGNhc2UtaW5zZW5zaXRpdmVseVxyXG4gICAgcmV0dXJuIHRoaXMuYWxsRFNRcz8uZmluZChcclxuICAgICAgZHNxID0+IGRzcS5JRD8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlciB8fCBkc3EuUXVlcnlOYW1lPy50b0xvd2VyQ2FzZSgpID09PSBpZExvd2VyIHx8IGRzcS5EaXNwbGF5TmFtZT8udG9Mb3dlckNhc2UoKSA9PT0gaWRMb3dlclxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZpbmRzIGFuZCByZXR1cm5zIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZ2l2ZW4gZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqIFRoZSBmaWx0ZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggZWFjaCBkYXRhIHNvdXJjZSBxdWVyeSBhcyBhbiBhcmd1bWVudC5cclxuICAgKiBJZiB0aGUgZmlsdGVyIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgdGhlIGRhdGEgc291cmNlIHF1ZXJ5IGlzIGluY2x1ZGVkIGluIHRoZSByZXN1bHQuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZmlsdGVyRm4gLSBUaGUgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBkYXRhIHNvdXJjZSBxdWVyaWVzLlxyXG4gICAqIEByZXR1cm5zIHtEYXRhU291cmNlUXVlcnlNb2RlbFtdfSAtIFRoZSBhcnJheSBvZiBkYXRhIHNvdXJjZSBxdWVyaWVzIHRoYXQgc2F0aXNmeSB0aGUgZmlsdGVyIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIGZpbmREYXRhU291cmNlUXVlcmllcyhmaWx0ZXJGbjogKGRzcTogRGF0YVNvdXJjZVF1ZXJ5TW9kZWwpID0+IGJvb2xlYW4pOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGZpbHRlckZuKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlYXJjaGVzIGZvciB0aGUgZ2l2ZW4gdGVybSBpbiB0aGUgZmllbGRzIGFuZCBkYXRhIHNvdXJjZSBxdWVyaWVzIG9mIHRoaXMgQXBwT2JqZWN0LlxyXG4gICAqIFRoZSBzZWFyY2ggaXMgY2FzZS1pbnNlbnNpdGl2ZSBhbmQgcGVyZm9ybWVkIG9uIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxyXG4gICAqICAgLSBGaWVsZCBuYW1lIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqICAgLSBEYXRhIHNvdXJjZSBxdWVyeSBuYW1lLCBkaXNwbGF5IG5hbWUsIGFuZCBkZXNjcmlwdGlvblxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIC0gVGhlIHNlYXJjaCB0ZXJtIHRvIHNlYXJjaCBmb3IuXHJcbiAgICogQHJldHVybnMge3sgZmllbGRzOiBBcHBGaWVsZE1vZGVsW107IGRzcXM6IERhdGFTb3VyY2VRdWVyeU1vZGVsW10gfX0gLSBBbiBvYmplY3Qgd2l0aCB0aGUgc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogICBUaGUgYGZpZWxkc2AgcHJvcGVydHkgY29udGFpbnMgYW4gYXJyYXkgb2YgQXBwRmllbGRNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqICAgVGhlIGBkc3FzYCBwcm9wZXJ0eSBjb250YWlucyBhbiBhcnJheSBvZiBEYXRhU291cmNlUXVlcnlNb2RlbCBvYmplY3RzIHRoYXQgbWF0Y2ggdGhlIHNlYXJjaCB0ZXJtLlxyXG4gICAqL1xyXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiB7IGZpZWxkczogQXBwRmllbGRNb2RlbFtdOyBkc3FzOiBEYXRhU291cmNlUXVlcnlNb2RlbFtdIH0ge1xyXG4gICAgLy8gU2VhcmNoIGZvciB0aGUgdGVybSBpbiB0aGUgZmllbGRzXHJcbiAgICBjb25zdCBmaWVsZHMgPSB0aGlzLmZpZWxkcygpLmZpbHRlcihmaWVsZCA9PiBmaWVsZC5zZWFyY2godGVybSkpO1xyXG5cclxuICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRlcm0gaW4gdGhlIGRhdGEgc291cmNlIHF1ZXJpZXNcclxuICAgIGNvbnN0IGRzcXMgPSB0aGlzLmRhdGFTb3VyY2VRdWVyaWVzKCkuZmlsdGVyKGRzcSA9PiBkc3Euc2VhcmNoKHRlcm0pKTtcclxuXHJcbiAgICAvLyBSZXR1cm4gdGhlIHNlYXJjaCByZXN1bHRzXHJcbiAgICByZXR1cm4geyBmaWVsZHMsIGRzcXMgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBjdXJyZW50IG9iamVjdCB0byBhIEpTT04gb2JqZWN0LlxyXG4gICAqXHJcbiAgICogQHJldHVybnMge2FueX0gVGhlIHJhdyBkYXRhIGFzIGEgSlNPTiBvYmplY3QuXHJcbiAgICovXHJcbiAgdG9KU09OKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5yYXc7XHJcbiAgfVxyXG59Il19
|
|
@@ -2,19 +2,19 @@ export class AppScreenModel {
|
|
|
2
2
|
constructor(raw) {
|
|
3
3
|
this.raw = raw;
|
|
4
4
|
this.parsedScreenConfiguration = null;
|
|
5
|
-
this.ID = raw?.
|
|
6
|
-
this.Name = raw?.
|
|
7
|
-
this.Description = raw?.
|
|
8
|
-
this.ScreenType = raw?.
|
|
9
|
-
this.DataSourceQuery = raw?.
|
|
10
|
-
this.Container =
|
|
11
|
-
this.ScreenConfiguration = raw?.
|
|
5
|
+
this.ID = raw?.ID;
|
|
6
|
+
this.Name = raw?.Name;
|
|
7
|
+
this.Description = raw?.Description;
|
|
8
|
+
this.ScreenType = raw?.ScreenType;
|
|
9
|
+
this.DataSourceQuery = raw?.DataSourceQuery;
|
|
10
|
+
this.Container = raw?.Container;
|
|
11
|
+
this.ScreenConfiguration = raw?.ScreenConfiguration;
|
|
12
12
|
this.AppId = raw?.AppId;
|
|
13
13
|
this.RecordId = raw?.RecordId;
|
|
14
14
|
this.IsSystemRecord = raw?.IsSystemRecord;
|
|
15
15
|
try {
|
|
16
|
-
if (typeof raw?.
|
|
17
|
-
this.parsedScreenConfiguration = JSON.parse(raw.
|
|
16
|
+
if (typeof raw?.ScreenConfiguration === 'string' && raw?.ScreenConfiguration?.includes('{')) {
|
|
17
|
+
this.parsedScreenConfiguration = JSON.parse(raw.ScreenConfiguration);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
catch (e) {
|
|
@@ -44,23 +44,12 @@ export class AppScreenModel {
|
|
|
44
44
|
(this.Name && this.Name?.toLowerCase()?.includes(lower)));
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
* Converts the
|
|
47
|
+
* Converts the current object to a JSON object.
|
|
48
48
|
*
|
|
49
|
-
* @returns A JSON representation
|
|
49
|
+
* @returns A JSON representation of the current object.
|
|
50
50
|
*/
|
|
51
51
|
toJSON() {
|
|
52
|
-
return
|
|
53
|
-
ID: this.ID,
|
|
54
|
-
Name: this.Name,
|
|
55
|
-
Description: this.Description,
|
|
56
|
-
ScreenType: this.ScreenType,
|
|
57
|
-
DataSourceQuery: this.DataSourceQuery,
|
|
58
|
-
Container: this.Container,
|
|
59
|
-
ScreenConfiguration: this.ScreenConfiguration,
|
|
60
|
-
AppId: this.AppId,
|
|
61
|
-
RecordId: this.RecordId,
|
|
62
|
-
IsSystemRecord: this.IsSystemRecord
|
|
63
|
-
};
|
|
52
|
+
return this.raw;
|
|
64
53
|
}
|
|
65
54
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNjcmVlbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9tb2RlbHMvYXBwLXNjcmVlbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sY0FBYztJQWF2QixZQUFvQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUZuQiw4QkFBeUIsR0FBUSxJQUFJLENBQUM7UUFHM0MsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRSxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLGVBQWUsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLGNBQWMsQ0FBQztRQUUxQyxJQUFJLENBQUM7WUFDRCxJQUFJLE9BQU8sR0FBRyxFQUFFLG1CQUFtQixLQUFLLFFBQVEsSUFBSSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0I7UUFDZCxxREFBcUQ7UUFDckQscUVBQXFFO1FBQ3JFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQVk7UUFDZixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakMsT0FBTyxPQUFPO1FBQ1YsZUFBZTtRQUNmLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxpQkFBaUI7WUFDakIsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzNELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NyZWVuVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcFNjcmVlbk1vZGVsIHtcclxuICAgIHJlYWRvbmx5IElEOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBOYW1lOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBEZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuVHlwZTogU2NyZWVuVHlwZTtcclxuICAgIHJlYWRvbmx5IERhdGFTb3VyY2VRdWVyeTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQ29udGFpbmVyOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcmVhZG9ubHkgU2NyZWVuQ29uZmlndXJhdGlvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgQXBwSWQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IFJlY29yZElkOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBJc1N5c3RlbVJlY29yZDogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHBhcnNlZFNjcmVlbkNvbmZpZ3VyYXRpb246IGFueSA9IG51bGw7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByYXc6IGFueSkge1xyXG4gICAgICAgIHRoaXMuSUQgPSByYXc/LklEO1xyXG4gICAgICAgIHRoaXMuTmFtZSA9IHJhdz8uTmFtZTtcclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gcmF3Py5EZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLlNjcmVlblR5cGUgPSByYXc/LlNjcmVlblR5cGU7XHJcbiAgICAgICAgdGhpcy5EYXRhU291cmNlUXVlcnkgPSByYXc/LkRhdGFTb3VyY2VRdWVyeTtcclxuICAgICAgICB0aGlzLkNvbnRhaW5lciA9IHJhdz8uQ29udGFpbmVyO1xyXG4gICAgICAgIHRoaXMuU2NyZWVuQ29uZmlndXJhdGlvbiA9IHJhdz8uU2NyZWVuQ29uZmlndXJhdGlvbjtcclxuICAgICAgICB0aGlzLkFwcElkID0gcmF3Py5BcHBJZDtcclxuICAgICAgICB0aGlzLlJlY29yZElkID0gcmF3Py5SZWNvcmRJZDtcclxuICAgICAgICB0aGlzLklzU3lzdGVtUmVjb3JkID0gcmF3Py5Jc1N5c3RlbVJlY29yZDtcclxuXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByYXc/LlNjcmVlbkNvbmZpZ3VyYXRpb24gPT09ICdzdHJpbmcnICYmIHJhdz8uU2NyZWVuQ29uZmlndXJhdGlvbj8uaW5jbHVkZXMoJ3snKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wYXJzZWRTY3JlZW5Db25maWd1cmF0aW9uID0gSlNPTi5wYXJzZShyYXcuU2NyZWVuQ29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU2NyZWVuQ29uZmlndXJhdGlvbjonLCBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwIHNjcmVlbiBoYXMgYSB2YWxpZCBkYXRhIHNvdXJjZSBxdWVyeVxyXG4gICAgICovXHJcbiAgICBoYXNEYXRhU291cmNlUXVlcnkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIERhdGFTb3VyY2VRdWVyeSBwcm9wZXJ0eSBpcyBwb3B1bGF0ZWRcclxuICAgICAgICAvLyBhbmQgaXMgbm90IHRoZSBkZWZhdWx0IEdVSUQgKDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMClcclxuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLkRhdGFTb3VyY2VRdWVyeSAmJiB0aGlzLkRhdGFTb3VyY2VRdWVyeSAhPT0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCcpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2VhcmNoZXMgZm9yIHRoZSBnaXZlbiB0ZXJtIGluIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGFwcCBzY3JlZW5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXJtIFRoZSBzZWFyY2ggdGVybVxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhlIHNlYXJjaCB0ZXJtIGlzIHByZXNlbnQgaW4gYW55IGZpZWxkXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBsb3dlciA9IHRlcm0udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICByZXR1cm4gQm9vbGVhbihcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIElEXHJcbiAgICAgICAgICAgICh0aGlzLklEICYmIHRoaXMuSUQ/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSkgfHxcclxuICAgICAgICAgICAgLy8gU2VhcmNoIGluIE5hbWVcclxuICAgICAgICAgICAgKHRoaXMuTmFtZSAmJiB0aGlzLk5hbWU/LnRvTG93ZXJDYXNlKCk/LmluY2x1ZGVzKGxvd2VyKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udmVydHMgdGhlIGN1cnJlbnQgb2JqZWN0IHRvIGEgSlNPTiBvYmplY3QuXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMgQSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IG9iamVjdC5cclxuICAgICAqL1xyXG4gICAgdG9KU09OKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|