@techextensor/tab-core-utility 2.2.162 → 2.2.164
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +3 -2
- package/esm2022/lib/tab-core-utility/app/crud/tab-crud.service.mjs +28 -1
- package/esm2022/lib/tab-core-utility/app/enums/common.enum.mjs +6 -1
- package/esm2022/lib/tab-core-utility/app/interfaces/common.interface.mjs +1 -1
- package/lib/tab-core-utility/app/constants/api-constants.d.ts +1 -0
- package/lib/tab-core-utility/app/crud/tab-crud.service.d.ts +8 -1
- package/lib/tab-core-utility/app/enums/common.enum.d.ts +4 -0
- package/lib/tab-core-utility/app/interfaces/common.interface.d.ts +6 -1
- package/package.json +1 -1
|
@@ -62,6 +62,7 @@ export const API = {
|
|
|
62
62
|
sendReport: 'report/SendReport',
|
|
63
63
|
GetReleaseJSONDifference: 'Release/GetReleaseJSONDifference',
|
|
64
64
|
GetDataDifference: 'Release/GetDataDifference',
|
|
65
|
-
RegisterTenant: 'Tenant/RegisterTenant'
|
|
65
|
+
RegisterTenant: 'Tenant/RegisterTenant',
|
|
66
|
+
Execute: 'DataBaseExecution/Execute'
|
|
66
67
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jb25zdGFudHMvYXBpLWNvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUc7SUFDakIscUJBQXFCLEVBQUUsY0FBYyxFQUFFLFNBQVM7SUFDaEQsMkJBQTJCLEVBQUUsY0FBYyxFQUFFLE1BQU07SUFDbkQsa0RBQWtEO0lBQ2xELDhDQUE4QztJQUM5QyxjQUFjLEVBQUUsa0NBQWtDO0lBQ2xELGFBQWEsRUFBRSxpQ0FBaUM7SUFFaEQsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGlCQUFpQjtJQUM3QixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUUsVUFBVTtJQUNsQixTQUFTLEVBQUUsa0JBQWtCO0lBQzdCLGNBQWMsRUFBRSw2QkFBNkI7SUFDN0MsUUFBUSxFQUFFLHNCQUFzQjtJQUNoQyxTQUFTLEVBQUUsMkJBQTJCO0lBQ3RDLEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixPQUFPLEVBQUUscUJBQXFCO0lBQzlCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLGFBQWE7SUFDckIsVUFBVSxFQUFFLGFBQWE7SUFDekIsa0JBQWtCLEVBQUUsaUJBQWlCO0lBQ3JDLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsWUFBWSxFQUFFLGNBQWM7SUFDNUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxZQUFZLEVBQUUsd0JBQXdCO0lBQ3RDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGFBQWEsRUFBRSxzQkFBc0I7SUFDckMsY0FBYyxFQUFFLHVCQUF1QjtJQUN2QyxhQUFhLEVBQUUsMEJBQTBCO0lBQ3pDLFlBQVksRUFBRSx5QkFBeUI7SUFDdkMsWUFBWSxFQUFFLG1CQUFtQjtJQUNqQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDLGFBQWEsRUFBRSwyQkFBMkI7SUFDMUMsY0FBYyxFQUFFLHlCQUF5QjtJQUN6QyxpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsZ0JBQWdCLEVBQUUseUJBQXlCO0lBQzNDLHFCQUFxQixFQUFFLDhCQUE4QjtJQUNyRCx5Q0FBeUM7SUFDekMsa0JBQWtCLEVBQUUsZ0NBQWdDO0lBQ3BELGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5QyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7SUFDaEMsZ0NBQWdDLEVBQzlCLGdEQUFnRDtJQUNsRCxtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsK0JBQStCLEVBQUcsK0NBQStDO0lBQ2pGLGdDQUFnQyxFQUFHLGdEQUFnRDtJQUNuRixpQkFBaUIsRUFBRSwwQkFBMEI7SUFDN0MsYUFBYSxFQUFHLDJCQUEyQjtJQUMzQyxZQUFZLEVBQUcscUJBQXFCO0lBQ3BDLHVCQUF1QixFQUFHLHVDQUF1QztJQUNqRSxxQkFBcUIsRUFBRSxxQ0FBcUM7SUFDNUQsa0JBQWtCLEVBQUcsMkJBQTJCO0lBQ2hELFVBQVUsRUFBRyxtQkFBbUI7SUFDaEMsd0JBQXdCLEVBQUMsa0NBQWtDO0lBQzNELGlCQUFpQixFQUFDLDJCQUEyQjtJQUM3QyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLE9BQU8sRUFBRSwyQkFBMkI7Q0FDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBUEkgPSB7XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyOiAnMDJkUGxHWENLQ1B5JywgLy9waG9lbml4XHJcbiAgYXBwbGljYXRpb25JZGVudGlmaWVyRm9yUE1TOiAncXFtWHdlR0IxRGJHJywgLy8gcG1zXHJcbiAgLy8gZW5kcG9pbnQ6ICdodHRwOi8vMTkyLjE2OC4xMC4xODE6ODQ0MS9hcGkvdjEvJyxcclxuICAvLyB3b3JrZmxvd0VuZFBvaW50OiAnaHR0cDovLzE5Mi4xNjguMTAuMTgxLycsXHJcbiAgbm92dUJhY2tlbmRVcmw6ICdodHRwczovL25vdnVhcGkudGVjaGV4dGVuc29yLmNvbScsXHJcbiAgbm92dVNvY2tldFVybDogJ2h0dHBzOi8vbm92dXdzLnRlY2hleHRlbnNvci5jb20nLFxyXG5cclxuICBpbnNlcnQ6ICdDUlVEL0luc2VydCcsXHJcbiAgYnVsa0luc2VydDogJ0NSVUQvQnVsa0luc2VydCcsXHJcbiAgdXBkYXRlOiAnQ1JVRC9VcGRhdGUnLFxyXG4gIGRlbGV0ZTogJ0NSVUQvRGVsZXRlJyxcclxuICBzZWxlY3Q6ICdDUlVEL1NlbGVjdCcsXHJcbiAgZ2V0RFNROiAnQ1JVRC9EU1EnLFxyXG4gIGdldFNjcmVlbjogJ0xheW91dC9HZXRTY3JlZW4nLFxyXG4gIGdldExpc3RGcm9tRHNxOiAnTGlzdC9HZXQ/ZGF0YVNvdXJjZVF1ZXJ5SWQ9JyxcclxuICBidWlsZEFwcDogJ0FwcGxpY2F0aW9uL0J1aWxkQXBwJyxcclxuICBnZXRTY2hlbWE6ICdBcHBsaWNhdGlvbi9HZXRTY2hlbWFGaWxlJyxcclxuICBsb2dpbjogJ2lkZW50aXR5L2xvZ2luJyxcclxuICBwbHVnaW5VcGxvYWQ6ICdQbHVnaW5zL1VwbG9hZCcsXHJcbiAgZ2V0RmlsZTogJ1BsdWdpbnMvR2V0RmlsZUJ5SWQnLFxyXG4gIGdldEFsbFBsdWdpbkJ5VHlwZTogJ1BsdWdpbnMvR2V0QWxsJyxcclxuICB0ZW1wbGF0ZVBhcnNlOiAnVGVtcGxhdGUvUGFyc2UnLFxyXG4gIHB1Ymxpc2hBcHA6ICdBcHBsaWNhdGlvbi9QdWJsaXNoQXBwJyxcclxuICBnZXRyZWNvcmQ6ICdHZXRSZWNvcmQnLFxyXG4gIHJhd1NRTDogJ0NSVUQvUmF3U1FMJyxcclxuICBmaWxlVXBsb2FkOiAnRmlsZS9VcGxvYWQnLFxyXG4gIG11bHRpcGxlRmlsZVVwbG9hZDogJ0ZpbGUvVXBsb2FkRmlsZScsXHJcbiAgZGVsZXRlRmlsZTogJ0ZpbGUvRGVsZXRlRmlsZScsXHJcbiAgZ2V0TWVkaWFGaWxlOiAnRmlsZS9HZXRGaWxlJyxcclxuICBnZXRIaXN0b3J5OiAnR2V0SGlzdG9yeScsXHJcbiAgY2hhbmdlUGFzc3dvcmQ6ICdpZGVudGl0eS9DaGFuZ2VQYXNzd29yZCcsXHJcbiAgcmVzdHBhc3N3b3JkOiAnaWRlbnRpdHkvUmVzZXRQYXNzd29yZCcsXHJcbiAgZ2V0SW1hZ2U6ICdGaWxlL0dldEltYWdlJyxcclxuICBwbWpheUltcG9ydDogJ0ltcG9ydERhdGEnLFxyXG4gIGdldFNjcmVlbkRhdGE6ICdGb3JtSU8vR2V0U2NyZWVuRGF0YScsXHJcbiAgcHJvY2Vzc1JlcXVlc3Q6ICdGb3JtSU8vUHJvY2Vzc1JlcXVlc3QnLFxyXG4gIGdldE5leHRTdGF0dXM6ICdUcmFuc2l0aW9uL0dldE5leHRTdGF0dXMnLFxyXG4gIHVwZGF0ZVN0YXR1czogJ1RyYW5zaXRpb24vVXBkYXRlU3RhdHVzJyxcclxuICByZWdpc3RlclVzZXI6ICdpZGVudGl0eS9yZWdpc3RlcicsXHJcbiAgZ2V0VXNlckRldGFpbHM6ICdpZGVudGl0eS9HZXRVc2VyRGV0YWlscycsXHJcbiAgZ2V0UGVybWlzc2lvbjogJ0FwcGxpY2F0aW9uL0dldFBlcm1pc3Npb24nLFxyXG4gIHRlc3RDb25uZWN0aW9uOiAnTWV0YURhdGEvVGVzdENvbm5lY3Rpb24nLFxyXG4gIHBlcmZvcm1WYWxpZGF0aW9uOiAnTWV0YURhdGEvUGVyZm9ybVZhbGlkYXRpb24nLFxyXG4gIHNldFRhYkNvbXBvbmVudHM6ICdUZW5hbnQvU2V0VGFiQ29tcG9uZW50cycsXHJcbiAgQnVpbGRGb3JtSU9Db21wb25lbnRzOiAnRm9ybUlPL0J1aWxkRm9ybUlPQ29tcG9uZW50cycsXHJcbiAgLy8gZmlsZU1hbmFnZXJVcGxvYWQ6J0ZpbGVNYW5hZ2VyL1VwbG9hZCdcclxuICByZWdpc3RlckFwcE9iamVjdHM6ICdBcHBsaWNhdGlvbi9SZWdpc3RlckFwcE9iamVjdHMnLFxyXG4gIGxhbmd1YWdlUmVzb3VyY2U6ICdSZXNvdXJjZXMvTGFuZ3VhZ2VSZXNvdXJjZScsXHJcbiAgcmVmcmVzaFRva2VuOiAnaWRlbnRpdHkvUmVmcmVzaCcsXHJcbiAgc2VhcmNoOiAnU2VhcmNoJyxcclxuICBjbG9uZURzcTogJ0FwcGxpY2F0aW9uL0Nsb25lRFNRJyxcclxuICBJbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljczpcclxuICAgICdFbGFzdGljU2VhcmNoL0luc2VydFNjcmVlblBlcmZvcm1hbmNlQW5hbHl0aWNzJyxcclxuICBHZW5lcmF0ZUh0dHBSZXF1ZXN0OiAnQ1JVRC9HZW5lcmF0ZUh0dHBSZXF1ZXN0JyxcclxuICBHZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzIDogJ0VsYXN0aWNTZWFyY2gvR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MgOiAnRWxhc3RpY1NlYXJjaC9HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcycsXHJcbiAgR2V0RGF0YUpzb25CeVR5cGU6ICdUZW5hbnQvR2V0RGF0YUpzb25CeVR5cGUnLFxyXG4gIFN5bmNBcHBGaWVsZHMgOiAnQXBwbGljYXRpb24vU3luY0FwcEZpZWxkcycsXHJcbiAgZXhwb3J0UmVwb3J0IDogJ3JlcG9ydC9FeHBvcnRSZXBvcnQnLFxyXG4gIFJlZnJlc2hHbG9iYWxTZWFyY2hEYXRhIDogJ0VsYXN0aWNTZWFyY2gvUmVmcmVzaEdsb2JhbFNlYXJjaERhdGEnLFxyXG4gIFJlZnJlc2hSZWNvcmRJbmZvRGF0YTogJ0RhdGFJbnRlZ3JpdHkvUmVmcmVzaFJlY29yZEluZm9EYXRhJyxcclxuICBkb3dubG9hZFJlcG9ydEZpbGUgOiAncmVwb3J0L0Rvd25sb2FkUmVwb3J0RmlsZScsXHJcbiAgc2VuZFJlcG9ydCA6ICdyZXBvcnQvU2VuZFJlcG9ydCcsXHJcbiAgR2V0UmVsZWFzZUpTT05EaWZmZXJlbmNlOidSZWxlYXNlL0dldFJlbGVhc2VKU09ORGlmZmVyZW5jZScsXHJcbiAgR2V0RGF0YURpZmZlcmVuY2U6J1JlbGVhc2UvR2V0RGF0YURpZmZlcmVuY2UnLFxyXG4gIFJlZ2lzdGVyVGVuYW50OiAnVGVuYW50L1JlZ2lzdGVyVGVuYW50JyxcclxuICBFeGVjdXRlOiAnRGF0YUJhc2VFeGVjdXRpb24vRXhlY3V0ZSdcclxufTtcclxuIl19
|
|
@@ -203,6 +203,33 @@ export class TabCrudService {
|
|
|
203
203
|
// Execute the stored procedure using a POST request
|
|
204
204
|
return this._apiService.post(`${API.rawSQL}?query=${sp}`, {}, header);
|
|
205
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Executes a stored procedure based on the given parameters.
|
|
208
|
+
* @param payload The payload containing the object name, object type, and parameters for the stored procedure.
|
|
209
|
+
* @param headers Optional headers for the request.
|
|
210
|
+
* @returns An observable of the response from the API.
|
|
211
|
+
*/
|
|
212
|
+
executeStoredProcedure(payload, headers) {
|
|
213
|
+
if (!headers) {
|
|
214
|
+
headers = getHeaders();
|
|
215
|
+
}
|
|
216
|
+
// Convert the parameters object to the required format
|
|
217
|
+
const params = [];
|
|
218
|
+
if (typeof payload?.Parameters === 'object') {
|
|
219
|
+
// Iterate over the parameters and create the required format
|
|
220
|
+
Object.keys(payload.Parameters).forEach((key) => {
|
|
221
|
+
params.push({
|
|
222
|
+
Name: key,
|
|
223
|
+
Value: payload.Parameters[key]
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
// Execute the stored procedure
|
|
228
|
+
return this._apiService.post(API.Execute, {
|
|
229
|
+
...payload,
|
|
230
|
+
Parameters: params,
|
|
231
|
+
}, headers);
|
|
232
|
+
}
|
|
206
233
|
static { this.ɵfac = function TabCrudService_Factory(t) { return new (t || TabCrudService)(); }; }
|
|
207
234
|
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TabCrudService, factory: TabCrudService.ɵfac, providedIn: 'root' }); }
|
|
208
235
|
}
|
|
@@ -210,4 +237,4 @@ export class TabCrudService {
|
|
|
210
237
|
type: Injectable,
|
|
211
238
|
args: [{ providedIn: 'root' }]
|
|
212
239
|
}], null, null); })();
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsSCxPQUFPLEVBQWdDLGlCQUFpQixFQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixvQkFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsMkJBQXNCLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlFLGVBQVUsR0FBYyxNQUFNLENBQUMsU0FBUyxD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QkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBDcnVkQmFzZVBheWxvYWQsIERlbGV0ZVBheWxvYWQsIEdldFBheWxvYWQsIEluc2VydFBheWxvYWQsIFVwZGF0ZVBheWxvYWQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9jb21tb24uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBBcHBPYmplY3RNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvYXBwLW9iamVjdC5tb2RlbFwiO1xuaW1wb3J0IHsgTWV0YWRhdGFIZWxwZXIgfSBmcm9tIFwiLi4vaGVscGVycy9jb21tb24vbWV0YS1kYXRhLmhlbHBlcnNcIjtcbmltcG9ydCB7IGNyZWF0ZUR5bmFtaWNEYXRhLGdldEJ1bGtJbnNlcnRGaWVsZHMsIGdldEJ1bGtJbnNlcnRWYWx1ZXMsIHJlbW92ZUJsYW5rVmFsdWUgfSBmcm9tIFwiLi4vdXRpbHMvanNvbi51dGlsXCI7XG5pbXBvcnQgeyBBUElCdWxrSW5zZXJ0RmllbGRzVmFsdWVTZXRzLCBBUElGaWx0ZXJDcml0ZXJpYSwgQVBJVmFsdWVTZXRzIH0gZnJvbSBcIi4uL21vZGVscy9hcGktcXVlcnkuY2xhc3NcIjtcbmltcG9ydCB7IFJlcXVlc3RSZXNwb25zZUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9yZXEtcmVzLmhlbHBlcnNcIjtcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gXCIuLi9oZWxwZXJzL2NvbW1vbi9kc3EuaGVscGVyc1wiO1xuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSBcIi4uL2VudW1zL3F1ZXJ5LmVudW1cIjtcbmltcG9ydCB7IENvbmp1Y3Rpb25DbGF1c2UsIEZpbHRlclZhbHVlVHlwZSwgUmVsYXRpb25hbE9wZXJhdG9yIH0gZnJvbSBcIi4uL2VudW1zL2RzcS5lbnVtXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IERhdGFTb3VyY2VRdWVyeU1vZGVsIH0gZnJvbSBcIi4uL21vZGVscy9kYXRhLXNvdXJjZS1xdWVyeS5tb2RlbFwiO1xuaW1wb3J0IHsgQVBJIH0gZnJvbSBcIi4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBnZXRIZWFkZXJzIH0gZnJvbSBcIi4uL3V0aWxzL3JlcS1yZXMudXRpbFwiO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGFiQ3J1ZFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21ldGFkYXRhSGVscGVyOiBNZXRhZGF0YUhlbHBlciA9IGluamVjdChNZXRhZGF0YUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVxdWVzdFJlc3BvbnNlSGVscGVyOiBSZXF1ZXN0UmVzcG9uc2VIZWxwZXIgPSBpbmplY3QoUmVxdWVzdFJlc3BvbnNlSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kc3FIZWxwZXI6IERTUUhlbHBlciA9IGluamVjdChEU1FIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBnaXZlbiBwYXlsb2FkLlxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIHdpdGggZWl0aGVyIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIG9yIGFwcE9iamVjdElkT3JOYW1lLlxuICAgICAqIEByZXR1cm5zIFRoZSBBcHBPYmplY3RNb2RlbC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQ6IENydWRCYXNlUGF5bG9hZCk6IEFwcE9iamVjdE1vZGVsIHtcbiAgICAgICAgbGV0IGFwcE9iamVjdDtcblxuICAgICAgICBpZiAocGF5bG9hZD8uZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpIHtcbiAgICAgICAgICAgIC8vIElmIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lIGlzIGdpdmVuLCBnZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGRhdGEgc291cmNlIHF1ZXJ5XG4gICAgICAgICAgICBhcHBPYmplY3QgPSB0aGlzLl9tZXRhZGF0YUhlbHBlci5nZXREYXRhU291cmNlUXVlcnlCeUlkT3JOYW1lKHBheWxvYWQuZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUpPy5wYXJlbnRBcHBPYmplY3Q7XG5cbiAgICAgICAgfSBlbHNlIGlmIChwYXlsb2FkPy5hcHBPYmplY3RJZE9yTmFtZSkge1xuICAgICAgICAgICAgLy8gSWYgYXBwT2JqZWN0SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZGlyZWN0bHlcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldEFwcE9iamVjdEJ5SWRPck5hbWUocGF5bG9hZC5hcHBPYmplY3RJZE9yTmFtZSk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYXBwT2JqZWN0Py5JRCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBcHBPYmplY3Qgbm90IGZvdW5kJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYXBwT2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgb3V0IGludmFsaWQgZmllbGRzIGZyb20gdGhlIHByb3ZpZGVkIGRhdGEgYmFzZWQgb24gdGhlIEFwcE9iamVjdE1vZGVsLlxuICAgICAqIE9wdGlvbmFsbHkgcmV0YWlucyBwcmltYXJ5IGtleSBmaWVsZHMuXG4gICAgICogXG4gICAgICogQHBhcmFtIGRhdGEgVGhlIGRhdGEgb2JqZWN0IHRvIGZpbHRlci5cbiAgICAgKiBAcGFyYW0gYXBwT2JqZWN0IFRoZSBBcHBPYmplY3RNb2RlbCB1c2VkIHRvIHZhbGlkYXRlIHRoZSBmaWVsZHMuXG4gICAgICogQHBhcmFtIGtlZXBQcmltYXJ5S2V5IE9wdGlvbmFsIGZsYWcgdG8gcmV0YWluIHByaW1hcnkga2V5IGZpZWxkcy4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAgICogQHJldHVybnMgQSBuZXcgb2JqZWN0IHdpdGggb25seSB2YWxpZCBmaWVsZHMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJWYWxpZEFwcE9iamVjdEZpZWxkcyhkYXRhOiBhbnksIGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwsIGtlZXBQcmltYXJ5S2V5ID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0JykgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGRhdGEnKTtcblxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcblxuICAgICAgICAvLyBSZW1vdmUgZmllbGRzIHdpdGggYmxhbmsgdmFsdWVzXG4gICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGZpbHRlcmVkIGRhdGFcbiAgICAgICAgT2JqZWN0LmtleXMoZmlsdGVyZWREYXRhKT8uZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhcHBGaWVsZCA9IGFwcE9iamVjdC5maWVsZChrZXkpO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRGaWVsZCA9IGFwcE9iamVjdC5DaGlsZFJlbGF0aW9uU2hpcHM/LnNvbWUoKHgpID0+IHg/LmNoaWxkRGV0YWlscz8uTG9va3VwT2JqZWN0ID09PSBrZXkpO1xuXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZpZWxkIGlmIGl0IGlzIG5vdCB2YWxpZCBvciBpZiBwcmltYXJ5IGtleXMgc2hvdWxkIG5vdCBiZSBrZXB0XG4gICAgICAgICAgICBpZiAoIShhcHBGaWVsZCB8fCBjaGlsZEZpZWxkKSB8fCAoIWtlZXBQcmltYXJ5S2V5ICYmIGFwcEZpZWxkPy5Jc1ByaW1hcnlLZXkpKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGZpbHRlcmVkRGF0YVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIHdoZXJlIGNsYXVzZSBiYXNlZCBvbiB0aGUgY3JpdGVyaWEgcHJvdmlkZWQuXG4gICAgICogXG4gICAgICogQHBhcmFtIGNyaXRlcmlhIFRoZSBjcml0ZXJpYSBvYmplY3QgdG8gZ2VuZXJhdGUgdGhlIHdoZXJlIGNsYXVzZSBmcm9tLlxuICAgICAqIEBwYXJhbSBjcnVkVGFibGVOYW1lIFRoZSBDUlVEIHRhYmxlIG5hbWUgdG8gdXNlIGluIHRoZSB3aGVyZSBjbGF1c2UuXG4gICAgICogQHJldHVybnMgQSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0IHdpdGggdGhlIGdlbmVyYXRlZCB3aGVyZSBjbGF1c2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVdoZXJlQ2xhdXNlKGNyaXRlcmlhOiBhbnksIGNydWRUYWJsZU5hbWU6IHN0cmluZywgcHJvdmlkZUVtcHR5V2hlcmVDbGF1c2UgPSBmYWxzZSk6IEFQSUZpbHRlckNyaXRlcmlhIHtcbiAgICAgICAgaWYgKCFwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSAmJiAoIWNyaXRlcmlhIHx8IHR5cGVvZiBjcml0ZXJpYSAhPT0gJ29iamVjdCcgfHwgIU9iamVjdC5rZXlzKGNyaXRlcmlhKSkpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBibGFuayB2YWx1ZXMgZnJvbSB0aGUgY3JpdGVyaWFcbiAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShjcml0ZXJpYSk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgbmV3IEFQSUZpbHRlckNyaXRlcmlhIG9iamVjdFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZSA9IG5ldyBBUElGaWx0ZXJDcml0ZXJpYSgpO1xuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzID0gW107XG5cbiAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIGVhY2gga2V5IGluIHRoZSBjcml0ZXJpYSBhbmQgYWRkIGl0IHRvIHRoZSB3aGVyZSBjbGF1c2VcbiAgICAgICAgT2JqZWN0LmtleXMoY3JpdGVyaWEpPy5mb3JFYWNoKChrZXk6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0ge1xuICAgICAgICAgICAgICAgIENvbmp1Y3Rpb25DbGF1c2U6IENvbmp1Y3Rpb25DbGF1c2UuQU5ELCAvLyBjb25qdWN0aW9uIGNsYXVzZSBpcyBBTkQgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEZpZWxkSUQ6IGNydWRUYWJsZU5hbWUgKyAnLicgKyBrZXksIC8vIGNvbWJpbmUgdGhlIENSVUQgdGFibGUgbmFtZSB3aXRoIHRoZSBmaWVsZCBuYW1lXG4gICAgICAgICAgICAgICAgUmVsYXRpb25hbE9wZXJhdG9yOiBSZWxhdGlvbmFsT3BlcmF0b3IuRXF1YWxUbywgLy8gcmVsYXRpb25hbCBvcGVyYXRvciBpcyBFcXVhbFRvIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgICAgICBWYWx1ZVR5cGU6IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsLCAvLyB2YWx1ZSB0eXBlIGlzIExpdGVyYWwgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjcml0ZXJpYVtrZXldLCAvLyBzZXQgdGhlIHZhbHVlIG9mIHRoZSBmaWx0ZXJcbiAgICAgICAgICAgICAgICBTZXF1ZW5jZTogMCwgLy8gc2V0IHRoZSBzZXF1ZW5jZSB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgICAgICBHcm91cElEOiAwIC8vIHNldCB0aGUgZ3JvdXAgSUQgdG8gMCBieSBkZWZhdWx0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2hlcmVDbGF1c2UuRmlsdGVycy5wdXNoKGZpbHRlcik7IC8vIGFkZCB0aGUgZmlsdGVyIHRvIHRoZSBhcnJheSBvZiBmaWx0ZXJzXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFNldCB0aGUgZmlsdGVyIGxvZ2ljIHRvICcxJ1xuICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJMb2dpYyA9ICcxJztcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIGdlbmVyYXRlZCB3aGVyZSBjbGF1c2VcbiAgICAgICAgcmV0dXJuIHdoZXJlQ2xhdXNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgR0VUIHJlcXVlc3QgdG8gcmV0cmlldmUgZGF0YSBmcm9tIHRoZSBzcGVjaWZpZWQgZGF0YSBzb3VyY2UgcXVlcnkuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBnZXQocGF5bG9hZDogR2V0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gR2V0IHRoZSBBcHBPYmplY3RNb2RlbCBmcm9tIHRoZSBwYXlsb2FkXG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuXG4gICAgICAgIC8vIEdldCB0aGUgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgZnJvbSB0aGUgQXBwT2JqZWN0TW9kZWxcbiAgICAgICAgY29uc3QgZHNxOiBEYXRhU291cmNlUXVlcnlNb2RlbCB8IHVuZGVmaW5lZCA9IGFwcE9iamVjdC5kYXRhU291cmNlUXVlcnkocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIEFwcE9iamVjdE1vZGVsIGFuZCBEYXRhU291cmNlUXVlcnlNb2RlbFxuICAgICAgICBpZiAoIWFwcE9iamVjdCB8fCAhZHNxKSB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBvciBEYXRhU291cmNlUXVlcnkgbm90IGZvdW5kJyk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBoZWFkZXJzIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBHRVQgcmVxdWVzdFxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0KFxuICAgICAgICAgICAgLy8gVGhlIFVSTCBmb3IgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2FwcE9iamVjdD8uT2JqZWN0TmFtZX0vJHtkc3E/LlF1ZXJ5TmFtZX1gLFxuICAgICAgICAgICAgLy8gVGhlIGNyaXRlcmlhIGZvciB0aGUgcXVlcnlcbiAgICAgICAgICAgIHBheWxvYWQuY3JpdGVyaWEsXG4gICAgICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgICAgIGhlYWRlclxuICAgICAgICApIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydHMgZGF0YSBpbnRvIHRoZSBzcGVjaWZpZWQgdGFibGUuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgY29udGFpbmluZyB0aGUgZGF0YSB0byBpbnNlcnQgYW5kIHRoZSBBcHBPYmplY3RNb2RlbCBJRC5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXG4gICAgICovXG4gICAgaW5zZXJ0KHBheWxvYWQ6IEluc2VydFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuXG4gICAgICAgIC8vIEZpbHRlciBvdXQgaW52YWxpZCBmaWVsZHMgZnJvbSB0aGUgZGF0YSBiYXNlZCBvbiB0aGUgQXBwT2JqZWN0TW9kZWxcbiAgICAgICAgY29uc3QgZmlsdGVyZWREYXRhOiBhbnkgPSB0aGlzLmZpbHRlclZhbGlkQXBwT2JqZWN0RmllbGRzKHBheWxvYWQuZGF0YSwgYXBwT2JqZWN0KTtcblxuICAgICAgICAvLyBDcmVhdGUgYSB3aGVyZSBjbGF1c2UgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZSh7fSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB0cnVlKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmluc2VydFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWREYXRhKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBxdWVyeVxuICAgICAgICByZXR1cm4gdGhpcy5fZHNxSGVscGVyLmV4ZWN1dGVRdWVyeShhcGlQYXlsb2FkLCBRdWVyeVR5cGUuSW5zZXJ0LCBoZWFkZXJzKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG4gICAgYnVsa0luc2VydChwYXlsb2FkOiBJbnNlcnRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCBhcHBPYmplY3Q6IEFwcE9iamVjdE1vZGVsID0gdGhpcy5nZXRBcHBPYmplY3RGcm9tUGF5bG9hZChwYXlsb2FkKTtcbiAgICAgICAgLy8gQ3JlYXRlIGEgd2hlcmUgY2xhdXNlIGZvciB0aGUgaW5zZXJ0IG9wZXJhdGlvblxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2Uoe30sIGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgdHJ1ZSk7XG5cbiAgICAgICAgLy8gVHJhbnNmb3JtIHRoZSBkYXRhIGludG8gdGhlIGZvcm1hdCByZXF1aXJlZCBieSB0aGUgQVBJXG4gICAgICAgIGNvbnN0IHRyYW5zZm9ybWVkRmllbGRzOiBzdHJpbmdbXSA9IGdldEJ1bGtJbnNlcnRGaWVsZHMocGF5bG9hZC5kYXRhKTtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRWYWx1ZXM6IEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHNbXSA9IGdldEJ1bGtJbnNlcnRWYWx1ZXMocGF5bG9hZC5kYXRhKTtcbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLmJ1bGtJbnNlcnRQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkVmFsdWVzLHRyYW5zZm9ybWVkRmllbGRzKTtcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkJ1bGtJbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGRhdGEgaW4gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIHVwZGF0ZSwgdGhlIGNyaXRlcmlhIGZvciB0aGUgdXBkYXRlLCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICB1cGRhdGUocGF5bG9hZDogVXBkYXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcbiAgICAgICAgaWYgKCF3aGVyZUNsYXVzZT8uRmlsdGVycz8ubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JpdGVyaWEnKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLnVwZGF0ZVJlcXVlc3RQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkRGF0YSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLlVwZGF0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIGRlbGV0ZSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBkZWxldGUocGF5bG9hZDogRGVsZXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3RcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5kZWxldGVQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5EZWxldGUsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSB1c2luZyByYXcgU1FMLlxuICAgICAqIEBwYXJhbSBzcCBUaGUgc3RvcmVkIHByb2NlZHVyZSBxdWVyeSBzdHJpbmcuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgQVBJIFBPU1QgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBleGVjdXRlU3Aoc3A6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gUmV0cmlldmUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIGEgUE9TVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnJhd1NRTH0/cXVlcnk9JHtzcH1gLCB7fSwgaGVhZGVyKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG59XG4iXX0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWNydWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9jcnVkL3RhYi1jcnVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuSCxPQUFPLEVBQWdDLGlCQUFpQixFQUFnQixNQUFNLDJCQUEyQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzFGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUdoRSxNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixvQkFBZSxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekQsMkJBQXNCLEdBQTBCLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlFLGVBQVUsR0FBYyxNQUFNLENBQUMsU0FBUyxD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c0MsRUFBRSxPQUFhO1FBQ3hFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsdURBQXVEO1FBQ3ZELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxFQUFFLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQyw2REFBNkQ7WUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ1IsSUFBSSxFQUFFLEdBQUc7b0JBQ1QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2lCQUNqQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCwrQkFBK0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ3RDLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxNQUFNO1NBQ3JCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEIsQ0FBQzsrRUFoUVEsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYyxtQkFERCxNQUFNOztpRkFDbkIsY0FBYztjQUQxQixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbkFwaVJlc3BvbnNlLCBDcnVkQmFzZVBheWxvYWQsIERlbGV0ZVBheWxvYWQsIGV4ZWN1dGVTdG9yZWRQcm9jZWR1cmVQYXlsb2FkLCBHZXRQYXlsb2FkLCBJbnNlcnRQYXlsb2FkLCBVcGRhdGVQYXlsb2FkIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY29tbW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQXBwT2JqZWN0TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2FwcC1vYmplY3QubW9kZWxcIjtcbmltcG9ydCB7IE1ldGFkYXRhSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL21ldGEtZGF0YS5oZWxwZXJzXCI7XG5pbXBvcnQgeyBjcmVhdGVEeW5hbWljRGF0YSwgZ2V0QnVsa0luc2VydEZpZWxkcywgZ2V0QnVsa0luc2VydFZhbHVlcywgcmVtb3ZlQmxhbmtWYWx1ZSB9IGZyb20gXCIuLi91dGlscy9qc29uLnV0aWxcIjtcbmltcG9ydCB7IEFQSUJ1bGtJbnNlcnRGaWVsZHNWYWx1ZVNldHMsIEFQSUZpbHRlckNyaXRlcmlhLCBBUElWYWx1ZVNldHMgfSBmcm9tIFwiLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzc1wiO1xuaW1wb3J0IHsgUmVxdWVzdFJlc3BvbnNlSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL3JlcS1yZXMuaGVscGVyc1wiO1xuaW1wb3J0IHsgRFNRSGVscGVyIH0gZnJvbSBcIi4uL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzXCI7XG5pbXBvcnQgeyBRdWVyeVR5cGUgfSBmcm9tIFwiLi4vZW51bXMvcXVlcnkuZW51bVwiO1xuaW1wb3J0IHsgQ29uanVjdGlvbkNsYXVzZSwgRmlsdGVyVmFsdWVUeXBlLCBSZWxhdGlvbmFsT3BlcmF0b3IgfSBmcm9tIFwiLi4vZW51bXMvZHNxLmVudW1cIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVF1ZXJ5TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2RhdGEtc291cmNlLXF1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBBUEkgfSBmcm9tIFwiLi4vY29uc3RhbnRzL2FwaS1jb25zdGFudHNcIjtcbmltcG9ydCB7IGdldEhlYWRlcnMgfSBmcm9tIFwiLi4vdXRpbHMvcmVxLXJlcy51dGlsXCI7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvaHR0cC1jbGllbnQvYXBpLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUYWJDcnVkU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWV0YWRhdGFIZWxwZXI6IE1ldGFkYXRhSGVscGVyID0gaW5qZWN0KE1ldGFkYXRhSGVscGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZXF1ZXN0UmVzcG9uc2VIZWxwZXI6IFJlcXVlc3RSZXNwb25zZUhlbHBlciA9IGluamVjdChSZXF1ZXN0UmVzcG9uc2VIZWxwZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2RzcUhlbHBlcjogRFNRSGVscGVyID0gaW5qZWN0KERTUUhlbHBlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYXBpU2VydmljZSA9IGluamVjdChBcGlTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIGdpdmVuIHBheWxvYWQuXG4gICAgICogQHBhcmFtIHBheWxvYWQgVGhlIHBheWxvYWQgd2l0aCBlaXRoZXIgZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUgb3IgYXBwT2JqZWN0SWRPck5hbWUuXG4gICAgICogQHJldHVybnMgVGhlIEFwcE9iamVjdE1vZGVsLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZDogQ3J1ZEJhc2VQYXlsb2FkKTogQXBwT2JqZWN0TW9kZWwge1xuICAgICAgICBsZXQgYXBwT2JqZWN0O1xuXG4gICAgICAgIGlmIChwYXlsb2FkPy5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSkge1xuICAgICAgICAgICAgLy8gSWYgZGF0YVNvdXJjZVF1ZXJ5SWRPck5hbWUgaXMgZ2l2ZW4sIGdldCB0aGUgQXBwT2JqZWN0TW9kZWwgZnJvbSB0aGUgZGF0YSBzb3VyY2UgcXVlcnlcbiAgICAgICAgICAgIGFwcE9iamVjdCA9IHRoaXMuX21ldGFkYXRhSGVscGVyLmdldERhdGFTb3VyY2VRdWVyeUJ5SWRPck5hbWUocGF5bG9hZC5kYXRhU291cmNlUXVlcnlJZE9yTmFtZSk/LnBhcmVudEFwcE9iamVjdDtcblxuICAgICAgICB9IGVsc2UgaWYgKHBheWxvYWQ/LmFwcE9iamVjdElkT3JOYW1lKSB7XG4gICAgICAgICAgICAvLyBJZiBhcHBPYmplY3RJZE9yTmFtZSBpcyBnaXZlbiwgZ2V0IHRoZSBBcHBPYmplY3RNb2RlbCBkaXJlY3RseVxuICAgICAgICAgICAgYXBwT2JqZWN0ID0gdGhpcy5fbWV0YWRhdGFIZWxwZXIuZ2V0QXBwT2JqZWN0QnlJZE9yTmFtZShwYXlsb2FkLmFwcE9iamVjdElkT3JOYW1lKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhcHBPYmplY3Q/LklEKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FwcE9iamVjdCBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhcHBPYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVycyBvdXQgaW52YWxpZCBmaWVsZHMgZnJvbSB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgQXBwT2JqZWN0TW9kZWwuXG4gICAgICogT3B0aW9uYWxseSByZXRhaW5zIHByaW1hcnkga2V5IGZpZWxkcy5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgZGF0YSBvYmplY3QgdG8gZmlsdGVyLlxuICAgICAqIEBwYXJhbSBhcHBPYmplY3QgVGhlIEFwcE9iamVjdE1vZGVsIHVzZWQgdG8gdmFsaWRhdGUgdGhlIGZpZWxkcy5cbiAgICAgKiBAcGFyYW0ga2VlcFByaW1hcnlLZXkgT3B0aW9uYWwgZmxhZyB0byByZXRhaW4gcHJpbWFyeSBrZXkgZmllbGRzLiBEZWZhdWx0cyB0byBmYWxzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBvYmplY3Qgd2l0aCBvbmx5IHZhbGlkIGZpZWxkcy5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbHRlclZhbGlkQXBwT2JqZWN0RmllbGRzKGRhdGE6IGFueSwgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCwga2VlcFByaW1hcnlLZXkgPSBmYWxzZSkge1xuICAgICAgICBpZiAoIWRhdGEgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YScpO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBmaWVsZHMgd2l0aCBibGFuayB2YWx1ZXNcbiAgICAgICAgcmVtb3ZlQmxhbmtWYWx1ZShmaWx0ZXJlZERhdGEpO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciBlYWNoIGtleSBpbiB0aGUgZmlsdGVyZWQgZGF0YVxuICAgICAgICBPYmplY3Qua2V5cyhmaWx0ZXJlZERhdGEpPy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFwcEZpZWxkID0gYXBwT2JqZWN0LmZpZWxkKGtleSk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZEZpZWxkID0gYXBwT2JqZWN0LkNoaWxkUmVsYXRpb25TaGlwcz8uc29tZSgoeCkgPT4geD8uY2hpbGREZXRhaWxzPy5Mb29rdXBPYmplY3QgPT09IGtleSk7XG5cbiAgICAgICAgICAgIC8vIERlbGV0ZSB0aGUgZmllbGQgaWYgaXQgaXMgbm90IHZhbGlkIG9yIGlmIHByaW1hcnkga2V5cyBzaG91bGQgbm90IGJlIGtlcHRcbiAgICAgICAgICAgIGlmICghKGFwcEZpZWxkIHx8IGNoaWxkRmllbGQpIHx8ICgha2VlcFByaW1hcnlLZXkgJiYgYXBwRmllbGQ/LklzUHJpbWFyeUtleSkpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVyZWREYXRhW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBmaWx0ZXJlZERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VuZXJhdGVzIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZC5cbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gY3JpdGVyaWEgVGhlIGNyaXRlcmlhIG9iamVjdCB0byBnZW5lcmF0ZSB0aGUgd2hlcmUgY2xhdXNlIGZyb20uXG4gICAgICogQHBhcmFtIGNydWRUYWJsZU5hbWUgVGhlIENSVUQgdGFibGUgbmFtZSB0byB1c2UgaW4gdGhlIHdoZXJlIGNsYXVzZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBBUElGaWx0ZXJDcml0ZXJpYSBvYmplY3Qgd2l0aCB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdlbmVyYXRlV2hlcmVDbGF1c2UoY3JpdGVyaWE6IGFueSwgY3J1ZFRhYmxlTmFtZTogc3RyaW5nLCBwcm92aWRlRW1wdHlXaGVyZUNsYXVzZSA9IGZhbHNlKTogQVBJRmlsdGVyQ3JpdGVyaWEge1xuICAgICAgICBpZiAoIXByb3ZpZGVFbXB0eVdoZXJlQ2xhdXNlICYmICghY3JpdGVyaWEgfHwgdHlwZW9mIGNyaXRlcmlhICE9PSAnb2JqZWN0JyB8fCAhT2JqZWN0LmtleXMoY3JpdGVyaWEpKSkgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNyaXRlcmlhJyk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBjcml0ZXJpYVxuICAgICAgICByZW1vdmVCbGFua1ZhbHVlKGNyaXRlcmlhKTtcblxuICAgICAgICAvLyBDcmVhdGUgYSBuZXcgQVBJRmlsdGVyQ3JpdGVyaWEgb2JqZWN0XG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlID0gbmV3IEFQSUZpbHRlckNyaXRlcmlhKCk7XG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlcnMgPSBbXTtcblxuICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBrZXkgaW4gdGhlIGNyaXRlcmlhIGFuZCBhZGQgaXQgdG8gdGhlIHdoZXJlIGNsYXVzZVxuICAgICAgICBPYmplY3Qua2V5cyhjcml0ZXJpYSk/LmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgQ29uanVjdGlvbkNsYXVzZTogQ29uanVjdGlvbkNsYXVzZS5BTkQsIC8vIGNvbmp1Y3Rpb24gY2xhdXNlIGlzIEFORCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgRmllbGRJRDogY3J1ZFRhYmxlTmFtZSArICcuJyArIGtleSwgLy8gY29tYmluZSB0aGUgQ1JVRCB0YWJsZSBuYW1lIHdpdGggdGhlIGZpZWxkIG5hbWVcbiAgICAgICAgICAgICAgICBSZWxhdGlvbmFsT3BlcmF0b3I6IFJlbGF0aW9uYWxPcGVyYXRvci5FcXVhbFRvLCAvLyByZWxhdGlvbmFsIG9wZXJhdG9yIGlzIEVxdWFsVG8gYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIFZhbHVlVHlwZTogRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWwsIC8vIHZhbHVlIHR5cGUgaXMgTGl0ZXJhbCBieSBkZWZhdWx0XG4gICAgICAgICAgICAgICAgdmFsdWU6IGNyaXRlcmlhW2tleV0sIC8vIHNldCB0aGUgdmFsdWUgb2YgdGhlIGZpbHRlclxuICAgICAgICAgICAgICAgIFNlcXVlbmNlOiAwLCAvLyBzZXQgdGhlIHNlcXVlbmNlIHRvIDAgYnkgZGVmYXVsdFxuICAgICAgICAgICAgICAgIEdyb3VwSUQ6IDAgLy8gc2V0IHRoZSBncm91cCBJRCB0byAwIGJ5IGRlZmF1bHRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aGVyZUNsYXVzZS5GaWx0ZXJzLnB1c2goZmlsdGVyKTsgLy8gYWRkIHRoZSBmaWx0ZXIgdG8gdGhlIGFycmF5IG9mIGZpbHRlcnNcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU2V0IHRoZSBmaWx0ZXIgbG9naWMgdG8gJzEnXG4gICAgICAgIHdoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljID0gJzEnO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZ2VuZXJhdGVkIHdoZXJlIGNsYXVzZVxuICAgICAgICByZXR1cm4gd2hlcmVDbGF1c2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBHRVQgcmVxdWVzdCB0byByZXRyaWV2ZSBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCBkYXRhIHNvdXJjZSBxdWVyeS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIHF1ZXJ5IGFuZCB0aGUgQXBwT2JqZWN0TW9kZWwgSUQuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJLlxuICAgICAqL1xuICAgIGdldChwYXlsb2FkOiBHZXRQYXlsb2FkLCBoZWFkZXJzPzogYW55KTogT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT4ge1xuICAgICAgICAvLyBHZXQgdGhlIEFwcE9iamVjdE1vZGVsIGZyb20gdGhlIHBheWxvYWRcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBEYXRhU291cmNlUXVlcnlNb2RlbCBmcm9tIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBkc3E6IERhdGFTb3VyY2VRdWVyeU1vZGVsIHwgdW5kZWZpbmVkID0gYXBwT2JqZWN0LmRhdGFTb3VyY2VRdWVyeShwYXlsb2FkLmRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lKTtcblxuICAgICAgICAvLyBWYWxpZGF0ZSB0aGUgQXBwT2JqZWN0TW9kZWwgYW5kIERhdGFTb3VyY2VRdWVyeU1vZGVsXG4gICAgICAgIGlmICghYXBwT2JqZWN0IHx8ICFkc3EpIHRocm93IG5ldyBFcnJvcignQXBwT2JqZWN0IG9yIERhdGFTb3VyY2VRdWVyeSBub3QgZm91bmQnKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgcGF5bG9hZFxuICAgICAgICBjb25zdCBoZWFkZXIgPSBnZXRIZWFkZXJzKGhlYWRlcnMpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIEdFVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoXG4gICAgICAgICAgICAvLyBUaGUgVVJMIGZvciB0aGUgR0VUIHJlcXVlc3RcbiAgICAgICAgICAgIGAke0FQSS5nZXREU1F9LyR7YXBwT2JqZWN0Py5PYmplY3ROYW1lfS8ke2RzcT8uUXVlcnlOYW1lfWAsXG4gICAgICAgICAgICAvLyBUaGUgY3JpdGVyaWEgZm9yIHRoZSBxdWVyeVxuICAgICAgICAgICAgcGF5bG9hZC5jcml0ZXJpYSxcbiAgICAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgaGVhZGVyXG4gICAgICAgICkgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBkYXRhIGludG8gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIGluc2VydCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBpbnNlcnQocGF5bG9hZDogSW5zZXJ0UGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhIHdoZXJlIGNsYXVzZSBmb3IgdGhlIGluc2VydCBvcGVyYXRpb25cbiAgICAgICAgY29uc3Qgd2hlcmVDbGF1c2U6IEFQSUZpbHRlckNyaXRlcmlhID0gdGhpcy5nZW5lcmF0ZVdoZXJlQ2xhdXNlKHt9LCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHRydWUpO1xuXG4gICAgICAgIC8vIFRyYW5zZm9ybSB0aGUgZGF0YSBpbnRvIHRoZSBmb3JtYXQgcmVxdWlyZWQgYnkgdGhlIEFQSVxuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZERhdGE6IEFQSVZhbHVlU2V0c1tdID0gY3JlYXRlRHluYW1pY0RhdGEoZmlsdGVyZWREYXRhKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuaW5zZXJ0UGF5bG9hZChhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUsIHdoZXJlQ2xhdXNlLCB0cmFuc2Zvcm1lZERhdGEpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5JbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICBidWxrSW5zZXJ0KHBheWxvYWQ6IEluc2VydFBheWxvYWQsIGhlYWRlcnM/OiBhbnkpOiBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IGFwcE9iamVjdDogQXBwT2JqZWN0TW9kZWwgPSB0aGlzLmdldEFwcE9iamVjdEZyb21QYXlsb2FkKHBheWxvYWQpO1xuICAgICAgICAvLyBDcmVhdGUgYSB3aGVyZSBjbGF1c2UgZm9yIHRoZSBpbnNlcnQgb3BlcmF0aW9uXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZSh7fSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB0cnVlKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRGaWVsZHM6IHN0cmluZ1tdID0gZ2V0QnVsa0luc2VydEZpZWxkcyhwYXlsb2FkLmRhdGEpO1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZFZhbHVlczogQVBJQnVsa0luc2VydEZpZWxkc1ZhbHVlU2V0c1tdID0gZ2V0QnVsa0luc2VydFZhbHVlcyhwYXlsb2FkLmRhdGEpO1xuICAgICAgICAvLyBHZW5lcmF0ZSB0aGUgcGF5bG9hZCBmb3IgdGhlIEFQSSByZXF1ZXN0XG4gICAgICAgIGNvbnN0IGFwaVBheWxvYWQgPSB0aGlzLl9yZXF1ZXN0UmVzcG9uc2VIZWxwZXIuYnVsa0luc2VydFBheWxvYWQoYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lLCB3aGVyZUNsYXVzZSwgdHJhbnNmb3JtZWRWYWx1ZXMsIHRyYW5zZm9ybWVkRmllbGRzKTtcbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLkJ1bGtJbnNlcnQsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGRhdGEgaW4gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBkYXRhIHRvIHVwZGF0ZSwgdGhlIGNyaXRlcmlhIGZvciB0aGUgdXBkYXRlLCBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICB1cGRhdGUocGF5bG9hZDogVXBkYXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBpbnZhbGlkIGZpZWxkcyBmcm9tIHRoZSBkYXRhIGJhc2VkIG9uIHRoZSBBcHBPYmplY3RNb2RlbFxuICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGE6IGFueSA9IHRoaXMuZmlsdGVyVmFsaWRBcHBPYmplY3RGaWVsZHMocGF5bG9hZC5kYXRhLCBhcHBPYmplY3QpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGEgd2hlcmUgY2xhdXNlIGJhc2VkIG9uIHRoZSBjcml0ZXJpYSBwcm92aWRlZFxuICAgICAgICBjb25zdCB3aGVyZUNsYXVzZTogQVBJRmlsdGVyQ3JpdGVyaWEgPSB0aGlzLmdlbmVyYXRlV2hlcmVDbGF1c2UocGF5bG9hZC5jcml0ZXJpYSwgYXBwT2JqZWN0LlN5c3RlbURCVGFibGVOYW1lKTtcbiAgICAgICAgaWYgKCF3aGVyZUNsYXVzZT8uRmlsdGVycz8ubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY3JpdGVyaWEnKTtcblxuICAgICAgICAvLyBUcmFuc2Zvcm0gdGhlIGRhdGEgaW50byB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IHRoZSBBUElcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWREYXRhOiBBUElWYWx1ZVNldHNbXSA9IGNyZWF0ZUR5bmFtaWNEYXRhKGZpbHRlcmVkRGF0YSk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgdGhlIHBheWxvYWQgZm9yIHRoZSBBUEkgcmVxdWVzdFxuICAgICAgICBjb25zdCBhcGlQYXlsb2FkID0gdGhpcy5fcmVxdWVzdFJlc3BvbnNlSGVscGVyLnVwZGF0ZVJlcXVlc3RQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UsIHRyYW5zZm9ybWVkRGF0YSk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcXVlcnlcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RzcUhlbHBlci5leGVjdXRlUXVlcnkoYXBpUGF5bG9hZCwgUXVlcnlUeXBlLlVwZGF0ZSwgaGVhZGVycykgYXMgT2JzZXJ2YWJsZTxDb21tb25BcGlSZXNwb25zZT47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCB0YWJsZS5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBjcml0ZXJpYSBmb3IgdGhlIGRlbGV0ZSBhbmQgdGhlIEFwcE9iamVjdE1vZGVsIElELlxuICAgICAqIEBwYXJhbSBoZWFkZXJzIE9wdGlvbmFsIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0LlxuICAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgb2YgdGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBkZWxldGUocGF5bG9hZDogRGVsZXRlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgYXBwT2JqZWN0OiBBcHBPYmplY3RNb2RlbCA9IHRoaXMuZ2V0QXBwT2JqZWN0RnJvbVBheWxvYWQocGF5bG9hZCk7XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgYSB3aGVyZSBjbGF1c2UgYmFzZWQgb24gdGhlIGNyaXRlcmlhIHByb3ZpZGVkXG4gICAgICAgIGNvbnN0IHdoZXJlQ2xhdXNlOiBBUElGaWx0ZXJDcml0ZXJpYSA9IHRoaXMuZ2VuZXJhdGVXaGVyZUNsYXVzZShwYXlsb2FkLmNyaXRlcmlhLCBhcHBPYmplY3QuU3lzdGVtREJUYWJsZU5hbWUpO1xuICAgICAgICBpZiAoIXdoZXJlQ2xhdXNlPy5GaWx0ZXJzPy5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBjcml0ZXJpYScpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBwYXlsb2FkIGZvciB0aGUgQVBJIHJlcXVlc3RcbiAgICAgICAgY29uc3QgYXBpUGF5bG9hZCA9IHRoaXMuX3JlcXVlc3RSZXNwb25zZUhlbHBlci5kZWxldGVQYXlsb2FkKGFwcE9iamVjdC5TeXN0ZW1EQlRhYmxlTmFtZSwgd2hlcmVDbGF1c2UpO1xuXG4gICAgICAgIC8vIEV4ZWN1dGUgdGhlIHF1ZXJ5XG4gICAgICAgIHJldHVybiB0aGlzLl9kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGFwaVBheWxvYWQsIFF1ZXJ5VHlwZS5EZWxldGUsIGhlYWRlcnMpIGFzIE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSB1c2luZyByYXcgU1FMLlxuICAgICAqIEBwYXJhbSBzcCBUaGUgc3RvcmVkIHByb2NlZHVyZSBxdWVyeSBzdHJpbmcuXG4gICAgICogQHBhcmFtIGhlYWRlcnMgT3B0aW9uYWwgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgQVBJIFBPU1QgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBleGVjdXRlU3Aoc3A6IHN0cmluZywgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgLy8gUmV0cmlldmUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcbiAgICAgICAgY29uc3QgaGVhZGVyID0gZ2V0SGVhZGVycyhoZWFkZXJzKTtcblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlIHVzaW5nIGEgUE9TVCByZXF1ZXN0XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoYCR7QVBJLnJhd1NRTH0/cXVlcnk9JHtzcH1gLCB7fSwgaGVhZGVyKSBhcyBPYnNlcnZhYmxlPENvbW1vbkFwaVJlc3BvbnNlPjtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgc3RvcmVkIHByb2NlZHVyZSBiYXNlZCBvbiB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCBjb250YWluaW5nIHRoZSBvYmplY3QgbmFtZSwgb2JqZWN0IHR5cGUsIGFuZCBwYXJhbWV0ZXJzIGZvciB0aGUgc3RvcmVkIHByb2NlZHVyZS5cbiAgICAgKiBAcGFyYW0gaGVhZGVycyBPcHRpb25hbCBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkuXG4gICAgICovXG4gICAgZXhlY3V0ZVN0b3JlZFByb2NlZHVyZShwYXlsb2FkOiBleGVjdXRlU3RvcmVkUHJvY2VkdXJlUGF5bG9hZCwgaGVhZGVycz86IGFueSk6IE9ic2VydmFibGU8Q29tbW9uQXBpUmVzcG9uc2U+IHtcbiAgICAgICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udmVydCB0aGUgcGFyYW1ldGVycyBvYmplY3QgdG8gdGhlIHJlcXVpcmVkIGZvcm1hdFxuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IFtdO1xuICAgICAgICBpZiAodHlwZW9mIHBheWxvYWQ/LlBhcmFtZXRlcnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAvLyBJdGVyYXRlIG92ZXIgdGhlIHBhcmFtZXRlcnMgYW5kIGNyZWF0ZSB0aGUgcmVxdWlyZWQgZm9ybWF0XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhwYXlsb2FkLlBhcmFtZXRlcnMpLmZvckVhY2goKGtleTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBOYW1lOiBrZXksXG4gICAgICAgICAgICAgICAgICAgIFZhbHVlOiBwYXlsb2FkLlBhcmFtZXRlcnNba2V5XVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGVjdXRlIHRoZSBzdG9yZWQgcHJvY2VkdXJlXG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3QoQVBJLkV4ZWN1dGUsIHtcbiAgICAgICAgICAgIC4uLnBheWxvYWQsXG4gICAgICAgICAgICBQYXJhbWV0ZXJzOiBwYXJhbXMsXG4gICAgICAgIH0sIGhlYWRlcnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -46,4 +46,9 @@ export var HttpRequestType;
|
|
|
46
46
|
HttpRequestType["PUT"] = "PUT";
|
|
47
47
|
HttpRequestType["DELETE"] = "DELETE";
|
|
48
48
|
})(HttpRequestType || (HttpRequestType = {}));
|
|
49
|
-
|
|
49
|
+
export var ProcedureObjectType;
|
|
50
|
+
(function (ProcedureObjectType) {
|
|
51
|
+
ProcedureObjectType[ProcedureObjectType["StoredProcedure"] = 1] = "StoredProcedure";
|
|
52
|
+
ProcedureObjectType[ProcedureObjectType["Function"] = 2] = "Function";
|
|
53
|
+
})(ProcedureObjectType || (ProcedureObjectType = {}));
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvZW51bXMvY29tbW9uLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNsQiwyQ0FBUSxDQUFBO0lBQ1IsK0NBQVUsQ0FBQTtJQUNWLCtDQUFVLENBQUE7SUFDViwrQ0FBVSxDQUFBO0FBQ2QsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxDQUFOLElBQVksVUFHWDtBQUhELFdBQVksVUFBVTtJQUNsQiw2Q0FBUyxDQUFBO0lBQ1QsMkNBQVEsQ0FBQTtBQUNaLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDcEIsbUVBQWtCLENBQUE7SUFDbEIsNkVBQXVCLENBQUE7SUFDdkIsdURBQVksQ0FBQTtBQUNoQixDQUFDLEVBSlcsWUFBWSxLQUFaLFlBQVksUUFJdkI7QUFFRCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzFCLG1FQUFZLENBQUE7SUFDWiwyREFBUSxDQUFBO0lBQ1IsK0RBQVUsQ0FBQTtBQUNkLENBQUMsRUFKVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBSTdCO0FBRUQsTUFBTSxDQUFOLElBQVksc0JBR1g7QUFIRCxXQUFZLHNCQUFzQjtJQUM5Qix1REFBNkIsQ0FBQTtJQUM3QixtREFBeUIsQ0FBQTtBQUM3QixDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUVELE1BQU0sQ0FBTixJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDaEIsNkRBQW1CLENBQUE7SUFDbkIsK0NBQVksQ0FBQTtBQUNoQixDQUFDLEVBSFcsUUFBUSxLQUFSLFFBQVEsUUFHbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQ3hCLHVDQUFtQixDQUFBO0lBQ25CLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7SUFDZixpQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksZUFLWDtBQUxELFdBQVksZUFBZTtJQUN2Qiw4QkFBVyxDQUFBO0lBQ1gsZ0NBQWEsQ0FBQTtJQUNiLDhCQUFXLENBQUE7SUFDWCxvQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsZUFBZSxLQUFmLGVBQWUsUUFLMUI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLG1GQUFtQixDQUFBO0lBQ25CLHFFQUFZLENBQUE7QUFDZCxDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNjcmVlblR5cGUge1xuICAgIExpc3QgPSAxLFxuICAgIERldGFpbCA9IDIsXG4gICAgTGF5b3V0ID0gMyxcbiAgICBGaWx0ZXIgPSA0LFxufVxuXG5leHBvcnQgZW51bSBPYmplY3RUeXBlIHtcbiAgICBUYWJsZSA9IDEsXG4gICAgVmlldyA9IDJcbn1cblxuZXhwb3J0IGVudW0gUmVzb3VyY2VUeXBlIHtcbiAgICBFbWFpbFRlYW1wbGF0ZSA9IDEsXG4gICAgTGFuZ3VhZ2VUcmFuc2xhdGlvbiA9IDIsXG4gICAgU2V0dGluZ3MgPSAzXG59XG5cbmV4cG9ydCBlbnVtIFJlbGVhc2VDb250ZW50VHlwZSB7XG4gICAgTWV0YURhdGEgPSAxLFxuICAgIERhdGEgPSAyLFxuICAgIFNjcmlwdCA9IDNcbn1cblxuZXhwb3J0IGVudW0gQnVpbGRGb3JtQ29tcG9uZW50VHlwZSB7XG4gICAgQ29tbW9uRmlsdGVyID0gJ0NvbW1vbkZpbHRlcicsXG4gICAgQnVsa1VwZGF0ZSA9ICdCdWxrVXBkYXRlJ1xufVxuXG5leHBvcnQgZW51bSBKc29uVHlwZSB7XG4gICAgQXBwT2JqZWN0QWNjZXNzID0gMSxcbiAgICBMYW5ndWFnZSA9IDJcbn1cblxuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uVHlwZSB7XG4gICAgU3VjY2VzcyA9ICdzdWNjZXNzJyxcbiAgICBXYXJuaW5nID0gJ3dhcm5pbmcnLFxuICAgIEVycm9yID0gJ2Vycm9yJyxcbiAgICBJbmZvID0gJ2luZm8nXG59XG5cbmV4cG9ydCBlbnVtIEh0dHBSZXF1ZXN0VHlwZSB7XG4gICAgR0VUID0gJ0dFVCcsXG4gICAgUE9TVCA9ICdQT1NUJyxcbiAgICBQVVQgPSAnUFVUJyxcbiAgICBERUxFVEUgPSAnREVMRVRFJ1xufVxuXG5leHBvcnQgZW51bSBQcm9jZWR1cmVPYmplY3RUeXBlIHtcbiAgU3RvcmVkUHJvY2VkdXJlID0gMSxcbiAgRnVuY3Rpb24gPSAyXG59Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi90YWItY29yZS11dGlsaXR5L2FwcC9pbnRlcmZhY2VzL2NvbW1vbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xuaW1wb3J0IHsgSHR0cFJlcXVlc3RUeXBlLCBKc29uVHlwZSwgTm90aWZpY2F0aW9uVHlwZSwgUHJvY2VkdXJlT2JqZWN0VHlwZSB9IGZyb20gXCIuLi9lbnVtcy9jb21tb24uZW51bVwiO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3BvbnNlIHtcbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIGlzU3VjY2VzczogYm9vbGVhbjtcbiAgcmVzdWx0OiBhbnk7XG4gIGVycm9yczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkSW5mbyB7XG4gIGlzU3lzdGVtUmVjb3JkOiBib29sZWFuIHwgbnVsbDtcbiAgYmx1ZXByaW50SWQ6IHN0cmluZyB8IG51bGw7XG4gIGJsdWVwcmludFN0YXR1c0lkOiBzdHJpbmcgfCBudWxsO1xuICByZWNvcmRJZDogc3RyaW5nO1xuICBwcmltYXJ5S2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uQXBpUmVzcG9uc2Uge1xuICBSZXF1ZXN0SWQ6IHN0cmluZ1xuICBJc1N1Y2Nlc3M6IGJvb2xlYW5cbiAgUmVzdWx0OiBhbnlcbiAgU3RhdHVzQ29kZTogc3RyaW5nXG4gIFJlY29yZEFmZmVjdHRlZDogbnVtYmVyXG4gIFRvdGFsUmVjb3JkczogbnVtYmVyXG4gIFRvdGFsRXhlY3V0aW9uVGltZTogbnVtYmVyXG4gIExvZzogYW55W11cbiAgRXJyb3JzOiBhbnlbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFNjcmVlbkNvbmZpZyB7XG4gIGxheW91dElkPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc1JlcXVlc3RQYXlsb2FkIHtcbiAgU2NyZWVuSWQ6IHN0cmluZyxcbiAgRGF0YTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVtcGxhdGVQYXJzZVBheWxvYWQge1xuICBEYXRhU291cmNlTW9kZTogbnVtYmVyLFxuICBWYWx1ZTogc3RyaW5nLFxuICBUZW1wbGF0ZXZhcmlhYmxlczogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dFN0YXR1c1BheWxvYWQge1xuICByZWNvcmRJZDogc3RyaW5nLFxuICBhcHBPYmplY3RJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVN0YXR1c1BheWxvYWQgZXh0ZW5kcyBOZXh0U3RhdHVzUGF5bG9hZCB7XG4gIG5leHRQb3NzaWJsZVN0YXR1c0lkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckFwcE9iamVjdHNQYXlsb2FkIHtcbiAgQ29ubmVjdGlvbklkOiBzdHJpbmcsXG4gIFRhYmxlczogc3RyaW5nW10sXG4gIFZpZXdzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsb25lRHNxUGF5bG9hZCB7XG4gIERTUUlkOiBzdHJpbmcsXG4gIFF1ZXJ5TmFtZTogc3RyaW5nLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldERhdGFKc29uQnlUeXBlUGF5bG9hZCB7XG4gIEpzb25UeXBlOiBKc29uVHlwZSxcbiAgUmVxdG9rZW5zPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3luY0FwcEZpZWxkc1BheWxvYWQge1xuICBDb25uZWN0aW9uSWQ6IHN0cmluZztcbiAgQXBwT2JqZWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoR2xvYmFsU2VhcmNoRGF0YVBheWxvYWQge1xuICBRdWVyeU9iamVjdElEOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmcmVzaFJlY29yZEluZm9EYXRhUGF5bG9hZCB7XG4gIFF1ZXJ5T2JqZWN0SUQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGxvYWRNZWRpYUZpbGVQYXlsb2FkIHtcbiAgQmFzZTY0U3RyaW5nOiBzdHJpbmc7XG4gIEZpbGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkTWVkaWFGaWxlc1BheWxvYWQge1xuICBVcGxvYWRGaWxlczogVXBsb2FkTWVkaWFGaWxlUGF5bG9hZFtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwb3J0UGF5bG9hZCB7XG4gIERhdGFSZXBvcnRJZDogc3RyaW5nLFxuICBSZXF0b2tlbnM6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcmZvcm1hbmNlQW5hbHl0aWNzUGF5bG9hZCB7XG4gIHR5cGU6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyxcbiAgZnJvbURhdGU6IHN0cmluZyxcbiAgdG9EYXRlOiBzdHJpbmcsXG4gIGxpbWl0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyZWVuUGVyZm9ybWFuY2VQYXlsb2FkIHtcbiAgdmFsdWU6IHN0cmluZyxcbiAgbG9hZFRpbWU6IG51bWJlcixcbiAgdGFnczoge1xuICAgIGRzcUlkczogc3RyaW5nW10sXG4gICAgYXBwT2JqZWN0SWRzOiBzdHJpbmdbXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgdHJhbnNsYXRlUGF5bG9hZCB7XG4gIGxhbmd1YWdlOiBzdHJpbmc7XG4gIGxhbmd1YWdlQ29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VOb3RpZmljYXRpb25PcHRpb25zIHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29uZmlndXJhdGlvbj86IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZzxhbnk+PiB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25PcHRpb25zIGV4dGVuZHMgQmFzZU5vdGlmaWNhdGlvbk9wdGlvbnMge1xuICB0eXBlOiBOb3RpZmljYXRpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvbk9wdGlvbnMge1xuICB0aXRsZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHByaW1hcnlPcHRpb24/OiBzdHJpbmc7XG4gIHNlY29uZGFyeU9wdGlvbj86IHN0cmluZztcbiAgZGlzcGxheUhlYWRlcj86IGJvb2xlYW47XG4gIGRpc3BsYXlGb290ZXI/OiBib29sZWFuO1xuICBkaXNwbGF5Qm9keT86IGJvb2xlYW47XG4gIGRpc3BsYXlQcmltYXJ5QnV0dG9uPzogYm9vbGVhbjtcbiAgZGlzcGxheVNlY29uZGFyeUJ1dHRvbj86IGJvb2xlYW47XG4gIGRpc3BsYXlDbG9zZUJ1dHRvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZEJhc2VQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWRPck5hbWU/OiBzdHJpbmc7XG4gIGRhdGFTb3VyY2VRdWVyeUlkT3JOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydFBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBkYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGF5bG9hZCBleHRlbmRzIEluc2VydFBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZVBheWxvYWQgZXh0ZW5kcyBDcnVkQmFzZVBheWxvYWQge1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBheWxvYWQge1xuICBkYXRhU291cmNlUXVlcnlJZE9yTmFtZTogc3RyaW5nO1xuICBjcml0ZXJpYTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltcHJvdERhdGFQYXlsb2FkIHtcbiAgSW1wb3J0T2JqZWN0TWFwcGluZ0lkOiBzdHJpbmc7XG4gIEZpbGU6IHN0cmluZztcbiAgSW1wb3J0VHlwZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaERhdGFQYXlsb2FkIHtcbiAgc2VhcmNoUXVlcnk6IHN0cmluZztcbiAgbGltaXQ6IG51bWJlcjtcbiAgYXBwT2JqZWN0SWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSY29yZEhpc3RvcnlQYXlsb2FkIHtcbiAgYXBwT2JqZWN0SWQ6IHN0cmluZztcbiAgcmVjb3JkSWRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwRXhlY3V0ZVJlcXVlc3RQYXlsb2FkIHtcbiAgZnVsbFVybDogc3RyaW5nLFxuICBtZXRob2Q6IEh0dHBSZXF1ZXN0VHlwZSxcbiAgaGVhZGVycz86IGFueSxcbiAgYm9keT86IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIGV4ZWN1dGVTdG9yZWRQcm9jZWR1cmVQYXlsb2FkIHtcbiAgT2JqZWN0TmFtZTogc3RyaW5nO1xuICBPYmplY3RUeXBlOiBQcm9jZWR1cmVPYmplY3RUeXBlXG4gIFBhcmFtZXRlcnM/OiBhbnk7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CommonApiResponse, DeletePayload, GetPayload, InsertPayload, UpdatePayload } from "../interfaces/common.interface";
|
|
1
|
+
import { CommonApiResponse, DeletePayload, executeStoredProcedurePayload, GetPayload, InsertPayload, UpdatePayload } from "../interfaces/common.interface";
|
|
2
2
|
import { Observable } from "rxjs";
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TabCrudService {
|
|
@@ -66,6 +66,13 @@ export declare class TabCrudService {
|
|
|
66
66
|
* @returns The result of the API POST request.
|
|
67
67
|
*/
|
|
68
68
|
executeSp(sp: string, headers?: any): Observable<CommonApiResponse>;
|
|
69
|
+
/**
|
|
70
|
+
* Executes a stored procedure based on the given parameters.
|
|
71
|
+
* @param payload The payload containing the object name, object type, and parameters for the stored procedure.
|
|
72
|
+
* @param headers Optional headers for the request.
|
|
73
|
+
* @returns An observable of the response from the API.
|
|
74
|
+
*/
|
|
75
|
+
executeStoredProcedure(payload: executeStoredProcedurePayload, headers?: any): Observable<CommonApiResponse>;
|
|
69
76
|
static ɵfac: i0.ɵɵFactoryDeclaration<TabCrudService, never>;
|
|
70
77
|
static ɵprov: i0.ɵɵInjectableDeclaration<TabCrudService>;
|
|
71
78
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IndividualConfig } from "ngx-toastr";
|
|
2
|
-
import { HttpRequestType, JsonType, NotificationType } from "../enums/common.enum";
|
|
2
|
+
import { HttpRequestType, JsonType, NotificationType, ProcedureObjectType } from "../enums/common.enum";
|
|
3
3
|
export interface ApiResponse {
|
|
4
4
|
requestId: string;
|
|
5
5
|
isSuccess: boolean;
|
|
@@ -155,3 +155,8 @@ export interface HttpExecuteRequestPayload {
|
|
|
155
155
|
headers?: any;
|
|
156
156
|
body?: any;
|
|
157
157
|
}
|
|
158
|
+
export interface executeStoredProcedurePayload {
|
|
159
|
+
ObjectName: string;
|
|
160
|
+
ObjectType: ProcedureObjectType;
|
|
161
|
+
Parameters?: any;
|
|
162
|
+
}
|