@aws-cdk/aws-glue-alpha 2.267.0-alpha.0 → 2.268.0-alpha.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/.jsii +532 -310
- package/.jsii.tabl.json.gz +0 -0
- package/README.md +5 -4
- package/lib/catalog.d.ts +2 -2
- package/lib/catalog.js +4 -4
- package/lib/code.js +3 -3
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.d.ts +20 -9
- package/lib/data-quality-ruleset.js +33 -6
- package/lib/database.d.ts +3 -1
- package/lib/database.js +8 -2
- package/lib/external-table.js +1 -1
- package/lib/jobs/job.d.ts +1 -1
- package/lib/jobs/job.js +3 -3
- package/lib/jobs/pyspark-etl-job.d.ts +1 -1
- package/lib/jobs/pyspark-etl-job.js +3 -3
- package/lib/jobs/pyspark-flex-etl-job.d.ts +1 -1
- package/lib/jobs/pyspark-flex-etl-job.js +3 -3
- package/lib/jobs/pyspark-streaming-job.d.ts +1 -1
- package/lib/jobs/pyspark-streaming-job.js +3 -3
- package/lib/jobs/python-shell-job.js +1 -1
- package/lib/jobs/ray-job.js +1 -1
- package/lib/jobs/scala-spark-etl-job.d.ts +3 -2
- package/lib/jobs/scala-spark-etl-job.js +5 -4
- package/lib/jobs/scala-spark-flex-etl-job.d.ts +11 -20
- package/lib/jobs/scala-spark-flex-etl-job.js +12 -11
- package/lib/jobs/scala-spark-streaming-job.d.ts +3 -2
- package/lib/jobs/scala-spark-streaming-job.js +5 -4
- package/lib/jobs/spark-job.js +1 -1
- package/lib/partition-projection.js +1 -1
- package/lib/s3-table.d.ts +7 -4
- package/lib/s3-table.js +12 -9
- package/lib/schema.js +2 -2
- package/lib/security-configuration.js +4 -4
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.js +1 -1
- package/lib/triggers/trigger-options.d.ts +1 -1
- package/lib/triggers/trigger-options.js +2 -2
- package/lib/triggers/workflow.js +2 -2
- package/package.json +7 -7
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ for more granular details.
|
|
|
71
71
|
#### ETL Jobs
|
|
72
72
|
|
|
73
73
|
ETL jobs support pySpark and Scala languages, for which there are separate but
|
|
74
|
-
similar constructors. ETL jobs default to the
|
|
74
|
+
similar constructors. ETL jobs default to the G1 worker type, but you can
|
|
75
75
|
override this default with other supported worker type values (G1, G2, G4
|
|
76
76
|
and G8). ETL jobs defaults to Glue version 4.0, which you can override to 3.0.
|
|
77
77
|
The following ETL features are enabled by default:
|
|
@@ -140,7 +140,7 @@ Streaming jobs are similar to ETL jobs, except that they perform ETL on data
|
|
|
140
140
|
streams using the Apache Spark Structured Streaming framework. Some Spark
|
|
141
141
|
job features are not available to Streaming ETL jobs. They support Scala
|
|
142
142
|
and pySpark languages. PySpark streaming jobs run on Python 3. It
|
|
143
|
-
defaults to the
|
|
143
|
+
defaults to the G1 worker type and Glue 4.0, both of which you can override.
|
|
144
144
|
The following best practice features are enabled by default:
|
|
145
145
|
`—enable-metrics, —enable-continuous-cloudwatch-log`.
|
|
146
146
|
The Spark UI (`—enable-spark-ui`) is off by default; enable it by setting the
|
|
@@ -197,7 +197,7 @@ new glue.PySparkStreamingJob(stack, 'PySparkStreamingJob', {
|
|
|
197
197
|
|
|
198
198
|
The flexible execution class is appropriate for non-urgent jobs such as
|
|
199
199
|
pre-production jobs, testing, and one-time data loads. Flexible jobs default
|
|
200
|
-
to Glue version 5.0 and worker type `
|
|
200
|
+
to Glue version 5.0 and worker type `G_1X`. The following best practice
|
|
201
201
|
features are enabled by default:
|
|
202
202
|
`—enable-metrics, —enable-continuous-cloudwatch-log`
|
|
203
203
|
The Spark UI (`—enable-spark-ui`) is off by default; enable it by setting the
|
|
@@ -1098,10 +1098,11 @@ Data Quality Definition Language (DQDL) — that are evaluated against a table i
|
|
|
1098
1098
|
the Data Catalog.
|
|
1099
1099
|
|
|
1100
1100
|
```ts
|
|
1101
|
+
declare const database: glue.IDatabase;
|
|
1101
1102
|
new glue.DataQualityRuleset(this, 'MyRuleset', {
|
|
1102
1103
|
rulesetName: 'my_ruleset',
|
|
1103
1104
|
dqdl: glue.Dqdl.fromString('Rules = [ RowCount > 100, IsComplete "order_id" ]'),
|
|
1104
|
-
targetTable:
|
|
1105
|
+
targetTable: glue.DataQualityTargetTable.fromTableName(database, 'my_table'),
|
|
1105
1106
|
});
|
|
1106
1107
|
```
|
|
1107
1108
|
|
package/lib/catalog.d.ts
CHANGED
|
@@ -44,7 +44,7 @@ export declare class DataCatalogEncryptionAtRest {
|
|
|
44
44
|
* @param key the KMS key to use. If omitted, an AWS-managed key is used and
|
|
45
45
|
* the key is not exposed as a grantable resource.
|
|
46
46
|
*/
|
|
47
|
-
static kms(key?: kms.
|
|
47
|
+
static kms(key?: kms.IKeyRef): DataCatalogEncryptionAtRest;
|
|
48
48
|
/**
|
|
49
49
|
* Encrypt the Data Catalog at rest with an AWS KMS key, accessed through a
|
|
50
50
|
* service role that AWS Glue assumes on your behalf.
|
|
@@ -56,7 +56,7 @@ export declare class DataCatalogEncryptionAtRest {
|
|
|
56
56
|
* @param key the KMS key to use. If omitted, an AWS-managed key is used and
|
|
57
57
|
* the key is not exposed as a grantable resource.
|
|
58
58
|
*/
|
|
59
|
-
static kmsWithServiceRole(role: iam.IRole, key?: kms.
|
|
59
|
+
static kmsWithServiceRole(role: iam.IRole, key?: kms.IKeyRef): DataCatalogEncryptionAtRest;
|
|
60
60
|
/**
|
|
61
61
|
* The encryption mode.
|
|
62
62
|
*/
|
package/lib/catalog.js
CHANGED
|
@@ -74,7 +74,7 @@ var CatalogEncryptionMode;
|
|
|
74
74
|
* @see https://docs.aws.amazon.com/glue/latest/webapi/API_EncryptionAtRest.html
|
|
75
75
|
*/
|
|
76
76
|
class DataCatalogEncryptionAtRest {
|
|
77
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataCatalogEncryptionAtRest", version: "2.
|
|
77
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataCatalogEncryptionAtRest", version: "2.268.0-alpha.0" };
|
|
78
78
|
/**
|
|
79
79
|
* Disable encryption at rest for the Data Catalog.
|
|
80
80
|
*/
|
|
@@ -130,7 +130,7 @@ exports.DataCatalogEncryptionAtRest = DataCatalogEncryptionAtRest;
|
|
|
130
130
|
* construction, so a catalog either carries settings or it does not.
|
|
131
131
|
*/
|
|
132
132
|
class CatalogBase extends core_1.Resource {
|
|
133
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.CatalogBase", version: "2.
|
|
133
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.CatalogBase", version: "2.268.0-alpha.0" };
|
|
134
134
|
_encryptionKey;
|
|
135
135
|
_connectionPasswordKey;
|
|
136
136
|
get encryptionKey() {
|
|
@@ -224,7 +224,7 @@ let Catalog = (() => {
|
|
|
224
224
|
Catalog = _classThis = _classDescriptor.value;
|
|
225
225
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
226
226
|
}
|
|
227
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Catalog", version: "2.
|
|
227
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Catalog", version: "2.268.0-alpha.0" };
|
|
228
228
|
/** Uniquely identifies this class. */
|
|
229
229
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Catalog';
|
|
230
230
|
/**
|
|
@@ -421,4 +421,4 @@ let ImportedCatalog = (() => {
|
|
|
421
421
|
};
|
|
422
422
|
return ImportedCatalog = _classThis;
|
|
423
423
|
})();
|
|
424
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQW9GO0FBR3BGLGlEQUFnRDtBQUVoRCwyQ0FBc0Y7QUFDdEYsNEVBQTREO0FBQzVELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFHMUU7Ozs7R0FJRztBQUNILElBQVkscUJBZ0JYO0FBaEJELFdBQVkscUJBQXFCO0lBQy9COztPQUVHO0lBQ0gsOENBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw0Q0FBbUIsQ0FBQTtJQUVuQjs7O09BR0c7SUFDSCxnRkFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBaEJXLHFCQUFxQixxQ0FBckIscUJBQXFCLFFBZ0JoQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSwyQkFBMkI7O0lBQ3RDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQWM7UUFDOUIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztLQUM1RTtJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBZSxFQUFFLEdBQWM7UUFDOUQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNwRztJQUVEOztPQUVHO0lBQ2EsSUFBSSxDQUF3QjtJQUU1Qzs7T0FFRztJQUNhLE1BQU0sQ0FBZTtJQUVyQzs7T0FFRztJQUNhLFdBQVcsQ0FBYTtJQUV4QyxZQUFvQixJQUEyQixFQUFFLE1BQW9CLEVBQUUsV0FB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QVcseUNBQXlDLENBQUM7UUFDakYsU0FBUyxDQUFTO1FBQ2xCLFVBQVUsQ0FBUztRQUVuQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFNBQWlCLEVBQUUsVUFBa0I7WUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqQixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7O1lBWkcsdURBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENhdGFsb2dSZWZlcmVuY2UsIElDYXRhbG9nUmVmIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHsgQ2ZuQ2F0YWxvZywgQ2ZuRGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3MgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgdHlwZSAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHsgS2V5R3JhbnRzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgQXJuRm9ybWF0LCBSZXNvdXJjZSwgU3RhY2ssIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBUaGUgZW5jcnlwdGlvbi1hdC1yZXN0IG1vZGUgZm9yIGEgR2x1ZSBEYXRhIENhdGFsb2cuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3Qvd2ViYXBpL0FQSV9FbmNyeXB0aW9uQXRSZXN0Lmh0bWwjR2x1ZS1UeXBlLUVuY3J5cHRpb25BdFJlc3QtQ2F0YWxvZ0VuY3J5cHRpb25Nb2RlXG4gKi9cbmV4cG9ydCBlbnVtIENhdGFsb2dFbmNyeXB0aW9uTW9kZSB7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uIGF0IHJlc3QgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBESVNBQkxFRCA9ICdESVNBQkxFRCcsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleS5cbiAgICovXG4gIFNTRV9LTVMgPSAnU1NFLUtNUycsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gKFNTRSkgd2l0aCBhbiBBV1MgS01TIGtleSwgdXNpbmcgYSBzZXJ2aWNlIHJvbGUgdGhhdFxuICAgKiBBV1MgR2x1ZSBhc3N1bWVzIHRvIGFjY2VzcyB0aGUga2V5IG9uIHlvdXIgYmVoYWxmLlxuICAgKi9cbiAgU1NFX0tNU19XSVRIX1NFUlZJQ0VfUk9MRSA9ICdTU0UtS01TLVdJVEgtU0VSVklDRS1ST0xFJyxcbn1cblxuLyoqXG4gKiBFbmNyeXB0aW9uLWF0LXJlc3QgY29uZmlndXJhdGlvbiBmb3IgYSBHbHVlIERhdGEgQ2F0YWxvZy5cbiAqXG4gKiBUaGUgRGF0YSBDYXRhbG9nIGVuY3J5cHRpb24gYXQgcmVzdCBhbmQgdGhlIGNvbm5lY3Rpb24gcGFzc3dvcmQgZW5jcnlwdGlvblxuICogYXJlIGluZGVwZW5kZW50OiBlbmFibGluZyBvbmUgZG9lcyBub3QgcmVxdWlyZSB0aGUgb3RoZXIsIGFuZCBlYWNoIG1heSB1c2UgYVxuICogZGlmZmVyZW50IEtNUyBrZXkuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3Qvd2ViYXBpL0FQSV9FbmNyeXB0aW9uQXRSZXN0Lmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdCB7XG4gIC8qKlxuICAgKiBEaXNhYmxlIGVuY3J5cHRpb24gYXQgcmVzdCBmb3IgdGhlIERhdGEgQ2F0YWxvZy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGlzYWJsZWQoKTogRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0IHtcbiAgICByZXR1cm4gbmV3IERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdChDYXRhbG9nRW5jcnlwdGlvbk1vZGUuRElTQUJMRUQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY3J5cHQgdGhlIERhdGEgQ2F0YWxvZyBhdCByZXN0IHdpdGggYW4gQVdTIEtNUyBrZXkuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgdGhlIEtNUyBrZXkgdG8gdXNlLiBJZiBvbWl0dGVkLCBhbiBBV1MtbWFuYWdlZCBrZXkgaXMgdXNlZCBhbmRcbiAgICogdGhlIGtleSBpcyBub3QgZXhwb3NlZCBhcyBhIGdyYW50YWJsZSByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMga21zKGtleT86IGttcy5JS2V5KTogRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0IHtcbiAgICByZXR1cm4gbmV3IERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdChDYXRhbG9nRW5jcnlwdGlvbk1vZGUuU1NFX0tNUywga2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmNyeXB0IHRoZSBEYXRhIENhdGFsb2cgYXQgcmVzdCB3aXRoIGFuIEFXUyBLTVMga2V5LCBhY2Nlc3NlZCB0aHJvdWdoIGFcbiAgICogc2VydmljZSByb2xlIHRoYXQgQVdTIEdsdWUgYXNzdW1lcyBvbiB5b3VyIGJlaGFsZi5cbiAgICpcbiAgICogV2hlbiBhIGN1c3RvbWVyLW1hbmFnZWQgYGtleWAgaXMgcHJvdmlkZWQsIHRoZSBgcm9sZWAgaXMgYXV0b21hdGljYWxseVxuICAgKiBncmFudGVkIGBrbXM6RW5jcnlwdGAvYGttczpEZWNyeXB0YC9ga21zOkdlbmVyYXRlRGF0YUtleSpgIG9uIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gcm9sZSB0aGUgc2VydmljZSByb2xlIHRoYXQgQVdTIEdsdWUgYXNzdW1lcyB0byBhY2Nlc3MgdGhlIGtleS5cbiAgICogQHBhcmFtIGtleSB0aGUgS01TIGtleSB0byB1c2UuIElmIG9taXR0ZWQsIGFuIEFXUy1tYW5hZ2VkIGtleSBpcyB1c2VkIGFuZFxuICAgKiB0aGUga2V5IGlzIG5vdCBleHBvc2VkIGFzIGEgZ3JhbnRhYmxlIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBrbXNXaXRoU2VydmljZVJvbGUocm9sZTogaWFtLklSb2xlLCBrZXk/OiBrbXMuSUtleSk6IERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdCB7XG4gICAgcmV0dXJuIG5ldyBEYXRhQ2F0YWxvZ0VuY3J5cHRpb25BdFJlc3QoQ2F0YWxvZ0VuY3J5cHRpb25Nb2RlLlNTRV9LTVNfV0lUSF9TRVJWSUNFX1JPTEUsIGtleSwgcm9sZSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGVuY3J5cHRpb24gbW9kZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtb2RlOiBDYXRhbG9nRW5jcnlwdGlvbk1vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b21lci1tYW5hZ2VkIEtNUyBrZXkgdXNlZCBmb3IgZW5jcnlwdGlvbiBhdCByZXN0LCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkga21zS2V5Pzoga21zLklLZXlSZWY7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIHJvbGUgdGhhdCBBV1MgR2x1ZSBhc3N1bWVzIHRvIGFjY2VzcyB0aGUgS01TIGtleSwgaWYgYW55LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlcnZpY2VSb2xlPzogaWFtLklSb2xlO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IobW9kZTogQ2F0YWxvZ0VuY3J5cHRpb25Nb2RlLCBrbXNLZXk/OiBrbXMuSUtleVJlZiwgc2VydmljZVJvbGU/OiBpYW0uSVJvbGUpIHtcbiAgICB0aGlzLm1vZGUgPSBtb2RlO1xuICAgIHRoaXMua21zS2V5ID0ga21zS2V5O1xuICAgIHRoaXMuc2VydmljZVJvbGUgPSBzZXJ2aWNlUm9sZTtcbiAgfVxufVxuXG4vKipcbiAqIENvbm5lY3Rpb24tcGFzc3dvcmQgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIEdsdWUgRGF0YSBDYXRhbG9nLlxuICpcbiAqIFdoZW4gZW5hYmxlZCwgdGhlIERhdGEgQ2F0YWxvZyBlbmNyeXB0cyB0aGUgcGFzc3dvcmQgYXMgcGFydCBvZlxuICogYENyZWF0ZUNvbm5lY3Rpb25gIG9yIGBVcGRhdGVDb25uZWN0aW9uYCBhbmQgc3RvcmVzIGl0IGluIHRoZVxuICogYEVOQ1JZUFRFRF9QQVNTV09SRGAgZmllbGQgb2YgdGhlIGNvbm5lY3Rpb24gcHJvcGVydGllcy4gVGhpcyBpcyBpbmRlcGVuZGVudFxuICogZnJvbSBjYXRhbG9nIGVuY3J5cHRpb24gYXQgcmVzdCwgYW5kIG1heSB1c2UgYSBkaWZmZXJlbnQgS01TIGtleS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0Nvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb24uaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb24ge1xuICAvKipcbiAgICogVGhlIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IGNvbm5lY3Rpb24gcGFzc3dvcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFuIEFXUy1tYW5hZ2VkIGtleSBpcyB1c2VkIGFuZCB0aGUga2V5IGlzIG5vdCBleHBvc2VkIGFzIGEgZ3JhbnRhYmxlIHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkga21zS2V5Pzoga21zLklLZXlSZWY7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgcGFzc3dvcmRzIHJlbWFpbiBlbmNyeXB0ZWQgaW4gdGhlIHJlc3BvbnNlcyBvZiBgR2V0Q29ubmVjdGlvbmAgYW5kXG4gICAqIGBHZXRDb25uZWN0aW9uc2AuIFRoaXMgdGFrZXMgZWZmZWN0IGluZGVwZW5kZW50bHkgZnJvbSBjYXRhbG9nIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldHVybkNvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5jcnlwdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIEdsdWUgRGF0YSBDYXRhbG9nLlxuICpcbiAqIEVuY3J5cHRpb24gaXMgZml4ZWQgYXQgY29uc3RydWN0aW9uOiBhIGNhdGFsb2cgZWl0aGVyIGNhcnJpZXMgZW5jcnlwdGlvblxuICogc2V0dGluZ3Mgb3IgaXQgZG9lcyBub3QsIHdoaWNoIGtlZXBzIGl0cyBjb25maWd1cmF0aW9uIGVhc3kgdG8gcmVhc29uIGFib3V0XG4gKiBhbmQgYXZvaWRzIG9yZGVyLWRlcGVuZGVudCBtdXRhdGlvbiBhZnRlciB0aGUgY2F0YWxvZyBpcyBjcmVhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhdGFsb2dFbmNyeXB0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmNyeXB0aW9uLWF0LXJlc3QgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNhdGFsb2cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZW5jcnlwdGlvbiBhdCByZXN0IGlzIG5vdCBtYW5hZ2VkIGJ5IENESyAodGhlIGNhdGFsb2cgZGVmYXVsdCBhcHBsaWVzKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbkF0UmVzdD86IERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdDtcblxuICAvKipcbiAgICogQ29ubmVjdGlvbi1wYXNzd29yZCBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjYXRhbG9nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGNvbm5lY3Rpb24tcGFzc3dvcmQgZW5jcnlwdGlvbiBpcyBub3QgbWFuYWdlZCBieSBDREtcbiAgICovXG4gIHJlYWRvbmx5IGNvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb24/OiBDb25uZWN0aW9uUGFzc3dvcmRFbmNyeXB0aW9uO1xufVxuXG4vKipcbiAqIEEgR2x1ZSBEYXRhIENhdGFsb2csIGVpdGhlciB0aGUgaW1wbGljaXQgYWNjb3VudC13aWRlIGNhdGFsb2cgb3Igb25lIGNyZWF0ZWRcbiAqIGFzIGFuIGBBV1M6OkdsdWU6OkNhdGFsb2dgIHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDYXRhbG9nIGV4dGVuZHMgSVJlc291cmNlLCBJQ2F0YWxvZ1JlZiB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGNhdGFsb2cgKGZvciB0aGUgYWNjb3VudC13aWRlIGNhdGFsb2csIHRoZSBBV1MgYWNjb3VudCBpZCkuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNhdGFsb2dJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBjYXRhbG9nLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjYXRhbG9nQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b21lci1tYW5hZ2VkIEtNUyBrZXkgdXNlZCBmb3IgdGhlIGNhdGFsb2cncyBlbmNyeXB0aW9uIGF0IHJlc3QsIGlmXG4gICAqIG9uZSB3YXMgY29uZmlndXJlZC5cbiAgICpcbiAgICogVW5kZWZpbmVkIHdoZW4gZW5jcnlwdGlvbiBpcyBkaXNhYmxlZCBvciBhbiBBV1MtbWFuYWdlZCBrZXkgaXMgdXNlZC4gR3JhbnRcbiAgICogYWNjZXNzIHRvIGl0IHZpYSBgS2V5R3JhbnRzYCwgZS5nLlxuICAgKiBgaWYgKGNhdGFsb2cuZW5jcnlwdGlvbktleSkgeyBLZXlHcmFudHMuZnJvbUtleShjYXRhbG9nLmVuY3J5cHRpb25LZXkpLmVuY3J5cHQoZ3JhbnRlZSk7IH1gLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5JS2V5UmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tZXItbWFuYWdlZCBLTVMga2V5IHVzZWQgdG8gZW5jcnlwdCBjb25uZWN0aW9uIHBhc3N3b3JkcywgaWYgb25lXG4gICAqIHdhcyBjb25maWd1cmVkLlxuICAgKlxuICAgKiBVbmRlZmluZWQgd2hlbiBwYXNzd29yZCBlbmNyeXB0aW9uIHVzZXMgYW4gQVdTLW1hbmFnZWQga2V5IG9yIGlzIG5vdFxuICAgKiBjb25maWd1cmVkLiBHcmFudCBhY2Nlc3MgdG8gaXQgdmlhIGBLZXlHcmFudHNgLCBlLmcuXG4gICAqIGBpZiAoY2F0YWxvZy5jb25uZWN0aW9uUGFzc3dvcmRLZXkpIHsgS2V5R3JhbnRzLmZyb21LZXkoY2F0YWxvZy5jb25uZWN0aW9uUGFzc3dvcmRLZXkpLmVuY3J5cHQoZ3JhbnRlZSk7IH1gLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblBhc3N3b3JkS2V5Pzoga21zLklLZXlSZWY7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWxsIGBJQ2F0YWxvZ2AgaW1wbGVtZW50YXRpb25zLiBNYXRlcmlhbGl6ZXMgdGhlIHNpbmdsZVxuICogYENmbkRhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzYCByZXNvdXJjZSAodGFyZ2V0aW5nIGl0cyBvd24gYGNhdGFsb2dJZGApXG4gKiBmcm9tIHRoZSBlbmNyeXB0aW9uIG9wdGlvbnMgc3VwcGxpZWQgYXQgY29uc3RydWN0aW9uLiBFbmNyeXB0aW9uIGlzIGZpeGVkIGF0XG4gKiBjb25zdHJ1Y3Rpb24sIHNvIGEgY2F0YWxvZyBlaXRoZXIgY2FycmllcyBzZXR0aW5ncyBvciBpdCBkb2VzIG5vdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENhdGFsb2dCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQ2F0YWxvZyB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjYXRhbG9nSWQ6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNhdGFsb2dBcm46IHN0cmluZztcblxuICBwcml2YXRlIF9lbmNyeXB0aW9uS2V5Pzoga21zLklLZXlSZWY7XG4gIHByaXZhdGUgX2Nvbm5lY3Rpb25QYXNzd29yZEtleT86IGttcy5JS2V5UmVmO1xuXG4gIHB1YmxpYyBnZXQgZW5jcnlwdGlvbktleSgpOiBrbXMuSUtleVJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VuY3J5cHRpb25LZXk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbm5lY3Rpb25QYXNzd29yZEtleSgpOiBrbXMuSUtleVJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25QYXNzd29yZEtleTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2F0YWxvZ1JlZigpOiBDYXRhbG9nUmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVzb3VyY2VBcm46IHRoaXMuY2F0YWxvZ0FybixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgdGhlIGNhdGFsb2cncyBlbmNyeXB0aW9uIHNldHRpbmdzIGZyb20gdGhlIG9wdGlvbnMgZml4ZWQgYXRcbiAgICogY29uc3RydWN0aW9uLiBTdWJjbGFzc2VzIGNhbGwgdGhpcyBvbmNlLCBhZnRlciBgY2F0YWxvZ0lkYC9gY2F0YWxvZ0FybmAgYXJlXG4gICAqIGFzc2lnbmVkLiBXaGVuIG5laXRoZXIgYmxvY2sgaXMgY29uZmlndXJlZCwgbm8gcmVzb3VyY2UgaXMgZW1pdHRlZCwgYXZvaWRpbmdcbiAgICogYW4gZW1wdHkgc2V0dGluZ3MgcmVzb3VyY2UgdGhhdCB3b3VsZCByZXNldCB0aGUgY2F0YWxvZyBvbiBkZXBsb3kuXG4gICAqL1xuICBwcm90ZWN0ZWQgY29uZmlndXJlRW5jcnlwdGlvbihvcHRpb25zOiBDYXRhbG9nRW5jcnlwdGlvbk9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBhdFJlc3QgPSBvcHRpb25zLmVuY3J5cHRpb25BdFJlc3Q7XG4gICAgY29uc3QgcGFzc3dvcmQgPSBvcHRpb25zLmNvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb247XG5cbiAgICBpZiAoIWF0UmVzdCAmJiAhcGFzc3dvcmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9lbmNyeXB0aW9uS2V5ID0gYXRSZXN0Py5rbXNLZXk7XG4gICAgdGhpcy5fY29ubmVjdGlvblBhc3N3b3JkS2V5ID0gcGFzc3dvcmQ/Lmttc0tleTtcblxuICAgIC8vIEF1dG8tZ3JhbnQgdGhlIHNlcnZpY2Ugcm9sZSBhY2Nlc3MgdG8gdGhlIGN1c3RvbWVyLW1hbmFnZWQga2V5IGl0IG5lZWRzXG4gICAgLy8gdG8gZW5jcnlwdCBhbmQgZGVjcnlwdCBjYXRhbG9nIGRhdGEuIE5vdGhpbmcgdG8gZ3JhbnQgZm9yIGFuIEFXUy1tYW5hZ2VkXG4gICAgLy8ga2V5ICh3ZSBkb24ndCBvd24gaXRzIGtleSBwb2xpY3kpLlxuICAgIGlmIChhdFJlc3Q/LnNlcnZpY2VSb2xlICYmIGF0UmVzdC5rbXNLZXkpIHtcbiAgICAgIEtleUdyYW50cy5mcm9tS2V5KGF0UmVzdC5rbXNLZXkpLmVuY3J5cHREZWNyeXB0KGF0UmVzdC5zZXJ2aWNlUm9sZSk7XG4gICAgfVxuXG4gICAgLy8gVHdvIGNhdGFsb2cgaW5zdGFuY2VzIHRoYXQgdGFyZ2V0IHRoZSBzYW1lIGNhdGFsb2cgaWQgd291bGQgZWFjaCBlbWl0IGFcbiAgICAvLyBzZXR0aW5ncyByZXNvdXJjZSBhbmQgcmFjZSB0byBvdmVyd3JpdGUgb25lIGFub3RoZXIgdmlhXG4gICAgLy8gYFB1dERhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzYC4gV2l0aGluIG9uZSBzdGFjayB0aGlzIGlzIHN1cmZhY2VkIGJ5XG4gICAgLy8gQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGUgdmFsaWRhdGlvbiAoRTMwMTk6IGR1cGxpY2F0ZSBwcmltYXJ5IGlkZW50aWZpZXJzKSxcbiAgICAvLyBzbyB3ZSBkbyBub3QgZHVwbGljYXRlIHRoYXQgY2hlY2sgaGVyZS5cbiAgICBuZXcgQ2ZuRGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3ModGhpcywgJ0VuY3J5cHRpb25TZXR0aW5ncycsIHtcbiAgICAgIGNhdGFsb2dJZDogdGhpcy5jYXRhbG9nSWQsXG4gICAgICBkYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5nczoge1xuICAgICAgICBlbmNyeXB0aW9uQXRSZXN0OiBhdFJlc3RcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIGNhdGFsb2dFbmNyeXB0aW9uTW9kZTogYXRSZXN0Lm1vZGUsXG4gICAgICAgICAgICBzc2VBd3NLbXNLZXlJZDogYXRSZXN0Lmttc0tleT8ua2V5UmVmLmtleUFybixcbiAgICAgICAgICAgIGNhdGFsb2dFbmNyeXB0aW9uU2VydmljZVJvbGU6IGF0UmVzdC5zZXJ2aWNlUm9sZT8ucm9sZUFybixcbiAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGNvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb246IHBhc3N3b3JkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICBrbXNLZXlJZDogcGFzc3dvcmQua21zS2V5Py5rZXlSZWYua2V5QXJuLFxuICAgICAgICAgICAgcmV0dXJuQ29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGVkOiBwYXNzd29yZC5yZXR1cm5Db25uZWN0aW9uUGFzc3dvcmRFbmNyeXB0ZWQgPz8gdHJ1ZSxcbiAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGEgYENhdGFsb2dgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhdGFsb2dQcm9wcyBleHRlbmRzIENhdGFsb2dFbmNyeXB0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY2F0YWxvZy5cbiAgICovXG4gIHJlYWRvbmx5IGNhdGFsb2dOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIGNhdGFsb2cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBzdGFjay1zY29wZWQgc2luZ2xldG9uIGlkIGZvciB0aGUgaW1wbGljaXQgYWNjb3VudC13aWRlIGNhdGFsb2cuXG4gKi9cbmNvbnN0IEFDQ09VTlRfQ0FUQUxPR19VSUQgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuQWNjb3VudENhdGFsb2cnO1xuXG4vKipcbiAqIEEgR2x1ZSBEYXRhIENhdGFsb2cuXG4gKlxuICogVXNlIGBDYXRhbG9nLmZvckFjY291bnQoc2NvcGUpYCB0byBvYnRhaW4gdGhlIGltcGxpY2l0IGFjY291bnQtd2lkZSBjYXRhbG9nLFxuICogYENhdGFsb2cuZW5jcnlwdEFjY291bnQoc2NvcGUsIG9wdGlvbnMpYCB0byBjb25maWd1cmUgaXRzIERhdGEgQ2F0YWxvZ1xuICogZW5jcnlwdGlvbiwgb3IgYG5ldyBDYXRhbG9nKC4uLilgIHRvIGNyZWF0ZSBhbiBgQVdTOjpHbHVlOjpDYXRhbG9nYCByZXNvdXJjZS5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIENhdGFsb2cgZXh0ZW5kcyBDYXRhbG9nQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuQ2F0YWxvZyc7XG5cbiAgLyoqXG4gICAqIE9idGFpbiB0aGUgaW1wbGljaXQsIGFjY291bnQtd2lkZSBEYXRhIENhdGFsb2cuXG4gICAqXG4gICAqIFRoZSBhY2NvdW50IGNhdGFsb2cgaXMgbm90IGEgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2U7IGl0IGFsd2F5cyBleGlzdHMuIFRoaXNcbiAgICogcmV0dXJucyBhIHN0YWNrLXNjb3BlZCBzaW5nbGV0b24sIHNvIHJlcGVhdGVkIGNhbGxzIHdpdGhpbiB0aGUgc2FtZSBzdGFja1xuICAgKiByZXR1cm4gdGhlIHNhbWUgaW5zdGFuY2UuXG4gICAqXG4gICAqIFRoaXMgcmV0dXJucyB0aGUgYWNjb3VudCBjYXRhbG9nIHdpdGhvdXQgbWFuYWdpbmcgaXRzIGVuY3J5cHRpb24uIFRvXG4gICAqIGNvbmZpZ3VyZSBEYXRhIENhdGFsb2cgZW5jcnlwdGlvbiBmb3IgdGhlIGFjY291bnQsIHVzZVxuICAgKiBgQ2F0YWxvZy5lbmNyeXB0QWNjb3VudChzY29wZSwgb3B0aW9ucylgIGluc3RlYWQgLSBpdCBtdXN0IGJlIGNhbGxlZCBiZWZvcmVcbiAgICogdGhlIGFjY291bnQgY2F0YWxvZyBpcyBmaXJzdCB1c2VkIGluIHRoZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZm9yQWNjb3VudChzY29wZTogQ29uc3RydWN0KTogSUNhdGFsb2cge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGV4aXN0aW5nID0gc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoQUNDT1VOVF9DQVRBTE9HX1VJRCk7XG4gICAgcmV0dXJuIChleGlzdGluZyBhcyBBY2NvdW50Q2F0YWxvZykgPz8gbmV3IEFjY291bnRDYXRhbG9nKHN0YWNrLCBBQ0NPVU5UX0NBVEFMT0dfVUlELCB7fSk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlIERhdGEgQ2F0YWxvZyBlbmNyeXB0aW9uIGZvciB0aGUgaW1wbGljaXQsIGFjY291bnQtd2lkZSBjYXRhbG9nIGFuZFxuICAgKiByZXR1cm4gaXQuXG4gICAqXG4gICAqIFRoZSBhY2NvdW50IGNhdGFsb2cncyBlbmNyeXB0aW9uIGlzIGFuIGFjY291bnQvcmVnaW9uLXdpZGUgc2V0dGluZywgbWFuYWdlZFxuICAgKiB0aHJvdWdoIHRoZSBzaW5nbGV0b24gYFB1dERhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzYCBBUEkuIEJlY2F1c2VcbiAgICogZW5jcnlwdGlvbiBpcyBmaXhlZCBhdCBjb25zdHJ1Y3Rpb24sIGl0IG11c3QgYmUgY29uZmlndXJlZCBiZWZvcmUgdGhlXG4gICAqIGFjY291bnQgY2F0YWxvZyBpcyBmaXJzdCB1c2VkIGluIHRoZSBzdGFjazogY2FsbGluZyB0aGlzIGFmdGVyIHRoZSBhY2NvdW50XG4gICAqIGNhdGFsb2cgaGFzIGFscmVhZHkgYmVlbiBtYXRlcmlhbGl6ZWQgKGZvciBleGFtcGxlIGJ5IGBDYXRhbG9nLmZvckFjY291bnRgLFxuICAgKiBvciBieSBhIGBEYXRhYmFzZWAgdGhhdCB1c2VzIHRoZSBhY2NvdW50IGNhdGFsb2cpIHRocm93cy5cbiAgICpcbiAgICogQ29uZmlndXJlIGl0IGluIGV4YWN0bHkgb25lIHN0YWNrLiBDb25maWd1cmluZyBpdCBmcm9tIG11bHRpcGxlIHN0YWNrcyBpbiB0aGVcbiAgICogc2FtZSBhY2NvdW50IGFuZCByZWdpb24gbWFrZXMgdGhvc2Ugc3RhY2tzIG92ZXJ3cml0ZSBvbmUgYW5vdGhlciBhdCBkZXBsb3lcbiAgICogdGltZSwgYW5kIHRoZSByZXN1bHQgaXMgb3JkZXItZGVwZW5kZW50LiBVbmxpa2UgZHVwbGljYXRlIHNldHRpbmdzIHdpdGhpbiBhXG4gICAqIHNpbmdsZSBzdGFjayAod2hpY2ggQ2xvdWRGb3JtYXRpb24gcmVqZWN0cyksIHRoaXMgY3Jvc3Mtc3RhY2sgY29uZmxpY3QgaXMgbm90XG4gICAqIGNhdWdodCBhdCBzeW50aGVzaXMgdGltZSwgYmVjYXVzZSBlYWNoIHN0YWNrIHN5bnRoZXNpemVzIHRvIGl0cyBvd24gdGVtcGxhdGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVuY3J5cHRBY2NvdW50KHNjb3BlOiBDb25zdHJ1Y3QsIG9wdGlvbnM6IENhdGFsb2dFbmNyeXB0aW9uT3B0aW9ucyk6IElDYXRhbG9nIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBpZiAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoQUNDT1VOVF9DQVRBTE9HX1VJRCkpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBBY2NvdW50Q2F0YWxvZ0FscmVhZHlJblVzZWAsXG4gICAgICAgICd0aGUgYWNjb3VudCBjYXRhbG9nIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCBpbiB0aGlzIHN0YWNrOyBjYWxsIENhdGFsb2cuZW5jcnlwdEFjY291bnQoKSBiZWZvcmUgQ2F0YWxvZy5mb3JBY2NvdW50KCkgb3IgYW55IERhdGFiYXNlIHRoYXQgdXNlcyB0aGUgYWNjb3VudCBjYXRhbG9nJyxcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEFjY291bnRDYXRhbG9nKHN0YWNrLCBBQ0NPVU5UX0NBVEFMT0dfVUlELCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgY2F0YWxvZyBieSBpdHMgQVJOLlxuICAgKlxuICAgKiBUaGUgQVJOIG11c3QgYmUgYSBHbHVlIGNhdGFsb2cgQVJOLCBlaXRoZXIgdGhlIGFjY291bnQtd2lkZSBjYXRhbG9nXG4gICAqIChgYXJuOmF3czpnbHVlOjxyZWdpb24+OjxhY2NvdW50PjpjYXRhbG9nYCwgd2hvc2UgaWQgaXMgdGhlIGFjY291bnQpIG9yIGFcbiAgICogbmFtZWQgY2F0YWxvZyAoYGFybjphd3M6Z2x1ZTo8cmVnaW9uPjo8YWNjb3VudD46Y2F0YWxvZy88bmFtZT5gLCB3aG9zZSBpZCBpc1xuICAgKiB0aGUgbmFtZSkuXG4gICAqXG4gICAqIFRoZSBpbXBvcnRlZCBjYXRhbG9nIGlzIGEgcHVyZSBpZGVudGl0eSBoYW5kbGUgYW5kIGRvZXMgbm90IG1hbmFnZSB0aGVcbiAgICogY2F0YWxvZydzIGVuY3J5cHRpb24uIFRvIG1hbmFnZSBhbiBleGlzdGluZyBjYXRhbG9nJ3MgRGF0YSBDYXRhbG9nXG4gICAqIGVuY3J5cHRpb24sIGFkZCBhIGBDZm5EYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5nc2AgcmVzb3VyY2UgdGFyZ2V0aW5nIGl0c1xuICAgKiBpZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNhdGFsb2dBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY2F0YWxvZ0Fybjogc3RyaW5nKTogSUNhdGFsb2cge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGFybiA9IHN0YWNrLnNwbGl0QXJuKGNhdGFsb2dBcm4sIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKTtcblxuICAgIC8vIE9ubHkgdmFsaWRhdGUgdGhlIHNoYXBlIG9mIGNvbmNyZXRlIEFSTnM7IGEgdG9rZW5pemVkIEFSTiBjYW4ndCBiZVxuICAgIC8vIGluc3BlY3RlZCBhdCBzeW50aCB0aW1lLCBzbyB3ZSB0cnVzdCBpdC5cbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChjYXRhbG9nQXJuKSAmJiAoYXJuLnNlcnZpY2UgIT09ICdnbHVlJyB8fCBhcm4ucmVzb3VyY2UgIT09ICdjYXRhbG9nJykpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBJbnZhbGlkQ2F0YWxvZ0FybmAsXG4gICAgICAgIGBleHBlY3RlZCBhIEdsdWUgY2F0YWxvZyBBUk4gKGFybjo8cGFydGl0aW9uPjpnbHVlOjxyZWdpb24+OjxhY2NvdW50PjpjYXRhbG9nWy88bmFtZT5dKSwgZ290ICR7SlNPTi5zdHJpbmdpZnkoY2F0YWxvZ0Fybil9YCxcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFRoZSBhY2NvdW50LXdpZGUgY2F0YWxvZydzIEFSTiBoYXMgbm8gcmVzb3VyY2UgbmFtZTsgaXRzIGlkIGlzIHRoZVxuICAgIC8vIGFjY291bnQgZnJvbSB0aGUgQVJOIGl0c2VsZiAoZmFsbGluZyBiYWNrIHRvIHRoZSBzdGFjayBhY2NvdW50IGZvciBhXG4gICAgLy8gdG9rZW5pemVkIEFSTiB3aXRoIG5vIHBhcnNlYWJsZSBhY2NvdW50KS5cbiAgICBjb25zdCBjYXRhbG9nSWQgPSBhcm4ucmVzb3VyY2VOYW1lID8/IGFybi5hY2NvdW50ID8/IHN0YWNrLmFjY291bnQ7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZENhdGFsb2coc2NvcGUsIGlkLCBjYXRhbG9nSWQsIGNhdGFsb2dBcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBjYXRhbG9nIGJ5IGl0cyBpZC5cbiAgICpcbiAgICogVGhlIGltcG9ydGVkIGNhdGFsb2cgaXMgYSBwdXJlIGlkZW50aXR5IGhhbmRsZSBhbmQgZG9lcyBub3QgbWFuYWdlIHRoZVxuICAgKiBjYXRhbG9nJ3MgZW5jcnlwdGlvbi4gVG8gbWFuYWdlIGFuIGV4aXN0aW5nIGNhdGFsb2cncyBEYXRhIENhdGFsb2dcbiAgICogZW5jcnlwdGlvbiwgYWRkIGEgYENmbkRhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzYCByZXNvdXJjZSB0YXJnZXRpbmcgaXRzXG4gICAqIGlkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ2F0YWxvZ0lkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNhdGFsb2dJZDogc3RyaW5nKTogSUNhdGFsb2cge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGNvbnN0IGNhdGFsb2dBcm4gPSBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnZ2x1ZScsIHJlc291cmNlOiAnY2F0YWxvZycsIHJlc291cmNlTmFtZTogY2F0YWxvZ0lkIH0pO1xuICAgIHJldHVybiBuZXcgSW1wb3J0ZWRDYXRhbG9nKHNjb3BlLCBpZCwgY2F0YWxvZ0lkLCBjYXRhbG9nQXJuKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjYXRhbG9nSWQ6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGNhdGFsb2dBcm46IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBDZm5DYXRhbG9nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDYXRhbG9nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5DYXRhbG9nKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLmNhdGFsb2dOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jYXRhbG9nSWQgPSB0aGlzLnJlc291cmNlLmF0dHJDYXRhbG9nSWQ7XG4gICAgdGhpcy5jYXRhbG9nQXJuID0gdGhpcy5yZXNvdXJjZS5hdHRyUmVzb3VyY2VBcm47XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUVuY3J5cHRpb24ocHJvcHMpO1xuICB9XG59XG5cbi8qKlxuICogVGhlIGltcGxpY2l0LCBhY2NvdW50LXdpZGUgRGF0YSBDYXRhbG9nLiBOb3QgYSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZTsgb25seVxuICogdGhlIGVuY3J5cHRpb24gc2V0dGluZ3MgaXQgY2FycmllcyBhcmUgc3ludGhlc2l6ZWQuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmNsYXNzIEFjY291bnRDYXRhbG9nIGV4dGVuZHMgQ2F0YWxvZ0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLkFjY291bnRDYXRhbG9nJztcbiAgcHVibGljIHJlYWRvbmx5IGNhdGFsb2dJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F0YWxvZ0Fybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGVuY3J5cHRpb246IENhdGFsb2dFbmNyeXB0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBlbmNyeXB0aW9uKTtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIHRoaXMuY2F0YWxvZ0lkID0gc3RhY2suYWNjb3VudDtcbiAgICAvLyBUaGUgYWNjb3VudCBjYXRhbG9nJ3MgaWQgaXMgaW1wbGljaXRseSB0aGUgYWNjb3VudCBpZCwgc28gdGhlIEFSTiBoYXMgbm8gcmVzb3VyY2UgbmFtZS5cbiAgICB0aGlzLmNhdGFsb2dBcm4gPSBzdGFjay5mb3JtYXRBcm4oeyBzZXJ2aWNlOiAnZ2x1ZScsIHJlc291cmNlOiAnY2F0YWxvZycgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ3VyZUVuY3J5cHRpb24oZW5jcnlwdGlvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBpbXBvcnRlZCBjYXRhbG9nLiBBIHB1cmUgaWRlbnRpdHkgaGFuZGxlOiBpdCBlbWl0cyBubyByZXNvdXJjZXMgYW5kIGRvZXNcbiAqIG5vdCBtYW5hZ2UgdGhlIGltcG9ydGVkIGNhdGFsb2cncyBlbmNyeXB0aW9uLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5jbGFzcyBJbXBvcnRlZENhdGFsb2cgZXh0ZW5kcyBDYXRhbG9nQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuSW1wb3J0ZWRDYXRhbG9nJztcbiAgcHVibGljIHJlYWRvbmx5IGNhdGFsb2dJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F0YWxvZ0Fybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNhdGFsb2dJZDogc3RyaW5nLCBjYXRhbG9nQXJuOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgY2F0YWxvZ0lkKTtcbiAgICB0aGlzLmNhdGFsb2dJZCA9IGNhdGFsb2dJZDtcbiAgICB0aGlzLmNhdGFsb2dBcm4gPSBjYXRhbG9nQXJuO1xuICB9XG59XG4iXX0=
|
|
424
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNhdGFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsbURBQW9GO0FBR3BGLGlEQUFnRDtBQUVoRCwyQ0FBc0Y7QUFDdEYsNEVBQTREO0FBQzVELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFHMUU7Ozs7R0FJRztBQUNILElBQVkscUJBZ0JYO0FBaEJELFdBQVkscUJBQXFCO0lBQy9COztPQUVHO0lBQ0gsOENBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw0Q0FBbUIsQ0FBQTtJQUVuQjs7O09BR0c7SUFDSCxnRkFBdUQsQ0FBQTtBQUN6RCxDQUFDLEVBaEJXLHFCQUFxQixxQ0FBckIscUJBQXFCLFFBZ0JoQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSwyQkFBMkI7O0lBQ3RDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQWlCO1FBQ2pDLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDNUU7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQWUsRUFBRSxHQUFpQjtRQUNqRSxPQUFPLElBQUksMkJBQTJCLENBQUMscUJBQXFCLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3BHO0lBRUQ7O09BRUc7SUFDYSxJQUFJLENBQXdCO0lBRTVDOztPQUVHO0lBQ2EsTUFBTSxDQUFlO0lBRXJDOztPQUVHO0lBQ2EsV0FBVyxDQUFhO0lBRXhDLFlBQW9CLElBQTJCLEVBQUUsTUFBb0IsRUFBRSxX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R0FBVyx5Q0FBeUMsQ0FBQztRQUNqRixTQUFTLENBQVM7UUFDbEIsVUFBVSxDQUFTO1FBRW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUIsRUFBRSxVQUFrQjtZQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztTQUM5Qjs7WUFaRyx1REFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2F0YWxvZ1JlZmVyZW5jZSwgSUNhdGFsb2dSZWYgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgeyBDZm5DYXRhbG9nLCBDZm5EYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5ncyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgKiBhcyBrbXMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWttcyc7XG5pbXBvcnQgeyBLZXlHcmFudHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBBcm5Gb3JtYXQsIFJlc291cmNlLCBTdGFjaywgVG9rZW4sIFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFRoZSBlbmNyeXB0aW9uLWF0LXJlc3QgbW9kZSBmb3IgYSBHbHVlIERhdGEgQ2F0YWxvZy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0VuY3J5cHRpb25BdFJlc3QuaHRtbCNHbHVlLVR5cGUtRW5jcnlwdGlvbkF0UmVzdC1DYXRhbG9nRW5jcnlwdGlvbk1vZGVcbiAqL1xuZXhwb3J0IGVudW0gQ2F0YWxvZ0VuY3J5cHRpb25Nb2RlIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24gYXQgcmVzdCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIERJU0FCTEVEID0gJ0RJU0FCTEVEJyxcblxuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiAoU1NFKSB3aXRoIGFuIEFXUyBLTVMga2V5LlxuICAgKi9cbiAgU1NFX0tNUyA9ICdTU0UtS01TJyxcblxuICAvKipcbiAgICogU2VydmVyLXNpZGUgZW5jcnlwdGlvbiAoU1NFKSB3aXRoIGFuIEFXUyBLTVMga2V5LCB1c2luZyBhIHNlcnZpY2Ugcm9sZSB0aGF0XG4gICAqIEFXUyBHbHVlIGFzc3VtZXMgdG8gYWNjZXNzIHRoZSBrZXkgb24geW91ciBiZWhhbGYuXG4gICAqL1xuICBTU0VfS01TX1dJVEhfU0VSVklDRV9ST0xFID0gJ1NTRS1LTVMtV0lUSC1TRVJWSUNFLVJPTEUnLFxufVxuXG4vKipcbiAqIEVuY3J5cHRpb24tYXQtcmVzdCBjb25maWd1cmF0aW9uIGZvciBhIEdsdWUgRGF0YSBDYXRhbG9nLlxuICpcbiAqIFRoZSBEYXRhIENhdGFsb2cgZW5jcnlwdGlvbiBhdCByZXN0IGFuZCB0aGUgY29ubmVjdGlvbiBwYXNzd29yZCBlbmNyeXB0aW9uXG4gKiBhcmUgaW5kZXBlbmRlbnQ6IGVuYWJsaW5nIG9uZSBkb2VzIG5vdCByZXF1aXJlIHRoZSBvdGhlciwgYW5kIGVhY2ggbWF5IHVzZSBhXG4gKiBkaWZmZXJlbnQgS01TIGtleS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC93ZWJhcGkvQVBJX0VuY3J5cHRpb25BdFJlc3QuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0IHtcbiAgLyoqXG4gICAqIERpc2FibGUgZW5jcnlwdGlvbiBhdCByZXN0IGZvciB0aGUgRGF0YSBDYXRhbG9nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkaXNhYmxlZCgpOiBEYXRhQ2F0YWxvZ0VuY3J5cHRpb25BdFJlc3Qge1xuICAgIHJldHVybiBuZXcgRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0KENhdGFsb2dFbmNyeXB0aW9uTW9kZS5ESVNBQkxFRCk7XG4gIH1cblxuICAvKipcbiAgICogRW5jcnlwdCB0aGUgRGF0YSBDYXRhbG9nIGF0IHJlc3Qgd2l0aCBhbiBBV1MgS01TIGtleS5cbiAgICpcbiAgICogQHBhcmFtIGtleSB0aGUgS01TIGtleSB0byB1c2UuIElmIG9taXR0ZWQsIGFuIEFXUy1tYW5hZ2VkIGtleSBpcyB1c2VkIGFuZFxuICAgKiB0aGUga2V5IGlzIG5vdCBleHBvc2VkIGFzIGEgZ3JhbnRhYmxlIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBrbXMoa2V5Pzoga21zLklLZXlSZWYpOiBEYXRhQ2F0YWxvZ0VuY3J5cHRpb25BdFJlc3Qge1xuICAgIHJldHVybiBuZXcgRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0KENhdGFsb2dFbmNyeXB0aW9uTW9kZS5TU0VfS01TLCBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY3J5cHQgdGhlIERhdGEgQ2F0YWxvZyBhdCByZXN0IHdpdGggYW4gQVdTIEtNUyBrZXksIGFjY2Vzc2VkIHRocm91Z2ggYVxuICAgKiBzZXJ2aWNlIHJvbGUgdGhhdCBBV1MgR2x1ZSBhc3N1bWVzIG9uIHlvdXIgYmVoYWxmLlxuICAgKlxuICAgKiBXaGVuIGEgY3VzdG9tZXItbWFuYWdlZCBga2V5YCBpcyBwcm92aWRlZCwgdGhlIGByb2xlYCBpcyBhdXRvbWF0aWNhbGx5XG4gICAqIGdyYW50ZWQgYGttczpFbmNyeXB0YC9ga21zOkRlY3J5cHRgL2BrbXM6R2VuZXJhdGVEYXRhS2V5KmAgb24gaXQuXG4gICAqXG4gICAqIEBwYXJhbSByb2xlIHRoZSBzZXJ2aWNlIHJvbGUgdGhhdCBBV1MgR2x1ZSBhc3N1bWVzIHRvIGFjY2VzcyB0aGUga2V5LlxuICAgKiBAcGFyYW0ga2V5IHRoZSBLTVMga2V5IHRvIHVzZS4gSWYgb21pdHRlZCwgYW4gQVdTLW1hbmFnZWQga2V5IGlzIHVzZWQgYW5kXG4gICAqIHRoZSBrZXkgaXMgbm90IGV4cG9zZWQgYXMgYSBncmFudGFibGUgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGttc1dpdGhTZXJ2aWNlUm9sZShyb2xlOiBpYW0uSVJvbGUsIGtleT86IGttcy5JS2V5UmVmKTogRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0IHtcbiAgICByZXR1cm4gbmV3IERhdGFDYXRhbG9nRW5jcnlwdGlvbkF0UmVzdChDYXRhbG9nRW5jcnlwdGlvbk1vZGUuU1NFX0tNU19XSVRIX1NFUlZJQ0VfUk9MRSwga2V5LCByb2xlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZW5jcnlwdGlvbiBtb2RlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1vZGU6IENhdGFsb2dFbmNyeXB0aW9uTW9kZTtcblxuICAvKipcbiAgICogVGhlIGN1c3RvbWVyLW1hbmFnZWQgS01TIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uIGF0IHJlc3QsIGlmIGFueS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogVGhlIHNlcnZpY2Ugcm9sZSB0aGF0IEFXUyBHbHVlIGFzc3VtZXMgdG8gYWNjZXNzIHRoZSBLTVMga2V5LCBpZiBhbnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihtb2RlOiBDYXRhbG9nRW5jcnlwdGlvbk1vZGUsIGttc0tleT86IGttcy5JS2V5UmVmLCBzZXJ2aWNlUm9sZT86IGlhbS5JUm9sZSkge1xuICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgdGhpcy5rbXNLZXkgPSBrbXNLZXk7XG4gICAgdGhpcy5zZXJ2aWNlUm9sZSA9IHNlcnZpY2VSb2xlO1xuICB9XG59XG5cbi8qKlxuICogQ29ubmVjdGlvbi1wYXNzd29yZCBlbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2x1ZSBEYXRhIENhdGFsb2cuXG4gKlxuICogV2hlbiBlbmFibGVkLCB0aGUgRGF0YSBDYXRhbG9nIGVuY3J5cHRzIHRoZSBwYXNzd29yZCBhcyBwYXJ0IG9mXG4gKiBgQ3JlYXRlQ29ubmVjdGlvbmAgb3IgYFVwZGF0ZUNvbm5lY3Rpb25gIGFuZCBzdG9yZXMgaXQgaW4gdGhlXG4gKiBgRU5DUllQVEVEX1BBU1NXT1JEYCBmaWVsZCBvZiB0aGUgY29ubmVjdGlvbiBwcm9wZXJ0aWVzLiBUaGlzIGlzIGluZGVwZW5kZW50XG4gKiBmcm9tIGNhdGFsb2cgZW5jcnlwdGlvbiBhdCByZXN0LCBhbmQgbWF5IHVzZSBhIGRpZmZlcmVudCBLTVMga2V5LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L3dlYmFwaS9BUElfQ29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGlvbi5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgS01TIGtleSB1c2VkIHRvIGVuY3J5cHQgY29ubmVjdGlvbiBwYXNzd29yZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYW4gQVdTLW1hbmFnZWQga2V5IGlzIHVzZWQgYW5kIHRoZSBrZXkgaXMgbm90IGV4cG9zZWQgYXMgYSBncmFudGFibGUgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBrbXNLZXk/OiBrbXMuSUtleVJlZjtcblxuICAvKipcbiAgICogV2hldGhlciBwYXNzd29yZHMgcmVtYWluIGVuY3J5cHRlZCBpbiB0aGUgcmVzcG9uc2VzIG9mIGBHZXRDb25uZWN0aW9uYCBhbmRcbiAgICogYEdldENvbm5lY3Rpb25zYC4gVGhpcyB0YWtlcyBlZmZlY3QgaW5kZXBlbmRlbnRseSBmcm9tIGNhdGFsb2cgZW5jcnlwdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV0dXJuQ29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbmNyeXB0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2x1ZSBEYXRhIENhdGFsb2cuXG4gKlxuICogRW5jcnlwdGlvbiBpcyBmaXhlZCBhdCBjb25zdHJ1Y3Rpb246IGEgY2F0YWxvZyBlaXRoZXIgY2FycmllcyBlbmNyeXB0aW9uXG4gKiBzZXR0aW5ncyBvciBpdCBkb2VzIG5vdCwgd2hpY2gga2VlcHMgaXRzIGNvbmZpZ3VyYXRpb24gZWFzeSB0byByZWFzb24gYWJvdXRcbiAqIGFuZCBhdm9pZHMgb3JkZXItZGVwZW5kZW50IG11dGF0aW9uIGFmdGVyIHRoZSBjYXRhbG9nIGlzIGNyZWF0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ0VuY3J5cHRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEVuY3J5cHRpb24tYXQtcmVzdCBjb25maWd1cmF0aW9uIGZvciB0aGUgY2F0YWxvZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBlbmNyeXB0aW9uIGF0IHJlc3QgaXMgbm90IG1hbmFnZWQgYnkgQ0RLICh0aGUgY2F0YWxvZyBkZWZhdWx0IGFwcGxpZXMpXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uQXRSZXN0PzogRGF0YUNhdGFsb2dFbmNyeXB0aW9uQXRSZXN0O1xuXG4gIC8qKlxuICAgKiBDb25uZWN0aW9uLXBhc3N3b3JkIGVuY3J5cHRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhlIGNhdGFsb2cuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY29ubmVjdGlvbi1wYXNzd29yZCBlbmNyeXB0aW9uIGlzIG5vdCBtYW5hZ2VkIGJ5IENES1xuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGlvbj86IENvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRpb247XG59XG5cbi8qKlxuICogQSBHbHVlIERhdGEgQ2F0YWxvZywgZWl0aGVyIHRoZSBpbXBsaWNpdCBhY2NvdW50LXdpZGUgY2F0YWxvZyBvciBvbmUgY3JlYXRlZFxuICogYXMgYW4gYEFXUzo6R2x1ZTo6Q2F0YWxvZ2AgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNhdGFsb2cgZXh0ZW5kcyBJUmVzb3VyY2UsIElDYXRhbG9nUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgY2F0YWxvZyAoZm9yIHRoZSBhY2NvdW50LXdpZGUgY2F0YWxvZywgdGhlIEFXUyBhY2NvdW50IGlkKS5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2F0YWxvZ0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGNhdGFsb2cuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNhdGFsb2dBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1c3RvbWVyLW1hbmFnZWQgS01TIGtleSB1c2VkIGZvciB0aGUgY2F0YWxvZydzIGVuY3J5cHRpb24gYXQgcmVzdCwgaWZcbiAgICogb25lIHdhcyBjb25maWd1cmVkLlxuICAgKlxuICAgKiBVbmRlZmluZWQgd2hlbiBlbmNyeXB0aW9uIGlzIGRpc2FibGVkIG9yIGFuIEFXUy1tYW5hZ2VkIGtleSBpcyB1c2VkLiBHcmFudFxuICAgKiBhY2Nlc3MgdG8gaXQgdmlhIGBLZXlHcmFudHNgLCBlLmcuXG4gICAqIGBpZiAoY2F0YWxvZy5lbmNyeXB0aW9uS2V5KSB7IEtleUdyYW50cy5mcm9tS2V5KGNhdGFsb2cuZW5jcnlwdGlvbktleSkuZW5jcnlwdChncmFudGVlKTsgfWAuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLklLZXlSZWY7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b21lci1tYW5hZ2VkIEtNUyBrZXkgdXNlZCB0byBlbmNyeXB0IGNvbm5lY3Rpb24gcGFzc3dvcmRzLCBpZiBvbmVcbiAgICogd2FzIGNvbmZpZ3VyZWQuXG4gICAqXG4gICAqIFVuZGVmaW5lZCB3aGVuIHBhc3N3b3JkIGVuY3J5cHRpb24gdXNlcyBhbiBBV1MtbWFuYWdlZCBrZXkgb3IgaXMgbm90XG4gICAqIGNvbmZpZ3VyZWQuIEdyYW50IGFjY2VzcyB0byBpdCB2aWEgYEtleUdyYW50c2AsIGUuZy5cbiAgICogYGlmIChjYXRhbG9nLmNvbm5lY3Rpb25QYXNzd29yZEtleSkgeyBLZXlHcmFudHMuZnJvbUtleShjYXRhbG9nLmNvbm5lY3Rpb25QYXNzd29yZEtleSkuZW5jcnlwdChncmFudGVlKTsgfWAuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uUGFzc3dvcmRLZXk/OiBrbXMuSUtleVJlZjtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgYElDYXRhbG9nYCBpbXBsZW1lbnRhdGlvbnMuIE1hdGVyaWFsaXplcyB0aGUgc2luZ2xlXG4gKiBgQ2ZuRGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3NgIHJlc291cmNlICh0YXJnZXRpbmcgaXRzIG93biBgY2F0YWxvZ0lkYClcbiAqIGZyb20gdGhlIGVuY3J5cHRpb24gb3B0aW9ucyBzdXBwbGllZCBhdCBjb25zdHJ1Y3Rpb24uIEVuY3J5cHRpb24gaXMgZml4ZWQgYXRcbiAqIGNvbnN0cnVjdGlvbiwgc28gYSBjYXRhbG9nIGVpdGhlciBjYXJyaWVzIHNldHRpbmdzIG9yIGl0IGRvZXMgbm90LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2F0YWxvZ0Jhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElDYXRhbG9nIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNhdGFsb2dJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY2F0YWxvZ0Fybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2VuY3J5cHRpb25LZXk/OiBrbXMuSUtleVJlZjtcbiAgcHJpdmF0ZSBfY29ubmVjdGlvblBhc3N3b3JkS2V5Pzoga21zLklLZXlSZWY7XG5cbiAgcHVibGljIGdldCBlbmNyeXB0aW9uS2V5KCk6IGttcy5JS2V5UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZW5jcnlwdGlvbktleTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29ubmVjdGlvblBhc3N3b3JkS2V5KCk6IGttcy5JS2V5UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY29ubmVjdGlvblBhc3N3b3JkS2V5O1xuICB9XG5cbiAgcHVibGljIGdldCBjYXRhbG9nUmVmKCk6IENhdGFsb2dSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7XG4gICAgICByZXNvdXJjZUFybjogdGhpcy5jYXRhbG9nQXJuLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW1pdCB0aGUgY2F0YWxvZydzIGVuY3J5cHRpb24gc2V0dGluZ3MgZnJvbSB0aGUgb3B0aW9ucyBmaXhlZCBhdFxuICAgKiBjb25zdHJ1Y3Rpb24uIFN1YmNsYXNzZXMgY2FsbCB0aGlzIG9uY2UsIGFmdGVyIGBjYXRhbG9nSWRgL2BjYXRhbG9nQXJuYCBhcmVcbiAgICogYXNzaWduZWQuIFdoZW4gbmVpdGhlciBibG9jayBpcyBjb25maWd1cmVkLCBubyByZXNvdXJjZSBpcyBlbWl0dGVkLCBhdm9pZGluZ1xuICAgKiBhbiBlbXB0eSBzZXR0aW5ncyByZXNvdXJjZSB0aGF0IHdvdWxkIHJlc2V0IHRoZSBjYXRhbG9nIG9uIGRlcGxveS5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWd1cmVFbmNyeXB0aW9uKG9wdGlvbnM6IENhdGFsb2dFbmNyeXB0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIGNvbnN0IGF0UmVzdCA9IG9wdGlvbnMuZW5jcnlwdGlvbkF0UmVzdDtcbiAgICBjb25zdCBwYXNzd29yZCA9IG9wdGlvbnMuY29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGlvbjtcblxuICAgIGlmICghYXRSZXN0ICYmICFwYXNzd29yZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2VuY3J5cHRpb25LZXkgPSBhdFJlc3Q/Lmttc0tleTtcbiAgICB0aGlzLl9jb25uZWN0aW9uUGFzc3dvcmRLZXkgPSBwYXNzd29yZD8ua21zS2V5O1xuXG4gICAgLy8gQXV0by1ncmFudCB0aGUgc2VydmljZSByb2xlIGFjY2VzcyB0byB0aGUgY3VzdG9tZXItbWFuYWdlZCBrZXkgaXQgbmVlZHNcbiAgICAvLyB0byBlbmNyeXB0IGFuZCBkZWNyeXB0IGNhdGFsb2cgZGF0YS4gTm90aGluZyB0byBncmFudCBmb3IgYW4gQVdTLW1hbmFnZWRcbiAgICAvLyBrZXkgKHdlIGRvbid0IG93biBpdHMga2V5IHBvbGljeSkuXG4gICAgaWYgKGF0UmVzdD8uc2VydmljZVJvbGUgJiYgYXRSZXN0Lmttc0tleSkge1xuICAgICAgS2V5R3JhbnRzLmZyb21LZXkoYXRSZXN0Lmttc0tleSkuZW5jcnlwdERlY3J5cHQoYXRSZXN0LnNlcnZpY2VSb2xlKTtcbiAgICB9XG5cbiAgICAvLyBUd28gY2F0YWxvZyBpbnN0YW5jZXMgdGhhdCB0YXJnZXQgdGhlIHNhbWUgY2F0YWxvZyBpZCB3b3VsZCBlYWNoIGVtaXQgYVxuICAgIC8vIHNldHRpbmdzIHJlc291cmNlIGFuZCByYWNlIHRvIG92ZXJ3cml0ZSBvbmUgYW5vdGhlciB2aWFcbiAgICAvLyBgUHV0RGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3NgLiBXaXRoaW4gb25lIHN0YWNrIHRoaXMgaXMgc3VyZmFjZWQgYnlcbiAgICAvLyBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZSB2YWxpZGF0aW9uIChFMzAxOTogZHVwbGljYXRlIHByaW1hcnkgaWRlbnRpZmllcnMpLFxuICAgIC8vIHNvIHdlIGRvIG5vdCBkdXBsaWNhdGUgdGhhdCBjaGVjayBoZXJlLlxuICAgIG5ldyBDZm5EYXRhQ2F0YWxvZ0VuY3J5cHRpb25TZXR0aW5ncyh0aGlzLCAnRW5jcnlwdGlvblNldHRpbmdzJywge1xuICAgICAgY2F0YWxvZ0lkOiB0aGlzLmNhdGFsb2dJZCxcbiAgICAgIGRhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzOiB7XG4gICAgICAgIGVuY3J5cHRpb25BdFJlc3Q6IGF0UmVzdFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgY2F0YWxvZ0VuY3J5cHRpb25Nb2RlOiBhdFJlc3QubW9kZSxcbiAgICAgICAgICAgIHNzZUF3c0ttc0tleUlkOiBhdFJlc3Qua21zS2V5Py5rZXlSZWYua2V5QXJuLFxuICAgICAgICAgICAgY2F0YWxvZ0VuY3J5cHRpb25TZXJ2aWNlUm9sZTogYXRSZXN0LnNlcnZpY2VSb2xlPy5yb2xlQXJuLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgY29ubmVjdGlvblBhc3N3b3JkRW5jcnlwdGlvbjogcGFzc3dvcmRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgIGttc0tleUlkOiBwYXNzd29yZC5rbXNLZXk/LmtleVJlZi5rZXlBcm4sXG4gICAgICAgICAgICByZXR1cm5Db25uZWN0aW9uUGFzc3dvcmRFbmNyeXB0ZWQ6IHBhc3N3b3JkLnJldHVybkNvbm5lY3Rpb25QYXNzd29yZEVuY3J5cHRlZCA/PyB0cnVlLFxuICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3Rpb24gcHJvcGVydGllcyBmb3IgYSBgQ2F0YWxvZ2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ1Byb3BzIGV4dGVuZHMgQ2F0YWxvZ0VuY3J5cHRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjYXRhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgY2F0YWxvZ05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgY2F0YWxvZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHN0YWNrLXNjb3BlZCBzaW5nbGV0b24gaWQgZm9yIHRoZSBpbXBsaWNpdCBhY2NvdW50LXdpZGUgY2F0YWxvZy5cbiAqL1xuY29uc3QgQUNDT1VOVF9DQVRBTE9HX1VJRCA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5BY2NvdW50Q2F0YWxvZyc7XG5cbi8qKlxuICogQSBHbHVlIERhdGEgQ2F0YWxvZy5cbiAqXG4gKiBVc2UgYENhdGFsb2cuZm9yQWNjb3VudChzY29wZSlgIHRvIG9idGFpbiB0aGUgaW1wbGljaXQgYWNjb3VudC13aWRlIGNhdGFsb2csXG4gKiBgQ2F0YWxvZy5lbmNyeXB0QWNjb3VudChzY29wZSwgb3B0aW9ucylgIHRvIGNvbmZpZ3VyZSBpdHMgRGF0YSBDYXRhbG9nXG4gKiBlbmNyeXB0aW9uLCBvciBgbmV3IENhdGFsb2coLi4uKWAgdG8gY3JlYXRlIGFuIGBBV1M6OkdsdWU6OkNhdGFsb2dgIHJlc291cmNlLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgQ2F0YWxvZyBleHRlbmRzIENhdGFsb2dCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5DYXRhbG9nJztcblxuICAvKipcbiAgICogT2J0YWluIHRoZSBpbXBsaWNpdCwgYWNjb3VudC13aWRlIERhdGEgQ2F0YWxvZy5cbiAgICpcbiAgICogVGhlIGFjY291bnQgY2F0YWxvZyBpcyBub3QgYSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZTsgaXQgYWx3YXlzIGV4aXN0cy4gVGhpc1xuICAgKiByZXR1cm5zIGEgc3RhY2stc2NvcGVkIHNpbmdsZXRvbiwgc28gcmVwZWF0ZWQgY2FsbHMgd2l0aGluIHRoZSBzYW1lIHN0YWNrXG4gICAqIHJldHVybiB0aGUgc2FtZSBpbnN0YW5jZS5cbiAgICpcbiAgICogVGhpcyByZXR1cm5zIHRoZSBhY2NvdW50IGNhdGFsb2cgd2l0aG91dCBtYW5hZ2luZyBpdHMgZW5jcnlwdGlvbi4gVG9cbiAgICogY29uZmlndXJlIERhdGEgQ2F0YWxvZyBlbmNyeXB0aW9uIGZvciB0aGUgYWNjb3VudCwgdXNlXG4gICAqIGBDYXRhbG9nLmVuY3J5cHRBY2NvdW50KHNjb3BlLCBvcHRpb25zKWAgaW5zdGVhZCAtIGl0IG11c3QgYmUgY2FsbGVkIGJlZm9yZVxuICAgKiB0aGUgYWNjb3VudCBjYXRhbG9nIGlzIGZpcnN0IHVzZWQgaW4gdGhlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JBY2NvdW50KHNjb3BlOiBDb25zdHJ1Y3QpOiBJQ2F0YWxvZyB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBzdGFjay5ub2RlLnRyeUZpbmRDaGlsZChBQ0NPVU5UX0NBVEFMT0dfVUlEKTtcbiAgICByZXR1cm4gKGV4aXN0aW5nIGFzIEFjY291bnRDYXRhbG9nKSA/PyBuZXcgQWNjb3VudENhdGFsb2coc3RhY2ssIEFDQ09VTlRfQ0FUQUxPR19VSUQsIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgRGF0YSBDYXRhbG9nIGVuY3J5cHRpb24gZm9yIHRoZSBpbXBsaWNpdCwgYWNjb3VudC13aWRlIGNhdGFsb2cgYW5kXG4gICAqIHJldHVybiBpdC5cbiAgICpcbiAgICogVGhlIGFjY291bnQgY2F0YWxvZydzIGVuY3J5cHRpb24gaXMgYW4gYWNjb3VudC9yZWdpb24td2lkZSBzZXR0aW5nLCBtYW5hZ2VkXG4gICAqIHRocm91Z2ggdGhlIHNpbmdsZXRvbiBgUHV0RGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3NgIEFQSS4gQmVjYXVzZVxuICAgKiBlbmNyeXB0aW9uIGlzIGZpeGVkIGF0IGNvbnN0cnVjdGlvbiwgaXQgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZSB0aGVcbiAgICogYWNjb3VudCBjYXRhbG9nIGlzIGZpcnN0IHVzZWQgaW4gdGhlIHN0YWNrOiBjYWxsaW5nIHRoaXMgYWZ0ZXIgdGhlIGFjY291bnRcbiAgICogY2F0YWxvZyBoYXMgYWxyZWFkeSBiZWVuIG1hdGVyaWFsaXplZCAoZm9yIGV4YW1wbGUgYnkgYENhdGFsb2cuZm9yQWNjb3VudGAsXG4gICAqIG9yIGJ5IGEgYERhdGFiYXNlYCB0aGF0IHVzZXMgdGhlIGFjY291bnQgY2F0YWxvZykgdGhyb3dzLlxuICAgKlxuICAgKiBDb25maWd1cmUgaXQgaW4gZXhhY3RseSBvbmUgc3RhY2suIENvbmZpZ3VyaW5nIGl0IGZyb20gbXVsdGlwbGUgc3RhY2tzIGluIHRoZVxuICAgKiBzYW1lIGFjY291bnQgYW5kIHJlZ2lvbiBtYWtlcyB0aG9zZSBzdGFja3Mgb3ZlcndyaXRlIG9uZSBhbm90aGVyIGF0IGRlcGxveVxuICAgKiB0aW1lLCBhbmQgdGhlIHJlc3VsdCBpcyBvcmRlci1kZXBlbmRlbnQuIFVubGlrZSBkdXBsaWNhdGUgc2V0dGluZ3Mgd2l0aGluIGFcbiAgICogc2luZ2xlIHN0YWNrICh3aGljaCBDbG91ZEZvcm1hdGlvbiByZWplY3RzKSwgdGhpcyBjcm9zcy1zdGFjayBjb25mbGljdCBpcyBub3RcbiAgICogY2F1Z2h0IGF0IHN5bnRoZXNpcyB0aW1lLCBiZWNhdXNlIGVhY2ggc3RhY2sgc3ludGhlc2l6ZXMgdG8gaXRzIG93biB0ZW1wbGF0ZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW5jcnlwdEFjY291bnQoc2NvcGU6IENvbnN0cnVjdCwgb3B0aW9uczogQ2F0YWxvZ0VuY3J5cHRpb25PcHRpb25zKTogSUNhdGFsb2cge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIGlmIChzdGFjay5ub2RlLnRyeUZpbmRDaGlsZChBQ0NPVU5UX0NBVEFMT0dfVUlEKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEFjY291bnRDYXRhbG9nQWxyZWFkeUluVXNlYCxcbiAgICAgICAgJ3RoZSBhY2NvdW50IGNhdGFsb2cgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGluIHRoaXMgc3RhY2s7IGNhbGwgQ2F0YWxvZy5lbmNyeXB0QWNjb3VudCgpIGJlZm9yZSBDYXRhbG9nLmZvckFjY291bnQoKSBvciBhbnkgRGF0YWJhc2UgdGhhdCB1c2VzIHRoZSBhY2NvdW50IGNhdGFsb2cnLFxuICAgICAgICBzY29wZSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQWNjb3VudENhdGFsb2coc3RhY2ssIEFDQ09VTlRfQ0FUQUxPR19VSUQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBjYXRhbG9nIGJ5IGl0cyBBUk4uXG4gICAqXG4gICAqIFRoZSBBUk4gbXVzdCBiZSBhIEdsdWUgY2F0YWxvZyBBUk4sIGVpdGhlciB0aGUgYWNjb3VudC13aWRlIGNhdGFsb2dcbiAgICogKGBhcm46YXdzOmdsdWU6PHJlZ2lvbj46PGFjY291bnQ+OmNhdGFsb2dgLCB3aG9zZSBpZCBpcyB0aGUgYWNjb3VudCkgb3IgYVxuICAgKiBuYW1lZCBjYXRhbG9nIChgYXJuOmF3czpnbHVlOjxyZWdpb24+OjxhY2NvdW50PjpjYXRhbG9nLzxuYW1lPmAsIHdob3NlIGlkIGlzXG4gICAqIHRoZSBuYW1lKS5cbiAgICpcbiAgICogVGhlIGltcG9ydGVkIGNhdGFsb2cgaXMgYSBwdXJlIGlkZW50aXR5IGhhbmRsZSBhbmQgZG9lcyBub3QgbWFuYWdlIHRoZVxuICAgKiBjYXRhbG9nJ3MgZW5jcnlwdGlvbi4gVG8gbWFuYWdlIGFuIGV4aXN0aW5nIGNhdGFsb2cncyBEYXRhIENhdGFsb2dcbiAgICogZW5jcnlwdGlvbiwgYWRkIGEgYENmbkRhdGFDYXRhbG9nRW5jcnlwdGlvblNldHRpbmdzYCByZXNvdXJjZSB0YXJnZXRpbmcgaXRzXG4gICAqIGlkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQ2F0YWxvZ0FybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBjYXRhbG9nQXJuOiBzdHJpbmcpOiBJQ2F0YWxvZyB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgYXJuID0gc3RhY2suc3BsaXRBcm4oY2F0YWxvZ0FybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpO1xuXG4gICAgLy8gT25seSB2YWxpZGF0ZSB0aGUgc2hhcGUgb2YgY29uY3JldGUgQVJOczsgYSB0b2tlbml6ZWQgQVJOIGNhbid0IGJlXG4gICAgLy8gaW5zcGVjdGVkIGF0IHN5bnRoIHRpbWUsIHNvIHdlIHRydXN0IGl0LlxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNhdGFsb2dBcm4pICYmIChhcm4uc2VydmljZSAhPT0gJ2dsdWUnIHx8IGFybi5yZXNvdXJjZSAhPT0gJ2NhdGFsb2cnKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEludmFsaWRDYXRhbG9nQXJuYCxcbiAgICAgICAgYGV4cGVjdGVkIGEgR2x1ZSBjYXRhbG9nIEFSTiAoYXJuOjxwYXJ0aXRpb24+OmdsdWU6PHJlZ2lvbj46PGFjY291bnQ+OmNhdGFsb2dbLzxuYW1lPl0pLCBnb3QgJHtKU09OLnN0cmluZ2lmeShjYXRhbG9nQXJuKX1gLFxuICAgICAgICBzY29wZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGFjY291bnQtd2lkZSBjYXRhbG9nJ3MgQVJOIGhhcyBubyByZXNvdXJjZSBuYW1lOyBpdHMgaWQgaXMgdGhlXG4gICAgLy8gYWNjb3VudCBmcm9tIHRoZSBBUk4gaXRzZWxmIChmYWxsaW5nIGJhY2sgdG8gdGhlIHN0YWNrIGFjY291bnQgZm9yIGFcbiAgICAvLyB0b2tlbml6ZWQgQVJOIHdpdGggbm8gcGFyc2VhYmxlIGFjY291bnQpLlxuICAgIGNvbnN0IGNhdGFsb2dJZCA9IGFybi5yZXNvdXJjZU5hbWUgPz8gYXJuLmFjY291bnQgPz8gc3RhY2suYWNjb3VudDtcbiAgICByZXR1cm4gbmV3IEltcG9ydGVkQ2F0YWxvZyhzY29wZSwgaWQsIGNhdGFsb2dJZCwgY2F0YWxvZ0Fybik7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGNhdGFsb2cgYnkgaXRzIGlkLlxuICAgKlxuICAgKiBUaGUgaW1wb3J0ZWQgY2F0YWxvZyBpcyBhIHB1cmUgaWRlbnRpdHkgaGFuZGxlIGFuZCBkb2VzIG5vdCBtYW5hZ2UgdGhlXG4gICAqIGNhdGFsb2cncyBlbmNyeXB0aW9uLiBUbyBtYW5hZ2UgYW4gZXhpc3RpbmcgY2F0YWxvZydzIERhdGEgQ2F0YWxvZ1xuICAgKiBlbmNyeXB0aW9uLCBhZGQgYSBgQ2ZuRGF0YUNhdGFsb2dFbmNyeXB0aW9uU2V0dGluZ3NgIHJlc291cmNlIHRhcmdldGluZyBpdHNcbiAgICogaWQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21DYXRhbG9nSWQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY2F0YWxvZ0lkOiBzdHJpbmcpOiBJQ2F0YWxvZyB7XG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgY2F0YWxvZ0FybiA9IHN0YWNrLmZvcm1hdEFybih7IHNlcnZpY2U6ICdnbHVlJywgcmVzb3VyY2U6ICdjYXRhbG9nJywgcmVzb3VyY2VOYW1lOiBjYXRhbG9nSWQgfSk7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZENhdGFsb2coc2NvcGUsIGlkLCBjYXRhbG9nSWQsIGNhdGFsb2dBcm4pO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhdGFsb2dJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F0YWxvZ0Fybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IENmbkNhdGFsb2c7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENhdGFsb2dQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkNhdGFsb2codGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuY2F0YWxvZ05hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgfSk7XG5cbiAgICB0aGlzLmNhdGFsb2dJZCA9IHRoaXMucmVzb3VyY2UuYXR0ckNhdGFsb2dJZDtcbiAgICB0aGlzLmNhdGFsb2dBcm4gPSB0aGlzLnJlc291cmNlLmF0dHJSZXNvdXJjZUFybjtcblxuICAgIHRoaXMuY29uZmlndXJlRW5jcnlwdGlvbihwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgaW1wbGljaXQsIGFjY291bnQtd2lkZSBEYXRhIENhdGFsb2cuIE5vdCBhIENsb3VkRm9ybWF0aW9uIHJlc291cmNlOyBvbmx5XG4gKiB0aGUgZW5jcnlwdGlvbiBzZXR0aW5ncyBpdCBjYXJyaWVzIGFyZSBzeW50aGVzaXplZC5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuY2xhc3MgQWNjb3VudENhdGFsb2cgZXh0ZW5kcyBDYXRhbG9nQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuQWNjb3VudENhdGFsb2cnO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F0YWxvZ0lkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjYXRhbG9nQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZW5jcnlwdGlvbjogQ2F0YWxvZ0VuY3J5cHRpb25PcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIGVuY3J5cHRpb24pO1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgdGhpcy5jYXRhbG9nSWQgPSBzdGFjay5hY2NvdW50O1xuICAgIC8vIFRoZSBhY2NvdW50IGNhdGFsb2cncyBpZCBpcyBpbXBsaWNpdGx5IHRoZSBhY2NvdW50IGlkLCBzbyB0aGUgQVJOIGhhcyBubyByZXNvdXJjZSBuYW1lLlxuICAgIHRoaXMuY2F0YWxvZ0FybiA9IHN0YWNrLmZvcm1hdEFybih7IHNlcnZpY2U6ICdnbHVlJywgcmVzb3VyY2U6ICdjYXRhbG9nJyB9KTtcblxuICAgIHRoaXMuY29uZmlndXJlRW5jcnlwdGlvbihlbmNyeXB0aW9uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGltcG9ydGVkIGNhdGFsb2cuIEEgcHVyZSBpZGVudGl0eSBoYW5kbGU6IGl0IGVtaXRzIG5vIHJlc291cmNlcyBhbmQgZG9lc1xuICogbm90IG1hbmFnZSB0aGUgaW1wb3J0ZWQgY2F0YWxvZydzIGVuY3J5cHRpb24uXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmNsYXNzIEltcG9ydGVkQ2F0YWxvZyBleHRlbmRzIENhdGFsb2dCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5JbXBvcnRlZENhdGFsb2cnO1xuICBwdWJsaWMgcmVhZG9ubHkgY2F0YWxvZ0lkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBjYXRhbG9nQXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY2F0YWxvZ0lkOiBzdHJpbmcsIGNhdGFsb2dBcm46IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBjYXRhbG9nSWQpO1xuICAgIHRoaXMuY2F0YWxvZ0lkID0gY2F0YWxvZ0lkO1xuICAgIHRoaXMuY2F0YWxvZ0FybiA9IGNhdGFsb2dBcm47XG4gIH1cbn1cbiJdfQ==
|
package/lib/code.js
CHANGED
|
@@ -43,7 +43,7 @@ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
|
43
43
|
* Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).
|
|
44
44
|
*/
|
|
45
45
|
class Code {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.268.0-alpha.0" };
|
|
47
47
|
/**
|
|
48
48
|
* Job code as an S3 object.
|
|
49
49
|
* @param bucket The S3 bucket
|
|
@@ -68,7 +68,7 @@ exports.Code = Code;
|
|
|
68
68
|
class S3Code extends Code {
|
|
69
69
|
bucket;
|
|
70
70
|
key;
|
|
71
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.
|
|
71
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.268.0-alpha.0" };
|
|
72
72
|
constructor(bucket, key) {
|
|
73
73
|
super();
|
|
74
74
|
this.bucket = bucket;
|
|
@@ -91,7 +91,7 @@ exports.S3Code = S3Code;
|
|
|
91
91
|
class AssetCode extends Code {
|
|
92
92
|
path;
|
|
93
93
|
options;
|
|
94
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.
|
|
94
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.268.0-alpha.0" };
|
|
95
95
|
asset;
|
|
96
96
|
/**
|
|
97
97
|
* @param path The path to the Code file.
|
package/lib/connection.js
CHANGED
|
@@ -85,7 +85,7 @@ const secret_detection_1 = require("./private/secret-detection");
|
|
|
85
85
|
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype
|
|
86
86
|
*/
|
|
87
87
|
class ConnectionType {
|
|
88
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ConnectionType", version: "2.
|
|
88
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ConnectionType", version: "2.268.0-alpha.0" };
|
|
89
89
|
/**
|
|
90
90
|
* Designates a connection to a database through Java Database Connectivity (JDBC).
|
|
91
91
|
*/
|
|
@@ -290,7 +290,7 @@ let Connection = (() => {
|
|
|
290
290
|
Connection = _classThis = _classDescriptor.value;
|
|
291
291
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
292
292
|
}
|
|
293
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Connection", version: "2.
|
|
293
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Connection", version: "2.268.0-alpha.0" };
|
|
294
294
|
/** Uniquely identifies this class. */
|
|
295
295
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Connection';
|
|
296
296
|
/**
|
package/lib/data-format.js
CHANGED
|
@@ -8,7 +8,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
8
8
|
*/
|
|
9
9
|
class InputFormat {
|
|
10
10
|
className;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.InputFormat", version: "2.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.InputFormat", version: "2.268.0-alpha.0" };
|
|
12
12
|
/**
|
|
13
13
|
* InputFormat for Avro files.
|
|
14
14
|
*
|
|
@@ -52,7 +52,7 @@ exports.InputFormat = InputFormat;
|
|
|
52
52
|
*/
|
|
53
53
|
class OutputFormat {
|
|
54
54
|
className;
|
|
55
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.OutputFormat", version: "2.
|
|
55
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.OutputFormat", version: "2.268.0-alpha.0" };
|
|
56
56
|
/**
|
|
57
57
|
* Writes text data with a null key (value only).
|
|
58
58
|
*
|
|
@@ -89,7 +89,7 @@ exports.OutputFormat = OutputFormat;
|
|
|
89
89
|
*/
|
|
90
90
|
class SerializationLibrary {
|
|
91
91
|
className;
|
|
92
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SerializationLibrary", version: "2.
|
|
92
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SerializationLibrary", version: "2.268.0-alpha.0" };
|
|
93
93
|
/**
|
|
94
94
|
* @see https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r3.1.3/api/org/apache/hadoop/hive/serde2/avro/AvroSerDe.html
|
|
95
95
|
*/
|
|
@@ -142,7 +142,7 @@ exports.SerializationLibrary = SerializationLibrary;
|
|
|
142
142
|
*/
|
|
143
143
|
class ClassificationString {
|
|
144
144
|
value;
|
|
145
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ClassificationString", version: "2.
|
|
145
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ClassificationString", version: "2.268.0-alpha.0" };
|
|
146
146
|
/**
|
|
147
147
|
* @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html#aws-glue-programming-etl-format-avro
|
|
148
148
|
*/
|
|
@@ -176,7 +176,7 @@ exports.ClassificationString = ClassificationString;
|
|
|
176
176
|
* Defines the input/output formats and ser/de for a single DataFormat.
|
|
177
177
|
*/
|
|
178
178
|
class DataFormat {
|
|
179
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataFormat", version: "2.
|
|
179
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataFormat", version: "2.268.0-alpha.0" };
|
|
180
180
|
/**
|
|
181
181
|
* DataFormat for Apache Web Server Logs. Also works for CloudFront logs
|
|
182
182
|
*
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
+
import { type IDatabaseRef } from 'aws-cdk-lib/aws-glue';
|
|
1
2
|
import type { IResource, RemovalPolicy } from 'aws-cdk-lib/core';
|
|
2
3
|
import { Resource } from 'aws-cdk-lib/core';
|
|
3
4
|
import type * as constructs from 'constructs';
|
|
5
|
+
import type { ITable } from './table-base';
|
|
4
6
|
/**
|
|
5
|
-
*
|
|
7
|
+
* The Glue table a `DataQualityRuleset` evaluates.
|
|
6
8
|
*/
|
|
7
9
|
export declare class DataQualityTargetTable {
|
|
10
|
+
/**
|
|
11
|
+
* Target an L2 table in a database.
|
|
12
|
+
*
|
|
13
|
+
* @param database the database that holds the table.
|
|
14
|
+
* @param table the table to evaluate.
|
|
15
|
+
*/
|
|
16
|
+
static fromTable(database: IDatabaseRef, table: ITable): DataQualityTargetTable;
|
|
17
|
+
/**
|
|
18
|
+
* Target a table by name in a database. Use this when the table is not
|
|
19
|
+
* modeled as an L2 construct (e.g. it is imported or created elsewhere).
|
|
20
|
+
*
|
|
21
|
+
* @param database the database that holds the table.
|
|
22
|
+
* @param tableName the name of the table to evaluate.
|
|
23
|
+
*/
|
|
24
|
+
static fromTableName(database: IDatabaseRef, tableName: string): DataQualityTargetTable;
|
|
8
25
|
/**
|
|
9
26
|
* The database name of the target table.
|
|
10
27
|
*/
|
|
@@ -13,7 +30,7 @@ export declare class DataQualityTargetTable {
|
|
|
13
30
|
* The table name of the target table.
|
|
14
31
|
*/
|
|
15
32
|
readonly tableName: string;
|
|
16
|
-
constructor(
|
|
33
|
+
private constructor();
|
|
17
34
|
}
|
|
18
35
|
/**
|
|
19
36
|
* The Data Quality Definition Language (DQDL) document for a `DataQualityRuleset`.
|
|
@@ -57,14 +74,8 @@ export interface IDataQualityRuleset extends IResource {
|
|
|
57
74
|
export interface DataQualityRulesetProps {
|
|
58
75
|
/**
|
|
59
76
|
* The name of the ruleset
|
|
60
|
-
* @default cloudformation generated name
|
|
61
77
|
*/
|
|
62
|
-
readonly rulesetName
|
|
63
|
-
/**
|
|
64
|
-
* The client token of the ruleset
|
|
65
|
-
* @attribute
|
|
66
|
-
*/
|
|
67
|
-
readonly clientToken?: string;
|
|
78
|
+
readonly rulesetName: string;
|
|
68
79
|
/**
|
|
69
80
|
* The description of the ruleset
|
|
70
81
|
* @attribute
|
|
@@ -77,10 +77,38 @@ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
|
77
77
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
78
78
|
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* The Glue table a `DataQualityRuleset` evaluates.
|
|
81
81
|
*/
|
|
82
82
|
class DataQualityTargetTable {
|
|
83
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.
|
|
83
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.268.0-alpha.0" };
|
|
84
|
+
/**
|
|
85
|
+
* Target an L2 table in a database.
|
|
86
|
+
*
|
|
87
|
+
* @param database the database that holds the table.
|
|
88
|
+
* @param table the table to evaluate.
|
|
89
|
+
*/
|
|
90
|
+
static fromTable(database, table) {
|
|
91
|
+
try {
|
|
92
|
+
jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_ITable(table);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
96
|
+
Error.captureStackTrace(error, this.fromTable);
|
|
97
|
+
}
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
return new DataQualityTargetTable(database.databaseRef.databaseName, table.tableName);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Target a table by name in a database. Use this when the table is not
|
|
104
|
+
* modeled as an L2 construct (e.g. it is imported or created elsewhere).
|
|
105
|
+
*
|
|
106
|
+
* @param database the database that holds the table.
|
|
107
|
+
* @param tableName the name of the table to evaluate.
|
|
108
|
+
*/
|
|
109
|
+
static fromTableName(database, tableName) {
|
|
110
|
+
return new DataQualityTargetTable(database.databaseRef.databaseName, tableName);
|
|
111
|
+
}
|
|
84
112
|
/**
|
|
85
113
|
* The database name of the target table.
|
|
86
114
|
*/
|
|
@@ -105,7 +133,7 @@ exports.DataQualityTargetTable = DataQualityTargetTable;
|
|
|
105
133
|
*/
|
|
106
134
|
class Dqdl {
|
|
107
135
|
dqdl;
|
|
108
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Dqdl", version: "2.
|
|
136
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Dqdl", version: "2.268.0-alpha.0" };
|
|
109
137
|
/**
|
|
110
138
|
* Create a `Dqdl` from a raw DQDL string.
|
|
111
139
|
*
|
|
@@ -151,7 +179,7 @@ let DataQualityRuleset = (() => {
|
|
|
151
179
|
DataQualityRuleset = _classThis = _classDescriptor.value;
|
|
152
180
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
153
181
|
}
|
|
154
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.
|
|
182
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.268.0-alpha.0" };
|
|
155
183
|
/** Uniquely identifies this class. */
|
|
156
184
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.DataQualityRuleset';
|
|
157
185
|
static fromRulesetArn(scope, id, rulesetArn) {
|
|
@@ -192,7 +220,6 @@ let DataQualityRuleset = (() => {
|
|
|
192
220
|
// Enhanced CDK Analytics Telemetry
|
|
193
221
|
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
194
222
|
this.resource = new aws_glue_1.CfnDataQualityRuleset(this, 'Resource', {
|
|
195
|
-
clientToken: props.clientToken,
|
|
196
223
|
description: props.description,
|
|
197
224
|
name: props.rulesetName,
|
|
198
225
|
ruleset: props.dqdl._render(),
|
|
@@ -220,4 +247,4 @@ let DataQualityRuleset = (() => {
|
|
|
220
247
|
return DataQualityRuleset = _classThis;
|
|
221
248
|
})();
|
|
222
249
|
exports.DataQualityRuleset = DataQualityRuleset;
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWFsaXR5LXJ1bGVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhLXF1YWxpdHktcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBbUM7QUFDbkMsbURBQTZEO0FBRTdELDJDQUE0QztBQUM1Qyw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRTs7R0FFRztBQUNILE1BQWEsc0JBQXNCOztJQUNqQzs7T0FFRztJQUNNLFlBQVksQ0FBUztJQUU5Qjs7T0FFRztJQUNNLFNBQVMsQ0FBUztJQUUzQixZQUFZLFlBQW9CLEVBQUUsU0FBaUI7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7S0FDNUI7O0FBZEgsd0RBZUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxJQUFJO0lBVXNCOztJQVRyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkI7SUFFRCxZQUFxQyxJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtLQUFJO0lBRXJEOzs7O09BSUc7SUFDSSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ2xCOztBQW5CSCxvQkFvQkM7QUFpRUQ7O0dBRUc7SUFFVSxrQkFBa0I7NEJBRDlCLG9DQUFrQjs7OztzQkFDcUIsZUFBUTs7OztrQ0FBaEIsU0FBUSxXQUFROzs7OzJDQXNEN0MsaUNBQWM7MENBUWQsaUNBQWM7WUFQZix3TEFBVyxXQUFXLDZEQUVyQjtZQU1ELHFMQUFXLFVBQVUsNkRBRXBCO1lBakVILDZLQWtFQzs7Ozs7UUFqRUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyw0Q0FBNEMsQ0FBQztRQUU3RixNQUFNLENBQUMsY0FBYyxDQUFDLEtBQTJCLEVBQUUsRUFBVSxFQUFFLFVBQWtCO1lBQ3RGLE1BQU0sTUFBTyxTQUFRLGVBQVE7Z0JBQ3BCLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQ3hCLFdBQVcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO2FBQ3BGO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQTJCLEVBQUUsRUFBVSxFQUFFLFdBQW1CO1lBQ3hGLE1BQU0sTUFBTyxTQUFRLGVBQVE7Z0JBQ3BCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNwRSxXQUFXLEdBQUcsV0FBVyxDQUFDO2FBQ2xDO1lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDOUI7UUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQTJCLEVBQUUsV0FBbUI7WUFDN0UsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLE9BQU8sRUFBRSxNQUFNO2dCQUNmLFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFlBQVksRUFBRSxXQUFXO2FBQzFCLENBQUMsQ0FBQztTQUNKO1FBRU8sUUFBUSxHQTlCTCxtREFBa0IsQ0E4Qlc7UUFFeEMsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUE4QjtZQUNqRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDaEMsQ0FBQyxDQUFDOzs7Ozs7bURBbkNNLGtCQUFrQjs7OztZQW9DM0IsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUN2QixPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzdCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQy9CLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQ7O1dBRUc7UUFFSCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RDtRQUVEOztXQUVHO1FBRUgsSUFBVyxVQUFVO1lBQ25CLE9BQU8sa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDbkU7O1lBakVVLHVEQUFrQjs7Ozs7QUFBbEIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENmbkRhdGFRdWFsaXR5UnVsZXNldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGEgRGF0YVF1YWxpdHlUYXJnZXRUYWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFRdWFsaXR5VGFyZ2V0VGFibGUge1xuICAvKipcbiAgICogVGhlIGRhdGFiYXNlIG5hbWUgb2YgdGhlIHRhcmdldCB0YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUgbmFtZSBvZiB0aGUgdGFyZ2V0IHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGF0YWJhc2VOYW1lOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBkYXRhYmFzZU5hbWU7XG4gICAgdGhpcy50YWJsZU5hbWUgPSB0YWJsZU5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgRGF0YSBRdWFsaXR5IERlZmluaXRpb24gTGFuZ3VhZ2UgKERRREwpIGRvY3VtZW50IGZvciBhIGBEYXRhUXVhbGl0eVJ1bGVzZXRgLlxuICpcbiAqIERRREwgaXMgYW4gYXV0aG9yZWQgc3RyaW5nIHRoYXQgR2x1ZSBwYXJzZXMgYW5kIHZhbGlkYXRlcyBhdCBkZXBsb3kgdGltZS4gQnVpbGRcbiAqIG9uZSBmcm9tIGEgcmF3IERRREwgc3RyaW5nIHdpdGgge0BsaW5rIERxZGwuZnJvbVN0cmluZ30uXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvZHFkbC5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBEcWRsIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGBEcWRsYCBmcm9tIGEgcmF3IERRREwgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gZHFkbCB0aGUgRFFETCBkb2N1bWVudCwgZS5nLiBgUnVsZXMgPSBbIFJvd0NvdW50ID4gMTAwIF1gLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nKGRxZGw6IHN0cmluZyk6IERxZGwge1xuICAgIHJldHVybiBuZXcgRHFkbChkcWRsKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkcWRsOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGlzIERRREwgdG8gdGhlIHN0cmluZyBleHBlY3RlZCBieSB0aGUgR2x1ZSBydWxlc2V0IHJlc291cmNlLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZHFkbDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhUXVhbGl0eVJ1bGVzZXQgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGBEYXRhUXVhbGl0eVJ1bGVzZXRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVF1YWxpdHlSdWxlc2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bGVzZXRcbiAgICogQGRlZmF1bHQgY2xvdWRmb3JtYXRpb24gZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2xpZW50IHRva2VuIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudFRva2VuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHJ1bGVzZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBEUURMIGRvY3VtZW50IGRlZmluaW5nIHRoZSBydWxlc2V0J3MgZGF0YSBxdWFsaXR5IHJ1bGVzLlxuICAgKlxuICAgKiBCdWlsZCBpdCB3aXRoIGBEcWRsLmZyb21TdHJpbmcoLi4uKWAuXG4gICAqL1xuICByZWFkb25seSBkcWRsOiBEcWRsO1xuXG4gIC8qKlxuICAgKiAgS2V5LVZhbHVlIHBhaXJzIHRoYXQgZGVmaW5lIHRhZ3MgZm9yIHRoZSBydWxlc2V0LlxuICAgKiAgQGRlZmF1bHQgZW1wdHkgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdGFibGUgb2YgdGhlIHJ1bGVzZXRcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0VGFibGU6IERhdGFRdWFsaXR5VGFyZ2V0VGFibGU7XG5cbiAgLyoqXG4gICAqIFBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBydWxlc2V0IGlzIHJlbW92ZWQgZnJvbSB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcmVzb3VyY2Ugd2lsbCBiZSBkZXN0cm95ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEEgR2x1ZSBEYXRhIFF1YWxpdHkgcnVsZXNldC5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIERhdGFRdWFsaXR5UnVsZXNldCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuRGF0YVF1YWxpdHlSdWxlc2V0JztcblxuICBwdWJsaWMgc3RhdGljIGZyb21SdWxlc2V0QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcnVsZXNldEFybjogc3RyaW5nKTogSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICAgIHB1YmxpYyBydWxlc2V0QXJuID0gcnVsZXNldEFybjtcbiAgICAgIHB1YmxpYyBydWxlc2V0TmFtZSA9IGNkay5Bcm4uZXh0cmFjdFJlc291cmNlTmFtZShydWxlc2V0QXJuLCAnZGF0YXF1YWxpdHlydWxlc2V0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGVzZXROYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcnVsZXNldE5hbWU6IHN0cmluZyk6IElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gICAgICBwdWJsaWMgcnVsZXNldEFybiA9IERhdGFRdWFsaXR5UnVsZXNldC5idWlsZFJ1bGVzZXRBcm4oc2NvcGUsIHJ1bGVzZXROYW1lKTtcbiAgICAgIHB1YmxpYyBydWxlc2V0TmFtZSA9IHJ1bGVzZXROYW1lO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBidWlsZFJ1bGVzZXRBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBydWxlc2V0TmFtZTogc3RyaW5nKSA6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnbHVlJyxcbiAgICAgIHJlc291cmNlOiAnZGF0YXF1YWxpdHlydWxlc2V0JyxcbiAgICAgIHJlc291cmNlTmFtZTogcnVsZXNldE5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5EYXRhUXVhbGl0eVJ1bGVzZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YVF1YWxpdHlSdWxlc2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMucnVsZXNldE5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkRhdGFRdWFsaXR5UnVsZXNldCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBjbGllbnRUb2tlbjogcHJvcHMuY2xpZW50VG9rZW4sXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBuYW1lOiBwcm9wcy5ydWxlc2V0TmFtZSxcbiAgICAgIHJ1bGVzZXQ6IHByb3BzLmRxZGwuX3JlbmRlcigpLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIHRhcmdldFRhYmxlOiBwcm9wcy50YXJnZXRUYWJsZSxcbiAgICB9KTtcblxuICAgIHRoaXMucmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyBydWxlc2V0LlxuICAgKi9cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgcnVsZXNldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFSTiBvZiB0aGlzIHJ1bGVzZXQuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBydWxlc2V0QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERhdGFRdWFsaXR5UnVsZXNldC5idWlsZFJ1bGVzZXRBcm4odGhpcywgdGhpcy5ydWxlc2V0TmFtZSk7XG4gIH1cbn1cbiJdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWFsaXR5LXJ1bGVzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhLXF1YWxpdHktcnVsZXNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBbUM7QUFDbkMsbURBQWdGO0FBRWhGLDJDQUE0QztBQUM1Qyw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUkxRTs7R0FFRztBQUNILE1BQWEsc0JBQXNCOztJQUNqQzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBc0IsRUFBRSxLQUFhOzs7Ozs7Ozs7O1FBQzNELE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDdkY7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQXNCLEVBQUUsU0FBaUI7UUFDbkUsT0FBTyxJQUFJLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQ7O09BRUc7SUFDYSxZQUFZLENBQVM7SUFFckM7O09BRUc7SUFDYSxTQUFTLENBQVM7SUFFbEMsWUFBb0IsWUFBb0IsRUFBRSxTQUFpQjtRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztLQUM1Qjs7QUFuQ0gsd0RBb0NDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsSUFBSTtJQVVzQjs7SUFUckM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNuQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3ZCO0lBRUQsWUFBcUMsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7S0FBSTtJQUVyRDs7OztPQUlHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQjs7QUFuQkgsb0JBb0JDO0FBMEREOztHQUVHO0lBRVUsa0JBQWtCOzRCQUQ5QixvQ0FBa0I7Ozs7c0JBQ3FCLGVBQVE7Ozs7a0NBQWhCLFNBQVEsV0FBUTs7OzsyQ0FxRDdDLGlDQUFjOzBDQVFkLGlDQUFjO1lBUGYsd0xBQVcsV0FBVyw2REFFckI7WUFNRCxxTEFBVyxVQUFVLDZEQUVwQjtZQWhFSCw2S0FpRUM7Ozs7O1FBaEVDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsNENBQTRDLENBQUM7UUFFN0YsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUEyQixFQUFFLEVBQVUsRUFBRSxVQUFrQjtZQUN0RixNQUFNLE1BQU8sU0FBUSxlQUFRO2dCQUNwQixVQUFVLEdBQUcsVUFBVSxDQUFDO2dCQUN4QixXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLENBQUMsQ0FBQzthQUNwRjtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRU0sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUEyQixFQUFFLEVBQVUsRUFBRSxXQUFtQjtZQUN4RixNQUFNLE1BQU8sU0FBUSxlQUFRO2dCQUNwQixVQUFVLEdBQUcsa0JBQWtCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDcEUsV0FBVyxHQUFHLFdBQVcsQ0FBQzthQUNsQztZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUEyQixFQUFFLFdBQW1CO1lBQzdFLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixZQUFZLEVBQUUsV0FBVzthQUMxQixDQUFDLENBQUM7U0FDSjtRQUVPLFFBQVEsR0E5QkwsbURBQWtCLENBOEJXO1FBRXhDLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBOEI7WUFDakYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxXQUFXO2FBQ2hDLENBQUMsQ0FBQzs7Ozs7O21EQW5DTSxrQkFBa0I7Ozs7WUFvQzNCLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0NBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDMUQsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUM5QixJQUFJLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQ3ZCLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDN0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7YUFDL0IsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkQ7UUFFRDs7V0FFRztRQUVILElBQVcsV0FBVztZQUNwQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pEO1FBRUQ7O1dBRUc7UUFFSCxJQUFXLFVBQVU7WUFDbkIsT0FBTyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNuRTs7WUFoRVUsdURBQWtCOzs7OztBQUFsQixnREFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuRGF0YVF1YWxpdHlSdWxlc2V0LCB0eXBlIElEYXRhYmFzZVJlZiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB0eXBlIHsgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgSVRhYmxlIH0gZnJvbSAnLi90YWJsZS1iYXNlJztcblxuLyoqXG4gKiBUaGUgR2x1ZSB0YWJsZSBhIGBEYXRhUXVhbGl0eVJ1bGVzZXRgIGV2YWx1YXRlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFRdWFsaXR5VGFyZ2V0VGFibGUge1xuICAvKipcbiAgICogVGFyZ2V0IGFuIEwyIHRhYmxlIGluIGEgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhYmFzZSB0aGUgZGF0YWJhc2UgdGhhdCBob2xkcyB0aGUgdGFibGUuXG4gICAqIEBwYXJhbSB0YWJsZSB0aGUgdGFibGUgdG8gZXZhbHVhdGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21UYWJsZShkYXRhYmFzZTogSURhdGFiYXNlUmVmLCB0YWJsZTogSVRhYmxlKTogRGF0YVF1YWxpdHlUYXJnZXRUYWJsZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhUXVhbGl0eVRhcmdldFRhYmxlKGRhdGFiYXNlLmRhdGFiYXNlUmVmLmRhdGFiYXNlTmFtZSwgdGFibGUudGFibGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUYXJnZXQgYSB0YWJsZSBieSBuYW1lIGluIGEgZGF0YWJhc2UuIFVzZSB0aGlzIHdoZW4gdGhlIHRhYmxlIGlzIG5vdFxuICAgKiBtb2RlbGVkIGFzIGFuIEwyIGNvbnN0cnVjdCAoZS5nLiBpdCBpcyBpbXBvcnRlZCBvciBjcmVhdGVkIGVsc2V3aGVyZSkuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhYmFzZSB0aGUgZGF0YWJhc2UgdGhhdCBob2xkcyB0aGUgdGFibGUuXG4gICAqIEBwYXJhbSB0YWJsZU5hbWUgdGhlIG5hbWUgb2YgdGhlIHRhYmxlIHRvIGV2YWx1YXRlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tVGFibGVOYW1lKGRhdGFiYXNlOiBJRGF0YWJhc2VSZWYsIHRhYmxlTmFtZTogc3RyaW5nKTogRGF0YVF1YWxpdHlUYXJnZXRUYWJsZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRhUXVhbGl0eVRhcmdldFRhYmxlKGRhdGFiYXNlLmRhdGFiYXNlUmVmLmRhdGFiYXNlTmFtZSwgdGFibGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZGF0YWJhc2UgbmFtZSBvZiB0aGUgdGFyZ2V0IHRhYmxlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUgbmFtZSBvZiB0aGUgdGFyZ2V0IHRhYmxlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZGF0YWJhc2VOYW1lOiBzdHJpbmcsIHRhYmxlTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBkYXRhYmFzZU5hbWU7XG4gICAgdGhpcy50YWJsZU5hbWUgPSB0YWJsZU5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgRGF0YSBRdWFsaXR5IERlZmluaXRpb24gTGFuZ3VhZ2UgKERRREwpIGRvY3VtZW50IGZvciBhIGBEYXRhUXVhbGl0eVJ1bGVzZXRgLlxuICpcbiAqIERRREwgaXMgYW4gYXV0aG9yZWQgc3RyaW5nIHRoYXQgR2x1ZSBwYXJzZXMgYW5kIHZhbGlkYXRlcyBhdCBkZXBsb3kgdGltZS4gQnVpbGRcbiAqIG9uZSBmcm9tIGEgcmF3IERRREwgc3RyaW5nIHdpdGgge0BsaW5rIERxZGwuZnJvbVN0cmluZ30uXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvZHFkbC5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBEcWRsIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIGBEcWRsYCBmcm9tIGEgcmF3IERRREwgc3RyaW5nLlxuICAgKlxuICAgKiBAcGFyYW0gZHFkbCB0aGUgRFFETCBkb2N1bWVudCwgZS5nLiBgUnVsZXMgPSBbIFJvd0NvdW50ID4gMTAwIF1gLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tU3RyaW5nKGRxZGw6IHN0cmluZyk6IERxZGwge1xuICAgIHJldHVybiBuZXcgRHFkbChkcWRsKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkcWRsOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGlzIERRREwgdG8gdGhlIHN0cmluZyBleHBlY3RlZCBieSB0aGUgR2x1ZSBydWxlc2V0IHJlc291cmNlLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfcmVuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZHFkbDtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhUXVhbGl0eVJ1bGVzZXQgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBydWxlc2V0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBydWxlc2V0XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgZm9yIGBEYXRhUXVhbGl0eVJ1bGVzZXRgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVF1YWxpdHlSdWxlc2V0UHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bGVzZXRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bGVzZXROYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIERRREwgZG9jdW1lbnQgZGVmaW5pbmcgdGhlIHJ1bGVzZXQncyBkYXRhIHF1YWxpdHkgcnVsZXMuXG4gICAqXG4gICAqIEJ1aWxkIGl0IHdpdGggYERxZGwuZnJvbVN0cmluZyguLi4pYC5cbiAgICovXG4gIHJlYWRvbmx5IGRxZGw6IERxZGw7XG5cbiAgLyoqXG4gICAqICBLZXktVmFsdWUgcGFpcnMgdGhhdCBkZWZpbmUgdGFncyBmb3IgdGhlIHJ1bGVzZXQuXG4gICAqICBAZGVmYXVsdCBlbXB0eSB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB0YWJsZSBvZiB0aGUgcnVsZXNldFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRUYWJsZTogRGF0YVF1YWxpdHlUYXJnZXRUYWJsZTtcblxuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIHJ1bGVzZXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSByZXNvdXJjZSB3aWxsIGJlIGRlc3Ryb3llZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQSBHbHVlIERhdGEgUXVhbGl0eSBydWxlc2V0LlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRGF0YVF1YWxpdHlSdWxlc2V0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5EYXRhUXVhbGl0eVJ1bGVzZXQnO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJ1bGVzZXRBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBydWxlc2V0QXJuOiBzdHJpbmcpOiBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhUXVhbGl0eVJ1bGVzZXQge1xuICAgICAgcHVibGljIHJ1bGVzZXRBcm4gPSBydWxlc2V0QXJuO1xuICAgICAgcHVibGljIHJ1bGVzZXROYW1lID0gY2RrLkFybi5leHRyYWN0UmVzb3VyY2VOYW1lKHJ1bGVzZXRBcm4sICdkYXRhcXVhbGl0eXJ1bGVzZXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmcm9tUnVsZXNldE5hbWUoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBydWxlc2V0TmFtZTogc3RyaW5nKTogSURhdGFRdWFsaXR5UnVsZXNldCB7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YVF1YWxpdHlSdWxlc2V0IHtcbiAgICAgIHB1YmxpYyBydWxlc2V0QXJuID0gRGF0YVF1YWxpdHlSdWxlc2V0LmJ1aWxkUnVsZXNldEFybihzY29wZSwgcnVsZXNldE5hbWUpO1xuICAgICAgcHVibGljIHJ1bGVzZXROYW1lID0gcnVsZXNldE5hbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGJ1aWxkUnVsZXNldEFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHJ1bGVzZXROYW1lOiBzdHJpbmcpIDogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICdkYXRhcXVhbGl0eXJ1bGVzZXQnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBydWxlc2V0TmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkRhdGFRdWFsaXR5UnVsZXNldDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhUXVhbGl0eVJ1bGVzZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5ydWxlc2V0TmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuRGF0YVF1YWxpdHlSdWxlc2V0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIG5hbWU6IHByb3BzLnJ1bGVzZXROYW1lLFxuICAgICAgcnVsZXNldDogcHJvcHMuZHFkbC5fcmVuZGVyKCksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgdGFyZ2V0VGFibGU6IHByb3BzLnRhcmdldFRhYmxlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSk7XG4gIH1cblxuICAvKipcbiAgICogTmFtZSBvZiB0aGlzIHJ1bGVzZXQuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBydWxlc2V0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICAvKipcbiAgICogQVJOIG9mIHRoaXMgcnVsZXNldC5cbiAgICovXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHJ1bGVzZXRBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gRGF0YVF1YWxpdHlSdWxlc2V0LmJ1aWxkUnVsZXNldEFybih0aGlzLCB0aGlzLnJ1bGVzZXROYW1lKTtcbiAgfVxufVxuIl19
|
package/lib/database.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type DatabaseReference, type IDatabaseRef } from 'aws-cdk-lib/aws-glue';
|
|
1
2
|
import type { IResource } from 'aws-cdk-lib/core';
|
|
2
3
|
import { RemovalPolicy, Resource } from 'aws-cdk-lib/core';
|
|
3
4
|
import type { Construct } from 'constructs';
|
|
4
5
|
import type { ICatalog } from './catalog';
|
|
5
|
-
export interface IDatabase extends IResource {
|
|
6
|
+
export interface IDatabase extends IResource, IDatabaseRef {
|
|
6
7
|
/**
|
|
7
8
|
* The catalog this database belongs to.
|
|
8
9
|
*/
|
|
@@ -79,4 +80,5 @@ export declare class Database extends Resource implements IDatabase {
|
|
|
79
80
|
get catalog(): ICatalog;
|
|
80
81
|
get databaseName(): string;
|
|
81
82
|
get databaseArn(): string;
|
|
83
|
+
get databaseRef(): DatabaseReference;
|
|
82
84
|
}
|
package/lib/database.js
CHANGED
|
@@ -70,7 +70,7 @@ let Database = (() => {
|
|
|
70
70
|
Database = _classThis = _classDescriptor.value;
|
|
71
71
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
72
72
|
}
|
|
73
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Database", version: "2.
|
|
73
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Database", version: "2.268.0-alpha.0" };
|
|
74
74
|
/** Uniquely identifies this class. */
|
|
75
75
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Database';
|
|
76
76
|
static fromDatabaseArn(scope, id, databaseArn) {
|
|
@@ -88,6 +88,9 @@ let Database = (() => {
|
|
|
88
88
|
}
|
|
89
89
|
databaseArn = (__runInitializers(this, _instanceExtraInitializers), databaseArn);
|
|
90
90
|
databaseName = stack.splitArn(databaseArn, core_1.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
|
|
91
|
+
get databaseRef() {
|
|
92
|
+
return { databaseName: this.databaseName };
|
|
93
|
+
}
|
|
91
94
|
// Materialize the account catalog only on access, so importing a database
|
|
92
95
|
// does not pre-empt Catalog.encryptAccount() for the stack.
|
|
93
96
|
get catalog() {
|
|
@@ -168,6 +171,9 @@ let Database = (() => {
|
|
|
168
171
|
resourceName: this.databaseName,
|
|
169
172
|
});
|
|
170
173
|
}
|
|
174
|
+
get databaseRef() {
|
|
175
|
+
return { databaseName: this.databaseName };
|
|
176
|
+
}
|
|
171
177
|
static {
|
|
172
178
|
__runInitializers(_classThis, _classExtraInitializers);
|
|
173
179
|
}
|
|
@@ -185,4 +191,4 @@ function validateDescription(description) {
|
|
|
185
191
|
throw new core_1.UnscopedValidationError((0, helpers_internal_1.lit) `InvalidDescriptionLength`, `description length must be less than or equal to 2048, got ${description.length}`);
|
|
186
192
|
}
|
|
187
193
|
}
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBbUQ7QUFFbkQsMkNBQW1IO0FBQ25ILDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRzFFLHVDQUFvQztBQWlFcEM7O0dBRUc7SUFFVSxRQUFROzRCQURwQixvQ0FBa0I7Ozs7c0JBQ1csZUFBUTs7Ozs7d0JBQWhCLFNBQVEsV0FBUTs7Ozt1Q0FpRm5DLGlDQUFjOzRDQUtkLGlDQUFjOzJDQUtkLGlDQUFjO1lBVGYsNEtBQVcsT0FBTyw2REFFakI7WUFHRCwyTEFBVyxZQUFZLDZEQUV0QjtZQUdELHdMQUFXLFdBQVcsNkRBTXJCO1lBbEdILDZLQW1HQzs7Ozs7UUFsR0Msc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxrQ0FBa0MsQ0FBQztRQUVuRixNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW1CO1lBQzdFLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXhCLE1BQU07a0NBQVMsZUFBUTs7OzZCQUF2QixNQUFPLFNBQVEsV0FBUTs7O3FEQU0xQixpQ0FBYzt3QkFDZiw4S0FBVyxPQUFPLDZEQUVqQjs7O29CQVJNLFdBQVcsSUFEZCxtREFBTSxFQUNXLFdBQVcsRUFBQztvQkFDMUIsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGdCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFhLENBQUM7b0JBRS9GLDBFQUEwRTtvQkFDMUUsNERBQTREO29CQUU1RCxJQUFXLE9BQU87d0JBQ2hCLE9BQU8saUJBQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2xDLENBQUM7OztZQUdILE9B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V0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0osQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFdBQW1CO0lBQzlDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksOEJBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLDBCQUEwQixFQUFFLDhEQUE4RCxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2SixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbkRhdGFiYXNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEFybkZvcm1hdCwgTGF6eSwgTmFtZXMsIFJlbW92YWxQb2xpY3ksIFJlc291cmNlLCBTdGFjaywgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGxpdCwgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElDYXRhbG9nIH0gZnJvbSAnLi9jYXRhbG9nJztcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuL2NhdGFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhYmFzZSBleHRlbmRzIElSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIFRoZSBjYXRhbG9nIHRoaXMgZGF0YWJhc2UgYmVsb25ncyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNhdGFsb2c6IElDYXRhbG9nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBkYXRhYmFzZS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBnZW5lcmF0ZWQgYnkgQ0RLLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYXRpb24gb2YgdGhlIGRhdGFiYXNlIChmb3IgZXhhbXBsZSwgYW4gSERGUyBwYXRoKS5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkLiBUaGlzIGZpZWxkIGlzIG9wdGlvbmFsIGluIEFXUzo6R2x1ZTo6RGF0YWJhc2UgRGF0YWJhc2VJbnB1dFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWdsdWUtZGF0YWJhc2UtZGF0YWJhc2VpbnB1dC5odG1sXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvblVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGF0YWJhc2UgZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2F0YWxvZyBpbiB3aGljaCB0aGUgZGF0YWJhc2Ugd2lsbCBiZSBwbGFjZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFRoZSBkZWZhdWx0LCBhY2NvdW50LXdpZGUgY2F0YWxvZy5cbiAgICovXG4gIHJlYWRvbmx5IGNhdGFsb2c/OiBJQ2F0YWxvZztcblxuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIGRhdGFiYXNlIGlzIHJlbW92ZWQgZnJvbSB0aGUgc3RhY2suXG4gICAqXG4gICAqIEEgZGF0YWJhc2UgaXMgYSBjb250YWluZXIgZm9yIHRhYmxlcyBhbmQgdGhlaXIgbWV0YWRhdGEsIHNvIGl0IGlzIHJldGFpbmVkXG4gICAqIGJ5IGRlZmF1bHQgdG8gYXZvaWQgYWNjaWRlbnRhbCBkYXRhIGxvc3Mgd2hlbiBpdCBpcyByZW1vdmVkIGZyb20gYSBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SRVRBSU5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEEgR2x1ZSBkYXRhYmFzZS5cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIERhdGFiYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YWJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLkRhdGFiYXNlJztcblxuICBwdWJsaWMgc3RhdGljIGZyb21EYXRhYmFzZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkYXRhYmFzZUFybjogc3RyaW5nKTogSURhdGFiYXNlIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFiYXNlIHtcbiAgICAgIHB1YmxpYyBkYXRhYmFzZUFybiA9IGRhdGFiYXNlQXJuO1xuICAgICAgcHVibGljIGRhdGFiYXNlTmFtZSA9IHN0YWNrLnNwbGl0QXJuKGRhdGFiYXNlQXJuLCBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSkucmVzb3VyY2VOYW1lITtcblxuICAgICAgLy8gTWF0ZXJpYWxpemUgdGhlIGFjY291bnQgY2F0YWxvZyBvbmx5IG9uIGFjY2Vzcywgc28gaW1wb3J0aW5nIGEgZGF0YWJhc2VcbiAgICAgIC8vIGRvZXMgbm90IHByZS1lbXB0IENhdGFsb2cuZW5jcnlwdEFjY291bnQoKSBmb3IgdGhlIHN0YWNrLlxuICAgICAgQG1lbW9pemVkR2V0dGVyXG4gICAgICBwdWJsaWMgZ2V0IGNhdGFsb2coKTogSUNhdGFsb2cge1xuICAgICAgICByZXR1cm4gQ2F0YWxvZy5mb3JBY2NvdW50KHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogTG9jYXRpb24gVVJJIG9mIHRoaXMgZGF0YWJhc2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYXRpb25Vcmk/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY2F0YWxvZz86IElDYXRhbG9nO1xuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkRhdGFiYXNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lID8/XG4gICAgICAgIExhenkuc3RyaW5nKHtcbiAgICAgICAgICBwcm9kdWNlOiAoKSA9PiBOYW1lcy51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywge30pLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIH0pLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhbGlkYXRlRGVzY3JpcHRpb24ocHJvcHMuZGVzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIGxldCBkYXRhYmFzZUlucHV0OiBDZm5EYXRhYmFzZS5EYXRhYmFzZUlucHV0UHJvcGVydHkgPSB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmxvY2F0aW9uVXJpICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHZhbGlkYXRlTG9jYXRpb25VcmkocHJvcHMubG9jYXRpb25VcmkpO1xuICAgICAgdGhpcy5sb2NhdGlvblVyaSA9IHByb3BzLmxvY2F0aW9uVXJpO1xuICAgICAgZGF0YWJhc2VJbnB1dCA9IHtcbiAgICAgICAgbG9jYXRpb25Vcmk6IHRoaXMubG9jYXRpb25VcmksXG4gICAgICAgIC4uLmRhdGFiYXNlSW5wdXQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuX2NhdGFsb2cgPSBwcm9wcy5jYXRhbG9nO1xuXG4gICAgLy8gV2hlbiB0aGUgZGF0YWJhc2UgdXNlcyB0aGUgaW1wbGljaXQgYWNjb3VudCBjYXRhbG9nLCBpdHMgaWQgaXMgdGhlXG4gICAgLy8gYWNjb3VudCBpZC4gUmVmZXJlbmNlIHRoYXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gbWF0ZXJpYWxpemluZyB0aGUgYWNjb3VudFxuICAgIC8vIGNhdGFsb2cgc2luZ2xldG9uLCBzbyBhIHBsYWluIGBuZXcgRGF0YWJhc2UoKWAgZG9lcyBub3QgcHJlLWVtcHRcbiAgICAvLyBgQ2F0YWxvZy5lbmNyeXB0QWNjb3VudCgpYCBmb3IgdGhlIHN0YWNrLlxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuRGF0YWJhc2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgY2F0YWxvZ0lkOiB0aGlzLl9jYXRhbG9nPy5jYXRhbG9nSWQgPz8gU3RhY2sub2YodGhpcykuYWNjb3VudCxcbiAgICAgIGRhdGFiYXNlSW5wdXQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7XG4gICAgICBkZWZhdWx0OiBSZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2F0YWxvZyB0aGlzIGRhdGFiYXNlIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIHRoZSBpbXBsaWNpdCwgYWNjb3VudC13aWRlIGNhdGFsb2csIG1hdGVyaWFsaXplZCBvbiBmaXJzdFxuICAgKiBhY2Nlc3MuXG4gICAqL1xuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBjYXRhbG9nKCk6IElDYXRhbG9nIHtcbiAgICByZXR1cm4gdGhpcy5fY2F0YWxvZyA/PyBDYXRhbG9nLmZvckFjY291bnQodGhpcyk7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBkYXRhYmFzZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgZGF0YWJhc2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICdkYXRhYmFzZScsXG4gICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZGF0YWJhc2VOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlTG9jYXRpb25VcmkobG9jYXRpb25Vcmk6IHN0cmluZyk6IHZvaWQge1xuICBpZiAobG9jYXRpb25VcmkubGVuZ3RoIDwgMSB8fCBsb2NhdGlvblVyaS5sZW5ndGggPiAxMDI0KSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKGxpdGBJbnZhbGlkTG9jYXRpb25VcmlMZW5ndGhgLCBgbG9jYXRpb25VcmkgbGVuZ3RoIG11c3QgYmUgKGluY2x1c2l2ZWx5KSBiZXR3ZWVuIDEgYW5kIDEwMjQsIGdvdCAke2xvY2F0aW9uVXJpLmxlbmd0aH1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKGRlc2NyaXB0aW9uLmxlbmd0aCA+IDIwNDgpIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEludmFsaWREZXNjcmlwdGlvbkxlbmd0aGAsIGBkZXNjcmlwdGlvbiBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMjA0OCwgZ290ICR7ZGVzY3JpcHRpb24ubGVuZ3RofWApO1xuICB9XG59XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBOEY7QUFFOUYsMkNBQW1IO0FBQ25ILDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRzFFLHVDQUFvQztBQWlFcEM7O0dBRUc7SUFFVSxRQUFROzRCQURwQixvQ0FBa0I7Ozs7c0JBQ1csZUFBUTs7Ozs7d0JBQWhCLFNBQVEsV0FBUTs7Ozt1Q0FxRm5DLGlDQUFjOzRDQUtkLGlDQUFjOzJDQUtkLGlDQUFjO1lBVGYsNEtBQVcsT0FBTyw2REFFakI7WUFHRCwyTEFBVyxZQUFZLDZEQUV0QjtZQUdELHdMQUFXLFdBQVcsNkRBTXJCO1lBdEdILDZLQTJHQzs7Ozs7UUExR0Msc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxrQ0FBa0MsQ0FBQztRQUVuRixNQUFNLENBQUMsZUFBZSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW1CO1lBQzdFLE1BQU0sS0FBSyxHQUFHLFlBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRXhCLE1BQU07a0NBQVMsZUFBUTs7OzZCQUF2QixNQUFPLFNBQVEsV0FBUTs7O3FEQVUxQixpQ0FBYzt3QkFDZiw4S0FBVyxPQUFPLDZEQUVqQjs7O29CQVpNLFdBQVcsSUFEZCxtREFBTSxFQUNXLFdBQVcsRUFBQztvQkFDMUIsWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGdCQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFhLENBQUM7b0JBRS9GLElBQVcsV0FBVzt3QkFDcEIsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzdDLENBQUM7b0JBRUQsMEVBQTBFO29CQUMxRSw0REFBNEQ7b0JBRTVE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QixDQUFDLFdBQW1CO0lBQzlDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUN4RCxNQUFNLElBQUksOEJBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLDBCQUEwQixFQUFFLG9FQUFvRSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3SixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsV0FBbUI7SUFDOUMsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzlCLE1BQU0sSUFBSSw4QkFBdUIsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsMEJBQTBCLEVBQUUsOERBQThELFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZKLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuRGF0YWJhc2UsIHR5cGUgRGF0YWJhc2VSZWZlcmVuY2UsIHR5cGUgSURhdGFiYXNlUmVmIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHR5cGUgeyBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IEFybkZvcm1hdCwgTGF6eSwgTmFtZXMsIFJlbW92YWxQb2xpY3ksIFJlc291cmNlLCBTdGFjaywgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGxpdCwgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IElDYXRhbG9nIH0gZnJvbSAnLi9jYXRhbG9nJztcbmltcG9ydCB7IENhdGFsb2cgfSBmcm9tICcuL2NhdGFsb2cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhYmFzZSBleHRlbmRzIElSZXNvdXJjZSwgSURhdGFiYXNlUmVmIHtcblxuICAvKipcbiAgICogVGhlIGNhdGFsb2cgdGhpcyBkYXRhYmFzZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY2F0YWxvZzogSUNhdGFsb2c7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGdlbmVyYXRlZCBieSBDREsuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiBvZiB0aGUgZGF0YWJhc2UgKGZvciBleGFtcGxlLCBhbiBIREZTIHBhdGgpLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQuIFRoaXMgZmllbGQgaXMgb3B0aW9uYWwgaW4gQVdTOjpHbHVlOjpEYXRhYmFzZSBEYXRhYmFzZUlucHV0XG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZ2x1ZS1kYXRhYmFzZS1kYXRhYmFzZWlucHV0Lmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uVXJpPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkYXRhYmFzZSBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjYXRhbG9nIGluIHdoaWNoIHRoZSBkYXRhYmFzZSB3aWxsIGJlIHBsYWNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgVGhlIGRlZmF1bHQsIGFjY291bnQtd2lkZSBjYXRhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgY2F0YWxvZz86IElDYXRhbG9nO1xuXG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgZGF0YWJhc2UgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjay5cbiAgICpcbiAgICogQSBkYXRhYmFzZSBpcyBhIGNvbnRhaW5lciBmb3IgdGFibGVzIGFuZCB0aGVpciBtZXRhZGF0YSwgc28gaXQgaXMgcmV0YWluZWRcbiAgICogYnkgZGVmYXVsdCB0byBhdm9pZCBhY2NpZGVudGFsIGRhdGEgbG9zcyB3aGVuIGl0IGlzIHJlbW92ZWQgZnJvbSBhIHN0YWNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbi8qKlxuICogQSBHbHVlIGRhdGFiYXNlLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhYmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdsdWUtYWxwaGEuRGF0YWJhc2UnO1xuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbURhdGFiYXNlQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGRhdGFiYXNlQXJuOiBzdHJpbmcpOiBJRGF0YWJhc2Uge1xuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJRGF0YWJhc2Uge1xuICAgICAgcHVibGljIGRhdGFiYXNlQXJuID0gZGF0YWJhc2VBcm47XG4gICAgICBwdWJsaWMgZGF0YWJhc2VOYW1lID0gc3RhY2suc3BsaXRBcm4oZGF0YWJhc2VBcm4sIEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWUhO1xuXG4gICAgICBwdWJsaWMgZ2V0IGRhdGFiYXNlUmVmKCk6IERhdGFiYXNlUmVmZXJlbmNlIHtcbiAgICAgICAgcmV0dXJuIHsgZGF0YWJhc2VOYW1lOiB0aGlzLmRhdGFiYXNlTmFtZSB9O1xuICAgICAgfVxuXG4gICAgICAvLyBNYXRlcmlhbGl6ZSB0aGUgYWNjb3VudCBjYXRhbG9nIG9ubHkgb24gYWNjZXNzLCBzbyBpbXBvcnRpbmcgYSBkYXRhYmFzZVxuICAgICAgLy8gZG9lcyBub3QgcHJlLWVtcHQgQ2F0YWxvZy5lbmNyeXB0QWNjb3VudCgpIGZvciB0aGUgc3RhY2suXG4gICAgICBAbWVtb2l6ZWRHZXR0ZXJcbiAgICAgIHB1YmxpYyBnZXQgY2F0YWxvZygpOiBJQ2F0YWxvZyB7XG4gICAgICAgIHJldHVybiBDYXRhbG9nLmZvckFjY291bnQodGhpcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2NhdGlvbiBVUkkgb2YgdGhpcyBkYXRhYmFzZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2NhdGlvblVyaT86IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jYXRhbG9nPzogSUNhdGFsb2c7XG5cbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuRGF0YWJhc2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUgPz9cbiAgICAgICAgTGF6eS5zdHJpbmcoe1xuICAgICAgICAgIHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7fSkudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgfSksXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdmFsaWRhdGVEZXNjcmlwdGlvbihwcm9wcy5kZXNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgbGV0IGRhdGFiYXNlSW5wdXQ6IENmbkRhdGFiYXNlLkRhdGFiYXNlSW5wdXRQcm9wZXJ0eSA9IHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgIH07XG5cbiAgICBpZiAocHJvcHMubG9jYXRpb25VcmkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdmFsaWRhdGVMb2NhdGlvblVyaShwcm9wcy5sb2NhdGlvblVyaSk7XG4gICAgICB0aGlzLmxvY2F0aW9uVXJpID0gcHJvcHMubG9jYXRpb25Vcmk7XG4gICAgICBkYXRhYmFzZUlucHV0ID0ge1xuICAgICAgICBsb2NhdGlvblVyaTogdGhpcy5sb2NhdGlvblVyaSxcbiAgICAgICAgLi4uZGF0YWJhc2VJbnB1dCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5fY2F0YWxvZyA9IHByb3BzLmNhdGFsb2c7XG5cbiAgICAvLyBXaGVuIHRoZSBkYXRhYmFzZSB1c2VzIHRoZSBpbXBsaWNpdCBhY2NvdW50IGNhdGFsb2csIGl0cyBpZCBpcyB0aGVcbiAgICAvLyBhY2NvdW50IGlkLiBSZWZlcmVuY2UgdGhhdCBkaXJlY3RseSByYXRoZXIgdGhhbiBtYXRlcmlhbGl6aW5nIHRoZSBhY2NvdW50XG4gICAgLy8gY2F0YWxvZyBzaW5nbGV0b24sIHNvIGEgcGxhaW4gYG5ldyBEYXRhYmFzZSgpYCBkb2VzIG5vdCBwcmUtZW1wdFxuICAgIC8vIGBDYXRhbG9nLmVuY3J5cHRBY2NvdW50KClgIGZvciB0aGUgc3RhY2suXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5EYXRhYmFzZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBjYXRhbG9nSWQ6IHRoaXMuX2NhdGFsb2c/LmNhdGFsb2dJZCA/PyBTdGFjay5vZih0aGlzKS5hY2NvdW50LFxuICAgICAgZGF0YWJhc2VJbnB1dCxcbiAgICB9KTtcblxuICAgIHRoaXMucmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3ksIHtcbiAgICAgIGRlZmF1bHQ6IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjYXRhbG9nIHRoaXMgZGF0YWJhc2UgYmVsb25ncyB0by5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdGhlIGltcGxpY2l0LCBhY2NvdW50LXdpZGUgY2F0YWxvZywgbWF0ZXJpYWxpemVkIG9uIGZpcnN0XG4gICAqIGFjY2Vzcy5cbiAgICovXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGNhdGFsb2coKTogSUNhdGFsb2cge1xuICAgIHJldHVybiB0aGlzLl9jYXRhbG9nID8/IENhdGFsb2cuZm9yQWNjb3VudCh0aGlzKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGRhdGFiYXNlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBkYXRhYmFzZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ2RhdGFiYXNlJyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5kYXRhYmFzZU5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFiYXNlUmVmKCk6IERhdGFiYXNlUmVmZXJlbmNlIHtcbiAgICByZXR1cm4geyBkYXRhYmFzZU5hbWU6IHRoaXMuZGF0YWJhc2VOYW1lIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVMb2NhdGlvblVyaShsb2NhdGlvblVyaTogc3RyaW5nKTogdm9pZCB7XG4gIGlmIChsb2NhdGlvblVyaS5sZW5ndGggPCAxIHx8IGxvY2F0aW9uVXJpLmxlbmd0aCA+IDEwMjQpIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YEludmFsaWRMb2NhdGlvblVyaUxlbmd0aGAsIGBsb2NhdGlvblVyaSBsZW5ndGggbXVzdCBiZSAoaW5jbHVzaXZlbHkpIGJldHdlZW4gMSBhbmQgMTAyNCwgZ290ICR7bG9jYXRpb25VcmkubGVuZ3RofWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHZvaWQge1xuICBpZiAoZGVzY3JpcHRpb24ubGVuZ3RoID4gMjA0OCkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgSW52YWxpZERlc2NyaXB0aW9uTGVuZ3RoYCwgYGRlc2NyaXB0aW9uIGxlbmd0aCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAyMDQ4LCBnb3QgJHtkZXNjcmlwdGlvbi5sZW5ndGh9YCk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/external-table.js
CHANGED
|
@@ -77,7 +77,7 @@ let ExternalTable = (() => {
|
|
|
77
77
|
ExternalTable = _classThis = _classDescriptor.value;
|
|
78
78
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
79
79
|
}
|
|
80
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.268.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ExternalTable';
|
|
83
83
|
/**
|
package/lib/jobs/job.d.ts
CHANGED
|
@@ -324,7 +324,7 @@ export interface JobProps {
|
|
|
324
324
|
* Glue Version
|
|
325
325
|
* The version of Glue to use to execute this job
|
|
326
326
|
*
|
|
327
|
-
* @default 3.0 for
|
|
327
|
+
* @default - determined by the job type: 4.0 for ETL and Streaming, 5.0 for Flex, 3.0 for Python Shell
|
|
328
328
|
*/
|
|
329
329
|
readonly glueVersion?: GlueVersion;
|
|
330
330
|
/**
|