@aws-cdk/aws-glue-alpha 2.259.0-alpha.0 → 2.261.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 +48 -3
- package/lib/code.js +3 -3
- 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 +1 -1
- package/lib/external-table.js +1 -1
- package/lib/jobs/job.js +2 -2
- 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 +1 -1
- package/lib/jobs/scala-spark-etl-job.js +1 -1
- package/lib/jobs/scala-spark-flex-etl-job.js +1 -1
- package/lib/jobs/scala-spark-streaming-job.js +1 -1
- package/lib/jobs/spark-job.js +1 -1
- package/lib/partition-projection.js +1 -1
- package/lib/s3-table.js +1 -1
- package/lib/schema.js +1 -1
- package/lib/security-configuration.js +1 -1
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.js +1 -1
- package/lib/table-deprecated.js +1 -1
- package/lib/triggers/trigger-options.js +1 -1
- package/lib/triggers/workflow.d.ts +1 -1
- package/lib/triggers/workflow.js +4 -4
- package/package.json +6 -6
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "^2.
|
|
11
|
+
"aws-cdk-lib": "^2.261.0",
|
|
12
12
|
"constructs": "^10.5.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3288,6 +3288,19 @@
|
|
|
3288
3288
|
}
|
|
3289
3289
|
}
|
|
3290
3290
|
},
|
|
3291
|
+
"aws-cdk-lib.aws_resiliencehubv2": {
|
|
3292
|
+
"targets": {
|
|
3293
|
+
"dotnet": {
|
|
3294
|
+
"namespace": "Amazon.CDK.AWS.ResilienceHubV2"
|
|
3295
|
+
},
|
|
3296
|
+
"java": {
|
|
3297
|
+
"package": "software.amazon.awscdk.services.resiliencehubv2"
|
|
3298
|
+
},
|
|
3299
|
+
"python": {
|
|
3300
|
+
"module": "aws_cdk.aws_resiliencehubv2"
|
|
3301
|
+
}
|
|
3302
|
+
}
|
|
3303
|
+
},
|
|
3291
3304
|
"aws-cdk-lib.aws_resourceexplorer2": {
|
|
3292
3305
|
"targets": {
|
|
3293
3306
|
"dotnet": {
|
|
@@ -4795,6 +4808,22 @@
|
|
|
4795
4808
|
}
|
|
4796
4809
|
}
|
|
4797
4810
|
},
|
|
4811
|
+
"aws-cdk-lib.interfaces.aws_bcm": {
|
|
4812
|
+
"targets": {
|
|
4813
|
+
"dotnet": {
|
|
4814
|
+
"namespace": "Amazon.CDK.Interfaces.BCM"
|
|
4815
|
+
},
|
|
4816
|
+
"go": {
|
|
4817
|
+
"packageName": "interfacesawsbcm"
|
|
4818
|
+
},
|
|
4819
|
+
"java": {
|
|
4820
|
+
"package": "software.amazon.awscdk.interfaces.bcm"
|
|
4821
|
+
},
|
|
4822
|
+
"python": {
|
|
4823
|
+
"module": "aws_cdk.interfaces.aws_bcm"
|
|
4824
|
+
}
|
|
4825
|
+
}
|
|
4826
|
+
},
|
|
4798
4827
|
"aws-cdk-lib.interfaces.aws_bcmdataexports": {
|
|
4799
4828
|
"targets": {
|
|
4800
4829
|
"dotnet": {
|
|
@@ -7851,6 +7880,22 @@
|
|
|
7851
7880
|
}
|
|
7852
7881
|
}
|
|
7853
7882
|
},
|
|
7883
|
+
"aws-cdk-lib.interfaces.aws_resiliencehubv2": {
|
|
7884
|
+
"targets": {
|
|
7885
|
+
"dotnet": {
|
|
7886
|
+
"namespace": "Amazon.CDK.Interfaces.ResilienceHubV2"
|
|
7887
|
+
},
|
|
7888
|
+
"go": {
|
|
7889
|
+
"packageName": "interfacesawsresiliencehubv2"
|
|
7890
|
+
},
|
|
7891
|
+
"java": {
|
|
7892
|
+
"package": "software.amazon.awscdk.interfaces.resiliencehubv2"
|
|
7893
|
+
},
|
|
7894
|
+
"python": {
|
|
7895
|
+
"module": "aws_cdk.interfaces.aws_resiliencehubv2"
|
|
7896
|
+
}
|
|
7897
|
+
}
|
|
7898
|
+
},
|
|
7854
7899
|
"aws-cdk-lib.interfaces.aws_resourceexplorer2": {
|
|
7855
7900
|
"targets": {
|
|
7856
7901
|
"dotnet": {
|
|
@@ -22380,7 +22425,7 @@
|
|
|
22380
22425
|
{
|
|
22381
22426
|
"docs": {
|
|
22382
22427
|
"stability": "experimental",
|
|
22383
|
-
"summary": "Import
|
|
22428
|
+
"summary": "Import a workflow from its name."
|
|
22384
22429
|
},
|
|
22385
22430
|
"locationInModule": {
|
|
22386
22431
|
"filename": "lib/triggers/workflow.ts",
|
|
@@ -23127,6 +23172,6 @@
|
|
|
23127
23172
|
"symbolId": "lib/storage-parameter:WriteParallel"
|
|
23128
23173
|
}
|
|
23129
23174
|
},
|
|
23130
|
-
"version": "2.
|
|
23175
|
+
"version": "2.261.0-alpha.0",
|
|
23131
23176
|
"fingerprint": "**********"
|
|
23132
23177
|
}
|
package/lib/code.js
CHANGED
|
@@ -43,7 +43,7 @@ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
|
43
43
|
* Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).
|
|
44
44
|
*/
|
|
45
45
|
class Code {
|
|
46
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.
|
|
46
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Code", version: "2.261.0-alpha.0" };
|
|
47
47
|
/**
|
|
48
48
|
* Job code as an S3 object.
|
|
49
49
|
* @param bucket The S3 bucket
|
|
@@ -68,7 +68,7 @@ exports.Code = Code;
|
|
|
68
68
|
class S3Code extends Code {
|
|
69
69
|
bucket;
|
|
70
70
|
key;
|
|
71
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.
|
|
71
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Code", version: "2.261.0-alpha.0" };
|
|
72
72
|
constructor(bucket, key) {
|
|
73
73
|
super();
|
|
74
74
|
this.bucket = bucket;
|
|
@@ -91,7 +91,7 @@ exports.S3Code = S3Code;
|
|
|
91
91
|
class AssetCode extends Code {
|
|
92
92
|
path;
|
|
93
93
|
options;
|
|
94
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.
|
|
94
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.AssetCode", version: "2.261.0-alpha.0" };
|
|
95
95
|
asset;
|
|
96
96
|
/**
|
|
97
97
|
* @param path The path to the Code file.
|
package/lib/connection.js
CHANGED
|
@@ -84,7 +84,7 @@ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
|
84
84
|
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-connection-connectioninput.html#cfn-glue-connection-connectioninput-connectiontype
|
|
85
85
|
*/
|
|
86
86
|
class ConnectionType {
|
|
87
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ConnectionType", version: "2.
|
|
87
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ConnectionType", version: "2.261.0-alpha.0" };
|
|
88
88
|
/**
|
|
89
89
|
* Designates a connection to a database through Java Database Connectivity (JDBC).
|
|
90
90
|
*/
|
|
@@ -289,7 +289,7 @@ let Connection = (() => {
|
|
|
289
289
|
Connection = _classThis = _classDescriptor.value;
|
|
290
290
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
291
291
|
}
|
|
292
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Connection", version: "2.
|
|
292
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Connection", version: "2.261.0-alpha.0" };
|
|
293
293
|
/** Uniquely identifies this class. */
|
|
294
294
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Connection';
|
|
295
295
|
/**
|
package/lib/data-format.js
CHANGED
|
@@ -8,7 +8,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
8
8
|
*/
|
|
9
9
|
class InputFormat {
|
|
10
10
|
className;
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.InputFormat", version: "2.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.InputFormat", version: "2.261.0-alpha.0" };
|
|
12
12
|
/**
|
|
13
13
|
* InputFormat for Avro files.
|
|
14
14
|
*
|
|
@@ -52,7 +52,7 @@ exports.InputFormat = InputFormat;
|
|
|
52
52
|
*/
|
|
53
53
|
class OutputFormat {
|
|
54
54
|
className;
|
|
55
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.OutputFormat", version: "2.
|
|
55
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.OutputFormat", version: "2.261.0-alpha.0" };
|
|
56
56
|
/**
|
|
57
57
|
* Writes text data with a null key (value only).
|
|
58
58
|
*
|
|
@@ -89,7 +89,7 @@ exports.OutputFormat = OutputFormat;
|
|
|
89
89
|
*/
|
|
90
90
|
class SerializationLibrary {
|
|
91
91
|
className;
|
|
92
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SerializationLibrary", version: "2.
|
|
92
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SerializationLibrary", version: "2.261.0-alpha.0" };
|
|
93
93
|
/**
|
|
94
94
|
* @see https://svn.apache.org/repos/infra/websites/production/hive/content/javadocs/r3.1.3/api/org/apache/hadoop/hive/serde2/avro/AvroSerDe.html
|
|
95
95
|
*/
|
|
@@ -142,7 +142,7 @@ exports.SerializationLibrary = SerializationLibrary;
|
|
|
142
142
|
*/
|
|
143
143
|
class ClassificationString {
|
|
144
144
|
value;
|
|
145
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ClassificationString", version: "2.
|
|
145
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ClassificationString", version: "2.261.0-alpha.0" };
|
|
146
146
|
/**
|
|
147
147
|
* @see https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html#aws-glue-programming-etl-format-avro
|
|
148
148
|
*/
|
|
@@ -176,7 +176,7 @@ exports.ClassificationString = ClassificationString;
|
|
|
176
176
|
* Defines the input/output formats and ser/de for a single DataFormat.
|
|
177
177
|
*/
|
|
178
178
|
class DataFormat {
|
|
179
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataFormat", version: "2.
|
|
179
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataFormat", version: "2.261.0-alpha.0" };
|
|
180
180
|
/**
|
|
181
181
|
* DataFormat for Apache Web Server Logs. Also works for CloudFront logs
|
|
182
182
|
*
|
|
@@ -80,7 +80,7 @@ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
|
80
80
|
* Properties of a DataQualityTargetTable.
|
|
81
81
|
*/
|
|
82
82
|
class DataQualityTargetTable {
|
|
83
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.
|
|
83
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityTargetTable", version: "2.261.0-alpha.0" };
|
|
84
84
|
/**
|
|
85
85
|
* The database name of the target table.
|
|
86
86
|
*/
|
|
@@ -119,7 +119,7 @@ let DataQualityRuleset = (() => {
|
|
|
119
119
|
DataQualityRuleset = _classThis = _classDescriptor.value;
|
|
120
120
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
121
121
|
}
|
|
122
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.
|
|
122
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.DataQualityRuleset", version: "2.261.0-alpha.0" };
|
|
123
123
|
/** Uniquely identifies this class. */
|
|
124
124
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.DataQualityRuleset';
|
|
125
125
|
static fromRulesetArn(scope, id, rulesetArn) {
|
package/lib/database.js
CHANGED
|
@@ -66,7 +66,7 @@ let Database = (() => {
|
|
|
66
66
|
Database = _classThis = _classDescriptor.value;
|
|
67
67
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
68
68
|
}
|
|
69
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Database", version: "2.
|
|
69
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Database", version: "2.261.0-alpha.0" };
|
|
70
70
|
/** Uniquely identifies this class. */
|
|
71
71
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Database';
|
|
72
72
|
static fromDatabaseArn(scope, id, databaseArn) {
|
package/lib/external-table.js
CHANGED
|
@@ -77,7 +77,7 @@ let ExternalTable = (() => {
|
|
|
77
77
|
ExternalTable = _classThis = _classDescriptor.value;
|
|
78
78
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
79
79
|
}
|
|
80
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.ExternalTable", version: "2.261.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.ExternalTable';
|
|
83
83
|
/**
|
package/lib/jobs/job.js
CHANGED
|
@@ -50,7 +50,7 @@ const constants_1 = require("../constants");
|
|
|
50
50
|
* event-driven flow using the job.
|
|
51
51
|
*/
|
|
52
52
|
class JobBase extends cdk.Resource {
|
|
53
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.JobBase", version: "2.
|
|
53
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.JobBase", version: "2.261.0-alpha.0" };
|
|
54
54
|
/**
|
|
55
55
|
* Create a CloudWatch Event Rule for this Glue Job when it's in a given state
|
|
56
56
|
*
|
|
@@ -209,7 +209,7 @@ exports.JobBase = JobBase;
|
|
|
209
209
|
* @resource AWS::Glue::Job
|
|
210
210
|
*/
|
|
211
211
|
class Job extends JobBase {
|
|
212
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Job", version: "2.
|
|
212
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Job", version: "2.261.0-alpha.0" };
|
|
213
213
|
/**
|
|
214
214
|
* Identifies an existing Glue Job from a subset of attributes that can
|
|
215
215
|
* be referenced from within another Stack or Construct.
|
|
@@ -76,7 +76,7 @@ let PySparkEtlJob = (() => {
|
|
|
76
76
|
PySparkEtlJob = _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.PySparkEtlJob", version: "2.
|
|
79
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PySparkEtlJob", version: "2.261.0-alpha.0" };
|
|
80
80
|
/** Uniquely identifies this class. */
|
|
81
81
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.PySparkEtlJob';
|
|
82
82
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -76,7 +76,7 @@ let PySparkFlexEtlJob = (() => {
|
|
|
76
76
|
PySparkFlexEtlJob = _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.PySparkFlexEtlJob", version: "2.
|
|
79
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PySparkFlexEtlJob", version: "2.261.0-alpha.0" };
|
|
80
80
|
/** Uniquely identifies this class. */
|
|
81
81
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.PySparkFlexEtlJob';
|
|
82
82
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -76,7 +76,7 @@ let PySparkStreamingJob = (() => {
|
|
|
76
76
|
PySparkStreamingJob = _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.PySparkStreamingJob", version: "2.
|
|
79
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PySparkStreamingJob", version: "2.261.0-alpha.0" };
|
|
80
80
|
/** Uniquely identifies this class. */
|
|
81
81
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.PySparkStreamingJob';
|
|
82
82
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -71,7 +71,7 @@ let PythonShellJob = (() => {
|
|
|
71
71
|
PythonShellJob = _classThis = _classDescriptor.value;
|
|
72
72
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
73
73
|
}
|
|
74
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PythonShellJob", version: "2.
|
|
74
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.PythonShellJob", version: "2.261.0-alpha.0" };
|
|
75
75
|
/** Uniquely identifies this class. */
|
|
76
76
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.PythonShellJob';
|
|
77
77
|
role = __runInitializers(this, _instanceExtraInitializers);
|
package/lib/jobs/ray-job.js
CHANGED
|
@@ -77,7 +77,7 @@ let RayJob = (() => {
|
|
|
77
77
|
RayJob = _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.RayJob", version: "2.
|
|
80
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.RayJob", version: "2.261.0-alpha.0" };
|
|
81
81
|
/** Uniquely identifies this class. */
|
|
82
82
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.RayJob';
|
|
83
83
|
role = __runInitializers(this, _instanceExtraInitializers);
|
|
@@ -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.261.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);
|
|
@@ -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.261.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.261.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);
|
package/lib/jobs/spark-job.js
CHANGED
|
@@ -46,7 +46,7 @@ const job_1 = require("./job");
|
|
|
46
46
|
* Base class for different types of Spark Jobs.
|
|
47
47
|
*/
|
|
48
48
|
class SparkJob extends job_1.Job {
|
|
49
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SparkJob", version: "2.
|
|
49
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SparkJob", version: "2.261.0-alpha.0" };
|
|
50
50
|
role;
|
|
51
51
|
grantPrincipal;
|
|
52
52
|
/**
|
|
@@ -72,7 +72,7 @@ var DateIntervalUnit;
|
|
|
72
72
|
* Factory class for creating partition projection configurations.
|
|
73
73
|
*/
|
|
74
74
|
class PartitionProjectionConfiguration {
|
|
75
|
-
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.261.0-alpha.0" };
|
|
76
76
|
/**
|
|
77
77
|
* Create an INTEGER partition projection configuration.
|
|
78
78
|
*/
|
package/lib/s3-table.js
CHANGED
|
@@ -142,7 +142,7 @@ let S3Table = (() => {
|
|
|
142
142
|
S3Table = _classThis = _classDescriptor.value;
|
|
143
143
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
144
144
|
}
|
|
145
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Table", version: "2.
|
|
145
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.S3Table", version: "2.261.0-alpha.0" };
|
|
146
146
|
/** Uniquely identifies this class. */
|
|
147
147
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.S3Table';
|
|
148
148
|
resource = __runInitializers(this, _instanceExtraInitializers);
|
package/lib/schema.js
CHANGED
|
@@ -9,7 +9,7 @@ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
|
|
|
9
9
|
* @see https://docs.aws.amazon.com/athena/latest/ug/data-types.html
|
|
10
10
|
*/
|
|
11
11
|
class Schema {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Schema", version: "2.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Schema", version: "2.261.0-alpha.0" };
|
|
13
13
|
static BOOLEAN = {
|
|
14
14
|
isPrimitive: true,
|
|
15
15
|
inputString: 'boolean',
|
|
@@ -149,7 +149,7 @@ let SecurityConfiguration = (() => {
|
|
|
149
149
|
SecurityConfiguration = _classThis = _classDescriptor.value;
|
|
150
150
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
151
151
|
}
|
|
152
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SecurityConfiguration", version: "2.
|
|
152
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.SecurityConfiguration", version: "2.261.0-alpha.0" };
|
|
153
153
|
/** Uniquely identifies this class. */
|
|
154
154
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.SecurityConfiguration';
|
|
155
155
|
/**
|
package/lib/storage-parameter.js
CHANGED
|
@@ -271,7 +271,7 @@ var StorageParameters;
|
|
|
271
271
|
class StorageParameter {
|
|
272
272
|
key;
|
|
273
273
|
value;
|
|
274
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.StorageParameter", version: "2.
|
|
274
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.StorageParameter", version: "2.261.0-alpha.0" };
|
|
275
275
|
/**
|
|
276
276
|
* The number of rows to skip at the top of a CSV file when the table is being created.
|
|
277
277
|
*/
|
package/lib/table-base.js
CHANGED
|
@@ -45,7 +45,7 @@ const partition_projection_1 = require("./partition-projection");
|
|
|
45
45
|
* A Glue table.
|
|
46
46
|
*/
|
|
47
47
|
class TableBase extends core_1.Resource {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TableBase", version: "2.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TableBase", version: "2.261.0-alpha.0" };
|
|
49
49
|
static fromTableArn(scope, id, tableArn) {
|
|
50
50
|
const tableName = core_1.Fn.select(1, core_1.Fn.split('/', core_1.Stack.of(scope).splitArn(tableArn, core_1.ArnFormat.SLASH_RESOURCE_NAME).resourceName));
|
|
51
51
|
return TableBase.fromTableAttributes(scope, id, {
|
package/lib/table-deprecated.js
CHANGED
|
@@ -57,7 +57,7 @@ let Table = (() => {
|
|
|
57
57
|
Table = _classThis = _classDescriptor.value;
|
|
58
58
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
59
59
|
}
|
|
60
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Table", version: "2.
|
|
60
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Table", version: "2.261.0-alpha.0" };
|
|
61
61
|
/** Uniquely identifies this class. */
|
|
62
62
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Table';
|
|
63
63
|
static {
|
|
@@ -41,7 +41,7 @@ const events = __importStar(require("aws-cdk-lib/aws-events"));
|
|
|
41
41
|
*/
|
|
42
42
|
class TriggerSchedule {
|
|
43
43
|
expressionString;
|
|
44
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TriggerSchedule", version: "2.
|
|
44
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.TriggerSchedule", version: "2.261.0-alpha.0" };
|
|
45
45
|
/**
|
|
46
46
|
* Creates a new TriggerSchedule instance with a cron expression.
|
|
47
47
|
*
|
|
@@ -192,7 +192,7 @@ export declare class Workflow extends WorkflowBase {
|
|
|
192
192
|
*/
|
|
193
193
|
static fromWorkflowName(scope: constructs.Construct, id: string, workflowName: string): IWorkflow;
|
|
194
194
|
/**
|
|
195
|
-
* Import
|
|
195
|
+
* Import a workflow from its name
|
|
196
196
|
*/
|
|
197
197
|
static fromWorkflowArn(scope: constructs.Construct, id: string, workflowArn: string): IWorkflow;
|
|
198
198
|
/**
|
package/lib/triggers/workflow.js
CHANGED
|
@@ -83,7 +83,7 @@ const trigger_options_1 = require("./trigger-options");
|
|
|
83
83
|
* @see https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html
|
|
84
84
|
*/
|
|
85
85
|
class WorkflowBase extends cdk.Resource {
|
|
86
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.
|
|
86
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.261.0-alpha.0" };
|
|
87
87
|
/**
|
|
88
88
|
* Extract workflowName from arn
|
|
89
89
|
*/
|
|
@@ -388,7 +388,7 @@ let Workflow = (() => {
|
|
|
388
388
|
Workflow = _classThis = _classDescriptor.value;
|
|
389
389
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
390
390
|
}
|
|
391
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.
|
|
391
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.261.0-alpha.0" };
|
|
392
392
|
/** Uniquely identifies this class. */
|
|
393
393
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Workflow';
|
|
394
394
|
/**
|
|
@@ -400,7 +400,7 @@ let Workflow = (() => {
|
|
|
400
400
|
});
|
|
401
401
|
}
|
|
402
402
|
/**
|
|
403
|
-
* Import
|
|
403
|
+
* Import a workflow from its name
|
|
404
404
|
*/
|
|
405
405
|
static fromWorkflowArn(scope, id, workflowArn) {
|
|
406
406
|
return this.fromWorkflowAttributes(scope, id, {
|
|
@@ -463,4 +463,4 @@ let Workflow = (() => {
|
|
|
463
463
|
return Workflow = _classThis;
|
|
464
464
|
})();
|
|
465
465
|
exports.Workflow = Workflow;
|
|
466
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBK0Q7QUFDL0Qsc0RBQXdDO0FBQ3hDLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDRDQUdzQjtBQVV0Qix1REFFMkI7QUEyRjNCOzs7O0dBSUc7QUFDSCxNQUFzQixZQUFhLFNBQVEsR0FBRyxDQUFDLFFBQVE7O0lBQ3JEOztPQUVHO0lBQ08sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTJCLEVBQUUsV0FBbUI7UUFDbEYsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ2pDLFdBQVcsRUFDWCxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDO0tBQ3BEO0lBS0Q7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxPQUErQjs7Ozs7Ozs7OztRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksd0JBQXdCLENBQUMsRUFBVSxFQUFFLE9B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R0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMvRTtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRU8sUUFBUSxHQW5DTCxtREFBUSxDQW1DVztRQUU5QixZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1lBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWTthQUNsQyxDQUFDLENBQUM7Ozs7OzttREF4Q00sUUFBUTs7OztZQXlDakIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CO2dCQUNqRCxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCO2FBQzVDLENBQUMsQ0FBQztTQUNKO1FBR0QsSUFBVyxZQUFZO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFHRCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDs7WUE1RFUsdURBQVE7Ozs7O0FBQVIsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Xb3JrZmxvdywgQ2ZuVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvcixcbiAgUHJlZGljYXRlTG9naWNhbCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aW9uLFxuICBPbkRlbWFuZFRyaWdnZXJPcHRpb25zLFxuICBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMsXG4gIEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zLFxuICBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zLFxuICBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zLFxufSBmcm9tICcuL3RyaWdnZXItb3B0aW9ucyc7XG5pbXBvcnQge1xuICBUcmlnZ2VyU2NoZWR1bGUsXG59IGZyb20gJy4vdHJpZ2dlci1vcHRpb25zJztcblxuLyoqXG4gKiBUaGUgYmFzZSBpbnRlcmZhY2UgZm9yIEdsdWUgV29ya2Zsb3dcbiAqXG4gKiBAc2VlIHtAbGluayBXb3JrZmxvd31cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL3dvcmtmbG93c19vdmVydmlldy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVdvcmtmbG93IGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3dcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvbi1kZW1hbmQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkRGFpbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhaWx5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiB3ZWVrbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRXZWVrbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFdlZWtseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgaW1wb3J0aW5nIGEgV29ya2Zsb3cgdXNpbmcgaXRzIGF0dHJpYnV0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGltcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gdGhlIHdvcmtmbG93IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV29ya2Zsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1Byb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSB3aGVuIHRoaXMgd29ya2Zsb3cgaXMgZXhlY3V0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZWZhdWx0IHJ1biBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UnVuUHJvcGVydGllcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHJ1bnMgYWxsb3dlZCBmb3IgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGltaXRcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbnRSdW5zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2UgYWJzdHJhY3QgY2xhc3MgZm9yIFdvcmtmbG93XG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2Zsb3dCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVdvcmtmbG93IHtcbiAgLyoqXG4gICAqIEV4dHJhY3Qgd29ya2Zsb3dOYW1lIGZyb20gYXJuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIGV4dHJhY3ROYW1lRnJvbUFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgICBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZSE7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkT25EZW1hbmRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE9uRGVtYW5kVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ09OX0RFTUFORCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCBkYWlseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBkYWlseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWtseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHdlZWtseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgICB3ZWVrRGF5OiAnU1VOJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgc2NoZWR1bGU6IHdlZWtseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBvcHRpb25zLnNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIEV2ZW50IEJyaWRnZSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE5vdGlmeUV2ZW50VHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdFVkVOVCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENvbmRpdGlvbiAoUHJlZGljYXRlKSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkIGZvciBhbnkgY29uZGl0aW9uLlxuICAgKiBAdGhyb3dzIElmIGEgam9iIGlzIHByb3ZpZGVkIHdpdGhvdXQgYSBqb2Igc3RhdGUsIG9yIGlmIGEgY3Jhd2xlciBpcyBwcm92aWRlZCB3aXRob3V0IGEgY3Jhd2xlciBzdGF0ZSBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb25kaXRpb25hbFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnQ09ORElUSU9OQUwnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBwcmVkaWNhdGU6IHRoaXMucmVuZGVyUHJlZGljYXRlKG9wdGlvbnMpLFxuICAgICAgZXZlbnRCYXRjaGluZ0NvbmRpdGlvbjogdGhpcy5yZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKG9wdGlvbnMpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFjdGlvbihhY3Rpb246IEFjdGlvbik6IENmblRyaWdnZXIuQWN0aW9uUHJvcGVydHkge1xuICAgIC8vIFZhbGlkYXRlIHRoYXQgZWl0aGVyIGpvYiBvciBjcmF3bGVyIGlzIHByb3ZpZGVkLCBidXQgbm90IGJvdGhcbiAgICBpZiAoIWFjdGlvbi5qb2IgJiYgIWFjdGlvbi5jcmF3bGVyKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQWN0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uLmpvYiAmJiBhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YEFjdGlvbkpvYkFuZENyYXdsZXJNdXR1YWxseUV4Y2x1c2l2ZWAsICdZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBhIGpvYiBhbmQgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBqb2JOYW1lOiBhY3Rpb24uam9iPy5qb2JOYW1lLFxuICAgICAgYXJndW1lbnRzOiBhY3Rpb24uYXJndW1lbnRzLFxuICAgICAgdGltZW91dDogYWN0aW9uLnRpbWVvdXQ/LnRvTWludXRlcygpLFxuICAgICAgc2VjdXJpdHlDb25maWd1cmF0aW9uOiBhY3Rpb24uc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgY3Jhd2xlck5hbWU6IGFjdGlvbi5jcmF3bGVyPy5uYW1lLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWRpY2F0ZShwcm9wczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuUHJlZGljYXRlUHJvcGVydHkge1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcm9wcy5wcmVkaWNhdGUuY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiB7XG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgICBpZiAoIWNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicsIHRoaXMpO1xuICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uam9iICYmIGNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iQW5kQ3Jhd2xlck11dHVhbGx5RXhjbHVzaXZlYCwgJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24uJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgam9iIGlzIHByb3ZpZGVkLCBqb2Igc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5zdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iU3RhdGVSZXF1aXJlZGAsICdJZiB5b3UgcHJvdmlkZSBhIGpvYiBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgam9iIHN0YXRlLicsIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGlmIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGNyYXdsZXIgc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5jcmF3bGVyTmFtZSAmJiAhY29uZGl0aW9uLmNyYXdsU3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YENvbmRpdGlvbkNyYXdsZXJTdGF0ZVJlcXVpcmVkYCwgJ0lmIHlvdSBwcm92aWRlIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgY3Jhd2xlciBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9naWNhbE9wZXJhdG9yOiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID8/IENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvci5FUVVBTFMsXG4gICAgICAgIGpvYk5hbWU6IGNvbmRpdGlvbi5qb2I/LmpvYk5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZTogY29uZGl0aW9uLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY3Jhd2xlck5hbWU6IGNvbmRpdGlvbi5jcmF3bGVyTmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsU3RhdGU6IGNvbmRpdGlvbi5jcmF3bFN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9naWNhbDogcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lmxlbmd0aCA9PT0gMSA/IHVuZGVmaW5lZCA6IHByb3BzLnByZWRpY2F0ZS5sb2dpY2FsID8/IFByZWRpY2F0ZUxvZ2ljYWwuQU5ELFxuICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKHByb3BzOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5FdmVudEJhdGNoaW5nQ29uZGl0aW9uUHJvcGVydHkge1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFNpemUgPSAxO1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFdpbmRvdyA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCkudG9TZWNvbmRzKCk7XG5cbiAgICBpZiAoIXByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhdGNoU2l6ZTogZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgICAgYmF0Y2hXaW5kb3c6IGRlZmF1bHRCYXRjaFdpbmRvdyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhdGNoU2l6ZTogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFNpemUgfHwgZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoV2luZG93OiBwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uLmJhdGNoV2luZG93Py50b1NlY29uZHMoKSB8fCBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdvcmtmbG93QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3dvcmtmbG93JyxcbiAgICAgIHJlc291cmNlTmFtZTogd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIEFXUyBHbHVlIFdvcmtmbG93cyBhbmQgVHJpZ2dlcnMuXG4gKlxuICogQVdTIEdsdWUgV29ya2Zsb3dzIGFyZSBvcmNoZXN0cmF0aW9uIHNlcnZpY2VzIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSwgbWFuYWdlLCBhbmQgbW9uaXRvciBjb21wbGV4IGV4dHJhY3QsIHRyYW5zZm9ybSwgYW5kIGxvYWQgKEVUTCkgYWN0aXZpdGllcyBpbnZvbHZpbmcgbXVsdGlwbGUgY3Jhd2xlcnMsIGpvYnMsIGFuZCB0cmlnZ2Vycy4gV29ya2Zsb3dzIGFyZSBkZXNpZ25lZCB0byBhbGxvdyB5b3UgdG8gbWFuYWdlIGludGVyZGVwZW5kZW50IGpvYnMgYW5kIGNyYXdsZXJzIGFzIGEgc2luZ2xlIHVuaXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gb3JjaGVzdHJhdGUgYW5kIG1vbml0b3IgY29tcGxleCBFVEwgcGlwZWxpbmVzLlxuICpcbiAqIFRyaWdnZXJzIGFyZSB1c2VkIHRvIGluaXRpYXRlIGFuIEFXUyBHbHVlIFdvcmtmbG93LiBZb3UgY2FuIGNvbmZpZ3VyZSBkaWZmZXJlbnQgdHlwZXMgb2YgdHJpZ2dlcnMsIHN1Y2ggYXMgb24tZGVtYW5kLCBzY2hlZHVsZWQsIGV2ZW50LWJhc2VkLCBvciBjb25kaXRpb25hbCB0cmlnZ2VycywgdG8gc3RhcnQgeW91ciBXb3JrZmxvdyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGV2ZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICogY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJyk7XG4gKlxuICogLy8gQ3JlYXRlIGEgR2x1ZSBKb2JcbiAqIGRlY2xhcmUgY29uc3Qgcm9sZTogaWFtLklSb2xlO1xuICogZGVjbGFyZSBjb25zdCBzY3JpcHQ6IGdsdWUuQ29kZTtcbiAqIGNvbnN0IGpvYiA9IG5ldyBnbHVlLlB5U3BhcmtTdHJlYW1pbmdKb2Ioc3RhY2ssICdJbXBvcnRlZEpvYicsIHsgcm9sZSwgc2NyaXB0IH0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgV29ya2Zsb3dcbiAqIGNvbnN0IHdvcmtmbG93ID0gbmV3IGdsdWUuV29ya2Zsb3coc3RhY2ssICdUZXN0V29ya2Zsb3cnKTtcbiAqXG4gKiAvLyBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIFdvcmtmbG93XG4gKiB3b3JrZmxvdy5hZGRPbkRlbWFuZFRyaWdnZXIoJ09uRGVtYW5kVHJpZ2dlcicsIHtcbiAqICAgYWN0aW9uczogW3sgam9iOiBqb2IgfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLldvcmtmbG93JztcblxuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dOYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIHdvcmtmbG93IGZyb20gaXQncyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMuZXh0cmFjdE5hbWVGcm9tQXJuKHNjb3BlLCB3b3JrZmxvd0FybiksXG4gICAgICB3b3JrZmxvd0FybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3Rpbmcgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93QXR0cmlidXRlcyhzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBXb3JrZmxvd0F0dHJpYnV0ZXMpOiBJV29ya2Zsb3cge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtmbG93QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOYW1lID0gYXR0cnMud29ya2Zsb3dOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuID0gdGhpcy5idWlsZFdvcmtmbG93QXJuKHNjb3BlLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbldvcmtmbG93O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBXb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy53b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbldvcmtmbG93KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzPy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRSdW5Qcm9wZXJ0aWVzOiBwcm9wcz8uZGVmYXVsdFJ1blByb3BlcnRpZXMsXG4gICAgICBtYXhDb25jdXJyZW50UnVuczogcHJvcHM/Lm1heENvbmN1cnJlbnRSdW5zLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgd29ya2Zsb3dOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHdvcmtmbG93QXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRXb3JrZmxvd0Fybih0aGlzLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gIH1cbn1cbiJdfQ==
|
|
466
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBK0Q7QUFDL0Qsc0RBQXdDO0FBQ3hDLDRFQUE0RTtBQUM1RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDRDQUdzQjtBQVV0Qix1REFFMkI7QUEyRjNCOzs7O0dBSUc7QUFDSCxNQUFzQixZQUFhLFNBQVEsR0FBRyxDQUFDLFFBQVE7O0lBQ3JEOztPQUVHO0lBQ08sTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQTJCLEVBQUUsV0FBbUI7UUFDbEYsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQ2pDLFdBQVcsRUFDWCxHQUFHLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBYSxDQUFDO0tBQ3BEO0lBS0Q7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEVBQVUsRUFBRSxPQUErQjs7Ozs7Ozs7OztRQUNuRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksd0JBQXdCLENBQUMsRUFBVSxFQUFFLE9B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R0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMvRTtZQUVELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRU8sUUFBUSxHQW5DTCxtREFBUSxDQW1DVztRQUU5QixZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQXFCO1lBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWTthQUNsQyxDQUFDLENBQUM7Ozs7OzttREF4Q00sUUFBUTs7OztZQXlDakIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2hELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CO2dCQUNqRCxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCO2FBQzVDLENBQUMsQ0FBQztTQUNKO1FBR0QsSUFBVyxZQUFZO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekQ7UUFHRCxJQUFXLFdBQVc7WUFDcEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RDs7WUE1RFUsdURBQVE7Ozs7O0FBQVIsNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5Xb3JrZmxvdywgQ2ZuVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyLCBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvcixcbiAgUHJlZGljYXRlTG9naWNhbCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB0eXBlIHtcbiAgQWN0aW9uLFxuICBPbkRlbWFuZFRyaWdnZXJPcHRpb25zLFxuICBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMsXG4gIEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zLFxuICBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zLFxuICBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zLFxufSBmcm9tICcuL3RyaWdnZXItb3B0aW9ucyc7XG5pbXBvcnQge1xuICBUcmlnZ2VyU2NoZWR1bGUsXG59IGZyb20gJy4vdHJpZ2dlci1vcHRpb25zJztcblxuLyoqXG4gKiBUaGUgYmFzZSBpbnRlcmZhY2UgZm9yIEdsdWUgV29ya2Zsb3dcbiAqXG4gKiBAc2VlIHtAbGluayBXb3JrZmxvd31cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL3dvcmtmbG93c19vdmVydmlldy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVdvcmtmbG93IGV4dGVuZHMgY2RrLklSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3dcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvbi1kZW1hbmQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkRGFpbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhaWx5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiB3ZWVrbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRXZWVrbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFdlZWtseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgaW1wb3J0aW5nIGEgV29ya2Zsb3cgdXNpbmcgaXRzIGF0dHJpYnV0ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93IHRvIGltcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZXJpdmVkIGZyb20gdGhlIHdvcmtmbG93IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93QXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV29ya2Zsb3dcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd1Byb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBwcm9wZXJ0aWVzIHRvIHVzZSB3aGVuIHRoaXMgd29ya2Zsb3cgaXMgZXhlY3V0ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZWZhdWx0IHJ1biBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0UnVuUHJvcGVydGllcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25jdXJyZW50IHJ1bnMgYWxsb3dlZCBmb3IgdGhlIHdvcmtmbG93XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGltaXRcbiAgICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbnRSdW5zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEJhc2UgYWJzdHJhY3QgY2xhc3MgZm9yIFdvcmtmbG93XG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV29ya2Zsb3dCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVdvcmtmbG93IHtcbiAgLyoqXG4gICAqIEV4dHJhY3Qgd29ya2Zsb3dOYW1lIGZyb20gYXJuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIGV4dHJhY3ROYW1lRnJvbUFybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgICBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZSE7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkT25EZW1hbmRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE9uRGVtYW5kVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ09OX0RFTUFORCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGRhaWx5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCBkYWlseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBkYWlseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWtseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHdlZWtseVNjaGVkdWxlID0gVHJpZ2dlclNjaGVkdWxlLmNyb24oe1xuICAgICAgbWludXRlOiAnMCcsXG4gICAgICBob3VyOiAnMCcsXG4gICAgICB3ZWVrRGF5OiAnU1VOJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgc2NoZWR1bGU6IHdlZWtseVNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tLXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiBvcHRpb25zLnNjaGVkdWxlLmV4cHJlc3Npb25TdHJpbmcsXG4gICAgICBzdGFydE9uQ3JlYXRpb246IG9wdGlvbnMuc3RhcnRPbkNyZWF0aW9uID8/IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIEV2ZW50IEJyaWRnZSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE5vdGlmeUV2ZW50VHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdFVkVOVCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENvbmRpdGlvbiAoUHJlZGljYXRlKSBiYXNlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkIGZvciBhbnkgY29uZGl0aW9uLlxuICAgKiBAdGhyb3dzIElmIGEgam9iIGlzIHByb3ZpZGVkIHdpdGhvdXQgYSBqb2Igc3RhdGUsIG9yIGlmIGEgY3Jhd2xlciBpcyBwcm92aWRlZCB3aXRob3V0IGEgY3Jhd2xlciBzdGF0ZSBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb25kaXRpb25hbFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnQ09ORElUSU9OQUwnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBwcmVkaWNhdGU6IHRoaXMucmVuZGVyUHJlZGljYXRlKG9wdGlvbnMpLFxuICAgICAgZXZlbnRCYXRjaGluZ0NvbmRpdGlvbjogdGhpcy5yZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKG9wdGlvbnMpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckFjdGlvbihhY3Rpb246IEFjdGlvbik6IENmblRyaWdnZXIuQWN0aW9uUHJvcGVydHkge1xuICAgIC8vIFZhbGlkYXRlIHRoYXQgZWl0aGVyIGpvYiBvciBjcmF3bGVyIGlzIHByb3ZpZGVkLCBidXQgbm90IGJvdGhcbiAgICBpZiAoIWFjdGlvbi5qb2IgJiYgIWFjdGlvbi5jcmF3bGVyKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQWN0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoYWN0aW9uLmpvYiAmJiBhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YEFjdGlvbkpvYkFuZENyYXdsZXJNdXR1YWxseUV4Y2x1c2l2ZWAsICdZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBhIGpvYiBhbmQgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBqb2JOYW1lOiBhY3Rpb24uam9iPy5qb2JOYW1lLFxuICAgICAgYXJndW1lbnRzOiBhY3Rpb24uYXJndW1lbnRzLFxuICAgICAgdGltZW91dDogYWN0aW9uLnRpbWVvdXQ/LnRvTWludXRlcygpLFxuICAgICAgc2VjdXJpdHlDb25maWd1cmF0aW9uOiBhY3Rpb24uc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgY3Jhd2xlck5hbWU6IGFjdGlvbi5jcmF3bGVyPy5uYW1lLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWRpY2F0ZShwcm9wczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuUHJlZGljYXRlUHJvcGVydHkge1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcm9wcy5wcmVkaWNhdGUuY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiB7XG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgICBpZiAoIWNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iT3JDcmF3bGVyUmVxdWlyZWRgLCAnWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicsIHRoaXMpO1xuICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uam9iICYmIGNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iQW5kQ3Jhd2xlck11dHVhbGx5RXhjbHVzaXZlYCwgJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24uJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgam9iIGlzIHByb3ZpZGVkLCBqb2Igc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5zdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcihsaXRgQ29uZGl0aW9uSm9iU3RhdGVSZXF1aXJlZGAsICdJZiB5b3UgcHJvdmlkZSBhIGpvYiBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgam9iIHN0YXRlLicsIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGlmIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGNyYXdsZXIgc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5jcmF3bGVyTmFtZSAmJiAhY29uZGl0aW9uLmNyYXdsU3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IobGl0YENvbmRpdGlvbkNyYXdsZXJTdGF0ZVJlcXVpcmVkYCwgJ0lmIHlvdSBwcm92aWRlIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgY3Jhd2xlciBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9naWNhbE9wZXJhdG9yOiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID8/IENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvci5FUVVBTFMsXG4gICAgICAgIGpvYk5hbWU6IGNvbmRpdGlvbi5qb2I/LmpvYk5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZTogY29uZGl0aW9uLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY3Jhd2xlck5hbWU6IGNvbmRpdGlvbi5jcmF3bGVyTmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsU3RhdGU6IGNvbmRpdGlvbi5jcmF3bFN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9naWNhbDogcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lmxlbmd0aCA9PT0gMSA/IHVuZGVmaW5lZCA6IHByb3BzLnByZWRpY2F0ZS5sb2dpY2FsID8/IFByZWRpY2F0ZUxvZ2ljYWwuQU5ELFxuICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKHByb3BzOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5FdmVudEJhdGNoaW5nQ29uZGl0aW9uUHJvcGVydHkge1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFNpemUgPSAxO1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFdpbmRvdyA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCkudG9TZWNvbmRzKCk7XG5cbiAgICBpZiAoIXByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhdGNoU2l6ZTogZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgICAgYmF0Y2hXaW5kb3c6IGRlZmF1bHRCYXRjaFdpbmRvdyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhdGNoU2l6ZTogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFNpemUgfHwgZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoV2luZG93OiBwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uLmJhdGNoV2luZG93Py50b1NlY29uZHMoKSB8fCBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdvcmtmbG93QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3dvcmtmbG93JyxcbiAgICAgIHJlc291cmNlTmFtZTogd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIEFXUyBHbHVlIFdvcmtmbG93cyBhbmQgVHJpZ2dlcnMuXG4gKlxuICogQVdTIEdsdWUgV29ya2Zsb3dzIGFyZSBvcmNoZXN0cmF0aW9uIHNlcnZpY2VzIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSwgbWFuYWdlLCBhbmQgbW9uaXRvciBjb21wbGV4IGV4dHJhY3QsIHRyYW5zZm9ybSwgYW5kIGxvYWQgKEVUTCkgYWN0aXZpdGllcyBpbnZvbHZpbmcgbXVsdGlwbGUgY3Jhd2xlcnMsIGpvYnMsIGFuZCB0cmlnZ2Vycy4gV29ya2Zsb3dzIGFyZSBkZXNpZ25lZCB0byBhbGxvdyB5b3UgdG8gbWFuYWdlIGludGVyZGVwZW5kZW50IGpvYnMgYW5kIGNyYXdsZXJzIGFzIGEgc2luZ2xlIHVuaXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gb3JjaGVzdHJhdGUgYW5kIG1vbml0b3IgY29tcGxleCBFVEwgcGlwZWxpbmVzLlxuICpcbiAqIFRyaWdnZXJzIGFyZSB1c2VkIHRvIGluaXRpYXRlIGFuIEFXUyBHbHVlIFdvcmtmbG93LiBZb3UgY2FuIGNvbmZpZ3VyZSBkaWZmZXJlbnQgdHlwZXMgb2YgdHJpZ2dlcnMsIHN1Y2ggYXMgb24tZGVtYW5kLCBzY2hlZHVsZWQsIGV2ZW50LWJhc2VkLCBvciBjb25kaXRpb25hbCB0cmlnZ2VycywgdG8gc3RhcnQgeW91ciBXb3JrZmxvdyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGV2ZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICogY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJyk7XG4gKlxuICogLy8gQ3JlYXRlIGEgR2x1ZSBKb2JcbiAqIGRlY2xhcmUgY29uc3Qgcm9sZTogaWFtLklSb2xlO1xuICogZGVjbGFyZSBjb25zdCBzY3JpcHQ6IGdsdWUuQ29kZTtcbiAqIGNvbnN0IGpvYiA9IG5ldyBnbHVlLlB5U3BhcmtTdHJlYW1pbmdKb2Ioc3RhY2ssICdJbXBvcnRlZEpvYicsIHsgcm9sZSwgc2NyaXB0IH0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgV29ya2Zsb3dcbiAqIGNvbnN0IHdvcmtmbG93ID0gbmV3IGdsdWUuV29ya2Zsb3coc3RhY2ssICdUZXN0V29ya2Zsb3cnKTtcbiAqXG4gKiAvLyBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIFdvcmtmbG93XG4gKiB3b3JrZmxvdy5hZGRPbkRlbWFuZFRyaWdnZXIoJ09uRGVtYW5kVHJpZ2dlcicsIHtcbiAqICAgYWN0aW9uczogW3sgam9iOiBqb2IgfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLldvcmtmbG93JztcblxuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dOYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCB3b3JrZmxvd0Fybjogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tV29ya2Zsb3dBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLmV4dHJhY3ROYW1lRnJvbUFybihzY29wZSwgd29ya2Zsb3dBcm4pLFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHdvcmtmbG93XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogV29ya2Zsb3dBdHRyaWJ1dGVzKTogSVdvcmtmbG93IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93TmFtZSA9IGF0dHJzLndvcmtmbG93TmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd0FybiA9IHRoaXMuYnVpbGRXb3JrZmxvd0FybihzY29wZSwgdGhpcy53b3JrZmxvd05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5Xb3JrZmxvdztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogV29ya2Zsb3dQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcz8ud29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5Xb3JrZmxvdyh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcz8uZGVzY3JpcHRpb24sXG4gICAgICBkZWZhdWx0UnVuUHJvcGVydGllczogcHJvcHM/LmRlZmF1bHRSdW5Qcm9wZXJ0aWVzLFxuICAgICAgbWF4Q29uY3VycmVudFJ1bnM6IHByb3BzPy5tYXhDb25jdXJyZW50UnVucyxcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHdvcmtmbG93TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCB3b3JrZmxvd0FybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJ1aWxkV29ya2Zsb3dBcm4odGhpcywgdGhpcy53b3JrZmxvd05hbWUpO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.261.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.
|
|
85
|
+
"@aws-cdk/cdk-build-tools": "2.261.0-alpha.0",
|
|
86
86
|
"@aws-cdk/integ-runner": "^2.199.0",
|
|
87
|
-
"@aws-cdk/integ-tests-alpha": "2.
|
|
88
|
-
"@aws-cdk/pkglint": "2.
|
|
87
|
+
"@aws-cdk/integ-tests-alpha": "2.261.0-alpha.0",
|
|
88
|
+
"@aws-cdk/pkglint": "2.261.0-alpha.0",
|
|
89
89
|
"@types/jest": "^29.5.14",
|
|
90
|
-
"aws-cdk-lib": "2.
|
|
90
|
+
"aws-cdk-lib": "2.261.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.
|
|
96
|
+
"aws-cdk-lib": "^2.261.0",
|
|
97
97
|
"constructs": "^10.5.0"
|
|
98
98
|
},
|
|
99
99
|
"engines": {
|