@robhan-cdk-lib/aws_grafana 0.0.402 → 0.1.0
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/.compatignore +37 -0
- package/.jsii +1554 -341
- package/API.md +593 -196
- package/lib/workspace-base.d.ts +228 -24
- package/lib/workspace-base.js +14 -6
- package/lib/workspace.d.ts +134 -32
- package/lib/workspace.js +115 -83
- package/package.json +4 -6
- package/lib/validation/workspace-base.d.ts +0 -121
- package/lib/validation/workspace-base.js +0 -427
package/lib/workspace-base.js
CHANGED
|
@@ -66,7 +66,11 @@ var PermissionTypes;
|
|
|
66
66
|
*/
|
|
67
67
|
PermissionTypes["CUSTOMER_MANAGED"] = "CUSTOMER_MANAGED";
|
|
68
68
|
/**
|
|
69
|
-
* Service-managed permissions where
|
|
69
|
+
* Service-managed permissions, where Amazon Managed Grafana creates and manages the IAM roles.
|
|
70
|
+
*
|
|
71
|
+
* Per the Amazon Managed Grafana API, this value is valid only for workspaces created through the
|
|
72
|
+
* console; workspaces created via the API, CLI, or CloudFormation (including this construct) must
|
|
73
|
+
* use `CUSTOMER_MANAGED`.
|
|
70
74
|
*/
|
|
71
75
|
PermissionTypes["SERVICE_MANAGED"] = "SERVICE_MANAGED";
|
|
72
76
|
})(PermissionTypes || (exports.PermissionTypes = PermissionTypes = {}));
|
|
@@ -135,14 +139,18 @@ var Status;
|
|
|
135
139
|
Status["LICENSE_REMOVAL_FAILED"] = "LICENSE_REMOVAL_FAILED";
|
|
136
140
|
})(Status || (exports.Status = Status = {}));
|
|
137
141
|
class WorkspaceBase extends aws_cdk_lib_1.Resource {
|
|
138
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@robhan-cdk-lib/aws_grafana.WorkspaceBase", version: "0.0
|
|
142
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@robhan-cdk-lib/aws_grafana.WorkspaceBase", version: "0.1.0" };
|
|
139
143
|
getWorkspaceArn(workspaceId) {
|
|
140
|
-
|
|
141
|
-
|
|
144
|
+
return this.stack.formatArn({
|
|
145
|
+
service: 'grafana',
|
|
146
|
+
resource: 'workspaces',
|
|
147
|
+
resourceName: workspaceId,
|
|
148
|
+
arnFormat: aws_cdk_lib_1.ArnFormat.SLASH_RESOURCE_NAME,
|
|
149
|
+
});
|
|
142
150
|
}
|
|
143
151
|
getWorkspaceId(workspaceArn) {
|
|
144
|
-
return
|
|
152
|
+
return this.stack.splitArn(workspaceArn, aws_cdk_lib_1.ArnFormat.SLASH_RESOURCE_NAME).resourceName ?? '';
|
|
145
153
|
}
|
|
146
154
|
}
|
|
147
155
|
exports.WorkspaceBase = WorkspaceBase;
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd29ya3NwYWNlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQUFrRDtBQUlsRDs7Ozs7R0FLRztBQUNILElBQVksaUJBVVg7QUFWRCxXQUFZLGlCQUFpQjtJQUMzQjs7T0FFRztJQUNILHdEQUFtQyxDQUFBO0lBRW5DOztPQUVHO0lBQ0gsa0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVZXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBVTVCO0FBRUQ7Ozs7O0dBS0c7QUFDSCxJQUFZLHVCQVVYO0FBVkQsV0FBWSx1QkFBdUI7SUFDakM7O09BRUc7SUFDSCw4Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILHdDQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFVbEM7QUEyQkQ7OztHQUdHO0FBQ0gsSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2xDOztPQUVHO0lBQ0gsdUNBQVcsQ0FBQTtBQUNiLENBQUMsRUFMVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQUtuQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxJQUFZLGVBVVg7QUFWRCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCx3REFBcUMsQ0FBQTtJQUVyQzs7T0FFRztJQUNILHNEQUFtQyxDQUFBO0FBQ3JDLENBQUMsRUFWVyxlQUFlLCtCQUFmLGVBQWUsUUFVMUI7QUE0SkQ7O0dBRUc7QUFDSCxJQUFZLHlCQVVYO0FBVkQsV0FBWSx5QkFBeUI7SUFDbkM7O09BRUc7SUFDSCxzREFBeUIsQ0FBQTtJQUV6Qjs7T0FFRztJQUNILDhEQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFWVyx5QkFBeUIseUNBQXpCLHlCQUF5QixRQVVwQztBQUVEOztHQUVHO0FBQ0gsSUFBWSxNQXVEWDtBQXZERCxXQUFZLE1BQU07SUFDaEI7O09BRUc7SUFDSCwyQkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILCtCQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsK0JBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCwyQkFBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILCtCQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsaUNBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCw2Q0FBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILDZDQUFtQyxDQUFBO0lBRW5DOztPQUVHO0lBQ0gseUNBQStCLENBQUE7SUFFL0I7O09BRUc7SUFDSCwyQ0FBaUMsQ0FBQTtJQUVqQzs7T0FFRztJQUNILDJEQUFpRCxDQUFBO0FBQ25ELENBQUMsRUF2RFcsTUFBTSxzQkFBTixNQUFNLFFBdURqQjtBQThIRCxNQUFzQixhQUFjLFNBQVEsc0JBQVE7O0lBcUd4QyxlQUFlLENBQUMsV0FBbUI7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsWUFBWSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLGVBQWUsV0FBVyxFQUFFLENBQUM7SUFDckcsQ0FBQztJQUVTLGNBQWMsQ0FBQyxZQUFvQjtRQUMzQyxPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDOztBQTVHSCxzQ0E2R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUmVzb3VyY2UsIFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSVByZWZpeExpc3QsIElTZWN1cml0eUdyb3VwLCBJU3VibmV0LCBJVnBjRW5kcG9pbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHdvcmtzcGFjZSBjYW4gYWNjZXNzIEFXUyByZXNvdXJjZXMgaW4gdGhpcyBBV1MgYWNjb3VudCBvbmx5LCBvciB3aGV0aGVyIGl0XG4gKiBjYW4gYWxzbyBhY2Nlc3MgQVdTIHJlc291cmNlcyBpbiBvdGhlciBhY2NvdW50cyBpbiB0aGUgc2FtZSBvcmdhbml6YXRpb24uIElmIHRoaXMgaXNcbiAqIE9SR0FOSVpBVElPTiwgdGhlIE9yZ2FuaXphdGlvbmFsVW5pdHMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBvcmdhbml6YXRpb25hbCB1bml0cyB0aGVcbiAqIHdvcmtzcGFjZSBjYW4gYWNjZXNzLlxuICovXG5leHBvcnQgZW51bSBBY2NvdW50QWNjZXNzVHlwZSB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgaXMgbGltaXRlZCB0byB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBvbmx5LlxuICAgKi9cbiAgQ1VSUkVOVF9BQ0NPVU5UID0gJ0NVUlJFTlRfQUNDT1VOVCcsXG5cbiAgLyoqXG4gICAqIEFjY2VzcyBpcyBleHRlbmRlZCB0byB0aGUgZW50aXJlIEFXUyBvcmdhbml6YXRpb24uXG4gICAqL1xuICBPUkdBTklaQVRJT04gPSAnT1JHQU5JWkFUSU9OJyxcbn1cblxuLyoqXG4gKiBTcGVjaWZpZXMgd2hldGhlciB0aGlzIHdvcmtzcGFjZSB1c2VzIFNBTUwgMi4wLCBBV1MgSUFNIElkZW50aXR5IENlbnRlciwgb3IgYm90aCB0byBhdXRoZW50aWNhdGVcbiAqIHVzZXJzIGZvciB1c2luZyB0aGUgR3JhZmFuYSBjb25zb2xlIHdpdGhpbiBhIHdvcmtzcGFjZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ncmFmYW5hL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVdvcmtzcGFjZS5odG1sXG4gKi9cbmV4cG9ydCBlbnVtIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzIHtcbiAgLyoqXG4gICAqIEFXUyBTaW5nbGUgU2lnbi1PbiBhdXRoZW50aWNhdGlvbiBwcm92aWRlci5cbiAgICovXG4gIEFXU19TU08gPSAnQVdTX1NTTycsXG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IEFzc2VydGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKFNBTUwpIGF1dGhlbnRpY2F0aW9uIHByb3ZpZGVyLlxuICAgKi9cbiAgU0FNTCA9ICdTQU1MJyxcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgbmV0d29yayBhY2Nlc3MgdG8geW91ciB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0FjY2Vzc0NvbnRyb2wge1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgcHJlZml4IGxpc3QgSURzLiBBIHByZWZpeCBsaXN0IGlzIGEgbGlzdCBvZiBDSURSIHJhbmdlcyBvZiBJUCBhZGRyZXNzZXMuIFRoZSBJUFxuICAgKiBhZGRyZXNzZXMgc3BlY2lmaWVkIGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB5b3VyIHdvcmtzcGFjZS4gSWYgdGhlIGxpc3QgaXMgbm90IGluY2x1ZGVkIGluIHRoZVxuICAgKiBjb25maWd1cmF0aW9uIChwYXNzZWQgYW4gZW1wdHkgYXJyYXkpIHRoZW4gbm8gSVAgYWRkcmVzc2VzIGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB0aGVcbiAgICogd29ya3NwYWNlLlxuICAgKlxuICAgKiBNYXhpbXVtIG9mIDUgcHJlZml4IGxpc3RzIGFsbG93ZWQuXG4gICAqL1xuICByZWFkb25seSBwcmVmaXhMaXN0cz86IElQcmVmaXhMaXN0W107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIEFtYXpvbiBWUEMgZW5kcG9pbnQgSURzIGZvciB0aGUgd29ya3NwYWNlLiBZb3UgY2FuIGNyZWF0ZSBWUEMgZW5kcG9pbnRzIHRvIHlvdXJcbiAgICogQW1hem9uIE1hbmFnZWQgR3JhZmFuYSB3b3Jrc3BhY2UgZm9yIGFjY2VzcyBmcm9tIHdpdGhpbiBhIFZQQy4gSWYgYSBOZXR3b3JrQWNjZXNzQ29uZmlndXJhdGlvblxuICAgKiBpcyBzcGVjaWZpZWQgdGhlbiBvbmx5IFZQQyBlbmRwb2ludHMgc3BlY2lmaWVkIGhlcmUgYXJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSB3b3Jrc3BhY2UuIElmXG4gICAqIHlvdSBwYXNzIGluIGFuIGVtcHR5IGFycmF5IG9mIHN0cmluZ3MsIHRoZW4gbm8gVlBDcyBhcmUgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogTWF4aW11bSBvZiA1IFZQQyBlbmRwb2ludHMgYWxsb3dlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY0VuZHBvaW50cz86IElWcGNFbmRwb2ludFtdO1xufVxuXG4vKipcbiAqIFRoZSBBV1Mgbm90aWZpY2F0aW9uIGNoYW5uZWxzIHRoYXQgQW1hem9uIE1hbmFnZWQgR3JhZmFuYSBjYW4gYXV0b21hdGljYWxseSBjcmVhdGUgSUFNIHJvbGVzIGFuZFxuICogcGVybWlzc2lvbnMgZm9yLCB0byBhbGxvdyBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIHRvIHVzZSB0aGVzZSBjaGFubmVscy5cbiAqL1xuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uRGVzdGluYXRpb25zIHtcbiAgLyoqXG4gICAqIEFtYXpvbiBTaW1wbGUgTm90aWZpY2F0aW9uIFNlcnZpY2UgKFNOUykgYXMgbm90aWZpY2F0aW9uIGRlc3RpbmF0aW9uLlxuICAgKi9cbiAgU05TID0gJ1NOUycsXG59XG5cbi8qKlxuICogSWYgdGhpcyBpcyBTRVJWSUNFX01BTkFHRUQsIGFuZCB0aGUgd29ya3BsYWNlIHdhcyBjcmVhdGVkIHRocm91Z2ggdGhlIEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmFcbiAqIGNvbnNvbGUsIHRoZW4gQW1hem9uIE1hbmFnZWQgR3JhZmFuYSBhdXRvbWF0aWNhbGx5IGNyZWF0ZXMgdGhlIElBTSByb2xlcyBhbmQgcHJvdmlzaW9ucyB0aGVcbiAqIHBlcm1pc3Npb25zIHRoYXQgdGhlIHdvcmtzcGFjZSBuZWVkcyB0byB1c2UgQVdTIGRhdGEgc291cmNlcyBhbmQgbm90aWZpY2F0aW9uIGNoYW5uZWxzLlxuICpcbiAqIElmIHRoaXMgaXMgQ1VTVE9NRVJfTUFOQUdFRCwgeW91IG11c3QgbWFuYWdlIHRob3NlIHJvbGVzIGFuZCBwZXJtaXNzaW9ucyB5b3Vyc2VsZi5cblxuICogSWYgeW91IGFyZSB3b3JraW5nIHdpdGggYSB3b3Jrc3BhY2UgaW4gYSBtZW1iZXIgYWNjb3VudCBvZiBhbiBvcmdhbml6YXRpb24gYW5kIHRoYXQgYWNjb3VudCBpc1xuICogbm90IGEgZGVsZWdhdGVkIGFkbWluaXN0cmF0b3IgYWNjb3VudCwgYW5kIHlvdSB3YW50IHRoZSB3b3Jrc3BhY2UgdG8gYWNjZXNzIGRhdGEgc291cmNlcyBpblxuICogb3RoZXIgQVdTIGFjY291bnRzIGluIHRoZSBvcmdhbml6YXRpb24sIHRoaXMgcGFyYW1ldGVyIG11c3QgYmUgc2V0IHRvIENVU1RPTUVSX01BTkFHRUQuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25UeXBlcyB7XG4gIC8qKlxuICAgKiBDdXN0b21lci1tYW5hZ2VkIHBlcm1pc3Npb25zIHdoZXJlIHlvdSBtYW5hZ2UgdXNlciBhY2Nlc3MgdG8gR3JhZmFuYS5cbiAgICovXG4gIENVU1RPTUVSX01BTkFHRUQgPSAnQ1VTVE9NRVJfTUFOQUdFRCcsXG5cbiAgLyoqXG4gICAqIFNlcnZpY2UtbWFuYWdlZCBwZXJtaXNzaW9ucyB3aGVyZSBBV1MgbWFuYWdlcyB1c2VyIGFjY2VzcyB0byBHcmFmYW5hLlxuICAgKi9cbiAgU0VSVklDRV9NQU5BR0VEID0gJ1NFUlZJQ0VfTUFOQUdFRCcsXG59XG5cbi8qKlxuICogQSBzdHJ1Y3R1cmUgdGhhdCBkZWZpbmVzIHdoaWNoIGF0dHJpYnV0ZXMgaW4gdGhlIElkUCBhc3NlcnRpb24gYXJlIHRvIGJlIHVzZWQgdG8gZGVmaW5lXG4gKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcnMgYXV0aGVudGljYXRlZCBieSB0aGUgSWRQIHRvIHVzZSB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEVhY2ggYXR0cmlidXRlIG11c3QgYmUgYSBzdHJpbmcgd2l0aCBsZW5ndGggYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTYW1sQXNzZXJ0aW9uQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHdpdGhpbiB0aGUgU0FNTCBhc3NlcnRpb24gdG8gdXNlIGFzIHRoZSBlbWFpbCBuYW1lcyBmb3IgU0FNTCB1c2Vycy5cbiAgICpcbiAgICogTXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDI1NiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICByZWFkb25seSBlbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIHVzZXIgZnVsbCBcImZyaWVuZGx5XCIgbmFtZXNcbiAgICogZm9yIHVzZXIgZ3JvdXBzLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHJlYWRvbmx5IGdyb3Vwcz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIGxvZ2luIG5hbWVzIGZvciBTQU1MIHVzZXJzLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2luPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB3aXRoaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIHRvIHVzZSBhcyB0aGUgdXNlciBmdWxsIFwiZnJpZW5kbHlcIiBuYW1lc1xuICAgKiBmb3IgU0FNTCB1c2Vycy5cbiAgICpcbiAgICogTXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDI1NiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB3aXRoaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIHRvIHVzZSBhcyB0aGUgdXNlciBmdWxsIFwiZnJpZW5kbHlcIiBuYW1lc1xuICAgKiBmb3IgdGhlIHVzZXJzJyBvcmdhbml6YXRpb25zLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHJlYWRvbmx5IG9yZz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIHVzZXIgcm9sZXMuXG4gICAqXG4gICAqIE11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBpZGVudGl0eSBwcm92aWRlciAoSWRQKSBtZXRhZGF0YSB1c2VkIHRvIGludGVncmF0ZSB0aGUgaWRlbnRpdHlcbiAqIHByb3ZpZGVyIHdpdGggdGhpcyB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbElkcE1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIGxvY2F0aW9uIGNvbnRhaW5pbmcgdGhlIElkUCBtZXRhZGF0YS5cbiAgICpcbiAgICogTXVzdCBiZSBhIHN0cmluZyB3aXRoIGxlbmd0aCBiZXR3ZWVuIDEgYW5kIDIwNDggY2hhcmFjdGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZ1bGwgSWRQIG1ldGFkYXRhLCBpbiBYTUwgZm9ybWF0LlxuICAgKi9cbiAgcmVhZG9ubHkgeG1sPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYXJyYXlzIHRoYXQgbWFwIGdyb3VwIG5hbWVzIGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB0aGUgR3JhZmFuYSBBZG1pblxuICogYW5kIEVkaXRvciByb2xlcyBpbiB0aGUgd29ya3NwYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbWxSb2xlVmFsdWVzIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBncm91cHMgZnJvbSB0aGUgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlIHRvIGdyYW50IHRoZSBHcmFmYW5hIEFkbWluIHJvbGUgdG8uXG4gICAqXG4gICAqIE1heGltdW0gb2YgMjU2IGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRtaW4/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGdyb3VwcyBmcm9tIHRoZSBTQU1MIGFzc2VydGlvbiBhdHRyaWJ1dGUgdG8gZ3JhbnQgdGhlIEdyYWZhbmEgRWRpdG9yIHJvbGUgdG8uXG4gICAqXG4gICAqIE1heGltdW0gb2YgMjU2IGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZWRpdG9yPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogSWYgdGhlIHdvcmtzcGFjZSB1c2VzIFNBTUwsIHVzZSB0aGlzIHN0cnVjdHVyZSB0byBtYXAgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlcyB0byB3b3Jrc3BhY2VcbiAqIHVzZXIgaW5mb3JtYXRpb24gYW5kIGRlZmluZSB3aGljaCBncm91cHMgaW4gdGhlIGFzc2VydGlvbiBhdHRyaWJ1dGUgYXJlIHRvIGhhdmUgdGhlIEFkbWluIGFuZFxuICogRWRpdG9yIHJvbGVzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogTGlzdHMgd2hpY2ggb3JnYW5pemF0aW9ucyBkZWZpbmVkIGluIHRoZSBTQU1MIGFzc2VydGlvbiBhcmUgYWxsb3dlZCB0byB1c2UgdGhlIEFtYXpvbiBNYW5hZ2VkXG4gICAqIEdyYWZhbmEgd29ya3NwYWNlLiBJZiB0aGlzIGlzIGVtcHR5LCBhbGwgb3JnYW5pemF0aW9ucyBpbiB0aGUgYXNzZXJ0aW9uIGF0dHJpYnV0ZSBoYXZlIGFjY2Vzcy5cbiAgICpcbiAgICogTXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgMjU2IGVsZW1lbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dlZE9yZ2FuaXphdGlvbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBzdHJ1Y3R1cmUgdGhhdCBkZWZpbmVzIHdoaWNoIGF0dHJpYnV0ZXMgaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIGFyZSB0byBiZSB1c2VkIHRvIGRlZmluZVxuICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcnMgYXV0aGVudGljYXRlZCBieSB0aGF0IElkUCB0byB1c2UgdGhlIHdvcmtzcGFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGFzc2VydGlvbkF0cnJpYnV0ZXM/OiBTYW1sQXNzZXJ0aW9uQXR0cmlidXRlcztcblxuICAvKipcbiAgICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgbWV0YWRhdGEgdXNlZCB0byBpbnRlZ3JhdGUgdGhlIGlkZW50aXR5XG4gICAqIHByb3ZpZGVyIHdpdGggdGhpcyB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIFJlcXVpcmVkIGZpZWxkIGZvciBTQU1MIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBpZHBNZXRhZGF0YTogU2FtbElkcE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyBhIHNpZ24tb24gc2Vzc2lvbiBieSBhIFNBTUwgdXNlciBpcyB2YWxpZCwgYmVmb3JlIHRoZSB1c2VyIGhhcyB0byBzaWduIG9uIGFnYWluLlxuICAgKlxuICAgKiBNdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9naW5WYWxpZGl0eUR1cmF0aW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIGFycmF5cyB0aGF0IG1hcCBncm91cCBuYW1lcyBpbiB0aGUgU0FNTCBhc3NlcnRpb24gdG8gdGhlIEdyYWZhbmEgQWRtaW5cbiAgICogYW5kIEVkaXRvciByb2xlcyBpbiB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZVZhbHVlcz86IFNhbWxSb2xlVmFsdWVzO1xufVxuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBhbiBBbWF6b24gVlBDIHRoYXQgY29udGFpbnMgZGF0YSBzb3VyY2VzIGZvciB5b3VyIEdyYWZhbmFcbiAqIHdvcmtzcGFjZSB0byBjb25uZWN0IHRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgQW1hem9uIEVDMiBzZWN1cml0eSBncm91cHMgYXR0YWNoZWQgdG8gdGhlIEFtYXpvbiBWUEMgZm9yIHlvdXIgR3JhZmFuYVxuICAgKiB3b3Jrc3BhY2UgdG8gY29ubmVjdC4gRHVwbGljYXRlcyBub3QgYWxsb3dlZC5cbiAgICpcbiAgICogQXJyYXkgTWVtYmVyczogTWluaW11bSBudW1iZXIgb2YgMSBpdGVtcy4gTWF4aW11bSBudW1iZXIgb2YgNSBpdGVtcy5cbiAgICpcbiAgICogUmVxdWlyZWQgZm9yIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IElTZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIEFtYXpvbiBFQzIgc3VibmV0cyBjcmVhdGVkIGluIHRoZSBBbWF6b24gVlBDIGZvciB5b3VyIEdyYWZhbmEgd29ya3NwYWNlIHRvXG4gICAqIGNvbm5lY3QuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQuXG4gICAqXG4gICAqIEFycmF5IE1lbWJlcnM6IE1pbmltdW0gbnVtYmVyIG9mIDIgaXRlbXMuIE1heGltdW0gbnVtYmVyIG9mIDYgaXRlbXMuXG4gICAqXG4gICAqIFJlcXVpcmVkIGZvciBWUEMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldHM6IElTdWJuZXRbXTtcbn1cblxuLyoqXG4gKiBTdGF0dXMgb2YgU0FNTCBjb25maWd1cmF0aW9uIGZvciBhIEdyYWZhbmEgd29ya3NwYWNlLlxuICovXG5leHBvcnQgZW51bSBTYW1sQ29uZmlndXJhdGlvblN0YXR1c2VzIHtcbiAgLyoqXG4gICAqIFNBTUwgaXMgY29uZmlndXJlZCBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICovXG4gIENPTkZJR1VSRUQgPSAnQ09ORklHVVJFRCcsXG5cbiAgLyoqXG4gICAqIFNBTUwgaXMgbm90IGNvbmZpZ3VyZWQgZm9yIHRoZSB3b3Jrc3BhY2UuXG4gICAqL1xuICBOT1RfQ09ORklHVVJFRCA9ICdOT1RfQ09ORklHVVJFRCcsXG59XG5cbi8qKlxuICogU3RhdHVzIG9mIGEgR3JhZmFuYSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgaXMgYWN0aXZlIGFuZCByZWFkeSB0byB1c2UuXG4gICAqL1xuICBBQ1RJVkUgPSAnQUNUSVZFJyxcblxuICAvKipcbiAgICogV29ya3NwYWNlIGlzIGJlaW5nIGNyZWF0ZWQuXG4gICAqL1xuICBDUkVBVElORyA9ICdDUkVBVElORycsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBpcyBiZWluZyBkZWxldGVkLlxuICAgKi9cbiAgREVMRVRJTkcgPSAnREVMRVRJTkcnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2Ugb3BlcmF0aW9uIGhhcyBmYWlsZWQuXG4gICAqL1xuICBGQUlMRUQgPSAnRkFJTEVEJyxcblxuICAvKipcbiAgICogV29ya3NwYWNlIGlzIGJlaW5nIHVwZGF0ZWQuXG4gICAqL1xuICBVUERBVElORyA9ICdVUERBVElORycsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBpcyBiZWluZyB1cGdyYWRlZC5cbiAgICovXG4gIFVQR1JBRElORyA9ICdVUEdSQURJTkcnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgZGVsZXRpb24gaGFzIGZhaWxlZC5cbiAgICovXG4gIERFTEVUSU9OX0ZBSUxFRCA9ICdERUxFVElPTl9GQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgY3JlYXRpb24gaGFzIGZhaWxlZC5cbiAgICovXG4gIENSRUFUSU9OX0ZBSUxFRCA9ICdDUkVBVElPTl9GQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgdXBkYXRlIGhhcyBmYWlsZWQuXG4gICAqL1xuICBVUERBVEVfRkFJTEVEID0gJ1VQREFURV9GQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgdXBncmFkZSBoYXMgZmFpbGVkLlxuICAgKi9cbiAgVVBHUkFERV9GQUlMRUQgPSAnVVBHUkFERV9GQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBMaWNlbnNlIHJlbW92YWwgaGFzIGZhaWxlZC5cbiAgICovXG4gIExJQ0VOU0VfUkVNT1ZBTF9GQUlMRUQgPSAnTElDRU5TRV9SRU1PVkFMX0ZBSUxFRCcsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBBbWF6b24gTWFuYWdlZCBTZXJ2aWNlIGZvciBHcmFmYW5hIHdvcmtzcGFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElXb3Jrc3BhY2UgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgd29ya3NwYWNlIGNhbiBhY2Nlc3MgQVdTIHJlc291cmNlcyBpbiB0aGlzIEFXUyBhY2NvdW50IG9ubHksIG9yIHdoZXRoZXJcbiAgICogaXQgY2FuIGFsc28gYWNjZXNzIEFXUyByZXNvdXJjZXMgaW4gb3RoZXIgYWNjb3VudHMgaW4gdGhlIHNhbWUgb3JnYW5pemF0aW9uLiBJZiB0aGlzIGlzXG4gICAqIE9SR0FOSVpBVElPTiwgdGhlIE9yZ2FuaXphdGlvbmFsVW5pdHMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBvcmdhbml6YXRpb25hbCB1bml0cyB0aGVcbiAgICogd29ya3NwYWNlIGNhbiBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50QWNjZXNzVHlwZTogQWNjb3VudEFjY2Vzc1R5cGU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoaXMgd29ya3NwYWNlIHVzZXMgU0FNTCAyLjAsIEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyLCBvciBib3RoIHRvXG4gICAqIGF1dGhlbnRpY2F0ZSB1c2VycyBmb3IgdXNpbmcgdGhlIEdyYWZhbmEgY29uc29sZSB3aXRoaW4gYSB3b3Jrc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGlvblByb3ZpZGVyczogQXV0aGVudGljYXRpb25Qcm92aWRlcnNbXTtcblxuICAvKipcbiAgICogQSB1bmlxdWUsIGNhc2Utc2Vuc2l0aXZlLCB1c2VyLXByb3ZpZGVkIGlkZW50aWZpZXIgdG8gZW5zdXJlIHRoZSBpZGVtcG90ZW5jeSBvZiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudFRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIEFXUyBkYXRhIHNvdXJjZXMgdGhhdCBoYXZlIGJlZW4gY29uZmlndXJlZCB0byBoYXZlIElBTSByb2xlcyBhbmQgcGVybWlzc2lvbnNcbiAgICogY3JlYXRlZCB0byBhbGxvdyBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIHRvIHJlYWQgZGF0YSBmcm9tIHRoZXNlIHNvdXJjZXMuXG4gICAqXG4gICAqIFRoaXMgbGlzdCBpcyBvbmx5IHVzZWQgd2hlbiB0aGUgd29ya3NwYWNlIHdhcyBjcmVhdGVkIHRocm91Z2ggdGhlIEFXUyBjb25zb2xlLCBhbmQgdGhlXG4gICAqIHBlcm1pc3Npb25UeXBlIGlzIFNFUlZJQ0VfTUFOQUdFRC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTb3VyY2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSB1c2VyLWRlZmluZWQgZGVzY3JpcHRpb24gb2YgdGhlIHdvcmtzcGFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIG5ldHdvcmsgYWNjZXNzIHRvIHlvdXIgd29ya3NwYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya0FjY2Vzc0NvbnRyb2w/OiBOZXR3b3JrQWNjZXNzQ29udHJvbDtcblxuICAvKipcbiAgICogVGhlIEFXUyBub3RpZmljYXRpb24gY2hhbm5lbHMgdGhhdCBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGNhbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBJQU0gcm9sZXNcbiAgICogYW5kIHBlcm1pc3Npb25zIGZvciwgdG8gYWxsb3cgQW1hem9uIE1hbmFnZWQgR3JhZmFuYSB0byB1c2UgdGhlc2UgY2hhbm5lbHMuXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25EZXN0aW5hdGlvbnM/OiBOb3RpZmljYXRpb25EZXN0aW5hdGlvbnNbXTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBvcmdhbml6YXRpb25hbCB1bml0cyB0aGF0IHRoaXMgd29ya3NwYWNlIGlzIGFsbG93ZWQgdG8gdXNlIGRhdGEgc291cmNlcyBmcm9tLCBpZlxuICAgKiB0aGlzIHdvcmtzcGFjZSBpcyBpbiBhbiBhY2NvdW50IHRoYXQgaXMgcGFydCBvZiBhbiBvcmdhbml6YXRpb24uXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6YXRpb25hbFVuaXRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSB0aGF0IGlzIHVzZWQgdG8gYWNjZXNzIHJlc291cmNlcyB0aHJvdWdoIE9yZ2FuaXphdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6YXRpb25Sb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBTRVJWSUNFX01BTkFHRUQsIGFuZCB0aGUgd29ya3BsYWNlIHdhcyBjcmVhdGVkIHRocm91Z2ggdGhlIEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmFcbiAgICogY29uc29sZSwgdGhlbiBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyB0aGUgSUFNIHJvbGVzIGFuZCBwcm92aXNpb25zIHRoZVxuICAgKiBwZXJtaXNzaW9ucyB0aGF0IHRoZSB3b3Jrc3BhY2UgbmVlZHMgdG8gdXNlIEFXUyBkYXRhIHNvdXJjZXMgYW5kIG5vdGlmaWNhdGlvbiBjaGFubmVscy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBDVVNUT01FUl9NQU5BR0VELCB5b3UgbXVzdCBtYW5hZ2UgdGhvc2Ugcm9sZXMgYW5kIHBlcm1pc3Npb25zIHlvdXJzZWxmLlxuICAgKlxuICAgKiBJZiB5b3UgYXJlIHdvcmtpbmcgd2l0aCBhIHdvcmtzcGFjZSBpbiBhIG1lbWJlciBhY2NvdW50IG9mIGFuIG9yZ2FuaXphdGlvbiBhbmQgdGhhdCBhY2NvdW50IGlzXG4gICAqIG5vdCBhIGRlbGVnYXRlZCBhZG1pbmlzdHJhdG9yIGFjY291bnQsIGFuZCB5b3Ugd2FudCB0aGUgd29ya3NwYWNlIHRvIGFjY2VzcyBkYXRhIHNvdXJjZXMgaW5cbiAgICogb3RoZXIgQVdTIGFjY291bnRzIGluIHRoZSBvcmdhbml6YXRpb24sIHRoaXMgcGFyYW1ldGVyIG11c3QgYmUgc2V0IHRvIENVU1RPTUVSX01BTkFHRUQuXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uVHlwZTogUGVybWlzc2lvblR5cGVzO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHBsdWdpbiBhZG1pbmlzdHJhdGlvbiBpcyBlbmFibGVkIGluIHRoZSB3b3Jrc3BhY2UuIFNldHRpbmcgdG8gdHJ1ZSBhbGxvd3Mgd29ya3NwYWNlXG4gICAqIGFkbWlucyB0byBpbnN0YWxsLCB1bmluc3RhbGwsIGFuZCB1cGRhdGUgcGx1Z2lucyBmcm9tIHdpdGhpbiB0aGUgR3JhZmFuYSB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIFRoaXMgb3B0aW9uIGlzIG9ubHkgdmFsaWQgZm9yIHdvcmtzcGFjZXMgdGhhdCBzdXBwb3J0IEdyYWZhbmEgdmVyc2lvbiA5IG9yIG5ld2VyLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luQWRtaW5FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRoYXQgZ3JhbnRzIHBlcm1pc3Npb25zIHRvIHRoZSBBV1MgcmVzb3VyY2VzIHRoYXQgdGhlIHdvcmtzcGFjZSB3aWxsIHZpZXcgZGF0YVxuICAgKiBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IElSb2xlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgd29ya3NwYWNlIHVzZXMgU0FNTCwgdXNlIHRoaXMgc3RydWN0dXJlIHRvIG1hcCBTQU1MIGFzc2VydGlvbiBhdHRyaWJ1dGVzIHRvIHdvcmtzcGFjZVxuICAgKiB1c2VyIGluZm9ybWF0aW9uIGFuZCBkZWZpbmUgd2hpY2ggZ3JvdXBzIGluIHRoZSBhc3NlcnRpb24gYXR0cmlidXRlIGFyZSB0byBoYXZlIHRoZSBBZG1pbiBhbmRcbiAgICogRWRpdG9yIHJvbGVzIGluIHRoZSB3b3Jrc3BhY2UuXG4gICAqL1xuICByZWFkb25seSBzYW1sQ29uZmlndXJhdGlvbj86IFNhbWxDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIHN0YWNrIHNldCB0aGF0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgSUFNIHJvbGVzIHRvIGJlIHVzZWQgZm9yXG4gICAqIHRoaXMgd29ya3NwYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tTZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYW4gQW1hem9uIFZQQyB0aGF0IGNvbnRhaW5zIGRhdGEgc291cmNlcyBmb3IgeW91ciBHcmFmYW5hXG4gICAqIHdvcmtzcGFjZSB0byBjb25uZWN0IHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ29uZmlndXJhdGlvbj86IFZwY0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgSUQgb2YgdGhpcyB3b3Jrc3BhY2UuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtzcGFjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhpcyB3b3Jrc3BhY2VcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlQXJuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXb3Jrc3BhY2VCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJV29ya3NwYWNlIHtcblxuICAvKipcbiAgICogVGhlIGFjY291bnQgYWNjZXNzIHR5cGUgZm9yIHRoZSB3b3Jrc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWNjb3VudEFjY2Vzc1R5cGU6IEFjY291bnRBY2Nlc3NUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzIGZvciB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzOiBBdXRoZW50aWNhdGlvblByb3ZpZGVyc1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2xpZW50IHRva2VuIGZvciB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNsaWVudFRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSBzb3VyY2VzIG9mIHRoaXMgd29ya3NwYWNlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGF0YVNvdXJjZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgd29ya3NwYWNlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgd29ya3NwYWNlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIG5ldHdvcmsgYWNjZXNzIHRvIHlvdXIgd29ya3NwYWNlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5ldHdvcmtBY2Nlc3NDb250cm9sPzogTmV0d29ya0FjY2Vzc0NvbnRyb2w7XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpZmljYXRpb24gZGVzdGluYXRpb25zIGZvciB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5vdGlmaWNhdGlvbkRlc3RpbmF0aW9ucz86IE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uc1tdO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG9yZ2FuaXphdGlvbmFsIHVuaXRzIHRoYXQgdGhpcyB3b3Jrc3BhY2UgaXMgYWxsb3dlZCB0byB1c2UgZGF0YSBzb3VyY2VzIGZyb20sIGlmXG4gICAqIHRoaXMgd29ya3NwYWNlIGlzIGluIGFuIGFjY291bnQgdGhhdCBpcyBwYXJ0IG9mIGFuIG9yZ2FuaXphdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBvcmdhbml6YXRpb25hbFVuaXRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBJQU0gcm9sZSB0aGF0IGlzIHVzZWQgdG8gYWNjZXNzIHJlc291cmNlcyB0aHJvdWdoIE9yZ2FuaXphdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgb3JnYW5pemF0aW9uUm9sZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9uIHR5cGUgZm9yIHRoZSB3b3Jrc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcGVybWlzc2lvblR5cGU6IFBlcm1pc3Npb25UeXBlcztcblxuICAvKipcbiAgICogV2hldGhlciBwbHVnaW4gYWRtaW5pc3RyYXRpb24gaXMgZW5hYmxlZCBpbiB0aGUgd29ya3NwYWNlLiBTZXR0aW5nIHRvIHRydWUgYWxsb3dzIHdvcmtzcGFjZVxuICAgKiBhZG1pbnMgdG8gaW5zdGFsbCwgdW5pbnN0YWxsLCBhbmQgdXBkYXRlIHBsdWdpbnMgZnJvbSB3aXRoaW4gdGhlIEdyYWZhbmEgd29ya3NwYWNlLlxuICAgKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciB3b3Jrc3BhY2VzIHRoYXQgc3VwcG9ydCBHcmFmYW5hIHZlcnNpb24gOSBvciBuZXdlci5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwbHVnaW5BZG1pbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdGhhdCBncmFudHMgcGVybWlzc2lvbnMgdG8gdGhlIEFXUyByZXNvdXJjZXMgdGhhdCB0aGUgd29ya3NwYWNlIHdpbGwgdmlldyBkYXRhXG4gICAqIGZyb20uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm9sZT86IElSb2xlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgd29ya3NwYWNlIHVzZXMgU0FNTCwgdXNlIHRoaXMgc3RydWN0dXJlIHRvIG1hcCBTQU1MIGFzc2VydGlvbiBhdHRyaWJ1dGVzIHRvIHdvcmtzcGFjZVxuICAgKiB1c2VyIGluZm9ybWF0aW9uIGFuZCBkZWZpbmUgd2hpY2ggZ3JvdXBzIGluIHRoZSBhc3NlcnRpb24gYXR0cmlidXRlIGFyZSB0byBoYXZlIHRoZSBBZG1pbiBhbmRcbiAgICogRWRpdG9yIHJvbGVzIGluIHRoZSB3b3Jrc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2FtbENvbmZpZ3VyYXRpb24/OiBTYW1sQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBzdGFjayBzZXQgdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIElBTSByb2xlcyB0byBiZSB1c2VkIGZvclxuICAgKiB0aGlzIHdvcmtzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzdGFja1NldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBhbiBBbWF6b24gVlBDIHRoYXQgY29udGFpbnMgZGF0YSBzb3VyY2VzIGZvciB5b3VyIEdyYWZhbmFcbiAgICogd29ya3NwYWNlIHRvIGNvbm5lY3QgdG8uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdnBjQ29uZmlndXJhdGlvbj86IFZwY0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgSUQgb2YgdGhpcyB3b3Jrc3BhY2UuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya3NwYWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGlzIHdvcmtzcGFjZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtzcGFjZUFybjogc3RyaW5nO1xuXG4gIHByb3RlY3RlZCBnZXRXb3Jrc3BhY2VBcm4od29ya3NwYWNlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHN0YWNrID0gdGhpcy5zdGFjaztcbiAgICByZXR1cm4gYGFybjoke3N0YWNrLnBhcnRpdGlvbn06Z3JhZmFuYToke3N0YWNrLnJlZ2lvbn06JHtzdGFjay5hY2NvdW50fTp3b3Jrc3BhY2VzLyR7d29ya3NwYWNlSWR9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRXb3Jrc3BhY2VJZCh3b3Jrc3BhY2VBcm46IHN0cmluZykge1xuICAgIHJldHVybiB3b3Jrc3BhY2VBcm4uc3Vic3RyaW5nKHdvcmtzcGFjZUFybi5sYXN0SW5kZXhPZignLycpICsgMSk7XG4gIH1cbn0iXX0=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd29ya3NwYWNlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDZDQUE2RDtBQUk3RDs7Ozs7R0FLRztBQUNILElBQVksaUJBVVg7QUFWRCxXQUFZLGlCQUFpQjtJQUMzQjs7T0FFRztJQUNILHdEQUFtQyxDQUFBO0lBRW5DOztPQUVHO0lBQ0gsa0RBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQVZXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBVTVCO0FBRUQ7Ozs7O0dBS0c7QUFDSCxJQUFZLHVCQVVYO0FBVkQsV0FBWSx1QkFBdUI7SUFDakM7O09BRUc7SUFDSCw4Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILHdDQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFVbEM7QUErQkQ7OztHQUdHO0FBQ0gsSUFBWSx3QkFLWDtBQUxELFdBQVksd0JBQXdCO0lBQ2xDOztPQUVHO0lBQ0gsdUNBQVcsQ0FBQTtBQUNiLENBQUMsRUFMVyx3QkFBd0Isd0NBQXhCLHdCQUF3QixRQUtuQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxJQUFZLGVBY1g7QUFkRCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCx3REFBcUMsQ0FBQTtJQUVyQzs7Ozs7O09BTUc7SUFDSCxzREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBZFcsZUFBZSwrQkFBZixlQUFlLFFBYzFCO0FBMkxEOztHQUVHO0FBQ0gsSUFBWSx5QkFVWDtBQVZELFdBQVkseUJBQXlCO0lBQ25DOztPQUVHO0lBQ0gsc0RBQXlCLENBQUE7SUFFekI7O09BRUc7SUFDSCw4REFBaUMsQ0FBQTtBQUNuQyxDQUFDLEVBVlcseUJBQXlCLHlDQUF6Qix5QkFBeUIsUUFVcEM7QUFFRDs7R0FFRztBQUNILElBQVksTUF1RFg7QUF2REQsV0FBWSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0gsMkJBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCwrQkFBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILCtCQUFxQixDQUFBO0lBRXJCOztPQUVHO0lBQ0gsMkJBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCwrQkFBcUIsQ0FBQTtJQUVyQjs7T0FFRztJQUNILGlDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsNkNBQW1DLENBQUE7SUFFbkM7O09BRUc7SUFDSCw2Q0FBbUMsQ0FBQTtJQUVuQzs7T0FFRztJQUNILHlDQUErQixDQUFBO0lBRS9COztPQUVHO0lBQ0gsMkNBQWlDLENBQUE7SUFFakM7O09BRUc7SUFDSCwyREFBaUQsQ0FBQTtBQUNuRCxDQUFDLEVBdkRXLE1BQU0sc0JBQU4sTUFBTSxRQXVEakI7QUF3TkQsTUFBc0IsYUFBYyxTQUFRLHNCQUFROztJQThMeEMsZUFBZSxDQUFDLFdBQW1CO1FBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDMUIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFlBQVk7WUFDdEIsWUFBWSxFQUFFLFdBQVc7WUFDekIsU0FBUyxFQUFFLHVCQUFTLENBQUMsbUJBQW1CO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxjQUFjLENBQUMsWUFBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7SUFDN0YsQ0FBQzs7QUF6TUgsc0NBME1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJuRm9ybWF0LCBJUmVzb3VyY2UsIFJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSVByZWZpeExpc3QsIElTZWN1cml0eUdyb3VwLCBJU3VibmV0LCBJVnBjRW5kcG9pbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHdvcmtzcGFjZSBjYW4gYWNjZXNzIEFXUyByZXNvdXJjZXMgaW4gdGhpcyBBV1MgYWNjb3VudCBvbmx5LCBvciB3aGV0aGVyIGl0XG4gKiBjYW4gYWxzbyBhY2Nlc3MgQVdTIHJlc291cmNlcyBpbiBvdGhlciBhY2NvdW50cyBpbiB0aGUgc2FtZSBvcmdhbml6YXRpb24uIElmIHRoaXMgaXNcbiAqIE9SR0FOSVpBVElPTiwgdGhlIE9yZ2FuaXphdGlvbmFsVW5pdHMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBvcmdhbml6YXRpb25hbCB1bml0cyB0aGVcbiAqIHdvcmtzcGFjZSBjYW4gYWNjZXNzLlxuICovXG5leHBvcnQgZW51bSBBY2NvdW50QWNjZXNzVHlwZSB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgaXMgbGltaXRlZCB0byB0aGUgY3VycmVudCBBV1MgYWNjb3VudCBvbmx5LlxuICAgKi9cbiAgQ1VSUkVOVF9BQ0NPVU5UID0gJ0NVUlJFTlRfQUNDT1VOVCcsXG5cbiAgLyoqXG4gICAqIEFjY2VzcyBpcyBleHRlbmRlZCB0byB0aGUgZW50aXJlIEFXUyBvcmdhbml6YXRpb24uXG4gICAqL1xuICBPUkdBTklaQVRJT04gPSAnT1JHQU5JWkFUSU9OJyxcbn1cblxuLyoqXG4gKiBTcGVjaWZpZXMgd2hldGhlciB0aGlzIHdvcmtzcGFjZSB1c2VzIFNBTUwgMi4wLCBBV1MgSUFNIElkZW50aXR5IENlbnRlciwgb3IgYm90aCB0byBhdXRoZW50aWNhdGVcbiAqIHVzZXJzIGZvciB1c2luZyB0aGUgR3JhZmFuYSBjb25zb2xlIHdpdGhpbiBhIHdvcmtzcGFjZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ncmFmYW5hL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVdvcmtzcGFjZS5odG1sXG4gKi9cbmV4cG9ydCBlbnVtIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzIHtcbiAgLyoqXG4gICAqIEFXUyBTaW5nbGUgU2lnbi1PbiBhdXRoZW50aWNhdGlvbiBwcm92aWRlci5cbiAgICovXG4gIEFXU19TU08gPSAnQVdTX1NTTycsXG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IEFzc2VydGlvbiBNYXJrdXAgTGFuZ3VhZ2UgKFNBTUwpIGF1dGhlbnRpY2F0aW9uIHByb3ZpZGVyLlxuICAgKi9cbiAgU0FNTCA9ICdTQU1MJyxcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgbmV0d29yayBhY2Nlc3MgdG8geW91ciB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0FjY2Vzc0NvbnRyb2wge1xuICAvKipcbiAgICogQW4gYXJyYXkgb2YgcHJlZml4IGxpc3QgSURzLiBBIHByZWZpeCBsaXN0IGlzIGEgbGlzdCBvZiBDSURSIHJhbmdlcyBvZiBJUCBhZGRyZXNzZXMuIFRoZSBJUFxuICAgKiBhZGRyZXNzZXMgc3BlY2lmaWVkIGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB5b3VyIHdvcmtzcGFjZS4gSWYgdGhlIGxpc3QgaXMgbm90IGluY2x1ZGVkIGluIHRoZVxuICAgKiBjb25maWd1cmF0aW9uIChwYXNzZWQgYW4gZW1wdHkgYXJyYXkpIHRoZW4gbm8gSVAgYWRkcmVzc2VzIGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB0aGVcbiAgICogd29ya3NwYWNlLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgNSBwcmVmaXggbGlzdHMgaXMgYWxsb3dlZCAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBwcmVmaXggbGlzdHM7IGNvbWJpbmVkIHdpdGggYW4gZW1wdHkgYHZwY0VuZHBvaW50c2AsIGFsbCB0cmFmZmljIGlzIGRlbmllZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4TGlzdHM/OiBJUHJlZml4TGlzdFtdO1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBBbWF6b24gVlBDIGVuZHBvaW50IElEcyBmb3IgdGhlIHdvcmtzcGFjZS4gWW91IGNhbiBjcmVhdGUgVlBDIGVuZHBvaW50cyB0byB5b3VyXG4gICAqIEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmEgd29ya3NwYWNlIGZvciBhY2Nlc3MgZnJvbSB3aXRoaW4gYSBWUEMuIElmIGEgTmV0d29ya0FjY2Vzc0NvbmZpZ3VyYXRpb25cbiAgICogaXMgc3BlY2lmaWVkIHRoZW4gb25seSBWUEMgZW5kcG9pbnRzIHNwZWNpZmllZCBoZXJlIGFyZSBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgd29ya3NwYWNlLiBJZlxuICAgKiB5b3UgcGFzcyBpbiBhbiBlbXB0eSBhcnJheSBvZiBzdHJpbmdzLCB0aGVuIG5vIFZQQ3MgYXJlIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEEgbWF4aW11bSBvZiA1IFZQQyBlbmRwb2ludHMgaXMgYWxsb3dlZCAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgZW5kcG9pbnRzOyBjb21iaW5lZCB3aXRoIGFuIGVtcHR5IGBwcmVmaXhMaXN0c2AsIGFsbCB0cmFmZmljIGlzIGRlbmllZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjRW5kcG9pbnRzPzogSVZwY0VuZHBvaW50W107XG59XG5cbi8qKlxuICogVGhlIEFXUyBub3RpZmljYXRpb24gY2hhbm5lbHMgdGhhdCBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGNhbiBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBJQU0gcm9sZXMgYW5kXG4gKiBwZXJtaXNzaW9ucyBmb3IsIHRvIGFsbG93IEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmEgdG8gdXNlIHRoZXNlIGNoYW5uZWxzLlxuICovXG5leHBvcnQgZW51bSBOb3RpZmljYXRpb25EZXN0aW5hdGlvbnMge1xuICAvKipcbiAgICogQW1hem9uIFNpbXBsZSBOb3RpZmljYXRpb24gU2VydmljZSAoU05TKSBhcyBub3RpZmljYXRpb24gZGVzdGluYXRpb24uXG4gICAqL1xuICBTTlMgPSAnU05TJyxcbn1cblxuLyoqXG4gKiBJZiB0aGlzIGlzIFNFUlZJQ0VfTUFOQUdFRCwgYW5kIHRoZSB3b3JrcGxhY2Ugd2FzIGNyZWF0ZWQgdGhyb3VnaCB0aGUgQW1hem9uIE1hbmFnZWQgR3JhZmFuYVxuICogY29uc29sZSwgdGhlbiBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyB0aGUgSUFNIHJvbGVzIGFuZCBwcm92aXNpb25zIHRoZVxuICogcGVybWlzc2lvbnMgdGhhdCB0aGUgd29ya3NwYWNlIG5lZWRzIHRvIHVzZSBBV1MgZGF0YSBzb3VyY2VzIGFuZCBub3RpZmljYXRpb24gY2hhbm5lbHMuXG4gKlxuICogSWYgdGhpcyBpcyBDVVNUT01FUl9NQU5BR0VELCB5b3UgbXVzdCBtYW5hZ2UgdGhvc2Ugcm9sZXMgYW5kIHBlcm1pc3Npb25zIHlvdXJzZWxmLlxuXG4gKiBJZiB5b3UgYXJlIHdvcmtpbmcgd2l0aCBhIHdvcmtzcGFjZSBpbiBhIG1lbWJlciBhY2NvdW50IG9mIGFuIG9yZ2FuaXphdGlvbiBhbmQgdGhhdCBhY2NvdW50IGlzXG4gKiBub3QgYSBkZWxlZ2F0ZWQgYWRtaW5pc3RyYXRvciBhY2NvdW50LCBhbmQgeW91IHdhbnQgdGhlIHdvcmtzcGFjZSB0byBhY2Nlc3MgZGF0YSBzb3VyY2VzIGluXG4gKiBvdGhlciBBV1MgYWNjb3VudHMgaW4gdGhlIG9yZ2FuaXphdGlvbiwgdGhpcyBwYXJhbWV0ZXIgbXVzdCBiZSBzZXQgdG8gQ1VTVE9NRVJfTUFOQUdFRC5cbiAqL1xuZXhwb3J0IGVudW0gUGVybWlzc2lvblR5cGVzIHtcbiAgLyoqXG4gICAqIEN1c3RvbWVyLW1hbmFnZWQgcGVybWlzc2lvbnMgd2hlcmUgeW91IG1hbmFnZSB1c2VyIGFjY2VzcyB0byBHcmFmYW5hLlxuICAgKi9cbiAgQ1VTVE9NRVJfTUFOQUdFRCA9ICdDVVNUT01FUl9NQU5BR0VEJyxcblxuICAvKipcbiAgICogU2VydmljZS1tYW5hZ2VkIHBlcm1pc3Npb25zLCB3aGVyZSBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGNyZWF0ZXMgYW5kIG1hbmFnZXMgdGhlIElBTSByb2xlcy5cbiAgICpcbiAgICogUGVyIHRoZSBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIEFQSSwgdGhpcyB2YWx1ZSBpcyB2YWxpZCBvbmx5IGZvciB3b3Jrc3BhY2VzIGNyZWF0ZWQgdGhyb3VnaCB0aGVcbiAgICogY29uc29sZTsgd29ya3NwYWNlcyBjcmVhdGVkIHZpYSB0aGUgQVBJLCBDTEksIG9yIENsb3VkRm9ybWF0aW9uIChpbmNsdWRpbmcgdGhpcyBjb25zdHJ1Y3QpIG11c3RcbiAgICogdXNlIGBDVVNUT01FUl9NQU5BR0VEYC5cbiAgICovXG4gIFNFUlZJQ0VfTUFOQUdFRCA9ICdTRVJWSUNFX01BTkFHRUQnLFxufVxuXG4vKipcbiAqIEEgc3RydWN0dXJlIHRoYXQgZGVmaW5lcyB3aGljaCBhdHRyaWJ1dGVzIGluIHRoZSBJZFAgYXNzZXJ0aW9uIGFyZSB0byBiZSB1c2VkIHRvIGRlZmluZVxuICogaW5mb3JtYXRpb24gYWJvdXQgdGhlIHVzZXJzIGF1dGhlbnRpY2F0ZWQgYnkgdGhlIElkUCB0byB1c2UgdGhlIHdvcmtzcGFjZS5cbiAqXG4gKiBFYWNoIGF0dHJpYnV0ZSBtdXN0IGJlIGEgc3RyaW5nIHdpdGggbGVuZ3RoIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbEFzc2VydGlvbkF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB3aXRoaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIHRvIHVzZSBhcyB0aGUgZW1haWwgbmFtZXMgZm9yIFNBTUwgdXNlcnMuXG4gICAqXG4gICAqIE11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycyBsb25nICh2YWxpZGF0ZWQgYnkgQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWUpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGVtYWlsIGF0dHJpYnV0ZSBtYXBwaW5nXG4gICAqL1xuICByZWFkb25seSBlbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIHVzZXIgZnVsbCBcImZyaWVuZGx5XCIgbmFtZXNcbiAgICogZm9yIHVzZXIgZ3JvdXBzLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZyAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBncm91cHMgYXR0cmlidXRlIG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IGdyb3Vwcz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIGxvZ2luIG5hbWVzIGZvciBTQU1MIHVzZXJzLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZyAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsb2dpbiBhdHRyaWJ1dGUgbWFwcGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgbG9naW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXR0cmlidXRlIHdpdGhpbiB0aGUgU0FNTCBhc3NlcnRpb24gdG8gdXNlIGFzIHRoZSB1c2VyIGZ1bGwgXCJmcmllbmRseVwiIG5hbWVzXG4gICAqIGZvciBTQU1MIHVzZXJzLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZyAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuYW1lIGF0dHJpYnV0ZSBtYXBwaW5nXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGF0dHJpYnV0ZSB3aXRoaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIHRvIHVzZSBhcyB0aGUgdXNlciBmdWxsIFwiZnJpZW5kbHlcIiBuYW1lc1xuICAgKiBmb3IgdGhlIHVzZXJzJyBvcmdhbml6YXRpb25zLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMjU2IGNoYXJhY3RlcnMgbG9uZyAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBvcmcgYXR0cmlidXRlIG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IG9yZz86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgd2l0aGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB1c2UgYXMgdGhlIHVzZXIgcm9sZXMuXG4gICAqXG4gICAqIE11c3QgYmUgYmV0d2VlbiAxIGFuZCAyNTYgY2hhcmFjdGVycyBsb25nICh2YWxpZGF0ZWQgYnkgQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWUpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgYXR0cmlidXRlIG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgKElkUCkgbWV0YWRhdGEgdXNlZCB0byBpbnRlZ3JhdGUgdGhlIGlkZW50aXR5XG4gKiBwcm92aWRlciB3aXRoIHRoaXMgd29ya3NwYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbWxJZHBNZXRhZGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBsb2NhdGlvbiBjb250YWluaW5nIHRoZSBJZFAgbWV0YWRhdGEuXG4gICAqXG4gICAqIE11c3QgYmUgYSBzdHJpbmcgd2l0aCBsZW5ndGggYmV0d2VlbiAxIGFuZCAyMDQ4IGNoYXJhY3RlcnMgKHZhbGlkYXRlZCBieSBDbG91ZEZvcm1hdGlvbiBhdFxuICAgKiBkZXBsb3kgdGltZSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbWV0YWRhdGEgVVJMOyBzdXBwbHkgYHhtbGAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBJZFAgbWV0YWRhdGEsIGluIFhNTCBmb3JtYXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gaW5saW5lIG1ldGFkYXRhOyBzdXBwbHkgYHVybGAgaW5zdGVhZFxuICAgKi9cbiAgcmVhZG9ubHkgeG1sPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYXJyYXlzIHRoYXQgbWFwIGdyb3VwIG5hbWVzIGluIHRoZSBTQU1MIGFzc2VydGlvbiB0byB0aGUgR3JhZmFuYSBBZG1pblxuICogYW5kIEVkaXRvciByb2xlcyBpbiB0aGUgd29ya3NwYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNhbWxSb2xlVmFsdWVzIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBncm91cHMgZnJvbSB0aGUgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlIHRvIGdyYW50IHRoZSBHcmFmYW5hIEFkbWluIHJvbGUgdG8uXG4gICAqXG4gICAqIEEgbWF4aW11bSBvZiAyNTYgZWxlbWVudHMgaXMgYWxsb3dlZCAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveSB0aW1lKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBncm91cHMgYXJlIGdyYW50ZWQgdGhlIEFkbWluIHJvbGVcbiAgICovXG4gIHJlYWRvbmx5IGFkbWluPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBncm91cHMgZnJvbSB0aGUgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlIHRvIGdyYW50IHRoZSBHcmFmYW5hIEVkaXRvciByb2xlIHRvLlxuICAgKlxuICAgKiBBIG1heGltdW0gb2YgMjU2IGVsZW1lbnRzIGlzIGFsbG93ZWQgKHZhbGlkYXRlZCBieSBDbG91ZEZvcm1hdGlvbiBhdCBkZXBsb3kgdGltZSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZ3JvdXBzIGFyZSBncmFudGVkIHRoZSBFZGl0b3Igcm9sZVxuICAgKi9cbiAgcmVhZG9ubHkgZWRpdG9yPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogSWYgdGhlIHdvcmtzcGFjZSB1c2VzIFNBTUwsIHVzZSB0aGlzIHN0cnVjdHVyZSB0byBtYXAgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlcyB0byB3b3Jrc3BhY2VcbiAqIHVzZXIgaW5mb3JtYXRpb24gYW5kIGRlZmluZSB3aGljaCBncm91cHMgaW4gdGhlIGFzc2VydGlvbiBhdHRyaWJ1dGUgYXJlIHRvIGhhdmUgdGhlIEFkbWluIGFuZFxuICogRWRpdG9yIHJvbGVzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2FtbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogTGlzdHMgd2hpY2ggb3JnYW5pemF0aW9ucyBkZWZpbmVkIGluIHRoZSBTQU1MIGFzc2VydGlvbiBhcmUgYWxsb3dlZCB0byB1c2UgdGhlIEFtYXpvbiBNYW5hZ2VkXG4gICAqIEdyYWZhbmEgd29ya3NwYWNlLiBJZiB0aGlzIGlzIGVtcHR5LCBhbGwgb3JnYW5pemF0aW9ucyBpbiB0aGUgYXNzZXJ0aW9uIGF0dHJpYnV0ZSBoYXZlIGFjY2Vzcy5cbiAgICpcbiAgICogTXVzdCBoYXZlIGJldHdlZW4gMSBhbmQgMjU2IGVsZW1lbnRzICh2YWxpZGF0ZWQgYnkgQ2xvdWRGb3JtYXRpb24gYXQgZGVwbG95IHRpbWUpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBvcmdhbml6YXRpb25zIGluIHRoZSBhc3NlcnRpb24gYXR0cmlidXRlIGhhdmUgYWNjZXNzXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkT3JnYW5pemF0aW9ucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBIHN0cnVjdHVyZSB0aGF0IGRlZmluZXMgd2hpY2ggYXR0cmlidXRlcyBpbiB0aGUgU0FNTCBhc3NlcnRpb24gYXJlIHRvIGJlIHVzZWQgdG8gZGVmaW5lXG4gICAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSB1c2VycyBhdXRoZW50aWNhdGVkIGJ5IHRoYXQgSWRQIHRvIHVzZSB0aGUgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc2VydGlvbiBhdHRyaWJ1dGUgbWFwcGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXJ0aW9uQXR0cmlidXRlcz86IFNhbWxBc3NlcnRpb25BdHRyaWJ1dGVzO1xuXG4gIC8qKlxuICAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBpZGVudGl0eSBwcm92aWRlciAoSWRQKSBtZXRhZGF0YSB1c2VkIHRvIGludGVncmF0ZSB0aGUgaWRlbnRpdHlcbiAgICogcHJvdmlkZXIgd2l0aCB0aGlzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogUmVxdWlyZWQgZmllbGQgZm9yIFNBTUwgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGlkcE1ldGFkYXRhOiBTYW1sSWRwTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIGEgc2lnbi1vbiBzZXNzaW9uIGJ5IGEgU0FNTCB1c2VyIGlzIHZhbGlkLCBiZWZvcmUgdGhlIHVzZXIgaGFzIHRvIHNpZ24gb24gYWdhaW4uXG4gICAqXG4gICAqIE11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIgKHZhbGlkYXRlZCBieSBDbG91ZEZvcm1hdGlvbiBhdCBkZXBsb3kgdGltZSkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHNlcnZpY2UgZGVmYXVsdCBzZXNzaW9uIHZhbGlkaXR5IGFwcGxpZXNcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2luVmFsaWRpdHlEdXJhdGlvbj86IG51bWJlcjtcblxuICAvKipcbiAgICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyBhcnJheXMgdGhhdCBtYXAgZ3JvdXAgbmFtZXMgaW4gdGhlIFNBTUwgYXNzZXJ0aW9uIHRvIHRoZSBHcmFmYW5hIEFkbWluXG4gICAqIGFuZCBFZGl0b3Igcm9sZXMgaW4gdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByb2xlIG1hcHBpbmdcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVWYWx1ZXM/OiBTYW1sUm9sZVZhbHVlcztcbn1cblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYW4gQW1hem9uIFZQQyB0aGF0IGNvbnRhaW5zIGRhdGEgc291cmNlcyBmb3IgeW91ciBHcmFmYW5hXG4gKiB3b3Jrc3BhY2UgdG8gY29ubmVjdCB0by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIEFtYXpvbiBFQzIgc2VjdXJpdHkgZ3JvdXBzIGF0dGFjaGVkIHRvIHRoZSBBbWF6b24gVlBDIGZvciB5b3VyIEdyYWZhbmFcbiAgICogd29ya3NwYWNlIHRvIGNvbm5lY3QuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQuXG4gICAqXG4gICAqIEFycmF5IG1lbWJlcnM6IG1pbmltdW0gb2YgMSBpdGVtLCBtYXhpbXVtIG9mIDUgaXRlbXMgKHZhbGlkYXRlZCBieSBDbG91ZEZvcm1hdGlvbiBhdCBkZXBsb3lcbiAgICogdGltZSkuXG4gICAqXG4gICAqIFJlcXVpcmVkIGZvciBWUEMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzOiBJU2VjdXJpdHlHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBBbWF6b24gRUMyIHN1Ym5ldHMgY3JlYXRlZCBpbiB0aGUgQW1hem9uIFZQQyBmb3IgeW91ciBHcmFmYW5hIHdvcmtzcGFjZSB0b1xuICAgKiBjb25uZWN0LiBEdXBsaWNhdGVzIG5vdCBhbGxvd2VkLlxuICAgKlxuICAgKiBBcnJheSBtZW1iZXJzOiBtaW5pbXVtIG9mIDIgaXRlbXMsIG1heGltdW0gb2YgNiBpdGVtcyAodmFsaWRhdGVkIGJ5IENsb3VkRm9ybWF0aW9uIGF0IGRlcGxveVxuICAgKiB0aW1lKS5cbiAgICpcbiAgICogUmVxdWlyZWQgZm9yIFZQQyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0czogSVN1Ym5ldFtdO1xufVxuXG4vKipcbiAqIFN0YXR1cyBvZiBTQU1MIGNvbmZpZ3VyYXRpb24gZm9yIGEgR3JhZmFuYSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBlbnVtIFNhbWxDb25maWd1cmF0aW9uU3RhdHVzZXMge1xuICAvKipcbiAgICogU0FNTCBpcyBjb25maWd1cmVkIGZvciB0aGUgd29ya3NwYWNlLlxuICAgKi9cbiAgQ09ORklHVVJFRCA9ICdDT05GSUdVUkVEJyxcblxuICAvKipcbiAgICogU0FNTCBpcyBub3QgY29uZmlndXJlZCBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICovXG4gIE5PVF9DT05GSUdVUkVEID0gJ05PVF9DT05GSUdVUkVEJyxcbn1cblxuLyoqXG4gKiBTdGF0dXMgb2YgYSBHcmFmYW5hIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBpcyBhY3RpdmUgYW5kIHJlYWR5IHRvIHVzZS5cbiAgICovXG4gIEFDVElWRSA9ICdBQ1RJVkUnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgaXMgYmVpbmcgY3JlYXRlZC5cbiAgICovXG4gIENSRUFUSU5HID0gJ0NSRUFUSU5HJyxcblxuICAvKipcbiAgICogV29ya3NwYWNlIGlzIGJlaW5nIGRlbGV0ZWQuXG4gICAqL1xuICBERUxFVElORyA9ICdERUxFVElORycsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBvcGVyYXRpb24gaGFzIGZhaWxlZC5cbiAgICovXG4gIEZBSUxFRCA9ICdGQUlMRUQnLFxuXG4gIC8qKlxuICAgKiBXb3Jrc3BhY2UgaXMgYmVpbmcgdXBkYXRlZC5cbiAgICovXG4gIFVQREFUSU5HID0gJ1VQREFUSU5HJyxcblxuICAvKipcbiAgICogV29ya3NwYWNlIGlzIGJlaW5nIHVwZ3JhZGVkLlxuICAgKi9cbiAgVVBHUkFESU5HID0gJ1VQR1JBRElORycsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBkZWxldGlvbiBoYXMgZmFpbGVkLlxuICAgKi9cbiAgREVMRVRJT05fRkFJTEVEID0gJ0RFTEVUSU9OX0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSBjcmVhdGlvbiBoYXMgZmFpbGVkLlxuICAgKi9cbiAgQ1JFQVRJT05fRkFJTEVEID0gJ0NSRUFUSU9OX0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSB1cGRhdGUgaGFzIGZhaWxlZC5cbiAgICovXG4gIFVQREFURV9GQUlMRUQgPSAnVVBEQVRFX0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIFdvcmtzcGFjZSB1cGdyYWRlIGhhcyBmYWlsZWQuXG4gICAqL1xuICBVUEdSQURFX0ZBSUxFRCA9ICdVUEdSQURFX0ZBSUxFRCcsXG5cbiAgLyoqXG4gICAqIExpY2Vuc2UgcmVtb3ZhbCBoYXMgZmFpbGVkLlxuICAgKi9cbiAgTElDRU5TRV9SRU1PVkFMX0ZBSUxFRCA9ICdMSUNFTlNFX1JFTU9WQUxfRkFJTEVEJyxcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFtYXpvbiBNYW5hZ2VkIFNlcnZpY2UgZm9yIEdyYWZhbmEgd29ya3NwYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVdvcmtzcGFjZSBleHRlbmRzIElSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSB3b3Jrc3BhY2UgY2FuIGFjY2VzcyBBV1MgcmVzb3VyY2VzIGluIHRoaXMgQVdTIGFjY291bnQgb25seSwgb3Igd2hldGhlclxuICAgKiBpdCBjYW4gYWxzbyBhY2Nlc3MgQVdTIHJlc291cmNlcyBpbiBvdGhlciBhY2NvdW50cyBpbiB0aGUgc2FtZSBvcmdhbml6YXRpb24uIElmIHRoaXMgaXNcbiAgICogT1JHQU5JWkFUSU9OLCB0aGUgT3JnYW5pemF0aW9uYWxVbml0cyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdoaWNoIG9yZ2FuaXphdGlvbmFsIHVuaXRzIHRoZVxuICAgKiB3b3Jrc3BhY2UgY2FuIGFjY2Vzcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIHdvcmtzcGFjZXMgaW1wb3J0ZWQgZnJvbSBhbiBBUk4gdmlhIGBXb3Jrc3BhY2UuZnJvbVdvcmtzcGFjZUFybmBcbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRBY2Nlc3NUeXBlPzogQWNjb3VudEFjY2Vzc1R5cGU7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoaXMgd29ya3NwYWNlIHVzZXMgU0FNTCAyLjAsIEFXUyBJQU0gSWRlbnRpdHkgQ2VudGVyLCBvciBib3RoIHRvXG4gICAqIGF1dGhlbnRpY2F0ZSB1c2VycyBmb3IgdXNpbmcgdGhlIEdyYWZhbmEgY29uc29sZSB3aXRoaW4gYSB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiB3b3Jrc3BhY2VzIGltcG9ydGVkIGZyb20gYW4gQVJOIHZpYSBgV29ya3NwYWNlLmZyb21Xb3Jrc3BhY2VBcm5gXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGlvblByb3ZpZGVycz86IEF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzW107XG5cbiAgLyoqXG4gICAqIEEgdW5pcXVlLCBjYXNlLXNlbnNpdGl2ZSwgdXNlci1wcm92aWRlZCBpZGVudGlmaWVyIHRvIGVuc3VyZSB0aGUgaWRlbXBvdGVuY3kgb2YgdGhlIHJlcXVlc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiBpbXBvcnRlZCB3b3Jrc3BhY2VzXG4gICAqL1xuICByZWFkb25seSBjbGllbnRUb2tlbj86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBBV1MgZGF0YSBzb3VyY2VzIHRoYXQgaGF2ZSBiZWVuIGNvbmZpZ3VyZWQgdG8gaGF2ZSBJQU0gcm9sZXMgYW5kIHBlcm1pc3Npb25zXG4gICAqIGNyZWF0ZWQgdG8gYWxsb3cgQW1hem9uIE1hbmFnZWQgR3JhZmFuYSB0byByZWFkIGRhdGEgZnJvbSB0aGVzZSBzb3VyY2VzLlxuICAgKlxuICAgKiBUaGlzIGxpc3QgaXMgb25seSB1c2VkIHdoZW4gdGhlIHdvcmtzcGFjZSB3YXMgY3JlYXRlZCB0aHJvdWdoIHRoZSBBV1MgY29uc29sZSwgYW5kIHRoZVxuICAgKiBwZXJtaXNzaW9uVHlwZSBpcyBTRVJWSUNFX01BTkFHRUQuIFRoZSBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIEFQSSBtYXJrcyB0aGlzIHBhcmFtZXRlciBhcyBmb3JcbiAgICogaW50ZXJuYWwgdXNlIG9ubHkgYW5kIHJlY29tbWVuZHMgYWdhaW5zdCBzZXR0aW5nIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRhdGEgc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHVzZXItZGVmaW5lZCBkZXNjcmlwdGlvbiBvZiB0aGUgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5hbWUgaXMgZ2VuZXJhdGVkIGJ5IENsb3VkRm9ybWF0aW9uXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgbmV0d29yayBhY2Nlc3MgdG8geW91ciB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbmV0d29yayBhY2Nlc3MgY29udHJvbCwgdGhlIHdvcmtzcGFjZSBpcyBvcGVuIHRvIGFsbCB0cmFmZmljXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrQWNjZXNzQ29udHJvbD86IE5ldHdvcmtBY2Nlc3NDb250cm9sO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIG5vdGlmaWNhdGlvbiBjaGFubmVscyB0aGF0IEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmEgY2FuIGF1dG9tYXRpY2FsbHkgY3JlYXRlIElBTSByb2xlc1xuICAgKiBhbmQgcGVybWlzc2lvbnMgZm9yLCB0byBhbGxvdyBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIHRvIHVzZSB0aGVzZSBjaGFubmVscy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBub3RpZmljYXRpb24gZGVzdGluYXRpb25zXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25EZXN0aW5hdGlvbnM/OiBOb3RpZmljYXRpb25EZXN0aW5hdGlvbnNbXTtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBvcmdhbml6YXRpb25hbCB1bml0cyB0aGF0IHRoaXMgd29ya3NwYWNlIGlzIGFsbG93ZWQgdG8gdXNlIGRhdGEgc291cmNlcyBmcm9tLCBpZlxuICAgKiB0aGlzIHdvcmtzcGFjZSBpcyBpbiBhbiBhY2NvdW50IHRoYXQgaXMgcGFydCBvZiBhbiBvcmdhbml6YXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gb3JnYW5pemF0aW9uYWwgdW5pdHNcbiAgICovXG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbmFsVW5pdHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIElBTSByb2xlIHRoYXQgaXMgdXNlZCB0byBhY2Nlc3MgcmVzb3VyY2VzIHRocm91Z2ggT3JnYW5pemF0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBvcmdhbml6YXRpb24gcm9sZSBuYW1lXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6YXRpb25Sb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgdGhpcyBpcyBTRVJWSUNFX01BTkFHRUQsIGFuZCB0aGUgd29ya3BsYWNlIHdhcyBjcmVhdGVkIHRocm91Z2ggdGhlIEFtYXpvbiBNYW5hZ2VkIEdyYWZhbmFcbiAgICogY29uc29sZSwgdGhlbiBBbWF6b24gTWFuYWdlZCBHcmFmYW5hIGF1dG9tYXRpY2FsbHkgY3JlYXRlcyB0aGUgSUFNIHJvbGVzIGFuZCBwcm92aXNpb25zIHRoZVxuICAgKiBwZXJtaXNzaW9ucyB0aGF0IHRoZSB3b3Jrc3BhY2UgbmVlZHMgdG8gdXNlIEFXUyBkYXRhIHNvdXJjZXMgYW5kIG5vdGlmaWNhdGlvbiBjaGFubmVscy5cbiAgICpcbiAgICogSWYgdGhpcyBpcyBDVVNUT01FUl9NQU5BR0VELCB5b3UgbXVzdCBtYW5hZ2UgdGhvc2Ugcm9sZXMgYW5kIHBlcm1pc3Npb25zIHlvdXJzZWxmLlxuICAgKlxuICAgKiBJZiB5b3UgYXJlIHdvcmtpbmcgd2l0aCBhIHdvcmtzcGFjZSBpbiBhIG1lbWJlciBhY2NvdW50IG9mIGFuIG9yZ2FuaXphdGlvbiBhbmQgdGhhdCBhY2NvdW50IGlzXG4gICAqIG5vdCBhIGRlbGVnYXRlZCBhZG1pbmlzdHJhdG9yIGFjY291bnQsIGFuZCB5b3Ugd2FudCB0aGUgd29ya3NwYWNlIHRvIGFjY2VzcyBkYXRhIHNvdXJjZXMgaW5cbiAgICogb3RoZXIgQVdTIGFjY291bnRzIGluIHRoZSBvcmdhbml6YXRpb24sIHRoaXMgcGFyYW1ldGVyIG11c3QgYmUgc2V0IHRvIENVU1RPTUVSX01BTkFHRUQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiB3b3Jrc3BhY2VzIGltcG9ydGVkIGZyb20gYW4gQVJOIHZpYSBgV29ya3NwYWNlLmZyb21Xb3Jrc3BhY2VBcm5gXG4gICAqL1xuICByZWFkb25seSBwZXJtaXNzaW9uVHlwZT86IFBlcm1pc3Npb25UeXBlcztcblxuICAvKipcbiAgICogV2hldGhlciBwbHVnaW4gYWRtaW5pc3RyYXRpb24gaXMgZW5hYmxlZCBpbiB0aGUgd29ya3NwYWNlLiBTZXR0aW5nIHRvIHRydWUgYWxsb3dzIHdvcmtzcGFjZVxuICAgKiBhZG1pbnMgdG8gaW5zdGFsbCwgdW5pbnN0YWxsLCBhbmQgdXBkYXRlIHBsdWdpbnMgZnJvbSB3aXRoaW4gdGhlIEdyYWZhbmEgd29ya3NwYWNlLlxuICAgKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciB3b3Jrc3BhY2VzIHRoYXQgc3VwcG9ydCBHcmFmYW5hIHZlcnNpb24gOSBvciBuZXdlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luQWRtaW5FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRoYXQgZ3JhbnRzIHBlcm1pc3Npb25zIHRvIHRoZSBBV1MgcmVzb3VyY2VzIHRoYXQgdGhlIHdvcmtzcGFjZSB3aWxsIHZpZXcgZGF0YVxuICAgKiBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgaXMgYXR0YWNoZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogSWYgdGhlIHdvcmtzcGFjZSB1c2VzIFNBTUwsIHVzZSB0aGlzIHN0cnVjdHVyZSB0byBtYXAgU0FNTCBhc3NlcnRpb24gYXR0cmlidXRlcyB0byB3b3Jrc3BhY2VcbiAgICogdXNlciBpbmZvcm1hdGlvbiBhbmQgZGVmaW5lIHdoaWNoIGdyb3VwcyBpbiB0aGUgYXNzZXJ0aW9uIGF0dHJpYnV0ZSBhcmUgdG8gaGF2ZSB0aGUgQWRtaW4gYW5kXG4gICAqIEVkaXRvciByb2xlcyBpbiB0aGUgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIFNBTUwgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgc2FtbENvbmZpZ3VyYXRpb24/OiBTYW1sQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBzdGFjayBzZXQgdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIElBTSByb2xlcyB0byBiZSB1c2VkIGZvclxuICAgKiB0aGlzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdGFjayBzZXQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tTZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgYW4gQW1hem9uIFZQQyB0aGF0IGNvbnRhaW5zIGRhdGEgc291cmNlcyBmb3IgeW91ciBHcmFmYW5hXG4gICAqIHdvcmtzcGFjZSB0byBjb25uZWN0IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIFZQQyBjb25uZWN0aW9uXG4gICAqL1xuICByZWFkb25seSB2cGNDb25maWd1cmF0aW9uPzogVnBjQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGRhdGUgdGhhdCB0aGUgd29ya3NwYWNlIHdhcyBjcmVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBhdmFpbGFibGUgb24gaW1wb3J0ZWQgd29ya3NwYWNlc1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGlvblRpbWVzdGFtcD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBHcmFmYW5hIGNvbnNvbGUgaW4gdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5kcG9pbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdmVyc2lvbiBvZiBHcmFmYW5hIHN1cHBvcnRlZCBieSB0aGlzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhZmFuYVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IHJlY2VudCBkYXRlIHRoYXQgdGhlIHdvcmtzcGFjZSB3YXMgbW9kaWZpZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiBpbXBvcnRlZCB3b3Jrc3BhY2VzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IG1vZGlmaWNhdGlvblRpbWVzdGFtcD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHdvcmtzcGFjZSdzIFNBTUwgY29uZmlndXJhdGlvbiBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FtbENvbmZpZ3VyYXRpb25TdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgSUFNIElkZW50aXR5IENlbnRlci1tYW5hZ2VkIGFwcGxpY2F0aW9uIHRoYXQgaXMgY3JlYXRlZCBieSBBbWF6b24gTWFuYWdlZFxuICAgKiBHcmFmYW5hLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBhdmFpbGFibGUgb24gaW1wb3J0ZWQgd29ya3NwYWNlc1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzc29DbGllbnRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiBpbXBvcnRlZCB3b3Jrc3BhY2VzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBJRCBvZiB0aGlzIHdvcmtzcGFjZS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGlzIHdvcmtzcGFjZVxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VBcm46IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtzcGFjZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElXb3Jrc3BhY2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBhY2Nlc3MgdHlwZSBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIHdvcmtzcGFjZXMgaW1wb3J0ZWQgZnJvbSBhbiBBUk4gdmlhIGBXb3Jrc3BhY2UuZnJvbVdvcmtzcGFjZUFybmBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhY2NvdW50QWNjZXNzVHlwZT86IEFjY291bnRBY2Nlc3NUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aGVudGljYXRpb24gcHJvdmlkZXJzIGZvciB0aGUgd29ya3NwYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vdCBhdmFpbGFibGUgb24gd29ya3NwYWNlcyBpbXBvcnRlZCBmcm9tIGFuIEFSTiB2aWEgYFdvcmtzcGFjZS5mcm9tV29ya3NwYWNlQXJuYFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGF1dGhlbnRpY2F0aW9uUHJvdmlkZXJzPzogQXV0aGVudGljYXRpb25Qcm92aWRlcnNbXTtcblxuICAvKipcbiAgICogVGhlIGNsaWVudCB0b2tlbiBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjbGllbnRUb2tlbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGEgc291cmNlcyBvZiB0aGlzIHdvcmtzcGFjZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRhdGEgc291cmNlc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRhdGFTb3VyY2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGlzIHdvcmtzcGFjZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoaXMgd29ya3NwYWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuYW1lIGlzIGdlbmVyYXRlZCBieSBDbG91ZEZvcm1hdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBuZXR3b3JrIGFjY2VzcyB0byB5b3VyIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBuZXR3b3JrIGFjY2VzcyBjb250cm9sLCB0aGUgd29ya3NwYWNlIGlzIG9wZW4gdG8gYWxsIHRyYWZmaWNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuZXR3b3JrQWNjZXNzQ29udHJvbD86IE5ldHdvcmtBY2Nlc3NDb250cm9sO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWZpY2F0aW9uIGRlc3RpbmF0aW9ucyBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBub3RpZmljYXRpb24gZGVzdGluYXRpb25zXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbm90aWZpY2F0aW9uRGVzdGluYXRpb25zPzogTm90aWZpY2F0aW9uRGVzdGluYXRpb25zW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgb3JnYW5pemF0aW9uYWwgdW5pdHMgdGhhdCB0aGlzIHdvcmtzcGFjZSBpcyBhbGxvd2VkIHRvIHVzZSBkYXRhIHNvdXJjZXMgZnJvbSwgaWZcbiAgICogdGhpcyB3b3Jrc3BhY2UgaXMgaW4gYW4gYWNjb3VudCB0aGF0IGlzIHBhcnQgb2YgYW4gb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG9yZ2FuaXphdGlvbmFsIHVuaXRzXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgb3JnYW5pemF0aW9uYWxVbml0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSUFNIHJvbGUgdGhhdCBpcyB1c2VkIHRvIGFjY2VzcyByZXNvdXJjZXMgdGhyb3VnaCBPcmdhbml6YXRpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG9yZ2FuaXphdGlvbiByb2xlIG5hbWVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBvcmdhbml6YXRpb25Sb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb24gdHlwZSBmb3IgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIHdvcmtzcGFjZXMgaW1wb3J0ZWQgZnJvbSBhbiBBUk4gdmlhIGBXb3Jrc3BhY2UuZnJvbVdvcmtzcGFjZUFybmBcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBwZXJtaXNzaW9uVHlwZT86IFBlcm1pc3Npb25UeXBlcztcblxuICAvKipcbiAgICogV2hldGhlciBwbHVnaW4gYWRtaW5pc3RyYXRpb24gaXMgZW5hYmxlZCBpbiB0aGUgd29ya3NwYWNlLiBTZXR0aW5nIHRvIHRydWUgYWxsb3dzIHdvcmtzcGFjZVxuICAgKiBhZG1pbnMgdG8gaW5zdGFsbCwgdW5pbnN0YWxsLCBhbmQgdXBkYXRlIHBsdWdpbnMgZnJvbSB3aXRoaW4gdGhlIEdyYWZhbmEgd29ya3NwYWNlLlxuICAgKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBvbmx5IHZhbGlkIGZvciB3b3Jrc3BhY2VzIHRoYXQgc3VwcG9ydCBHcmFmYW5hIHZlcnNpb24gOSBvciBuZXdlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHBsdWdpbkFkbWluRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSB0aGF0IGdyYW50cyBwZXJtaXNzaW9ucyB0byB0aGUgQVdTIHJlc291cmNlcyB0aGF0IHRoZSB3b3Jrc3BhY2Ugd2lsbCB2aWV3IGRhdGFcbiAgICogZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByb2xlIGlzIGF0dGFjaGVkXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm9sZT86IElSb2xlO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgd29ya3NwYWNlIHVzZXMgU0FNTCwgdXNlIHRoaXMgc3RydWN0dXJlIHRvIG1hcCBTQU1MIGFzc2VydGlvbiBhdHRyaWJ1dGVzIHRvIHdvcmtzcGFjZVxuICAgKiB1c2VyIGluZm9ybWF0aW9uIGFuZCBkZWZpbmUgd2hpY2ggZ3JvdXBzIGluIHRoZSBhc3NlcnRpb24gYXR0cmlidXRlIGFyZSB0byBoYXZlIHRoZSBBZG1pbiBhbmRcbiAgICogRWRpdG9yIHJvbGVzIGluIHRoZSB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gU0FNTCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2FtbENvbmZpZ3VyYXRpb24/OiBTYW1sQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBzdGFjayBzZXQgdGhhdCBpcyB1c2VkIHRvIGdlbmVyYXRlIElBTSByb2xlcyB0byBiZSB1c2VkIGZvclxuICAgKiB0aGlzIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdGFjayBzZXQgbmFtZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YWNrU2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgZm9yIGFuIEFtYXpvbiBWUEMgdGhhdCBjb250YWlucyBkYXRhIHNvdXJjZXMgZm9yIHlvdXIgR3JhZmFuYVxuICAgKiB3b3Jrc3BhY2UgdG8gY29ubmVjdCB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBWUEMgY29ubmVjdGlvblxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHZwY0NvbmZpZ3VyYXRpb24/OiBWcGNDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSB0aGF0IHRoZSB3b3Jrc3BhY2Ugd2FzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiBpbXBvcnRlZCB3b3Jrc3BhY2VzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjcmVhdGlvblRpbWVzdGFtcD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCB0aGF0IHVzZXJzIGNhbiB1c2UgdG8gYWNjZXNzIHRoZSBHcmFmYW5hIGNvbnNvbGUgaW4gdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGVuZHBvaW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHZlcnNpb24gb2YgR3JhZmFuYSBzdXBwb3J0ZWQgYnkgdGhpcyB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm90IGF2YWlsYWJsZSBvbiBpbXBvcnRlZCB3b3Jrc3BhY2VzXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBncmFmYW5hVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vc3QgcmVjZW50IGRhdGUgdGhhdCB0aGUgd29ya3NwYWNlIHdhcyBtb2RpZmllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG1vZGlmaWNhdGlvblRpbWVzdGFtcD86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIHdvcmtzcGFjZSdzIFNBTUwgY29uZmlndXJhdGlvbiBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNhbWxDb25maWd1cmF0aW9uU3RhdHVzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIElBTSBJZGVudGl0eSBDZW50ZXItbWFuYWdlZCBhcHBsaWNhdGlvbiB0aGF0IGlzIGNyZWF0ZWQgYnkgQW1hem9uIE1hbmFnZWRcbiAgICogR3JhZmFuYS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNzb0NsaWVudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHdvcmtzcGFjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIHdvcmtzcGFjZXNcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBJRCBvZiB0aGlzIHdvcmtzcGFjZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB3b3Jrc3BhY2VJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoaXMgd29ya3NwYWNlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya3NwYWNlQXJuOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIGdldFdvcmtzcGFjZUFybih3b3Jrc3BhY2VJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdncmFmYW5hJyxcbiAgICAgIHJlc291cmNlOiAnd29ya3NwYWNlcycsXG4gICAgICByZXNvdXJjZU5hbWU6IHdvcmtzcGFjZUlkLFxuICAgICAgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRXb3Jrc3BhY2VJZCh3b3Jrc3BhY2VBcm46IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLnNwbGl0QXJuKHdvcmtzcGFjZUFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZSA/PyAnJztcbiAgfVxufSJdfQ==
|
package/lib/workspace.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IRole } from 'aws-cdk-lib/aws-iam';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
|
-
import { AccountAccessType, AuthenticationProviders, IWorkspace, NetworkAccessControl, NotificationDestinations, PermissionTypes, SamlConfiguration,
|
|
3
|
+
import { AccountAccessType, AuthenticationProviders, IWorkspace, NetworkAccessControl, NotificationDestinations, PermissionTypes, SamlConfiguration, VpcConfiguration, WorkspaceBase } from './workspace-base';
|
|
4
4
|
/**
|
|
5
5
|
* Properties for creating an Amazon Managed Grafana workspace.
|
|
6
6
|
*/
|
|
@@ -24,55 +24,77 @@ export interface WorkspaceProps {
|
|
|
24
24
|
/**
|
|
25
25
|
* A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.
|
|
26
26
|
*
|
|
27
|
-
* Must be 1-64 characters long and contain only printable ASCII characters
|
|
27
|
+
* Must be 1-64 characters long and contain only printable ASCII characters (validated by
|
|
28
|
+
* CloudFormation at deploy time). Note that an idempotency token has no practical effect in the
|
|
29
|
+
* declarative CloudFormation/CDK deployment model.
|
|
30
|
+
*
|
|
31
|
+
* @default - no client token
|
|
28
32
|
*/
|
|
29
33
|
readonly clientToken?: string;
|
|
30
34
|
/**
|
|
31
35
|
* Specifies the AWS data sources that have been configured to have IAM roles and permissions
|
|
32
36
|
* created to allow Amazon Managed Grafana to read data from these sources.
|
|
33
37
|
* This list is only used when the workspace was created through the AWS console, and the
|
|
34
|
-
* permissionType is SERVICE_MANAGED.
|
|
38
|
+
* permissionType is SERVICE_MANAGED. The Amazon Managed Grafana API marks this parameter as for
|
|
39
|
+
* internal use only and recommends against setting it.
|
|
40
|
+
*
|
|
41
|
+
* @default - no data sources
|
|
35
42
|
*/
|
|
36
43
|
readonly dataSources?: string[];
|
|
37
44
|
/**
|
|
38
45
|
* The user-defined description of the workspace.
|
|
39
46
|
*
|
|
40
|
-
* Maximum length of 2048 characters.
|
|
47
|
+
* Maximum length of 2048 characters (validated by CloudFormation at deploy time).
|
|
48
|
+
*
|
|
49
|
+
* @default - no description
|
|
41
50
|
*/
|
|
42
51
|
readonly description?: string;
|
|
43
52
|
/**
|
|
44
53
|
* Specifies the version of Grafana to support in the workspace. Defaults to the latest version
|
|
45
|
-
* on create (for example,
|
|
54
|
+
* on create (for example, 10.4), or the current version of the workspace on update.
|
|
46
55
|
* Can only be used to upgrade (for example, from 8.4 to 9.4), not downgrade (for example, from
|
|
47
56
|
* 9.4 to 8.4).
|
|
48
57
|
*
|
|
49
|
-
* Must be 1-255 characters long.
|
|
58
|
+
* Must be 1-255 characters long (validated by CloudFormation at deploy time).
|
|
59
|
+
*
|
|
60
|
+
* @default - the service assigns the latest Grafana version
|
|
50
61
|
*/
|
|
51
62
|
readonly grafanaVersion?: string;
|
|
52
63
|
/**
|
|
53
64
|
* The name of the workspace.
|
|
54
65
|
*
|
|
55
66
|
* Must be 1-255 characters long and contain only alphanumeric characters, hyphens, dots,
|
|
56
|
-
* underscores, and tildes.
|
|
67
|
+
* underscores, and tildes (validated by CloudFormation at deploy time).
|
|
68
|
+
*
|
|
69
|
+
* @default - a name is generated by CloudFormation
|
|
57
70
|
*/
|
|
58
71
|
readonly name?: string;
|
|
59
72
|
/**
|
|
60
73
|
* The configuration settings for network access to your workspace.
|
|
74
|
+
*
|
|
75
|
+
* @default - no network access control, the workspace is open to all traffic
|
|
61
76
|
*/
|
|
62
77
|
readonly networkAccessControl?: NetworkAccessControl;
|
|
63
78
|
/**
|
|
64
79
|
* The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles
|
|
65
80
|
* and permissions for, to allow Amazon Managed Grafana to use these channels.
|
|
81
|
+
*
|
|
82
|
+
* @default - no notification destinations
|
|
66
83
|
*/
|
|
67
84
|
readonly notificationDestinations?: NotificationDestinations[];
|
|
68
85
|
/**
|
|
69
86
|
* Specifies the organizational units that this workspace is allowed to use data sources from, if
|
|
70
87
|
* this workspace is in an account that is part of an organization.
|
|
88
|
+
*
|
|
89
|
+
* @default - no organizational units
|
|
71
90
|
*/
|
|
72
91
|
readonly organizationalUnits?: string[];
|
|
73
92
|
/**
|
|
74
93
|
* Name of the IAM role to use for the organization.
|
|
75
|
-
*
|
|
94
|
+
*
|
|
95
|
+
* Maximum length of 2048 characters (validated by CloudFormation at deploy time).
|
|
96
|
+
*
|
|
97
|
+
* @default - no organization role name
|
|
76
98
|
*/
|
|
77
99
|
readonly organizationRoleName?: string;
|
|
78
100
|
/**
|
|
@@ -95,28 +117,49 @@ export interface WorkspaceProps {
|
|
|
95
117
|
*
|
|
96
118
|
* This option is only valid for workspaces that support Grafana version 9 or newer.
|
|
97
119
|
*
|
|
98
|
-
*
|
|
120
|
+
* @default - false
|
|
99
121
|
*/
|
|
100
122
|
readonly pluginAdminEnabled?: boolean;
|
|
101
123
|
/**
|
|
102
124
|
* The IAM role that grants permissions to the AWS resources that the workspace will view data
|
|
103
125
|
* from.
|
|
126
|
+
*
|
|
127
|
+
* @default - no role is attached
|
|
104
128
|
*/
|
|
105
129
|
readonly role?: IRole;
|
|
106
130
|
/**
|
|
107
131
|
* If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace
|
|
108
132
|
* user information and define which groups in the assertion attribute are to have the Admin and
|
|
109
133
|
* Editor roles in the workspace.
|
|
134
|
+
*
|
|
135
|
+
* @default - no SAML configuration
|
|
110
136
|
*/
|
|
111
137
|
readonly samlConfiguration?: SamlConfiguration;
|
|
112
138
|
/**
|
|
113
139
|
* The name of the AWS CloudFormation stack set that is used to generate IAM roles to be used for
|
|
114
140
|
* this workspace.
|
|
141
|
+
*
|
|
142
|
+
* @default - no stack set name
|
|
115
143
|
*/
|
|
116
144
|
readonly stackSetName?: string;
|
|
145
|
+
/**
|
|
146
|
+
* A map of tags to assign to the workspace. Tags can also be applied after creation using
|
|
147
|
+
* `Tags.of(workspace).add(key, value)`.
|
|
148
|
+
*
|
|
149
|
+
* Constraints (from the Amazon Managed Grafana API): a maximum of 50 tags, each key must be
|
|
150
|
+
* 1-128 characters long and each value 0-256 characters long (validated by CloudFormation at
|
|
151
|
+
* deploy time).
|
|
152
|
+
*
|
|
153
|
+
* @default - no tags
|
|
154
|
+
*/
|
|
155
|
+
readonly tags?: {
|
|
156
|
+
[key: string]: string;
|
|
157
|
+
};
|
|
117
158
|
/**
|
|
118
159
|
* The configuration settings for an Amazon VPC that contains data sources for your Grafana
|
|
119
160
|
* workspace to connect to.
|
|
161
|
+
*
|
|
162
|
+
* @default - no VPC connection
|
|
120
163
|
*/
|
|
121
164
|
readonly vpcConfiguration?: VpcConfiguration;
|
|
122
165
|
}
|
|
@@ -140,46 +183,66 @@ export interface WorkspaceAttributes {
|
|
|
140
183
|
/**
|
|
141
184
|
* A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.
|
|
142
185
|
*
|
|
143
|
-
* Must be 1-64 characters long and contain only printable ASCII characters
|
|
186
|
+
* Must be 1-64 characters long and contain only printable ASCII characters (validated by
|
|
187
|
+
* CloudFormation at deploy time). Note that an idempotency token has no practical effect in the
|
|
188
|
+
* declarative CloudFormation/CDK deployment model.
|
|
189
|
+
*
|
|
190
|
+
* @default - no client token
|
|
144
191
|
*/
|
|
145
192
|
readonly clientToken?: string;
|
|
146
193
|
/**
|
|
147
194
|
* Specifies the AWS data sources that have been configured to have IAM roles and permissions
|
|
148
195
|
* created to allow Amazon Managed Grafana to read data from these sources.
|
|
149
196
|
* This list is only used when the workspace was created through the AWS console, and the
|
|
150
|
-
* permissionType is SERVICE_MANAGED.
|
|
197
|
+
* permissionType is SERVICE_MANAGED. The Amazon Managed Grafana API marks this parameter as for
|
|
198
|
+
* internal use only and recommends against setting it.
|
|
199
|
+
*
|
|
200
|
+
* @default - no data sources
|
|
151
201
|
*/
|
|
152
202
|
readonly dataSources?: string[];
|
|
153
203
|
/**
|
|
154
204
|
* The user-defined description of the workspace.
|
|
155
205
|
*
|
|
156
|
-
* Maximum length of 2048 characters.
|
|
206
|
+
* Maximum length of 2048 characters (validated by CloudFormation at deploy time).
|
|
207
|
+
*
|
|
208
|
+
* @default - no description
|
|
157
209
|
*/
|
|
158
210
|
readonly description?: string;
|
|
159
211
|
/**
|
|
160
212
|
* The name of the workspace.
|
|
161
213
|
*
|
|
162
214
|
* Must be 1-255 characters long and contain only alphanumeric characters, hyphens, dots,
|
|
163
|
-
* underscores, and tildes.
|
|
215
|
+
* underscores, and tildes (validated by CloudFormation at deploy time).
|
|
216
|
+
*
|
|
217
|
+
* @default - a name is generated by CloudFormation
|
|
164
218
|
*/
|
|
165
219
|
readonly name?: string;
|
|
166
220
|
/**
|
|
167
221
|
* The configuration settings for network access to your workspace.
|
|
222
|
+
*
|
|
223
|
+
* @default - no network access control, the workspace is open to all traffic
|
|
168
224
|
*/
|
|
169
225
|
readonly networkAccessControl?: NetworkAccessControl;
|
|
170
226
|
/**
|
|
171
227
|
* The AWS notification channels that Amazon Managed Grafana can automatically create IAM roles
|
|
172
228
|
* and permissions for, to allow Amazon Managed Grafana to use these channels.
|
|
229
|
+
*
|
|
230
|
+
* @default - no notification destinations
|
|
173
231
|
*/
|
|
174
232
|
readonly notificationDestinations?: NotificationDestinations[];
|
|
175
233
|
/**
|
|
176
234
|
* Specifies the organizational units that this workspace is allowed to use data sources from, if
|
|
177
235
|
* this workspace is in an account that is part of an organization.
|
|
236
|
+
*
|
|
237
|
+
* @default - no organizational units
|
|
178
238
|
*/
|
|
179
239
|
readonly organizationalUnits?: string[];
|
|
180
240
|
/**
|
|
181
241
|
* Name of the IAM role to use for the organization.
|
|
182
|
-
*
|
|
242
|
+
*
|
|
243
|
+
* Maximum length of 2048 characters (validated by CloudFormation at deploy time).
|
|
244
|
+
*
|
|
245
|
+
* @default - no organization role name
|
|
183
246
|
*/
|
|
184
247
|
readonly organizationRoleName?: string;
|
|
185
248
|
/**
|
|
@@ -202,28 +265,36 @@ export interface WorkspaceAttributes {
|
|
|
202
265
|
*
|
|
203
266
|
* This option is only valid for workspaces that support Grafana version 9 or newer.
|
|
204
267
|
*
|
|
205
|
-
*
|
|
268
|
+
* @default - false
|
|
206
269
|
*/
|
|
207
270
|
readonly pluginAdminEnabled?: boolean;
|
|
208
271
|
/**
|
|
209
272
|
* The IAM role that grants permissions to the AWS resources that the workspace will view data
|
|
210
273
|
* from.
|
|
274
|
+
*
|
|
275
|
+
* @default - no role is attached
|
|
211
276
|
*/
|
|
212
277
|
readonly role?: IRole;
|
|
213
278
|
/**
|
|
214
279
|
* If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace
|
|
215
280
|
* user information and define which groups in the assertion attribute are to have the Admin and
|
|
216
281
|
* Editor roles in the workspace.
|
|
282
|
+
*
|
|
283
|
+
* @default - no SAML configuration
|
|
217
284
|
*/
|
|
218
285
|
readonly samlConfiguration?: SamlConfiguration;
|
|
219
286
|
/**
|
|
220
287
|
* The name of the AWS CloudFormation stack set that is used to generate IAM roles to be used for
|
|
221
288
|
* this workspace.
|
|
289
|
+
*
|
|
290
|
+
* @default - no stack set name
|
|
222
291
|
*/
|
|
223
292
|
readonly stackSetName?: string;
|
|
224
293
|
/**
|
|
225
294
|
* The configuration settings for an Amazon VPC that contains data sources for your Grafana
|
|
226
295
|
* workspace to connect to.
|
|
296
|
+
*
|
|
297
|
+
* @default - no VPC connection
|
|
227
298
|
*/
|
|
228
299
|
readonly vpcConfiguration?: VpcConfiguration;
|
|
229
300
|
/**
|
|
@@ -238,29 +309,36 @@ export interface WorkspaceAttributes {
|
|
|
238
309
|
*/
|
|
239
310
|
export declare class Workspace extends WorkspaceBase {
|
|
240
311
|
static isWorkspace(x: any): x is Workspace;
|
|
241
|
-
static fromWorkspaceAttributes(scope: Construct, id: string, attrs: WorkspaceAttributes): IWorkspace;
|
|
242
312
|
/**
|
|
243
|
-
*
|
|
313
|
+
* Import an existing workspace from its ARN.
|
|
244
314
|
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
315
|
+
* A single ARN is the most common handle for referencing an existing workspace. The imported
|
|
316
|
+
* workspace only exposes identity information (`workspaceArn` and `workspaceId`); the create-time
|
|
317
|
+
* configuration properties are not available on an ARN import. Use `fromWorkspaceAttributes` when
|
|
318
|
+
* those properties are required.
|
|
247
319
|
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
320
|
+
* @param scope The parent construct
|
|
321
|
+
* @param id The construct id
|
|
322
|
+
* @param workspaceArn The ARN of the existing workspace
|
|
250
323
|
*/
|
|
251
|
-
|
|
324
|
+
static fromWorkspaceArn(scope: Construct, id: string, workspaceArn: string): IWorkspace;
|
|
325
|
+
static fromWorkspaceAttributes(scope: Construct, id: string, attrs: WorkspaceAttributes): IWorkspace;
|
|
252
326
|
/**
|
|
253
327
|
* Specifies whether the workspace can access AWS resources in this AWS account only, or whether
|
|
254
328
|
* it can also access AWS resources in other accounts in the same organization. If this is
|
|
255
329
|
* ORGANIZATION, the OrganizationalUnits parameter specifies which organizational units the
|
|
256
330
|
* workspace can access.
|
|
331
|
+
*
|
|
332
|
+
* Always populated for a workspace created through this construct (it is a required prop).
|
|
257
333
|
*/
|
|
258
|
-
readonly accountAccessType
|
|
334
|
+
readonly accountAccessType?: AccountAccessType;
|
|
259
335
|
/**
|
|
260
336
|
* Specifies whether this workspace uses SAML 2.0, AWS IAM Identity Center, or both to
|
|
261
337
|
* authenticate users for using the Grafana console within a workspace.
|
|
338
|
+
*
|
|
339
|
+
* Always populated for a workspace created through this construct (it is a required prop).
|
|
262
340
|
*/
|
|
263
|
-
readonly authenticationProviders
|
|
341
|
+
readonly authenticationProviders?: AuthenticationProviders[];
|
|
264
342
|
/**
|
|
265
343
|
* A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request.
|
|
266
344
|
*/
|
|
@@ -309,8 +387,10 @@ export declare class Workspace extends WorkspaceBase {
|
|
|
309
387
|
* If you are working with a workspace in a member account of an organization and that account is
|
|
310
388
|
* not a delegated administrator account, and you want the workspace to access data sources in
|
|
311
389
|
* other AWS accounts in the organization, this parameter must be set to CUSTOMER_MANAGED.
|
|
390
|
+
*
|
|
391
|
+
* Always populated for a workspace created through this construct (it is a required prop).
|
|
312
392
|
*/
|
|
313
|
-
readonly permissionType
|
|
393
|
+
readonly permissionType?: PermissionTypes;
|
|
314
394
|
/**
|
|
315
395
|
* Whether plugin administration is enabled in the workspace. Setting to true allows workspace
|
|
316
396
|
* admins to install, uninstall, and update plugins from within the Grafana workspace.
|
|
@@ -345,37 +425,59 @@ export declare class Workspace extends WorkspaceBase {
|
|
|
345
425
|
private readonly workspace;
|
|
346
426
|
/**
|
|
347
427
|
* The date that the workspace was created.
|
|
428
|
+
*
|
|
429
|
+
* @attribute
|
|
348
430
|
*/
|
|
349
|
-
readonly creationTimestamp
|
|
431
|
+
readonly creationTimestamp?: string;
|
|
350
432
|
/**
|
|
351
433
|
* The URL that users can use to access the Grafana console in the workspace.
|
|
434
|
+
*
|
|
435
|
+
* @attribute
|
|
352
436
|
*/
|
|
353
|
-
readonly endpoint
|
|
437
|
+
readonly endpoint?: string;
|
|
354
438
|
/**
|
|
355
439
|
* Specifies the version of Grafana supported by this workspace.
|
|
440
|
+
*
|
|
441
|
+
* @attribute
|
|
356
442
|
*/
|
|
357
|
-
readonly grafanaVersion
|
|
443
|
+
readonly grafanaVersion?: string;
|
|
358
444
|
/**
|
|
359
445
|
* The unique ID of this workspace.
|
|
446
|
+
*
|
|
447
|
+
* @attribute
|
|
360
448
|
*/
|
|
361
449
|
readonly workspaceId: string;
|
|
362
450
|
/**
|
|
363
451
|
* The most recent date that the workspace was modified.
|
|
452
|
+
*
|
|
453
|
+
* @attribute
|
|
364
454
|
*/
|
|
365
|
-
readonly modificationTimestamp
|
|
455
|
+
readonly modificationTimestamp?: string;
|
|
366
456
|
/**
|
|
367
457
|
* Specifies whether the workspace's SAML configuration is complete.
|
|
458
|
+
*
|
|
459
|
+
* This is a deploy-time CloudFormation attribute resolved as an unresolved token at synth time,
|
|
460
|
+
* so it is typed as `string`. See the `SamlConfigurationStatuses` enum for the possible values.
|
|
461
|
+
*
|
|
462
|
+
* @attribute
|
|
368
463
|
*/
|
|
369
|
-
readonly samlConfigurationStatus
|
|
464
|
+
readonly samlConfigurationStatus?: string;
|
|
370
465
|
/**
|
|
371
466
|
* The ID of the IAM Identity Center-managed application that is created by Amazon Managed
|
|
372
467
|
* Grafana.
|
|
468
|
+
*
|
|
469
|
+
* @attribute
|
|
373
470
|
*/
|
|
374
|
-
readonly ssoClientId
|
|
471
|
+
readonly ssoClientId?: string;
|
|
375
472
|
/**
|
|
376
473
|
* The current status of the workspace.
|
|
474
|
+
*
|
|
475
|
+
* This is a deploy-time CloudFormation attribute resolved as an unresolved token at synth time,
|
|
476
|
+
* so it is typed as `string`. See the `Status` enum for the possible values.
|
|
477
|
+
*
|
|
478
|
+
* @attribute
|
|
377
479
|
*/
|
|
378
|
-
readonly status
|
|
480
|
+
readonly status?: string;
|
|
379
481
|
/**
|
|
380
482
|
* The arn of this workspace.
|
|
381
483
|
*/
|