cdk8s-aws-cdk 0.0.5
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/.gitattributes +21 -0
- package/.jsii +4392 -0
- package/API.md +2204 -0
- package/LICENSE +202 -0
- package/README.md +201 -0
- package/changelog.md +2 -0
- package/examples/rds-db-instance/README.md +0 -0
- package/examples/rds-db-instance/cdk.out/RdsDBInstanceStack.assets.json +19 -0
- package/examples/rds-db-instance/cdk.out/RdsDBInstanceStack.template.json +86 -0
- package/examples/rds-db-instance/cdk.out/cdk.out +1 -0
- package/examples/rds-db-instance/cdk.out/manifest.json +230 -0
- package/examples/rds-db-instance/cdk.out/tree.json +171 -0
- package/examples/rds-db-instance/main.ts +136 -0
- package/lib/adapter.d.ts +37 -0
- package/lib/adapter.d.ts.map +1 -0
- package/lib/adapter.js +196 -0
- package/lib/chart.d.ts +19 -0
- package/lib/chart.d.ts.map +1 -0
- package/lib/chart.js +63 -0
- package/lib/imports/cloudcontrol.services.k8s.aws.d.ts +106 -0
- package/lib/imports/cloudcontrol.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/cloudcontrol.services.k8s.aws.js +92 -0
- package/lib/imports/dynamotables-dynamodb.services.k8s.aws.d.ts +430 -0
- package/lib/imports/dynamotables-dynamodb.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/dynamotables-dynamodb.services.k8s.aws.js +314 -0
- package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.d.ts +173 -0
- package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/ec2securitygroups-ec2.services.k8s.aws.js +156 -0
- package/lib/imports/fieldexports-services.k8s.aws.d.ts +159 -0
- package/lib/imports/fieldexports-services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/fieldexports-services.k8s.aws.js +151 -0
- package/lib/imports/iampolicies-iam.services.k8s.aws.d.ts +135 -0
- package/lib/imports/iampolicies-iam.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/iampolicies-iam.services.k8s.aws.js +109 -0
- package/lib/imports/iamroles-iam.services.k8s.aws.d.ts +143 -0
- package/lib/imports/iamroles-iam.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/iamroles-iam.services.k8s.aws.js +112 -0
- package/lib/imports/k8s.d.ts +18619 -0
- package/lib/imports/k8s.d.ts.map +1 -0
- package/lib/imports/k8s.js +14701 -0
- package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.d.ts +280 -0
- package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/lambdaeventsourcemappings-lambda.services.k8s.aws.js +183 -0
- package/lib/imports/lambdafunctions-lambda.services.k8s.aws.d.ts +343 -0
- package/lib/imports/lambdafunctions-lambda.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/lambdafunctions-lambda.services.k8s.aws.js +225 -0
- package/lib/imports/rdsdbinstances-rds.services.k8s.aws.d.ts +790 -0
- package/lib/imports/rdsdbinstances-rds.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/rdsdbinstances-rds.services.k8s.aws.js +217 -0
- package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.d.ts +114 -0
- package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/rdsdbsubnetgroups-rds.services.k8s.aws.js +108 -0
- package/lib/imports/s3buckets-s3.services.k8s.aws.d.ts +2253 -0
- package/lib/imports/s3buckets-s3.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/s3buckets-s3.services.k8s.aws.js +1672 -0
- package/lib/imports/sfnmachines-sfn.services.k8s.aws.d.ts +203 -0
- package/lib/imports/sfnmachines-sfn.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/sfnmachines-sfn.services.k8s.aws.js +174 -0
- package/lib/imports/snstopics-sns.services.k8s.aws.d.ts +106 -0
- package/lib/imports/snstopics-sns.services.k8s.aws.d.ts.map +1 -0
- package/lib/imports/snstopics-sns.services.k8s.aws.js +110 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +16 -0
- package/lib/mappers/base.d.ts +23 -0
- package/lib/mappers/base.d.ts.map +1 -0
- package/lib/mappers/base.js +20 -0
- package/lib/mappers/ec2-security-group.d.ts +9 -0
- package/lib/mappers/ec2-security-group.d.ts.map +1 -0
- package/lib/mappers/ec2-security-group.js +33 -0
- package/lib/mappers/iam-policy.d.ts +9 -0
- package/lib/mappers/iam-policy.d.ts.map +1 -0
- package/lib/mappers/iam-policy.js +32 -0
- package/lib/mappers/iam-role.d.ts +9 -0
- package/lib/mappers/iam-role.d.ts.map +1 -0
- package/lib/mappers/iam-role.js +34 -0
- package/lib/mappers/index.d.ts +9 -0
- package/lib/mappers/index.d.ts.map +1 -0
- package/lib/mappers/index.js +21 -0
- package/lib/mappers/lambda-function.d.ts +9 -0
- package/lib/mappers/lambda-function.d.ts.map +1 -0
- package/lib/mappers/lambda-function.js +37 -0
- package/lib/mappers/rds-db-instance.d.ts +10 -0
- package/lib/mappers/rds-db-instance.d.ts.map +1 -0
- package/lib/mappers/rds-db-instance.js +65 -0
- package/lib/mappers/rds-db-subnet-group.d.ts +9 -0
- package/lib/mappers/rds-db-subnet-group.d.ts.map +1 -0
- package/lib/mappers/rds-db-subnet-group.js +34 -0
- package/lib/mappers/s3-bucket.d.ts +9 -0
- package/lib/mappers/s3-bucket.d.ts.map +1 -0
- package/lib/mappers/s3-bucket.js +53 -0
- package/package.json +129 -0
- package/releasetag.txt +1 -0
- package/version.txt +1 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
/**
|
|
4
|
+
* Function is the Schema for the Functions API
|
|
5
|
+
*
|
|
6
|
+
* @schema Function
|
|
7
|
+
*/
|
|
8
|
+
export declare class Function extends ApiObject {
|
|
9
|
+
/**
|
|
10
|
+
* Returns the apiVersion and kind for "Function"
|
|
11
|
+
*/
|
|
12
|
+
static readonly GVK: GroupVersionKind;
|
|
13
|
+
/**
|
|
14
|
+
* Renders a Kubernetes manifest for "Function".
|
|
15
|
+
*
|
|
16
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
17
|
+
*
|
|
18
|
+
* @param props initialization props
|
|
19
|
+
*/
|
|
20
|
+
static manifest(props?: FunctionProps): any;
|
|
21
|
+
/**
|
|
22
|
+
* Defines a "Function" API object
|
|
23
|
+
* @param scope the scope in which to define this object
|
|
24
|
+
* @param id a scope-local name for the object
|
|
25
|
+
* @param props initialization props
|
|
26
|
+
*/
|
|
27
|
+
constructor(scope: Construct, id: string, props?: FunctionProps);
|
|
28
|
+
/**
|
|
29
|
+
* Renders the object to Kubernetes JSON.
|
|
30
|
+
*/
|
|
31
|
+
toJson(): any;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Function is the Schema for the Functions API
|
|
35
|
+
*
|
|
36
|
+
* @schema Function
|
|
37
|
+
*/
|
|
38
|
+
export interface FunctionProps {
|
|
39
|
+
/**
|
|
40
|
+
* @schema Function#metadata
|
|
41
|
+
*/
|
|
42
|
+
readonly metadata?: ApiObjectMetadata;
|
|
43
|
+
/**
|
|
44
|
+
* FunctionSpec defines the desired state of Function.
|
|
45
|
+
*
|
|
46
|
+
* @schema Function#spec
|
|
47
|
+
*/
|
|
48
|
+
readonly spec?: FunctionSpec;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Converts an object of type 'FunctionProps' to JSON representation.
|
|
52
|
+
*/
|
|
53
|
+
export declare function toJson_FunctionProps(obj: FunctionProps | undefined): Record<string, any> | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* FunctionSpec defines the desired state of Function.
|
|
56
|
+
*
|
|
57
|
+
* @schema FunctionSpec
|
|
58
|
+
*/
|
|
59
|
+
export interface FunctionSpec {
|
|
60
|
+
/**
|
|
61
|
+
* The instruction set architecture that the function supports. Enter a string array with one of the valid values. The default value is x86_64.
|
|
62
|
+
*
|
|
63
|
+
* @schema FunctionSpec#architectures
|
|
64
|
+
*/
|
|
65
|
+
readonly architectures?: string[];
|
|
66
|
+
/**
|
|
67
|
+
* The code for the function.
|
|
68
|
+
*
|
|
69
|
+
* @schema FunctionSpec#code
|
|
70
|
+
*/
|
|
71
|
+
readonly code: FunctionSpecCode;
|
|
72
|
+
/**
|
|
73
|
+
* To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function.
|
|
74
|
+
*
|
|
75
|
+
* @schema FunctionSpec#codeSigningConfigARN
|
|
76
|
+
*/
|
|
77
|
+
readonly codeSigningConfigArn?: string;
|
|
78
|
+
/**
|
|
79
|
+
* A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
|
|
80
|
+
*
|
|
81
|
+
* @schema FunctionSpec#deadLetterConfig
|
|
82
|
+
*/
|
|
83
|
+
readonly deadLetterConfig?: FunctionSpecDeadLetterConfig;
|
|
84
|
+
/**
|
|
85
|
+
* A description of the function.
|
|
86
|
+
*
|
|
87
|
+
* @schema FunctionSpec#description
|
|
88
|
+
*/
|
|
89
|
+
readonly description?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Environment variables that are accessible from function code during execution.
|
|
92
|
+
*
|
|
93
|
+
* @schema FunctionSpec#environment
|
|
94
|
+
*/
|
|
95
|
+
readonly environment?: FunctionSpecEnvironment;
|
|
96
|
+
/**
|
|
97
|
+
* Connection settings for an Amazon EFS file system.
|
|
98
|
+
*
|
|
99
|
+
* @schema FunctionSpec#fileSystemConfigs
|
|
100
|
+
*/
|
|
101
|
+
readonly fileSystemConfigs?: FunctionSpecFileSystemConfigs[];
|
|
102
|
+
/**
|
|
103
|
+
* The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model (https://docs.aws.amazon.com/lambda/latest/dg/programming-model-v2.html).
|
|
104
|
+
*
|
|
105
|
+
* @schema FunctionSpec#handler
|
|
106
|
+
*/
|
|
107
|
+
readonly handler?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) that override the values in the container image Dockerfile.
|
|
110
|
+
*
|
|
111
|
+
* @schema FunctionSpec#imageConfig
|
|
112
|
+
*/
|
|
113
|
+
readonly imageConfig?: FunctionSpecImageConfig;
|
|
114
|
+
/**
|
|
115
|
+
* The ARN of the Amazon Web Services Key Management Service (KMS) key that's used to encrypt your function's environment variables. If it's not provided, Lambda uses a default service key.
|
|
116
|
+
*
|
|
117
|
+
* @schema FunctionSpec#kmsKeyARN
|
|
118
|
+
*/
|
|
119
|
+
readonly kmsKeyArn?: string;
|
|
120
|
+
/**
|
|
121
|
+
* A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) to add to the function's execution environment. Specify each layer by its ARN, including the version.
|
|
122
|
+
*
|
|
123
|
+
* @schema FunctionSpec#layers
|
|
124
|
+
*/
|
|
125
|
+
readonly layers?: string[];
|
|
126
|
+
/**
|
|
127
|
+
* The amount of memory available to the function (https://docs.aws.amazon.com/lambda/latest/dg/configuration-memory.html) at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB.
|
|
128
|
+
*
|
|
129
|
+
* @schema FunctionSpec#memorySize
|
|
130
|
+
*/
|
|
131
|
+
readonly memorySize?: number;
|
|
132
|
+
/**
|
|
133
|
+
* The name of the Lambda function.
|
|
134
|
+
* Name formats
|
|
135
|
+
* * Function name - my-function.
|
|
136
|
+
* * Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.
|
|
137
|
+
* * Partial ARN - 123456789012:function:my-function.
|
|
138
|
+
* The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.
|
|
139
|
+
*
|
|
140
|
+
* @schema FunctionSpec#name
|
|
141
|
+
*/
|
|
142
|
+
readonly name: string;
|
|
143
|
+
/**
|
|
144
|
+
* The type of deployment package. Set to Image for container image and set Zip for ZIP archive.
|
|
145
|
+
*
|
|
146
|
+
* @schema FunctionSpec#packageType
|
|
147
|
+
*/
|
|
148
|
+
readonly packageType?: string;
|
|
149
|
+
/**
|
|
150
|
+
* Set to true to publish the first version of the function during creation.
|
|
151
|
+
*
|
|
152
|
+
* @schema FunctionSpec#publish
|
|
153
|
+
*/
|
|
154
|
+
readonly publish?: boolean;
|
|
155
|
+
/**
|
|
156
|
+
* The number of simultaneous executions to reserve for the function.
|
|
157
|
+
*
|
|
158
|
+
* @schema FunctionSpec#reservedConcurrentExecutions
|
|
159
|
+
*/
|
|
160
|
+
readonly reservedConcurrentExecutions?: number;
|
|
161
|
+
/**
|
|
162
|
+
* The Amazon Resource Name (ARN) of the function's execution role.
|
|
163
|
+
*
|
|
164
|
+
* @schema FunctionSpec#role
|
|
165
|
+
*/
|
|
166
|
+
readonly role: string;
|
|
167
|
+
/**
|
|
168
|
+
* The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html).
|
|
169
|
+
*
|
|
170
|
+
* @schema FunctionSpec#runtime
|
|
171
|
+
*/
|
|
172
|
+
readonly runtime?: string;
|
|
173
|
+
/**
|
|
174
|
+
* A list of tags (https://docs.aws.amazon.com/lambda/latest/dg/tagging.html) to apply to the function.
|
|
175
|
+
*
|
|
176
|
+
* @schema FunctionSpec#tags
|
|
177
|
+
*/
|
|
178
|
+
readonly tags?: {
|
|
179
|
+
[key: string]: string;
|
|
180
|
+
};
|
|
181
|
+
/**
|
|
182
|
+
* The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For additional information, see Lambda execution environment (https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html).
|
|
183
|
+
*
|
|
184
|
+
* @schema FunctionSpec#timeout
|
|
185
|
+
*/
|
|
186
|
+
readonly timeout?: number;
|
|
187
|
+
/**
|
|
188
|
+
* Set Mode to Active to sample and trace a subset of incoming requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html).
|
|
189
|
+
*
|
|
190
|
+
* @schema FunctionSpec#tracingConfig
|
|
191
|
+
*/
|
|
192
|
+
readonly tracingConfig?: FunctionSpecTracingConfig;
|
|
193
|
+
/**
|
|
194
|
+
* For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
|
|
195
|
+
*
|
|
196
|
+
* @schema FunctionSpec#vpcConfig
|
|
197
|
+
*/
|
|
198
|
+
readonly vpcConfig?: FunctionSpecVpcConfig;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Converts an object of type 'FunctionSpec' to JSON representation.
|
|
202
|
+
*/
|
|
203
|
+
export declare function toJson_FunctionSpec(obj: FunctionSpec | undefined): Record<string, any> | undefined;
|
|
204
|
+
/**
|
|
205
|
+
* The code for the function.
|
|
206
|
+
*
|
|
207
|
+
* @schema FunctionSpecCode
|
|
208
|
+
*/
|
|
209
|
+
export interface FunctionSpecCode {
|
|
210
|
+
/**
|
|
211
|
+
* @schema FunctionSpecCode#imageURI
|
|
212
|
+
*/
|
|
213
|
+
readonly imageUri?: string;
|
|
214
|
+
/**
|
|
215
|
+
* @schema FunctionSpecCode#s3Bucket
|
|
216
|
+
*/
|
|
217
|
+
readonly s3Bucket?: string;
|
|
218
|
+
/**
|
|
219
|
+
* @schema FunctionSpecCode#s3Key
|
|
220
|
+
*/
|
|
221
|
+
readonly s3Key?: string;
|
|
222
|
+
/**
|
|
223
|
+
* @schema FunctionSpecCode#s3ObjectVersion
|
|
224
|
+
*/
|
|
225
|
+
readonly s3ObjectVersion?: string;
|
|
226
|
+
/**
|
|
227
|
+
* @schema FunctionSpecCode#zipFile
|
|
228
|
+
*/
|
|
229
|
+
readonly zipFile?: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Converts an object of type 'FunctionSpecCode' to JSON representation.
|
|
233
|
+
*/
|
|
234
|
+
export declare function toJson_FunctionSpecCode(obj: FunctionSpecCode | undefined): Record<string, any> | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues (https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq).
|
|
237
|
+
*
|
|
238
|
+
* @schema FunctionSpecDeadLetterConfig
|
|
239
|
+
*/
|
|
240
|
+
export interface FunctionSpecDeadLetterConfig {
|
|
241
|
+
/**
|
|
242
|
+
* @schema FunctionSpecDeadLetterConfig#targetARN
|
|
243
|
+
*/
|
|
244
|
+
readonly targetArn?: string;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Converts an object of type 'FunctionSpecDeadLetterConfig' to JSON representation.
|
|
248
|
+
*/
|
|
249
|
+
export declare function toJson_FunctionSpecDeadLetterConfig(obj: FunctionSpecDeadLetterConfig | undefined): Record<string, any> | undefined;
|
|
250
|
+
/**
|
|
251
|
+
* Environment variables that are accessible from function code during execution.
|
|
252
|
+
*
|
|
253
|
+
* @schema FunctionSpecEnvironment
|
|
254
|
+
*/
|
|
255
|
+
export interface FunctionSpecEnvironment {
|
|
256
|
+
/**
|
|
257
|
+
* @schema FunctionSpecEnvironment#variables
|
|
258
|
+
*/
|
|
259
|
+
readonly variables?: {
|
|
260
|
+
[key: string]: string;
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Converts an object of type 'FunctionSpecEnvironment' to JSON representation.
|
|
265
|
+
*/
|
|
266
|
+
export declare function toJson_FunctionSpecEnvironment(obj: FunctionSpecEnvironment | undefined): Record<string, any> | undefined;
|
|
267
|
+
/**
|
|
268
|
+
* Details about the connection between a Lambda function and an Amazon EFS file system (https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html).
|
|
269
|
+
*
|
|
270
|
+
* @schema FunctionSpecFileSystemConfigs
|
|
271
|
+
*/
|
|
272
|
+
export interface FunctionSpecFileSystemConfigs {
|
|
273
|
+
/**
|
|
274
|
+
* @schema FunctionSpecFileSystemConfigs#arn
|
|
275
|
+
*/
|
|
276
|
+
readonly arn?: string;
|
|
277
|
+
/**
|
|
278
|
+
* @schema FunctionSpecFileSystemConfigs#localMountPath
|
|
279
|
+
*/
|
|
280
|
+
readonly localMountPath?: string;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Converts an object of type 'FunctionSpecFileSystemConfigs' to JSON representation.
|
|
284
|
+
*/
|
|
285
|
+
export declare function toJson_FunctionSpecFileSystemConfigs(obj: FunctionSpecFileSystemConfigs | undefined): Record<string, any> | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* Container image configuration values (https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings) that override the values in the container image Dockerfile.
|
|
288
|
+
*
|
|
289
|
+
* @schema FunctionSpecImageConfig
|
|
290
|
+
*/
|
|
291
|
+
export interface FunctionSpecImageConfig {
|
|
292
|
+
/**
|
|
293
|
+
* @schema FunctionSpecImageConfig#command
|
|
294
|
+
*/
|
|
295
|
+
readonly command?: string[];
|
|
296
|
+
/**
|
|
297
|
+
* @schema FunctionSpecImageConfig#entryPoint
|
|
298
|
+
*/
|
|
299
|
+
readonly entryPoint?: string[];
|
|
300
|
+
/**
|
|
301
|
+
* @schema FunctionSpecImageConfig#workingDirectory
|
|
302
|
+
*/
|
|
303
|
+
readonly workingDirectory?: string;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Converts an object of type 'FunctionSpecImageConfig' to JSON representation.
|
|
307
|
+
*/
|
|
308
|
+
export declare function toJson_FunctionSpecImageConfig(obj: FunctionSpecImageConfig | undefined): Record<string, any> | undefined;
|
|
309
|
+
/**
|
|
310
|
+
* Set Mode to Active to sample and trace a subset of incoming requests with X-Ray (https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html).
|
|
311
|
+
*
|
|
312
|
+
* @schema FunctionSpecTracingConfig
|
|
313
|
+
*/
|
|
314
|
+
export interface FunctionSpecTracingConfig {
|
|
315
|
+
/**
|
|
316
|
+
* @schema FunctionSpecTracingConfig#mode
|
|
317
|
+
*/
|
|
318
|
+
readonly mode?: string;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Converts an object of type 'FunctionSpecTracingConfig' to JSON representation.
|
|
322
|
+
*/
|
|
323
|
+
export declare function toJson_FunctionSpecTracingConfig(obj: FunctionSpecTracingConfig | undefined): Record<string, any> | undefined;
|
|
324
|
+
/**
|
|
325
|
+
* For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
|
|
326
|
+
*
|
|
327
|
+
* @schema FunctionSpecVpcConfig
|
|
328
|
+
*/
|
|
329
|
+
export interface FunctionSpecVpcConfig {
|
|
330
|
+
/**
|
|
331
|
+
* @schema FunctionSpecVpcConfig#securityGroupIDs
|
|
332
|
+
*/
|
|
333
|
+
readonly securityGroupIDs?: string[];
|
|
334
|
+
/**
|
|
335
|
+
* @schema FunctionSpecVpcConfig#subnetIDs
|
|
336
|
+
*/
|
|
337
|
+
readonly subnetIDs?: string[];
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Converts an object of type 'FunctionSpecVpcConfig' to JSON representation.
|
|
341
|
+
*/
|
|
342
|
+
export declare function toJson_FunctionSpecVpcConfig(obj: FunctionSpecVpcConfig | undefined): Record<string, any> | undefined;
|
|
343
|
+
//# sourceMappingURL=lambdafunctions-lambda.services.k8s.aws.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdafunctions-lambda.services.k8s.aws.d.ts","sourceRoot":"","sources":["../../src/imports/lambdafunctions-lambda.services.k8s.aws.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toJson_FunctionSpecVpcConfig = exports.toJson_FunctionSpecTracingConfig = exports.toJson_FunctionSpecImageConfig = exports.toJson_FunctionSpecFileSystemConfigs = exports.toJson_FunctionSpecEnvironment = exports.toJson_FunctionSpecDeadLetterConfig = exports.toJson_FunctionSpecCode = exports.toJson_FunctionSpec = exports.toJson_FunctionProps = exports.Function = void 0;
|
|
4
|
+
// generated by cdk8s
|
|
5
|
+
const cdk8s_1 = require("cdk8s");
|
|
6
|
+
/**
|
|
7
|
+
* Function is the Schema for the Functions API
|
|
8
|
+
*
|
|
9
|
+
* @schema Function
|
|
10
|
+
*/
|
|
11
|
+
class Function extends cdk8s_1.ApiObject {
|
|
12
|
+
/**
|
|
13
|
+
* Defines a "Function" API object
|
|
14
|
+
* @param scope the scope in which to define this object
|
|
15
|
+
* @param id a scope-local name for the object
|
|
16
|
+
* @param props initialization props
|
|
17
|
+
*/
|
|
18
|
+
constructor(scope, id, props = {}) {
|
|
19
|
+
super(scope, id, {
|
|
20
|
+
...Function.GVK,
|
|
21
|
+
...props,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Renders a Kubernetes manifest for "Function".
|
|
26
|
+
*
|
|
27
|
+
* This can be used to inline resource manifests inside other objects (e.g. as templates).
|
|
28
|
+
*
|
|
29
|
+
* @param props initialization props
|
|
30
|
+
*/
|
|
31
|
+
static manifest(props = {}) {
|
|
32
|
+
return {
|
|
33
|
+
...Function.GVK,
|
|
34
|
+
...toJson_FunctionProps(props),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Renders the object to Kubernetes JSON.
|
|
39
|
+
*/
|
|
40
|
+
toJson() {
|
|
41
|
+
const resolved = super.toJson();
|
|
42
|
+
return {
|
|
43
|
+
...Function.GVK,
|
|
44
|
+
...toJson_FunctionProps(resolved),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.Function = Function;
|
|
49
|
+
/**
|
|
50
|
+
* Returns the apiVersion and kind for "Function"
|
|
51
|
+
*/
|
|
52
|
+
Function.GVK = {
|
|
53
|
+
apiVersion: 'lambda.services.k8s.aws/v1alpha1',
|
|
54
|
+
kind: 'Function',
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Converts an object of type 'FunctionProps' to JSON representation.
|
|
58
|
+
*/
|
|
59
|
+
/* eslint-disable max-len, quote-props */
|
|
60
|
+
function toJson_FunctionProps(obj) {
|
|
61
|
+
if (obj === undefined) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const result = {
|
|
65
|
+
'metadata': obj.metadata,
|
|
66
|
+
'spec': toJson_FunctionSpec(obj.spec),
|
|
67
|
+
};
|
|
68
|
+
// filter undefined values
|
|
69
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
70
|
+
}
|
|
71
|
+
exports.toJson_FunctionProps = toJson_FunctionProps;
|
|
72
|
+
/**
|
|
73
|
+
* Converts an object of type 'FunctionSpec' to JSON representation.
|
|
74
|
+
*/
|
|
75
|
+
/* eslint-disable max-len, quote-props */
|
|
76
|
+
function toJson_FunctionSpec(obj) {
|
|
77
|
+
var _a, _b, _c;
|
|
78
|
+
if (obj === undefined) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
const result = {
|
|
82
|
+
'architectures': (_a = obj.architectures) === null || _a === void 0 ? void 0 : _a.map(y => y),
|
|
83
|
+
'code': toJson_FunctionSpecCode(obj.code),
|
|
84
|
+
'codeSigningConfigARN': obj.codeSigningConfigArn,
|
|
85
|
+
'deadLetterConfig': toJson_FunctionSpecDeadLetterConfig(obj.deadLetterConfig),
|
|
86
|
+
'description': obj.description,
|
|
87
|
+
'environment': toJson_FunctionSpecEnvironment(obj.environment),
|
|
88
|
+
'fileSystemConfigs': (_b = obj.fileSystemConfigs) === null || _b === void 0 ? void 0 : _b.map(y => toJson_FunctionSpecFileSystemConfigs(y)),
|
|
89
|
+
'handler': obj.handler,
|
|
90
|
+
'imageConfig': toJson_FunctionSpecImageConfig(obj.imageConfig),
|
|
91
|
+
'kmsKeyARN': obj.kmsKeyArn,
|
|
92
|
+
'layers': (_c = obj.layers) === null || _c === void 0 ? void 0 : _c.map(y => y),
|
|
93
|
+
'memorySize': obj.memorySize,
|
|
94
|
+
'name': obj.name,
|
|
95
|
+
'packageType': obj.packageType,
|
|
96
|
+
'publish': obj.publish,
|
|
97
|
+
'reservedConcurrentExecutions': obj.reservedConcurrentExecutions,
|
|
98
|
+
'role': obj.role,
|
|
99
|
+
'runtime': obj.runtime,
|
|
100
|
+
'tags': ((obj.tags) === undefined) ? undefined : (Object.entries(obj.tags).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {})),
|
|
101
|
+
'timeout': obj.timeout,
|
|
102
|
+
'tracingConfig': toJson_FunctionSpecTracingConfig(obj.tracingConfig),
|
|
103
|
+
'vpcConfig': toJson_FunctionSpecVpcConfig(obj.vpcConfig),
|
|
104
|
+
};
|
|
105
|
+
// filter undefined values
|
|
106
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
107
|
+
}
|
|
108
|
+
exports.toJson_FunctionSpec = toJson_FunctionSpec;
|
|
109
|
+
/**
|
|
110
|
+
* Converts an object of type 'FunctionSpecCode' to JSON representation.
|
|
111
|
+
*/
|
|
112
|
+
/* eslint-disable max-len, quote-props */
|
|
113
|
+
function toJson_FunctionSpecCode(obj) {
|
|
114
|
+
if (obj === undefined) {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
const result = {
|
|
118
|
+
'imageURI': obj.imageUri,
|
|
119
|
+
's3Bucket': obj.s3Bucket,
|
|
120
|
+
's3Key': obj.s3Key,
|
|
121
|
+
's3ObjectVersion': obj.s3ObjectVersion,
|
|
122
|
+
'zipFile': obj.zipFile,
|
|
123
|
+
};
|
|
124
|
+
// filter undefined values
|
|
125
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
126
|
+
}
|
|
127
|
+
exports.toJson_FunctionSpecCode = toJson_FunctionSpecCode;
|
|
128
|
+
/**
|
|
129
|
+
* Converts an object of type 'FunctionSpecDeadLetterConfig' to JSON representation.
|
|
130
|
+
*/
|
|
131
|
+
/* eslint-disable max-len, quote-props */
|
|
132
|
+
function toJson_FunctionSpecDeadLetterConfig(obj) {
|
|
133
|
+
if (obj === undefined) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const result = {
|
|
137
|
+
'targetARN': obj.targetArn,
|
|
138
|
+
};
|
|
139
|
+
// filter undefined values
|
|
140
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
141
|
+
}
|
|
142
|
+
exports.toJson_FunctionSpecDeadLetterConfig = toJson_FunctionSpecDeadLetterConfig;
|
|
143
|
+
/**
|
|
144
|
+
* Converts an object of type 'FunctionSpecEnvironment' to JSON representation.
|
|
145
|
+
*/
|
|
146
|
+
/* eslint-disable max-len, quote-props */
|
|
147
|
+
function toJson_FunctionSpecEnvironment(obj) {
|
|
148
|
+
if (obj === undefined) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
const result = {
|
|
152
|
+
'variables': ((obj.variables) === undefined) ? undefined : (Object.entries(obj.variables).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {})),
|
|
153
|
+
};
|
|
154
|
+
// filter undefined values
|
|
155
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
156
|
+
}
|
|
157
|
+
exports.toJson_FunctionSpecEnvironment = toJson_FunctionSpecEnvironment;
|
|
158
|
+
/**
|
|
159
|
+
* Converts an object of type 'FunctionSpecFileSystemConfigs' to JSON representation.
|
|
160
|
+
*/
|
|
161
|
+
/* eslint-disable max-len, quote-props */
|
|
162
|
+
function toJson_FunctionSpecFileSystemConfigs(obj) {
|
|
163
|
+
if (obj === undefined) {
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
const result = {
|
|
167
|
+
'arn': obj.arn,
|
|
168
|
+
'localMountPath': obj.localMountPath,
|
|
169
|
+
};
|
|
170
|
+
// filter undefined values
|
|
171
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
172
|
+
}
|
|
173
|
+
exports.toJson_FunctionSpecFileSystemConfigs = toJson_FunctionSpecFileSystemConfigs;
|
|
174
|
+
/**
|
|
175
|
+
* Converts an object of type 'FunctionSpecImageConfig' to JSON representation.
|
|
176
|
+
*/
|
|
177
|
+
/* eslint-disable max-len, quote-props */
|
|
178
|
+
function toJson_FunctionSpecImageConfig(obj) {
|
|
179
|
+
var _a, _b;
|
|
180
|
+
if (obj === undefined) {
|
|
181
|
+
return undefined;
|
|
182
|
+
}
|
|
183
|
+
const result = {
|
|
184
|
+
'command': (_a = obj.command) === null || _a === void 0 ? void 0 : _a.map(y => y),
|
|
185
|
+
'entryPoint': (_b = obj.entryPoint) === null || _b === void 0 ? void 0 : _b.map(y => y),
|
|
186
|
+
'workingDirectory': obj.workingDirectory,
|
|
187
|
+
};
|
|
188
|
+
// filter undefined values
|
|
189
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
190
|
+
}
|
|
191
|
+
exports.toJson_FunctionSpecImageConfig = toJson_FunctionSpecImageConfig;
|
|
192
|
+
/**
|
|
193
|
+
* Converts an object of type 'FunctionSpecTracingConfig' to JSON representation.
|
|
194
|
+
*/
|
|
195
|
+
/* eslint-disable max-len, quote-props */
|
|
196
|
+
function toJson_FunctionSpecTracingConfig(obj) {
|
|
197
|
+
if (obj === undefined) {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
const result = {
|
|
201
|
+
'mode': obj.mode,
|
|
202
|
+
};
|
|
203
|
+
// filter undefined values
|
|
204
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
205
|
+
}
|
|
206
|
+
exports.toJson_FunctionSpecTracingConfig = toJson_FunctionSpecTracingConfig;
|
|
207
|
+
/**
|
|
208
|
+
* Converts an object of type 'FunctionSpecVpcConfig' to JSON representation.
|
|
209
|
+
*/
|
|
210
|
+
/* eslint-disable max-len, quote-props */
|
|
211
|
+
function toJson_FunctionSpecVpcConfig(obj) {
|
|
212
|
+
var _a, _b;
|
|
213
|
+
if (obj === undefined) {
|
|
214
|
+
return undefined;
|
|
215
|
+
}
|
|
216
|
+
const result = {
|
|
217
|
+
'securityGroupIDs': (_a = obj.securityGroupIDs) === null || _a === void 0 ? void 0 : _a.map(y => y),
|
|
218
|
+
'subnetIDs': (_b = obj.subnetIDs) === null || _b === void 0 ? void 0 : _b.map(y => y),
|
|
219
|
+
};
|
|
220
|
+
// filter undefined values
|
|
221
|
+
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
|
|
222
|
+
}
|
|
223
|
+
exports.toJson_FunctionSpecVpcConfig = toJson_FunctionSpecVpcConfig;
|
|
224
|
+
/* eslint-enable max-len, quote-props */
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhZnVuY3Rpb25zLWxhbWJkYS5zZXJ2aWNlcy5rOHMuYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcG9ydHMvbGFtYmRhZnVuY3Rpb25zLWxhbWJkYS5zZXJ2aWNlcy5rOHMuYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFCQUFxQjtBQUNyQixpQ0FBdUU7QUFJdkU7Ozs7R0FJRztBQUNILE1BQWEsUUFBUyxTQUFRLGlCQUFTO0lBdUJyQzs7Ozs7T0FLRztJQUNILFlBQW1CLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQXVCLEVBQUU7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLFFBQVEsQ0FBQyxHQUFHO1lBQ2YsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQXpCRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQXVCLEVBQUU7UUFDOUMsT0FBTztZQUNMLEdBQUcsUUFBUSxDQUFDLEdBQUc7WUFDZixHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQztTQUMvQixDQUFDO0lBQ0osQ0FBQztJQWVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVoQyxPQUFPO1lBQ0wsR0FBRyxRQUFRLENBQUMsR0FBRztZQUNmLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1NBQ2xDLENBQUM7SUFDSixDQUFDOztBQTlDSCw0QkErQ0M7QUE5Q0M7O0dBRUc7QUFDb0IsWUFBRyxHQUFxQjtJQUM3QyxVQUFVLEVBQUUsa0NBQWtDO0lBQzlDLElBQUksRUFBRSxVQUFVO0NBQ2pCLENBQUM7QUE4REo7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0Isb0JBQW9CLENBQUMsR0FBOEI7SUFDakUsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQUUsT0FBTyxTQUFT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RSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDMUcsQ0FBQztBQVJELG9FQVFDO0FBQ0Qsd0NBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2VuZXJhdGVkIGJ5IGNkazhzXG5pbXBvcnQgeyBBcGlPYmplY3QsIEFwaU9iamVjdE1ldGFkYXRhLCBHcm91cFZlcnNpb25LaW5kIH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cblxuLyoqXG4gKiBGdW5jdGlvbiBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRnVuY3Rpb25zIEFQSVxuICpcbiAqIEBzY2hlbWEgRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uIGV4dGVuZHMgQXBpT2JqZWN0IHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFwaVZlcnNpb24gYW5kIGtpbmQgZm9yIFwiRnVuY3Rpb25cIlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBHVks6IEdyb3VwVmVyc2lvbktpbmQgPSB7XG4gICAgYXBpVmVyc2lvbjogJ2xhbWJkYS5zZXJ2aWNlcy5rOHMuYXdzL3YxYWxwaGExJyxcbiAgICBraW5kOiAnRnVuY3Rpb24nLFxuICB9O1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGEgS3ViZXJuZXRlcyBtYW5pZmVzdCBmb3IgXCJGdW5jdGlvblwiLlxuICAgKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGlubGluZSByZXNvdXJjZSBtYW5pZmVzdHMgaW5zaWRlIG90aGVyIG9iamVjdHMgKGUuZy4gYXMgdGVtcGxhdGVzKS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIGluaXRpYWxpemF0aW9uIHByb3BzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hbmlmZXN0KHByb3BzOiBGdW5jdGlvblByb3BzID0ge30pOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5GdW5jdGlvbi5HVkssXG4gICAgICAuLi50b0pzb25fRnVuY3Rpb25Qcm9wcyhwcm9wcyksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgXCJGdW5jdGlvblwiIEFQSSBvYmplY3RcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBvYmplY3RcbiAgICogQHBhcmFtIGlkIGEgc2NvcGUtbG9jYWwgbmFtZSBmb3IgdGhlIG9iamVjdFxuICAgKiBAcGFyYW0gcHJvcHMgaW5pdGlhbGl6YXRpb24gcHJvcHNcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRnVuY3Rpb25Qcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5GdW5jdGlvbi5HVkssXG4gICAgICAuLi5wcm9wcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBvYmplY3QgdG8gS3ViZXJuZXRlcyBKU09OLlxuICAgKi9cbiAgcHVibGljIHRvSnNvbigpOiBhbnkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gc3VwZXIudG9Kc29uKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uRnVuY3Rpb24uR1ZLLFxuICAgICAgLi4udG9Kc29uX0Z1bmN0aW9uUHJvcHMocmVzb2x2ZWQpLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiBpcyB0aGUgU2NoZW1hIGZvciB0aGUgRnVuY3Rpb25zIEFQSVxuICpcbiAqIEBzY2hlbWEgRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb24jbWV0YWRhdGFcbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogQXBpT2JqZWN0TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEZ1bmN0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uI3NwZWNcbiAgICovXG4gIHJlYWRvbmx5IHNwZWM/OiBGdW5jdGlvblNwZWM7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnRnVuY3Rpb25Qcm9wcycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fRnVuY3Rpb25Qcm9wcyhvYmo6IEZ1bmN0aW9uUHJvcHMgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdtZXRhZGF0YSc6IG9iai5tZXRhZGF0YSxcbiAgICAnc3BlYyc6IHRvSnNvbl9GdW5jdGlvblNwZWMob2JqLnNwZWMpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEZ1bmN0aW9uU3BlYyBkZWZpbmVzIHRoZSBkZXNpcmVkIHN0YXRlIG9mIEZ1bmN0aW9uLlxuICpcbiAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25TcGVjIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0cnVjdGlvbiBzZXQgYXJjaGl0ZWN0dXJlIHRoYXQgdGhlIGZ1bmN0aW9uIHN1cHBvcnRzLiBFbnRlciBhIHN0cmluZyBhcnJheSB3aXRoIG9uZSBvZiB0aGUgdmFsaWQgdmFsdWVzLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB4ODZfNjQuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2FyY2hpdGVjdHVyZXNcbiAgICovXG4gIHJlYWRvbmx5IGFyY2hpdGVjdHVyZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNvZGUgZm9yIHRoZSBmdW5jdGlvbi5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMjY29kZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZTogRnVuY3Rpb25TcGVjQ29kZTtcblxuICAvKipcbiAgICogVG8gZW5hYmxlIGNvZGUgc2lnbmluZyBmb3IgdGhpcyBmdW5jdGlvbiwgc3BlY2lmeSB0aGUgQVJOIG9mIGEgY29kZS1zaWduaW5nIGNvbmZpZ3VyYXRpb24uIEEgY29kZS1zaWduaW5nIGNvbmZpZ3VyYXRpb24gaW5jbHVkZXMgYSBzZXQgb2Ygc2lnbmluZyBwcm9maWxlcywgd2hpY2ggZGVmaW5lIHRoZSB0cnVzdGVkIHB1Ymxpc2hlcnMgZm9yIHRoaXMgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2NvZGVTaWduaW5nQ29uZmlnQVJOXG4gICAqL1xuICByZWFkb25seSBjb2RlU2lnbmluZ0NvbmZpZ0Fybj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZWFkIGxldHRlciBxdWV1ZSBjb25maWd1cmF0aW9uIHRoYXQgc3BlY2lmaWVzIHRoZSBxdWV1ZSBvciB0b3BpYyB3aGVyZSBMYW1iZGEgc2VuZHMgYXN5bmNocm9ub3VzIGV2ZW50cyB3aGVuIHRoZXkgZmFpbCBwcm9jZXNzaW5nLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIERlYWQgTGV0dGVyIFF1ZXVlcyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvaW52b2NhdGlvbi1hc3luYy5odG1sI2RscSkuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2RlYWRMZXR0ZXJDb25maWdcbiAgICovXG4gIHJlYWRvbmx5IGRlYWRMZXR0ZXJDb25maWc/OiBGdW5jdGlvblNwZWNEZWFkTGV0dGVyQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBmdW5jdGlvbi5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMjZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBhcmUgYWNjZXNzaWJsZSBmcm9tIGZ1bmN0aW9uIGNvZGUgZHVyaW5nIGV4ZWN1dGlvbi5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMjZW52aXJvbm1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogRnVuY3Rpb25TcGVjRW52aXJvbm1lbnQ7XG5cbiAgLyoqXG4gICAqIENvbm5lY3Rpb24gc2V0dGluZ3MgZm9yIGFuIEFtYXpvbiBFRlMgZmlsZSBzeXN0ZW0uXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2ZpbGVTeXN0ZW1Db25maWdzXG4gICAqL1xuICByZWFkb25seSBmaWxlU3lzdGVtQ29uZmlncz86IEZ1bmN0aW9uU3BlY0ZpbGVTeXN0ZW1Db25maWdzW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtZXRob2Qgd2l0aGluIHlvdXIgY29kZSB0aGF0IExhbWJkYSBjYWxscyB0byBleGVjdXRlIHlvdXIgZnVuY3Rpb24uIFRoZSBmb3JtYXQgaW5jbHVkZXMgdGhlIGZpbGUgbmFtZS4gSXQgY2FuIGFsc28gaW5jbHVkZSBuYW1lc3BhY2VzIGFuZCBvdGhlciBxdWFsaWZpZXJzLCBkZXBlbmRpbmcgb24gdGhlIHJ1bnRpbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUHJvZ3JhbW1pbmcgTW9kZWwgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3Byb2dyYW1taW5nLW1vZGVsLXYyLmh0bWwpLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlYyNoYW5kbGVyXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgY29uZmlndXJhdGlvbiB2YWx1ZXMgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24taW1hZ2VzLmh0bWwjY29uZmlndXJhdGlvbi1pbWFnZXMtc2V0dGluZ3MpIHRoYXQgb3ZlcnJpZGUgdGhlIHZhbHVlcyBpbiB0aGUgY29udGFpbmVyIGltYWdlIERvY2tlcmZpbGUuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2ltYWdlQ29uZmlnXG4gICAqL1xuICByZWFkb25seSBpbWFnZUNvbmZpZz86IEZ1bmN0aW9uU3BlY0ltYWdlQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBBbWF6b24gV2ViIFNlcnZpY2VzIEtleSBNYW5hZ2VtZW50IFNlcnZpY2UgKEtNUykga2V5IHRoYXQncyB1c2VkIHRvIGVuY3J5cHQgeW91ciBmdW5jdGlvbidzIGVudmlyb25tZW50IHZhcmlhYmxlcy4gSWYgaXQncyBub3QgcHJvdmlkZWQsIExhbWJkYSB1c2VzIGEgZGVmYXVsdCBzZXJ2aWNlIGtleS5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMja21zS2V5QVJOXG4gICAqL1xuICByZWFkb25seSBrbXNLZXlBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBmdW5jdGlvbiBsYXllcnMgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24tbGF5ZXJzLmh0bWwpIHRvIGFkZCB0byB0aGUgZnVuY3Rpb24ncyBleGVjdXRpb24gZW52aXJvbm1lbnQuIFNwZWNpZnkgZWFjaCBsYXllciBieSBpdHMgQVJOLCBpbmNsdWRpbmcgdGhlIHZlcnNpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI2xheWVyc1xuICAgKi9cbiAgcmVhZG9ubHkgbGF5ZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgbWVtb3J5IGF2YWlsYWJsZSB0byB0aGUgZnVuY3Rpb24gKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24tbWVtb3J5Lmh0bWwpIGF0IHJ1bnRpbWUuIEluY3JlYXNpbmcgdGhlIGZ1bmN0aW9uIG1lbW9yeSBhbHNvIGluY3JlYXNlcyBpdHMgQ1BVIGFsbG9jYXRpb24uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDEyOCBNQi4gVGhlIHZhbHVlIGNhbiBiZSBhbnkgbXVsdGlwbGUgb2YgMSBNQi5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMjbWVtb3J5U2l6ZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIExhbWJkYSBmdW5jdGlvbi5cbiAgICogTmFtZSBmb3JtYXRzXG4gICAqICogRnVuY3Rpb24gbmFtZSAtIG15LWZ1bmN0aW9uLlxuICAgKiAqIEZ1bmN0aW9uIEFSTiAtIGFybjphd3M6bGFtYmRhOnVzLXdlc3QtMjoxMjM0NTY3ODkwMTI6ZnVuY3Rpb246bXktZnVuY3Rpb24uXG4gICAqICogUGFydGlhbCBBUk4gLSAxMjM0NTY3ODkwMTI6ZnVuY3Rpb246bXktZnVuY3Rpb24uXG4gICAqIFRoZSBsZW5ndGggY29uc3RyYWludCBhcHBsaWVzIG9ubHkgdG8gdGhlIGZ1bGwgQVJOLiBJZiB5b3Ugc3BlY2lmeSBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lLCBpdCBpcyBsaW1pdGVkIHRvIDY0IGNoYXJhY3RlcnMgaW4gbGVuZ3RoLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlYyNuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGRlcGxveW1lbnQgcGFja2FnZS4gU2V0IHRvIEltYWdlIGZvciBjb250YWluZXIgaW1hZ2UgYW5kIHNldCBaaXAgZm9yIFpJUCBhcmNoaXZlLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlYyNwYWNrYWdlVHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZVR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIHB1Ymxpc2ggdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhlIGZ1bmN0aW9uIGR1cmluZyBjcmVhdGlvbi5cbiAgICpcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWMjcHVibGlzaFxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGV4ZWN1dGlvbnMgdG8gcmVzZXJ2ZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlYyNyZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zXG4gICAqL1xuICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGZ1bmN0aW9uJ3MgZXhlY3V0aW9uIHJvbGUuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI3JvbGVcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGZ1bmN0aW9uJ3MgcnVudGltZSAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvbGFtYmRhLXJ1bnRpbWVzLmh0bWwpLlxuICAgKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlYyNydW50aW1lXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgdGFncyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvdGFnZ2luZy5odG1sKSB0byBhcHBseSB0byB0aGUgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI3RhZ3NcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgdGhhdCBMYW1iZGEgYWxsb3dzIGEgZnVuY3Rpb24gdG8gcnVuIGJlZm9yZSBzdG9wcGluZyBpdC4gVGhlIGRlZmF1bHQgaXMgMyBzZWNvbmRzLiBUaGUgbWF4aW11bSBhbGxvd2VkIHZhbHVlIGlzIDkwMCBzZWNvbmRzLiBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgc2VlIExhbWJkYSBleGVjdXRpb24gZW52aXJvbm1lbnQgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3J1bnRpbWVzLWNvbnRleHQuaHRtbCkuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI3RpbWVvdXRcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNldCBNb2RlIHRvIEFjdGl2ZSB0byBzYW1wbGUgYW5kIHRyYWNlIGEgc3Vic2V0IG9mIGluY29taW5nIHJlcXVlc3RzIHdpdGggWC1SYXkgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3NlcnZpY2VzLXhyYXkuaHRtbCkuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI3RyYWNpbmdDb25maWdcbiAgICovXG4gIHJlYWRvbmx5IHRyYWNpbmdDb25maWc/OiBGdW5jdGlvblNwZWNUcmFjaW5nQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBGb3IgbmV0d29yayBjb25uZWN0aXZpdHkgdG8gQW1hem9uIFdlYiBTZXJ2aWNlcyByZXNvdXJjZXMgaW4gYSBWUEMsIHNwZWNpZnkgYSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyBhbmQgc3VibmV0cyBpbiB0aGUgVlBDLiBXaGVuIHlvdSBjb25uZWN0IGEgZnVuY3Rpb24gdG8gYSBWUEMsIGl0IGNhbiBvbmx5IGFjY2VzcyByZXNvdXJjZXMgYW5kIHRoZSBpbnRlcm5ldCB0aHJvdWdoIHRoYXQgVlBDLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFZQQyBTZXR0aW5ncyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvY29uZmlndXJhdGlvbi12cGMuaHRtbCkuXG4gICAqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjI3ZwY0NvbmZpZ1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjQ29uZmlnPzogRnVuY3Rpb25TcGVjVnBjQ29uZmlnO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0Z1bmN0aW9uU3BlYycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fRnVuY3Rpb25TcGVjKG9iajogRnVuY3Rpb25TcGVjIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnYXJjaGl0ZWN0dXJlcyc6IG9iai5hcmNoaXRlY3R1cmVzPy5tYXAoeSA9PiB5KSxcbiAgICAnY29kZSc6IHRvSnNvbl9GdW5jdGlvblNwZWNDb2RlKG9iai5jb2RlKSxcbiAgICAnY29kZVNpZ25pbmdDb25maWdBUk4nOiBvYmouY29kZVNpZ25pbmdDb25maWdBcm4sXG4gICAgJ2RlYWRMZXR0ZXJDb25maWcnOiB0b0pzb25fRnVuY3Rpb25TcGVjRGVhZExldHRlckNvbmZpZyhvYmouZGVhZExldHRlckNvbmZpZyksXG4gICAgJ2Rlc2NyaXB0aW9uJzogb2JqLmRlc2NyaXB0aW9uLFxuICAgICdlbnZpcm9ubWVudCc6IHRvSnNvbl9GdW5jdGlvblNwZWNFbnZpcm9ubWVudChvYmouZW52aXJvbm1lbnQpLFxuICAgICdmaWxlU3lzdGVtQ29uZmlncyc6IG9iai5maWxlU3lzdGVtQ29uZmlncz8ubWFwKHkgPT4gdG9Kc29uX0Z1bmN0aW9uU3BlY0ZpbGVTeXN0ZW1Db25maWdzKHkpKSxcbiAgICAnaGFuZGxlcic6IG9iai5oYW5kbGVyLFxuICAgICdpbWFnZUNvbmZpZyc6IHRvSnNvbl9GdW5jdGlvblNwZWNJbWFnZUNvbmZpZyhvYmouaW1hZ2VDb25maWcpLFxuICAgICdrbXNLZXlBUk4nOiBvYmoua21zS2V5QXJuLFxuICAgICdsYXllcnMnOiBvYmoubGF5ZXJzPy5tYXAoeSA9PiB5KSxcbiAgICAnbWVtb3J5U2l6ZSc6IG9iai5tZW1vcnlTaXplLFxuICAgICduYW1lJzogb2JqLm5hbWUsXG4gICAgJ3BhY2thZ2VUeXBlJzogb2JqLnBhY2thZ2VUeXBlLFxuICAgICdwdWJsaXNoJzogb2JqLnB1Ymxpc2gsXG4gICAgJ3Jlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnMnOiBvYmoucmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9ucyxcbiAgICAncm9sZSc6IG9iai5yb2xlLFxuICAgICdydW50aW1lJzogb2JqLnJ1bnRpbWUsXG4gICAgJ3RhZ3MnOiAoKG9iai50YWdzKSA9PT0gdW5kZWZpbmVkKSA/IHVuZGVmaW5lZCA6IChPYmplY3QuZW50cmllcyhvYmoudGFncykucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KSksXG4gICAgJ3RpbWVvdXQnOiBvYmoudGltZW91dCxcbiAgICAndHJhY2luZ0NvbmZpZyc6IHRvSnNvbl9GdW5jdGlvblNwZWNUcmFjaW5nQ29uZmlnKG9iai50cmFjaW5nQ29uZmlnKSxcbiAgICAndnBjQ29uZmlnJzogdG9Kc29uX0Z1bmN0aW9uU3BlY1ZwY0NvbmZpZyhvYmoudnBjQ29uZmlnKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBUaGUgY29kZSBmb3IgdGhlIGZ1bmN0aW9uLlxuICpcbiAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjQ29kZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU3BlY0NvZGUge1xuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNDb2RlI2ltYWdlVVJJXG4gICAqL1xuICByZWFkb25seSBpbWFnZVVyaT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNDb2RlI3MzQnVja2V0XG4gICAqL1xuICByZWFkb25seSBzM0J1Y2tldD86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNDb2RlI3MzS2V5XG4gICAqL1xuICByZWFkb25seSBzM0tleT86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNDb2RlI3MzT2JqZWN0VmVyc2lvblxuICAgKi9cbiAgcmVhZG9ubHkgczNPYmplY3RWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY0NvZGUjemlwRmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgemlwRmlsZT86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGdW5jdGlvblNwZWNDb2RlJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GdW5jdGlvblNwZWNDb2RlKG9iajogRnVuY3Rpb25TcGVjQ29kZSB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ2ltYWdlVVJJJzogb2JqLmltYWdlVXJpLFxuICAgICdzM0J1Y2tldCc6IG9iai5zM0J1Y2tldCxcbiAgICAnczNLZXknOiBvYmouczNLZXksXG4gICAgJ3MzT2JqZWN0VmVyc2lvbic6IG9iai5zM09iamVjdFZlcnNpb24sXG4gICAgJ3ppcEZpbGUnOiBvYmouemlwRmlsZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBIGRlYWQgbGV0dGVyIHF1ZXVlIGNvbmZpZ3VyYXRpb24gdGhhdCBzcGVjaWZpZXMgdGhlIHF1ZXVlIG9yIHRvcGljIHdoZXJlIExhbWJkYSBzZW5kcyBhc3luY2hyb25vdXMgZXZlbnRzIHdoZW4gdGhleSBmYWlsIHByb2Nlc3NpbmcuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgRGVhZCBMZXR0ZXIgUXVldWVzIChodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9kZy9pbnZvY2F0aW9uLWFzeW5jLmh0bWwjZGxxKS5cbiAqXG4gKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY0RlYWRMZXR0ZXJDb25maWdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNwZWNEZWFkTGV0dGVyQ29uZmlnIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjRGVhZExldHRlckNvbmZpZyN0YXJnZXRBUk5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldEFybj86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGdW5jdGlvblNwZWNEZWFkTGV0dGVyQ29uZmlnJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GdW5jdGlvblNwZWNEZWFkTGV0dGVyQ29uZmlnKG9iajogRnVuY3Rpb25TcGVjRGVhZExldHRlckNvbmZpZyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ3RhcmdldEFSTic6IG9iai50YXJnZXRBcm4sXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQgYXJlIGFjY2Vzc2libGUgZnJvbSBmdW5jdGlvbiBjb2RlIGR1cmluZyBleGVjdXRpb24uXG4gKlxuICogQHNjaGVtYSBGdW5jdGlvblNwZWNFbnZpcm9ubWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU3BlY0Vudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjRW52aXJvbm1lbnQjdmFyaWFibGVzXG4gICAqL1xuICByZWFkb25seSB2YXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0Z1bmN0aW9uU3BlY0Vudmlyb25tZW50JyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GdW5jdGlvblNwZWNFbnZpcm9ubWVudChvYmo6IEZ1bmN0aW9uU3BlY0Vudmlyb25tZW50IHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAndmFyaWFibGVzJzogKChvYmoudmFyaWFibGVzKSA9PT0gdW5kZWZpbmVkKSA/IHVuZGVmaW5lZCA6IChPYmplY3QuZW50cmllcyhvYmoudmFyaWFibGVzKS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pKSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBEZXRhaWxzIGFib3V0IHRoZSBjb25uZWN0aW9uIGJldHdlZW4gYSBMYW1iZGEgZnVuY3Rpb24gYW5kIGFuIEFtYXpvbiBFRlMgZmlsZSBzeXN0ZW0gKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24tZmlsZXN5c3RlbS5odG1sKS5cbiAqXG4gKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY0ZpbGVTeXN0ZW1Db25maWdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25TcGVjRmlsZVN5c3RlbUNvbmZpZ3Mge1xuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNGaWxlU3lzdGVtQ29uZmlncyNhcm5cbiAgICovXG4gIHJlYWRvbmx5IGFybj86IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNGaWxlU3lzdGVtQ29uZmlncyNsb2NhbE1vdW50UGF0aFxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxNb3VudFBhdGg/OiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnRnVuY3Rpb25TcGVjRmlsZVN5c3RlbUNvbmZpZ3MnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0Z1bmN0aW9uU3BlY0ZpbGVTeXN0ZW1Db25maWdzKG9iajogRnVuY3Rpb25TcGVjRmlsZVN5c3RlbUNvbmZpZ3MgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdhcm4nOiBvYmouYXJuLFxuICAgICdsb2NhbE1vdW50UGF0aCc6IG9iai5sb2NhbE1vdW50UGF0aCxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBDb250YWluZXIgaW1hZ2UgY29uZmlndXJhdGlvbiB2YWx1ZXMgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2NvbmZpZ3VyYXRpb24taW1hZ2VzLmh0bWwjY29uZmlndXJhdGlvbi1pbWFnZXMtc2V0dGluZ3MpIHRoYXQgb3ZlcnJpZGUgdGhlIHZhbHVlcyBpbiB0aGUgY29udGFpbmVyIGltYWdlIERvY2tlcmZpbGUuXG4gKlxuICogQHNjaGVtYSBGdW5jdGlvblNwZWNJbWFnZUNvbmZpZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU3BlY0ltYWdlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgRnVuY3Rpb25TcGVjSW1hZ2VDb25maWcjY29tbWFuZFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY0ltYWdlQ29uZmlnI2VudHJ5UG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5UG9pbnQ/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNJbWFnZUNvbmZpZyN3b3JraW5nRGlyZWN0b3J5XG4gICAqL1xuICByZWFkb25seSB3b3JraW5nRGlyZWN0b3J5Pzogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0Z1bmN0aW9uU3BlY0ltYWdlQ29uZmlnJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GdW5jdGlvblNwZWNJbWFnZUNvbmZpZyhvYmo6IEZ1bmN0aW9uU3BlY0ltYWdlQ29uZmlnIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnY29tbWFuZCc6IG9iai5jb21tYW5kPy5tYXAoeSA9PiB5KSxcbiAgICAnZW50cnlQb2ludCc6IG9iai5lbnRyeVBvaW50Py5tYXAoeSA9PiB5KSxcbiAgICAnd29ya2luZ0RpcmVjdG9yeSc6IG9iai53b3JraW5nRGlyZWN0b3J5LFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIFNldCBNb2RlIHRvIEFjdGl2ZSB0byBzYW1wbGUgYW5kIHRyYWNlIGEgc3Vic2V0IG9mIGluY29taW5nIHJlcXVlc3RzIHdpdGggWC1SYXkgKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL3NlcnZpY2VzLXhyYXkuaHRtbCkuXG4gKlxuICogQHNjaGVtYSBGdW5jdGlvblNwZWNUcmFjaW5nQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25TcGVjVHJhY2luZ0NvbmZpZyB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY1RyYWNpbmdDb25maWcjbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgbW9kZT86IHN0cmluZztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdGdW5jdGlvblNwZWNUcmFjaW5nQ29uZmlnJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9GdW5jdGlvblNwZWNUcmFjaW5nQ29uZmlnKG9iajogRnVuY3Rpb25TcGVjVHJhY2luZ0NvbmZpZyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ21vZGUnOiBvYmoubW9kZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkKSA/IHIgOiAoeyAuLi5yLCBbaVswXV06IGlbMV0gfSksIHt9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBGb3IgbmV0d29yayBjb25uZWN0aXZpdHkgdG8gQW1hem9uIFdlYiBTZXJ2aWNlcyByZXNvdXJjZXMgaW4gYSBWUEMsIHNwZWNpZnkgYSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyBhbmQgc3VibmV0cyBpbiB0aGUgVlBDLiBXaGVuIHlvdSBjb25uZWN0IGEgZnVuY3Rpb24gdG8gYSBWUEMsIGl0IGNhbiBvbmx5IGFjY2VzcyByZXNvdXJjZXMgYW5kIHRoZSBpbnRlcm5ldCB0aHJvdWdoIHRoYXQgVlBDLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFZQQyBTZXR0aW5ncyAoaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvY29uZmlndXJhdGlvbi12cGMuaHRtbCkuXG4gKlxuICogQHNjaGVtYSBGdW5jdGlvblNwZWNWcGNDb25maWdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblNwZWNWcGNDb25maWcge1xuICAvKipcbiAgICogQHNjaGVtYSBGdW5jdGlvblNwZWNWcGNDb25maWcjc2VjdXJpdHlHcm91cElEc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElEcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIEZ1bmN0aW9uU3BlY1ZwY0NvbmZpZyNzdWJuZXRJRHNcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldElEcz86IHN0cmluZ1tdO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0Z1bmN0aW9uU3BlY1ZwY0NvbmZpZycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fRnVuY3Rpb25TcGVjVnBjQ29uZmlnKG9iajogRnVuY3Rpb25TcGVjVnBjQ29uZmlnIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnc2VjdXJpdHlHcm91cElEcyc6IG9iai5zZWN1cml0eUdyb3VwSURzPy5tYXAoeSA9PiB5KSxcbiAgICAnc3VibmV0SURzJzogb2JqLnN1Ym5ldElEcz8ubWFwKHkgPT4geSksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbiJdfQ==
|