@aws-cdk/aws-glue-alpha 2.246.0-alpha.0 → 2.248.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.
@@ -8,7 +8,7 @@ const events = require("aws-cdk-lib/aws-events");
8
8
  */
9
9
  class TriggerSchedule {
10
10
  expressionString;
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TriggerSchedule", version: "2.246.0-alpha.0" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TriggerSchedule", version: "2.248.0-alpha.0" };
12
12
  /**
13
13
  * Creates a new TriggerSchedule instance with a cron expression.
14
14
  *
@@ -50,7 +50,7 @@ const trigger_options_1 = require("./trigger-options");
50
50
  * @see https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html
51
51
  */
52
52
  class WorkflowBase extends cdk.Resource {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.246.0-alpha.0" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.248.0-alpha.0" };
54
54
  /**
55
55
  * Extract workflowName from arn
56
56
  */
@@ -238,10 +238,10 @@ class WorkflowBase extends cdk.Resource {
238
238
  renderAction(action) {
239
239
  // Validate that either job or crawler is provided, but not both
240
240
  if (!action.job && !action.crawler) {
241
- throw new cdk.ValidationError('ActionJobOrCrawlerRequired', 'You must provide either a job or a crawler for the action.', this);
241
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ActionJobOrCrawlerRequired`, 'You must provide either a job or a crawler for the action.', this);
242
242
  }
243
243
  else if (action.job && action.crawler) {
244
- throw new cdk.ValidationError('ActionJobAndCrawlerMutuallyExclusive', 'You cannot provide both a job and a crawler for the action.', this);
244
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ActionJobAndCrawlerMutuallyExclusive`, 'You cannot provide both a job and a crawler for the action.', this);
245
245
  }
246
246
  return {
247
247
  jobName: action.job?.jobName,
@@ -255,18 +255,18 @@ class WorkflowBase extends cdk.Resource {
255
255
  const conditions = props.predicate.conditions?.map(condition => {
256
256
  // Validate that either job or crawler is provided, but not both
257
257
  if (!condition.job && !condition.crawlerName) {
258
- throw new cdk.ValidationError('ConditionJobOrCrawlerRequired', 'You must provide either a job or a crawler for the condition.', this);
258
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ConditionJobOrCrawlerRequired`, 'You must provide either a job or a crawler for the condition.', this);
259
259
  }
260
260
  else if (condition.job && condition.crawlerName) {
261
- throw new cdk.ValidationError('ConditionJobAndCrawlerMutuallyExclusive', 'You cannot provide both a job and a crawler for the condition.', this);
261
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ConditionJobAndCrawlerMutuallyExclusive`, 'You cannot provide both a job and a crawler for the condition.', this);
262
262
  }
263
263
  // Validate that if job is provided, job state is also provided
264
264
  if (condition.job && !condition.state) {
265
- throw new cdk.ValidationError('ConditionJobStateRequired', 'If you provide a job for the condition, you must also provide a job state.', this);
265
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ConditionJobStateRequired`, 'If you provide a job for the condition, you must also provide a job state.', this);
266
266
  }
267
267
  // Validate that if crawler is provided, crawler state is also provided
268
268
  if (condition.crawlerName && !condition.crawlState) {
269
- throw new cdk.ValidationError('ConditionCrawlerStateRequired', 'If you provide a crawler for the condition, you must also provide a crawler state.', this);
269
+ throw new cdk.ValidationError((0, helpers_internal_1.lit) `ConditionCrawlerStateRequired`, 'If you provide a crawler for the condition, you must also provide a crawler state.', this);
270
270
  }
271
271
  return {
272
272
  logicalOperator: condition.logicalOperator ?? constants_1.ConditionLogicalOperator.EQUALS,
@@ -355,7 +355,7 @@ let Workflow = (() => {
355
355
  Workflow = _classThis = _classDescriptor.value;
356
356
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
357
357
  }
358
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.246.0-alpha.0" };
358
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.248.0-alpha.0" };
359
359
  /** Uniquely identifies this class. */
360
360
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Workflow';
361
361
  /**
@@ -430,4 +430,4 @@ let Workflow = (() => {
430
430
  return Workflow = _classThis;
431
431
  })();
432
432
  exports.Workflow = Workflow;
433
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBK0Q7QUFDL0Qsd0NBQXdDO0FBQ3hDLDRFQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDRDQUdzQjtBQVV0Qix1REFFMkI7QUEyRjNCOzs7O0dBSUc7QUFDSCxNQUFzQixZQUFhLFNBQVEsR0FBRyxDQUFDLFFBQVE7O0lBQ3JEOztPQUVHO0lBQ08sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTJCLEVBQUUsV0FBbUI7UUFDbEYsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ2pDLFdBQVcsRUFDWCxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDO0tBQ3BEO0lBS0Q7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxPQUErQjs7Ozs7Ozs7OztRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksd0JBQXdCLENBQUMsRUFBVSxFQUFFLE9BQW9DOzs7Ozs7Ozs7O1FBQzlFLE1BQU0sYUFBYSxHQUFH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UUFBUSxHQW5DTCxtREFBUSxDQW1DVztRQUU5QixZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1lBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWTthQUNsQyxDQUFDLENBQUM7Ozs7OzttREF4Q00sUUFBUTs7OztZQXlDakIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CO2dCQUNqRCxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCO2FBQzVDLENBQUMsQ0FBQztTQUNKO1FBR0QsSUFBVyxZQUFZO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFHRCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDs7WUE1RFUsdURBQVE7Ozs7O0FBQVIsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Xb3JrZmxvdywgQ2ZuVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgdHlwZSAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3IsXG4gIFByZWRpY2F0ZUxvZ2ljYWwsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGlvbixcbiAgT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyxcbiAgV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyxcbiAgRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyxcbiAgTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyxcbiAgQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyxcbn0gZnJvbSAnLi90cmlnZ2VyLW9wdGlvbnMnO1xuaW1wb3J0IHtcbiAgVHJpZ2dlclNjaGVkdWxlLFxufSBmcm9tICcuL3RyaWdnZXItb3B0aW9ucyc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW50ZXJmYWNlIGZvciBHbHVlIFdvcmtmbG93XG4gKlxuICogQHNlZSB7QGxpbmsgV29ya2Zsb3d9XG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElXb3JrZmxvdyBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvd1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRPbkRlbWFuZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBkYWlseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkV2Vla2x5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGltcG9ydGluZyBhIFdvcmtmbG93IHVzaW5nIGl0cyBhdHRyaWJ1dGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgd29ya2Zsb3cgdG8gaW1wb3J0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHRoZSB3b3JrZmxvdyBuYW1lXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBtYXAgb2YgcHJvcGVydGllcyB0byB1c2Ugd2hlbiB0aGlzIHdvcmtmbG93IGlzIGV4ZWN1dGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVmYXVsdCBydW4gcHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJ1blByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBydW5zIGFsbG93ZWQgZm9yIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpbWl0XG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW50UnVucz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNlIGFic3RyYWN0IGNsYXNzIGZvciBXb3JrZmxvd1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2Fib3V0LXRyaWdnZXJzLmh0bWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtmbG93QmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElXb3JrZmxvdyB7XG4gIC8qKlxuICAgKiBFeHRyYWN0IHdvcmtmbG93TmFtZSBmcm9tIGFyblxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyBleHRyYWN0TmFtZUZyb21Bcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCB3b3JrZmxvd0Fybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5zcGxpdEFybihcbiAgICAgIHdvcmtmbG93QXJuLFxuICAgICAgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWUhO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdPTl9ERU1BTkQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBkYWlseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYWlseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgZGFpbHlTY2hlZHVsZSA9IFRyaWdnZXJTY2hlZHVsZS5jcm9uKHtcbiAgICAgIG1pbnV0ZTogJzAnLFxuICAgICAgaG91cjogJzAnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBzY2hlZHVsZTogZGFpbHlTY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHdlZWtseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRXZWVrbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFdlZWtseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB3ZWVrbHlTY2hlZHVsZSA9IFRyaWdnZXJTY2hlZHVsZS5jcm9uKHtcbiAgICAgIG1pbnV0ZTogJzAnLFxuICAgICAgaG91cjogJzAnLFxuICAgICAgd2Vla0RheTogJ1NVTicsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiB3ZWVrbHlTY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDdXN0b21TY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBzY2hlZHVsZTogb3B0aW9ucy5zY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBFdmVudCBCcmlkZ2UgYmFzZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGROb3RpZnlFdmVudFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnRVZFTlQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBldmVudEJhdGNoaW5nQ29uZGl0aW9uOiB0aGlzLnJlbmRlckV2ZW50QmF0Y2hpbmdDb25kaXRpb24ob3B0aW9ucyksXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBDb25kaXRpb24gKFByZWRpY2F0ZSkgYmFzZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZCBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHRocm93cyBJZiBhIGpvYiBpcyBwcm92aWRlZCB3aXRob3V0IGEgam9iIHN0YXRlLCBvciBpZiBhIGNyYXdsZXIgaXMgcHJvdmlkZWQgd2l0aG91dCBhIGNyYXdsZXIgc3RhdGUgZm9yIGFueSBjb25kaXRpb24uXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkQ29uZGl0aW9uYWxUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IENvbmRpdGlvbmFsVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ0NPTkRJVElPTkFMJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgcHJlZGljYXRlOiB0aGlzLnJlbmRlclByZWRpY2F0ZShvcHRpb25zKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBDZm5UcmlnZ2VyLkFjdGlvblByb3BlcnR5IHtcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgaWYgKCFhY3Rpb24uam9iICYmICFhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0FjdGlvbkpvYk9yQ3Jhd2xlclJlcXVpcmVkJywgJ1lvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIGEgam9iIG9yIGEgY3Jhd2xlciBmb3IgdGhlIGFjdGlvbi4nLCB0aGlzKTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi5qb2IgJiYgYWN0aW9uLmNyYXdsZXIpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdBY3Rpb25Kb2JBbmRDcmF3bGVyTXV0dWFsbHlFeGNsdXNpdmUnLCAnWW91IGNhbm5vdCBwcm92aWRlIGJvdGggYSBqb2IgYW5kIGEgY3Jhd2xlciBmb3IgdGhlIGFjdGlvbi4nLCB0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgam9iTmFtZTogYWN0aW9uLmpvYj8uam9iTmFtZSxcbiAgICAgIGFyZ3VtZW50czogYWN0aW9uLmFyZ3VtZW50cyxcbiAgICAgIHRpbWVvdXQ6IGFjdGlvbi50aW1lb3V0Py50b01pbnV0ZXMoKSxcbiAgICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogYWN0aW9uLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIGNyYXdsZXJOYW1lOiBhY3Rpb24uY3Jhd2xlcj8ubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJQcmVkaWNhdGUocHJvcHM6IENvbmRpdGlvbmFsVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyLlByZWRpY2F0ZVByb3BlcnR5IHtcbiAgICBjb25zdCBjb25kaXRpb25zID0gcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lm1hcChjb25kaXRpb24gPT4ge1xuICAgICAgLy8gVmFsaWRhdGUgdGhhdCBlaXRoZXIgam9iIG9yIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGJ1dCBub3QgYm90aFxuICAgICAgaWYgKCFjb25kaXRpb24uam9iICYmICFjb25kaXRpb24uY3Jhd2xlck5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0NvbmRpdGlvbkpvYk9yQ3Jhd2xlclJlcXVpcmVkJywgJ1lvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIGEgam9iIG9yIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbi4nLCB0aGlzKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLmpvYiAmJiBjb25kaXRpb24uY3Jhd2xlck5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0NvbmRpdGlvbkpvYkFuZENyYXdsZXJNdXR1YWxseUV4Y2x1c2l2ZScsICdZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBhIGpvYiBhbmQgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicsIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGlmIGpvYiBpcyBwcm92aWRlZCwgam9iIHN0YXRlIGlzIGFsc28gcHJvdmlkZWRcbiAgICAgIGlmIChjb25kaXRpb24uam9iICYmICFjb25kaXRpb24uc3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0NvbmRpdGlvbkpvYlN0YXRlUmVxdWlyZWQnLCAnSWYgeW91IHByb3ZpZGUgYSBqb2IgZm9yIHRoZSBjb25kaXRpb24sIHlvdSBtdXN0IGFsc28gcHJvdmlkZSBhIGpvYiBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgdGhhdCBpZiBjcmF3bGVyIGlzIHByb3ZpZGVkLCBjcmF3bGVyIHN0YXRlIGlzIGFsc28gcHJvdmlkZWRcbiAgICAgIGlmIChjb25kaXRpb24uY3Jhd2xlck5hbWUgJiYgIWNvbmRpdGlvbi5jcmF3bFN0YXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdDb25kaXRpb25DcmF3bGVyU3RhdGVSZXF1aXJlZCcsICdJZiB5b3UgcHJvdmlkZSBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24sIHlvdSBtdXN0IGFsc28gcHJvdmlkZSBhIGNyYXdsZXIgc3RhdGUuJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxvZ2ljYWxPcGVyYXRvcjogY29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA/PyBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3IuRVFVQUxTLFxuICAgICAgICBqb2JOYW1lOiBjb25kaXRpb24uam9iPy5qb2JOYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgc3RhdGU6IGNvbmRpdGlvbi5zdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsZXJOYW1lOiBjb25kaXRpb24uY3Jhd2xlck5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBjcmF3bFN0YXRlOiBjb25kaXRpb24uY3Jhd2xTdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2ljYWw6IHByb3BzLnByZWRpY2F0ZS5jb25kaXRpb25zPy5sZW5ndGggPT09IDEgPyB1bmRlZmluZWQgOiBwcm9wcy5wcmVkaWNhdGUubG9naWNhbCA/PyBQcmVkaWNhdGVMb2dpY2FsLkFORCxcbiAgICAgIGNvbmRpdGlvbnM6IGNvbmRpdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihwcm9wczogTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuRXZlbnRCYXRjaGluZ0NvbmRpdGlvblByb3BlcnR5IHtcbiAgICBjb25zdCBkZWZhdWx0QmF0Y2hTaXplID0gMTtcbiAgICBjb25zdCBkZWZhdWx0QmF0Y2hXaW5kb3cgPSBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLnRvU2Vjb25kcygpO1xuXG4gICAgaWYgKCFwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYXRjaFNpemU6IGRlZmF1bHRCYXRjaFNpemUsXG4gICAgICAgIGJhdGNoV2luZG93OiBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBiYXRjaFNpemU6IHByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24uYmF0Y2hTaXplIHx8IGRlZmF1bHRCYXRjaFNpemUsXG4gICAgICBiYXRjaFdpbmRvdzogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFdpbmRvdz8udG9TZWNvbmRzKCkgfHwgZGVmYXVsdEJhdGNoV2luZG93LFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRXb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHdvcmtmbG93TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICd3b3JrZmxvdycsXG4gICAgICByZXNvdXJjZU5hbWU6IHdvcmtmbG93TmFtZSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjb25zdHJ1Y3QgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBBV1MgR2x1ZSBXb3JrZmxvd3MgYW5kIFRyaWdnZXJzLlxuICpcbiAqIEFXUyBHbHVlIFdvcmtmbG93cyBhcmUgb3JjaGVzdHJhdGlvbiBzZXJ2aWNlcyB0aGF0IGFsbG93IHlvdSB0byBjcmVhdGUsIG1hbmFnZSwgYW5kIG1vbml0b3IgY29tcGxleCBleHRyYWN0LCB0cmFuc2Zvcm0sIGFuZCBsb2FkIChFVEwpIGFjdGl2aXRpZXMgaW52b2x2aW5nIG11bHRpcGxlIGNyYXdsZXJzLCBqb2JzLCBhbmQgdHJpZ2dlcnMuIFdvcmtmbG93cyBhcmUgZGVzaWduZWQgdG8gYWxsb3cgeW91IHRvIG1hbmFnZSBpbnRlcmRlcGVuZGVudCBqb2JzIGFuZCBjcmF3bGVycyBhcyBhIHNpbmdsZSB1bml0LCBtYWtpbmcgaXQgZWFzaWVyIHRvIG9yY2hlc3RyYXRlIGFuZCBtb25pdG9yIGNvbXBsZXggRVRMIHBpcGVsaW5lcy5cbiAqXG4gKiBUcmlnZ2VycyBhcmUgdXNlZCB0byBpbml0aWF0ZSBhbiBBV1MgR2x1ZSBXb3JrZmxvdy4gWW91IGNhbiBjb25maWd1cmUgZGlmZmVyZW50IHR5cGVzIG9mIHRyaWdnZXJzLCBzdWNoIGFzIG9uLWRlbWFuZCwgc2NoZWR1bGVkLCBldmVudC1iYXNlZCwgb3IgY29uZGl0aW9uYWwgdHJpZ2dlcnMsIHRvIHN0YXJ0IHlvdXIgV29ya2Zsb3cgYmFzZWQgb24gc3BlY2lmaWMgY29uZGl0aW9ucyBvciBldmVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvd29ya2Zsb3dzX292ZXJ2aWV3Lmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2Fib3V0LXRyaWdnZXJzLmh0bWxcbiAqXG4gKiAjIyBVc2FnZSBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbiAqIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycpO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgSm9iXG4gKiBkZWNsYXJlIGNvbnN0IHJvbGU6IGlhbS5JUm9sZTtcbiAqIGRlY2xhcmUgY29uc3Qgc2NyaXB0OiBnbHVlLkNvZGU7XG4gKiBjb25zdCBqb2IgPSBuZXcgZ2x1ZS5QeVNwYXJrU3RyZWFtaW5nSm9iKHN0YWNrLCAnSW1wb3J0ZWRKb2InLCB7IHJvbGUsIHNjcmlwdCB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBHbHVlIFdvcmtmbG93XG4gKiBjb25zdCB3b3JrZmxvdyA9IG5ldyBnbHVlLldvcmtmbG93KHN0YWNrLCAnVGVzdFdvcmtmbG93Jyk7XG4gKlxuICogLy8gQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSBXb3JrZmxvd1xuICogd29ya2Zsb3cuYWRkT25EZW1hbmRUcmlnZ2VyKCdPbkRlbWFuZFRyaWdnZXInLCB7XG4gKiAgIGFjdGlvbnM6IFt7IGpvYjogam9iIH1dLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93IGV4dGVuZHMgV29ya2Zsb3dCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5Xb3JrZmxvdyc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIHdvcmtmbG93IGZyb20gaXRzIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93TmFtZShzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93TmFtZTogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tV29ya2Zsb3dBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiB3b3JrZmxvdyBmcm9tIGl0J3MgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCB3b3JrZmxvd0Fybjogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tV29ya2Zsb3dBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLmV4dHJhY3ROYW1lRnJvbUFybihzY29wZSwgd29ya2Zsb3dBcm4pLFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHdvcmtmbG93XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogV29ya2Zsb3dBdHRyaWJ1dGVzKTogSVdvcmtmbG93IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93TmFtZSA9IGF0dHJzLndvcmtmbG93TmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd0FybiA9IHRoaXMuYnVpbGRXb3JrZmxvd0FybihzY29wZSwgdGhpcy53b3JrZmxvd05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5Xb3JrZmxvdztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogV29ya2Zsb3dQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8ud29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Xb3JrZmxvdyh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcz8uZGVzY3JpcHRpb24sXG4gICAgICBkZWZhdWx0UnVuUHJvcGVydGllczogcHJvcHM/LmRlZmF1bHRSdW5Qcm9wZXJ0aWVzLFxuICAgICAgbWF4Q29uY3VycmVudFJ1bnM6IHByb3BzPy5tYXhDb25jdXJyZW50UnVucyxcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHdvcmtmbG93TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB3b3JrZmxvd0FybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkV29ya2Zsb3dBcm4odGhpcywgdGhpcy53b3JrZmxvd05hbWUpO1xuICB9XG59XG4iXX0=
433
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBK0Q7QUFDL0Qsd0NBQXdDO0FBQ3hDLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDRDQUdzQjtBQVV0Qix1REFFMkI7QUEyRjNCOzs7O0dBSUc7QUFDSCxNQUFzQixZQUFhLFNBQVEsR0FBRyxDQUFDLFFBQVE7O0lBQ3JEOztPQUVHO0lBQ08sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTJCLEVBQUUsV0FBbUI7UUFDbEYsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ2pDLFdBQVcsRUFDWCxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDO0tBQ3BEO0lBS0Q7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxPQUErQjs7Ozs7Ozs7OztRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksd0JBQXdCLENBQUMsRUFBVSxFQUFFLE9BQW9DOzs7Ozs7Ozs7O1FBQzlFLE1BQU0sYUFBYSxHQUFH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QUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMvRTtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRU8sUUFBUSxHQW5DTCxtREFBUSxDQW1DVztRQUU5QixZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1lBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWTthQUNsQyxDQUFDLENBQUM7Ozs7OzttREF4Q00sUUFBUTs7OztZQXlDakIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CO2dCQUNqRCxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCO2FBQzVDLENBQUMsQ0FBQztTQUNKO1FBR0QsSUFBVyxZQUFZO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFHRCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDs7WUE1RFUsdURBQVE7Ozs7O0FBQVIsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Xb3JrZmxvdywgQ2ZuVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvcixcbiAgUHJlZGljYXRlTG9naWNhbCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aW9uLFxuICBPbkRlbWFuZFRyaWdnZXJPcHRpb25zLFxuICBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMsXG4gIEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zLFxuICBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zLFxuICBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zLFxufSBmcm9tICcuL3RyaWdnZXItb3B0aW9ucyc7XG5pbXBvcnQge1xuICBUcmlnZ2VyU2NoZWR1bGUsXG59IGZyb20gJy4vdHJpZ2dlci1vcHRpb25zJztcblxuLyoqXG4gKiBUaGUgYmFzZSBpbnRlcmZhY2UgZm9yIEdsdWUgV29ya2Zsb3dcbiAqXG4gKiBAc2VlIHtAbGluayBXb3JrZmxvd31cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL3dvcmtmbG93c19vdmVydmlldy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVdvcmtmbG93IGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3dcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvbi1kZW1hbmQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkRGFpbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhaWx5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiB3ZWVrbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRXZWVrbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFdlZWtseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgaW1wb3J0aW5nIGEgV29ya2Zsb3cgdXNpbmcgaXRzIGF0dHJpYnV0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGltcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gdGhlIHdvcmtmbG93IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV29ya2Zsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1Byb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSB3aGVuIHRoaXMgd29ya2Zsb3cgaXMgZXhlY3V0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZWZhdWx0IHJ1biBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UnVuUHJvcGVydGllcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHJ1bnMgYWxsb3dlZCBmb3IgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGltaXRcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbnRSdW5zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2UgYWJzdHJhY3QgY2xhc3MgZm9yIFdvcmtmbG93XG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2Zsb3dCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVdvcmtmbG93IHtcbiAgLyoqXG4gICAqIEV4dHJhY3Qgd29ya2Zsb3dOYW1lIGZyb20gYXJuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIGV4dHJhY3ROYW1lRnJvbUFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgICBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZSE7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkT25EZW1hbmRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE9uRGVtYW5kVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ09OX0RFTUFORCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCBkYWlseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBkYWlseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWtseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHdlZWtseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgICB3ZWVrRGF5OiAnU1VOJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgc2NoZWR1bGU6IHdlZWtseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBvcHRpb25zLnNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIEV2ZW50IEJyaWRnZSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE5vdGlmeUV2ZW50VHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdFVkVOVCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENvbmRpdGlvbiAoUHJlZGljYXRlKSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkIGZvciBhbnkgY29uZGl0aW9uLlxuICAgKiBAdGhyb3dzIElmIGEgam9iIGlzIHByb3ZpZGVkIHdpdGhvdXQgYSBqb2Igc3RhdGUsIG9yIGlmIGEgY3Jhd2xlciBpcyBwcm92aWRlZCB3aXRob3V0IGEgY3Jhd2xlciBzdGF0ZSBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb25kaXRpb25hbFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnQ09ORElUSU9OQUwnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBwcmVkaWNhdGU6IHRoaXMucmVuZGVyUHJlZGljYXRlKG9wdGlvbnMpLFxuICAgICAgZXZlbnRCYXRjaGluZ0NvbmRpdGlvbjogdGhpcy5yZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKG9wdGlvbnMpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFjdGlvbihhY3Rpb246IEFjdGlvbik6IENmblRyaWdnZXIuQWN0aW9uUHJvcGVydHkge1xuICAgIC8vIFZhbGlkYXRlIHRoYXQgZWl0aGVyIGpvYiBvciBjcmF3bGVyIGlzIHByb3ZpZGVkLCBidXQgbm90IGJvdGhcbiAgICBpZiAoIWFjdGlvbi5qb2IgJiYgIWFjdGlvbi5jcmF3bGVyKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQWN0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uLmpvYiAmJiBhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YEFjdGlvbkpvYkFuZENyYXdsZXJNdXR1YWxseUV4Y2x1c2l2ZWAsICdZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBhIGpvYiBhbmQgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBqb2JOYW1lOiBhY3Rpb24uam9iPy5qb2JOYW1lLFxuICAgICAgYXJndW1lbnRzOiBhY3Rpb24uYXJndW1lbnRzLFxuICAgICAgdGltZW91dDogYWN0aW9uLnRpbWVvdXQ/LnRvTWludXRlcygpLFxuICAgICAgc2VjdXJpdHlDb25maWd1cmF0aW9uOiBhY3Rpb24uc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgY3Jhd2xlck5hbWU6IGFjdGlvbi5jcmF3bGVyPy5uYW1lLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWRpY2F0ZShwcm9wczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuUHJlZGljYXRlUHJvcGVydHkge1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcm9wcy5wcmVkaWNhdGUuY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiB7XG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgICBpZiAoIWNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicsIHRoaXMpO1xuICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uam9iICYmIGNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iQW5kQ3Jhd2xlck11dHVhbGx5RXhjbHVzaXZlYCwgJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24uJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgam9iIGlzIHByb3ZpZGVkLCBqb2Igc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5zdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iU3RhdGVSZXF1aXJlZGAsICdJZiB5b3UgcHJvdmlkZSBhIGpvYiBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgam9iIHN0YXRlLicsIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGlmIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGNyYXdsZXIgc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5jcmF3bGVyTmFtZSAmJiAhY29uZGl0aW9uLmNyYXdsU3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YENvbmRpdGlvbkNyYXdsZXJTdGF0ZVJlcXVpcmVkYCwgJ0lmIHlvdSBwcm92aWRlIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgY3Jhd2xlciBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9naWNhbE9wZXJhdG9yOiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID8/IENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvci5FUVVBTFMsXG4gICAgICAgIGpvYk5hbWU6IGNvbmRpdGlvbi5qb2I/LmpvYk5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZTogY29uZGl0aW9uLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY3Jhd2xlck5hbWU6IGNvbmRpdGlvbi5jcmF3bGVyTmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsU3RhdGU6IGNvbmRpdGlvbi5jcmF3bFN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9naWNhbDogcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lmxlbmd0aCA9PT0gMSA/IHVuZGVmaW5lZCA6IHByb3BzLnByZWRpY2F0ZS5sb2dpY2FsID8/IFByZWRpY2F0ZUxvZ2ljYWwuQU5ELFxuICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKHByb3BzOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5FdmVudEJhdGNoaW5nQ29uZGl0aW9uUHJvcGVydHkge1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFNpemUgPSAxO1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFdpbmRvdyA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCkudG9TZWNvbmRzKCk7XG5cbiAgICBpZiAoIXByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhdGNoU2l6ZTogZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgICAgYmF0Y2hXaW5kb3c6IGRlZmF1bHRCYXRjaFdpbmRvdyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhdGNoU2l6ZTogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFNpemUgfHwgZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoV2luZG93OiBwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uLmJhdGNoV2luZG93Py50b1NlY29uZHMoKSB8fCBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdvcmtmbG93QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3dvcmtmbG93JyxcbiAgICAgIHJlc291cmNlTmFtZTogd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIEFXUyBHbHVlIFdvcmtmbG93cyBhbmQgVHJpZ2dlcnMuXG4gKlxuICogQVdTIEdsdWUgV29ya2Zsb3dzIGFyZSBvcmNoZXN0cmF0aW9uIHNlcnZpY2VzIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSwgbWFuYWdlLCBhbmQgbW9uaXRvciBjb21wbGV4IGV4dHJhY3QsIHRyYW5zZm9ybSwgYW5kIGxvYWQgKEVUTCkgYWN0aXZpdGllcyBpbnZvbHZpbmcgbXVsdGlwbGUgY3Jhd2xlcnMsIGpvYnMsIGFuZCB0cmlnZ2Vycy4gV29ya2Zsb3dzIGFyZSBkZXNpZ25lZCB0byBhbGxvdyB5b3UgdG8gbWFuYWdlIGludGVyZGVwZW5kZW50IGpvYnMgYW5kIGNyYXdsZXJzIGFzIGEgc2luZ2xlIHVuaXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gb3JjaGVzdHJhdGUgYW5kIG1vbml0b3IgY29tcGxleCBFVEwgcGlwZWxpbmVzLlxuICpcbiAqIFRyaWdnZXJzIGFyZSB1c2VkIHRvIGluaXRpYXRlIGFuIEFXUyBHbHVlIFdvcmtmbG93LiBZb3UgY2FuIGNvbmZpZ3VyZSBkaWZmZXJlbnQgdHlwZXMgb2YgdHJpZ2dlcnMsIHN1Y2ggYXMgb24tZGVtYW5kLCBzY2hlZHVsZWQsIGV2ZW50LWJhc2VkLCBvciBjb25kaXRpb25hbCB0cmlnZ2VycywgdG8gc3RhcnQgeW91ciBXb3JrZmxvdyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGV2ZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICogY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJyk7XG4gKlxuICogLy8gQ3JlYXRlIGEgR2x1ZSBKb2JcbiAqIGRlY2xhcmUgY29uc3Qgcm9sZTogaWFtLklSb2xlO1xuICogZGVjbGFyZSBjb25zdCBzY3JpcHQ6IGdsdWUuQ29kZTtcbiAqIGNvbnN0IGpvYiA9IG5ldyBnbHVlLlB5U3BhcmtTdHJlYW1pbmdKb2Ioc3RhY2ssICdJbXBvcnRlZEpvYicsIHsgcm9sZSwgc2NyaXB0IH0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgV29ya2Zsb3dcbiAqIGNvbnN0IHdvcmtmbG93ID0gbmV3IGdsdWUuV29ya2Zsb3coc3RhY2ssICdUZXN0V29ya2Zsb3cnKTtcbiAqXG4gKiAvLyBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIFdvcmtmbG93XG4gKiB3b3JrZmxvdy5hZGRPbkRlbWFuZFRyaWdnZXIoJ09uRGVtYW5kVHJpZ2dlcicsIHtcbiAqICAgYWN0aW9uczogW3sgam9iOiBqb2IgfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLldvcmtmbG93JztcblxuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dOYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIHdvcmtmbG93IGZyb20gaXQncyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMuZXh0cmFjdE5hbWVGcm9tQXJuKHNjb3BlLCB3b3JrZmxvd0FybiksXG4gICAgICB3b3JrZmxvd0FybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3Rpbmcgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93QXR0cmlidXRlcyhzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBXb3JrZmxvd0F0dHJpYnV0ZXMpOiBJV29ya2Zsb3cge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtmbG93QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOYW1lID0gYXR0cnMud29ya2Zsb3dOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuID0gdGhpcy5idWlsZFdvcmtmbG93QXJuKHNjb3BlLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbldvcmtmbG93O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBXb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy53b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbldvcmtmbG93KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzPy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRSdW5Qcm9wZXJ0aWVzOiBwcm9wcz8uZGVmYXVsdFJ1blByb3BlcnRpZXMsXG4gICAgICBtYXhDb25jdXJyZW50UnVuczogcHJvcHM/Lm1heENvbmN1cnJlbnRSdW5zLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgd29ya2Zsb3dOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHdvcmtmbG93QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRXb3JrZmxvd0Fybih0aGlzLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-glue-alpha",
3
- "version": "2.246.0-alpha.0",
3
+ "version": "2.248.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::Glue",
6
6
  "main": "lib/index.js",
@@ -82,18 +82,18 @@
82
82
  },
83
83
  "license": "Apache-2.0",
84
84
  "devDependencies": {
85
- "@aws-cdk/cdk-build-tools": "2.246.0-alpha.0",
85
+ "@aws-cdk/cdk-build-tools": "2.248.0-alpha.0",
86
86
  "@aws-cdk/integ-runner": "^2.197.1",
87
- "@aws-cdk/integ-tests-alpha": "2.246.0-alpha.0",
88
- "@aws-cdk/pkglint": "2.246.0-alpha.0",
87
+ "@aws-cdk/integ-tests-alpha": "2.248.0-alpha.0",
88
+ "@aws-cdk/pkglint": "2.248.0-alpha.0",
89
89
  "@types/jest": "^29.5.14",
90
- "aws-cdk-lib": "2.246.0",
90
+ "aws-cdk-lib": "2.248.0",
91
91
  "constructs": "^10.5.0",
92
92
  "jest": "^29.7.0"
93
93
  },
94
94
  "homepage": "https://github.com/aws/aws-cdk",
95
95
  "peerDependencies": {
96
- "aws-cdk-lib": "^2.246.0",
96
+ "aws-cdk-lib": "^2.248.0",
97
97
  "constructs": "^10.5.0"
98
98
  },
99
99
  "engines": {