@techextensor/tab-core-utility 2.2.197 → 2.2.199

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/esm2022/index.mjs +12 -10
  2. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +3 -11
  3. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +16 -1
  4. package/esm2022/lib/tab-core-utility/app/crud/tab-blueprint.service.mjs +12 -39
  5. package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +14 -18
  6. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +8 -12
  7. package/esm2022/lib/tab-core-utility/app/crud/tab-formio.service.mjs +3 -3
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +56 -200
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +5 -6
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-release.service.mjs +9 -20
  11. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +30 -16
  12. package/esm2022/lib/tab-core-utility/app/enums/common.enum.mjs +12 -1
  13. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +13 -13
  14. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +6 -7
  15. package/esm2022/lib/tab-core-utility/app/helpers/common/meta-data.helpers.mjs +6 -2
  16. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +9 -21
  17. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +8 -53
  18. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +6 -90
  19. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +1 -9
  20. package/esm2022/lib/tab-core-utility/app/interfaces/release.interface.mjs +7 -0
  21. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +36 -64
  22. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +1 -27
  23. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +1 -22
  24. package/esm2022/lib/tab-core-utility/app/models/data-source-query.model.mjs +4 -4
  25. package/esm2022/lib/tab-core-utility/app/models/filter.model.mjs +16 -18
  26. package/esm2022/lib/tab-core-utility/app/models/sort.model.mjs +9 -13
  27. package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +3 -3
  28. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +9 -10
  29. package/esm2022/lib/tab-core-utility/app/utils/select-query.util.mjs +107 -0
  30. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +8 -5
  31. package/index.d.ts +11 -1
  32. package/lib/tab-core-utility/app/constants/api-constants.d.ts +2 -6
  33. package/lib/tab-core-utility/app/constants/common.d.ts +15 -1
  34. package/lib/tab-core-utility/app/crud/tab-blueprint.service.d.ts +0 -16
  35. package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +1 -1
  36. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +16 -67
  37. package/lib/tab-core-utility/app/crud/tab-release.service.d.ts +5 -12
  38. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +3 -1
  39. package/lib/tab-core-utility/app/enums/common.enum.d.ts +9 -0
  40. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +2 -2
  41. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +4 -1
  42. package/lib/tab-core-utility/app/helpers/common/meta-data.helpers.d.ts +1 -0
  43. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -17
  44. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -18
  45. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -53
  46. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -6
  47. package/lib/tab-core-utility/app/interfaces/release.interface.d.ts +85 -0
  48. package/lib/tab-core-utility/app/models/api-query.class.d.ts +84 -94
  49. package/lib/tab-core-utility/app/models/app-object.class.d.ts +2 -65
  50. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +2 -71
  51. package/lib/tab-core-utility/app/models/filter.model.d.ts +9 -11
  52. package/lib/tab-core-utility/app/models/sort.model.d.ts +5 -7
  53. package/lib/tab-core-utility/app/utils/filter.util.d.ts +2 -2
  54. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +3 -7
  55. package/lib/tab-core-utility/app/utils/select-query.util.d.ts +24 -0
  56. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +3 -3
  57. package/package.json +1 -1
  58. package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
  59. package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
@@ -12,7 +12,14 @@ export class RequestResponseHelper {
12
12
  * @returns The payload for the bulk insert operation
13
13
  */
14
14
  bulkInsertPayload(table, whereClause, value, fields) {
15
- return this.createBulkInsertPayload(table, whereClause, value, QueryType.BulkInsert, fields);
15
+ return {
16
+ QueryObjectID: table,
17
+ QueryType: QueryType.BulkInsert,
18
+ Joins: [],
19
+ WhereClause: whereClause,
20
+ Values: value,
21
+ Fields: fields,
22
+ };
16
23
  }
17
24
  /**
18
25
  * Generates the payload for deleting data from a table
@@ -27,25 +34,6 @@ export class RequestResponseHelper {
27
34
  whereClause: whereClause,
28
35
  };
29
36
  }
30
- /**
31
- * Creates a payload object for bulk insert operations
32
- * @param table The table name for the payload
33
- * @param whereClause The filter criteria for the payload
34
- * @param value The value sets for the payload
35
- * @param queryType The type of query for the payload (BulkInsert)
36
- * @param fields Optional list of fields to include in the insert operation
37
- * @returns The payload object with QueryObjectID, QueryType, Joins, WhereClause, Values, and Fields
38
- */
39
- createBulkInsertPayload(table, whereClause, value, queryType, fields) {
40
- return {
41
- QueryObjectID: table,
42
- QueryType: queryType,
43
- Joins: [],
44
- WhereClause: whereClause,
45
- Values: value,
46
- Fields: fields,
47
- };
48
- }
49
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RequestResponseHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
50
38
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: RequestResponseHelper, providedIn: 'root' }); }
51
39
  }
@@ -53,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
53
41
  type: Injectable,
54
42
  args: [{ providedIn: 'root' }]
55
43
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7Ozs7T0FPRztJQUNILGlCQUFpQixDQUNmLEtBQWEsRUFDYixXQUE4QixFQUM5QixLQUFxQyxFQUNyQyxNQUFpQjtRQUVqQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxhQUFhLENBQUMsU0FBaUIsRUFBRSxXQUE4QjtRQUM3RCxPQUFPO1lBQ0wsVUFBVSxFQUFFLFNBQVM7WUFDckIsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQztJQUNKLENBQUM7SUFDRDs7Ozs7Ozs7T0FRRztJQUNILHVCQUF1QixDQUNyQixLQUFhLEVBQ2IsV0FBOEIsRUFDOUIsS0FBcUMsRUFDckMsU0FBb0IsRUFDcEIsTUFBaUI7UUFFakIsT0FBTztZQUNMLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxFQUFFO1lBQ1QsV0FBVyxFQUFFLFdBQVc7WUFDeEIsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7SUFDSixDQUFDOytHQXREVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQURSLE1BQU07OzRGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzLCBBUElGaWx0ZXJDcml0ZXJpYSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGktcXVlcnkuY2xhc3MnO1xyXG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9xdWVyeS5lbnVtJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJlcXVlc3RSZXNwb25zZUhlbHBlciB7XHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIHRoZSBwYXlsb2FkIGZvciBpbnNlcnRpbmcgZGF0YSBpbnRvIGEgdGFibGUgaW4gYnVsa1xyXG4gICAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgbmFtZSB0byBpbnNlcnQgZGF0YSBpbnRvXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzZXRzIHRvIGJlIGluc2VydGVkXHJcbiAgICogQHBhcmFtIGZpZWxkcyBPcHRpb25hbCBsaXN0IG9mIGZpZWxkcyB0byBpbmNsdWRlIGluIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHJldHVybnMgVGhlIHBheWxvYWQgZm9yIHRoZSBidWxrIGluc2VydCBvcGVyYXRpb25cclxuICAgKi9cclxuICBidWxrSW5zZXJ0UGF5bG9hZChcclxuICAgIHRhYmxlOiBzdHJpbmcsXHJcbiAgICB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEsXHJcbiAgICB2YWx1ZTogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdLFxyXG4gICAgZmllbGRzPzogc3RyaW5nW11cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUJ1bGtJbnNlcnRQYXlsb2FkKHRhYmxlLCB3aGVyZUNsYXVzZSwgdmFsdWUsIFF1ZXJ5VHlwZS5CdWxrSW5zZXJ0LGZpZWxkcyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlcyB0aGUgcGF5bG9hZCBmb3IgZGVsZXRpbmcgZGF0YSBmcm9tIGEgdGFibGVcclxuICAgKiBORVc6IFJldHVybnMgbmV3IGZvcm1hdCBmb3IgL3JlY29yZHMvZGVsZXRlIGVuZHBvaW50XHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgdGFibGUgbmFtZSAoZW50aXR5TmFtZSkgdG8gZGVsZXRlIGRhdGEgZnJvbVxyXG4gICAqIEBwYXJhbSB3aGVyZUNsYXVzZSBUaGUgZmlsdGVyIGNyaXRlcmlhIGZvciB0aGUgZGVsZXRlIG9wZXJhdGlvbiAoTkVXIGZvcm1hdCB3aXRoIGxvd2VyY2FzZSlcclxuICAgKiBAcmV0dXJucyBUaGUgcGF5bG9hZCBmb3IgdGhlIGRlbGV0ZSBvcGVyYXRpb24gaW4gTkVXIGZvcm1hdFxyXG4gICAqL1xyXG4gIGRlbGV0ZVBheWxvYWQodGFibGVOYW1lOiBzdHJpbmcsIHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZW50aXR5TmFtZTogdGFibGVOYW1lLFxyXG4gICAgICB3aGVyZUNsYXVzZTogd2hlcmVDbGF1c2UsXHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGEgcGF5bG9hZCBvYmplY3QgZm9yIGJ1bGsgaW5zZXJ0IG9wZXJhdGlvbnNcclxuICAgKiBAcGFyYW0gdGFibGUgVGhlIHRhYmxlIG5hbWUgZm9yIHRoZSBwYXlsb2FkXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBwYXlsb2FkXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzZXRzIGZvciB0aGUgcGF5bG9hZFxyXG4gICAqIEBwYXJhbSBxdWVyeVR5cGUgVGhlIHR5cGUgb2YgcXVlcnkgZm9yIHRoZSBwYXlsb2FkIChCdWxrSW5zZXJ0KVxyXG4gICAqIEBwYXJhbSBmaWVsZHMgT3B0aW9uYWwgbGlzdCBvZiBmaWVsZHMgdG8gaW5jbHVkZSBpbiB0aGUgaW5zZXJ0IG9wZXJhdGlvblxyXG4gICAqIEByZXR1cm5zIFRoZSBwYXlsb2FkIG9iamVjdCB3aXRoIFF1ZXJ5T2JqZWN0SUQsIFF1ZXJ5VHlwZSwgSm9pbnMsIFdoZXJlQ2xhdXNlLCBWYWx1ZXMsIGFuZCBGaWVsZHNcclxuICAgKi9cclxuICBjcmVhdGVCdWxrSW5zZXJ0UGF5bG9hZChcclxuICAgIHRhYmxlOiBzdHJpbmcsXHJcbiAgICB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEsXHJcbiAgICB2YWx1ZTogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdLFxyXG4gICAgcXVlcnlUeXBlOiBRdWVyeVR5cGUsXHJcbiAgICBmaWVsZHM/OiBzdHJpbmdbXVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgUXVlcnlPYmplY3RJRDogdGFibGUsXHJcbiAgICAgIFF1ZXJ5VHlwZTogcXVlcnlUeXBlLFxyXG4gICAgICBKb2luczogW10sXHJcbiAgICAgIFdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZSxcclxuICAgICAgVmFsdWVzOiB2YWx1ZSxcclxuICAgICAgRmllbGRzOiBmaWVsZHMsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRW5ELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEM7Ozs7Ozs7T0FPRztJQUNILGlCQUFpQixDQUNmLEtBQWEsRUFDYixXQUE4QixFQUM5QixLQUFxQyxFQUNyQyxNQUFpQjtRQUVqQixPQUFPO1lBQ0wsYUFBYSxFQUFFLEtBQUs7WUFDcEIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQy9CLEtBQUssRUFBRSxFQUFFO1lBQ1QsV0FBVyxFQUFFLFdBQVc7WUFDeEIsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLFNBQWlCLEVBQUUsV0FBOEI7UUFDN0QsT0FBTztZQUNMLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQUM7SUFDSixDQUFDOytHQXJDVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQURSLE1BQU07OzRGQUNuQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzLCBBUElGaWx0ZXJDcml0ZXJpYSB9IGZyb20gJy4uLy4uL21vZGVscy9hcGktcXVlcnkuY2xhc3MnO1xyXG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9xdWVyeS5lbnVtJztcclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJlcXVlc3RSZXNwb25zZUhlbHBlciB7XHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIHRoZSBwYXlsb2FkIGZvciBpbnNlcnRpbmcgZGF0YSBpbnRvIGEgdGFibGUgaW4gYnVsa1xyXG4gICAqIEBwYXJhbSB0YWJsZSBUaGUgdGFibGUgbmFtZSB0byBpbnNlcnQgZGF0YSBpbnRvXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSBzZXRzIHRvIGJlIGluc2VydGVkXHJcbiAgICogQHBhcmFtIGZpZWxkcyBPcHRpb25hbCBsaXN0IG9mIGZpZWxkcyB0byBpbmNsdWRlIGluIHRoZSBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHJldHVybnMgVGhlIHBheWxvYWQgZm9yIHRoZSBidWxrIGluc2VydCBvcGVyYXRpb25cclxuICAgKi9cclxuICBidWxrSW5zZXJ0UGF5bG9hZChcclxuICAgIHRhYmxlOiBzdHJpbmcsXHJcbiAgICB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEsXHJcbiAgICB2YWx1ZTogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdLFxyXG4gICAgZmllbGRzPzogc3RyaW5nW11cclxuICApIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFF1ZXJ5T2JqZWN0SUQ6IHRhYmxlLFxyXG4gICAgICBRdWVyeVR5cGU6IFF1ZXJ5VHlwZS5CdWxrSW5zZXJ0LFxyXG4gICAgICBKb2luczogW10sXHJcbiAgICAgIFdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZSxcclxuICAgICAgVmFsdWVzOiB2YWx1ZSxcclxuICAgICAgRmllbGRzOiBmaWVsZHMsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIHRoZSBwYXlsb2FkIGZvciBkZWxldGluZyBkYXRhIGZyb20gYSB0YWJsZVxyXG4gICAqIE5FVzogUmV0dXJucyBuZXcgZm9ybWF0IGZvciAvcmVjb3Jkcy9kZWxldGUgZW5kcG9pbnRcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSB0YWJsZSBuYW1lIChlbnRpdHlOYW1lKSB0byBkZWxldGUgZGF0YSBmcm9tXHJcbiAgICogQHBhcmFtIHdoZXJlQ2xhdXNlIFRoZSBmaWx0ZXIgY3JpdGVyaWEgZm9yIHRoZSBkZWxldGUgb3BlcmF0aW9uIChORVcgZm9ybWF0IHdpdGggbG93ZXJjYXNlKVxyXG4gICAqIEByZXR1cm5zIFRoZSBwYXlsb2FkIGZvciB0aGUgZGVsZXRlIG9wZXJhdGlvbiBpbiBORVcgZm9ybWF0XHJcbiAgICovXHJcbiAgZGVsZXRlUGF5bG9hZCh0YWJsZU5hbWU6IHN0cmluZywgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBlbnRpdHlOYW1lOiB0YWJsZU5hbWUsXHJcbiAgICAgIHdoZXJlQ2xhdXNlOiB3aGVyZUNsYXVzZSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Injectable, inject } from '@angular/core';
3
- import { ConjuctionClause, RelationalOperator, FilterValueType, } from '../../enums/dsq.enum';
3
+ import { ConjunctionClause, RelationalOperator, FilterValueType, } from '../../enums/dsq.enum';
4
4
  import { APIFilterCriteria } from '../../models/api-query.class';
