@aws-cdk/aws-glue-alpha 2.246.0-alpha.0 → 2.247.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 +240 -182
- package/lib/code.js +6 -6
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.js +2 -2
- package/lib/database.js +4 -4
- package/lib/external-table.js +3 -3
- package/lib/jobs/job.js +5 -4
- package/lib/jobs/pyspark-etl-job.js +1 -1
- package/lib/jobs/pyspark-flex-etl-job.js +1 -1
- package/lib/jobs/pyspark-streaming-job.js +1 -1
- package/lib/jobs/python-shell-job.js +1 -1
- package/lib/jobs/ray-job.js +3 -3
- package/lib/jobs/scala-spark-etl-job.js +3 -3
- package/lib/jobs/scala-spark-flex-etl-job.js +1 -1
- package/lib/jobs/scala-spark-streaming-job.js +3 -3
- package/lib/jobs/spark-job.js +4 -3
- package/lib/partition-projection.js +16 -15
- package/lib/s3-table.js +4 -4
- package/lib/schema.js +8 -7
- package/lib/security-configuration.js +3 -3
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.js +13 -12
- package/lib/table-deprecated.js +1 -1
- package/lib/triggers/trigger-options.js +1 -1
- package/lib/triggers/workflow.js +9 -9
- package/package.json +6 -6
package/lib/jobs/ray-job.js
CHANGED
|
@@ -73,7 +73,7 @@ let RayJob = (() => {
|
|
|
73
73
|
RayJob = _classThis = _classDescriptor.value;
|
|
74
74
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
75
75
|
}
|
|
76
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.RayJob", version: "2.
|
|
76
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.RayJob", version: "2.247.0-alpha.0" };
|
|
77
77
|
/** Uniquely identifies this class. */
|
|
78
78
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.RayJob';
|
|
79
79
|
role = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -113,7 +113,7 @@ let RayJob = (() => {
|
|
|
113
113
|
...observabilityMetricsArgs,
|
|
114
114
|
};
|
|
115
115
|
if (props.workerType && props.workerType !== constants_1.WorkerType.Z_2X) {
|
|
116
|
-
throw new core_1.ValidationError(
|
|
116
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `RayJobsOnlySupportZ2XWorkerType`, 'Ray jobs only support Z.2X worker type', this);
|
|
117
117
|
}
|
|
118
118
|
this.resource = new aws_glue_1.CfnJob(this, 'Resource', {
|
|
119
119
|
name: props.jobName,
|
|
@@ -150,4 +150,4 @@ let RayJob = (() => {
|
|
|
150
150
|
return RayJob = _classThis;
|
|
151
151
|
})();
|
|
152
152
|
exports.RayJob = RayJob;
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF5LWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJheS1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBRTlDLDJDQUFtRDtBQUNuRCw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSwrQkFBNEI7QUFDNUIsNENBQXlFO0FBNEN6RTs7Ozs7OztHQU9HO0lBRVUsTUFBTTs0QkFEbEIsb0NBQWtCOzs7O3NCQUNTLFNBQUc7Ozs7c0JBQVgsU0FBUSxXQUFHOzs7O3NDQStENUIsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBdkVILDZLQXdFQzs7Ozs7UUF2RUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxnQ0FBZ0MsQ0FBQztRQUN4RSxJQUFJLEdBSFQsbURBQU0sQ0FHZTtRQUNoQixjQUFjLENBQWlCO1FBQ3ZDLFFBQVEsQ0FBUztRQUV6Qjs7V0FFRztRQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7WUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQzVCLENBQUMsQ0FBQzs7Ozs7O21EQWJNLE1BQU07Ozs7WUFjZixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFFaEMsaUZBQWlGO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUs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VyxNQUFNO1lBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDN0M7UUFHRCxJQUFXLE9BQU87WUFDaEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6RDs7WUF2RVUsdURBQU07Ozs7O0FBQU4sd0JBQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Kb2IgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgdHlwZSAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IEpvYlByb3BzIH0gZnJvbSAnLi9qb2InO1xuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi9qb2InO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIFdvcmtlclR5cGUsIFJ1bnRpbWUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgUmF5IEdsdWUgam9iXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF5Sm9iUHJvcHMgZXh0ZW5kcyBKb2JQcm9wcyB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBSYXkgcnVudGltZSBlbnZpcm9ubWVudCB2ZXJzaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUnVudGltZSB2ZXJzaW9uIHdpbGwgZGVmYXVsdCB0byBSYXkyLjRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIHByb2ZpbGluZyBtZXRyaWNzIGZvciB0aGUgR2x1ZSBqb2IuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgYWRkcyAnLS1lbmFibGUtbWV0cmljcycgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTWV0cmljcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvYnNlcnZhYmlsaXR5IG1ldHJpY3MgZm9yIHRoZSBHbHVlIGpvYi5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhZGRzICctLWVuYWJsZS1vYnNlcnZhYmlsaXR5LW1ldHJpY3MnOiAndHJ1ZScgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlT2JzZXJ2YWJpbGl0eU1ldHJpY3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJheSBKb2JzIGNsYXNzXG4gKlxuICogR2x1ZSBSYXkgam9icyB1c2Ugd29ya2VyIHR5cGUgWi4yWCBhbmQgR2x1ZSB2ZXJzaW9uIDQuMC5cbiAqIFRoZXNlIGFyZSBub3Qgb3ZlcnJpZGVhYmxlIHNpbmNlIHRoZXNlIGFyZSB0aGUgb25seSBjb25maWd1cmF0aW9uIHRoYXRcbiAqIEdsdWUgUmF5IGpvYnMgY3VycmVudGx5IHN1cHBvcnQuIFRoZSBydW50aW1lIGRlZmF1bHRzIHRvIFJheTIuNCBhbmQgbWluXG4gKiB3b3JrZXJzIGRlZmF1bHRzIHRvIDMuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBSYXlKb2IgZXh0ZW5kcyBKb2Ige1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLlJheUpvYic7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkpvYjtcblxuICAvKipcbiAgICogUmF5Sm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmF5Sm9iUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIFNldCB1cCByb2xlIGFuZCBwZXJtaXNzaW9ucyBmb3IgcHJpbmNpcGFsXG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZTtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlO1xuXG4gICAgLy8gRW5hYmxlIENsb3VkV2F0Y2ggbWV0cmljcyBhbmQgY29udGludW91cyBsb2dnaW5nIGJ5IGRlZmF1bHQgYXMgYSBiZXN0IHByYWN0aWNlXG4gICAgY29uc3QgY29udGludW91c0xvZ2dpbmdBcmdzID0gdGhpcy5zZXR1cENvbnRpbnVvdXNMb2dnaW5nKHRoaXMucm9sZSwgcHJvcHMuY29udGludW91c0xvZ2dpbmcpO1xuXG4gICAgLy8gQ29uZGl0aW9uYWxseSBpbmNsdWRlIG1ldHJpY3MgYXJndW1lbnRzIChkZWZhdWx0IHRvIGVuYWJsZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpXG4gICAgY29uc3QgcHJvZmlsaW5nTWV0cmljc0FyZ3MgPSAocHJvcHMuZW5hYmxlTWV0cmljcyA/PyB0cnVlKSA/IHsgJy0tZW5hYmxlLW1ldHJpY3MnOiAnJyB9IDoge307XG4gICAgY29uc3Qgb2JzZXJ2YWJpbGl0eU1ldHJpY3NBcmdzID0gKHByb3BzLmVuYWJsZU9ic2VydmFiaWxpdHlNZXRyaWNzID8/IHRydWUpID8geyAnLS1lbmFibGUtb2JzZXJ2YWJpbGl0eS1tZXRyaWNzJzogJ3RydWUnIH0gOiB7fTtcblxuICAgIC8vIENvbWJpbmUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbnRvIGEgc2luZ2xlIGxpbmUgaXRlbVxuICAgIGNvbnN0IGRlZmF1bHRBcmd1bWVudHMgPSB7XG4gICAgICAuLi50aGlzLmNoZWNrTm9SZXNlcnZlZEFyZ3MocHJvcHMuZGVmYXVsdEFyZ3VtZW50cyksXG4gICAgICAuLi5jb250aW51b3VzTG9nZ2luZ0FyZ3MsXG4gICAgICAuLi5wcm9maWxpbmdNZXRyaWNzQXJncyxcbiAgICAgIC4uLm9ic2VydmFiaWxpdHlNZXRyaWNzQXJncyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMud29ya2VyVHlwZSAhPT0gV29ya2VyVHlwZS5aXzJYKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdSYXlKb2JzT25seVN1cHBvcnRaMlhXb3JrZXJUeXBlJywgJ1JheSBqb2JzIG9ubHkgc3VwcG9ydCBaLjJYIHdvcmtlciB0eXBlJywgdGhpcyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Kb2IodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHJvbGU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgY29tbWFuZDoge1xuICAgICAgICBuYW1lOiBKb2JUeXBlLlJBWSxcbiAgICAgICAgc2NyaXB0TG9jYXRpb246IHRoaXMuY29kZVMzT2JqZWN0VXJsKHByb3BzLnNjcmlwdCksXG4gICAgICAgIHJ1bnRpbWU6IHByb3BzLnJ1bnRpbWUgPyBwcm9wcy5ydW50aW1lIDogUnVudGltZS5SQVlfVFdPX0ZPVVIsXG4gICAgICB9LFxuICAgICAgZ2x1ZVZlcnNpb246IEdsdWVWZXJzaW9uLlY0XzAsXG4gICAgICB3b3JrZXJUeXBlOiBwcm9wcy53b3JrZXJUeXBlID8gcHJvcHMud29ya2VyVHlwZSA6IFdvcmtlclR5cGUuWl8yWCxcbiAgICAgIG51bWJlck9mV29ya2VyczogcHJvcHMubnVtYmVyT2ZXb3JrZXJzID8gcHJvcHMubnVtYmVyT2ZXb3JrZXJzOiAzLFxuICAgICAgbWF4UmV0cmllczogcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgPyAwIDogcHJvcHMubWF4UmV0cmllcyxcbiAgICAgIGpvYlJ1blF1ZXVpbmdFbmFibGVkOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkIDogZmFsc2UsXG4gICAgICBleGVjdXRpb25Qcm9wZXJ0eTogcHJvcHMubWF4Q29uY3VycmVudFJ1bnMgPyB7IG1heENvbmN1cnJlbnRSdW5zOiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyB9IDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dD8udG9NaW51dGVzKCksXG4gICAgICBjb25uZWN0aW9uczogcHJvcHMuY29ubmVjdGlvbnMgPyB7IGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb24pID0+IGNvbm5lY3Rpb24uY29ubmVjdGlvbk5hbWUpIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb246IHByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRKb2JBcm4odGhpcywgdGhpcy5qb2JOYW1lKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGpvYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG59XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF5LWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJheS1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBRTlDLDJDQUFtRDtBQUNuRCw0RUFBNEU7QUFDNUUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSwrQkFBNEI7QUFDNUIsNENBQXlFO0FBNEN6RTs7Ozs7OztHQU9HO0lBRVUsTUFBTTs0QkFEbEIsb0NBQWtCOzs7O3NCQUNTLFNBQUc7Ozs7c0JBQVgsU0FBUSxXQUFHOzs7O3NDQStENUIsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBdkVILDZLQXdFQzs7Ozs7UUF2RUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxnQ0FBZ0MsQ0FBQztRQUN4RSxJQUFJLEdBSFQsbURBQU0sQ0FHZTtRQUNoQixjQUFjLENBQWlCO1FBQ3ZDLFFBQVEsQ0FBUztRQUV6Qjs7V0FFRztRQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0I7WUFDMUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQzVCLENBQUMsQ0FBQzs7Ozs7O21EQWJNLE1BQU07Ozs7WUFjZixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsNENBQTRDO1lBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFFaEMsaUZBQWlGO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUs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QUM7U0FDSjtRQUdELElBQVcsTUFBTTtZQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdDO1FBR0QsSUFBVyxPQUFPO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7O1lBdkVVLHVEQUFNOzs7OztBQUFOLHdCQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuSm9iIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHR5cGUgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IEpvYlByb3BzIH0gZnJvbSAnLi9qb2InO1xuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi9qb2InO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIFdvcmtlclR5cGUsIFJ1bnRpbWUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgUmF5IEdsdWUgam9iXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF5Sm9iUHJvcHMgZXh0ZW5kcyBKb2JQcm9wcyB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBSYXkgcnVudGltZSBlbnZpcm9ubWVudCB2ZXJzaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUnVudGltZSB2ZXJzaW9uIHdpbGwgZGVmYXVsdCB0byBSYXkyLjRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIHByb2ZpbGluZyBtZXRyaWNzIGZvciB0aGUgR2x1ZSBqb2IuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgYWRkcyAnLS1lbmFibGUtbWV0cmljcycgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTWV0cmljcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvYnNlcnZhYmlsaXR5IG1ldHJpY3MgZm9yIHRoZSBHbHVlIGpvYi5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhZGRzICctLWVuYWJsZS1vYnNlcnZhYmlsaXR5LW1ldHJpY3MnOiAndHJ1ZScgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlT2JzZXJ2YWJpbGl0eU1ldHJpY3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJheSBKb2JzIGNsYXNzXG4gKlxuICogR2x1ZSBSYXkgam9icyB1c2Ugd29ya2VyIHR5cGUgWi4yWCBhbmQgR2x1ZSB2ZXJzaW9uIDQuMC5cbiAqIFRoZXNlIGFyZSBub3Qgb3ZlcnJpZGVhYmxlIHNpbmNlIHRoZXNlIGFyZSB0aGUgb25seSBjb25maWd1cmF0aW9uIHRoYXRcbiAqIEdsdWUgUmF5IGpvYnMgY3VycmVudGx5IHN1cHBvcnQuIFRoZSBydW50aW1lIGRlZmF1bHRzIHRvIFJheTIuNCBhbmQgbWluXG4gKiB3b3JrZXJzIGRlZmF1bHRzIHRvIDMuXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBSYXlKb2IgZXh0ZW5kcyBKb2Ige1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLlJheUpvYic7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkpvYjtcblxuICAvKipcbiAgICogUmF5Sm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmF5Sm9iUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIC8vIFNldCB1cCByb2xlIGFuZCBwZXJtaXNzaW9ucyBmb3IgcHJpbmNpcGFsXG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZTtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlO1xuXG4gICAgLy8gRW5hYmxlIENsb3VkV2F0Y2ggbWV0cmljcyBhbmQgY29udGludW91cyBsb2dnaW5nIGJ5IGRlZmF1bHQgYXMgYSBiZXN0IHByYWN0aWNlXG4gICAgY29uc3QgY29udGludW91c0xvZ2dpbmdBcmdzID0gdGhpcy5zZXR1cENvbnRpbnVvdXNMb2dnaW5nKHRoaXMucm9sZSwgcHJvcHMuY29udGludW91c0xvZ2dpbmcpO1xuXG4gICAgLy8gQ29uZGl0aW9uYWxseSBpbmNsdWRlIG1ldHJpY3MgYXJndW1lbnRzIChkZWZhdWx0IHRvIGVuYWJsZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpXG4gICAgY29uc3QgcHJvZmlsaW5nTWV0cmljc0FyZ3MgPSAocHJvcHMuZW5hYmxlTWV0cmljcyA/PyB0cnVlKSA/IHsgJy0tZW5hYmxlLW1ldHJpY3MnOiAnJyB9IDoge307XG4gICAgY29uc3Qgb2JzZXJ2YWJpbGl0eU1ldHJpY3NBcmdzID0gKHByb3BzLmVuYWJsZU9ic2VydmFiaWxpdHlNZXRyaWNzID8/IHRydWUpID8geyAnLS1lbmFibGUtb2JzZXJ2YWJpbGl0eS1tZXRyaWNzJzogJ3RydWUnIH0gOiB7fTtcblxuICAgIC8vIENvbWJpbmUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbnRvIGEgc2luZ2xlIGxpbmUgaXRlbVxuICAgIGNvbnN0IGRlZmF1bHRBcmd1bWVudHMgPSB7XG4gICAgICAuLi50aGlzLmNoZWNrTm9SZXNlcnZlZEFyZ3MocHJvcHMuZGVmYXVsdEFyZ3VtZW50cyksXG4gICAgICAuLi5jb250aW51b3VzTG9nZ2luZ0FyZ3MsXG4gICAgICAuLi5wcm9maWxpbmdNZXRyaWNzQXJncyxcbiAgICAgIC4uLm9ic2VydmFiaWxpdHlNZXRyaWNzQXJncyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMud29ya2VyVHlwZSAhPT0gV29ya2VyVHlwZS5aXzJYKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBSYXlKb2JzT25seVN1cHBvcnRaMlhXb3JrZXJUeXBlYCwgJ1JheSBqb2JzIG9ubHkgc3VwcG9ydCBaLjJYIHdvcmtlciB0eXBlJywgdGhpcyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Kb2IodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHJvbGU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgY29tbWFuZDoge1xuICAgICAgICBuYW1lOiBKb2JUeXBlLlJBWSxcbiAgICAgICAgc2NyaXB0TG9jYXRpb246IHRoaXMuY29kZVMzT2JqZWN0VXJsKHByb3BzLnNjcmlwdCksXG4gICAgICAgIHJ1bnRpbWU6IHByb3BzLnJ1bnRpbWUgPyBwcm9wcy5ydW50aW1lIDogUnVudGltZS5SQVlfVFdPX0ZPVVIsXG4gICAgICB9LFxuICAgICAgZ2x1ZVZlcnNpb246IEdsdWVWZXJzaW9uLlY0XzAsXG4gICAgICB3b3JrZXJUeXBlOiBwcm9wcy53b3JrZXJUeXBlID8gcHJvcHMud29ya2VyVHlwZSA6IFdvcmtlclR5cGUuWl8yWCxcbiAgICAgIG51bWJlck9mV29ya2VyczogcHJvcHMubnVtYmVyT2ZXb3JrZXJzID8gcHJvcHMubnVtYmVyT2ZXb3JrZXJzOiAzLFxuICAgICAgbWF4UmV0cmllczogcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgPyAwIDogcHJvcHMubWF4UmV0cmllcyxcbiAgICAgIGpvYlJ1blF1ZXVpbmdFbmFibGVkOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkIDogZmFsc2UsXG4gICAgICBleGVjdXRpb25Qcm9wZXJ0eTogcHJvcHMubWF4Q29uY3VycmVudFJ1bnMgPyB7IG1heENvbmN1cnJlbnRSdW5zOiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyB9IDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dD8udG9NaW51dGVzKCksXG4gICAgICBjb25uZWN0aW9uczogcHJvcHMuY29ubmVjdGlvbnMgPyB7IGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb24pID0+IGNvbm5lY3Rpb24uY29ubmVjdGlvbk5hbWUpIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb246IHByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRKb2JBcm4odGhpcywgdGhpcy5qb2JOYW1lKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGpvYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG59XG4iXX0=
|
|
@@ -77,7 +77,7 @@ let ScalaSparkEtlJob = (() => {
|
|
|
77
77
|
ScalaSparkEtlJob = _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.ScalaSparkEtlJob", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ScalaSparkEtlJob", version: "2.247.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ScalaSparkEtlJob';
|
|
83
83
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -103,7 +103,7 @@ let ScalaSparkEtlJob = (() => {
|
|
|
103
103
|
...this.nonExecutableCommonArguments(props),
|
|
104
104
|
};
|
|
105
105
|
if ((!props.workerType && props.numberOfWorkers !== undefined) || (props.workerType && props.numberOfWorkers === undefined)) {
|
|
106
|
-
throw new core_1.ValidationError(
|
|
106
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `WorkerTypeAndNumberOfWorkersMustBothBeSet`, 'Both workerType and numberOfWorkers must be set', this);
|
|
107
107
|
}
|
|
108
108
|
this.resource = new aws_glue_1.CfnJob(this, 'Resource', {
|
|
109
109
|
name: props.jobName,
|
|
@@ -151,4 +151,4 @@ let ScalaSparkEtlJob = (() => {
|
|
|
151
151
|
return ScalaSparkEtlJob = _classThis;
|
|
152
152
|
})();
|
|
153
153
|
exports.ScalaSparkEtlJob = ScalaSparkEtlJob;
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGEtc3BhcmstZXRsLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNjYWxhLXNwYXJrLWV0bC1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBQzlDLDJDQUFtRDtBQUNuRCw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSw0Q0FBNkU7QUFFN0UsMkNBQXVDO0FBbUR2Qzs7Ozs7Ozs7Ozs7R0FXRztJQUVVLGdCQUFnQjs0QkFENUIsb0NBQWtCOzs7O3NCQUNtQixvQkFBUTs7OztnQ0FBaEIsU0FBUSxXQUFROzs7O3NDQTZDM0MsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBckRILDZLQW1FQzs7Ozs7UUFsRUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVywwQ0FBMEMsQ0FBQztRQUMxRixRQUFRLEdBSEwsbURBQWdCLENBR0Y7UUFFekI7O1dBRUc7UUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1lBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7bURBVGYsZ0JBQWdCOzs7O1lBVXpCLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyx5REFBeUQ7WUFDekQsTUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2dCQUNsQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUM7YUFDNUMsQ0FBQztZQUVGLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsSUFBSSxD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LWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBtZW1vaXplZEdldHRlciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29kZSB9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIEpvYkxhbmd1YWdlLCBXb3JrZXJUeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgU3BhcmtKb2JQcm9wcyB9IGZyb20gJy4vc3Bhcmstam9iJztcbmltcG9ydCB7IFNwYXJrSm9iIH0gZnJvbSAnLi9zcGFyay1qb2InO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgU2NhbGEgU3BhcmsgRVRMIGpvYlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxhU3BhcmtFdGxKb2JQcm9wcyBleHRlbmRzIFNwYXJrSm9iUHJvcHMge1xuICAvKipcbiAgICogQ2xhc3MgbmFtZSAocmVxdWlyZWQgZm9yIFNjYWxhIHNjcmlwdHMpXG4gICAqIFBhY2thZ2UgYW5kIGNsYXNzIG5hbWUgZm9yIHRoZSBlbnRyeSBwb2ludCBvZiBHbHVlIGpvYiBleGVjdXRpb24gZm9yXG4gICAqIEphdmEgc2NyaXB0c1xuICAgKiovXG4gIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpbGVzLCBzdWNoIGFzIGNvbmZpZ3VyYXRpb24gZmlsZXMgdGhhdCBBV1MgR2x1ZSBjb3BpZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9mIHlvdXIgc2NyaXB0IGJlZm9yZSBleGVjdXRpbmcgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgZmlsZXMgc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFGaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogRXh0cmEgSmFycyBTMyBVUkwgKG9wdGlvbmFsKVxuICAgKiBTMyBVUkwgd2hlcmUgYWRkaXRpb25hbCBqYXIgZGVwZW5kZW5jaWVzIGFyZSBsb2NhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgamFyIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYUphcnM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHByaW9yaXRpemVzIHRoZSBjdXN0b21lcidzIGV4dHJhIEpBUiBmaWxlcyBpbiB0aGUgY2xhc3NwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHByaW9yaXR5IGlzIG5vdCBnaXZlbiB0byB1c2VyLXByb3ZpZGVkIGphcnNcbiAgICpcbiAgICogQHNlZSBgLS11c2VyLWphcnMtZmlyc3RgIGluIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzRmlyc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTcGFyayBFVEwgSm9icyBjbGFzc1xuICpcbiAqIEVUTCBqb2JzIHN1cHBvcnQgcHlTcGFyayBhbmQgU2NhbGEgbGFuZ3VhZ2VzLCBmb3Igd2hpY2ggdGhlcmUgYXJlIHNlcGFyYXRlXG4gKiBidXQgc2ltaWxhciBjb25zdHJ1Y3RvcnMuIEVUTCBqb2JzIGRlZmF1bHQgdG8gdGhlIEcyIHdvcmtlciB0eXBlLCBidXQgeW91XG4gKiBjYW4gb3ZlcnJpZGUgdGhpcyBkZWZhdWx0IHdpdGggb3RoZXIgc3VwcG9ydGVkIHdvcmtlciB0eXBlIHZhbHVlc1xuICogKEcxLCBHMiwgRzQgYW5kIEc4KS4gRVRMIGpvYnMgZGVmYXVsdHMgdG8gR2x1ZSB2ZXJzaW9uIDQuMCwgd2hpY2ggeW91IGNhblxuICogb3ZlcnJpZGUgdG8gMy4wLiBUaGUgZm9sbG93aW5nIEVUTCBmZWF0dXJlcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0OlxuICog4oCUZW5hYmxlLW1ldHJpY3MsIOKAlGVuYWJsZS1zcGFyay11aSwg4oCUZW5hYmxlLWNvbnRpbnVvdXMtY2xvdWR3YXRjaC1sb2cuXG4gKiBZb3UgY2FuIGZpbmQgbW9yZSBkZXRhaWxzIGFib3V0IHZlcnNpb24sIHdvcmtlciB0eXBlIGFuZCBvdGhlciBmZWF0dXJlc1xuICogaW4gR2x1ZSdzIHB1YmxpYyBkb2N1bWVudGF0aW9uLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2NhbGFTcGFya0V0bEpvYiBleHRlbmRzIFNwYXJrSm9iIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5TY2FsYVNwYXJrRXRsSm9iJztcbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuSm9iO1xuXG4gIC8qKlxuICAgKiBTY2FsYVNwYXJrRXRsSm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NhbGFTcGFya0V0bEpvYlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICAvLyBDb21iaW5lIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBsaW5lIGl0ZW1cbiAgICBjb25zdCBkZWZhdWx0QXJndW1lbnRzID0ge1xuICAgICAgLi4udGhpcy5leGVjdXRhYmxlQXJndW1lbnRzKHByb3BzKSxcbiAgICAgIC4uLnRoaXMubm9uRXhlY3V0YWJsZUNvbW1vbkFyZ3VtZW50cyhwcm9wcyksXG4gICAgfTtcblxuICAgIGlmICgoIXByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMubnVtYmVyT2ZXb3JrZXJzICE9PSB1bmRlZmluZWQpIHx8IChwcm9wcy53b3JrZXJUeXBlICYmIHByb3BzLm51bWJlck9mV29ya2VycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignV29ya2VyVHlwZUFuZE51bWJlck9mV29ya2Vyc011c3RCb3RoQmVTZXQnLCAnQm90aCB3b3JrZXJUeXBlIGFuZCBudW1iZXJPZldvcmtlcnMgbXVzdCBiZSBzZXQnLCB0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkpvYih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5qb2JOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgcm9sZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICBjb21tYW5kOiB7XG4gICAgICAgIG5hbWU6IEpvYlR5cGUuRVRMLFxuICAgICAgICBzY3JpcHRMb2NhdGlvbjogdGhpcy5jb2RlUzNPYmplY3RVcmwocHJvcHMuc2NyaXB0KSxcbiAgICAgIH0sXG4gICAgICBnbHVlVmVyc2lvbjogcHJvcHMuZ2x1ZVZlcnNpb24gPyBwcm9wcy5nbHVlVmVyc2lvbiA6IEdsdWVWZXJzaW9uLlY0XzAsXG4gICAgICB3b3JrZXJUeXBlOiBwcm9wcy53b3JrZXJUeXBlID8gcHJvcHMud29ya2VyVHlwZSA6IFdvcmtlclR5cGUuR18xWCxcbiAgICAgIG51bWJlck9mV29ya2VyczogcHJvcHMubnVtYmVyT2ZXb3JrZXJzID8gcHJvcHMubnVtYmVyT2ZXb3JrZXJzIDogMTAsXG4gICAgICBtYXhSZXRyaWVzOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IDAgOiBwcm9wcy5tYXhSZXRyaWVzLFxuICAgICAgam9iUnVuUXVldWluZ0VuYWJsZWQ6IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkID8gcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgOiBmYWxzZSxcbiAgICAgIGV4ZWN1dGlvblByb3BlcnR5OiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyA/IHsgbWF4Q29uY3VycmVudFJ1bnM6IHByb3BzLm1heENvbmN1cnJlbnRSdW5zIH0gOiB1bmRlZmluZWQsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0Py50b01pbnV0ZXMoKSxcbiAgICAgIGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucyA/IHsgY29ubmVjdGlvbnM6IHByb3BzLmNvbm5lY3Rpb25zLm1hcCgoY29ubmVjdGlvbikgPT4gY29ubmVjdGlvbi5jb25uZWN0aW9uTmFtZSkgfSA6IHVuZGVmaW5lZCxcbiAgICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogcHJvcHMuc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGRlZmF1bHRBcmd1bWVudHMsXG4gICAgfSk7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBqb2JBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEpvYkFybih0aGlzLCB0aGlzLmpvYk5hbWUpO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBleGVjdXRhYmxlIGFyZ3VtZW50cyB3aXRoIGJlc3QgcHJhY3RpY2VzIGVuYWJsZWQgYnkgZGVmYXVsdFxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBhcmd1bWVudHMgZm9yIEdsdWUgdG8gdXNlIG9uIGV4ZWN1dGlvblxuICAgKi9cbiAgcHJpdmF0ZSBleGVjdXRhYmxlQXJndW1lbnRzKHByb3BzOiBTY2FsYVNwYXJrRXRsSm9iUHJvcHMpIHtcbiAgICBjb25zdCBhcmdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgYXJnc1snLS1qb2ItbGFuZ3VhZ2UnXSA9IEpvYkxhbmd1YWdlLlNDQUxBO1xuICAgIGFyZ3NbJy0tY2xhc3MnXSA9IHByb3BzLmNsYXNzTmFtZTtcbiAgICB0aGlzLnNldHVwRXh0cmFDb2RlQXJndW1lbnRzKGFyZ3MsIHByb3BzKTtcbiAgICByZXR1cm4gYXJncztcbiAgfVxufVxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGEtc3BhcmstZXRsLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNjYWxhLXNwYXJrLWV0bC1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBQzlDLDJDQUFtRDtBQUNuRCw0RUFBNEU7QUFDNUUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSw0Q0FBNkU7QUFFN0UsMkNBQXVDO0FBbUR2Qzs7Ozs7Ozs7Ozs7R0FXRztJQUVVLGdCQUFnQjs0QkFENUIsb0NBQWtCOzs7O3NCQUNtQixvQkFBUTs7OztnQ0FBaEIsU0FBUSxXQUFROzs7O3NDQTZDM0MsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBckRILDZLQW1FQzs7Ozs7UUFsRUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVywwQ0FBMEMsQ0FBQztRQUMxRixRQUFRLEdBSEwsbURBQWdCLENBR0Y7UUFFekI7O1dBRUc7UUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1lBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7bURBVGYsZ0JBQWdCOzs7O1lBVXpCLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyx5REFBeUQ7WUFDekQsTUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2dCQUNsQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUM7YUFDNUMsQ0FBQztZQUVGLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLENBQUMsSUFBSSxD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bkpvYiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIsIGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29kZSB9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIEpvYkxhbmd1YWdlLCBXb3JrZXJUeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgU3BhcmtKb2JQcm9wcyB9IGZyb20gJy4vc3Bhcmstam9iJztcbmltcG9ydCB7IFNwYXJrSm9iIH0gZnJvbSAnLi9zcGFyay1qb2InO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgU2NhbGEgU3BhcmsgRVRMIGpvYlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxhU3BhcmtFdGxKb2JQcm9wcyBleHRlbmRzIFNwYXJrSm9iUHJvcHMge1xuICAvKipcbiAgICogQ2xhc3MgbmFtZSAocmVxdWlyZWQgZm9yIFNjYWxhIHNjcmlwdHMpXG4gICAqIFBhY2thZ2UgYW5kIGNsYXNzIG5hbWUgZm9yIHRoZSBlbnRyeSBwb2ludCBvZiBHbHVlIGpvYiBleGVjdXRpb24gZm9yXG4gICAqIEphdmEgc2NyaXB0c1xuICAgKiovXG4gIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpbGVzLCBzdWNoIGFzIGNvbmZpZ3VyYXRpb24gZmlsZXMgdGhhdCBBV1MgR2x1ZSBjb3BpZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9mIHlvdXIgc2NyaXB0IGJlZm9yZSBleGVjdXRpbmcgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgZmlsZXMgc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFGaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogRXh0cmEgSmFycyBTMyBVUkwgKG9wdGlvbmFsKVxuICAgKiBTMyBVUkwgd2hlcmUgYWRkaXRpb25hbCBqYXIgZGVwZW5kZW5jaWVzIGFyZSBsb2NhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgamFyIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYUphcnM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHByaW9yaXRpemVzIHRoZSBjdXN0b21lcidzIGV4dHJhIEpBUiBmaWxlcyBpbiB0aGUgY2xhc3NwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHByaW9yaXR5IGlzIG5vdCBnaXZlbiB0byB1c2VyLXByb3ZpZGVkIGphcnNcbiAgICpcbiAgICogQHNlZSBgLS11c2VyLWphcnMtZmlyc3RgIGluIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzRmlyc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTcGFyayBFVEwgSm9icyBjbGFzc1xuICpcbiAqIEVUTCBqb2JzIHN1cHBvcnQgcHlTcGFyayBhbmQgU2NhbGEgbGFuZ3VhZ2VzLCBmb3Igd2hpY2ggdGhlcmUgYXJlIHNlcGFyYXRlXG4gKiBidXQgc2ltaWxhciBjb25zdHJ1Y3RvcnMuIEVUTCBqb2JzIGRlZmF1bHQgdG8gdGhlIEcyIHdvcmtlciB0eXBlLCBidXQgeW91XG4gKiBjYW4gb3ZlcnJpZGUgdGhpcyBkZWZhdWx0IHdpdGggb3RoZXIgc3VwcG9ydGVkIHdvcmtlciB0eXBlIHZhbHVlc1xuICogKEcxLCBHMiwgRzQgYW5kIEc4KS4gRVRMIGpvYnMgZGVmYXVsdHMgdG8gR2x1ZSB2ZXJzaW9uIDQuMCwgd2hpY2ggeW91IGNhblxuICogb3ZlcnJpZGUgdG8gMy4wLiBUaGUgZm9sbG93aW5nIEVUTCBmZWF0dXJlcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0OlxuICog4oCUZW5hYmxlLW1ldHJpY3MsIOKAlGVuYWJsZS1zcGFyay11aSwg4oCUZW5hYmxlLWNvbnRpbnVvdXMtY2xvdWR3YXRjaC1sb2cuXG4gKiBZb3UgY2FuIGZpbmQgbW9yZSBkZXRhaWxzIGFib3V0IHZlcnNpb24sIHdvcmtlciB0eXBlIGFuZCBvdGhlciBmZWF0dXJlc1xuICogaW4gR2x1ZSdzIHB1YmxpYyBkb2N1bWVudGF0aW9uLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2NhbGFTcGFya0V0bEpvYiBleHRlbmRzIFNwYXJrSm9iIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5TY2FsYVNwYXJrRXRsSm9iJztcbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuSm9iO1xuXG4gIC8qKlxuICAgKiBTY2FsYVNwYXJrRXRsSm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NhbGFTcGFya0V0bEpvYlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICAvLyBDb21iaW5lIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBsaW5lIGl0ZW1cbiAgICBjb25zdCBkZWZhdWx0QXJndW1lbnRzID0ge1xuICAgICAgLi4udGhpcy5leGVjdXRhYmxlQXJndW1lbnRzKHByb3BzKSxcbiAgICAgIC4uLnRoaXMubm9uRXhlY3V0YWJsZUNvbW1vbkFyZ3VtZW50cyhwcm9wcyksXG4gICAgfTtcblxuICAgIGlmICgoIXByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMubnVtYmVyT2ZXb3JrZXJzICE9PSB1bmRlZmluZWQpIHx8IChwcm9wcy53b3JrZXJUeXBlICYmIHByb3BzLm51bWJlck9mV29ya2VycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgV29ya2VyVHlwZUFuZE51bWJlck9mV29ya2Vyc011c3RCb3RoQmVTZXRgLCAnQm90aCB3b3JrZXJUeXBlIGFuZCBudW1iZXJPZldvcmtlcnMgbXVzdCBiZSBzZXQnLCB0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkpvYih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5qb2JOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgcm9sZTogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICBjb21tYW5kOiB7XG4gICAgICAgIG5hbWU6IEpvYlR5cGUuRVRMLFxuICAgICAgICBzY3JpcHRMb2NhdGlvbjogdGhpcy5jb2RlUzNPYmplY3RVcmwocHJvcHMuc2NyaXB0KSxcbiAgICAgIH0sXG4gICAgICBnbHVlVmVyc2lvbjogcHJvcHMuZ2x1ZVZlcnNpb24gPyBwcm9wcy5nbHVlVmVyc2lvbiA6IEdsdWVWZXJzaW9uLlY0XzAsXG4gICAgICB3b3JrZXJUeXBlOiBwcm9wcy53b3JrZXJUeXBlID8gcHJvcHMud29ya2VyVHlwZSA6IFdvcmtlclR5cGUuR18xWCxcbiAgICAgIG51bWJlck9mV29ya2VyczogcHJvcHMubnVtYmVyT2ZXb3JrZXJzID8gcHJvcHMubnVtYmVyT2ZXb3JrZXJzIDogMTAsXG4gICAgICBtYXhSZXRyaWVzOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IDAgOiBwcm9wcy5tYXhSZXRyaWVzLFxuICAgICAgam9iUnVuUXVldWluZ0VuYWJsZWQ6IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkID8gcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgOiBmYWxzZSxcbiAgICAgIGV4ZWN1dGlvblByb3BlcnR5OiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyA/IHsgbWF4Q29uY3VycmVudFJ1bnM6IHByb3BzLm1heENvbmN1cnJlbnRSdW5zIH0gOiB1bmRlZmluZWQsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0Py50b01pbnV0ZXMoKSxcbiAgICAgIGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucyA/IHsgY29ubmVjdGlvbnM6IHByb3BzLmNvbm5lY3Rpb25zLm1hcCgoY29ubmVjdGlvbikgPT4gY29ubmVjdGlvbi5jb25uZWN0aW9uTmFtZSkgfSA6IHVuZGVmaW5lZCxcbiAgICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogcHJvcHMuc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgIGRlZmF1bHRBcmd1bWVudHMsXG4gICAgfSk7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBqb2JBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZEpvYkFybih0aGlzLCB0aGlzLmpvYk5hbWUpO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBleGVjdXRhYmxlIGFyZ3VtZW50cyB3aXRoIGJlc3QgcHJhY3RpY2VzIGVuYWJsZWQgYnkgZGVmYXVsdFxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBhcmd1bWVudHMgZm9yIEdsdWUgdG8gdXNlIG9uIGV4ZWN1dGlvblxuICAgKi9cbiAgcHJpdmF0ZSBleGVjdXRhYmxlQXJndW1lbnRzKHByb3BzOiBTY2FsYVNwYXJrRXRsSm9iUHJvcHMpIHtcbiAgICBjb25zdCBhcmdzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgYXJnc1snLS1qb2ItbGFuZ3VhZ2UnXSA9IEpvYkxhbmd1YWdlLlNDQUxBO1xuICAgIGFyZ3NbJy0tY2xhc3MnXSA9IHByb3BzLmNsYXNzTmFtZTtcbiAgICB0aGlzLnNldHVwRXh0cmFDb2RlQXJndW1lbnRzKGFyZ3MsIHByb3BzKTtcbiAgICByZXR1cm4gYXJncztcbiAgfVxufVxuIl19
|
|
@@ -76,7 +76,7 @@ let ScalaSparkFlexEtlJob = (() => {
|
|
|
76
76
|
ScalaSparkFlexEtlJob = _classThis = _classDescriptor.value;
|
|
77
77
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
78
78
|
}
|
|
79
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ScalaSparkFlexEtlJob", version: "2.
|
|
79
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ScalaSparkFlexEtlJob", version: "2.247.0-alpha.0" };
|
|
80
80
|
/** Uniquely identifies this class. */
|
|
81
81
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ScalaSparkFlexEtlJob';
|
|
82
82
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -77,7 +77,7 @@ let ScalaSparkStreamingJob = (() => {
|
|
|
77
77
|
ScalaSparkStreamingJob = _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.ScalaSparkStreamingJob", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ScalaSparkStreamingJob", version: "2.247.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ScalaSparkStreamingJob';
|
|
83
83
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -103,7 +103,7 @@ let ScalaSparkStreamingJob = (() => {
|
|
|
103
103
|
...this.nonExecutableCommonArguments(props),
|
|
104
104
|
};
|
|
105
105
|
if ((!props.workerType && props.numberOfWorkers !== undefined) || (props.workerType && props.numberOfWorkers === undefined)) {
|
|
106
|
-
throw new core_1.ValidationError(
|
|
106
|
+
throw new core_1.ValidationError((0, helpers_internal_1.lit) `WorkerTypeAndNumberRequired`, 'Both workerType and numberOfWorkers must be set', this);
|
|
107
107
|
}
|
|
108
108
|
this.resource = new aws_glue_1.CfnJob(this, 'Resource', {
|
|
109
109
|
name: props.jobName,
|
|
@@ -151,4 +151,4 @@ let ScalaSparkStreamingJob = (() => {
|
|
|
151
151
|
return ScalaSparkStreamingJob = _classThis;
|
|
152
152
|
})();
|
|
153
153
|
exports.ScalaSparkStreamingJob = ScalaSparkStreamingJob;
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGEtc3Bhcmstc3RyZWFtaW5nLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNjYWxhLXNwYXJrLXN0cmVhbWluZy1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBQzlDLDJDQUFtRDtBQUNuRCw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSw0Q0FBNkU7QUFFN0UsMkNBQXVDO0FBbUR2Qzs7Ozs7Ozs7Ozs7R0FXRztJQUVVLHNCQUFzQjs0QkFEbEMsb0NBQWtCOzs7O3NCQUN5QixvQkFBUTs7OztzQ0FBaEIsU0FBUSxXQUFROzs7O3NDQTZDakQsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBckRILDZLQW1FQzs7Ozs7UUFsRUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxnREFBZ0QsQ0FBQztRQUNoRyxRQUFRLEdBSEwsbURBQXNCLENBR1I7UUFFekI7O1dBRUc7UUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1lBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7bURBVGYsc0JBQXNCOzs7O1lBVS9CLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyx5REFBeUQ7WUFDekQsTUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2dCQUNsQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUM7YUFDNUMsQ0FBQztZQUVGLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFT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IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBtZW1vaXplZEdldHRlciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29kZSB9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIEpvYkxhbmd1YWdlLCBXb3JrZXJUeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgU3BhcmtKb2JQcm9wcyB9IGZyb20gJy4vc3Bhcmstam9iJztcbmltcG9ydCB7IFNwYXJrSm9iIH0gZnJvbSAnLi9zcGFyay1qb2InO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgU2NhbGEgU3BhcmsgRVRMIGpvYlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxhU3BhcmtTdHJlYW1pbmdKb2JQcm9wcyBleHRlbmRzIFNwYXJrSm9iUHJvcHMge1xuICAvKipcbiAgICogQ2xhc3MgbmFtZSAocmVxdWlyZWQgZm9yIFNjYWxhIHNjcmlwdHMpXG4gICAqIFBhY2thZ2UgYW5kIGNsYXNzIG5hbWUgZm9yIHRoZSBlbnRyeSBwb2ludCBvZiBHbHVlIGpvYiBleGVjdXRpb24gZm9yXG4gICAqIEphdmEgc2NyaXB0c1xuICAgKiovXG4gIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpbGVzLCBzdWNoIGFzIGNvbmZpZ3VyYXRpb24gZmlsZXMgdGhhdCBBV1MgR2x1ZSBjb3BpZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9mIHlvdXIgc2NyaXB0IGJlZm9yZSBleGVjdXRpbmcgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgZmlsZXMgc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFGaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogRXh0cmEgSmFycyBTMyBVUkwgKG9wdGlvbmFsKVxuICAgKiBTMyBVUkwgd2hlcmUgYWRkaXRpb25hbCBqYXIgZGVwZW5kZW5jaWVzIGFyZSBsb2NhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgamFyIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYUphcnM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHByaW9yaXRpemVzIHRoZSBjdXN0b21lcidzIGV4dHJhIEpBUiBmaWxlcyBpbiB0aGUgY2xhc3NwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHByaW9yaXR5IGlzIG5vdCBnaXZlbiB0byB1c2VyLXByb3ZpZGVkIGphcnNcbiAgICpcbiAgICogQHNlZSBgLS11c2VyLWphcnMtZmlyc3RgIGluIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzRmlyc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTY2FsYSBTdHJlYW1pbmcgSm9icyBjbGFzc1xuICpcbiAqIEEgU3RyZWFtaW5nIGpvYiBpcyBzaW1pbGFyIHRvIGFuIEVUTCBqb2IsIGV4Y2VwdCB0aGF0IGl0IHBlcmZvcm1zIEVUTCBvbiBkYXRhIHN0cmVhbXNcbiAqIHVzaW5nIHRoZSBBcGFjaGUgU3BhcmsgU3RydWN0dXJlZCBTdHJlYW1pbmcgZnJhbWV3b3JrLlxuICogVGhlc2Ugam9icyB3aWxsIGRlZmF1bHQgdG8gdXNlIFB5dGhvbiAzLjkuXG4gKlxuICogU2ltaWxhciB0byBFVEwgam9icywgc3RyZWFtaW5nIGpvYiBzdXBwb3J0cyBTY2FsYSBhbmQgUHl0aG9uIGxhbmd1YWdlcy4gU2ltaWxhciB0byBFVEwsXG4gKiBpdCBzdXBwb3J0cyBHMSBhbmQgRzIgd29ya2VyIHR5cGUgYW5kIDIuMCwgMy4wIGFuZCA0LjAgdmVyc2lvbi4gV2XigJlsbCBkZWZhdWx0IHRvIEcyIHdvcmtlclxuICogYW5kIDQuMCB2ZXJzaW9uIGZvciBzdHJlYW1pbmcgam9icyB3aGljaCBkZXZlbG9wZXJzIGNhbiBvdmVycmlkZS5cbiAqIFdlIHdpbGwgZW5hYmxlIOKAlGVuYWJsZS1tZXRyaWNzLCDigJRlbmFibGUtc3BhcmstdWksIOKAlGVuYWJsZS1jb250aW51b3VzLWNsb3Vkd2F0Y2gtbG9nLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2NhbGFTcGFya1N0cmVhbWluZ0pvYiBleHRlbmRzIFNwYXJrSm9iIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5TY2FsYVNwYXJrU3RyZWFtaW5nSm9iJztcbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuSm9iO1xuXG4gIC8qKlxuICAgKiBTY2FsYVNwYXJrU3RyZWFtaW5nSm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NhbGFTcGFya1N0cmVhbWluZ0pvYlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICAvLyBDb21iaW5lIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBsaW5lIGl0ZW1cbiAgICBjb25zdCBkZWZhdWx0QXJndW1lbnRzID0ge1xuICAgICAgLi4udGhpcy5leGVjdXRhYmxlQXJndW1lbnRzKHByb3BzKSxcbiAgICAgIC4uLnRoaXMubm9uRXhlY3V0YWJsZUNvbW1vbkFyZ3VtZW50cyhwcm9wcyksXG4gICAgfTtcblxuICAgIGlmICgoIXByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMubnVtYmVyT2ZXb3JrZXJzICE9PSB1bmRlZmluZWQpIHx8IChwcm9wcy53b3JrZXJUeXBlICYmIHByb3BzLm51bWJlck9mV29ya2VycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcignV29ya2VyVHlwZUFuZE51bWJlclJlcXVpcmVkJywgJ0JvdGggd29ya2VyVHlwZSBhbmQgbnVtYmVyT2ZXb3JrZXJzIG11c3QgYmUgc2V0JywgdGhpcyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Kb2IodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHJvbGU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgY29tbWFuZDoge1xuICAgICAgICBuYW1lOiBKb2JUeXBlLlNUUkVBTUlORyxcbiAgICAgICAgc2NyaXB0TG9jYXRpb246IHRoaXMuY29kZVMzT2JqZWN0VXJsKHByb3BzLnNjcmlwdCksXG4gICAgICB9LFxuICAgICAgZ2x1ZVZlcnNpb246IHByb3BzLmdsdWVWZXJzaW9uID8gcHJvcHMuZ2x1ZVZlcnNpb24gOiBHbHVlVmVyc2lvbi5WNF8wLFxuICAgICAgd29ya2VyVHlwZTogcHJvcHMud29ya2VyVHlwZSA/IHByb3BzLndvcmtlclR5cGUgOiBXb3JrZXJUeXBlLkdfMVgsXG4gICAgICBudW1iZXJPZldvcmtlcnM6IHByb3BzLm51bWJlck9mV29ya2VycyA/IHByb3BzLm51bWJlck9mV29ya2VycyA6IDEwLFxuICAgICAgbWF4UmV0cmllczogcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgPyAwIDogcHJvcHMubWF4UmV0cmllcyxcbiAgICAgIGpvYlJ1blF1ZXVpbmdFbmFibGVkOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkIDogZmFsc2UsXG4gICAgICBleGVjdXRpb25Qcm9wZXJ0eTogcHJvcHMubWF4Q29uY3VycmVudFJ1bnMgPyB7IG1heENvbmN1cnJlbnRSdW5zOiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyB9IDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dD8udG9NaW51dGVzKCksXG4gICAgICBjb25uZWN0aW9uczogcHJvcHMuY29ubmVjdGlvbnMgPyB7IGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb24pID0+IGNvbm5lY3Rpb24uY29ubmVjdGlvbk5hbWUpIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb246IHByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRKb2JBcm4odGhpcywgdGhpcy5qb2JOYW1lKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGpvYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZXhlY3V0YWJsZSBhcmd1bWVudHMgd2l0aCBiZXN0IHByYWN0aWNlcyBlbmFibGVkIGJ5IGRlZmF1bHRcbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgYXJndW1lbnRzIGZvciBHbHVlIHRvIHVzZSBvbiBleGVjdXRpb25cbiAgICovXG4gIHByaXZhdGUgZXhlY3V0YWJsZUFyZ3VtZW50cyhwcm9wczogU2NhbGFTcGFya1N0cmVhbWluZ0pvYlByb3BzKSB7XG4gICAgY29uc3QgYXJnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGFyZ3NbJy0tam9iLWxhbmd1YWdlJ10gPSBKb2JMYW5ndWFnZS5TQ0FMQTtcbiAgICBhcmdzWyctLWNsYXNzJ10gPSBwcm9wcy5jbGFzc05hbWU7XG4gICAgdGhpcy5zZXR1cEV4dHJhQ29kZUFyZ3VtZW50cyhhcmdzLCBwcm9wcyk7XG4gICAgcmV0dXJuIGFyZ3M7XG4gIH1cbn1cbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGEtc3Bhcmstc3RyZWFtaW5nLWpvYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNjYWxhLXNwYXJrLXN0cmVhbWluZy1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQThDO0FBQzlDLDJDQUFtRDtBQUNuRCw0RUFBNEU7QUFDNUUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUcxRSw0Q0FBNkU7QUFFN0UsMkNBQXVDO0FBbUR2Qzs7Ozs7Ozs7Ozs7R0FXRztJQUVVLHNCQUFzQjs0QkFEbEMsb0NBQWtCOzs7O3NCQUN5QixvQkFBUTs7OztzQ0FBaEIsU0FBUSxXQUFROzs7O3NDQTZDakQsaUNBQWM7dUNBS2QsaUNBQWM7WUFKZix5S0FBVyxNQUFNLDZEQUVoQjtZQUdELDRLQUFXLE9BQU8sNkRBRWpCO1lBckRILDZLQW1FQzs7Ozs7UUFsRUMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxnREFBZ0QsQ0FBQztRQUNoRyxRQUFRLEdBSEwsbURBQXNCLENBR1I7UUFFekI7O1dBRUc7UUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1lBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7bURBVGYsc0JBQXNCOzs7O1lBVS9CLG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyx5REFBeUQ7WUFDekQsTUFBTSxnQkFBZ0IsR0FBRztnQkFDdkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2dCQUNsQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxLQUFLLENBQUM7YUFDNUMsQ0FBQztZQUVGLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFT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ImltcG9ydCB7IENmbkpvYiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIsIGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29kZSB9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHsgSm9iVHlwZSwgR2x1ZVZlcnNpb24sIEpvYkxhbmd1YWdlLCBXb3JrZXJUeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHsgU3BhcmtKb2JQcm9wcyB9IGZyb20gJy4vc3Bhcmstam9iJztcbmltcG9ydCB7IFNwYXJrSm9iIH0gZnJvbSAnLi9zcGFyay1qb2InO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgU2NhbGEgU3BhcmsgRVRMIGpvYlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjYWxhU3BhcmtTdHJlYW1pbmdKb2JQcm9wcyBleHRlbmRzIFNwYXJrSm9iUHJvcHMge1xuICAvKipcbiAgICogQ2xhc3MgbmFtZSAocmVxdWlyZWQgZm9yIFNjYWxhIHNjcmlwdHMpXG4gICAqIFBhY2thZ2UgYW5kIGNsYXNzIG5hbWUgZm9yIHRoZSBlbnRyeSBwb2ludCBvZiBHbHVlIGpvYiBleGVjdXRpb24gZm9yXG4gICAqIEphdmEgc2NyaXB0c1xuICAgKiovXG4gIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpbGVzLCBzdWNoIGFzIGNvbmZpZ3VyYXRpb24gZmlsZXMgdGhhdCBBV1MgR2x1ZSBjb3BpZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9mIHlvdXIgc2NyaXB0IGJlZm9yZSBleGVjdXRpbmcgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgZmlsZXMgc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFGaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogRXh0cmEgSmFycyBTMyBVUkwgKG9wdGlvbmFsKVxuICAgKiBTMyBVUkwgd2hlcmUgYWRkaXRpb25hbCBqYXIgZGVwZW5kZW5jaWVzIGFyZSBsb2NhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgamFyIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYUphcnM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHByaW9yaXRpemVzIHRoZSBjdXN0b21lcidzIGV4dHJhIEpBUiBmaWxlcyBpbiB0aGUgY2xhc3NwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHByaW9yaXR5IGlzIG5vdCBnaXZlbiB0byB1c2VyLXByb3ZpZGVkIGphcnNcbiAgICpcbiAgICogQHNlZSBgLS11c2VyLWphcnMtZmlyc3RgIGluIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzRmlyc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBqb2IgcnVuIHF1ZXVpbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGpvYiBydW5zIGZvciB0aGlzIGpvYi5cbiAgICogQSB2YWx1ZSBvZiB0cnVlIG1lYW5zIGpvYiBydW4gcXVldWluZyBpcyBlbmFibGVkIGZvciB0aGUgam9iIHJ1bnMuXG4gICAqIElmIGZhbHNlIG9yIG5vdCBwb3B1bGF0ZWQsIHRoZSBqb2IgcnVucyB3aWxsIG5vdCBiZSBjb25zaWRlcmVkIGZvciBxdWV1ZWluZy5cbiAgICogSWYgdGhpcyBmaWVsZCBkb2VzIG5vdCBtYXRjaCB0aGUgdmFsdWUgc2V0IGluIHRoZSBqb2IgcnVuLCB0aGVuIHRoZSB2YWx1ZSBmcm9tXG4gICAqIHRoZSBqb2IgcnVuIGZpZWxkIHdpbGwgYmUgdXNlZC4gVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCB0byBmYWxzZSBmb3IgZmxleCBqb2JzLlxuICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIGVuYWJsZWQsIG1heFJldHJpZXMgbXVzdCBiZSBzZXQgdG8gemVyby5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBqb2IgcnVuIHF1ZXVpbmdcbiAgICovXG4gIHJlYWRvbmx5IGpvYlJ1blF1ZXVpbmdFbmFibGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTY2FsYSBTdHJlYW1pbmcgSm9icyBjbGFzc1xuICpcbiAqIEEgU3RyZWFtaW5nIGpvYiBpcyBzaW1pbGFyIHRvIGFuIEVUTCBqb2IsIGV4Y2VwdCB0aGF0IGl0IHBlcmZvcm1zIEVUTCBvbiBkYXRhIHN0cmVhbXNcbiAqIHVzaW5nIHRoZSBBcGFjaGUgU3BhcmsgU3RydWN0dXJlZCBTdHJlYW1pbmcgZnJhbWV3b3JrLlxuICogVGhlc2Ugam9icyB3aWxsIGRlZmF1bHQgdG8gdXNlIFB5dGhvbiAzLjkuXG4gKlxuICogU2ltaWxhciB0byBFVEwgam9icywgc3RyZWFtaW5nIGpvYiBzdXBwb3J0cyBTY2FsYSBhbmQgUHl0aG9uIGxhbmd1YWdlcy4gU2ltaWxhciB0byBFVEwsXG4gKiBpdCBzdXBwb3J0cyBHMSBhbmQgRzIgd29ya2VyIHR5cGUgYW5kIDIuMCwgMy4wIGFuZCA0LjAgdmVyc2lvbi4gV2XigJlsbCBkZWZhdWx0IHRvIEcyIHdvcmtlclxuICogYW5kIDQuMCB2ZXJzaW9uIGZvciBzdHJlYW1pbmcgam9icyB3aGljaCBkZXZlbG9wZXJzIGNhbiBvdmVycmlkZS5cbiAqIFdlIHdpbGwgZW5hYmxlIOKAlGVuYWJsZS1tZXRyaWNzLCDigJRlbmFibGUtc3BhcmstdWksIOKAlGVuYWJsZS1jb250aW51b3VzLWNsb3Vkd2F0Y2gtbG9nLlxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2NhbGFTcGFya1N0cmVhbWluZ0pvYiBleHRlbmRzIFNwYXJrSm9iIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5TY2FsYVNwYXJrU3RyZWFtaW5nSm9iJztcbiAgcHJpdmF0ZSByZXNvdXJjZTogQ2ZuSm9iO1xuXG4gIC8qKlxuICAgKiBTY2FsYVNwYXJrU3RyZWFtaW5nSm9iIGNvbnN0cnVjdG9yXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2NhbGFTcGFya1N0cmVhbWluZ0pvYlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICAvLyBDb21iaW5lIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBsaW5lIGl0ZW1cbiAgICBjb25zdCBkZWZhdWx0QXJndW1lbnRzID0ge1xuICAgICAgLi4udGhpcy5leGVjdXRhYmxlQXJndW1lbnRzKHByb3BzKSxcbiAgICAgIC4uLnRoaXMubm9uRXhlY3V0YWJsZUNvbW1vbkFyZ3VtZW50cyhwcm9wcyksXG4gICAgfTtcblxuICAgIGlmICgoIXByb3BzLndvcmtlclR5cGUgJiYgcHJvcHMubnVtYmVyT2ZXb3JrZXJzICE9PSB1bmRlZmluZWQpIHx8IChwcm9wcy53b3JrZXJUeXBlICYmIHByb3BzLm51bWJlck9mV29ya2VycyA9PT0gdW5kZWZpbmVkKSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgV29ya2VyVHlwZUFuZE51bWJlclJlcXVpcmVkYCwgJ0JvdGggd29ya2VyVHlwZSBhbmQgbnVtYmVyT2ZXb3JrZXJzIG11c3QgYmUgc2V0JywgdGhpcyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Kb2IodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHJvbGU6IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgY29tbWFuZDoge1xuICAgICAgICBuYW1lOiBKb2JUeXBlLlNUUkVBTUlORyxcbiAgICAgICAgc2NyaXB0TG9jYXRpb246IHRoaXMuY29kZVMzT2JqZWN0VXJsKHByb3BzLnNjcmlwdCksXG4gICAgICB9LFxuICAgICAgZ2x1ZVZlcnNpb246IHByb3BzLmdsdWVWZXJzaW9uID8gcHJvcHMuZ2x1ZVZlcnNpb24gOiBHbHVlVmVyc2lvbi5WNF8wLFxuICAgICAgd29ya2VyVHlwZTogcHJvcHMud29ya2VyVHlwZSA/IHByb3BzLndvcmtlclR5cGUgOiBXb3JrZXJUeXBlLkdfMVgsXG4gICAgICBudW1iZXJPZldvcmtlcnM6IHByb3BzLm51bWJlck9mV29ya2VycyA/IHByb3BzLm51bWJlck9mV29ya2VycyA6IDEwLFxuICAgICAgbWF4UmV0cmllczogcHJvcHMuam9iUnVuUXVldWluZ0VuYWJsZWQgPyAwIDogcHJvcHMubWF4UmV0cmllcyxcbiAgICAgIGpvYlJ1blF1ZXVpbmdFbmFibGVkOiBwcm9wcy5qb2JSdW5RdWV1aW5nRW5hYmxlZCA/IHByb3BzLmpvYlJ1blF1ZXVpbmdFbmFibGVkIDogZmFsc2UsXG4gICAgICBleGVjdXRpb25Qcm9wZXJ0eTogcHJvcHMubWF4Q29uY3VycmVudFJ1bnMgPyB7IG1heENvbmN1cnJlbnRSdW5zOiBwcm9wcy5tYXhDb25jdXJyZW50UnVucyB9IDogdW5kZWZpbmVkLFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dD8udG9NaW51dGVzKCksXG4gICAgICBjb25uZWN0aW9uczogcHJvcHMuY29ubmVjdGlvbnMgPyB7IGNvbm5lY3Rpb25zOiBwcm9wcy5jb25uZWN0aW9ucy5tYXAoKGNvbm5lY3Rpb24pID0+IGNvbm5lY3Rpb24uY29ubmVjdGlvbk5hbWUpIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWN1cml0eUNvbmZpZ3VyYXRpb246IHByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgam9iQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRKb2JBcm4odGhpcywgdGhpcy5qb2JOYW1lKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGpvYk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZXhlY3V0YWJsZSBhcmd1bWVudHMgd2l0aCBiZXN0IHByYWN0aWNlcyBlbmFibGVkIGJ5IGRlZmF1bHRcbiAgICpcbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgYXJndW1lbnRzIGZvciBHbHVlIHRvIHVzZSBvbiBleGVjdXRpb25cbiAgICovXG4gIHByaXZhdGUgZXhlY3V0YWJsZUFyZ3VtZW50cyhwcm9wczogU2NhbGFTcGFya1N0cmVhbWluZ0pvYlByb3BzKSB7XG4gICAgY29uc3QgYXJnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGFyZ3NbJy0tam9iLWxhbmd1YWdlJ10gPSBKb2JMYW5ndWFnZS5TQ0FMQTtcbiAgICBhcmdzWyctLWNsYXNzJ10gPSBwcm9wcy5jbGFzc05hbWU7XG4gICAgdGhpcy5zZXR1cEV4dHJhQ29kZUFyZ3VtZW50cyhhcmdzLCBwcm9wcyk7XG4gICAgcmV0dXJuIGFyZ3M7XG4gIH1cbn1cbiJdfQ==
|
package/lib/jobs/spark-job.js
CHANGED
|
@@ -6,13 +6,14 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
const os_1 = require("os");
|
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
8
|
const s3 = require("aws-cdk-lib/aws-s3");
|
|
9
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
9
10
|
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
10
11
|
const job_1 = require("./job");
|
|
11
12
|
/**
|
|
12
13
|
* Base class for different types of Spark Jobs.
|
|
13
14
|
*/
|
|
14
15
|
class SparkJob extends job_1.Job {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SparkJob", version: "2.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SparkJob", version: "2.247.0-alpha.0" };
|
|
16
17
|
role;
|
|
17
18
|
grantPrincipal;
|
|
18
19
|
/**
|
|
@@ -119,10 +120,10 @@ function validateSparkUiPrefix(prefix) {
|
|
|
119
120
|
errors.push('Prefix must not end with \'/\'');
|
|
120
121
|
}
|
|
121
122
|
if (errors.length > 0) {
|
|
122
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
123
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `InvalidSparkUiPrefix`, `Invalid prefix format (value: ${prefix})${os_1.EOL}${errors.join(os_1.EOL)}`);
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
function cleanSparkUiPrefixForGrant(prefix) {
|
|
126
127
|
return prefix !== undefined ? prefix.slice(1) + '/*' : undefined;
|
|
127
128
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhcmstam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3Bhcmstam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQXlCO0FBQ3pCLDZDQUE2RDtBQUU3RCx5Q0FBeUM7QUFDekMsOEVBQThFO0FBSTlFLCtCQUE0QjtBQW9INUI7O0dBRUc7QUFDSCxNQUFzQixRQUFTLFNBQVEsU0FBRzs7SUFDeEIsSUFBSSxDQUFZO0lBQ2hCLGNBQWMsQ0FBaUI7SUFFL0M7Ozs7O09BS0c7SUFDYSxzQkFBc0IsQ0FBMEI7SUFFaEUsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTztTQUM1QixDQUFDLENBQUM7Ozs7OzsrQ0FmZSxRQUFROzs7O1FBZ0IxQixtQ0FBbUM7UUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUVoQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0tBQzNHO0lBRVMsNEJBQTRCLENBQUMsS0FBb0I7Ozs7Ozs7Ozs7UUFDekQsaUZBQWlGO1FBQ2pGLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFOUYsMEZBQTBGO1FBQzFGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElB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LEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsTUFBTTtTQUNQLENBQUM7S0FDSDs7QUExRUgsNEJBMkVDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFlO0lBQzVDLElBQUksQ0FBQyxNQUFNLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQywyREFBMkQ7UUFDM0QsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxxQ0FBdUIsQ0FBQyxzQkFBc0IsRUFBRSxpQ0FBaUMsTUFBTSxJQUFJLFFBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqSSxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsTUFBZTtJQUNqRCxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IFRva2VuLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHR5cGUgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHR5cGUgeyBDb2RlIH0gZnJvbSAnLi4vY29kZSc7XG5pbXBvcnQgdHlwZSB7IEpvYlByb3BzIH0gZnJvbSAnLi9qb2InO1xuaW1wb3J0IHsgSm9iIH0gZnJvbSAnLi9qb2InO1xuXG4vKipcbiAqIENvZGUgcHJvcHMgZm9yIGRpZmZlcmVudCB7QGxpbmsgQ29kZX0gYXNzZXRzIHVzZWQgYnkgZGlmZmVyZW50IHR5cGVzIG9mIFNwYXJrIGpvYnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhcmtFeHRyYUNvZGVQcm9wcyB7XG4gIC8qKlxuICAgKiBFeHRyYSBQeXRob24gRmlsZXMgUzMgVVJMIChvcHRpb25hbClcbiAgICogUzMgVVJMIHdoZXJlIGFkZGl0aW9uYWwgcHl0aG9uIGRlcGVuZGVuY2llcyBhcmUgbG9jYXRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGV4dHJhIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYVB5dGhvbkZpbGVzPzogQ29kZVtdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGZpbGVzLCBzdWNoIGFzIGNvbmZpZ3VyYXRpb24gZmlsZXMgdGhhdCBBV1MgR2x1ZSBjb3BpZXMgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5IG9mIHlvdXIgc2NyaXB0IGJlZm9yZSBleGVjdXRpbmcgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgZmlsZXMgc3BlY2lmaWVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFGaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogRXh0cmEgSmFycyBTMyBVUkwgKG9wdGlvbmFsKVxuICAgKiBTMyBVUkwgd2hlcmUgYWRkaXRpb25hbCBqYXIgZGVwZW5kZW5jaWVzIGFyZSBsb2NhdGVkXG4gICAqIEBkZWZhdWx0IC0gbm8gZXh0cmEgamFyIGZpbGVzXG4gICAqL1xuICByZWFkb25seSBleHRyYUphcnM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byB0cnVlIHByaW9yaXRpemVzIHRoZSBjdXN0b21lcidzIGV4dHJhIEpBUiBmaWxlcyBpbiB0aGUgY2xhc3NwYXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIHByaW9yaXR5IGlzIG5vdCBnaXZlbiB0byB1c2VyLXByb3ZpZGVkIGphcnNcbiAgICpcbiAgICogQHNlZSBgLS11c2VyLWphcnMtZmlyc3RgIGluIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzRmlyc3Q/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGVuYWJsaW5nIFNwYXJrIFVJIG1vbml0b3JpbmcgZmVhdHVyZSBmb3IgU3BhcmstYmFzZWQgR2x1ZSBqb2JzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL21vbml0b3Itc3BhcmstdWktam9icy5odG1sXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYXJrVUlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHdoZXJlIHRoZSBHbHVlIGpvYiBzdG9yZXMgdGhlIGxvZ3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGEgbmV3IGJ1Y2tldCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ/OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbnNpZGUgdGhlIGJ1Y2tldCAob2JqZWN0cyBwcmVmaXgpIHdoZXJlIHRoZSBHbHVlIGpvYiBzdG9yZXMgdGhlIGxvZ3MuXG4gICAqIFVzZSBmb3JtYXQgYCcvZm9vL2JhcidgXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIGxvZ3Mgd2lsbCBiZSB3cml0dGVuIGF0IHRoZSByb290IG9mIHRoZSBidWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgU3BhcmsgVUkgbG9nZ2luZyBsb2NhdGlvbi5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9tb25pdG9yLXNwYXJrLXVpLWpvYnMuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtcHJvZ3JhbW1pbmctZXRsLWdsdWUtYXJndW1lbnRzLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGFya1VJTG9nZ2luZ0xvY2F0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBidWNrZXQgd2hlcmUgdGhlIEdsdWUgam9iIHN0b3JlcyB0aGUgbG9ncy5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIHBhdGggaW5zaWRlIHRoZSBidWNrZXQgKG9iamVjdHMgcHJlZml4KSB3aGVyZSB0aGUgR2x1ZSBqb2Igc3RvcmVzIHRoZSBsb2dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnLycgLSB0aGUgbG9ncyB3aWxsIGJlIHdyaXR0ZW4gYXQgdGhlIHJvb3Qgb2YgdGhlIGJ1Y2tldFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBkaWZmZXJlbnQgdHlwZXMgb2YgU3Bhcmsgam9icy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGFya0pvYlByb3BzIGV4dGVuZHMgSm9iUHJvcHMge1xuICAvKipcbiAgICogRW5hYmxlcyB0aGUgU3BhcmsgVUkgZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIHdpdGggdGhlIHNwZWNpZmllZCBwcm9wcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTcGFyayBVSSBkZWJ1Z2dpbmcgYW5kIG1vbml0b3JpbmcgaXMgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL21vbml0b3Itc3BhcmstdWktam9icy5odG1sXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2F3cy1nbHVlLXByb2dyYW1taW5nLWV0bC1nbHVlLWFyZ3VtZW50cy5odG1sXG4gICAqL1xuICByZWFkb25seSBzcGFya1VJPzogU3BhcmtVSVByb3BzO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgcHJvZmlsaW5nIG1ldHJpY3MgZm9yIHRoZSBHbHVlIGpvYi5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhZGRzICctLWVuYWJsZS1tZXRyaWNzJyB0byBqb2IgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVNZXRyaWNzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIG9ic2VydmFiaWxpdHkgbWV0cmljcyBmb3IgdGhlIEdsdWUgam9iLlxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFkZHMgJy0tZW5hYmxlLW9ic2VydmFiaWxpdHktbWV0cmljcyc6ICd0cnVlJyB0byBqb2IgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVPYnNlcnZhYmlsaXR5TWV0cmljcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIFNwYXJrIEpvYnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTcGFya0pvYiBleHRlbmRzIEpvYiB7XG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgLyoqXG4gICAqIFRoZSBTcGFyayBVSSBsb2dzIGxvY2F0aW9uIGlmIFNwYXJrIFVJIG1vbml0b3JpbmcgYW5kIGRlYnVnZ2luZyBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9tb25pdG9yLXNwYXJrLXVpLWpvYnMuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNwYXJrVUlMb2dnaW5nTG9jYXRpb24/OiBTcGFya1VJTG9nZ2luZ0xvY2F0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNwYXJrSm9iUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuam9iTmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGU7XG4gICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMucm9sZTtcblxuICAgIHRoaXMuc3BhcmtVSUxvZ2dpbmdMb2NhdGlvbiA9IHByb3BzLnNwYXJrVUkgPyB0aGlzLnNldHVwU3BhcmtVSUxvZ2dpbmdMb2NhdGlvbihwcm9wcy5zcGFya1VJKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBub25FeGVjdXRhYmxlQ29tbW9uQXJndW1lbnRzKHByb3BzOiBTcGFya0pvYlByb3BzKToge1trZXk6IHN0cmluZ106IHN0cmluZ30ge1xuICAgIC8vIEVuYWJsZSBDbG91ZFdhdGNoIG1ldHJpY3MgYW5kIGNvbnRpbnVvdXMgbG9nZ2luZyBieSBkZWZhdWx0IGFzIGEgYmVzdCBwcmFjdGljZVxuICAgIGNvbnN0IGNvbnRpbnVvdXNMb2dnaW5nQXJncyA9IHRoaXMuc2V0dXBDb250aW51b3VzTG9nZ2luZyh0aGlzLnJvbGUsIHByb3BzLmNvbnRpbnVvdXNMb2dnaW5nKTtcblxuICAgIC8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBtZXRyaWNzIGFyZ3VtZW50cyAoZGVmYXVsdCB0byBlbmFibGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuICAgIGNvbnN0IHByb2ZpbGluZ01ldHJpY3NBcmdzID0gKHByb3BzLmVuYWJsZU1ldHJpY3MgPz8gdHJ1ZSkgPyB7ICctLWVuYWJsZS1tZXRyaWNzJzogJycgfSA6IHt9O1xuICAgIGNvbnN0IG9ic2VydmFiaWxpdHlNZXRyaWNzQXJncyA9IChwcm9wcy5lbmFibGVPYnNlcnZhYmlsaXR5TWV0cmljcyA/PyB0cnVlKSA/IHsgJy0tZW5hYmxlLW9ic2VydmFiaWxpdHktbWV0cmljcyc6ICd0cnVlJyB9IDoge307XG5cbiAgICAvLyBTZXQgc3BhcmsgdWkgYXJncywgaWYgc3BhcmsgdWkgbG9nZ2luZyBoYWQgYmVlbiBzZXR1cFxuICAgIGNvbnN0IHNwYXJrVUlBcmdzID0gdGhpcy5zcGFya1VJTG9nZ2luZ0xvY2F0aW9uID8gKHtcbiAgICAgICctLWVuYWJsZS1zcGFyay11aSc6ICd0cnVlJyxcbiAgICAgICctLXNwYXJrLWV2ZW50LWxvZ3MtcGF0aCc6IHRoaXMuc3BhcmtVSUxvZ2dpbmdMb2NhdGlvbi5idWNrZXQuczNVcmxGb3JPYmplY3QodGhpcy5zcGFya1VJTG9nZ2luZ0xvY2F0aW9uLnByZWZpeCkucmVwbGFjZSgvXFwvPyQvLCAnLycpLCAvLyBwYXRoIHdpbGwgYWx3YXlzIGVuZCB3aXRoIGEgc2xhc2hcbiAgICB9KToge307XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29udGludW91c0xvZ2dpbmdBcmdzLFxuICAgICAgLi4ucHJvZmlsaW5nTWV0cmljc0FyZ3MsXG4gICAgICAuLi5vYnNlcnZhYmlsaXR5TWV0cmljc0FyZ3MsXG4gICAgICAuLi5zcGFya1VJQXJncyxcbiAgICAgIC4uLnRoaXMuY2hlY2tOb1Jlc2VydmVkQXJncyhwcm9wcy5kZWZhdWx0QXJndW1lbnRzKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgYXJndW1lbnRzIGZvciBleHRyYSB7QGxpbmsgQ29kZX0tcmVsYXRlZCBwcm9wZXJ0aWVzXG4gICAqL1xuICBwcm90ZWN0ZWQgc2V0dXBFeHRyYUNvZGVBcmd1bWVudHMoYXJnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgcHJvcHM6IFNwYXJrRXh0cmFDb2RlUHJvcHMpIHtcbiAgICBpZiAocHJvcHMuZXh0cmFKYXJzICYmIHByb3BzLmV4dHJhSmFycy5sZW5ndGggPiAwKSB7XG4gICAgICBhcmdzWyctLWV4dHJhLWphcnMnXSA9IHByb3BzLmV4dHJhSmFycy5tYXAoY29kZSA9PiB0aGlzLmNvZGVTM09iamVjdFVybChjb2RlKSkuam9pbignLCcpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuZXh0cmFKYXJzRmlyc3QpIHtcbiAgICAgIGFyZ3NbJy0tdXNlci1qYXJzLWZpcnN0J10gPSAndHJ1ZSc7XG4gICAgfVxuICAgIGlmIChwcm9wcy5leHRyYVB5dGhvbkZpbGVzICYmIHByb3BzLmV4dHJhUHl0aG9uRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgYXJnc1snLS1leHRyYS1weS1maWxlcyddID0gcHJvcHMuZXh0cmFQeXRob25GaWxlcy5tYXAoY29kZSA9PiB0aGlzLmNvZGVTM09iamVjdFVybChjb2RlKSkuam9pbignLCcpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuZXh0cmFGaWxlcyAmJiBwcm9wcy5leHRyYUZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGFyZ3NbJy0tZXh0cmEtZmlsZXMnXSA9IHByb3BzLmV4dHJhRmlsZXMubWFwKGNvZGUgPT4gdGhpcy5jb2RlUzNPYmplY3RVcmwoY29kZSkpLmpvaW4oJywnKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwU3BhcmtVSUxvZ2dpbmdMb2NhdGlvbihwcm9wczogU3BhcmtVSVByb3BzKTogU3BhcmtVSUxvZ2dpbmdMb2NhdGlvbiB7XG4gICAgdmFsaWRhdGVTcGFya1VpUHJlZml4KHByb3BzLnByZWZpeCk7XG4gICAgY29uc3QgYnVja2V0ID0gcHJvcHMuYnVja2V0ID8/IG5ldyBzMy5CdWNrZXQodGhpcywgJ1NwYXJrVUlCdWNrZXQnLCB7IGVuZm9yY2VTU0w6IHRydWUsIGVuY3J5cHRpb246IHMzLkJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCB9KTtcbiAgICBidWNrZXQuZ3JhbnRSZWFkV3JpdGUodGhpcywgY2xlYW5TcGFya1VpUHJlZml4Rm9yR3JhbnQocHJvcHMucHJlZml4KSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByZWZpeDogcHJvcHMucHJlZml4LFxuICAgICAgYnVja2V0LFxuICAgIH07XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVTcGFya1VpUHJlZml4KHByZWZpeD86IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIXByZWZpeCB8fCBUb2tlbi5pc1VucmVzb2x2ZWQocHJlZml4KSkge1xuICAgIC8vIHNraXAgdmFsaWRhdGlvbiBpZiBwcmVmaXggaXMgbm90IHNwZWNpZmllZCBvciBpcyBhIHRva2VuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmICghcHJlZml4LnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgIGVycm9ycy5wdXNoKCdQcmVmaXggbXVzdCBiZWdpbiB3aXRoIFxcJy9cXCcnKTtcbiAgfVxuXG4gIGlmIChwcmVmaXguZW5kc1dpdGgoJy8nKSkge1xuICAgIGVycm9ycy5wdXNoKCdQcmVmaXggbXVzdCBub3QgZW5kIHdpdGggXFwnL1xcJycpO1xuICB9XG5cbiAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKCdJbnZhbGlkU3BhcmtVaVByZWZpeCcsIGBJbnZhbGlkIHByZWZpeCBmb3JtYXQgKHZhbHVlOiAke3ByZWZpeH0pJHtFT0x9JHtlcnJvcnMuam9pbihFT0wpfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNsZWFuU3BhcmtVaVByZWZpeEZvckdyYW50KHByZWZpeD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBwcmVmaXggIT09IHVuZGVmaW5lZCA/IHByZWZpeC5zbGljZSgxKSArICcvKicgOiB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bhcmstam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3Bhcmstam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQXlCO0FBQ3pCLDZDQUE2RDtBQUU3RCx5Q0FBeUM7QUFDekMsNEVBQTREO0FBQzVELDhFQUE4RTtBQUk5RSwrQkFBNEI7QUFvSDVCOztHQUVHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLFNBQUc7O0lBQ3hCLElBQUksQ0FBWTtJQUNoQixjQUFjLENBQWlCO0lBRS9DOzs7OztPQUtHO0lBQ2Esc0JBQXNCLENBQTBCO0lBRWhFLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDOzs7Ozs7K0NBZmUsUUFBUTs7OztRQWdCMUIsbUNBQW1DO1FBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFaEMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztLQUMzRztJQUVTLDRCQUE0QixDQUFDLEtBQW9COzs7Ozs7Ozs7O1FBQ3pELGlGQUFpRjtRQUNqRixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlGLDBGQUEwRjtRQUMxRixNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBSyxDQUFD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QUFPO1lBQ0wsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE1BQU07U0FDUCxDQUFDO0tBQ0g7O0FBMUVILDRCQTJFQztBQUVELFNBQVMscUJBQXFCLENBQUMsTUFBZTtJQUM1QyxJQUFJLENBQUMsTUFBTSxJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUMsMkRBQTJEO1FBQzNELE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUkscUNBQXVCLENBQUMsSUFBQSxzQkFBRyxFQUFBLHNCQUFzQixFQUFFLGlDQUFpQyxNQUFNLElBQUksUUFBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BJLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxNQUFlO0lBQ2pELE9BQU8sTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNuRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU9MIH0gZnJvbSAnb3MnO1xuaW1wb3J0IHsgVG9rZW4sIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgbGl0IH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB0eXBlIHsgQ29kZSB9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHR5cGUgeyBKb2JQcm9wcyB9IGZyb20gJy4vam9iJztcbmltcG9ydCB7IEpvYiB9IGZyb20gJy4vam9iJztcblxuLyoqXG4gKiBDb2RlIHByb3BzIGZvciBkaWZmZXJlbnQge0BsaW5rIENvZGV9IGFzc2V0cyB1c2VkIGJ5IGRpZmZlcmVudCB0eXBlcyBvZiBTcGFyayBqb2JzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwYXJrRXh0cmFDb2RlUHJvcHMge1xuICAvKipcbiAgICogRXh0cmEgUHl0aG9uIEZpbGVzIFMzIFVSTCAob3B0aW9uYWwpXG4gICAqIFMzIFVSTCB3aGVyZSBhZGRpdGlvbmFsIHB5dGhvbiBkZXBlbmRlbmNpZXMgYXJlIGxvY2F0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBleHRyYSBmaWxlc1xuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFQeXRob25GaWxlcz86IENvZGVbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBmaWxlcywgc3VjaCBhcyBjb25maWd1cmF0aW9uIGZpbGVzIHRoYXQgQVdTIEdsdWUgY29waWVzIHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBvZiB5b3VyIHNjcmlwdCBiZWZvcmUgZXhlY3V0aW5nIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGV4dHJhIGZpbGVzIHNwZWNpZmllZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtcHJvZ3JhbW1pbmctZXRsLWdsdWUtYXJndW1lbnRzLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhRmlsZXM/OiBDb2RlW107XG5cbiAgLyoqXG4gICAqIEV4dHJhIEphcnMgUzMgVVJMIChvcHRpb25hbClcbiAgICogUzMgVVJMIHdoZXJlIGFkZGl0aW9uYWwgamFyIGRlcGVuZGVuY2llcyBhcmUgbG9jYXRlZFxuICAgKiBAZGVmYXVsdCAtIG5vIGV4dHJhIGphciBmaWxlc1xuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFKYXJzPzogQ29kZVtdO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdmFsdWUgdG8gdHJ1ZSBwcmlvcml0aXplcyB0aGUgY3VzdG9tZXIncyBleHRyYSBKQVIgZmlsZXMgaW4gdGhlIGNsYXNzcGF0aC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLSBwcmlvcml0eSBpcyBub3QgZ2l2ZW4gdG8gdXNlci1wcm92aWRlZCBqYXJzXG4gICAqXG4gICAqIEBzZWUgYC0tdXNlci1qYXJzLWZpcnN0YCBpbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtcHJvZ3JhbW1pbmctZXRsLWdsdWUtYXJndW1lbnRzLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhSmFyc0ZpcnN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBlbmFibGluZyBTcGFyayBVSSBtb25pdG9yaW5nIGZlYXR1cmUgZm9yIFNwYXJrLWJhc2VkIEdsdWUgam9icy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9tb25pdG9yLXNwYXJrLXVpLWpvYnMuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtcHJvZ3JhbW1pbmctZXRsLWdsdWUtYXJndW1lbnRzLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcGFya1VJUHJvcHMge1xuICAvKipcbiAgICogVGhlIGJ1Y2tldCB3aGVyZSB0aGUgR2x1ZSBqb2Igc3RvcmVzIHRoZSBsb2dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBhIG5ldyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0PzogczMuSUJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIHBhdGggaW5zaWRlIHRoZSBidWNrZXQgKG9iamVjdHMgcHJlZml4KSB3aGVyZSB0aGUgR2x1ZSBqb2Igc3RvcmVzIHRoZSBsb2dzLlxuICAgKiBVc2UgZm9ybWF0IGAnL2Zvby9iYXInYFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBsb2dzIHdpbGwgYmUgd3JpdHRlbiBhdCB0aGUgcm9vdCBvZiB0aGUgYnVja2V0XG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIFNwYXJrIFVJIGxvZ2dpbmcgbG9jYXRpb24uXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvbW9uaXRvci1zcGFyay11aS1qb2JzLmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2F3cy1nbHVlLXByb2dyYW1taW5nLWV0bC1nbHVlLWFyZ3VtZW50cy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhcmtVSUxvZ2dpbmdMb2NhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHdoZXJlIHRoZSBHbHVlIGpvYiBzdG9yZXMgdGhlIGxvZ3MuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIGluc2lkZSB0aGUgYnVja2V0IChvYmplY3RzIHByZWZpeCkgd2hlcmUgdGhlIEdsdWUgam9iIHN0b3JlcyB0aGUgbG9ncy5cbiAgICpcbiAgICogQGRlZmF1bHQgJy8nIC0gdGhlIGxvZ3Mgd2lsbCBiZSB3cml0dGVuIGF0IHRoZSByb290IG9mIHRoZSBidWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydGllcyBmb3IgZGlmZmVyZW50IHR5cGVzIG9mIFNwYXJrIGpvYnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3BhcmtKb2JQcm9wcyBleHRlbmRzIEpvYlByb3BzIHtcbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIFNwYXJrIFVJIGRlYnVnZ2luZyBhbmQgbW9uaXRvcmluZyB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvcHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gU3BhcmsgVUkgZGVidWdnaW5nIGFuZCBtb25pdG9yaW5nIGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9tb25pdG9yLXNwYXJrLXVpLWpvYnMuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hd3MtZ2x1ZS1wcm9ncmFtbWluZy1ldGwtZ2x1ZS1hcmd1bWVudHMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgc3BhcmtVST86IFNwYXJrVUlQcm9wcztcblxuICAvKipcbiAgICogRW5hYmxlIHByb2ZpbGluZyBtZXRyaWNzIGZvciB0aGUgR2x1ZSBqb2IuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgYWRkcyAnLS1lbmFibGUtbWV0cmljcycgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlTWV0cmljcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvYnNlcnZhYmlsaXR5IG1ldHJpY3MgZm9yIHRoZSBHbHVlIGpvYi5cbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhZGRzICctLWVuYWJsZS1vYnNlcnZhYmlsaXR5LW1ldHJpY3MnOiAndHJ1ZScgdG8gam9iIGFyZ3VtZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlT2JzZXJ2YWJpbGl0eU1ldHJpY3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGRpZmZlcmVudCB0eXBlcyBvZiBTcGFyayBKb2JzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU3BhcmtKb2IgZXh0ZW5kcyBKb2Ige1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6IGlhbS5JUHJpbmNpcGFsO1xuXG4gIC8qKlxuICAgKiBUaGUgU3BhcmsgVUkgbG9ncyBsb2NhdGlvbiBpZiBTcGFyayBVSSBtb25pdG9yaW5nIGFuZCBkZWJ1Z2dpbmcgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvbW9uaXRvci1zcGFyay11aS1qb2JzLmh0bWxcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYXdzLWdsdWUtcHJvZ3JhbW1pbmctZXRsLWdsdWUtYXJndW1lbnRzLmh0bWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzcGFya1VJTG9nZ2luZ0xvY2F0aW9uPzogU3BhcmtVSUxvZ2dpbmdMb2NhdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTcGFya0pvYlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmpvYk5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJvbGUgPSBwcm9wcy5yb2xlO1xuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwgPSB0aGlzLnJvbGU7XG5cbiAgICB0aGlzLnNwYXJrVUlMb2dnaW5nTG9jYXRpb24gPSBwcm9wcy5zcGFya1VJID8gdGhpcy5zZXR1cFNwYXJrVUlMb2dnaW5nTG9jYXRpb24ocHJvcHMuc3BhcmtVSSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgbm9uRXhlY3V0YWJsZUNvbW1vbkFyZ3VtZW50cyhwcm9wczogU3BhcmtKb2JQcm9wcyk6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9IHtcbiAgICAvLyBFbmFibGUgQ2xvdWRXYXRjaCBtZXRyaWNzIGFuZCBjb250aW51b3VzIGxvZ2dpbmcgYnkgZGVmYXVsdCBhcyBhIGJlc3QgcHJhY3RpY2VcbiAgICBjb25zdCBjb250aW51b3VzTG9nZ2luZ0FyZ3MgPSB0aGlzLnNldHVwQ29udGludW91c0xvZ2dpbmcodGhpcy5yb2xlLCBwcm9wcy5jb250aW51b3VzTG9nZ2luZyk7XG5cbiAgICAvLyBDb25kaXRpb25hbGx5IGluY2x1ZGUgbWV0cmljcyBhcmd1bWVudHMgKGRlZmF1bHQgdG8gZW5hYmxlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcbiAgICBjb25zdCBwcm9maWxpbmdNZXRyaWNzQXJncyA9IChwcm9wcy5lbmFibGVNZXRyaWNzID8/IHRydWUpID8geyAnLS1lbmFibGUtbWV0cmljcyc6ICcnIH0gOiB7fTtcbiAgICBjb25zdCBvYnNlcnZhYmlsaXR5TWV0cmljc0FyZ3MgPSAocHJvcHMuZW5hYmxlT2JzZXJ2YWJpbGl0eU1ldHJpY3MgPz8gdHJ1ZSkgPyB7ICctLWVuYWJsZS1vYnNlcnZhYmlsaXR5LW1ldHJpY3MnOiAndHJ1ZScgfSA6IHt9O1xuXG4gICAgLy8gU2V0IHNwYXJrIHVpIGFyZ3MsIGlmIHNwYXJrIHVpIGxvZ2dpbmcgaGFkIGJlZW4gc2V0dXBcbiAgICBjb25zdCBzcGFya1VJQXJncyA9IHRoaXMuc3BhcmtVSUxvZ2dpbmdMb2NhdGlvbiA/ICh7XG4gICAgICAnLS1lbmFibGUtc3BhcmstdWknOiAndHJ1ZScsXG4gICAgICAnLS1zcGFyay1ldmVudC1sb2dzLXBhdGgnOiB0aGlzLnNwYXJrVUlMb2dnaW5nTG9jYXRpb24uYnVja2V0LnMzVXJsRm9yT2JqZWN0KHRoaXMuc3BhcmtVSUxvZ2dpbmdMb2NhdGlvbi5wcmVmaXgpLnJlcGxhY2UoL1xcLz8kLywgJy8nKSwgLy8gcGF0aCB3aWxsIGFsd2F5cyBlbmQgd2l0aCBhIHNsYXNoXG4gICAgfSk6IHt9O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNvbnRpbnVvdXNMb2dnaW5nQXJncyxcbiAgICAgIC4uLnByb2ZpbGluZ01ldHJpY3NBcmdzLFxuICAgICAgLi4ub2JzZXJ2YWJpbGl0eU1ldHJpY3NBcmdzLFxuICAgICAgLi4uc3BhcmtVSUFyZ3MsXG4gICAgICAuLi50aGlzLmNoZWNrTm9SZXNlcnZlZEFyZ3MocHJvcHMuZGVmYXVsdEFyZ3VtZW50cyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGFyZ3VtZW50cyBmb3IgZXh0cmEge0BsaW5rIENvZGV9LXJlbGF0ZWQgcHJvcGVydGllc1xuICAgKi9cbiAgcHJvdGVjdGVkIHNldHVwRXh0cmFDb2RlQXJndW1lbnRzKGFyZ3M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIHByb3BzOiBTcGFya0V4dHJhQ29kZVByb3BzKSB7XG4gICAgaWYgKHByb3BzLmV4dHJhSmFycyAmJiBwcm9wcy5leHRyYUphcnMubGVuZ3RoID4gMCkge1xuICAgICAgYXJnc1snLS1leHRyYS1qYXJzJ10gPSBwcm9wcy5leHRyYUphcnMubWFwKGNvZGUgPT4gdGhpcy5jb2RlUzNPYmplY3RVcmwoY29kZSkpLmpvaW4oJywnKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmV4dHJhSmFyc0ZpcnN0KSB7XG4gICAgICBhcmdzWyctLXVzZXItamFycy1maXJzdCddID0gJ3RydWUnO1xuICAgIH1cbiAgICBpZiAocHJvcHMuZXh0cmFQeXRob25GaWxlcyAmJiBwcm9wcy5leHRyYVB5dGhvbkZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGFyZ3NbJy0tZXh0cmEtcHktZmlsZXMnXSA9IHByb3BzLmV4dHJhUHl0aG9uRmlsZXMubWFwKGNvZGUgPT4gdGhpcy5jb2RlUzNPYmplY3RVcmwoY29kZSkpLmpvaW4oJywnKTtcbiAgICB9XG4gICAgaWYgKHByb3BzLmV4dHJhRmlsZXMgJiYgcHJvcHMuZXh0cmFGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICBhcmdzWyctLWV4dHJhLWZpbGVzJ10gPSBwcm9wcy5leHRyYUZpbGVzLm1hcChjb2RlID0+IHRoaXMuY29kZVMzT2JqZWN0VXJsKGNvZGUpKS5qb2luKCcsJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cFNwYXJrVUlMb2dnaW5nTG9jYXRpb24ocHJvcHM6IFNwYXJrVUlQcm9wcyk6IFNwYXJrVUlMb2dnaW5nTG9jYXRpb24ge1xuICAgIHZhbGlkYXRlU3BhcmtVaVByZWZpeChwcm9wcy5wcmVmaXgpO1xuICAgIGNvbnN0IGJ1Y2tldCA9IHByb3BzLmJ1Y2tldCA/PyBuZXcgczMuQnVja2V0KHRoaXMsICdTcGFya1VJQnVja2V0JywgeyBlbmZvcmNlU1NMOiB0cnVlLCBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQgfSk7XG4gICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKHRoaXMsIGNsZWFuU3BhcmtVaVByZWZpeEZvckdyYW50KHByb3BzLnByZWZpeCkpO1xuICAgIHJldHVybiB7XG4gICAgICBwcmVmaXg6IHByb3BzLnByZWZpeCxcbiAgICAgIGJ1Y2tldCxcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3BhcmtVaVByZWZpeChwcmVmaXg/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFwcmVmaXggfHwgVG9rZW4uaXNVbnJlc29sdmVkKHByZWZpeCkpIHtcbiAgICAvLyBza2lwIHZhbGlkYXRpb24gaWYgcHJlZml4IGlzIG5vdCBzcGVjaWZpZWQgb3IgaXMgYSB0b2tlblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAoIXByZWZpeC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICBlcnJvcnMucHVzaCgnUHJlZml4IG11c3QgYmVnaW4gd2l0aCBcXCcvXFwnJyk7XG4gIH1cblxuICBpZiAocHJlZml4LmVuZHNXaXRoKCcvJykpIHtcbiAgICBlcnJvcnMucHVzaCgnUHJlZml4IG11c3Qgbm90IGVuZCB3aXRoIFxcJy9cXCcnKTtcbiAgfVxuXG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihsaXRgSW52YWxpZFNwYXJrVWlQcmVmaXhgLCBgSW52YWxpZCBwcmVmaXggZm9ybWF0ICh2YWx1ZTogJHtwcmVmaXh9KSR7RU9MfSR7ZXJyb3JzLmpvaW4oRU9MKX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhblNwYXJrVWlQcmVmaXhGb3JHcmFudChwcmVmaXg/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gcHJlZml4ICE9PSB1bmRlZmluZWQgPyBwcmVmaXguc2xpY2UoMSkgKyAnLyonIDogdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -5,6 +5,7 @@ exports.generatePartitionProjectionParameters = generatePartitionProjectionParam
|
|
|
5
5
|
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
6
6
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
7
7
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
|
+
const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
8
9
|
/**
|
|
9
10
|
* Partition projection type.
|
|
10
11
|
*
|
|
@@ -71,7 +72,7 @@ var DateIntervalUnit;
|
|
|
71
72
|
* Factory class for creating partition projection configurations.
|
|
72
73
|
*/
|
|
73
74
|
class PartitionProjectionConfiguration {
|
|
74
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PartitionProjectionConfiguration", version: "2.
|
|
75
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PartitionProjectionConfiguration", version: "2.247.0-alpha.0" };
|
|
75
76
|
/**
|
|
76
77
|
* Create an INTEGER partition projection configuration.
|
|
77
78
|
*/
|
|
@@ -88,24 +89,24 @@ class PartitionProjectionConfiguration {
|
|
|
88
89
|
// Validate min/max are integers
|
|
89
90
|
if (!aws_cdk_lib_1.Token.isUnresolved(props.min) && !aws_cdk_lib_1.Token.isUnresolved(props.max)) {
|
|
90
91
|
if (!Number.isInteger(props.min) || !Number.isInteger(props.max)) {
|
|
91
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
92
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `IntegerRangeNotIntegers`, `INTEGER partition projection range must contain integers, but got [${props.min}, ${props.max}]`);
|
|
92
93
|
}
|
|
93
94
|
// Validate min <= max
|
|
94
95
|
if (props.min > props.max) {
|
|
95
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
96
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `IntegerRangeMinGreaterThanMax`, `INTEGER partition projection range must be [min, max] where min <= max, but got [${props.min}, ${props.max}]`);
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
// Validate interval
|
|
99
100
|
if (props.interval !== undefined &&
|
|
100
101
|
!aws_cdk_lib_1.Token.isUnresolved(props.interval) &&
|
|
101
102
|
(!Number.isInteger(props.interval) || props.interval <= 0)) {
|
|
102
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
103
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `IntegerIntervalInvalid`, `INTEGER partition projection interval must be a positive integer, but got ${props.interval}`);
|
|
103
104
|
}
|
|
104
105
|
// Validate digits
|
|
105
106
|
if (props.digits !== undefined &&
|
|
106
107
|
!aws_cdk_lib_1.Token.isUnresolved(props.digits) &&
|
|
107
108
|
(!Number.isInteger(props.digits) || props.digits < 1)) {
|
|
108
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
109
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `IntegerDigitsInvalid`, `INTEGER partition projection digits must be an integer >= 1, but got ${props.digits}`);
|
|
109
110
|
}
|
|
110
111
|
return new PartitionProjectionConfiguration({
|
|
111
112
|
type: PartitionProjectionType.INTEGER,
|
|
@@ -131,13 +132,13 @@ class PartitionProjectionConfiguration {
|
|
|
131
132
|
if (!aws_cdk_lib_1.Token.isUnresolved(props.min) &&
|
|
132
133
|
!aws_cdk_lib_1.Token.isUnresolved(props.max) &&
|
|
133
134
|
(props.min.trim() === '' || props.max.trim() === '')) {
|
|
134
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
135
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `DateRangeEmpty`, 'DATE partition projection range must not contain empty strings');
|
|
135
136
|
}
|
|
136
137
|
// Validate format
|
|
137
138
|
if (!aws_cdk_lib_1.Token.isUnresolved(props.format)) {
|
|
138
139
|
// Validate format is not empty
|
|
139
140
|
if (props.format.trim() === '') {
|
|
140
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
141
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `DateFormatEmpty`, 'DATE partition projection format must be a non-empty string');
|
|
141
142
|
}
|
|
142
143
|
// Validate format pattern characters (Java 8 DateTimeFormatter)
|
|
143
144
|
const validPatternLetters = 'GyuYDMLdQqwWEecFahKkHmsSAnNVzOXxZp';
|
|
@@ -162,18 +163,18 @@ class PartitionProjectionConfiguration {
|
|
|
162
163
|
}
|
|
163
164
|
}
|
|
164
165
|
if (inQuote) {
|
|
165
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
166
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `DateFormatUnclosedQuote`, `DATE partition projection format has an unclosed single quote: '${format}'`);
|
|
166
167
|
}
|
|
167
168
|
if (invalidChars.length > 0) {
|
|
168
169
|
const unique = [...new Set(invalidChars)];
|
|
169
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
170
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `DateFormatInvalidCharacters`, `DATE partition projection format contains invalid pattern characters: ${unique.join(', ')}. Must use Java DateTimeFormatter valid pattern letters.`);
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
// Validate interval
|
|
173
174
|
if (props.interval !== undefined &&
|
|
174
175
|
!aws_cdk_lib_1.Token.isUnresolved(props.interval) &&
|
|
175
176
|
(!Number.isInteger(props.interval) || props.interval <= 0)) {
|
|
176
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
177
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `DateIntervalInvalid`, `DATE partition projection interval must be a positive integer, but got ${props.interval}`);
|
|
177
178
|
}
|
|
178
179
|
return new PartitionProjectionConfiguration({
|
|
179
180
|
type: PartitionProjectionType.DATE,
|
|
@@ -198,16 +199,16 @@ class PartitionProjectionConfiguration {
|
|
|
198
199
|
}
|
|
199
200
|
// Validate values is not empty
|
|
200
201
|
if (props.values.length === 0) {
|
|
201
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
202
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `EnumValuesEmpty`, 'ENUM partition projection values must be a non-empty array');
|
|
202
203
|
}
|
|
203
204
|
for (let i = 0; i < props.values.length; i++) {
|
|
204
205
|
const value = props.values[i];
|
|
205
206
|
if (!aws_cdk_lib_1.Token.isUnresolved(value)) {
|
|
206
207
|
if (value.trim() === '') {
|
|
207
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
208
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `EnumValueEmpty`, 'ENUM partition projection values must not contain empty strings');
|
|
208
209
|
}
|
|
209
210
|
if (value.includes(',')) {
|
|
210
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
211
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `EnumValueContainsComma`, `ENUM partition projection values must not contain commas because the values are serialized as a comma-separated list, got: '${value}'`);
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
}
|
|
@@ -319,7 +320,7 @@ class PartitionProjectionConfiguration {
|
|
|
319
320
|
default: {
|
|
320
321
|
// TypeScript exhaustiveness check
|
|
321
322
|
const exhaustiveCheck = this.type;
|
|
322
|
-
throw new aws_cdk_lib_1.UnscopedValidationError(
|
|
323
|
+
throw new aws_cdk_lib_1.UnscopedValidationError((0, helpers_internal_1.lit) `UnknownProjectionType`, `Unknown partition projection type for "${columnName}": ${exhaustiveCheck}`);
|
|
323
324
|
}
|
|
324
325
|
}
|
|
325
326
|
return params;
|
|
@@ -336,4 +337,4 @@ exports.PartitionProjectionConfiguration = PartitionProjectionConfiguration;
|
|
|
336
337
|
function generatePartitionProjectionParameters(columnName, config) {
|
|
337
338
|
return config._renderParameters(columnName);
|
|
338
339
|
}
|
|
339
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9uLXByb2plY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYXJ0aXRpb24tcHJvamVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFraUJBLHNGQUtDOzs7QUF2aUJELDZDQUE2RDtBQUU3RDs7Ozs7O0dBTUc7QUFDSCxJQUFZLHVCQW9CWDtBQXBCRCxXQUFZLHVCQUF1QjtJQUNqQzs7T0FFRztJQUNILDhDQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsd0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsd0NBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsZ0RBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQXBCVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQW9CbEM7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxnQkFtQ1g7QUFuQ0QsV0FBWSxnQkFBZ0I7SUFDMUI7O09BRUc7SUFDSCxtQ0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCxxQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILG1DQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILGlDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILG1DQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILHVDQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQW5DVyxnQkFBZ0IsZ0NBQWhCLGdCQUFnQixRQW1DM0I7QUEwSkQ7O0dBRUc7QUFDSCxNQUFhLGdDQUFnQzs7SUFDM0M7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQW1EOzs7Ozs7Ozs7O1FBQ3ZFLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMs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LENBQUM7Z0JBQ3pDLE1BQU0sSUFBSSxxQ0FBdUIsQ0FDL0IsdUJBQXVCLEVBQ3ZCLDBDQUEwQyxVQUFVLE1BQU0sZUFBZSxFQUFFLENBQzVFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0tBQ2Y7O0FBMVNILDRFQTJTQztBQVlEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHFDQUFxQyxDQUNuRCxVQUFrQixFQUNsQixNQUF3QztJQUV4QyxPQUFPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW4sIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWInO1xuXG4vKipcbiAqIFBhcnRpdGlvbiBwcm9qZWN0aW9uIHR5cGUuXG4gKlxuICogRGV0ZXJtaW5lcyBob3cgQXRoZW5hIHByb2plY3RzIHBhcnRpdGlvbiB2YWx1ZXMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9wYXJ0aXRpb24tcHJvamVjdGlvbi1zdXBwb3J0ZWQtdHlwZXMuaHRtbFxuICovXG5leHBvcnQgZW51bSBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZSB7XG4gIC8qKlxuICAgKiBQcm9qZWN0IHBhcnRpdGlvbiB2YWx1ZXMgYXMgaW50ZWdlcnMgd2l0aGluIGEgcmFuZ2UuXG4gICAqL1xuICBJTlRFR0VSID0gJ2ludGVnZXInLFxuXG4gIC8qKlxuICAgKiBQcm9qZWN0IHBhcnRpdGlvbiB2YWx1ZXMgYXMgZGF0ZXMgd2l0aGluIGEgcmFuZ2UuXG4gICAqL1xuICBEQVRFID0gJ2RhdGUnLFxuXG4gIC8qKlxuICAgKiBQcm9qZWN0IHBhcnRpdGlvbiB2YWx1ZXMgZnJvbSBhbiBleHBsaWNpdCBsaXN0IG9mIHZhbHVlcy5cbiAgICovXG4gIEVOVU0gPSAnZW51bScsXG5cbiAgLyoqXG4gICAqIFByb2plY3QgcGFydGl0aW9uIHZhbHVlcyB0aGF0IGFyZSBpbmplY3RlZCBhdCBxdWVyeSB0aW1lLlxuICAgKi9cbiAgSU5KRUNURUQgPSAnaW5qZWN0ZWQnLFxufVxuXG4vKipcbiAqIERhdGUgaW50ZXJ2YWwgdW5pdCBmb3IgcGFydGl0aW9uIHByb2plY3Rpb24uXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9wYXJ0aXRpb24tcHJvamVjdGlvbi1zdXBwb3J0ZWQtdHlwZXMuaHRtbCNwYXJ0aXRpb24tcHJvamVjdGlvbi1kYXRlLXR5cGVcbiAqL1xuZXhwb3J0IGVudW0gRGF0ZUludGVydmFsVW5pdCB7XG4gIC8qKlxuICAgKiBZZWFyIGludGVydmFsLlxuICAgKi9cbiAgWUVBUlMgPSAnWUVBUlMnLFxuXG4gIC8qKlxuICAgKiBNb250aCBpbnRlcnZhbC5cbiAgICovXG4gIE1PTlRIUyA9ICdNT05USFMnLFxuXG4gIC8qKlxuICAgKiBXZWVrIGludGVydmFsLlxuICAgKi9cbiAgV0VFS1MgPSAnV0VFS1MnLFxuXG4gIC8qKlxuICAgKiBEYXkgaW50ZXJ2YWwgKGRlZmF1bHQpLlxuICAgKi9cbiAgREFZUyA9ICdEQVlTJyxcblxuICAvKipcbiAgICogSG91ciBpbnRlcnZhbC5cbiAgICovXG4gIEhPVVJTID0gJ0hPVVJTJyxcblxuICAvKipcbiAgICogTWludXRlIGludGVydmFsLlxuICAgKi9cbiAgTUlOVVRFUyA9ICdNSU5VVEVTJyxcblxuICAvKipcbiAgICogU2Vjb25kIGludGVydmFsLlxuICAgKi9cbiAgU0VDT05EUyA9ICdTRUNPTkRTJyxcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBJTlRFR0VSIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdlclBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogTWluaW11bSB2YWx1ZSBmb3IgdGhlIGludGVnZXIgcGFydGl0aW9uIHJhbmdlIChpbmNsdXNpdmUpLlxuICAgKi9cbiAgcmVhZG9ubHkgbWluOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gdmFsdWUgZm9yIHRoZSBpbnRlZ2VyIHBhcnRpdGlvbiByYW5nZSAoaW5jbHVzaXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHBhcnRpdGlvbiB2YWx1ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZGlnaXRzIHRvIHBhZCB0aGUgcGFydGl0aW9uIHZhbHVlIHdpdGggbGVhZGluZyB6ZXJvcy5cbiAgICpcbiAgICogV2l0aCBkaWdpdHM6IDQsIHBhcnRpdGlvbiB2YWx1ZXM6IDAwMDEsIDAwMDIsIC4uLiwgMDEwMFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHN0YXRpYyBudW1iZXIgb2YgZGlnaXRzIGFuZCBubyBsZWFkaW5nIHplcm9lc1xuICAgKi9cbiAgcmVhZG9ubHkgZGlnaXRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERBVEUgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRlUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBTdGFydCBkYXRlIGZvciB0aGUgcGFydGl0aW9uIHJhbmdlIChpbmNsdXNpdmUpLlxuICAgKlxuICAgKiBDYW4gYmUgZWl0aGVyOlxuICAgKiAtIEZpeGVkIGRhdGUgaW4gdGhlIGZvcm1hdCBzcGVjaWZpZWQgYnkgYGZvcm1hdGAgcHJvcGVydHlcbiAgICogICAoZS5nLiwgJzIwMjAtMDEtMDEnIGZvciBmb3JtYXQgJ3l5eXktTU0tZGQnKVxuICAgKiAtIFJlbGF0aXZlIGRhdGUgdXNpbmcgTk9XIHN5bnRheFxuICAgKiAgIChlLmcuLCAnTk9XJywgJ05PVy0zWUVBUlMnLCAnTk9XKzFNT05USCcpXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvcGFydGl0aW9uLXByb2plY3Rpb24tc3VwcG9ydGVkLXR5cGVzLmh0bWwjcGFydGl0aW9uLXByb2plY3Rpb24tZGF0ZS10eXBlXG4gICAqL1xuICByZWFkb25seSBtaW46IHN0cmluZztcblxuICAvKipcbiAgICogRW5kIGRhdGUgZm9yIHRoZSBwYXJ0aXRpb24gcmFuZ2UgKGluY2x1c2l2ZSkuXG4gICAqXG4gICAqIENhbiBiZSBlaXRoZXI6XG4gICAqIC0gRml4ZWQgZGF0ZSBpbiB0aGUgZm9ybWF0IHNwZWNpZmllZCBieSBgZm9ybWF0YCBwcm9wZXJ0eVxuICAgKiAtIFJlbGF0aXZlIGRhdGUgdXNpbmcgTk9XIHN5bnRheFxuICAgKlxuICAgKiBTYW1lIGZvcm1hdCBjb25zdHJhaW50cyBhcyBgbWluYC5cbiAgICovXG4gIHJlYWRvbmx5IG1heDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEYXRlIGZvcm1hdCBmb3IgcGFydGl0aW9uIHZhbHVlcy5cbiAgICpcbiAgICogVXNlcyBKYXZhIFNpbXBsZURhdGVGb3JtYXQgcGF0dGVybnMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vamF2YXNlLzgvZG9jcy9hcGkvamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgZm9ybWF0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEludGVydmFsIGJldHdlZW4gcGFydGl0aW9uIHZhbHVlcy5cbiAgICpcbiAgICogV2hlbiB0aGUgcHJvdmlkZWQgZGF0ZXMgYXJlIGF0IHNpbmdsZS1kYXkgb3Igc2luZ2xlLW1vbnRoIHByZWNpc2lvbixcbiAgICogdGhlIGludGVydmFsIGlzIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byAxIGRheSBvciAxIG1vbnRoLCByZXNwZWN0aXZlbHkuXG4gICAqIE90aGVyd2lzZSwgaW50ZXJ2YWwgaXMgcmVxdWlyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMSBmb3Igc2luZ2xlLWRheSBvciBzaW5nbGUtbW9udGggcHJlY2lzaW9uLCBvdGhlcndpc2UgcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBVbml0IGZvciB0aGUgaW50ZXJ2YWwuXG4gICAqXG4gICAqIFdoZW4gdGhlIHByb3ZpZGVkIGRhdGVzIGFyZSBhdCBzaW5nbGUtZGF5IG9yIHNpbmdsZS1tb250aCBwcmVjaXNpb24sXG4gICAqIHRoZSBpbnRlcnZhbFVuaXQgaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIDEgZGF5IG9yIDEgbW9udGgsIHJlc3BlY3RpdmVseS5cbiAgICogT3RoZXJ3aXNlLCB0aGUgaW50ZXJ2YWxVbml0IGlzIHJlcXVpcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERBWVMgZm9yIHNpbmdsZS1kYXkgcHJlY2lzaW9uLCBNT05USFMgZm9yIHNpbmdsZS1tb250aCBwcmVjaXNpb24sIG90aGVyd2lzZSByZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWxVbml0PzogRGF0ZUludGVydmFsVW5pdDtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBFTlVNIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW51bVBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogRXhwbGljaXQgbGlzdCBvZiBwYXJ0aXRpb24gdmFsdWVzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbJ3VzLWVhc3QtMScsICd1cy13ZXN0LTInLCAnZXUtd2VzdC0xJ11cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogSW50ZXJuYWwgcHJvcGVydGllcyBmb3IgUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24uXG4gKi9cbmludGVyZmFjZSBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHBhcnRpdGlvbiBwcm9qZWN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogUGFydGl0aW9uUHJvamVjdGlvblR5cGU7XG5cbiAgLyoqXG4gICAqIFJhbmdlIG9mIHBhcnRpdGlvbiB2YWx1ZXMgZm9yIElOVEVHRVIgdHlwZS5cbiAgICpcbiAgICogQXJyYXkgb2YgW21pbiwgbWF4XSBhcyBudW1iZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdlclJhbmdlPzogbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFJhbmdlIG9mIHBhcnRpdGlvbiB2YWx1ZXMgZm9yIERBVEUgdHlwZS5cbiAgICpcbiAgICogQXJyYXkgb2YgW3N0YXJ0LCBlbmRdIGFzIGRhdGUgc3RyaW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGVSYW5nZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHBhcnRpdGlvbiB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGRpZ2l0cyB0byBwYWQgSU5URUdFUiBwYXJ0aXRpb24gdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlnaXRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEYXRlIGZvcm1hdCBmb3IgREFURSBwYXJ0aXRpb24gdmFsdWVzIChKYXZhIFNpbXBsZURhdGVGb3JtYXQpLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9ybWF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbml0IGZvciBEQVRFIHBhcnRpdGlvbiBpbnRlcnZhbC5cbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsVW5pdD86IERhdGVJbnRlcnZhbFVuaXQ7XG5cbiAgLyoqXG4gICAqIEV4cGxpY2l0IGxpc3Qgb2YgdmFsdWVzIGZvciBFTlVNIHBhcnRpdGlvbnMuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJTlRFR0VSIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGludGVnZXIocHJvcHM6IEludGVnZXJQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzKTogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAgIC8vIFZhbGlkYXRlIG1pbi9tYXggYXJlIGludGVnZXJzXG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWluKSAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLm1heCkpIHtcbiAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5taW4pIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLm1heCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICdJbnRlZ2VyUmFuZ2VOb3RJbnRlZ2VycycsXG4gICAgICAgICAgYElOVEVHRVIgcGFydGl0aW9uIHByb2plY3Rpb24gcmFuZ2UgbXVzdCBjb250YWluIGludGVnZXJzLCBidXQgZ290IFske3Byb3BzLm1pbn0sICR7cHJvcHMubWF4fV1gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSBtaW4gPD0gbWF4XG4gICAgICBpZiAocHJvcHMubWluID4gcHJvcHMubWF4KSB7XG4gICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAnSW50ZWdlclJhbmdlTWluR3JlYXRlclRoYW5NYXgnLFxuICAgICAgICAgIGBJTlRFR0VSIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHJhbmdlIG11c3QgYmUgW21pbiwgbWF4XSB3aGVyZSBtaW4gPD0gbWF4LCBidXQgZ290IFske3Byb3BzLm1pbn0sICR7cHJvcHMubWF4fV1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGludGVydmFsXG4gICAgaWYgKFxuICAgICAgcHJvcHMuaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5pbnRlcnZhbCkgJiZcbiAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5pbnRlcnZhbCkgfHwgcHJvcHMuaW50ZXJ2YWwgPD0gMClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgJ0ludGVnZXJJbnRlcnZhbEludmFsaWQnLFxuICAgICAgICBgSU5URUdFUiBwYXJ0aXRpb24gcHJvamVjdGlvbiBpbnRlcnZhbCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgYnV0IGdvdCAke3Byb3BzLmludGVydmFsfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGRpZ2l0c1xuICAgIGlmIChcbiAgICAgIHByb3BzLmRpZ2l0cyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRpZ2l0cykgJiZcbiAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5kaWdpdHMpIHx8IHByb3BzLmRpZ2l0cyA8IDEpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdJbnRlZ2VyRGlnaXRzSW52YWxpZCcsXG4gICAgICAgIGBJTlRFR0VSIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGRpZ2l0cyBtdXN0IGJlIGFuIGludGVnZXIgPj0gMSwgYnV0IGdvdCAke3Byb3BzLmRpZ2l0c31gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uKHtcbiAgICAgIHR5cGU6IFBhcnRpdGlvblByb2plY3Rpb25UeXBlLklOVEVHRVIsXG4gICAgICBpbnRlZ2VyUmFuZ2U6IFtwcm9wcy5taW4sIHByb3BzLm1heF0sXG4gICAgICBpbnRlcnZhbDogcHJvcHMuaW50ZXJ2YWwsXG4gICAgICBkaWdpdHM6IHByb3BzLmRpZ2l0cyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRhdGUocHJvcHM6IERhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzKTogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAgIC8vIFZhbGlkYXRlIG1pbi9tYXggYXJlIG5vdCBlbXB0eVxuICAgIGlmIChcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWluKSAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXgpICYmXG4gICAgICAocHJvcHMubWluLnRyaW0oKSA9PT0gJycgfHwgcHJvcHMubWF4LnRyaW0oKSA9PT0gJycpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdEYXRlUmFuZ2VFbXB0eScsXG4gICAgICAgICdEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHJhbmdlIG11c3Qgbm90IGNvbnRhaW4gZW1wdHkgc3RyaW5ncycsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGZvcm1hdFxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZvcm1hdCkpIHtcbiAgICAgIC8vIFZhbGlkYXRlIGZvcm1hdCBpcyBub3QgZW1wdHlcbiAgICAgIGlmIChwcm9wcy5mb3JtYXQudHJpbSgpID09PSAnJykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgJ0RhdGVGb3JtYXRFbXB0eScsXG4gICAgICAgICAgJ0RBVEUgcGFydGl0aW9uIHByb2plY3Rpb24gZm9ybWF0IG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgZm9ybWF0IHBhdHRlcm4gY2hhcmFjdGVycyAoSmF2YSA4IERhdGVUaW1lRm9ybWF0dGVyKVxuICAgICAgY29uc3QgdmFsaWRQYXR0ZXJuTGV0dGVycyA9ICdHeXVZRE1MZFFxd1dFZWNGYWhLa0htc1NBbk5Wek9YeFpwJztcbiAgICAgIGNvbnN0IGZvcm1hdCA9IHByb3BzLmZvcm1hdDtcbiAgICAgIGxldCBpblF1b3RlID0gZmFsc2U7XG4gICAgICBjb25zdCBpbnZhbGlkQ2hhcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoID0gZm9ybWF0W2ldO1xuICAgICAgICBpZiAoY2ggPT09IFwiJ1wiKSB7XG4gICAgICAgICAgaWYgKGkgKyAxIDwgZm9ybWF0Lmxlbmd0aCAmJiBmb3JtYXRbaSArIDFdID09PSBcIidcIikge1xuICAgICAgICAgICAgLy8gJycgaXMgYW4gZXNjYXBlZCBzaW5nbGUgcXVvdGUgbGl0ZXJhbCwgc2tpcCBib3RoXG4gICAgICAgICAgICBpKys7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGluUXVvdGUgPSAhaW5RdW90ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoIWluUXVvdGUgJiYgL1thLXpBLVpdLy50ZXN0KGNoKSkge1xuICAgICAgICAgIGlmICghdmFsaWRQYXR0ZXJuTGV0dGVycy5pbmNsdWRlcyhjaCkpIHtcbiAgICAgICAgICAgIGludmFsaWRDaGFycy5wdXNoKGNoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGluUXVvdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICdEYXRlRm9ybWF0VW5jbG9zZWRRdW90ZScsXG4gICAgICAgICAgYERBVEUgcGFydGl0aW9uIHByb2plY3Rpb24gZm9ybWF0IGhhcyBhbiB1bmNsb3NlZCBzaW5nbGUgcXVvdGU6ICcke2Zvcm1hdH0nYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGludmFsaWRDaGFycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuaXF1ZSA9IFsuLi5uZXcgU2V0KGludmFsaWRDaGFycyldO1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgJ0RhdGVGb3JtYXRJbnZhbGlkQ2hhcmFjdGVycycsXG4gICAgICAgICAgYERBVEUgcGFydGl0aW9uIHByb2plY3Rpb24gZm9ybWF0IGNvbnRhaW5zIGludmFsaWQgcGF0dGVybiBjaGFyYWN0ZXJzOiAke3VuaXF1ZS5qb2luKCcsICcpfS4gTXVzdCB1c2UgSmF2YSBEYXRlVGltZUZvcm1hdHRlciB2YWxpZCBwYXR0ZXJuIGxldHRlcnMuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBpbnRlcnZhbFxuICAgIGlmIChcbiAgICAgIHByb3BzLmludGVydmFsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaW50ZXJ2YWwpICYmXG4gICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMuaW50ZXJ2YWwpIHx8IHByb3BzLmludGVydmFsIDw9IDApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICdEYXRlSW50ZXJ2YWxJbnZhbGlkJyxcbiAgICAgICAgYERBVEUgcGFydGl0aW9uIHByb2plY3Rpb24gaW50ZXJ2YWwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIGJ1dCBnb3QgJHtwcm9wcy5pbnRlcnZhbH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uKHtcbiAgICAgIHR5cGU6IFBhcnRpdGlvblByb2plY3Rpb25UeXBlLkRBVEUsXG4gICAgICBkYXRlUmFuZ2U6IFtwcm9wcy5taW4sIHByb3BzLm1heF0sXG4gICAgICBpbnRlcnZhbDogcHJvcHMuaW50ZXJ2YWwsXG4gICAgICBmb3JtYXQ6IHByb3BzLmZvcm1hdCxcbiAgICAgIGludGVydmFsVW5pdDogcHJvcHMuaW50ZXJ2YWxVbml0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBFTlVNIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGVudW0ocHJvcHM6IEVudW1QYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzKTogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAgIC8vIFZhbGlkYXRlIHZhbHVlcyBpcyBub3QgZW1wdHlcbiAgICBpZiAocHJvcHMudmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAnRW51bVZhbHVlc0VtcHR5JyxcbiAgICAgICAgJ0VOVU0gcGFydGl0aW9uIHByb2plY3Rpb24gdmFsdWVzIG11c3QgYmUgYSBub24tZW1wdHkgYXJyYXknLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLnZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgdmFsdWUgPSBwcm9wcy52YWx1ZXNbaV07XG4gICAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZCh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKHZhbHVlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICAnRW51bVZhbHVlRW1wdHknLFxuICAgICAgICAgICAgJ0VOVU0gcGFydGl0aW9uIHByb2plY3Rpb24gdmFsdWVzIG11c3Qgbm90IGNvbnRhaW4gZW1wdHkgc3RyaW5ncycsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJywnKSkge1xuICAgICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAgICdFbnVtVmFsdWVDb250YWluc0NvbW1hJyxcbiAgICAgICAgICAgIGBFTlVNIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHZhbHVlcyBtdXN0IG5vdCBjb250YWluIGNvbW1hcyBiZWNhdXNlIHRoZSB2YWx1ZXMgYXJlIHNlcmlhbGl6ZWQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgZ290OiAnJHt2YWx1ZX0nYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvbih7XG4gICAgICB0eXBlOiBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5FTlVNLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIElOSkVDVEVEIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIFBhcnRpdGlvbiB2YWx1ZXMgYXJlIGluamVjdGVkIGF0IHF1ZXJ5IHRpbWUgdGhyb3VnaCB0aGUgcXVlcnkgc3RhdGVtZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdGhlbmEvbGF0ZXN0L3VnL3BhcnRpdGlvbi1wcm9qZWN0aW9uLXN1cHBvcnRlZC10eXBlcy5odG1sI3BhcnRpdGlvbi1wcm9qZWN0aW9uLWluamVjdGVkLXR5cGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW5qZWN0ZWQoKTogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24oe1xuICAgICAgdHlwZTogUGFydGl0aW9uUHJvamVjdGlvblR5cGUuSU5KRUNURUQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcGFydGl0aW9uIHByb2plY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogUGFydGl0aW9uUHJvamVjdGlvblR5cGU7XG5cbiAgLyoqXG4gICAqIFJhbmdlIG9mIHBhcnRpdGlvbiB2YWx1ZXMgZm9yIElOVEVHRVIgdHlwZS5cbiAgICpcbiAgICogQXJyYXkgb2YgW21pbiwgbWF4XSBhcyBudW1iZXJzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGludGVnZXJSYW5nZT86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBSYW5nZSBvZiBwYXJ0aXRpb24gdmFsdWVzIGZvciBEQVRFIHR5cGUuXG4gICAqXG4gICAqIEFycmF5IG9mIFtzdGFydCwgZW5kXSBhcyBkYXRlIHN0cmluZ3MuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZVJhbmdlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludGVydmFsIGJldHdlZW4gcGFydGl0aW9uIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGRpZ2l0cyB0byBwYWQgSU5URUdFUiBwYXJ0aXRpb24gdmFsdWVzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpZ2l0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogRGF0ZSBmb3JtYXQgZm9yIERBVEUgcGFydGl0aW9uIHZhbHVlcyAoSmF2YSBTaW1wbGVEYXRlRm9ybWF0KS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmb3JtYXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVuaXQgZm9yIERBVEUgcGFydGl0aW9uIGludGVydmFsLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGludGVydmFsVW5pdD86IERhdGVJbnRlcnZhbFVuaXQ7XG5cbiAgLyoqXG4gICAqIEV4cGxpY2l0IGxpc3Qgb2YgdmFsdWVzIGZvciBFTlVNIHBhcnRpdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWVzPzogc3RyaW5nW107XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcm9wczogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcykge1xuICAgIHRoaXMudHlwZSA9IHByb3BzLnR5cGU7XG4gICAgdGhpcy5pbnRlZ2VyUmFuZ2UgPSBwcm9wcy5pbnRlZ2VyUmFuZ2U7XG4gICAgdGhpcy5kYXRlUmFuZ2UgPSBwcm9wcy5kYXRlUmFuZ2U7XG4gICAgdGhpcy5pbnRlcnZhbCA9IHByb3BzLmludGVydmFsO1xuICAgIHRoaXMuZGlnaXRzID0gcHJvcHMuZGlnaXRzO1xuICAgIHRoaXMuZm9ybWF0ID0gcHJvcHMuZm9ybWF0O1xuICAgIHRoaXMuaW50ZXJ2YWxVbml0ID0gcHJvcHMuaW50ZXJ2YWxVbml0O1xuICAgIHRoaXMudmFsdWVzID0gcHJvcHMudmFsdWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlcnMgQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyBmb3IgdGhpcyBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29sdW1uTmFtZSAtIFRoZSBwYXJ0aXRpb24gY29sdW1uIG5hbWVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3JlbmRlclBhcmFtZXRlcnMoY29sdW1uTmFtZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgICAgW2Bwcm9qZWN0aW9uLiR7Y29sdW1uTmFtZX0udHlwZWBdOiB0aGlzLnR5cGUsXG4gICAgfTtcblxuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFBhcnRpdGlvblByb2plY3Rpb25UeXBlLklOVEVHRVI6IHtcbiAgICAgICAgY29uc3QgW21pbiwgbWF4XSA9IHRoaXMuaW50ZWdlclJhbmdlITtcbiAgICAgICAgcGFyYW1zW2Bwcm9qZWN0aW9uLiR7Y29sdW1uTmFtZX0ucmFuZ2VgXSA9IGAke21pbn0sJHttYXh9YDtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LmludGVydmFsYF0gPSB0aGlzLmludGVydmFsLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlnaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS5kaWdpdHNgXSA9IHRoaXMuZGlnaXRzLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFBhcnRpdGlvblByb2plY3Rpb25UeXBlLkRBVEU6IHtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5kYXRlUmFuZ2UhO1xuICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS5yYW5nZWBdID0gYCR7c3RhcnR9LCR7ZW5kfWA7XG4gICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LmZvcm1hdGBdID0gdGhpcy5mb3JtYXQhO1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcGFyYW1zW2Bwcm9qZWN0aW9uLiR7Y29sdW1uTmFtZX0uaW50ZXJ2YWxgXSA9IHRoaXMuaW50ZXJ2YWwudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbFVuaXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LmludGVydmFsLnVuaXRgXSA9IHRoaXMuaW50ZXJ2YWxVbml0O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5FTlVNOiB7XG4gICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LnZhbHVlc2BdID0gdGhpcy52YWx1ZXMhLmpvaW4oJywnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFBhcnRpdGlvblByb2plY3Rpb25UeXBlLklOSkVDVEVEOiB7XG4gICAgICAgIC8vIElOSkVDVEVEIGhhcyBubyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIC8vIFR5cGVTY3JpcHQgZXhoYXVzdGl2ZW5lc3MgY2hlY2tcbiAgICAgICAgY29uc3QgZXhoYXVzdGl2ZUNoZWNrOiBuZXZlciA9IHRoaXMudHlwZTtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICdVbmtub3duUHJvamVjdGlvblR5cGUnLFxuICAgICAgICAgIGBVbmtub3duIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHR5cGUgZm9yIFwiJHtjb2x1bW5OYW1lfVwiOiAke2V4aGF1c3RpdmVDaGVja31gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIHRhYmxlLlxuICpcbiAqIE1hcHMgcGFydGl0aW9uIGNvbHVtbiBuYW1lcyB0byB0aGVpciBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb25zLlxuICogVGhlIGtleSBpcyB0aGUgcGFydGl0aW9uIGNvbHVtbiBuYW1lLCB0aGUgdmFsdWUgaXMgdGhlIHBhcnRpdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBQYXJ0aXRpb25Qcm9qZWN0aW9uID0ge1xuICBbY29sdW1uTmFtZTogc3RyaW5nXTogUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb247XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBDbG91ZEZvcm1hdGlvbiBwYXJhbWV0ZXJzIGZvciBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICpcbiAqIEBwYXJhbSBjb2x1bW5OYW1lIC0gVGhlIHBhcnRpdGlvbiBjb2x1bW4gbmFtZVxuICogQHBhcmFtIGNvbmZpZyAtIFRoZSBwYXJ0aXRpb24gY29uZmlndXJhdGlvblxuICogQHJldHVybnMgQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVQYXJ0aXRpb25Qcm9qZWN0aW9uUGFyYW1ldGVycyhcbiAgY29sdW1uTmFtZTogc3RyaW5nLFxuICBjb25maWc6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uLFxuKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gIHJldHVybiBjb25maWcuX3JlbmRlclBhcmFtZXRlcnMoY29sdW1uTmFtZSk7XG59XG4iXX0=
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGl0aW9uLXByb2plY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYXJ0aXRpb24tcHJvamVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFtaUJBLHNGQUtDOzs7QUF4aUJELDZDQUE2RDtBQUM3RCw0RUFBNEQ7QUFFNUQ7Ozs7OztHQU1HO0FBQ0gsSUFBWSx1QkFvQlg7QUFwQkQsV0FBWSx1QkFBdUI7SUFDakM7O09BRUc7SUFDSCw4Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILHdDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILHdDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILGdEQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFwQlcsdUJBQXVCLHVDQUF2Qix1QkFBdUIsUUFvQmxDO0FBRUQ7Ozs7R0FJRztBQUNILElBQVksZ0JBbUNYO0FBbkNELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsbUNBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gscUNBQWlCLENBQUE7SUFFakI7O09BRUc7SUFDSCxtQ0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCxpQ0FBYSxDQUFBO0lBRWI7O09BRUc7SUFDSCxtQ0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCx1Q0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILHVDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFuQ1csZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFtQzNCO0FBMEpEOztHQUVHO0FBQ0gsTUFBYSxnQ0FBZ0M7O0lBQzNDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFtRDs7Ozs7Ozs7OztRQUN2RSxnQ0FBZ0M7UUFDaEMsSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFNLENB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LENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuRSxNQUFNO1lBQ1IsQ0FBQztZQUNELEtBQUssdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDdEMsd0NBQXdDO2dCQUN4QyxNQUFNO1lBQ1IsQ0FBQztZQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ1Isa0NBQWtDO2dCQUNsQyxNQUFNLGVBQWUsR0FBVSxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUN6QyxNQUFNLElBQUkscUNBQXVCLENBQy9CLElBQUEsc0JBQUcsRUFBQSx1QkFBdUIsRUFDMUIsMENBQTBDLFVBQVUsTUFBTSxlQUFlLEVBQUUsQ0FDNUUsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7S0FDZjs7QUExU0gsNEVBMlNDO0FBWUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IscUNBQXFDLENBQ25ELFVBQWtCLEVBQ2xCLE1BQXdDO0lBRXhDLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2tlbiwgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcblxuLyoqXG4gKiBQYXJ0aXRpb24gcHJvamVjdGlvbiB0eXBlLlxuICpcbiAqIERldGVybWluZXMgaG93IEF0aGVuYSBwcm9qZWN0cyBwYXJ0aXRpb24gdmFsdWVzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvcGFydGl0aW9uLXByb2plY3Rpb24tc3VwcG9ydGVkLXR5cGVzLmh0bWxcbiAqL1xuZXhwb3J0IGVudW0gUGFydGl0aW9uUHJvamVjdGlvblR5cGUge1xuICAvKipcbiAgICogUHJvamVjdCBwYXJ0aXRpb24gdmFsdWVzIGFzIGludGVnZXJzIHdpdGhpbiBhIHJhbmdlLlxuICAgKi9cbiAgSU5URUdFUiA9ICdpbnRlZ2VyJyxcblxuICAvKipcbiAgICogUHJvamVjdCBwYXJ0aXRpb24gdmFsdWVzIGFzIGRhdGVzIHdpdGhpbiBhIHJhbmdlLlxuICAgKi9cbiAgREFURSA9ICdkYXRlJyxcblxuICAvKipcbiAgICogUHJvamVjdCBwYXJ0aXRpb24gdmFsdWVzIGZyb20gYW4gZXhwbGljaXQgbGlzdCBvZiB2YWx1ZXMuXG4gICAqL1xuICBFTlVNID0gJ2VudW0nLFxuXG4gIC8qKlxuICAgKiBQcm9qZWN0IHBhcnRpdGlvbiB2YWx1ZXMgdGhhdCBhcmUgaW5qZWN0ZWQgYXQgcXVlcnkgdGltZS5cbiAgICovXG4gIElOSkVDVEVEID0gJ2luamVjdGVkJyxcbn1cblxuLyoqXG4gKiBEYXRlIGludGVydmFsIHVuaXQgZm9yIHBhcnRpdGlvbiBwcm9qZWN0aW9uLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2F0aGVuYS9sYXRlc3QvdWcvcGFydGl0aW9uLXByb2plY3Rpb24tc3VwcG9ydGVkLXR5cGVzLmh0bWwjcGFydGl0aW9uLXByb2plY3Rpb24tZGF0ZS10eXBlXG4gKi9cbmV4cG9ydCBlbnVtIERhdGVJbnRlcnZhbFVuaXQge1xuICAvKipcbiAgICogWWVhciBpbnRlcnZhbC5cbiAgICovXG4gIFlFQVJTID0gJ1lFQVJTJyxcblxuICAvKipcbiAgICogTW9udGggaW50ZXJ2YWwuXG4gICAqL1xuICBNT05USFMgPSAnTU9OVEhTJyxcblxuICAvKipcbiAgICogV2VlayBpbnRlcnZhbC5cbiAgICovXG4gIFdFRUtTID0gJ1dFRUtTJyxcblxuICAvKipcbiAgICogRGF5IGludGVydmFsIChkZWZhdWx0KS5cbiAgICovXG4gIERBWVMgPSAnREFZUycsXG5cbiAgLyoqXG4gICAqIEhvdXIgaW50ZXJ2YWwuXG4gICAqL1xuICBIT1VSUyA9ICdIT1VSUycsXG5cbiAgLyoqXG4gICAqIE1pbnV0ZSBpbnRlcnZhbC5cbiAgICovXG4gIE1JTlVURVMgPSAnTUlOVVRFUycsXG5cbiAgLyoqXG4gICAqIFNlY29uZCBpbnRlcnZhbC5cbiAgICovXG4gIFNFQ09ORFMgPSAnU0VDT05EUycsXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgSU5URUdFUiBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVnZXJQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIE1pbmltdW0gdmFsdWUgZm9yIHRoZSBpbnRlZ2VyIHBhcnRpdGlvbiByYW5nZSAoaW5jbHVzaXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IG1pbjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHZhbHVlIGZvciB0aGUgaW50ZWdlciBwYXJ0aXRpb24gcmFuZ2UgKGluY2x1c2l2ZSkuXG4gICAqL1xuICByZWFkb25seSBtYXg6IG51bWJlcjtcblxuICAvKipcbiAgICogSW50ZXJ2YWwgYmV0d2VlbiBwYXJ0aXRpb24gdmFsdWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGRpZ2l0cyB0byBwYWQgdGhlIHBhcnRpdGlvbiB2YWx1ZSB3aXRoIGxlYWRpbmcgemVyb3MuXG4gICAqXG4gICAqIFdpdGggZGlnaXRzOiA0LCBwYXJ0aXRpb24gdmFsdWVzOiAwMDAxLCAwMDAyLCAuLi4sIDAxMDBcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzdGF0aWMgbnVtYmVyIG9mIGRpZ2l0cyBhbmQgbm8gbGVhZGluZyB6ZXJvZXNcbiAgICovXG4gIHJlYWRvbmx5IGRpZ2l0cz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogU3RhcnQgZGF0ZSBmb3IgdGhlIHBhcnRpdGlvbiByYW5nZSAoaW5jbHVzaXZlKS5cbiAgICpcbiAgICogQ2FuIGJlIGVpdGhlcjpcbiAgICogLSBGaXhlZCBkYXRlIGluIHRoZSBmb3JtYXQgc3BlY2lmaWVkIGJ5IGBmb3JtYXRgIHByb3BlcnR5XG4gICAqICAgKGUuZy4sICcyMDIwLTAxLTAxJyBmb3IgZm9ybWF0ICd5eXl5LU1NLWRkJylcbiAgICogLSBSZWxhdGl2ZSBkYXRlIHVzaW5nIE5PVyBzeW50YXhcbiAgICogICAoZS5nLiwgJ05PVycsICdOT1ctM1lFQVJTJywgJ05PVysxTU9OVEgnKVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hdGhlbmEvbGF0ZXN0L3VnL3BhcnRpdGlvbi1wcm9qZWN0aW9uLXN1cHBvcnRlZC10eXBlcy5odG1sI3BhcnRpdGlvbi1wcm9qZWN0aW9uLWRhdGUtdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgbWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuZCBkYXRlIGZvciB0aGUgcGFydGl0aW9uIHJhbmdlIChpbmNsdXNpdmUpLlxuICAgKlxuICAgKiBDYW4gYmUgZWl0aGVyOlxuICAgKiAtIEZpeGVkIGRhdGUgaW4gdGhlIGZvcm1hdCBzcGVjaWZpZWQgYnkgYGZvcm1hdGAgcHJvcGVydHlcbiAgICogLSBSZWxhdGl2ZSBkYXRlIHVzaW5nIE5PVyBzeW50YXhcbiAgICpcbiAgICogU2FtZSBmb3JtYXQgY29uc3RyYWludHMgYXMgYG1pbmAuXG4gICAqL1xuICByZWFkb25seSBtYXg6IHN0cmluZztcblxuICAvKipcbiAgICogRGF0ZSBmb3JtYXQgZm9yIHBhcnRpdGlvbiB2YWx1ZXMuXG4gICAqXG4gICAqIFVzZXMgSmF2YSBTaW1wbGVEYXRlRm9ybWF0IHBhdHRlcm5zLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5vcmFjbGUuY29tL2phdmFzZS84L2RvY3MvYXBpL2phdmEvdGV4dC9TaW1wbGVEYXRlRm9ybWF0Lmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGZvcm1hdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHBhcnRpdGlvbiB2YWx1ZXMuXG4gICAqXG4gICAqIFdoZW4gdGhlIHByb3ZpZGVkIGRhdGVzIGFyZSBhdCBzaW5nbGUtZGF5IG9yIHNpbmdsZS1tb250aCBwcmVjaXNpb24sXG4gICAqIHRoZSBpbnRlcnZhbCBpcyBvcHRpb25hbCBhbmQgZGVmYXVsdHMgdG8gMSBkYXkgb3IgMSBtb250aCwgcmVzcGVjdGl2ZWx5LlxuICAgKiBPdGhlcndpc2UsIGludGVydmFsIGlzIHJlcXVpcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDEgZm9yIHNpbmdsZS1kYXkgb3Igc2luZ2xlLW1vbnRoIHByZWNpc2lvbiwgb3RoZXJ3aXNlIHJlcXVpcmVkXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbD86IG51bWJlcjtcblxuICAvKipcbiAgICogVW5pdCBmb3IgdGhlIGludGVydmFsLlxuICAgKlxuICAgKiBXaGVuIHRoZSBwcm92aWRlZCBkYXRlcyBhcmUgYXQgc2luZ2xlLWRheSBvciBzaW5nbGUtbW9udGggcHJlY2lzaW9uLFxuICAgKiB0aGUgaW50ZXJ2YWxVbml0IGlzIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byAxIGRheSBvciAxIG1vbnRoLCByZXNwZWN0aXZlbHkuXG4gICAqIE90aGVyd2lzZSwgdGhlIGludGVydmFsVW5pdCBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEQVlTIGZvciBzaW5nbGUtZGF5IHByZWNpc2lvbiwgTU9OVEhTIGZvciBzaW5nbGUtbW9udGggcHJlY2lzaW9uLCBvdGhlcndpc2UgcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsVW5pdD86IERhdGVJbnRlcnZhbFVuaXQ7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRU5VTSBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudW1QYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIEV4cGxpY2l0IGxpc3Qgb2YgcGFydGl0aW9uIHZhbHVlcy5cbiAgICpcbiAgICogQGV4YW1wbGUgWyd1cy1lYXN0LTEnLCAndXMtd2VzdC0yJywgJ2V1LXdlc3QtMSddXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEludGVybmFsIHByb3BlcnRpZXMgZm9yIFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uLlxuICovXG5pbnRlcmZhY2UgUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwYXJ0aXRpb24gcHJvamVjdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGU6IFBhcnRpdGlvblByb2plY3Rpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBSYW5nZSBvZiBwYXJ0aXRpb24gdmFsdWVzIGZvciBJTlRFR0VSIHR5cGUuXG4gICAqXG4gICAqIEFycmF5IG9mIFttaW4sIG1heF0gYXMgbnVtYmVycy5cbiAgICovXG4gIHJlYWRvbmx5IGludGVnZXJSYW5nZT86IG51bWJlcltdO1xuXG4gIC8qKlxuICAgKiBSYW5nZSBvZiBwYXJ0aXRpb24gdmFsdWVzIGZvciBEQVRFIHR5cGUuXG4gICAqXG4gICAqIEFycmF5IG9mIFtzdGFydCwgZW5kXSBhcyBkYXRlIHN0cmluZ3MuXG4gICAqL1xuICByZWFkb25seSBkYXRlUmFuZ2U/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSW50ZXJ2YWwgYmV0d2VlbiBwYXJ0aXRpb24gdmFsdWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBkaWdpdHMgdG8gcGFkIElOVEVHRVIgcGFydGl0aW9uIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IGRpZ2l0cz86IG51bWJlcjtcblxuICAvKipcbiAgICogRGF0ZSBmb3JtYXQgZm9yIERBVEUgcGFydGl0aW9uIHZhbHVlcyAoSmF2YSBTaW1wbGVEYXRlRm9ybWF0KS5cbiAgICovXG4gIHJlYWRvbmx5IGZvcm1hdD86IHN0cmluZztcblxuICAvKipcbiAgICogVW5pdCBmb3IgREFURSBwYXJ0aXRpb24gaW50ZXJ2YWwuXG4gICAqL1xuICByZWFkb25seSBpbnRlcnZhbFVuaXQ/OiBEYXRlSW50ZXJ2YWxVbml0O1xuXG4gIC8qKlxuICAgKiBFeHBsaWNpdCBsaXN0IG9mIHZhbHVlcyBmb3IgRU5VTSBwYXJ0aXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogRmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gSU5URUdFUiBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnRlZ2VyKHByb3BzOiBJbnRlZ2VyUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcyk6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uIHtcbiAgICAvLyBWYWxpZGF0ZSBtaW4vbWF4IGFyZSBpbnRlZ2Vyc1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLm1pbikgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXgpKSB7XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubWluKSB8fCAhTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5tYXgpKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgSW50ZWdlclJhbmdlTm90SW50ZWdlcnNgLFxuICAgICAgICAgIGBJTlRFR0VSIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHJhbmdlIG11c3QgY29udGFpbiBpbnRlZ2VycywgYnV0IGdvdCBbJHtwcm9wcy5taW59LCAke3Byb3BzLm1heH1dYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgbWluIDw9IG1heFxuICAgICAgaWYgKHByb3BzLm1pbiA+IHByb3BzLm1heCkge1xuICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgbGl0YEludGVnZXJSYW5nZU1pbkdyZWF0ZXJUaGFuTWF4YCxcbiAgICAgICAgICBgSU5URUdFUiBwYXJ0aXRpb24gcHJvamVjdGlvbiByYW5nZSBtdXN0IGJlIFttaW4sIG1heF0gd2hlcmUgbWluIDw9IG1heCwgYnV0IGdvdCBbJHtwcm9wcy5taW59LCAke3Byb3BzLm1heH1dYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBpbnRlcnZhbFxuICAgIGlmIChcbiAgICAgIHByb3BzLmludGVydmFsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuaW50ZXJ2YWwpICYmXG4gICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMuaW50ZXJ2YWwpIHx8IHByb3BzLmludGVydmFsIDw9IDApXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGxpdGBJbnRlZ2VySW50ZXJ2YWxJbnZhbGlkYCxcbiAgICAgICAgYElOVEVHRVIgcGFydGl0aW9uIHByb2plY3Rpb24gaW50ZXJ2YWwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIGJ1dCBnb3QgJHtwcm9wcy5pbnRlcnZhbH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBkaWdpdHNcbiAgICBpZiAoXG4gICAgICBwcm9wcy5kaWdpdHMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kaWdpdHMpICYmXG4gICAgICAoIU51bWJlci5pc0ludGVnZXIocHJvcHMuZGlnaXRzKSB8fCBwcm9wcy5kaWdpdHMgPCAxKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgSW50ZWdlckRpZ2l0c0ludmFsaWRgLFxuICAgICAgICBgSU5URUdFUiBwYXJ0aXRpb24gcHJvamVjdGlvbiBkaWdpdHMgbXVzdCBiZSBhbiBpbnRlZ2VyID49IDEsIGJ1dCBnb3QgJHtwcm9wcy5kaWdpdHN9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvbih7XG4gICAgICB0eXBlOiBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5JTlRFR0VSLFxuICAgICAgaW50ZWdlclJhbmdlOiBbcHJvcHMubWluLCBwcm9wcy5tYXhdLFxuICAgICAgaW50ZXJ2YWw6IHByb3BzLmludGVydmFsLFxuICAgICAgZGlnaXRzOiBwcm9wcy5kaWdpdHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgREFURSBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkYXRlKHByb3BzOiBEYXRlUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcyk6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uIHtcbiAgICAvLyBWYWxpZGF0ZSBtaW4vbWF4IGFyZSBub3QgZW1wdHlcbiAgICBpZiAoXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLm1pbikgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWF4KSAmJlxuICAgICAgKHByb3BzLm1pbi50cmltKCkgPT09ICcnIHx8IHByb3BzLm1heC50cmltKCkgPT09ICcnKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgRGF0ZVJhbmdlRW1wdHlgLFxuICAgICAgICAnREFURSBwYXJ0aXRpb24gcHJvamVjdGlvbiByYW5nZSBtdXN0IG5vdCBjb250YWluIGVtcHR5IHN0cmluZ3MnLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBmb3JtYXRcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5mb3JtYXQpKSB7XG4gICAgICAvLyBWYWxpZGF0ZSBmb3JtYXQgaXMgbm90IGVtcHR5XG4gICAgICBpZiAocHJvcHMuZm9ybWF0LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGxpdGBEYXRlRm9ybWF0RW1wdHlgLFxuICAgICAgICAgICdEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGZvcm1hdCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIGZvcm1hdCBwYXR0ZXJuIGNoYXJhY3RlcnMgKEphdmEgOCBEYXRlVGltZUZvcm1hdHRlcilcbiAgICAgIGNvbnN0IHZhbGlkUGF0dGVybkxldHRlcnMgPSAnR3l1WURNTGRRcXdXRWVjRmFoS2tIbXNTQW5OVnpPWHhacCc7XG4gICAgICBjb25zdCBmb3JtYXQgPSBwcm9wcy5mb3JtYXQ7XG4gICAgICBsZXQgaW5RdW90ZSA9IGZhbHNlO1xuICAgICAgY29uc3QgaW52YWxpZENoYXJzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaCA9IGZvcm1hdFtpXTtcbiAgICAgICAgaWYgKGNoID09PSBcIidcIikge1xuICAgICAgICAgIGlmIChpICsgMSA8IGZvcm1hdC5sZW5ndGggJiYgZm9ybWF0W2kgKyAxXSA9PT0gXCInXCIpIHtcbiAgICAgICAgICAgIC8vICcnIGlzIGFuIGVzY2FwZWQgc2luZ2xlIHF1b3RlIGxpdGVyYWwsIHNraXAgYm90aFxuICAgICAgICAgICAgaSsrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpblF1b3RlID0gIWluUXVvdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKCFpblF1b3RlICYmIC9bYS16QS1aXS8udGVzdChjaCkpIHtcbiAgICAgICAgICBpZiAoIXZhbGlkUGF0dGVybkxldHRlcnMuaW5jbHVkZXMoY2gpKSB7XG4gICAgICAgICAgICBpbnZhbGlkQ2hhcnMucHVzaChjaCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpblF1b3RlKSB7XG4gICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgRGF0ZUZvcm1hdFVuY2xvc2VkUXVvdGVgLFxuICAgICAgICAgIGBEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGZvcm1hdCBoYXMgYW4gdW5jbG9zZWQgc2luZ2xlIHF1b3RlOiAnJHtmb3JtYXR9J2AsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnZhbGlkQ2hhcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCB1bmlxdWUgPSBbLi4ubmV3IFNldChpbnZhbGlkQ2hhcnMpXTtcbiAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIGxpdGBEYXRlRm9ybWF0SW52YWxpZENoYXJhY3RlcnNgLFxuICAgICAgICAgIGBEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGZvcm1hdCBjb250YWlucyBpbnZhbGlkIHBhdHRlcm4gY2hhcmFjdGVyczogJHt1bmlxdWUuam9pbignLCAnKX0uIE11c3QgdXNlIEphdmEgRGF0ZVRpbWVGb3JtYXR0ZXIgdmFsaWQgcGF0dGVybiBsZXR0ZXJzLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgaW50ZXJ2YWxcbiAgICBpZiAoXG4gICAgICBwcm9wcy5pbnRlcnZhbCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmludGVydmFsKSAmJlxuICAgICAgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLmludGVydmFsKSB8fCBwcm9wcy5pbnRlcnZhbCA8PSAwKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBsaXRgRGF0ZUludGVydmFsSW52YWxpZGAsXG4gICAgICAgIGBEQVRFIHBhcnRpdGlvbiBwcm9qZWN0aW9uIGludGVydmFsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBidXQgZ290ICR7cHJvcHMuaW50ZXJ2YWx9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvbih7XG4gICAgICB0eXBlOiBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5EQVRFLFxuICAgICAgZGF0ZVJhbmdlOiBbcHJvcHMubWluLCBwcm9wcy5tYXhdLFxuICAgICAgaW50ZXJ2YWw6IHByb3BzLmludGVydmFsLFxuICAgICAgZm9ybWF0OiBwcm9wcy5mb3JtYXQsXG4gICAgICBpbnRlcnZhbFVuaXQ6IHByb3BzLmludGVydmFsVW5pdCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gRU5VTSBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbnVtKHByb3BzOiBFbnVtUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb25Qcm9wcyk6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uIHtcbiAgICAvLyBWYWxpZGF0ZSB2YWx1ZXMgaXMgbm90IGVtcHR5XG4gICAgaWYgKHByb3BzLnZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YEVudW1WYWx1ZXNFbXB0eWAsXG4gICAgICAgICdFTlVNIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHZhbHVlcyBtdXN0IGJlIGEgbm9uLWVtcHR5IGFycmF5JyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy52YWx1ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcHJvcHMudmFsdWVzW2ldO1xuICAgICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQodmFsdWUpKSB7XG4gICAgICAgIGlmICh2YWx1ZS50cmltKCkgPT09ICcnKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgICAgbGl0YEVudW1WYWx1ZUVtcHR5YCxcbiAgICAgICAgICAgICdFTlVNIHBhcnRpdGlvbiBwcm9qZWN0aW9uIHZhbHVlcyBtdXN0IG5vdCBjb250YWluIGVtcHR5IHN0cmluZ3MnLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCcsJykpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICBsaXRgRW51bVZhbHVlQ29udGFpbnNDb21tYWAsXG4gICAgICAgICAgICBgRU5VTSBwYXJ0aXRpb24gcHJvamVjdGlvbiB2YWx1ZXMgbXVzdCBub3QgY29udGFpbiBjb21tYXMgYmVjYXVzZSB0aGUgdmFsdWVzIGFyZSBzZXJpYWxpemVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIGdvdDogJyR7dmFsdWV9J2AsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUGFydGl0aW9uUHJvamVjdGlvbkNvbmZpZ3VyYXRpb24oe1xuICAgICAgdHlwZTogUGFydGl0aW9uUHJvamVjdGlvblR5cGUuRU5VTSxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBJTkpFQ1RFRCBwYXJ0aXRpb24gcHJvamVjdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBQYXJ0aXRpb24gdmFsdWVzIGFyZSBpbmplY3RlZCBhdCBxdWVyeSB0aW1lIHRocm91Z2ggdGhlIHF1ZXJ5IHN0YXRlbWVudC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXRoZW5hL2xhdGVzdC91Zy9wYXJ0aXRpb24tcHJvamVjdGlvbi1zdXBwb3J0ZWQtdHlwZXMuaHRtbCNwYXJ0aXRpb24tcHJvamVjdGlvbi1pbmplY3RlZC10eXBlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGluamVjdGVkKCk6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uKHtcbiAgICAgIHR5cGU6IFBhcnRpdGlvblByb2plY3Rpb25UeXBlLklOSkVDVEVELFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHBhcnRpdGlvbiBwcm9qZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IFBhcnRpdGlvblByb2plY3Rpb25UeXBlO1xuXG4gIC8qKlxuICAgKiBSYW5nZSBvZiBwYXJ0aXRpb24gdmFsdWVzIGZvciBJTlRFR0VSIHR5cGUuXG4gICAqXG4gICAqIEFycmF5IG9mIFttaW4sIG1heF0gYXMgbnVtYmVycy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlZ2VyUmFuZ2U/OiBudW1iZXJbXTtcblxuICAvKipcbiAgICogUmFuZ2Ugb2YgcGFydGl0aW9uIHZhbHVlcyBmb3IgREFURSB0eXBlLlxuICAgKlxuICAgKiBBcnJheSBvZiBbc3RhcnQsIGVuZF0gYXMgZGF0ZSBzdHJpbmdzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRhdGVSYW5nZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbnRlcnZhbCBiZXR3ZWVuIHBhcnRpdGlvbiB2YWx1ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJ2YWw/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBkaWdpdHMgdG8gcGFkIElOVEVHRVIgcGFydGl0aW9uIHZhbHVlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkaWdpdHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERhdGUgZm9ybWF0IGZvciBEQVRFIHBhcnRpdGlvbiB2YWx1ZXMgKEphdmEgU2ltcGxlRGF0ZUZvcm1hdCkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbml0IGZvciBEQVRFIHBhcnRpdGlvbiBpbnRlcnZhbC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnRlcnZhbFVuaXQ/OiBEYXRlSW50ZXJ2YWxVbml0O1xuXG4gIC8qKlxuICAgKiBFeHBsaWNpdCBsaXN0IG9mIHZhbHVlcyBmb3IgRU5VTSBwYXJ0aXRpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlcz86IHN0cmluZ1tdO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJvcHM6IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uUHJvcHMpIHtcbiAgICB0aGlzLnR5cGUgPSBwcm9wcy50eXBlO1xuICAgIHRoaXMuaW50ZWdlclJhbmdlID0gcHJvcHMuaW50ZWdlclJhbmdlO1xuICAgIHRoaXMuZGF0ZVJhbmdlID0gcHJvcHMuZGF0ZVJhbmdlO1xuICAgIHRoaXMuaW50ZXJ2YWwgPSBwcm9wcy5pbnRlcnZhbDtcbiAgICB0aGlzLmRpZ2l0cyA9IHByb3BzLmRpZ2l0cztcbiAgICB0aGlzLmZvcm1hdCA9IHByb3BzLmZvcm1hdDtcbiAgICB0aGlzLmludGVydmFsVW5pdCA9IHByb3BzLmludGVydmFsVW5pdDtcbiAgICB0aGlzLnZhbHVlcyA9IHByb3BzLnZhbHVlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIENsb3VkRm9ybWF0aW9uIHBhcmFtZXRlcnMgZm9yIHRoaXMgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGNvbHVtbk5hbWUgLSBUaGUgcGFydGl0aW9uIGNvbHVtbiBuYW1lXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9yZW5kZXJQYXJhbWV0ZXJzKGNvbHVtbk5hbWU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIFtgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LnR5cGVgXTogdGhpcy50eXBlLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5JTlRFR0VSOiB7XG4gICAgICAgIGNvbnN0IFttaW4sIG1heF0gPSB0aGlzLmludGVnZXJSYW5nZSE7XG4gICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LnJhbmdlYF0gPSBgJHttaW59LCR7bWF4fWA7XG4gICAgICAgIGlmICh0aGlzLmludGVydmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS5pbnRlcnZhbGBdID0gdGhpcy5pbnRlcnZhbC50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpZ2l0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcGFyYW1zW2Bwcm9qZWN0aW9uLiR7Y29sdW1uTmFtZX0uZGlnaXRzYF0gPSB0aGlzLmRpZ2l0cy50b1N0cmluZygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5EQVRFOiB7XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMuZGF0ZVJhbmdlITtcbiAgICAgICAgcGFyYW1zW2Bwcm9qZWN0aW9uLiR7Y29sdW1uTmFtZX0ucmFuZ2VgXSA9IGAke3N0YXJ0fSwke2VuZH1gO1xuICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS5mb3JtYXRgXSA9IHRoaXMuZm9ybWF0ITtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHBhcmFtc1tgcHJvamVjdGlvbi4ke2NvbHVtbk5hbWV9LmludGVydmFsYF0gPSB0aGlzLmludGVydmFsLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxVbml0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS5pbnRlcnZhbC51bml0YF0gPSB0aGlzLmludGVydmFsVW5pdDtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgUGFydGl0aW9uUHJvamVjdGlvblR5cGUuRU5VTToge1xuICAgICAgICBwYXJhbXNbYHByb2plY3Rpb24uJHtjb2x1bW5OYW1lfS52YWx1ZXNgXSA9IHRoaXMudmFsdWVzIS5qb2luKCcsJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBQYXJ0aXRpb25Qcm9qZWN0aW9uVHlwZS5JTkpFQ1RFRDoge1xuICAgICAgICAvLyBJTkpFQ1RFRCBoYXMgbm8gYWRkaXRpb25hbCBwYXJhbWV0ZXJzXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICAvLyBUeXBlU2NyaXB0IGV4aGF1c3RpdmVuZXNzIGNoZWNrXG4gICAgICAgIGNvbnN0IGV4aGF1c3RpdmVDaGVjazogbmV2ZXIgPSB0aGlzLnR5cGU7XG4gICAgICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgVW5rbm93blByb2plY3Rpb25UeXBlYCxcbiAgICAgICAgICBgVW5rbm93biBwYXJ0aXRpb24gcHJvamVjdGlvbiB0eXBlIGZvciBcIiR7Y29sdW1uTmFtZX1cIjogJHtleGhhdXN0aXZlQ2hlY2t9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG59XG5cbi8qKlxuICogUGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbiBmb3IgYSB0YWJsZS5cbiAqXG4gKiBNYXBzIHBhcnRpdGlvbiBjb2x1bW4gbmFtZXMgdG8gdGhlaXIgcHJvamVjdGlvbiBjb25maWd1cmF0aW9ucy5cbiAqIFRoZSBrZXkgaXMgdGhlIHBhcnRpdGlvbiBjb2x1bW4gbmFtZSwgdGhlIHZhbHVlIGlzIHRoZSBwYXJ0aXRpb24gY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgUGFydGl0aW9uUHJvamVjdGlvbiA9IHtcbiAgW2NvbHVtbk5hbWU6IHN0cmluZ106IFBhcnRpdGlvblByb2plY3Rpb25Db25maWd1cmF0aW9uO1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgQ2xvdWRGb3JtYXRpb24gcGFyYW1ldGVycyBmb3IgcGFydGl0aW9uIHByb2plY3Rpb24gY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcGFyYW0gY29sdW1uTmFtZSAtIFRoZSBwYXJ0aXRpb24gY29sdW1uIG5hbWVcbiAqIEBwYXJhbSBjb25maWcgLSBUaGUgcGFydGl0aW9uIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIENsb3VkRm9ybWF0aW9uIHBhcmFtZXRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUGFydGl0aW9uUHJvamVjdGlvblBhcmFtZXRlcnMoXG4gIGNvbHVtbk5hbWU6IHN0cmluZyxcbiAgY29uZmlnOiBQYXJ0aXRpb25Qcm9qZWN0aW9uQ29uZmlndXJhdGlvbixcbik6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICByZXR1cm4gY29uZmlnLl9yZW5kZXJQYXJhbWV0ZXJzKGNvbHVtbk5hbWUpO1xufVxuIl19
|