5
5
  import { MetadataHelper } from './meta-data.helpers';
6
6
  import * as i0 from "@angular/core";
@@ -36,23 +36,6 @@ export class WhereClauseHelper {
36
36
  bindWhereClauseForDeleteWithMultiplePrimaryKeys(data, fieldName, crudTableName) {
37
37
  return this.bindWhereClauseForMultiplePrimaryKeys(data, fieldName, crudTableName);
38
38
  }
39
- /**
40
- * Binds the where clause for an insert operation
41
- * @returns The bound where clause for insert operation
42
- */
43
- bindWhereClauseForInsert() {
44
- return this.bindWhereClauseEmpty();
45
- }
46
- /**
47
- * Binds an empty where clause
48
- * @returns The bound empty where clause
49
- */
50
- bindWhereClauseEmpty() {
51
- const whereClause = new APIFilterCriteria();
52
- whereClause.filterLogic = '1';
53
- whereClause.filters = [];
54
- return whereClause;
55
- }
56
39
  /**
57
40
  * Binds the where clause based on provided parameters
58
41
  * @param fields The fields to bind the where clause
@@ -66,7 +49,7 @@ export class WhereClauseHelper {
66
49
  ? f.Field?.FieldName === fieldName
67
50
  : f.Field?.FieldName === 'Id' || f.Field?.FieldName === 'ID');
68
51
  const filters = filteredFields.map((field, index) => ({
69
- conjunction: ConjuctionClause.AND,
52
+ conjunction: ConjunctionClause.AND,
70
53
  fieldName: crudTableName + '.' + field.Field.FieldName,
71
54
  operator: RelationalOperator.EqualTo,
72
55
  valueType: FilterValueType.Literal,
@@ -94,7 +77,7 @@ export class WhereClauseHelper {
94
77
  const value = data[element.FieldName];
95
78
  if (value) {
96
79
  const filter = {
97
- conjunction: ConjuctionClause.AND,
80
+ conjunction: ConjunctionClause.AND,
98
81
  fieldName: crudTableName + '.' + element.FieldName,
99
82
  operator: RelationalOperator.EqualTo,
100
83
  valueType: FilterValueType.Literal,
@@ -121,7 +104,7 @@ export class WhereClauseHelper {
121
104
  if (queryFieldsArray.length) {
122
105
  queryFieldsArray.forEach((element, index) => {
123
106
  const filter = {
124
- conjunction: ConjuctionClause.AND,
107
+ conjunction: ConjunctionClause.AND,
125
108
  fieldName: tableName + '.' + element.FieldName,
126
109
  operator: RelationalOperator.EqualTo,
127
110
  valueType: FilterValueType.Literal,
@@ -146,7 +129,7 @@ export class WhereClauseHelper {
146
129
  const whereClause = new APIFilterCriteria();
147
130
  whereClause.filters = [];
148
131
  const filter = {
149
- conjunction: ConjuctionClause.AND,
132
+ conjunction: ConjunctionClause.AND,
150
133
  fieldName: tableName + '.' + primaryKey,
151
134
  operator: RelationalOperator.EqualTo,
152
135
  valueType: FilterValueType.Literal,
@@ -176,7 +159,7 @@ export class WhereClauseHelper {
176
159
  const whereClause = new APIFilterCriteria();
177
160
  whereClause.filters = [];
178
161
  const filter = {
179
- conjunction: ConjuctionClause.AND,
162
+ conjunction: ConjunctionClause.AND,
180
163
  fieldName: tableName + '.' + primaryKey,
181
164
  operator: RelationalOperator.IN,
182
165
  valueType: FilterValueType.Literal,
@@ -199,34 +182,6 @@ export class WhereClauseHelper {
199
182
  bindWhereClauseForUpdateGrid(Fields, value, fieldName, crudTableName) {
200
183
  return this.bindWhereClause(Fields, value, fieldName, crudTableName);
201
184
  }
202
- /**
203
- * Binds the where clause for updating records using filters
204
- * @param tableName The name of the table to update
205
- * @param filters The array of filters for the update query
206
- * @param fields The array of fields from the app object to map with field ID - used in replacing ID With name
207
- * @returns The bound where clause for update operation
208
- */
209
- bindWhereClauseForUpdateUsingFilters(tableName, filters, fields) {
210
- const whereClause = new APIFilterCriteria();
211
- whereClause.filters = [];
212
- if (filters.length) {
213
- filters.forEach((element, index) => {
214
- const field = fields.find((f) => f.ID === element.FieldID) || {};
215
- const filter = {
216
- conjunction: element.ConjuctionClause,
217
- fieldName: tableName + '.' + field.FieldName,
218
- operator: element.RelationalOperator,
219
- valueType: element.ValueType,
220
- value: element.Value,
221
- sequence: element.Sequence || index + 1,
222
- groupId: element.GroupID,
223
- };
224
- whereClause.filters.push(filter);
225
- });
226
- }
227
- whereClause.filterLogic = '1';
228
- return whereClause;
229
- }
230
185
  /**
231
186
  * Binds the where clause for deleting records using a set of key value pairs
232
187
  * @param tableName The name of the table from which to delete records
@@ -240,7 +195,7 @@ export class WhereClauseHelper {
240
195
  // The conjuction clause is AND for all items
241
196
  keyValuePairs.forEach((pair, index) => {
242
197
  const filter = {
243
- conjunction: index === 0 ? ConjuctionClause.AND : ConjuctionClause.AND,
198
+ conjunction: index === 0 ? ConjunctionClause.AND : ConjunctionClause.AND,
244
199
  fieldName: tableName + '.' + pair.key,
245
200
  operator: RelationalOperator.EqualTo,
246
201
  valueType: FilterValueType.Literal,
@@ -261,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
261
216
  type: Injectable,
262
217
  args: [{ providedIn: 'root' }]
263
218
  }] });
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUtY2xhdXNlLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vd2hlcmUtY2xhdXNlLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0F1VDFEO0lBdFRDOzs7Ozs7O09BT0c7SUFDSCx3QkFBd0IsQ0FDdEIsTUFBVyxFQUNYLEtBQVUsRUFDVixTQUFpQixFQUNqQixhQUFxQjtRQUVyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixhQUFhLEdBQUcsVUFBVSxDQUFDLGlCQUFp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LEVBQUUsZUFBZSxDQUFDLE9BQU87Z0JBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQzthQUNYLENBQUM7WUFDRixXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILG9EQUFvRDtRQUNwRCxXQUFXLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztRQUM5QixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDOytHQXZUVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmp1Y3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIEZpbHRlclZhbHVlVHlwZSxcclxufSBmcm9tICcuLi8uLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEFQSUZpbHRlckNyaXRlcmlhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi9tZXRhLWRhdGEuaGVscGVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgV2hlcmVDbGF1c2VIZWxwZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgYmFzZWQgb24gZmllbGQsIHZhbHVlLCBmaWVsZCBuYW1lLCBhbmQgQ1JVRCB0YWJsZSBuYW1lXHJcbiAgICogQHBhcmFtIGZpZWxkcyBUaGUgZmllbGRzIHRvIGJpbmQgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gbWF0Y2ggaW4gdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgVGhlIGZpZWxkIG5hbWUgdG8gbWF0Y2ggaW4gdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEBwYXJhbSBjcnVkVGFibGVOYW1lIFRoZSBDUlVEIHRhYmxlIG5hbWUgZm9yIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBkZWxldGUgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9yRGVsZXRlKFxyXG4gICAgZmllbGRzOiBhbnksXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IGFwcG9iaiA9IHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QWxsQXBwT2JqZWN0cyhvYmogPT4gb2JqLlN5c3RlbURCVGFibGVOYW1lID09PSBjcnVkVGFibGVOYW1lKVswXTtcclxuICAgIGlmIChhcHBvYmogJiYgYXBwb2JqLkNSVURBcHBPYmplY3RJZCAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBjcnVkQXBwT2JqID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBcHBPYmplY3RCeUlkT3JOYW1lKGFwcG9iai5DUlVEQXBwT2JqZWN0SWQpO1xyXG4gICAgICBpZiAoY3J1ZEFwcE9iaikge1xyXG4gICAgICAgIGNydWRUYWJsZU5hbWUgPSBjcnVkQXBwT2JqLlN5c3RlbURCVGFibGVOYW1lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kV2hlcmVDbGF1c2UoZmllbGRzLCB2YWx1ZSwgZmllbGROYW1lLCBjcnVkVGFibGVOYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBjb250YWluaW5nIHByaW1hcnkga2V5IHZhbHVlc1xyXG4gICAqIEBwYXJhbSBmaWVsZE5hbWUgVGhlIGZpZWxkIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5XHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEZWxldGVXaXRoTXVsdGlwbGVQcmltYXJ5S2V5cyhcclxuICAgIGRhdGE6IGFueSxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgY3J1ZFRhYmxlTmFtZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kV2hlcmVDbGF1c2VGb3JNdWx0aXBsZVByaW1hcnlLZXlzKFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBmaWVsZE5hbWUsXHJcbiAgICAgIGNydWRUYWJsZU5hbWVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kcyB0aGUgd2hlcmUgY2xhdXNlIGZvciBhbiBpbnNlcnQgb3BlcmF0aW9uXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgaW5zZXJ0IG9wZXJhdGlvblxyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckluc2VydCgpIHtcclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZUVtcHR5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kcyBhbiBlbXB0eSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgZW1wdHkgd2hlcmUgY2xhdXNlXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRW1wdHkoKSB7XHJcbiAgICBjb25zdCB3aGVyZUNsYXVzZSA9IG5ldyBBUElGaWx0ZXJDcml0ZXJpYSgpO1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcbiAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kcyB0aGUgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHByb3ZpZGVkIHBhcmFtZXRlcnNcclxuICAgKiBAcGFyYW0gZmllbGRzIFRoZSBmaWVsZHMgdG8gYmluZCB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2VcclxuICAgKi9cclxuICBwcml2YXRlIGJpbmRXaGVyZUNsYXVzZShcclxuICAgIGZpZWxkczogYW55W10sXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApOiBBUElGaWx0ZXJDcml0ZXJpYSB7XHJcbiAgICBjb25zdCBmaWx0ZXJlZEZpZWxkcyA9IGZpZWxkcy5maWx0ZXIoKGY6IGFueSkgPT5cclxuICAgICAgZmllbGROYW1lXHJcbiAgICAgICAgPyBmLkZpZWxkPy5GaWVsZE5hbWUgPT09IGZpZWxkTmFtZVxyXG4gICAgICAgIDogZi5GaWVsZD8uRmllbGROYW1lID09PSAnSWQnIHx8IGYuRmllbGQ/LkZpZWxkTmFtZSA9PT0gJ0lEJ1xyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCBmaWx0ZXJzID0gZmlsdGVyZWRGaWVsZHMubWFwKChmaWVsZDogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoe1xyXG4gICAgICBjb25qdW5jdGlvbjogQ29uanVjdGlvbkNsYXVzZS5BTkQsXHJcbiAgICAgIGZpZWxkTmFtZTogY3J1ZFRhYmxlTmFtZSArICcuJyArIGZpZWxkLkZpZWxkLkZpZWxkTmFtZSxcclxuICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICB2YWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLFxyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgIHNlcXVlbmNlOiBpbmRleCArIDEsXHJcbiAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcblxyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBjb250YWluaW5nIHByaW1hcnkga2V5IHZhbHVlc1xyXG4gICAqIEBwYXJhbSBwcmltYXJ5S2V5cyBUaGUgYXJyYXkgb2YgcHJpbWFyeSBrZXkgZmllbGRzXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JNdWx0aXBsZVByaW1hcnlLZXlzKFxyXG4gICAgZGF0YTogYW55LFxyXG4gICAgcHJpbWFyeUtleXM6IGFueSxcclxuICAgIGNydWRUYWJsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGlmIChwcmltYXJ5S2V5cyAmJiBwcmltYXJ5S2V5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHByaW1hcnlLZXlzLmZvckVhY2goKGVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHtcclxuICAgICAgICAgICAgY29uanVuY3Rpb246IENvbmp1Y3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICAgICAgICBmaWVsZE5hbWU6IGNydWRUYWJsZU5hbWUgKyAnLicgKyBlbGVtZW50LkZpZWxkTmFtZSxcclxuICAgICAgICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICAgICAgICB2YWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLFxyXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCArIDEsXHJcbiAgICAgICAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgd2hlcmVDbGF1c2UuZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRpbmcgcmVjb3Jkc1xyXG4gICAqIEBwYXJhbSB0YWJsZU5hbWUgVGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBxdWVyeUZpZWxkc0FycmF5IFRoZSBhcnJheSBvZiBmaWVsZHMgYW5kIHZhbHVlcyBmb3IgdGhlIHVwZGF0ZSBxdWVyeVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGUodGFibGVOYW1lOiBzdHJpbmcsIHF1ZXJ5RmllbGRzQXJyYXk6IGFueSkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGlmIChxdWVyeUZpZWxkc0FycmF5Lmxlbmd0aCkge1xyXG4gICAgICBxdWVyeUZpZWxkc0FycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICAgICAgY29uanVuY3Rpb246IENvbmp1Y3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICAgICAgZmllbGROYW1lOiB0YWJsZU5hbWUgKyAnLicgKyBlbGVtZW50LkZpZWxkTmFtZSxcclxuICAgICAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbyxcclxuICAgICAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgICAgICB2YWx1ZTogZWxlbWVudC5GaWVsZFZhbHVlLFxyXG4gICAgICAgICAgc2VxdWVuY2U6IGluZGV4ICsgMSxcclxuICAgICAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB3aGVyZUNsYXVzZS5maWx0ZXJzLnB1c2goZmlsdGVyKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgYnkgdGFibGUgYW5kIHByaW1hcnkga2V5XHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgZnJvbSB3aGljaCB0byBkZWxldGUgcmVjb3Jkc1xyXG4gICAqIEBwYXJhbSBwcmltYXJ5S2V5IFRoZSBuYW1lIG9mIHRoZSBwcmltYXJ5IGtleSBmaWVsZFxyXG4gICAqIEBwYXJhbSBwcmltYXJ5S2V5VmFsdWUgVGhlIHZhbHVlIG9mIHRoZSBwcmltYXJ5IGtleVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb24gdXNpbmcgdGFibGUgYW5kIHByaW1hcnkga2V5XHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9yRGVsZXRlQnlUYWJsZShcclxuICAgIHRhYmxlTmFtZTogc3RyaW5nLFxyXG4gICAgcHJpbWFyeUtleTogc3RyaW5nLFxyXG4gICAgcHJpbWFyeUtleVZhbHVlOiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHtcclxuICAgICAgY29uanVuY3Rpb246IENvbmp1Y3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICBmaWVsZE5hbWU6IHRhYmxlTmFtZSArICcuJyArIHByaW1hcnlLZXksXHJcbiAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbyxcclxuICAgICAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgdmFsdWU6IHByaW1hcnlLZXlWYWx1ZSxcclxuICAgICAgc2VxdWVuY2U6IDEsXHJcbiAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICB9O1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgdXNpbmcgSU4gb3BlcmF0b3IgYnkgdGFibGVcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXkgVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IGZpZWxkXHJcbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgSU4gb3BlcmF0b3JcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBkZWxldGUgb3BlcmF0aW9uIHVzaW5nIElOIG9wZXJhdG9yIGFuZCB0YWJsZVxyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckRlbGV0ZVVzaW5nSW5PcGVyYXRvckJ5VGFibGUoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIHByaW1hcnlLZXk6IHN0cmluZyxcclxuICAgIHZhbHVlczogW11cclxuICApIHtcclxuICAgIGNvbnN0IGFwcG9iaiA9IHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QWxsQXBwT2JqZWN0cyhvYmogPT4gb2JqLlN5c3RlbURCVGFibGVOYW1lID09PSB0YWJsZU5hbWUpWzBdO1xyXG4gICAgaWYgKGFwcG9iaj8uQ1JVREFwcE9iamVjdElkICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGNydWRBcHBPYmogPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUoYXBwb2JqLkNSVURBcHBPYmplY3RJZCB8fCAnJyk7XHJcbiAgICAgIGlmIChjcnVkQXBwT2JqKSB7XHJcbiAgICAgICAgdGFibGVOYW1lID0gY3J1ZEFwcE9iai5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICBjb25qdW5jdGlvbjogQ29uanVjdGlvbkNsYXVzZS5BTkQsXHJcbiAgICAgIGZpZWxkTmFtZTogdGFibGVOYW1lICsgJy4nICsgcHJpbWFyeUtleSxcclxuICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5JTixcclxuICAgICAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgdmFsdWU6IHZhbHVlcy5qb2luKCcsJyksXHJcbiAgICAgIHNlcXVlbmNlOiAxLFxyXG4gICAgICBncm91cElkOiAwLFxyXG4gICAgfTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcbiAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kcyB0aGUgd2hlcmUgY2xhdXNlIGZvciB1cGRhdGluZyByZWNvcmRzIGluIGEgZ3JpZFxyXG4gICAqIEBwYXJhbSBGaWVsZHMgVGhlIGZpZWxkcyB0byBiaW5kIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIFRoZSBmaWVsZCBuYW1lIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRlIG9wZXJhdGlvbiBpbiBhIGdyaWRcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGVHcmlkKFxyXG4gICAgRmllbGRzOiBhbnksXHJcbiAgICB2YWx1ZTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZShGaWVsZHMsIHZhbHVlLCBmaWVsZE5hbWUsIGNydWRUYWJsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRpbmcgcmVjb3JkcyB1c2luZyBmaWx0ZXJzXHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIGZpbHRlcnMgVGhlIGFycmF5IG9mIGZpbHRlcnMgZm9yIHRoZSB1cGRhdGUgcXVlcnlcclxuICAgKiBAcGFyYW0gZmllbGRzIFRoZSBhcnJheSBvZiBmaWVsZHMgZnJvbSB0aGUgYXBwIG9iamVjdCB0byBtYXAgd2l0aCBmaWVsZCBJRCAtIHVzZWQgaW4gcmVwbGFjaW5nIElEIFdpdGggbmFtZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JVcGRhdGVVc2luZ0ZpbHRlcnMoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIGZpbHRlcnM6IGFueSxcclxuICAgIGZpZWxkczogYW55W11cclxuICApIHtcclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcbiAgICBpZiAoZmlsdGVycy5sZW5ndGgpIHtcclxuICAgICAgZmlsdGVycy5mb3JFYWNoKChlbGVtZW50OiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChmKSA9PiBmLklEID09PSBlbGVtZW50LkZpZWxkSUQpIHx8IHt9O1xyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XHJcbiAgICAgICAgICBjb25qdW5jdGlvbjogZWxlbWVudC5Db25qdWN0aW9uQ2xhdXNlLFxyXG4gICAgICAgICAgZmllbGROYW1lOiB0YWJsZU5hbWUgKyAnLicgKyBmaWVsZC5GaWVsZE5hbWUsXHJcbiAgICAgICAgICBvcGVyYXRvcjogZWxlbWVudC5SZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgICAgICAgICB2YWx1ZVR5cGU6IGVsZW1lbnQuVmFsdWVUeXBlLFxyXG4gICAgICAgICAgdmFsdWU6IGVsZW1lbnQuVmFsdWUsXHJcbiAgICAgICAgICBzZXF1ZW5jZTogZWxlbWVudC5TZXF1ZW5jZSB8fCBpbmRleCArIDEsXHJcbiAgICAgICAgICBncm91cElkOiBlbGVtZW50Lkdyb3VwSUQsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgd2hlcmVDbGF1c2UuZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyB1c2luZyBhIHNldCBvZiBrZXkgdmFsdWUgcGFpcnNcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIGtleVZhbHVlUGFpcnMgVGhlIGFycmF5IG9mIGtleSB2YWx1ZSBwYWlycyB0byB1c2UgaW4gdGhlIGRlbGV0ZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBkZWxldGUgb3BlcmF0aW9uIHVzaW5nIGtleSB2YWx1ZSBwYWlyc1xyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckR5bmFtaWNEZWxldGUoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIGtleVZhbHVlUGFpcnM6IGFueVtdXHJcbiAgKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuXHJcbiAgICAvLyBMb29wIHRocm91Z2ggdGhlIGtleSB2YWx1ZSBwYWlycyBhbmQgYWRkIHRoZW0gdG8gdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAgLy8gVGhlIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBmb3IgYWxsIGl0ZW1zXHJcbiAgICBrZXlWYWx1ZVBhaXJzLmZvckVhY2goKHBhaXIsIGluZGV4KSA9PiB7XHJcbiAgICAgIGNvbnN0IGZpbHRlciA9IHtcclxuICAgICAgICBjb25qdW5jdGlvbjogaW5kZXggPT09IDAgPyBDb25qdWN0aW9uQ2xhdXNlLkFORCA6IENvbmp1Y3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICAgIGZpZWxkTmFtZTogdGFibGVOYW1lICsgJy4nICsgcGFpci5rZXksXHJcbiAgICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgICAgdmFsdWU6IHBhaXIudmFsdWUsXHJcbiAgICAgICAgc2VxdWVuY2U6IGluZGV4ICsgMSxcclxuICAgICAgICBncm91cElkOiAwXHJcbiAgICAgIH07XHJcbiAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gVGhlIGZpbHRlciBsb2dpYyBpcyBhbHdheXMgJzEnIGZvciBkeW5hbWljIGRlbGV0ZVxyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcbiAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hlcmUtY2xhdXNlLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9jb21tb24vd2hlcmUtY2xhdXNlLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FnUTFEO0lBL1BDOzs7Ozs7O09BT0c7SUFDSCx3QkFBd0IsQ0FDdEIsTUFBVyxFQUNYLEtBQVUsRUFDVixTQUFpQixFQUNqQixhQUFxQjtRQUVyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGlCQUFpQixLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixhQUFhLEdBQUcsVUFBVSxDQUFDLGlCQUFp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LENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFFSCxvREFBb0Q7UUFDcEQsV0FBVyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDOUIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzsrR0FoUVUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FESixNQUFNOzs0RkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb25qdW5jdGlvbkNsYXVzZSxcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgRmlsdGVyVmFsdWVUeXBlLFxyXG59IGZyb20gJy4uLy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgQVBJRmlsdGVyQ3JpdGVyaWEgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBpLXF1ZXJ5LmNsYXNzJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuL21ldGEtZGF0YS5oZWxwZXJzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBXaGVyZUNsYXVzZUhlbHBlciB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyBiYXNlZCBvbiBmaWVsZCwgdmFsdWUsIGZpZWxkIG5hbWUsIGFuZCBDUlVEIHRhYmxlIG5hbWVcclxuICAgKiBAcGFyYW0gZmllbGRzIFRoZSBmaWVsZHMgdG8gYmluZCB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb25cclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEZWxldGUoXHJcbiAgICBmaWVsZHM6IGFueSxcclxuICAgIHZhbHVlOiBhbnksXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZyxcclxuICAgIGNydWRUYWJsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgYXBwb2JqID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBbGxBcHBPYmplY3RzKG9iaiA9PiBvYmouU3lzdGVtREJUYWJsZU5hbWUgPT09IGNydWRUYWJsZU5hbWUpWzBdO1xyXG4gICAgaWYgKGFwcG9iaiAmJiBhcHBvYmouQ1JVREFwcE9iamVjdElkICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGNydWRBcHBPYmogPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUoYXBwb2JqLkNSVURBcHBPYmplY3RJZCk7XHJcbiAgICAgIGlmIChjcnVkQXBwT2JqKSB7XHJcbiAgICAgICAgY3J1ZFRhYmxlTmFtZSA9IGNydWRBcHBPYmouU3lzdGVtREJUYWJsZU5hbWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZShmaWVsZHMsIHZhbHVlLCBmaWVsZE5hbWUsIGNydWRUYWJsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqIEBwYXJhbSBkYXRhIFRoZSBkYXRhIGNvbnRhaW5pbmcgcHJpbWFyeSBrZXkgdmFsdWVzXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSBvZiB0aGUgcHJpbWFyeSBrZXlcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB3aXRoIG11bHRpcGxlIHByaW1hcnkga2V5c1xyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckRlbGV0ZVdpdGhNdWx0aXBsZVByaW1hcnlLZXlzKFxyXG4gICAgZGF0YTogYW55LFxyXG4gICAgZmllbGROYW1lOiBzdHJpbmcsXHJcbiAgICBjcnVkVGFibGVOYW1lOiBzdHJpbmdcclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmJpbmRXaGVyZUNsYXVzZUZvck11bHRpcGxlUHJpbWFyeUtleXMoXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGZpZWxkTmFtZSxcclxuICAgICAgY3J1ZFRhYmxlTmFtZVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gcHJvdmlkZWQgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBiaW5kIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gZmllbGROYW1lIFRoZSBmaWVsZCBuYW1lIHRvIG1hdGNoIGluIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgKiBAcGFyYW0gY3J1ZFRhYmxlTmFtZSBUaGUgQ1JVRCB0YWJsZSBuYW1lIGZvciB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgYmluZFdoZXJlQ2xhdXNlKFxyXG4gICAgZmllbGRzOiBhbnlbXSxcclxuICAgIHZhbHVlOiBhbnksXHJcbiAgICBmaWVsZE5hbWU6IHN0cmluZyxcclxuICAgIGNydWRUYWJsZU5hbWU6IHN0cmluZ1xyXG4gICk6IEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICAgIGNvbnN0IGZpbHRlcmVkRmllbGRzID0gZmllbGRzLmZpbHRlcigoZjogYW55KSA9PlxyXG4gICAgICBmaWVsZE5hbWVcclxuICAgICAgICA/IGYuRmllbGQ/LkZpZWxkTmFtZSA9PT0gZmllbGROYW1lXHJcbiAgICAgICAgOiBmLkZpZWxkPy5GaWVsZE5hbWUgPT09ICdJZCcgfHwgZi5GaWVsZD8uRmllbGROYW1lID09PSAnSUQnXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGZpbHRlcnMgPSBmaWx0ZXJlZEZpZWxkcy5tYXAoKGZpZWxkOiBhbnksIGluZGV4OiBudW1iZXIpID0+ICh7XHJcbiAgICAgIGNvbmp1bmN0aW9uOiBDb25qdW5jdGlvbkNsYXVzZS5BTkQsXHJcbiAgICAgIGZpZWxkTmFtZTogY3J1ZFRhYmxlTmFtZSArICcuJyArIGZpZWxkLkZpZWxkLkZpZWxkTmFtZSxcclxuICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICB2YWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLFxyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgIHNlcXVlbmNlOiBpbmRleCArIDEsXHJcbiAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBmaWx0ZXJzO1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcblxyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBjb250YWluaW5nIHByaW1hcnkga2V5IHZhbHVlc1xyXG4gICAqIEBwYXJhbSBwcmltYXJ5S2V5cyBUaGUgYXJyYXkgb2YgcHJpbWFyeSBrZXkgZmllbGRzXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0ZSBvcGVyYXRpb24gd2l0aCBtdWx0aXBsZSBwcmltYXJ5IGtleXNcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JNdWx0aXBsZVByaW1hcnlLZXlzKFxyXG4gICAgZGF0YTogYW55LFxyXG4gICAgcHJpbWFyeUtleXM6IGFueSxcclxuICAgIGNydWRUYWJsZU5hbWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGlmIChwcmltYXJ5S2V5cyAmJiBwcmltYXJ5S2V5cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHByaW1hcnlLZXlzLmZvckVhY2goKGVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YVtlbGVtZW50LkZpZWxkTmFtZV07XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHtcclxuICAgICAgICAgICAgY29uanVuY3Rpb246IENvbmp1bmN0aW9uQ2xhdXNlLkFORCxcclxuICAgICAgICAgICAgZmllbGROYW1lOiBjcnVkVGFibGVOYW1lICsgJy4nICsgZWxlbWVudC5GaWVsZE5hbWUsXHJcbiAgICAgICAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbyxcclxuICAgICAgICAgICAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgICAgICAgICBzZXF1ZW5jZTogaW5kZXggKyAxLFxyXG4gICAgICAgICAgICBncm91cElkOiAwLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0aW5nIHJlY29yZHNcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSB0byB1cGRhdGVcclxuICAgKiBAcGFyYW0gcXVlcnlGaWVsZHNBcnJheSBUaGUgYXJyYXkgb2YgZmllbGRzIGFuZCB2YWx1ZXMgZm9yIHRoZSB1cGRhdGUgcXVlcnlcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciB1cGRhdGUgb3BlcmF0aW9uXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9yVXBkYXRlKHRhYmxlTmFtZTogc3RyaW5nLCBxdWVyeUZpZWxkc0FycmF5OiBhbnkpIHtcclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcbiAgICBpZiAocXVlcnlGaWVsZHNBcnJheS5sZW5ndGgpIHtcclxuICAgICAgcXVlcnlGaWVsZHNBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHtcclxuICAgICAgICAgIGNvbmp1bmN0aW9uOiBDb25qdW5jdGlvbkNsYXVzZS5BTkQsXHJcbiAgICAgICAgICBmaWVsZE5hbWU6IHRhYmxlTmFtZSArICcuJyArIGVsZW1lbnQuRmllbGROYW1lLFxyXG4gICAgICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICAgICAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgICAgIHZhbHVlOiBlbGVtZW50LkZpZWxkVmFsdWUsXHJcbiAgICAgICAgICBzZXF1ZW5jZTogaW5kZXggKyAxLFxyXG4gICAgICAgICAgZ3JvdXBJZDogMCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRpbmcgcmVjb3JkcyBieSB0YWJsZSBhbmQgcHJpbWFyeSBrZXlcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXkgVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IGZpZWxkXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXlWYWx1ZSBUaGUgdmFsdWUgb2YgdGhlIHByaW1hcnkga2V5XHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB1c2luZyB0YWJsZSBhbmQgcHJpbWFyeSBrZXlcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEZWxldGVCeVRhYmxlKFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICBwcmltYXJ5S2V5OiBzdHJpbmcsXHJcbiAgICBwcmltYXJ5S2V5VmFsdWU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICBjb25qdW5jdGlvbjogQ29uanVuY3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICBmaWVsZE5hbWU6IHRhYmxlTmFtZSArICcuJyArIHByaW1hcnlLZXksXHJcbiAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbyxcclxuICAgICAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUuTGl0ZXJhbCxcclxuICAgICAgdmFsdWU6IHByaW1hcnlLZXlWYWx1ZSxcclxuICAgICAgc2VxdWVuY2U6IDEsXHJcbiAgICAgIGdyb3VwSWQ6IDAsXHJcbiAgICB9O1xyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVycy5wdXNoKGZpbHRlcik7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJMb2dpYyA9ICcxJztcclxuICAgIHJldHVybiB3aGVyZUNsYXVzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgdXNpbmcgSU4gb3BlcmF0b3IgYnkgdGFibGVcclxuICAgKiBAcGFyYW0gdGFibGVOYW1lIFRoZSBuYW1lIG9mIHRoZSB0YWJsZSBmcm9tIHdoaWNoIHRvIGRlbGV0ZSByZWNvcmRzXHJcbiAgICogQHBhcmFtIHByaW1hcnlLZXkgVGhlIG5hbWUgb2YgdGhlIHByaW1hcnkga2V5IGZpZWxkXHJcbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgSU4gb3BlcmF0b3JcclxuICAgKiBAcmV0dXJucyBUaGUgYm91bmQgd2hlcmUgY2xhdXNlIGZvciBkZWxldGUgb3BlcmF0aW9uIHVzaW5nIElOIG9wZXJhdG9yIGFuZCB0YWJsZVxyXG4gICAqL1xyXG4gIGJpbmRXaGVyZUNsYXVzZUZvckRlbGV0ZVVzaW5nSW5PcGVyYXRvckJ5VGFibGUoXHJcbiAgICB0YWJsZU5hbWU6IHN0cmluZyxcclxuICAgIHByaW1hcnlLZXk6IHN0cmluZyxcclxuICAgIHZhbHVlczogW11cclxuICApIHtcclxuICAgIGNvbnN0IGFwcG9iaiA9IHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QWxsQXBwT2JqZWN0cyhvYmogPT4gb2JqLlN5c3RlbURCVGFibGVOYW1lID09PSB0YWJsZU5hbWUpWzBdO1xyXG4gICAgaWYgKGFwcG9iaj8uQ1JVREFwcE9iamVjdElkICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGNydWRBcHBPYmogPSB0aGlzLm1ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUoYXBwb2JqLkNSVURBcHBPYmplY3RJZCB8fCAnJyk7XHJcbiAgICAgIGlmIChjcnVkQXBwT2JqKSB7XHJcbiAgICAgICAgdGFibGVOYW1lID0gY3J1ZEFwcE9iai5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgd2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMgPSBbXTtcclxuICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xyXG4gICAgICBjb25qdW5jdGlvbjogQ29uanVuY3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICBmaWVsZE5hbWU6IHRhYmxlTmFtZSArICcuJyArIHByaW1hcnlLZXksXHJcbiAgICAgIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuSU4sXHJcbiAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgIHZhbHVlOiB2YWx1ZXMuam9pbignLCcpLFxyXG4gICAgICBzZXF1ZW5jZTogMSxcclxuICAgICAgZ3JvdXBJZDogMCxcclxuICAgIH07XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzLnB1c2goZmlsdGVyKTtcclxuICAgIHdoZXJlQ2xhdXNlLmZpbHRlckxvZ2ljID0gJzEnO1xyXG4gICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZHMgdGhlIHdoZXJlIGNsYXVzZSBmb3IgdXBkYXRpbmcgcmVjb3JkcyBpbiBhIGdyaWRcclxuICAgKiBAcGFyYW0gRmllbGRzIFRoZSBmaWVsZHMgdG8gYmluZCB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGZpZWxkTmFtZSBUaGUgZmllbGQgbmFtZSB0byBtYXRjaCBpbiB0aGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSBmb3IgdGhlIHdoZXJlIGNsYXVzZVxyXG4gICAqIEByZXR1cm5zIFRoZSBib3VuZCB3aGVyZSBjbGF1c2UgZm9yIHVwZGF0ZSBvcGVyYXRpb24gaW4gYSBncmlkXHJcbiAgICovXHJcbiAgYmluZFdoZXJlQ2xhdXNlRm9yVXBkYXRlR3JpZChcclxuICAgIEZpZWxkczogYW55LFxyXG4gICAgdmFsdWU6IGFueSxcclxuICAgIGZpZWxkTmFtZTogc3RyaW5nLFxyXG4gICAgY3J1ZFRhYmxlTmFtZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5iaW5kV2hlcmVDbGF1c2UoRmllbGRzLCB2YWx1ZSwgZmllbGROYW1lLCBjcnVkVGFibGVOYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJpbmRzIHRoZSB3aGVyZSBjbGF1c2UgZm9yIGRlbGV0aW5nIHJlY29yZHMgdXNpbmcgYSBzZXQgb2Yga2V5IHZhbHVlIHBhaXJzXHJcbiAgICogQHBhcmFtIHRhYmxlTmFtZSBUaGUgbmFtZSBvZiB0aGUgdGFibGUgZnJvbSB3aGljaCB0byBkZWxldGUgcmVjb3Jkc1xyXG4gICAqIEBwYXJhbSBrZXlWYWx1ZVBhaXJzIFRoZSBhcnJheSBvZiBrZXkgdmFsdWUgcGFpcnMgdG8gdXNlIGluIHRoZSBkZWxldGUgd2hlcmUgY2xhdXNlXHJcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHdoZXJlIGNsYXVzZSBmb3IgZGVsZXRlIG9wZXJhdGlvbiB1c2luZyBrZXkgdmFsdWUgcGFpcnNcclxuICAgKi9cclxuICBiaW5kV2hlcmVDbGF1c2VGb3JEeW5hbWljRGVsZXRlKFxyXG4gICAgdGFibGVOYW1lOiBzdHJpbmcsXHJcbiAgICBrZXlWYWx1ZVBhaXJzOiBhbnlbXVxyXG4gICk6IEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XHJcbiAgICB3aGVyZUNsYXVzZS5maWx0ZXJzID0gW107XHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBrZXkgdmFsdWUgcGFpcnMgYW5kIGFkZCB0aGVtIHRvIHRoZSB3aGVyZSBjbGF1c2VcclxuICAgIC8vIFRoZSBjb25qdWN0aW9uIGNsYXVzZSBpcyBBTkQgZm9yIGFsbCBpdGVtc1xyXG4gICAga2V5VmFsdWVQYWlycy5mb3JFYWNoKChwYWlyLCBpbmRleCkgPT4ge1xyXG4gICAgICBjb25zdCBmaWx0ZXIgPSB7XHJcbiAgICAgICAgY29uanVuY3Rpb246IGluZGV4ID09PSAwID8gQ29uanVuY3Rpb25DbGF1c2UuQU5EIDogQ29uanVuY3Rpb25DbGF1c2UuQU5ELFxyXG4gICAgICAgIGZpZWxkTmFtZTogdGFibGVOYW1lICsgJy4nICsgcGFpci5rZXksXHJcbiAgICAgICAgb3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLFxyXG4gICAgICAgIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsXHJcbiAgICAgICAgdmFsdWU6IHBhaXIudmFsdWUsXHJcbiAgICAgICAgc2VxdWVuY2U6IGluZGV4ICsgMSxcclxuICAgICAgICBncm91cElkOiAwXHJcbiAgICAgIH07XHJcbiAgICAgIHdoZXJlQ2xhdXNlLmZpbHRlcnMucHVzaChmaWx0ZXIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gVGhlIGZpbHRlciBsb2dpYyBpcyBhbHdheXMgJzEnIGZvciBkeW5hbWljIGRlbGV0ZVxyXG4gICAgd2hlcmVDbGF1c2UuZmlsdGVyTG9naWMgPSAnMSc7XHJcbiAgICByZXR1cm4gd2hlcmVDbGF1c2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,90 +1,6 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { inject, Injectable } from '@angular/core';
3
- import { MetadataHelper } from '../common/meta-data.helpers';
4
- import { of } from 'rxjs';
5
- import { Common } from '../../constants/common';
1
+ import { Injectable } from '@angular/core';
6
2
  import * as i0 from "@angular/core";
7
3
  export class GridHelper {
8
- constructor() {
9
- this.metadataHelper = inject(MetadataHelper);
10
- }
11
- /**
12
- * Generates a grid schema for the master app object.
13
- * @param masterAppObj The master app object.
14
- * @param dsqID The data source query ID.
15
- * @returns The generated grid schema.
16
- */
17
- generateGridSchema(masterAppObj, dsqID) {
18
- const schema = {
19
- label: masterAppObj?.SystemDBTableName,
20
- type: 'customGrid',
21
- key: masterAppObj?.SystemDBTableName,
22
- input: true,
23
- redrawOn: masterAppObj?.SystemDBTableName,
24
- 'customOptions.dataSourceQueryId': dsqID,
25
- };
26
- return schema;
27
- }
28
- /**
29
- * Generates a grid schema for the child relationship.
30
- * @param childRel The child relationship.
31
- * @param masterAppObj The master app object.
32
- * @returns The generated child grid schema.
33
- */
34
- generateChildGridSchema(childRel, masterAppObj) {
35
- const dsqNameString = 'FK_' +
36
- childRel.childDetails.LookupObject +
37
- '_' +
38
- masterAppObj.SystemDBTableName;
39
- const appObjectModel = this.metadataHelper.getAllAppObjects(obj => obj.SystemDBTableName === childRel.childDetails.LookupObject)[0];
40
- const dsqObject = appObjectModel?.dataSourceQuery(dsqNameString);
41
- if (dsqObject) {
42
- return {
43
- label: childRel?.childDetails?.LookupObject,
44
- type: 'customGrid',
45
- key: childRel?.childDetails?.LookupObject,
46
- input: true,
47
- redrawOn: masterAppObj?.SystemDBTableName,
48
- 'customOptions.dataSourceQueryId': dsqObject ? dsqObject.ID : '',
49
- logic: [
50
- {
51
- name: 'Update Fields',
52
- trigger: {
53
- type: 'javascript',
54
- javascript: 'result=true;',
55
- },
56
- actions: [
57
- {
58
- name: 'Refresh ' + childRel?.childDetails?.LookupObject + ' Grid',
59
- type: 'property',
60
- property: {
61
- label: 'parameters',
62
- value: 'customOptions.parameters',
63
- type: 'string',
64
- },
65
- text: '{{data.' + masterAppObj?.SystemDBTableName + '}}',
66
- },
67
- ],
68
- },
69
- ],
70
- };
71
- }
72
- return of({});
73
- }
74
- /**
75
- * Retrieves the default grid configuration.
76
- * @returns The default grid configuration.
77
- */
78
- getDefaultGridConfiguration() {
79
- const tabData = Common.tabJson;
80
- if (tabData) {
81
- const configuration = tabData?.AppConfigurations.find((c) => c.Setting_Key === 'GridConfig');
82
- if (configuration) {
83
- return JSON.parse(configuration.Value);
84
- }
85
- }
86
- return null;
87
- }
88
4
  /**
89
5
  * Determines the column type based on the data type.
90
6
  * @param dataType The data type.
@@ -100,9 +16,9 @@ export class GridHelper {
100
16
  else if (dataType === 4 || (dataType >= 7 && dataType <= 15))
101
17
  return 'string';
102
18
  else if (dataType === 5)
103
- return 'date'; //date
19
+ return 'date';
104
20
  else if (dataType === 6)
105
- return 'dateTime'; // dateTime
21
+ return 'dateTime';
106
22
  else
107
23
  return 'string';
108
24
  }
@@ -121,9 +37,9 @@ export class GridHelper {
121
37
  else if (dataType === 4 || (dataType >= 7 && dataType <= 15))
122
38
  return 'defaultEdit';
123
39
  else if (dataType === 5)
124
- return 'datePickerEdit'; // datePickerEdit';
40
+ return 'datePickerEdit';
125
41
  else if (dataType === 6)
126
- return 'dateTimePickerEdit'; //dateTimePickerEdit
42
+ return 'dateTimePickerEdit';
127
43
  else if (dataType === 17)
128
44
  return 'dropDownEdit';
129
45
  else
@@ -136,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
136
52
  type: Injectable,
137
53
  args: [{ providedIn: 'root' }]
138
54
  }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUloRCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVtQixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQW1IMUQ7SUFsSEM7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBQyxZQUF1QixFQUFFLEtBQVU7UUFDcEQsTUFBTSxNQUFNLEdBQUc7WUFDYixLQUFLLEVBQUUsWUFBWSxFQUFFLGlCQUFpQjtZQUN0QyxJQUFJLEVBQUUsWUFBWTtZQUNsQixHQUFHLEVBQUUsWUFBWSxFQUFFLGlCQUFpQjtZQUNwQyxLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRSxZQUFZLEVBQUUsaUJBQWlCO1lBQ3pDLGlDQUFpQyxFQUFFLEtBQUs7U0FDekMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHVCQUF1QixDQUFDLFFBQWEsRUFBRSxZQUF1QjtRQUM1RCxNQUFNLGFBQWEsR0FDakIsS0FBSztZQUNMLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWTtZQUNsQyxHQUFHO1lBQ0gsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ2pDLE1BQU0sY0FBYyxHQUFHLElB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LElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLFFBQVEsS0FBSyxFQUFFLENBQUM7WUFBRSxPQUFPLGFBQWEsQ0FBQzthQUMxRSxJQUFJLFFBQVEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssRUFBRTtZQUFFLE9BQU8sYUFBYSxDQUFDO2FBQzlFLElBQUksUUFBUSxLQUFLLENBQUM7WUFBRSxPQUFPLGFBQWEsQ0FBQzthQUN6QyxJQUFJLFFBQVEsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFBRSxPQUFPLGFBQWEsQ0FBQzthQUM5RSxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFHLG1CQUFtQjthQUNsRSxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxvQkFBb0IsQ0FBQyxDQUFDLG9CQUFvQjthQUNyRSxJQUFJLFFBQVEsS0FBSyxFQUFFO1lBQUUsT0FBTyxjQUFjLENBQUM7O1lBQzNDLE9BQU8sYUFBYSxDQUFDO0lBQzVCLENBQUM7K0dBbkhVLFVBQVU7bUhBQVYsVUFBVSxjQURHLE1BQU07OzRGQUNuQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwcE9iamVjdCB9IGZyb20gJy4uLy4uL21vZGVscy9hcHAtb2JqZWN0LmNsYXNzJztcclxuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tICcuLi9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnMnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29tbW9uJztcclxuaW1wb3J0IHsgSnFXaWRnaHRNb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdyaWRIZWxwZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlcyBhIGdyaWQgc2NoZW1hIGZvciB0aGUgbWFzdGVyIGFwcCBvYmplY3QuXHJcbiAgICogQHBhcmFtIG1hc3RlckFwcE9iaiBUaGUgbWFzdGVyIGFwcCBvYmplY3QuXHJcbiAgICogQHBhcmFtIGRzcUlEIFRoZSBkYXRhIHNvdXJjZSBxdWVyeSBJRC5cclxuICAgKiBAcmV0dXJucyBUaGUgZ2VuZXJhdGVkIGdyaWQgc2NoZW1hLlxyXG4gICAqL1xyXG4gIGdlbmVyYXRlR3JpZFNjaGVtYShtYXN0ZXJBcHBPYmo6IEFwcE9iamVjdCwgZHNxSUQ6IGFueSkge1xyXG4gICAgY29uc3Qgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogbWFzdGVyQXBwT2JqPy5TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICAgICAgdHlwZTogJ2N1c3RvbUdyaWQnLFxyXG4gICAgICBrZXk6IG1hc3RlckFwcE9iaj8uU3lzdGVtREJUYWJsZU5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgICByZWRyYXdPbjogbWFzdGVyQXBwT2JqPy5TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICAgICAgJ2N1c3RvbU9wdGlvbnMuZGF0YVNvdXJjZVF1ZXJ5SWQnOiBkc3FJRCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gc2NoZW1hO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGEgZ3JpZCBzY2hlbWEgZm9yIHRoZSBjaGlsZCByZWxhdGlvbnNoaXAuXHJcbiAgICogQHBhcmFtIGNoaWxkUmVsIFRoZSBjaGlsZCByZWxhdGlvbnNoaXAuXHJcbiAgICogQHBhcmFtIG1hc3RlckFwcE9iaiBUaGUgbWFzdGVyIGFwcCBvYmplY3QuXHJcbiAgICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCBjaGlsZCBncmlkIHNjaGVtYS5cclxuICAgKi9cclxuICBnZW5lcmF0ZUNoaWxkR3JpZFNjaGVtYShjaGlsZFJlbDogYW55LCBtYXN0ZXJBcHBPYmo6IEFwcE9iamVjdCkge1xyXG4gICAgY29uc3QgZHNxTmFtZVN0cmluZyA9XHJcbiAgICAgICdGS18nICtcclxuICAgICAgY2hpbGRSZWwuY2hpbGREZXRhaWxzLkxvb2t1cE9iamVjdCArXHJcbiAgICAgICdfJyArXHJcbiAgICAgIG1hc3RlckFwcE9iai5TeXN0ZW1EQlRhYmxlTmFtZTtcclxuICAgIGNvbnN0IGFwcE9iamVjdE1vZGVsID0gdGhpcy5tZXRhZGF0YUhlbHBlci5nZXRBbGxBcHBPYmplY3RzKG9iaiA9PiBvYmouU3lzdGVtREJUYWJsZU5hbWUgPT09IGNoaWxkUmVsLmNoaWxkRGV0YWlscy5Mb29rdXBPYmplY3QpWzBdO1xyXG4gICAgY29uc3QgZHNxT2JqZWN0ID0gYXBwT2JqZWN0TW9kZWw/LmRhdGFTb3VyY2VRdWVyeShkc3FOYW1lU3RyaW5nKTtcclxuICAgIGlmIChkc3FPYmplY3QpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsYWJlbDogY2hpbGRSZWw/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0LFxyXG4gICAgICAgIHR5cGU6ICdjdXN0b21HcmlkJyxcclxuICAgICAgICBrZXk6IGNoaWxkUmVsPy5jaGlsZERldGFpbHM/Lkxvb2t1cE9iamVjdCxcclxuICAgICAgICBpbnB1dDogdHJ1ZSxcclxuICAgICAgICByZWRyYXdPbjogbWFzdGVyQXBwT2JqPy5TeXN0ZW1EQlRhYmxlTmFtZSxcclxuICAgICAgICAnY3VzdG9tT3B0aW9ucy5kYXRhU291cmNlUXVlcnlJZCc6IGRzcU9iamVjdCA/IGRzcU9iamVjdC5JRCA6ICcnLFxyXG4gICAgICAgIGxvZ2ljOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6ICdVcGRhdGUgRmllbGRzJyxcclxuICAgICAgICAgICAgdHJpZ2dlcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdqYXZhc2NyaXB0JyxcclxuICAgICAgICAgICAgICBqYXZhc2NyaXB0OiAncmVzdWx0PXRydWU7JyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYWN0aW9uczogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6XHJcbiAgICAgICAgICAgICAgICAgICdSZWZyZXNoICcgKyBjaGlsZFJlbD8uY2hpbGREZXRhaWxzPy5Mb29rdXBPYmplY3QgKyAnIEdyaWQnLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogJ3Byb3BlcnR5JyxcclxuICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAncGFyYW1ldGVycycsXHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiAnY3VzdG9tT3B0aW9ucy5wYXJhbWV0ZXJzJyxcclxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdGV4dDogJ3t7ZGF0YS4nICsgbWFzdGVyQXBwT2JqPy5TeXN0ZW1EQlRhYmxlTmFtZSArICd9fScsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZih7fSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGRlZmF1bHQgZ3JpZCBjb25maWd1cmF0aW9uLlxyXG4gICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IGdyaWQgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBnZXREZWZhdWx0R3JpZENvbmZpZ3VyYXRpb24oKTogSnFXaWRnaHRNb2RlbCB8IG51bGwge1xyXG4gICAgY29uc3QgdGFiRGF0YTogYW55ID0gQ29tbW9uLnRhYkpzb247XHJcbiAgICBpZiAodGFiRGF0YSkge1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGFiRGF0YT8uQXBwQ29uZmlndXJhdGlvbnMuZmluZChcclxuICAgICAgICAoYzogYW55KSA9PiBjLlNldHRpbmdfS2V5ID09PSAnR3JpZENvbmZpZydcclxuICAgICAgKTtcclxuICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShjb25maWd1cmF0aW9uLlZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlcm1pbmVzIHRoZSBjb2x1bW4gdHlwZSBiYXNlZCBvbiB0aGUgZGF0YSB0eXBlLlxyXG4gICAqIEBwYXJhbSBkYXRhVHlwZSBUaGUgZGF0YSB0eXBlLlxyXG4gICAqIEByZXR1cm5zIFRoZSBjb2x1bW4gdHlwZS5cclxuICAgKi9cclxuICBnZXRDb2x1bW5UeXBlKGRhdGFUeXBlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGRhdGFUeXBlID09PSAxIHx8IChkYXRhVHlwZSA+PSA3ICYmIGRhdGFUeXBlID09PSAxNSkpIHJldHVybiAnc3RyaW5nJztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSAyIHx8IGRhdGFUeXBlID09PSA0IHx8IGRhdGFUeXBlID09PSAxNikgcmV0dXJuICdudW1iZXInO1xyXG4gICAgZWxzZSBpZiAoZGF0YVR5cGUgPT09IDMpIHJldHVybiAnYm9vbGVhbic7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNCB8fCAoZGF0YVR5cGUgPj0gNyAmJiBkYXRhVHlwZSA8PSAxNSkpIHJldHVybiAnc3RyaW5nJztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSA1KSByZXR1cm4gJ2RhdGUnOyAgLy9kYXRlXHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNikgcmV0dXJuICdkYXRlVGltZSc7IC8vIGRhdGVUaW1lXHJcbiAgICBlbHNlIHJldHVybiAnc3RyaW5nJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgdGhlIHR5cGUgb2YgY29tcG9uZW50IGZvciBlZGl0YWJsZS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0ICdzdHJpbmdlZGl0J1xyXG4gICAqL1xyXG4gIGdldENvbHVtbkNvbXBvbmVudFR5cGVGb3JFZGl0YWJsZShkYXRhVHlwZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChkYXRhVHlwZSA9PT0gMSB8fCAoZGF0YVR5cGUgPj0gNyAmJiBkYXRhVHlwZSA9PT0gMTUpKSByZXR1cm4gJ2RlZmF1bHRFZGl0JztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSAyIHx8IGRhdGFUeXBlID09PSA0IHx8IGRhdGFUeXBlID09PSAxNikgcmV0dXJuICdudW1lcmljRWRpdCc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gMykgcmV0dXJuICdib29sZWFuRWRpdCc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNCB8fCAoZGF0YVR5cGUgPj0gNyAmJiBkYXRhVHlwZSA8PSAxNSkpIHJldHVybiAnZGVmYXVsdEVkaXQnO1xyXG4gICAgZWxzZSBpZiAoZGF0YVR5cGUgPT09IDUpIHJldHVybiAnZGF0ZVBpY2tlckVkaXQnOyAgIC8vIGRhdGVQaWNrZXJFZGl0JztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSA2KSByZXR1cm4gJ2RhdGVUaW1lUGlja2VyRWRpdCc7IC8vZGF0ZVRpbWVQaWNrZXJFZGl0XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gMTcpIHJldHVybiAnZHJvcERvd25FZGl0JztcclxuICAgIGVsc2UgcmV0dXJuICdkZWZhdWx0RWRpdCc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sVUFBVTtJQUNyQjs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxLQUFLLEVBQUUsQ0FBQztZQUFFLE9BQU8sUUFBUSxDQUFDO2FBQ3JFLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssQ0FBQyxJQUFJLFFBQVEsS0FBSyxFQUFFO1lBQUUsT0FBTyxRQUFRLENBQUM7YUFDekUsSUFBSSxRQUFRLEtBQUssQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO2FBQ3JDLElBQUksUUFBUSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUFFLE9BQU8sUUFBUSxDQUFDO2FBQ3pFLElBQUksUUFBUSxLQUFLLENBQUM7WUFBRSxPQUFPLE1BQU0sQ0FBQzthQUNsQyxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxVQUFVLENBQUM7O1lBQ3RDLE9BQU8sUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUNBQWlDLENBQUMsUUFBZ0I7UUFDaEQsSUFBSSxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQUUsT0FBTyxhQUFhLENBQUM7YUFDMUUsSUFBSSxRQUFRLEtBQUssQ0FBQyxJQUFJLFFBQVEsS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLEVBQUU7WUFBRSxPQUFPLGFBQWEsQ0FBQzthQUM5RSxJQUFJLFFBQVEsS0FBSyxDQUFDO1lBQUUsT0FBTyxhQUFhLENBQUM7YUFDekMsSUFBSSxRQUFRLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxRQUFRLElBQUksRUFBRSxDQUFDO1lBQUUsT0FBTyxhQUFhLENBQUM7YUFDOUUsSUFBSSxRQUFRLEtBQUssQ0FBQztZQUFFLE9BQU8sZ0JBQWdCLENBQUM7YUFDNUMsSUFBSSxRQUFRLEtBQUssQ0FBQztZQUFFLE9BQU8sb0JBQW9CLENBQUM7YUFDaEQsSUFBSSxRQUFRLEtBQUssRUFBRTtZQUFFLE9BQU8sY0FBYyxDQUFDOztZQUMzQyxPQUFPLGFBQWEsQ0FBQztJQUM1QixDQUFDOytHQTlCVSxVQUFVO21IQUFWLFVBQVUsY0FERyxNQUFNOzs0RkFDbkIsVUFBVTtrQkFEdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgR3JpZEhlbHBlciB7XHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lcyB0aGUgY29sdW1uIHR5cGUgYmFzZWQgb24gdGhlIGRhdGEgdHlwZS5cclxuICAgKiBAcGFyYW0gZGF0YVR5cGUgVGhlIGRhdGEgdHlwZS5cclxuICAgKiBAcmV0dXJucyBUaGUgY29sdW1uIHR5cGUuXHJcbiAgICovXHJcbiAgZ2V0Q29sdW1uVHlwZShkYXRhVHlwZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChkYXRhVHlwZSA9PT0gMSB8fCAoZGF0YVR5cGUgPj0gNyAmJiBkYXRhVHlwZSA9PT0gMTUpKSByZXR1cm4gJ3N0cmluZyc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gMiB8fCBkYXRhVHlwZSA9PT0gNCB8fCBkYXRhVHlwZSA9PT0gMTYpIHJldHVybiAnbnVtYmVyJztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSAzKSByZXR1cm4gJ2Jvb2xlYW4nO1xyXG4gICAgZWxzZSBpZiAoZGF0YVR5cGUgPT09IDQgfHwgKGRhdGFUeXBlID49IDcgJiYgZGF0YVR5cGUgPD0gMTUpKSByZXR1cm4gJ3N0cmluZyc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNSkgcmV0dXJuICdkYXRlJztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSA2KSByZXR1cm4gJ2RhdGVUaW1lJztcclxuICAgIGVsc2UgcmV0dXJuICdzdHJpbmcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiBjb21wb25lbnQgZm9yIGVkaXRhYmxlLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgJ3N0cmluZ2VkaXQnXHJcbiAgICovXHJcbiAgZ2V0Q29sdW1uQ29tcG9uZW50VHlwZUZvckVkaXRhYmxlKGRhdGFUeXBlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGRhdGFUeXBlID09PSAxIHx8IChkYXRhVHlwZSA+PSA3ICYmIGRhdGFUeXBlID09PSAxNSkpIHJldHVybiAnZGVmYXVsdEVkaXQnO1xyXG4gICAgZWxzZSBpZiAoZGF0YVR5cGUgPT09IDIgfHwgZGF0YVR5cGUgPT09IDQgfHwgZGF0YVR5cGUgPT09IDE2KSByZXR1cm4gJ251bWVyaWNFZGl0JztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSAzKSByZXR1cm4gJ2Jvb2xlYW5FZGl0JztcclxuICAgIGVsc2UgaWYgKGRhdGFUeXBlID09PSA0IHx8IChkYXRhVHlwZSA+PSA3ICYmIGRhdGFUeXBlIDw9IDE1KSkgcmV0dXJuICdkZWZhdWx0RWRpdCc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNSkgcmV0dXJuICdkYXRlUGlja2VyRWRpdCc7XHJcbiAgICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNikgcmV0dXJuICdkYXRlVGltZVBpY2tlckVkaXQnO1xyXG4gICAgZWxzZSBpZiAoZGF0YVR5cGUgPT09IDE3KSByZXR1cm4gJ2Ryb3BEb3duRWRpdCc7XHJcbiAgICBlbHNlIHJldHVybiAnZGVmYXVsdEVkaXQnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -6,14 +6,6 @@ export class ScreenHelper {
6
6
  constructor() {
7
7
  this.metadataHelper = inject(MetadataHelper);
8
8
  }
9
- /**
10
- * Retrieves screen data based on the provided screen ID.
11
- * @param screenId The ID of the screen to retrieve.
12
- * @returns The screen data if found, otherwise null.
13
- */
14
- getScreenDetailsWithoutContainer(screenId) {
15
- return this.metadataHelper.getAppScreenByIdOrName(screenId)?.toJSON() || null;
16
- }
17
9
  getScreen(screenId) {
18
10
  return this.metadataHelper.getAppScreenByIdOrName(screenId)?.toJSON() || null;
19
11
  }
@@ -24,4 +16,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
24
16
  type: Injectable,
25
17
  args: [{ providedIn: 'root' }]
26
18
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vc2NyZWVuLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FjMUQ7SUFaQzs7OztPQUlHO0lBQ0gsZ0NBQWdDLENBQUMsUUFBZ0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQztJQUNoRixDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQWdCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDaEYsQ0FBQzsrR0FkVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhZGF0YUhlbHBlciB9IGZyb20gJy4uL2NvbW1vbi9tZXRhLWRhdGEuaGVscGVycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU2NyZWVuSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHNjcmVlbiBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBzY3JlZW4gSUQuXHJcbiAgICogQHBhcmFtIHNjcmVlbklkIFRoZSBJRCBvZiB0aGUgc2NyZWVuIHRvIHJldHJpZXZlLlxyXG4gICAqIEByZXR1cm5zIFRoZSBzY3JlZW4gZGF0YSBpZiBmb3VuZCwgb3RoZXJ3aXNlIG51bGwuXHJcbiAgICovXHJcbiAgZ2V0U2NyZWVuRGV0YWlsc1dpdGhvdXRDb250YWluZXIoc2NyZWVuSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QXBwU2NyZWVuQnlJZE9yTmFtZShzY3JlZW5JZCk/LnRvSlNPTigpIHx8IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRTY3JlZW4oc2NyZWVuSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QXBwU2NyZWVuQnlJZE9yTmFtZShzY3JlZW5JZCk/LnRvSlNPTigpIHx8IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLmhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaGVscGVycy9zY3JlZW4vc2NyZWVuLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFbUIsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7S0FLMUQ7SUFIQyxTQUFTLENBQUMsUUFBZ0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQztJQUNoRixDQUFDOytHQUxVLFlBQVk7bUhBQVosWUFBWSxjQURDLE1BQU07OzRGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSAnLi4vY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTY3JlZW5IZWxwZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbWV0YWRhdGFIZWxwZXIgPSBpbmplY3QoTWV0YWRhdGFIZWxwZXIpO1xyXG5cclxuICBnZXRTY3JlZW4oc2NyZWVuSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubWV0YWRhdGFIZWxwZXIuZ2V0QXBwU2NyZWVuQnlJZE9yTmFtZShzY3JlZW5JZCk/LnRvSlNPTigpIHx8IG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ // ── Status / change-type constants ────────────────────────────────────────────
2
+ export const ChangeType = {
3
+ Added: 'Added',
4
+ Updated: 'Updated',
5
+ Deleted: 'Deleted',
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvaW50ZXJmYWNlcy9yZWxlYXNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxpRkFBaUY7QUFFakYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEtBQUssRUFBSSxPQUFPO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uLmVudW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWZmUmVxdWVzdCB7XHJcbiAgc291cmNlRW52aXJvbm1lbnRJZD86IHN0cmluZztcclxuICB0YXJnZXRFbnZpcm9ubWVudElkPzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyDilIDilIAgU3RhdHVzIC8gY2hhbmdlLXR5cGUgY29uc3RhbnRzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGNvbnN0IENoYW5nZVR5cGUgPSB7XHJcbiAgQWRkZWQ6ICAgJ0FkZGVkJyxcclxuICBVcGRhdGVkOiAnVXBkYXRlZCcsXHJcbiAgRGVsZXRlZDogJ0RlbGV0ZWQnLFxyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2hhbmdlVHlwZVZhbHVlID0gdHlwZW9mIENoYW5nZVR5cGVba2V5b2YgdHlwZW9mIENoYW5nZVR5cGVdO1xyXG5cclxuLy8g4pSA4pSAIERpZmYgcmVzcG9uc2VzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaWZmU2VjdGlvbjxUPiB7XHJcbiAgYWRkZWQ6IFRbXTtcclxuICB1cGRhdGVkOiBUW107XHJcbiAgZGVsZXRlZDogVFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwcE9iamVjdERpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeURpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcXVlcnlOYW1lOiBzdHJpbmc7XHJcbiAgYXBwT2JqZWN0Pzogc3RyaW5nO1xyXG4gIFtrZXk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTY3JlZW5EaWZmIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHNjcmVlbk5hbWU6IHN0cmluZztcclxuICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tU2NyaXB0RGlmZiB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY29yZERpZmYge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhRGlmZlJlc3BvbnNlIHtcclxuICBhcHBPYmplY3RzOiAgICBEaWZmU2VjdGlvbjxBcHBPYmplY3REaWZmPjtcclxuICBxdWVyaWVzOiAgICAgICBEaWZmU2VjdGlvbjxRdWVyeURpZmY+O1xyXG4gIHNjcmVlbnM6ICAgICAgIERpZmZTZWN0aW9uPFNjcmVlbkRpZmY+O1xyXG4gIGN1c3RvbVNjcmlwdHM6IERpZmZTZWN0aW9uPEN1c3RvbVNjcmlwdERpZmY+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhdGFEaWZmUmVzcG9uc2Uge1xyXG4gIHRhYmxlczogUmVjb3JkPHN0cmluZywgRGlmZlNlY3Rpb248UmVjb3JkRGlmZj4+O1xyXG59XHJcblxyXG4vLyDilIDilIAgQXBwbHkgcmVsZWFzZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbHlSZWxlYXNlUmVxdWVzdCB7XHJcbiAgcmVsZWFzZUlkOiBzdHJpbmc7XHJcbiAgc291cmNlRW52SWQ6IHN0cmluZztcclxuICB0YXJnZXRFbnZJZDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwcGx5UGhhc2VSZXN1bHQge1xyXG4gIHN1Y2Nlc3M6IGJvb2xlYW47XHJcbiAgYXBwbGllZENvdW50OiBudW1iZXI7XHJcbiAgZmFpbGVkQ291bnQ6IG51bWJlcjtcclxuICBza2lwcGVkQ291bnQ/OiBudW1iZXI7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICBlcnJvcnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcHBseVJlbGVhc2VSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBtZXRhZGF0YVJlc3VsdDogQXBwbHlQaGFzZVJlc3VsdDtcclxuICBkYXRhUmVzdWx0OiAgICAgQXBwbHlQaGFzZVJlc3VsdDtcclxuICBzY3JpcHRzUmVzdWx0OiAgQXBwbHlQaGFzZVJlc3VsdDtcclxuICBmaW5hbGl6ZVJlc3VsdDogQXBwbHlQaGFzZVJlc3VsdDtcclxufVxyXG5cclxuLy8g4pSA4pSAIFNlbGVjdGlvbiAvIHNjcmlwdHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblJvdyB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgcmVsZWFzZWlkOiBzdHJpbmc7XHJcbiAgY29udGVudHR5cGU6IENvbnRlbnRUeXBlO1xyXG4gIGVudGl0eXR5cGU6IHN0cmluZztcclxuICBwcmltYXJ5a2V5dmFsdWU6IHN0cmluZztcclxuICBjaGFuZ2V0eXBlOiBDaGFuZ2VUeXBlVmFsdWU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0Um93IHtcclxuICBpZD86IHN0cmluZztcclxuICByZWxlYXNlaWQ6IHN0cmluZztcclxuICBjb250ZW50OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,87 +1,59 @@
1
- /* eslint-disable @typescript-eslint/no-inferrable-types */
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- export class APIQuery {
4
- constructor() {
5
- this.Joins = new Array();
6
- this.WhereClause = new APIFilterCriteria();
7
- }
8
- }
9
- export class APIInsertQuery extends APIQuery {
10
- constructor() {
11
- super(...arguments);
12
- this.Values = [];
13
- }
14
- }
15
- export class APIUpdateQuery extends APIQuery {
16
- constructor() {
17
- super(...arguments);
18
- this.Values = [];
19
- }
20
- }
21
- export class APIDeleteQuery extends APIQuery {
22
- }
23
- export class APISelectQuery extends APIQuery {
24
- constructor() {
25
- super(...arguments);
26
- this.ResultField_AppfieldIds = [];
27
- this.Sort = [];
28
- this.Distinct = false;
29
- this.NoLock = false;
30
- this.LoadLookUpValues = false;
31
- }
32
- }
33
- export class JoinDetails {
34
- }
35
- export class ChildRelationShip {
36
- }
37
- export class APIFilterCriteria {
38
- }
39
- export class APIFilter {
40
- }
41
- export class APIValueSets {
2
+ /**
3
+ * Runtime parameter (caller-provided input resolved from reqtokens).
4
+ */
5
+ export class APIParameter {
42
6
  }
43
- export class APIBulkInsertFieldsValueSets {
7
+ /**
8
+ * Pagination configuration.
9
+ */
10
+ export class APIPager {
44
11
  }
12
+ /**
13
+ * Single sort criterion.
14
+ */
45
15
  export class APISort {
46
16
  }
47
- export class APIParameters {
17
+ /**
18
+ * Single filter condition.
19
+ */
20
+ export class APIFilter {
48
21
  }
49
- // ==================== NEW CRUD API PAYLOAD CLASSES ====================
50
22
  /**
51
- * New CRUD API Select Query Payload
52
- * Used for the new microservice-based select query endpoint
23
+ * Filter criteria container used by whereClause and havingClause.
24
+ * `filterLogic` numbers reference Filter.groupId (e.g. "[1] AND ([2] OR [3])").
25
+ * `sqlQuery` is QB-only and optional.
53
26
  */
54
- export class CRUDSelectPayload {
27
+ export class APIFilterCriteria {
55
28
  constructor() {
56
- this.SelectedFields = [];
29
+ this.filters = [];
57
30
  }
58
31
  }
59
32
  /**
60
- * Pager configuration for CRUD API
33
+ * Explicit join clause (beyond auto-detected lookup joins).
61
34
  */
62
- export class CRUDPager {
63
- constructor() {
64
- this.pageNumber = 1;
65
- this.pageSize = 20;
66
- this.returnTotalCount = true;
67
- }
35
+ export class APIJoin {
68
36
  }
69
37
  /**
70
- * Where clause structure for CRUD API
38
+ * Child relationship metadata. Used by AppObjectModel.ChildRelationShips.
39
+ * Kept as a separate concept from APIJoin (relationship metadata vs explicit join).
71
40
  */
72
- export class CRUDWhereClause {
73
- constructor() {
74
- this.filters = [];
75
- }
41
+ export class ChildRelationShip {
76
42
  }
77
43
  /**
78
- * Filter structure for CRUD API
44
+ * Base query shape shared between Select / Update / Delete payloads.
79
45
  */
80
- export class CRUDFilter {
46
+ export class APIQuery {
81
47
  }
82
48
  /**
83
- * Sort structure for CRUD API
49
+ * SELECT query payload the wire shape sent to /Queries/select.
50
+ * Carries all 13 query dimensions per QUERY_CONFIGURATION_STRUCTURE.
84
51
  */
85
- export class CRUDSort {
52
+ export class APISelectQuery extends APIQuery {
53
+ }
54
+ /**
55
+ * Bulk-insert value sets — kept as-is (no CRUD equivalent).
56
+ */
57
+ export class APIBulkInsertFieldsValueSets {
86
58
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkRBQTJEO0FBQzNELHVEQUF1RDtBQVd2RCxNQUFNLE9BQU8sUUFBUTtJQU1uQjtRQUNFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFFBQVE7SUFBNUM7O1FBQ0UsV0FBTSxHQUFtQixFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxRQUFRO0lBQTVDOztRQUNFLFdBQU0sR0FBbUIsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQUFHO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtJQUE1Qzs7UUFDRSw0QkFBdUIsR0FBYSxFQUFFLENBQUM7UUFDdkMsU0FBSSxHQUFjLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyxXQUFXO0NBR3ZCO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU83QjtBQUVELE1BQU0sT0FBTyxpQkFBaUI7Q0FJN0I7QUFFRCxNQUFNLE9BQU8sU0FBUztDQVNyQjtBQUVELE1BQU0sT0FBTyxZQUFZO0NBR3hCO0FBQ0QsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QztBQUNELE1BQU0sT0FBTyxPQUFPO0NBS25CO0FBRUQsTUFBTSxPQUFPLGFBQWE7Q0FLekI7QUFFRCx5RUFBeUU7QUFFekU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUVFLG1CQUFjLEdBQWEsRUFBRSxDQUFDO0lBTWhDLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7SUFBdEI7UUFDRSxlQUFVLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIscUJBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ25DLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFDRSxZQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0NBUXRCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtDQUdwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29uanVjdGlvbkNsYXVzZSxcclxuICBSZWxhdGlvbmFsT3BlcmF0b3IsXHJcbiAgRmlsdGVyVmFsdWVUeXBlLFxyXG4gIFNvcnRTZXF1ZW5jZSxcclxufSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEpvaW5UeXBlLCBRdWVyeVR5cGUgfSBmcm9tICcuLi9lbnVtcy9xdWVyeS5lbnVtJztcclxuaW1wb3J0IHsgTG9va1VwRGV0YWlscyB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUXVlcnkge1xyXG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZyB8IGFueTtcclxuICBRdWVyeVR5cGU6IFF1ZXJ5VHlwZSB8IGFueTtcclxuICBKb2luczogSm9pbkRldGFpbHNbXTtcclxuICBXaGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5Kb2lucyA9IG5ldyBBcnJheTxKb2luRGV0YWlscz4oKTtcclxuICAgIHRoaXMuV2hlcmVDbGF1c2UgPSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElJbnNlcnRRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElVcGRhdGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHtcclxuICBWYWx1ZXM6IEFQSVZhbHVlU2V0c1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElEZWxldGVRdWVyeSBleHRlbmRzIEFQSVF1ZXJ5IHt9XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJU2VsZWN0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgUmVzdWx0RmllbGRfQXBwZmllbGRJZHM6IHN0cmluZ1tdID0gW107XHJcbiAgU29ydDogQVBJU29ydFtdID0gW107XHJcbiAgRGlzdGluY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBOb0xvY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBUb3BDb3VudD86IG51bWJlcjtcclxuICBMb2FkTG9va1VwVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKb2luRGV0YWlscyB7XHJcbiAgSm9pblR5cGU6IEpvaW5UeXBlIHwgYW55O1xyXG4gIFJlbGF0aW9uc2hpcDogQ2hpbGRSZWxhdGlvblNoaXAgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDaGlsZFJlbGF0aW9uU2hpcCB7XHJcbiAgUmVsU291cmNlT2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsU291cmNlRmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRPYmplY3RJRCE6IHN0cmluZyB8IGFueTtcclxuICBSZWxUYXJnZXRGaWVsZElEITogc3RyaW5nIHwgYW55O1xyXG4gIExvY2FsSWQhOiBzdHJpbmc7XHJcbiAgY2hpbGREZXRhaWxzITogTG9va1VwRGV0YWlscztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICBmaWx0ZXJzOiBBUElGaWx0ZXJbXSB8IGFueTtcclxuICBmaWx0ZXJMb2dpYzogc3RyaW5nIHwgYW55O1xyXG4gIFNRTFF1ZXJ5OiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElGaWx0ZXIge1xyXG4gIGNvbmp1bmN0aW9uOiBDb25qdWN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIGZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIG9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IgfCBhbnk7XHJcbiAgdmFsdWVUeXBlOiBGaWx0ZXJWYWx1ZVR5cGUgfCBhbnk7XHJcbiAgdmFsdWU6IHN0cmluZyB8IGFueTtcclxuICBzZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG4gIGdyb3VwSWQ6IG51bWJlciB8IGFueTtcclxuICBwYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBUElWYWx1ZVNldHMge1xyXG4gIEFwcEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzIHtcclxuICBGaWVsZHM6IHN0cmluZyB8IGFueTtcclxuICBWYWx1ZTogc3RyaW5nIHwgYW55O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBBUElTb3J0IHtcclxuICBJRDogc3RyaW5nIHwgYW55O1xyXG4gIEZpZWxkSUQ6IHN0cmluZyB8IGFueTtcclxuICBTb3J0U2VxdWVuY2U6IFNvcnRTZXF1ZW5jZSB8IGFueTtcclxuICBTZXF1ZW5jZTogbnVtYmVyIHwgYW55O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQVBJUGFyYW1ldGVycyB7XHJcbiAgSUQ6IHN0cmluZyB8IGFueTtcclxuICBQYXJhbWV0ZXJOYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGF0YVNvdXJjZVF1ZXJ5SUQ6IHN0cmluZyB8IGFueTtcclxuICBNYXBwaW5nRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09IE5FVyBDUlVEIEFQSSBQQVlMT0FEIENMQVNTRVMgPT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBOZXcgQ1JVRCBBUEkgU2VsZWN0IFF1ZXJ5IFBheWxvYWRcclxuICogVXNlZCBmb3IgdGhlIG5ldyBtaWNyb3NlcnZpY2UtYmFzZWQgc2VsZWN0IHF1ZXJ5IGVuZHBvaW50XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFNlbGVjdFBheWxvYWQge1xyXG4gIEVudGl0eU5hbWU6IHN0cmluZyB8IGFueTtcclxuICBTZWxlY3RlZEZpZWxkczogc3RyaW5nW10gPSBbXTtcclxuICBpbmNsdWRlcz86IGFueVtdO1xyXG4gIFBhZ2VyPzogQ1JVRFBhZ2VyO1xyXG4gIHdoZXJlQ2xhdXNlPzogQ1JVRFdoZXJlQ2xhdXNlO1xyXG4gIERpc3RpbmN0PzogYm9vbGVhbjtcclxuICBTb3J0PzogQ1JVRFNvcnRbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhZ2VyIGNvbmZpZ3VyYXRpb24gZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFBhZ2VyIHtcclxuICBwYWdlTnVtYmVyOiBudW1iZXIgPSAxO1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSAyMDtcclxuICByZXR1cm5Ub3RhbENvdW50OiBib29sZWFuID0gdHJ1ZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFdoZXJlIGNsYXVzZSBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVRFdoZXJlQ2xhdXNlIHtcclxuICBmaWx0ZXJzOiBDUlVERmlsdGVyW10gPSBbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBzdHJ1Y3R1cmUgZm9yIENSVUQgQVBJXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ1JVREZpbHRlciB7XHJcbiAgZmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgb3BlcmF0b3I6IG51bWJlciB8IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG4gIHZhbHVlVHlwZTogbnVtYmVyIHwgYW55O1xyXG4gIGNvbmp1bmN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbiAgZ3JvdXBJZDogbnVtYmVyIHwgYW55O1xyXG4gIHNlcXVlbmNlOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTb3J0IHN0cnVjdHVyZSBmb3IgQ1JVRCBBUElcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDUlVEU29ydCB7XHJcbiAgRmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgRGlyZWN0aW9uOiBudW1iZXIgfCBhbnk7XHJcbn1cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXJ5LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL21vZGVscy9hcGktcXVlcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBWXZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7Q0FLeEI7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFRO0NBSXBCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztDQUtuQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFNBQVM7Q0FXckI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNFLFlBQU8sR0FBZ0IsRUFBRSxDQUFDO0lBRzVCLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE9BQU87Q0FNbkI7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0NBTzdCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtDQUlwQjtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFBUTtDQWEzQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDRCQUE0QjtDQUd4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgQ29uanVuY3Rpb25DbGF1c2UsXHJcbiAgUmVsYXRpb25hbE9wZXJhdG9yLFxyXG4gIEZpbHRlclZhbHVlVHlwZSxcclxuICBTb3J0RGlyZWN0aW9uLFxyXG4gIERhdGFTb3VyY2VRdWVyeUZpbHRlckZpZWxkVHlwZSxcclxufSBmcm9tICcuLi9lbnVtcy9kc3EuZW51bSc7XHJcbmltcG9ydCB7IEpvaW5UeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7IExvb2tVcERldGFpbHMgfSBmcm9tICcuL2RhdGEtc291cmNlLXF1ZXJpZXMuY2xhc3MnO1xyXG5cclxuLyoqXHJcbiAqIFJ1bnRpbWUgcGFyYW1ldGVyIChjYWxsZXItcHJvdmlkZWQgaW5wdXQgcmVzb2x2ZWQgZnJvbSByZXF0b2tlbnMpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFQSVBhcmFtZXRlciB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgZmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgbWFwcGluZ0ZpZWxkTmFtZTogc3RyaW5nIHwgYW55O1xyXG4gIGlzTWFuZGF0b3J5PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBhZ2luYXRpb24gY29uZmlndXJhdGlvbi5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBBUElQYWdlciB7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyIHwgYW55O1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgfCBhbnk7XHJcbiAgcmV0dXJuVG90YWxDb3VudD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaW5nbGUgc29ydCBjcml0ZXJpb24uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVBJU29ydCB7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgZmllbGROYW1lOiBzdHJpbmcgfCBhbnk7XHJcbiAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uIHwgYW55O1xyXG4gIHNlcXVlbmNlPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogU2luZ2xlIGZpbHRlciBjb25kaXRpb24uXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVBJRmlsdGVyIHtcclxuICBpZD86IHN0cmluZztcclxuICBmaWVsZE5hbWU6IHN0cmluZyB8IGFueTtcclxuICBvcGVyYXRvcjogUmVsYXRpb25hbE9wZXJhdG9yIHwgYW55O1xyXG4gIHZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlIHwgYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgY29uanVuY3Rpb246IENvbmp1bmN0aW9uQ2xhdXNlIHwgYW55O1xyXG4gIGdyb3VwSWQ/OiBudW1iZXI7XHJcbiAgc2VxdWVuY2U/OiBudW1iZXI7XHJcbiAgZmllbGRUeXBlPzogRGF0YVNvdXJjZVF1ZXJ5RmlsdGVyRmllbGRUeXBlO1xyXG4gIGxvb2tVcERldGFpbD86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEZpbHRlciBjcml0ZXJpYSBjb250YWluZXIg4oCUIHVzZWQgYnkgd2hlcmVDbGF1c2UgYW5kIGhhdmluZ0NsYXVzZS5cclxuICogYGZpbHRlckxvZ2ljYCBudW1iZXJzIHJlZmVyZW5jZSBGaWx0ZXIuZ3JvdXBJZCAoZS5nLiBcIlsxXSBBTkQgKFsyXSBPUiBbM10pXCIpLlxyXG4gKiBgc3FsUXVlcnlgIGlzIFFCLW9ubHkgYW5kIG9wdGlvbmFsLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFQSUZpbHRlckNyaXRlcmlhIHtcclxuICBmaWx0ZXJzOiBBUElGaWx0ZXJbXSA9IFtdO1xyXG4gIGZpbHRlckxvZ2ljPzogc3RyaW5nO1xyXG4gIHNxbFF1ZXJ5Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogRXhwbGljaXQgam9pbiBjbGF1c2UgKGJleW9uZCBhdXRvLWRldGVjdGVkIGxvb2t1cCBqb2lucykuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVBJSm9pbiB7XHJcbiAgam9pblR5cGU6IEpvaW5UeXBlIHwgYW55O1xyXG4gIHRhcmdldEVudGl0eTogc3RyaW5nIHwgYW55O1xyXG4gIHNvdXJjZUZpZWxkOiBzdHJpbmcgfCBhbnk7XHJcbiAgdGFyZ2V0RmllbGQ6IHN0cmluZyB8IGFueTtcclxuICBhZGRpdGlvbmFsQ29uZGl0aW9ucz86IEFQSUZpbHRlcltdO1xyXG59XHJcblxyXG4vKipcclxuICogQ2hpbGQgcmVsYXRpb25zaGlwIG1ldGFkYXRhLiBVc2VkIGJ5IEFwcE9iamVjdE1vZGVsLkNoaWxkUmVsYXRpb25TaGlwcy5cclxuICogS2VwdCBhcyBhIHNlcGFyYXRlIGNvbmNlcHQgZnJvbSBBUElKb2luIChyZWxhdGlvbnNoaXAgbWV0YWRhdGEgdnMgZXhwbGljaXQgam9pbikuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQ2hpbGRSZWxhdGlvblNoaXAge1xyXG4gIFJlbFNvdXJjZU9iamVjdElEITogc3RyaW5nIHwgYW55O1xyXG4gIFJlbFNvdXJjZUZpZWxkSUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0T2JqZWN0SUQhOiBzdHJpbmcgfCBhbnk7XHJcbiAgUmVsVGFyZ2V0RmllbGRJRCE6IHN0cmluZyB8IGFueTtcclxuICBMb2NhbElkITogc3RyaW5nO1xyXG4gIGNoaWxkRGV0YWlscyE6IExvb2tVcERldGFpbHM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNlIHF1ZXJ5IHNoYXBlIOKAlCBzaGFyZWQgYmV0d2VlbiBTZWxlY3QgLyBVcGRhdGUgLyBEZWxldGUgcGF5bG9hZHMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVBJUXVlcnkge1xyXG4gIGVudGl0eU5hbWU/OiBzdHJpbmc7XHJcbiAgd2hlcmVDbGF1c2U/OiBBUElGaWx0ZXJDcml0ZXJpYTtcclxuICBqb2lucz86IEFQSUpvaW5bXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNFTEVDVCBxdWVyeSBwYXlsb2FkIOKAlCB0aGUgd2lyZSBzaGFwZSBzZW50IHRvIC9RdWVyaWVzL3NlbGVjdC5cclxuICogQ2FycmllcyBhbGwgMTMgcXVlcnkgZGltZW5zaW9ucyBwZXIgUVVFUllfQ09ORklHVVJBVElPTl9TVFJVQ1RVUkUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQVBJU2VsZWN0UXVlcnkgZXh0ZW5kcyBBUElRdWVyeSB7XHJcbiAgc2VsZWN0ZWRGaWVsZHM/OiBzdHJpbmdbXTtcclxuICBpbmNsdWRlcz86IHN0cmluZ1tdO1xyXG4gIHBhcmFtZXRlcnM/OiBBUElQYXJhbWV0ZXJbXTtcclxuICBzb3J0PzogQVBJU29ydFtdO1xyXG4gIHRvcENvdW50PzogbnVtYmVyO1xyXG4gIHBhZ2VyPzogQVBJUGFnZXI7XHJcbiAgZGlzdGluY3Q/OiBib29sZWFuO1xyXG4gIG5vTG9jaz86IGJvb2xlYW47XHJcbiAgbG9hZExvb2tVcFZhbHVlcz86IGJvb2xlYW47XHJcbiAgZ3JvdXBCeT86IHN0cmluZ1tdO1xyXG4gIGFnZ3JlZ2F0ZUZpZWxkcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgaGF2aW5nQ2xhdXNlPzogQVBJRmlsdGVyQ3JpdGVyaWE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCdWxrLWluc2VydCB2YWx1ZSBzZXRzIOKAlCBrZXB0IGFzLWlzIChubyBDUlVEIGVxdWl2YWxlbnQpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHMge1xyXG4gIEZpZWxkczogc3RyaW5nIHwgYW55O1xyXG4gIFZhbHVlOiBzdHJpbmcgfCBhbnk7XHJcbn1cclxuIl19